LLVM 20.0.0git
Public Member Functions | List of all members
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:
Inheritance graph
[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.
 
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 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::BTF::CommonType::Info, llvm::BTFTypeBase::Kind, and llvm::BTF::CommonType::Type.

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, llvm::BTF::CommonType::NameOff, tryRemoveAtomicType(), and llvm::BTF::CommonType::Type.

◆ 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(), and OS.

◆ setPointeeType()

void BTFTypeDerived::setPointeeType ( uint32_t  PointeeType)

Definition at line 115 of file BTFDebug.cpp.

References llvm::BTFTypeBase::BTFType, and llvm::BTF::CommonType::Type.

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


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