LLVM: lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp File Reference (original) (raw)

This pass does misc. More...

Go to the source code of this file.

Macros
#define DEBUG_TYPE "amdgpu-codegenprepare"
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()

extractValues()

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