24 #ifndef LLVM_ANALYSIS_IDF_H
25 #define LLVM_ANALYSIS_IDF_H
45 template <
class NodeTy>
67 LiveInBlocks = &Blocks;
74 LiveInBlocks =
nullptr;
IDFCalculator(DominatorTreeBase< BasicBlock > &DT)
void calculate(SmallVectorImpl< BasicBlock * > &IDFBlocks)
Calculate iterated dominance frontiers.
A templated base class for SmallPtrSet which provides the typesafe interface that is common across al...
This class consists of common code factored out of the SmallVector class to reduce code duplication b...
Function Alias Analysis false
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...
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.
IDFCalculator< BasicBlock * > ForwardIDFCalculator
IDFCalculator< Inverse< BasicBlock * > > ReverseIDFCalculator
Determine the iterated dominance frontier, given a set of defining blocks, and optionally, a set of live-in blocks.