struct SemiNCAInfo
Declaration
template <typename DomTreeT>
struct SemiNCAInfo { /* full declaration omitted */ };
Declared at: llvm/include/llvm/Support/GenericDomTreeConstruction.h:55
Templates
- DomTreeT
Member Variables
- public std::vector<NodePtr> NumToNode = {nullptr}
- public DenseMap< llvm::DomTreeBuilder::SemiNCAInfo::NodePtr, llvm::DomTreeBuilder::SemiNCAInfo::InfoRec> NodeToInfo
- public llvm::DomTreeBuilder::SemiNCAInfo:: BatchUpdateInfo* BatchUpdates
- public static const bool IsPostDom = type-parameter-0-0::IsPostDominator
Method Overview
- public static bool AlwaysDescend(llvm::DomTreeBuilder::SemiNCAInfo::NodePtr, llvm::DomTreeBuilder::SemiNCAInfo::NodePtr)
- public static void ApplyNextUpdate(DomTreeT & DT, llvm::DomTreeBuilder::SemiNCAInfo::BatchUpdateInfo & BUI)
- public static void ApplyUpdates(DomTreeT & DT, llvm::DomTreeBuilder::SemiNCAInfo::GraphDiffT & PreViewCFG, llvm::DomTreeBuilder::SemiNCAInfo::GraphDiffT * PostViewCFG)
- public static void CalculateFromScratch(DomTreeT & DT, llvm::DomTreeBuilder::SemiNCAInfo::BatchUpdatePtr BUI)
- public static void ComputeUnreachableDominators(DomTreeT & DT, const llvm::DomTreeBuilder::SemiNCAInfo::BatchUpdatePtr BUI, const llvm::DomTreeBuilder::SemiNCAInfo::NodePtr Root, const llvm::DomTreeBuilder::SemiNCAInfo::TreeNodePtr Incoming, SmallVectorImpl<std::pair<NodePtr, TreeNodePtr>> & DiscoveredConnectingEdges)
- public static void DeleteEdge(DomTreeT & DT, const llvm::DomTreeBuilder::SemiNCAInfo::BatchUpdatePtr BUI, const llvm::DomTreeBuilder::SemiNCAInfo::NodePtr From, const llvm::DomTreeBuilder::SemiNCAInfo::NodePtr To)
- public static void DeleteReachable(DomTreeT & DT, const llvm::DomTreeBuilder::SemiNCAInfo::BatchUpdatePtr BUI, const llvm::DomTreeBuilder::SemiNCAInfo::TreeNodePtr FromTN, const llvm::DomTreeBuilder::SemiNCAInfo::TreeNodePtr ToTN)
- public static void DeleteUnreachable(DomTreeT & DT, const llvm::DomTreeBuilder::SemiNCAInfo::BatchUpdatePtr BUI, const llvm::DomTreeBuilder::SemiNCAInfo::TreeNodePtr ToTN)
- public static void EraseNode(DomTreeT & DT, const llvm::DomTreeBuilder::SemiNCAInfo::TreeNodePtr TN)
- public static llvm::DomTreeBuilder::SemiNCAInfo::RootsT FindRoots(const DomTreeT & DT, llvm::DomTreeBuilder::SemiNCAInfo::BatchUpdatePtr BUI)
- public static llvm::DomTreeBuilder::SemiNCAInfo::NodePtr GetEntryNode(const DomTreeT & DT)
- public static bool HasForwardSuccessors(const llvm::DomTreeBuilder::SemiNCAInfo::NodePtr N, llvm::DomTreeBuilder::SemiNCAInfo::BatchUpdatePtr BUI)
- public static bool HasProperSupport(DomTreeT & DT, const llvm::DomTreeBuilder::SemiNCAInfo::BatchUpdatePtr BUI, const llvm::DomTreeBuilder::SemiNCAInfo::TreeNodePtr TN)
- public static void InsertEdge(DomTreeT & DT, const llvm::DomTreeBuilder::SemiNCAInfo::BatchUpdatePtr BUI, const llvm::DomTreeBuilder::SemiNCAInfo::NodePtr From, const llvm::DomTreeBuilder::SemiNCAInfo::NodePtr To)
- public static void InsertReachable(DomTreeT & DT, const llvm::DomTreeBuilder::SemiNCAInfo::BatchUpdatePtr BUI, const llvm::DomTreeBuilder::SemiNCAInfo::TreeNodePtr From, const llvm::DomTreeBuilder::SemiNCAInfo::TreeNodePtr To)
- public static void InsertUnreachable(DomTreeT & DT, const llvm::DomTreeBuilder::SemiNCAInfo::BatchUpdatePtr BUI, const llvm::DomTreeBuilder::SemiNCAInfo::TreeNodePtr From, const llvm::DomTreeBuilder::SemiNCAInfo::NodePtr To)
- public static bool IsSameAsFreshTree(const DomTreeT & DT)
- public static void RemoveRedundantRoots(const DomTreeT & DT, llvm::DomTreeBuilder::SemiNCAInfo::BatchUpdatePtr BUI, llvm::DomTreeBuilder::SemiNCAInfo::RootsT & Roots)
- public SemiNCAInfo<DomTreeT>(llvm::DomTreeBuilder::SemiNCAInfo::BatchUpdatePtr BUI)
- public static void UpdateInsertion(DomTreeT & DT, const llvm::DomTreeBuilder::SemiNCAInfo::BatchUpdatePtr BUI, const llvm::DomTreeBuilder::SemiNCAInfo::TreeNodePtr NCD, llvm::DomTreeBuilder::SemiNCAInfo::InsertionInfo & II)
- public static void UpdateRootsAfterUpdate(DomTreeT & DT, const llvm::DomTreeBuilder::SemiNCAInfo::BatchUpdatePtr BUI)
- public static bool UpdateRootsBeforeInsertion(DomTreeT & DT, const llvm::DomTreeBuilder::SemiNCAInfo::BatchUpdatePtr BUI, const llvm::DomTreeBuilder::SemiNCAInfo::TreeNodePtr From, const llvm::DomTreeBuilder::SemiNCAInfo::TreeNodePtr To)
- public static bool VerifyDFSNumbers(const DomTreeT & DT)
- public static bool VerifyLevels(const DomTreeT & DT)
- public void addVirtualRoot()
- public void attachNewSubtree(DomTreeT & DT, const llvm::DomTreeBuilder::SemiNCAInfo::TreeNodePtr AttachTo)
- public void clear()
- public template <typename DescendCondition>void doFullDFSWalk(const DomTreeT & DT, DescendCondition DC)
- public llvm::DomTreeBuilder::SemiNCAInfo::NodePtr eval(llvm::DomTreeBuilder::SemiNCAInfo::NodePtr V, unsigned int LastLinked, SmallVectorImpl<llvm::DomTreeBuilder::SemiNCAInfo::InfoRec *> & Stack)
- public template <bool Inversed>static SmallVector<llvm::DomTreeBuilder::SemiNCAInfo::NodePtr, 8> getChildren(llvm::DomTreeBuilder::SemiNCAInfo::NodePtr N, llvm::DomTreeBuilder::SemiNCAInfo::BatchUpdatePtr BUI)
- public template <bool Inversed>static SmallVector<llvm::DomTreeBuilder::SemiNCAInfo::NodePtr, 8> getChildren(llvm::DomTreeBuilder::SemiNCAInfo::NodePtr N)
- public llvm::DomTreeBuilder::SemiNCAInfo::NodePtr getIDom(llvm::DomTreeBuilder::SemiNCAInfo::NodePtr BB) const
- public llvm::DomTreeBuilder::SemiNCAInfo::TreeNodePtr getNodeForBlock(llvm::DomTreeBuilder::SemiNCAInfo::NodePtr BB, DomTreeT & DT)
- public static bool isPermutation(const SmallVectorImpl<llvm::DomTreeBuilder::SemiNCAInfo::NodePtr> & A, const SmallVectorImpl<llvm::DomTreeBuilder::SemiNCAInfo::NodePtr> & B)
- public void reattachExistingSubtree(DomTreeT & DT, const llvm::DomTreeBuilder::SemiNCAInfo::TreeNodePtr AttachTo)
- public template <bool IsReverse = false, typename DescendCondition>unsigned int runDFS(llvm::DomTreeBuilder::SemiNCAInfo::NodePtr V, unsigned int LastNum, DescendCondition Condition, unsigned int AttachToNum, const llvm::DomTreeBuilder::SemiNCAInfo::NodeOrderMap * SuccOrder = nullptr)
- public void runSemiNCA(DomTreeT & DT, const unsigned int MinLevel = 0)
- public bool verifyParentProperty(const DomTreeT & DT)
- public bool verifyReachability(const DomTreeT & DT)
- public bool verifyRoots(const DomTreeT & DT)
- public bool verifySiblingProperty(const DomTreeT & DT)
Methods
¶static bool AlwaysDescend(
llvm::DomTreeBuilder::SemiNCAInfo::NodePtr,
llvm::DomTreeBuilder::SemiNCAInfo::NodePtr)
static bool AlwaysDescend(
llvm::DomTreeBuilder::SemiNCAInfo::NodePtr,
llvm::DomTreeBuilder::SemiNCAInfo::NodePtr)
Declared at: llvm/include/llvm/Support/GenericDomTreeConstruction.h:148
Parameters
- llvm::DomTreeBuilder::SemiNCAInfo::NodePtr
- llvm::DomTreeBuilder::SemiNCAInfo::NodePtr
¶static void ApplyNextUpdate(
DomTreeT& DT,
llvm::DomTreeBuilder::SemiNCAInfo::
BatchUpdateInfo& BUI)
static void ApplyNextUpdate(
DomTreeT& DT,
llvm::DomTreeBuilder::SemiNCAInfo::
BatchUpdateInfo& BUI)
Declared at: llvm/include/llvm/Support/GenericDomTreeConstruction.h:1198
Parameters
- DomTreeT& DT
- llvm::DomTreeBuilder::SemiNCAInfo:: BatchUpdateInfo& BUI
¶static void ApplyUpdates(
DomTreeT& DT,
llvm::DomTreeBuilder::SemiNCAInfo::GraphDiffT&
PreViewCFG,
llvm::DomTreeBuilder::SemiNCAInfo::GraphDiffT*
PostViewCFG)
static void ApplyUpdates(
DomTreeT& DT,
llvm::DomTreeBuilder::SemiNCAInfo::GraphDiffT&
PreViewCFG,
llvm::DomTreeBuilder::SemiNCAInfo::GraphDiffT*
PostViewCFG)
Declared at: llvm/include/llvm/Support/GenericDomTreeConstruction.h:1149
Parameters
- DomTreeT& DT
- llvm::DomTreeBuilder::SemiNCAInfo::GraphDiffT& PreViewCFG
- llvm::DomTreeBuilder::SemiNCAInfo::GraphDiffT* PostViewCFG
¶static void CalculateFromScratch(
DomTreeT& DT,
llvm::DomTreeBuilder::SemiNCAInfo::
BatchUpdatePtr BUI)
static void CalculateFromScratch(
DomTreeT& DT,
llvm::DomTreeBuilder::SemiNCAInfo::
BatchUpdatePtr BUI)
Declared at: llvm/include/llvm/Support/GenericDomTreeConstruction.h:558
Parameters
- DomTreeT& DT
- llvm::DomTreeBuilder::SemiNCAInfo::BatchUpdatePtr BUI
¶static void ComputeUnreachableDominators(
DomTreeT& DT,
const llvm::DomTreeBuilder::SemiNCAInfo::
BatchUpdatePtr BUI,
const llvm::DomTreeBuilder::SemiNCAInfo::
NodePtr Root,
const llvm::DomTreeBuilder::SemiNCAInfo::
TreeNodePtr Incoming,
SmallVectorImpl<
std::pair<NodePtr, TreeNodePtr>>&
DiscoveredConnectingEdges)
static void ComputeUnreachableDominators(
DomTreeT& DT,
const llvm::DomTreeBuilder::SemiNCAInfo::
BatchUpdatePtr BUI,
const llvm::DomTreeBuilder::SemiNCAInfo::
NodePtr Root,
const llvm::DomTreeBuilder::SemiNCAInfo::
TreeNodePtr Incoming,
SmallVectorImpl<
std::pair<NodePtr, TreeNodePtr>>&
DiscoveredConnectingEdges)
Declared at: llvm/include/llvm/Support/GenericDomTreeConstruction.h:888
Parameters
- DomTreeT& DT
- const llvm::DomTreeBuilder::SemiNCAInfo:: BatchUpdatePtr BUI
- const llvm::DomTreeBuilder::SemiNCAInfo::NodePtr Root
- const llvm::DomTreeBuilder::SemiNCAInfo:: TreeNodePtr Incoming
- SmallVectorImpl<std::pair<NodePtr, TreeNodePtr>>& DiscoveredConnectingEdges
¶static void DeleteEdge(
DomTreeT& DT,
const llvm::DomTreeBuilder::SemiNCAInfo::
BatchUpdatePtr BUI,
const llvm::DomTreeBuilder::SemiNCAInfo::
NodePtr From,
const llvm::DomTreeBuilder::SemiNCAInfo::
NodePtr To)
static void DeleteEdge(
DomTreeT& DT,
const llvm::DomTreeBuilder::SemiNCAInfo::
BatchUpdatePtr BUI,
const llvm::DomTreeBuilder::SemiNCAInfo::
NodePtr From,
const llvm::DomTreeBuilder::SemiNCAInfo::
NodePtr To)
Declared at: llvm/include/llvm/Support/GenericDomTreeConstruction.h:913
Parameters
- DomTreeT& DT
- const llvm::DomTreeBuilder::SemiNCAInfo:: BatchUpdatePtr BUI
- const llvm::DomTreeBuilder::SemiNCAInfo::NodePtr From
- const llvm::DomTreeBuilder::SemiNCAInfo::NodePtr To
¶static void DeleteReachable(
DomTreeT& DT,
const llvm::DomTreeBuilder::SemiNCAInfo::
BatchUpdatePtr BUI,
const llvm::DomTreeBuilder::SemiNCAInfo::
TreeNodePtr FromTN,
const llvm::DomTreeBuilder::SemiNCAInfo::
TreeNodePtr ToTN)
static void DeleteReachable(
DomTreeT& DT,
const llvm::DomTreeBuilder::SemiNCAInfo::
BatchUpdatePtr BUI,
const llvm::DomTreeBuilder::SemiNCAInfo::
TreeNodePtr FromTN,
const llvm::DomTreeBuilder::SemiNCAInfo::
TreeNodePtr ToTN)
Declared at: llvm/include/llvm/Support/GenericDomTreeConstruction.h:966
Parameters
- DomTreeT& DT
- const llvm::DomTreeBuilder::SemiNCAInfo:: BatchUpdatePtr BUI
- const llvm::DomTreeBuilder::SemiNCAInfo:: TreeNodePtr FromTN
- const llvm::DomTreeBuilder::SemiNCAInfo:: TreeNodePtr ToTN
¶static void DeleteUnreachable(
DomTreeT& DT,
const llvm::DomTreeBuilder::SemiNCAInfo::
BatchUpdatePtr BUI,
const llvm::DomTreeBuilder::SemiNCAInfo::
TreeNodePtr ToTN)
static void DeleteUnreachable(
DomTreeT& DT,
const llvm::DomTreeBuilder::SemiNCAInfo::
BatchUpdatePtr BUI,
const llvm::DomTreeBuilder::SemiNCAInfo::
TreeNodePtr ToTN)
Declared at: llvm/include/llvm/Support/GenericDomTreeConstruction.h:1031
Parameters
- DomTreeT& DT
- const llvm::DomTreeBuilder::SemiNCAInfo:: BatchUpdatePtr BUI
- const llvm::DomTreeBuilder::SemiNCAInfo:: TreeNodePtr ToTN
¶static void EraseNode(
DomTreeT& DT,
const llvm::DomTreeBuilder::SemiNCAInfo::
TreeNodePtr TN)
static void EraseNode(
DomTreeT& DT,
const llvm::DomTreeBuilder::SemiNCAInfo::
TreeNodePtr TN)
Declared at: llvm/include/llvm/Support/GenericDomTreeConstruction.h:1130
Parameters
- DomTreeT& DT
- const llvm::DomTreeBuilder::SemiNCAInfo:: TreeNodePtr TN
¶static llvm::DomTreeBuilder::SemiNCAInfo::RootsT
FindRoots(const DomTreeT& DT,
llvm::DomTreeBuilder::SemiNCAInfo::
BatchUpdatePtr BUI)
static llvm::DomTreeBuilder::SemiNCAInfo::RootsT
FindRoots(const DomTreeT& DT,
llvm::DomTreeBuilder::SemiNCAInfo::
BatchUpdatePtr BUI)
Declared at: llvm/include/llvm/Support/GenericDomTreeConstruction.h:350
Parameters
- const DomTreeT& DT
- llvm::DomTreeBuilder::SemiNCAInfo::BatchUpdatePtr BUI
¶static llvm::DomTreeBuilder::SemiNCAInfo::NodePtr
GetEntryNode(const DomTreeT& DT)
static llvm::DomTreeBuilder::SemiNCAInfo::NodePtr
GetEntryNode(const DomTreeT& DT)
Declared at: llvm/include/llvm/Support/GenericDomTreeConstruction.h:342
Parameters
- const DomTreeT& DT
¶static bool HasForwardSuccessors(
const llvm::DomTreeBuilder::SemiNCAInfo::
NodePtr N,
llvm::DomTreeBuilder::SemiNCAInfo::
BatchUpdatePtr BUI)
static bool HasForwardSuccessors(
const llvm::DomTreeBuilder::SemiNCAInfo::
NodePtr N,
llvm::DomTreeBuilder::SemiNCAInfo::
BatchUpdatePtr BUI)
Declared at: llvm/include/llvm/Support/GenericDomTreeConstruction.h:337
Parameters
- const llvm::DomTreeBuilder::SemiNCAInfo::NodePtr N
- llvm::DomTreeBuilder::SemiNCAInfo::BatchUpdatePtr BUI
¶static bool HasProperSupport(
DomTreeT& DT,
const llvm::DomTreeBuilder::SemiNCAInfo::
BatchUpdatePtr BUI,
const llvm::DomTreeBuilder::SemiNCAInfo::
TreeNodePtr TN)
static bool HasProperSupport(
DomTreeT& DT,
const llvm::DomTreeBuilder::SemiNCAInfo::
BatchUpdatePtr BUI,
const llvm::DomTreeBuilder::SemiNCAInfo::
TreeNodePtr TN)
Declared at: llvm/include/llvm/Support/GenericDomTreeConstruction.h:1007
Parameters
- DomTreeT& DT
- const llvm::DomTreeBuilder::SemiNCAInfo:: BatchUpdatePtr BUI
- const llvm::DomTreeBuilder::SemiNCAInfo:: TreeNodePtr TN
¶static void InsertEdge(
DomTreeT& DT,
const llvm::DomTreeBuilder::SemiNCAInfo::
BatchUpdatePtr BUI,
const llvm::DomTreeBuilder::SemiNCAInfo::
NodePtr From,
const llvm::DomTreeBuilder::SemiNCAInfo::
NodePtr To)
static void InsertEdge(
DomTreeT& DT,
const llvm::DomTreeBuilder::SemiNCAInfo::
BatchUpdatePtr BUI,
const llvm::DomTreeBuilder::SemiNCAInfo::
NodePtr From,
const llvm::DomTreeBuilder::SemiNCAInfo::
NodePtr To)
Declared at: llvm/include/llvm/Support/GenericDomTreeConstruction.h:649
Parameters
- DomTreeT& DT
- const llvm::DomTreeBuilder::SemiNCAInfo:: BatchUpdatePtr BUI
- const llvm::DomTreeBuilder::SemiNCAInfo::NodePtr From
- const llvm::DomTreeBuilder::SemiNCAInfo::NodePtr To
¶static void InsertReachable(
DomTreeT& DT,
const llvm::DomTreeBuilder::SemiNCAInfo::
BatchUpdatePtr BUI,
const llvm::DomTreeBuilder::SemiNCAInfo::
TreeNodePtr From,
const llvm::DomTreeBuilder::SemiNCAInfo::
TreeNodePtr To)
static void InsertReachable(
DomTreeT& DT,
const llvm::DomTreeBuilder::SemiNCAInfo::
BatchUpdatePtr BUI,
const llvm::DomTreeBuilder::SemiNCAInfo::
TreeNodePtr From,
const llvm::DomTreeBuilder::SemiNCAInfo::
TreeNodePtr To)
Declared at: llvm/include/llvm/Support/GenericDomTreeConstruction.h:737
Parameters
- DomTreeT& DT
- const llvm::DomTreeBuilder::SemiNCAInfo:: BatchUpdatePtr BUI
- const llvm::DomTreeBuilder::SemiNCAInfo:: TreeNodePtr From
- const llvm::DomTreeBuilder::SemiNCAInfo:: TreeNodePtr To
¶static void InsertUnreachable(
DomTreeT& DT,
const llvm::DomTreeBuilder::SemiNCAInfo::
BatchUpdatePtr BUI,
const llvm::DomTreeBuilder::SemiNCAInfo::
TreeNodePtr From,
const llvm::DomTreeBuilder::SemiNCAInfo::
NodePtr To)
static void InsertUnreachable(
DomTreeT& DT,
const llvm::DomTreeBuilder::SemiNCAInfo::
BatchUpdatePtr BUI,
const llvm::DomTreeBuilder::SemiNCAInfo::
TreeNodePtr From,
const llvm::DomTreeBuilder::SemiNCAInfo::
NodePtr To)
Declared at: llvm/include/llvm/Support/GenericDomTreeConstruction.h:863
Parameters
- DomTreeT& DT
- const llvm::DomTreeBuilder::SemiNCAInfo:: BatchUpdatePtr BUI
- const llvm::DomTreeBuilder::SemiNCAInfo:: TreeNodePtr From
- const llvm::DomTreeBuilder::SemiNCAInfo::NodePtr To
¶static bool IsSameAsFreshTree(const DomTreeT& DT)
static bool IsSameAsFreshTree(const DomTreeT& DT)
Declared at: llvm/include/llvm/Support/GenericDomTreeConstruction.h:1540
Parameters
- const DomTreeT& DT
¶static void RemoveRedundantRoots(
const DomTreeT& DT,
llvm::DomTreeBuilder::SemiNCAInfo::
BatchUpdatePtr BUI,
llvm::DomTreeBuilder::SemiNCAInfo::RootsT&
Roots)
static void RemoveRedundantRoots(
const DomTreeT& DT,
llvm::DomTreeBuilder::SemiNCAInfo::
BatchUpdatePtr BUI,
llvm::DomTreeBuilder::SemiNCAInfo::RootsT&
Roots)
Declared at: llvm/include/llvm/Support/GenericDomTreeConstruction.h:506
Parameters
- const DomTreeT& DT
- llvm::DomTreeBuilder::SemiNCAInfo::BatchUpdatePtr BUI
- llvm::DomTreeBuilder::SemiNCAInfo::RootsT& Roots
¶SemiNCAInfo<DomTreeT>(
llvm::DomTreeBuilder::SemiNCAInfo::
BatchUpdatePtr BUI)
SemiNCAInfo<DomTreeT>(
llvm::DomTreeBuilder::SemiNCAInfo::
BatchUpdatePtr BUI)
Declared at: llvm/include/llvm/Support/GenericDomTreeConstruction.h:98
Parameters
¶static void UpdateInsertion(
DomTreeT& DT,
const llvm::DomTreeBuilder::SemiNCAInfo::
BatchUpdatePtr BUI,
const llvm::DomTreeBuilder::SemiNCAInfo::
TreeNodePtr NCD,
llvm::DomTreeBuilder::SemiNCAInfo::
InsertionInfo& II)
static void UpdateInsertion(
DomTreeT& DT,
const llvm::DomTreeBuilder::SemiNCAInfo::
BatchUpdatePtr BUI,
const llvm::DomTreeBuilder::SemiNCAInfo::
TreeNodePtr NCD,
llvm::DomTreeBuilder::SemiNCAInfo::
InsertionInfo& II)
Declared at: llvm/include/llvm/Support/GenericDomTreeConstruction.h:843
Parameters
- DomTreeT& DT
- const llvm::DomTreeBuilder::SemiNCAInfo:: BatchUpdatePtr BUI
- const llvm::DomTreeBuilder::SemiNCAInfo:: TreeNodePtr NCD
- llvm::DomTreeBuilder::SemiNCAInfo::InsertionInfo& II
¶static void UpdateRootsAfterUpdate(
DomTreeT& DT,
const llvm::DomTreeBuilder::SemiNCAInfo::
BatchUpdatePtr BUI)
static void UpdateRootsAfterUpdate(
DomTreeT& DT,
const llvm::DomTreeBuilder::SemiNCAInfo::
BatchUpdatePtr BUI)
Declared at: llvm/include/llvm/Support/GenericDomTreeConstruction.h:711
Parameters
- DomTreeT& DT
- const llvm::DomTreeBuilder::SemiNCAInfo:: BatchUpdatePtr BUI
¶static bool UpdateRootsBeforeInsertion(
DomTreeT& DT,
const llvm::DomTreeBuilder::SemiNCAInfo::
BatchUpdatePtr BUI,
const llvm::DomTreeBuilder::SemiNCAInfo::
TreeNodePtr From,
const llvm::DomTreeBuilder::SemiNCAInfo::
TreeNodePtr To)
static bool UpdateRootsBeforeInsertion(
DomTreeT& DT,
const llvm::DomTreeBuilder::SemiNCAInfo::
BatchUpdatePtr BUI,
const llvm::DomTreeBuilder::SemiNCAInfo::
TreeNodePtr From,
const llvm::DomTreeBuilder::SemiNCAInfo::
TreeNodePtr To)
Declared at: llvm/include/llvm/Support/GenericDomTreeConstruction.h:679
Parameters
- DomTreeT& DT
- const llvm::DomTreeBuilder::SemiNCAInfo:: BatchUpdatePtr BUI
- const llvm::DomTreeBuilder::SemiNCAInfo:: TreeNodePtr From
- const llvm::DomTreeBuilder::SemiNCAInfo:: TreeNodePtr To
¶static bool VerifyDFSNumbers(const DomTreeT& DT)
static bool VerifyDFSNumbers(const DomTreeT& DT)
Declared at: llvm/include/llvm/Support/GenericDomTreeConstruction.h:1331
Parameters
- const DomTreeT& DT
¶static bool VerifyLevels(const DomTreeT& DT)
static bool VerifyLevels(const DomTreeT& DT)
Declared at: llvm/include/llvm/Support/GenericDomTreeConstruction.h:1299
Parameters
- const DomTreeT& DT
¶void addVirtualRoot()
void addVirtualRoot()
Declared at: llvm/include/llvm/Support/GenericDomTreeConstruction.h:323
¶void attachNewSubtree(
DomTreeT& DT,
const llvm::DomTreeBuilder::SemiNCAInfo::
TreeNodePtr AttachTo)
void attachNewSubtree(
DomTreeT& DT,
const llvm::DomTreeBuilder::SemiNCAInfo::
TreeNodePtr AttachTo)
Declared at: llvm/include/llvm/Support/GenericDomTreeConstruction.h:597
Parameters
- DomTreeT& DT
- const llvm::DomTreeBuilder::SemiNCAInfo:: TreeNodePtr AttachTo
¶void clear()
void clear()
Declared at: llvm/include/llvm/Support/GenericDomTreeConstruction.h:100
¶template <typename DescendCondition>
void doFullDFSWalk(const DomTreeT& DT,
DescendCondition DC)
template <typename DescendCondition>
void doFullDFSWalk(const DomTreeT& DT,
DescendCondition DC)
Declared at: llvm/include/llvm/Support/GenericDomTreeConstruction.h:546
Templates
- DescendCondition
Parameters
- const DomTreeT& DT
- DescendCondition DC
¶llvm::DomTreeBuilder::SemiNCAInfo::NodePtr eval(
llvm::DomTreeBuilder::SemiNCAInfo::NodePtr V,
unsigned int LastLinked,
SmallVectorImpl<llvm::DomTreeBuilder::
SemiNCAInfo::InfoRec*>&
Stack)
llvm::DomTreeBuilder::SemiNCAInfo::NodePtr eval(
llvm::DomTreeBuilder::SemiNCAInfo::NodePtr V,
unsigned int LastLinked,
SmallVectorImpl<llvm::DomTreeBuilder::
SemiNCAInfo::InfoRec*>&
Stack)
Declared at: llvm/include/llvm/Support/GenericDomTreeConstruction.h:240
Parameters
- llvm::DomTreeBuilder::SemiNCAInfo::NodePtr V
- unsigned int LastLinked
- SmallVectorImpl< llvm::DomTreeBuilder::SemiNCAInfo::InfoRec*>& Stack
¶template <bool Inversed>
static SmallVector<
llvm::DomTreeBuilder::SemiNCAInfo::NodePtr,
8>
getChildren(
llvm::DomTreeBuilder::SemiNCAInfo::NodePtr N,
llvm::DomTreeBuilder::SemiNCAInfo::
BatchUpdatePtr BUI)
template <bool Inversed>
static SmallVector<
llvm::DomTreeBuilder::SemiNCAInfo::NodePtr,
8>
getChildren(
llvm::DomTreeBuilder::SemiNCAInfo::NodePtr N,
llvm::DomTreeBuilder::SemiNCAInfo::
BatchUpdatePtr BUI)
Declared at: llvm/include/llvm/Support/GenericDomTreeConstruction.h:108
Templates
- bool Inversed
Parameters
- llvm::DomTreeBuilder::SemiNCAInfo::NodePtr N
- llvm::DomTreeBuilder::SemiNCAInfo::BatchUpdatePtr BUI
¶template <bool Inversed>
static SmallVector<
llvm::DomTreeBuilder::SemiNCAInfo::NodePtr,
8>
getChildren(
llvm::DomTreeBuilder::SemiNCAInfo::NodePtr N)
template <bool Inversed>
static SmallVector<
llvm::DomTreeBuilder::SemiNCAInfo::NodePtr,
8>
getChildren(
llvm::DomTreeBuilder::SemiNCAInfo::NodePtr N)
Declared at: llvm/include/llvm/Support/GenericDomTreeConstruction.h:115
Templates
- bool Inversed
Parameters
- llvm::DomTreeBuilder::SemiNCAInfo::NodePtr N
¶llvm::DomTreeBuilder::SemiNCAInfo::NodePtr
getIDom(llvm::DomTreeBuilder::SemiNCAInfo::NodePtr
BB) const
llvm::DomTreeBuilder::SemiNCAInfo::NodePtr
getIDom(llvm::DomTreeBuilder::SemiNCAInfo::NodePtr
BB) const
Declared at: llvm/include/llvm/Support/GenericDomTreeConstruction.h:126
Parameters
- llvm::DomTreeBuilder::SemiNCAInfo::NodePtr BB
¶llvm::DomTreeBuilder::SemiNCAInfo::TreeNodePtr
getNodeForBlock(
llvm::DomTreeBuilder::SemiNCAInfo::NodePtr BB,
DomTreeT& DT)
llvm::DomTreeBuilder::SemiNCAInfo::TreeNodePtr
getNodeForBlock(
llvm::DomTreeBuilder::SemiNCAInfo::NodePtr BB,
DomTreeT& DT)
Declared at: llvm/include/llvm/Support/GenericDomTreeConstruction.h:133
Parameters
- llvm::DomTreeBuilder::SemiNCAInfo::NodePtr BB
- DomTreeT& DT
¶static bool isPermutation(
const SmallVectorImpl<
llvm::DomTreeBuilder::SemiNCAInfo::
NodePtr>& A,
const SmallVectorImpl<
llvm::DomTreeBuilder::SemiNCAInfo::
NodePtr>& B)
static bool isPermutation(
const SmallVectorImpl<
llvm::DomTreeBuilder::SemiNCAInfo::
NodePtr>& A,
const SmallVectorImpl<
llvm::DomTreeBuilder::SemiNCAInfo::
NodePtr>& B)
Declared at: llvm/include/llvm/Support/GenericDomTreeConstruction.h:697
Parameters
- const SmallVectorImpl< llvm::DomTreeBuilder::SemiNCAInfo::NodePtr>& A
- const SmallVectorImpl< llvm::DomTreeBuilder::SemiNCAInfo::NodePtr>& B
¶void reattachExistingSubtree(
DomTreeT& DT,
const llvm::DomTreeBuilder::SemiNCAInfo::
TreeNodePtr AttachTo)
void reattachExistingSubtree(
DomTreeT& DT,
const llvm::DomTreeBuilder::SemiNCAInfo::
TreeNodePtr AttachTo)
Declared at: llvm/include/llvm/Support/GenericDomTreeConstruction.h:618
Parameters
- DomTreeT& DT
- const llvm::DomTreeBuilder::SemiNCAInfo:: TreeNodePtr AttachTo
¶template <bool IsReverse = false,
typename DescendCondition>
unsigned int runDFS(
llvm::DomTreeBuilder::SemiNCAInfo::NodePtr V,
unsigned int LastNum,
DescendCondition Condition,
unsigned int AttachToNum,
const llvm::DomTreeBuilder::SemiNCAInfo::
NodeOrderMap* SuccOrder = nullptr)
template <bool IsReverse = false,
typename DescendCondition>
unsigned int runDFS(
llvm::DomTreeBuilder::SemiNCAInfo::NodePtr V,
unsigned int LastNum,
DescendCondition Condition,
unsigned int AttachToNum,
const llvm::DomTreeBuilder::SemiNCAInfo::
NodeOrderMap* SuccOrder = nullptr)
Declared at: llvm/include/llvm/Support/GenericDomTreeConstruction.h:179
Templates
- bool IsReverse = false
- DescendCondition
Parameters
- llvm::DomTreeBuilder::SemiNCAInfo::NodePtr V
- unsigned int LastNum
- DescendCondition Condition
- unsigned int AttachToNum
- const llvm::DomTreeBuilder::SemiNCAInfo:: NodeOrderMap* SuccOrder = nullptr
¶void runSemiNCA(DomTreeT& DT,
const unsigned int MinLevel = 0)
void runSemiNCA(DomTreeT& DT,
const unsigned int MinLevel = 0)
Declared at: llvm/include/llvm/Support/GenericDomTreeConstruction.h:271
Parameters
- DomTreeT& DT
- const unsigned int MinLevel = 0
¶bool verifyParentProperty(const DomTreeT& DT)
bool verifyParentProperty(const DomTreeT& DT)
Declared at: llvm/include/llvm/Support/GenericDomTreeConstruction.h:1467
Parameters
- const DomTreeT& DT
¶bool verifyReachability(const DomTreeT& DT)
bool verifyReachability(const DomTreeT& DT)
Declared at: llvm/include/llvm/Support/GenericDomTreeConstruction.h:1263
Parameters
- const DomTreeT& DT
¶bool verifyRoots(const DomTreeT& DT)
bool verifyRoots(const DomTreeT& DT)
Declared at: llvm/include/llvm/Support/GenericDomTreeConstruction.h:1224
Parameters
- const DomTreeT& DT
¶bool verifySiblingProperty(const DomTreeT& DT)
bool verifySiblingProperty(const DomTreeT& DT)
Declared at: llvm/include/llvm/Support/GenericDomTreeConstruction.h:1501
Parameters
- const DomTreeT& DT