LLVM 17.0.0git
llvm::AbstractCallSite::CallbackInfo Struct Reference

The encoding of a callback with regards to the underlying instruction. More...

#include "llvm/IR/AbstractCallSite.h"

Collaboration diagram for llvm::AbstractCallSite::CallbackInfo:
[legend]

## Public Types

using ParameterEncodingTy = SmallVector< int, 0 >
For direct/indirect calls the parameter encoding is empty.

## Public Attributes

ParameterEncodingTy ParameterEncoding

## Detailed Description

The encoding of a callback with regards to the underlying instruction.

Definition at line 54 of file AbstractCallSite.h.

## ◆ ParameterEncodingTy

 using llvm::AbstractCallSite::CallbackInfo::ParameterEncodingTy = SmallVector

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.

## ◆ ParameterEncoding

 ParameterEncodingTy llvm::AbstractCallSite::CallbackInfo::ParameterEncoding

The documentation for this struct was generated from the following file: