| 
|   | BuilderTy (BasicBlock *TheBB, BasicBlock::iterator IP, TargetFolder Folder) | 
|   | IRBuilder (LLVMContext &C, TargetFolder Folder, IRBuilderDefaultInserter Inserter, MDNode *FPMathTag=nullptr, ArrayRef< OperandBundleDef > OpBundles={}) | 
| IRBuilderDefaultInserter &  | getInserter () | 
|   | 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.  
  |