LLVM: Instruction Builders (original) (raw)

An instruction builder represents a point within a basic block and is the exclusive means of building instructions using the C interface. More...

Functions
LLVM_C_ABI LLVMBuilderRef LLVMCreateBuilderInContext (LLVMContextRef C)
LLVM_C_ABI LLVM_ATTRIBUTE_C_DEPRECATED (LLVMBuilderRef LLVMCreateBuilder(void), "Use of the global context is deprecated, use " "LLVMCreateBuilderInContext instead")
LLVM_C_ABI void LLVMPositionBuilder (LLVMBuilderRef Builder, LLVMBasicBlockRef Block, LLVMValueRef Instr)
Set the builder position before Instr but after any attached debug records, or if Instr is null set the position to the end of Block.
LLVM_C_ABI void LLVMPositionBuilderBeforeDbgRecords (LLVMBuilderRef Builder, LLVMBasicBlockRef Block, LLVMValueRef Inst)
Set the builder position before Instr and any attached debug records, or if Instr is null set the position to the end of Block.
LLVM_C_ABI void LLVMPositionBuilderBefore (LLVMBuilderRef Builder, LLVMValueRef Instr)
Set the builder position before Instr but after any attached debug records.
LLVM_C_ABI void LLVMPositionBuilderBeforeInstrAndDbgRecords (LLVMBuilderRef Builder, LLVMValueRef Instr)
Set the builder position before Instr and any attached debug records.
LLVM_C_ABI void LLVMPositionBuilderAtEnd (LLVMBuilderRef Builder, LLVMBasicBlockRef Block)
LLVM_C_ABI LLVMBasicBlockRef LLVMGetInsertBlock (LLVMBuilderRef Builder)
LLVM_C_ABI void LLVMClearInsertionPosition (LLVMBuilderRef Builder)
LLVM_C_ABI void LLVMInsertIntoBuilder (LLVMBuilderRef Builder, LLVMValueRef Instr)
LLVM_C_ABI void LLVMInsertIntoBuilderWithName (LLVMBuilderRef Builder, LLVMValueRef Instr, const char *Name)
LLVM_C_ABI void LLVMDisposeBuilder (LLVMBuilderRef Builder)
LLVM_C_ABI LLVMMetadataRef LLVMGetCurrentDebugLocation2 (LLVMBuilderRef Builder)
Get location information used by debugging information.
LLVM_C_ABI void LLVMSetCurrentDebugLocation2 (LLVMBuilderRef Builder, LLVMMetadataRef Loc)
Set location information used by debugging information.
LLVM_C_ABI void LLVMSetInstDebugLocation (LLVMBuilderRef Builder, LLVMValueRef Inst)
Attempts to set the debug location for the given instruction using the current debug location for the given builder.
LLVM_C_ABI void LLVMAddMetadataToInst (LLVMBuilderRef Builder, LLVMValueRef Inst)
Adds the metadata registered with the given builder to the given instruction.
LLVM_C_ABI LLVMMetadataRef LLVMBuilderGetDefaultFPMathTag (LLVMBuilderRef Builder)
Get the dafult floating-point math metadata for a given builder.
LLVM_C_ABI void LLVMBuilderSetDefaultFPMathTag (LLVMBuilderRef Builder, LLVMMetadataRef FPMathTag)
Set the default floating-point math metadata for the given builder.
LLVM_C_ABI LLVMContextRef LLVMGetBuilderContext (LLVMBuilderRef Builder)
Obtain the context to which this builder is associated.
LLVM_C_ABI void LLVMSetCurrentDebugLocation (LLVMBuilderRef Builder, LLVMValueRef L)
Deprecated: Passing the NULL location will crash.
LLVM_C_ABI LLVMValueRef LLVMGetCurrentDebugLocation (LLVMBuilderRef Builder)
Deprecated: Returning the NULL location will crash.
LLVM_C_ABI LLVMValueRef LLVMBuildRetVoid (LLVMBuilderRef)
LLVM_C_ABI LLVMValueRef LLVMBuildRet (LLVMBuilderRef, LLVMValueRef V)
LLVM_C_ABI LLVMValueRef LLVMBuildAggregateRet (LLVMBuilderRef, LLVMValueRef *RetVals, unsigned N)
LLVM_C_ABI LLVMValueRef LLVMBuildBr (LLVMBuilderRef, LLVMBasicBlockRef Dest)
LLVM_C_ABI LLVMValueRef LLVMBuildCondBr (LLVMBuilderRef, LLVMValueRef If, LLVMBasicBlockRef Then, LLVMBasicBlockRef Else)
LLVM_C_ABI LLVMValueRef LLVMBuildSwitch (LLVMBuilderRef, LLVMValueRef V, LLVMBasicBlockRef Else, unsigned NumCases)
LLVM_C_ABI LLVMValueRef LLVMBuildIndirectBr (LLVMBuilderRef B, LLVMValueRef Addr, unsigned NumDests)
LLVM_C_ABI LLVMValueRef LLVMBuildCallBr (LLVMBuilderRef B, LLVMTypeRef Ty, LLVMValueRef Fn, LLVMBasicBlockRef DefaultDest, LLVMBasicBlockRef *IndirectDests, unsigned NumIndirectDests, LLVMValueRef *Args, unsigned NumArgs, LLVMOperandBundleRef *Bundles, unsigned NumBundles, const char *Name)
LLVM_C_ABI LLVMValueRef LLVMBuildInvoke2 (LLVMBuilderRef, LLVMTypeRef Ty, LLVMValueRef Fn, LLVMValueRef *Args, unsigned NumArgs, LLVMBasicBlockRef Then, LLVMBasicBlockRef Catch, const char *Name)
LLVM_C_ABI LLVMValueRef LLVMBuildInvokeWithOperandBundles (LLVMBuilderRef, LLVMTypeRef Ty, LLVMValueRef Fn, LLVMValueRef *Args, unsigned NumArgs, LLVMBasicBlockRef Then, LLVMBasicBlockRef Catch, LLVMOperandBundleRef *Bundles, unsigned NumBundles, const char *Name)
LLVM_C_ABI LLVMValueRef LLVMBuildUnreachable (LLVMBuilderRef)
LLVM_C_ABI LLVMValueRef LLVMBuildResume (LLVMBuilderRef B, LLVMValueRef Exn)
LLVM_C_ABI LLVMValueRef LLVMBuildLandingPad (LLVMBuilderRef B, LLVMTypeRef Ty, LLVMValueRef PersFn, unsigned NumClauses, const char *Name)
LLVM_C_ABI LLVMValueRef LLVMBuildCleanupRet (LLVMBuilderRef B, LLVMValueRef CatchPad, LLVMBasicBlockRef BB)
LLVM_C_ABI LLVMValueRef LLVMBuildCatchRet (LLVMBuilderRef B, LLVMValueRef CatchPad, LLVMBasicBlockRef BB)
LLVM_C_ABI LLVMValueRef LLVMBuildCatchPad (LLVMBuilderRef B, LLVMValueRef ParentPad, LLVMValueRef *Args, unsigned NumArgs, const char *Name)
LLVM_C_ABI LLVMValueRef LLVMBuildCleanupPad (LLVMBuilderRef B, LLVMValueRef ParentPad, LLVMValueRef *Args, unsigned NumArgs, const char *Name)
LLVM_C_ABI LLVMValueRef LLVMBuildCatchSwitch (LLVMBuilderRef B, LLVMValueRef ParentPad, LLVMBasicBlockRef UnwindBB, unsigned NumHandlers, const char *Name)
LLVM_C_ABI void LLVMAddCase (LLVMValueRef Switch, LLVMValueRef OnVal, LLVMBasicBlockRef Dest)
LLVM_C_ABI void LLVMAddDestination (LLVMValueRef IndirectBr, LLVMBasicBlockRef Dest)
LLVM_C_ABI unsigned LLVMGetNumClauses (LLVMValueRef LandingPad)
LLVM_C_ABI LLVMValueRef LLVMGetClause (LLVMValueRef LandingPad, unsigned Idx)
LLVM_C_ABI void LLVMAddClause (LLVMValueRef LandingPad, LLVMValueRef ClauseVal)
LLVM_C_ABI LLVMBool LLVMIsCleanup (LLVMValueRef LandingPad)
LLVM_C_ABI void LLVMSetCleanup (LLVMValueRef LandingPad, LLVMBool Val)
LLVM_C_ABI void LLVMAddHandler (LLVMValueRef CatchSwitch, LLVMBasicBlockRef Dest)
LLVM_C_ABI unsigned LLVMGetNumHandlers (LLVMValueRef CatchSwitch)
LLVM_C_ABI void LLVMGetHandlers (LLVMValueRef CatchSwitch, LLVMBasicBlockRef *Handlers)
Obtain the basic blocks acting as handlers for a catchswitch instruction.
LLVM_C_ABI LLVMValueRef LLVMGetArgOperand (LLVMValueRef Funclet, unsigned i)
LLVM_C_ABI void LLVMSetArgOperand (LLVMValueRef Funclet, unsigned i, LLVMValueRef value)
LLVM_C_ABI LLVMValueRef LLVMGetParentCatchSwitch (LLVMValueRef CatchPad)
Get the parent catchswitch instruction of a catchpad instruction.
LLVM_C_ABI void LLVMSetParentCatchSwitch (LLVMValueRef CatchPad, LLVMValueRef CatchSwitch)
Set the parent catchswitch instruction of a catchpad instruction.
LLVM_C_ABI LLVMValueRef LLVMBuildAdd (LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
LLVM_C_ABI LLVMValueRef LLVMBuildNSWAdd (LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
LLVM_C_ABI LLVMValueRef LLVMBuildNUWAdd (LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
LLVM_C_ABI LLVMValueRef LLVMBuildFAdd (LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
LLVM_C_ABI LLVMValueRef LLVMBuildSub (LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
LLVM_C_ABI LLVMValueRef LLVMBuildNSWSub (LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
LLVM_C_ABI LLVMValueRef LLVMBuildNUWSub (LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
LLVM_C_ABI LLVMValueRef LLVMBuildFSub (LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
LLVM_C_ABI LLVMValueRef LLVMBuildMul (LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
LLVM_C_ABI LLVMValueRef LLVMBuildNSWMul (LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
LLVM_C_ABI LLVMValueRef LLVMBuildNUWMul (LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
LLVM_C_ABI LLVMValueRef LLVMBuildFMul (LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
LLVM_C_ABI LLVMValueRef LLVMBuildUDiv (LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
LLVM_C_ABI LLVMValueRef LLVMBuildExactUDiv (LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
LLVM_C_ABI LLVMValueRef LLVMBuildSDiv (LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
LLVM_C_ABI LLVMValueRef LLVMBuildExactSDiv (LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
LLVM_C_ABI LLVMValueRef LLVMBuildFDiv (LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
LLVM_C_ABI LLVMValueRef LLVMBuildURem (LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
LLVM_C_ABI LLVMValueRef LLVMBuildSRem (LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
LLVM_C_ABI LLVMValueRef LLVMBuildFRem (LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
LLVM_C_ABI LLVMValueRef LLVMBuildShl (LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
LLVM_C_ABI LLVMValueRef LLVMBuildLShr (LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
LLVM_C_ABI LLVMValueRef LLVMBuildAShr (LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
LLVM_C_ABI LLVMValueRef LLVMBuildAnd (LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
LLVM_C_ABI LLVMValueRef LLVMBuildOr (LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
LLVM_C_ABI LLVMValueRef LLVMBuildXor (LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
LLVM_C_ABI LLVMValueRef LLVMBuildBinOp (LLVMBuilderRef B, LLVMOpcode Op, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
LLVM_C_ABI LLVMValueRef LLVMBuildNeg (LLVMBuilderRef, LLVMValueRef V, const char *Name)
LLVM_C_ABI LLVMValueRef LLVMBuildNSWNeg (LLVMBuilderRef B, LLVMValueRef V, const char *Name)
LLVM_C_ABI LLVM_ATTRIBUTE_C_DEPRECATED (LLVMValueRef LLVMBuildNUWNeg(LLVMBuilderRef B, LLVMValueRef V, const char *Name), "Use LLVMBuildNeg + LLVMSetNUW instead.")
LLVM_C_ABI LLVMValueRef LLVMBuildFNeg (LLVMBuilderRef, LLVMValueRef V, const char *Name)
LLVM_C_ABI LLVMValueRef LLVMBuildNot (LLVMBuilderRef, LLVMValueRef V, const char *Name)
LLVM_C_ABI LLVMBool LLVMGetNUW (LLVMValueRef ArithInst)
LLVM_C_ABI void LLVMSetNUW (LLVMValueRef ArithInst, LLVMBool HasNUW)
LLVM_C_ABI LLVMBool LLVMGetNSW (LLVMValueRef ArithInst)
LLVM_C_ABI void LLVMSetNSW (LLVMValueRef ArithInst, LLVMBool HasNSW)
LLVM_C_ABI LLVMBool LLVMGetExact (LLVMValueRef DivOrShrInst)
LLVM_C_ABI void LLVMSetExact (LLVMValueRef DivOrShrInst, LLVMBool IsExact)
LLVM_C_ABI LLVMBool LLVMGetNNeg (LLVMValueRef NonNegInst)
Gets if the instruction has the non-negative flag set.
LLVM_C_ABI void LLVMSetNNeg (LLVMValueRef NonNegInst, LLVMBool IsNonNeg)
Sets the non-negative flag for the instruction.
LLVM_C_ABI LLVMFastMathFlags LLVMGetFastMathFlags (LLVMValueRef FPMathInst)
Get the flags for which fast-math-style optimizations are allowed for this value.
LLVM_C_ABI void LLVMSetFastMathFlags (LLVMValueRef FPMathInst, LLVMFastMathFlags FMF)
Sets the flags for which fast-math-style optimizations are allowed for this value.
LLVM_C_ABI LLVMBool LLVMCanValueUseFastMathFlags (LLVMValueRef Inst)
Check if a given value can potentially have fast math flags.
LLVM_C_ABI LLVMBool LLVMGetIsDisjoint (LLVMValueRef Inst)
Gets whether the instruction has the disjoint flag set.
LLVM_C_ABI void LLVMSetIsDisjoint (LLVMValueRef Inst, LLVMBool IsDisjoint)
Sets the disjoint flag for the instruction.
LLVM_C_ABI LLVMValueRef LLVMBuildMalloc (LLVMBuilderRef, LLVMTypeRef Ty, const char *Name)
LLVM_C_ABI LLVMValueRef LLVMBuildArrayMalloc (LLVMBuilderRef, LLVMTypeRef Ty, LLVMValueRef Val, const char *Name)
LLVM_C_ABI LLVMValueRef LLVMBuildMemSet (LLVMBuilderRef B, LLVMValueRef Ptr, LLVMValueRef Val, LLVMValueRef Len, unsigned Align)
Creates and inserts a memset to the specified pointer and the specified value.
LLVM_C_ABI LLVMValueRef LLVMBuildMemCpy (LLVMBuilderRef B, LLVMValueRef Dst, unsigned DstAlign, LLVMValueRef Src, unsigned SrcAlign, LLVMValueRef Size)
Creates and inserts a memcpy between the specified pointers.
LLVM_C_ABI LLVMValueRef LLVMBuildMemMove (LLVMBuilderRef B, LLVMValueRef Dst, unsigned DstAlign, LLVMValueRef Src, unsigned SrcAlign, LLVMValueRef Size)
Creates and inserts a memmove between the specified pointers.
LLVM_C_ABI LLVMValueRef LLVMBuildAlloca (LLVMBuilderRef, LLVMTypeRef Ty, const char *Name)
LLVM_C_ABI LLVMValueRef LLVMBuildArrayAlloca (LLVMBuilderRef, LLVMTypeRef Ty, LLVMValueRef Val, const char *Name)
LLVM_C_ABI LLVMValueRef LLVMBuildFree (LLVMBuilderRef, LLVMValueRef PointerVal)
LLVM_C_ABI LLVMValueRef LLVMBuildLoad2 (LLVMBuilderRef, LLVMTypeRef Ty, LLVMValueRef PointerVal, const char *Name)
LLVM_C_ABI LLVMValueRef LLVMBuildStore (LLVMBuilderRef, LLVMValueRef Val, LLVMValueRef Ptr)
LLVM_C_ABI LLVMValueRef LLVMBuildGEP2 (LLVMBuilderRef B, LLVMTypeRef Ty, LLVMValueRef Pointer, LLVMValueRef *Indices, unsigned NumIndices, const char *Name)
LLVM_C_ABI LLVMValueRef LLVMBuildInBoundsGEP2 (LLVMBuilderRef B, LLVMTypeRef Ty, LLVMValueRef Pointer, LLVMValueRef *Indices, unsigned NumIndices, const char *Name)
LLVM_C_ABI LLVMValueRef LLVMBuildGEPWithNoWrapFlags (LLVMBuilderRef B, LLVMTypeRef Ty, LLVMValueRef Pointer, LLVMValueRef *Indices, unsigned NumIndices, const char *Name, LLVMGEPNoWrapFlags NoWrapFlags)
Creates a GetElementPtr instruction.
LLVM_C_ABI LLVMValueRef LLVMBuildStructGEP2 (LLVMBuilderRef B, LLVMTypeRef Ty, LLVMValueRef Pointer, unsigned Idx, const char *Name)
LLVM_C_ABI LLVMValueRef LLVMBuildGlobalString (LLVMBuilderRef B, const char *Str, const char *Name)
LLVM_C_ABI LLVMValueRef LLVMBuildGlobalStringPtr (LLVMBuilderRef B, const char *Str, const char *Name)
Deprecated: Use LLVMBuildGlobalString instead, which has identical behavior.
LLVM_C_ABI LLVMBool LLVMGetVolatile (LLVMValueRef Inst)
LLVM_C_ABI void LLVMSetVolatile (LLVMValueRef MemoryAccessInst, LLVMBool IsVolatile)
LLVM_C_ABI LLVMBool LLVMGetWeak (LLVMValueRef CmpXchgInst)
LLVM_C_ABI void LLVMSetWeak (LLVMValueRef CmpXchgInst, LLVMBool IsWeak)
LLVM_C_ABI LLVMAtomicOrdering LLVMGetOrdering (LLVMValueRef MemoryAccessInst)
LLVM_C_ABI void LLVMSetOrdering (LLVMValueRef MemoryAccessInst, LLVMAtomicOrdering Ordering)
LLVM_C_ABI LLVMAtomicRMWBinOp LLVMGetAtomicRMWBinOp (LLVMValueRef AtomicRMWInst)
LLVM_C_ABI void LLVMSetAtomicRMWBinOp (LLVMValueRef AtomicRMWInst, LLVMAtomicRMWBinOp BinOp)
LLVM_C_ABI LLVMValueRef LLVMBuildTrunc (LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)
LLVM_C_ABI LLVMValueRef LLVMBuildZExt (LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)
LLVM_C_ABI LLVMValueRef LLVMBuildSExt (LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)
LLVM_C_ABI LLVMValueRef LLVMBuildFPToUI (LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)
LLVM_C_ABI LLVMValueRef LLVMBuildFPToSI (LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)
LLVM_C_ABI LLVMValueRef LLVMBuildUIToFP (LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)
LLVM_C_ABI LLVMValueRef LLVMBuildSIToFP (LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)
LLVM_C_ABI LLVMValueRef LLVMBuildFPTrunc (LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)
LLVM_C_ABI LLVMValueRef LLVMBuildFPExt (LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)
LLVM_C_ABI LLVMValueRef LLVMBuildPtrToInt (LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)
LLVM_C_ABI LLVMValueRef LLVMBuildIntToPtr (LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)
LLVM_C_ABI LLVMValueRef LLVMBuildBitCast (LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)
LLVM_C_ABI LLVMValueRef LLVMBuildAddrSpaceCast (LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)
LLVM_C_ABI LLVMValueRef LLVMBuildZExtOrBitCast (LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)
LLVM_C_ABI LLVMValueRef LLVMBuildSExtOrBitCast (LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)
LLVM_C_ABI LLVMValueRef LLVMBuildTruncOrBitCast (LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)
LLVM_C_ABI LLVMValueRef LLVMBuildCast (LLVMBuilderRef B, LLVMOpcode Op, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)
LLVM_C_ABI LLVMValueRef LLVMBuildPointerCast (LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)
LLVM_C_ABI LLVMValueRef LLVMBuildIntCast2 (LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, LLVMBool IsSigned, const char *Name)
LLVM_C_ABI LLVMValueRef LLVMBuildFPCast (LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)
LLVM_C_ABI LLVMValueRef LLVMBuildIntCast (LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)
Deprecated: This cast is always signed.
LLVM_C_ABI LLVMOpcode LLVMGetCastOpcode (LLVMValueRef Src, LLVMBool SrcIsSigned, LLVMTypeRef DestTy, LLVMBool DestIsSigned)
LLVM_C_ABI LLVMValueRef LLVMBuildICmp (LLVMBuilderRef, LLVMIntPredicate Op, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
LLVM_C_ABI LLVMValueRef LLVMBuildFCmp (LLVMBuilderRef, LLVMRealPredicate Op, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
LLVM_C_ABI LLVMValueRef LLVMBuildPhi (LLVMBuilderRef, LLVMTypeRef Ty, const char *Name)
LLVM_C_ABI LLVMValueRef LLVMBuildCall2 (LLVMBuilderRef, LLVMTypeRef, LLVMValueRef Fn, LLVMValueRef *Args, unsigned NumArgs, const char *Name)
LLVM_C_ABI LLVMValueRef LLVMBuildCallWithOperandBundles (LLVMBuilderRef, LLVMTypeRef, LLVMValueRef Fn, LLVMValueRef *Args, unsigned NumArgs, LLVMOperandBundleRef *Bundles, unsigned NumBundles, const char *Name)
LLVM_C_ABI LLVMValueRef LLVMBuildSelect (LLVMBuilderRef, LLVMValueRef If, LLVMValueRef Then, LLVMValueRef Else, const char *Name)
LLVM_C_ABI LLVMValueRef LLVMBuildVAArg (LLVMBuilderRef, LLVMValueRef List, LLVMTypeRef Ty, const char *Name)
LLVM_C_ABI LLVMValueRef LLVMBuildExtractElement (LLVMBuilderRef, LLVMValueRef VecVal, LLVMValueRef Index, const char *Name)
LLVM_C_ABI LLVMValueRef LLVMBuildInsertElement (LLVMBuilderRef, LLVMValueRef VecVal, LLVMValueRef EltVal, LLVMValueRef Index, const char *Name)
LLVM_C_ABI LLVMValueRef LLVMBuildShuffleVector (LLVMBuilderRef, LLVMValueRef V1, LLVMValueRef V2, LLVMValueRef Mask, const char *Name)
LLVM_C_ABI LLVMValueRef LLVMBuildExtractValue (LLVMBuilderRef, LLVMValueRef AggVal, unsigned Index, const char *Name)
LLVM_C_ABI LLVMValueRef LLVMBuildInsertValue (LLVMBuilderRef, LLVMValueRef AggVal, LLVMValueRef EltVal, unsigned Index, const char *Name)
LLVM_C_ABI LLVMValueRef LLVMBuildFreeze (LLVMBuilderRef, LLVMValueRef Val, const char *Name)
LLVM_C_ABI LLVMValueRef LLVMBuildIsNull (LLVMBuilderRef, LLVMValueRef Val, const char *Name)
LLVM_C_ABI LLVMValueRef LLVMBuildIsNotNull (LLVMBuilderRef, LLVMValueRef Val, const char *Name)
LLVM_C_ABI LLVMValueRef LLVMBuildPtrDiff2 (LLVMBuilderRef, LLVMTypeRef ElemTy, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
LLVM_C_ABI LLVMValueRef LLVMBuildFence (LLVMBuilderRef B, LLVMAtomicOrdering ordering, LLVMBool singleThread, const char *Name)
LLVM_C_ABI LLVMValueRef LLVMBuildFenceSyncScope (LLVMBuilderRef B, LLVMAtomicOrdering ordering, unsigned SSID, const char *Name)
LLVM_C_ABI LLVMValueRef LLVMBuildAtomicRMW (LLVMBuilderRef B, LLVMAtomicRMWBinOp op, LLVMValueRef PTR, LLVMValueRef Val, LLVMAtomicOrdering ordering, LLVMBool singleThread)
LLVM_C_ABI LLVMValueRef LLVMBuildAtomicRMWSyncScope (LLVMBuilderRef B, LLVMAtomicRMWBinOp op, LLVMValueRef PTR, LLVMValueRef Val, LLVMAtomicOrdering ordering, unsigned SSID)
LLVM_C_ABI LLVMValueRef LLVMBuildAtomicCmpXchg (LLVMBuilderRef B, LLVMValueRef Ptr, LLVMValueRef Cmp, LLVMValueRef New, LLVMAtomicOrdering SuccessOrdering, LLVMAtomicOrdering FailureOrdering, LLVMBool SingleThread)
LLVM_C_ABI LLVMValueRef LLVMBuildAtomicCmpXchgSyncScope (LLVMBuilderRef B, LLVMValueRef Ptr, LLVMValueRef Cmp, LLVMValueRef New, LLVMAtomicOrdering SuccessOrdering, LLVMAtomicOrdering FailureOrdering, unsigned SSID)
LLVM_C_ABI unsigned LLVMGetNumMaskElements (LLVMValueRef ShuffleVectorInst)
Get the number of elements in the mask of a ShuffleVector instruction.
LLVM_C_ABI int LLVMGetUndefMaskElem (void)
LLVM_C_ABI int LLVMGetMaskValue (LLVMValueRef ShuffleVectorInst, unsigned Elt)
Get the mask value at position Elt in the mask of a ShuffleVector instruction.
LLVM_C_ABI LLVMBool LLVMIsAtomicSingleThread (LLVMValueRef AtomicInst)
LLVM_C_ABI void LLVMSetAtomicSingleThread (LLVMValueRef AtomicInst, LLVMBool SingleThread)
LLVM_C_ABI LLVMBool LLVMIsAtomic (LLVMValueRef Inst)
Returns whether an instruction is an atomic instruction, e.g., atomicrmw, cmpxchg, fence, or loads and stores with atomic ordering.
LLVM_C_ABI unsigned LLVMGetAtomicSyncScopeID (LLVMValueRef AtomicInst)
Returns the synchronization scope ID of an atomic instruction.
LLVM_C_ABI void LLVMSetAtomicSyncScopeID (LLVMValueRef AtomicInst, unsigned SSID)
Sets the synchronization scope ID of an atomic instruction.
LLVM_C_ABI LLVMAtomicOrdering LLVMGetCmpXchgSuccessOrdering (LLVMValueRef CmpXchgInst)
LLVM_C_ABI void LLVMSetCmpXchgSuccessOrdering (LLVMValueRef CmpXchgInst, LLVMAtomicOrdering Ordering)
LLVM_C_ABI LLVMAtomicOrdering LLVMGetCmpXchgFailureOrdering (LLVMValueRef CmpXchgInst)
LLVM_C_ABI void LLVMSetCmpXchgFailureOrdering (LLVMValueRef CmpXchgInst, LLVMAtomicOrdering Ordering)

An instruction builder represents a point within a basic block and is the exclusive means of building instructions using the C interface.

LLVM_ATTRIBUTE_C_DEPRECATED() [1/2]

LLVM_ATTRIBUTE_C_DEPRECATED() [2/2]

LLVM_C_ABI LLVM_ATTRIBUTE_C_DEPRECATED ( LLVMValueRef _LLVMBuildNUWNeg_LLVMBuilderRef B, LLVMValueRef V, const char *Name,
"Use LLVMBuildNeg + LLVMSetNUW instead." )

LLVMAddCase()

LLVMAddClause()

LLVMAddDestination()

LLVMAddHandler()

LLVMAddMetadataToInst()

LLVMBuildAdd()

LLVMBuildAddrSpaceCast()

LLVMBuildAggregateRet()

LLVMBuildAlloca()

LLVMBuildAnd()

LLVMBuildArrayAlloca()

LLVMBuildArrayMalloc()

LLVMBuildAShr()

LLVMBuildAtomicCmpXchg()

LLVMBuildAtomicCmpXchgSyncScope()

LLVMBuildAtomicRMW()

LLVMBuildAtomicRMWSyncScope()

LLVMBuildBinOp()

LLVMBuildBitCast()

LLVMBuildBr()

LLVMBuildCall2()

LLVMBuildCallBr()

LLVM_C_ABI LLVMValueRef LLVMBuildCallBr ( LLVMBuilderRef B,
LLVMTypeRef Ty,
LLVMValueRef Fn,
LLVMBasicBlockRef DefaultDest,
LLVMBasicBlockRef * IndirectDests,
unsigned NumIndirectDests,
LLVMValueRef * Args,
unsigned NumArgs,
LLVMOperandBundleRef * Bundles,
unsigned NumBundles,
const char * Name )

LLVMBuildCallWithOperandBundles()

LLVMBuildCast()

LLVMBuildCatchPad()

LLVMBuildCatchRet()

LLVMBuildCatchSwitch()

LLVMBuildCleanupPad()

LLVMBuildCleanupRet()

LLVMBuildCondBr()

LLVMBuilderGetDefaultFPMathTag()

LLVMBuilderSetDefaultFPMathTag()

LLVMBuildExactSDiv()

LLVMBuildExactUDiv()

LLVMBuildExtractElement()

LLVMBuildExtractValue()

LLVMBuildFAdd()

LLVMBuildFCmp()

LLVMBuildFDiv()

LLVMBuildFence()

LLVMBuildFenceSyncScope()

LLVMBuildFMul()

LLVMBuildFNeg()

LLVMBuildFPCast()

LLVMBuildFPExt()

LLVMBuildFPToSI()

LLVMBuildFPToUI()

LLVMBuildFPTrunc()

LLVMBuildFree()

LLVMBuildFreeze()

LLVMBuildFRem()

LLVMBuildFSub()

LLVMBuildGEP2()

LLVMBuildGEPWithNoWrapFlags()

LLVMBuildGlobalString()

LLVMBuildGlobalStringPtr()

LLVMBuildICmp()

LLVMBuildInBoundsGEP2()

LLVMBuildIndirectBr()

LLVMBuildInsertElement()

LLVMBuildInsertValue()

LLVMBuildIntCast()

LLVMBuildIntCast2()

LLVMBuildIntToPtr()

LLVMBuildInvoke2()

LLVMBuildInvokeWithOperandBundles()

LLVMBuildIsNotNull()

LLVMBuildIsNull()

LLVMBuildLandingPad()

LLVMBuildLoad2()

LLVMBuildLShr()

LLVMBuildMalloc()

LLVMBuildMemCpy()

LLVMBuildMemMove()

LLVMBuildMemSet()

Creates and inserts a memset to the specified pointer and the specified value.

See also

llvm::IRRBuilder::CreateMemSet()

Definition at line 3938 of file Core.cpp.

References B(), llvm::unwrap(), and llvm::wrap().

LLVMBuildMul()

LLVMBuildNeg()

LLVMBuildNot()

LLVMBuildNSWAdd()

LLVMBuildNSWMul()

LLVMBuildNSWNeg()

LLVMBuildNSWSub()

LLVMBuildNUWAdd()

LLVMBuildNUWMul()

LLVMBuildNUWSub()

LLVMBuildOr()

LLVMBuildPhi()

LLVMBuildPointerCast()

LLVMBuildPtrDiff2()

LLVMBuildPtrToInt()

LLVMBuildResume()

LLVMBuildRet()

LLVMBuildRetVoid()

LLVMBuildSDiv()

LLVMBuildSelect()

LLVMBuildSExt()

LLVMBuildSExtOrBitCast()

LLVMBuildShl()

LLVMBuildShuffleVector()

LLVMBuildSIToFP()

LLVMBuildSRem()

LLVMBuildStore()

LLVMBuildStructGEP2()

LLVMBuildSub()

LLVMBuildSwitch()

LLVMBuildTrunc()

LLVMBuildTruncOrBitCast()

LLVMBuildUDiv()

LLVMBuildUIToFP()

LLVMBuildUnreachable()

LLVMBuildURem()

LLVMBuildVAArg()

LLVMBuildXor()

LLVMBuildZExt()

LLVMBuildZExtOrBitCast()

LLVMCanValueUseFastMathFlags()

LLVMClearInsertionPosition()

LLVMCreateBuilderInContext()

LLVMDisposeBuilder()

LLVMGetArgOperand()

LLVMGetAtomicRMWBinOp()

LLVMGetAtomicSyncScopeID()

LLVMGetBuilderContext()

LLVMGetCastOpcode()

LLVMGetClause()

LLVMGetCmpXchgFailureOrdering()

LLVMGetCmpXchgSuccessOrdering()

LLVMGetCurrentDebugLocation()

LLVMGetCurrentDebugLocation2()

LLVMGetExact()

LLVMGetFastMathFlags()

LLVMGetHandlers()

Obtain the basic blocks acting as handlers for a catchswitch instruction.

The Handlers parameter should point to a pre-allocated array of LLVMBasicBlockRefs at least LLVMGetNumHandlers() large. On return, the first LLVMGetNumHandlers() entries in the array will be populated with LLVMBasicBlockRef instances.

Parameters

CatchSwitch The catchswitch instruction to operate on.
Handlers Memory address of an array to be filled with basic blocks.

Definition at line 3630 of file Core.cpp.

References H, llvm::CatchSwitchInst::handlers(), llvm::unwrap(), and llvm::wrap().

LLVMGetInsertBlock()

LLVMGetIsDisjoint()

LLVMGetMaskValue()

Get the mask value at position Elt in the mask of a ShuffleVector instruction.

\Returns the result of [LLVMGetUndefMaskElem()](#gae4bda5ff5092847a74d0b63fd02d6247) if the mask value is poison at that position.

Definition at line 4487 of file Core.cpp.

References llvm::cast(), I, P, and llvm::unwrap().

LLVMGetNNeg()

LLVMGetNSW()

LLVMGetNumClauses()

LLVMGetNumHandlers()

LLVMGetNumMaskElements()

LLVMGetNUW()

LLVMGetOrdering()

LLVMGetParentCatchSwitch()

LLVMGetUndefMaskElem()

Returns

a constant that specifies that the result of a ShuffleVectorInst is undefined.

Definition at line 4493 of file Core.cpp.

References llvm::PoisonMaskElem.

LLVMGetVolatile()

LLVMGetWeak()

LLVMInsertIntoBuilder()

LLVMInsertIntoBuilderWithName()

LLVMIsAtomic()

Returns whether an instruction is an atomic instruction, e.g., atomicrmw, cmpxchg, fence, or loads and stores with atomic ordering.

Definition at line 4495 of file Core.cpp.

References llvm::unwrap().

LLVMIsAtomicSingleThread()

LLVMIsCleanup()

LLVMPositionBuilder()

LLVMPositionBuilderAtEnd()

LLVMPositionBuilderBefore()

LLVMPositionBuilderBeforeDbgRecords()

LLVMPositionBuilderBeforeInstrAndDbgRecords()

LLVMSetArgOperand()

LLVMSetAtomicRMWBinOp()

LLVMSetAtomicSingleThread()

LLVMSetAtomicSyncScopeID()

LLVMSetCleanup()

LLVMSetCmpXchgFailureOrdering()

LLVMSetCmpXchgSuccessOrdering()

LLVMSetCurrentDebugLocation()

LLVMSetCurrentDebugLocation2()

LLVMSetExact()

LLVMSetFastMathFlags()

LLVMSetInstDebugLocation()

Attempts to set the debug location for the given instruction using the current debug location for the given builder.

If the builder has no current debug location, this function is a no-op.

Deprecated

LLVMSetInstDebugLocation is deprecated in favor of the more general LLVMAddMetadataToInst.

See also

llvm::IRBuilder::SetInstDebugLocation()

Definition at line 3432 of file Core.cpp.

References llvm::unwrap().

LLVMSetIsDisjoint()

LLVMSetNNeg()

LLVMSetNSW()

LLVMSetNUW()

LLVMSetOrdering()

LLVMSetParentCatchSwitch()

LLVMSetVolatile()

LLVMSetWeak()