LLVM 22.0.0git
Functions
Call Sites and Invocations

Functions in this group apply to instructions that refer to call sites and invocations. More...

Collaboration diagram for Call Sites and Invocations:

Functions

LLVM_C_ABI unsigned LLVMGetNumArgOperands (LLVMValueRef Instr)
 Obtain the argument count for a call instruction.
 
LLVM_C_ABI void LLVMSetInstructionCallConv (LLVMValueRef Instr, unsigned CC)
 Set the calling convention for a call instruction.
 
LLVM_C_ABI unsigned LLVMGetInstructionCallConv (LLVMValueRef Instr)
 Obtain the calling convention for a call instruction.
 
LLVM_C_ABI void LLVMSetInstrParamAlignment (LLVMValueRef Instr, LLVMAttributeIndex Idx, unsigned Align)
 
LLVM_C_ABI void LLVMAddCallSiteAttribute (LLVMValueRef C, LLVMAttributeIndex Idx, LLVMAttributeRef A)
 
LLVM_C_ABI unsigned LLVMGetCallSiteAttributeCount (LLVMValueRef C, LLVMAttributeIndex Idx)
 
LLVM_C_ABI void LLVMGetCallSiteAttributes (LLVMValueRef C, LLVMAttributeIndex Idx, LLVMAttributeRef *Attrs)
 
LLVM_C_ABI LLVMAttributeRef LLVMGetCallSiteEnumAttribute (LLVMValueRef C, LLVMAttributeIndex Idx, unsigned KindID)
 
LLVM_C_ABI LLVMAttributeRef LLVMGetCallSiteStringAttribute (LLVMValueRef C, LLVMAttributeIndex Idx, const char *K, unsigned KLen)
 
LLVM_C_ABI void LLVMRemoveCallSiteEnumAttribute (LLVMValueRef C, LLVMAttributeIndex Idx, unsigned KindID)
 
LLVM_C_ABI void LLVMRemoveCallSiteStringAttribute (LLVMValueRef C, LLVMAttributeIndex Idx, const char *K, unsigned KLen)
 
LLVM_C_ABI LLVMTypeRef LLVMGetCalledFunctionType (LLVMValueRef C)
 Obtain the function type called by this instruction.
 
LLVM_C_ABI LLVMValueRef LLVMGetCalledValue (LLVMValueRef Instr)
 Obtain the pointer to the function invoked by this instruction.
 
LLVM_C_ABI unsigned LLVMGetNumOperandBundles (LLVMValueRef C)
 Obtain the number of operand bundles attached to this instruction.
 
LLVM_C_ABI LLVMOperandBundleRef LLVMGetOperandBundleAtIndex (LLVMValueRef C, unsigned Index)
 Obtain the operand bundle attached to this instruction at the given index.
 
LLVM_C_ABI LLVMBool LLVMIsTailCall (LLVMValueRef CallInst)
 Obtain whether a call instruction is a tail call.
 
LLVM_C_ABI void LLVMSetTailCall (LLVMValueRef CallInst, LLVMBool IsTailCall)
 Set whether a call instruction is a tail call.
 
LLVM_C_ABI LLVMTailCallKind LLVMGetTailCallKind (LLVMValueRef CallInst)
 Obtain a tail call kind of the call instruction.
 
LLVM_C_ABI void LLVMSetTailCallKind (LLVMValueRef CallInst, LLVMTailCallKind kind)
 Set the call kind of the call instruction.
 
LLVM_C_ABI LLVMBasicBlockRef LLVMGetNormalDest (LLVMValueRef InvokeInst)
 Return the normal destination basic block.
 
LLVM_C_ABI LLVMBasicBlockRef LLVMGetUnwindDest (LLVMValueRef InvokeInst)
 Return the unwind destination basic block.
 
LLVM_C_ABI void LLVMSetNormalDest (LLVMValueRef InvokeInst, LLVMBasicBlockRef B)
 Set the normal destination basic block.
 
LLVM_C_ABI void LLVMSetUnwindDest (LLVMValueRef InvokeInst, LLVMBasicBlockRef B)
 Set the unwind destination basic block.
 
LLVM_C_ABI LLVMBasicBlockRef LLVMGetCallBrDefaultDest (LLVMValueRef CallBr)
 Get the default destination of a CallBr instruction.
 
LLVM_C_ABI unsigned LLVMGetCallBrNumIndirectDests (LLVMValueRef CallBr)
 Get the number of indirect destinations of a CallBr instruction.
 
LLVM_C_ABI LLVMBasicBlockRef LLVMGetCallBrIndirectDest (LLVMValueRef CallBr, unsigned Idx)
 Get the indirect destination of a CallBr instruction at the given index.
 

Detailed Description

Functions in this group apply to instructions that refer to call sites and invocations.

These correspond to C++ types in the llvm::CallInst class tree.

Function Documentation

◆ LLVMAddCallSiteAttribute()

LLVM_C_ABI void LLVMAddCallSiteAttribute ( LLVMValueRef  C,
LLVMAttributeIndex  Idx,
LLVMAttributeRef  A 
)

Definition at line 3053 of file Core.cpp.

References A, llvm::CallingConv::C, Idx, and unwrap().

◆ LLVMGetCallBrDefaultDest()

LLVM_C_ABI LLVMBasicBlockRef LLVMGetCallBrDefaultDest ( LLVMValueRef  CallBr)

Get the default destination of a CallBr instruction.

See also
llvm::CallBrInst::getDefaultDest()

Definition at line 3161 of file Core.cpp.

References llvm::wrap().

◆ LLVMGetCallBrIndirectDest()

LLVM_C_ABI LLVMBasicBlockRef LLVMGetCallBrIndirectDest ( LLVMValueRef  CallBr,
unsigned  Idx 
)

Get the indirect destination of a CallBr instruction at the given index.

See also
llvm::CallBrInst::getIndirectDest()

Definition at line 3169 of file Core.cpp.

References Idx, and llvm::wrap().

◆ LLVMGetCallBrNumIndirectDests()

LLVM_C_ABI unsigned LLVMGetCallBrNumIndirectDests ( LLVMValueRef  CallBr)

Get the number of indirect destinations of a CallBr instruction.

See also
llvm::CallBrInst::getNumIndirectDests()

Definition at line 3165 of file Core.cpp.

◆ LLVMGetCalledFunctionType()

LLVM_C_ABI LLVMTypeRef LLVMGetCalledFunctionType ( LLVMValueRef  C)

Obtain the function type called by this instruction.

See also
llvm::CallBase::getFunctionType()

Definition at line 3101 of file Core.cpp.

References llvm::wrap().

◆ LLVMGetCalledValue()

LLVM_C_ABI LLVMValueRef LLVMGetCalledValue ( LLVMValueRef  Instr)

Obtain the pointer to the function invoked by this instruction.

This expects an LLVMValueRef that corresponds to a llvm::CallInst or llvm::InvokeInst.

See also
llvm::CallInst::getCalledOperand()
llvm::InvokeInst::getCalledOperand()

Definition at line 3097 of file Core.cpp.

References llvm::wrap().

◆ LLVMGetCallSiteAttributeCount()

LLVM_C_ABI unsigned LLVMGetCallSiteAttributeCount ( LLVMValueRef  C,
LLVMAttributeIndex  Idx 
)

Definition at line 3058 of file Core.cpp.

References llvm::CallingConv::C, and Idx.

◆ LLVMGetCallSiteAttributes()

LLVM_C_ABI void LLVMGetCallSiteAttributes ( LLVMValueRef  C,
LLVMAttributeIndex  Idx,
LLVMAttributeRef Attrs 
)

Definition at line 3065 of file Core.cpp.

References A, llvm::CallingConv::C, Idx, and llvm::wrap().

◆ LLVMGetCallSiteEnumAttribute()

LLVM_C_ABI LLVMAttributeRef LLVMGetCallSiteEnumAttribute ( LLVMValueRef  C,
LLVMAttributeIndex  Idx,
unsigned  KindID 
)

Definition at line 3073 of file Core.cpp.

References llvm::CallingConv::C, Idx, and llvm::wrap().

◆ LLVMGetCallSiteStringAttribute()

LLVM_C_ABI LLVMAttributeRef LLVMGetCallSiteStringAttribute ( LLVMValueRef  C,
LLVMAttributeIndex  Idx,
const char K,
unsigned  KLen 
)

Definition at line 3080 of file Core.cpp.

References llvm::CallingConv::C, Idx, and llvm::wrap().

◆ LLVMGetInstructionCallConv()

LLVM_C_ABI unsigned LLVMGetInstructionCallConv ( LLVMValueRef  Instr)

Obtain the calling convention for a call instruction.

This is the opposite of LLVMSetInstructionCallConv(). Reads its usage.

See also
LLVMSetInstructionCallConv()

Definition at line 3036 of file Core.cpp.

◆ LLVMGetNormalDest()

LLVM_C_ABI LLVMBasicBlockRef LLVMGetNormalDest ( LLVMValueRef  InvokeInst)

Return the normal destination basic block.

This only works on llvm::InvokeInst instructions.

See also
llvm::InvokeInst::getNormalDest()

Definition at line 3135 of file Core.cpp.

References llvm::wrap().

◆ LLVMGetNumArgOperands()

LLVM_C_ABI unsigned LLVMGetNumArgOperands ( LLVMValueRef  Instr)

Obtain the argument count for a call instruction.

This expects an LLVMValueRef that corresponds to a llvm::CallInst, llvm::InvokeInst, or llvm:FuncletPadInst.

See also
llvm::CallInst::getNumArgOperands()
llvm::InvokeInst::getNumArgOperands()
llvm::FuncletPadInst::getNumArgOperands()

Definition at line 3027 of file Core.cpp.

References unwrap().

◆ LLVMGetNumOperandBundles()

LLVM_C_ABI unsigned LLVMGetNumOperandBundles ( LLVMValueRef  C)

Obtain the number of operand bundles attached to this instruction.

This only works on llvm::CallInst and llvm::InvokeInst instructions.

See also
llvm::CallBase::getNumOperandBundles()

Definition at line 3105 of file Core.cpp.

References llvm::CallingConv::C.

◆ LLVMGetOperandBundleAtIndex()

LLVM_C_ABI LLVMOperandBundleRef LLVMGetOperandBundleAtIndex ( LLVMValueRef  C,
unsigned  Index 
)

Obtain the operand bundle attached to this instruction at the given index.

Use LLVMDisposeOperandBundle to free the operand bundle.

This only works on llvm::CallInst and llvm::InvokeInst instructions.

Definition at line 3109 of file Core.cpp.

References llvm::CallingConv::C, and llvm::wrap().

◆ LLVMGetTailCallKind()

LLVM_C_ABI LLVMTailCallKind LLVMGetTailCallKind ( LLVMValueRef  CallInst)

Obtain a tail call kind of the call instruction.

See also
llvm::CallInst::setTailCallKind()

Definition at line 3125 of file Core.cpp.

◆ LLVMGetUnwindDest()

LLVM_C_ABI LLVMBasicBlockRef LLVMGetUnwindDest ( LLVMValueRef  InvokeInst)

Return the unwind destination basic block.

Works on llvm::InvokeInst, llvm::CleanupReturnInst, and llvm::CatchSwitchInst instructions.

See also
llvm::InvokeInst::getUnwindDest()
llvm::CleanupReturnInst::getUnwindDest()
llvm::CatchSwitchInst::getUnwindDest()

Definition at line 3139 of file Core.cpp.

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

◆ LLVMIsTailCall()

LLVM_C_ABI LLVMBool LLVMIsTailCall ( LLVMValueRef  CallInst)

Obtain whether a call instruction is a tail call.

This only works on llvm::CallInst instructions.

See also
llvm::CallInst::isTailCall()

Definition at line 3117 of file Core.cpp.

◆ LLVMRemoveCallSiteEnumAttribute()

LLVM_C_ABI void LLVMRemoveCallSiteEnumAttribute ( LLVMValueRef  C,
LLVMAttributeIndex  Idx,
unsigned  KindID 
)

Definition at line 3087 of file Core.cpp.

References llvm::CallingConv::C, and Idx.

◆ LLVMRemoveCallSiteStringAttribute()

LLVM_C_ABI void LLVMRemoveCallSiteStringAttribute ( LLVMValueRef  C,
LLVMAttributeIndex  Idx,
const char K,
unsigned  KLen 
)

Definition at line 3092 of file Core.cpp.

References llvm::CallingConv::C, and Idx.

◆ LLVMSetInstrParamAlignment()

LLVM_C_ABI void LLVMSetInstrParamAlignment ( LLVMValueRef  Instr,
LLVMAttributeIndex  Idx,
unsigned  Align 
)

Definition at line 3045 of file Core.cpp.

References llvm::Attribute::getWithAlignment(), and Idx.

◆ LLVMSetInstructionCallConv()

LLVM_C_ABI void LLVMSetInstructionCallConv ( LLVMValueRef  Instr,
unsigned  CC 
)

Set the calling convention for a call instruction.

This expects an LLVMValueRef that corresponds to a llvm::CallInst or llvm::InvokeInst.

See also
llvm::CallInst::setCallingConv()
llvm::InvokeInst::setCallingConv()

Definition at line 3040 of file Core.cpp.

◆ LLVMSetNormalDest()

LLVM_C_ABI void LLVMSetNormalDest ( LLVMValueRef  InvokeInst,
LLVMBasicBlockRef  B 
)

Set the normal destination basic block.

This only works on llvm::InvokeInst instructions.

See also
llvm::InvokeInst::setNormalDest()

Definition at line 3148 of file Core.cpp.

References B, and unwrap().

◆ LLVMSetTailCall()

LLVM_C_ABI void LLVMSetTailCall ( LLVMValueRef  CallInst,
LLVMBool  IsTailCall 
)

Set whether a call instruction is a tail call.

This only works on llvm::CallInst instructions.

See also
llvm::CallInst::setTailCall()

Definition at line 3121 of file Core.cpp.

◆ LLVMSetTailCallKind()

LLVM_C_ABI void LLVMSetTailCallKind ( LLVMValueRef  CallInst,
LLVMTailCallKind  kind 
)

Set the call kind of the call instruction.

See also
llvm::CallInst::getTailCallKind()

Definition at line 3129 of file Core.cpp.

◆ LLVMSetUnwindDest()

LLVM_C_ABI void LLVMSetUnwindDest ( LLVMValueRef  InvokeInst,
LLVMBasicBlockRef  B 
)

Set the unwind destination basic block.

Works on llvm::InvokeInst, llvm::CleanupReturnInst, and llvm::CatchSwitchInst instructions.

See also
llvm::InvokeInst::setUnwindDest()
llvm::CleanupReturnInst::setUnwindDest()
llvm::CatchSwitchInst::setUnwindDest()

Definition at line 3152 of file Core.cpp.

References B, and unwrap().