llvm::DominanceFrontier

Dominance frontier analysis result for a Function's BasicBlocks.

Synopsis

Declared in <llvm/Analysis/DominanceFrontier.h>

class DominanceFrontier
    : public DominanceFrontierBase<BasicBlock, false>

Base Classes

NameDescription
DominanceFrontierBase<BasicBlock, false>Common base class for computing forward and inverse dominance frontiers.

Type Aliases

NameDescription
DomSetMapType Map from each block to its dominance frontier set.
DomSetType Set of blocks in the dominance frontier of a single block.
DomTreeNodeT Dominator tree node type specialized for BasicBlock.
DomTreeT Dominator tree type specialized for BasicBlock.
const_iterator Const iterator over the dominance frontier map.
iterator Mutable iterator over the dominance frontier map.

Member Functions

NameDescription
analyze Compute dominance frontiers for all blocks in DT.
begin begin overloads
dump Dump the dominance frontier to dbgs().
end end overloads
find find overloads
invalidate Handle invalidation explicitly.
isPostDominator Return true if analysis based of postdoms.
print Print the dominance frontiers in a human-readable form.
releaseMemory Clear the computed dominance frontier sets.

Protected Type Aliases

NameDescription
BlockTraits GraphTraits specialization for GraphTy.
GraphTy Graph type used when walking CFG edges (inverted when post-dominating).

Protected Data Members

NameDescription
Frontiers Dominance frontier set for each block in the function.

Protected Static Data Members

NameDescription
IsPostDominators True when this instance computes post-dominance frontiers.