LLVM  8.0.1
Classes | Public Types | Public Member Functions | List of all members
llvm::SuccIterator< InstructionT, BlockT > Class Template Reference

#include "llvm/IR/CFG.h"

Inheritance diagram for llvm::SuccIterator< InstructionT, BlockT >:
Inheritance graph
[legend]
Collaboration diagram for llvm::SuccIterator< InstructionT, BlockT >:
Collaboration graph
[legend]

Public Types

using difference_type = int
 
using pointer = BlockT *
 
using reference = BlockT *
 

Public Member Functions

 SuccIterator (InstructionT *Inst)
 
 SuccIterator (InstructionT *Inst, bool)
 
int getSuccessorIndex () const
 This is used to interface between code that wants to operate on terminator instructions directly. More...
 
bool operator== (const Self &x) const
 
BlockT * operator* () const
 
BlockT * operator-> () const
 
bool operator< (const Self &RHS) const
 
int operator- (const Self &RHS) const
 
Self & operator+= (int RHS)
 
Self & operator-= (int RHS)
 
SuccessorProxy operator[] (int Offset)
 
BlockT * getSource ()
 Get the source BlockT of this iterator. More...
 
- Public Member Functions inherited from llvm::iterator_facade_base< SuccIterator< InstructionT, BlockT >, std::random_access_iterator_tag, BlockT, int, BlockT *, BlockT *>
SuccIterator< InstructionT, BlockT > operator+ (int n) const
 
SuccIterator< InstructionT, BlockT > operator- (int n) const
 
SuccIterator< InstructionT, BlockT > & operator++ ()
 
SuccIterator< InstructionT, BlockT > operator++ (int)
 
SuccIterator< InstructionT, BlockT > & operator-- ()
 
SuccIterator< InstructionT, BlockT > operator-- (int)
 
bool operator!= (const SuccIterator< InstructionT, BlockT > &RHS) const
 
bool operator> (const SuccIterator< InstructionT, BlockT > &RHS) const
 
bool operator<= (const SuccIterator< InstructionT, BlockT > &RHS) const
 
bool operator>= (const SuccIterator< InstructionT, BlockT > &RHS) const
 
BlockT * operator-> ()
 
BlockT * operator-> () const
 
ReferenceProxy operator[] (int n)
 
ReferenceProxy operator[] (int n) const
 

Additional Inherited Members

- Protected Types inherited from llvm::iterator_facade_base< SuccIterator< InstructionT, BlockT >, std::random_access_iterator_tag, BlockT, int, BlockT *, BlockT *>
enum  
 

Detailed Description

template<class InstructionT, class BlockT>
class llvm::SuccIterator< InstructionT, BlockT >

Definition at line 137 of file CFG.h.

Member Typedef Documentation

◆ difference_type

template<class InstructionT , class BlockT >
using llvm::SuccIterator< InstructionT, BlockT >::difference_type = int

Definition at line 142 of file CFG.h.

◆ pointer

template<class InstructionT , class BlockT >
using llvm::SuccIterator< InstructionT, BlockT >::pointer = BlockT *

Definition at line 143 of file CFG.h.

◆ reference

template<class InstructionT , class BlockT >
using llvm::SuccIterator< InstructionT, BlockT >::reference = BlockT *

Definition at line 144 of file CFG.h.

Constructor & Destructor Documentation

◆ SuccIterator() [1/2]

template<class InstructionT , class BlockT >
llvm::SuccIterator< InstructionT, BlockT >::SuccIterator ( InstructionT *  Inst)
inlineexplicit

Definition at line 181 of file CFG.h.

◆ SuccIterator() [2/2]

template<class InstructionT , class BlockT >
llvm::SuccIterator< InstructionT, BlockT >::SuccIterator ( InstructionT *  Inst,
bool   
)
inline

Definition at line 183 of file CFG.h.

Member Function Documentation

◆ getSource()

template<class InstructionT , class BlockT >
BlockT* llvm::SuccIterator< InstructionT, BlockT >::getSource ( )
inline

Get the source BlockT of this iterator.

Definition at line 235 of file CFG.h.

References assert().

◆ getSuccessorIndex()

template<class InstructionT , class BlockT >
int llvm::SuccIterator< InstructionT, BlockT >::getSuccessorIndex ( ) const
inline

This is used to interface between code that wants to operate on terminator instructions directly.

Definition at line 198 of file CFG.h.

Referenced by llvm::BranchProbabilityInfo::getEdgeProbability(), and llvm::SplitCriticalEdge().

◆ operator*()

template<class InstructionT , class BlockT >
BlockT* llvm::SuccIterator< InstructionT, BlockT >::operator* ( ) const
inline

Definition at line 202 of file CFG.h.

◆ operator+=()

template<class InstructionT , class BlockT >
Self& llvm::SuccIterator< InstructionT, BlockT >::operator+= ( int  RHS)
inline

Definition at line 217 of file CFG.h.

References assert().

◆ operator-()

template<class InstructionT , class BlockT >
int llvm::SuccIterator< InstructionT, BlockT >::operator- ( const Self &  RHS) const
inline

Definition at line 212 of file CFG.h.

References assert().

◆ operator-=()

template<class InstructionT , class BlockT >
Self& llvm::SuccIterator< InstructionT, BlockT >::operator-= ( int  RHS)
inline

Definition at line 224 of file CFG.h.

References llvm::operator+=().

◆ operator->()

template<class InstructionT , class BlockT >
BlockT* llvm::SuccIterator< InstructionT, BlockT >::operator-> ( ) const
inline

Definition at line 205 of file CFG.h.

References llvm::PredIterator< Ptr, USE_iterator >::operator*().

◆ operator<()

template<class InstructionT , class BlockT >
bool llvm::SuccIterator< InstructionT, BlockT >::operator< ( const Self &  RHS) const
inline

Definition at line 207 of file CFG.h.

References assert().

◆ operator==()

template<class InstructionT , class BlockT >
bool llvm::SuccIterator< InstructionT, BlockT >::operator== ( const Self &  x) const
inline

Definition at line 200 of file CFG.h.

◆ operator[]()

template<class InstructionT , class BlockT >
SuccessorProxy llvm::SuccIterator< InstructionT, BlockT >::operator[] ( int  Offset)
inline

Definition at line 228 of file CFG.h.


The documentation for this class was generated from the following file: