class IRBuilderBase
Declaration
class IRBuilderBase { /* full declaration omitted */ };
Declared at: llvm/include/llvm/IR/IRBuilder.h:88
Member Variables
- protected llvm::BasicBlock* BB
- protected int InsertPt
- protected llvm::LLVMContext& Context
- protected llvm::MDNode* DefaultFPMathTag
- protected llvm::FastMathFlags FMF
- protected bool IsFPConstrained
- protected fp::ExceptionBehavior DefaultConstrainedExcept
- protected fp::RoundingMode DefaultConstrainedRounding
- protected ArrayRef<llvm::OperandBundleDef> DefaultOperandBundles
Method Overview
- public void ClearInsertionPoint()
- public llvm::CallInst * CreateAddReduce(llvm::Value * Src)
- public llvm::CallInst * CreateAndReduce(llvm::Value * Src)
- public llvm::CallInst * CreateAssumption(llvm::Value * Cond)
- public llvm::CallInst * CreateBinaryIntrinsic(Intrinsic::ID ID, llvm::Value * LHS, llvm::Value * RHS, llvm::Instruction * FMFSource = nullptr, const llvm::Twine & Name = "")
- public llvm::CallInst * CreateElementUnorderedAtomicMemCpy(llvm::Value * Dst, unsigned int DstAlign, llvm::Value * Src, unsigned int SrcAlign, uint64_t Size, uint32_t ElementSize, llvm::MDNode * TBAATag = nullptr, llvm::MDNode * TBAAStructTag = nullptr, llvm::MDNode * ScopeTag = nullptr, llvm::MDNode * NoAliasTag = nullptr)
- public llvm::CallInst * CreateElementUnorderedAtomicMemCpy(llvm::Value * Dst, unsigned int DstAlign, llvm::Value * Src, unsigned int SrcAlign, llvm::Value * Size, uint32_t ElementSize, llvm::MDNode * TBAATag = nullptr, llvm::MDNode * TBAAStructTag = nullptr, llvm::MDNode * ScopeTag = nullptr, llvm::MDNode * NoAliasTag = nullptr)
- public llvm::CallInst * CreateElementUnorderedAtomicMemMove(llvm::Value * Dst, unsigned int DstAlign, llvm::Value * Src, unsigned int SrcAlign, uint64_t Size, uint32_t ElementSize, llvm::MDNode * TBAATag = nullptr, llvm::MDNode * TBAAStructTag = nullptr, llvm::MDNode * ScopeTag = nullptr, llvm::MDNode * NoAliasTag = nullptr)
- public llvm::CallInst * CreateElementUnorderedAtomicMemMove(llvm::Value * Dst, unsigned int DstAlign, llvm::Value * Src, unsigned int SrcAlign, llvm::Value * Size, uint32_t ElementSize, llvm::MDNode * TBAATag = nullptr, llvm::MDNode * TBAAStructTag = nullptr, llvm::MDNode * ScopeTag = nullptr, llvm::MDNode * NoAliasTag = nullptr)
- public llvm::CallInst * CreateElementUnorderedAtomicMemSet(llvm::Value * Ptr, llvm::Value * Val, uint64_t Size, llvm::Align Alignment, uint32_t ElementSize, llvm::MDNode * TBAATag = nullptr, llvm::MDNode * ScopeTag = nullptr, llvm::MDNode * NoAliasTag = nullptr)
- public llvm::CallInst * CreateElementUnorderedAtomicMemSet(llvm::Value * Ptr, llvm::Value * Val, llvm::Value * Size, llvm::Align Alignment, uint32_t ElementSize, llvm::MDNode * TBAATag = nullptr, llvm::MDNode * ScopeTag = nullptr, llvm::MDNode * NoAliasTag = nullptr)
- public llvm::CallInst * CreateFAddReduce(llvm::Value * Acc, llvm::Value * Src)
- public llvm::CallInst * CreateFMulReduce(llvm::Value * Acc, llvm::Value * Src)
- public llvm::CallInst * CreateFPMaxReduce(llvm::Value * Src, bool NoNaN = false)
- public llvm::CallInst * CreateFPMinReduce(llvm::Value * Src, bool NoNaN = false)
- public llvm::CallInst * CreateGCRelocate(llvm::Instruction * Statepoint, int BaseOffset, int DerivedOffset, llvm::Type * ResultType, const llvm::Twine & Name = "")
- public llvm::CallInst * CreateGCResult(llvm::Instruction * Statepoint, llvm::Type * ResultType, const llvm::Twine & Name = "")
- public llvm::CallInst * CreateGCStatepointCall(uint64_t ID, uint32_t NumPatchBytes, llvm::Value * ActualCallee, ArrayRef<llvm::Value *> CallArgs, ArrayRef<llvm::Value *> DeoptArgs, ArrayRef<llvm::Value *> GCArgs, const llvm::Twine & Name = "")
- public llvm::CallInst * CreateGCStatepointCall(uint64_t ID, uint32_t NumPatchBytes, llvm::Value * ActualCallee, ArrayRef<llvm::Use> CallArgs, ArrayRef<llvm::Value *> DeoptArgs, ArrayRef<llvm::Value *> GCArgs, const llvm::Twine & Name = "")
- public llvm::CallInst * CreateGCStatepointCall(uint64_t ID, uint32_t NumPatchBytes, llvm::Value * ActualCallee, uint32_t Flags, ArrayRef<llvm::Use> CallArgs, ArrayRef<llvm::Use> TransitionArgs, ArrayRef<llvm::Use> DeoptArgs, ArrayRef<llvm::Value *> GCArgs, const llvm::Twine & Name = "")
- public llvm::InvokeInst * CreateGCStatepointInvoke(uint64_t ID, uint32_t NumPatchBytes, llvm::Value * ActualInvokee, llvm::BasicBlock * NormalDest, llvm::BasicBlock * UnwindDest, ArrayRef<llvm::Use> InvokeArgs, ArrayRef<llvm::Value *> DeoptArgs, ArrayRef<llvm::Value *> GCArgs, const llvm::Twine & Name = "")
- public llvm::InvokeInst * CreateGCStatepointInvoke(uint64_t ID, uint32_t NumPatchBytes, llvm::Value * ActualInvokee, llvm::BasicBlock * NormalDest, llvm::BasicBlock * UnwindDest, uint32_t Flags, ArrayRef<llvm::Use> InvokeArgs, ArrayRef<llvm::Use> TransitionArgs, ArrayRef<llvm::Use> DeoptArgs, ArrayRef<llvm::Value *> GCArgs, const llvm::Twine & Name = "")
- public llvm::InvokeInst * CreateGCStatepointInvoke(uint64_t ID, uint32_t NumPatchBytes, llvm::Value * ActualInvokee, llvm::BasicBlock * NormalDest, llvm::BasicBlock * UnwindDest, ArrayRef<llvm::Value *> InvokeArgs, ArrayRef<llvm::Value *> DeoptArgs, ArrayRef<llvm::Value *> GCArgs, const llvm::Twine & Name = "")
- public llvm::GlobalVariable * CreateGlobalString(llvm::StringRef Str, const llvm::Twine & Name = "", unsigned int AddressSpace = 0)
- public llvm::CallInst * CreateIntMaxReduce(llvm::Value * Src, bool IsSigned = false)
- public llvm::CallInst * CreateIntMinReduce(llvm::Value * Src, bool IsSigned = false)
- public llvm::CallInst * CreateIntrinsic(Intrinsic::ID ID, ArrayRef<llvm::Type *> Types, ArrayRef<llvm::Value *> Args, llvm::Instruction * FMFSource = nullptr, const llvm::Twine & Name = "")
- public llvm::CallInst * CreateInvariantStart(llvm::Value * Ptr, llvm::ConstantInt * Size = nullptr)
- public llvm::CallInst * CreateLifetimeEnd(llvm::Value * Ptr, llvm::ConstantInt * Size = nullptr)
- public llvm::CallInst * CreateLifetimeStart(llvm::Value * Ptr, llvm::ConstantInt * Size = nullptr)
- public llvm::CallInst * CreateMaskedGather(llvm::Value * Ptrs, unsigned int Align, llvm::Value * Mask = nullptr, llvm::Value * PassThru = nullptr, const llvm::Twine & Name = "")
- public llvm::CallInst * CreateMaskedLoad(llvm::Value * Ptr, unsigned int Align, llvm::Value * Mask, llvm::Value * PassThru = nullptr, const llvm::Twine & Name = "")
- public llvm::CallInst * CreateMaskedScatter(llvm::Value * Val, llvm::Value * Ptrs, unsigned int Align, llvm::Value * Mask = nullptr)
- public llvm::CallInst * CreateMaskedStore(llvm::Value * Val, llvm::Value * Ptr, unsigned int Align, llvm::Value * Mask)
- public llvm::CallInst * CreateMaxNum(llvm::Value * LHS, llvm::Value * RHS, const llvm::Twine & Name = "")
- public llvm::CallInst * CreateMaximum(llvm::Value * LHS, llvm::Value * RHS, const llvm::Twine & Name = "")
- public llvm::CallInst * CreateMemCpy(llvm::Value * Dst, llvm::MaybeAlign DstAlign, llvm::Value * Src, llvm::MaybeAlign SrcAlign, llvm::Value * Size, bool isVolatile = false, llvm::MDNode * TBAATag = nullptr, llvm::MDNode * TBAAStructTag = nullptr, llvm::MDNode * ScopeTag = nullptr, llvm::MDNode * NoAliasTag = nullptr)
- public llvm::CallInst * CreateMemCpy(llvm::Value * Dst, llvm::MaybeAlign DstAlign, llvm::Value * Src, llvm::MaybeAlign SrcAlign, uint64_t Size, bool isVolatile = false, llvm::MDNode * TBAATag = nullptr, llvm::MDNode * TBAAStructTag = nullptr, llvm::MDNode * ScopeTag = nullptr, llvm::MDNode * NoAliasTag = nullptr)
- public llvm::CallInst * CreateMemMove(llvm::Value * Dst, llvm::MaybeAlign DstAlign, llvm::Value * Src, llvm::MaybeAlign SrcAlign, llvm::Value * Size, bool isVolatile = false, llvm::MDNode * TBAATag = nullptr, llvm::MDNode * ScopeTag = nullptr, llvm::MDNode * NoAliasTag = nullptr)
- public llvm::CallInst * CreateMemMove(llvm::Value * Dst, llvm::MaybeAlign DstAlign, llvm::Value * Src, llvm::MaybeAlign SrcAlign, uint64_t Size, bool isVolatile = false, llvm::MDNode * TBAATag = nullptr, llvm::MDNode * ScopeTag = nullptr, llvm::MDNode * NoAliasTag = nullptr)
- public llvm::CallInst * CreateMemSet(llvm::Value * Ptr, llvm::Value * Val, llvm::Value * Size, llvm::MaybeAlign Align, bool isVolatile = false, llvm::MDNode * TBAATag = nullptr, llvm::MDNode * ScopeTag = nullptr, llvm::MDNode * NoAliasTag = nullptr)
- public llvm::CallInst * CreateMemSet(llvm::Value * Ptr, llvm::Value * Val, uint64_t Size, llvm::MaybeAlign Align, bool isVolatile = false, llvm::MDNode * TBAATag = nullptr, llvm::MDNode * ScopeTag = nullptr, llvm::MDNode * NoAliasTag = nullptr)
- public llvm::CallInst * CreateMinNum(llvm::Value * LHS, llvm::Value * RHS, const llvm::Twine & Name = "")
- public llvm::CallInst * CreateMinimum(llvm::Value * LHS, llvm::Value * RHS, const llvm::Twine & Name = "")
- public llvm::CallInst * CreateMulReduce(llvm::Value * Src)
- public llvm::CallInst * CreateOrReduce(llvm::Value * Src)
- public llvm::CallInst * CreateUnaryIntrinsic(Intrinsic::ID ID, llvm::Value * V, llvm::Instruction * FMFSource = nullptr, const llvm::Twine & Name = "")
- public llvm::CallInst * CreateXorReduce(llvm::Value * Src)
- public llvm::BasicBlock * GetInsertBlock() const
- public int GetInsertPoint() const
- public IRBuilderBase(llvm::LLVMContext & context, llvm::MDNode * FPMathTag = nullptr, ArrayRef<llvm::OperandBundleDef> OpBundles = <null expr>)
- public void SetCurrentDebugLocation(llvm::DebugLoc L)
- public void SetInsertPoint(llvm::BasicBlock * TheBB, int IP)
- public void SetInsertPoint(llvm::Instruction * I)
- public void SetInsertPoint(llvm::BasicBlock * TheBB)
- public void SetInstDebugLocation(llvm::Instruction * I) const
- public void clearFastMathFlags()
- public llvm::LLVMContext & getContext() const
- public const llvm::DebugLoc & getCurrentDebugLocation() const
- public llvm::Type * getCurrentFunctionReturnType() const
- public fp::ExceptionBehavior getDefaultConstrainedExcept()
- public fp::RoundingMode getDefaultConstrainedRounding()
- public llvm::MDNode * getDefaultFPMathTag() const
- public llvm::Type * getDoubleTy()
- public llvm::ConstantInt * getFalse()
- public llvm::FastMathFlags getFastMathFlags() const
- public llvm::Type * getFloatTy()
- public llvm::Type * getHalfTy()
- public llvm::ConstantInt * getInt(const llvm::APInt & AI)
- public llvm::ConstantInt * getInt1(bool V)
- public llvm::IntegerType * getInt128Ty()
- public llvm::ConstantInt * getInt16(uint16_t C)
- public llvm::IntegerType * getInt16Ty()
- public llvm::IntegerType * getInt1Ty()
- public llvm::ConstantInt * getInt32(uint32_t C)
- public llvm::IntegerType * getInt32Ty()
- public llvm::ConstantInt * getInt64(uint64_t C)
- public llvm::IntegerType * getInt64Ty()
- public llvm::ConstantInt * getInt8(uint8_t C)
- public llvm::PointerType * getInt8PtrTy(unsigned int AddrSpace = 0)
- public llvm::IntegerType * getInt8Ty()
- public llvm::ConstantInt * getIntN(unsigned int N, uint64_t C)
- public llvm::IntegerType * getIntNTy(unsigned int N)
- public llvm::IntegerType * getIntPtrTy(const llvm::DataLayout & DL, unsigned int AddrSpace = 0)
- public bool getIsFPConstrained()
- public llvm::ConstantInt * getTrue()
- public llvm::Type * getVoidTy()
- public void restoreIP(llvm::IRBuilderBase::InsertPoint IP)
- public llvm::IRBuilderBase::InsertPoint saveAndClearIP()
- public llvm::IRBuilderBase::InsertPoint saveIP() const
- public void setConstrainedFPCallAttr(llvm::CallInst * I)
- public void setConstrainedFPFunctionAttr()
- public void setDefaultConstrainedExcept(fp::ExceptionBehavior NewExcept)
- public void setDefaultConstrainedRounding(fp::RoundingMode NewRounding)
- public void setDefaultFPMathTag(llvm::MDNode * FPMathTag)
- public void setFastMathFlags(llvm::FastMathFlags NewFMF)
- public void setIsFPConstrained(bool IsCon)
Methods
¶void ClearInsertionPoint()
void ClearInsertionPoint()
Description
Clear the insertion point: created instructions will not be inserted into a block.
Declared at: llvm/include/llvm/IR/IRBuilder.h:121
¶llvm::CallInst* CreateAddReduce(llvm::Value* Src)
llvm::CallInst* CreateAddReduce(llvm::Value* Src)
Description
Create a vector int add reduction intrinsic of the source vector.
Declared at: llvm/include/llvm/IR/IRBuilder.h:664
Parameters
- llvm::Value* Src
¶llvm::CallInst* CreateAndReduce(llvm::Value* Src)
llvm::CallInst* CreateAndReduce(llvm::Value* Src)
Description
Create a vector int AND reduction intrinsic of the source vector.
Declared at: llvm/include/llvm/IR/IRBuilder.h:670
Parameters
- llvm::Value* Src
¶llvm::CallInst* CreateAssumption(
llvm::Value* Cond)
llvm::CallInst* CreateAssumption(
llvm::Value* Cond)
Description
Create an assume intrinsic call that allows the optimizer to assume that the provided condition will be true.
Declared at: llvm/include/llvm/IR/IRBuilder.h:729
Parameters
- llvm::Value* Cond
¶llvm::CallInst* CreateBinaryIntrinsic(
Intrinsic::ID ID,
llvm::Value* LHS,
llvm::Value* RHS,
llvm::Instruction* FMFSource = nullptr,
const llvm::Twine& Name = "")
llvm::CallInst* CreateBinaryIntrinsic(
Intrinsic::ID ID,
llvm::Value* LHS,
llvm::Value* RHS,
llvm::Instruction* FMFSource = nullptr,
const llvm::Twine& Name = "")
Description
Create a call to intrinsic \p ID with 2 operands which is mangled on the first type.
Declared at: llvm/include/llvm/IR/IRBuilder.h:809
Parameters
- Intrinsic::ID ID
- llvm::Value* LHS
- llvm::Value* RHS
- llvm::Instruction* FMFSource = nullptr
- const llvm::Twine& Name = ""
¶llvm::CallInst*
CreateElementUnorderedAtomicMemCpy(
llvm::Value* Dst,
unsigned int DstAlign,
llvm::Value* Src,
unsigned int SrcAlign,
uint64_t Size,
uint32_t ElementSize,
llvm::MDNode* TBAATag = nullptr,
llvm::MDNode* TBAAStructTag = nullptr,
llvm::MDNode* ScopeTag = nullptr,
llvm::MDNode* NoAliasTag = nullptr)
llvm::CallInst*
CreateElementUnorderedAtomicMemCpy(
llvm::Value* Dst,
unsigned int DstAlign,
llvm::Value* Src,
unsigned int SrcAlign,
uint64_t Size,
uint32_t ElementSize,
llvm::MDNode* TBAATag = nullptr,
llvm::MDNode* TBAAStructTag = nullptr,
llvm::MDNode* ScopeTag = nullptr,
llvm::MDNode* NoAliasTag = nullptr)
Description
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.
Declared at: llvm/include/llvm/IR/IRBuilder.h:571
Parameters
- llvm::Value* Dst
- unsigned int DstAlign
- llvm::Value* Src
- unsigned int SrcAlign
- uint64_t Size
- uint32_t ElementSize
- llvm::MDNode* TBAATag = nullptr
- llvm::MDNode* TBAAStructTag = nullptr
- llvm::MDNode* ScopeTag = nullptr
- llvm::MDNode* NoAliasTag = nullptr
¶llvm::CallInst*
CreateElementUnorderedAtomicMemCpy(
llvm::Value* Dst,
unsigned int DstAlign,
llvm::Value* Src,
unsigned int SrcAlign,
llvm::Value* Size,
uint32_t ElementSize,
llvm::MDNode* TBAATag = nullptr,
llvm::MDNode* TBAAStructTag = nullptr,
llvm::MDNode* ScopeTag = nullptr,
llvm::MDNode* NoAliasTag = nullptr)
llvm::CallInst*
CreateElementUnorderedAtomicMemCpy(
llvm::Value* Dst,
unsigned int DstAlign,
llvm::Value* Src,
unsigned int SrcAlign,
llvm::Value* Size,
uint32_t ElementSize,
llvm::MDNode* TBAATag = nullptr,
llvm::MDNode* TBAAStructTag = nullptr,
llvm::MDNode* ScopeTag = nullptr,
llvm::MDNode* NoAliasTag = nullptr)
Declared at: llvm/include/llvm/IR/IRBuilder.h:581
Parameters
- llvm::Value* Dst
- unsigned int DstAlign
- llvm::Value* Src
- unsigned int SrcAlign
- llvm::Value* Size
- uint32_t ElementSize
- llvm::MDNode* TBAATag = nullptr
- llvm::MDNode* TBAAStructTag = nullptr
- llvm::MDNode* ScopeTag = nullptr
- llvm::MDNode* NoAliasTag = nullptr
¶llvm::CallInst*
CreateElementUnorderedAtomicMemMove(
llvm::Value* Dst,
unsigned int DstAlign,
llvm::Value* Src,
unsigned int SrcAlign,
uint64_t Size,
uint32_t ElementSize,
llvm::MDNode* TBAATag = nullptr,
llvm::MDNode* TBAAStructTag = nullptr,
llvm::MDNode* ScopeTag = nullptr,
llvm::MDNode* NoAliasTag = nullptr)
llvm::CallInst*
CreateElementUnorderedAtomicMemMove(
llvm::Value* Dst,
unsigned int DstAlign,
llvm::Value* Src,
unsigned int SrcAlign,
uint64_t Size,
uint32_t ElementSize,
llvm::MDNode* TBAATag = nullptr,
llvm::MDNode* TBAAStructTag = nullptr,
llvm::MDNode* ScopeTag = nullptr,
llvm::MDNode* NoAliasTag = nullptr)
Description
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.
Declared at: llvm/include/llvm/IR/IRBuilder.h:639
Parameters
- llvm::Value* Dst
- unsigned int DstAlign
- llvm::Value* Src
- unsigned int SrcAlign
- uint64_t Size
- uint32_t ElementSize
- llvm::MDNode* TBAATag = nullptr
- llvm::MDNode* TBAAStructTag = nullptr
- llvm::MDNode* ScopeTag = nullptr
- llvm::MDNode* NoAliasTag = nullptr
¶llvm::CallInst*
CreateElementUnorderedAtomicMemMove(
llvm::Value* Dst,
unsigned int DstAlign,
llvm::Value* Src,
unsigned int SrcAlign,
llvm::Value* Size,
uint32_t ElementSize,
llvm::MDNode* TBAATag = nullptr,
llvm::MDNode* TBAAStructTag = nullptr,
llvm::MDNode* ScopeTag = nullptr,
llvm::MDNode* NoAliasTag = nullptr)
llvm::CallInst*
CreateElementUnorderedAtomicMemMove(
llvm::Value* Dst,
unsigned int DstAlign,
llvm::Value* Src,
unsigned int SrcAlign,
llvm::Value* Size,
uint32_t ElementSize,
llvm::MDNode* TBAATag = nullptr,
llvm::MDNode* TBAAStructTag = nullptr,
llvm::MDNode* ScopeTag = nullptr,
llvm::MDNode* NoAliasTag = nullptr)
Declared at: llvm/include/llvm/IR/IRBuilder.h:649
Parameters
- llvm::Value* Dst
- unsigned int DstAlign
- llvm::Value* Src
- unsigned int SrcAlign
- llvm::Value* Size
- uint32_t ElementSize
- llvm::MDNode* TBAATag = nullptr
- llvm::MDNode* TBAAStructTag = nullptr
- llvm::MDNode* ScopeTag = nullptr
- llvm::MDNode* NoAliasTag = nullptr
¶llvm::CallInst*
CreateElementUnorderedAtomicMemSet(
llvm::Value* Ptr,
llvm::Value* Val,
uint64_t Size,
llvm::Align Alignment,
uint32_t ElementSize,
llvm::MDNode* TBAATag = nullptr,
llvm::MDNode* ScopeTag = nullptr,
llvm::MDNode* NoAliasTag = nullptr)
llvm::CallInst*
CreateElementUnorderedAtomicMemSet(
llvm::Value* Ptr,
llvm::Value* Val,
uint64_t Size,
llvm::Align Alignment,
uint32_t ElementSize,
llvm::MDNode* TBAATag = nullptr,
llvm::MDNode* ScopeTag = nullptr,
llvm::MDNode* NoAliasTag = nullptr)
Declared at: llvm/include/llvm/IR/IRBuilder.h:484
Parameters
- llvm::Value* Ptr
- llvm::Value* Val
- uint64_t Size
- llvm::Align Alignment
- uint32_t ElementSize
- llvm::MDNode* TBAATag = nullptr
- llvm::MDNode* ScopeTag = nullptr
- llvm::MDNode* NoAliasTag = nullptr
¶llvm::CallInst*
CreateElementUnorderedAtomicMemSet(
llvm::Value* Ptr,
llvm::Value* Val,
llvm::Value* Size,
llvm::Align Alignment,
uint32_t ElementSize,
llvm::MDNode* TBAATag = nullptr,
llvm::MDNode* ScopeTag = nullptr,
llvm::MDNode* NoAliasTag = nullptr)
llvm::CallInst*
CreateElementUnorderedAtomicMemSet(
llvm::Value* Ptr,
llvm::Value* Val,
llvm::Value* Size,
llvm::Align Alignment,
uint32_t ElementSize,
llvm::MDNode* TBAATag = nullptr,
llvm::MDNode* ScopeTag = nullptr,
llvm::MDNode* NoAliasTag = nullptr)
Declared at: llvm/include/llvm/IR/IRBuilder.h:508
Parameters
- llvm::Value* Ptr
- llvm::Value* Val
- llvm::Value* Size
- llvm::Align Alignment
- uint32_t ElementSize
- llvm::MDNode* TBAATag = nullptr
- llvm::MDNode* ScopeTag = nullptr
- llvm::MDNode* NoAliasTag = nullptr
¶llvm::CallInst* CreateFAddReduce(llvm::Value* Acc,
llvm::Value* Src)
llvm::CallInst* CreateFAddReduce(llvm::Value* Acc,
llvm::Value* Src)
Description
Create a vector fadd reduction intrinsic of the source vector. The first parameter is a scalar accumulator value for ordered reductions.
Declared at: llvm/include/llvm/IR/IRBuilder.h:657
Parameters
- llvm::Value* Acc
- llvm::Value* Src
¶llvm::CallInst* CreateFMulReduce(llvm::Value* Acc,
llvm::Value* Src)
llvm::CallInst* CreateFMulReduce(llvm::Value* Acc,
llvm::Value* Src)
Description
Create a vector fmul reduction intrinsic of the source vector. The first parameter is a scalar accumulator value for ordered reductions.
Declared at: llvm/include/llvm/IR/IRBuilder.h:661
Parameters
- llvm::Value* Acc
- llvm::Value* Src
¶llvm::CallInst* CreateFPMaxReduce(
llvm::Value* Src,
bool NoNaN = false)
llvm::CallInst* CreateFPMaxReduce(
llvm::Value* Src,
bool NoNaN = false)
Description
Create a vector float max reduction intrinsic of the source vector.
Declared at: llvm/include/llvm/IR/IRBuilder.h:688
Parameters
- llvm::Value* Src
- bool NoNaN = false
¶llvm::CallInst* CreateFPMinReduce(
llvm::Value* Src,
bool NoNaN = false)
llvm::CallInst* CreateFPMinReduce(
llvm::Value* Src,
bool NoNaN = false)
Description
Create a vector float min reduction intrinsic of the source vector.
Declared at: llvm/include/llvm/IR/IRBuilder.h:692
Parameters
- llvm::Value* Src
- bool NoNaN = false
¶llvm::CallInst* CreateGCRelocate(
llvm::Instruction* Statepoint,
int BaseOffset,
int DerivedOffset,
llvm::Type* ResultType,
const llvm::Twine& Name = "")
llvm::CallInst* CreateGCRelocate(
llvm::Instruction* Statepoint,
int BaseOffset,
int DerivedOffset,
llvm::Type* ResultType,
const llvm::Twine& Name = "")
Description
Create a call to the experimental.gc.relocate intrinsics to project the relocated value of one pointer from the statepoint.
Declared at: llvm/include/llvm/IR/IRBuilder.h:795
Parameters
- llvm::Instruction* Statepoint
- int BaseOffset
- int DerivedOffset
- llvm::Type* ResultType
- const llvm::Twine& Name = ""
¶llvm::CallInst* CreateGCResult(
llvm::Instruction* Statepoint,
llvm::Type* ResultType,
const llvm::Twine& Name = "")
llvm::CallInst* CreateGCResult(
llvm::Instruction* Statepoint,
llvm::Type* ResultType,
const llvm::Twine& Name = "")
Description
Create a call to the experimental.gc.result intrinsic to extract the result from a call wrapped in a statepoint.
Declared at: llvm/include/llvm/IR/IRBuilder.h:789
Parameters
- llvm::Instruction* Statepoint
- llvm::Type* ResultType
- const llvm::Twine& Name = ""
¶llvm::CallInst* CreateGCStatepointCall(
uint64_t ID,
uint32_t NumPatchBytes,
llvm::Value* ActualCallee,
ArrayRef<llvm::Value*> CallArgs,
ArrayRef<llvm::Value*> DeoptArgs,
ArrayRef<llvm::Value*> GCArgs,
const llvm::Twine& Name = "")
llvm::CallInst* CreateGCStatepointCall(
uint64_t ID,
uint32_t NumPatchBytes,
llvm::Value* ActualCallee,
ArrayRef<llvm::Value*> CallArgs,
ArrayRef<llvm::Value*> DeoptArgs,
ArrayRef<llvm::Value*> GCArgs,
const llvm::Twine& Name = "")
Description
Create a call to the experimental.gc.statepoint intrinsic to start a new statepoint sequence.
Declared at: llvm/include/llvm/IR/IRBuilder.h:733
Parameters
- uint64_t ID
- uint32_t NumPatchBytes
- llvm::Value* ActualCallee
- ArrayRef<llvm::Value*> CallArgs
- ArrayRef<llvm::Value*> DeoptArgs
- ArrayRef<llvm::Value*> GCArgs
- const llvm::Twine& Name = ""
¶llvm::CallInst* CreateGCStatepointCall(
uint64_t ID,
uint32_t NumPatchBytes,
llvm::Value* ActualCallee,
ArrayRef<llvm::Use> CallArgs,
ArrayRef<llvm::Value*> DeoptArgs,
ArrayRef<llvm::Value*> GCArgs,
const llvm::Twine& Name = "")
llvm::CallInst* CreateGCStatepointCall(
uint64_t ID,
uint32_t NumPatchBytes,
llvm::Value* ActualCallee,
ArrayRef<llvm::Use> CallArgs,
ArrayRef<llvm::Value*> DeoptArgs,
ArrayRef<llvm::Value*> GCArgs,
const llvm::Twine& Name = "")
Description
Conveninence function for the common case when CallArgs are filled in using makeArrayRef(CS.arg_begin(), CS.arg_end()); Use needs to be .get()'ed to get the Value pointer.
Declared at: llvm/include/llvm/IR/IRBuilder.h:753
Parameters
- uint64_t ID
- uint32_t NumPatchBytes
- llvm::Value* ActualCallee
- ArrayRef<llvm::Use> CallArgs
- ArrayRef<llvm::Value*> DeoptArgs
- ArrayRef<llvm::Value*> GCArgs
- const llvm::Twine& Name = ""
¶llvm::CallInst* CreateGCStatepointCall(
uint64_t ID,
uint32_t NumPatchBytes,
llvm::Value* ActualCallee,
uint32_t Flags,
ArrayRef<llvm::Use> CallArgs,
ArrayRef<llvm::Use> TransitionArgs,
ArrayRef<llvm::Use> DeoptArgs,
ArrayRef<llvm::Value*> GCArgs,
const llvm::Twine& Name = "")
llvm::CallInst* CreateGCStatepointCall(
uint64_t ID,
uint32_t NumPatchBytes,
llvm::Value* ActualCallee,
uint32_t Flags,
ArrayRef<llvm::Use> CallArgs,
ArrayRef<llvm::Use> TransitionArgs,
ArrayRef<llvm::Use> DeoptArgs,
ArrayRef<llvm::Value*> GCArgs,
const llvm::Twine& Name = "")
Description
Create a call to the experimental.gc.statepoint intrinsic to start a new statepoint sequence.
Declared at: llvm/include/llvm/IR/IRBuilder.h:742
Parameters
- uint64_t ID
- uint32_t NumPatchBytes
- llvm::Value* ActualCallee
- uint32_t Flags
- ArrayRef<llvm::Use> CallArgs
- ArrayRef<llvm::Use> TransitionArgs
- ArrayRef<llvm::Use> DeoptArgs
- ArrayRef<llvm::Value*> GCArgs
- const llvm::Twine& Name = ""
¶llvm::InvokeInst* CreateGCStatepointInvoke(
uint64_t ID,
uint32_t NumPatchBytes,
llvm::Value* ActualInvokee,
llvm::BasicBlock* NormalDest,
llvm::BasicBlock* UnwindDest,
ArrayRef<llvm::Use> InvokeArgs,
ArrayRef<llvm::Value*> DeoptArgs,
ArrayRef<llvm::Value*> GCArgs,
const llvm::Twine& Name = "")
llvm::InvokeInst* CreateGCStatepointInvoke(
uint64_t ID,
uint32_t NumPatchBytes,
llvm::Value* ActualInvokee,
llvm::BasicBlock* NormalDest,
llvm::BasicBlock* UnwindDest,
ArrayRef<llvm::Use> InvokeArgs,
ArrayRef<llvm::Value*> DeoptArgs,
ArrayRef<llvm::Value*> GCArgs,
const llvm::Twine& Name = "")
Declared at: llvm/include/llvm/IR/IRBuilder.h:781
Parameters
- uint64_t ID
- uint32_t NumPatchBytes
- llvm::Value* ActualInvokee
- llvm::BasicBlock* NormalDest
- llvm::BasicBlock* UnwindDest
- ArrayRef<llvm::Use> InvokeArgs
- ArrayRef<llvm::Value*> DeoptArgs
- ArrayRef<llvm::Value*> GCArgs
- const llvm::Twine& Name = ""
¶llvm::InvokeInst* CreateGCStatepointInvoke(
uint64_t ID,
uint32_t NumPatchBytes,
llvm::Value* ActualInvokee,
llvm::BasicBlock* NormalDest,
llvm::BasicBlock* UnwindDest,
uint32_t Flags,
ArrayRef<llvm::Use> InvokeArgs,
ArrayRef<llvm::Use> TransitionArgs,
ArrayRef<llvm::Use> DeoptArgs,
ArrayRef<llvm::Value*> GCArgs,
const llvm::Twine& Name = "")
llvm::InvokeInst* CreateGCStatepointInvoke(
uint64_t ID,
uint32_t NumPatchBytes,
llvm::Value* ActualInvokee,
llvm::BasicBlock* NormalDest,
llvm::BasicBlock* UnwindDest,
uint32_t Flags,
ArrayRef<llvm::Use> InvokeArgs,
ArrayRef<llvm::Use> TransitionArgs,
ArrayRef<llvm::Use> DeoptArgs,
ArrayRef<llvm::Value*> GCArgs,
const llvm::Twine& Name = "")
Description
Create an invoke to the experimental.gc.statepoint intrinsic to start a new statepoint sequence.
Declared at: llvm/include/llvm/IR/IRBuilder.h:770
Parameters
- uint64_t ID
- uint32_t NumPatchBytes
- llvm::Value* ActualInvokee
- llvm::BasicBlock* NormalDest
- llvm::BasicBlock* UnwindDest
- uint32_t Flags
- ArrayRef<llvm::Use> InvokeArgs
- ArrayRef<llvm::Use> TransitionArgs
- ArrayRef<llvm::Use> DeoptArgs
- ArrayRef<llvm::Value*> GCArgs
- const llvm::Twine& Name = ""
¶llvm::InvokeInst* CreateGCStatepointInvoke(
uint64_t ID,
uint32_t NumPatchBytes,
llvm::Value* ActualInvokee,
llvm::BasicBlock* NormalDest,
llvm::BasicBlock* UnwindDest,
ArrayRef<llvm::Value*> InvokeArgs,
ArrayRef<llvm::Value*> DeoptArgs,
ArrayRef<llvm::Value*> GCArgs,
const llvm::Twine& Name = "")
llvm::InvokeInst* CreateGCStatepointInvoke(
uint64_t ID,
uint32_t NumPatchBytes,
llvm::Value* ActualInvokee,
llvm::BasicBlock* NormalDest,
llvm::BasicBlock* UnwindDest,
ArrayRef<llvm::Value*> InvokeArgs,
ArrayRef<llvm::Value*> DeoptArgs,
ArrayRef<llvm::Value*> GCArgs,
const llvm::Twine& Name = "")
Description
Create an invoke to the experimental.gc.statepoint intrinsic to start a new statepoint sequence.
Declared at: llvm/include/llvm/IR/IRBuilder.h:762
Parameters
- uint64_t ID
- uint32_t NumPatchBytes
- llvm::Value* ActualInvokee
- llvm::BasicBlock* NormalDest
- llvm::BasicBlock* UnwindDest
- ArrayRef<llvm::Value*> InvokeArgs
- ArrayRef<llvm::Value*> DeoptArgs
- ArrayRef<llvm::Value*> GCArgs
- const llvm::Twine& Name = ""
¶llvm::GlobalVariable* CreateGlobalString(
llvm::StringRef Str,
const llvm::Twine& Name = "",
unsigned int AddressSpace = 0)
llvm::GlobalVariable* CreateGlobalString(
llvm::StringRef Str,
const llvm::Twine& Name = "",
unsigned int AddressSpace = 0)
Description
Make a new global variable with initializer type i8* 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.
Declared at: llvm/include/llvm/IR/IRBuilder.h:326
Parameters
- llvm::StringRef Str
- const llvm::Twine& Name = ""
- unsigned int AddressSpace = 0
¶llvm::CallInst* CreateIntMaxReduce(
llvm::Value* Src,
bool IsSigned = false)
llvm::CallInst* CreateIntMaxReduce(
llvm::Value* Src,
bool IsSigned = false)
Description
Create a vector integer max reduction intrinsic of the source vector.
Declared at: llvm/include/llvm/IR/IRBuilder.h:680
Parameters
- llvm::Value* Src
- bool IsSigned = false
¶llvm::CallInst* CreateIntMinReduce(
llvm::Value* Src,
bool IsSigned = false)
llvm::CallInst* CreateIntMinReduce(
llvm::Value* Src,
bool IsSigned = false)
Description
Create a vector integer min reduction intrinsic of the source vector.
Declared at: llvm/include/llvm/IR/IRBuilder.h:684
Parameters
- llvm::Value* Src
- bool IsSigned = false
¶llvm::CallInst* CreateIntrinsic(
Intrinsic::ID ID,
ArrayRef<llvm::Type*> Types,
ArrayRef<llvm::Value*> Args,
llvm::Instruction* FMFSource = nullptr,
const llvm::Twine& Name = "")
llvm::CallInst* CreateIntrinsic(
Intrinsic::ID ID,
ArrayRef<llvm::Type*> Types,
ArrayRef<llvm::Value*> Args,
llvm::Instruction* FMFSource = nullptr,
const llvm::Twine& Name = "")
Description
Create a call to intrinsic \p ID with \p args, mangled using \p Types. If\p FMFSource is provided, copy fast-math-flags from that instruction to the intrinsic.
Declared at: llvm/include/llvm/IR/IRBuilder.h:816
Parameters
- Intrinsic::ID ID
- ArrayRef<llvm::Type*> Types
- ArrayRef<llvm::Value*> Args
- llvm::Instruction* FMFSource = nullptr
- const llvm::Twine& Name = ""
¶llvm::CallInst* CreateInvariantStart(
llvm::Value* Ptr,
llvm::ConstantInt* Size = nullptr)
llvm::CallInst* CreateInvariantStart(
llvm::Value* Ptr,
llvm::ConstantInt* Size = nullptr)
Description
Create a call to invariant.start intrinsic. If the pointer isn't i8* it will be converted.
Declared at: llvm/include/llvm/IR/IRBuilder.h:707
Parameters
- llvm::Value* Ptr
- llvm::ConstantInt* Size = nullptr
¶llvm::CallInst* CreateLifetimeEnd(
llvm::Value* Ptr,
llvm::ConstantInt* Size = nullptr)
llvm::CallInst* CreateLifetimeEnd(
llvm::Value* Ptr,
llvm::ConstantInt* Size = nullptr)
Description
Create a lifetime.end intrinsic. If the pointer isn't i8* it will be converted.
Declared at: llvm/include/llvm/IR/IRBuilder.h:702
Parameters
- llvm::Value* Ptr
- llvm::ConstantInt* Size = nullptr
¶llvm::CallInst* CreateLifetimeStart(
llvm::Value* Ptr,
llvm::ConstantInt* Size = nullptr)
llvm::CallInst* CreateLifetimeStart(
llvm::Value* Ptr,
llvm::ConstantInt* Size = nullptr)
Description
Create a lifetime.start intrinsic. If the pointer isn't i8* it will be converted.
Declared at: llvm/include/llvm/IR/IRBuilder.h:697
Parameters
- llvm::Value* Ptr
- llvm::ConstantInt* Size = nullptr
¶llvm::CallInst* CreateMaskedGather(
llvm::Value* Ptrs,
unsigned int Align,
llvm::Value* Mask = nullptr,
llvm::Value* PassThru = nullptr,
const llvm::Twine& Name = "")
llvm::CallInst* CreateMaskedGather(
llvm::Value* Ptrs,
unsigned int Align,
llvm::Value* Mask = nullptr,
llvm::Value* PassThru = nullptr,
const llvm::Twine& Name = "")
Description
Create a call to Masked Gather intrinsic
Declared at: llvm/include/llvm/IR/IRBuilder.h:718
Parameters
- llvm::Value* Ptrs
- unsigned int Align
- llvm::Value* Mask = nullptr
- llvm::Value* PassThru = nullptr
- const llvm::Twine& Name = ""
¶llvm::CallInst* CreateMaskedLoad(
llvm::Value* Ptr,
unsigned int Align,
llvm::Value* Mask,
llvm::Value* PassThru = nullptr,
const llvm::Twine& Name = "")
llvm::CallInst* CreateMaskedLoad(
llvm::Value* Ptr,
unsigned int Align,
llvm::Value* Mask,
llvm::Value* PassThru = nullptr,
const llvm::Twine& Name = "")
Description
Create a call to Masked Load intrinsic
Declared at: llvm/include/llvm/IR/IRBuilder.h:710
Parameters
- llvm::Value* Ptr
- unsigned int Align
- llvm::Value* Mask
- llvm::Value* PassThru = nullptr
- const llvm::Twine& Name = ""
¶llvm::CallInst* CreateMaskedScatter(
llvm::Value* Val,
llvm::Value* Ptrs,
unsigned int Align,
llvm::Value* Mask = nullptr)
llvm::CallInst* CreateMaskedScatter(
llvm::Value* Val,
llvm::Value* Ptrs,
unsigned int Align,
llvm::Value* Mask = nullptr)
Description
Create a call to Masked Scatter intrinsic
Declared at: llvm/include/llvm/IR/IRBuilder.h:724
Parameters
- llvm::Value* Val
- llvm::Value* Ptrs
- unsigned int Align
- llvm::Value* Mask = nullptr
¶llvm::CallInst* CreateMaskedStore(
llvm::Value* Val,
llvm::Value* Ptr,
unsigned int Align,
llvm::Value* Mask)
llvm::CallInst* CreateMaskedStore(
llvm::Value* Val,
llvm::Value* Ptr,
unsigned int Align,
llvm::Value* Mask)
Description
Create a call to Masked Store intrinsic
Declared at: llvm/include/llvm/IR/IRBuilder.h:714
Parameters
- llvm::Value* Val
- llvm::Value* Ptr
- unsigned int Align
- llvm::Value* Mask
¶llvm::CallInst* CreateMaxNum(
llvm::Value* LHS,
llvm::Value* RHS,
const llvm::Twine& Name = "")
llvm::CallInst* CreateMaxNum(
llvm::Value* LHS,
llvm::Value* RHS,
const llvm::Twine& Name = "")
Description
Create call to the maxnum intrinsic.
Declared at: llvm/include/llvm/IR/IRBuilder.h:827
Parameters
- llvm::Value* LHS
- llvm::Value* RHS
- const llvm::Twine& Name = ""
¶llvm::CallInst* CreateMaximum(
llvm::Value* LHS,
llvm::Value* RHS,
const llvm::Twine& Name = "")
llvm::CallInst* CreateMaximum(
llvm::Value* LHS,
llvm::Value* RHS,
const llvm::Twine& Name = "")
Description
Create call to the maximum intrinsic.
Declared at: llvm/include/llvm/IR/IRBuilder.h:837
Parameters
- llvm::Value* LHS
- llvm::Value* RHS
- const llvm::Twine& Name = ""
¶llvm::CallInst* CreateMemCpy(
llvm::Value* Dst,
llvm::MaybeAlign DstAlign,
llvm::Value* Src,
llvm::MaybeAlign SrcAlign,
llvm::Value* Size,
bool isVolatile = false,
llvm::MDNode* TBAATag = nullptr,
llvm::MDNode* TBAAStructTag = nullptr,
llvm::MDNode* ScopeTag = nullptr,
llvm::MDNode* NoAliasTag = nullptr)
llvm::CallInst* CreateMemCpy(
llvm::Value* Dst,
llvm::MaybeAlign DstAlign,
llvm::Value* Src,
llvm::MaybeAlign SrcAlign,
llvm::Value* Size,
bool isVolatile = false,
llvm::MDNode* TBAATag = nullptr,
llvm::MDNode* TBAAStructTag = nullptr,
llvm::MDNode* ScopeTag = nullptr,
llvm::MDNode* NoAliasTag = nullptr)
Declared at: llvm/include/llvm/IR/IRBuilder.h:556
Parameters
- llvm::Value* Dst
- llvm::MaybeAlign DstAlign
- llvm::Value* Src
- llvm::MaybeAlign SrcAlign
- llvm::Value* Size
- bool isVolatile = false
- llvm::MDNode* TBAATag = nullptr
- llvm::MDNode* TBAAStructTag = nullptr
- llvm::MDNode* ScopeTag = nullptr
- llvm::MDNode* NoAliasTag = nullptr
¶llvm::CallInst* CreateMemCpy(
llvm::Value* Dst,
llvm::MaybeAlign DstAlign,
llvm::Value* Src,
llvm::MaybeAlign SrcAlign,
uint64_t Size,
bool isVolatile = false,
llvm::MDNode* TBAATag = nullptr,
llvm::MDNode* TBAAStructTag = nullptr,
llvm::MDNode* ScopeTag = nullptr,
llvm::MDNode* NoAliasTag = nullptr)
llvm::CallInst* CreateMemCpy(
llvm::Value* Dst,
llvm::MaybeAlign DstAlign,
llvm::Value* Src,
llvm::MaybeAlign SrcAlign,
uint64_t Size,
bool isVolatile = false,
llvm::MDNode* TBAATag = nullptr,
llvm::MDNode* TBAAStructTag = nullptr,
llvm::MDNode* ScopeTag = nullptr,
llvm::MDNode* NoAliasTag = nullptr)
Declared at: llvm/include/llvm/IR/IRBuilder.h:535
Parameters
- llvm::Value* Dst
- llvm::MaybeAlign DstAlign
- llvm::Value* Src
- llvm::MaybeAlign SrcAlign
- uint64_t Size
- bool isVolatile = false
- llvm::MDNode* TBAATag = nullptr
- llvm::MDNode* TBAAStructTag = nullptr
- llvm::MDNode* ScopeTag = nullptr
- llvm::MDNode* NoAliasTag = nullptr
¶llvm::CallInst* CreateMemMove(
llvm::Value* Dst,
llvm::MaybeAlign DstAlign,
llvm::Value* Src,
llvm::MaybeAlign SrcAlign,
llvm::Value* Size,
bool isVolatile = false,
llvm::MDNode* TBAATag = nullptr,
llvm::MDNode* ScopeTag = nullptr,
llvm::MDNode* NoAliasTag = nullptr)
llvm::CallInst* CreateMemMove(
llvm::Value* Dst,
llvm::MaybeAlign DstAlign,
llvm::Value* Src,
llvm::MaybeAlign SrcAlign,
llvm::Value* Size,
bool isVolatile = false,
llvm::MDNode* TBAATag = nullptr,
llvm::MDNode* ScopeTag = nullptr,
llvm::MDNode* NoAliasTag = nullptr)
Declared at: llvm/include/llvm/IR/IRBuilder.h:624
Parameters
- llvm::Value* Dst
- llvm::MaybeAlign DstAlign
- llvm::Value* Src
- llvm::MaybeAlign SrcAlign
- llvm::Value* Size
- bool isVolatile = false
- llvm::MDNode* TBAATag = nullptr
- llvm::MDNode* ScopeTag = nullptr
- llvm::MDNode* NoAliasTag = nullptr
¶llvm::CallInst* CreateMemMove(
llvm::Value* Dst,
llvm::MaybeAlign DstAlign,
llvm::Value* Src,
llvm::MaybeAlign SrcAlign,
uint64_t Size,
bool isVolatile = false,
llvm::MDNode* TBAATag = nullptr,
llvm::MDNode* ScopeTag = nullptr,
llvm::MDNode* NoAliasTag = nullptr)
llvm::CallInst* CreateMemMove(
llvm::Value* Dst,
llvm::MaybeAlign DstAlign,
llvm::Value* Src,
llvm::MaybeAlign SrcAlign,
uint64_t Size,
bool isVolatile = false,
llvm::MDNode* TBAATag = nullptr,
llvm::MDNode* ScopeTag = nullptr,
llvm::MDNode* NoAliasTag = nullptr)
Declared at: llvm/include/llvm/IR/IRBuilder.h:605
Parameters
- llvm::Value* Dst
- llvm::MaybeAlign DstAlign
- llvm::Value* Src
- llvm::MaybeAlign SrcAlign
- uint64_t Size
- bool isVolatile = false
- llvm::MDNode* TBAATag = nullptr
- llvm::MDNode* ScopeTag = nullptr
- llvm::MDNode* NoAliasTag = nullptr
¶llvm::CallInst* CreateMemSet(
llvm::Value* Ptr,
llvm::Value* Val,
llvm::Value* Size,
llvm::MaybeAlign Align,
bool isVolatile = false,
llvm::MDNode* TBAATag = nullptr,
llvm::MDNode* ScopeTag = nullptr,
llvm::MDNode* NoAliasTag = nullptr)
llvm::CallInst* CreateMemSet(
llvm::Value* Ptr,
llvm::Value* Val,
llvm::Value* Size,
llvm::MaybeAlign Align,
bool isVolatile = false,
llvm::MDNode* TBAATag = nullptr,
llvm::MDNode* ScopeTag = nullptr,
llvm::MDNode* NoAliasTag = nullptr)
Declared at: llvm/include/llvm/IR/IRBuilder.h:460
Parameters
- llvm::Value* Ptr
- llvm::Value* Val
- llvm::Value* Size
- llvm::MaybeAlign Align
- bool isVolatile = false
- llvm::MDNode* TBAATag = nullptr
- llvm::MDNode* ScopeTag = nullptr
- llvm::MDNode* NoAliasTag = nullptr
¶llvm::CallInst* CreateMemSet(
llvm::Value* Ptr,
llvm::Value* Val,
uint64_t Size,
llvm::MaybeAlign Align,
bool isVolatile = false,
llvm::MDNode* TBAATag = nullptr,
llvm::MDNode* ScopeTag = nullptr,
llvm::MDNode* NoAliasTag = nullptr)
llvm::CallInst* CreateMemSet(
llvm::Value* Ptr,
llvm::Value* Val,
uint64_t Size,
llvm::MaybeAlign Align,
bool isVolatile = false,
llvm::MDNode* TBAATag = nullptr,
llvm::MDNode* ScopeTag = nullptr,
llvm::MDNode* NoAliasTag = nullptr)
Description
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.
Declared at: llvm/include/llvm/IR/IRBuilder.h:452
Parameters
- llvm::Value* Ptr
- llvm::Value* Val
- uint64_t Size
- llvm::MaybeAlign Align
- bool isVolatile = false
- llvm::MDNode* TBAATag = nullptr
- llvm::MDNode* ScopeTag = nullptr
- llvm::MDNode* NoAliasTag = nullptr
¶llvm::CallInst* CreateMinNum(
llvm::Value* LHS,
llvm::Value* RHS,
const llvm::Twine& Name = "")
llvm::CallInst* CreateMinNum(
llvm::Value* LHS,
llvm::Value* RHS,
const llvm::Twine& Name = "")
Description
Create call to the minnum intrinsic.
Declared at: llvm/include/llvm/IR/IRBuilder.h:822
Parameters
- llvm::Value* LHS
- llvm::Value* RHS
- const llvm::Twine& Name = ""
¶llvm::CallInst* CreateMinimum(
llvm::Value* LHS,
llvm::Value* RHS,
const llvm::Twine& Name = "")
llvm::CallInst* CreateMinimum(
llvm::Value* LHS,
llvm::Value* RHS,
const llvm::Twine& Name = "")
Description
Create call to the minimum intrinsic.
Declared at: llvm/include/llvm/IR/IRBuilder.h:832
Parameters
- llvm::Value* LHS
- llvm::Value* RHS
- const llvm::Twine& Name = ""
¶llvm::CallInst* CreateMulReduce(llvm::Value* Src)
llvm::CallInst* CreateMulReduce(llvm::Value* Src)
Description
Create a vector int mul reduction intrinsic of the source vector.
Declared at: llvm/include/llvm/IR/IRBuilder.h:667
Parameters
- llvm::Value* Src
¶llvm::CallInst* CreateOrReduce(llvm::Value* Src)
llvm::CallInst* CreateOrReduce(llvm::Value* Src)
Description
Create a vector int OR reduction intrinsic of the source vector.
Declared at: llvm/include/llvm/IR/IRBuilder.h:673
Parameters
- llvm::Value* Src
¶llvm::CallInst* CreateUnaryIntrinsic(
Intrinsic::ID ID,
llvm::Value* V,
llvm::Instruction* FMFSource = nullptr,
const llvm::Twine& Name = "")
llvm::CallInst* CreateUnaryIntrinsic(
Intrinsic::ID ID,
llvm::Value* V,
llvm::Instruction* FMFSource = nullptr,
const llvm::Twine& Name = "")
Description
Create a call to intrinsic \p ID with 1 operand which is mangled on its type.
Declared at: llvm/include/llvm/IR/IRBuilder.h:803
Parameters
- Intrinsic::ID ID
- llvm::Value* V
- llvm::Instruction* FMFSource = nullptr
- const llvm::Twine& Name = ""
¶llvm::CallInst* CreateXorReduce(llvm::Value* Src)
llvm::CallInst* CreateXorReduce(llvm::Value* Src)
Description
Create a vector int XOR reduction intrinsic of the source vector.
Declared at: llvm/include/llvm/IR/IRBuilder.h:676
Parameters
- llvm::Value* Src
¶llvm::BasicBlock* GetInsertBlock() const
llvm::BasicBlock* GetInsertBlock() const
Declared at: llvm/include/llvm/IR/IRBuilder.h:126
¶int GetInsertPoint() const
int GetInsertPoint() const
Declared at: llvm/include/llvm/IR/IRBuilder.h:127
¶IRBuilderBase(llvm::LLVMContext& context,
llvm::MDNode* FPMathTag = nullptr,
ArrayRef<llvm::OperandBundleDef>
OpBundles = <null expr>)
IRBuilderBase(llvm::LLVMContext& context,
llvm::MDNode* FPMathTag = nullptr,
ArrayRef<llvm::OperandBundleDef>
OpBundles = <null expr>)
Declared at: llvm/include/llvm/IR/IRBuilder.h:106
Parameters
- llvm::LLVMContext& context
- llvm::MDNode* FPMathTag = nullptr
- ArrayRef<llvm::OperandBundleDef> OpBundles = <null expr>
¶void SetCurrentDebugLocation(llvm::DebugLoc L)
void SetCurrentDebugLocation(llvm::DebugLoc L)
Description
Set location information used by debugging information.
Declared at: llvm/include/llvm/IR/IRBuilder.h:156
Parameters
¶void SetInsertPoint(llvm::BasicBlock* TheBB,
int IP)
void SetInsertPoint(llvm::BasicBlock* TheBB,
int IP)
Declared at: llvm/include/llvm/IR/IRBuilder.h:148
Parameters
- llvm::BasicBlock* TheBB
- int IP
¶void SetInsertPoint(llvm::Instruction* I)
void SetInsertPoint(llvm::Instruction* I)
Description
This specifies that created instructions should be inserted before the specified instruction.
Declared at: llvm/include/llvm/IR/IRBuilder.h:139
Parameters
¶void SetInsertPoint(llvm::BasicBlock* TheBB)
void SetInsertPoint(llvm::BasicBlock* TheBB)
Description
This specifies that created instructions should be appended to the end of the specified block.
Declared at: llvm/include/llvm/IR/IRBuilder.h:132
Parameters
- llvm::BasicBlock* TheBB
¶void SetInstDebugLocation(
llvm::Instruction* I) const
void SetInstDebugLocation(
llvm::Instruction* I) const
Description
If this builder has a current debug location, set it on the specified instruction.
Declared at: llvm/include/llvm/IR/IRBuilder.h:163
Parameters
¶void clearFastMathFlags()
void clearFastMathFlags()
Description
Clear the fast-math flags.
Declared at: llvm/include/llvm/IR/IRBuilder.h:219
¶llvm::LLVMContext& getContext() const
llvm::LLVMContext& getContext() const
Declared at: llvm/include/llvm/IR/IRBuilder.h:128
¶const llvm::DebugLoc& getCurrentDebugLocation()
const
const llvm::DebugLoc& getCurrentDebugLocation()
const
Description
Get location information used by debugging information.
Declared at: llvm/include/llvm/IR/IRBuilder.h:159
¶llvm::Type* getCurrentFunctionReturnType() const
llvm::Type* getCurrentFunctionReturnType() const
Description
Get the return type of the current function that we're emitting into.
Declared at: llvm/include/llvm/IR/IRBuilder.h:170
¶fp::ExceptionBehavior
getDefaultConstrainedExcept()
fp::ExceptionBehavior
getDefaultConstrainedExcept()
Description
Get the exception handling used with constrained floating point
Declared at: llvm/include/llvm/IR/IRBuilder.h:247
¶fp::RoundingMode getDefaultConstrainedRounding()
fp::RoundingMode getDefaultConstrainedRounding()
Description
Get the rounding mode handling used with constrained floating point
Declared at: llvm/include/llvm/IR/IRBuilder.h:252
¶llvm::MDNode* getDefaultFPMathTag() const
llvm::MDNode* getDefaultFPMathTag() const
Description
Get the floating point math metadata being used.
Declared at: llvm/include/llvm/IR/IRBuilder.h:213
¶llvm::Type* getDoubleTy()
llvm::Type* getDoubleTy()
Description
Fetch the type representing a 64-bit floating point value.
Declared at: llvm/include/llvm/IR/IRBuilder.h:423
¶llvm::ConstantInt* getFalse()
llvm::ConstantInt* getFalse()
Description
Get the constant value for i1 false.
Declared at: llvm/include/llvm/IR/IRBuilder.h:340
¶llvm::FastMathFlags getFastMathFlags() const
llvm::FastMathFlags getFastMathFlags() const
Description
Get the flags to be applied to created floating point ops
Declared at: llvm/include/llvm/IR/IRBuilder.h:216
¶llvm::Type* getFloatTy()
llvm::Type* getFloatTy()
Description
Fetch the type representing a 32-bit floating point value.
Declared at: llvm/include/llvm/IR/IRBuilder.h:418
¶llvm::Type* getHalfTy()
llvm::Type* getHalfTy()
Description
Fetch the type representing a 16-bit floating point value.
Declared at: llvm/include/llvm/IR/IRBuilder.h:413
¶llvm::ConstantInt* getInt(const llvm::APInt& AI)
llvm::ConstantInt* getInt(const llvm::APInt& AI)
Description
Get a constant integer value.
Declared at: llvm/include/llvm/IR/IRBuilder.h:371
Parameters
- const llvm::APInt& AI
¶llvm::ConstantInt* getInt1(bool V)
llvm::ConstantInt* getInt1(bool V)
Description
Get a constant value representing either true or false.
Declared at: llvm/include/llvm/IR/IRBuilder.h:330
Parameters
- bool V
¶llvm::IntegerType* getInt128Ty()
llvm::IntegerType* getInt128Ty()
Description
Fetch the type representing a 128-bit integer.
Declared at: llvm/include/llvm/IR/IRBuilder.h:405
¶llvm::ConstantInt* getInt16(uint16_t C)
llvm::ConstantInt* getInt16(uint16_t C)
Description
Get a constant 16-bit value.
Declared at: llvm/include/llvm/IR/IRBuilder.h:350
Parameters
- uint16_t C
¶llvm::IntegerType* getInt16Ty()
llvm::IntegerType* getInt16Ty()
Description
Fetch the type representing a 16-bit integer.
Declared at: llvm/include/llvm/IR/IRBuilder.h:390
¶llvm::IntegerType* getInt1Ty()
llvm::IntegerType* getInt1Ty()
Description
Fetch the type representing a single bit
Declared at: llvm/include/llvm/IR/IRBuilder.h:380
¶llvm::ConstantInt* getInt32(uint32_t C)
llvm::ConstantInt* getInt32(uint32_t C)
Description
Get a constant 32-bit value.
Declared at: llvm/include/llvm/IR/IRBuilder.h:355
Parameters
- uint32_t C
¶llvm::IntegerType* getInt32Ty()
llvm::IntegerType* getInt32Ty()
Description
Fetch the type representing a 32-bit integer.
Declared at: llvm/include/llvm/IR/IRBuilder.h:395
¶llvm::ConstantInt* getInt64(uint64_t C)
llvm::ConstantInt* getInt64(uint64_t C)
Description
Get a constant 64-bit value.
Declared at: llvm/include/llvm/IR/IRBuilder.h:360
Parameters
- uint64_t C
¶llvm::IntegerType* getInt64Ty()
llvm::IntegerType* getInt64Ty()
Description
Fetch the type representing a 64-bit integer.
Declared at: llvm/include/llvm/IR/IRBuilder.h:400
¶llvm::ConstantInt* getInt8(uint8_t C)
llvm::ConstantInt* getInt8(uint8_t C)
Description
Get a constant 8-bit value.
Declared at: llvm/include/llvm/IR/IRBuilder.h:345
Parameters
- uint8_t C
¶llvm::PointerType* getInt8PtrTy(
unsigned int AddrSpace = 0)
llvm::PointerType* getInt8PtrTy(
unsigned int AddrSpace = 0)
Description
Fetch the type representing a pointer to an 8-bit integer value.
Declared at: llvm/include/llvm/IR/IRBuilder.h:433
Parameters
- unsigned int AddrSpace = 0
¶llvm::IntegerType* getInt8Ty()
llvm::IntegerType* getInt8Ty()
Description
Fetch the type representing an 8-bit integer.
Declared at: llvm/include/llvm/IR/IRBuilder.h:385
¶llvm::ConstantInt* getIntN(unsigned int N,
uint64_t C)
llvm::ConstantInt* getIntN(unsigned int N,
uint64_t C)
Description
Get a constant N-bit value, zero extended or truncated from a 64-bit value.
Declared at: llvm/include/llvm/IR/IRBuilder.h:366
Parameters
- unsigned int N
- uint64_t C
¶llvm::IntegerType* getIntNTy(unsigned int N)
llvm::IntegerType* getIntNTy(unsigned int N)
Description
Fetch the type representing an N-bit integer.
Declared at: llvm/include/llvm/IR/IRBuilder.h:408
Parameters
- unsigned int N
¶llvm::IntegerType* getIntPtrTy(
const llvm::DataLayout& DL,
unsigned int AddrSpace = 0)
llvm::IntegerType* getIntPtrTy(
const llvm::DataLayout& DL,
unsigned int AddrSpace = 0)
Description
Fetch the type representing a pointer to an integer value.
Declared at: llvm/include/llvm/IR/IRBuilder.h:438
Parameters
- const llvm::DataLayout& DL
- unsigned int AddrSpace = 0
¶bool getIsFPConstrained()
bool getIsFPConstrained()
Description
Query for the use of constrained floating point math
Declared at: llvm/include/llvm/IR/IRBuilder.h:234
¶llvm::ConstantInt* getTrue()
llvm::ConstantInt* getTrue()
Description
Get the constant value for i1 true.
Declared at: llvm/include/llvm/IR/IRBuilder.h:335
¶llvm::Type* getVoidTy()
llvm::Type* getVoidTy()
Description
Fetch the type representing void.
Declared at: llvm/include/llvm/IR/IRBuilder.h:428
¶void restoreIP(
llvm::IRBuilderBase::InsertPoint IP)
void restoreIP(
llvm::IRBuilderBase::InsertPoint IP)
Description
Sets the current insert point to a previously-saved location.
Declared at: llvm/include/llvm/IR/IRBuilder.h:205
Parameters
¶llvm::IRBuilderBase::InsertPoint saveAndClearIP()
llvm::IRBuilderBase::InsertPoint saveAndClearIP()
Description
Returns the current insert point, clearing it in the process.
Declared at: llvm/include/llvm/IR/IRBuilder.h:198
¶llvm::IRBuilderBase::InsertPoint saveIP() const
llvm::IRBuilderBase::InsertPoint saveIP() const
Description
Returns the current insert point.
Declared at: llvm/include/llvm/IR/IRBuilder.h:193
¶void setConstrainedFPCallAttr(llvm::CallInst* I)
void setConstrainedFPCallAttr(llvm::CallInst* I)
Declared at: llvm/include/llvm/IR/IRBuilder.h:265
Parameters
¶void setConstrainedFPFunctionAttr()
void setConstrainedFPFunctionAttr()
Declared at: llvm/include/llvm/IR/IRBuilder.h:256
¶void setDefaultConstrainedExcept(
fp::ExceptionBehavior NewExcept)
void setDefaultConstrainedExcept(
fp::ExceptionBehavior NewExcept)
Description
Set the exception handling to be used with constrained floating point
Declared at: llvm/include/llvm/IR/IRBuilder.h:237
Parameters
- fp::ExceptionBehavior NewExcept
¶void setDefaultConstrainedRounding(
fp::RoundingMode NewRounding)
void setDefaultConstrainedRounding(
fp::RoundingMode NewRounding)
Description
Set the rounding mode handling to be used with constrained floating point
Declared at: llvm/include/llvm/IR/IRBuilder.h:242
Parameters
- fp::RoundingMode NewRounding
¶void setDefaultFPMathTag(llvm::MDNode* FPMathTag)
void setDefaultFPMathTag(llvm::MDNode* FPMathTag)
Description
Set the floating point math metadata to be used.
Declared at: llvm/include/llvm/IR/IRBuilder.h:222
Parameters
- llvm::MDNode* FPMathTag
¶void setFastMathFlags(llvm::FastMathFlags NewFMF)
void setFastMathFlags(llvm::FastMathFlags NewFMF)
Description
Set the fast-math flags to be used with generated fp-math operators
Declared at: llvm/include/llvm/IR/IRBuilder.h:225
Parameters
- llvm::FastMathFlags NewFMF
¶void setIsFPConstrained(bool IsCon)
void setIsFPConstrained(bool IsCon)
Description
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.
Declared at: llvm/include/llvm/IR/IRBuilder.h:231
Parameters
- bool IsCon