|
LLVM
3.7.0
|
DominanceFrontierBase - Common base class for computing forward and inverse dominance frontiers for a function. More...
#include <DominanceFrontier.h>
Public Types | |
| typedef std::set< BlockT * > | DomSetType |
| typedef std::map< BlockT *, DomSetType > | DomSetMapType |
| typedef DomSetMapType::iterator | iterator |
| typedef DomSetMapType::const_iterator | const_iterator |
Public Member Functions | |
| DominanceFrontierBase (bool isPostDom) | |
| const std::vector< BlockT * > & | getRoots () const |
| getRoots - Return the root blocks of the current CFG. More... | |
| BlockT * | getRoot () const |
| bool | isPostDominator () const |
| isPostDominator - Returns true if analysis based of postdoms More... | |
| void | releaseMemory () |
| iterator | begin () |
| const_iterator | begin () const |
| iterator | end () |
| const_iterator | end () const |
| iterator | find (BlockT *B) |
| const_iterator | find (BlockT *B) const |
| iterator | addBasicBlock (BlockT *BB, const DomSetType &frontier) |
| void | removeBlock (BlockT *BB) |
| removeBlock - Remove basic block BB's frontier. More... | |
| void | addToFrontier (iterator I, BlockT *Node) |
| void | removeFromFrontier (iterator I, BlockT *Node) |
| bool | compareDomSet (DomSetType &DS1, const DomSetType &DS2) const |
| compareDomSet - Return false if two domsets match. More... | |
| bool | compare (DominanceFrontierBase< BlockT > &Other) const |
| compare - Return true if the other dominance frontier base matches this dominance frontier base. More... | |
| void | print (raw_ostream &OS) const |
| print - Convert to human readable form More... | |
| void | dump () const |
| dump - Dump the dominance frontier to dbgs(). More... | |
Protected Types | |
| typedef GraphTraits< BlockT * > | BlockTraits |
Protected Attributes | |
| DomSetMapType | Frontiers |
| std::vector< BlockT * > | Roots |
| const bool | IsPostDominators |
DominanceFrontierBase - Common base class for computing forward and inverse dominance frontiers for a function.
Definition at line 32 of file DominanceFrontier.h.
|
protected |
Definition at line 38 of file DominanceFrontier.h.
| typedef DomSetMapType::const_iterator llvm::DominanceFrontierBase< BlockT >::const_iterator |
Definition at line 72 of file DominanceFrontier.h.
| typedef std::map<BlockT *, DomSetType> llvm::DominanceFrontierBase< BlockT >::DomSetMapType |
Definition at line 35 of file DominanceFrontier.h.
| typedef std::set<BlockT *> llvm::DominanceFrontierBase< BlockT >::DomSetType |
Definition at line 34 of file DominanceFrontier.h.
| typedef DomSetMapType::iterator llvm::DominanceFrontierBase< BlockT >::iterator |
Definition at line 71 of file DominanceFrontier.h.
|
inline |
Definition at line 45 of file DominanceFrontier.h.
|
inline |
Definition at line 80 of file DominanceFrontier.h.
| void llvm::DominanceFrontierBase< BlockT >::addToFrontier | ( | iterator | I, |
| BlockT * | Node | ||
| ) |
Definition at line 51 of file DominanceFrontierImpl.h.
References llvm::sys::path::end().
|
inline |
Definition at line 73 of file DominanceFrontier.h.
Referenced by llvm::DominanceFrontierBase< BlockT >::compare().
|
inline |
Definition at line 74 of file DominanceFrontier.h.
| bool llvm::DominanceFrontierBase< BlockT >::compare | ( | DominanceFrontierBase< BlockT > & | Other | ) | const |
compare - Return true if the other dominance frontier base matches this dominance frontier base.
Otherwise return false.
Definition at line 92 of file DominanceFrontierImpl.h.
References llvm::DominanceFrontierBase< BlockT >::begin(), llvm::DominanceFrontierBase< BlockT >::end(), llvm::sys::path::end(), and I.
| bool llvm::DominanceFrontierBase< BlockT >::compareDomSet | ( | DomSetType & | DS1, |
| const DomSetType & | DS2 | ||
| ) | const |
compareDomSet - Return false if two domsets match.
Otherwise return true;
Definition at line 67 of file DominanceFrontierImpl.h.
References I.
| void llvm::DominanceFrontierBase< BlockT >::dump | ( | ) | const |
dump - Dump the dominance frontier to dbgs().
Definition at line 146 of file DominanceFrontierImpl.h.
References llvm::dbgs().
|
inline |
Definition at line 75 of file DominanceFrontier.h.
Referenced by llvm::DominanceFrontierBase< llvm::MachineBasicBlock >::addBasicBlock(), and llvm::DominanceFrontierBase< BlockT >::compare().
|
inline |
Definition at line 76 of file DominanceFrontier.h.
|
inline |
Definition at line 77 of file DominanceFrontier.h.
Referenced by llvm::DominanceFrontierBase< llvm::MachineBasicBlock >::addBasicBlock().
|
inline |
Definition at line 78 of file DominanceFrontier.h.
|
inline |
Definition at line 55 of file DominanceFrontier.h.
|
inline |
getRoots - Return the root blocks of the current CFG.
This may include multiple blocks if we are computing post dominators. For forward dominators, this will always be a single block (the entry node).
Definition at line 51 of file DominanceFrontier.h.
|
inline |
isPostDominator - Returns true if analysis based of postdoms
Definition at line 62 of file DominanceFrontier.h.
| void llvm::DominanceFrontierBase< BlockT >::print | ( | raw_ostream & | OS | ) | const |
print - Convert to human readable form
Definition at line 122 of file DominanceFrontierImpl.h.
References llvm::sys::path::begin(), llvm::sys::path::end(), and I.
|
inline |
Definition at line 66 of file DominanceFrontier.h.
| void llvm::DominanceFrontierBase< BlockT >::removeBlock | ( | BlockT * | BB | ) |
removeBlock - Remove basic block BB's frontier.
Definition at line 43 of file DominanceFrontierImpl.h.
References llvm::sys::path::begin(), llvm::sys::path::end(), and I.
| void llvm::DominanceFrontierBase< BlockT >::removeFromFrontier | ( | iterator | I, |
| BlockT * | Node | ||
| ) |
Definition at line 59 of file DominanceFrontierImpl.h.
References llvm::sys::path::end().
|
protected |
Definition at line 40 of file DominanceFrontier.h.
Referenced by llvm::DominanceFrontierBase< llvm::MachineBasicBlock >::addBasicBlock(), llvm::DominanceFrontierBase< llvm::MachineBasicBlock >::begin(), llvm::DominanceFrontierBase< llvm::MachineBasicBlock >::end(), llvm::DominanceFrontierBase< llvm::MachineBasicBlock >::find(), and llvm::DominanceFrontierBase< llvm::MachineBasicBlock >::releaseMemory().
|
protected |
Definition at line 42 of file DominanceFrontier.h.
Referenced by llvm::DominanceFrontierBase< llvm::MachineBasicBlock >::isPostDominator().
|
protected |
1.8.6