|
LLVM 22.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) |
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 308 of file BTFDebug.cpp.
References llvm::BTFTypeBase::BTFType, llvm::BTFTypeBase::Kind, and llvm::BTFTypeBase::roundupToBytes().
|
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 316 of file BTFDebug.cpp.
References llvm::BTFDebug::addString(), llvm::BTFTypeBase::BTFType, llvm::cast(), llvm::dyn_cast(), llvm::BTFDebug::getTypeId(), llvm::BTFTypeBase::IsCompleted, llvm_unreachable, 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 380 of file BTFDebug.cpp.
References llvm::MCStreamer::AddComment(), llvm::MCStreamer::emitInt32(), llvm::BTFTypeBase::emitType(), and llvm::Twine::utohexstr().
| std::string BTFTypeStruct::getName | ( | ) |
Definition at line 390 of file BTFDebug.cpp.
|
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().