24 #ifndef LLVM_ANALYSIS_IDF_H
25 #define LLVM_ANALYSIS_IDF_H
68 LiveInBlocks = &Blocks;
75 LiveInBlocks =
nullptr;
A templated base class for SmallPtrSet which provides the typesafe interface that is common across al...
void calculate(SmallVectorImpl< BasicBlock * > &IDFBlocks)
Calculate iterated dominance frontiers.
This class consists of common code factored out of the SmallVector class to reduce code duplication b...
Base class for the actual dominator tree node.
Concrete subclass of DominatorTreeBase that is used to compute a normal dominator tree...
void setLiveInBlocks(const SmallPtrSetImpl< BasicBlock * > &Blocks)
Give the IDF calculator the set of blocks in which the value is live on entry to the block...
IDFCalculator(DominatorTree &DT)
void resetLiveInBlocks()
Reset the live-in block set to be empty, and tell the IDF calculator to not use liveness anymore...
void setDefiningBlocks(const SmallPtrSetImpl< BasicBlock * > &Blocks)
Give the IDF calculator the set of blocks in which the value is defined.
This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small...
Determine the iterated dominance frontier, given a set of defining blocks, and optionally, a set of live-in blocks.
DomTreeNodeBase< BasicBlock > DomTreeNode