LLVM: lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp File Reference (original) (raw)
This pass does misc. More...
Go to the source code of this file.
| Functions |
|
| static void |
extractValues (IRBuilder<> &Builder, SmallVectorImpl< Value * > &Values, Value *V) |
| static Value * |
insertValues (IRBuilder<> &Builder, Type *Ty, SmallVectorImpl< Value * > &Values) |
| static SelectInst * |
findSelectThroughCast (Value *V, CastInst *&Cast) |
| static Value * |
emitRsqIEEE1ULP (IRBuilder<> &Builder, Value *Src, bool IsNegative) |
|
Emit an expansion of 1.0 / sqrt(Src) good for 1ulp that supports denormals. |
| static std::pair< Value *, Value * > |
getMul64 (IRBuilder<> &Builder, Value *LHS, Value *RHS) |
| static Value * |
getMulHu (IRBuilder<> &Builder, Value *LHS, Value *RHS) |
| static Value * |
getSign32 (Value *V, IRBuilder<> &Builder, const DataLayout DL) |
| static bool |
areInSameBB (const Value *A, const Value *B) |
| static bool |
isInterestingPHIIncomingValue (const Value *V) |
| static void |
collectPHINodes (const PHINode &I, SmallPtrSet< const PHINode *, 8 > &SeenPHIs) |
| static bool |
isPtrKnownNeverNull (const Value *V, const DataLayout &DL, const AMDGPUTargetMachine &TM, unsigned AS) |
|
INITIALIZE_PASS_BEGIN (AMDGPUCodeGenPrepare, DEBUG_TYPE, "AMDGPU IR optimizations", false, false) INITIALIZE_PASS_END(AMDGPUCodeGenPrepare |
This pass does misc.
AMDGPU optimizations on IR before instruction selection.
Definition in file AMDGPUCodeGenPrepare.cpp.
◆ DEBUG_TYPE
#define DEBUG_TYPE "amdgpu-codegenprepare"
◆ areInSameBB()
◆ collectPHINodes()
◆ emitRsqIEEE1ULP()
◆ findSelectThroughCast()
◆ getMul64()
◆ getMulHu()
◆ getSign32()
◆ INITIALIZE_PASS_BEGIN()
| INITIALIZE_PASS_BEGIN |
( |
AMDGPUCodeGenPrepare |
, |
| DEBUG_TYPE |
, |
|
|
| "AMDGPU IR optimizations" |
, |
|
|
| false |
, |
|
|
| false |
) |
|
|
◆ insertValues()
◆ isInterestingPHIIncomingValue()
◆ isPtrKnownNeverNull()
◆ DEBUG_TYPE
◆ false
◆ optimizations