LLVM 23.0.0git
SPIRVPrepareFunctions.cpp File Reference

Go to the source code of this file.

Functions

 INITIALIZE_PASS (SPIRVPrepareFunctionsLegacy, "spirv-prepare-functions", "SPIRV prepare functions", false, false) static std
static FunctiongetOrCreateFunction (Module *M, Type *RetTy, ArrayRef< Type * > ArgTypes, StringRef Name)
static bool lowerIntrinsicToFunction (IntrinsicInst *Intrinsic, const TargetTransformInfo &TTI)
static std::string getAnnotation (Value *AnnoVal, Value *OptAnnoVal)
static SmallVector< Metadata * > parseAnnotation (Value *I, const std::string &Anno, LLVMContext &Ctx, Type *Int32Ty)
static void lowerPtrAnnotation (IntrinsicInst *II)
static void lowerFunnelShifts (IntrinsicInst *FSHIntrinsic)
static void lowerConstrainedFPCmpIntrinsic (ConstrainedFPCmpIntrinsic *ConstrainedCmpIntrinsic, SmallVector< Instruction * > &EraseFromParent)
static void lowerExpectAssume (IntrinsicInst *II)
static bool toSpvLifetimeIntrinsic (IntrinsicInst *II, Intrinsic::ID NewID)
static void lowerConstrainedFmuladd (IntrinsicInst *II, SmallVector< Instruction * > &EraseFromParent)
static void addFunctionTypeMutation (NamedMDNode *NMD, SmallVector< std::pair< int, Type * > > ChangedTys, StringRef Name, StringRef AsmConstraints="")
static bool isAbortKHRBuiltin (const Function &F)
static void rewriteAbortKHRCall (CallInst *CI)
static std::string fixMultiOutputConstraintString (StringRef Constraints)

Function Documentation

◆ addFunctionTypeMutation()

◆ fixMultiOutputConstraintString()

◆ getAnnotation()

std::string getAnnotation ( Value * AnnoVal,
Value * OptAnnoVal )
static

◆ getOrCreateFunction()

◆ INITIALIZE_PASS()

INITIALIZE_PASS ( SPIRVPrepareFunctionsLegacy ,
"spirv-prepare-functions" ,
"SPIRV prepare functions" ,
false ,
false  )

◆ isAbortKHRBuiltin()

bool isAbortKHRBuiltin ( const Function & F)
static

◆ lowerConstrainedFmuladd()

void lowerConstrainedFmuladd ( IntrinsicInst * II,
SmallVector< Instruction * > & EraseFromParent )
static

◆ lowerConstrainedFPCmpIntrinsic()

◆ lowerExpectAssume()

void lowerExpectAssume ( IntrinsicInst * II)
static

◆ lowerFunnelShifts()

◆ lowerIntrinsicToFunction()

◆ lowerPtrAnnotation()

◆ parseAnnotation()

◆ rewriteAbortKHRCall()

◆ toSpvLifetimeIntrinsic()

bool toSpvLifetimeIntrinsic ( IntrinsicInst * II,
Intrinsic::ID NewID )
static

Definition at line 400 of file SPIRVPrepareFunctions.cpp.

References llvm::cast(), II, llvm::isa(), and Size.