Project Alice
Loading...
Searching...
No Matches
Call Sites and Invocations
Collaboration diagram for Call Sites and Invocations:

Functions

unsigned LLVMGetNumArgOperands (LLVMValueRef Instr)
 
void LLVMSetInstructionCallConv (LLVMValueRef Instr, unsigned CC)
 
unsigned LLVMGetInstructionCallConv (LLVMValueRef Instr)
 
void LLVMSetInstrParamAlignment (LLVMValueRef Instr, LLVMAttributeIndex Idx, unsigned Align)
 
void LLVMAddCallSiteAttribute (LLVMValueRef C, LLVMAttributeIndex Idx, LLVMAttributeRef A)
 
unsigned LLVMGetCallSiteAttributeCount (LLVMValueRef C, LLVMAttributeIndex Idx)
 
void LLVMGetCallSiteAttributes (LLVMValueRef C, LLVMAttributeIndex Idx, LLVMAttributeRef *Attrs)
 
LLVMAttributeRef LLVMGetCallSiteEnumAttribute (LLVMValueRef C, LLVMAttributeIndex Idx, unsigned KindID)
 
LLVMAttributeRef LLVMGetCallSiteStringAttribute (LLVMValueRef C, LLVMAttributeIndex Idx, const char *K, unsigned KLen)
 
void LLVMRemoveCallSiteEnumAttribute (LLVMValueRef C, LLVMAttributeIndex Idx, unsigned KindID)
 
void LLVMRemoveCallSiteStringAttribute (LLVMValueRef C, LLVMAttributeIndex Idx, const char *K, unsigned KLen)
 
LLVMTypeRef LLVMGetCalledFunctionType (LLVMValueRef C)
 
LLVMValueRef LLVMGetCalledValue (LLVMValueRef Instr)
 
unsigned LLVMGetNumOperandBundles (LLVMValueRef C)
 
LLVMOperandBundleRef LLVMGetOperandBundleAtIndex (LLVMValueRef C, unsigned Index)
 
LLVMBool LLVMIsTailCall (LLVMValueRef CallInst)
 
void LLVMSetTailCall (LLVMValueRef CallInst, LLVMBool IsTailCall)
 
LLVMTailCallKind LLVMGetTailCallKind (LLVMValueRef CallInst)
 
void LLVMSetTailCallKind (LLVMValueRef CallInst, LLVMTailCallKind kind)
 
LLVMBasicBlockRef LLVMGetNormalDest (LLVMValueRef InvokeInst)
 
LLVMBasicBlockRef LLVMGetUnwindDest (LLVMValueRef InvokeInst)
 
void LLVMSetNormalDest (LLVMValueRef InvokeInst, LLVMBasicBlockRef B)
 
void LLVMSetUnwindDest (LLVMValueRef InvokeInst, LLVMBasicBlockRef B)
 

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

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

◆ LLVMGetCalledFunctionType()

LLVMTypeRef LLVMGetCalledFunctionType ( LLVMValueRef  C)

Obtain the function type called by this instruction.

See also
llvm::CallBase::getFunctionType()

◆ LLVMGetCalledValue()

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

◆ LLVMGetCallSiteAttributeCount()

unsigned LLVMGetCallSiteAttributeCount ( LLVMValueRef  C,
LLVMAttributeIndex  Idx 
)

◆ LLVMGetCallSiteAttributes()

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

◆ LLVMGetCallSiteEnumAttribute()

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

◆ LLVMGetCallSiteStringAttribute()

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

◆ LLVMGetInstructionCallConv()

unsigned LLVMGetInstructionCallConv ( LLVMValueRef  Instr)

Obtain the calling convention for a call instruction.

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

See also
LLVMSetInstructionCallConv()

◆ LLVMGetNormalDest()

LLVMBasicBlockRef LLVMGetNormalDest ( LLVMValueRef  InvokeInst)

Return the normal destination basic block.

This only works on llvm::InvokeInst instructions.

See also
llvm::InvokeInst::getNormalDest()

◆ LLVMGetNumArgOperands()

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

◆ LLVMGetNumOperandBundles()

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

◆ LLVMGetOperandBundleAtIndex()

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.

◆ LLVMGetTailCallKind()

LLVMTailCallKind LLVMGetTailCallKind ( LLVMValueRef  CallInst)

Obtain a tail call kind of the call instruction.

See also
llvm::CallInst::setTailCallKind()

◆ LLVMGetUnwindDest()

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

◆ LLVMIsTailCall()

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

◆ LLVMRemoveCallSiteEnumAttribute()

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

◆ LLVMRemoveCallSiteStringAttribute()

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

◆ LLVMSetInstrParamAlignment()

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

◆ LLVMSetInstructionCallConv()

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

◆ LLVMSetNormalDest()

void LLVMSetNormalDest ( LLVMValueRef  InvokeInst,
LLVMBasicBlockRef  B 
)

Set the normal destination basic block.

This only works on llvm::InvokeInst instructions.

See also
llvm::InvokeInst::setNormalDest()

◆ LLVMSetTailCall()

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

◆ LLVMSetTailCallKind()

void LLVMSetTailCallKind ( LLVMValueRef  CallInst,
LLVMTailCallKind  kind 
)

Set the call kind of the call instruction.

See also
llvm::CallInst::getTailCallKind()

◆ LLVMSetUnwindDest()

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