LLVM 20.0.0git
|
Base class for the actual dominator tree node. More...
#include "llvm/Support/GenericDomTree.h"
Public Types | |
using | iterator = typename SmallVector< DomTreeNodeBase *, 4 >::iterator |
using | const_iterator = typename SmallVector< DomTreeNodeBase *, 4 >::const_iterator |
Public Member Functions | |
DomTreeNodeBase (NodeT *BB, DomTreeNodeBase *iDom) | |
iterator | begin () |
iterator | end () |
const_iterator | begin () const |
const_iterator | end () const |
DomTreeNodeBase *const & | back () const |
DomTreeNodeBase *& | back () |
iterator_range< iterator > | children () |
iterator_range< const_iterator > | children () const |
NodeT * | getBlock () const |
DomTreeNodeBase * | getIDom () const |
unsigned | getLevel () const |
void | addChild (DomTreeNodeBase *C) |
bool | isLeaf () const |
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. | |
unsigned | getDFSNumOut () const |
Base class for the actual dominator tree node.
Definition at line 54 of file GenericDomTree.h.
using llvm::DomTreeNodeBase< NodeT >::const_iterator = typename SmallVector<DomTreeNodeBase *, 4>::const_iterator |
Definition at line 73 of file GenericDomTree.h.
using llvm::DomTreeNodeBase< NodeT >::iterator = typename SmallVector<DomTreeNodeBase *, 4>::iterator |
Definition at line 72 of file GenericDomTree.h.
|
inline |
Definition at line 69 of file GenericDomTree.h.
|
inline |
Definition at line 93 of file GenericDomTree.h.
References llvm::CallingConv::C.
Referenced by llvm::DominatorTreeBase< NodeT, IsPostDom >::createNode(), and llvm::DominatorTreeBase< NodeT, IsPostDom >::setNewRoot().
|
inline |
Definition at line 82 of file GenericDomTree.h.
|
inline |
Definition at line 81 of file GenericDomTree.h.
|
inline |
Definition at line 76 of file GenericDomTree.h.
Referenced by llvm::ForwardDominanceFrontierBase< BlockT >::calculate(), llvm::DomTreeNodeBase< NodeT >::children(), loadCSE(), and llvm::DominatorTreeBase< NodeT, IsPostDom >::updateDFSNumbers().
|
inline |
Definition at line 78 of file GenericDomTree.h.
|
inline |
Definition at line 84 of file GenericDomTree.h.
References llvm::DomTreeNodeBase< NodeT >::begin(), llvm::DomTreeNodeBase< NodeT >::end(), and llvm::make_range().
Referenced by findBestInsertionSet(), getDominatees(), llvm::MergeBlockIntoPredecessor(), llvm::UnrollLoop(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::verifyParentProperty(), and llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::verifySiblingProperty().
|
inline |
Definition at line 85 of file GenericDomTree.h.
References llvm::DomTreeNodeBase< NodeT >::begin(), llvm::DomTreeNodeBase< NodeT >::end(), and llvm::make_range().
|
inline |
Definition at line 98 of file GenericDomTree.h.
|
inline |
Definition at line 100 of file GenericDomTree.h.
References llvm::SmallPtrSetImpl< PtrType >::count(), llvm::DomTreeNodeBase< NodeT >::getNumChildren(), I, llvm::SmallPtrSetImpl< PtrType >::insert(), N, and llvm::Other.
|
inline |
Definition at line 77 of file GenericDomTree.h.
Referenced by llvm::ForwardDominanceFrontierBase< BlockT >::calculate(), llvm::DomTreeNodeBase< NodeT >::children(), and loadCSE().
|
inline |
Definition at line 79 of file GenericDomTree.h.
|
inline |
Definition at line 89 of file GenericDomTree.h.
Referenced by llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::attachNewSubtree(), llvm::ForwardDominanceFrontierBase< BlockT >::calculate(), llvm::IDFCalculatorBase< NodeTy, IsPostDom >::calculate(), cloneLoopBlocks(), CloneLoopBlocks(), llvm::cloneLoopWithPreheader(), computeBlocksDominatingExits(), containsUnconditionalCallSafepoint(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::DeleteReachable(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::DeleteUnreachable(), findBestInsertionSet(), llvm::DominatorTreeBase< NodeT, IsPostDom >::findNearestCommonDominator(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::HasProperSupport(), llvm::hoistRegion(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::InsertReachable(), isGuaranteedNotToBeUndefOrPoison(), loadCSE(), preheader(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::reattachExistingSubtree(), simplifyUsingControlFlow(), SinkInstruction(), llvm::UnrollRuntimeLoopRemainder(), UpdateAnalysisInformation(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::UpdateRootsBeforeInsertion(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::VerifyLevels(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::verifyParentProperty(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::verifyReachability(), 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 140 of file GenericDomTree.h.
Referenced by llvm::IDFCalculatorBase< NodeTy, IsPostDom >::calculate(), checkAndReplaceCondition(), compareCmp(), llvm::ValueDFS_Compare::comparePHIRelated(), llvm::PhiLoweringHelper::lowerPhis(), and llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::VerifyDFSNumbers().
|
inline |
Definition at line 141 of file GenericDomTree.h.
Referenced by checkAndReplaceCondition().
|
inline |
Definition at line 90 of file GenericDomTree.h.
Referenced by cloneLoopBlocks(), CloneLoopBlocks(), llvm::cloneLoopWithPreheader(), computeBlocksDominatingExits(), containsUnconditionalCallSafepoint(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::DeleteEdge(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::DeleteReachable(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::DeleteUnreachable(), llvm::InnerLoopVectorizer::emitIterationCountCheck(), llvm::EpilogueVectorizerMainLoop::emitIterationCountCheck(), findBestInsertionSet(), llvm::hoistRegion(), isGuaranteedNotToBeUndefOrPoison(), preheader(), simplifyUsingControlFlow(), SinkInstruction(), llvm::UnrollAndJamLoop(), llvm::UnrollLoop(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::UpdateInsertion(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::UpdateRootsBeforeInsertion(), and llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::VerifyLevels().
|
inline |
Definition at line 91 of file GenericDomTree.h.
Referenced by llvm::IDFCalculatorBase< NodeTy, IsPostDom >::calculate(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::DeleteReachable(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::DeleteUnreachable(), llvm::DominatorTreeBase< NodeT, IsPostDom >::findNearestCommonDominator(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::InsertReachable(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::UpdateInsertion(), and llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::VerifyLevels().
|
inline |
Definition at line 96 of file GenericDomTree.h.
Referenced by llvm::DomTreeNodeBase< NodeT >::compare().
|
inline |
Definition at line 95 of file GenericDomTree.h.
Referenced by llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::verifyParentProperty(), and llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::verifySiblingProperty().
|
inline |
Definition at line 120 of file GenericDomTree.h.
References assert(), llvm::find(), and I.
Referenced by llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::reattachExistingSubtree(), and llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::UpdateInsertion().
|
friend |
Definition at line 55 of file GenericDomTree.h.
|
friend |
Definition at line 55 of file GenericDomTree.h.
|
friend |
Definition at line 55 of file GenericDomTree.h.
|
friend |
Definition at line 55 of file GenericDomTree.h.
|
friend |
Definition at line 55 of file GenericDomTree.h.