class IRBuilder

Declaration

template <typename T = llvm::ConstantFolder,
          typename Inserter = llvm::IRBuilderDefaultInserter>
class IRBuilder : public IRBuilderBase { /* full declaration omitted */ };

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

Inherits from: IRBuilderBase

Templates

T = llvm::ConstantFolder
Inserter = llvm::IRBuilderDefaultInserter

Member Variables

Inherited from IRBuilderBase:

protected BB
protected InsertPt
protected Context
protected DefaultFPMathTag
protected FMF
protected IsFPConstrained
protected DefaultConstrainedExcept
protected DefaultConstrainedRounding
protected DefaultOperandBundles

Method Overview

  • public llvm::Value * CreateAShr(llvm::Value * LHS, llvm::Value * RHS, const llvm::Twine & Name = "", bool isExact = false)
  • public llvm::Value * CreateAShr(llvm::Value * LHS, const llvm::APInt & RHS, const llvm::Twine & Name = "", bool isExact = false)
  • public llvm::Value * CreateAShr(llvm::Value * LHS, uint64_t RHS, const llvm::Twine & Name = "", bool isExact = false)
  • public llvm::Value * CreateAdd(llvm::Value * LHS, llvm::Value * RHS, const llvm::Twine & Name = "", bool HasNUW = false, bool HasNSW = false)
  • public llvm::Value * CreateAddrSpaceCast(llvm::Value * V, llvm::Type * DestTy, const llvm::Twine & Name = "")
  • public llvm::ReturnInst * CreateAggregateRet(llvm::Value *const * retVals, unsigned int N)
  • public llvm::LoadInst * CreateAlignedLoad(llvm::Value * Ptr, llvm::MaybeAlign Align, const llvm::Twine & Name = "")
  • public llvm::LoadInst * CreateAlignedLoad(llvm::Value * Ptr, llvm::MaybeAlign Align, const char * Name)
  • public llvm::LoadInst * CreateAlignedLoad(llvm::Value * Ptr, unsigned int Align, bool isVolatile, const llvm::Twine & Name = "")
  • public llvm::LoadInst * CreateAlignedLoad(llvm::Value * Ptr, unsigned int Align, const llvm::Twine & Name = "")
  • public llvm::LoadInst * CreateAlignedLoad(llvm::Value * Ptr, unsigned int Align, const char * Name)
  • public llvm::LoadInst * CreateAlignedLoad(llvm::Type * Ty, llvm::Value * Ptr, llvm::MaybeAlign Align, bool isVolatile, const llvm::Twine & Name = "")
  • public llvm::LoadInst * CreateAlignedLoad(llvm::Type * Ty, llvm::Value * Ptr, unsigned int Align, bool isVolatile, const llvm::Twine & Name = "")
  • public llvm::LoadInst * CreateAlignedLoad(llvm::Type * Ty, llvm::Value * Ptr, llvm::MaybeAlign Align, const llvm::Twine & Name = "")
  • public llvm::LoadInst * CreateAlignedLoad(llvm::Type * Ty, llvm::Value * Ptr, unsigned int Align, const llvm::Twine & Name = "")
  • public llvm::LoadInst * CreateAlignedLoad(llvm::Type * Ty, llvm::Value * Ptr, llvm::MaybeAlign Align, const char * Name)
  • public llvm::LoadInst * CreateAlignedLoad(llvm::Type * Ty, llvm::Value * Ptr, unsigned int Align, const char * Name)
  • public llvm::LoadInst * CreateAlignedLoad(llvm::Value * Ptr, llvm::MaybeAlign Align, bool isVolatile, const llvm::Twine & Name = "")
  • public llvm::StoreInst * CreateAlignedStore(llvm::Value * Val, llvm::Value * Ptr, unsigned int Align, bool isVolatile = false)
  • public llvm::StoreInst * CreateAlignedStore(llvm::Value * Val, llvm::Value * Ptr, llvm::MaybeAlign Align, bool isVolatile = false)
  • public llvm::CallInst * CreateAlignmentAssumption(const llvm::DataLayout & DL, llvm::Value * PtrValue, llvm::Value * Alignment, llvm::Value * OffsetValue = nullptr, llvm::Value ** TheCheck = nullptr)
  • public llvm::CallInst * CreateAlignmentAssumption(const llvm::DataLayout & DL, llvm::Value * PtrValue, unsigned int Alignment, llvm::Value * OffsetValue = nullptr, llvm::Value ** TheCheck = nullptr)
  • public llvm::AllocaInst * CreateAlloca(llvm::Type * Ty, unsigned int AddrSpace, llvm::Value * ArraySize = nullptr, const llvm::Twine & Name = "")
  • public llvm::AllocaInst * CreateAlloca(llvm::Type * Ty, llvm::Value * ArraySize = nullptr, const llvm::Twine & Name = "")
  • public llvm::Value * CreateAnd(ArrayRef<llvm::Value *> Ops)
  • public llvm::Value * CreateAnd(llvm::Value * LHS, uint64_t RHS, const llvm::Twine & Name = "")
  • public llvm::Value * CreateAnd(llvm::Value * LHS, const llvm::APInt & RHS, const llvm::Twine & Name = "")
  • public llvm::Value * CreateAnd(llvm::Value * LHS, llvm::Value * RHS, const llvm::Twine & Name = "")
  • public llvm::AtomicCmpXchgInst * CreateAtomicCmpXchg(llvm::Value * Ptr, llvm::Value * Cmp, llvm::Value * New, llvm::AtomicOrdering SuccessOrdering, llvm::AtomicOrdering FailureOrdering, SyncScope::ID SSID = SyncScope::System)
  • public llvm::AtomicRMWInst * CreateAtomicRMW(AtomicRMWInst::BinOp Op, llvm::Value * Ptr, llvm::Value * Val, llvm::AtomicOrdering Ordering, SyncScope::ID SSID = SyncScope::System)
  • public llvm::Value * CreateBinOp(Instruction::BinaryOps Opc, llvm::Value * LHS, llvm::Value * RHS, const llvm::Twine & Name = "", llvm::MDNode * FPMathTag = nullptr)
  • public llvm::Value * CreateBitCast(llvm::Value * V, llvm::Type * DestTy, const llvm::Twine & Name = "")
  • public llvm::Value * CreateBitOrPointerCast(llvm::Value * V, llvm::Type * DestTy, const llvm::Twine & Name = "")
  • public llvm::BranchInst * CreateBr(llvm::BasicBlock * Dest)
  • public llvm::CallInst * CreateCall(llvm::Value * Callee, ArrayRef<llvm::Value *> Args, ArrayRef<llvm::OperandBundleDef> OpBundles, const llvm::Twine & Name = "", llvm::MDNode * FPMathTag = nullptr)
  • public llvm::CallInst * CreateCall(llvm::Value * Callee, ArrayRef<llvm::Value *> Args = <null expr>, const llvm::Twine & Name = "", llvm::MDNode * FPMathTag = nullptr)
  • public llvm::CallInst * CreateCall(llvm::FunctionCallee Callee, ArrayRef<llvm::Value *> Args, ArrayRef<llvm::OperandBundleDef> OpBundles, const llvm::Twine & Name = "", llvm::MDNode * FPMathTag = nullptr)
  • public llvm::CallInst * CreateCall(llvm::FunctionCallee Callee, ArrayRef<llvm::Value *> Args = <null expr>, const llvm::Twine & Name = "", llvm::MDNode * FPMathTag = nullptr)
  • public llvm::CallInst * CreateCall(llvm::FunctionType * FTy, llvm::Value * Callee, ArrayRef<llvm::Value *> Args, ArrayRef<llvm::OperandBundleDef> OpBundles, const llvm::Twine & Name = "", llvm::MDNode * FPMathTag = nullptr)
  • public llvm::CallInst * CreateCall(llvm::FunctionType * FTy, llvm::Value * Callee, ArrayRef<llvm::Value *> Args = <null expr>, const llvm::Twine & Name = "", llvm::MDNode * FPMathTag = nullptr)
  • public llvm::CallBrInst * CreateCallBr(llvm::FunctionType * Ty, llvm::Value * Callee, llvm::BasicBlock * DefaultDest, ArrayRef<llvm::BasicBlock *> IndirectDests, ArrayRef<llvm::Value *> Args = <null expr>, const llvm::Twine & Name = "")
  • public llvm::CallBrInst * CreateCallBr(llvm::FunctionType * Ty, llvm::Value * Callee, llvm::BasicBlock * DefaultDest, ArrayRef<llvm::BasicBlock *> IndirectDests, ArrayRef<llvm::Value *> Args, ArrayRef<llvm::OperandBundleDef> OpBundles, const llvm::Twine & Name = "")
  • public llvm::CallBrInst * CreateCallBr(llvm::FunctionCallee Callee, llvm::BasicBlock * DefaultDest, ArrayRef<llvm::BasicBlock *> IndirectDests, ArrayRef<llvm::Value *> Args = <null expr>, const llvm::Twine & Name = "")
  • public llvm::CallBrInst * CreateCallBr(llvm::FunctionCallee Callee, llvm::BasicBlock * DefaultDest, ArrayRef<llvm::BasicBlock *> IndirectDests, ArrayRef<llvm::Value *> Args, ArrayRef<llvm::OperandBundleDef> OpBundles, const llvm::Twine & Name = "")
  • public llvm::Value * CreateCast(Instruction::CastOps Op, llvm::Value * V, llvm::Type * DestTy, const llvm::Twine & Name = "")
  • public llvm::CatchPadInst * CreateCatchPad(llvm::Value * ParentPad, ArrayRef<llvm::Value *> Args, const llvm::Twine & Name = "")
  • public llvm::CatchReturnInst * CreateCatchRet(llvm::CatchPadInst * CatchPad, llvm::BasicBlock * BB)
  • public llvm::CatchSwitchInst * CreateCatchSwitch(llvm::Value * ParentPad, llvm::BasicBlock * UnwindBB, unsigned int NumHandlers, const llvm::Twine & Name = "")
  • public llvm::CleanupPadInst * CreateCleanupPad(llvm::Value * ParentPad, ArrayRef<llvm::Value *> Args = <null expr>, const llvm::Twine & Name = "")
  • public llvm::CleanupReturnInst * CreateCleanupRet(llvm::CleanupPadInst * CleanupPad, llvm::BasicBlock * UnwindBB = nullptr)
  • public llvm::BranchInst * CreateCondBr(llvm::Value * Cond, llvm::BasicBlock * True, llvm::BasicBlock * False, llvm::MDNode * BranchWeights = nullptr, llvm::MDNode * Unpredictable = nullptr)
  • public llvm::BranchInst * CreateCondBr(llvm::Value * Cond, llvm::BasicBlock * True, llvm::BasicBlock * False, llvm::Instruction * MDSrc)
  • public llvm::Value * CreateConstGEP1_32(llvm::Value * Ptr, unsigned int Idx0, const llvm::Twine & Name = "")
  • public llvm::Value * CreateConstGEP1_32(llvm::Type * Ty, llvm::Value * Ptr, unsigned int Idx0, const llvm::Twine & Name = "")
  • public llvm::Value * CreateConstGEP1_64(llvm::Value * Ptr, uint64_t Idx0, const llvm::Twine & Name = "")
  • public llvm::Value * CreateConstGEP1_64(llvm::Type * Ty, llvm::Value * Ptr, uint64_t Idx0, const llvm::Twine & Name = "")
  • public llvm::Value * CreateConstGEP2_32(llvm::Type * Ty, llvm::Value * Ptr, unsigned int Idx0, unsigned int Idx1, const llvm::Twine & Name = "")
  • public llvm::Value * CreateConstGEP2_64(llvm::Type * Ty, llvm::Value * Ptr, uint64_t Idx0, uint64_t Idx1, const llvm::Twine & Name = "")
  • public llvm::Value * CreateConstGEP2_64(llvm::Value * Ptr, uint64_t Idx0, uint64_t Idx1, const llvm::Twine & Name = "")
  • public llvm::Value * CreateConstInBoundsGEP1_32(llvm::Type * Ty, llvm::Value * Ptr, unsigned int Idx0, const llvm::Twine & Name = "")
  • public llvm::Value * CreateConstInBoundsGEP1_64(llvm::Type * Ty, llvm::Value * Ptr, uint64_t Idx0, const llvm::Twine & Name = "")
  • public llvm::Value * CreateConstInBoundsGEP1_64(llvm::Value * Ptr, uint64_t Idx0, const llvm::Twine & Name = "")
  • public llvm::Value * CreateConstInBoundsGEP2_32(llvm::Type * Ty, llvm::Value * Ptr, unsigned int Idx0, unsigned int Idx1, const llvm::Twine & Name = "")
  • public llvm::Value * CreateConstInBoundsGEP2_64(llvm::Type * Ty, llvm::Value * Ptr, uint64_t Idx0, uint64_t Idx1, const llvm::Twine & Name = "")
  • public llvm::Value * CreateConstInBoundsGEP2_64(llvm::Value * Ptr, uint64_t Idx0, uint64_t Idx1, const llvm::Twine & Name = "")
  • public llvm::CallInst * CreateConstrainedFPBinOp(Intrinsic::ID ID, llvm::Value * L, llvm::Value * R, llvm::Instruction * FMFSource = nullptr, const llvm::Twine & Name = "", llvm::MDNode * FPMathTag = nullptr, Optional<fp::RoundingMode> Rounding = <null expr>, Optional<fp::ExceptionBehavior> Except = <null expr>)
  • public llvm::CallInst * CreateConstrainedFPCall(llvm::Function * Callee, ArrayRef<llvm::Value *> Args, const llvm::Twine & Name = "", Optional<fp::RoundingMode> Rounding = <null expr>, Optional<fp::ExceptionBehavior> Except = <null expr>)
  • public llvm::CallInst * CreateConstrainedFPCast(Intrinsic::ID ID, llvm::Value * V, llvm::Type * DestTy, llvm::Instruction * FMFSource = nullptr, const llvm::Twine & Name = "", llvm::MDNode * FPMathTag = nullptr, Optional<fp::RoundingMode> Rounding = <null expr>, Optional<fp::ExceptionBehavior> Except = <null expr>)
  • public llvm::CallInst * CreateConstrainedFPCmp(Intrinsic::ID ID, CmpInst::Predicate P, llvm::Value * L, llvm::Value * R, const llvm::Twine & Name = "", Optional<fp::ExceptionBehavior> Except = <null expr>)
  • public llvm::Value * CreateExactSDiv(llvm::Value * LHS, llvm::Value * RHS, const llvm::Twine & Name = "")
  • public llvm::Value * CreateExactUDiv(llvm::Value * LHS, llvm::Value * RHS, const llvm::Twine & Name = "")
  • public llvm::Value * CreateExtractElement(llvm::Value * Vec, uint64_t Idx, const llvm::Twine & Name = "")
  • public llvm::Value * CreateExtractElement(llvm::Value * Vec, llvm::Value * Idx, const llvm::Twine & Name = "")
  • public llvm::Value * CreateExtractInteger(const llvm::DataLayout & DL, llvm::Value * From, llvm::IntegerType * ExtractedTy, uint64_t Offset, const llvm::Twine & Name)
  • public llvm::Value * CreateExtractValue(llvm::Value * Agg, ArrayRef<unsigned int> Idxs, const llvm::Twine & Name = "")
  • public llvm::Value * CreateFAdd(llvm::Value * L, llvm::Value * R, const llvm::Twine & Name = "", llvm::MDNode * FPMD = nullptr)
  • public llvm::Value * CreateFAddFMF(llvm::Value * L, llvm::Value * R, llvm::Instruction * FMFSource, const llvm::Twine & Name = "")
  • public llvm::Value * CreateFCmp(CmpInst::Predicate P, llvm::Value * LHS, llvm::Value * RHS, const llvm::Twine & Name = "", llvm::MDNode * FPMathTag = nullptr)
  • public llvm::Value * CreateFCmpOEQ(llvm::Value * LHS, llvm::Value * RHS, const llvm::Twine & Name = "", llvm::MDNode * FPMathTag = nullptr)
  • public llvm::Value * CreateFCmpOGE(llvm::Value * LHS, llvm::Value * RHS, const llvm::Twine & Name = "", llvm::MDNode * FPMathTag = nullptr)
  • public llvm::Value * CreateFCmpOGT(llvm::Value * LHS, llvm::Value * RHS, const llvm::Twine & Name = "", llvm::MDNode * FPMathTag = nullptr)
  • public llvm::Value * CreateFCmpOLE(llvm::Value * LHS, llvm::Value * RHS, const llvm::Twine & Name = "", llvm::MDNode * FPMathTag = nullptr)
  • public llvm::Value * CreateFCmpOLT(llvm::Value * LHS, llvm::Value * RHS, const llvm::Twine & Name = "", llvm::MDNode * FPMathTag = nullptr)
  • public llvm::Value * CreateFCmpONE(llvm::Value * LHS, llvm::Value * RHS, const llvm::Twine & Name = "", llvm::MDNode * FPMathTag = nullptr)
  • public llvm::Value * CreateFCmpORD(llvm::Value * LHS, llvm::Value * RHS, const llvm::Twine & Name = "", llvm::MDNode * FPMathTag = nullptr)
  • public llvm::Value * CreateFCmpS(CmpInst::Predicate P, llvm::Value * LHS, llvm::Value * RHS, const llvm::Twine & Name = "", llvm::MDNode * FPMathTag = nullptr)
  • public llvm::Value * CreateFCmpUEQ(llvm::Value * LHS, llvm::Value * RHS, const llvm::Twine & Name = "", llvm::MDNode * FPMathTag = nullptr)
  • public llvm::Value * CreateFCmpUGE(llvm::Value * LHS, llvm::Value * RHS, const llvm::Twine & Name = "", llvm::MDNode * FPMathTag = nullptr)
  • public llvm::Value * CreateFCmpUGT(llvm::Value * LHS, llvm::Value * RHS, const llvm::Twine & Name = "", llvm::MDNode * FPMathTag = nullptr)
  • public llvm::Value * CreateFCmpULE(llvm::Value * LHS, llvm::Value * RHS, const llvm::Twine & Name = "", llvm::MDNode * FPMathTag = nullptr)
  • public llvm::Value * CreateFCmpULT(llvm::Value * LHS, llvm::Value * RHS, const llvm::Twine & Name = "", llvm::MDNode * FPMathTag = nullptr)
  • public llvm::Value * CreateFCmpUNE(llvm::Value * LHS, llvm::Value * RHS, const llvm::Twine & Name = "", llvm::MDNode * FPMathTag = nullptr)
  • public llvm::Value * CreateFCmpUNO(llvm::Value * LHS, llvm::Value * RHS, const llvm::Twine & Name = "", llvm::MDNode * FPMathTag = nullptr)
  • public llvm::Value * CreateFDiv(llvm::Value * L, llvm::Value * R, const llvm::Twine & Name = "", llvm::MDNode * FPMD = nullptr)
  • public llvm::Value * CreateFDivFMF(llvm::Value * L, llvm::Value * R, llvm::Instruction * FMFSource, const llvm::Twine & Name = "")
  • public llvm::Value * CreateFMul(llvm::Value * L, llvm::Value * R, const llvm::Twine & Name = "", llvm::MDNode * FPMD = nullptr)
  • public llvm::Value * CreateFMulFMF(llvm::Value * L, llvm::Value * R, llvm::Instruction * FMFSource, const llvm::Twine & Name = "")
  • public llvm::Value * CreateFNeg(llvm::Value * V, const llvm::Twine & Name = "", llvm::MDNode * FPMathTag = nullptr)
  • public llvm::Value * CreateFNegFMF(llvm::Value * V, llvm::Instruction * FMFSource, const llvm::Twine & Name = "")
  • public llvm::Value * CreateFPCast(llvm::Value * V, llvm::Type * DestTy, const llvm::Twine & Name = "")
  • public llvm::Value * CreateFPExt(llvm::Value * V, llvm::Type * DestTy, const llvm::Twine & Name = "")
  • public llvm::Value * CreateFPToSI(llvm::Value * V, llvm::Type * DestTy, const llvm::Twine & Name = "")
  • public llvm::Value * CreateFPToUI(llvm::Value * V, llvm::Type * DestTy, const llvm::Twine & Name = "")
  • public llvm::Value * CreateFPTrunc(llvm::Value * V, llvm::Type * DestTy, const llvm::Twine & Name = "")
  • public llvm::Value * CreateFRem(llvm::Value * L, llvm::Value * R, const llvm::Twine & Name = "", llvm::MDNode * FPMD = nullptr)
  • public llvm::Value * CreateFRemFMF(llvm::Value * L, llvm::Value * R, llvm::Instruction * FMFSource, const llvm::Twine & Name = "")
  • public llvm::Value * CreateFSub(llvm::Value * L, llvm::Value * R, const llvm::Twine & Name = "", llvm::MDNode * FPMD = nullptr)
  • public llvm::Value * CreateFSubFMF(llvm::Value * L, llvm::Value * R, llvm::Instruction * FMFSource, const llvm::Twine & Name = "")
  • public llvm::FenceInst * CreateFence(llvm::AtomicOrdering Ordering, SyncScope::ID SSID = SyncScope::System, const llvm::Twine & Name = "")
  • public llvm::Value * CreateFreeze(llvm::Value * V, const llvm::Twine & Name = "")
  • public llvm::Value * CreateGEP(llvm::Value * Ptr, ArrayRef<llvm::Value *> IdxList, const llvm::Twine & Name = "")
  • public llvm::Value * CreateGEP(llvm::Type * Ty, llvm::Value * Ptr, ArrayRef<llvm::Value *> IdxList, const llvm::Twine & Name = "")
  • public llvm::Value * CreateGEP(llvm::Value * Ptr, llvm::Value * Idx, const llvm::Twine & Name = "")
  • public llvm::Value * CreateGEP(llvm::Type * Ty, llvm::Value * Ptr, llvm::Value * Idx, const llvm::Twine & Name = "")
  • public llvm::Constant * CreateGlobalStringPtr(llvm::StringRef Str, const llvm::Twine & Name = "", unsigned int AddressSpace = 0)
  • public llvm::Value * CreateICmp(CmpInst::Predicate P, llvm::Value * LHS, llvm::Value * RHS, const llvm::Twine & Name = "")
  • public llvm::Value * CreateICmpEQ(llvm::Value * LHS, llvm::Value * RHS, const llvm::Twine & Name = "")
  • public llvm::Value * CreateICmpNE(llvm::Value * LHS, llvm::Value * RHS, const llvm::Twine & Name = "")
  • public llvm::Value * CreateICmpSGE(llvm::Value * LHS, llvm::Value * RHS, const llvm::Twine & Name = "")
  • public llvm::Value * CreateICmpSGT(llvm::Value * LHS, llvm::Value * RHS, const llvm::Twine & Name = "")
  • public llvm::Value * CreateICmpSLE(llvm::Value * LHS, llvm::Value * RHS, const llvm::Twine & Name = "")
  • public llvm::Value * CreateICmpSLT(llvm::Value * LHS, llvm::Value * RHS, const llvm::Twine & Name = "")
  • public llvm::Value * CreateICmpUGE(llvm::Value * LHS, llvm::Value * RHS, const llvm::Twine & Name = "")
  • public llvm::Value * CreateICmpUGT(llvm::Value * LHS, llvm::Value * RHS, const llvm::Twine & Name = "")
  • public llvm::Value * CreateICmpULE(llvm::Value * LHS, llvm::Value * RHS, const llvm::Twine & Name = "")
  • public llvm::Value * CreateICmpULT(llvm::Value * LHS, llvm::Value * RHS, const llvm::Twine & Name = "")
  • public llvm::Value * CreateInBoundsGEP(llvm::Type * Ty, llvm::Value * Ptr, llvm::Value * Idx, const llvm::Twine & Name = "")
  • public llvm::Value * CreateInBoundsGEP(llvm::Type * Ty, llvm::Value * Ptr, ArrayRef<llvm::Value *> IdxList, const llvm::Twine & Name = "")
  • public llvm::Value * CreateInBoundsGEP(llvm::Value * Ptr, ArrayRef<llvm::Value *> IdxList, const llvm::Twine & Name = "")
  • public llvm::IndirectBrInst * CreateIndirectBr(llvm::Value * Addr, unsigned int NumDests = 10)
  • public llvm::Value * CreateInsertElement(llvm::Value * Vec, llvm::Value * NewElt, llvm::Value * Idx, const llvm::Twine & Name = "")
  • public llvm::Value * CreateInsertElement(llvm::Value * Vec, llvm::Value * NewElt, uint64_t Idx, const llvm::Twine & Name = "")
  • public llvm::Value * CreateInsertValue(llvm::Value * Agg, llvm::Value * Val, ArrayRef<unsigned int> Idxs, const llvm::Twine & Name = "")
  • public llvm::Value * CreateIntCast(llvm::Value *, llvm::Type *, const char *)
  • public llvm::Value * CreateIntCast(llvm::Value * V, llvm::Type * DestTy, bool isSigned, const llvm::Twine & Name = "")
  • public llvm::Value * CreateIntToPtr(llvm::Value * V, llvm::Type * DestTy, const llvm::Twine & Name = "")
  • public llvm::InvokeInst * CreateInvoke(llvm::Value * Callee, llvm::BasicBlock * NormalDest, llvm::BasicBlock * UnwindDest, ArrayRef<llvm::Value *> Args = <null expr>, const llvm::Twine & Name = "")
  • public llvm::InvokeInst * CreateInvoke(llvm::Value * Callee, llvm::BasicBlock * NormalDest, llvm::BasicBlock * UnwindDest, ArrayRef<llvm::Value *> Args, ArrayRef<llvm::OperandBundleDef> OpBundles, const llvm::Twine & Name = "")
  • public llvm::InvokeInst * CreateInvoke(llvm::FunctionCallee Callee, llvm::BasicBlock * NormalDest, llvm::BasicBlock * UnwindDest, ArrayRef<llvm::Value *> Args = <null expr>, const llvm::Twine & Name = "")
  • public llvm::InvokeInst * CreateInvoke(llvm::FunctionCallee Callee, llvm::BasicBlock * NormalDest, llvm::BasicBlock * UnwindDest, ArrayRef<llvm::Value *> Args, ArrayRef<llvm::OperandBundleDef> OpBundles, const llvm::Twine & Name = "")
  • public llvm::InvokeInst * CreateInvoke(llvm::FunctionType * Ty, llvm::Value * Callee, llvm::BasicBlock * NormalDest, llvm::BasicBlock * UnwindDest, ArrayRef<llvm::Value *> Args = <null expr>, const llvm::Twine & Name = "")
  • public llvm::InvokeInst * CreateInvoke(llvm::FunctionType * Ty, llvm::Value * Callee, llvm::BasicBlock * NormalDest, llvm::BasicBlock * UnwindDest, ArrayRef<llvm::Value *> Args, ArrayRef<llvm::OperandBundleDef> OpBundles, const llvm::Twine & Name = "")
  • public llvm::Value * CreateIsNotNull(llvm::Value * Arg, const llvm::Twine & Name = "")
  • public llvm::Value * CreateIsNull(llvm::Value * Arg, const llvm::Twine & Name = "")
  • public llvm::Value * CreateLShr(llvm::Value * LHS, llvm::Value * RHS, const llvm::Twine & Name = "", bool isExact = false)
  • public llvm::Value * CreateLShr(llvm::Value * LHS, const llvm::APInt & RHS, const llvm::Twine & Name = "", bool isExact = false)
  • public llvm::Value * CreateLShr(llvm::Value * LHS, uint64_t RHS, const llvm::Twine & Name = "", bool isExact = false)
  • public llvm::LandingPadInst * CreateLandingPad(llvm::Type * Ty, unsigned int NumClauses, const llvm::Twine & Name = "")
  • public llvm::Value * CreateLaunderInvariantGroup(llvm::Value * Ptr)
  • public llvm::LoadInst * CreateLoad(llvm::Value * Ptr, const char * Name)
  • public llvm::LoadInst * CreateLoad(llvm::Type * Ty, llvm::Value * Ptr, bool isVolatile, const llvm::Twine & Name = "")
  • public llvm::LoadInst * CreateLoad(llvm::Type * Ty, llvm::Value * Ptr, const llvm::Twine & Name = "")
  • public llvm::LoadInst * CreateLoad(llvm::Value * Ptr, bool isVolatile, const llvm::Twine & Name = "")
  • public llvm::LoadInst * CreateLoad(llvm::Value * Ptr, const llvm::Twine & Name = "")
  • public llvm::LoadInst * CreateLoad(llvm::Type * Ty, llvm::Value * Ptr, const char * Name)
  • public llvm::Value * CreateMul(llvm::Value * LHS, llvm::Value * RHS, const llvm::Twine & Name = "", bool HasNUW = false, bool HasNSW = false)
  • public llvm::Value * CreateNAryOp(unsigned int Opc, ArrayRef<llvm::Value *> Ops, const llvm::Twine & Name = "", llvm::MDNode * FPMathTag = nullptr)
  • public llvm::Value * CreateNSWAdd(llvm::Value * LHS, llvm::Value * RHS, const llvm::Twine & Name = "")
  • public llvm::Value * CreateNSWMul(llvm::Value * LHS, llvm::Value * RHS, const llvm::Twine & Name = "")
  • public llvm::Value * CreateNSWNeg(llvm::Value * V, const llvm::Twine & Name = "")
  • public llvm::Value * CreateNSWSub(llvm::Value * LHS, llvm::Value * RHS, const llvm::Twine & Name = "")
  • public llvm::Value * CreateNUWAdd(llvm::Value * LHS, llvm::Value * RHS, const llvm::Twine & Name = "")
  • public llvm::Value * CreateNUWMul(llvm::Value * LHS, llvm::Value * RHS, const llvm::Twine & Name = "")
  • public llvm::Value * CreateNUWNeg(llvm::Value * V, const llvm::Twine & Name = "")
  • public llvm::Value * CreateNUWSub(llvm::Value * LHS, llvm::Value * RHS, const llvm::Twine & Name = "")
  • public llvm::Value * CreateNeg(llvm::Value * V, const llvm::Twine & Name = "", bool HasNUW = false, bool HasNSW = false)
  • public llvm::Value * CreateNot(llvm::Value * V, const llvm::Twine & Name = "")
  • public llvm::Value * CreateOr(ArrayRef<llvm::Value *> Ops)
  • public llvm::Value * CreateOr(llvm::Value * LHS, uint64_t RHS, const llvm::Twine & Name = "")
  • public llvm::Value * CreateOr(llvm::Value * LHS, const llvm::APInt & RHS, const llvm::Twine & Name = "")
  • public llvm::Value * CreateOr(llvm::Value * LHS, llvm::Value * RHS, const llvm::Twine & Name = "")
  • public llvm::PHINode * CreatePHI(llvm::Type * Ty, unsigned int NumReservedValues, const llvm::Twine & Name = "")
  • public llvm::Value * CreatePointerBitCastOrAddrSpaceCast(llvm::Value * V, llvm::Type * DestTy, const llvm::Twine & Name = "")
  • public llvm::Value * CreatePointerCast(llvm::Value * V, llvm::Type * DestTy, const llvm::Twine & Name = "")
  • public llvm::Value * CreatePreserveArrayAccessIndex(llvm::Type * ElTy, llvm::Value * Base, unsigned int Dimension, unsigned int LastIndex, llvm::MDNode * DbgInfo)
  • public llvm::Value * CreatePreserveStructAccessIndex(llvm::Type * ElTy, llvm::Value * Base, unsigned int Index, unsigned int FieldIndex, llvm::MDNode * DbgInfo)
  • public llvm::Value * CreatePreserveUnionAccessIndex(llvm::Value * Base, unsigned int FieldIndex, llvm::MDNode * DbgInfo)
  • public llvm::Value * CreatePtrDiff(llvm::Value * LHS, llvm::Value * RHS, const llvm::Twine & Name = "")
  • public llvm::Value * CreatePtrToInt(llvm::Value * V, llvm::Type * DestTy, const llvm::Twine & Name = "")
  • public llvm::ResumeInst * CreateResume(llvm::Value * Exn)
  • public llvm::ReturnInst * CreateRet(llvm::Value * V)
  • public llvm::ReturnInst * CreateRetVoid()
  • public llvm::Value * CreateSDiv(llvm::Value * LHS, llvm::Value * RHS, const llvm::Twine & Name = "", bool isExact = false)
  • public llvm::Value * CreateSExt(llvm::Value * V, llvm::Type * DestTy, const llvm::Twine & Name = "")
  • public llvm::Value * CreateSExtOrBitCast(llvm::Value * V, llvm::Type * DestTy, const llvm::Twine & Name = "")
  • public llvm::Value * CreateSExtOrTrunc(llvm::Value * V, llvm::Type * DestTy, const llvm::Twine & Name = "")
  • public llvm::Value * CreateSIToFP(llvm::Value * V, llvm::Type * DestTy, const llvm::Twine & Name = "")
  • public llvm::Value * CreateSRem(llvm::Value * LHS, llvm::Value * RHS, const llvm::Twine & Name = "")
  • public llvm::Value * CreateSelect(llvm::Value * C, llvm::Value * True, llvm::Value * False, const llvm::Twine & Name = "", llvm::Instruction * MDFrom = nullptr)
  • public llvm::Value * CreateShl(llvm::Value * LHS, uint64_t RHS, const llvm::Twine & Name = "", bool HasNUW = false, bool HasNSW = false)
  • public llvm::Value * CreateShl(llvm::Value * LHS, const llvm::APInt & RHS, const llvm::Twine & Name = "", bool HasNUW = false, bool HasNSW = false)
  • public llvm::Value * CreateShl(llvm::Value * LHS, llvm::Value * RHS, const llvm::Twine & Name = "", bool HasNUW = false, bool HasNSW = false)
  • public llvm::Value * CreateShuffleVector(llvm::Value * V1, llvm::Value * V2, ArrayRef<uint32_t> IntMask, const llvm::Twine & Name = "")
  • public llvm::Value * CreateShuffleVector(llvm::Value * V1, llvm::Value * V2, llvm::Value * Mask, const llvm::Twine & Name = "")
  • public llvm::StoreInst * CreateStore(llvm::Value * Val, llvm::Value * Ptr, bool isVolatile = false)
  • public llvm::Value * CreateStripInvariantGroup(llvm::Value * Ptr)
  • public llvm::Value * CreateStructGEP(llvm::Type * Ty, llvm::Value * Ptr, unsigned int Idx, const llvm::Twine & Name = "")
  • public llvm::Value * CreateStructGEP(llvm::Value * Ptr, unsigned int Idx, const llvm::Twine & Name = "")
  • public llvm::Value * CreateSub(llvm::Value * LHS, llvm::Value * RHS, const llvm::Twine & Name = "", bool HasNUW = false, bool HasNSW = false)
  • public llvm::SwitchInst * CreateSwitch(llvm::Value * V, llvm::BasicBlock * Dest, unsigned int NumCases = 10, llvm::MDNode * BranchWeights = nullptr, llvm::MDNode * Unpredictable = nullptr)
  • public llvm::Value * CreateTrunc(llvm::Value * V, llvm::Type * DestTy, const llvm::Twine & Name = "")
  • public llvm::Value * CreateTruncOrBitCast(llvm::Value * V, llvm::Type * DestTy, const llvm::Twine & Name = "")
  • public llvm::Value * CreateUDiv(llvm::Value * LHS, llvm::Value * RHS, const llvm::Twine & Name = "", bool isExact = false)
  • public llvm::Value * CreateUIToFP(llvm::Value * V, llvm::Type * DestTy, const llvm::Twine & Name = "")
  • public llvm::Value * CreateURem(llvm::Value * LHS, llvm::Value * RHS, const llvm::Twine & Name = "")
  • public llvm::Value * CreateUnOp(Instruction::UnaryOps Opc, llvm::Value * V, const llvm::Twine & Name = "", llvm::MDNode * FPMathTag = nullptr)
  • public llvm::UnreachableInst * CreateUnreachable()
  • public llvm::VAArgInst * CreateVAArg(llvm::Value * List, llvm::Type * Ty, const llvm::Twine & Name = "")
  • public llvm::Value * CreateVectorSplat(unsigned int NumElts, llvm::Value * V, const llvm::Twine & Name = "")
  • public llvm::Value * CreateXor(llvm::Value * LHS, llvm::Value * RHS, const llvm::Twine & Name = "")
  • public llvm::Value * CreateXor(llvm::Value * LHS, const llvm::APInt & RHS, const llvm::Twine & Name = "")
  • public llvm::Value * CreateXor(llvm::Value * LHS, uint64_t RHS, const llvm::Twine & Name = "")
  • public llvm::Value * CreateZExt(llvm::Value * V, llvm::Type * DestTy, const llvm::Twine & Name = "")
  • public llvm::Value * CreateZExtOrBitCast(llvm::Value * V, llvm::Type * DestTy, const llvm::Twine & Name = "")
  • public llvm::Value * CreateZExtOrTrunc(llvm::Value * V, llvm::Type * DestTy, const llvm::Twine & Name = "")
  • public IRBuilder<T, Inserter>(llvm::LLVMContext & C, llvm::MDNode * FPMathTag = nullptr, ArrayRef<llvm::OperandBundleDef> OpBundles = <null expr>)
  • public IRBuilder<T, Inserter>(llvm::BasicBlock * TheBB, int IP, llvm::MDNode * FPMathTag = nullptr, ArrayRef<llvm::OperandBundleDef> OpBundles = <null expr>)
  • public IRBuilder<T, Inserter>(llvm::BasicBlock * TheBB, int IP, const T & F, llvm::MDNode * FPMathTag = nullptr, ArrayRef<llvm::OperandBundleDef> OpBundles = <null expr>)
  • public IRBuilder<T, Inserter>(llvm::Instruction * IP, llvm::MDNode * FPMathTag = nullptr, ArrayRef<llvm::OperandBundleDef> OpBundles = <null expr>)
  • public IRBuilder<T, Inserter>(llvm::BasicBlock * TheBB, llvm::MDNode * FPMathTag = nullptr, ArrayRef<llvm::OperandBundleDef> OpBundles = <null expr>)
  • public IRBuilder<T, Inserter>(llvm::BasicBlock * TheBB, const T & F, llvm::MDNode * FPMathTag = nullptr, ArrayRef<llvm::OperandBundleDef> OpBundles = <null expr>)
  • public IRBuilder<T, Inserter>(llvm::LLVMContext & C, const T & F, Inserter I = type-parameter-0-1(), llvm::MDNode * FPMathTag = nullptr, ArrayRef<llvm::OperandBundleDef> OpBundles = <null expr>)
  • public llvm::Constant * Insert(llvm::Constant * C, const llvm::Twine & = "") const
  • public template <typename InstTy>InstTy * Insert(InstTy * I, const llvm::Twine & Name = "") const
  • public const T & getFolder()

Inherited from IRBuilderBase:

Methods

llvm::Value* CreateAShr(
    llvm::Value* LHS,
    llvm::Value* RHS,
    const llvm::Twine& Name = "",
    bool isExact = false)

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

Parameters

llvm::Value* LHS
llvm::Value* RHS
const llvm::Twine& Name = ""
bool isExact = false

llvm::Value* CreateAShr(
    llvm::Value* LHS,
    const llvm::APInt& RHS,
    const llvm::Twine& Name = "",
    bool isExact = false)

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

Parameters

llvm::Value* LHS
const llvm::APInt& RHS
const llvm::Twine& Name = ""
bool isExact = false

llvm::Value* CreateAShr(
    llvm::Value* LHS,
    uint64_t RHS,
    const llvm::Twine& Name = "",
    bool isExact = false)

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

Parameters

llvm::Value* LHS
uint64_t RHS
const llvm::Twine& Name = ""
bool isExact = false

llvm::Value* CreateAdd(
    llvm::Value* LHS,
    llvm::Value* RHS,
    const llvm::Twine& Name = "",
    bool HasNUW = false,
    bool HasNSW = false)

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

Parameters

llvm::Value* LHS
llvm::Value* RHS
const llvm::Twine& Name = ""
bool HasNUW = false
bool HasNSW = false

llvm::Value* CreateAddrSpaceCast(
    llvm::Value* V,
    llvm::Type* DestTy,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Value* V
llvm::Type* DestTy
const llvm::Twine& Name = ""

llvm::ReturnInst* CreateAggregateRet(
    llvm::Value* const* retVals,
    unsigned int N)

Description

Create a sequence of N insertvalue instructions, with one Value from the retVals array each, that build a aggregate return value one value at a time, and a ret instruction to return the resulting aggregate value. This is a convenience function for code that uses aggregate return values as a vehicle for having multiple return values.

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

Parameters

llvm::Value* const* retVals
unsigned int N

llvm::LoadInst* CreateAlignedLoad(
    llvm::Value* Ptr,
    llvm::MaybeAlign Align,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Value* Ptr
llvm::MaybeAlign Align
const llvm::Twine& Name = ""

llvm::LoadInst* CreateAlignedLoad(
    llvm::Value* Ptr,
    llvm::MaybeAlign Align,
    const char* Name)

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

Parameters

llvm::Value* Ptr
llvm::MaybeAlign Align
const char* Name

llvm::LoadInst* CreateAlignedLoad(
    llvm::Value* Ptr,
    unsigned int Align,
    bool isVolatile,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Value* Ptr
unsigned int Align
bool isVolatile
const llvm::Twine& Name = ""

llvm::LoadInst* CreateAlignedLoad(
    llvm::Value* Ptr,
    unsigned int Align,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Value* Ptr
unsigned int Align
const llvm::Twine& Name = ""

llvm::LoadInst* CreateAlignedLoad(
    llvm::Value* Ptr,
    unsigned int Align,
    const char* Name)

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

Parameters

llvm::Value* Ptr
unsigned int Align
const char* Name

llvm::LoadInst* CreateAlignedLoad(
    llvm::Type* Ty,
    llvm::Value* Ptr,
    llvm::MaybeAlign Align,
    bool isVolatile,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Type* Ty
llvm::Value* Ptr
llvm::MaybeAlign Align
bool isVolatile
const llvm::Twine& Name = ""

llvm::LoadInst* CreateAlignedLoad(
    llvm::Type* Ty,
    llvm::Value* Ptr,
    unsigned int Align,
    bool isVolatile,
    const llvm::Twine& Name = "")

Description

FIXME: Remove this function once transition to Align is over. Use the version that takes MaybeAlign instead of this one.

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

Parameters

llvm::Type* Ty
llvm::Value* Ptr
unsigned int Align
bool isVolatile
const llvm::Twine& Name = ""

llvm::LoadInst* CreateAlignedLoad(
    llvm::Type* Ty,
    llvm::Value* Ptr,
    llvm::MaybeAlign Align,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Type* Ty
llvm::Value* Ptr
llvm::MaybeAlign Align
const llvm::Twine& Name = ""

llvm::LoadInst* CreateAlignedLoad(
    llvm::Type* Ty,
    llvm::Value* Ptr,
    unsigned int Align,
    const llvm::Twine& Name = "")

Description

FIXME: Remove this function once transition to Align is over. Use the version that takes MaybeAlign instead of this one.

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

Parameters

llvm::Type* Ty
llvm::Value* Ptr
unsigned int Align
const llvm::Twine& Name = ""

llvm::LoadInst* CreateAlignedLoad(
    llvm::Type* Ty,
    llvm::Value* Ptr,
    llvm::MaybeAlign Align,
    const char* Name)

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

Parameters

llvm::Type* Ty
llvm::Value* Ptr
llvm::MaybeAlign Align
const char* Name

llvm::LoadInst* CreateAlignedLoad(
    llvm::Type* Ty,
    llvm::Value* Ptr,
    unsigned int Align,
    const char* Name)

Description

Provided to resolve 'CreateAlignedLoad(Ptr, Align, "...")' correctly, instead of converting the string to 'bool' for the isVolatile parameter. FIXME: Remove this function once transition to Align is over. Use the version that takes MaybeAlign instead of this one.

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

Parameters

llvm::Type* Ty
llvm::Value* Ptr
unsigned int Align
const char* Name

llvm::LoadInst* CreateAlignedLoad(
    llvm::Value* Ptr,
    llvm::MaybeAlign Align,
    bool isVolatile,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Value* Ptr
llvm::MaybeAlign Align
bool isVolatile
const llvm::Twine& Name = ""

llvm::StoreInst* CreateAlignedStore(
    llvm::Value* Val,
    llvm::Value* Ptr,
    unsigned int Align,
    bool isVolatile = false)

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

Parameters

llvm::Value* Val
llvm::Value* Ptr
unsigned int Align
bool isVolatile = false

llvm::StoreInst* CreateAlignedStore(
    llvm::Value* Val,
    llvm::Value* Ptr,
    llvm::MaybeAlign Align,
    bool isVolatile = false)

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

Parameters

llvm::Value* Val
llvm::Value* Ptr
llvm::MaybeAlign Align
bool isVolatile = false

llvm::CallInst* CreateAlignmentAssumption(
    const llvm::DataLayout& DL,
    llvm::Value* PtrValue,
    llvm::Value* Alignment,
    llvm::Value* OffsetValue = nullptr,
    llvm::Value** TheCheck = nullptr)

Description

Create an assume intrinsic call that represents an alignment assumption on the provided pointer. An optional offset can be provided, and if it is provided, the offset must be subtracted from the provided pointer to get the pointer with the specified alignment. It may be sometimes useful to do some other logic based on this alignment check, thus it can be stored into 'TheCheck'. This overload handles the condition where the Alignment is dependent on an existing value rather than a static value.

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

Parameters

const llvm::DataLayout& DL
llvm::Value* PtrValue
llvm::Value* Alignment
llvm::Value* OffsetValue = nullptr
llvm::Value** TheCheck = nullptr

llvm::CallInst* CreateAlignmentAssumption(
    const llvm::DataLayout& DL,
    llvm::Value* PtrValue,
    unsigned int Alignment,
    llvm::Value* OffsetValue = nullptr,
    llvm::Value** TheCheck = nullptr)

Description

Create an assume intrinsic call that represents an alignment assumption on the provided pointer. An optional offset can be provided, and if it is provided, the offset must be subtracted from the provided pointer to get the pointer with the specified alignment. It may be sometimes useful to do some other logic based on this alignment check, thus it can be stored into 'TheCheck'.

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

Parameters

const llvm::DataLayout& DL
llvm::Value* PtrValue
unsigned int Alignment
llvm::Value* OffsetValue = nullptr
llvm::Value** TheCheck = nullptr

llvm::AllocaInst* CreateAlloca(
    llvm::Type* Ty,
    unsigned int AddrSpace,
    llvm::Value* ArraySize = nullptr,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Type* Ty
unsigned int AddrSpace
llvm::Value* ArraySize = nullptr
const llvm::Twine& Name = ""

llvm::AllocaInst* CreateAlloca(
    llvm::Type* Ty,
    llvm::Value* ArraySize = nullptr,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Type* Ty
llvm::Value* ArraySize = nullptr
const llvm::Twine& Name = ""

llvm::Value* CreateAnd(ArrayRef<llvm::Value*> Ops)

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

Parameters

ArrayRef<llvm::Value*> Ops

llvm::Value* CreateAnd(
    llvm::Value* LHS,
    uint64_t RHS,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Value* LHS
uint64_t RHS
const llvm::Twine& Name = ""

llvm::Value* CreateAnd(
    llvm::Value* LHS,
    const llvm::APInt& RHS,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Value* LHS
const llvm::APInt& RHS
const llvm::Twine& Name = ""

llvm::Value* CreateAnd(
    llvm::Value* LHS,
    llvm::Value* RHS,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Value* LHS
llvm::Value* RHS
const llvm::Twine& Name = ""

llvm::AtomicCmpXchgInst* CreateAtomicCmpXchg(
    llvm::Value* Ptr,
    llvm::Value* Cmp,
    llvm::Value* New,
    llvm::AtomicOrdering SuccessOrdering,
    llvm::AtomicOrdering FailureOrdering,
    SyncScope::ID SSID = SyncScope::System)

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

Parameters

llvm::Value* Ptr
llvm::Value* Cmp
llvm::Value* New
llvm::AtomicOrdering SuccessOrdering
llvm::AtomicOrdering FailureOrdering
SyncScope::ID SSID = SyncScope::System

llvm::AtomicRMWInst* CreateAtomicRMW(
    AtomicRMWInst::BinOp Op,
    llvm::Value* Ptr,
    llvm::Value* Val,
    llvm::AtomicOrdering Ordering,
    SyncScope::ID SSID = SyncScope::System)

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

Parameters

AtomicRMWInst::BinOp Op
llvm::Value* Ptr
llvm::Value* Val
llvm::AtomicOrdering Ordering
SyncScope::ID SSID = SyncScope::System

llvm::Value* CreateBinOp(
    Instruction::BinaryOps Opc,
    llvm::Value* LHS,
    llvm::Value* RHS,
    const llvm::Twine& Name = "",
    llvm::MDNode* FPMathTag = nullptr)

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

Parameters

Instruction::BinaryOps Opc
llvm::Value* LHS
llvm::Value* RHS
const llvm::Twine& Name = ""
llvm::MDNode* FPMathTag = nullptr

llvm::Value* CreateBitCast(
    llvm::Value* V,
    llvm::Type* DestTy,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Value* V
llvm::Type* DestTy
const llvm::Twine& Name = ""

llvm::Value* CreateBitOrPointerCast(
    llvm::Value* V,
    llvm::Type* DestTy,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Value* V
llvm::Type* DestTy
const llvm::Twine& Name = ""

llvm::BranchInst* CreateBr(llvm::BasicBlock* Dest)

Description

Create an unconditional 'br label X' instruction.

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

Parameters

llvm::BasicBlock* Dest

llvm::CallInst* CreateCall(
    llvm::Value* Callee,
    ArrayRef<llvm::Value*> Args,
    ArrayRef<llvm::OperandBundleDef> OpBundles,
    const llvm::Twine& Name = "",
    llvm::MDNode* FPMathTag = nullptr)

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

Parameters

llvm::Value* Callee
ArrayRef<llvm::Value*> Args
ArrayRef<llvm::OperandBundleDef> OpBundles
const llvm::Twine& Name = ""
llvm::MDNode* FPMathTag = nullptr

llvm::CallInst* CreateCall(
    llvm::Value* Callee,
    ArrayRef<llvm::Value*> Args = <null expr>,
    const llvm::Twine& Name = "",
    llvm::MDNode* FPMathTag = nullptr)

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

Parameters

llvm::Value* Callee
ArrayRef<llvm::Value*> Args = <null expr>
const llvm::Twine& Name = ""
llvm::MDNode* FPMathTag = nullptr

llvm::CallInst* CreateCall(
    llvm::FunctionCallee Callee,
    ArrayRef<llvm::Value*> Args,
    ArrayRef<llvm::OperandBundleDef> OpBundles,
    const llvm::Twine& Name = "",
    llvm::MDNode* FPMathTag = nullptr)

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

Parameters

llvm::FunctionCallee Callee
ArrayRef<llvm::Value*> Args
ArrayRef<llvm::OperandBundleDef> OpBundles
const llvm::Twine& Name = ""
llvm::MDNode* FPMathTag = nullptr

llvm::CallInst* CreateCall(
    llvm::FunctionCallee Callee,
    ArrayRef<llvm::Value*> Args = <null expr>,
    const llvm::Twine& Name = "",
    llvm::MDNode* FPMathTag = nullptr)

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

Parameters

llvm::FunctionCallee Callee
ArrayRef<llvm::Value*> Args = <null expr>
const llvm::Twine& Name = ""
llvm::MDNode* FPMathTag = nullptr

llvm::CallInst* CreateCall(
    llvm::FunctionType* FTy,
    llvm::Value* Callee,
    ArrayRef<llvm::Value*> Args,
    ArrayRef<llvm::OperandBundleDef> OpBundles,
    const llvm::Twine& Name = "",
    llvm::MDNode* FPMathTag = nullptr)

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

Parameters

llvm::FunctionType* FTy
llvm::Value* Callee
ArrayRef<llvm::Value*> Args
ArrayRef<llvm::OperandBundleDef> OpBundles
const llvm::Twine& Name = ""
llvm::MDNode* FPMathTag = nullptr

llvm::CallInst* CreateCall(
    llvm::FunctionType* FTy,
    llvm::Value* Callee,
    ArrayRef<llvm::Value*> Args = <null expr>,
    const llvm::Twine& Name = "",
    llvm::MDNode* FPMathTag = nullptr)

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

Parameters

llvm::FunctionType* FTy
llvm::Value* Callee
ArrayRef<llvm::Value*> Args = <null expr>
const llvm::Twine& Name = ""
llvm::MDNode* FPMathTag = nullptr

llvm::CallBrInst* CreateCallBr(
    llvm::FunctionType* Ty,
    llvm::Value* Callee,
    llvm::BasicBlock* DefaultDest,
    ArrayRef<llvm::BasicBlock*> IndirectDests,
    ArrayRef<llvm::Value*> Args = <null expr>,
    const llvm::Twine& Name = "")

Description

Create a callbr instruction.

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

Parameters

llvm::FunctionType* Ty
llvm::Value* Callee
llvm::BasicBlock* DefaultDest
ArrayRef<llvm::BasicBlock*> IndirectDests
ArrayRef<llvm::Value*> Args = <null expr>
const llvm::Twine& Name = ""

llvm::CallBrInst* CreateCallBr(
    llvm::FunctionType* Ty,
    llvm::Value* Callee,
    llvm::BasicBlock* DefaultDest,
    ArrayRef<llvm::BasicBlock*> IndirectDests,
    ArrayRef<llvm::Value*> Args,
    ArrayRef<llvm::OperandBundleDef> OpBundles,
    const llvm::Twine& Name = "")

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

Parameters

llvm::FunctionType* Ty
llvm::Value* Callee
llvm::BasicBlock* DefaultDest
ArrayRef<llvm::BasicBlock*> IndirectDests
ArrayRef<llvm::Value*> Args
ArrayRef<llvm::OperandBundleDef> OpBundles
const llvm::Twine& Name = ""

llvm::CallBrInst* CreateCallBr(
    llvm::FunctionCallee Callee,
    llvm::BasicBlock* DefaultDest,
    ArrayRef<llvm::BasicBlock*> IndirectDests,
    ArrayRef<llvm::Value*> Args = <null expr>,
    const llvm::Twine& Name = "")

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

Parameters

llvm::FunctionCallee Callee
llvm::BasicBlock* DefaultDest
ArrayRef<llvm::BasicBlock*> IndirectDests
ArrayRef<llvm::Value*> Args = <null expr>
const llvm::Twine& Name = ""

llvm::CallBrInst* CreateCallBr(
    llvm::FunctionCallee Callee,
    llvm::BasicBlock* DefaultDest,
    ArrayRef<llvm::BasicBlock*> IndirectDests,
    ArrayRef<llvm::Value*> Args,
    ArrayRef<llvm::OperandBundleDef> OpBundles,
    const llvm::Twine& Name = "")

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

Parameters

llvm::FunctionCallee Callee
llvm::BasicBlock* DefaultDest
ArrayRef<llvm::BasicBlock*> IndirectDests
ArrayRef<llvm::Value*> Args
ArrayRef<llvm::OperandBundleDef> OpBundles
const llvm::Twine& Name = ""

llvm::Value* CreateCast(
    Instruction::CastOps Op,
    llvm::Value* V,
    llvm::Type* DestTy,
    const llvm::Twine& Name = "")

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

Parameters

Instruction::CastOps Op
llvm::Value* V
llvm::Type* DestTy
const llvm::Twine& Name = ""

llvm::CatchPadInst* CreateCatchPad(
    llvm::Value* ParentPad,
    ArrayRef<llvm::Value*> Args,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Value* ParentPad
ArrayRef<llvm::Value*> Args
const llvm::Twine& Name = ""

llvm::CatchReturnInst* CreateCatchRet(
    llvm::CatchPadInst* CatchPad,
    llvm::BasicBlock* BB)

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

Parameters

llvm::CatchPadInst* CatchPad
llvm::BasicBlock* BB

llvm::CatchSwitchInst* CreateCatchSwitch(
    llvm::Value* ParentPad,
    llvm::BasicBlock* UnwindBB,
    unsigned int NumHandlers,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Value* ParentPad
llvm::BasicBlock* UnwindBB
unsigned int NumHandlers
const llvm::Twine& Name = ""

llvm::CleanupPadInst* CreateCleanupPad(
    llvm::Value* ParentPad,
    ArrayRef<llvm::Value*> Args = <null expr>,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Value* ParentPad
ArrayRef<llvm::Value*> Args = <null expr>
const llvm::Twine& Name = ""

llvm::CleanupReturnInst* CreateCleanupRet(
    llvm::CleanupPadInst* CleanupPad,
    llvm::BasicBlock* UnwindBB = nullptr)

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

Parameters

llvm::CleanupPadInst* CleanupPad
llvm::BasicBlock* UnwindBB = nullptr

llvm::BranchInst* CreateCondBr(
    llvm::Value* Cond,
    llvm::BasicBlock* True,
    llvm::BasicBlock* False,
    llvm::MDNode* BranchWeights = nullptr,
    llvm::MDNode* Unpredictable = nullptr)

Description

Create a conditional 'br Cond, TrueDest, FalseDest' instruction.

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

Parameters

llvm::Value* Cond
llvm::BasicBlock* True
llvm::BasicBlock* False
llvm::MDNode* BranchWeights = nullptr
llvm::MDNode* Unpredictable = nullptr

llvm::BranchInst* CreateCondBr(
    llvm::Value* Cond,
    llvm::BasicBlock* True,
    llvm::BasicBlock* False,
    llvm::Instruction* MDSrc)

Description

Create a conditional 'br Cond, TrueDest, FalseDest' instruction. Copy branch meta data if available.

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

Parameters

llvm::Value* Cond
llvm::BasicBlock* True
llvm::BasicBlock* False
llvm::Instruction* MDSrc

llvm::Value* CreateConstGEP1_32(
    llvm::Value* Ptr,
    unsigned int Idx0,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Value* Ptr
unsigned int Idx0
const llvm::Twine& Name = ""

llvm::Value* CreateConstGEP1_32(
    llvm::Type* Ty,
    llvm::Value* Ptr,
    unsigned int Idx0,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Type* Ty
llvm::Value* Ptr
unsigned int Idx0
const llvm::Twine& Name = ""

llvm::Value* CreateConstGEP1_64(
    llvm::Value* Ptr,
    uint64_t Idx0,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Value* Ptr
uint64_t Idx0
const llvm::Twine& Name = ""

llvm::Value* CreateConstGEP1_64(
    llvm::Type* Ty,
    llvm::Value* Ptr,
    uint64_t Idx0,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Type* Ty
llvm::Value* Ptr
uint64_t Idx0
const llvm::Twine& Name = ""

llvm::Value* CreateConstGEP2_32(
    llvm::Type* Ty,
    llvm::Value* Ptr,
    unsigned int Idx0,
    unsigned int Idx1,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Type* Ty
llvm::Value* Ptr
unsigned int Idx0
unsigned int Idx1
const llvm::Twine& Name = ""

llvm::Value* CreateConstGEP2_64(
    llvm::Type* Ty,
    llvm::Value* Ptr,
    uint64_t Idx0,
    uint64_t Idx1,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Type* Ty
llvm::Value* Ptr
uint64_t Idx0
uint64_t Idx1
const llvm::Twine& Name = ""

llvm::Value* CreateConstGEP2_64(
    llvm::Value* Ptr,
    uint64_t Idx0,
    uint64_t Idx1,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Value* Ptr
uint64_t Idx0
uint64_t Idx1
const llvm::Twine& Name = ""

llvm::Value* CreateConstInBoundsGEP1_32(
    llvm::Type* Ty,
    llvm::Value* Ptr,
    unsigned int Idx0,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Type* Ty
llvm::Value* Ptr
unsigned int Idx0
const llvm::Twine& Name = ""

llvm::Value* CreateConstInBoundsGEP1_64(
    llvm::Type* Ty,
    llvm::Value* Ptr,
    uint64_t Idx0,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Type* Ty
llvm::Value* Ptr
uint64_t Idx0
const llvm::Twine& Name = ""

llvm::Value* CreateConstInBoundsGEP1_64(
    llvm::Value* Ptr,
    uint64_t Idx0,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Value* Ptr
uint64_t Idx0
const llvm::Twine& Name = ""

llvm::Value* CreateConstInBoundsGEP2_32(
    llvm::Type* Ty,
    llvm::Value* Ptr,
    unsigned int Idx0,
    unsigned int Idx1,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Type* Ty
llvm::Value* Ptr
unsigned int Idx0
unsigned int Idx1
const llvm::Twine& Name = ""

llvm::Value* CreateConstInBoundsGEP2_64(
    llvm::Type* Ty,
    llvm::Value* Ptr,
    uint64_t Idx0,
    uint64_t Idx1,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Type* Ty
llvm::Value* Ptr
uint64_t Idx0
uint64_t Idx1
const llvm::Twine& Name = ""

llvm::Value* CreateConstInBoundsGEP2_64(
    llvm::Value* Ptr,
    uint64_t Idx0,
    uint64_t Idx1,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Value* Ptr
uint64_t Idx0
uint64_t Idx1
const llvm::Twine& Name = ""

llvm::CallInst* CreateConstrainedFPBinOp(
    Intrinsic::ID ID,
    llvm::Value* L,
    llvm::Value* R,
    llvm::Instruction* FMFSource = nullptr,
    const llvm::Twine& Name = "",
    llvm::MDNode* FPMathTag = nullptr,
    Optional<fp::RoundingMode> Rounding =
        <null expr>,
    Optional<fp::ExceptionBehavior> Except =
        <null expr>)

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

Parameters

Intrinsic::ID ID
llvm::Value* L
llvm::Value* R
llvm::Instruction* FMFSource = nullptr
const llvm::Twine& Name = ""
llvm::MDNode* FPMathTag = nullptr
Optional<fp::RoundingMode> Rounding = <null expr>
Optional<fp::ExceptionBehavior> Except = <null expr>

llvm::CallInst* CreateConstrainedFPCall(
    llvm::Function* Callee,
    ArrayRef<llvm::Value*> Args,
    const llvm::Twine& Name = "",
    Optional<fp::RoundingMode> Rounding =
        <null expr>,
    Optional<fp::ExceptionBehavior> Except =
        <null expr>)

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

Parameters

llvm::Function* Callee
ArrayRef<llvm::Value*> Args
const llvm::Twine& Name = ""
Optional<fp::RoundingMode> Rounding = <null expr>
Optional<fp::ExceptionBehavior> Except = <null expr>

llvm::CallInst* CreateConstrainedFPCast(
    Intrinsic::ID ID,
    llvm::Value* V,
    llvm::Type* DestTy,
    llvm::Instruction* FMFSource = nullptr,
    const llvm::Twine& Name = "",
    llvm::MDNode* FPMathTag = nullptr,
    Optional<fp::RoundingMode> Rounding =
        <null expr>,
    Optional<fp::ExceptionBehavior> Except =
        <null expr>)

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

Parameters

Intrinsic::ID ID
llvm::Value* V
llvm::Type* DestTy
llvm::Instruction* FMFSource = nullptr
const llvm::Twine& Name = ""
llvm::MDNode* FPMathTag = nullptr
Optional<fp::RoundingMode> Rounding = <null expr>
Optional<fp::ExceptionBehavior> Except = <null expr>

llvm::CallInst* CreateConstrainedFPCmp(
    Intrinsic::ID ID,
    CmpInst::Predicate P,
    llvm::Value* L,
    llvm::Value* R,
    const llvm::Twine& Name = "",
    Optional<fp::ExceptionBehavior> Except =
        <null expr>)

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

Parameters

Intrinsic::ID ID
CmpInst::Predicate P
llvm::Value* L
llvm::Value* R
const llvm::Twine& Name = ""
Optional<fp::ExceptionBehavior> Except = <null expr>

llvm::Value* CreateExactSDiv(
    llvm::Value* LHS,
    llvm::Value* RHS,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Value* LHS
llvm::Value* RHS
const llvm::Twine& Name = ""

llvm::Value* CreateExactUDiv(
    llvm::Value* LHS,
    llvm::Value* RHS,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Value* LHS
llvm::Value* RHS
const llvm::Twine& Name = ""

llvm::Value* CreateExtractElement(
    llvm::Value* Vec,
    uint64_t Idx,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Value* Vec
uint64_t Idx
const llvm::Twine& Name = ""

llvm::Value* CreateExtractElement(
    llvm::Value* Vec,
    llvm::Value* Idx,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Value* Vec
llvm::Value* Idx
const llvm::Twine& Name = ""

llvm::Value* CreateExtractInteger(
    const llvm::DataLayout& DL,
    llvm::Value* From,
    llvm::IntegerType* ExtractedTy,
    uint64_t Offset,
    const llvm::Twine& Name)

Description

Return a value that has been extracted from a larger integer type.

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

Parameters

const llvm::DataLayout& DL
llvm::Value* From
llvm::IntegerType* ExtractedTy
uint64_t Offset
const llvm::Twine& Name

llvm::Value* CreateExtractValue(
    llvm::Value* Agg,
    ArrayRef<unsigned int> Idxs,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Value* Agg
ArrayRef<unsigned int> Idxs
const llvm::Twine& Name = ""

llvm::Value* CreateFAdd(
    llvm::Value* L,
    llvm::Value* R,
    const llvm::Twine& Name = "",
    llvm::MDNode* FPMD = nullptr)

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

Parameters

llvm::Value* L
llvm::Value* R
const llvm::Twine& Name = ""
llvm::MDNode* FPMD = nullptr

llvm::Value* CreateFAddFMF(
    llvm::Value* L,
    llvm::Value* R,
    llvm::Instruction* FMFSource,
    const llvm::Twine& Name = "")

Description

Copy fast-math-flags from an instruction rather than using the builder's default FMF.

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

Parameters

llvm::Value* L
llvm::Value* R
llvm::Instruction* FMFSource
const llvm::Twine& Name = ""

llvm::Value* CreateFCmp(
    CmpInst::Predicate P,
    llvm::Value* LHS,
    llvm::Value* RHS,
    const llvm::Twine& Name = "",
    llvm::MDNode* FPMathTag = nullptr)

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

Parameters

CmpInst::Predicate P
llvm::Value* LHS
llvm::Value* RHS
const llvm::Twine& Name = ""
llvm::MDNode* FPMathTag = nullptr

llvm::Value* CreateFCmpOEQ(
    llvm::Value* LHS,
    llvm::Value* RHS,
    const llvm::Twine& Name = "",
    llvm::MDNode* FPMathTag = nullptr)

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

Parameters

llvm::Value* LHS
llvm::Value* RHS
const llvm::Twine& Name = ""
llvm::MDNode* FPMathTag = nullptr

llvm::Value* CreateFCmpOGE(
    llvm::Value* LHS,
    llvm::Value* RHS,
    const llvm::Twine& Name = "",
    llvm::MDNode* FPMathTag = nullptr)

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

Parameters

llvm::Value* LHS
llvm::Value* RHS
const llvm::Twine& Name = ""
llvm::MDNode* FPMathTag = nullptr

llvm::Value* CreateFCmpOGT(
    llvm::Value* LHS,
    llvm::Value* RHS,
    const llvm::Twine& Name = "",
    llvm::MDNode* FPMathTag = nullptr)

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

Parameters

llvm::Value* LHS
llvm::Value* RHS
const llvm::Twine& Name = ""
llvm::MDNode* FPMathTag = nullptr

llvm::Value* CreateFCmpOLE(
    llvm::Value* LHS,
    llvm::Value* RHS,
    const llvm::Twine& Name = "",
    llvm::MDNode* FPMathTag = nullptr)

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

Parameters

llvm::Value* LHS
llvm::Value* RHS
const llvm::Twine& Name = ""
llvm::MDNode* FPMathTag = nullptr

llvm::Value* CreateFCmpOLT(
    llvm::Value* LHS,
    llvm::Value* RHS,
    const llvm::Twine& Name = "",
    llvm::MDNode* FPMathTag = nullptr)

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

Parameters

llvm::Value* LHS
llvm::Value* RHS
const llvm::Twine& Name = ""
llvm::MDNode* FPMathTag = nullptr

llvm::Value* CreateFCmpONE(
    llvm::Value* LHS,
    llvm::Value* RHS,
    const llvm::Twine& Name = "",
    llvm::MDNode* FPMathTag = nullptr)

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

Parameters

llvm::Value* LHS
llvm::Value* RHS
const llvm::Twine& Name = ""
llvm::MDNode* FPMathTag = nullptr

llvm::Value* CreateFCmpORD(
    llvm::Value* LHS,
    llvm::Value* RHS,
    const llvm::Twine& Name = "",
    llvm::MDNode* FPMathTag = nullptr)

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

Parameters

llvm::Value* LHS
llvm::Value* RHS
const llvm::Twine& Name = ""
llvm::MDNode* FPMathTag = nullptr

llvm::Value* CreateFCmpS(
    CmpInst::Predicate P,
    llvm::Value* LHS,
    llvm::Value* RHS,
    const llvm::Twine& Name = "",
    llvm::MDNode* FPMathTag = nullptr)

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

Parameters

CmpInst::Predicate P
llvm::Value* LHS
llvm::Value* RHS
const llvm::Twine& Name = ""
llvm::MDNode* FPMathTag = nullptr

llvm::Value* CreateFCmpUEQ(
    llvm::Value* LHS,
    llvm::Value* RHS,
    const llvm::Twine& Name = "",
    llvm::MDNode* FPMathTag = nullptr)

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

Parameters

llvm::Value* LHS
llvm::Value* RHS
const llvm::Twine& Name = ""
llvm::MDNode* FPMathTag = nullptr

llvm::Value* CreateFCmpUGE(
    llvm::Value* LHS,
    llvm::Value* RHS,
    const llvm::Twine& Name = "",
    llvm::MDNode* FPMathTag = nullptr)

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

Parameters

llvm::Value* LHS
llvm::Value* RHS
const llvm::Twine& Name = ""
llvm::MDNode* FPMathTag = nullptr

llvm::Value* CreateFCmpUGT(
    llvm::Value* LHS,
    llvm::Value* RHS,
    const llvm::Twine& Name = "",
    llvm::MDNode* FPMathTag = nullptr)

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

Parameters

llvm::Value* LHS
llvm::Value* RHS
const llvm::Twine& Name = ""
llvm::MDNode* FPMathTag = nullptr

llvm::Value* CreateFCmpULE(
    llvm::Value* LHS,
    llvm::Value* RHS,
    const llvm::Twine& Name = "",
    llvm::MDNode* FPMathTag = nullptr)

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

Parameters

llvm::Value* LHS
llvm::Value* RHS
const llvm::Twine& Name = ""
llvm::MDNode* FPMathTag = nullptr

llvm::Value* CreateFCmpULT(
    llvm::Value* LHS,
    llvm::Value* RHS,
    const llvm::Twine& Name = "",
    llvm::MDNode* FPMathTag = nullptr)

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

Parameters

llvm::Value* LHS
llvm::Value* RHS
const llvm::Twine& Name = ""
llvm::MDNode* FPMathTag = nullptr

llvm::Value* CreateFCmpUNE(
    llvm::Value* LHS,
    llvm::Value* RHS,
    const llvm::Twine& Name = "",
    llvm::MDNode* FPMathTag = nullptr)

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

Parameters

llvm::Value* LHS
llvm::Value* RHS
const llvm::Twine& Name = ""
llvm::MDNode* FPMathTag = nullptr

llvm::Value* CreateFCmpUNO(
    llvm::Value* LHS,
    llvm::Value* RHS,
    const llvm::Twine& Name = "",
    llvm::MDNode* FPMathTag = nullptr)

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

Parameters

llvm::Value* LHS
llvm::Value* RHS
const llvm::Twine& Name = ""
llvm::MDNode* FPMathTag = nullptr

llvm::Value* CreateFDiv(
    llvm::Value* L,
    llvm::Value* R,
    const llvm::Twine& Name = "",
    llvm::MDNode* FPMD = nullptr)

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

Parameters

llvm::Value* L
llvm::Value* R
const llvm::Twine& Name = ""
llvm::MDNode* FPMD = nullptr

llvm::Value* CreateFDivFMF(
    llvm::Value* L,
    llvm::Value* R,
    llvm::Instruction* FMFSource,
    const llvm::Twine& Name = "")

Description

Copy fast-math-flags from an instruction rather than using the builder's default FMF.

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

Parameters

llvm::Value* L
llvm::Value* R
llvm::Instruction* FMFSource
const llvm::Twine& Name = ""

llvm::Value* CreateFMul(
    llvm::Value* L,
    llvm::Value* R,
    const llvm::Twine& Name = "",
    llvm::MDNode* FPMD = nullptr)

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

Parameters

llvm::Value* L
llvm::Value* R
const llvm::Twine& Name = ""
llvm::MDNode* FPMD = nullptr

llvm::Value* CreateFMulFMF(
    llvm::Value* L,
    llvm::Value* R,
    llvm::Instruction* FMFSource,
    const llvm::Twine& Name = "")

Description

Copy fast-math-flags from an instruction rather than using the builder's default FMF.

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

Parameters

llvm::Value* L
llvm::Value* R
llvm::Instruction* FMFSource
const llvm::Twine& Name = ""

llvm::Value* CreateFNeg(
    llvm::Value* V,
    const llvm::Twine& Name = "",
    llvm::MDNode* FPMathTag = nullptr)

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

Parameters

llvm::Value* V
const llvm::Twine& Name = ""
llvm::MDNode* FPMathTag = nullptr

llvm::Value* CreateFNegFMF(
    llvm::Value* V,
    llvm::Instruction* FMFSource,
    const llvm::Twine& Name = "")

Description

Copy fast-math-flags from an instruction rather than using the builder's default FMF.

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

Parameters

llvm::Value* V
llvm::Instruction* FMFSource
const llvm::Twine& Name = ""

llvm::Value* CreateFPCast(
    llvm::Value* V,
    llvm::Type* DestTy,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Value* V
llvm::Type* DestTy
const llvm::Twine& Name = ""

llvm::Value* CreateFPExt(
    llvm::Value* V,
    llvm::Type* DestTy,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Value* V
llvm::Type* DestTy
const llvm::Twine& Name = ""

llvm::Value* CreateFPToSI(
    llvm::Value* V,
    llvm::Type* DestTy,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Value* V
llvm::Type* DestTy
const llvm::Twine& Name = ""

llvm::Value* CreateFPToUI(
    llvm::Value* V,
    llvm::Type* DestTy,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Value* V
llvm::Type* DestTy
const llvm::Twine& Name = ""

llvm::Value* CreateFPTrunc(
    llvm::Value* V,
    llvm::Type* DestTy,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Value* V
llvm::Type* DestTy
const llvm::Twine& Name = ""

llvm::Value* CreateFRem(
    llvm::Value* L,
    llvm::Value* R,
    const llvm::Twine& Name = "",
    llvm::MDNode* FPMD = nullptr)

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

Parameters

llvm::Value* L
llvm::Value* R
const llvm::Twine& Name = ""
llvm::MDNode* FPMD = nullptr

llvm::Value* CreateFRemFMF(
    llvm::Value* L,
    llvm::Value* R,
    llvm::Instruction* FMFSource,
    const llvm::Twine& Name = "")

Description

Copy fast-math-flags from an instruction rather than using the builder's default FMF.

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

Parameters

llvm::Value* L
llvm::Value* R
llvm::Instruction* FMFSource
const llvm::Twine& Name = ""

llvm::Value* CreateFSub(
    llvm::Value* L,
    llvm::Value* R,
    const llvm::Twine& Name = "",
    llvm::MDNode* FPMD = nullptr)

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

Parameters

llvm::Value* L
llvm::Value* R
const llvm::Twine& Name = ""
llvm::MDNode* FPMD = nullptr

llvm::Value* CreateFSubFMF(
    llvm::Value* L,
    llvm::Value* R,
    llvm::Instruction* FMFSource,
    const llvm::Twine& Name = "")

Description

Copy fast-math-flags from an instruction rather than using the builder's default FMF.

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

Parameters

llvm::Value* L
llvm::Value* R
llvm::Instruction* FMFSource
const llvm::Twine& Name = ""

llvm::FenceInst* CreateFence(
    llvm::AtomicOrdering Ordering,
    SyncScope::ID SSID = SyncScope::System,
    const llvm::Twine& Name = "")

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

Parameters

llvm::AtomicOrdering Ordering
SyncScope::ID SSID = SyncScope::System
const llvm::Twine& Name = ""

llvm::Value* CreateFreeze(
    llvm::Value* V,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Value* V
const llvm::Twine& Name = ""

llvm::Value* CreateGEP(
    llvm::Value* Ptr,
    ArrayRef<llvm::Value*> IdxList,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Value* Ptr
ArrayRef<llvm::Value*> IdxList
const llvm::Twine& Name = ""

llvm::Value* CreateGEP(
    llvm::Type* Ty,
    llvm::Value* Ptr,
    ArrayRef<llvm::Value*> IdxList,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Type* Ty
llvm::Value* Ptr
ArrayRef<llvm::Value*> IdxList
const llvm::Twine& Name = ""

llvm::Value* CreateGEP(
    llvm::Value* Ptr,
    llvm::Value* Idx,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Value* Ptr
llvm::Value* Idx
const llvm::Twine& Name = ""

llvm::Value* CreateGEP(
    llvm::Type* Ty,
    llvm::Value* Ptr,
    llvm::Value* Idx,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Type* Ty
llvm::Value* Ptr
llvm::Value* Idx
const llvm::Twine& Name = ""

llvm::Constant* CreateGlobalStringPtr(
    llvm::StringRef Str,
    const llvm::Twine& Name = "",
    unsigned int AddressSpace = 0)

Description

Same as CreateGlobalString, but return a pointer with "i8*" type instead of a pointer to array of i8.

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

Parameters

llvm::StringRef Str
const llvm::Twine& Name = ""
unsigned int AddressSpace = 0

llvm::Value* CreateICmp(
    CmpInst::Predicate P,
    llvm::Value* LHS,
    llvm::Value* RHS,
    const llvm::Twine& Name = "")

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

Parameters

CmpInst::Predicate P
llvm::Value* LHS
llvm::Value* RHS
const llvm::Twine& Name = ""

llvm::Value* CreateICmpEQ(
    llvm::Value* LHS,
    llvm::Value* RHS,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Value* LHS
llvm::Value* RHS
const llvm::Twine& Name = ""

llvm::Value* CreateICmpNE(
    llvm::Value* LHS,
    llvm::Value* RHS,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Value* LHS
llvm::Value* RHS
const llvm::Twine& Name = ""

llvm::Value* CreateICmpSGE(
    llvm::Value* LHS,
    llvm::Value* RHS,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Value* LHS
llvm::Value* RHS
const llvm::Twine& Name = ""

llvm::Value* CreateICmpSGT(
    llvm::Value* LHS,
    llvm::Value* RHS,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Value* LHS
llvm::Value* RHS
const llvm::Twine& Name = ""

llvm::Value* CreateICmpSLE(
    llvm::Value* LHS,
    llvm::Value* RHS,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Value* LHS
llvm::Value* RHS
const llvm::Twine& Name = ""

llvm::Value* CreateICmpSLT(
    llvm::Value* LHS,
    llvm::Value* RHS,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Value* LHS
llvm::Value* RHS
const llvm::Twine& Name = ""

llvm::Value* CreateICmpUGE(
    llvm::Value* LHS,
    llvm::Value* RHS,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Value* LHS
llvm::Value* RHS
const llvm::Twine& Name = ""

llvm::Value* CreateICmpUGT(
    llvm::Value* LHS,
    llvm::Value* RHS,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Value* LHS
llvm::Value* RHS
const llvm::Twine& Name = ""

llvm::Value* CreateICmpULE(
    llvm::Value* LHS,
    llvm::Value* RHS,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Value* LHS
llvm::Value* RHS
const llvm::Twine& Name = ""

llvm::Value* CreateICmpULT(
    llvm::Value* LHS,
    llvm::Value* RHS,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Value* LHS
llvm::Value* RHS
const llvm::Twine& Name = ""

llvm::Value* CreateInBoundsGEP(
    llvm::Type* Ty,
    llvm::Value* Ptr,
    llvm::Value* Idx,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Type* Ty
llvm::Value* Ptr
llvm::Value* Idx
const llvm::Twine& Name = ""

llvm::Value* CreateInBoundsGEP(
    llvm::Type* Ty,
    llvm::Value* Ptr,
    ArrayRef<llvm::Value*> IdxList,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Type* Ty
llvm::Value* Ptr
ArrayRef<llvm::Value*> IdxList
const llvm::Twine& Name = ""

llvm::Value* CreateInBoundsGEP(
    llvm::Value* Ptr,
    ArrayRef<llvm::Value*> IdxList,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Value* Ptr
ArrayRef<llvm::Value*> IdxList
const llvm::Twine& Name = ""

llvm::IndirectBrInst* CreateIndirectBr(
    llvm::Value* Addr,
    unsigned int NumDests = 10)

Description

Create an indirect branch instruction with the specified address operand, with an optional hint for the number of destinations that will be added (for efficient allocation).

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

Parameters

llvm::Value* Addr
unsigned int NumDests = 10

llvm::Value* CreateInsertElement(
    llvm::Value* Vec,
    llvm::Value* NewElt,
    llvm::Value* Idx,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Value* Vec
llvm::Value* NewElt
llvm::Value* Idx
const llvm::Twine& Name = ""

llvm::Value* CreateInsertElement(
    llvm::Value* Vec,
    llvm::Value* NewElt,
    uint64_t Idx,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Value* Vec
llvm::Value* NewElt
uint64_t Idx
const llvm::Twine& Name = ""

llvm::Value* CreateInsertValue(
    llvm::Value* Agg,
    llvm::Value* Val,
    ArrayRef<unsigned int> Idxs,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Value* Agg
llvm::Value* Val
ArrayRef<unsigned int> Idxs
const llvm::Twine& Name = ""

llvm::Value* CreateIntCast(llvm::Value*,
                           llvm::Type*,
                           const char*)

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

Parameters

llvm::Value*
llvm::Type*
const char*

llvm::Value* CreateIntCast(
    llvm::Value* V,
    llvm::Type* DestTy,
    bool isSigned,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Value* V
llvm::Type* DestTy
bool isSigned
const llvm::Twine& Name = ""

llvm::Value* CreateIntToPtr(
    llvm::Value* V,
    llvm::Type* DestTy,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Value* V
llvm::Type* DestTy
const llvm::Twine& Name = ""

llvm::InvokeInst* CreateInvoke(
    llvm::Value* Callee,
    llvm::BasicBlock* NormalDest,
    llvm::BasicBlock* UnwindDest,
    ArrayRef<llvm::Value*> Args = <null expr>,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Value* Callee
llvm::BasicBlock* NormalDest
llvm::BasicBlock* UnwindDest
ArrayRef<llvm::Value*> Args = <null expr>
const llvm::Twine& Name = ""

llvm::InvokeInst* CreateInvoke(
    llvm::Value* Callee,
    llvm::BasicBlock* NormalDest,
    llvm::BasicBlock* UnwindDest,
    ArrayRef<llvm::Value*> Args,
    ArrayRef<llvm::OperandBundleDef> OpBundles,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Value* Callee
llvm::BasicBlock* NormalDest
llvm::BasicBlock* UnwindDest
ArrayRef<llvm::Value*> Args
ArrayRef<llvm::OperandBundleDef> OpBundles
const llvm::Twine& Name = ""

llvm::InvokeInst* CreateInvoke(
    llvm::FunctionCallee Callee,
    llvm::BasicBlock* NormalDest,
    llvm::BasicBlock* UnwindDest,
    ArrayRef<llvm::Value*> Args = <null expr>,
    const llvm::Twine& Name = "")

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

Parameters

llvm::FunctionCallee Callee
llvm::BasicBlock* NormalDest
llvm::BasicBlock* UnwindDest
ArrayRef<llvm::Value*> Args = <null expr>
const llvm::Twine& Name = ""

llvm::InvokeInst* CreateInvoke(
    llvm::FunctionCallee Callee,
    llvm::BasicBlock* NormalDest,
    llvm::BasicBlock* UnwindDest,
    ArrayRef<llvm::Value*> Args,
    ArrayRef<llvm::OperandBundleDef> OpBundles,
    const llvm::Twine& Name = "")

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

Parameters

llvm::FunctionCallee Callee
llvm::BasicBlock* NormalDest
llvm::BasicBlock* UnwindDest
ArrayRef<llvm::Value*> Args
ArrayRef<llvm::OperandBundleDef> OpBundles
const llvm::Twine& Name = ""

llvm::InvokeInst* CreateInvoke(
    llvm::FunctionType* Ty,
    llvm::Value* Callee,
    llvm::BasicBlock* NormalDest,
    llvm::BasicBlock* UnwindDest,
    ArrayRef<llvm::Value*> Args = <null expr>,
    const llvm::Twine& Name = "")

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

Parameters

llvm::FunctionType* Ty
llvm::Value* Callee
llvm::BasicBlock* NormalDest
llvm::BasicBlock* UnwindDest
ArrayRef<llvm::Value*> Args = <null expr>
const llvm::Twine& Name = ""

llvm::InvokeInst* CreateInvoke(
    llvm::FunctionType* Ty,
    llvm::Value* Callee,
    llvm::BasicBlock* NormalDest,
    llvm::BasicBlock* UnwindDest,
    ArrayRef<llvm::Value*> Args,
    ArrayRef<llvm::OperandBundleDef> OpBundles,
    const llvm::Twine& Name = "")

Description

Create an invoke instruction.

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

Parameters

llvm::FunctionType* Ty
llvm::Value* Callee
llvm::BasicBlock* NormalDest
llvm::BasicBlock* UnwindDest
ArrayRef<llvm::Value*> Args
ArrayRef<llvm::OperandBundleDef> OpBundles
const llvm::Twine& Name = ""

llvm::Value* CreateIsNotNull(
    llvm::Value* Arg,
    const llvm::Twine& Name = "")

Description

Return an i1 value testing if \p Arg is not null.

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

Parameters

llvm::Value* Arg
const llvm::Twine& Name = ""

llvm::Value* CreateIsNull(
    llvm::Value* Arg,
    const llvm::Twine& Name = "")

Description

Return an i1 value testing if \p Arg is null.

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

Parameters

llvm::Value* Arg
const llvm::Twine& Name = ""

llvm::Value* CreateLShr(
    llvm::Value* LHS,
    llvm::Value* RHS,
    const llvm::Twine& Name = "",
    bool isExact = false)

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

Parameters

llvm::Value* LHS
llvm::Value* RHS
const llvm::Twine& Name = ""
bool isExact = false

llvm::Value* CreateLShr(
    llvm::Value* LHS,
    const llvm::APInt& RHS,
    const llvm::Twine& Name = "",
    bool isExact = false)

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

Parameters

llvm::Value* LHS
const llvm::APInt& RHS
const llvm::Twine& Name = ""
bool isExact = false

llvm::Value* CreateLShr(
    llvm::Value* LHS,
    uint64_t RHS,
    const llvm::Twine& Name = "",
    bool isExact = false)

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

Parameters

llvm::Value* LHS
uint64_t RHS
const llvm::Twine& Name = ""
bool isExact = false

llvm::LandingPadInst* CreateLandingPad(
    llvm::Type* Ty,
    unsigned int NumClauses,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Type* Ty
unsigned int NumClauses
const llvm::Twine& Name = ""

llvm::Value* CreateLaunderInvariantGroup(
    llvm::Value* Ptr)

Description

Create a launder.invariant.group intrinsic call. If Ptr type is different from pointer to i8, it's casted to pointer to i8 in the same address space before call and casted back to Ptr type after call.

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

Parameters

llvm::Value* Ptr

llvm::LoadInst* CreateLoad(llvm::Value* Ptr,
                           const char* Name)

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

Parameters

llvm::Value* Ptr
const char* Name

llvm::LoadInst* CreateLoad(
    llvm::Type* Ty,
    llvm::Value* Ptr,
    bool isVolatile,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Type* Ty
llvm::Value* Ptr
bool isVolatile
const llvm::Twine& Name = ""

llvm::LoadInst* CreateLoad(
    llvm::Type* Ty,
    llvm::Value* Ptr,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Type* Ty
llvm::Value* Ptr
const llvm::Twine& Name = ""

llvm::LoadInst* CreateLoad(
    llvm::Value* Ptr,
    bool isVolatile,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Value* Ptr
bool isVolatile
const llvm::Twine& Name = ""

llvm::LoadInst* CreateLoad(
    llvm::Value* Ptr,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Value* Ptr
const llvm::Twine& Name = ""

llvm::LoadInst* CreateLoad(llvm::Type* Ty,
                           llvm::Value* Ptr,
                           const char* Name)

Description

Provided to resolve 'CreateLoad(Ty, Ptr, "...")' correctly, instead of converting the string to 'bool' for the isVolatile parameter.

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

Parameters

llvm::Type* Ty
llvm::Value* Ptr
const char* Name

llvm::Value* CreateMul(
    llvm::Value* LHS,
    llvm::Value* RHS,
    const llvm::Twine& Name = "",
    bool HasNUW = false,
    bool HasNSW = false)

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

Parameters

llvm::Value* LHS
llvm::Value* RHS
const llvm::Twine& Name = ""
bool HasNUW = false
bool HasNSW = false

llvm::Value* CreateNAryOp(
    unsigned int Opc,
    ArrayRef<llvm::Value*> Ops,
    const llvm::Twine& Name = "",
    llvm::MDNode* FPMathTag = nullptr)

Description

Create either a UnaryOperator or BinaryOperator depending on \p Opc. Correct number of operands must be passed accordingly.

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

Parameters

unsigned int Opc
ArrayRef<llvm::Value*> Ops
const llvm::Twine& Name = ""
llvm::MDNode* FPMathTag = nullptr

llvm::Value* CreateNSWAdd(
    llvm::Value* LHS,
    llvm::Value* RHS,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Value* LHS
llvm::Value* RHS
const llvm::Twine& Name = ""

llvm::Value* CreateNSWMul(
    llvm::Value* LHS,
    llvm::Value* RHS,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Value* LHS
llvm::Value* RHS
const llvm::Twine& Name = ""

llvm::Value* CreateNSWNeg(
    llvm::Value* V,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Value* V
const llvm::Twine& Name = ""

llvm::Value* CreateNSWSub(
    llvm::Value* LHS,
    llvm::Value* RHS,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Value* LHS
llvm::Value* RHS
const llvm::Twine& Name = ""

llvm::Value* CreateNUWAdd(
    llvm::Value* LHS,
    llvm::Value* RHS,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Value* LHS
llvm::Value* RHS
const llvm::Twine& Name = ""

llvm::Value* CreateNUWMul(
    llvm::Value* LHS,
    llvm::Value* RHS,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Value* LHS
llvm::Value* RHS
const llvm::Twine& Name = ""

llvm::Value* CreateNUWNeg(
    llvm::Value* V,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Value* V
const llvm::Twine& Name = ""

llvm::Value* CreateNUWSub(
    llvm::Value* LHS,
    llvm::Value* RHS,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Value* LHS
llvm::Value* RHS
const llvm::Twine& Name = ""

llvm::Value* CreateNeg(
    llvm::Value* V,
    const llvm::Twine& Name = "",
    bool HasNUW = false,
    bool HasNSW = false)

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

Parameters

llvm::Value* V
const llvm::Twine& Name = ""
bool HasNUW = false
bool HasNSW = false

llvm::Value* CreateNot(
    llvm::Value* V,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Value* V
const llvm::Twine& Name = ""

llvm::Value* CreateOr(ArrayRef<llvm::Value*> Ops)

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

Parameters

ArrayRef<llvm::Value*> Ops

llvm::Value* CreateOr(
    llvm::Value* LHS,
    uint64_t RHS,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Value* LHS
uint64_t RHS
const llvm::Twine& Name = ""

llvm::Value* CreateOr(
    llvm::Value* LHS,
    const llvm::APInt& RHS,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Value* LHS
const llvm::APInt& RHS
const llvm::Twine& Name = ""

llvm::Value* CreateOr(
    llvm::Value* LHS,
    llvm::Value* RHS,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Value* LHS
llvm::Value* RHS
const llvm::Twine& Name = ""

llvm::PHINode* CreatePHI(
    llvm::Type* Ty,
    unsigned int NumReservedValues,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Type* Ty
unsigned int NumReservedValues
const llvm::Twine& Name = ""

llvm::Value* CreatePointerBitCastOrAddrSpaceCast(
    llvm::Value* V,
    llvm::Type* DestTy,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Value* V
llvm::Type* DestTy
const llvm::Twine& Name = ""

llvm::Value* CreatePointerCast(
    llvm::Value* V,
    llvm::Type* DestTy,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Value* V
llvm::Type* DestTy
const llvm::Twine& Name = ""

llvm::Value* CreatePreserveArrayAccessIndex(
    llvm::Type* ElTy,
    llvm::Value* Base,
    unsigned int Dimension,
    unsigned int LastIndex,
    llvm::MDNode* DbgInfo)

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

Parameters

llvm::Type* ElTy
llvm::Value* Base
unsigned int Dimension
unsigned int LastIndex
llvm::MDNode* DbgInfo

llvm::Value* CreatePreserveStructAccessIndex(
    llvm::Type* ElTy,
    llvm::Value* Base,
    unsigned int Index,
    unsigned int FieldIndex,
    llvm::MDNode* DbgInfo)

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

Parameters

llvm::Type* ElTy
llvm::Value* Base
unsigned int Index
unsigned int FieldIndex
llvm::MDNode* DbgInfo

llvm::Value* CreatePreserveUnionAccessIndex(
    llvm::Value* Base,
    unsigned int FieldIndex,
    llvm::MDNode* DbgInfo)

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

Parameters

llvm::Value* Base
unsigned int FieldIndex
llvm::MDNode* DbgInfo

llvm::Value* CreatePtrDiff(
    llvm::Value* LHS,
    llvm::Value* RHS,
    const llvm::Twine& Name = "")

Description

Return the i64 difference between two pointer values, dividing out the size of the pointed-to objects. This is intended to implement C-style pointer subtraction. As such, the pointers must be appropriately aligned for their element types and pointing into the same object.

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

Parameters

llvm::Value* LHS
llvm::Value* RHS
const llvm::Twine& Name = ""

llvm::Value* CreatePtrToInt(
    llvm::Value* V,
    llvm::Type* DestTy,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Value* V
llvm::Type* DestTy
const llvm::Twine& Name = ""

llvm::ResumeInst* CreateResume(llvm::Value* Exn)

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

Parameters

llvm::Value* Exn

llvm::ReturnInst* CreateRet(llvm::Value* V)

Description

Create a 'ret <val >' instruction.

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

Parameters

llvm::Value* V

llvm::ReturnInst* CreateRetVoid()

Description

Create a 'ret void' instruction.

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

llvm::Value* CreateSDiv(
    llvm::Value* LHS,
    llvm::Value* RHS,
    const llvm::Twine& Name = "",
    bool isExact = false)

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

Parameters

llvm::Value* LHS
llvm::Value* RHS
const llvm::Twine& Name = ""
bool isExact = false

llvm::Value* CreateSExt(
    llvm::Value* V,
    llvm::Type* DestTy,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Value* V
llvm::Type* DestTy
const llvm::Twine& Name = ""

llvm::Value* CreateSExtOrBitCast(
    llvm::Value* V,
    llvm::Type* DestTy,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Value* V
llvm::Type* DestTy
const llvm::Twine& Name = ""

llvm::Value* CreateSExtOrTrunc(
    llvm::Value* V,
    llvm::Type* DestTy,
    const llvm::Twine& Name = "")

Description

Create a SExt or Trunc from the integer value V to DestTy. Return the value untouched if the type of V is already DestTy.

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

Parameters

llvm::Value* V
llvm::Type* DestTy
const llvm::Twine& Name = ""

llvm::Value* CreateSIToFP(
    llvm::Value* V,
    llvm::Type* DestTy,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Value* V
llvm::Type* DestTy
const llvm::Twine& Name = ""

llvm::Value* CreateSRem(
    llvm::Value* LHS,
    llvm::Value* RHS,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Value* LHS
llvm::Value* RHS
const llvm::Twine& Name = ""

llvm::Value* CreateSelect(
    llvm::Value* C,
    llvm::Value* True,
    llvm::Value* False,
    const llvm::Twine& Name = "",
    llvm::Instruction* MDFrom = nullptr)

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

Parameters

llvm::Value* C
llvm::Value* True
llvm::Value* False
const llvm::Twine& Name = ""
llvm::Instruction* MDFrom = nullptr

llvm::Value* CreateShl(
    llvm::Value* LHS,
    uint64_t RHS,
    const llvm::Twine& Name = "",
    bool HasNUW = false,
    bool HasNSW = false)

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

Parameters

llvm::Value* LHS
uint64_t RHS
const llvm::Twine& Name = ""
bool HasNUW = false
bool HasNSW = false

llvm::Value* CreateShl(
    llvm::Value* LHS,
    const llvm::APInt& RHS,
    const llvm::Twine& Name = "",
    bool HasNUW = false,
    bool HasNSW = false)

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

Parameters

llvm::Value* LHS
const llvm::APInt& RHS
const llvm::Twine& Name = ""
bool HasNUW = false
bool HasNSW = false

llvm::Value* CreateShl(
    llvm::Value* LHS,
    llvm::Value* RHS,
    const llvm::Twine& Name = "",
    bool HasNUW = false,
    bool HasNSW = false)

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

Parameters

llvm::Value* LHS
llvm::Value* RHS
const llvm::Twine& Name = ""
bool HasNUW = false
bool HasNSW = false

llvm::Value* CreateShuffleVector(
    llvm::Value* V1,
    llvm::Value* V2,
    ArrayRef<uint32_t> IntMask,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Value* V1
llvm::Value* V2
ArrayRef<uint32_t> IntMask
const llvm::Twine& Name = ""

llvm::Value* CreateShuffleVector(
    llvm::Value* V1,
    llvm::Value* V2,
    llvm::Value* Mask,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Value* V1
llvm::Value* V2
llvm::Value* Mask
const llvm::Twine& Name = ""

llvm::StoreInst* CreateStore(
    llvm::Value* Val,
    llvm::Value* Ptr,
    bool isVolatile = false)

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

Parameters

llvm::Value* Val
llvm::Value* Ptr
bool isVolatile = false

llvm::Value* CreateStripInvariantGroup(
    llvm::Value* Ptr)

Description

Create a strip.invariant.group intrinsic call. If Ptr type is different from pointer to i8, it's casted to pointer to i8 in the same address space before call and casted back to Ptr type after call.

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

Parameters

llvm::Value* Ptr

llvm::Value* CreateStructGEP(
    llvm::Type* Ty,
    llvm::Value* Ptr,
    unsigned int Idx,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Type* Ty
llvm::Value* Ptr
unsigned int Idx
const llvm::Twine& Name = ""

llvm::Value* CreateStructGEP(
    llvm::Value* Ptr,
    unsigned int Idx,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Value* Ptr
unsigned int Idx
const llvm::Twine& Name = ""

llvm::Value* CreateSub(
    llvm::Value* LHS,
    llvm::Value* RHS,
    const llvm::Twine& Name = "",
    bool HasNUW = false,
    bool HasNSW = false)

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

Parameters

llvm::Value* LHS
llvm::Value* RHS
const llvm::Twine& Name = ""
bool HasNUW = false
bool HasNSW = false

llvm::SwitchInst* CreateSwitch(
    llvm::Value* V,
    llvm::BasicBlock* Dest,
    unsigned int NumCases = 10,
    llvm::MDNode* BranchWeights = nullptr,
    llvm::MDNode* Unpredictable = nullptr)

Description

Create a switch instruction with the specified value, default dest, and with a hint for the number of cases that will be added (for efficient allocation).

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

Parameters

llvm::Value* V
llvm::BasicBlock* Dest
unsigned int NumCases = 10
llvm::MDNode* BranchWeights = nullptr
llvm::MDNode* Unpredictable = nullptr

llvm::Value* CreateTrunc(
    llvm::Value* V,
    llvm::Type* DestTy,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Value* V
llvm::Type* DestTy
const llvm::Twine& Name = ""

llvm::Value* CreateTruncOrBitCast(
    llvm::Value* V,
    llvm::Type* DestTy,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Value* V
llvm::Type* DestTy
const llvm::Twine& Name = ""

llvm::Value* CreateUDiv(
    llvm::Value* LHS,
    llvm::Value* RHS,
    const llvm::Twine& Name = "",
    bool isExact = false)

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

Parameters

llvm::Value* LHS
llvm::Value* RHS
const llvm::Twine& Name = ""
bool isExact = false

llvm::Value* CreateUIToFP(
    llvm::Value* V,
    llvm::Type* DestTy,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Value* V
llvm::Type* DestTy
const llvm::Twine& Name = ""

llvm::Value* CreateURem(
    llvm::Value* LHS,
    llvm::Value* RHS,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Value* LHS
llvm::Value* RHS
const llvm::Twine& Name = ""

llvm::Value* CreateUnOp(
    Instruction::UnaryOps Opc,
    llvm::Value* V,
    const llvm::Twine& Name = "",
    llvm::MDNode* FPMathTag = nullptr)

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

Parameters

Instruction::UnaryOps Opc
llvm::Value* V
const llvm::Twine& Name = ""
llvm::MDNode* FPMathTag = nullptr

llvm::UnreachableInst* CreateUnreachable()

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

llvm::VAArgInst* CreateVAArg(
    llvm::Value* List,
    llvm::Type* Ty,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Value* List
llvm::Type* Ty
const llvm::Twine& Name = ""

llvm::Value* CreateVectorSplat(
    unsigned int NumElts,
    llvm::Value* V,
    const llvm::Twine& Name = "")

Description

Return a vector value that contains

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

Parameters

unsigned int NumElts
llvm::Value* V
const llvm::Twine& Name = ""

llvm::Value* CreateXor(
    llvm::Value* LHS,
    llvm::Value* RHS,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Value* LHS
llvm::Value* RHS
const llvm::Twine& Name = ""

llvm::Value* CreateXor(
    llvm::Value* LHS,
    const llvm::APInt& RHS,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Value* LHS
const llvm::APInt& RHS
const llvm::Twine& Name = ""

llvm::Value* CreateXor(
    llvm::Value* LHS,
    uint64_t RHS,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Value* LHS
uint64_t RHS
const llvm::Twine& Name = ""

llvm::Value* CreateZExt(
    llvm::Value* V,
    llvm::Type* DestTy,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Value* V
llvm::Type* DestTy
const llvm::Twine& Name = ""

llvm::Value* CreateZExtOrBitCast(
    llvm::Value* V,
    llvm::Type* DestTy,
    const llvm::Twine& Name = "")

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

Parameters

llvm::Value* V
llvm::Type* DestTy
const llvm::Twine& Name = ""

llvm::Value* CreateZExtOrTrunc(
    llvm::Value* V,
    llvm::Type* DestTy,
    const llvm::Twine& Name = "")

Description

Create a ZExt or Trunc from the integer value V to DestTy. Return the value untouched if the type of V is already DestTy.

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

Parameters

llvm::Value* V
llvm::Type* DestTy
const llvm::Twine& Name = ""

IRBuilder<T, Inserter>(
    llvm::LLVMContext& C,
    llvm::MDNode* FPMathTag = nullptr,
    ArrayRef<llvm::OperandBundleDef> OpBundles =
        <null expr>)

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

Parameters

llvm::LLVMContext& C
llvm::MDNode* FPMathTag = nullptr
ArrayRef<llvm::OperandBundleDef> OpBundles = <null expr>

IRBuilder<T, Inserter>(
    llvm::BasicBlock* TheBB,
    int IP,
    llvm::MDNode* FPMathTag = nullptr,
    ArrayRef<llvm::OperandBundleDef> OpBundles =
        <null expr>)

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

Parameters

llvm::BasicBlock* TheBB
int IP
llvm::MDNode* FPMathTag = nullptr
ArrayRef<llvm::OperandBundleDef> OpBundles = <null expr>

IRBuilder<T, Inserter>(
    llvm::BasicBlock* TheBB,
    int IP,
    const T& F,
    llvm::MDNode* FPMathTag = nullptr,
    ArrayRef<llvm::OperandBundleDef> OpBundles =
        <null expr>)

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

Parameters

llvm::BasicBlock* TheBB
int IP
const T& F
llvm::MDNode* FPMathTag = nullptr
ArrayRef<llvm::OperandBundleDef> OpBundles = <null expr>

IRBuilder<T, Inserter>(
    llvm::Instruction* IP,
    llvm::MDNode* FPMathTag = nullptr,
    ArrayRef<llvm::OperandBundleDef> OpBundles =
        <null expr>)

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

Parameters

llvm::Instruction* IP
llvm::MDNode* FPMathTag = nullptr
ArrayRef<llvm::OperandBundleDef> OpBundles = <null expr>

IRBuilder<T, Inserter>(
    llvm::BasicBlock* TheBB,
    llvm::MDNode* FPMathTag = nullptr,
    ArrayRef<llvm::OperandBundleDef> OpBundles =
        <null expr>)

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

Parameters

llvm::BasicBlock* TheBB
llvm::MDNode* FPMathTag = nullptr
ArrayRef<llvm::OperandBundleDef> OpBundles = <null expr>

IRBuilder<T, Inserter>(
    llvm::BasicBlock* TheBB,
    const T& F,
    llvm::MDNode* FPMathTag = nullptr,
    ArrayRef<llvm::OperandBundleDef> OpBundles =
        <null expr>)

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

Parameters

llvm::BasicBlock* TheBB
const T& F
llvm::MDNode* FPMathTag = nullptr
ArrayRef<llvm::OperandBundleDef> OpBundles = <null expr>

IRBuilder<T, Inserter>(
    llvm::LLVMContext& C,
    const T& F,
    Inserter I = type - parameter - 0 - 1(),
    llvm::MDNode* FPMathTag = nullptr,
    ArrayRef<llvm::OperandBundleDef> OpBundles =
        <null expr>)

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

Parameters

llvm::LLVMContext& C
const T& F
Inserter I = type-parameter-0-1()
llvm::MDNode* FPMathTag = nullptr
ArrayRef<llvm::OperandBundleDef> OpBundles = <null expr>

llvm::Constant* Insert(
    llvm::Constant* C,
    const llvm::Twine& = "") const

Description

No-op overload to handle constants.

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

Parameters

llvm::Constant* C
const llvm::Twine& = ""

template <typename InstTy>
InstTy* Insert(InstTy* I,
               const llvm::Twine& Name = "") const

Description

Insert and return the specified instruction.

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

Templates

InstTy

Parameters

InstTy* I
const llvm::Twine& Name = ""

const T& getFolder()

Description

Get the constant folder being used.

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