|
LLVM
4.0.0
|
DominanceFrontier Class - Concrete subclass of DominanceFrontierBase that is used to compute a forward dominator frontiers. More...
#include <DominanceFrontier.h>
Public Types | |
| typedef DominatorTreeBase< BlockT > | DomTreeT |
| typedef DomTreeNodeBase< BlockT > | DomTreeNodeT |
| typedef DominanceFrontierBase < BlockT >::DomSetType | DomSetType |
Public Types inherited from llvm::DominanceFrontierBase< BlockT > | |
| typedef std::set< BlockT * > | DomSetType |
| typedef std::map< BlockT *, DomSetType > | DomSetMapType |
| typedef DomSetMapType::iterator | iterator |
| typedef DomSetMapType::const_iterator | const_iterator |
Public Member Functions | |
| ForwardDominanceFrontierBase () | |
| void | analyze (DomTreeT &DT) |
| const DomSetType & | calculate (const DomTreeT &DT, const DomTreeNodeT *Node) |
Public Member Functions inherited from llvm::DominanceFrontierBase< BlockT > | |
| 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... | |
Additional Inherited Members | |
Protected Types inherited from llvm::DominanceFrontierBase< BlockT > | |
| typedef GraphTraits< BlockT * > | BlockTraits |
Protected Attributes inherited from llvm::DominanceFrontierBase< BlockT > | |
| DomSetMapType | Frontiers |
| std::vector< BlockT * > | Roots |
| const bool | IsPostDominators |
DominanceFrontier Class - Concrete subclass of DominanceFrontierBase that is used to compute a forward dominator frontiers.
Definition at line 116 of file DominanceFrontier.h.
| typedef DominanceFrontierBase<BlockT>::DomSetType llvm::ForwardDominanceFrontierBase< BlockT >::DomSetType |
Definition at line 123 of file DominanceFrontier.h.
| typedef DomTreeNodeBase<BlockT> llvm::ForwardDominanceFrontierBase< BlockT >::DomTreeNodeT |
Definition at line 122 of file DominanceFrontier.h.
| typedef DominatorTreeBase<BlockT> llvm::ForwardDominanceFrontierBase< BlockT >::DomTreeT |
Definition at line 121 of file DominanceFrontier.h.
|
inline |
Definition at line 125 of file DominanceFrontier.h.
|
inline |
Definition at line 127 of file DominanceFrontier.h.
Referenced by llvm::DominanceFrontierAnalysis::run(), and llvm::DominanceFrontierWrapperPass::runOnFunction().
| const ForwardDominanceFrontierBase< BlockT >::DomSetType & llvm::ForwardDominanceFrontierBase< BlockT >::calculate | ( | const DomTreeT & | DT, |
| const DomTreeNodeT * | Node | ||
| ) |
Definition at line 153 of file DominanceFrontierImpl.h.
References assert(), llvm::DomTreeNodeBase< NodeT >::begin(), llvm::SmallPtrSetImpl< PtrType >::count(), llvm::DFCalculateWorkObject< BlockT >::currentBB, llvm::DomTreeNodeBase< NodeT >::end(), llvm::DomTreeNodeBase< NodeT >::getBlock(), llvm::SmallPtrSetImpl< PtrType >::insert(), llvm::AArch64CC::NE, llvm::DFCalculateWorkObject< BlockT >::Node, llvm::DFCalculateWorkObject< BlockT >::parentBB, llvm::DFCalculateWorkObject< BlockT >::parentNode, llvm::DominatorTreeBase< N >::properlyDominates(), and SI.
Referenced by llvm::ForwardDominanceFrontierBase< BasicBlock >::analyze().
1.8.6