LLVM 20.0.0git
|
Handle struct/union type. More...
#include "Target/BPF/BTFDebug.h"
Public Member Functions | |
BTFTypeStruct (const DICompositeType *STy, bool IsStruct, bool HasBitField, uint32_t NumMembers) | |
Represent either a struct or a union. | |
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. | |
std::string | getName () |
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 |
Handle struct/union type.
Definition at line 126 of file BTFDebug.h.
BTFTypeStruct::BTFTypeStruct | ( | const DICompositeType * | STy, |
bool | IsStruct, | ||
bool | HasBitField, | ||
uint32_t | NumMembers | ||
) |
Represent either a struct or a union.
Definition at line 289 of file BTFDebug.cpp.
References llvm::BTFTypeBase::BTFType, llvm::DIType::getSizeInBits(), llvm::BTF::CommonType::Info, llvm::BTFTypeBase::Kind, llvm::BTFTypeBase::roundupToBytes(), and llvm::BTF::CommonType::Size.
|
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 297 of file BTFDebug.cpp.
References llvm::BTFDebug::addString(), llvm::BTFTypeBase::BTFType, llvm::DICompositeType::getElements(), llvm::DIType::getName(), llvm::BTFDebug::getTypeId(), llvm::BTFTypeBase::IsCompleted, llvm::BTF::CommonType::NameOff, llvm::BTF::BTFMember::NameOff, llvm::BTF::BTFMember::Offset, tryRemoveAtomicType(), and llvm::BTF::BTFMember::Type.
|
overridevirtual |
Emit types for this BTF type entry.
Emit a BTF common type.
Reimplemented from llvm::BTFTypeBase.
Definition at line 323 of file BTFDebug.cpp.
References llvm::BTFTypeBase::emitType(), OS, and llvm::Twine::utohexstr().
std::string BTFTypeStruct::getName | ( | ) |
Definition at line 333 of file BTFDebug.cpp.
References llvm::DIType::getName().
|
inlineoverridevirtual |
Get the size of this BTF type entry.
Reimplemented from llvm::BTFTypeBase.
Definition at line 134 of file BTFDebug.h.
References llvm::BTF::BTFMemberSize, and llvm::BTFTypeBase::getSize().