LLVM 20.0.0git
|
The Data class implementation for DWARF v5 accelerator table. More...
#include "llvm/CodeGen/AccelTable.h"
Public Member Functions | |
DWARF5AccelTableData (const DIE &Die, const uint32_t UnitID, const bool IsTU) | |
DWARF5AccelTableData (const uint64_t DieOffset, const std::optional< uint64_t > DefiningParentOffset, const unsigned DieTag, const unsigned UnitID, const bool IsTU) | |
void | print (raw_ostream &OS) const override |
uint64_t | getDieOffset () const |
OffsetAndUnitID | getDieOffsetAndUnitID () const |
unsigned | getDieTag () const |
unsigned | getUnitID () const |
bool | isTU () const |
void | normalizeDIEToOffset () |
bool | isNormalized () const |
std::optional< uint64_t > | getParentDieOffset () const |
std::optional< OffsetAndUnitID > | getParentDieOffsetAndUnitID () const |
void | setAbbrevNumber (uint16_t AbbrevNum) |
Sets AbbrevIndex for an Entry. | |
uint16_t | getAbbrevNumber () const |
Returns AbbrevIndex for an Entry. | |
Public Member Functions inherited from llvm::AccelTableData | |
virtual | ~AccelTableData ()=default |
bool | operator< (const AccelTableData &Other) const |
virtual void | print (raw_ostream &OS) const =0 |
Static Public Member Functions | |
static uint32_t | hash (StringRef Name) |
static std::optional< uint64_t > | getDefiningParentDieOffset (const DIE &Die) |
If Die has a non-null parent and the parent is not a declaration, return its offset. | |
Protected Member Functions | |
uint64_t | order () const override |
virtual uint64_t | order () const =0 |
Protected Attributes | |
std::variant< const DIE *, uint64_t > | OffsetVal |
std::optional< uint64_t > | ParentOffset |
uint32_t | DieTag: 16 |
uint32_t | AbbrevNumber: 15 |
uint32_t | IsTU: 1 |
uint32_t | UnitID |
The Data class implementation for DWARF v5 accelerator table.
Unlike the Apple Data classes, this class is just a DIE wrapper, and does not know to serialize itself. The complete serialization logic is in the emitDWARF5AccelTable function.
Definition at line 292 of file AccelTable.h.
DWARF5AccelTableData::DWARF5AccelTableData | ( | const DIE & | Die, |
const uint32_t | UnitID, | ||
const bool | IsTU | ||
) |
Definition at line 365 of file AccelTable.cpp.
|
inline |
Definition at line 297 of file AccelTable.h.
|
inline |
Returns AbbrevIndex for an Entry.
Definition at line 347 of file AccelTable.h.
References AbbrevNumber.
|
static |
If Die
has a non-null parent and the parent is not a declaration, return its offset.
Definition at line 401 of file AccelTable.cpp.
References llvm::DIE::findAttribute(), and llvm::DIE::getParent().
Referenced by normalizeDIEToOffset().
|
inline |
Definition at line 308 of file AccelTable.h.
References assert(), isNormalized(), and OffsetVal.
Referenced by getDieOffsetAndUnitID(), and order().
|
inline |
Definition at line 313 of file AccelTable.h.
References getDieOffset(), getUnitID(), and isTU().
|
inline |
Definition at line 317 of file AccelTable.h.
References DieTag.
|
inline |
Definition at line 330 of file AccelTable.h.
References getParentDieOffsetAndUnitID().
|
inline |
Definition at line 336 of file AccelTable.h.
References assert(), getUnitID(), isNormalized(), isTU(), and ParentOffset.
Referenced by getParentDieOffset().
|
inline |
Definition at line 318 of file AccelTable.h.
References UnitID.
Referenced by getDieOffsetAndUnitID(), and getParentDieOffsetAndUnitID().
Definition at line 294 of file AccelTable.h.
References llvm::caseFoldingDjbHash(), and Name.
|
inline |
Definition at line 326 of file AccelTable.h.
References OffsetVal.
Referenced by getDieOffset(), getParentDieOffsetAndUnitID(), and normalizeDIEToOffset().
|
inline |
Definition at line 319 of file AccelTable.h.
References IsTU.
Referenced by getDieOffsetAndUnitID(), and getParentDieOffsetAndUnitID().
|
inline |
Definition at line 320 of file AccelTable.h.
References assert(), getDefiningParentDieOffset(), isNormalized(), OffsetVal, and ParentOffset.
|
inlineoverrideprotectedvirtual |
Implements llvm::AccelTableData.
Definition at line 360 of file AccelTable.h.
References getDieOffset().
|
overridevirtual |
Implements llvm::AccelTableData.
Definition at line 812 of file AccelTable.cpp.
References OS, and llvm::dwarf::TagString().
|
inline |
Sets AbbrevIndex for an Entry.
Definition at line 344 of file AccelTable.h.
References AbbrevNumber.
|
protected |
Definition at line 357 of file AccelTable.h.
Referenced by getAbbrevNumber(), and setAbbrevNumber().
|
protected |
Definition at line 356 of file AccelTable.h.
Referenced by getDieTag().
|
protected |
Definition at line 358 of file AccelTable.h.
Referenced by isTU().
Definition at line 354 of file AccelTable.h.
Referenced by getDieOffset(), isNormalized(), and normalizeDIEToOffset().
|
protected |
Definition at line 355 of file AccelTable.h.
Referenced by getParentDieOffsetAndUnitID(), and normalizeDIEToOffset().
|
protected |
Definition at line 359 of file AccelTable.h.
Referenced by getUnitID().