LLVM 20.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 () |
InfoRec & | getNodeInfo (NodePtr BB) |
NodePtr | getIDom (NodePtr BB) |
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 | |
SmallVector< NodePtr, 64 > | NumToNode = {nullptr} |
std::conditional_t< GraphHasNodeNumbers< NodePtr >, SmallVector< InfoRec, 64 >, DenseMap< NodePtr, InfoRec > > | NodeInfos |
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 99 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 182 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 83 of file GenericDomTreeConstruction.h.
using llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::UpdateT = typename DomTreeT::UpdateType |
Definition at line 82 of file GenericDomTreeConstruction.h.
|
inline |
Definition at line 102 of file GenericDomTreeConstruction.h.
|
inline |
Definition at line 326 of file GenericDomTreeConstruction.h.
References assert(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::getNodeInfo(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::IsPostDom, llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::NumToNode, llvm::SmallVectorTemplateBase< T, bool >::push_back(), and llvm::SmallVectorBase< Size_T >::size().
Referenced by llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::doFullDFSWalk(), and llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::FindRoots().
|
inlinestatic |
Definition at line 164 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 1180 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 1131 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 599 of file GenericDomTreeConstruction.h.
References llvm::drop_begin(), llvm::DomTreeNodeBase< NodeT >::getBlock(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::getIDom(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::getNodeForBlock(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::getNodeInfo(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::InfoRec::IDom, and llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::NumToNode.
Referenced by llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::CalculateFromScratch(), and llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::ComputeUnreachableDominators().
|
inlinestatic |
Definition at line 560 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 104 of file GenericDomTreeConstruction.h.
References llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::NodeInfos, 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 887 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 912 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 965 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 1030 of file GenericDomTreeConstruction.h.
References assert(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::CalculateFromScratch(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::clear(), llvm::dbgs(), 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 548 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().
|
inline |
Definition at line 244 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 352 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 >::InfoRec::DFSNum, llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::GetEntryNode(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::getNodeInfo(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::HasForwardSuccessors(), I, llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::IsPostDom, LLVM_DEBUG, N, nodes, llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::NumToNode, llvm::SmallVectorTemplateBase< T, bool >::pop_back(), 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 119 of file GenericDomTreeConstruction.h.
References llvm::erase(), and N.
|
inlinestatic |
Definition at line 112 of file GenericDomTreeConstruction.h.
References N, and llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::BatchUpdateInfo::PreViewCFG.
|
inlinestatic |
Definition at line 344 of file GenericDomTreeConstruction.h.
References assert().
Referenced by llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::FindRoots(), and llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::verifyRoots().
|
inline |
Definition at line 147 of file GenericDomTreeConstruction.h.
References llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::getNodeInfo(), and llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::InfoRec::IDom.
Referenced by llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::attachNewSubtree(), and llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::getNodeForBlock().
|
inline |
Definition at line 149 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().
|
inline |
Definition at line 130 of file GenericDomTreeConstruction.h.
References Idx, and llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::NodeInfos.
Referenced by llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::addVirtualRoot(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::attachNewSubtree(), 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().
|
inlinestatic |
Definition at line 339 of file GenericDomTreeConstruction.h.
Referenced by llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::FindRoots(), and llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::RemoveRedundantRoots().
|
inlinestatic |
Definition at line 1006 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 648 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 736 of file GenericDomTreeConstruction.h.
References assert(), llvm::dbgs(), llvm::SmallVectorBase< Size_T >::empty(), From, llvm::DomTreeNodeBase< NodeT >::getBlock(), llvm::DomTreeNodeBase< NodeT >::getLevel(), II, llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::IsPostDom, LLVM_DEBUG, llvm::SmallVectorImpl< T >::pop_back_val(), llvm::SmallVectorTemplateBase< T, bool >::push_back(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::UpdateInsertion(), and llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::UpdateRootsBeforeInsertion().
Referenced by llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::DeleteUnreachable(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::InsertEdge(), and llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::InsertUnreachable().
|
inlinestatic |
Definition at line 862 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 696 of file GenericDomTreeConstruction.h.
Referenced by llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::UpdateRootsAfterUpdate(), and llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::verifyRoots().
|
inlinestatic |
Definition at line 1532 of file GenericDomTreeConstruction.h.
References llvm::errs(), and llvm::raw_ostream::flush().
Referenced by llvm::DomTreeBuilder::Verify().
|
inline |
Definition at line 618 of file GenericDomTreeConstruction.h.
References assert(), llvm::drop_begin(), llvm::DomTreeNodeBase< NodeT >::getBlock(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::getNodeInfo(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::InfoRec::IDom, N, 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 508 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 195 of file GenericDomTreeConstruction.h.
References A, assert(), B, llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::BatchUpdates, llvm::SmallVectorBase< Size_T >::empty(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::getNodeInfo(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::IsPostDom, llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::NumToNode, llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::InfoRec::Parent, 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 276 of file GenericDomTreeConstruction.h.
References assert(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::eval(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::getNodeInfo(), N, llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::NumToNode, llvm::SmallVectorTemplateBase< T, bool >::push_back(), llvm::SmallVectorImpl< T >::reserve(), and llvm::SmallVectorBase< Size_T >::size().
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 842 of file GenericDomTreeConstruction.h.
References assert(), llvm::dbgs(), llvm::DomTreeNodeBase< NodeT >::getIDom(), llvm::DomTreeNodeBase< NodeT >::getLevel(), II, 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 710 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 678 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 1317 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 1283 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 1455 of file GenericDomTreeConstruction.h.
References llvm::DomTreeNodeBase< NodeT >::children(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::clear(), llvm::dbgs(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::InfoRec::DFSNum, llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::doFullDFSWalk(), llvm::errs(), llvm::raw_ostream::flush(), From, llvm::DomTreeNodeBase< NodeT >::getBlock(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::getNodeInfo(), llvm::DomTreeNodeBase< NodeT >::isLeaf(), and LLVM_DEBUG.
Referenced by llvm::DomTreeBuilder::Verify().
|
inline |
Definition at line 1245 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(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::getNodeInfo(), N, and llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::NumToNode.
Referenced by llvm::DomTreeBuilder::Verify().
|
inline |
Definition at line 1206 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 1491 of file GenericDomTreeConstruction.h.
References llvm::DomTreeNodeBase< NodeT >::children(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::clear(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::InfoRec::DFSNum, llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::doFullDFSWalk(), llvm::errs(), llvm::raw_ostream::flush(), From, llvm::DomTreeNodeBase< NodeT >::getBlock(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::getNodeInfo(), llvm::DomTreeNodeBase< NodeT >::isLeaf(), and N.
Referenced by llvm::DomTreeBuilder::Verify().
BatchUpdateInfo* llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::BatchUpdates |
Definition at line 98 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().
std::conditional_t<GraphHasNodeNumbers<NodePtr>, SmallVector<InfoRec, 64>, DenseMap<NodePtr, InfoRec> > llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::NodeInfos |
Definition at line 80 of file GenericDomTreeConstruction.h.
Referenced by llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::clear(), and llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::getNodeInfo().
SmallVector<NodePtr, 64> 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().