Go to the documentation of this file.
13 #ifndef LLVM_ANALYSIS_PHITRANSADDR_H
14 #define LLVM_ANALYSIS_PHITRANSADDR_H
20 class AssumptionCache;
23 class TargetLibraryInfo;
56 InstInputs.push_back(
I);
66 for (
unsigned i = 0,
e = InstInputs.size();
i !=
e; ++
i)
119 InstInputs.push_back(
VI);
This is an optimization pass for GlobalISel generic memory operations.
A parsed version of the target data layout string in and methods for querying it.
PHITransAddr - An address value which tracks and handles phi translation.
This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small.
Concrete subclass of DominatorTreeBase that is used to compute a normal dominator tree.
Value * PHITranslateWithInsertion(BasicBlock *CurBB, BasicBlock *PredBB, const DominatorTree &DT, SmallVectorImpl< Instruction * > &NewInsts)
PHITranslateWithInsertion - PHI translate this value into the specified predecessor block,...
bool IsPotentiallyPHITranslatable() const
IsPotentiallyPHITranslatable - If this needs PHI translation, return true if we have some hope of doi...
LLVM Basic Block Representation.
PHITransAddr(Value *addr, const DataLayout &DL, AssumptionCache *AC)
bool PHITranslateValue(BasicBlock *CurBB, BasicBlock *PredBB, const DominatorTree *DT, bool MustDominate)
PHITranslateValue - PHI translate the current address up the CFG from CurBB to Pred,...
A cache of @llvm.assume calls within a function.
static const Function * getParent(const Value *V)
MachineBasicBlock MachineBasicBlock::iterator DebugLoc DL
bool Verify() const
Verify - Check internal consistency of this data structure.
Provides information about what library functions are available for the current target.
Common register allocation spilling lr str ldr sxth r3 ldr mla r4 can lr mov lr str ldr sxth r3 mla r4 and then merge mul and lr str ldr sxth r3 mla r4 It also increase the likelihood the store may become dead bb27 Successors according to LLVM BB
bool NeedsPHITranslationFromBlock(BasicBlock *BB) const
NeedsPHITranslationFromBlock - Return true if moving from the specified BasicBlock to its predecessor...
LLVM Value Representation.