14 #ifndef LLVM_ANALYSIS_PHITRANSADDR_H 15 #define LLVM_ANALYSIS_PHITRANSADDR_H 21 class AssumptionCache;
24 class TargetLibraryInfo;
54 : Addr(addr), DL(DL), TLI(nullptr), AC(AC) {
67 for (
unsigned i = 0, e = InstInputs.
size(); i != e; ++i)
A parsed version of the target data layout string in and methods for querying it. ...
This class represents lattice values for constants.
void push_back(const T &Elt)
A cache of @llvm.assume calls within a function.
This class consists of common code factored out of the SmallVector class to reduce code duplication b...
Concrete subclass of DominatorTreeBase that is used to compute a normal dominator tree...
LLVM Basic Block Representation.
PHITransAddr - An address value which tracks and handles phi translation.
PHITransAddr(Value *addr, const DataLayout &DL, AssumptionCache *AC)
Value * PHITranslateWithInsertion(BasicBlock *CurBB, BasicBlock *PredBB, const DominatorTree &DT, SmallVectorImpl< Instruction *> &NewInsts)
PHITranslateWithInsertion - PHI translate this value into the specified predecessor block...
bool PHITranslateValue(BasicBlock *CurBB, BasicBlock *PredBB, const DominatorTree *DT, bool MustDominate)
PHITranslateValue - PHI translate the current address up the CFG from CurBB to Pred, updating our state to reflect any needed changes.
This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small...
Provides information about what library functions are available for the current target.
bool NeedsPHITranslationFromBlock(BasicBlock *BB) const
NeedsPHITranslationFromBlock - Return true if moving from the specified BasicBlock to its predecessor...
bool Verify() const
Verify - Check internal consistency of this data structure.
bool IsPotentiallyPHITranslatable() const
IsPotentiallyPHITranslatable - If this needs PHI translation, return true if we have some hope of doi...
LLVM Value Representation.
static const Function * getParent(const Value *V)