Go to the source code of this file.
|
| | llvm |
| | Compute iterated dominance frontiers using a linear time algorithm.
|
| |
|
| bool | llvm::isDereferenceablePointer (const Value *V, const DataLayout &DL, const Instruction *CtxI=nullptr, const DominatorTree *DT=nullptr) |
| | Return true if this is always a dereferenceable pointer. More...
|
| |
| bool | llvm::isDereferenceableAndAlignedPointer (const Value *V, unsigned Align, const DataLayout &DL, const Instruction *CtxI=nullptr, const DominatorTree *DT=nullptr) |
| | Returns true if V is always a dereferenceable pointer with alignment greater or equal than requested. More...
|
| |
| bool | llvm::isSafeToLoadUnconditionally (Value *V, unsigned Align, const DataLayout &DL, Instruction *ScanFrom=nullptr, const DominatorTree *DT=nullptr) |
| | Return true if we know that executing a load from this value cannot trap. More...
|
| |
| Value * | llvm::FindAvailableLoadedValue (LoadInst *Load, BasicBlock *ScanBB, BasicBlock::iterator &ScanFrom, unsigned MaxInstsToScan=DefMaxInstsToScan, AliasAnalysis *AA=nullptr, bool *IsLoadCSE=nullptr) |
| | Scan backwards to see if we have the value of the given load available locally within a small number of instructions. More...
|
| |