LLVM
8.0.1
|
Base class for the actual dominator tree node. More...
#include "llvm/Support/GenericDomTree.h"
Public Types | |
using | iterator = typename std::vector< DomTreeNodeBase * >::iterator |
using | const_iterator = typename std::vector< DomTreeNodeBase * >::const_iterator |
Public Member Functions | |
DomTreeNodeBase (NodeT *BB, DomTreeNodeBase *iDom) | |
iterator | begin () |
iterator | end () |
const_iterator | begin () const |
const_iterator | end () const |
NodeT * | getBlock () const |
DomTreeNodeBase * | getIDom () const |
unsigned | getLevel () const |
const std::vector< DomTreeNodeBase * > & | getChildren () const |
std::unique_ptr< DomTreeNodeBase > | addChild (std::unique_ptr< DomTreeNodeBase > C) |
size_t | getNumChildren () const |
void | clearAllChildren () |
bool | compare (const DomTreeNodeBase *Other) const |
void | setIDom (DomTreeNodeBase *NewIDom) |
unsigned | getDFSNumIn () const |
getDFSNumIn/getDFSNumOut - These return the DFS visitation order for nodes in the dominator tree. More... | |
unsigned | getDFSNumOut () const |
Base class for the actual dominator tree node.
Definition at line 55 of file GenericDomTree.h.
using llvm::DomTreeNodeBase< NodeT >::const_iterator = typename std::vector<DomTreeNodeBase *>::const_iterator |
Definition at line 75 of file GenericDomTree.h.
using llvm::DomTreeNodeBase< NodeT >::iterator = typename std::vector<DomTreeNodeBase *>::iterator |
Definition at line 73 of file GenericDomTree.h.
|
inline |
Definition at line 70 of file GenericDomTree.h.
|
inline |
Definition at line 88 of file GenericDomTree.h.
Referenced by llvm::DominatorTreeBase< BasicBlock, false >::addNewBlock(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::attachNewSubtree(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::InsertEdge(), and llvm::DominatorTreeBase< BasicBlock, false >::setNewRoot().
|
inline |
Definition at line 77 of file GenericDomTree.h.
Referenced by llvm::ForwardDominanceFrontierBase< BasicBlock >::calculate(), llvm::DomTreeGraphTraitsBase< const VPDomTreeNode, VPDomTreeNode::const_iterator >::child_begin(), llvm::MachineDomTreeGraphTraitsBase< const MachineDomTreeNode, MachineDomTreeNode::const_iterator >::child_begin(), computeDomSubtreeCost(), llvm::CodeExtractor::findInputsOutputs(), llvm::DominatorTreeBase< BasicBlock, false >::getDescendants(), SinkInstruction(), llvm::DominatorTreeBase< BasicBlock, false >::updateDFSNumbers(), and llvm::MemorySSA::SkipSelfWalker::verify().
|
inline |
Definition at line 79 of file GenericDomTree.h.
|
inline |
Definition at line 96 of file GenericDomTree.h.
|
inline |
Definition at line 98 of file GenericDomTree.h.
Referenced by llvm::DominatorTreeBase< BasicBlock, false >::compare().
|
inline |
Definition at line 78 of file GenericDomTree.h.
Referenced by llvm::ForwardDominanceFrontierBase< BasicBlock >::calculate(), llvm::DomTreeGraphTraitsBase< const VPDomTreeNode, VPDomTreeNode::const_iterator >::child_end(), llvm::MachineDomTreeGraphTraitsBase< const MachineDomTreeNode, MachineDomTreeNode::const_iterator >::child_end(), computeDomSubtreeCost(), llvm::CodeExtractor::findInputsOutputs(), llvm::DominatorTreeBase< BasicBlock, false >::getDescendants(), and SinkInstruction().
|
inline |
Definition at line 80 of file GenericDomTree.h.
|
inline |
Definition at line 82 of file GenericDomTree.h.
Referenced by llvm::LoopInfoBase< BasicBlock, Loop >::analyze(), llvm::MemorySSAUpdater::applyInsertUpdates(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::attachNewSubtree(), llvm::ForwardDominanceFrontierBase< BasicBlock >::calculate(), CloneLoopBlocks(), cloneLoopBlocks(), llvm::cloneLoopWithPreheader(), llvm::DomTreeNodeBase< VPBlockBase >::compare(), computeBlocksDominatingExits(), computeDomSubtreeCost(), containsUnconditionalCallSafepoint(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::DeleteReachable(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::DeleteUnreachable(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::EraseNode(), llvm::DominatorTreeBase< BasicBlock, false >::findNearestCommonDominator(), llvm::DominatorTreeBase< BasicBlock, false >::getDescendants(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::HasProperSupport(), llvm::SSAUpdaterBulk::HasValueForBlock(), llvm::hoistRegion(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::InsertReachable(), isProfitableChain(), llvm::DominatorTreeBase< BasicBlock, false >::isVirtualRoot(), preheader(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::reattachExistingSubtree(), llvm::UnrollRuntimeLoopRemainder(), UpdateAnalysisInformation(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::UpdateRootsBeforeInsertion(), llvm::MemorySSA::SkipSelfWalker::verify(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::VerifyLevels(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::verifyParentProperty(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::verifyReachability(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::verifySiblingProperty(), visitDomSubTree(), and llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::VisitInsertion().
|
inline |
Definition at line 86 of file GenericDomTree.h.
Referenced by llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::verifyParentProperty(), and llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::verifySiblingProperty().
|
inline |
getDFSNumIn/getDFSNumOut - These return the DFS visitation order for nodes in the dominator tree.
They are only guaranteed valid if updateDFSNumbers() has been called.
Definition at line 138 of file GenericDomTree.h.
Referenced by llvm::OrderedInstructions::dfsBefore(), llvm::PredicateInfoClasses::ValueDFS_Compare::localComesBefore(), NewGVN::ValueDFS::operator<(), and llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::VerifyDFSNumbers().
|
inline |
Definition at line 139 of file GenericDomTree.h.
Referenced by llvm::PredicateInfoClasses::ValueDFS_Compare::localComesBefore(), and NewGVN::ValueDFS::operator<().
|
inline |
Definition at line 83 of file GenericDomTree.h.
Referenced by llvm::MemorySSAUpdater::applyInsertUpdates(), CloneLoopBlocks(), cloneLoopBlocks(), llvm::cloneLoopWithPreheader(), computeBlocksDominatingExits(), containsUnconditionalCallSafepoint(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::DeleteEdge(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::DeleteReachable(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::DeleteUnreachable(), llvm::DominatorTreeBase< BasicBlock, false >::dominates(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::EraseNode(), llvm::SSAUpdaterBulk::HasValueForBlock(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::InsertReachable(), isImmValidForOpcode(), llvm::ScalarEvolution::isLoopBackedgeGuardedByCond(), isSimplifiedLoopNest(), mayUsePostIncMode(), preheader(), llvm::DominatorTreeBase< BasicBlock, false >::Split(), llvm::UnrollAndJamLoop(), llvm::UnrollLoop(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::UpdateLevelsAfterInsertion(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::UpdateRootsBeforeInsertion(), and llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::VerifyLevels().
|
inline |
Definition at line 84 of file GenericDomTree.h.
Referenced by llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::DeleteUnreachable(), llvm::DominatorTreeBase< BasicBlock, false >::dominates(), llvm::DominatorTreeBase< BasicBlock, false >::findNearestCommonDominator(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::InsertReachable(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::runSemiNCA(), llvm::DominatorTreeBase< BasicBlock, false >::Split(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::UpdateLevelsAfterInsertion(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::VerifyLevels(), and llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::VisitInsertion().
|
inline |
Definition at line 94 of file GenericDomTree.h.
Referenced by llvm::DomTreeNodeBase< VPBlockBase >::compare(), and llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::EraseNode().
|
inline |
Definition at line 118 of file GenericDomTree.h.
Referenced by llvm::DominatorTreeBase< BasicBlock, false >::changeImmediateDominator(), mayLoopAccessLocation(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::reattachExistingSubtree(), and llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::UpdateInsertion().
|
friend |
Definition at line 57 of file GenericDomTree.h.
|
friend |
Definition at line 58 of file GenericDomTree.h.
|
friend |
Definition at line 59 of file GenericDomTree.h.
|
friend |
Definition at line 60 of file GenericDomTree.h.
|
friend |
Definition at line 56 of file GenericDomTree.h.