LLVM 18.0.0git
|
#include "llvm/Support/GenericDomTreeConstruction.h"
Classes | |
struct | BatchUpdateInfo |
struct | BlockNamePrinter |
struct | InfoRec |
struct | InsertionInfo |
Public Types | |
using | NodePtr = typename DomTreeT::NodePtr |
using | NodeT = typename DomTreeT::NodeType |
using | TreeNodePtr = DomTreeNodeBase< NodeT > * |
using | RootsT = decltype(DomTreeT::Roots) |
using | GraphDiffT = GraphDiff< NodePtr, IsPostDom > |
using | UpdateT = typename DomTreeT::UpdateType |
using | UpdateKind = typename DomTreeT::UpdateKind |
using | BatchUpdatePtr = BatchUpdateInfo * |
using | NodeOrderMap = DenseMap< NodePtr, unsigned > |
Public Member Functions | |
SemiNCAInfo (BatchUpdatePtr BUI) | |
void | clear () |
NodePtr | getIDom (NodePtr BB) const |
TreeNodePtr | getNodeForBlock (NodePtr BB, DomTreeT &DT) |
template<bool IsReverse = false, typename DescendCondition > | |
unsigned | runDFS (NodePtr V, unsigned LastNum, DescendCondition Condition, unsigned AttachToNum, const NodeOrderMap *SuccOrder=nullptr) |
NodePtr | eval (NodePtr V, unsigned LastLinked, SmallVectorImpl< InfoRec * > &Stack) |
void | runSemiNCA (DomTreeT &DT, const unsigned MinLevel=0) |
void | addVirtualRoot () |
template<typename DescendCondition > | |
void | doFullDFSWalk (const DomTreeT &DT, DescendCondition DC) |
void | attachNewSubtree (DomTreeT &DT, const TreeNodePtr AttachTo) |
void | reattachExistingSubtree (DomTreeT &DT, const TreeNodePtr AttachTo) |
bool | verifyRoots (const DomTreeT &DT) |
bool | verifyReachability (const DomTreeT &DT) |
bool | verifyParentProperty (const DomTreeT &DT) |
bool | verifySiblingProperty (const DomTreeT &DT) |
Public Attributes | |
std::vector< NodePtr > | NumToNode = {nullptr} |
DenseMap< NodePtr, InfoRec > | NodeToInfo |
BatchUpdateInfo * | BatchUpdates |
Static Public Attributes | |
static constexpr bool | IsPostDom = DomTreeT::IsPostDominator |
Definition at line 56 of file GenericDomTreeConstruction.h.
using llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::BatchUpdatePtr = BatchUpdateInfo * |
Definition at line 96 of file GenericDomTreeConstruction.h.
using llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::GraphDiffT = GraphDiff<NodePtr, IsPostDom> |
Definition at line 62 of file GenericDomTreeConstruction.h.
using llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::NodeOrderMap = DenseMap<NodePtr, unsigned> |
Definition at line 167 of file GenericDomTreeConstruction.h.
using llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::NodePtr = typename DomTreeT::NodePtr |
Definition at line 57 of file GenericDomTreeConstruction.h.
using llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::NodeT = typename DomTreeT::NodeType |
Definition at line 58 of file GenericDomTreeConstruction.h.
using llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::RootsT = decltype(DomTreeT::Roots) |
Definition at line 60 of file GenericDomTreeConstruction.h.
using llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::TreeNodePtr = DomTreeNodeBase<NodeT> * |
Definition at line 59 of file GenericDomTreeConstruction.h.
using llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::UpdateKind = typename DomTreeT::UpdateKind |
Definition at line 80 of file GenericDomTreeConstruction.h.
using llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::UpdateT = typename DomTreeT::UpdateType |
Definition at line 79 of file GenericDomTreeConstruction.h.
|
inline |
Definition at line 99 of file GenericDomTreeConstruction.h.
|
inline |
Definition at line 324 of file GenericDomTreeConstruction.h.
References assert(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::IsPostDom, llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::NodeToInfo, and llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::NumToNode.
Referenced by llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::doFullDFSWalk(), and llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::FindRoots().
|
inlinestatic |
Definition at line 149 of file GenericDomTreeConstruction.h.
Referenced by llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::CalculateFromScratch(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::FindRoots(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::RemoveRedundantRoots(), and llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::verifyReachability().
|
inlinestatic |
Definition at line 1199 of file GenericDomTreeConstruction.h.
References llvm::dbgs(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::DeleteEdge(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::InsertEdge(), LLVM_DEBUG, llvm::GraphDiff< NodePtr, InverseGraph >::popUpdateForIncrementalUpdates(), and llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::BatchUpdateInfo::PreViewCFG.
Referenced by llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::ApplyUpdates().
|
inlinestatic |
Definition at line 1150 of file GenericDomTreeConstruction.h.
References llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::ApplyNextUpdate(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::CalculateFromScratch(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::DeleteEdge(), llvm::GraphDiff< NodePtr, InverseGraph >::getNumLegalizedUpdates(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::InsertEdge(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::BatchUpdateInfo::IsRecalculated, llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::BatchUpdateInfo::NumLegalized, and llvm::GraphDiff< NodePtr, InverseGraph >::popUpdateForIncrementalUpdates().
Referenced by llvm::DomTreeBuilder::ApplyUpdates().
|
inline |
Definition at line 598 of file GenericDomTreeConstruction.h.
References llvm::DomTreeNodeBase< NodeT >::getBlock(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::getIDom(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::getNodeForBlock(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::NodeToInfo, and llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::NumToNode.
Referenced by llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::CalculateFromScratch(), and llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::ComputeUnreachableDominators().
|
inlinestatic |
Definition at line 559 of file GenericDomTreeConstruction.h.
References llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::AlwaysDescend(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::attachNewSubtree(), llvm::dbgs(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::doFullDFSWalk(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::FindRoots(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::IsPostDom, llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::BatchUpdateInfo::IsRecalculated, LLVM_DEBUG, llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::BatchUpdateInfo::PostViewCFG, llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::BatchUpdateInfo::PreViewCFG, and llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::runSemiNCA().
Referenced by llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::ApplyUpdates(), llvm::DomTreeBuilder::Calculate(), llvm::DomTreeBuilder::CalculateWithUpdates(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::DeleteReachable(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::DeleteUnreachable(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::UpdateRootsAfterUpdate(), and llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::UpdateRootsBeforeInsertion().
|
inline |
Definition at line 101 of file GenericDomTreeConstruction.h.
References llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::NodeToInfo, and llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::NumToNode.
Referenced by llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::DeleteUnreachable(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::RemoveRedundantRoots(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::verifyParentProperty(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::verifyReachability(), and llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::verifySiblingProperty().
|
inlinestatic |
Definition at line 889 of file GenericDomTreeConstruction.h.
References assert(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::attachNewSubtree(), llvm::dbgs(), From, LLVM_DEBUG, llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::runDFS(), and llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::runSemiNCA().
Referenced by llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::InsertUnreachable().
|
inlinestatic |
Definition at line 914 of file GenericDomTreeConstruction.h.
References assert(), llvm::dbgs(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::DeleteReachable(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::DeleteUnreachable(), From, llvm::DomTreeNodeBase< NodeT >::getIDom(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::HasProperSupport(), llvm::is_contained(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::IsPostDom, LLVM_DEBUG, and llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::UpdateRootsAfterUpdate().
Referenced by llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::ApplyNextUpdate(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::ApplyUpdates(), and llvm::DomTreeBuilder::DeleteEdge().
|
inlinestatic |
Definition at line 967 of file GenericDomTreeConstruction.h.
References assert(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::CalculateFromScratch(), llvm::dbgs(), llvm::DomTreeNodeBase< NodeT >::getBlock(), llvm::DomTreeNodeBase< NodeT >::getIDom(), llvm::DomTreeNodeBase< NodeT >::getLevel(), LLVM_DEBUG, llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::reattachExistingSubtree(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::runDFS(), and llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::runSemiNCA().
Referenced by llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::DeleteEdge().
|
inlinestatic |
Definition at line 1032 of file GenericDomTreeConstruction.h.
References assert(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::CalculateFromScratch(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::clear(), llvm::dbgs(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::EraseNode(), llvm::DomTreeNodeBase< NodeT >::getBlock(), llvm::DomTreeNodeBase< NodeT >::getIDom(), llvm::DomTreeNodeBase< NodeT >::getLevel(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::InsertReachable(), llvm::is_contained(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::IsPostDom, LLVM_DEBUG, N, llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::NumToNode, llvm::SmallVectorTemplateBase< T, bool >::push_back(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::reattachExistingSubtree(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::runDFS(), and llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::runSemiNCA().
Referenced by llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::DeleteEdge().
|
inline |
Definition at line 547 of file GenericDomTreeConstruction.h.
References llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::addVirtualRoot(), assert(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::IsPostDom, and llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::runDFS().
Referenced by llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::CalculateFromScratch(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::verifyParentProperty(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::verifyReachability(), and llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::verifySiblingProperty().
|
inlinestatic |
Definition at line 1131 of file GenericDomTreeConstruction.h.
References assert(), llvm::find(), llvm::DomTreeNodeBase< NodeT >::getBlock(), llvm::DomTreeNodeBase< NodeT >::getIDom(), llvm::DomTreeNodeBase< NodeT >::getNumChildren(), and std::swap().
Referenced by llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::DeleteUnreachable().
|
inline |
Definition at line 241 of file GenericDomTreeConstruction.h.
References assert(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::InfoRec::Label, llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::NodeToInfo, llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::NumToNode, llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::InfoRec::Parent, and llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::InfoRec::Semi.
|
inlinestatic |
Definition at line 351 of file GenericDomTreeConstruction.h.
References llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::addVirtualRoot(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::AlwaysDescend(), assert(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::BatchUpdates, llvm::dbgs(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::GetEntryNode(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::HasForwardSuccessors(), I, llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::IsPostDom, LLVM_DEBUG, N, nodes, llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::NodeToInfo, llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::NumToNode, llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::RemoveRedundantRoots(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::runDFS(), and llvm::Total.
Referenced by llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::CalculateFromScratch(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::UpdateRootsAfterUpdate(), and llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::verifyRoots().
|
inlinestatic |
Definition at line 116 of file GenericDomTreeConstruction.h.
References llvm::erase_value(), and N.
|
inlinestatic |
Definition at line 109 of file GenericDomTreeConstruction.h.
References N, and llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::BatchUpdateInfo::PreViewCFG.
|
inlinestatic |
Definition at line 343 of file GenericDomTreeConstruction.h.
References assert().
Referenced by llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::FindRoots(), and llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::verifyRoots().
|
inline |
Definition at line 127 of file GenericDomTreeConstruction.h.
References llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::NodeToInfo.
Referenced by llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::attachNewSubtree(), and llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::getNodeForBlock().
|
inline |
Definition at line 134 of file GenericDomTreeConstruction.h.
References assert(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::getIDom(), and llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::getNodeForBlock().
Referenced by llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::attachNewSubtree(), and llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::getNodeForBlock().
|
inlinestatic |
Definition at line 338 of file GenericDomTreeConstruction.h.
Referenced by llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::FindRoots(), and llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::RemoveRedundantRoots().
|
inlinestatic |
Definition at line 1008 of file GenericDomTreeConstruction.h.
References llvm::dbgs(), llvm::DomTreeNodeBase< NodeT >::getBlock(), and LLVM_DEBUG.
Referenced by llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::DeleteEdge().
|
inlinestatic |
Definition at line 650 of file GenericDomTreeConstruction.h.
References assert(), llvm::dbgs(), From, llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::InsertReachable(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::InsertUnreachable(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::IsPostDom, and LLVM_DEBUG.
Referenced by llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::ApplyNextUpdate(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::ApplyUpdates(), and llvm::DomTreeBuilder::InsertEdge().
|
inlinestatic |
Definition at line 738 of file GenericDomTreeConstruction.h.
References llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::InsertionInfo::Affected, assert(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::InsertionInfo::Bucket, llvm::dbgs(), llvm::SmallVectorBase< Size_T >::empty(), From, llvm::DomTreeNodeBase< NodeT >::getBlock(), llvm::DomTreeNodeBase< NodeT >::getLevel(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::IsPostDom, LLVM_DEBUG, llvm::SmallVectorImpl< T >::pop_back_val(), llvm::SmallVectorTemplateBase< T, bool >::push_back(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::UpdateInsertion(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::UpdateRootsBeforeInsertion(), and llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::InsertionInfo::Visited.
Referenced by llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::DeleteUnreachable(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::InsertEdge(), and llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::InsertUnreachable().
|
inlinestatic |
Definition at line 864 of file GenericDomTreeConstruction.h.
References llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::ComputeUnreachableDominators(), llvm::dbgs(), From, llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::InsertReachable(), and LLVM_DEBUG.
Referenced by llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::InsertEdge().
|
inlinestatic |
Definition at line 698 of file GenericDomTreeConstruction.h.
References A, B, llvm::SmallPtrSetImpl< PtrType >::count(), and N.
Referenced by llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::UpdateRootsAfterUpdate(), and llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::verifyRoots().
|
inlinestatic |
Definition at line 1541 of file GenericDomTreeConstruction.h.
References llvm::errs(), and llvm::raw_ostream::flush().
Referenced by llvm::DomTreeBuilder::Verify().
|
inline |
Definition at line 619 of file GenericDomTreeConstruction.h.
References assert(), llvm::DomTreeNodeBase< NodeT >::getBlock(), N, llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::NodeToInfo, llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::NumToNode, and llvm::DomTreeNodeBase< NodeT >::setIDom().
Referenced by llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::DeleteReachable(), and llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::DeleteUnreachable().
|
inlinestatic |
Definition at line 507 of file GenericDomTreeConstruction.h.
References llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::AlwaysDescend(), assert(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::clear(), llvm::dbgs(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::HasForwardSuccessors(), llvm::is_contained(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::IsPostDom, LLVM_DEBUG, N, llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::NumToNode, llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::runDFS(), and std::swap().
Referenced by llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::FindRoots().
|
inline |
Definition at line 180 of file GenericDomTreeConstruction.h.
References A, assert(), B, llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::BatchUpdates, llvm::SmallVectorBase< Size_T >::empty(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::IsPostDom, llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::NodeToInfo, llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::NumToNode, llvm::SmallVectorImpl< T >::pop_back_val(), llvm::SmallVectorTemplateBase< T, bool >::push_back(), and llvm::sort().
Referenced by llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::ComputeUnreachableDominators(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::DeleteReachable(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::DeleteUnreachable(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::doFullDFSWalk(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::FindRoots(), and llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::RemoveRedundantRoots().
|
inline |
Definition at line 272 of file GenericDomTreeConstruction.h.
References eval, llvm::DomTreeNodeBase< NodeT >::getLevel(), N, llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::NodeToInfo, and llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::NumToNode.
Referenced by llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::CalculateFromScratch(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::ComputeUnreachableDominators(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::DeleteReachable(), and llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::DeleteUnreachable().
|
inlinestatic |
Definition at line 844 of file GenericDomTreeConstruction.h.
References llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::InsertionInfo::Affected, assert(), llvm::dbgs(), llvm::DomTreeNodeBase< NodeT >::getIDom(), llvm::DomTreeNodeBase< NodeT >::getLevel(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::IsPostDom, LLVM_DEBUG, llvm::DomTreeNodeBase< NodeT >::setIDom(), and llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::UpdateRootsAfterUpdate().
Referenced by llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::InsertReachable().
|
inlinestatic |
Definition at line 712 of file GenericDomTreeConstruction.h.
References assert(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::CalculateFromScratch(), llvm::dbgs(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::FindRoots(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::isPermutation(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::IsPostDom, LLVM_DEBUG, N, and llvm::none_of().
Referenced by llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::DeleteEdge(), and llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::UpdateInsertion().
|
inlinestatic |
Definition at line 680 of file GenericDomTreeConstruction.h.
References assert(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::CalculateFromScratch(), llvm::dbgs(), llvm::DomTreeNodeBase< NodeT >::getBlock(), llvm::DomTreeNodeBase< NodeT >::getIDom(), llvm::is_contained(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::IsPostDom, and LLVM_DEBUG.
Referenced by llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::InsertReachable().
|
inlinestatic |
Definition at line 1332 of file GenericDomTreeConstruction.h.
References assert(), llvm::errs(), llvm::raw_ostream::flush(), llvm::DomTreeNodeBase< NodeT >::getDFSNumIn(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::IsPostDom, and llvm::sort().
Referenced by llvm::DomTreeBuilder::Verify().
|
inlinestatic |
Definition at line 1300 of file GenericDomTreeConstruction.h.
References llvm::errs(), llvm::raw_ostream::flush(), llvm::DomTreeNodeBase< NodeT >::getBlock(), llvm::DomTreeNodeBase< NodeT >::getIDom(), and llvm::DomTreeNodeBase< NodeT >::getLevel().
Referenced by llvm::DomTreeBuilder::Verify().
|
inline |
Definition at line 1468 of file GenericDomTreeConstruction.h.
References llvm::DomTreeNodeBase< NodeT >::children(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::clear(), llvm::dbgs(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::doFullDFSWalk(), llvm::errs(), llvm::raw_ostream::flush(), From, llvm::DomTreeNodeBase< NodeT >::getBlock(), llvm::DomTreeNodeBase< NodeT >::isLeaf(), LLVM_DEBUG, and llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::NodeToInfo.
Referenced by llvm::DomTreeBuilder::Verify().
|
inline |
Definition at line 1264 of file GenericDomTreeConstruction.h.
References llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::AlwaysDescend(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::clear(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::doFullDFSWalk(), llvm::errs(), llvm::raw_ostream::flush(), llvm::DomTreeNodeBase< NodeT >::getBlock(), N, llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::NodeToInfo, and llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::NumToNode.
Referenced by llvm::DomTreeBuilder::Verify().
|
inline |
Definition at line 1225 of file GenericDomTreeConstruction.h.
References llvm::errs(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::FindRoots(), llvm::raw_ostream::flush(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::GetEntryNode(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::isPermutation(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::IsPostDom, and N.
Referenced by llvm::DomTreeBuilder::Verify().
|
inline |
Definition at line 1502 of file GenericDomTreeConstruction.h.
References llvm::DomTreeNodeBase< NodeT >::children(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::clear(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::doFullDFSWalk(), llvm::errs(), llvm::raw_ostream::flush(), From, llvm::DomTreeNodeBase< NodeT >::getBlock(), llvm::DomTreeNodeBase< NodeT >::isLeaf(), N, and llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::NodeToInfo.
Referenced by llvm::DomTreeBuilder::Verify().
BatchUpdateInfo* llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::BatchUpdates |
Definition at line 95 of file GenericDomTreeConstruction.h.
Referenced by llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::FindRoots(), and llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::runDFS().
|
staticconstexpr |
Definition at line 61 of file GenericDomTreeConstruction.h.
Referenced by llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::addVirtualRoot(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::CalculateFromScratch(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::DeleteEdge(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::DeleteUnreachable(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::doFullDFSWalk(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::FindRoots(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::InsertEdge(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::InsertReachable(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::RemoveRedundantRoots(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::runDFS(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::UpdateInsertion(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::UpdateRootsAfterUpdate(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::UpdateRootsBeforeInsertion(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::VerifyDFSNumbers(), and llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::verifyRoots().
DenseMap<NodePtr, InfoRec> llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::NodeToInfo |
Definition at line 77 of file GenericDomTreeConstruction.h.
Referenced by llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::addVirtualRoot(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::attachNewSubtree(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::clear(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::eval(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::FindRoots(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::getIDom(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::reattachExistingSubtree(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::runDFS(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::runSemiNCA(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::verifyParentProperty(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::verifyReachability(), and llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::verifySiblingProperty().
std::vector<NodePtr> llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::NumToNode = {nullptr} |
Definition at line 76 of file GenericDomTreeConstruction.h.
Referenced by llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::addVirtualRoot(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::attachNewSubtree(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::clear(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::DeleteUnreachable(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::eval(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::FindRoots(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::reattachExistingSubtree(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::RemoveRedundantRoots(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::runDFS(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::runSemiNCA(), and llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::verifyReachability().