MachinePostDominatorTree ‐ an analysis pass wrapper for DominatorTree used to compute the post‐dominator tree for MachineFunctions.
Synopsis
Declared in <llvm/CodeGen/MachinePostDominators.h>
class MachinePostDominatorTree
: public PostDomTreeBase<MachineBasicBlock>
Base Classes
Name |
Description |
Post‐dominator tree specialization. |
Type Aliases
Name |
Description |
Pointer to a CFG node / basic block. |
|
Node traits used to access parents and entry nodes. |
|
Concrete CFG node / basic‐block type. |
|
Pointer to the parent of a CFG node (e.g. a Function). |
|
Type of the parent of a CFG node (e.g. Function). |
|
Kind of CFG update (insert or delete). |
|
CFG update describing an edge insertion or deletion. |
|
Const iterator over root CFG blocks. |
|
Iteration over roots. |
Enums
Name |
Description |
How thoroughly |
Member Functions
Name |
Description |
|
Construct an empty machine post‐dominator tree. |
|
Construct a machine post‐dominator tree for |
|
Copy assignment is deleted; trees are moved or recalculated. |
Move‐assign, taking ownership of |
|
Add a new node to the dominator tree information. |
|
Inform the dominator tree about a sequence of CFG edge insertions and deletions and perform a batch update on the tree. |
|
Apply CFG updates with an additional post‐view of the CFG. |
|
Change the immediate dominator of block |
|
Change the immediate dominator of tree node |
|
Return true if this tree differs from |
|
Inform the dominator tree about a CFG edge deletion and update the tree. |
|
Return true iff block |
|
Return true iff tree node |
|
Remove a leaf node for block |
|
Returns the nearest common dominator of the given blocks. If that tree node is a virtual root, a nullptr will be returned. |
|
Find the nearest common dominator of every block in |
|
Find the nearest common dominator of blocks |
|
Find the nearest common dominator of const blocks |
|
Get all nodes dominated by |
|
Return the (post‐)dominator tree node for basic block |
|
Return the single root block of a forward dominator tree. |
|
Return the root node of this (post‐)dominator tree. |
|
Return the root node of this (post‐)dominator tree. |
|
Inform the dominator tree about a CFG edge insertion and update the tree. |
|
Handle invalidation explicitly. |
|
Return true if this tree encodes post‐dominance rather than dominance. |
|
Return true if |
|
Return true if |
|
Return the (post‐)dominator tree node for basic block |
|
Print the dominator tree in human‐readable form. |
|
Return true iff block |
|
Return true iff tree node |
|
Compute a dominator tree for the given function. |
|
Recompute the tree for |
|
Clear all tree nodes, roots, and allocator state. |
|
Return an iterator to the first root block. |
|
Return a const iterator to the first root block. |
|
Return an iterator past the last root block. |
|
Return a const iterator past the last root block. |
|
Return the number of root blocks. |
|
Return a range over the root blocks. |
|
Return a const range over the root blocks. |
|
Add a new node to the forward dominator tree and make it a new root. |
|
Update the tree after |
|
Update dominator tree after renumbering blocks. |
|
updateDFSNumbers ‐ Assign In and Out numbers to the nodes while walking dominator tree in dfs order. |
|
Check whether the dominator tree is correct at the given verification level. |
Static Data Members
Using Declarations
Name |
Description |
Make findNearestCommonDominator(const NodeT *A, const NodeT *B) available. |
Protected Type Aliases
Name |
Description |
Storage type for the dense map from block number to tree node. |
Protected Member Functions
Name |
Description |
Update the tree after |
|
Append |
|
Create a node for |
|
Create a node for |
Protected Data Members
Name |
Description |
Epoch of GraphTraits block numbers used when the tree was built/updated. |
|
True when DFS in/out numbers on nodes are currently valid. |
|
Tree nodes indexed by CFG block number (plus a slot for nullptr in PDT). |
|
Allocator backing DomTreeNodeBase instances. |
|
Parent of the CFG nodes (e.g. Function) this tree was built for. |
|
Root node of the dominator tree (possibly a virtual root for PDT). |
|
Root CFG blocks of this (post‐)dominator tree. |
|
Count of slow dominance queries since DFS numbers were last refreshed. |
Created with MrDocs