LLVM 19.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) |
unsigned | eval (unsigned V, unsigned LastLinked, SmallVectorImpl< InfoRec * > &Stack, ArrayRef< InfoRec * > NumToInfo) |
void | runSemiNCA () |
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 55 of file GenericDomTreeConstruction.h.
using llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::BatchUpdatePtr = BatchUpdateInfo * |
Definition at line 95 of file GenericDomTreeConstruction.h.
using llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::GraphDiffT = GraphDiff<NodePtr, IsPostDom> |
Definition at line 61 of file GenericDomTreeConstruction.h.
using llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::NodeOrderMap = DenseMap<NodePtr, unsigned> |
Definition at line 166 of file GenericDomTreeConstruction.h.
using llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::NodePtr = typename DomTreeT::NodePtr |
Definition at line 56 of file GenericDomTreeConstruction.h.
using llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::NodeT = typename DomTreeT::NodeType |
Definition at line 57 of file GenericDomTreeConstruction.h.
using llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::RootsT = decltype(DomTreeT::Roots) |
Definition at line 59 of file GenericDomTreeConstruction.h.
using llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::TreeNodePtr = DomTreeNodeBase<NodeT> * |
Definition at line 58 of file GenericDomTreeConstruction.h.
using llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::UpdateKind = typename DomTreeT::UpdateKind |
Definition at line 79 of file GenericDomTreeConstruction.h.
using llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::UpdateT = typename DomTreeT::UpdateType |
Definition at line 78 of file GenericDomTreeConstruction.h.
|
inline |
Definition at line 98 of file GenericDomTreeConstruction.h.
|
inline |
Definition at line 321 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 148 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 1195 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 1146 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 594 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 555 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 100 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 885 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 910 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 963 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 1028 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 543 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 1127 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 239 of file GenericDomTreeConstruction.h.
References assert(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::InfoRec::Label, llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::InfoRec::Parent, and llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::InfoRec::Semi.
Referenced by llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::runSemiNCA().
|
inlinestatic |
Definition at line 347 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 115 of file GenericDomTreeConstruction.h.
References llvm::erase(), and N.
|
inlinestatic |
Definition at line 108 of file GenericDomTreeConstruction.h.
References N, and llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::BatchUpdateInfo::PreViewCFG.
|
inlinestatic |
Definition at line 339 of file GenericDomTreeConstruction.h.
References assert().
Referenced by llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::FindRoots(), and llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::verifyRoots().
|
inline |
Definition at line 126 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 133 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 334 of file GenericDomTreeConstruction.h.
Referenced by llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::FindRoots(), and llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::RemoveRedundantRoots().
|
inlinestatic |
Definition at line 1004 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 646 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 734 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 860 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 694 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 1537 of file GenericDomTreeConstruction.h.
References llvm::errs(), and llvm::raw_ostream::flush().
Referenced by llvm::DomTreeBuilder::Verify().
|
inline |
Definition at line 615 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 503 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 179 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 271 of file GenericDomTreeConstruction.h.
References assert(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::eval(), N, llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::NodeToInfo, llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::NumToNode, llvm::SmallVectorTemplateBase< T, bool >::push_back(), and llvm::SmallVectorImpl< T >::reserve().
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 840 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 708 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 676 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 1328 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 1296 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 1464 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 1260 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 1221 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 1498 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 94 of file GenericDomTreeConstruction.h.
Referenced by llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::FindRoots(), and llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::runDFS().
|
staticconstexpr |
Definition at line 60 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 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 >::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 75 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 >::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().