LLVM 22.0.0git
llvm::BTFTypeDerived Class Reference

Handle several derived types include pointer, const, volatile, typedef and restrict. More...

#include "Target/BPF/BTFDebug.h"

Inheritance diagram for llvm::BTFTypeDerived:
[legend]

Public Member Functions

 BTFTypeDerived (const DIDerivedType *Ty, unsigned Tag, bool NeedsFixup)
 BTFTypeDerived (unsigned NextTypeId, unsigned Tag, StringRef Name)
 Used by DW_TAG_pointer_type only.
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.
void setPointeeType (uint32_t PointeeType)
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.

Additional Inherited Members

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

Detailed Description

Handle several derived types include pointer, const, volatile, typedef and restrict.

Definition at line 64 of file BTFDebug.h.

Constructor & Destructor Documentation

◆ BTFTypeDerived() [1/2]

BTFTypeDerived::BTFTypeDerived ( const DIDerivedType * Ty,
unsigned Tag,
bool NeedsFixup )

◆ BTFTypeDerived() [2/2]

BTFTypeDerived::BTFTypeDerived ( unsigned NextTypeId,
unsigned Tag,
StringRef Name )

Used by DW_TAG_pointer_type only.

Definition at line 83 of file BTFDebug.cpp.

References llvm::BTFTypeBase::BTFType, llvm::BTFTypeBase::Kind, and llvm::Tag.

Member Function Documentation

◆ completeType()

void BTFTypeDerived::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 91 of file BTFDebug.cpp.

References llvm::BTFDebug::addString(), assert(), llvm::BTFTypeBase::BTFType, llvm::BTFDebug::getTypeId(), llvm::BTFTypeBase::IsCompleted, llvm::BTFTypeBase::Kind, and tryRemoveAtomicType().

◆ emitType()

void BTFTypeDerived::emitType ( MCStreamer & OS)
overridevirtual

Emit types for this BTF type entry.

Emit a BTF common type.

Reimplemented from llvm::BTFTypeBase.

Definition at line 113 of file BTFDebug.cpp.

References llvm::BTFTypeBase::emitType().

◆ setPointeeType()

void BTFTypeDerived::setPointeeType ( uint32_t PointeeType)

Definition at line 115 of file BTFDebug.cpp.

References llvm::BTFTypeBase::BTFType.

Referenced by llvm::BTFDebug::endModule().


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