LLVM 20.0.0git
Public Member Functions | List of all members
llvm::BTFTypeFuncProto Class Reference

Handle function pointer. More...

#include "Target/BPF/BTFDebug.h"

Inheritance diagram for llvm::BTFTypeFuncProto:
Inheritance graph
[legend]

Public Member Functions

 BTFTypeFuncProto (const DISubroutineType *STy, uint32_t NumParams, const std::unordered_map< uint32_t, StringRef > &FuncArgNames)
 The Func kind represents both subprogram and pointee of function pointers.
 
uint32_t getSize () override
 Get the size of this BTF type entry.
 
void completeType (BTFDebug &BDebug) override
 Complete BTF type generation after all related DebugInfo types have been visited so their BTF type id's are available for cross referece.
 
void emitType (MCStreamer &OS) override
 Emit types for this BTF type entry.
 
- Public Member Functions inherited from llvm::BTFTypeBase
 BTFTypeBase ()
 
virtual ~BTFTypeBase ()=default
 
void setId (uint32_t Id)
 
uint32_t getId ()
 
uint32_t roundupToBytes (uint32_t NumBits)
 
virtual uint32_t getSize ()
 Get the size of this BTF type entry.
 
virtual void completeType (BTFDebug &BDebug)
 Complete BTF type generation after all related DebugInfo types have been visited so their BTF type id's are available for cross referece.
 
virtual void emitType (MCStreamer &OS)
 Emit types for this BTF type entry.
 

Additional Inherited Members

- Protected Attributes inherited from llvm::BTFTypeBase
uint8_t Kind
 
bool IsCompleted
 
uint32_t Id
 
struct BTF::CommonType BTFType
 

Detailed Description

Handle function pointer.

Definition at line 143 of file BTFDebug.h.

Constructor & Destructor Documentation

◆ BTFTypeFuncProto()

BTFTypeFuncProto::BTFTypeFuncProto ( const DISubroutineType STy,
uint32_t  VLen,
const std::unordered_map< uint32_t, StringRef > &  FuncArgNames 
)

The Func kind represents both subprogram and pointee of function pointers.

If the FuncName is empty, it represents a pointee of function pointer. Otherwise, it represents a subprogram. The func arg names are empty for pointee of function pointer case, and are valid names for subprogram.

Definition at line 340 of file BTFDebug.cpp.

References llvm::BTFTypeBase::BTFType, llvm::BTF::CommonType::Info, and llvm::BTFTypeBase::Kind.

Member Function Documentation

◆ completeType()

void BTFTypeFuncProto::completeType ( BTFDebug BDebug)
overridevirtual

Complete BTF type generation after all related DebugInfo types have been visited so their BTF type id's are available for cross referece.

Reimplemented from llvm::BTFTypeBase.

Definition at line 348 of file BTFDebug.cpp.

References llvm::BTFDebug::addString(), llvm::BTFTypeBase::BTFType, llvm::DISubroutineType::getTypeArray(), llvm::BTFDebug::getTypeId(), I, llvm::BTFTypeBase::IsCompleted, N, llvm::BTF::CommonType::NameOff, tryRemoveAtomicType(), and llvm::BTF::CommonType::Type.

◆ emitType()

void BTFTypeFuncProto::emitType ( MCStreamer OS)
overridevirtual

Emit types for this BTF type entry.

Emit a BTF common type.

Reimplemented from llvm::BTFTypeBase.

Definition at line 374 of file BTFDebug.cpp.

References llvm::BTFTypeBase::emitType(), and OS.

◆ getSize()

uint32_t llvm::BTFTypeFuncProto::getSize ( )
inlineoverridevirtual

Get the size of this BTF type entry.

Reimplemented from llvm::BTFTypeBase.

Definition at line 151 of file BTFDebug.h.

References llvm::BTF::BTFParamSize, and llvm::BTFTypeBase::getSize().


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