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()

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)

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)

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)

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 = "")

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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 = "")

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 = "")

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 = "")

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 = "")

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 = "")

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 = "")

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 = "")

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 = "")

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)

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)

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)

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 = "")

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)

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)

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)

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 = "")

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 = "")

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)

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)

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 = "")

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 = "")

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)

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)

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)

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)

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)

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)

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 = "")

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 = "")

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)

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)

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 = "")

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)

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

Declared at: llvm/include/llvm/IR/IRBuilder.h:126

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>)

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)

Description

Set location information used by debugging information.

Declared at: llvm/include/llvm/IR/IRBuilder.h:156

Parameters

llvm::DebugLoc L

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)

Description

This specifies that created instructions should be inserted before the specified instruction.

Declared at: llvm/include/llvm/IR/IRBuilder.h:139

Parameters

llvm::Instruction* I

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

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

llvm::Instruction* I

void clearFastMathFlags()

Description

Clear the fast-math flags.

Declared at: llvm/include/llvm/IR/IRBuilder.h:219

llvm::LLVMContext& getContext() const

Declared at: llvm/include/llvm/IR/IRBuilder.h:128

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

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()

Description

Get the exception handling used with constrained floating point

Declared at: llvm/include/llvm/IR/IRBuilder.h:247

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

Description

Get the floating point math metadata being used.

Declared at: llvm/include/llvm/IR/IRBuilder.h:213

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()

Description

Get the constant value for i1 false.

Declared at: llvm/include/llvm/IR/IRBuilder.h:340

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()

Description

Fetch the type representing a 32-bit floating point value.

Declared at: llvm/include/llvm/IR/IRBuilder.h:418

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)

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)

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()

Description

Fetch the type representing a 128-bit integer.

Declared at: llvm/include/llvm/IR/IRBuilder.h:405

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()

Description

Fetch the type representing a 16-bit integer.

Declared at: llvm/include/llvm/IR/IRBuilder.h:390

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)

Description

Get a constant 32-bit value.

Declared at: llvm/include/llvm/IR/IRBuilder.h:355

Parameters

uint32_t C

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)

Description

Get a constant 64-bit value.

Declared at: llvm/include/llvm/IR/IRBuilder.h:360

Parameters

uint64_t C

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)

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)

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()

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)

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)

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)

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()

Description

Query for the use of constrained floating point math

Declared at: llvm/include/llvm/IR/IRBuilder.h:234

llvm::ConstantInt* getTrue()

Description

Get the constant value for i1 true.

Declared at: llvm/include/llvm/IR/IRBuilder.h:335

llvm::Type* getVoidTy()

Description

Fetch the type representing void.

Declared at: llvm/include/llvm/IR/IRBuilder.h:428

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 IP

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

Description

Returns the current insert point.

Declared at: llvm/include/llvm/IR/IRBuilder.h:193

void setConstrainedFPCallAttr(llvm::CallInst* I)

Declared at: llvm/include/llvm/IR/IRBuilder.h:265

Parameters

llvm::CallInst* I

void setConstrainedFPFunctionAttr()

Declared at: llvm/include/llvm/IR/IRBuilder.h:256

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)

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)

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)

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)

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