| 
    LLVM 22.0.0git
    
   | 
 
#include "llvm/Transforms/Utils/Instrumentation.h"
Public Member Functions | |
| InstrumentationIRBuilder (Instruction *IP) | |
| InstrumentationIRBuilder (BasicBlock *BB, BasicBlock::iterator It) | |
| Public Member Functions inherited from llvm::IRBuilder< FolderTy, InserterTy > | |
| IRBuilder (LLVMContext &C, FolderTy Folder, InserterTy Inserter, MDNode *FPMathTag=nullptr, ArrayRef< OperandBundleDef > OpBundles={}) | |
| IRBuilder (LLVMContext &C, FolderTy Folder, MDNode *FPMathTag=nullptr, ArrayRef< OperandBundleDef > OpBundles={}) | |
| IRBuilder (LLVMContext &C, MDNode *FPMathTag=nullptr, ArrayRef< OperandBundleDef > OpBundles={}) | |
| IRBuilder (BasicBlock *TheBB, FolderTy Folder, MDNode *FPMathTag=nullptr, ArrayRef< OperandBundleDef > OpBundles={}) | |
| IRBuilder (BasicBlock *TheBB, MDNode *FPMathTag=nullptr, ArrayRef< OperandBundleDef > OpBundles={}) | |
| IRBuilder (Instruction *IP, MDNode *FPMathTag=nullptr, ArrayRef< OperandBundleDef > OpBundles={}) | |
| IRBuilder (BasicBlock *TheBB, BasicBlock::iterator IP, FolderTy Folder, MDNode *FPMathTag=nullptr, ArrayRef< OperandBundleDef > OpBundles={}) | |
| IRBuilder (BasicBlock *TheBB, BasicBlock::iterator IP, MDNode *FPMathTag=nullptr, ArrayRef< OperandBundleDef > OpBundles={}) | |
| IRBuilder (const IRBuilder &)=delete | |
| Avoid copying the full IRBuilder.   | |
| InserterTy & | getInserter () | 
| const InserterTy & | getInserter () const | 
| Public Member Functions inherited from llvm::IRBuilderBase | |
| IRBuilderBase (LLVMContext &context, const IRBuilderFolder &Folder, const IRBuilderDefaultInserter &Inserter, MDNode *FPMathTag, ArrayRef< OperandBundleDef > OpBundles) | |
| template<typename InstTy> | |
| InstTy * | Insert (InstTy *I, const Twine &Name="") const | 
| Insert and return the specified instruction.   | |
| Constant * | Insert (Constant *C, const Twine &="") const | 
| No-op overload to handle constants.   | |
| Value * | Insert (Value *V, const Twine &Name="") const | 
| void | ClearInsertionPoint () | 
| Clear the insertion point: created instructions will not be inserted into a block.   | |
| BasicBlock * | GetInsertBlock () const | 
| BasicBlock::iterator | GetInsertPoint () const | 
| LLVMContext & | getContext () const | 
| void | SetInsertPoint (BasicBlock *TheBB) | 
| This specifies that created instructions should be appended to the end of the specified block.   | |
| void | SetInsertPoint (Instruction *I) | 
| This specifies that created instructions should be inserted before the specified instruction.   | |
| void | SetInsertPoint (BasicBlock *TheBB, BasicBlock::iterator IP) | 
| This specifies that created instructions should be inserted at the specified point.   | |
| void | SetInsertPoint (BasicBlock::iterator IP) | 
This specifies that created instructions should be inserted at the specified point, but also requires that IP is dereferencable.   | |
| void | SetInsertPointPastAllocas (Function *F) | 
| This specifies that created instructions should inserted at the beginning end of the specified function, but after already existing static alloca instructions that are at the start.   | |
| void | SetCurrentDebugLocation (DebugLoc L) | 
| Set location information used by debugging information.   | |
| void | SetNoSanitizeMetadata () | 
| Set nosanitize metadata.   | |
| void | CollectMetadataToCopy (Instruction *Src, ArrayRef< unsigned > MetadataKinds) | 
Collect metadata with IDs MetadataKinds from Src which should be added to all created instructions.   | |
| LLVM_ABI DebugLoc | getCurrentDebugLocation () const | 
| Get location information used by debugging information.   | |
| LLVM_ABI void | SetInstDebugLocation (Instruction *I) const | 
| If this builder has a current debug location, set it on the specified instruction.   | |
| void | AddMetadataToInst (Instruction *I) const | 
Add all entries in MetadataToCopy to I.   | |
| LLVM_ABI Type * | getCurrentFunctionReturnType () const | 
| Get the return type of the current function that we're emitting into.   | |
| InsertPoint | saveIP () const | 
| Returns the current insert point.   | |
| InsertPoint | saveAndClearIP () | 
| Returns the current insert point, clearing it in the process.   | |
| void | restoreIP (InsertPoint IP) | 
| Sets the current insert point to a previously-saved location.   | |
| MDNode * | getDefaultFPMathTag () const | 
| Get the floating point math metadata being used.   | |
| FastMathFlags | getFastMathFlags () const | 
| Get the flags to be applied to created floating point ops.   | |
| FastMathFlags & | getFastMathFlags () | 
| void | clearFastMathFlags () | 
| Clear the fast-math flags.   | |
| void | setDefaultFPMathTag (MDNode *FPMathTag) | 
| Set the floating point math metadata to be used.   | |
| void | setFastMathFlags (FastMathFlags NewFMF) | 
| Set the fast-math flags to be used with generated fp-math operators.   | |
| void | setIsFPConstrained (bool IsCon) | 
| Enable/Disable use of constrained floating point math.   | |
| bool | getIsFPConstrained () | 
| Query for the use of constrained floating point math.   | |
| void | setDefaultConstrainedExcept (fp::ExceptionBehavior NewExcept) | 
| Set the exception handling to be used with constrained floating point.   | |
| void | setDefaultConstrainedRounding (RoundingMode NewRounding) | 
| Set the rounding mode handling to be used with constrained floating point.   | |
| fp::ExceptionBehavior | getDefaultConstrainedExcept () | 
| Get the exception handling used with constrained floating point.   | |
| RoundingMode | getDefaultConstrainedRounding () | 
| Get the rounding mode handling used with constrained floating point.   | |
| void | setConstrainedFPFunctionAttr () | 
| void | setConstrainedFPCallAttr (CallBase *I) | 
| void | setDefaultOperandBundles (ArrayRef< OperandBundleDef > OpBundles) | 
| LLVM_ABI GlobalVariable * | CreateGlobalString (StringRef Str, const Twine &Name="", unsigned AddressSpace=0, Module *M=nullptr, bool AddNull=true) | 
| Make a new global variable with initializer type i8*.   | |
| ConstantInt * | getInt1 (bool V) | 
| Get a constant value representing either true or false.   | |
| ConstantInt * | getTrue () | 
| Get the constant value for i1 true.   | |
| ConstantInt * | getFalse () | 
| Get the constant value for i1 false.   | |
| ConstantInt * | getInt8 (uint8_t C) | 
| Get a constant 8-bit value.   | |
| ConstantInt * | getInt16 (uint16_t C) | 
| Get a constant 16-bit value.   | |
| ConstantInt * | getInt32 (uint32_t C) | 
| Get a constant 32-bit value.   | |
| ConstantInt * | getInt64 (uint64_t C) | 
| Get a constant 64-bit value.   | |
| ConstantInt * | getIntN (unsigned N, uint64_t C) | 
| Get a constant N-bit value, zero extended or truncated from a 64-bit value.   | |
| ConstantInt * | getInt (const APInt &AI) | 
| Get a constant integer value.   | |
| IntegerType * | getInt1Ty () | 
| Fetch the type representing a single bit.   | |
| IntegerType * | getInt8Ty () | 
| Fetch the type representing an 8-bit integer.   | |
| IntegerType * | getInt16Ty () | 
| Fetch the type representing a 16-bit integer.   | |
| IntegerType * | getInt32Ty () | 
| Fetch the type representing a 32-bit integer.   | |
| IntegerType * | getInt64Ty () | 
| Fetch the type representing a 64-bit integer.   | |
| IntegerType * | getInt128Ty () | 
| Fetch the type representing a 128-bit integer.   | |
| IntegerType * | getIntNTy (unsigned N) | 
| Fetch the type representing an N-bit integer.   | |
| Type * | getHalfTy () | 
| Fetch the type representing a 16-bit floating point value.   | |
| Type * | getBFloatTy () | 
| Fetch the type representing a 16-bit brain floating point value.   | |
| Type * | getFloatTy () | 
| Fetch the type representing a 32-bit floating point value.   | |
| Type * | getDoubleTy () | 
| Fetch the type representing a 64-bit floating point value.   | |
| Type * | getVoidTy () | 
| Fetch the type representing void.   | |
| PointerType * | getPtrTy (unsigned AddrSpace=0) | 
| Fetch the type representing a pointer.   | |
| IntegerType * | getIntPtrTy (const DataLayout &DL, unsigned AddrSpace=0) | 
| Fetch the type of an integer with size at least as big as that of a pointer in the given address space.   | |
| IntegerType * | getIndexTy (const DataLayout &DL, unsigned AddrSpace) | 
| Fetch the type of an integer that should be used to index GEP operations within AddressSpace.   | |
| CallInst * | CreateMemSet (Value *Ptr, Value *Val, uint64_t Size, MaybeAlign Align, bool isVolatile=false, const AAMDNodes &AAInfo=AAMDNodes()) | 
| Create and insert a memset to the specified pointer and the specified value.   | |
| LLVM_ABI CallInst * | CreateMemSet (Value *Ptr, Value *Val, Value *Size, MaybeAlign Align, bool isVolatile=false, const AAMDNodes &AAInfo=AAMDNodes()) | 
| LLVM_ABI CallInst * | CreateMemSetInline (Value *Dst, MaybeAlign DstAlign, Value *Val, Value *Size, bool IsVolatile=false, const AAMDNodes &AAInfo=AAMDNodes()) | 
| CallInst * | CreateElementUnorderedAtomicMemSet (Value *Ptr, Value *Val, uint64_t Size, Align Alignment, uint32_t ElementSize, const AAMDNodes &AAInfo=AAMDNodes()) | 
| Create and insert an element unordered-atomic memset of the region of memory starting at the given pointer to the given value.   | |
| LLVM_ABI CallInst * | CreateMalloc (Type *IntPtrTy, Type *AllocTy, Value *AllocSize, Value *ArraySize, ArrayRef< OperandBundleDef > OpB, Function *MallocF=nullptr, const Twine &Name="") | 
| LLVM_ABI CallInst * | CreateMalloc (Type *IntPtrTy, Type *AllocTy, Value *AllocSize, Value *ArraySize, Function *MallocF=nullptr, const Twine &Name="") | 
| CreateMalloc - Generate the IR for a call to malloc:   | |
| LLVM_ABI CallInst * | CreateFree (Value *Source, ArrayRef< OperandBundleDef > Bundles={}) | 
| Generate the IR for a call to the builtin free function.   | |
| LLVM_ABI CallInst * | CreateElementUnorderedAtomicMemSet (Value *Ptr, Value *Val, Value *Size, Align Alignment, uint32_t ElementSize, const AAMDNodes &AAInfo=AAMDNodes()) | 
| CallInst * | CreateMemCpy (Value *Dst, MaybeAlign DstAlign, Value *Src, MaybeAlign SrcAlign, uint64_t Size, bool isVolatile=false, const AAMDNodes &AAInfo=AAMDNodes()) | 
| Create and insert a memcpy between the specified pointers.   | |
| LLVM_ABI CallInst * | CreateMemTransferInst (Intrinsic::ID IntrID, Value *Dst, MaybeAlign DstAlign, Value *Src, MaybeAlign SrcAlign, Value *Size, bool isVolatile=false, const AAMDNodes &AAInfo=AAMDNodes()) | 
| CallInst * | CreateMemCpy (Value *Dst, MaybeAlign DstAlign, Value *Src, MaybeAlign SrcAlign, Value *Size, bool isVolatile=false, const AAMDNodes &AAInfo=AAMDNodes()) | 
| CallInst * | CreateMemCpyInline (Value *Dst, MaybeAlign DstAlign, Value *Src, MaybeAlign SrcAlign, Value *Size, bool isVolatile=false, const AAMDNodes &AAInfo=AAMDNodes()) | 
| LLVM_ABI CallInst * | CreateElementUnorderedAtomicMemCpy (Value *Dst, Align DstAlign, Value *Src, Align SrcAlign, Value *Size, uint32_t ElementSize, const AAMDNodes &AAInfo=AAMDNodes()) | 
| Create and insert an element unordered-atomic memcpy between the specified pointers.   | |
| CallInst * | CreateMemMove (Value *Dst, MaybeAlign DstAlign, Value *Src, MaybeAlign SrcAlign, uint64_t Size, bool isVolatile=false, const AAMDNodes &AAInfo=AAMDNodes()) | 
| CallInst * | CreateMemMove (Value *Dst, MaybeAlign DstAlign, Value *Src, MaybeAlign SrcAlign, Value *Size, bool isVolatile=false, const AAMDNodes &AAInfo=AAMDNodes()) | 
| LLVM_ABI CallInst * | CreateElementUnorderedAtomicMemMove (Value *Dst, Align DstAlign, Value *Src, Align SrcAlign, Value *Size, uint32_t ElementSize, const AAMDNodes &AAInfo=AAMDNodes()) | 
| Create and insert an element unordered-atomic memmove between the specified pointers.   | |
| LLVM_ABI CallInst * | CreateFAddReduce (Value *Acc, Value *Src) | 
| Create a sequential vector fadd reduction intrinsic of the source vector.   | |
| LLVM_ABI CallInst * | CreateFMulReduce (Value *Acc, Value *Src) | 
| Create a sequential vector fmul reduction intrinsic of the source vector.   | |
| LLVM_ABI CallInst * | CreateAddReduce (Value *Src) | 
| Create a vector int add reduction intrinsic of the source vector.   | |
| LLVM_ABI CallInst * | CreateMulReduce (Value *Src) | 
| Create a vector int mul reduction intrinsic of the source vector.   | |
| LLVM_ABI CallInst * | CreateAndReduce (Value *Src) | 
| Create a vector int AND reduction intrinsic of the source vector.   | |
| LLVM_ABI CallInst * | CreateOrReduce (Value *Src) | 
| Create a vector int OR reduction intrinsic of the source vector.   | |
| LLVM_ABI CallInst * | CreateXorReduce (Value *Src) | 
| Create a vector int XOR reduction intrinsic of the source vector.   | |
| LLVM_ABI CallInst * | CreateIntMaxReduce (Value *Src, bool IsSigned=false) | 
| Create a vector integer max reduction intrinsic of the source vector.   | |
| LLVM_ABI CallInst * | CreateIntMinReduce (Value *Src, bool IsSigned=false) | 
| Create a vector integer min reduction intrinsic of the source vector.   | |
| LLVM_ABI CallInst * | CreateFPMaxReduce (Value *Src) | 
| Create a vector float max reduction intrinsic of the source vector.   | |
| LLVM_ABI CallInst * | CreateFPMinReduce (Value *Src) | 
| Create a vector float min reduction intrinsic of the source vector.   | |
| LLVM_ABI CallInst * | CreateFPMaximumReduce (Value *Src) | 
| Create a vector float maximum reduction intrinsic of the source vector.   | |
| LLVM_ABI CallInst * | CreateFPMinimumReduce (Value *Src) | 
| Create a vector float minimum reduction intrinsic of the source vector.   | |
| LLVM_ABI CallInst * | CreateLifetimeStart (Value *Ptr) | 
| Create a lifetime.start intrinsic.   | |
| LLVM_ABI CallInst * | CreateLifetimeEnd (Value *Ptr) | 
| Create a lifetime.end intrinsic.   | |
| LLVM_ABI CallInst * | CreateInvariantStart (Value *Ptr, ConstantInt *Size=nullptr) | 
| Create a call to invariant.start intrinsic.   | |
| LLVM_ABI CallInst * | CreateThreadLocalAddress (Value *Ptr) | 
| Create a call to llvm.threadlocal.address intrinsic.   | |
| LLVM_ABI CallInst * | CreateMaskedLoad (Type *Ty, Value *Ptr, Align Alignment, Value *Mask, Value *PassThru=nullptr, const Twine &Name="") | 
| Create a call to Masked Load intrinsic.   | |
| LLVM_ABI CallInst * | CreateMaskedStore (Value *Val, Value *Ptr, Align Alignment, Value *Mask) | 
| Create a call to Masked Store intrinsic.   | |
| LLVM_ABI CallInst * | CreateMaskedGather (Type *Ty, Value *Ptrs, Align Alignment, Value *Mask=nullptr, Value *PassThru=nullptr, const Twine &Name="") | 
| Create a call to Masked Gather intrinsic.   | |
| LLVM_ABI CallInst * | CreateMaskedScatter (Value *Val, Value *Ptrs, Align Alignment, Value *Mask=nullptr) | 
| Create a call to Masked Scatter intrinsic.   | |
| LLVM_ABI CallInst * | CreateMaskedExpandLoad (Type *Ty, Value *Ptr, MaybeAlign Align, Value *Mask=nullptr, Value *PassThru=nullptr, const Twine &Name="") | 
| Create a call to Masked Expand Load intrinsic.   | |
| LLVM_ABI CallInst * | CreateMaskedCompressStore (Value *Val, Value *Ptr, MaybeAlign Align, Value *Mask=nullptr) | 
| Create a call to Masked Compress Store intrinsic.   | |
| Value * | getAllOnesMask (ElementCount NumElts) | 
Return an all true boolean vector (mask) with NumElts lanes.   | |
| LLVM_ABI CallInst * | CreateAssumption (Value *Cond, ArrayRef< OperandBundleDef > OpBundles={}) | 
| Create an assume intrinsic call that allows the optimizer to assume that the provided condition will be true.   | |
| LLVM_ABI Instruction * | CreateNoAliasScopeDeclaration (Value *Scope) | 
| Create a llvm.experimental.noalias.scope.decl intrinsic call.   | |
| Instruction * | CreateNoAliasScopeDeclaration (MDNode *ScopeTag) | 
| LLVM_ABI CallInst * | CreateGCStatepointCall (uint64_t ID, uint32_t NumPatchBytes, FunctionCallee ActualCallee, ArrayRef< Value * > CallArgs, std::optional< ArrayRef< Value * > > DeoptArgs, ArrayRef< Value * > GCArgs, const Twine &Name="") | 
| Create a call to the experimental.gc.statepoint intrinsic to start a new statepoint sequence.   | |
| LLVM_ABI CallInst * | CreateGCStatepointCall (uint64_t ID, uint32_t NumPatchBytes, FunctionCallee ActualCallee, uint32_t Flags, ArrayRef< Value * > CallArgs, std::optional< ArrayRef< Use > > TransitionArgs, std::optional< ArrayRef< Use > > DeoptArgs, ArrayRef< Value * > GCArgs, const Twine &Name="") | 
| Create a call to the experimental.gc.statepoint intrinsic to start a new statepoint sequence.   | |
| LLVM_ABI CallInst * | CreateGCStatepointCall (uint64_t ID, uint32_t NumPatchBytes, FunctionCallee ActualCallee, ArrayRef< Use > CallArgs, std::optional< ArrayRef< Value * > > DeoptArgs, ArrayRef< Value * > GCArgs, const Twine &Name="") | 
| Conveninence function for the common case when CallArgs are filled in using ArrayRef(CS.arg_begin(), CS.arg_end()); Use needs to be .get()'ed to get the Value pointer.   | |
| LLVM_ABI InvokeInst * | CreateGCStatepointInvoke (uint64_t ID, uint32_t NumPatchBytes, FunctionCallee ActualInvokee, BasicBlock *NormalDest, BasicBlock *UnwindDest, ArrayRef< Value * > InvokeArgs, std::optional< ArrayRef< Value * > > DeoptArgs, ArrayRef< Value * > GCArgs, const Twine &Name="") | 
| Create an invoke to the experimental.gc.statepoint intrinsic to start a new statepoint sequence.   | |
| LLVM_ABI InvokeInst * | CreateGCStatepointInvoke (uint64_t ID, uint32_t NumPatchBytes, FunctionCallee ActualInvokee, BasicBlock *NormalDest, BasicBlock *UnwindDest, uint32_t Flags, ArrayRef< Value * > InvokeArgs, std::optional< ArrayRef< Use > > TransitionArgs, std::optional< ArrayRef< Use > > DeoptArgs, ArrayRef< Value * > GCArgs, const Twine &Name="") | 
| Create an invoke to the experimental.gc.statepoint intrinsic to start a new statepoint sequence.   | |
| LLVM_ABI InvokeInst * | CreateGCStatepointInvoke (uint64_t ID, uint32_t NumPatchBytes, FunctionCallee ActualInvokee, BasicBlock *NormalDest, BasicBlock *UnwindDest, ArrayRef< Use > InvokeArgs, std::optional< ArrayRef< Value * > > DeoptArgs, ArrayRef< Value * > GCArgs, const Twine &Name="") | 
| LLVM_ABI CallInst * | CreateGCResult (Instruction *Statepoint, Type *ResultType, const Twine &Name="") | 
| Create a call to the experimental.gc.result intrinsic to extract the result from a call wrapped in a statepoint.   | |
| LLVM_ABI CallInst * | CreateGCRelocate (Instruction *Statepoint, int BaseOffset, int DerivedOffset, Type *ResultType, const Twine &Name="") | 
| Create a call to the experimental.gc.relocate intrinsics to project the relocated value of one pointer from the statepoint.   | |
| LLVM_ABI CallInst * | CreateGCGetPointerBase (Value *DerivedPtr, const Twine &Name="") | 
| Create a call to the experimental.gc.pointer.base intrinsic to get the base pointer for the specified derived pointer.   | |
| LLVM_ABI CallInst * | CreateGCGetPointerOffset (Value *DerivedPtr, const Twine &Name="") | 
| Create a call to the experimental.gc.get.pointer.offset intrinsic to get the offset of the specified derived pointer from its base.   | |
| Value * | CreateVScale (Type *Ty, const Twine &Name="") | 
| Create a call to llvm.vscale.<Ty>().   | |
| LLVM_ABI Value * | CreateElementCount (Type *Ty, ElementCount EC) | 
Create an expression which evaluates to the number of elements in EC at runtime.   | |
| LLVM_ABI Value * | CreateTypeSize (Type *Ty, TypeSize Size) | 
Create an expression which evaluates to the number of units in Size at runtime.   | |
| LLVM_ABI Value * | CreateStepVector (Type *DstType, const Twine &Name="") | 
Creates a vector of type DstType with the linear sequence <0, 1, ...>   | |
| LLVM_ABI CallInst * | CreateUnaryIntrinsic (Intrinsic::ID ID, Value *V, FMFSource FMFSource={}, const Twine &Name="") | 
Create a call to intrinsic ID with 1 operand which is mangled on its type.   | |
| LLVM_ABI Value * | CreateBinaryIntrinsic (Intrinsic::ID ID, Value *LHS, Value *RHS, FMFSource FMFSource={}, const Twine &Name="") | 
Create a call to intrinsic ID with 2 operands which is mangled on the first type.   | |
| LLVM_ABI CallInst * | CreateIntrinsic (Intrinsic::ID ID, ArrayRef< Type * > Types, ArrayRef< Value * > Args, FMFSource FMFSource={}, const Twine &Name="") | 
Create a call to intrinsic ID with Args, mangled using Types.   | |
| LLVM_ABI CallInst * | CreateIntrinsic (Type *RetTy, Intrinsic::ID ID, ArrayRef< Value * > Args, FMFSource FMFSource={}, const Twine &Name="") | 
Create a call to intrinsic ID with RetTy and Args.   | |
| CallInst * | CreateIntrinsic (Intrinsic::ID ID, ArrayRef< Value * > Args, FMFSource FMFSource={}, const Twine &Name="") | 
Create a call to non-overloaded intrinsic ID with Args.   | |
| Value * | CreateMinNum (Value *LHS, Value *RHS, FMFSource FMFSource={}, const Twine &Name="") | 
| Create call to the minnum intrinsic.   | |
| Value * | CreateMaxNum (Value *LHS, Value *RHS, FMFSource FMFSource={}, const Twine &Name="") | 
| Create call to the maxnum intrinsic.   | |
| Value * | CreateMinimum (Value *LHS, Value *RHS, const Twine &Name="") | 
| Create call to the minimum intrinsic.   | |
| Value * | CreateMaximum (Value *LHS, Value *RHS, const Twine &Name="") | 
| Create call to the maximum intrinsic.   | |
| Value * | CreateMinimumNum (Value *LHS, Value *RHS, const Twine &Name="") | 
| Create call to the minimumnum intrinsic.   | |
| Value * | CreateMaximumNum (Value *LHS, Value *RHS, const Twine &Name="") | 
| Create call to the maximum intrinsic.   | |
| Value * | CreateCopySign (Value *LHS, Value *RHS, FMFSource FMFSource={}, const Twine &Name="") | 
| Create call to the copysign intrinsic.   | |
| Value * | CreateLdexp (Value *Src, Value *Exp, FMFSource FMFSource={}, const Twine &Name="") | 
| Create call to the ldexp intrinsic.   | |
| Value * | CreateFMA (Value *Factor1, Value *Factor2, Value *Summand, FMFSource FMFSource={}, const Twine &Name="") | 
| Create call to the fma intrinsic.   | |
| CallInst * | CreateArithmeticFence (Value *Val, Type *DstType, const Twine &Name="") | 
| Create a call to the arithmetic_fence intrinsic.   | |
| CallInst * | CreateExtractVector (Type *DstType, Value *SrcVec, Value *Idx, const Twine &Name="") | 
| Create a call to the vector.extract intrinsic.   | |
| CallInst * | CreateExtractVector (Type *DstType, Value *SrcVec, uint64_t Idx, const Twine &Name="") | 
| Create a call to the vector.extract intrinsic.   | |
| CallInst * | CreateInsertVector (Type *DstType, Value *SrcVec, Value *SubVec, Value *Idx, const Twine &Name="") | 
| Create a call to the vector.insert intrinsic.   | |
| CallInst * | CreateInsertVector (Type *DstType, Value *SrcVec, Value *SubVec, uint64_t Idx, const Twine &Name="") | 
| Create a call to the vector.extract intrinsic.   | |
| CallInst * | CreateStackSave (const Twine &Name="") | 
| Create a call to llvm.stacksave.   | |
| CallInst * | CreateStackRestore (Value *Ptr, const Twine &Name="") | 
| Create a call to llvm.stackrestore.   | |
| Value * | CreateCountTrailingZeroElems (Type *ResTy, Value *Mask, bool ZeroIsPoison=true, const Twine &Name="") | 
| Create a call to llvm.experimental_cttz_elts.   | |
| ReturnInst * | CreateRetVoid () | 
| Create a 'ret void' instruction.   | |
| ReturnInst * | CreateRet (Value *V) | 
| Create a 'ret <val>' instruction.   | |
| ReturnInst * | CreateAggregateRet (Value *const *retVals, unsigned N) | 
| Create a sequence of N insertvalue instructions, with one Value from the retVals array each, that build a aggregate return value one value at a time, and a ret instruction to return the resulting aggregate value.   | |
| BranchInst * | CreateBr (BasicBlock *Dest) | 
| Create an unconditional 'br label X' instruction.   | |
| BranchInst * | CreateCondBr (Value *Cond, BasicBlock *True, BasicBlock *False, MDNode *BranchWeights=nullptr, MDNode *Unpredictable=nullptr) | 
| Create a conditional 'br Cond, TrueDest, FalseDest' instruction.   | |
| BranchInst * | CreateCondBr (Value *Cond, BasicBlock *True, BasicBlock *False, Instruction *MDSrc) | 
| Create a conditional 'br Cond, TrueDest, FalseDest' instruction.   | |
| SwitchInst * | CreateSwitch (Value *V, BasicBlock *Dest, unsigned NumCases=10, MDNode *BranchWeights=nullptr, MDNode *Unpredictable=nullptr) | 
| Create a switch instruction with the specified value, default dest, and with a hint for the number of cases that will be added (for efficient allocation).   | |
| IndirectBrInst * | CreateIndirectBr (Value *Addr, unsigned NumDests=10) | 
| Create an indirect branch instruction with the specified address operand, with an optional hint for the number of destinations that will be added (for efficient allocation).   | |
| InvokeInst * | CreateInvoke (FunctionType *Ty, Value *Callee, BasicBlock *NormalDest, BasicBlock *UnwindDest, ArrayRef< Value * > Args, ArrayRef< OperandBundleDef > OpBundles, const Twine &Name="") | 
| Create an invoke instruction.   | |
| InvokeInst * | CreateInvoke (FunctionType *Ty, Value *Callee, BasicBlock *NormalDest, BasicBlock *UnwindDest, ArrayRef< Value * > Args={}, const Twine &Name="") | 
| InvokeInst * | CreateInvoke (FunctionCallee Callee, BasicBlock *NormalDest, BasicBlock *UnwindDest, ArrayRef< Value * > Args, ArrayRef< OperandBundleDef > OpBundles, const Twine &Name="") | 
| InvokeInst * | CreateInvoke (FunctionCallee Callee, BasicBlock *NormalDest, BasicBlock *UnwindDest, ArrayRef< Value * > Args={}, const Twine &Name="") | 
| CallBrInst * | CreateCallBr (FunctionType *Ty, Value *Callee, BasicBlock *DefaultDest, ArrayRef< BasicBlock * > IndirectDests, ArrayRef< Value * > Args={}, const Twine &Name="") | 
| Create a callbr instruction.   | |
| CallBrInst * | CreateCallBr (FunctionType *Ty, Value *Callee, BasicBlock *DefaultDest, ArrayRef< BasicBlock * > IndirectDests, ArrayRef< Value * > Args, ArrayRef< OperandBundleDef > OpBundles, const Twine &Name="") | 
| CallBrInst * | CreateCallBr (FunctionCallee Callee, BasicBlock *DefaultDest, ArrayRef< BasicBlock * > IndirectDests, ArrayRef< Value * > Args={}, const Twine &Name="") | 
| CallBrInst * | CreateCallBr (FunctionCallee Callee, BasicBlock *DefaultDest, ArrayRef< BasicBlock * > IndirectDests, ArrayRef< Value * > Args, ArrayRef< OperandBundleDef > OpBundles, const Twine &Name="") | 
| ResumeInst * | CreateResume (Value *Exn) | 
| CleanupReturnInst * | CreateCleanupRet (CleanupPadInst *CleanupPad, BasicBlock *UnwindBB=nullptr) | 
| CatchSwitchInst * | CreateCatchSwitch (Value *ParentPad, BasicBlock *UnwindBB, unsigned NumHandlers, const Twine &Name="") | 
| CatchPadInst * | CreateCatchPad (Value *ParentPad, ArrayRef< Value * > Args, const Twine &Name="") | 
| CleanupPadInst * | CreateCleanupPad (Value *ParentPad, ArrayRef< Value * > Args={}, const Twine &Name="") | 
| CatchReturnInst * | CreateCatchRet (CatchPadInst *CatchPad, BasicBlock *BB) | 
| UnreachableInst * | CreateUnreachable () | 
| Value * | CreateAdd (Value *LHS, Value *RHS, const Twine &Name="", bool HasNUW=false, bool HasNSW=false) | 
| Value * | CreateNSWAdd (Value *LHS, Value *RHS, const Twine &Name="") | 
| Value * | CreateNUWAdd (Value *LHS, Value *RHS, const Twine &Name="") | 
| Value * | CreateSub (Value *LHS, Value *RHS, const Twine &Name="", bool HasNUW=false, bool HasNSW=false) | 
| Value * | CreateNSWSub (Value *LHS, Value *RHS, const Twine &Name="") | 
| Value * | CreateNUWSub (Value *LHS, Value *RHS, const Twine &Name="") | 
| Value * | CreateMul (Value *LHS, Value *RHS, const Twine &Name="", bool HasNUW=false, bool HasNSW=false) | 
| Value * | CreateNSWMul (Value *LHS, Value *RHS, const Twine &Name="") | 
| Value * | CreateNUWMul (Value *LHS, Value *RHS, const Twine &Name="") | 
| Value * | CreateUDiv (Value *LHS, Value *RHS, const Twine &Name="", bool isExact=false) | 
| Value * | CreateExactUDiv (Value *LHS, Value *RHS, const Twine &Name="") | 
| Value * | CreateSDiv (Value *LHS, Value *RHS, const Twine &Name="", bool isExact=false) | 
| Value * | CreateExactSDiv (Value *LHS, Value *RHS, const Twine &Name="") | 
| Value * | CreateURem (Value *LHS, Value *RHS, const Twine &Name="") | 
| Value * | CreateSRem (Value *LHS, Value *RHS, const Twine &Name="") | 
| Value * | CreateShl (Value *LHS, Value *RHS, const Twine &Name="", bool HasNUW=false, bool HasNSW=false) | 
| Value * | CreateShl (Value *LHS, const APInt &RHS, const Twine &Name="", bool HasNUW=false, bool HasNSW=false) | 
| Value * | CreateShl (Value *LHS, uint64_t RHS, const Twine &Name="", bool HasNUW=false, bool HasNSW=false) | 
| Value * | CreateLShr (Value *LHS, Value *RHS, const Twine &Name="", bool isExact=false) | 
| Value * | CreateLShr (Value *LHS, const APInt &RHS, const Twine &Name="", bool isExact=false) | 
| Value * | CreateLShr (Value *LHS, uint64_t RHS, const Twine &Name="", bool isExact=false) | 
| Value * | CreateAShr (Value *LHS, Value *RHS, const Twine &Name="", bool isExact=false) | 
| Value * | CreateAShr (Value *LHS, const APInt &RHS, const Twine &Name="", bool isExact=false) | 
| Value * | CreateAShr (Value *LHS, uint64_t RHS, const Twine &Name="", bool isExact=false) | 
| Value * | CreateAnd (Value *LHS, Value *RHS, const Twine &Name="") | 
| Value * | CreateAnd (Value *LHS, const APInt &RHS, const Twine &Name="") | 
| Value * | CreateAnd (Value *LHS, uint64_t RHS, const Twine &Name="") | 
| Value * | CreateAnd (ArrayRef< Value * > Ops) | 
| Value * | CreateOr (Value *LHS, Value *RHS, const Twine &Name="", bool IsDisjoint=false) | 
| Value * | CreateOr (Value *LHS, const APInt &RHS, const Twine &Name="") | 
| Value * | CreateOr (Value *LHS, uint64_t RHS, const Twine &Name="") | 
| Value * | CreateOr (ArrayRef< Value * > Ops) | 
| Value * | CreateXor (Value *LHS, Value *RHS, const Twine &Name="") | 
| Value * | CreateXor (Value *LHS, const APInt &RHS, const Twine &Name="") | 
| Value * | CreateXor (Value *LHS, uint64_t RHS, const Twine &Name="") | 
| Value * | CreateFAdd (Value *L, Value *R, const Twine &Name="", MDNode *FPMD=nullptr) | 
| Value * | CreateFAddFMF (Value *L, Value *R, FMFSource FMFSource, const Twine &Name="", MDNode *FPMD=nullptr) | 
| Value * | CreateFSub (Value *L, Value *R, const Twine &Name="", MDNode *FPMD=nullptr) | 
| Value * | CreateFSubFMF (Value *L, Value *R, FMFSource FMFSource, const Twine &Name="", MDNode *FPMD=nullptr) | 
| Value * | CreateFMul (Value *L, Value *R, const Twine &Name="", MDNode *FPMD=nullptr) | 
| Value * | CreateFMulFMF (Value *L, Value *R, FMFSource FMFSource, const Twine &Name="", MDNode *FPMD=nullptr) | 
| Value * | CreateFDiv (Value *L, Value *R, const Twine &Name="", MDNode *FPMD=nullptr) | 
| Value * | CreateFDivFMF (Value *L, Value *R, FMFSource FMFSource, const Twine &Name="", MDNode *FPMD=nullptr) | 
| Value * | CreateFRem (Value *L, Value *R, const Twine &Name="", MDNode *FPMD=nullptr) | 
| Value * | CreateFRemFMF (Value *L, Value *R, FMFSource FMFSource, const Twine &Name="", MDNode *FPMD=nullptr) | 
| Value * | CreateBinOp (Instruction::BinaryOps Opc, Value *LHS, Value *RHS, const Twine &Name="", MDNode *FPMathTag=nullptr) | 
| Value * | CreateBinOpFMF (Instruction::BinaryOps Opc, Value *LHS, Value *RHS, FMFSource FMFSource, const Twine &Name="", MDNode *FPMathTag=nullptr) | 
| Value * | CreateLogicalAnd (Value *Cond1, Value *Cond2, const Twine &Name="", Instruction *MDFrom=nullptr) | 
| Value * | CreateLogicalOr (Value *Cond1, Value *Cond2, const Twine &Name="", Instruction *MDFrom=nullptr) | 
| Value * | CreateLogicalOp (Instruction::BinaryOps Opc, Value *Cond1, Value *Cond2, const Twine &Name="") | 
| Value * | CreateLogicalOr (ArrayRef< Value * > Ops) | 
| LLVM_ABI CallInst * | CreateConstrainedFPIntrinsic (Intrinsic::ID ID, ArrayRef< Type * > Types, ArrayRef< Value * > Args, FMFSource FMFSource, const Twine &Name, MDNode *FPMathTag=nullptr, std::optional< RoundingMode > Rounding=std::nullopt, std::optional< fp::ExceptionBehavior > Except=std::nullopt) | 
| This function is like CreateIntrinsic for constrained fp intrinsics.   | |
| LLVM_ABI CallInst * | CreateConstrainedFPBinOp (Intrinsic::ID ID, Value *L, Value *R, FMFSource FMFSource={}, const Twine &Name="", MDNode *FPMathTag=nullptr, std::optional< RoundingMode > Rounding=std::nullopt, std::optional< fp::ExceptionBehavior > Except=std::nullopt) | 
| LLVM_ABI CallInst * | CreateConstrainedFPUnroundedBinOp (Intrinsic::ID ID, Value *L, Value *R, FMFSource FMFSource={}, const Twine &Name="", MDNode *FPMathTag=nullptr, std::optional< fp::ExceptionBehavior > Except=std::nullopt) | 
| Value * | CreateNeg (Value *V, const Twine &Name="", bool HasNSW=false) | 
| Value * | CreateNSWNeg (Value *V, const Twine &Name="") | 
| Value * | CreateFNeg (Value *V, const Twine &Name="", MDNode *FPMathTag=nullptr) | 
| Value * | CreateFNegFMF (Value *V, FMFSource FMFSource, const Twine &Name="", MDNode *FPMathTag=nullptr) | 
| Value * | CreateNot (Value *V, const Twine &Name="") | 
| Value * | CreateUnOp (Instruction::UnaryOps Opc, Value *V, const Twine &Name="", MDNode *FPMathTag=nullptr) | 
| LLVM_ABI Value * | CreateNAryOp (unsigned Opc, ArrayRef< Value * > Ops, const Twine &Name="", MDNode *FPMathTag=nullptr) | 
Create either a UnaryOperator or BinaryOperator depending on Opc.   | |
| AllocaInst * | CreateAlloca (Type *Ty, unsigned AddrSpace, Value *ArraySize=nullptr, const Twine &Name="") | 
| AllocaInst * | CreateAlloca (Type *Ty, Value *ArraySize=nullptr, const Twine &Name="") | 
| LoadInst * | CreateLoad (Type *Ty, Value *Ptr, const char *Name) | 
| Provided to resolve 'CreateLoad(Ty, Ptr, "...")' correctly, instead of converting the string to 'bool' for the isVolatile parameter.   | |
| LoadInst * | CreateLoad (Type *Ty, Value *Ptr, const Twine &Name="") | 
| LoadInst * | CreateLoad (Type *Ty, Value *Ptr, bool isVolatile, const Twine &Name="") | 
| StoreInst * | CreateStore (Value *Val, Value *Ptr, bool isVolatile=false) | 
| LoadInst * | CreateAlignedLoad (Type *Ty, Value *Ptr, MaybeAlign Align, const char *Name) | 
| LoadInst * | CreateAlignedLoad (Type *Ty, Value *Ptr, MaybeAlign Align, const Twine &Name="") | 
| LoadInst * | CreateAlignedLoad (Type *Ty, Value *Ptr, MaybeAlign Align, bool isVolatile, const Twine &Name="") | 
| StoreInst * | CreateAlignedStore (Value *Val, Value *Ptr, MaybeAlign Align, bool isVolatile=false) | 
| FenceInst * | CreateFence (AtomicOrdering Ordering, SyncScope::ID SSID=SyncScope::System, const Twine &Name="") | 
| AtomicCmpXchgInst * | CreateAtomicCmpXchg (Value *Ptr, Value *Cmp, Value *New, MaybeAlign Align, AtomicOrdering SuccessOrdering, AtomicOrdering FailureOrdering, SyncScope::ID SSID=SyncScope::System) | 
| AtomicRMWInst * | CreateAtomicRMW (AtomicRMWInst::BinOp Op, Value *Ptr, Value *Val, MaybeAlign Align, AtomicOrdering Ordering, SyncScope::ID SSID=SyncScope::System) | 
| Value * | CreateGEP (Type *Ty, Value *Ptr, ArrayRef< Value * > IdxList, const Twine &Name="", GEPNoWrapFlags NW=GEPNoWrapFlags::none()) | 
| Value * | CreateInBoundsGEP (Type *Ty, Value *Ptr, ArrayRef< Value * > IdxList, const Twine &Name="") | 
| Value * | CreateConstGEP1_32 (Type *Ty, Value *Ptr, unsigned Idx0, const Twine &Name="") | 
| Value * | CreateConstInBoundsGEP1_32 (Type *Ty, Value *Ptr, unsigned Idx0, const Twine &Name="") | 
| Value * | CreateConstGEP2_32 (Type *Ty, Value *Ptr, unsigned Idx0, unsigned Idx1, const Twine &Name="", GEPNoWrapFlags NWFlags=GEPNoWrapFlags::none()) | 
| Value * | CreateConstInBoundsGEP2_32 (Type *Ty, Value *Ptr, unsigned Idx0, unsigned Idx1, const Twine &Name="") | 
| Value * | CreateConstGEP1_64 (Type *Ty, Value *Ptr, uint64_t Idx0, const Twine &Name="") | 
| Value * | CreateConstInBoundsGEP1_64 (Type *Ty, Value *Ptr, uint64_t Idx0, const Twine &Name="") | 
| Value * | CreateConstGEP2_64 (Type *Ty, Value *Ptr, uint64_t Idx0, uint64_t Idx1, const Twine &Name="") | 
| Value * | CreateConstInBoundsGEP2_64 (Type *Ty, Value *Ptr, uint64_t Idx0, uint64_t Idx1, const Twine &Name="") | 
| Value * | CreateStructGEP (Type *Ty, Value *Ptr, unsigned Idx, const Twine &Name="") | 
| Value * | CreatePtrAdd (Value *Ptr, Value *Offset, const Twine &Name="", GEPNoWrapFlags NW=GEPNoWrapFlags::none()) | 
| Value * | CreateInBoundsPtrAdd (Value *Ptr, Value *Offset, const Twine &Name="") | 
| Constant * | CreateGlobalStringPtr (StringRef Str, const Twine &Name="", unsigned AddressSpace=0, Module *M=nullptr, bool AddNull=true) | 
| Same as CreateGlobalString, but return a pointer with "i8*" type instead of a pointer to array of i8.   | |
| Value * | CreateTrunc (Value *V, Type *DestTy, const Twine &Name="", bool IsNUW=false, bool IsNSW=false) | 
| Value * | CreateZExt (Value *V, Type *DestTy, const Twine &Name="", bool IsNonNeg=false) | 
| Value * | CreateSExt (Value *V, Type *DestTy, const Twine &Name="") | 
| Value * | CreateZExtOrTrunc (Value *V, Type *DestTy, const Twine &Name="") | 
| Create a ZExt or Trunc from the integer value V to DestTy.   | |
| Value * | CreateSExtOrTrunc (Value *V, Type *DestTy, const Twine &Name="") | 
| Create a SExt or Trunc from the integer value V to DestTy.   | |
| Value * | CreateFPToUI (Value *V, Type *DestTy, const Twine &Name="") | 
| Value * | CreateFPToSI (Value *V, Type *DestTy, const Twine &Name="") | 
| Value * | CreateUIToFP (Value *V, Type *DestTy, const Twine &Name="", bool IsNonNeg=false) | 
| Value * | CreateSIToFP (Value *V, Type *DestTy, const Twine &Name="") | 
| Value * | CreateFPTrunc (Value *V, Type *DestTy, const Twine &Name="", MDNode *FPMathTag=nullptr) | 
| Value * | CreateFPTruncFMF (Value *V, Type *DestTy, FMFSource FMFSource, const Twine &Name="", MDNode *FPMathTag=nullptr) | 
| Value * | CreateFPExt (Value *V, Type *DestTy, const Twine &Name="", MDNode *FPMathTag=nullptr) | 
| Value * | CreateFPExtFMF (Value *V, Type *DestTy, FMFSource FMFSource, const Twine &Name="", MDNode *FPMathTag=nullptr) | 
| Value * | CreatePtrToAddr (Value *V, const Twine &Name="") | 
| Value * | CreatePtrToInt (Value *V, Type *DestTy, const Twine &Name="") | 
| Value * | CreateIntToPtr (Value *V, Type *DestTy, const Twine &Name="") | 
| Value * | CreateBitCast (Value *V, Type *DestTy, const Twine &Name="") | 
| Value * | CreateAddrSpaceCast (Value *V, Type *DestTy, const Twine &Name="") | 
| Value * | CreateZExtOrBitCast (Value *V, Type *DestTy, const Twine &Name="") | 
| Value * | CreateSExtOrBitCast (Value *V, Type *DestTy, const Twine &Name="") | 
| Value * | CreateTruncOrBitCast (Value *V, Type *DestTy, const Twine &Name="") | 
| Value * | CreateCast (Instruction::CastOps Op, Value *V, Type *DestTy, const Twine &Name="", MDNode *FPMathTag=nullptr, FMFSource FMFSource={}) | 
| Value * | CreatePointerCast (Value *V, Type *DestTy, const Twine &Name="") | 
| Value * | CreatePointerBitCastOrAddrSpaceCast (Value *V, Type *DestTy, const Twine &Name="") | 
| Value * | CreateIntCast (Value *V, Type *DestTy, bool isSigned, const Twine &Name="") | 
| Value * | CreateBitOrPointerCast (Value *V, Type *DestTy, const Twine &Name="") | 
| Value * | CreateFPCast (Value *V, Type *DestTy, const Twine &Name="", MDNode *FPMathTag=nullptr) | 
| LLVM_ABI CallInst * | CreateConstrainedFPCast (Intrinsic::ID ID, Value *V, Type *DestTy, FMFSource FMFSource={}, const Twine &Name="", MDNode *FPMathTag=nullptr, std::optional< RoundingMode > Rounding=std::nullopt, std::optional< fp::ExceptionBehavior > Except=std::nullopt) | 
| Value * | CreateIntCast (Value *, Type *, const char *)=delete | 
| LLVM_ABI Value * | CreateAggregateCast (Value *V, Type *DestTy) | 
| Cast between aggregate types that must have identical structure but may differ in their leaf types.   | |
| Value * | CreateICmpEQ (Value *LHS, Value *RHS, const Twine &Name="") | 
| Value * | CreateICmpNE (Value *LHS, Value *RHS, const Twine &Name="") | 
| Value * | CreateICmpUGT (Value *LHS, Value *RHS, const Twine &Name="") | 
| Value * | CreateICmpUGE (Value *LHS, Value *RHS, const Twine &Name="") | 
| Value * | CreateICmpULT (Value *LHS, Value *RHS, const Twine &Name="") | 
| Value * | CreateICmpULE (Value *LHS, Value *RHS, const Twine &Name="") | 
| Value * | CreateICmpSGT (Value *LHS, Value *RHS, const Twine &Name="") | 
| Value * | CreateICmpSGE (Value *LHS, Value *RHS, const Twine &Name="") | 
| Value * | CreateICmpSLT (Value *LHS, Value *RHS, const Twine &Name="") | 
| Value * | CreateICmpSLE (Value *LHS, Value *RHS, const Twine &Name="") | 
| Value * | CreateFCmpOEQ (Value *LHS, Value *RHS, const Twine &Name="", MDNode *FPMathTag=nullptr) | 
| Value * | CreateFCmpOGT (Value *LHS, Value *RHS, const Twine &Name="", MDNode *FPMathTag=nullptr) | 
| Value * | CreateFCmpOGE (Value *LHS, Value *RHS, const Twine &Name="", MDNode *FPMathTag=nullptr) | 
| Value * | CreateFCmpOLT (Value *LHS, Value *RHS, const Twine &Name="", MDNode *FPMathTag=nullptr) | 
| Value * | CreateFCmpOLE (Value *LHS, Value *RHS, const Twine &Name="", MDNode *FPMathTag=nullptr) | 
| Value * | CreateFCmpONE (Value *LHS, Value *RHS, const Twine &Name="", MDNode *FPMathTag=nullptr) | 
| Value * | CreateFCmpORD (Value *LHS, Value *RHS, const Twine &Name="", MDNode *FPMathTag=nullptr) | 
| Value * | CreateFCmpUNO (Value *LHS, Value *RHS, const Twine &Name="", MDNode *FPMathTag=nullptr) | 
| Value * | CreateFCmpUEQ (Value *LHS, Value *RHS, const Twine &Name="", MDNode *FPMathTag=nullptr) | 
| Value * | CreateFCmpUGT (Value *LHS, Value *RHS, const Twine &Name="", MDNode *FPMathTag=nullptr) | 
| Value * | CreateFCmpUGE (Value *LHS, Value *RHS, const Twine &Name="", MDNode *FPMathTag=nullptr) | 
| Value * | CreateFCmpULT (Value *LHS, Value *RHS, const Twine &Name="", MDNode *FPMathTag=nullptr) | 
| Value * | CreateFCmpULE (Value *LHS, Value *RHS, const Twine &Name="", MDNode *FPMathTag=nullptr) | 
| Value * | CreateFCmpUNE (Value *LHS, Value *RHS, const Twine &Name="", MDNode *FPMathTag=nullptr) | 
| Value * | CreateICmp (CmpInst::Predicate P, Value *LHS, Value *RHS, const Twine &Name="") | 
| Value * | CreateFCmp (CmpInst::Predicate P, Value *LHS, Value *RHS, const Twine &Name="", MDNode *FPMathTag=nullptr) | 
| Value * | CreateFCmpFMF (CmpInst::Predicate P, Value *LHS, Value *RHS, FMFSource FMFSource, const Twine &Name="", MDNode *FPMathTag=nullptr) | 
| Value * | CreateCmp (CmpInst::Predicate Pred, Value *LHS, Value *RHS, const Twine &Name="", MDNode *FPMathTag=nullptr) | 
| Value * | CreateFCmpS (CmpInst::Predicate P, Value *LHS, Value *RHS, const Twine &Name="", MDNode *FPMathTag=nullptr) | 
| LLVM_ABI CallInst * | CreateConstrainedFPCmp (Intrinsic::ID ID, CmpInst::Predicate P, Value *L, Value *R, const Twine &Name="", std::optional< fp::ExceptionBehavior > Except=std::nullopt) | 
| PHINode * | CreatePHI (Type *Ty, unsigned NumReservedValues, const Twine &Name="") | 
| CallInst * | CreateCall (FunctionType *FTy, Value *Callee, ArrayRef< Value * > Args={}, const Twine &Name="", MDNode *FPMathTag=nullptr) | 
| CallInst * | CreateCall (FunctionType *FTy, Value *Callee, ArrayRef< Value * > Args, ArrayRef< OperandBundleDef > OpBundles, const Twine &Name="", MDNode *FPMathTag=nullptr) | 
| CallInst * | CreateCall (FunctionCallee Callee, ArrayRef< Value * > Args={}, const Twine &Name="", MDNode *FPMathTag=nullptr) | 
| CallInst * | CreateCall (FunctionCallee Callee, ArrayRef< Value * > Args, ArrayRef< OperandBundleDef > OpBundles, const Twine &Name="", MDNode *FPMathTag=nullptr) | 
| LLVM_ABI CallInst * | CreateConstrainedFPCall (Function *Callee, ArrayRef< Value * > Args, const Twine &Name="", std::optional< RoundingMode > Rounding=std::nullopt, std::optional< fp::ExceptionBehavior > Except=std::nullopt) | 
| LLVM_ABI Value * | CreateSelectWithUnknownProfile (Value *C, Value *True, Value *False, StringRef PassName, const Twine &Name="") | 
| LLVM_ABI Value * | CreateSelect (Value *C, Value *True, Value *False, const Twine &Name="", Instruction *MDFrom=nullptr) | 
| LLVM_ABI Value * | CreateSelectFMF (Value *C, Value *True, Value *False, FMFSource FMFSource, const Twine &Name="", Instruction *MDFrom=nullptr) | 
| VAArgInst * | CreateVAArg (Value *List, Type *Ty, const Twine &Name="") | 
| Value * | CreateExtractElement (Value *Vec, Value *Idx, const Twine &Name="") | 
| Value * | CreateExtractElement (Value *Vec, uint64_t Idx, const Twine &Name="") | 
| Value * | CreateInsertElement (Type *VecTy, Value *NewElt, Value *Idx, const Twine &Name="") | 
| Value * | CreateInsertElement (Type *VecTy, Value *NewElt, uint64_t Idx, const Twine &Name="") | 
| Value * | CreateInsertElement (Value *Vec, Value *NewElt, Value *Idx, const Twine &Name="") | 
| Value * | CreateInsertElement (Value *Vec, Value *NewElt, uint64_t Idx, const Twine &Name="") | 
| Value * | CreateShuffleVector (Value *V1, Value *V2, Value *Mask, const Twine &Name="") | 
| Value * | CreateShuffleVector (Value *V1, Value *V2, ArrayRef< int > Mask, const Twine &Name="") | 
| See class ShuffleVectorInst for a description of the mask representation.   | |
| Value * | CreateShuffleVector (Value *V, ArrayRef< int > Mask, const Twine &Name="") | 
| Create a unary shuffle.   | |
| LLVM_ABI Value * | CreateVectorInterleave (ArrayRef< Value * > Ops, const Twine &Name="") | 
| Value * | CreateExtractValue (Value *Agg, ArrayRef< unsigned > Idxs, const Twine &Name="") | 
| Value * | CreateInsertValue (Value *Agg, Value *Val, ArrayRef< unsigned > Idxs, const Twine &Name="") | 
| LandingPadInst * | CreateLandingPad (Type *Ty, unsigned NumClauses, const Twine &Name="") | 
| Value * | CreateFreeze (Value *V, const Twine &Name="") | 
| Value * | CreateIsNull (Value *Arg, const Twine &Name="") | 
Return a boolean value testing if Arg == 0.   | |
| Value * | CreateIsNotNull (Value *Arg, const Twine &Name="") | 
Return a boolean value testing if Arg != 0.   | |
| Value * | CreateIsNeg (Value *Arg, const Twine &Name="") | 
Return a boolean value testing if Arg < 0.   | |
| Value * | CreateIsNotNeg (Value *Arg, const Twine &Name="") | 
Return a boolean value testing if Arg > -1.   | |
| LLVM_ABI Value * | CreatePtrDiff (Type *ElemTy, Value *LHS, Value *RHS, const Twine &Name="") | 
| Return the i64 difference between two pointer values, dividing out the size of the pointed-to objects.   | |
| LLVM_ABI Value * | CreateLaunderInvariantGroup (Value *Ptr) | 
| Create a launder.invariant.group intrinsic call.   | |
| LLVM_ABI Value * | CreateStripInvariantGroup (Value *Ptr) | 
| Create a strip.invariant.group intrinsic call.   | |
| LLVM_ABI Value * | CreateVectorReverse (Value *V, const Twine &Name="") | 
| Return a vector value that contains the vector V reversed.   | |
| LLVM_ABI Value * | CreateVectorSplice (Value *V1, Value *V2, int64_t Imm, const Twine &Name="") | 
| Return a vector splice intrinsic if using scalable vectors, otherwise return a shufflevector.   | |
| LLVM_ABI Value * | CreateVectorSplat (unsigned NumElts, Value *V, const Twine &Name="") | 
| Return a vector value that contains.   | |
| LLVM_ABI Value * | CreateVectorSplat (ElementCount EC, Value *V, const Twine &Name="") | 
| Return a vector value that contains.   | |
| LLVM_ABI Value * | CreatePreserveArrayAccessIndex (Type *ElTy, Value *Base, unsigned Dimension, unsigned LastIndex, MDNode *DbgInfo) | 
| LLVM_ABI Value * | CreatePreserveUnionAccessIndex (Value *Base, unsigned FieldIndex, MDNode *DbgInfo) | 
| LLVM_ABI Value * | CreatePreserveStructAccessIndex (Type *ElTy, Value *Base, unsigned Index, unsigned FieldIndex, MDNode *DbgInfo) | 
| LLVM_ABI Value * | createIsFPClass (Value *FPNum, unsigned Test) | 
| LLVM_ABI CallInst * | CreateAlignmentAssumption (const DataLayout &DL, Value *PtrValue, unsigned Alignment, Value *OffsetValue=nullptr) | 
| Create an assume intrinsic call that represents an alignment assumption on the provided pointer.   | |
| LLVM_ABI CallInst * | CreateAlignmentAssumption (const DataLayout &DL, Value *PtrValue, Value *Alignment, Value *OffsetValue=nullptr) | 
| Create an assume intrinsic call that represents an alignment assumption on the provided pointer.   | |
| LLVM_ABI CallInst * | CreateDereferenceableAssumption (Value *PtrValue, Value *SizeValue) | 
| Create an assume intrinsic call that represents an dereferencable assumption on the provided pointer.   | |
Static Public Member Functions | |
| static void | ensureDebugInfo (IRBuilder<> &IRB, const Function &F) | 
Additional Inherited Members | |
| Protected Attributes inherited from llvm::IRBuilderBase | |
| BasicBlock * | BB | 
| BasicBlock::iterator | InsertPt | 
| LLVMContext & | Context | 
| const IRBuilderFolder & | Folder | 
| const IRBuilderDefaultInserter & | Inserter | 
| MDNode * | DefaultFPMathTag | 
| FastMathFlags | FMF | 
| bool | IsFPConstrained = false | 
| fp::ExceptionBehavior | DefaultConstrainedExcept = fp::ebStrict | 
| RoundingMode | DefaultConstrainedRounding = RoundingMode::Dynamic | 
| ArrayRef< OperandBundleDef > | DefaultOperandBundles | 
Definition at line 179 of file Instrumentation.h.
      
  | 
  inlineexplicit | 
Definition at line 187 of file Instrumentation.h.
References ensureDebugInfo(), llvm::Instruction::getFunction(), and llvm::IRBuilder< FolderTy, InserterTy >::IRBuilder().
      
  | 
  inlineexplicit | 
Definition at line 191 of file Instrumentation.h.
References llvm::IRBuilderBase::BB, ensureDebugInfo(), and llvm::IRBuilder< FolderTy, InserterTy >::IRBuilder().
      
  | 
  inlinestatic | 
Definition at line 180 of file Instrumentation.h.
References F, llvm::MDNode::get(), llvm::IRBuilderBase::getCurrentDebugLocation(), llvm::IRBuilder< FolderTy, InserterTy >::IRBuilder(), and llvm::IRBuilderBase::SetCurrentDebugLocation().
Referenced by InstrumentationIRBuilder(), and InstrumentationIRBuilder().