LLVM 23.0.0git
llvm::MachineFunction::CallSiteInfo Struct Reference

#include "llvm/CodeGen/MachineFunction.h"

Public Member Functions

 CallSiteInfo ()=default
LLVM_ABI CallSiteInfo (const CallBase &CB)
 Extracts the numeric type id from the CallBase's callee_type Metadata, and sets CalleeTypeIds.

Public Attributes

SmallVector< ArgRegPair, 1 > ArgRegPairs
 Vector of call argument and its forwarding register.
SmallVector< ConstantInt *, 4 > CalleeTypeIds
 Callee type ids.
MDNodeCallTarget = nullptr
 'call_target' metadata for the DISubprogram.

Detailed Description

Definition at line 523 of file MachineFunction.h.

Constructor & Destructor Documentation

◆ CallSiteInfo() [1/2]

llvm::MachineFunction::CallSiteInfo::CallSiteInfo ( )
default

References LLVM_ABI.

◆ CallSiteInfo() [2/2]

MachineFunction::CallSiteInfo::CallSiteInfo ( const CallBase & CB)

Extracts the numeric type id from the CallBase's callee_type Metadata, and sets CalleeTypeIds.

This is used as type id for the indirect call in the call graph section. Extracts the MDNode from the CallBase's call_target Metadata to be used during the construction of the debug info call site entries.

Definition at line 710 of file MachineFunction.cpp.

References CalleeTypeIds, CallTarget, llvm::cast(), llvm::Value::getContext(), llvm::Type::getInt64Ty(), llvm::Instruction::getMetadata(), llvm::MDNode::getOperand(), llvm::MDString::getString(), llvm::CallBase::isIndirectCall(), llvm::sampleprof::MD5Hash(), and llvm::MDNode::operands().

Member Data Documentation

◆ ArgRegPairs

SmallVector<ArgRegPair, 1> llvm::MachineFunction::CallSiteInfo::ArgRegPairs

Vector of call argument and its forwarding register.

Definition at line 525 of file MachineFunction.h.

Referenced by llvm::MIRParserImpl::initializeCallSiteInfo().

◆ CalleeTypeIds

SmallVector<ConstantInt *, 4> llvm::MachineFunction::CallSiteInfo::CalleeTypeIds

Callee type ids.

Definition at line 527 of file MachineFunction.h.

Referenced by CallSiteInfo(), and llvm::MIRParserImpl::initializeCallSiteInfo().

◆ CallTarget

MDNode* llvm::MachineFunction::CallSiteInfo::CallTarget = nullptr

'call_target' metadata for the DISubprogram.

It is the declaration or definition of the target function and might be indirect.

Definition at line 531 of file MachineFunction.h.

Referenced by CallSiteInfo().


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