LLVM 20.0.0git
|
The encoding of a callback with regards to the underlying instruction. More...
#include "llvm/IR/AbstractCallSite.h"
Public Types | |
using | ParameterEncodingTy = SmallVector< int, 0 > |
For direct/indirect calls the parameter encoding is empty. | |
Public Attributes | |
ParameterEncodingTy | ParameterEncoding |
The encoding of a callback with regards to the underlying instruction.
Definition at line 54 of file AbstractCallSite.h.
using llvm::AbstractCallSite::CallbackInfo::ParameterEncodingTy = SmallVector<int, 0> |
For direct/indirect calls the parameter encoding is empty.
If it is not, the abstract call site represents a callback. In that case, the first element of the encoding vector represents which argument of the call site CB is the callback callee. The remaining elements map parameters (identified by their position) to the arguments that will be passed through (also identified by position but in the call site instruction).
NOTE that we use LLVM argument numbers (starting at 0) and not clang/source argument numbers (starting at 1). The -1 entries represent unknown values that are passed to the callee.
Definition at line 66 of file AbstractCallSite.h.
ParameterEncodingTy llvm::AbstractCallSite::CallbackInfo::ParameterEncoding |
Definition at line 67 of file AbstractCallSite.h.
Referenced by llvm::AbstractCallSite::AbstractCallSite(), llvm::AbstractCallSite::getCallArgOperand(), llvm::AbstractCallSite::getCallArgOperandNo(), llvm::AbstractCallSite::getCallArgOperandNoForCallee(), llvm::AbstractCallSite::getNumArgOperands(), llvm::AbstractCallSite::isCallbackCall(), and llvm::AbstractCallSite::isCallee().