LLVM 20.0.0git |
Common base class shared among various IRBuilders.More...
#include "llvm/IR/IRBuilder.h"
Classes | |
class | FastMathFlagGuard |
class | InsertPoint |
InsertPoint - A saved insertion point.More... | |
class | InsertPointGuard |
class | OperandBundlesGuard |
Public Member Functions | |
IRBuilderBase (LLVMContext &context,constIRBuilderFolder &Folder,constIRBuilderDefaultInserter &Inserter,MDNode *FPMathTag,ArrayRef<OperandBundleDef > OpBundles) | |
template<typename InstTy > | |
InstTy * | Insert (InstTy *I,constTwine &Name="")const |
Insert and return the specified instruction. | |
Constant * | Insert (Constant *C,constTwine &="")const |
No-op overload to handle constants. | |
Value * | Insert (Value *V,constTwine &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 thatIP 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 IDsMetadataKinds fromSrc which should be added to all created instructions. | |
DebugLoc | getCurrentDebugLocation ()const |
Get location information used by debugging information. | |
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 toI . | |
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) |
GlobalVariable * | CreateGlobalString (StringRef Str,constTwine &Name="",unsignedAddressSpace=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_tC) |
Get a constant 8-bit value. | |
ConstantInt * | getInt16 (uint16_tC) |
Get a constant 16-bit value. | |
ConstantInt * | getInt32 (uint32_tC) |
Get a constant 32-bit value. | |
ConstantInt * | getInt64 (uint64_tC) |
Get a constant 64-bit value. | |
ConstantInt * | getIntN (unsignedN,uint64_tC) |
Get a constant N-bit value, zero extended or truncated from a 64-bit value. | |
ConstantInt * | getInt (constAPInt &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 (unsignedN) |
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 (constDataLayout &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 (constDataLayout &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_tSize,MaybeAlignAlign,bool isVolatile=false,MDNode *TBAATag=nullptr,MDNode *ScopeTag=nullptr,MDNode *NoAliasTag=nullptr) |
Create and insert a memset to the specified pointer and the specified value. | |
CallInst * | CreateMemSet (Value *Ptr,Value *Val,Value *Size,MaybeAlignAlign,bool isVolatile=false,MDNode *TBAATag=nullptr,MDNode *ScopeTag=nullptr,MDNode *NoAliasTag=nullptr) |
CallInst * | CreateMemSetInline (Value *Dst,MaybeAlign DstAlign,Value *Val,Value *Size,bool IsVolatile=false,MDNode *TBAATag=nullptr,MDNode *ScopeTag=nullptr,MDNode *NoAliasTag=nullptr) |
CallInst * | CreateElementUnorderedAtomicMemSet (Value *Ptr,Value *Val,uint64_tSize,Align Alignment,uint32_t ElementSize,MDNode *TBAATag=nullptr,MDNode *ScopeTag=nullptr,MDNode *NoAliasTag=nullptr) |
Create and insert an element unordered-atomic memset of the region of memory starting at the given pointer to the given value. | |
CallInst * | CreateMalloc (Type *IntPtrTy,Type *AllocTy,Value *AllocSize,Value *ArraySize,ArrayRef<OperandBundleDef > OpB,Function *MallocF=nullptr,constTwine &Name="") |
CallInst * | CreateMalloc (Type *IntPtrTy,Type *AllocTy,Value *AllocSize,Value *ArraySize,Function *MallocF=nullptr,constTwine &Name="") |
CreateMalloc - Generate the IR for a call to malloc: | |
CallInst * | CreateFree (Value *Source,ArrayRef<OperandBundleDef > Bundles={}) |
Generate the IR for a call to the builtin free function. | |
CallInst * | CreateElementUnorderedAtomicMemSet (Value *Ptr,Value *Val,Value *Size,Align Alignment,uint32_t ElementSize,MDNode *TBAATag=nullptr,MDNode *ScopeTag=nullptr,MDNode *NoAliasTag=nullptr) |
CallInst * | CreateMemCpy (Value *Dst,MaybeAlign DstAlign,Value *Src,MaybeAlign SrcAlign,uint64_tSize,bool isVolatile=false,MDNode *TBAATag=nullptr,MDNode *TBAAStructTag=nullptr,MDNode *ScopeTag=nullptr,MDNode *NoAliasTag=nullptr) |
Create and insert a memcpy between the specified pointers. | |
CallInst * | CreateMemTransferInst (Intrinsic::ID IntrID,Value *Dst,MaybeAlign DstAlign,Value *Src,MaybeAlign SrcAlign,Value *Size,bool isVolatile=false,MDNode *TBAATag=nullptr,MDNode *TBAAStructTag=nullptr,MDNode *ScopeTag=nullptr,MDNode *NoAliasTag=nullptr) |
CallInst * | CreateMemCpy (Value *Dst,MaybeAlign DstAlign,Value *Src,MaybeAlign SrcAlign,Value *Size,bool isVolatile=false,MDNode *TBAATag=nullptr,MDNode *TBAAStructTag=nullptr,MDNode *ScopeTag=nullptr,MDNode *NoAliasTag=nullptr) |
CallInst * | CreateMemCpyInline (Value *Dst,MaybeAlign DstAlign,Value *Src,MaybeAlign SrcAlign,Value *Size,bool isVolatile=false,MDNode *TBAATag=nullptr,MDNode *TBAAStructTag=nullptr,MDNode *ScopeTag=nullptr,MDNode *NoAliasTag=nullptr) |
CallInst * | CreateElementUnorderedAtomicMemCpy (Value *Dst,Align DstAlign,Value *Src,Align SrcAlign,Value *Size,uint32_t ElementSize,MDNode *TBAATag=nullptr,MDNode *TBAAStructTag=nullptr,MDNode *ScopeTag=nullptr,MDNode *NoAliasTag=nullptr) |
Create and insert an element unordered-atomic memcpy between the specified pointers. | |
CallInst * | CreateMemMove (Value *Dst,MaybeAlign DstAlign,Value *Src,MaybeAlign SrcAlign,uint64_tSize,bool isVolatile=false,MDNode *TBAATag=nullptr,MDNode *ScopeTag=nullptr,MDNode *NoAliasTag=nullptr) |
CallInst * | CreateMemMove (Value *Dst,MaybeAlign DstAlign,Value *Src,MaybeAlign SrcAlign,Value *Size,bool isVolatile=false,MDNode *TBAATag=nullptr,MDNode *ScopeTag=nullptr,MDNode *NoAliasTag=nullptr) |
CallInst * | CreateElementUnorderedAtomicMemMove (Value *Dst,Align DstAlign,Value *Src,Align SrcAlign,Value *Size,uint32_t ElementSize,MDNode *TBAATag=nullptr,MDNode *TBAAStructTag=nullptr,MDNode *ScopeTag=nullptr,MDNode *NoAliasTag=nullptr) |
Create and insert an element unordered-atomic memmove between the specified pointers. | |
CallInst * | CreateFAddReduce (Value *Acc,Value *Src) |
Create a sequential vector fadd reduction intrinsic of the source vector. | |
CallInst * | CreateFMulReduce (Value *Acc,Value *Src) |
Create a sequential vector fmul reduction intrinsic of the source vector. | |
CallInst * | CreateAddReduce (Value *Src) |
Create a vector int add reduction intrinsic of the source vector. | |
CallInst * | CreateMulReduce (Value *Src) |
Create a vector int mul reduction intrinsic of the source vector. | |
CallInst * | CreateAndReduce (Value *Src) |
Create a vector int AND reduction intrinsic of the source vector. | |
CallInst * | CreateOrReduce (Value *Src) |
Create a vector int OR reduction intrinsic of the source vector. | |
CallInst * | CreateXorReduce (Value *Src) |
Create a vector int XOR reduction intrinsic of the source vector. | |
CallInst * | CreateIntMaxReduce (Value *Src,bool IsSigned=false) |
Create a vector integer max reduction intrinsic of the source vector. | |
CallInst * | CreateIntMinReduce (Value *Src,bool IsSigned=false) |
Create a vector integer min reduction intrinsic of the source vector. | |
CallInst * | CreateFPMaxReduce (Value *Src) |
Create a vector float max reduction intrinsic of the source vector. | |
CallInst * | CreateFPMinReduce (Value *Src) |
Create a vector float min reduction intrinsic of the source vector. | |
CallInst * | CreateFPMaximumReduce (Value *Src) |
Create a vector float maximum reduction intrinsic of the source vector. | |
CallInst * | CreateFPMinimumReduce (Value *Src) |
Create a vector float minimum reduction intrinsic of the source vector. | |
CallInst * | CreateLifetimeStart (Value *Ptr,ConstantInt *Size=nullptr) |
Create a lifetime.start intrinsic. | |
CallInst * | CreateLifetimeEnd (Value *Ptr,ConstantInt *Size=nullptr) |
Create a lifetime.end intrinsic. | |
CallInst * | CreateInvariantStart (Value *Ptr,ConstantInt *Size=nullptr) |
Create a call to invariant.start intrinsic. | |
CallInst * | CreateThreadLocalAddress (Value *Ptr) |
Create a call to llvm.threadlocal.address intrinsic. | |
CallInst * | CreateMaskedLoad (Type *Ty,Value *Ptr,Align Alignment,Value *Mask,Value *PassThru=nullptr,constTwine &Name="") |
Create a call to Masked Load intrinsic. | |
CallInst * | CreateMaskedStore (Value *Val,Value *Ptr,Align Alignment,Value *Mask) |
Create a call to Masked Store intrinsic. | |
CallInst * | CreateMaskedGather (Type *Ty,Value *Ptrs,Align Alignment,Value *Mask=nullptr,Value *PassThru=nullptr,constTwine &Name="") |
Create a call to Masked Gather intrinsic. | |
CallInst * | CreateMaskedScatter (Value *Val,Value *Ptrs,Align Alignment,Value *Mask=nullptr) |
Create a call to Masked Scatter intrinsic. | |
CallInst * | CreateMaskedExpandLoad (Type *Ty,Value *Ptr,MaybeAlignAlign,Value *Mask=nullptr,Value *PassThru=nullptr,constTwine &Name="") |
Create a call to Masked Expand Load intrinsic. | |
CallInst * | CreateMaskedCompressStore (Value *Val,Value *Ptr,MaybeAlignAlign,Value *Mask=nullptr) |
Create a call to Masked Compress Store intrinsic. | |
Value * | getAllOnesMask (ElementCount NumElts) |
Return an all true boolean vector (mask) withNumElts lanes. | |
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. | |
Instruction * | CreateNoAliasScopeDeclaration (Value *Scope) |
Create a llvm.experimental.noalias.scope.decl intrinsic call. | |
Instruction * | CreateNoAliasScopeDeclaration (MDNode *ScopeTag) |
CallInst * | CreateGCStatepointCall (uint64_tID,uint32_t NumPatchBytes,FunctionCallee ActualCallee,ArrayRef<Value * > CallArgs, std::optional<ArrayRef<Value * > > DeoptArgs,ArrayRef<Value * > GCArgs,constTwine &Name="") |
Create a call to the experimental.gc.statepoint intrinsic to start a new statepoint sequence. | |
CallInst * | CreateGCStatepointCall (uint64_tID,uint32_t NumPatchBytes,FunctionCallee ActualCallee,uint32_t Flags,ArrayRef<Value * > CallArgs, std::optional<ArrayRef<Use > > TransitionArgs, std::optional<ArrayRef<Use > > DeoptArgs,ArrayRef<Value * > GCArgs,constTwine &Name="") |
Create a call to the experimental.gc.statepoint intrinsic to start a new statepoint sequence. | |
CallInst * | CreateGCStatepointCall (uint64_tID,uint32_t NumPatchBytes,FunctionCallee ActualCallee,ArrayRef<Use > CallArgs, std::optional<ArrayRef<Value * > > DeoptArgs,ArrayRef<Value * > GCArgs,constTwine &Name="") |
Conveninence function for the common case when CallArgs are filled in usingArrayRef(CS.arg_begin(), CS.arg_end());Use needs to be .get()'ed to get theValue pointer. | |
InvokeInst * | CreateGCStatepointInvoke (uint64_tID,uint32_t NumPatchBytes,FunctionCallee ActualInvokee,BasicBlock *NormalDest,BasicBlock *UnwindDest,ArrayRef<Value * > InvokeArgs, std::optional<ArrayRef<Value * > > DeoptArgs,ArrayRef<Value * > GCArgs,constTwine &Name="") |
Create an invoke to the experimental.gc.statepoint intrinsic to start a new statepoint sequence. | |
InvokeInst * | CreateGCStatepointInvoke (uint64_tID,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,constTwine &Name="") |
Create an invoke to the experimental.gc.statepoint intrinsic to start a new statepoint sequence. | |
InvokeInst * | CreateGCStatepointInvoke (uint64_tID,uint32_t NumPatchBytes,FunctionCallee ActualInvokee,BasicBlock *NormalDest,BasicBlock *UnwindDest,ArrayRef<Use > InvokeArgs, std::optional<ArrayRef<Value * > > DeoptArgs,ArrayRef<Value * > GCArgs,constTwine &Name="") |
CallInst * | CreateGCResult (Instruction *Statepoint,Type *ResultType,constTwine &Name="") |
Create a call to the experimental.gc.result intrinsic to extract the result from a call wrapped in a statepoint. | |
CallInst * | CreateGCRelocate (Instruction *Statepoint, int BaseOffset, int DerivedOffset,Type *ResultType,constTwine &Name="") |
Create a call to the experimental.gc.relocate intrinsics to project the relocated value of one pointer from the statepoint. | |
CallInst * | CreateGCGetPointerBase (Value *DerivedPtr,constTwine &Name="") |
Create a call to the experimental.gc.pointer.base intrinsic to get the base pointer for the specified derived pointer. | |
CallInst * | CreateGCGetPointerOffset (Value *DerivedPtr,constTwine &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 (Constant *Scaling,constTwine &Name="") |
Create a call to llvm.vscale, multiplied byScaling . | |
Value * | CreateElementCount (Type *DstType,ElementCount EC) |
Create an expression which evaluates to the number of elements inEC at runtime. | |
Value * | CreateTypeSize (Type *DstType,TypeSizeSize) |
Create an expression which evaluates to the number of units inSize at runtime. | |
Value * | CreateStepVector (Type *DstType,constTwine &Name="") |
Creates a vector of typeDstType with the linear sequence <0, 1, ...> | |
CallInst * | CreateUnaryIntrinsic (Intrinsic::IDID,Value *V,FMFSourceFMFSource={},constTwine &Name="") |
Create a call to intrinsicID with 1 operand which is mangled on its type. | |
Value * | CreateBinaryIntrinsic (Intrinsic::IDID,Value *LHS,Value *RHS,FMFSourceFMFSource={},constTwine &Name="") |
Create a call to intrinsicID with 2 operands which is mangled on the first type. | |
CallInst * | CreateIntrinsic (Intrinsic::IDID,ArrayRef<Type * > Types,ArrayRef<Value * > Args,FMFSourceFMFSource={},constTwine &Name="") |
Create a call to intrinsicID withArgs , mangled usingTypes . | |
CallInst * | CreateIntrinsic (Type *RetTy,Intrinsic::IDID,ArrayRef<Value * > Args,FMFSourceFMFSource={},constTwine &Name="") |
Create a call to intrinsicID withRetTy andArgs . | |
Value * | CreateMinNum (Value *LHS,Value *RHS,constTwine &Name="") |
Create call to the minnum intrinsic. | |
Value * | CreateMaxNum (Value *LHS,Value *RHS,constTwine &Name="") |
Create call to the maxnum intrinsic. | |
Value * | CreateMinimum (Value *LHS,Value *RHS,constTwine &Name="") |
Create call to the minimum intrinsic. | |
Value * | CreateMaximum (Value *LHS,Value *RHS,constTwine &Name="") |
Create call to the maximum intrinsic. | |
Value * | CreateMinimumNum (Value *LHS,Value *RHS,constTwine &Name="") |
Create call to the minimumnum intrinsic. | |
Value * | CreateMaximumNum (Value *LHS,Value *RHS,constTwine &Name="") |
Create call to the maximum intrinsic. | |
Value * | CreateCopySign (Value *LHS,Value *RHS,FMFSourceFMFSource={},constTwine &Name="") |
Create call to the copysign intrinsic. | |
Value * | CreateLdexp (Value *Src,Value *Exp,FMFSourceFMFSource={},constTwine &Name="") |
Create call to the ldexp intrinsic. | |
CallInst * | CreateArithmeticFence (Value *Val,Type *DstType,constTwine &Name="") |
Create a call to the arithmetic_fence intrinsic. | |
CallInst * | CreateExtractVector (Type *DstType,Value *SrcVec,Value *Idx,constTwine &Name="") |
Create a call to the vector.extract intrinsic. | |
CallInst * | CreateInsertVector (Type *DstType,Value *SrcVec,Value *SubVec,Value *Idx,constTwine &Name="") |
Create a call to the vector.insert intrinsic. | |
CallInst * | CreateStackSave (constTwine &Name="") |
Create a call to llvm.stacksave. | |
CallInst * | CreateStackRestore (Value *Ptr,constTwine &Name="") |
Create a call to llvm.stackrestore. | |
Value * | CreateCountTrailingZeroElems (Type *ResTy,Value *Mask,bool ZeroIsPoison=true,constTwine &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,unsignedN) |
Create a sequence of N insertvalue instructions, with oneValue 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,constTwine &Name="") |
Create an invoke instruction. | |
InvokeInst * | CreateInvoke (FunctionType *Ty,Value *Callee,BasicBlock *NormalDest,BasicBlock *UnwindDest,ArrayRef<Value * > Args={},constTwine &Name="") |
InvokeInst * | CreateInvoke (FunctionCallee Callee,BasicBlock *NormalDest,BasicBlock *UnwindDest,ArrayRef<Value * > Args,ArrayRef<OperandBundleDef > OpBundles,constTwine &Name="") |
InvokeInst * | CreateInvoke (FunctionCallee Callee,BasicBlock *NormalDest,BasicBlock *UnwindDest,ArrayRef<Value * > Args={},constTwine &Name="") |
CallBrInst * | CreateCallBr (FunctionType *Ty,Value *Callee,BasicBlock *DefaultDest,ArrayRef<BasicBlock * > IndirectDests,ArrayRef<Value * > Args={},constTwine &Name="") |
Create a callbr instruction. | |
CallBrInst * | CreateCallBr (FunctionType *Ty,Value *Callee,BasicBlock *DefaultDest,ArrayRef<BasicBlock * > IndirectDests,ArrayRef<Value * > Args,ArrayRef<OperandBundleDef > OpBundles,constTwine &Name="") |
CallBrInst * | CreateCallBr (FunctionCallee Callee,BasicBlock *DefaultDest,ArrayRef<BasicBlock * > IndirectDests,ArrayRef<Value * > Args={},constTwine &Name="") |
CallBrInst * | CreateCallBr (FunctionCallee Callee,BasicBlock *DefaultDest,ArrayRef<BasicBlock * > IndirectDests,ArrayRef<Value * > Args,ArrayRef<OperandBundleDef > OpBundles,constTwine &Name="") |
ResumeInst * | CreateResume (Value *Exn) |
CleanupReturnInst * | CreateCleanupRet (CleanupPadInst *CleanupPad,BasicBlock *UnwindBB=nullptr) |
CatchSwitchInst * | CreateCatchSwitch (Value *ParentPad,BasicBlock *UnwindBB,unsigned NumHandlers,constTwine &Name="") |
CatchPadInst * | CreateCatchPad (Value *ParentPad,ArrayRef<Value * > Args,constTwine &Name="") |
CleanupPadInst * | CreateCleanupPad (Value *ParentPad,ArrayRef<Value * > Args={},constTwine &Name="") |
CatchReturnInst * | CreateCatchRet (CatchPadInst *CatchPad,BasicBlock *BB) |
UnreachableInst * | CreateUnreachable () |
Value * | CreateAdd (Value *LHS,Value *RHS,constTwine &Name="",bool HasNUW=false,bool HasNSW=false) |
Value * | CreateNSWAdd (Value *LHS,Value *RHS,constTwine &Name="") |
Value * | CreateNUWAdd (Value *LHS,Value *RHS,constTwine &Name="") |
Value * | CreateSub (Value *LHS,Value *RHS,constTwine &Name="",bool HasNUW=false,bool HasNSW=false) |
Value * | CreateNSWSub (Value *LHS,Value *RHS,constTwine &Name="") |
Value * | CreateNUWSub (Value *LHS,Value *RHS,constTwine &Name="") |
Value * | CreateMul (Value *LHS,Value *RHS,constTwine &Name="",bool HasNUW=false,bool HasNSW=false) |
Value * | CreateNSWMul (Value *LHS,Value *RHS,constTwine &Name="") |
Value * | CreateNUWMul (Value *LHS,Value *RHS,constTwine &Name="") |
Value * | CreateUDiv (Value *LHS,Value *RHS,constTwine &Name="",bool isExact=false) |
Value * | CreateExactUDiv (Value *LHS,Value *RHS,constTwine &Name="") |
Value * | CreateSDiv (Value *LHS,Value *RHS,constTwine &Name="",bool isExact=false) |
Value * | CreateExactSDiv (Value *LHS,Value *RHS,constTwine &Name="") |
Value * | CreateURem (Value *LHS,Value *RHS,constTwine &Name="") |
Value * | CreateSRem (Value *LHS,Value *RHS,constTwine &Name="") |
Value * | CreateShl (Value *LHS,Value *RHS,constTwine &Name="",bool HasNUW=false,bool HasNSW=false) |
Value * | CreateShl (Value *LHS,constAPInt &RHS,constTwine &Name="",bool HasNUW=false,bool HasNSW=false) |
Value * | CreateShl (Value *LHS,uint64_tRHS,constTwine &Name="",bool HasNUW=false,bool HasNSW=false) |
Value * | CreateLShr (Value *LHS,Value *RHS,constTwine &Name="",bool isExact=false) |
Value * | CreateLShr (Value *LHS,constAPInt &RHS,constTwine &Name="",bool isExact=false) |
Value * | CreateLShr (Value *LHS,uint64_tRHS,constTwine &Name="",bool isExact=false) |
Value * | CreateAShr (Value *LHS,Value *RHS,constTwine &Name="",bool isExact=false) |
Value * | CreateAShr (Value *LHS,constAPInt &RHS,constTwine &Name="",bool isExact=false) |
Value * | CreateAShr (Value *LHS,uint64_tRHS,constTwine &Name="",bool isExact=false) |
Value * | CreateAnd (Value *LHS,Value *RHS,constTwine &Name="") |
Value * | CreateAnd (Value *LHS,constAPInt &RHS,constTwine &Name="") |
Value * | CreateAnd (Value *LHS,uint64_tRHS,constTwine &Name="") |
Value * | CreateAnd (ArrayRef<Value * > Ops) |
Value * | CreateOr (Value *LHS,Value *RHS,constTwine &Name="") |
Value * | CreateOr (Value *LHS,constAPInt &RHS,constTwine &Name="") |
Value * | CreateOr (Value *LHS,uint64_tRHS,constTwine &Name="") |
Value * | CreateOr (ArrayRef<Value * > Ops) |
Value * | CreateXor (Value *LHS,Value *RHS,constTwine &Name="") |
Value * | CreateXor (Value *LHS,constAPInt &RHS,constTwine &Name="") |
Value * | CreateXor (Value *LHS,uint64_tRHS,constTwine &Name="") |
Value * | CreateFAdd (Value *L,Value *R,constTwine &Name="",MDNode *FPMD=nullptr) |
Value * | CreateFAddFMF (Value *L,Value *R,FMFSourceFMFSource,constTwine &Name="",MDNode *FPMD=nullptr) |
Value * | CreateFSub (Value *L,Value *R,constTwine &Name="",MDNode *FPMD=nullptr) |
Value * | CreateFSubFMF (Value *L,Value *R,FMFSourceFMFSource,constTwine &Name="",MDNode *FPMD=nullptr) |
Value * | CreateFMul (Value *L,Value *R,constTwine &Name="",MDNode *FPMD=nullptr) |
Value * | CreateFMulFMF (Value *L,Value *R,FMFSourceFMFSource,constTwine &Name="",MDNode *FPMD=nullptr) |
Value * | CreateFDiv (Value *L,Value *R,constTwine &Name="",MDNode *FPMD=nullptr) |
Value * | CreateFDivFMF (Value *L,Value *R,FMFSourceFMFSource,constTwine &Name="",MDNode *FPMD=nullptr) |
Value * | CreateFRem (Value *L,Value *R,constTwine &Name="",MDNode *FPMD=nullptr) |
Value * | CreateFRemFMF (Value *L,Value *R,FMFSourceFMFSource,constTwine &Name="",MDNode *FPMD=nullptr) |
Value * | CreateBinOp (Instruction::BinaryOps Opc,Value *LHS,Value *RHS,constTwine &Name="",MDNode *FPMathTag=nullptr) |
Value * | CreateBinOpFMF (Instruction::BinaryOps Opc,Value *LHS,Value *RHS,FMFSourceFMFSource,constTwine &Name="",MDNode *FPMathTag=nullptr) |
Value * | CreateLogicalAnd (Value *Cond1,Value *Cond2,constTwine &Name="") |
Value * | CreateLogicalOr (Value *Cond1,Value *Cond2,constTwine &Name="") |
Value * | CreateLogicalOp (Instruction::BinaryOps Opc,Value *Cond1,Value *Cond2,constTwine &Name="") |
Value * | CreateLogicalOr (ArrayRef<Value * > Ops) |
CallInst * | CreateConstrainedFPBinOp (Intrinsic::IDID,Value *L,Value *R,FMFSourceFMFSource={},constTwine &Name="",MDNode *FPMathTag=nullptr, std::optional<RoundingMode > Rounding=std::nullopt, std::optional<fp::ExceptionBehavior > Except=std::nullopt) |
CallInst * | CreateConstrainedFPUnroundedBinOp (Intrinsic::IDID,Value *L,Value *R,FMFSourceFMFSource={},constTwine &Name="",MDNode *FPMathTag=nullptr, std::optional<fp::ExceptionBehavior > Except=std::nullopt) |
Value * | CreateNeg (Value *V,constTwine &Name="",bool HasNSW=false) |
Value * | CreateNSWNeg (Value *V,constTwine &Name="") |
Value * | CreateFNeg (Value *V,constTwine &Name="",MDNode *FPMathTag=nullptr) |
Value * | CreateFNegFMF (Value *V,FMFSourceFMFSource,constTwine &Name="",MDNode *FPMathTag=nullptr) |
Value * | CreateNot (Value *V,constTwine &Name="") |
Value * | CreateUnOp (Instruction::UnaryOps Opc,Value *V,constTwine &Name="",MDNode *FPMathTag=nullptr) |
Value * | CreateNAryOp (unsigned Opc,ArrayRef<Value * > Ops,constTwine &Name="",MDNode *FPMathTag=nullptr) |
Create either aUnaryOperator orBinaryOperator depending onOpc . | |
AllocaInst * | CreateAlloca (Type *Ty,unsigned AddrSpace,Value *ArraySize=nullptr,constTwine &Name="") |
AllocaInst * | CreateAlloca (Type *Ty,Value *ArraySize=nullptr,constTwine &Name="") |
LoadInst * | CreateLoad (Type *Ty,Value *Ptr,constchar *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,constTwine &Name="") |
LoadInst * | CreateLoad (Type *Ty,Value *Ptr,bool isVolatile,constTwine &Name="") |
StoreInst * | CreateStore (Value *Val,Value *Ptr,bool isVolatile=false) |
LoadInst * | CreateAlignedLoad (Type *Ty,Value *Ptr,MaybeAlignAlign,constchar *Name) |
LoadInst * | CreateAlignedLoad (Type *Ty,Value *Ptr,MaybeAlignAlign,constTwine &Name="") |
LoadInst * | CreateAlignedLoad (Type *Ty,Value *Ptr,MaybeAlignAlign,bool isVolatile,constTwine &Name="") |
StoreInst * | CreateAlignedStore (Value *Val,Value *Ptr,MaybeAlignAlign,bool isVolatile=false) |
FenceInst * | CreateFence (AtomicOrdering Ordering,SyncScope::ID SSID=SyncScope::System,constTwine &Name="") |
AtomicCmpXchgInst * | CreateAtomicCmpXchg (Value *Ptr,Value *Cmp,Value *New,MaybeAlignAlign,AtomicOrdering SuccessOrdering,AtomicOrdering FailureOrdering,SyncScope::ID SSID=SyncScope::System) |
AtomicRMWInst * | CreateAtomicRMW (AtomicRMWInst::BinOpOp,Value *Ptr,Value *Val,MaybeAlignAlign,AtomicOrdering Ordering,SyncScope::ID SSID=SyncScope::System) |
Value * | CreateGEP (Type *Ty,Value *Ptr,ArrayRef<Value * > IdxList,constTwine &Name="",GEPNoWrapFlags NW=GEPNoWrapFlags::none()) |
Value * | CreateInBoundsGEP (Type *Ty,Value *Ptr,ArrayRef<Value * > IdxList,constTwine &Name="") |
Value * | CreateConstGEP1_32 (Type *Ty,Value *Ptr,unsigned Idx0,constTwine &Name="") |
Value * | CreateConstInBoundsGEP1_32 (Type *Ty,Value *Ptr,unsigned Idx0,constTwine &Name="") |
Value * | CreateConstGEP2_32 (Type *Ty,Value *Ptr,unsigned Idx0,unsigned Idx1,constTwine &Name="",GEPNoWrapFlags NWFlags=GEPNoWrapFlags::none()) |
Value * | CreateConstInBoundsGEP2_32 (Type *Ty,Value *Ptr,unsigned Idx0,unsigned Idx1,constTwine &Name="") |
Value * | CreateConstGEP1_64 (Type *Ty,Value *Ptr,uint64_t Idx0,constTwine &Name="") |
Value * | CreateConstInBoundsGEP1_64 (Type *Ty,Value *Ptr,uint64_t Idx0,constTwine &Name="") |
Value * | CreateConstGEP2_64 (Type *Ty,Value *Ptr,uint64_t Idx0,uint64_t Idx1,constTwine &Name="") |
Value * | CreateConstInBoundsGEP2_64 (Type *Ty,Value *Ptr,uint64_t Idx0,uint64_t Idx1,constTwine &Name="") |
Value * | CreateStructGEP (Type *Ty,Value *Ptr,unsignedIdx,constTwine &Name="") |
Value * | CreatePtrAdd (Value *Ptr,Value *Offset,constTwine &Name="",GEPNoWrapFlags NW=GEPNoWrapFlags::none()) |
Value * | CreateInBoundsPtrAdd (Value *Ptr,Value *Offset,constTwine &Name="") |
Constant * | CreateGlobalStringPtr (StringRef Str,constTwine &Name="",unsignedAddressSpace=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,constTwine &Name="",bool IsNUW=false,bool IsNSW=false) |
Value * | CreateZExt (Value *V,Type *DestTy,constTwine &Name="",bool IsNonNeg=false) |
Value * | CreateSExt (Value *V,Type *DestTy,constTwine &Name="") |
Value * | CreateZExtOrTrunc (Value *V,Type *DestTy,constTwine &Name="") |
Create a ZExt or Trunc from the integer value V to DestTy. | |
Value * | CreateSExtOrTrunc (Value *V,Type *DestTy,constTwine &Name="") |
Create a SExt or Trunc from the integer value V to DestTy. | |
Value * | CreateFPToUI (Value *V,Type *DestTy,constTwine &Name="") |
Value * | CreateFPToSI (Value *V,Type *DestTy,constTwine &Name="") |
Value * | CreateUIToFP (Value *V,Type *DestTy,constTwine &Name="",bool IsNonNeg=false) |
Value * | CreateSIToFP (Value *V,Type *DestTy,constTwine &Name="") |
Value * | CreateFPTrunc (Value *V,Type *DestTy,constTwine &Name="",MDNode *FPMathTag=nullptr) |
Value * | CreateFPTruncFMF (Value *V,Type *DestTy,FMFSourceFMFSource,constTwine &Name="",MDNode *FPMathTag=nullptr) |
Value * | CreateFPExt (Value *V,Type *DestTy,constTwine &Name="",MDNode *FPMathTag=nullptr) |
Value * | CreateFPExtFMF (Value *V,Type *DestTy,FMFSourceFMFSource,constTwine &Name="",MDNode *FPMathTag=nullptr) |
Value * | CreatePtrToInt (Value *V,Type *DestTy,constTwine &Name="") |
Value * | CreateIntToPtr (Value *V,Type *DestTy,constTwine &Name="") |
Value * | CreateBitCast (Value *V,Type *DestTy,constTwine &Name="") |
Value * | CreateAddrSpaceCast (Value *V,Type *DestTy,constTwine &Name="") |
Value * | CreateZExtOrBitCast (Value *V,Type *DestTy,constTwine &Name="") |
Value * | CreateSExtOrBitCast (Value *V,Type *DestTy,constTwine &Name="") |
Value * | CreateTruncOrBitCast (Value *V,Type *DestTy,constTwine &Name="") |
Value * | CreateCast (Instruction::CastOpsOp,Value *V,Type *DestTy,constTwine &Name="",MDNode *FPMathTag=nullptr,FMFSourceFMFSource={}) |
Value * | CreatePointerCast (Value *V,Type *DestTy,constTwine &Name="") |
Value * | CreatePointerBitCastOrAddrSpaceCast (Value *V,Type *DestTy,constTwine &Name="") |
Value * | CreateIntCast (Value *V,Type *DestTy,boolisSigned,constTwine &Name="") |
Value * | CreateBitOrPointerCast (Value *V,Type *DestTy,constTwine &Name="") |
Value * | CreateFPCast (Value *V,Type *DestTy,constTwine &Name="",MDNode *FPMathTag=nullptr) |
CallInst * | CreateConstrainedFPCast (Intrinsic::IDID,Value *V,Type *DestTy,FMFSourceFMFSource={},constTwine &Name="",MDNode *FPMathTag=nullptr, std::optional<RoundingMode > Rounding=std::nullopt, std::optional<fp::ExceptionBehavior > Except=std::nullopt) |
Value * | CreateIntCast (Value *,Type *,constchar *)=delete |
Value * | CreateICmpEQ (Value *LHS,Value *RHS,constTwine &Name="") |
Value * | CreateICmpNE (Value *LHS,Value *RHS,constTwine &Name="") |
Value * | CreateICmpUGT (Value *LHS,Value *RHS,constTwine &Name="") |
Value * | CreateICmpUGE (Value *LHS,Value *RHS,constTwine &Name="") |
Value * | CreateICmpULT (Value *LHS,Value *RHS,constTwine &Name="") |
Value * | CreateICmpULE (Value *LHS,Value *RHS,constTwine &Name="") |
Value * | CreateICmpSGT (Value *LHS,Value *RHS,constTwine &Name="") |
Value * | CreateICmpSGE (Value *LHS,Value *RHS,constTwine &Name="") |
Value * | CreateICmpSLT (Value *LHS,Value *RHS,constTwine &Name="") |
Value * | CreateICmpSLE (Value *LHS,Value *RHS,constTwine &Name="") |
Value * | CreateFCmpOEQ (Value *LHS,Value *RHS,constTwine &Name="",MDNode *FPMathTag=nullptr) |
Value * | CreateFCmpOGT (Value *LHS,Value *RHS,constTwine &Name="",MDNode *FPMathTag=nullptr) |
Value * | CreateFCmpOGE (Value *LHS,Value *RHS,constTwine &Name="",MDNode *FPMathTag=nullptr) |
Value * | CreateFCmpOLT (Value *LHS,Value *RHS,constTwine &Name="",MDNode *FPMathTag=nullptr) |
Value * | CreateFCmpOLE (Value *LHS,Value *RHS,constTwine &Name="",MDNode *FPMathTag=nullptr) |
Value * | CreateFCmpONE (Value *LHS,Value *RHS,constTwine &Name="",MDNode *FPMathTag=nullptr) |
Value * | CreateFCmpORD (Value *LHS,Value *RHS,constTwine &Name="",MDNode *FPMathTag=nullptr) |
Value * | CreateFCmpUNO (Value *LHS,Value *RHS,constTwine &Name="",MDNode *FPMathTag=nullptr) |
Value * | CreateFCmpUEQ (Value *LHS,Value *RHS,constTwine &Name="",MDNode *FPMathTag=nullptr) |
Value * | CreateFCmpUGT (Value *LHS,Value *RHS,constTwine &Name="",MDNode *FPMathTag=nullptr) |
Value * | CreateFCmpUGE (Value *LHS,Value *RHS,constTwine &Name="",MDNode *FPMathTag=nullptr) |
Value * | CreateFCmpULT (Value *LHS,Value *RHS,constTwine &Name="",MDNode *FPMathTag=nullptr) |
Value * | CreateFCmpULE (Value *LHS,Value *RHS,constTwine &Name="",MDNode *FPMathTag=nullptr) |
Value * | CreateFCmpUNE (Value *LHS,Value *RHS,constTwine &Name="",MDNode *FPMathTag=nullptr) |
Value * | CreateICmp (CmpInst::PredicateP,Value *LHS,Value *RHS,constTwine &Name="") |
Value * | CreateFCmp (CmpInst::PredicateP,Value *LHS,Value *RHS,constTwine &Name="",MDNode *FPMathTag=nullptr) |
Value * | CreateFCmpFMF (CmpInst::PredicateP,Value *LHS,Value *RHS,FMFSourceFMFSource,constTwine &Name="",MDNode *FPMathTag=nullptr) |
Value * | CreateCmp (CmpInst::Predicate Pred,Value *LHS,Value *RHS,constTwine &Name="",MDNode *FPMathTag=nullptr) |
Value * | CreateFCmpS (CmpInst::PredicateP,Value *LHS,Value *RHS,constTwine &Name="",MDNode *FPMathTag=nullptr) |
CallInst * | CreateConstrainedFPCmp (Intrinsic::IDID,CmpInst::PredicateP,Value *L,Value *R,constTwine &Name="", std::optional<fp::ExceptionBehavior > Except=std::nullopt) |
PHINode * | CreatePHI (Type *Ty,unsigned NumReservedValues,constTwine &Name="") |
CallInst * | CreateCall (FunctionType *FTy,Value *Callee,ArrayRef<Value * > Args={},constTwine &Name="",MDNode *FPMathTag=nullptr) |
CallInst * | CreateCall (FunctionType *FTy,Value *Callee,ArrayRef<Value * > Args,ArrayRef<OperandBundleDef > OpBundles,constTwine &Name="",MDNode *FPMathTag=nullptr) |
CallInst * | CreateCall (FunctionCallee Callee,ArrayRef<Value * > Args={},constTwine &Name="",MDNode *FPMathTag=nullptr) |
CallInst * | CreateCall (FunctionCallee Callee,ArrayRef<Value * > Args,ArrayRef<OperandBundleDef > OpBundles,constTwine &Name="",MDNode *FPMathTag=nullptr) |
CallInst * | CreateConstrainedFPCall (Function *Callee,ArrayRef<Value * > Args,constTwine &Name="", std::optional<RoundingMode > Rounding=std::nullopt, std::optional<fp::ExceptionBehavior > Except=std::nullopt) |
Value * | CreateSelect (Value *C,Value *True,Value *False,constTwine &Name="",Instruction *MDFrom=nullptr) |
Value * | CreateSelectFMF (Value *C,Value *True,Value *False,FMFSourceFMFSource,constTwine &Name="",Instruction *MDFrom=nullptr) |
VAArgInst * | CreateVAArg (Value *List,Type *Ty,constTwine &Name="") |
Value * | CreateExtractElement (Value *Vec,Value *Idx,constTwine &Name="") |
Value * | CreateExtractElement (Value *Vec,uint64_tIdx,constTwine &Name="") |
Value * | CreateInsertElement (Type *VecTy,Value *NewElt,Value *Idx,constTwine &Name="") |
Value * | CreateInsertElement (Type *VecTy,Value *NewElt,uint64_tIdx,constTwine &Name="") |
Value * | CreateInsertElement (Value *Vec,Value *NewElt,Value *Idx,constTwine &Name="") |
Value * | CreateInsertElement (Value *Vec,Value *NewElt,uint64_tIdx,constTwine &Name="") |
Value * | CreateShuffleVector (Value *V1,Value *V2,Value *Mask,constTwine &Name="") |
Value * | CreateShuffleVector (Value *V1,Value *V2,ArrayRef< int > Mask,constTwine &Name="") |
See classShuffleVectorInst for a description of the mask representation. | |
Value * | CreateShuffleVector (Value *V,ArrayRef< int > Mask,constTwine &Name="") |
Create a unary shuffle. | |
Value * | CreateExtractValue (Value *Agg,ArrayRef<unsigned > Idxs,constTwine &Name="") |
Value * | CreateInsertValue (Value *Agg,Value *Val,ArrayRef<unsigned > Idxs,constTwine &Name="") |
LandingPadInst * | CreateLandingPad (Type *Ty,unsigned NumClauses,constTwine &Name="") |
Value * | CreateFreeze (Value *V,constTwine &Name="") |
Value * | CreateIsNull (Value *Arg,constTwine &Name="") |
Return a boolean value testing ifArg == 0. | |
Value * | CreateIsNotNull (Value *Arg,constTwine &Name="") |
Return a boolean value testing ifArg != 0. | |
Value * | CreateIsNeg (Value *Arg,constTwine &Name="") |
Return a boolean value testing ifArg < 0. | |
Value * | CreateIsNotNeg (Value *Arg,constTwine &Name="") |
Return a boolean value testing ifArg > -1. | |
Value * | CreatePtrDiff (Type *ElemTy,Value *LHS,Value *RHS,constTwine &Name="") |
Return the i64 difference between two pointer values, dividing out the size of the pointed-to objects. | |
Value * | CreateLaunderInvariantGroup (Value *Ptr) |
Create a launder.invariant.group intrinsic call. | |
Value * | CreateStripInvariantGroup (Value *Ptr) |
Create a strip.invariant.group intrinsic call. | |
Value * | CreateVectorReverse (Value *V,constTwine &Name="") |
Return a vector value that contains the vector V reversed. | |
Value * | CreateVectorSplice (Value *V1,Value *V2, int64_t Imm,constTwine &Name="") |
Return a vector splice intrinsic if using scalable vectors, otherwise return a shufflevector. | |
Value * | CreateVectorSplat (unsigned NumElts,Value *V,constTwine &Name="") |
Return a vector value that contains. | |
Value * | CreateVectorSplat (ElementCount EC,Value *V,constTwine &Name="") |
Return a vector value that contains. | |
Value * | CreatePreserveArrayAccessIndex (Type *ElTy,Value *Base,unsigned Dimension,unsigned LastIndex,MDNode *DbgInfo) |
Value * | CreatePreserveUnionAccessIndex (Value *Base,unsigned FieldIndex,MDNode *DbgInfo) |
Value * | CreatePreserveStructAccessIndex (Type *ElTy,Value *Base,unsignedIndex,unsigned FieldIndex,MDNode *DbgInfo) |
Value * | createIsFPClass (Value *FPNum,unsignedTest) |
CallInst * | CreateAlignmentAssumption (constDataLayout &DL,Value *PtrValue,unsigned Alignment,Value *OffsetValue=nullptr) |
Create an assume intrinsic call that represents an alignment assumption on the provided pointer. | |
CallInst * | CreateAlignmentAssumption (constDataLayout &DL,Value *PtrValue,Value *Alignment,Value *OffsetValue=nullptr) |
Create an assume intrinsic call that represents an alignment assumption on the provided pointer. | |
Common base class shared among various IRBuilders.
Definition at line113 of fileIRBuilder.h.
| inline |
Definition at line154 of fileIRBuilder.h.
ReferencesClearInsertionPoint().
| inline |
Add all entries in MetadataToCopy toI
.
Definition at line266 of fileIRBuilder.h.
ReferencesI.
Referenced byInsert().
| inline |
Clear the fast-math flags.
Definition at line324 of fileIRBuilder.h.
Referencesllvm::FastMathFlags::clear(), andFMF.
| inline |
Clear the insertion point: created instructions will not be inserted into a block.
Definition at line188 of fileIRBuilder.h.
Referenced byllvm::SCEVExpander::clearInsertPoint(),llvm::OpenMPIRBuilder::emitBranch(),IRBuilderBase(),llvm::Negator::Negate(),restoreIP(), andsaveAndClearIP().
| inline |
Collect metadata with IDsMetadataKinds
fromSrc
which should be added to all created instructions.
Entries present in MedataDataToCopy but not onSrc
will be dropped from MetadataToCopy.
Definition at line252 of fileIRBuilder.h.
Referenced byperformBranchToCommonDestFolding(), andllvm::InstCombinerImpl::run().
| inline |
Definition at line1370 of fileIRBuilder.h.
ReferencesFolder,llvm::IRBuilderFolder::FoldNoWrapBinOp(),LHS,Name, andRHS.
Referenced byllvm::buildAtomicRMWValue(),callBufferedPrintfStart(),CheckAndCreateOffsetAdd(),CloneLoopBlocks(),llvm::InstCombinerImpl::commonIDivTransforms(),convertToShadowDataInt(),llvm::OpenMPIRBuilder::createCanonicalLoop(),createFakeIntVal(),llvm::OpenMPIRBuilder::createLoopSkeleton(),llvm::createMemCpyLoopKnownSize(),createMemMoveLoopKnownSize(),createMemMoveLoopUnknownSize(),createMemSetLoop(),CreateNSWAdd(),CreateNUWAdd(),llvm::AMDGPU::createSlowPathCmp(),llvm::emitGEPOffset(),llvm::VPWidenPointerInductionRecipe::execute(),llvm::VPWidenCanonicalIVRecipe::execute(),llvm::VPScalarIVStepsRecipe::execute(),expandFPToI(),expandIToFP(),expandVecReduceAdd(),llvm::InstCombinerImpl::foldCmpLoadFromIndexedGlobal(),llvm::InstCombinerImpl::foldICmpAddConstant(),llvm::InstCombinerImpl::foldICmpBinOp(),llvm::InstCombinerImpl::foldICmpEquality(),llvm::InstCombinerImpl::foldICmpSubConstant(),foldICmpUSubSatOrUAddSatWithConstant(),foldICmpWithTruncSignExtendedVal(),llvm::InstCombinerImpl::foldICmpXorShiftConst(),llvm::InstCombinerImpl::foldIRemByPowerOfTwoToBitTest(),foldMulShl1(),foldNoWrapAdd(),llvm::InstCombinerImpl::foldPowiReassoc(),llvm::InstCombinerImpl::foldSquareSumInt(),llvm::SCEVExpander::generateOverflowCheck(),generateUnsignedDivisionCode(),llvm::InstCombiner::getFreelyInvertedImpl(),llvm::InnerLoopVectorizer::getOrCreateVectorTripCount(),getStepVector(),getStrlenWithNull(),hoistSub(),llvm::memtag::incrementThreadLong(),insertSpills(),llvm::AMDGPU::instrumentAddress(),LowerCTPOP(),llvm::lowerUnaryVectorIntrinsicAsLoop(),matchStridedStart(),llvm::AMDGPU::memToShadow(),promoteAllocaUserToVector(),llvm::orc::ReOptimizeLayer::reoptimizeIfCallFrequent(),rewriteGEPAsOffset(),scalarizeMaskedVectorHistogram(),llvm::InstCombinerImpl::SimplifyAddWithRemainder(),simplifyAMDGCNMemoryIntrinsicDemanded(),simplifyX86pmadd(),simplifyX86pmulh(),llvm::SplitBlockAndInsertSimpleForLoop(),llvm::InstCombinerImpl::takeLog2(),llvm::OpenMPIRBuilder::tileLoops(),llvm::InstCombinerImpl::tryFoldInstWithCtpopWithNot(),llvm::UnrollRuntimeLoopRemainder(),upgradeX86IntrinsicCall(),llvm::InstCombinerImpl::visitAdd(),llvm::InstCombinerImpl::visitCallInst(),llvm::ObjectSizeOffsetEvaluator::visitGEPOperator(),llvm::InstCombinerImpl::visitLShr(),llvm::InstCombinerImpl::visitOr(),llvm::InstCombinerImpl::visitSub(), andllvm::InstCombinerImpl::visitURem().
Create a vector int add reduction intrinsic of the source vector.
Definition at line412 of fileIRBuilder.cpp.
Referenced byllvm::InstCombinerImpl::visitCallInst().
| inline |
Definition at line2157 of fileIRBuilder.h.
ReferencesCreateCast(), andName.
Referenced byllvm::AtomicInfo::EmitAtomicLoadLibcall(),llvm::SITargetLowering::emitExpandAtomicAddrSpacePredicate(),insertSpills(),lowerKernelArguments(),simplifyInvariantGroupIntrinsic(), andupgradeNVVMIntrinsicCall().
| inline |
Create a sequence of N insertvalue instructions, with oneValue 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.
This is a convenience function for code that uses aggregate return values as a vehicle for having multiple return values.
Definition at line1150 of fileIRBuilder.h.
ReferencesContext,llvm::ReturnInst::Create(),CreateInsertValue(),llvm::PoisonValue::get(),getCurrentFunctionReturnType(),Insert(), andN.
| inline |
Definition at line1825 of fileIRBuilder.h.
ReferencesBB,DL,llvm::BasicBlock::getDataLayout(),Insert(),Name, andPtr.
| inline |
Definition at line1815 of fileIRBuilder.h.
ReferencesCreateAlignedLoad(),Name, andPtr.
Referenced byllvm::buildCmpXchgValue(),llvm::InstCombinerImpl::combineLoadToNewType(),CreateAlignedLoad(),CreateLoad(),llvm::createMemCpyLoopKnownSize(),createMemMoveLoopKnownSize(),createMemMoveLoopUnknownSize(),doPromotion(),llvm::AtomicInfo::EmitAtomicLoadLibcall(),llvm::AtomicInfo::EmitAtomicLoadOp(),llvm::SITargetLowering::emitExpandAtomicAddrSpacePredicate(),llvm::VPInterleaveRecipe::execute(),llvm::VPWidenLoadRecipe::execute(),foldConsecutiveLoads(),insertSpills(),llvm::AMDGPU::instrumentAddressImpl(),llvm::lowerGlobalIFuncUsersAsGlobalCtor(),llvm::SITargetLowering::lowerIdempotentRMWIntoFencedLoad(),lowerKernelArguments(),llvm::slpvectorizer::BoUpSLP::ShuffleInstructionBuilder::needToDelay(),scalarizeMaskedExpandLoad(),scalarizeMaskedGather(),scalarizeMaskedLoad(),simplifyNeonVld1(),unpackLoadToAggregate(),upgradeMaskedLoad(),upgradeNVVMIntrinsicCall(), andupgradeX86IntrinsicCall().
| inline |
Definition at line1820 of fileIRBuilder.h.
ReferencesCreateAlignedLoad(),Name, andPtr.
| inline |
Definition at line1834 of fileIRBuilder.h.
ReferencesBB,DL,llvm::BasicBlock::getDataLayout(),llvm::Value::getType(),Insert(), andPtr.
Referenced byllvm::buildCmpXchgValue(),combineStoreToNewValue(),llvm::createMemCpyLoopKnownSize(),createMemMoveLoopKnownSize(),createMemMoveLoopUnknownSize(),createMemSetLoop(),CreateStore(),doPromotion(),llvm::SITargetLowering::emitExpandAtomicAddrSpacePredicate(),llvm::OpenMPIRBuilder::emitNonContiguousDescriptor(),llvm::OpenMPIRBuilder::emitOffloadingArrays(),llvm::OpenMPIRBuilder::emitTargetKernel(),llvm::VPInterleaveRecipe::execute(),llvm::VPWidenStoreRecipe::execute(),insertSpills(),llvm::lowerGlobalIFuncUsersAsGlobalCtor(),scalarizeMaskedCompressStore(),scalarizeMaskedScatter(),scalarizeMaskedStore(),splitMergedValStore(),unpackStoreToAggregate(),llvm::UpgradeIntrinsicCall(),upgradeMaskedStore(), andupgradeX86IntrinsicCall().
CallInst * IRBuilderBase::CreateAlignmentAssumption | ( | constDataLayout & | DL, |
Value * | PtrValue, | ||
unsigned | Alignment, | ||
Value * | OffsetValue =nullptr | ||
) |
Create an assume intrinsic call that represents an alignment assumption on the provided pointer.
An optional offset can be provided, and if it is provided, the offset must be subtracted from the provided pointer to get the pointer with the specified alignment.
Definition at line1265 of fileIRBuilder.cpp.
Referencesassert(),DL,getIntPtrTy(), andllvm::Value::getType().
Referenced byAddAlignmentAssumptions(), andllvm::OpenMPIRBuilder::applySimd().
CallInst * IRBuilderBase::CreateAlignmentAssumption | ( | constDataLayout & | DL, |
Value * | PtrValue, | ||
Value * | Alignment, | ||
Value * | OffsetValue =nullptr | ||
) |
Create an assume intrinsic call that represents an alignment assumption on the provided pointer.
An optional offset can be provided, and if it is provided, the offset must be subtracted from the provided pointer to get the pointer with the specified alignment.
This overload handles the condition where the Alignment is dependent on an existing value rather than a static value.
Definition at line1278 of fileIRBuilder.cpp.
Referencesassert(),DL, andllvm::Value::getType().
| inline |
Definition at line1781 of fileIRBuilder.h.
ReferencesBB,DL,llvm::BasicBlock::getDataLayout(),Insert(), andName.
Referenced byllvm::sandboxir::AllocaInst::create(),llvm::OpenMPIRBuilder::AtomicInfo::CreateAlloca(),createFakeIntVal(),llvm::OpenMPIRBuilder::createMapperAllocas(),llvm::OpenMPIRBuilder::createOrderedDepend(),llvm::OpenMPIRBuilder::createParallel(),llvm::OpenMPIRBuilder::createReductions(),llvm::OpenMPIRBuilder::createReductionsGPU(),llvm::OpenMPIRBuilder::createSingle(),llvm::OpenMPIRBuilder::createTask(),doPromotion(),eliminateSwiftErrorArgument(),llvm::OpenMPIRBuilder::emitNonContiguousDescriptor(),llvm::OpenMPIRBuilder::emitOffloadingArrays(),llvm::OpenMPIRBuilder::emitTargetKernel(),emitTargetTaskProxyFunction(),emitTaskDependencies(),handleNoSuspendCoroutine(),lowerLocalAllocas(),RemovePreallocated(),replaceSwiftErrorOps(),salvageDebugInfoImpl(),simplifyAllocaArraySize(),targetParallelCallback(), andwidenDestArray().
| inline |
Definition at line1788 of fileIRBuilder.h.
ReferencesBB,DL,llvm::BasicBlock::getDataLayout(),Insert(), andName.
Definition at line1532 of fileIRBuilder.h.
Referencesassert(),CreateAnd(),llvm::ArrayRef< T >::empty(), andllvm::ArrayRef< T >::size().
Definition at line1524 of fileIRBuilder.h.
ReferencesCreateAnd(),LHS,Name, andRHS.
Definition at line1528 of fileIRBuilder.h.
ReferencesCreateAnd(),LHS,Name, andRHS.
Definition at line1518 of fileIRBuilder.h.
Referencesllvm::IRBuilderFolder::FoldBinOp(),Folder,Insert(),LHS,Name, andRHS.
Referenced byaddBoundsChecking(),llvm::addRuntimeChecks(),applyX86MaskOn1BitsVec(),llvm::buildAtomicRMWValue(),buildPartialUnswitchConditionalBranch(),callBufferedPrintfStart(),checkForNegativeOperand(),llvm::InstCombinerImpl::commonShiftTransforms(),convertToShadowDataInt(),CreateAnd(),createLogicFromTable(),createMaskInstrs(),llvm::AMDGPU::createSlowPathCmp(),llvm::LoongArchTargetLowering::emitExpandAtomicRMW(),llvm::OpenMPIRBuilder::emitUserDefinedMapper(),expandAnyOrAllIntrinsic(),expandAtan2Intrinsic(),expandFPToI(),expandIToFP(),foldAndOrOfICmpsWithPow2AndWithZero(),foldAnyOrAllBitsSet(),llvm::InstCombinerImpl::foldCmpLoadFromIndexedGlobal(),foldComplexAndOrPatterns(),foldCtpopPow2Test(),llvm::InstCombinerImpl::foldICmpAddConstant(),llvm::InstCombinerImpl::foldICmpAndConstant(),llvm::InstCombinerImpl::foldICmpAndConstConst(),llvm::InstCombinerImpl::foldICmpAndShift(),foldICmpAndXX(),llvm::InstCombinerImpl::foldICmpBinOp(),llvm::InstCombinerImpl::foldICmpBinOpEqualityWithConstant(),llvm::InstCombinerImpl::foldICmpEqIntrinsicWithConstant(),llvm::InstCombinerImpl::foldICmpEquality(),llvm::InstCombinerImpl::foldICmpIntrinsicWithConstant(),llvm::InstCombinerImpl::foldICmpOrConstant(),foldICmpOrXX(),llvm::InstCombinerImpl::foldICmpShlConstant(),llvm::InstCombinerImpl::foldICmpShrConstant(),llvm::InstCombinerImpl::foldICmpSRemConstant(),llvm::InstCombinerImpl::foldICmpTruncConstant(),llvm::InstCombinerImpl::foldICmpWithTrunc(),foldICmpXNegX(),llvm::InstCombinerImpl::foldIRemByPowerOfTwoToBitTest(),foldLogOpOfMaskedICmps(),foldLogOpOfMaskedICmps_NotAllZeros_BMask_Mixed(),foldOrToXor(),foldSelectICmpAnd(),foldSelectICmpAndAnd(),foldSelectICmpAndBinOp(),foldShiftedShift(),foldShiftIntoShiftInAnotherHandOfAndInICmp(),foldSwitchToSelect(),llvm::SCEVExpander::generateOverflowCheck(),generateUnsignedDivisionCode(),llvm::memtag::incrementThreadLong(),insertMaskedValue(),insertSpills(),llvm::X86TTIImpl::instCombineIntrinsic(),llvm::AMDGPU::instrumentAddressImpl(),LowerBSWAP(),LowerCTPOP(),llvm::IntrinsicLowering::LowerIntrinsicCall(),performMaskedAtomicOp(),processUMulZExtIdiom(),llvm::KCFIPass::run(),scalarizeMaskedCompressStore(),scalarizeMaskedExpandLoad(),scalarizeMaskedGather(),scalarizeMaskedLoad(),scalarizeMaskedScatter(),scalarizeMaskedStore(),llvm::InstCombinerImpl::SimplifyDemandedUseBits(),simplifyTernarylogic(),upgradeMaskedMove(),upgradePMULDQ(),upgradeX86IntrinsicCall(),llvm::InstCombinerImpl::visitAnd(),llvm::InstCombinerImpl::visitAShr(),llvm::InstCombinerImpl::visitBitCast(),llvm::InstCombinerImpl::visitCallInst(),llvm::InstCombinerImpl::visitFCmpInst(),llvm::InstCombinerImpl::visitICmpInst(),llvm::InstCombinerImpl::visitLShr(),visitMaskedMerge(),llvm::InstCombinerImpl::visitMul(),llvm::InstCombinerImpl::visitOr(),llvm::InstCombinerImpl::visitShl(),llvm::InstCombinerImpl::visitSub(),llvm::InstCombinerImpl::visitSwitchInst(),llvm::InstCombinerImpl::visitTrunc(),llvm::InstCombinerImpl::visitXor(), andllvm::InstCombinerImpl::visitZExt().
Create a vector int AND reduction intrinsic of the source vector.
Definition at line420 of fileIRBuilder.cpp.
Referenced byllvm::InstCombinerImpl::visitCallInst().
| inline |
Create a call to the arithmetic_fence intrinsic.
Definition at line1065 of fileIRBuilder.h.
ReferencesCreateIntrinsic(), andName.
| inline |
Definition at line1508 of fileIRBuilder.h.
ReferencesCreateAShr(),LHS,Name, andRHS.
| inline |
Definition at line1513 of fileIRBuilder.h.
ReferencesCreateAShr(),LHS,Name, andRHS.
| inline |
Definition at line1499 of fileIRBuilder.h.
ReferencesFolder,llvm::IRBuilderFolder::FoldExactBinOp(),Insert(),LHS,Name, andRHS.
Referenced byCreateAShr(),expandIToFP(),foldSelectICmpLshrAshr(),generateSignedDivisionCode(),generateSignedRemainderCode(),generateUnsignedDivisionCode(),llvm::InstCombiner::getFreelyInvertedImpl(),getSign32(),llvm::memtag::incrementThreadLong(),llvm::GCNTTIImpl::instCombineIntrinsic(),llvm::AArch64TargetLowering::optimizeExtendOrTruncateConversion(),simplifyX86immShift(),simplifyX86pmulh(),simplifyX86varShift(),upgradePMULDQ(),llvm::InstCombinerImpl::visitAShr(),llvm::InstCombinerImpl::visitLShr(),llvm::InstCombinerImpl::visitSDiv(),llvm::InstCombinerImpl::visitSExt(), andllvm::InstCombinerImpl::visitTrunc().
CallInst * IRBuilderBase::CreateAssumption | ( | Value * | Cond, |
ArrayRef<OperandBundleDef > | OpBundles ={} | ||
) |
Create an assume intrinsic call that allows the optimizer to assume that the provided condition will be true.
The optional argumentOpBundles
specifies operand bundles that are added to the call instruction.
Definition at line521 of fileIRBuilder.cpp.
Referencesassert(),BB,Cond,CreateCall(),getInt1Ty(),llvm::Intrinsic::getOrInsertDeclaration(),llvm::GlobalValue::getParent(), andllvm::BasicBlock::getParent().
Referenced bygenerateReproducer(),llvm::lowerObjectSizeCall(),removeUndefIntroducingPredecessor(), andllvm::InstCombinerImpl::visitCallInst().
| inline |
Definition at line1849 of fileIRBuilder.h.
ReferencesBB,DL,llvm::BasicBlock::getDataLayout(),Insert(), andPtr.
Referenced byllvm::sandboxir::AtomicCmpXchgInst::create(),llvm::OpenMPIRBuilder::createAtomicCompare(),createCmpXchgInstFun(), andllvm::AtomicInfo::EmitAtomicCompareExchangeOp().
| inline |
Definition at line1862 of fileIRBuilder.h.
ReferencesBB,DL,llvm::BasicBlock::getDataLayout(),llvm::Value::getType(),Insert(), andPtr.
Referenced byllvm::OpenMPIRBuilder::createAtomicCompare(),llvm::LoongArchTargetLowering::emitExpandAtomicRMW(),llvm::LoongArchTargetLowering::emitMaskedAtomicRMWIntrinsic(),llvm::RISCVTargetLowering::emitMaskedAtomicRMWIntrinsic(),upgradeAMDGCNIntrinsicCall(), andupgradeNVVMIntrinsicCall().
Value * IRBuilderBase::CreateBinaryIntrinsic | ( | Intrinsic::ID | ID, |
Value * | LHS, | ||
Value * | RHS, | ||
FMFSource | FMFSource ={} , | ||
constTwine & | Name ="" | ||
) |
Create a call to intrinsicID
with 2 operands which is mangled on the first type.
Definition at line889 of fileIRBuilder.cpp.
ReferencesBB,llvm::IRBuilderFolder::FoldBinaryIntrinsic(),Folder,llvm::BasicBlock::getModule(),llvm::Intrinsic::getOrInsertDeclaration(),llvm::Function::getReturnType(),llvm::Value::getType(),LHS,Name, andRHS.
Referenced bycanonicalizeSaturatedAdd(),canonicalizeSaturatedSubtract(),CreateMaximum(),CreateMaximumNum(),CreateMaxNum(),CreateMinimum(),CreateMinimumNum(),CreateMinNum(),llvm::InnerLoopVectorizer::emitIterationCountCheck(),foldAbsDiff(),llvm::InstCombinerImpl::foldAddWithConstant(),foldCttzCtlz(),llvm::InstCombinerImpl::foldFMulReassoc(),foldIntrinsicUsingDistributiveLaws(),foldMinimumOverTrailingOrLeadingZeroCount(),llvm::InstCombiner::getFreelyInvertedImpl(),hoistMinMax(),moveAddAfterMinMax(),reassociateMinMaxWithConstantInOperand(),llvm::InstCombinerImpl::takeLog2(),llvm::InstCombinerImpl::visitAdd(),llvm::InstCombinerImpl::visitCallInst(),llvm::InstCombinerImpl::visitFDiv(),llvm::InstCombinerImpl::visitMul(),llvm::InstCombinerImpl::visitSub(), andllvm::InstCombinerImpl::visitUDiv().
| inline |
Definition at line1671 of fileIRBuilder.h.
ReferencesCreateBinOpFMF(),LHS,Name, andRHS.
Referenced bybuildNew(),canonicalizeLogicFirst(),llvm::InstCombinerImpl::commonShiftTransforms(),llvm::sandboxir::BinaryOperator::create(),createLogicalOp(),CreateNAryOp(),llvm::VPWidenIntOrFpInductionRecipe::execute(),llvm::VPInterleaveRecipe::execute(),llvm::VPReductionRecipe::execute(),llvm::VPReductionEVLRecipe::execute(),llvm::VPScalarIVStepsRecipe::execute(),factorizeMathWithShlOps(),foldAndOrOfICmpsWithConstEq(),llvm::InstCombinerImpl::foldBinOpOfSelectAndCastOfSelectCondition(),llvm::InstCombinerImpl::foldBinOpShiftWithShift(),llvm::InstCombinerImpl::foldBinopWithPhiOperands(),foldBitCastBitwiseLogic(),foldBitwiseLogicWithIntrinsics(),foldComplexAndOrPatterns(),foldDependentIVs(),foldICmpOrXorSubChain(),foldIntrinsicUsingDistributiveLaws(),foldLogicCastConstant(),foldSelectICmpAnd(),foldSelectICmpAndBinOp(),llvm::InstCombinerImpl::foldSelectShuffle(),llvm::InstCombinerImpl::FoldShiftByConstant(),foldShiftOfShiftedBinOp(),llvm::InstCombinerImpl::foldUsingDistributiveLaws(),llvm::InstCombinerImpl::foldVectorBinop(),generateNewInstTree(),llvm::InstCombiner::getFreelyInvertedImpl(),llvm::getOrderedReduction(),llvm::getShuffleReduction(),getStepVector(),hoistBOAssociation(),matchDeMorgansLaws(),narrowUDivURem(),reassociateForUses(),scalarize(),simplifyAndOrWithOpReplaced(),llvm::InstCombinerImpl::simplifyBinOpSplats(),llvm::X86TTIImpl::simplifyDemandedVectorEltsIntrinsic(),llvm::InstCombinerImpl::SimplifySelectsFeedingBinaryOp(),llvm::InstCombinerImpl::sinkNotIntoLogicalOp(),llvm::InstCombinerImpl::sinkNotIntoOtherHandOfLogicalOp(),tryFactorization(),llvm::InstCombinerImpl::visitAnd(),llvm::InstCombinerImpl::visitGetElementPtrInst(),llvm::InstCombinerImpl::visitMul(), andllvm::InstCombinerImpl::visitShl().
| inline |
Definition at line1677 of fileIRBuilder.h.
Referencesllvm::BinaryOperator::Create(),FMF,llvm::IRBuilderFolder::FoldBinOp(),Folder,llvm::FMFSource::get(),Insert(),LHS,Name, andRHS.
Referenced byCreateBinOp(), andinstCombineSVEVectorBinOp().
Definition at line2152 of fileIRBuilder.h.
ReferencesCreateCast(), andName.
Referenced byapplyX86MaskOn1BitsVec(),canonicalizeBitCastExtElt(),llvm::VNCoercion::coerceAvailableValueToLoadType(),llvm::OpenMPIRBuilder::createAtomicCompare(),llvm::OpenMPIRBuilder::createAtomicRead(),llvm::OpenMPIRBuilder::createAtomicWrite(),CreateBitOrPointerCast(),createCast(),createCmpXchgInstFun(),llvm::OpenMPIRBuilder::createReductions(),createTargetLoopWorkshareCall(),createTblForTrunc(),createTblShuffleForZExt(),llvm::coro::Shape::emitDealloc(),llvm::LoongArchTargetLowering::emitExpandAtomicRMW(),llvm::AArch64TargetLowering::emitLoadLinked(),llvm::HexagonTargetLowering::emitLoadLinked(),llvm::AArch64TargetLowering::emitStoreConditional(),llvm::HexagonTargetLowering::emitStoreConditional(),llvm::OpenMPIRBuilder::emitUserDefinedMapper(),emitX86ScalarSelect(),expandFPToI(),expandIToFP(),extractMaskedValue(),fitArgInto64Bits(),foldBitCastBitwiseLogic(),foldBitCastSelect(),foldCopySignIdioms(),llvm::InstCombinerImpl::foldICmpBitCast(),foldReductionIdiom(),foldTruncInsEltPair(),foldVecExtTruncToExtElt(),foldVecTruncToExtElt(),getAllocaPos(),llvm::VNCoercion::getStoreValueForLoadHelper(),getX86MaskVec(),hoistConditionalLoadsStores(),hostParallelCallback(),llvm::InlineFunction(),insertMaskedValue(),llvm::objcarc::BundledRetainClaimRVs::insertRVCallWithColors(),llvm::PPCTTIImpl::instCombineIntrinsic(),llvm::X86TTIImpl::instCombineIntrinsic(),instCombineSVECondLast(),lowerKernelArguments(),llvm::AArch64TargetLowering::optimizeExtendOrTruncateConversion(),optimizeVectorResizeWithIntegerBitCasts(),promoteAllocaUserToVector(),scalarizeMaskedCompressStore(),scalarizeMaskedExpandLoad(),scalarizeMaskedGather(),scalarizeMaskedLoad(),scalarizeMaskedScatter(),scalarizeMaskedStore(),simplifyRelocatesOffABase(),simplifyX86extrq(),simplifyX86insertq(),simplifyX86MaskedStore(),simplifyX86movmsk(),llvm::coro::AnyRetconABI::splitCoroutine(),splitMergedValStore(),targetParallelCallback(),upgradeAMDGCNIntrinsicCall(),llvm::UpgradeARCRuntime(),llvm::UpgradeIntrinsicCall(),upgradeNVVMIntrinsicCall(),upgradePMULDQ(),upgradeX86IntrinsicCall(),upgradeX86PSLLDQIntrinsics(),upgradeX86PSRLDQIntrinsics(),upgradeX86VPERMT2Intrinsics(),llvm::versionCallSite(),llvm::InstCombinerImpl::visitBitCast(),llvm::InstCombinerImpl::visitCallInst(),llvm::InstCombinerImpl::visitFCmpInst(), andllvm::InstCombinerImpl::visitShuffleVectorInst().
| inline |
Definition at line2234 of fileIRBuilder.h.
ReferencesCreateBitCast(),CreateIntToPtr(),CreatePtrToInt(),llvm::Type::isIntOrIntVectorTy(),llvm::Type::isPtrOrPtrVectorTy(), andName.
Referenced bycoerceArguments(),createBitOrPointerCast(),instCombineSVEDupqLane(),llvm::InstCombinerImpl::mergeStoreIntoSuccessor(),promoteAllocaUserToVector(),replaceAsyncResumeFunction(),llvm::coro::AsyncABI::splitCoroutine(), andllvm::InstCombinerImpl::visitLoadInst().
| inline |
Create an unconditional 'br label X' instruction.
Definition at line1158 of fileIRBuilder.h.
Referencesllvm::BranchInst::Create(), andInsert().
Referenced byllvm::breakLoopBackedge(),llvm::ConstantFoldTerminator(),llvm::OpenMPIRBuilder::createAtomicCompare(),llvm::OpenMPIRBuilder::createCanonicalLoop(),llvm::OpenMPIRBuilder::createCopyinClauseBlocks(),llvm::OpenMPIRBuilder::createLoopSkeleton(),llvm::OpenMPIRBuilder::createParallel(),llvm::OpenMPIRBuilder::createReductions(),llvm::createSanitizerCtorAndInitFunctions(),llvm::OpenMPIRBuilder::createSection(),llvm::OpenMPIRBuilder::createSections(),llvm::deleteDeadLoop(),llvm::orc::IRSpeculationLayer::emit(),llvm::OpenMPIRBuilder::emitBranch(),llvm::SITargetLowering::emitExpandAtomicAddrSpacePredicate(),llvm::OpenMPIRBuilder::emitUserDefinedMapper(),llvm::VPIRBasicBlock::execute(),expandFPToI(),expandIToFP(),foldMemChr(),foldTwoEntryPHINode(),generateUnsignedDivisionCode(),llvm::coro::BaseCloner::handleFinalSuspend(),removeSwitchAfterSelectFold(),removeUndefIntroducingPredecessor(),rewritePHIsForCleanupPad(),switchToLookupTable(),versionCallSiteWithCond(), andworkshareLoopTargetCallback().
| inline |
Definition at line2477 of fileIRBuilder.h.
ReferencesCreateCall(), andName.
| inline |
Definition at line2471 of fileIRBuilder.h.
| inline |
Definition at line2460 of fileIRBuilder.h.
Referencesllvm::CallInst::Create(),FMF,Insert(),IsFPConstrained,Name, andsetConstrainedFPCallAttr().
| inline |
Definition at line2449 of fileIRBuilder.h.
Referenced bycallAppendArgs(),callAppendStringN(),callBufferedPrintfStart(),callPrintfBegin(),convertToRelLookupTable(),CreateAssumption(),llvm::OpenMPIRBuilder::createBarrier(),llvm::OpenMPIRBuilder::createCachedThreadPrivate(),CreateCall(),llvm::OpenMPIRBuilder::createCancel(),CreateConstrainedFPCall(),llvm::OpenMPIRBuilder::createCopyPrivate(),llvm::OpenMPIRBuilder::createCritical(),CreateFree(),CreateGCRelocates(),CreateGCStatepointCallCommon(),CreateLaunderInvariantGroup(),CreateMalloc(),llvm::OpenMPIRBuilder::createMasked(),llvm::OpenMPIRBuilder::createMaster(),llvm::coro::createMustTailCall(),llvm::OpenMPIRBuilder::createOMPAlloc(),llvm::OpenMPIRBuilder::createOMPFree(),llvm::OpenMPIRBuilder::createOMPInteropDestroy(),llvm::OpenMPIRBuilder::createOMPInteropInit(),llvm::OpenMPIRBuilder::createOMPInteropUse(),llvm::OpenMPIRBuilder::createOrderedDepend(),llvm::OpenMPIRBuilder::createOrderedThreadsSimd(),llvm::OpenMPIRBuilder::createParallel(),llvm::OpenMPIRBuilder::createReductions(),llvm::OpenMPIRBuilder::createReductionsGPU(),llvm::orc::ReOptimizeLayer::createReoptimizeCall(),llvm::createSanitizerCtorAndInitFunctions(),llvm::OpenMPIRBuilder::createSingle(),CreateStripInvariantGroup(),llvm::OpenMPIRBuilder::createTargetData(),llvm::OpenMPIRBuilder::createTargetDeinit(),llvm::OpenMPIRBuilder::createTargetInit(),createTargetLoopWorkshareCall(),llvm::OpenMPIRBuilder::createTask(),llvm::OpenMPIRBuilder::createTaskgroup(),llvm::OpenMPIRBuilder::createTeams(),createThunk(),llvm::Instruction::dropPoisonGeneratingReturnAttributes(),llvm::orc::IRSpeculationLayer::emit(),llvm::coro::Shape::emitAlloc(),llvm::AtomicInfo::EmitAtomicLibcall(),llvm::AtomicInfo::EmitAtomicLoadLibcall(),llvm::coro::Shape::emitDealloc(),llvm::OpenMPIRBuilder::emitFlush(),emitGetSwiftErrorValue(),llvm::OpenMPIRBuilder::emitMapperCall(),llvm::PPCTargetLowering::emitMaskedAtomicCmpXchgIntrinsic(),llvm::LoongArchTargetLowering::emitMaskedAtomicRMWIntrinsic(),llvm::RISCVTargetLowering::emitMaskedAtomicRMWIntrinsic(),emitSetSwiftErrorValue(),llvm::AArch64TargetLowering::emitStoreConditional(),llvm::ARMTargetLowering::emitStoreConditional(),llvm::OpenMPIRBuilder::emitTargetKernel(),llvm::OpenMPIRBuilder::emitTargetTask(),emitTargetTaskProxyFunction(),llvm::OpenMPIRBuilder::emitTaskwaitImpl(),llvm::OpenMPIRBuilder::emitTaskyieldImpl(),emitTPIDR2Save(),llvm::OpenMPIRBuilder::emitUserDefinedMapper(),llvm::VPWidenIntrinsicRecipe::execute(),llvm::VPWidenCallRecipe::execute(),expandIToFP(),llvm::AMDGPU::generateCrashCode(),generateUnsignedDivisionCode(),llvm::memtag::getAndroidSlotPtr(),llvm::OpenMPIRBuilder::getOrCreateThreadID(),llvm::TargetLoweringBase::getSafeStackPointerLocation(),hostParallelCallback(),llvm::InlineFunction(),InsertCall(),llvm::SampleProfileProber::instrumentOneFunc(),lowerAwaitSuspend(),llvm::AArch64TargetLowering::lowerDeinterleaveIntrinsicToLoad(),llvm::lowerGlobalIFuncUsersAsGlobalCtor(),llvm::AArch64TargetLowering::lowerInterleavedLoad(),llvm::AArch64TargetLowering::lowerInterleavedStore(),llvm::RISCVTargetLowering::lowerInterleavedStore(),llvm::AArch64TargetLowering::lowerInterleaveIntrinsicToStore(),llvm::RISCVTargetLowering::lowerInterleaveIntrinsicToStore(),lowerObjCCall(),llvm::lowerUnaryVectorIntrinsicAsLoop(),llvm::orc::makeStub(),processUGT_ADDCST_ADD(),ReplaceCallWith(),replaceWithTLIFunction(),targetParallelCallback(),llvm::dxil::DXILOpBuilder::tryCreateOp(),llvm::UpgradeARCRuntime(),llvm::UpgradeIntrinsicCall(),upgradeNVVMIntrinsicCall(),upgradeX86IntrinsicCall(),UseTlsOffset(),useTpOffset(), andllvm::InstCombinerImpl::visitCallInst().
| inline |
Definition at line1266 of fileIRBuilder.h.
ReferencesCreateCallBr(), andName.
| inline |
Definition at line1259 of fileIRBuilder.h.
| inline |
Definition at line1248 of fileIRBuilder.h.
Referencesllvm::CallBrInst::Create(),Insert(), andName.
| inline |
| inline |
Definition at line2186 of fileIRBuilder.h.
Referenced bybuildNew(),llvm::InstCombinerImpl::commonCastTransforms(),llvm::sandboxir::CastInst::create(),CreateAddrSpaceCast(),CreateBitCast(),CreateFPCast(),CreateFPExtFMF(),CreateFPToSI(),CreateFPToUI(),CreateFPTruncFMF(),CreateIntCast(),CreateIntToPtr(),CreatePtrToInt(),CreateSExt(),CreateSExtOrBitCast(),CreateSIToFP(),CreateTruncOrBitCast(),CreateZExtOrBitCast(),llvm::VPWidenCastRecipe::execute(),llvm::VPWidenIntOrFpInductionRecipe::execute(),llvm::InstCombinerImpl::foldICmpWithZextOrSext(),generateNewInstTree(),scalarize(),shrinkInsertElt(),simplifyX86pmadd(),simplifyX86pmulh(), andllvm::InstCombinerImpl::visitCallInst().
| inline |
Definition at line1291 of fileIRBuilder.h.
Referencesllvm::CatchPadInst::Create(),Insert(), andName.
Referenced byllvm::sandboxir::CatchPadInst::create().
| inline |
Definition at line1302 of fileIRBuilder.h.
ReferencesBB,llvm::CatchReturnInst::Create(), andInsert().
Referenced byllvm::sandboxir::CatchReturnInst::create().
| inline |
Definition at line1284 of fileIRBuilder.h.
Referencesllvm::CatchSwitchInst::Create(),Insert(), andName.
| inline |
Definition at line1296 of fileIRBuilder.h.
| inline |
Definition at line1279 of fileIRBuilder.h.
Referencesllvm::CleanupReturnInst::Create(), andInsert().
Referenced byllvm::Instruction::getOpcodeName(), andreplaceUnwindCoroEnd().
| inline |
Definition at line2404 of fileIRBuilder.h.
ReferencesCreateFCmp(),CreateICmp(),llvm::CmpInst::isFPPredicate(),LHS,Name, andRHS.
Referenced byllvm::sandboxir::CmpInst::create(),llvm::OpenMPIRBuilder::createAtomicCompare(),llvm::createFindLastIVReduction(),llvm::createMinMaxOp(),foldVectorCmp(),generateNewInstTree(),llvm::InstCombiner::getFreelyInvertedImpl(), andoptimizeBranch().
| inline |
Create a conditional 'br Cond, TrueDest, FalseDest' instruction.
Copy branch meta data if available.
Definition at line1173 of fileIRBuilder.h.
ReferencesCond,llvm::Instruction::copyMetadata(),llvm::BranchInst::Create(), andInsert().
| inline |
Create a conditional 'br Cond, TrueDest, FalseDest' instruction.
Definition at line1164 of fileIRBuilder.h.
ReferencesCond,llvm::BranchInst::Create(), andInsert().
Referenced bybuildPartialInvariantUnswitchConditionalBranch(),buildPartialUnswitchConditionalBranch(),CloneLoopBlocks(),llvm::ConstantFoldTerminator(),llvm::OpenMPIRBuilder::createAtomicCompare(),llvm::OpenMPIRBuilder::createCopyinClauseBlocks(),llvm::OpenMPIRBuilder::createLoopSkeleton(),llvm::createMemCpyLoopKnownSize(),createMemMoveLoopKnownSize(),createMemMoveLoopUnknownSize(),createMemSetLoop(),llvm::OpenMPIRBuilder::createReductionsGPU(),llvm::createSanitizerCtorAndInitFunctions(),llvm::OpenMPIRBuilder::createTargetInit(),llvm::deleteDeadLoop(),despeculateCountZeros(),llvm::orc::IRSpeculationLayer::emit(),llvm::OpenMPIRBuilder::emitCancelationCheckImpl(),llvm::SITargetLowering::emitExpandAtomicAddrSpacePredicate(),llvm::OpenMPIRBuilder::emitIfClause(),llvm::OpenMPIRBuilder::emitKernelLaunch(),llvm::OpenMPIRBuilder::emitUserDefinedMapper(),expandFPToI(),expandIToFP(),generateUnsignedDivisionCode(),getStrlenWithNull(),llvm::coro::BaseCloner::handleFinalSuspend(),injectPendingInvariantConditions(),llvm::lowerUnaryVectorIntrinsicAsLoop(),simplifySwitchOfCmpIntrinsic(),llvm::SplitBlockAndInsertSimpleForLoop(),llvm::splitLoopBound(),switchToLookupTable(), andllvm::LoopVersioning::versionLoop().
| inline |
Definition at line1887 of fileIRBuilder.h.
ReferencesContext,llvm::GetElementPtrInst::Create(),Folder,llvm::IRBuilderFolder::FoldGEP(),llvm::Type::getInt32Ty(),Idx,Insert(),Name,llvm::GEPNoWrapFlags::none(), andPtr.
Referenced byllvm::OpenMPIRBuilder::emitUserDefinedMapper(),llvm::memtag::getAndroidSlotPtr(),llvm::AArch64TargetLowering::lowerInterleavedLoad(),llvm::ARMTargetLowering::lowerInterleavedLoad(),llvm::AArch64TargetLowering::lowerInterleavedStore(),llvm::ARMTargetLowering::lowerInterleavedStore(),UseTlsOffset(), anduseTpOffset().
| inline |
Definition at line1934 of fileIRBuilder.h.
ReferencesContext,llvm::GetElementPtrInst::Create(),Folder,llvm::IRBuilderFolder::FoldGEP(),llvm::Type::getInt64Ty(),Idx,Insert(),Name,llvm::GEPNoWrapFlags::none(), andPtr.
| inline |
Definition at line1907 of fileIRBuilder.h.
ReferencesContext,llvm::GetElementPtrInst::Create(),Folder,llvm::IRBuilderFolder::FoldGEP(),llvm::Type::getInt32Ty(),Insert(),Name, andPtr.
Referenced byCreateStructGEP().
| inline |
Definition at line1954 of fileIRBuilder.h.
ReferencesContext,llvm::GetElementPtrInst::Create(),Folder,llvm::IRBuilderFolder::FoldGEP(),llvm::Type::getInt64Ty(),Insert(),Name,llvm::GEPNoWrapFlags::none(), andPtr.
| inline |
Definition at line1897 of fileIRBuilder.h.
ReferencesContext,llvm::GetElementPtrInst::CreateInBounds(),Folder,llvm::IRBuilderFolder::FoldGEP(),llvm::Type::getInt32Ty(),Idx,llvm::GEPNoWrapFlags::inBounds(),Insert(),Name, andPtr.
Referenced bycallBufferedPrintfArgPush(),llvm::emitAMDGPUPrintfCall(),llvm::KCFIPass::run(),scalarizeMaskedCompressStore(),scalarizeMaskedExpandLoad(),scalarizeMaskedLoad(),scalarizeMaskedStore(), andllvm::coro::AsyncABI::splitCoroutine().
| inline |
Definition at line1944 of fileIRBuilder.h.
ReferencesContext,llvm::GetElementPtrInst::CreateInBounds(),Folder,llvm::IRBuilderFolder::FoldGEP(),llvm::Type::getInt64Ty(),Idx,llvm::GEPNoWrapFlags::inBounds(),Insert(),Name, andPtr.
Referenced bylowerKernelArguments().
| inline |
Definition at line1921 of fileIRBuilder.h.
ReferencesContext,llvm::GetElementPtrInst::CreateInBounds(),Folder,llvm::IRBuilderFolder::FoldGEP(),llvm::Type::getInt32Ty(),llvm::GEPNoWrapFlags::inBounds(),Insert(),Name, andPtr.
Referenced byllvm::OpenMPIRBuilder::emitNonContiguousDescriptor(),llvm::OpenMPIRBuilder::emitOffloadingArrays(),llvm::OpenMPIRBuilder::emitOffloadingArraysArgument(),insertSpills(),llvm::lowerGlobalIFuncUsersAsGlobalCtor(), andlowerSubFn().
| inline |
Definition at line1967 of fileIRBuilder.h.
ReferencesContext,llvm::GetElementPtrInst::CreateInBounds(),Folder,llvm::IRBuilderFolder::FoldGEP(),llvm::Type::getInt64Ty(),llvm::GEPNoWrapFlags::inBounds(),Insert(),Name, andPtr.
Referenced byllvm::OpenMPIRBuilder::createReductions(),llvm::OpenMPIRBuilder::createTask(),emitTaskDependencies(), andtargetParallelCallback().
CallInst * IRBuilderBase::CreateConstrainedFPBinOp | ( | Intrinsic::ID | ID, |
Value * | L, | ||
Value * | R, | ||
FMFSource | FMFSource ={} , | ||
constTwine & | Name ="" , | ||
MDNode * | FPMathTag =nullptr , | ||
std::optional<RoundingMode > | Rounding =std::nullopt , | ||
std::optional<fp::ExceptionBehavior > | Except =std::nullopt | ||
) |
Definition at line937 of fileIRBuilder.cpp.
Referencesllvm::CallingConv::C,CreateIntrinsic(),FMF,llvm::FMFSource::get(),Name, andsetConstrainedFPCallAttr().
Referenced byCreateFAddFMF(),CreateFDivFMF(),CreateFMulFMF(),CreateFRemFMF(), andCreateFSubFMF().
CallInst * IRBuilderBase::CreateConstrainedFPCall | ( | Function * | Callee, |
ArrayRef<Value * > | Args, | ||
constTwine & | Name ="" , | ||
std::optional<RoundingMode > | Rounding =std::nullopt , | ||
std::optional<fp::ExceptionBehavior > | Except =std::nullopt | ||
) |
CallInst * IRBuilderBase::CreateConstrainedFPCast | ( | Intrinsic::ID | ID, |
Value * | V, | ||
Type * | DestTy, | ||
FMFSource | FMFSource ={} , | ||
constTwine & | Name ="" , | ||
MDNode * | FPMathTag =nullptr , | ||
std::optional<RoundingMode > | Rounding =std::nullopt , | ||
std::optional<fp::ExceptionBehavior > | Except =std::nullopt | ||
) |
Definition at line983 of fileIRBuilder.cpp.
Referencesllvm::CallingConv::C,CreateIntrinsic(),FMF,llvm::FMFSource::get(),llvm::Intrinsic::hasConstrainedFPRoundingModeOperand(),Name, andsetConstrainedFPCallAttr().
Referenced byCreateFPExtFMF(),CreateFPToSI(),CreateFPToUI(),CreateFPTruncFMF(),CreateSIToFP(), andCreateUIToFP().
CallInst * IRBuilderBase::CreateConstrainedFPCmp | ( | Intrinsic::ID | ID, |
CmpInst::Predicate | P, | ||
Value * | L, | ||
Value * | R, | ||
constTwine & | Name ="" , | ||
std::optional<fp::ExceptionBehavior > | Except =std::nullopt | ||
) |
Definition at line1024 of fileIRBuilder.cpp.
Referencesllvm::CallingConv::C,CreateIntrinsic(),Name,P, andsetConstrainedFPCallAttr().
CallInst * IRBuilderBase::CreateConstrainedFPUnroundedBinOp | ( | Intrinsic::ID | ID, |
Value * | L, | ||
Value * | R, | ||
FMFSource | FMFSource ={} , | ||
constTwine & | Name ="" , | ||
MDNode * | FPMathTag =nullptr , | ||
std::optional<fp::ExceptionBehavior > | Except =std::nullopt | ||
) |
Definition at line953 of fileIRBuilder.cpp.
Referencesllvm::CallingConv::C,CreateIntrinsic(),FMF,llvm::FMFSource::get(),Name, andsetConstrainedFPCallAttr().
Referenced byCreateMaxNum(), andCreateMinNum().
| inline |
Create call to the copysign intrinsic.
Definition at line1050 of fileIRBuilder.h.
Referenced byfoldCopySignIdioms(),llvm::InstCombinerImpl::visitCallInst(), andllvm::InstCombinerImpl::visitFNeg().
| inline |
Create a call to llvm.experimental_cttz_elts.
Definition at line1101 of fileIRBuilder.h.
ReferencesCreateIntrinsic(),getInt1(), andName.
Value * IRBuilderBase::CreateElementCount | ( | Type * | DstType, |
ElementCount | EC | ||
) |
Create an expression which evaluates to the number of elements inEC
at runtime.
Definition at line98 of fileIRBuilder.cpp.
ReferencesCreateVScale().
Referenced byllvm::SplitBlockAndInsertForEachLane().
CallInst * IRBuilderBase::CreateElementUnorderedAtomicMemCpy | ( | Value * | Dst, |
Align | DstAlign, | ||
Value * | Src, | ||
Align | SrcAlign, | ||
Value * | Size, | ||
uint32_t | ElementSize, | ||
MDNode * | TBAATag =nullptr , | ||
MDNode * | TBAAStructTag =nullptr , | ||
MDNode * | ScopeTag =nullptr , | ||
MDNode * | NoAliasTag =nullptr | ||
) |
Create and insert an element unordered-atomic memcpy between the specified pointers.
DstAlign/SrcAlign are the alignments of the Dst/Src pointers, respectively.
If the pointers aren't i8*, they will be converted. If a TBAA tag is specified, it will be added to the instruction. Likewise with alias.scope and noalias tags.
Definition at line247 of fileIRBuilder.cpp.
Referencesassert(),CreateIntrinsic(),getInt32(),llvm::Instruction::setMetadata(), andSize.
CallInst * IRBuilderBase::CreateElementUnorderedAtomicMemMove | ( | Value * | Dst, |
Align | DstAlign, | ||
Value * | Src, | ||
Align | SrcAlign, | ||
Value * | Size, | ||
uint32_t | ElementSize, | ||
MDNode * | TBAATag =nullptr , | ||
MDNode * | TBAAStructTag =nullptr , | ||
MDNode * | ScopeTag =nullptr , | ||
MDNode * | NoAliasTag =nullptr | ||
) |
Create and insert an element unordered-atomic memmove between the specified pointers.
DstAlign/SrcAlign are the alignments of the Dst/Src pointers, respectively.
If the pointers aren't i8*, they will be converted. If a TBAA tag is specified, it will be added to the instruction. Likewise with alias.scope and noalias tags.
Definition at line361 of fileIRBuilder.cpp.
Referencesllvm::CallBase::addParamAttr(),assert(),CreateIntrinsic(),llvm::Value::getContext(),getInt32(),llvm::Attribute::getWithAlignment(),llvm::Instruction::setMetadata(), andSize.
| inline |
Create and insert an element unordered-atomic memset of the region of memory starting at the given pointer to the given value.
If the pointer isn't an i8*, it will be converted. If a TBAA tag is specified, it will be added to the instruction. Likewise with alias.scope and noalias tags.
Definition at line639 of fileIRBuilder.h.
ReferencesCreateElementUnorderedAtomicMemSet(),getInt64(),Ptr, andSize.
Referenced byCreateElementUnorderedAtomicMemSet().
CallInst * IRBuilderBase::CreateElementUnorderedAtomicMemSet | ( | Value * | Ptr, |
Value * | Val, | ||
Value * | Size, | ||
Align | Alignment, | ||
uint32_t | ElementSize, | ||
MDNode * | TBAATag =nullptr , | ||
MDNode * | ScopeTag =nullptr , | ||
MDNode * | NoAliasTag =nullptr | ||
) |
Definition at line187 of fileIRBuilder.cpp.
ReferencesCreateIntrinsic(),getInt32(),Ptr,llvm::Instruction::setMetadata(), andSize.
Definition at line1443 of fileIRBuilder.h.
ReferencesCreateSDiv(),LHS,Name, andRHS.
Referenced byCreatePtrDiff().
Definition at line1430 of fileIRBuilder.h.
ReferencesCreateUDiv(),LHS,Name, andRHS.
Referenced byllvm::OpenMPIRBuilder::emitUserDefinedMapper().
| inline |
Definition at line2506 of fileIRBuilder.h.
ReferencesCreateExtractElement(),getInt64(),Idx, andName.
| inline |
Definition at line2499 of fileIRBuilder.h.
Referencesllvm::ExtractElementInst::Create(),Folder,llvm::IRBuilderFolder::FoldExtractElement(),Idx,Insert(), andName.
Referenced byllvm::sandboxir::ExtractElementInst::create(),CreateExtractElement(),createTypedBufferLoad(),emitX86ScalarSelect(),expandAnyOrAllIntrinsic(),expandCrossIntrinsic(),expandIntegerDotIntrinsic(),expandVecReduceAdd(),extractValues(),llvm::InstCombinerImpl::foldICmpBitCast(),llvm::VPTransformState::get(),llvm::getOrderedReduction(),llvm::getShuffleReduction(),llvm::PPCTTIImpl::instCombineIntrinsic(),llvm::X86TTIImpl::instCombineIntrinsic(),instCombineSVETBL(),llvm::lowerUnaryVectorIntrinsicAsLoop(),populateOperands(),promoteAllocaUserToVector(),scalarize(),scalarizeMaskedCompressStore(),scalarizeMaskedExpandLoad(),scalarizeMaskedGather(),scalarizeMaskedLoad(),scalarizeMaskedScatter(),scalarizeMaskedStore(),scalarizeMaskedVectorHistogram(),simplifyAMDGCNMemoryIntrinsicDemanded(),translateExtract(),upgradeMaskedMove(),upgradeX86IntrinsicCall(),llvm::slpvectorizer::BoUpSLP::vectorizeTree(),llvm::InstCombinerImpl::visitBitCast(),llvm::InstCombinerImpl::visitExtractElementInst(), andllvm::InstCombinerImpl::visitShuffleVectorInst().
| inline |
Definition at line2555 of fileIRBuilder.h.
Referencesllvm::ExtractValueInst::Create(),Folder,llvm::IRBuilderFolder::FoldExtractValue(),Insert(), andName.
Referenced byllvm::sandboxir::ExtractValueInst::create(),llvm::OpenMPIRBuilder::createAtomicCompare(),createCast(),createCmpXchgInstFun(),createRawLoad(),createTypedBufferLoad(),createTypedBufferStore(),llvm::AtomicInfo::EmitAtomicCompareExchangeOp(),emitImplicitCast(),llvm::AArch64TargetLowering::emitLoadLinked(),llvm::ARMTargetLowering::emitLoadLinked(),llvm::PPCTargetLowering::emitMaskedAtomicCmpXchgIntrinsic(),llvm::PPCTargetLowering::emitMaskedAtomicRMWIntrinsic(),llvm::VPInterleaveRecipe::execute(),FlattenLoopPair(),llvm::InstCombinerImpl::foldMultiplicationOverflowCheck(),llvm::SCEVExpander::generateOverflowCheck(),llvm::AArch64TargetLowering::lowerDeinterleaveIntrinsicToLoad(),llvm::RISCVTargetLowering::lowerDeinterleaveIntrinsicToLoad(),llvm::AArch64TargetLowering::lowerInterleavedLoad(),llvm::ARMTargetLowering::lowerInterleavedLoad(),llvm::RISCVTargetLowering::lowerInterleavedLoad(),processUGT_ADDCST_ADD(),processUMulZExtIdiom(),simplifyX86addcarry(),unpackStoreToAggregate(),llvm::UpgradeIntrinsicCall(),upgradeX86IntrinsicCall(), andllvm::InstCombinerImpl::visitExtractValueInst().
| inline |
Create a call to the vector.extract intrinsic.
Definition at line1072 of fileIRBuilder.h.
ReferencesCreateIntrinsic(),llvm::Value::getType(),Idx, andName.
Referenced bycreateExtractVector(),llvm::GCNTTIImpl::instCombineIntrinsic(),llvm::AArch64TargetLowering::lowerInterleavedLoad(), andllvm::AArch64TargetLowering::lowerInterleaveIntrinsicToStore().
| inline |
Definition at line1576 of fileIRBuilder.h.
ReferencesCreateFAddFMF(), andName.
Referenced byllvm::buildAtomicRMWValue(),expandAtan2Intrinsic(),expandLerpIntrinsic(),expandVecReduceAdd(),llvm::X86TTIImpl::instCombineIntrinsic(), andupgradeX86IntrinsicCall().
| inline |
Definition at line1581 of fileIRBuilder.h.
ReferencesCreateConstrainedFPBinOp(),FMF,llvm::IRBuilderFolder::FoldBinOpFMF(),Folder,llvm::FMFSource::get(),I,Insert(),IsFPConstrained, andName.
Referenced byCreateFAdd(),factorizeFAddFSub(),llvm::InstCombinerImpl::foldFMulReassoc(),llvm::InstCombinerImpl::foldSquareSumFP(),llvm::GCNTTIImpl::instCombineIntrinsic(),llvm::InstCombinerImpl::visitFDiv(), andllvm::InstCombinerImpl::visitFSub().
Create a sequential vector fadd reduction intrinsic of the source vector.
The first parameter is a scalar accumulator value. An unordered reduction can be created by adding the reassoc fast-math flag to the resulting sequential reduction.
Definition at line402 of fileIRBuilder.cpp.
ReferencesCreateIntrinsic().
Referenced byllvm::createSimpleReduction().
| inline |
Definition at line2390 of fileIRBuilder.h.
Referenced bybuildNew(),CreateCmp(),CreateFCmpOEQ(),CreateFCmpOGE(),CreateFCmpOGT(),CreateFCmpOLE(),CreateFCmpOLT(),CreateFCmpONE(),CreateFCmpORD(),CreateFCmpUEQ(),CreateFCmpUGE(),CreateFCmpUGT(),CreateFCmpULE(),CreateFCmpULT(),CreateFCmpUNE(),CreateFCmpUNO(), andfoldLogOpOfMaskedICmps_NotAllZeros_BMask_Mixed().
| inline |
Definition at line2398 of fileIRBuilder.h.
Referenced byllvm::VPWidenRecipe::execute(),getFCmpValue(),matchIsFiniteTest(), andreassociateFCmps().
| inline |
Definition at line2310 of fileIRBuilder.h.
ReferencesCreateFCmp(),llvm::CmpInst::FCMP_OEQ,LHS,Name, andRHS.
Referenced byexpandAtan2Intrinsic().
| inline |
Definition at line2320 of fileIRBuilder.h.
ReferencesCreateFCmp(),llvm::CmpInst::FCMP_OGE,LHS,Name, andRHS.
Referenced byexpandAtan2Intrinsic(), andoptimizeSQRT().
| inline |
Definition at line2315 of fileIRBuilder.h.
ReferencesCreateFCmp(),llvm::CmpInst::FCMP_OGT,LHS,Name, andRHS.
| inline |
Definition at line2330 of fileIRBuilder.h.
ReferencesCreateFCmp(),llvm::CmpInst::FCMP_OLE,LHS,Name, andRHS.
| inline |
Definition at line2325 of fileIRBuilder.h.
ReferencesCreateFCmp(),llvm::CmpInst::FCMP_OLT,LHS,Name, andRHS.
Referenced byemitRsqIEEE1ULP(),expandAtan2Intrinsic(),expandSignIntrinsic(), andexpandStepIntrinsic().
| inline |
Definition at line2335 of fileIRBuilder.h.
ReferencesCreateFCmp(),llvm::CmpInst::FCMP_ONE,LHS,Name, andRHS.
| inline |
Definition at line2340 of fileIRBuilder.h.
ReferencesCreateFCmp(),llvm::CmpInst::FCMP_ORD,LHS,Name, andRHS.
Referenced byoptimizeSQRT().
| inline |
Definition at line2350 of fileIRBuilder.h.
ReferencesCreateFCmp(),llvm::CmpInst::FCMP_UEQ,LHS,Name, andRHS.
| inline |
Definition at line2360 of fileIRBuilder.h.
ReferencesCreateFCmp(),llvm::CmpInst::FCMP_UGE,LHS,Name, andRHS.
| inline |
Definition at line2355 of fileIRBuilder.h.
ReferencesCreateFCmp(),llvm::CmpInst::FCMP_UGT,LHS,Name, andRHS.
| inline |
Definition at line2370 of fileIRBuilder.h.
ReferencesCreateFCmp(),llvm::CmpInst::FCMP_ULE,LHS,Name, andRHS.
| inline |
Definition at line2365 of fileIRBuilder.h.
ReferencesCreateFCmp(),llvm::CmpInst::FCMP_ULT,LHS,Name, andRHS.
| inline |
Definition at line2375 of fileIRBuilder.h.
ReferencesCreateFCmp(),llvm::CmpInst::FCMP_UNE,LHS,Name, andRHS.
Referenced byexpandAnyOrAllIntrinsic().
| inline |
Definition at line2345 of fileIRBuilder.h.
ReferencesCreateFCmp(),llvm::CmpInst::FCMP_UNO,LHS,Name, andRHS.
| inline |
Definition at line1633 of fileIRBuilder.h.
ReferencesCreateFDivFMF(), andName.
Referenced byexpandAtan2Intrinsic(),expandNormalizeIntrinsic(),llvm::X86TTIImpl::instCombineIntrinsic(), andupgradeX86IntrinsicCall().
| inline |
Definition at line1638 of fileIRBuilder.h.
ReferencesCreateConstrainedFPBinOp(),FMF,llvm::IRBuilderFolder::FoldBinOpFMF(),Folder,llvm::FMFSource::get(),I,Insert(),IsFPConstrained, andName.
Referenced byCreateFDiv(),foldFDivSqrtDivisor(),llvm::InstCombinerImpl::visitFAdd(), andllvm::InstCombinerImpl::visitFSub().
| inline |
Definition at line1842 of fileIRBuilder.h.
ReferencesContext,Insert(), andName.
Referenced byllvm::TargetLoweringBase::emitLeadingFence(),llvm::RISCVTargetLowering::emitLeadingFence(),llvm::VETargetLowering::emitLeadingFence(),llvm::TargetLoweringBase::emitTrailingFence(),llvm::RISCVTargetLowering::emitTrailingFence(), andllvm::VETargetLowering::emitTrailingFence().
| inline |
Definition at line1614 of fileIRBuilder.h.
ReferencesCreateFMulFMF(), andName.
Referenced bybuildMultiplyTree(),emitRsqIEEE1ULP(),expandCrossIntrinsic(),expandDegreesIntrinsic(),expandExpIntrinsic(),expandLerpIntrinsic(),expandLogIntrinsic(),expandNormalizeIntrinsic(),expandPowIntrinsic(),expandRadiansIntrinsic(),getStepVector(),llvm::X86TTIImpl::instCombineIntrinsic(), andupgradeX86IntrinsicCall().
| inline |
Definition at line1619 of fileIRBuilder.h.
ReferencesCreateConstrainedFPBinOp(),FMF,llvm::IRBuilderFolder::FoldBinOpFMF(),Folder,llvm::FMFSource::get(),I,Insert(),IsFPConstrained, andName.
Referenced byCreateFMul(),factorizeLerp(),llvm::InstCombinerImpl::foldFMulReassoc(),hoistMulAddAssociation(),llvm::GCNTTIImpl::instCombineIntrinsic(),llvm::InstCombinerImpl::visitFAdd(),llvm::InstCombinerImpl::visitFDiv(),llvm::InstCombinerImpl::visitFMul(), andllvm::InstCombinerImpl::visitFSub().
Create a sequential vector fmul reduction intrinsic of the source vector.
The first parameter is a scalar accumulator value. An unordered reduction can be created by adding the reassoc fast-math flag to the resulting sequential reduction.
Definition at line407 of fileIRBuilder.cpp.
ReferencesCreateIntrinsic().
Referenced byllvm::createSimpleReduction().
| inline |
Definition at line1742 of fileIRBuilder.h.
ReferencesCreateFNegFMF(), andName.
Referenced byupgradeX86IntrinsicCall(),llvm::InstCombinerImpl::visitCallInst(),llvm::InstCombinerImpl::visitOr(), andllvm::InstCombinerImpl::visitXor().
| inline |
Definition at line1747 of fileIRBuilder.h.
ReferencesFMF,Folder,llvm::IRBuilderFolder::FoldUnOpFMF(),llvm::FMFSource::get(),Insert(), andName.
Referenced byCreateFNeg(),foldFDivPowDivisor(),foldMulSelectToNegate(),llvm::InstCombinerImpl::visitCallInst(),llvm::InstCombinerImpl::visitFMul(),llvm::InstCombinerImpl::visitFNeg(), andllvm::InstCombinerImpl::visitFPTrunc().
| inline |
Definition at line2246 of fileIRBuilder.h.
ReferencesCreateCast(),llvm::Type::getScalarSizeInBits(), andName.
Referenced byconvertTo16Bit(), andemitImplicitCast().
| inline |
Definition at line2128 of fileIRBuilder.h.
ReferencesCreateFPExtFMF(), andName.
Referenced byexpandFPToI(),processNonStringArg(),tryInterleave(),upgradeX86IntrinsicCall(), andllvm::InstCombinerImpl::visitFSub().
| inline |
Definition at line2133 of fileIRBuilder.h.
ReferencesCreateCast(),CreateConstrainedFPCast(),IsFPConstrained, andName.
Referenced byCreateFPExt().
Create a vector float maximum reduction intrinsic of the source vector.
This variant follows the NaN and signed zero semantic ofllvm.maximum intrinsic.
Definition at line452 of fileIRBuilder.cpp.
Create a vector float max reduction intrinsic of the source vector.
Definition at line444 of fileIRBuilder.cpp.
Create a vector float minimum reduction intrinsic of the source vector.
This variant follows the NaN and signed zero semantic ofllvm.minimum intrinsic.
Definition at line456 of fileIRBuilder.cpp.
Create a vector float min reduction intrinsic of the source vector.
Definition at line448 of fileIRBuilder.cpp.
Definition at line2086 of fileIRBuilder.h.
ReferencesCreateCast(),CreateConstrainedFPCast(),IsFPConstrained, andName.
Referenced byemitImplicitCast(), andexpandFPToI().
Definition at line2079 of fileIRBuilder.h.
ReferencesCreateCast(),CreateConstrainedFPCast(),IsFPConstrained, andName.
Referenced byexpandFPToI(), andllvm::AArch64TargetLowering::optimizeExtendOrTruncateConversion().
| inline |
Definition at line2113 of fileIRBuilder.h.
ReferencesCreateFPTruncFMF(), andName.
Referenced byexpandIToFP(),upgradeAArch64IntrinsicCall(),llvm::InstCombinerImpl::visitFPTrunc(), andllvm::InstCombinerImpl::visitFSub().
| inline |
Definition at line2118 of fileIRBuilder.h.
ReferencesCreateCast(),CreateConstrainedFPCast(),IsFPConstrained, andName.
Referenced byCreateFPTrunc(), andllvm::InstCombinerImpl::visitFPTrunc().
CallInst * IRBuilderBase::CreateFree | ( | Value * | Source, |
ArrayRef<OperandBundleDef > | Bundles ={} | ||
) |
Generate the IR for a call to the builtin free function.
CreateFree - Generate the IR for a call to the builtin free function.
Definition at line342 of fileIRBuilder.cpp.
Referencesassert(),BB,CreateCall(),F,llvm::FunctionCallee::getCallee(),llvm::GlobalValue::getParent(),llvm::BasicBlock::getParent(),llvm::PointerType::getUnqual(), andllvm::Type::getVoidTy().
Definition at line2574 of fileIRBuilder.h.
Referenced byllvm::addDiffRuntimeChecks(),buildPartialUnswitchConditionalBranch(),llvm::InstCombinerImpl::commonIDivTransforms(),llvm::createAnyOfReduction(),llvm::slpvectorizer::BoUpSLP::ShuffleInstructionBuilder::createFreeze(),despeculateCountZeros(),llvm::VPWidenRecipe::execute(),expandBounds(),foldAndOrOfICmpEqConstantAndICmp(),llvm::InstCombinerImpl::foldFreezeIntoRecurrence(),foldGuardedFunnelShift(),foldLogOpOfMaskedICmps(),foldMulShl1(),llvm::InstCombinerImpl::foldSelectOpOp(),generateSignedDivisionCode(),generateSignedRemainderCode(),generateUnsignedDivisionCode(),generateUnsignedRemainderCode(),hoistMinMax(),llvm::InstCombinerImpl::pushFreezeToPreventPoisonFromPropagating(),llvm::InstCombinerImpl::visitMul(),llvm::InstCombinerImpl::visitURem(), andllvm::InstCombinerImpl::visitXor().
| inline |
Definition at line1652 of fileIRBuilder.h.
ReferencesCreateFRemFMF(), andName.
| inline |
Definition at line1657 of fileIRBuilder.h.
ReferencesCreateConstrainedFPBinOp(),FMF,llvm::IRBuilderFolder::FoldBinOpFMF(),Folder,llvm::FMFSource::get(),I,Insert(),IsFPConstrained, andName.
Referenced byCreateFRem(), andllvm::InstCombinerImpl::visitFPTrunc().
| inline |
Definition at line1595 of fileIRBuilder.h.
ReferencesCreateFSubFMF(), andName.
Referenced byllvm::buildAtomicRMWValue(),expandAtan2Intrinsic(),expandCrossIntrinsic(),expandLerpIntrinsic(),llvm::X86TTIImpl::instCombineIntrinsic(), andupgradeX86IntrinsicCall().
| inline |
Definition at line1600 of fileIRBuilder.h.
ReferencesCreateConstrainedFPBinOp(),FMF,llvm::IRBuilderFolder::FoldBinOpFMF(),Folder,llvm::FMFSource::get(),I,Insert(),IsFPConstrained, andName.
Referenced byCreateFSub(),factorizeFAddFSub(),factorizeLerp(), andllvm::InstCombinerImpl::visitFSub().
Create a call to the experimental.gc.pointer.base intrinsic to get the base pointer for the specified derived pointer.
Definition at line867 of fileIRBuilder.cpp.
ReferencesCreateIntrinsic(),llvm::Value::getType(), andName.
Create a call to the experimental.gc.get.pointer.offset intrinsic to get the offset of the specified derived pointer from its base.
Definition at line874 of fileIRBuilder.cpp.
ReferencesCreateIntrinsic(),llvm::Value::getType(), andName.
CallInst * IRBuilderBase::CreateGCRelocate | ( | Instruction * | Statepoint, |
int | BaseOffset, | ||
int | DerivedOffset, | ||
Type * | ResultType, | ||
constTwine & | Name ="" | ||
) |
Create a call to the experimental.gc.relocate intrinsics to project the relocated value of one pointer from the statepoint.
Definition at line857 of fileIRBuilder.cpp.
ReferencesCreateIntrinsic(),getInt32(), andName.
CallInst * IRBuilderBase::CreateGCResult | ( | Instruction * | Statepoint, |
Type * | ResultType, | ||
constTwine & | Name ="" | ||
) |
Create a call to the experimental.gc.result intrinsic to extract the result from a call wrapped in a statepoint.
Definition at line848 of fileIRBuilder.cpp.
ReferencesCreateIntrinsic(), andName.
Referenced bymakeStatepointExplicitImpl().
CallInst * IRBuilderBase::CreateGCStatepointCall | ( | uint64_t | ID, |
uint32_t | NumPatchBytes, | ||
FunctionCallee | ActualCallee, | ||
ArrayRef<Use > | CallArgs, | ||
std::optional<ArrayRef<Value * > > | DeoptArgs, | ||
ArrayRef<Value * > | GCArgs, | ||
constTwine & | Name ="" | ||
) |
Conveninence function for the common case when CallArgs are filled in usingArrayRef(CS.arg_begin(), CS.arg_end());Use needs to be .get()'ed to get theValue pointer.
Definition at line779 of fileIRBuilder.cpp.
ReferencesName, andllvm::None.
CallInst * IRBuilderBase::CreateGCStatepointCall | ( | uint64_t | ID, |
uint32_t | NumPatchBytes, | ||
FunctionCallee | ActualCallee, | ||
ArrayRef<Value * > | CallArgs, | ||
std::optional<ArrayRef<Value * > > | DeoptArgs, | ||
ArrayRef<Value * > | GCArgs, | ||
constTwine & | Name ="" | ||
) |
Create a call to the experimental.gc.statepoint intrinsic to start a new statepoint sequence.
Definition at line759 of fileIRBuilder.cpp.
ReferencesName, andllvm::None.
Referenced bymakeStatepointExplicitImpl().
CallInst * IRBuilderBase::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, | ||
constTwine & | Name ="" | ||
) |
Create a call to the experimental.gc.statepoint intrinsic to start a new statepoint sequence.
Definition at line768 of fileIRBuilder.cpp.
ReferencesName.
InvokeInst * IRBuilderBase::CreateGCStatepointInvoke | ( | uint64_t | ID, |
uint32_t | NumPatchBytes, | ||
FunctionCallee | ActualInvokee, | ||
BasicBlock * | NormalDest, | ||
BasicBlock * | UnwindDest, | ||
ArrayRef<Use > | InvokeArgs, | ||
std::optional<ArrayRef<Value * > > | DeoptArgs, | ||
ArrayRef<Value * > | GCArgs, | ||
constTwine & | Name ="" | ||
) |
Definition at line837 of fileIRBuilder.cpp.
ReferencesName, andllvm::None.
InvokeInst * IRBuilderBase::CreateGCStatepointInvoke | ( | uint64_t | ID, |
uint32_t | NumPatchBytes, | ||
FunctionCallee | ActualInvokee, | ||
BasicBlock * | NormalDest, | ||
BasicBlock * | UnwindDest, | ||
ArrayRef<Value * > | InvokeArgs, | ||
std::optional<ArrayRef<Value * > > | DeoptArgs, | ||
ArrayRef<Value * > | GCArgs, | ||
constTwine & | Name ="" | ||
) |
Create an invoke to the experimental.gc.statepoint intrinsic to start a new statepoint sequence.
Definition at line815 of fileIRBuilder.cpp.
ReferencesName, andllvm::None.
Referenced bymakeStatepointExplicitImpl().
InvokeInst * IRBuilderBase::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, | ||
constTwine & | Name ="" | ||
) |
Create an invoke to the experimental.gc.statepoint intrinsic to start a new statepoint sequence.
Definition at line826 of fileIRBuilder.cpp.
ReferencesName.
| inline |
Definition at line1874 of fileIRBuilder.h.
Referencesllvm::GetElementPtrInst::Create(),Folder,llvm::IRBuilderFolder::FoldGEP(),Insert(),Name, andPtr.
Referenced bybuildNew(),llvm::sandboxir::GetElementPtrInst::create(),CreateInBoundsGEP(),CreateInBoundsPtrAdd(),CreatePtrAdd(),DoFlattenLoopPair(),llvm::OpenMPIRBuilder::emitUserDefinedMapper(),llvm::VPWidenGEPRecipe::execute(),llvm::VPReverseVectorPointerRecipe::execute(),llvm::VPVectorPointerRecipe::execute(),llvm::VPWidenPointerInductionRecipe::execute(),llvm::VPInterleaveRecipe::execute(),foldDependentIVs(),foldSelectGEP(),llvm::OpenMPIRBuilder::getSizeInBytes(),getStrlenWithNull(),hoistGEP(),instCombineLD1GatherIndex(),instCombineST1ScatterIndex(),llvm::AArch64TargetLowering::lowerDeinterleaveIntrinsicToLoad(),llvm::AArch64TargetLowering::lowerInterleaveIntrinsicToStore(),rewriteGEPAsOffset(),llvm::InstCombinerImpl::SimplifyDemandedUseBits(),simplifyRelocatesOffABase(),splitMergedValStore(),llvm::InstCombinerImpl::visitGEPOfGEP(),llvm::InstCombinerImpl::visitGetElementPtrInst(), andDataScalarizerVisitor::visitGetElementPtrInst().
GlobalVariable * IRBuilderBase::CreateGlobalString | ( | StringRef | Str, |
constTwine & | Name ="" , | ||
unsigned | AddressSpace =0 , | ||
Module * | M =nullptr , | ||
bool | AddNull =true | ||
) |
Make a new global variable with initializer type i8*.
CreateGlobalString - Make a new global variable with an initializer that has array of i8 type filled in with the nul terminated string value specified.
Make a new global variable with an initializer that has array of i8 type filled in with the null terminated string value specified. The new global variable will be marked mergable with any others of the same contents. If Name is specified, it is the name of the global variable created.
If no module is given viaM
, it is take from the insertion point basic block.
If Name is specified, it is the name of the global variable created.
Definition at line44 of fileIRBuilder.cpp.
ReferencesBB,Context,llvm::GlobalValue::getParent(),llvm::BasicBlock::getParent(),llvm::ConstantDataArray::getString(),llvm::Value::getType(),llvm::GlobalValue::Global,Name,llvm::GlobalValue::NotThreadLocal, andllvm::GlobalValue::PrivateLinkage.
Referenced byCreateGlobalStringPtr(),llvm::OpenMPIRBuilder::getOrCreateSrcLocStr(), andrunSanitizeRealtimeBlocking().
| inline |
Same as CreateGlobalString, but return a pointer with "i8*" type instead of a pointer to array of i8.
If no module is given viaM
, it is take from the insertion point basic block.
Definition at line2004 of fileIRBuilder.h.
ReferencesContext,CreateGlobalString(),llvm::ConstantExpr::getInBoundsGetElementPtr(),llvm::Type::getInt32Ty(),llvm::GlobalValue::getValueType(), andName.
| inline |
Definition at line2380 of fileIRBuilder.h.
Referencesllvm::IRBuilderFolder::FoldCmp(),Folder,Insert(),LHS,Name,P, andRHS.
Referenced bybuildNew(),llvm::InstCombinerImpl::commonShiftTransforms(),llvm::OpenMPIRBuilder::createCanonicalLoop(),CreateCmp(),CreateICmpEQ(),CreateICmpNE(),CreateICmpSGE(),CreateICmpSGT(),CreateICmpSLE(),CreateICmpSLT(),CreateICmpUGE(),CreateICmpUGT(),CreateICmpULE(),CreateICmpULT(),createInvariantCond(),llvm::InnerLoopVectorizer::emitIterationCountCheck(),llvm::EpilogueVectorizerMainLoop::emitIterationCountCheck(),llvm::EpilogueVectorizerEpilogueLoop::emitMinimumVectorEpilogueIterCountCheck(),llvm::VPWidenRecipe::execute(),llvm::SCEVExpander::expandComparePredicate(),foldAndOrOfICmpEqConstantAndICmp(),foldAndOrOfICmpsWithConstEq(),foldAndOrOfICmpsWithPow2AndWithZero(),foldClampRangeOfTwo(),foldCtpop(),llvm::InstCombinerImpl::foldGEPICmp(),llvm::InstCombinerImpl::foldICmpBinOpEqualityWithConstant(),llvm::InstCombinerImpl::foldICmpDivConstant(),llvm::InstCombinerImpl::foldICmpOrConstant(),foldICmpOrXorSubChain(),llvm::InstCombinerImpl::foldICmpSelectConstant(),llvm::InstCombinerImpl::foldICmpUsingBoolRange(),foldICmpWithLowBitMaskedVal(),foldICmpWithTruncSignExtendedVal(),foldLogOpOfMaskedICmps(),foldLogOpOfMaskedICmps_NotAllZeros_BMask_Mixed(),foldNegativePower2AndShiftedMask(),llvm::InstCombinerImpl::foldSelectICmp(),llvm::InstCombinerImpl::FoldShiftByConstant(),foldShiftIntoShiftInAnotherHandOfAndInICmp(),foldURemOfLoopIncrement(),llvm::SCEVExpander::generateOverflowCheck(),generateReproducer(),getNewICmpValue(),hoistMinMax(),llvm::InstCombinerImpl::insertRangeTest(),llvm::lowerUnaryVectorIntrinsicAsLoop(),reassociateMinMaxWithConstants(),RunTermFold(),llvm::InstCombinerImpl::simplifyRangeCheck(),simplifySwitchOfCmpIntrinsic(),sinkMinMaxInBB(),llvm::splitLoopBound(),llvm::InstCombinerImpl::tryFoldInstWithCtpopWithNot(),llvm::UnrollRuntimeLoopRemainder(),upgradeMaskedCompare(),upgradeX86IntrinsicCall(),upgradeX86vpcom(),llvm::InstCombinerImpl::visitICmpInst(), andllvm::InstCombinerImpl::visitOr().
Definition at line2270 of fileIRBuilder.h.
ReferencesCreateICmp(),llvm::CmpInst::ICMP_EQ,LHS,Name, andRHS.
Referenced byllvm::buildAtomicRMWValue(),llvm::buildCmpXchgValue(),llvm::InstCombinerImpl::commonIDivTransforms(),llvm::ConstantFoldTerminator(),CreateIsNull(),createMemMoveLoopKnownSize(),createMemMoveLoopUnknownSize(),createMemSetLoop(),llvm::OpenMPIRBuilder::createReductionsGPU(),llvm::OpenMPIRBuilder::createTargetInit(),despeculateCountZeros(),llvm::orc::IRSpeculationLayer::emit(),llvm::HexagonTargetLowering::emitStoreConditional(),llvm::OpenMPIRBuilder::emitUserDefinedMapper(),expandIToFP(),foldAnyOrAllBitsSet(),llvm::InstCombinerImpl::foldCmpLoadFromIndexedGlobal(),foldIsPowerOf2(),foldSwitchToSelect(),generateUnsignedDivisionCode(),llvm::InnerLoopVectorizer::getOrCreateVectorTripCount(),getStrlenWithNull(),preparePlanForEpilogueVectorLoop(),llvm::promoteCallWithVTableCmp(),llvm::orc::ReOptimizeLayer::reoptimizeIfCallFrequent(),llvm::SplitBlockAndInsertSimpleForLoop(),llvm::OpenMPIRBuilder::tileLoops(),upgradeX86IntrinsicCall(),llvm::versionCallSite(),llvm::InstCombinerImpl::visitAnd(),llvm::InstCombinerImpl::visitCallInst(),llvm::InstCombinerImpl::visitLShr(),llvm::InstCombinerImpl::visitSDiv(),llvm::InstCombinerImpl::visitUDiv(), andllvm::InstCombinerImpl::visitURem().
Definition at line2274 of fileIRBuilder.h.
ReferencesCreateICmp(),llvm::CmpInst::ICMP_NE,LHS,Name, andRHS.
Referenced byCloneLoopBlocks(),llvm::OpenMPIRBuilder::createCopyinClauseBlocks(),CreateIsNotNull(),llvm::createSanitizerCtorAndInitFunctions(),llvm::OpenMPIRBuilder::createTeams(),llvm::emitAMDGPUPrintfCall(),expandAnyOrAllIntrinsic(),expandIToFP(),llvm::InstCombinerImpl::foldCmpLoadFromIndexedGlobal(),foldIsPowerOf2(),llvm::GCNTTIImpl::instCombineIntrinsic(),llvm::lowerObjectSizeCall(),preparePlanForEpilogueVectorLoop(),llvm::KCFIPass::run(),scalarizeMaskedCompressStore(),scalarizeMaskedExpandLoad(),scalarizeMaskedGather(),scalarizeMaskedLoad(),scalarizeMaskedScatter(),scalarizeMaskedStore(),llvm::OpenMPIRBuilder::tileLoops(),llvm::InstCombinerImpl::visitCallInst(), andllvm::InstCombinerImpl::visitURem().
Definition at line2298 of fileIRBuilder.h.
ReferencesCreateICmp(),llvm::CmpInst::ICMP_SGE,LHS,Name, andRHS.
Referenced byllvm::AMDGPU::createSlowPathCmp(), andupgradeNVVMIntrinsicCall().
Definition at line2294 of fileIRBuilder.h.
ReferencesCreateICmp(),llvm::CmpInst::ICMP_SGT,LHS,Name, andRHS.
Referenced byllvm::buildAtomicRMWValue(),CreateIsNotNeg(),expandFPToI(),expandIToFP(),llvm::InstCombinerImpl::foldICmpCommutative(),simplifyX86pack(), andllvm::InstCombinerImpl::visitOr().
Definition at line2306 of fileIRBuilder.h.
ReferencesCreateICmp(),llvm::CmpInst::ICMP_SLE,LHS,Name, andRHS.
Referenced byllvm::buildAtomicRMWValue(), andupgradeNVVMIntrinsicCall().
Definition at line2302 of fileIRBuilder.h.
ReferencesCreateICmp(),llvm::CmpInst::ICMP_SLT,LHS,Name, andRHS.
Referenced byllvm::addRuntimeChecks(),llvm::OpenMPIRBuilder::createCanonicalLoop(),CreateIsNeg(),expandSignIntrinsic(),llvm::InstCombinerImpl::foldICmpCommutative(),getBoundsCheckCond(),simplifyX86pack(),llvm::InstCombinerImpl::visitAShr(),llvm::InstCombinerImpl::visitICmpInst(), andllvm::InstCombinerImpl::visitLShr().
Definition at line2282 of fileIRBuilder.h.
ReferencesCreateICmp(),llvm::CmpInst::ICMP_UGE,LHS,Name, andRHS.
Referenced byllvm::buildAtomicRMWValue(),foldUnsignedUnderflowCheck(),upgradeNVVMIntrinsicCall(), andllvm::InstCombinerImpl::visitUDiv().
Definition at line2278 of fileIRBuilder.h.
ReferencesCreateICmp(),llvm::CmpInst::ICMP_UGT,LHS,Name, andRHS.
Referenced byllvm::buildAtomicRMWValue(),llvm::InstCombinerImpl::foldICmpCommutative(),foldIsPowerOf2OrZero(), andgenerateUnsignedDivisionCode().
Definition at line2290 of fileIRBuilder.h.
ReferencesCreateICmp(),llvm::CmpInst::ICMP_ULE,LHS,Name, andRHS.
Referenced byllvm::buildAtomicRMWValue(), andupgradeNVVMIntrinsicCall().
Definition at line2286 of fileIRBuilder.h.
ReferencesCreateICmp(),llvm::CmpInst::ICMP_ULT,LHS,Name, andRHS.
Referenced byllvm::addDiffRuntimeChecks(),llvm::addRuntimeChecks(),llvm::InstCombinerImpl::commonIDivTransforms(),llvm::OpenMPIRBuilder::createLoopSkeleton(),llvm::createMemCpyLoopKnownSize(),createMemMoveLoopKnownSize(),createMemMoveLoopUnknownSize(),createMemSetLoop(),expandFPToI(),llvm::InstCombinerImpl::foldICmpCommutative(),foldIsPowerOf2OrZero(),foldSignedTruncationCheck(),foldUnsignedUnderflowCheck(),getBoundsCheckCond(),llvm::lowerObjectSizeCall(),switchToLookupTable(), andllvm::InstCombinerImpl::visitURem().
| inline |
Definition at line1882 of fileIRBuilder.h.
ReferencesCreateGEP(),llvm::GEPNoWrapFlags::inBounds(),Name, andPtr.
Referenced bycallBufferedPrintfArgPush(),llvm::createMemCpyLoopKnownSize(),createMemMoveLoopKnownSize(),createMemMoveLoopUnknownSize(),createMemSetLoop(),llvm::OpenMPIRBuilder::createOrderedDepend(),llvm::OpenMPIRBuilder::createReductionsGPU(),llvm::OpenMPIRBuilder::createTask(),llvm::OpenMPIRBuilder::emitMapperCall(),llvm::OpenMPIRBuilder::emitNonContiguousDescriptor(),llvm::OpenMPIRBuilder::emitOffloadingArrays(),insertSpills(),unpackLoadToAggregate(),unpackStoreToAggregate(), andllvm::InstCombinerImpl::visitExtractValueInst().
| inline |
Definition at line1992 of fileIRBuilder.h.
ReferencesCreateGEP(),getInt8Ty(),llvm::GEPNoWrapFlags::inBounds(),Name,llvm::Offset, andPtr.
Referenced byfoldMemChr(),unpackLoadToAggregate(), andunpackStoreToAggregate().
| inline |
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).
Definition at line1197 of fileIRBuilder.h.
ReferencesAddr,llvm::IndirectBrInst::Create(), andInsert().
| inline |
Definition at line2516 of fileIRBuilder.h.
ReferencesCreateInsertElement(),llvm::PoisonValue::get(),Idx, andName.
| inline |
Definition at line2511 of fileIRBuilder.h.
ReferencesCreateInsertElement(),llvm::PoisonValue::get(),Idx, andName.
Referenced bycanonicalizeInsertSplat(),llvm::sandboxir::InsertElementInst::create(),CreateInsertElement(),createTblShuffleForSExt(),createTblShuffleForZExt(),createTypedBufferStore(),CreateVectorSplat(),evaluateInDifferentElementOrder(),llvm::VPFirstOrderRecurrencePHIRecipe::execute(),llvm::VPReductionPHIRecipe::execute(),expandCrossIntrinsic(),foldTruncInsEltPair(),hoistInsEltConst(),insertValues(),llvm::GCNTTIImpl::instCombineIntrinsic(),llvm::PPCTTIImpl::instCombineIntrinsic(),llvm::X86TTIImpl::instCombineIntrinsic(),instCombineSVEDupqLane(),llvm::lowerUnaryVectorIntrinsicAsLoop(),narrowInsElt(),optimizeIntegerToVectorInsertions(),llvm::VPTransformState::packScalarIntoVectorValue(),promoteAllocaUserToVector(),scalarize(),scalarizeMaskedExpandLoad(),scalarizeMaskedGather(),scalarizeMaskedLoad(),simplifyAMDGCNMemoryIntrinsicDemanded(),upgradeMaskedMove(),upgradeX86IntrinsicCall(), andllvm::InstCombinerImpl::visitInsertElementInst().
| inline |
Definition at line2528 of fileIRBuilder.h.
ReferencesCreateInsertElement(),getInt64(),Idx, andName.
| inline |
Definition at line2521 of fileIRBuilder.h.
Referencesllvm::InsertElementInst::Create(),Folder,llvm::IRBuilderFolder::FoldInsertElement(),Idx,Insert(), andName.
| inline |
Definition at line2562 of fileIRBuilder.h.
Referencesllvm::InsertValueInst::Create(),Folder,llvm::IRBuilderFolder::FoldInsertValue(),Insert(), andName.
Referenced byllvm::sandboxir::InsertValueInst::create(),CreateAggregateRet(),createCast(),llvm::SITargetLowering::emitExpandAtomicAddrSpacePredicate(),expandFromPrimitiveShadowRecursive(),llvm::OpenMPIRBuilder::getKernelArgsVector(),llvm::AArch64TTIImpl::getOrCreateResultFromMemIntrinsic(),llvm::lowerAtomicCmpXchgInst(),llvm::RISCVTargetLowering::lowerDeinterleaveIntrinsicToLoad(),replaceFallthroughCoroEnd(),simplifyX86addcarry(),llvm::coro::AnyRetconABI::splitCoroutine(),unpackLoadToAggregate(), andllvm::UpgradeIntrinsicCall().
| inline |
Create a call to the vector.insert intrinsic.
Definition at line1080 of fileIRBuilder.h.
ReferencesCreateIntrinsic(),llvm::Value::getType(),Idx, andName.
Referenced byinstCombineSVEDupqLane(),instCombineSVEUzp1(),llvm::AArch64TargetLowering::lowerDeinterleaveIntrinsicToLoad(),llvm::AArch64TargetLowering::lowerInterleavedStore(), andllvm::UpgradeIntrinsicCall().
| inline |
Definition at line2225 of fileIRBuilder.h.
ReferencesCreateCast(),llvm::Type::getScalarSizeInBits(),isSigned(), andName.
Referenced byconvertTo16Bit(),CreateMalloc(),llvm::OpenMPIRBuilder::createParallel(),llvm::AMDGPU::createSlowPathCmp(),llvm::coro::Shape::emitAlloc(),llvm::emitGEPOffset(),emitImplicitCast(),llvm::OpenMPIRBuilder::emitOffloadingArrays(),llvm::InstCombinerImpl::foldCmpLoadFromIndexedGlobal(),llvm::InstCombinerImpl::foldICmpTruncWithTruncOrExt(),instCombineSVEUnpack(),llvm::IntrinsicLowering::LowerIntrinsicCall(),llvm::InstCombinerImpl::OptimizePointerDifference(),simplifyAllocaArraySize(),llvm::UpgradeIntrinsicCall(),upgradeX86ConcatShift(),upgradeX86Rotate(),llvm::slpvectorizer::BoUpSLP::vectorizeTree(),llvm::InstCombinerImpl::visitCallInst(),llvm::InstCombinerImpl::visitGetElementPtrInst(), andllvm::InstCombinerImpl::visitPtrToInt().
Create a vector integer max reduction intrinsic of the source vector.
Definition at line432 of fileIRBuilder.cpp.
Referenced byllvm::createFindLastIVReduction().
Create a vector integer min reduction intrinsic of the source vector.
Definition at line438 of fileIRBuilder.cpp.
CallInst * IRBuilderBase::CreateIntrinsic | ( | Intrinsic::ID | ID, |
ArrayRef<Type * > | Types, | ||
ArrayRef<Value * > | Args, | ||
FMFSource | FMFSource ={} , | ||
constTwine & | Name ="" | ||
) |
Create a call to intrinsicID
withArgs
, mangled usingTypes
.
IfFMFSource
is provided, copy fast-math-flags from that instruction to the intrinsic.
Definition at line900 of fileIRBuilder.cpp.
ReferencesBB,llvm::BasicBlock::getModule(),llvm::Intrinsic::getOrInsertDeclaration(), andName.
Referenced byaddBoundsChecking(),llvm::buildAtomicRMWValue(),callIntrinsic(),CreateArithmeticFence(),CreateConstrainedFPBinOp(),CreateConstrainedFPCast(),CreateConstrainedFPCmp(),CreateConstrainedFPUnroundedBinOp(),CreateCountTrailingZeroElems(),CreateElementUnorderedAtomicMemCpy(),CreateElementUnorderedAtomicMemMove(),CreateElementUnorderedAtomicMemSet(),CreateExtractVector(),CreateFAddReduce(),createFFSIntrinsic(),CreateFMulReduce(),CreateGCGetPointerBase(),CreateGCGetPointerOffset(),CreateGCRelocate(),CreateGCResult(),CreateInsertVector(),CreateInvariantStart(),createIsFPClass(),CreateLifetimeEnd(),CreateLifetimeStart(),createMaskInstrs(),CreateMemSet(),CreateMemSetInline(),CreateMemTransferInst(),llvm::createMinMaxOp(),CreateNoAliasScopeDeclaration(),llvm::SPIRVStructurizer::createOpSelectMerge(),createPopcntIntrinsic(),CreatePreserveArrayAccessIndex(),CreatePreserveStructAccessIndex(),CreatePreserveUnionAccessIndex(),createRawLoad(),createRawStore(),createReverseEVL(),CreateStackRestore(),CreateStackSave(),CreateStepVector(),createTblForTrunc(),CreateThreadLocalAddress(),createTileStore(),createTypedBufferLoad(),createTypedBufferStore(),CreateVScale(),llvm::AArch64TargetLowering::emitAtomicCmpXchgNoStoreLLBalance(),llvm::ARMTargetLowering::emitAtomicCmpXchgNoStoreLLBalance(),llvm::SITargetLowering::emitExpandAtomicAddrSpacePredicate(),llvm::LoongArchTargetLowering::emitExpandAtomicRMW(),llvm::AArch64TargetLowering::emitLoadLinked(),llvm::ARMTargetLowering::emitLoadLinked(),llvm::HexagonTargetLowering::emitLoadLinked(),llvm::LoongArchTargetLowering::emitMaskedAtomicCmpXchgIntrinsic(),llvm::RISCVTargetLowering::emitMaskedAtomicCmpXchgIntrinsic(),llvm::PPCTargetLowering::emitMaskedAtomicRMWIntrinsic(),llvm::ARMTargetLowering::emitStoreConditional(),llvm::HexagonTargetLowering::emitStoreConditional(),llvm::PPCTargetLowering::emitTrailingFence(),llvm::VPInterleaveRecipe::execute(),llvm::VPWidenLoadEVLRecipe::execute(),llvm::VPWidenStoreEVLRecipe::execute(),expandAbs(),expandAtan2Intrinsic(),expandClampIntrinsic(),expandExpIntrinsic(),expandFloatDotIntrinsic(),expandIntegerDotIntrinsic(),expandLogIntrinsic(),expandNormalizeIntrinsic(),expandPowIntrinsic(),FlattenLoopPair(),foldCtpop(),foldFDivPowDivisor(),foldGuardedFunnelShift(),llvm::InstCombinerImpl::foldICmpEquality(),foldICmpIntrinsicWithIntrinsic(),llvm::InstCombinerImpl::foldMultiplicationOverflowCheck(),llvm::InstCombinerImpl::foldPowiReassoc(),llvm::InstCombinerImpl::foldSelectOpOp(),foldShuffledIntrinsicOperands(),foldSqrt(),foldSubOfMinMax(),llvm::AMDGPU::genAMDGPUReportBlock(),generateNewInstTree(),llvm::SCEVExpander::generateOverflowCheck(),llvm::memtag::getFP(),inlineRetainOrClaimRVCalls(),InsertIntrinsicCalls(),InsertTrap(),llvm::GCNTTIImpl::instCombineIntrinsic(),llvm::ARMTTIImpl::instCombineIntrinsic(),instCombineRDFFR(),instCombineSVECmpNE(),instCombineSVECondLast(),instCombineSVELast(),instCombineSVEPTest(),instCombineSVESDIV(),instCombineSVESrshl(),instCombineSVEVectorFuseMulAddSub(),interleaveVectors(),llvm::RISCVTargetLowering::lowerDeinterleaveIntrinsicToLoad(),llvm::AArch64TargetLowering::lowerInterleavedLoad(),llvm::ARMTargetLowering::lowerInterleavedLoad(),llvm::RISCVTargetLowering::lowerInterleavedLoad(),llvm::AArch64TargetLowering::lowerInterleavedStore(),llvm::ARMTargetLowering::lowerInterleavedStore(),llvm::RISCVTargetLowering::lowerInterleavedStore(),llvm::RISCVTargetLowering::lowerInterleaveIntrinsicToStore(),lowerIntrinsicToFunction(),lowerKernelArguments(),lowerPtrAnnotation(),llvm::ARMTargetLowering::makeDMB(),matchOrConcat(),modifyIntrinsicCall(),processUMulZExtIdiom(),llvm::memtag::readRegister(),reassociateMinMaxWithConstants(),reduceSwitchRange(),replaceWithTileLoad(),llvm::KCFIPass::run(),simplifyAMDGCNMemoryIntrinsicDemanded(),simplifySwitchOfPowersOfTwo(),simplifyX86addcarry(),simplifyX86extrq(),simplifyX86insertq(),simplifyX86pmadd(),tryCombineFromSVBoolBinOp(),llvm::InstCombinerImpl::tryFoldInstWithCtpopWithNot(),tryToFPToSat(),tryToRecognizePopCount(),upgradeAArch64IntrinsicCall(),upgradeAbs(),upgradeARMIntrinsicCall(),upgradeAVX512MaskToSelect(),upgradeNVVMIntrinsicCall(),upgradeX86BinaryIntrinsics(),upgradeX86ConcatShift(),upgradeX86IntrinsicCall(),upgradeX86MaskedShift(),upgradeX86Rotate(),upgradeX86VPERMT2Intrinsics(),llvm::InstCombinerImpl::visitAdd(),llvm::InstCombinerImpl::visitCallInst(),llvm::InstCombinerImpl::visitFAdd(),llvm::InstCombinerImpl::visitFMul(),llvm::InstCombinerImpl::visitFSub(),llvm::InstCombinerImpl::visitSub(), andllvm::InstCombinerImpl::visitTrunc().
CallInst * IRBuilderBase::CreateIntrinsic | ( | Type * | RetTy, |
Intrinsic::ID | ID, | ||
ArrayRef<Value * > | Args, | ||
FMFSource | FMFSource ={} , | ||
constTwine & | Name ="" | ||
) |
Create a call to intrinsicID
withRetTy
andArgs
.
IfFMFSource
is provided, copy fast-math-flags from that instruction to the intrinsic.
Definition at line910 of fileIRBuilder.cpp.
Referencesassert(),BB,llvm::ArrayRef< T >::empty(),llvm::FunctionType::get(),llvm::Intrinsic::getIntrinsicInfoTableEntries(),llvm::BasicBlock::getModule(),llvm::Intrinsic::getOrInsertDeclaration(),I,llvm::Intrinsic::MatchIntrinsicTypes_Match,Name,llvm::SmallVectorTemplateBase< T, bool >::push_back(),llvm::SmallVectorImpl< T >::reserve(), andRetTy.
Definition at line2147 of fileIRBuilder.h.
ReferencesCreateCast(), andName.
Referenced byllvm::VNCoercion::coerceAvailableValueToLoadType(),llvm::OpenMPIRBuilder::createAtomicRead(),CreateBitOrPointerCast(),createCast(),insertSpills(),llvm::AMDGPU::instrumentAddress(),llvm::AMDGPU::instrumentAddressImpl(),llvm::AArch64TargetLowering::lowerInterleavedLoad(),llvm::ARMTargetLowering::lowerInterleavedLoad(),promoteAllocaUserToVector(), andllvm::KCFIPass::run().
CallInst * IRBuilderBase::CreateInvariantStart | ( | Value * | Ptr, |
ConstantInt * | Size =nullptr | ||
) |
Create a call to invariant.start intrinsic.
If the pointer isn't i8* it will be converted.
Definition at line484 of fileIRBuilder.cpp.
Referencesassert(),CreateIntrinsic(),getInt64(),getInt64Ty(),Ptr, andSize.
| inline |
Definition at line1224 of fileIRBuilder.h.
ReferencesCreateInvoke(), andName.
| inline |
Definition at line1232 of fileIRBuilder.h.
| inline |
Create an invoke instruction.
Definition at line1202 of fileIRBuilder.h.
Referencesllvm::InvokeInst::Create(),II,Insert(),IsFPConstrained,Name, andsetConstrainedFPCallAttr().
Referenced byllvm::sandboxir::InvokeInst::create(),CreateGCStatepointInvokeCommon(),CreateInvoke(), andlowerAwaitSuspend().
| inline |
Definition at line1213 of fileIRBuilder.h.
Definition at line1248 of fileIRBuilder.cpp.
ReferencesCreateIntrinsic(),getInt32(),llvm::Value::getType(), andllvm::Test.
Referenced byfoldFCmpToFPClassTest(),llvm::InstCombinerImpl::foldICmpAndConstConst(), andllvm::InstCombinerImpl::foldICmpBitCast().
Return a boolean value testing ifArg
< 0.
Definition at line2593 of fileIRBuilder.h.
ReferencesCreateICmpSLT(),llvm::Constant::getNullValue(),llvm::Value::getType(), andName.
Referenced bycanonicalizeAbs(),simplifyX86movmsk(),llvm::InstCombinerImpl::visitAnd(),llvm::InstCombinerImpl::visitMul(), andllvm::InstCombinerImpl::visitSub().
Return a boolean value testing ifArg
> -1.
Definition at line2598 of fileIRBuilder.h.
ReferencesCreateICmpSGT(),llvm::Constant::getAllOnesValue(),llvm::Value::getType(), andName.
Referenced byllvm::InstCombinerImpl::foldAddWithConstant(),llvm::InstCombinerImpl::visitLShr(),llvm::InstCombinerImpl::visitSDiv(), andllvm::InstCombinerImpl::visitXor().
Return a boolean value testing ifArg
!= 0.
Definition at line2588 of fileIRBuilder.h.
ReferencesCreateICmpNE(),llvm::Constant::getNullValue(),llvm::Value::getType(), andName.
Referenced byllvm::OpenMPIRBuilder::emitKernelLaunch(),foldAnyOrAllBitsSet(),foldSelectICmpAndAnd(),llvm::AMDGPU::genAMDGPUReportBlock(),llvm::AMDGPU::instrumentAddressImpl(),upgradeMaskedMove(),llvm::InstCombinerImpl::visitAdd(),llvm::InstCombinerImpl::visitAShr(),llvm::InstCombinerImpl::visitCallInst(),llvm::InstCombinerImpl::visitLShr(), andllvm::InstCombinerImpl::visitOr().
Return a boolean value testing ifArg
== 0.
Definition at line2583 of fileIRBuilder.h.
ReferencesCreateICmpEQ(),llvm::Constant::getNullValue(),llvm::Value::getType(), andName.
Referenced byllvm::OpenMPIRBuilder::emitCancelationCheckImpl(),llvm::OpenMPIRBuilder::emitUserDefinedMapper(),llvm::InstCombinerImpl::foldICmpUsingBoolRange(),llvm::coro::BaseCloner::handleFinalSuspend(),llvm::InstCombinerImpl::visitAnd(),llvm::InstCombinerImpl::visitAShr(),llvm::InstCombinerImpl::visitCallInst(), andllvm::InstCombinerImpl::visitLShr().
| inline |
Definition at line2569 of fileIRBuilder.h.
Referencesllvm::LandingPadInst::Create(),Insert(), andName.
Referenced byllvm::Instruction::hasAllowReciprocal().
Create a launder.invariant.group intrinsic call.
If Ptr type is different from pointer to i8, it's casted to pointer to i8 in the same address space before call and casted back to Ptr type after call.
Definition at line1086 of fileIRBuilder.cpp.
Referencesassert(),BB,CreateCall(),llvm::Function::getFunctionType(),llvm::Intrinsic::getOrInsertDeclaration(),llvm::FunctionType::getParamType(),llvm::GlobalValue::getParent(),llvm::BasicBlock::getParent(),llvm::Function::getReturnType(), andPtr.
Referenced bysimplifyInvariantGroupIntrinsic().
| inline |
Create call to the ldexp intrinsic.
Definition at line1057 of fileIRBuilder.h.
Referenced byllvm::InstCombinerImpl::visitCallInst().
CallInst * IRBuilderBase::CreateLifetimeEnd | ( | Value * | Ptr, |
ConstantInt * | Size =nullptr | ||
) |
Create a lifetime.end intrinsic.
If the pointer isn't i8* it will be converted.
Definition at line472 of fileIRBuilder.cpp.
Referencesassert(),CreateIntrinsic(),getInt64(),getInt64Ty(),Ptr, andSize.
Referenced byllvm::InlineFunction().
CallInst * IRBuilderBase::CreateLifetimeStart | ( | Value * | Ptr, |
ConstantInt * | Size =nullptr | ||
) |
Create a lifetime.start intrinsic.
If the pointer isn't i8* it will be converted.
Definition at line460 of fileIRBuilder.cpp.
Referencesassert(),CreateIntrinsic(),getInt64(),getInt64Ty(),Ptr, andSize.
Referenced byllvm::InlineFunction().
| inline |
Definition at line1806 of fileIRBuilder.h.
ReferencesCreateAlignedLoad(),Name, andPtr.
Provided to resolve 'CreateLoad(Ty, Ptr, "...")' correctly, instead of converting the string to 'bool' for the isVolatile parameter.
Definition at line1798 of fileIRBuilder.h.
ReferencesCreateAlignedLoad(),Name, andPtr.
Referenced byllvm::OpenMPIRBuilder::createAtomicRead(),llvm::OpenMPIRBuilder::createCopyPrivate(),createFakeIntVal(),llvm::OpenMPIRBuilder::createParallel(),llvm::OpenMPIRBuilder::createReductions(),llvm::OpenMPIRBuilder::createTargetData(),llvm::OpenMPIRBuilder::createTask(),eliminateSwiftErrorArgument(),llvm::orc::IRSpeculationLayer::emit(),emitSetAndGetSwiftErrorValueAround(),llvm::OpenMPIRBuilder::emitTargetTask(),emitTargetTaskProxyFunction(),getStrlenWithNull(),llvm::coro::BaseCloner::handleFinalSuspend(),hostParallelCallback(),insertSpills(),instCombineSVELD1(),llvm::lowerAtomicRMWInst(),lowerSubFn(),llvm::orc::makeStub(),promoteAllocaUserToVector(),llvm::orc::ReOptimizeLayer::reoptimizeIfCallFrequent(),replaceSwiftErrorOps(),llvm::KCFIPass::run(),llvm::SPIRVMergeRegionExitTargets::runOnConvergenceRegionNoRecurse(),scalarizeMaskedVectorHistogram(),llvm::InstCombinerImpl::SimplifyAnyMemTransfer(),targetParallelCallback(),upgradeX86IntrinsicCall(),llvm::InstCombinerImpl::visitExtractValueInst(),DataScalarizerVisitor::visitLoadInst(), andllvm::InstCombinerImpl::visitLoadInst().
Definition at line1802 of fileIRBuilder.h.
ReferencesCreateAlignedLoad(),Name, andPtr.
| inline |
Definition at line1688 of fileIRBuilder.h.
Referencesassert(),CreateSelect(),llvm::Constant::getNullValue(),llvm::Value::getType(),llvm::Type::isIntOrIntVectorTy(), andName.
Referenced byCreateLogicalOp(),createLogicalOp(),foldAndOrOfICmpsWithConstEq(), andsinkMinMaxInBB().
| inline |
Definition at line1700 of fileIRBuilder.h.
ReferencesCreateLogicalAnd(),CreateLogicalOr(),llvm_unreachable, andName.
Referenced byllvm::InstCombiner::getFreelyInvertedImpl(),llvm::InstCombinerImpl::sinkNotIntoLogicalOp(), andllvm::InstCombinerImpl::sinkNotIntoOtherHandOfLogicalOp().
Definition at line1714 of fileIRBuilder.h.
Referencesassert(),CreateLogicalOr(),llvm::ArrayRef< T >::empty(), andllvm::ArrayRef< T >::size().
| inline |
Definition at line1694 of fileIRBuilder.h.
Referencesassert(),CreateSelect(),llvm::Constant::getAllOnesValue(),llvm::Value::getType(),llvm::Type::isIntOrIntVectorTy(), andName.
Referenced byCreateLogicalOp(),createLogicalOp(),CreateLogicalOr(),foldAndOrOfICmpsWithConstEq(),generateUnsignedDivisionCode(),sinkMinMaxInBB(), andllvm::InstCombinerImpl::visitBranchInst().
| inline |
Definition at line1489 of fileIRBuilder.h.
ReferencesCreateLShr(),LHS,Name, andRHS.
| inline |
Definition at line1494 of fileIRBuilder.h.
ReferencesCreateLShr(),LHS,Name, andRHS.
| inline |
Definition at line1480 of fileIRBuilder.h.
ReferencesFolder,llvm::IRBuilderFolder::FoldExactBinOp(),Insert(),LHS,Name, andRHS.
Referenced byllvm::VNCoercion::coerceAvailableValueToLoadType(),CreateLShr(),llvm::LoongArchTargetLowering::emitExpandAtomicRMW(),llvm::PPCTargetLowering::emitMaskedAtomicCmpXchgIntrinsic(),llvm::PPCTargetLowering::emitMaskedAtomicRMWIntrinsic(),llvm::AArch64TargetLowering::emitStoreConditional(),llvm::ARMTargetLowering::emitStoreConditional(),expandFPToI(),expandIToFP(),extractIntPart(),extractMaskedValue(),llvm::InstCombinerImpl::foldCmpLoadFromIndexedGlobal(),llvm::InstCombinerImpl::foldICmpAndConstant(),llvm::InstCombinerImpl::foldICmpAndShift(),foldICmpWithHighBitMask(),foldIDivShl(),foldSelectICmpAnd(),foldSelectICmpAndBinOp(),foldShiftIntoShiftInAnotherHandOfAndInICmp(),generateUnsignedDivisionCode(),getMul64(),getShiftedValue(),llvm::VNCoercion::getStoreValueForLoadHelper(),llvm::GCNTTIImpl::instCombineIntrinsic(),llvm::X86TTIImpl::instCombineIntrinsic(),llvm::AMDGPU::instrumentAddress(),LowerBSWAP(),LowerCTLZ(),LowerCTPOP(),lowerFunnelShifts(),lowerKernelArguments(),llvm::AMDGPU::memToShadow(),llvm::InstCombinerImpl::SimplifyDemandedUseBits(),simplifyX86immShift(),simplifyX86pmulh(),simplifyX86varShift(),llvm::InstCombinerImpl::SliceUpIllegalIntegerPHI(),switchToLookupTable(),llvm::InstCombinerImpl::visitCallInst(),llvm::InstCombinerImpl::visitLShr(),llvm::InstCombinerImpl::visitSDiv(),llvm::InstCombinerImpl::visitUDiv(), andllvm::InstCombinerImpl::visitXor().
CallInst * IRBuilderBase::CreateMalloc | ( | Type * | IntPtrTy, |
Type * | AllocTy, | ||
Value * | AllocSize, | ||
Value * | ArraySize, | ||
ArrayRef<OperandBundleDef > | OpB, | ||
Function * | MallocF =nullptr , | ||
constTwine & | Name ="" | ||
) |
Definition at line290 of fileIRBuilder.cpp.
Referencesassert(),BB,Context,CreateCall(),CreateIntCast(),CreateMul(),F,llvm::FunctionCallee::getCallee(),llvm::GlobalValue::getParent(),llvm::BasicBlock::getParent(),llvm::Value::getType(),llvm::PointerType::getUnqual(),isConstantOne(),llvm::Type::isVoidTy(),Name,llvm::CallBase::setCallingConv(), andllvm::CallInst::setTailCall().
Referenced byCreateMalloc().
CallInst * IRBuilderBase::CreateMalloc | ( | Type * | IntPtrTy, |
Type * | AllocTy, | ||
Value * | AllocSize, | ||
Value * | ArraySize, | ||
Function * | MallocF =nullptr , | ||
constTwine & | Name ="" | ||
) |
CreateMalloc - Generate the IR for a call to malloc:
Definition at line333 of fileIRBuilder.cpp.
ReferencesCreateMalloc(), andName.
CallInst * IRBuilderBase::CreateMaskedCompressStore | ( | Value * | Val, |
Value * | Ptr, | ||
MaybeAlign | Align, | ||
Value * | Mask =nullptr | ||
) |
Create a call to Masked Compress Store intrinsic.
Create a call to Masked Compress Store intrinsicVal
- data to be stored,Ptr
- base pointer for the storeAlign
- alignment ofPtr
Mask
- vector of booleans which indicates what vector lanes should be accessed in memory.
Definition at line676 of fileIRBuilder.cpp.
Referencesllvm::CallBase::addParamAttr(),assert(),llvm::Value::getContext(),llvm::Value::getType(),llvm::Attribute::getWithAlignment(),llvm::Type::isVectorTy(), andPtr.
CallInst * IRBuilderBase::CreateMaskedExpandLoad | ( | Type * | Ty, |
Value * | Ptr, | ||
MaybeAlign | Align, | ||
Value * | Mask =nullptr , | ||
Value * | PassThru =nullptr , | ||
constTwine & | Name ="" | ||
) |
Create a call to Masked Expand Load intrinsic.
Create a call to Masked Expand Load intrinsicTy
- vector type to loadPtr
- base pointer for the loadAlign
- alignment ofPtr
Mask
- vector of booleans which indicates what vector lanes should be accessed in memoryPassThru
- pass-through value that is used to fill the masked-off lanes of the resultName
- name of the result variable.
Definition at line653 of fileIRBuilder.cpp.
Referencesllvm::CallBase::addParamAttr(),assert(),llvm::PoisonValue::get(),llvm::Value::getContext(),llvm::Attribute::getWithAlignment(),llvm::Type::isVectorTy(),Name, andPtr.
CallInst * IRBuilderBase::CreateMaskedGather | ( | Type * | Ty, |
Value * | Ptrs, | ||
Align | Alignment, | ||
Value * | Mask =nullptr , | ||
Value * | PassThru =nullptr , | ||
constTwine & | Name ="" | ||
) |
Create a call to Masked Gather intrinsic.
Create a call to a Masked Gather intrinsic.
Ty
- vector type to gatherPtrs
- vector of pointers for loadingAlign
- alignment for one elementMask
- vector of booleans which indicates what vector lanes should be accessed in memoryPassThru
- pass-through value that is used to fill the masked-off lanes of the resultName
- name of the result variable
Definition at line596 of fileIRBuilder.cpp.
Referencesassert(),llvm::PoisonValue::get(),getAllOnesMask(),getInt32(),llvm::Value::getType(),Name, andllvm::Align::value().
Referenced byllvm::VPWidenLoadRecipe::execute().
CallInst * IRBuilderBase::CreateMaskedLoad | ( | Type * | Ty, |
Value * | Ptr, | ||
Align | Alignment, | ||
Value * | Mask, | ||
Value * | PassThru =nullptr , | ||
constTwine & | Name ="" | ||
) |
Create a call to Masked Load intrinsic.
Create a call to a Masked Load intrinsic.
Ty
- vector type to loadPtr
- base pointer for the loadAlignment
- alignment of the source locationMask
- vector of booleans which indicates what vector lanes should be accessed in memoryPassThru
- pass-through value that is used to fill the masked-off lanes of the resultName
- name of the result variable
Definition at line546 of fileIRBuilder.cpp.
Referencesassert(),llvm::PoisonValue::get(),getInt32(),llvm::Type::isVectorTy(),Name,Ptr, andllvm::Align::value().
Referenced byllvm::VPInterleaveRecipe::execute(),llvm::VPWidenLoadRecipe::execute(),hoistConditionalLoadsStores(),instCombineLD1GatherIndex(),instCombineSVELD1(),simplifyX86MaskedLoad(), andupgradeMaskedLoad().
CallInst * IRBuilderBase::CreateMaskedScatter | ( | Value * | Data, |
Value * | Ptrs, | ||
Align | Alignment, | ||
Value * | Mask =nullptr | ||
) |
Create a call to Masked Scatter intrinsic.
Create a call to a Masked Scatter intrinsic.
Data
- data to be stored,Ptrs
- the vector of pointers, where theData
elements should be storedAlign
- alignment for one elementMask
- vector of booleans which indicates what vector lanes should be accessed in memory
Definition at line627 of fileIRBuilder.cpp.
Referencesllvm::Data,getAllOnesMask(),getInt32(),llvm::Value::getType(), andllvm::Align::value().
Referenced byllvm::VPWidenStoreRecipe::execute().
Create a call to Masked Store intrinsic.
Create a call to a Masked Store intrinsic.
Val
- data to be stored,Ptr
- base pointer for the storeAlignment
- alignment of the destination locationMask
- vector of booleans which indicates what vector lanes should be accessed in memory
Definition at line566 of fileIRBuilder.cpp.
Referencesassert(),getInt32(),llvm::Value::getType(),llvm::Type::isVectorTy(),Ptr, andllvm::Align::value().
Referenced byllvm::VPInterleaveRecipe::execute(),llvm::VPWidenStoreRecipe::execute(),hoistConditionalLoadsStores(),instCombineST1ScatterIndex(),instCombineSVEST1(),simplifyX86MaskedStore(), andupgradeMaskedStore().
Create call to the maximum intrinsic.
Definition at line1033 of fileIRBuilder.h.
ReferencesCreateBinaryIntrinsic(),LHS,Name, andRHS.
Create call to the maximum intrinsic.
Definition at line1044 of fileIRBuilder.h.
ReferencesCreateBinaryIntrinsic(),LHS,Name, andRHS.
Create call to the maxnum intrinsic.
Definition at line1018 of fileIRBuilder.h.
ReferencesCreateBinaryIntrinsic(),CreateConstrainedFPUnroundedBinOp(),IsFPConstrained,LHS,Name, andRHS.
Referenced byllvm::buildAtomicRMWValue(), andllvm::GCNTTIImpl::instCombineIntrinsic().
| inline |
Create and insert a memcpy between the specified pointers.
If the pointers aren't i8*, they will be converted. If a TBAA tag is specified, it will be added to the instruction. Likewise with alias.scope and noalias tags.
Definition at line677 of fileIRBuilder.h.
ReferencesCreateMemCpy(),getInt64(), andSize.
Referenced bycallBufferedPrintfArgPush(),CreateMemCpy(),llvm::OpenMPIRBuilder::createTask(),llvm::OpenMPIRBuilder::emitOffloadingArrays(),llvm::OpenMPIRBuilder::emitTargetTask(),emitTargetTaskProxyFunction(), andHandleByValArgumentInit().
| inline |
Definition at line694 of fileIRBuilder.h.
ReferencesCreateMemTransferInst(), andSize.
| inline |
Definition at line706 of fileIRBuilder.h.
ReferencesCreateMemTransferInst(), andSize.
| inline |
Definition at line729 of fileIRBuilder.h.
ReferencesCreateMemMove(),getInt64(), andSize.
Referenced byCreateMemMove().
| inline |
Definition at line738 of fileIRBuilder.h.
ReferencesCreateMemTransferInst(), andSize.
| inline |
Create and insert a memset to the specified pointer and the specified value.
If the pointer isn't an i8*, it will be converted. If a TBAA tag is specified, it will be added to the instruction. Likewise with alias.scope and noalias tags.
Definition at line614 of fileIRBuilder.h.
ReferencesCreateMemSet(),getInt64(),Ptr, andSize.
Referenced byCreateMemSet(),lowerIntrinsicToFunction(), andOptimizeGlobalAddressOfAllocation().
CallInst * IRBuilderBase::CreateMemSet | ( | Value * | Ptr, |
Value * | Val, | ||
Value * | Size, | ||
MaybeAlign | Align, | ||
bool | isVolatile =false , | ||
MDNode * | TBAATag =nullptr , | ||
MDNode * | ScopeTag =nullptr , | ||
MDNode * | NoAliasTag =nullptr | ||
) |
Definition at line136 of fileIRBuilder.cpp.
ReferencesCreateIntrinsic(),getInt1(),Ptr,llvm::Instruction::setMetadata(), andSize.
CallInst * IRBuilderBase::CreateMemSetInline | ( | Value * | Dst, |
MaybeAlign | DstAlign, | ||
Value * | Val, | ||
Value * | Size, | ||
bool | IsVolatile =false , | ||
MDNode * | TBAATag =nullptr , | ||
MDNode * | ScopeTag =nullptr , | ||
MDNode * | NoAliasTag =nullptr | ||
) |
Definition at line161 of fileIRBuilder.cpp.
ReferencesCreateIntrinsic(),getInt1(),llvm::Instruction::setMetadata(), andSize.
CallInst * IRBuilderBase::CreateMemTransferInst | ( | Intrinsic::ID | IntrID, |
Value * | Dst, | ||
MaybeAlign | DstAlign, | ||
Value * | Src, | ||
MaybeAlign | SrcAlign, | ||
Value * | Size, | ||
bool | isVolatile =false , | ||
MDNode * | TBAATag =nullptr , | ||
MDNode * | TBAAStructTag =nullptr , | ||
MDNode * | ScopeTag =nullptr , | ||
MDNode * | NoAliasTag =nullptr | ||
) |
Definition at line212 of fileIRBuilder.cpp.
Referencesassert(),CreateIntrinsic(),getInt1(),llvm::Instruction::setMetadata(), andSize.
Referenced byconvertToParamAS(),CreateMemCpy(),CreateMemCpyInline(), andCreateMemMove().
Create call to the minimum intrinsic.
Definition at line1028 of fileIRBuilder.h.
ReferencesCreateBinaryIntrinsic(),LHS,Name, andRHS.
Create call to the minimumnum intrinsic.
Definition at line1038 of fileIRBuilder.h.
ReferencesCreateBinaryIntrinsic(),LHS,Name, andRHS.
Create call to the minnum intrinsic.
Definition at line1008 of fileIRBuilder.h.
ReferencesCreateBinaryIntrinsic(),CreateConstrainedFPUnroundedBinOp(),IsFPConstrained,LHS,Name, andRHS.
Referenced byllvm::buildAtomicRMWValue(), andllvm::GCNTTIImpl::instCombineIntrinsic().
| inline |
Definition at line1404 of fileIRBuilder.h.
ReferencesFolder,llvm::IRBuilderFolder::FoldNoWrapBinOp(),LHS,Name, andRHS.
Referenced byllvm::addDiffRuntimeChecks(),buildMultiplyTree(),CheckAndCreateOffsetAdd(),llvm::OpenMPIRBuilder::collapseLoops(),llvm::OpenMPIRBuilder::createCanonicalLoop(),CreateMalloc(),CreateNSWMul(),CreateNUWMul(),CreateVScale(),llvm::emitGEPOffset(),llvm::VPReverseVectorPointerRecipe::execute(),llvm::VPWidenPointerInductionRecipe::execute(),llvm::VPInterleaveRecipe::execute(),expandFPToI(),expandIntegerDotIntrinsic(),llvm::InstCombinerImpl::foldICmpBinOpEqualityWithConstant(),generateUnsignedRemainderCode(),getMul64(),getStepVector(),hoistMulAddAssociation(),llvm::lowerUnaryVectorIntrinsicAsLoop(),matchStridedStart(),llvm::VPlan::prepareToExecute(),llvm::InstCombinerImpl::SimplifyAddWithRemainder(),simplifyX86pmadd(),simplifyX86pmulh(),llvm::OpenMPIRBuilder::tileLoops(),upgradePMULDQ(),upgradeX86IntrinsicCall(),llvm::InstCombinerImpl::visitAdd(),llvm::ObjectSizeOffsetEvaluator::visitAllocaInst(),llvm::ObjectSizeOffsetEvaluator::visitCallBase(),llvm::InstCombinerImpl::visitCallInst(),llvm::InstCombinerImpl::visitMul(), andllvm::InstCombinerImpl::visitSub().
Create a vector int mul reduction intrinsic of the source vector.
Definition at line416 of fileIRBuilder.cpp.
Value * IRBuilderBase::CreateNAryOp | ( | unsigned | Opc, |
ArrayRef<Value * > | Ops, | ||
constTwine & | Name ="" , | ||
MDNode * | FPMathTag =nullptr | ||
) |
Create either aUnaryOperator orBinaryOperator depending onOpc
.
Correct number of operands must be passed accordingly.
Definition at line968 of fileIRBuilder.cpp.
Referencesassert(),CreateBinOp(),CreateUnOp(),llvm::Instruction::isBinaryOp(),llvm::Instruction::isUnaryOp(),llvm_unreachable,Name, andllvm::ArrayRef< T >::size().
Referenced byllvm::VPWidenRecipe::execute().
Definition at line1733 of fileIRBuilder.h.
ReferencesCreateSub(),llvm::Constant::getNullValue(), andName.
Referenced bycanonicalizeAbs(),canonicalizeSaturatedSubtract(),llvm::OpenMPIRBuilder::createCanonicalLoop(),CreateNSWNeg(),llvm::VPInterleaveRecipe::execute(),foldFDivPowDivisor(),llvm::InstCombinerImpl::foldICmpBinOpEqualityWithConstant(),foldMulSelectToNegate(),foldUnsignedUnderflowCheck(),llvm::SCEVExpander::generateOverflowCheck(),llvm::InstCombinerImpl::OptimizePointerDifference(),upgradeNVVMIntrinsicCall(),llvm::InstCombinerImpl::visitCallInst(),llvm::InstCombinerImpl::visitMul(),llvm::InstCombinerImpl::visitShl(), andllvm::InstCombinerImpl::visitSub().
| inline |
Definition at line882 of fileIRBuilder.h.
ReferencesContext,CreateNoAliasScopeDeclaration(), andllvm::MetadataAsValue::get().
Instruction * IRBuilderBase::CreateNoAliasScopeDeclaration | ( | Value * | Scope | ) |
Create a llvm.experimental.noalias.scope.decl intrinsic call.
Definition at line532 of fileIRBuilder.cpp.
ReferencesCreateIntrinsic().
Referenced byAddAliasScopeMetadata(), andCreateNoAliasScopeDeclaration().
Definition at line1757 of fileIRBuilder.h.
ReferencesCreateXor(),llvm::Constant::getAllOnesValue(), andName.
Referenced byllvm::buildAtomicRMWValue(),canonicalizeICmpBool(),createLogicFromTable(),createMaskInstrs(),llvm::emitAMDGPUPrintfCall(),llvm::LoongArchTargetLowering::emitExpandAtomicRMW(),llvm::LoongArchTargetLowering::emitMaskedAtomicRMWIntrinsic(),llvm::RISCVTargetLowering::emitMaskedAtomicRMWIntrinsic(),llvm::InstCombinerImpl::foldAddWithConstant(),llvm::InstCombinerImpl::foldBinOpShiftWithShift(),foldComplexAndOrPatterns(),llvm::InstCombinerImpl::foldICmpAndConstant(),llvm::InstCombinerImpl::foldICmpBinOp(),llvm::InstCombinerImpl::foldICmpBinOpEqualityWithConstant(),llvm::InstCombinerImpl::foldMultiplicationOverflowCheck(),foldNotXor(),freelyInvert(),insertSpills(),llvm::InvertBranch(),LowerCTLZ(),llvm::IntrinsicLowering::LowerIntrinsicCall(),matchDeMorgansLaws(),mergeConditionalStoreToAddress(),removeUndefIntroducingPredecessor(),SimplifyCondBranchToCondBranch(),llvm::InstCombinerImpl::SimplifyDemandedUseBits(),simplifyTernarylogic(),simplifyUsingControlFlow(),upgradeX86IntrinsicCall(),llvm::InstCombinerImpl::visitAnd(),llvm::InstCombinerImpl::visitBranchInst(),llvm::InstCombinerImpl::visitCallInst(),visitMaskedMerge(),llvm::InstCombinerImpl::visitOr(),llvm::InstCombinerImpl::visitSub(), andllvm::InstCombinerImpl::visitXor().
Definition at line1379 of fileIRBuilder.h.
ReferencesCreateAdd(),LHS,Name, andRHS.
Definition at line1413 of fileIRBuilder.h.
ReferencesCreateMul(),LHS,Name, andRHS.
Referenced byllvm::InstCombinerImpl::visitCallInst(), andllvm::InstCombinerImpl::visitMul().
Definition at line1738 of fileIRBuilder.h.
ReferencesCreateNeg(), andName.
Definition at line1396 of fileIRBuilder.h.
ReferencesCreateSub(),LHS,Name, andRHS.
Definition at line1383 of fileIRBuilder.h.
ReferencesCreateAdd(),LHS,Name, andRHS.
Referenced byllvm::OpenMPIRBuilder::emitUserDefinedMapper(),foldNoWrapAdd(), andfoldURemOfLoopIncrement().
Definition at line1417 of fileIRBuilder.h.
ReferencesCreateMul(),LHS,Name, andRHS.
Referenced byShapeCalculator::getColFromRow().
Definition at line1400 of fileIRBuilder.h.
ReferencesCreateSub(),LHS,Name, andRHS.
Definition at line1554 of fileIRBuilder.h.
Referencesassert(),CreateOr(),llvm::ArrayRef< T >::empty(), andllvm::ArrayRef< T >::size().
Definition at line1546 of fileIRBuilder.h.
ReferencesCreateOr(),LHS,Name, andRHS.
Definition at line1550 of fileIRBuilder.h.
ReferencesCreateOr(),LHS,Name, andRHS.
Definition at line1540 of fileIRBuilder.h.
Referencesllvm::IRBuilderFolder::FoldBinOp(),Folder,Insert(),LHS,Name, andRHS.
Referenced byllvm::addDiffRuntimeChecks(),llvm::addRuntimeChecks(),llvm::buildAtomicRMWValue(),buildPartialUnswitchConditionalBranch(),checkForNegativeOperand(),createLogicFromTable(),CreateOr(),llvm::OpenMPIRBuilder::createTask(),llvm::emitAMDGPUPrintfCall(),llvm::LoongArchTargetLowering::emitExpandAtomicRMW(),llvm::AArch64TargetLowering::emitLoadLinked(),llvm::ARMTargetLowering::emitLoadLinked(),llvm::PPCTargetLowering::emitMaskedAtomicCmpXchgIntrinsic(),llvm::PPCTargetLowering::emitMaskedAtomicRMWIntrinsic(),expandAnyOrAllIntrinsic(),expandFPToI(),expandIToFP(),llvm::SCEVExpander::expandUnionPredicate(),llvm::SCEVExpander::expandWrapPredicate(),foldComplexAndOrPatterns(),llvm::InstCombinerImpl::foldICmpAndConstConst(),foldICmpAndXX(),llvm::InstCombinerImpl::foldICmpBinOpEqualityWithConstant(),llvm::InstCombinerImpl::foldICmpEqIntrinsicWithConstant(),foldICmpOrXX(),llvm::InstCombinerImpl::foldICmpSelectConstant(),llvm::InstCombinerImpl::foldICmpSubConstant(),llvm::InstCombinerImpl::foldICmpWithZextOrSext(),foldLogOpOfMaskedICmps(),foldMinimumOverTrailingOrLeadingZeroCount(),foldSelectICmpAndAnd(),foldSwitchToSelect(),llvm::SCEVExpander::generateOverflowCheck(),generateUnsignedDivisionCode(),getBoundsCheckCond(),llvm::VNCoercion::getMemInstValueForLoad(),insertMaskedValue(),LowerBSWAP(),LowerCTLZ(),lowerFunnelShifts(),matchOrConcat(),mergeConditionalStoreToAddress(),performMaskedAtomicOp(),llvm::promoteCallWithVTableCmp(),llvm::InstCombinerImpl::SimplifyDemandedUseBits(),simplifyTernarylogic(),upgradeX86IntrinsicCall(),llvm::LoopVersioning::versionLoop(),llvm::InstCombinerImpl::visitOr(),llvm::InstCombinerImpl::visitTrunc(), andllvm::InstCombinerImpl::visitXor().
Create a vector int OR reduction intrinsic of the source vector.
Definition at line424 of fileIRBuilder.cpp.
Referenced byllvm::createAnyOfReduction(), andllvm::InstCombinerImpl::visitCallInst().
| inline |
Definition at line2435 of fileIRBuilder.h.
Referencesllvm::PHINode::Create(),FMF,Insert(), andName.
Referenced byllvm::sandboxir::PHINode::create(),llvm::OpenMPIRBuilder::createLoopSkeleton(),llvm::createMemCpyLoopKnownSize(),createMemMoveLoopKnownSize(),createMemMoveLoopUnknownSize(),createMemSetLoop(),createRetPHINode(),despeculateCountZeros(),llvm::SITargetLowering::emitExpandAtomicAddrSpacePredicate(),llvm::OpenMPIRBuilder::emitUserDefinedMapper(),llvm::VPScalarPHIRecipe::execute(),llvm::VPWidenPHIRecipe::execute(),llvm::VPPredInstPHIRecipe::execute(),llvm::VPActiveLaneMaskPHIRecipe::execute(),expandFPToI(),expandIToFP(),expandToSwitch(),foldGEPOfPhi(),llvm::InstCombinerImpl::foldICmpWithConstant(),foldMemChr(),foldURemOfLoopIncrement(),generateUnsignedDivisionCode(),llvm::InstCombiner::getFreelyInvertedImpl(),getStrlenWithNull(),llvm::lowerUnaryVectorIntrinsicAsLoop(),optimizeSQRT(),processPhiNode(),rewritePHIsForCleanupPad(),scalarizeMaskedCompressStore(),scalarizeMaskedExpandLoad(),scalarizeMaskedGather(),scalarizeMaskedLoad(),llvm::SplitBlockAndInsertSimpleForLoop(),llvm::coro::AnyRetconABI::splitCoroutine(),llvm::splitLoopBound(), andllvm::ObjectSizeOffsetEvaluator::visitPHINode().
| inline |
Definition at line2211 of fileIRBuilder.h.
Referencesllvm::IRBuilderFolder::CreatePointerBitCastOrAddrSpaceCast(),llvm::CastInst::CreatePointerBitCastOrAddrSpaceCast(),Folder,Insert(), andName.
Referenced byllvm::OpenMPIRBuilder::createReductionsGPU(),llvm::OpenMPIRBuilder::createTask(), andllvm::OpenMPIRBuilder::emitNonContiguousDescriptor().
| inline |
Definition at line2199 of fileIRBuilder.h.
Referencesllvm::IRBuilderFolder::CreatePointerCast(),llvm::CastInst::CreatePointerCast(),Folder,Insert(), andName.
Referenced byllvm::OpenMPIRBuilder::emitOffloadingArrays(),llvm::OpenMPIRBuilder::emitOffloadingArraysArgument(),llvm::lowerGlobalIFuncUsersAsGlobalCtor(),targetParallelCallback(), andUseTlsOffset().
Value * IRBuilderBase::CreatePreserveArrayAccessIndex | ( | Type * | ElTy, |
Value * | Base, | ||
unsigned | Dimension, | ||
unsigned | LastIndex, | ||
MDNode * | DbgInfo | ||
) |
Definition at line1183 of fileIRBuilder.cpp.
Referencesllvm::CallBase::addParamAttr(),assert(),llvm::sampleprof::Base,Context,CreateIntrinsic(),llvm::Attribute::get(),llvm::Value::getContext(),llvm::GetElementPtrInst::getGEPReturnType(),getInt32(),llvm::Type::getInt32Ty(),llvm::SmallVectorTemplateBase< T, bool >::push_back(), andllvm::Instruction::setMetadata().
Value * IRBuilderBase::CreatePreserveStructAccessIndex | ( | Type * | ElTy, |
Value * | Base, | ||
unsigned | Index, | ||
unsigned | FieldIndex, | ||
MDNode * | DbgInfo | ||
) |
Definition at line1224 of fileIRBuilder.cpp.
Referencesllvm::CallBase::addParamAttr(),assert(),llvm::sampleprof::Base,Context,CreateIntrinsic(),llvm::Attribute::get(),llvm::Value::getContext(),llvm::GetElementPtrInst::getGEPReturnType(),getInt32(),llvm::Type::getInt32Ty(), andllvm::Instruction::setMetadata().
Value * IRBuilderBase::CreatePreserveUnionAccessIndex | ( | Value * | Base, |
unsigned | FieldIndex, | ||
MDNode * | DbgInfo | ||
) |
Definition at line1209 of fileIRBuilder.cpp.
Referencesassert(),llvm::sampleprof::Base,CreateIntrinsic(),getInt32(), andllvm::Instruction::setMetadata().
| inline |
Definition at line1987 of fileIRBuilder.h.
ReferencesCreateGEP(),getInt8Ty(),Name,llvm::Offset, andPtr.
Referenced bycanonicalizeGEPOfConstGEPI8(),constructPointer(),createByteGEP(),foldConsecutiveLoads(),llvm::SCEVExpander::generateOverflowCheck(),insertSpills(),llvm::RISCVTargetLowering::lowerInterleavedLoad(),llvm::RISCVTargetLowering::lowerInterleavedStore(), andllvm::InstCombinerImpl::visitGetElementPtrInst().
Return the i64 difference between two pointer values, dividing out the size of the pointed-to objects.
This is intended to implement C-style pointer subtraction. As such, the pointers must be appropriately aligned for their element types and pointing into the same object.
Definition at line1075 of fileIRBuilder.cpp.
Referencesassert(),Context,CreateExactSDiv(),CreatePtrToInt(),CreateSub(),llvm::Type::getInt64Ty(),llvm::ConstantExpr::getSizeOf(),llvm::Value::getType(),LHS,Name, andRHS.
Definition at line2142 of fileIRBuilder.h.
ReferencesCreateCast(), andName.
Referenced byllvm::VNCoercion::coerceAvailableValueToLoadType(),convertToShadowDataInt(),CreateBitOrPointerCast(),createCast(),llvm::OpenMPIRBuilder::createCopyinClauseBlocks(),createMaskInstrs(),CreatePtrDiff(),llvm::OpenMPIRBuilder::createTask(),llvm::orc::IRSpeculationLayer::emit(),llvm::LoongArchTargetLowering::emitExpandAtomicRMW(),emitTaskDependencies(),fitArgInto64Bits(),llvm::memtag::getFP(),llvm::memtag::getPC(),llvm::OpenMPIRBuilder::getSizeInBytes(),llvm::VNCoercion::getStoreValueForLoadHelper(),getStrlenWithNull(),inlineGetBaseAndOffset(),insertSpills(),llvm::AMDGPU::instrumentAddress(),llvm::AMDGPU::instrumentAddressImpl(),llvm::AArch64TargetLowering::lowerInterleavedStore(),llvm::ARMTargetLowering::lowerInterleavedStore(),makeStatepointExplicitImpl(),llvm::KCFIPass::run(),llvm::InstCombinerImpl::visitCallInst(), andllvm::InstCombinerImpl::visitPtrToInt().
| inline |
Definition at line1275 of fileIRBuilder.h.
Referencesllvm::ResumeInst::Create(), andInsert().
Referenced byllvm::sandboxir::ResumeInst::create().
| inline |
Create a 'ret <val>' instruction.
Definition at line1139 of fileIRBuilder.h.
ReferencesContext,llvm::ReturnInst::Create(), andInsert().
Referenced bycreateThunk(),generateReproducer(),llvm::InlineFunction(),lowerFunnelShifts(),lowerIntrinsicToFunction(),llvm::orc::makeStub(),replaceFallthroughCoroEnd(), andllvm::coro::AnyRetconABI::splitCoroutine().
| inline |
Create a 'ret void' instruction.
Definition at line1134 of fileIRBuilder.h.
ReferencesContext,llvm::ReturnInst::Create(), andInsert().
Referenced bycreateFrameHelperMachineFunction(),createOutlinedFunction(),llvm::OpenMPIRBuilder::createReductions(),llvm::OpenMPIRBuilder::createTargetInit(),createThunk(),llvm::ThunkInserter< Derived, InsertedThunksTy >::createThunkFunction(),emitTargetTaskProxyFunction(),llvm::OpenMPIRBuilder::emitUserDefinedMapper(),llvm::InlineFunction(),llvm::lowerGlobalIFuncUsersAsGlobalCtor(),lowerIntrinsicToFunction(),llvm::orc::makeStub(),replaceCoroEndAsync(),replaceFallthroughCoroEnd(), andllvm::coro::AsyncABI::splitCoroutine().
| inline |
Definition at line1434 of fileIRBuilder.h.
ReferencesFolder,llvm::IRBuilderFolder::FoldExactBinOp(),Insert(),LHS,Name, andRHS.
Referenced byCreateExactSDiv(),llvm::expandDivisionUpTo32Bits(),llvm::expandDivisionUpTo64Bits(),foldIDivShl(), andllvm::InstCombinerImpl::visitSDiv().
Value * IRBuilderBase::CreateSelect | ( | Value * | C, |
Value * | True, | ||
Value * | False, | ||
constTwine & | Name ="" , | ||
Instruction * | MDFrom =nullptr | ||
) |
Definition at line1053 of fileIRBuilder.cpp.
Referencesllvm::CallingConv::C,CreateSelectFMF(), andName.
Referenced byllvm::buildAtomicRMWValue(),llvm::buildCmpXchgValue(),llvm::createAnyOfReduction(),llvm::OpenMPIRBuilder::createAtomicCompare(),llvm::OpenMPIRBuilder::createCanonicalLoop(),llvm::SPIRVMergeRegionExitTargets::createExitVariable(),llvm::createFindLastIVReduction(),CreateLogicalAnd(),CreateLogicalOr(),llvm::createMinMaxOp(),llvm::OpenMPIRBuilder::createTask(),llvm::OpenMPIRBuilder::createTeams(),emitRsqIEEE1ULP(),emitX86ScalarSelect(),emitX86Select(),llvm::VPWidenSelectRecipe::execute(),llvm::VPBlendRecipe::execute(),llvm::VPReductionRecipe::execute(),expandAtan2Intrinsic(),expandFPToI(),expandStepIntrinsic(),foldMulSelectToNegate(),llvm::InstCombinerImpl::foldSelectIntoOp(),llvm::InstCombinerImpl::foldSelectOpOp(),foldSetClearBits(),foldSwitchToSelect(),foldURemOfLoopIncrement(),generateNewInstTree(),llvm::SCEVExpander::generateOverflowCheck(),generateUnsignedDivisionCode(),llvm::InstCombiner::getFreelyInvertedImpl(),llvm::InnerLoopVectorizer::getOrCreateVectorTripCount(),llvm::X86TTIImpl::instCombineIntrinsic(),instCombineSVESel(),llvm::lowerObjectSizeCall(),preparePlanForEpilogueVectorLoop(),reassociateMinMaxWithConstants(),SimplifyCondBranchToCondBranch(),llvm::InstCombinerImpl::SimplifySelectsFeedingBinaryOp(),simplifyX86pack(),llvm::InstCombinerImpl::takeLog2(),llvm::OpenMPIRBuilder::tileLoops(),upgradeMaskedMove(),upgradeNVVMIntrinsicCall(),llvm::InstCombinerImpl::visitAdd(),llvm::InstCombinerImpl::visitCallInst(), andllvm::ObjectSizeOffsetEvaluator::visitSelectInst().
Value * IRBuilderBase::CreateSelectFMF | ( | Value * | C, |
Value * | True, | ||
Value * | False, | ||
FMFSource | FMFSource, | ||
constTwine & | Name ="" , | ||
Instruction * | MDFrom =nullptr | ||
) |
Definition at line1058 of fileIRBuilder.cpp.
Referencesllvm::CallingConv::C,llvm::SelectInst::Create(),FMF,Folder,llvm::IRBuilderFolder::FoldSelect(),llvm::FMFSource::get(),llvm::Instruction::getMetadata(),Insert(), andName.
Referenced byCreateSelect(),foldMulSelectToNegate(),foldTwoEntryPHINode(), andllvm::InstCombinerImpl::visitFPTrunc().
Definition at line2045 of fileIRBuilder.h.
ReferencesCreateCast(), andName.
Referenced byllvm::OpenMPIRBuilder::createAtomicCompare(),CreateSExtOrTrunc(),llvm::emitAMDGPUPrintfCall(),llvm::LoongArchTargetLowering::emitMaskedAtomicCmpXchgIntrinsic(),llvm::RISCVTargetLowering::emitMaskedAtomicCmpXchgIntrinsic(),llvm::LoongArchTargetLowering::emitMaskedAtomicRMWIntrinsic(),llvm::RISCVTargetLowering::emitMaskedAtomicRMWIntrinsic(),llvm::expandDivisionUpTo32Bits(),llvm::expandDivisionUpTo64Bits(),expandFPToI(),llvm::expandRemainderUpTo32Bits(),llvm::expandRemainderUpTo64Bits(),foldNoWrapAdd(),llvm::InstCombiner::getFreelyInvertedImpl(),llvm::GCNTTIImpl::instCombineIntrinsic(),llvm::InstCombinerImpl::SimplifyDemandedUseBits(),sinkMinMaxInBB(),tryInterleave(),tryToFPToSat(),upgradeMaskToInt(),upgradeX86IntrinsicCall(),upgradeX86vpcom(),llvm::InstCombinerImpl::visitAnd(),llvm::InstCombinerImpl::visitGetElementPtrInst(), andllvm::InstCombinerImpl::visitSub().
| inline |
Definition at line2170 of fileIRBuilder.h.
ReferencesCreateCast(),llvm::Type::getScalarSizeInBits(), andName.
| inline |
Create a SExt or Trunc from the integer value V to DestTy.
Return the value untouched if the type of V is already DestTy.
Definition at line2066 of fileIRBuilder.h.
Referencesassert(),CreateSExt(),CreateTrunc(),llvm::Type::getScalarSizeInBits(),llvm::Type::isIntOrIntVectorTy(), andName.
Referenced byhostParallelCallback(), andtargetParallelCallback().
| inline |
Definition at line1468 of fileIRBuilder.h.
ReferencesCreateShl(),LHS,Name, andRHS.
| inline |
Definition at line1474 of fileIRBuilder.h.
ReferencesCreateShl(),LHS,Name, andRHS.
| inline |
Definition at line1459 of fileIRBuilder.h.
ReferencesFolder,llvm::IRBuilderFolder::FoldNoWrapBinOp(),LHS,Name, andRHS.
Referenced bycanonicalizeLowbitMask(),combineAddSubWithShlAddSub(),llvm::InstCombinerImpl::commonIDivTransforms(),convertToRelLookupTable(),convertToShadowDataInt(),createMaskInstrs(),CreateShl(),llvm::emitAMDGPUPrintfCall(),llvm::LoongArchTargetLowering::emitExpandAtomicRMW(),llvm::AArch64TargetLowering::emitLoadLinked(),llvm::ARMTargetLowering::emitLoadLinked(),llvm::PPCTargetLowering::emitMaskedAtomicCmpXchgIntrinsic(),llvm::PPCTargetLowering::emitMaskedAtomicRMWIntrinsic(),llvm::OpenMPIRBuilder::emitUserDefinedMapper(),expandFPToI(),expandIToFP(),llvm::InstCombinerImpl::foldAddWithConstant(),foldConsecutiveLoads(),llvm::InstCombinerImpl::foldICmpAndConstConst(),llvm::InstCombinerImpl::foldICmpAndShift(),foldIDivShl(),foldMulShl1(),foldSelectICmpAnd(),foldSelectICmpAndAnd(),foldSelectICmpAndBinOp(),foldShiftIntoShiftInAnotherHandOfAndInICmp(),generateUnsignedDivisionCode(),llvm::VNCoercion::getMemInstValueForLoad(),getShiftedValue(),llvm::memtag::incrementThreadLong(),insertMaskedValue(),llvm::GCNTTIImpl::instCombineIntrinsic(),llvm::X86TTIImpl::instCombineIntrinsic(),LowerBSWAP(),lowerFunnelShifts(),matchOrConcat(),matchStridedStart(),simplifyValueKnownNonZero(),simplifyX86immShift(),simplifyX86varShift(),upgradePMULDQ(),llvm::InstCombinerImpl::visitAdd(),llvm::InstCombinerImpl::visitLShr(),llvm::InstCombinerImpl::visitSExt(),llvm::InstCombinerImpl::visitShl(), andllvm::InstCombinerImpl::visitTrunc().
| inline |
Create a unary shuffle.
The second vector operand of the IR instruction is poison.
Definition at line2550 of fileIRBuilder.h.
ReferencesCreateShuffleVector(),llvm::PoisonValue::get(), andName.
| inline |
See classShuffleVectorInst for a description of the mask representation.
Definition at line2541 of fileIRBuilder.h.
ReferencesFolder,llvm::IRBuilderFolder::FoldShuffleVector(),Insert(), andName.
| inline |
Definition at line2533 of fileIRBuilder.h.
ReferencesCreateShuffleVector(),llvm::ShuffleVectorInst::getShuffleMask(), andName.
Referenced byapplyX86MaskOn1BitsVec(),concatenateTwoVectors(),concatSubVector(),llvm::sandboxir::ShuffleVectorInst::create(),createExtractVector(),createShiftShuffle(),CreateShuffleVector(),createTblForTrunc(),createTblShuffleForSExt(),createTblShuffleForZExt(),CreateVectorReverse(),CreateVectorSplat(),CreateVectorSplice(),llvm::VPInterleaveRecipe::execute(),foldCastShuffle(),llvm::InstCombinerImpl::foldSelectShuffle(),foldShuffleOfUnaryOps(),llvm::InstCombinerImpl::foldVectorBinop(),generateNewInstTree(),llvm::getShuffleReduction(),getX86MaskVec(),llvm::X86TTIImpl::instCombineIntrinsic(),instCombineSVEDupqLane(),interleaveVectors(),llvm::AArch64TargetLowering::lowerInterleavedStore(),llvm::ARMTargetLowering::lowerInterleavedStore(),llvm::RISCVTargetLowering::lowerInterleavedStore(),lowerKernelArguments(),narrowVectorSelect(),promoteAllocaUserToVector(),reorderSubVector(),scalarizeMaskedExpandLoad(),simplifyAMDGCNMemoryIntrinsicDemanded(),simplifyNeonTbl1(),simplifyX86extrq(),simplifyX86immShift(),simplifyX86insertps(),simplifyX86insertq(),simplifyX86pack(),simplifyX86pmadd(),simplifyX86pshufb(),simplifyX86vpermilvar(),simplifyX86vpermv(),simplifyX86vpermv3(),tryInterleave(),upgradeAArch64IntrinsicCall(),upgradeX86ALIGNIntrinsics(),upgradeX86IntrinsicCall(),upgradeX86PSLLDQIntrinsics(),upgradeX86PSRLDQIntrinsics(),llvm::InstCombinerImpl::visitCallInst(), andllvm::InstCombinerImpl::visitShuffleVectorInst().
Definition at line2106 of fileIRBuilder.h.
ReferencesCreateCast(),CreateConstrainedFPCast(),IsFPConstrained, andName.
Referenced byemitImplicitCast(),llvm::VPScalarIVStepsRecipe::execute(),llvm::AArch64TargetLowering::optimizeExtendOrTruncateConversion(), andupgradeX86IntrinsicCall().
Definition at line1453 of fileIRBuilder.h.
Referencesllvm::IRBuilderFolder::FoldBinOp(),Folder,Insert(),LHS,Name, andRHS.
Referenced byllvm::expandRemainderUpTo32Bits(),llvm::expandRemainderUpTo64Bits(),llvm::InstCombinerImpl::SimplifyAddWithRemainder(), andllvm::InstCombinerImpl::visitSRem().
Create a call to llvm.stackrestore.
Definition at line1095 of fileIRBuilder.h.
ReferencesCreateIntrinsic(),Name, andPtr.
Referenced byllvm::InlineFunction(),lowerLocalAllocas(), andRemovePreallocated().
Create a call to llvm.stacksave.
Definition at line1088 of fileIRBuilder.h.
ReferencesBB,Context,CreateIntrinsic(),DL,llvm::BasicBlock::getDataLayout(), andName.
Referenced byllvm::InlineFunction(),lowerLocalAllocas(), andRemovePreallocated().
Creates a vector of typeDstType
with the linear sequence <0, 1, ...>
Definition at line108 of fileIRBuilder.cpp.
ReferencesCreateIntrinsic(),CreateTrunc(),llvm::ConstantVector::get(),llvm::VectorType::get(),getInt8Ty(),llvm::Type::getScalarSizeInBits(),llvm::Type::getScalarType(),Name, andllvm::SmallVectorTemplateBase< T, bool >::push_back().
Referenced byllvm::VPWidenPointerInductionRecipe::execute(),llvm::VPWidenCanonicalIVRecipe::execute(),llvm::VPScalarIVStepsRecipe::execute(), andgetStepVector().
Definition at line1811 of fileIRBuilder.h.
ReferencesCreateAlignedStore(), andPtr.
Referenced bycallBufferedPrintfArgPush(),llvm::OpenMPIRBuilder::createAtomicCapture(),llvm::OpenMPIRBuilder::createAtomicCompare(),llvm::OpenMPIRBuilder::createAtomicRead(),llvm::OpenMPIRBuilder::createAtomicWrite(),llvm::OpenMPIRBuilder::createOrderedDepend(),llvm::OpenMPIRBuilder::createParallel(),llvm::OpenMPIRBuilder::createReductions(),llvm::OpenMPIRBuilder::createReductionsGPU(),llvm::OpenMPIRBuilder::createSingle(),llvm::OpenMPIRBuilder::createTargetData(),llvm::OpenMPIRBuilder::createTask(),eliminateSwiftErrorArgument(),llvm::orc::IRSpeculationLayer::emit(),llvm::emitAMDGPUPrintfCall(),emitSetAndGetSwiftErrorValueAround(),emitTaskDependencies(),hostParallelCallback(),insertSpills(),instCombineSVEST1(),llvm::lowerAtomicRMWInst(),markCoroutineAsDone(),mergeConditionalStoreToAddress(),llvm::orc::ReOptimizeLayer::reoptimizeIfCallFrequent(),replaceSwiftErrorOps(),llvm::SPIRVMergeRegionExitTargets::runOnConvergenceRegionNoRecurse(),salvageDebugInfoImpl(),scalarizeMaskedVectorHistogram(),llvm::InstCombinerImpl::SimplifyAnyMemSet(),llvm::InstCombinerImpl::SimplifyAnyMemTransfer(),llvm::coro::AnyRetconABI::splitCoroutine(),targetParallelCallback(), andDataScalarizerVisitor::visitStoreInst().
Create a strip.invariant.group intrinsic call.
If Ptr type is different from pointer to i8, it's casted to pointer to i8 in the same address space before call and casted back to Ptr type after call.
Definition at line1102 of fileIRBuilder.cpp.
Referencesassert(),BB,CreateCall(),llvm::Function::getFunctionType(),llvm::Intrinsic::getOrInsertDeclaration(),llvm::FunctionType::getParamType(),llvm::GlobalValue::getParent(),llvm::BasicBlock::getParent(),llvm::Function::getReturnType(), andPtr.
Referenced bysimplifyInvariantGroupIntrinsic().
| inline |
Definition at line1980 of fileIRBuilder.h.
ReferencesCreateConstGEP2_32(),Idx,llvm::GEPNoWrapFlags::inBounds(),Name,llvm::GEPNoWrapFlags::noUnsignedWrap(), andPtr.
Referenced byllvm::OpenMPIRBuilder::createTask(),llvm::OpenMPIRBuilder::emitNonContiguousDescriptor(),llvm::OpenMPIRBuilder::emitTargetKernel(),emitTargetTaskProxyFunction(),emitTaskDependencies(),llvm::coro::BaseCloner::handleFinalSuspend(), andmarkCoroutineAsDone().
| inline |
Definition at line1387 of fileIRBuilder.h.
ReferencesFolder,llvm::IRBuilderFolder::FoldNoWrapBinOp(),LHS,Name, andRHS.
Referenced byllvm::buildAtomicRMWValue(),checkForNegativeOperand(),llvm::OpenMPIRBuilder::createCanonicalLoop(),createMemMoveLoopKnownSize(),createMemMoveLoopUnknownSize(),CreateNeg(),CreateNSWSub(),CreateNUWSub(),CreatePtrDiff(),llvm::InnerLoopVectorizer::emitIterationCountCheck(),llvm::LoongArchTargetLowering::emitMaskedAtomicRMWIntrinsic(),llvm::RISCVTargetLowering::emitMaskedAtomicRMWIntrinsic(),llvm::EpilogueVectorizerEpilogueLoop::emitMinimumVectorEpilogueIterCountCheck(),llvm::VPReverseVectorPointerRecipe::execute(),llvm::VPFirstOrderRecurrencePHIRecipe::execute(),llvm::VPInterleaveRecipe::execute(),expandAbs(),expandFPToI(),expandIToFP(),expandSignIntrinsic(),foldAndOrOfICmpEqConstantAndICmp(),foldCtpop(),llvm::InstCombinerImpl::foldICmpBinOp(),foldICmpIntrinsicWithIntrinsic(),foldMulShl1(),foldSwitchToSelect(),llvm::SCEVExpander::generateOverflowCheck(),generateSignedDivisionCode(),generateSignedRemainderCode(),generateUnsignedDivisionCode(),generateUnsignedRemainderCode(),llvm::VPLane::getAsRuntimeExpr(),getBoundsCheckCond(),llvm::InstCombiner::getFreelyInvertedImpl(),llvm::InnerLoopVectorizer::getOrCreateVectorTripCount(),getStrlenWithNull(),hoistAdd(),hoistSub(),inlineGetBaseAndOffset(),llvm::InstCombinerImpl::insertRangeTest(),lowerFunnelShifts(),llvm::IntrinsicLowering::LowerIntrinsicCall(),llvm::lowerObjectSizeCall(),makeStatepointExplicitImpl(),llvm::InstCombinerImpl::OptimizePointerDifference(),llvm::VPlan::prepareToExecute(),reduceSwitchRange(),replaceSubOverflowUses(),llvm::InstCombinerImpl::SimplifySelectsFeedingBinaryOp(),simplifyValueKnownNonZero(),switchToLookupTable(),llvm::InstCombinerImpl::takeLog2(),llvm::InstCombinerImpl::tryFoldInstWithCtpopWithNot(),llvm::UnrollRuntimeLoopRemainder(),upgradeX86IntrinsicCall(),llvm::InstCombinerImpl::visitAdd(),llvm::InstCombinerImpl::visitOr(),llvm::InstCombinerImpl::visitSub(), andllvm::InstCombinerImpl::visitURem().
| inline |
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).
Definition at line1187 of fileIRBuilder.h.
Referencesllvm::SwitchInst::Create(), andInsert().
Referenced byllvm::sandboxir::SwitchInst::create(),llvm::OpenMPIRBuilder::createReductions(),llvm::OpenMPIRBuilder::createSections(),expandIToFP(),expandToSwitch(),foldMemChr(),rewritePHIsForCleanupPad(), andllvm::SPIRVMergeRegionExitTargets::runOnConvergenceRegionNoRecurse().
Create a call to llvm.threadlocal.address intrinsic.
Definition at line508 of fileIRBuilder.cpp.
ReferencesA,llvm::CallBase::addParamAttr(),llvm::CallBase::addRetAttr(),assert(),CreateIntrinsic(),llvm::getAlign(),llvm::Value::getContext(),llvm::Attribute::getWithAlignment(), andPtr.
| inline |
Definition at line2019 of fileIRBuilder.h.
Referencesllvm::CastInst::Create(),llvm::IRBuilderFolder::FoldCast(),Folder,I,Insert(), andName.
Referenced bycallBufferedPrintfStart(),createMaskInstrs(),CreateSExtOrTrunc(),CreateStepVector(),CreateZExtOrTrunc(),DoFlattenLoopPair(),dropRedundantMaskingOfLeftShiftInput(),llvm::emitAMDGPUPrintfCall(),llvm::LoongArchTargetLowering::emitExpandAtomicRMW(),llvm::AArch64TargetLowering::emitLoadLinked(),llvm::LoongArchTargetLowering::emitMaskedAtomicCmpXchgIntrinsic(),llvm::PPCTargetLowering::emitMaskedAtomicCmpXchgIntrinsic(),llvm::RISCVTargetLowering::emitMaskedAtomicCmpXchgIntrinsic(),llvm::LoongArchTargetLowering::emitMaskedAtomicRMWIntrinsic(),llvm::PPCTargetLowering::emitMaskedAtomicRMWIntrinsic(),llvm::RISCVTargetLowering::emitMaskedAtomicRMWIntrinsic(),llvm::AArch64TargetLowering::emitStoreConditional(),llvm::ARMTargetLowering::emitStoreConditional(),llvm::VPWidenIntOrFpInductionRecipe::execute(),llvm::expandDivisionUpTo32Bits(),llvm::expandDivisionUpTo64Bits(),expandIToFP(),llvm::expandRemainderUpTo32Bits(),llvm::expandRemainderUpTo64Bits(),extractIntPart(),extractMaskedValue(),llvm::InstCombinerImpl::foldCmpLoadFromIndexedGlobal(),llvm::InstCombinerImpl::foldGEPICmp(),llvm::InstCombinerImpl::foldICmpAndConstant(),llvm::InstCombinerImpl::foldICmpEquality(),llvm::InstCombinerImpl::foldICmpShlConstant(),foldMemChr(),llvm::InstCombiner::getFreelyInvertedImpl(),getMul64(),lowerKernelArguments(),llvm::AArch64TargetLowering::optimizeExtendOrTruncateConversion(),processUGT_ADDCST_ADD(),shrinkSplatShuffle(),llvm::InstCombinerImpl::SimplifyDemandedUseBits(),simplifyX86pack(),simplifyX86pmulh(),llvm::InstCombinerImpl::SliceUpIllegalIntegerPHI(),switchToLookupTable(),llvm::InstCombinerImpl::takeLog2(),llvm::UpgradeIntrinsicCall(),upgradeNVVMIntrinsicCall(),upgradeX86IntrinsicCall(),llvm::InstCombinerImpl::visitAnd(),llvm::InstCombinerImpl::visitLShr(),llvm::InstCombinerImpl::visitMul(),llvm::InstCombinerImpl::visitShl(),llvm::InstCombinerImpl::visitSwitchInst(),llvm::InstCombinerImpl::visitTrunc(), andllvm::InstCombinerImpl::visitZExt().
| inline |
Definition at line2178 of fileIRBuilder.h.
ReferencesCreateCast(),llvm::Type::getScalarSizeInBits(), andName.
Referenced byllvm::VNCoercion::coerceAvailableValueToLoadType(),llvm::ARMTargetLowering::emitLoadLinked(),llvm::VNCoercion::getStoreValueForLoadHelper(), andllvm::SCEVExpander::replaceCongruentIVs().
Create an expression which evaluates to the number of units inSize
at runtime.
This works for both units of bits and bytes.
Definition at line103 of fileIRBuilder.cpp.
ReferencesCreateVScale(), andSize.
Referenced byllvm::emitGEPOffset(),getBoundsCheckCond(),llvm::AMDGPU::instrumentAddress(),unpackLoadToAggregate(),unpackStoreToAggregate(), andllvm::ObjectSizeOffsetEvaluator::visitAllocaInst().
| inline |
Definition at line1421 of fileIRBuilder.h.
ReferencesFolder,llvm::IRBuilderFolder::FoldExactBinOp(),Insert(),LHS,Name, andRHS.
Referenced byllvm::OpenMPIRBuilder::collapseLoops(),llvm::OpenMPIRBuilder::createCanonicalLoop(),CreateExactUDiv(),llvm::expandDivisionUpTo32Bits(),llvm::expandDivisionUpTo64Bits(),foldIDivShl(),generateSignedDivisionCode(),generateUnsignedRemainderCode(),ShapeCalculator::getRowFromCol(), andllvm::OpenMPIRBuilder::tileLoops().
| inline |
Definition at line2093 of fileIRBuilder.h.
ReferencesCreateConstrainedFPCast(),llvm::IRBuilderFolder::FoldCast(),Folder,I,Insert(),IsFPConstrained, andName.
Referenced byllvm::VPWidenIntOrFpInductionRecipe::execute(),getStepVector(),llvm::AArch64TargetLowering::optimizeExtendOrTruncateConversion(), andupgradeX86IntrinsicCall().
CallInst * IRBuilderBase::CreateUnaryIntrinsic | ( | Intrinsic::ID | ID, |
Value * | V, | ||
FMFSource | FMFSource ={} , | ||
constTwine & | Name ="" | ||
) |
Create a call to intrinsicID
with 1 operand which is mangled on its type.
Definition at line881 of fileIRBuilder.cpp.
ReferencesBB,llvm::BasicBlock::getModule(),llvm::Intrinsic::getOrInsertDeclaration(), andName.
Referenced byllvm::createSimpleReduction(),emitRsqIEEE1ULP(),foldBitOrderCrossLogicOp(),foldCtpop(),foldFDivSqrtDivisor(),llvm::InstCombinerImpl::foldFMulReassoc(),foldICmpPow2Test(),llvm::InstCombinerImpl::SimplifyDemandedUseBits(),llvm::InstCombinerImpl::visitAnd(),llvm::InstCombinerImpl::visitCallInst(),llvm::InstCombinerImpl::visitFMul(),llvm::InstCombinerImpl::visitLShr(), andllvm::InstCombinerImpl::visitOr().
| inline |
Definition at line1761 of fileIRBuilder.h.
Referencesllvm::UnaryOperator::Create(),FMF,Folder,llvm::IRBuilderFolder::FoldUnOpFMF(),Insert(), andName.
Referenced byllvm::sandboxir::UnaryOperator::create(),CreateNAryOp(), andgenerateNewInstTree().
| inline |
Definition at line1306 of fileIRBuilder.h.
ReferencesContext, andInsert().
Referenced byllvm::OpenMPIRBuilder::createAtomicCompare(),llvm::OpenMPIRBuilder::createCancel(),createMemMoveLoopUnknownSize(),llvm::OpenMPIRBuilder::createReductions(),llvm::OpenMPIRBuilder::createTargetInit(),llvm::deleteDeadLoop(),llvm::VPBasicBlock::execute(),expandToSwitch(),removeUndefIntroducingPredecessor(),rewritePHIsForCleanupPad(), andtryToMergeLandingPad().
Definition at line1447 of fileIRBuilder.h.
Referencesllvm::IRBuilderFolder::FoldBinOp(),Folder,Insert(),LHS,Name, andRHS.
Referenced byllvm::OpenMPIRBuilder::collapseLoops(),llvm::expandRemainderUpTo32Bits(),llvm::expandRemainderUpTo64Bits(),llvm::InstCombinerImpl::foldICmpBinOpEqualityWithConstant(),generateSignedRemainderCode(),llvm::InnerLoopVectorizer::getOrCreateVectorTripCount(),lowerFunnelShifts(),llvm::InstCombinerImpl::SimplifyAddWithRemainder(), andllvm::OpenMPIRBuilder::tileLoops().
Definition at line2495 of fileIRBuilder.h.
ReferencesInsert(),llvm::List, andName.
Return a vector value that contains the vector V reversed.
Definition at line1119 of fileIRBuilder.cpp.
ReferencesBB,llvm::CallInst::Create(),CreateShuffleVector(),F,llvm::Intrinsic::getOrInsertDeclaration(),llvm::GlobalValue::getParent(),llvm::BasicBlock::getParent(),Insert(),Name, andllvm::SmallVectorTemplateBase< T, bool >::push_back().
Referenced byllvm::VPInterleaveRecipe::execute(),llvm::VPWidenLoadRecipe::execute(), andllvm::VPWidenStoreRecipe::execute().
Value * IRBuilderBase::CreateVectorSplat | ( | ElementCount | EC, |
Value * | V, | ||
constTwine & | Name ="" | ||
) |
Return a vector value that contains.
EC
elements.Definition at line1169 of fileIRBuilder.cpp.
Referencesassert(),CreateInsertElement(),CreateShuffleVector(),llvm::VectorType::get(),llvm::PoisonValue::get(),getInt64(),Name,Poison, andllvm::SmallVectorImpl< T >::resize().
Return a vector value that contains.
NumElts
elements.Definition at line1163 of fileIRBuilder.cpp.
ReferencesCreateVectorSplat(),llvm::ElementCount::getFixed(), andName.
Referenced byCheckAndCreateOffsetAdd(),createReverseEVL(),CreateVectorSplat(),llvm::emitGEPOffset(),llvm::VPWidenGEPRecipe::execute(),llvm::VPWidenIntOrFpInductionRecipe::execute(),llvm::VPWidenPointerInductionRecipe::execute(),llvm::VPReductionPHIRecipe::execute(),llvm::VPReductionRecipe::execute(),llvm::VPReductionEVLRecipe::execute(),llvm::VPWidenLoadEVLRecipe::execute(),llvm::VPWidenStoreEVLRecipe::execute(),llvm::VPWidenCanonicalIVRecipe::execute(),llvm::VPScalarIVStepsRecipe::execute(),llvm::VPWidenEVLRecipe::execute(),expandNormalizeIntrinsic(),llvm::InstCombinerImpl::foldGEPICmp(),llvm::VPTransformState::get(),getStepVector(),llvm::ARMTTIImpl::instCombineIntrinsic(),instCombineSVEDupX(),instCombineSVETBL(),instCombineSVEUnpack(),llvm::AArch64TargetLowering::lowerDeinterleaveIntrinsicToLoad(),lowerFunnelShifts(),llvm::AArch64TargetLowering::lowerInterleaveIntrinsicToStore(),promoteAllocaUserToVector(),simplifyX86immShift(),upgradeX86ConcatShift(),upgradeX86IntrinsicCall(), andupgradeX86Rotate().
Return a vector splice intrinsic if using scalable vectors, otherwise return a shufflevector.
If the immediate is positive, a vector is extracted from concat(V1, V2), starting at Imm. If the immediate is negative, we extract -Imm elements from V1 and the remaining elements from V2. Imm is a signed integer in the range -VL <= Imm < VL (where VL is the runtime vector length of the source/result vector)
Definition at line1135 of fileIRBuilder.cpp.
Referencesassert(),BB,llvm::CallInst::Create(),CreateShuffleVector(),F,getInt32(),llvm::Intrinsic::getOrInsertDeclaration(),llvm::GlobalValue::getParent(),llvm::BasicBlock::getParent(),llvm::Value::getType(),I,Idx,Insert(), andName.
Create a call to llvm.vscale, multiplied byScaling
.
The type of VScale will be the same type as that ofScaling
.
Definition at line89 of fileIRBuilder.cpp.
Referencesassert(),CreateIntrinsic(),CreateMul(),llvm::Value::getType(),isZero(), andName.
Referenced byCreateElementCount(),CreateTypeSize(),instCombineSVECntElts(),llvm::lowerUnaryVectorIntrinsicAsLoop(),llvm::InstCombinerImpl::visitSExt(),llvm::InstCombinerImpl::visitTrunc(), andllvm::InstCombinerImpl::visitZExt().
Definition at line1568 of fileIRBuilder.h.
ReferencesCreateXor(),LHS,Name, andRHS.
Definition at line1572 of fileIRBuilder.h.
ReferencesCreateXor(),LHS,Name, andRHS.
Definition at line1562 of fileIRBuilder.h.
Referencesllvm::IRBuilderFolder::FoldBinOp(),Folder,Insert(),LHS,Name, andRHS.
Referenced byllvm::buildAtomicRMWValue(),canonicalizeICmpBool(),createLogicFromTable(),createMaskInstrs(),CreateNot(),CreateXor(),expandFPToI(),expandIToFP(),foldAndToXor(),foldComplexAndOrPatterns(),llvm::InstCombinerImpl::foldICmpAndConstant(),llvm::InstCombinerImpl::foldICmpEquality(),llvm::InstCombinerImpl::foldICmpOrConstant(),foldOrOfInversions(),foldOrToXor(),foldSelectICmpAnd(),foldSelectICmpAndBinOp(),foldXorToXor(),generateSignedDivisionCode(),generateSignedRemainderCode(),llvm::InstCombiner::getFreelyInvertedImpl(),hoistConditionalLoadsStores(),llvm::memtag::incrementThreadLong(),mergeNestedCondBranch(),llvm::InstCombinerImpl::SimplifyDemandedUseBits(),simplifyTernarylogic(),upgradeX86IntrinsicCall(),llvm::InstCombinerImpl::visitAdd(),llvm::InstCombinerImpl::visitSub(), andllvm::InstCombinerImpl::visitXor().
Create a vector int XOR reduction intrinsic of the source vector.
Definition at line428 of fileIRBuilder.cpp.
| inline |
Definition at line2033 of fileIRBuilder.h.
Referencesllvm::IRBuilderFolder::FoldCast(),Folder,I,Insert(), andName.
Referenced bybitTrackingDCE(),llvm::InstCombinerImpl::commonShiftTransforms(),llvm::OpenMPIRBuilder::createAtomicCompare(),createTblShuffleForZExt(),CreateZExtOrTrunc(),llvm::LoongArchTargetLowering::emitExpandAtomicRMW(),llvm::AArch64TargetLowering::emitLoadLinked(),llvm::ARMTargetLowering::emitLoadLinked(),llvm::PPCTargetLowering::emitMaskedAtomicCmpXchgIntrinsic(),llvm::PPCTargetLowering::emitMaskedAtomicRMWIntrinsic(),llvm::HexagonTargetLowering::emitStoreConditional(),llvm::expandDivisionUpTo32Bits(),llvm::expandDivisionUpTo64Bits(),expandFPToI(),expandIToFP(),llvm::expandRemainderUpTo32Bits(),llvm::expandRemainderUpTo64Bits(),expandSignIntrinsic(),fitArgInto64Bits(),foldAnyOrAllBitsSet(),foldConsecutiveLoads(),foldCttzCtlz(),foldNoWrapAdd(),foldShiftIntoShiftInAnotherHandOfAndInICmp(),getMul64(),injectPendingInvariantConditions(),insertMaskedValue(),llvm::GCNTTIImpl::instCombineIntrinsic(),matchOrConcat(),processNonStringArg(),processUGT_ADDCST_ADD(),processUMulZExtIdiom(),simplifyX86addcarry(),sinkMinMaxInBB(),llvm::InstCombinerImpl::takeLog2(),llvm::OpenMPIRBuilder::tileLoops(),tryInterleave(),upgradeNVVMIntrinsicCall(),upgradeX86IntrinsicCall(),llvm::InstCombinerImpl::visitAdd(),llvm::InstCombinerImpl::visitBitCast(),llvm::InstCombinerImpl::visitCallInst(),llvm::InstCombinerImpl::visitLShr(),llvm::InstCombinerImpl::visitMul(),llvm::InstCombinerImpl::visitSub(), andllvm::InstCombinerImpl::visitZExt().
| inline |
Definition at line2162 of fileIRBuilder.h.
ReferencesCreateCast(),llvm::Type::getScalarSizeInBits(), andName.
Referenced byllvm::AArch64TargetLowering::emitStoreConditional(),llvm::ARMTargetLowering::emitStoreConditional(),llvm::VNCoercion::getMemInstValueForLoad(), andsplitMergedValStore().
| inline |
Create a ZExt or Trunc from the integer value V to DestTy.
Return the value untouched if the type of V is already DestTy.
Definition at line2051 of fileIRBuilder.h.
Referencesassert(),CreateTrunc(),CreateZExt(),llvm::Type::getScalarSizeInBits(),llvm::Type::isIntOrIntVectorTy(), andName.
Referenced bycreateTargetLoopWorkshareCall(),llvm::VPReverseVectorPointerRecipe::execute(),llvm::VPWidenIntOrFpInductionRecipe::execute(),foldSelectICmpAnd(),foldSelectICmpAndBinOp(),llvm::SCEVExpander::generateOverflowCheck(),llvm::lowerObjectSizeCall(),simplifyX86immShift(),simplifyX86movmsk(),switchToLookupTable(),llvm::InstCombinerImpl::visitAdd(),llvm::ObjectSizeOffsetEvaluator::visitAllocaInst(),llvm::ObjectSizeOffsetEvaluator::visitCallBase(),llvm::InstCombinerImpl::visitCallInst(), andllvm::InstCombinerImpl::visitIntToPtr().
| inline |
Return an all true boolean vector (mask) withNumElts
lanes.
Definition at line867 of fileIRBuilder.h.
ReferencesContext,llvm::VectorType::get(),llvm::Constant::getAllOnesValue(), andllvm::Type::getInt1Ty().
Referenced byCreateMaskedGather(),CreateMaskedScatter(),llvm::VectorBuilder::getAllTrueMask(),llvm::RISCVTargetLowering::lowerInterleavedLoad(), andllvm::RISCVTargetLowering::lowerInterleavedStore().
| inline |
Fetch the type representing a 16-bit brain floating point value.
Definition at line568 of fileIRBuilder.h.
ReferencesContext, andllvm::Type::getBFloatTy().
Referenced byllvm::UpgradeIntrinsicCall().
| inline |
Definition at line195 of fileIRBuilder.h.
ReferencesContext.
Referenced byllvm::OpenMPIRBuilder::applySimd(),callBufferedPrintfStart(),CloneLoopBlocks(),createAllocaInstAtEntry(),CreateGCStatepointCallCommon(),CreateGCStatepointInvokeCommon(),createOutlinedFunction(),llvm::OpenMPIRBuilder::createParallel(),llvm::OpenMPIRBuilder::createSingle(),llvm::OpenMPIRBuilder::createTargetData(),llvm::emitAMDGPUPrintfCall(),llvm::AtomicInfo::EmitAtomicLibcall(),llvm::SITargetLowering::emitExpandAtomicAddrSpacePredicate(),llvm::LoongArchTargetLowering::emitExpandAtomicRMW(),llvm::OpenMPIRBuilder::emitKernelLaunch(),llvm::AArch64TargetLowering::emitLoadLinked(),llvm::OpenMPIRBuilder::emitOffloadingArrays(),llvm::AArch64TargetLowering::emitStoreConditional(),emitTargetTaskProxyFunction(),expandFPToI(),expandIToFP(),generateUnsignedDivisionCode(),llvm::VectorBuilder::getContext(),llvm::dxil::DXILOpBuilder::getHandleType(),llvm::OpenMPIRBuilder::getKernelArgsVector(),llvm::AtomicInfo::getLLVMContext(),llvm::dxil::DXILOpBuilder::getResBind(),llvm::dxil::DXILOpBuilder::getResProps(),llvm::OpenMPIRBuilder::getSizeInBytes(),llvm::GCNTTIImpl::instCombineIntrinsic(),lowerAwaitSuspend(),processConstantStringArg(),SegmentOffset(),SetNoSanitizeMetadata(),llvm::OpenMPIRBuilder::unrollLoopFull(),llvm::OpenMPIRBuilder::unrollLoopHeuristic(), andupgradeNVVMIntrinsicCall().
DebugLoc IRBuilderBase::getCurrentDebugLocation | ( | ) | const |
Get location information used by debugging information.
Definition at line64 of fileIRBuilder.cpp.
Referenced bycreateOutlinedFunction(),llvm::InstrumentationIRBuilder::ensureDebugInfo(),llvm::SCEVExpander::getCurrentDebugLocation(),llvm::spliceBB(), andllvm::splitBB().
Type * IRBuilderBase::getCurrentFunctionReturnType | ( | ) | const |
Get the return type of the current function that we're emitting into.
Definition at line59 of fileIRBuilder.cpp.
Referencesassert(),BB,llvm::BasicBlock::getParent(), andllvm::Function::getReturnType().
Referenced byCreateAggregateRet().
| inline |
Get the exception handling used with constrained floating point.
Definition at line362 of fileIRBuilder.h.
ReferencesDefaultConstrainedExcept.
| inline |
Get the rounding mode handling used with constrained floating point.
Definition at line367 of fileIRBuilder.h.
ReferencesDefaultConstrainedRounding.
| inline |
Get the floating point math metadata being used.
Definition at line316 of fileIRBuilder.h.
ReferencesDefaultFPMathTag.
| inline |
Fetch the type representing a 64-bit floating point value.
Definition at line578 of fileIRBuilder.h.
ReferencesContext, andllvm::Type::getDoubleTy().
Referenced byinstCombineSVECondLast(), andprocessNonStringArg().
| inline |
Get the constant value for i1 false.
Definition at line490 of fileIRBuilder.h.
ReferencesContext, andllvm::ConstantInt::getFalse().
Referenced bycreateLogicFromTable(),llvm::deleteDeadLoop(),llvm::InnerLoopVectorizer::emitIterationCountCheck(),llvm::InstCombinerImpl::foldCmpLoadFromIndexedGlobal(),foldCtpop(),llvm::InstCombinerImpl::foldICmpDivConstant(),llvm::InstCombinerImpl::foldICmpSelectConstant(),llvm::InstCombinerImpl::foldICmpWithDominatingICmp(),handleNoSuspendCoroutine(),replaceSubOverflowUses(),llvm::UpgradeIntrinsicCall(),upgradeNVVMIntrinsicCall(),llvm::InstCombinerImpl::visitAdd(), andllvm::InstCombinerImpl::visitCallInst().
| inline |
Definition at line321 of fileIRBuilder.h.
ReferencesFMF.
| inline |
Get the flags to be applied to created floating point ops.
Definition at line319 of fileIRBuilder.h.
ReferencesFMF.
Referenced byllvm::createSimpleReduction().
| inline |
Fetch the type representing a 32-bit floating point value.
Definition at line573 of fileIRBuilder.h.
ReferencesContext, andllvm::Type::getFloatTy().
Referenced byinstCombineSVECondLast(), andupgradeNVVMIntrinsicCall().
| inline |
Fetch the type representing a 16-bit floating point value.
Definition at line563 of fileIRBuilder.h.
ReferencesContext, andllvm::Type::getHalfTy().
Referenced byinstCombineSVECondLast().
| inline |
Fetch the type of an integer that should be used to index GEP operations within AddressSpace.
Definition at line600 of fileIRBuilder.h.
Referenced byllvm::OpenMPIRBuilder::createReductionsGPU().
| inline |
Definition at line193 of fileIRBuilder.h.
ReferencesBB.
Referenced bycallAppendArgs(),callAppendStringN(),callBufferedPrintfArgPush(),callBufferedPrintfStart(),callPrintfBegin(),llvm::OpenMPIRBuilder::createAtomicCompare(),CreateGCStatepointCallCommon(),CreateGCStatepointInvokeCommon(),llvm::SPIRVStructurizer::createOpSelectMerge(),createOutlinedFunction(),llvm::OpenMPIRBuilder::createParallel(),llvm::OpenMPIRBuilder::createReductions(),llvm::OpenMPIRBuilder::createReductionsGPU(),llvm::OpenMPIRBuilder::createTargetData(),llvm::OpenMPIRBuilder::createTargetDeinit(),llvm::OpenMPIRBuilder::createTargetInit(),llvm::OpenMPIRBuilder::createTeams(),llvm::orc::IRSpeculationLayer::emit(),llvm::emitAMDGPUPrintfCall(),llvm::AtomicInfo::EmitAtomicLibcall(),llvm::AtomicInfo::EmitAtomicLoadLibcall(),llvm::OpenMPIRBuilder::emitBlock(),llvm::OpenMPIRBuilder::emitBranch(),llvm::OpenMPIRBuilder::emitCancelationCheckImpl(),llvm::SITargetLowering::emitExpandAtomicAddrSpacePredicate(),llvm::OpenMPIRBuilder::emitIfClause(),llvm::OpenMPIRBuilder::emitKernelLaunch(),llvm::AArch64TargetLowering::emitLoadLinked(),llvm::ARMTargetLowering::emitLoadLinked(),llvm::PPCTargetLowering::emitMaskedAtomicCmpXchgIntrinsic(),llvm::PPCTargetLowering::emitMaskedAtomicRMWIntrinsic(),llvm::AArch64TargetLowering::emitStoreConditional(),llvm::ARMTargetLowering::emitStoreConditional(),llvm::HexagonTargetLowering::emitStoreConditional(),llvm::OpenMPIRBuilder::emitTargetTask(),emitTargetTaskProxyFunction(),llvm::VPWidenIntrinsicRecipe::execute(),expandFPToI(),expandIToFP(),foldLogOpOfMaskedICmps_NotAllZeros_BMask_Mixed(),generateUnsignedDivisionCode(),llvm::memtag::getAndroidSlotPtr(),llvm::TargetLoweringBase::getDefaultSafeStackPointerLocation(),llvm::memtag::getFP(),getGEPIndexTy(),llvm::TargetLoweringBase::getIRStackGuard(),llvm::RISCVTargetLowering::getIRStackGuard(),llvm::X86TargetLowering::getIRStackGuard(),llvm::VectorBuilder::getModule(),llvm::memtag::getPC(),llvm::TargetLoweringBase::getSafeStackPointerLocation(),getStrlenWithNull(),hostParallelCallback(),InsertCall(),InsertTrap(),processNonStringArg(),llvm::memtag::readRegister(),saveAndClearIP(),saveIP(),llvm::VPTransformState::setDebugLocFrom(),llvm::spliceBB(),llvm::splitBB(),llvm::splitBBWithSuffix(),targetParallelCallback(),UseTlsOffset(),useTpOffset(),llvm::slpvectorizer::BoUpSLP::vectorizeTree(),llvm::InstCombinerImpl::visitAnd(),llvm::InstCombinerImpl::visitOr(), andllvm::InstCombinerImpl::visitXor().
| inline |
Definition at line194 of fileIRBuilder.h.
ReferencesInsertPt.
Referenced byllvm::OpenMPIRBuilder::createTask(),DoFlattenLoopPair(),llvm::OpenMPIRBuilder::emitCancelationCheckImpl(),llvm::SITargetLowering::emitExpandAtomicAddrSpacePredicate(),llvm::VPWidenPointerInductionRecipe::execute(),llvm::VPExpandSCEVRecipe::execute(),llvm::expandDivision(),expandFPToI(),expandIToFP(),llvm::expandRemainder(),llvm::AMDGPU::genAMDGPUReportBlock(),generateReproducer(),generateUnsignedDivisionCode(),getStrlenWithNull(),insertBoundsCheck(),insertSpills(),llvm::SampleProfileProber::instrumentOneFunc(),lowerAwaitSuspend(),mergeConditionalStoreToAddress(),saveAndClearIP(),saveIP(), andllvm::slpvectorizer::BoUpSLP::vectorizeTree().
| inline |
Get a constant integer value.
Definition at line521 of fileIRBuilder.h.
ReferencesContext.
Referenced bycanonicalizeGEPOfConstGEPI8(),createByteGEP(),despeculateCountZeros(),foldConsecutiveLoads(),llvm::InstCombinerImpl::foldICmpEquality(),llvm::InstCombinerImpl::foldICmpWithDominatingICmp(),lowerFunnelShifts(),scalarizeMaskedCompressStore(),scalarizeMaskedExpandLoad(),scalarizeMaskedGather(),scalarizeMaskedLoad(),scalarizeMaskedScatter(),scalarizeMaskedStore(),transformToIndexedCompare(), andllvm::InstCombinerImpl::visitGetElementPtrInst().
| inline |
Get a constant value representing either true or false.
Definition at line480 of fileIRBuilder.h.
ReferencesgetInt1Ty().
Referenced byllvm::createBitMaskForGaps(),CreateCountTrailingZeroElems(),createFFSIntrinsic(),CreateMemSet(),CreateMemSetInline(),CreateMemTransferInst(), andupgradeAbs().
| inline |
Fetch the type representing a 128-bit integer.
Definition at line555 of fileIRBuilder.h.
ReferencesContext, andllvm::Type::getInt128Ty().
| inline |
Get a constant 16-bit value.
Definition at line500 of fileIRBuilder.h.
Referencesllvm::CallingConv::C, andgetInt16Ty().
Referenced byShapeCalculator::getColFromRow(), andShapeCalculator::getRowFromCol().
| inline |
Fetch the type representing a 16-bit integer.
Definition at line540 of fileIRBuilder.h.
ReferencesContext, andllvm::Type::getInt16Ty().
Referenced bygetInt16(),llvm::UpgradeIntrinsicCall(), andupgradeX86IntrinsicCall().
| inline |
Fetch the type representing a single bit.
Definition at line530 of fileIRBuilder.h.
ReferencesContext, andllvm::Type::getInt1Ty().
Referenced byaddBoundsChecking(),llvm::slpvectorizer::BoUpSLP::computeMinimumValueSizes(),CreateAssumption(),createRawLoad(),createTypedBufferLoad(),createTypedBufferStore(),emitX86ScalarSelect(),llvm::VPInterleaveRecipe::execute(),getInt1(),llvm::slpvectorizer::BoUpSLP::getVectorElementSize(),getX86MaskVec(),llvm::X86TTIImpl::instCombineIntrinsic(),upgradeAArch64IntrinsicCall(),upgradeARMIntrinsicCall(),upgradeMaskedCompare(), andllvm::InstCombinerImpl::visitCallInst().
| inline |
Get a constant 32-bit value.
Definition at line505 of fileIRBuilder.h.
Referencesllvm::CallingConv::C, andgetInt32Ty().
Referenced byappendToGlobalArray(),callAppendArgs(),callAppendStringN(),CreateElementUnorderedAtomicMemCpy(),CreateElementUnorderedAtomicMemMove(),CreateElementUnorderedAtomicMemSet(),createFakeIntVal(),CreateGCRelocate(),CreateGCRelocates(),createIsFPClass(),CreateMaskedGather(),CreateMaskedLoad(),CreateMaskedScatter(),CreateMaskedStore(),createOrdering(),CreatePreserveArrayAccessIndex(),CreatePreserveStructAccessIndex(),CreatePreserveUnionAccessIndex(),llvm::OpenMPIRBuilder::createReductions(),llvm::OpenMPIRBuilder::createReductionsGPU(),llvm::OpenMPIRBuilder::createSections(),llvm::OpenMPIRBuilder::createSingle(),llvm::OpenMPIRBuilder::createTargetData(),llvm::OpenMPIRBuilder::createTask(),llvm::OpenMPIRBuilder::createTeams(),CreateVectorSplice(),llvm::emitAMDGPUPrintfCall(),emitDXILVersionTupleMD(),llvm::OpenMPIRBuilder::emitMapperCall(),emitShaderModelVersionMD(),llvm::HexagonTargetLowering::emitStoreConditional(),llvm::OpenMPIRBuilder::emitTargetTask(),emitValidatorVersionMD(),llvm::VPReductionPHIRecipe::execute(),llvm::VPInterleaveRecipe::execute(),llvm::InstCombinerImpl::foldICmpBitCast(),foldVecExtTruncToExtElt(),foldVecTruncToExtElt(),llvm::VPLane::getAsRuntimeExpr(),llvm::OpenMPIRBuilder::getKernelArgsVector(),llvm::getOrderedReduction(),llvm::getShuffleReduction(),getSign32(),llvm::OpenMPIRBuilder::getSizeInBytes(),hostParallelCallback(),llvm::PPCTTIImpl::instCombineIntrinsic(),llvm::SampleProfileProber::instrumentOneFunc(),llvm::RISCVTargetLowering::lowerDeinterleaveIntrinsicToLoad(),llvm::ARMTargetLowering::lowerInterleavedLoad(),llvm::RISCVTargetLowering::lowerInterleavedLoad(),llvm::ARMTargetLowering::lowerInterleavedStore(),llvm::RISCVTargetLowering::lowerInterleavedStore(),llvm::ARMTargetLowering::makeDMB(),nullifySetjmp(),optimizeIntegerToVectorInsertions(),llvm::SPIRVMergeRegionExitTargets::runOnConvergenceRegionNoRecurse(),simplifyAllocaArraySize(),targetParallelCallback(),llvm::dxil::DXILOpBuilder::tryCreateOp(),llvm::slpvectorizer::BoUpSLP::vectorizeTree(), andllvm::InstCombinerImpl::visitExtractValueInst().
| inline |
Fetch the type representing a 32-bit integer.
Definition at line545 of fileIRBuilder.h.
ReferencesContext, andllvm::Type::getInt32Ty().
Referenced byappendToGlobalArray(),callAppendArgs(),callBufferedPrintfStart(),llvm::OpenMPIRBuilder::createCopyPrivate(),createFakeIntVal(),llvm::OpenMPIRBuilder::createOffloadEntriesAndInfoMetadata(),llvm::SPIRVStructurizer::createOpSelectMerge(),createRawLoad(),createRawStore(),llvm::OpenMPIRBuilder::createTask(),createTypedBufferStore(),llvm::emitAMDGPUPrintfCall(),llvm::LoongArchTargetLowering::emitMaskedAtomicCmpXchgIntrinsic(),llvm::RISCVTargetLowering::emitMaskedAtomicCmpXchgIntrinsic(),llvm::LoongArchTargetLowering::emitMaskedAtomicRMWIntrinsic(),llvm::RISCVTargetLowering::emitMaskedAtomicRMWIntrinsic(),llvm::OpenMPIRBuilder::emitTargetTask(),llvm::VPFirstOrderRecurrencePHIRecipe::execute(),llvm::VPInterleaveRecipe::execute(),llvm::expandDivisionUpTo32Bits(),expandFPToI(),expandIToFP(),llvm::expandRemainderUpTo32Bits(),getAllocaPos(),llvm::VPLane::getAsRuntimeExpr(),getGEPIndexTy(),getInt32(),getMul64(),llvm::dxil::DXILOpBuilder::getResBind(),llvm::dxil::DXILOpBuilder::getResProps(),instCombineSVEDupqLane(),instCombineSVESDIV(),lowerKernelArguments(),processConstantStringArg(),llvm::SPIRVMergeRegionExitTargets::runOnConvergenceRegionNoRecurse(),llvm::UpgradeIntrinsicCall(),upgradeNVVMIntrinsicCall(), andupgradeX86IntrinsicCall().
| inline |
Get a constant 64-bit value.
Definition at line510 of fileIRBuilder.h.
Referencesllvm::CallingConv::C, andgetInt64Ty().
Referenced byappendArg(),constructPointer(),CreateElementUnorderedAtomicMemSet(),CreateExtractElement(),createExtractVector(),CreateInsertElement(),CreateInvariantStart(),CreateLifetimeEnd(),CreateLifetimeStart(),CreateMemCpy(),CreateMemMove(),CreateMemSet(),llvm::OpenMPIRBuilder::createOrderedDepend(),llvm::OpenMPIRBuilder::createReductions(),llvm::OpenMPIRBuilder::createReductionsGPU(),llvm::OpenMPIRBuilder::createTask(),createTileStore(),CreateVectorSplat(),llvm::emitAMDGPUPrintfCall(),llvm::OpenMPIRBuilder::emitMapperCall(),llvm::OpenMPIRBuilder::emitTargetTask(),emitTargetTaskProxyFunction(),emitTaskDependencies(),emitTPIDR2Save(),llvm::OpenMPIRBuilder::emitUserDefinedMapper(),llvm::OpenMPIRBuilder::getKernelArgsVector(),getMul64(),getStrlenWithNull(),HandleByValArgumentInit(),llvm::GCNTTIImpl::instCombineIntrinsic(),instCombineSVEDupqLane(),instCombineSVEUzp1(),llvm::SampleProfileProber::instrumentOneFunc(),llvm::AArch64TargetLowering::lowerDeinterleaveIntrinsicToLoad(),llvm::AArch64TargetLowering::lowerInterleaveIntrinsicToStore(),replaceWithTileLoad(),llvm::setProbeDistributionFactor(),llvm::coro::AnyRetconABI::splitCoroutine(),targetParallelCallback(), andllvm::InstCombinerImpl::visitInsertElementInst().
| inline |
Fetch the type representing a 64-bit integer.
Definition at line550 of fileIRBuilder.h.
ReferencesContext, andllvm::Type::getInt64Ty().
Referenced bycallAppendArgs(),callAppendStringN(),callBufferedPrintfStart(),callPrintfBegin(),CreateInvariantStart(),CreateLifetimeEnd(),CreateLifetimeStart(),llvm::OpenMPIRBuilder::createTask(),llvm::LoongArchTargetLowering::emitMaskedAtomicCmpXchgIntrinsic(),llvm::RISCVTargetLowering::emitMaskedAtomicCmpXchgIntrinsic(),llvm::LoongArchTargetLowering::emitMaskedAtomicRMWIntrinsic(),llvm::RISCVTargetLowering::emitMaskedAtomicRMWIntrinsic(),llvm::OpenMPIRBuilder::emitNonContiguousDescriptor(),llvm::OpenMPIRBuilder::emitOffloadingArrays(),emitTaskDependencies(),llvm::OpenMPIRBuilder::emitUserDefinedMapper(),llvm::expandDivisionUpTo64Bits(),expandIToFP(),llvm::expandRemainderUpTo64Bits(),fitArgInto64Bits(),llvm::AMDGPU::genAMDGPUReportBlock(),getInt64(),getMul64(),getStrlenWithNull(),instCombineSVEDupqLane(),lowerKernelArguments(),llvm::lowerUnaryVectorIntrinsicAsLoop(),processNonStringArg(), andupgradeNVVMIntrinsicCall().
| inline |
Get a constant 8-bit value.
Definition at line495 of fileIRBuilder.h.
Referencesllvm::CallingConv::C, andgetInt8Ty().
Referenced bycreateTblForTrunc(),getStrlenWithNull(),llvm::HexagonTargetLowering::LowerConstantPool(), andupgradeX86IntrinsicCall().
| inline |
Fetch the type representing an 8-bit integer.
Definition at line535 of fileIRBuilder.h.
ReferencesContext, andllvm::Type::getInt8Ty().
Referenced bycallBufferedPrintfArgPush(),CreateInBoundsPtrAdd(),CreatePtrAdd(),CreateStepVector(),llvm::OpenMPIRBuilder::createTask(),createTblForTrunc(),llvm::emitAMDGPUPrintfCall(),llvm::OpenMPIRBuilder::emitKernelExecutionMode(),emitTaskDependencies(),llvm::VPWidenPointerInductionRecipe::execute(),foldMemChr(),llvm::memtag::getAndroidSlotPtr(),getInt8(),llvm::dxil::DXILOpBuilder::getResBind(),getStrlenWithNull(),InsertTrap(),lowerKernelArguments(),lowerLocalAllocas(),rewriteGEPAsOffset(),rewritePHIsForCleanupPad(),simplifyX86addcarry(),upgradeX86PSLLDQIntrinsics(),upgradeX86PSRLDQIntrinsics(),UseTlsOffset(),useTpOffset(), andllvm::InstCombinerImpl::visitGetElementPtrInst().
| inline |
Get a constant N-bit value, zero extended or truncated from a 64-bit value.
Definition at line516 of fileIRBuilder.h.
Referencesllvm::CallingConv::C,getIntNTy(), andN.
Referenced byCheckAndCreateOffsetAdd(),createTblShuffleForSExt(),createTblShuffleForZExt(),llvm::emitAMDGPUPrintfCall(),llvm::LoongArchTargetLowering::emitMaskedAtomicCmpXchgIntrinsic(),llvm::RISCVTargetLowering::emitMaskedAtomicCmpXchgIntrinsic(),llvm::LoongArchTargetLowering::emitMaskedAtomicRMWIntrinsic(),llvm::RISCVTargetLowering::emitMaskedAtomicRMWIntrinsic(),llvm::OpenMPIRBuilder::emitOffloadingArrays(),expandFPToI(),expandIToFP(),generateSignedDivisionCode(),generateSignedRemainderCode(),getAddrSizeInt(),promoteAllocaUserToVector(),scalarizeMaskedCompressStore(),scalarizeMaskedExpandLoad(),scalarizeMaskedGather(),scalarizeMaskedLoad(),scalarizeMaskedScatter(), andscalarizeMaskedStore().
| inline |
Fetch the type representing an N-bit integer.
Definition at line558 of fileIRBuilder.h.
ReferencesContext,llvm::Type::getIntNTy(), andN.
Referenced byapplyX86MaskOn1BitsVec(),createCmpXchgInstFun(),llvm::AArch64TargetLowering::emitLoadLinked(),llvm::AArch64TargetLowering::emitStoreConditional(),llvm::HexagonTargetLowering::emitStoreConditional(),expandFPToI(),expandIToFP(),llvm::InstCombinerImpl::foldICmpBitCast(),foldReductionIdiom(),getAddrIntType(),getIntN(),llvm::GCNTTIImpl::instCombineIntrinsic(),instCombineSVEDupqLane(),lowerKernelArguments(),promoteAllocaUserToVector(),scalarizeMaskedCompressStore(),scalarizeMaskedExpandLoad(),scalarizeMaskedGather(),scalarizeMaskedLoad(),scalarizeMaskedScatter(),scalarizeMaskedStore(),simplifyX86movmsk(),llvm::InstCombinerImpl::visitCallInst(), andllvm::InstCombinerImpl::visitFCmpInst().
| inline |
Fetch the type of an integer with size at least as big as that of a pointer in the given address space.
Definition at line594 of fileIRBuilder.h.
Referenced byCreateAlignmentAssumption(),llvm::memtag::getFP(),llvm::memtag::getPC(), andllvm::memtag::readRegister().
| inline |
Query for the use of constrained floating point math.
Definition at line339 of fileIRBuilder.h.
ReferencesIsFPConstrained.
| inline |
Fetch the type representing a pointer.
Definition at line588 of fileIRBuilder.h.
ReferencesContext, andllvm::PointerType::get().
Referenced byappendToGlobalArray(),callBufferedPrintfStart(),llvm::OpenMPIRBuilder::createReductions(),llvm::OpenMPIRBuilder::createTargetData(),llvm::OpenMPIRBuilder::createTask(),emitGetSwiftErrorValue(),llvm::OpenMPIRBuilder::emitNonContiguousDescriptor(),llvm::OpenMPIRBuilder::emitOffloadingArrays(),emitSetSwiftErrorValue(),llvm::OpenMPIRBuilder::emitUsed(),llvm::OpenMPIRBuilder::emitUserDefinedMapper(),getAllocaPos(),llvm::memtag::getFP(),getGEPIndexTy(),llvm::ARMTargetLowering::lowerInterleavedLoad(),llvm::ARMTargetLowering::lowerInterleavedStore(),promoteAllocaUserToVector(),SegmentOffset(),llvm::UpgradeGlobalVariable(),llvm::UpgradeIntrinsicCall(),upgradeNVVMIntrinsicCall(),UseTlsOffset(),llvm::InstCombinerImpl::visitCallInst(), andworkshareLoopTargetCallback().
| inline |
Get the constant value for i1 true.
Definition at line485 of fileIRBuilder.h.
ReferencesContext, andllvm::ConstantInt::getTrue().
Referenced bycreateLogicFromTable(),createReverseEVL(),despeculateCountZeros(),llvm::InnerLoopVectorizer::emitIterationCountCheck(),llvm::VPReductionEVLRecipe::execute(),llvm::VPBranchOnMaskRecipe::execute(),llvm::VPWidenLoadEVLRecipe::execute(),llvm::VPWidenStoreEVLRecipe::execute(),llvm::VPWidenEVLRecipe::execute(),expandIToFP(),foldAbsDiff(),llvm::InstCombinerImpl::foldCmpLoadFromIndexedGlobal(),foldCttzCtlz(),llvm::InstCombinerImpl::foldICmpDivConstant(),llvm::InstCombinerImpl::foldICmpWithDominatingICmp(),generateReproducer(),generateUnsignedDivisionCode(),llvm::ARMTTIImpl::instCombineIntrinsic(),llvm::AArch64TargetLowering::lowerDeinterleaveIntrinsicToLoad(),llvm::AArch64TargetLowering::lowerInterleaveIntrinsicToStore(),optimizeSQRT(),llvm::InstCombinerImpl::visitMul(),llvm::InstCombinerImpl::visitSub(),llvm::InstCombinerImpl::visitUDiv(), andllvm::InstCombinerImpl::visitXor().
| inline |
Fetch the type representing void.
Definition at line583 of fileIRBuilder.h.
ReferencesContext, andllvm::Type::getVoidTy().
Referenced bycreateOutlinedFunction(),createRawStore(),llvm::createSanitizerCtorAndInitFunctions(),createTypedBufferStore(),emitTargetTaskProxyFunction(),emitTPIDR2Save(),llvm::OpenMPIRBuilder::emitUserDefinedMapper(), andllvm::AMDGPU::generateCrashCode().
No-op overload to handle constants.
Definition at line171 of fileIRBuilder.h.
Referencesllvm::CallingConv::C.
| inline |
Insert and return the specified instruction.
Definition at line164 of fileIRBuilder.h.
ReferencesAddMetadataToInst(),I,Inserter,llvm::IRBuilderDefaultInserter::InsertHelper(),InsertPt, andName.
Referenced byllvm::InstCombinerImpl::canonicalizeCondSignextOfHighBitExtractToSignextHighBitExtract(),CreateAggregateRet(),CreateAlignedLoad(),CreateAlignedStore(),CreateAlloca(),CreateAnd(),CreateAShr(),CreateAtomicCmpXchg(),CreateAtomicRMW(),CreateBinOpFMF(),CreateBr(),CreateCall(),CreateCallBr(),CreateCatchPad(),CreateCatchRet(),CreateCatchSwitch(),CreateCleanupRet(),CreateCondBr(),CreateConstGEP1_32(),CreateConstGEP1_64(),CreateConstGEP2_32(),CreateConstGEP2_64(),CreateConstInBoundsGEP1_32(),CreateConstInBoundsGEP1_64(),CreateConstInBoundsGEP2_32(),CreateConstInBoundsGEP2_64(),CreateExtractElement(),CreateExtractValue(),CreateFAddFMF(),CreateFDivFMF(),CreateFence(),CreateFMulFMF(),CreateFNegFMF(),CreateFreeze(),CreateFRemFMF(),CreateFSubFMF(),CreateGEP(),CreateICmp(),CreateIndirectBr(),CreateInsertElement(),CreateInsertValue(),CreateInvoke(),CreateLandingPad(),CreateLShr(),CreateOr(),CreatePHI(),CreatePointerBitCastOrAddrSpaceCast(),CreatePointerCast(),CreateResume(),CreateRet(),CreateRetVoid(),CreateSDiv(),CreateSelectFMF(),CreateShuffleVector(),CreateSRem(),CreateSwitch(),CreateTrunc(),CreateUDiv(),CreateUIToFP(),CreateUnOp(),CreateUnreachable(),CreateURem(),CreateVAArg(),CreateVectorReverse(),CreateVectorSplice(),CreateXor(),CreateZExt(),dropRedundantMaskingOfLeftShiftInput(),llvm::InstCombinerImpl::foldVariableSignZeroExtensionOfVariableHighBitExtract(),Insert(),llvm::Negator::Negate(),optimizeSQRT(),llvm::InstCombinerImpl::reassociateShiftAmtsOfTwoSameDirectionShifts(),llvm::InnerLoopVectorizer::scalarizeInstruction(), andllvm::InstCombinerImpl::visitShl().
| inline |
Sets the current insert point to a previously-saved location.
Definition at line308 of fileIRBuilder.h.
ReferencesClearInsertionPoint(),llvm::IRBuilderBase::InsertPoint::getBlock(),llvm::IRBuilderBase::InsertPoint::getPoint(),llvm::IRBuilderBase::InsertPoint::isSet(), andSetInsertPoint().
Referenced byllvm::OpenMPIRBuilder::applySimd(),llvm::OpenMPIRBuilder::collapseLoops(),llvm::OpenMPIRBuilder::createCancel(),llvm::OpenMPIRBuilder::createCanonicalLoop(),createFakeIntVal(),llvm::OpenMPIRBuilder::createMapperAllocas(),llvm::OpenMPIRBuilder::createOrderedDepend(),createOutlinedFunction(),llvm::OpenMPIRBuilder::createParallel(),llvm::OpenMPIRBuilder::createReductions(),llvm::OpenMPIRBuilder::createReductionsGPU(),llvm::OpenMPIRBuilder::createSection(),llvm::OpenMPIRBuilder::createSections(),llvm::OpenMPIRBuilder::createTarget(),llvm::OpenMPIRBuilder::createTargetData(),createTargetLoopWorkshareCall(),llvm::OpenMPIRBuilder::createTask(),llvm::OpenMPIRBuilder::emitKernelLaunch(),llvm::OpenMPIRBuilder::emitNonContiguousDescriptor(),llvm::OpenMPIRBuilder::emitOffloadingArrays(),llvm::OpenMPIRBuilder::emitTargetKernel(),llvm::OpenMPIRBuilder::emitTargetTask(),emitTaskDependencies(),llvm::OpenMPIRBuilder::emitUserDefinedMapper(),llvm::VPWidenIntOrFpInductionRecipe::execute(),llvm::VPTransformState::get(),targetParallelCallback(),llvm::OpenMPIRBuilder::tileLoops(),llvm::OpenMPIRBuilder::updateToLocation(),workshareLoopTargetCallback(), andllvm::IRBuilderBase::InsertPointGuard::~InsertPointGuard().
| inline |
Returns the current insert point, clearing it in the process.
Definition at line301 of fileIRBuilder.h.
ReferencesClearInsertionPoint(),GetInsertBlock(), andGetInsertPoint().
| inline |
Returns the current insert point.
Definition at line296 of fileIRBuilder.h.
ReferencesGetInsertBlock(), andGetInsertPoint().
Referenced byllvm::OpenMPIRBuilder::applySimd(),llvm::OpenMPIRBuilder::createAtomicCapture(),llvm::OpenMPIRBuilder::createAtomicCompare(),llvm::OpenMPIRBuilder::createAtomicRead(),llvm::OpenMPIRBuilder::createAtomicUpdate(),llvm::OpenMPIRBuilder::createAtomicWrite(),llvm::OpenMPIRBuilder::createBarrier(),llvm::OpenMPIRBuilder::createCancel(),llvm::OpenMPIRBuilder::createCanonicalLoop(),llvm::OpenMPIRBuilder::createCopyinClauseBlocks(),llvm::OpenMPIRBuilder::createCopyPrivate(),llvm::OpenMPIRBuilder::createOrderedDepend(),createOutlinedFunction(),llvm::OpenMPIRBuilder::createParallel(),llvm::OpenMPIRBuilder::createReductions(),llvm::OpenMPIRBuilder::createReductionsGPU(),llvm::OpenMPIRBuilder::createSections(),llvm::OpenMPIRBuilder::createSingle(),llvm::OpenMPIRBuilder::createTarget(),llvm::OpenMPIRBuilder::createTargetData(),llvm::OpenMPIRBuilder::createTask(),llvm::OpenMPIRBuilder::createTaskgroup(),llvm::OpenMPIRBuilder::createTeams(),llvm::OpenMPIRBuilder::emitCancelationCheckImpl(),llvm::OpenMPIRBuilder::emitIfClause(),llvm::OpenMPIRBuilder::emitKernelLaunch(),llvm::OpenMPIRBuilder::emitOffloadingArrays(),llvm::OpenMPIRBuilder::emitTargetKernel(),llvm::OpenMPIRBuilder::emitTargetTask(),emitTaskDependencies(),llvm::OpenMPIRBuilder::emitUserDefinedMapper(),llvm::VPWidenIntOrFpInductionRecipe::execute(),llvm::VPTransformState::get(),llvm::OpenMPIRBuilder::getInsertionPoint(),llvm::spliceBB(),llvm::splitBB(), andtargetParallelCallback().
| inline |
Definition at line380 of fileIRBuilder.h.
ReferencesI.
Referenced byCreateCall(),CreateConstrainedFPBinOp(),CreateConstrainedFPCall(),CreateConstrainedFPCast(),CreateConstrainedFPCmp(),CreateConstrainedFPUnroundedBinOp(), andCreateInvoke().
| inline |
Definition at line371 of fileIRBuilder.h.
Referencesassert(),BB,F, andllvm::BasicBlock::getParent().
| inline |
Set location information used by debugging information.
Definition at line239 of fileIRBuilder.h.
Referenced byllvm::OpenMPIRBuilder::collapseLoops(),llvm::OpenMPIRBuilder::createLoopSkeleton(),createOutlinedFunction(),despeculateCountZeros(),llvm::InstrumentationIRBuilder::ensureDebugInfo(),initIRBuilder(),makeStatepointExplicitImpl(),matchStridedStart(),mergeConditionalStoreToAddress(),llvm::Negator::Negate(),llvm::SCEVExpander::replaceCongruentIVs(),scalarizeMaskedCompressStore(),scalarizeMaskedExpandLoad(),scalarizeMaskedGather(),scalarizeMaskedLoad(),scalarizeMaskedScatter(),scalarizeMaskedStore(),scalarizeMaskedVectorHistogram(),llvm::SCEVExpander::SetCurrentDebugLocation(),llvm::VPTransformState::setDebugLocFrom(),SetInsertPoint(),simplifyRelocatesOffABase(),llvm::spliceBB(),llvm::splitBB(),llvm::OpenMPIRBuilder::tileLoops(),llvm::OpenMPIRBuilder::updateToLocation(),llvm::slpvectorizer::BoUpSLP::vectorizeTree(),workshareLoopTargetCallback(), andllvm::IRBuilderBase::InsertPointGuard::~InsertPointGuard().
| inline |
Set the exception handling to be used with constrained floating point.
Definition at line342 of fileIRBuilder.h.
Referencesassert(),llvm::convertExceptionBehaviorToStr(), andDefaultConstrainedExcept.
| inline |
Set the rounding mode handling to be used with constrained floating point.
Definition at line352 of fileIRBuilder.h.
Referencesassert(),llvm::convertRoundingModeToStr(), andDefaultConstrainedRounding.
| inline |
Set the floating point math metadata to be used.
Definition at line327 of fileIRBuilder.h.
ReferencesDefaultFPMathTag.
| inline |
Definition at line384 of fileIRBuilder.h.
ReferencesDefaultOperandBundles.
Referenced byllvm::FortifiedLibCallSimplifier::optimizeCall(), andllvm::LibCallSimplifier::optimizeCall().
| inline |
Set the fast-math flags to be used with generated fp-math operators.
Definition at line330 of fileIRBuilder.h.
ReferencesFMF.
Referenced byllvm::InnerLoopVectorizer::createInductionAdditionalBypassValues(),llvm::VPInstruction::execute(),llvm::VPWidenIntOrFpInductionRecipe::execute(),llvm::VPReductionRecipe::execute(),llvm::VPReductionEVLRecipe::execute(),llvm::VPDerivedIVRecipe::execute(),llvm::VPScalarIVStepsRecipe::execute(),expandAtan2Intrinsic(), andllvm::InstCombinerImpl::SimplifySelectsFeedingBinaryOp().
| inline |
This specifies that created instructions should be appended to the end of the specified block.
Definition at line199 of fileIRBuilder.h.
ReferencesBB,llvm::BasicBlock::end(), andInsertPt.
Referenced byllvm::addDiffRuntimeChecks(),llvm::addRuntimeChecks(),llvm::OpenMPIRBuilder::applySimd(),buildNew(),convertToRelLookupTable(),llvm::OpenMPIRBuilder::createAtomicCompare(),llvm::OpenMPIRBuilder::createCancel(),llvm::OpenMPIRBuilder::createCopyinClauseBlocks(),llvm::SPIRVMergeRegionExitTargets::createExitVariable(),llvm::OpenMPIRBuilder::createLoopSkeleton(),createMemMoveLoopKnownSize(),createOutlinedFunction(),llvm::OpenMPIRBuilder::createParallel(),llvm::OpenMPIRBuilder::createReductions(),createRetPHINode(),llvm::createSanitizerCtorAndInitFunctions(),llvm::OpenMPIRBuilder::createSections(),llvm::OpenMPIRBuilder::createTargetInit(),llvm::OpenMPIRBuilder::createTask(),llvm::OpenMPIRBuilder::createTaskgroup(),llvm::OpenMPIRBuilder::createTeams(),llvm::deleteDeadLoop(),despeculateCountZeros(),DoFlattenLoopPair(),eliminateSwiftErrorArgument(),llvm::orc::IRSpeculationLayer::emit(),llvm::emitAMDGPUPrintfCall(),llvm::OpenMPIRBuilder::emitBlock(),llvm::OpenMPIRBuilder::emitCancelationCheckImpl(),llvm::SITargetLowering::emitExpandAtomicAddrSpacePredicate(),emitSetAndGetSwiftErrorValueAround(),llvm::OpenMPIRBuilder::emitTargetTask(),emitTargetTaskProxyFunction(),emitTaskDependencies(),llvm::OpenMPIRBuilder::emitUserDefinedMapper(),evaluateInDifferentElementOrder(),llvm::VPIRInstruction::execute(),llvm::VPWidenIntOrFpInductionRecipe::execute(),llvm::VPFirstOrderRecurrencePHIRecipe::execute(),llvm::VPReductionPHIRecipe::execute(),llvm::VPExpandSCEVRecipe::execute(),llvm::VPBasicBlock::execute(),llvm::VPIRBasicBlock::execute(),llvm::SCEVExpander::expandComparePredicate(),expandFPToI(),expandIToFP(),llvm::SCEVExpander::expandUnionPredicate(),llvm::InnerLoopVectorizer::fixNonInductionPHIs(),llvm::InstCombinerImpl::foldBinopWithPhiOperands(),foldConsecutiveLoads(),foldDependentIVs(),llvm::InstCombinerImpl::foldFreezeIntoRecurrence(),foldGEPOfPhi(),llvm::InstCombinerImpl::foldICmpWithConstant(),foldMemChr(),llvm::InstCombinerImpl::foldMultiplicationOverflowCheck(),foldURemOfLoopIncrement(),freelyInvert(),llvm::AMDGPU::genAMDGPUReportBlock(),llvm::AMDGPU::generateCrashCode(),llvm::SCEVExpander::generateOverflowCheck(),generateReproducer(),generateSignedDivisionCode(),generateSignedRemainderCode(),generateUnsignedDivisionCode(),generateUnsignedRemainderCode(),llvm::VPTransformState::get(),getAllocaPos(),ShapeCalculator::getColFromRow(),llvm::InstCombiner::getFreelyInvertedImpl(),ShapeCalculator::getRowFromCol(),getStrlenWithNull(),llvm::coro::BaseCloner::handleFinalSuspend(),hoistGEP(),hoistMinMax(),hostParallelCallback(),initIRBuilder(),injectPendingInvariantConditions(),inlineRetainOrClaimRVCalls(),InsertIntrinsicCalls(),insertSpills(),llvm::ARMTTIImpl::instCombineIntrinsic(),llvm::AMDGPU::instrumentAddress(),llvm::AMDGPU::instrumentAddressImpl(),LLVMPositionBuilderImpl(),lowerAwaitSuspend(),lowerLocalAllocas(),llvm::lowerObjectSizeCall(),lowerPtrAnnotation(),lowerSubFn(),makeStatepointExplicitImpl(),matchStridedStart(),mergeConditionalStoreToAddress(),llvm::InstCombinerImpl::mergeStoreIntoSuccessor(),llvm::EscapeEnumerator::Next(),optimizeSQRT(),processPhiNode(),processUGT_ADDCST_ADD(),processUMulZExtIdiom(),promoteAllocaUserToVector(),llvm::InstCombinerImpl::pushFreezeToPreventPoisonFromPropagating(),reduceSwitchRange(),RemovePreallocated(),removeUndefIntroducingPredecessor(),replaceCoroEndAsync(),restoreIP(),rewritePHIsForCleanupPad(),llvm::InstCombinerImpl::run(),llvm::KCFIPass::run(),llvm::SPIRVMergeRegionExitTargets::runOnConvergenceRegionNoRecurse(),salvageDebugInfoImpl(),scalarizeMaskedCompressStore(),scalarizeMaskedExpandLoad(),scalarizeMaskedGather(),scalarizeMaskedLoad(),scalarizeMaskedScatter(),scalarizeMaskedStore(),scalarizeMaskedVectorHistogram(),setInsertionPoint(),llvm::SCEVExpander::setInsertPoint(),simplifyAMDGCNMemoryIntrinsicDemanded(),llvm::InstCombinerImpl::SimplifyDemandedUseBits(),llvm::X86TTIImpl::simplifyDemandedVectorEltsIntrinsic(),simplifySwitchOfCmpIntrinsic(),simplifySwitchOfPowersOfTwo(),simplifyUsingControlFlow(),llvm::InstCombinerImpl::sinkNotIntoLogicalOp(),llvm::InstCombinerImpl::sinkNotIntoOtherHandOfLogicalOp(),llvm::InstCombinerImpl::SliceUpIllegalIntegerPHI(),llvm::spliceBB(),llvm::splitBB(),llvm::SplitBlockAndInsertForEachLane(),llvm::splitLoopBound(),splitMergedValStore(),switchToLookupTable(),targetParallelCallback(),llvm::OpenMPIRBuilder::tileLoops(),tryInterleave(),trySwitchToSelect(),llvm::UnrollRuntimeLoopRemainder(),llvm::UpgradeIntrinsicCall(),llvm::slpvectorizer::BoUpSLP::vectorizeTree(),versionCallSiteWithCond(),llvm::LoopVersioning::versionLoop(),llvm::InstCombinerImpl::visitExtractValueInst(),llvm::ObjectSizeOffsetEvaluator::visitPHINode(), andllvm::InstCombinerImpl::visitSwitchInst().
| inline |
This specifies that created instructions should be inserted at the specified point.
Definition at line215 of fileIRBuilder.h.
ReferencesBB,llvm::BasicBlock::end(),InsertPt, andSetCurrentDebugLocation().
| inline |
This specifies that created instructions should be inserted at the specified point, but also requires thatIP
is dereferencable.
Definition at line224 of fileIRBuilder.h.
ReferencesBB,llvm::BasicBlock::getParent(),InsertPt, andSetCurrentDebugLocation().
| inline |
This specifies that created instructions should be inserted before the specified instruction.
Definition at line206 of fileIRBuilder.h.
Referencesassert(),BB,llvm::BasicBlock::end(),I,InsertPt, andSetCurrentDebugLocation().
| inline |
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.
Definition at line233 of fileIRBuilder.h.
ReferencesBB,F,llvm::BasicBlock::getFirstNonPHIOrDbgOrAlloca(), andInsertPt.
void IRBuilderBase::SetInstDebugLocation | ( | Instruction * | I | ) | const |
If this builder has a current debug location, set it on the specified instruction.
Definition at line71 of fileIRBuilder.cpp.
ReferencesI.
| inline |
Enable/Disable use of constrained floating point math.
When enabled the CreateF<op>() calls instead create constrained floating point intrinsic calls. Fast math flags are unaffected by this setting.
Definition at line336 of fileIRBuilder.h.
ReferencesIsFPConstrained.
Referenced byllvm::lowerAtomicRMWInst().
| inline |
Set nosanitize metadata.
Definition at line244 of fileIRBuilder.h.
Referencesllvm::MDNode::get(), andgetContext().
Referenced byBuilderTy::BuilderTy().
| protected |
Definition at line138 of fileIRBuilder.h.
Referenced byClearInsertionPoint(),CreateAlignedLoad(),CreateAlignedStore(),CreateAlloca(),CreateAssumption(),CreateAtomicCmpXchg(),CreateAtomicRMW(),CreateBinaryIntrinsic(),CreateCatchRet(),CreateFree(),CreateGlobalString(),CreateIntrinsic(),CreateLaunderInvariantGroup(),CreateMalloc(),CreateStackSave(),CreateStripInvariantGroup(),CreateUnaryIntrinsic(),CreateVectorReverse(),CreateVectorSplice(),getCurrentFunctionReturnType(),GetInsertBlock(),llvm::InstrumentationIRBuilder::InstrumentationIRBuilder(),setConstrainedFPFunctionAttr(),SetInsertPoint(), andSetInsertPointPastAllocas().
| protected |
Definition at line140 of fileIRBuilder.h.
Referenced byCreateAggregateRet(),CreateConstGEP1_32(),CreateConstGEP1_64(),CreateConstGEP2_32(),CreateConstGEP2_64(),CreateConstInBoundsGEP1_32(),CreateConstInBoundsGEP1_64(),CreateConstInBoundsGEP2_32(),CreateConstInBoundsGEP2_64(),CreateFence(),CreateGlobalString(),CreateGlobalStringPtr(),CreateMalloc(),CreateNoAliasScopeDeclaration(),CreatePreserveArrayAccessIndex(),CreatePreserveStructAccessIndex(),CreatePtrDiff(),CreateRet(),CreateRetVoid(),CreateStackSave(),CreateUnreachable(),getAllOnesMask(),getBFloatTy(),getContext(),getDoubleTy(),getFalse(),getFloatTy(),getHalfTy(),getIndexTy(),getInt(),getInt128Ty(),getInt16Ty(),getInt1Ty(),getInt32Ty(),getInt64Ty(),getInt8Ty(),getIntNTy(),getIntPtrTy(),getPtrTy(),getTrue(), andgetVoidTy().
| protected |
Definition at line148 of fileIRBuilder.h.
Referenced bygetDefaultConstrainedExcept(),setDefaultConstrainedExcept(), andllvm::IRBuilderBase::FastMathFlagGuard::~FastMathFlagGuard().
| protected |
Definition at line149 of fileIRBuilder.h.
Referenced bygetDefaultConstrainedRounding(),setDefaultConstrainedRounding(), andllvm::IRBuilderBase::FastMathFlagGuard::~FastMathFlagGuard().
| protected |
Definition at line144 of fileIRBuilder.h.
Referenced bygetDefaultFPMathTag(),setDefaultFPMathTag(), andllvm::IRBuilderBase::FastMathFlagGuard::~FastMathFlagGuard().
| protected |
Definition at line151 of fileIRBuilder.h.
Referenced bysetDefaultOperandBundles(), andllvm::IRBuilderBase::OperandBundlesGuard::~OperandBundlesGuard().
| protected |
Definition at line145 of fileIRBuilder.h.
Referenced byclearFastMathFlags(),CreateBinOpFMF(),CreateCall(),CreateConstrainedFPBinOp(),CreateConstrainedFPCast(),CreateConstrainedFPUnroundedBinOp(),CreateFAddFMF(),CreateFDivFMF(),CreateFMulFMF(),CreateFNegFMF(),CreateFRemFMF(),CreateFSubFMF(),CreatePHI(),CreateSelectFMF(),CreateUnOp(),getFastMathFlags(),setFastMathFlags(), andllvm::IRBuilderBase::FastMathFlagGuard::~FastMathFlagGuard().
| protected |
Definition at line141 of fileIRBuilder.h.
Referenced byCreateAdd(),CreateAnd(),CreateAShr(),CreateBinaryIntrinsic(),CreateBinOpFMF(),CreateConstGEP1_32(),CreateConstGEP1_64(),CreateConstGEP2_32(),CreateConstGEP2_64(),CreateConstInBoundsGEP1_32(),CreateConstInBoundsGEP1_64(),CreateConstInBoundsGEP2_32(),CreateConstInBoundsGEP2_64(),CreateExtractElement(),CreateExtractValue(),CreateFAddFMF(),CreateFDivFMF(),CreateFMulFMF(),CreateFNegFMF(),CreateFRemFMF(),CreateFSubFMF(),CreateGEP(),CreateICmp(),CreateInsertElement(),CreateInsertValue(),CreateLShr(),CreateMul(),CreateOr(),CreatePointerBitCastOrAddrSpaceCast(),CreatePointerCast(),CreateSDiv(),CreateSelectFMF(),CreateShl(),CreateShuffleVector(),CreateSRem(),CreateSub(),CreateTrunc(),CreateUDiv(),CreateUIToFP(),CreateUnOp(),CreateURem(),CreateXor(), andCreateZExt().
| protected |
Definition at line142 of fileIRBuilder.h.
Referenced byInsert().
| protected |
Definition at line139 of fileIRBuilder.h.
Referenced byClearInsertionPoint(),GetInsertPoint(),Insert(),SetInsertPoint(), andSetInsertPointPastAllocas().
| protected |
Definition at line147 of fileIRBuilder.h.
Referenced byCreateCall(),CreateFAddFMF(),CreateFDivFMF(),CreateFMulFMF(),CreateFPExtFMF(),CreateFPToSI(),CreateFPToUI(),CreateFPTruncFMF(),CreateFRemFMF(),CreateFSubFMF(),CreateInvoke(),CreateMaxNum(),CreateMinNum(),CreateSIToFP(),CreateUIToFP(),getIsFPConstrained(),setIsFPConstrained(), andllvm::IRBuilderBase::FastMathFlagGuard::~FastMathFlagGuard().