|
LLVM 22.0.0git
|
DWARF v5-specific implementation of an Accelerator Entry. More...
#include "llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h"
Public Member Functions | |
| const NameIndex * | getNameIndex () const |
| std::optional< uint64_t > | getCUOffset () const override |
| Returns the Offset of the Compilation Unit associated with this Accelerator Entry or std::nullopt if the Compilation Unit offset is not recorded in this Accelerator Entry. | |
| std::optional< uint64_t > | getLocalTUOffset () const override |
| Returns the Offset of the Type Unit associated with this Accelerator Entry or std::nullopt if the Type Unit offset is not recorded in this Accelerator Entry. | |
| std::optional< uint64_t > | getForeignTUTypeSignature () const override |
| Returns the type signature of the Type Unit associated with this Accelerator Entry or std::nullopt if the Type Unit offset is not recorded in this Accelerator Entry. | |
| std::optional< dwarf::Tag > | getTag () const override |
| Returns the Tag of the Debug Info Entry associated with this Accelerator Entry or std::nullopt if the Tag is not recorded in this Accelerator Entry. | |
| std::optional< uint64_t > | getRelatedCUOffset () const |
| std::optional< uint64_t > | getCUIndex () const |
| Returns the Index into the Compilation Unit list of the owning Name Index or std::nullopt if this Accelerator Entry does not have an associated Compilation Unit. | |
| std::optional< uint64_t > | getRelatedCUIndex () const |
| Similar functionality to getCUIndex() but without the DW_IDX_type_unit restriction. | |
| std::optional< uint64_t > | getTUIndex () const |
| Returns the index of the Type Unit of the owning Name Index or std::nullopt if this Accelerator Entry does not have an associated Type Unit. | |
| dwarf::Tag | tag () const |
| .debug_names-specific getter, which always succeeds (DWARF v5 index entries always have a tag). | |
| std::optional< uint64_t > | getDIEUnitOffset () const |
| Returns the Offset of the DIE within the containing CU or TU. | |
| bool | hasParentInformation () const |
| Returns true if this Entry has information about its parent DIE (i.e. | |
| Expected< std::optional< DWARFDebugNames::Entry > > | getParentDIEEntry () const |
| Returns the Entry corresponding to the parent of the DIE represented by this Entry. | |
| const Abbrev & | getAbbrev () const |
| Return the Abbreviation that can be used to interpret the raw values of this Accelerator Entry. | |
| std::optional< DWARFFormValue > | lookup (dwarf::Index Index) const |
| Returns the value of the Index Attribute in this Accelerator Entry, if the Entry contains such Attribute. | |
| void | dump (ScopedPrinter &W) const |
| void | dumpParentIdx (ScopedPrinter &W, const DWARFFormValue &FormValue) const |
| Public Member Functions inherited from llvm::DWARFAcceleratorTable::Entry | |
| ArrayRef< DWARFFormValue > | getValues () const |
| Returns the raw values of fields in the Accelerator Entry. | |
Friends | |
| class | NameIndex |
| class | ValueIterator |
Additional Inherited Members | |
| Protected Member Functions inherited from llvm::DWARFAcceleratorTable::Entry | |
| Entry ()=default | |
| Entry (const Entry &)=default | |
| Entry (Entry &&)=default | |
| Entry & | operator= (const Entry &)=default |
| Entry & | operator= (Entry &&)=default |
| ~Entry ()=default | |
| Protected Attributes inherited from llvm::DWARFAcceleratorTable::Entry | |
| SmallVector< DWARFFormValue, 3 > | Values |
DWARF v5-specific implementation of an Accelerator Entry.
Definition at line 451 of file DWARFAcceleratorTable.h.
| void DWARFDebugNames::Entry::dump | ( | ScopedPrinter & | W | ) | const |
Definition at line 734 of file DWARFAcceleratorTable.cpp.
References assert(), dumpParentIdx(), llvm::formatv(), llvm::DWARFAcceleratorTable::Entry::Values, and llvm::zip_first().
| void DWARFDebugNames::Entry::dumpParentIdx | ( | ScopedPrinter & | W, |
| const DWARFFormValue & | FormValue ) const |
Definition at line 716 of file DWARFAcceleratorTable.cpp.
References llvm::consumeError(), getParentDIEEntry(), llvm::DWARFFormValue::getRawUValue(), llvm::Expected< T >::takeError(), and llvm::Twine::utohexstr().
Referenced by dump().
Return the Abbreviation that can be used to interpret the raw values of this Accelerator Entry.
Definition at line 512 of file DWARFAcceleratorTable.h.
| std::optional< uint64_t > DWARFDebugNames::Entry::getCUIndex | ( | ) | const |
Returns the Index into the Compilation Unit list of the owning Name Index or std::nullopt if this Accelerator Entry does not have an associated Compilation Unit.
It is up to the user to verify that the returned Index is valid in the owning NameIndex (or use getCUOffset(), which will handle that check itself). Note that entries in NameIndexes which index just a single Compilation Unit are implicitly associated with that unit, so this function will return 0 even without an explicit DW_IDX_compile_unit attribute, unless there is a DW_IDX_type_unit attribute.
Definition at line 656 of file DWARFAcceleratorTable.cpp.
References getRelatedCUIndex(), and lookup().
Referenced by getCUOffset().
|
overridevirtual |
Returns the Offset of the Compilation Unit associated with this Accelerator Entry or std::nullopt if the Compilation Unit offset is not recorded in this Accelerator Entry.
Implements llvm::DWARFAcceleratorTable::Entry.
Definition at line 665 of file DWARFAcceleratorTable.cpp.
References getCUIndex().
| std::optional< uint64_t > DWARFDebugNames::Entry::getDIEUnitOffset | ( | ) | const |
Returns the Offset of the DIE within the containing CU or TU.
Definition at line 639 of file DWARFAcceleratorTable.cpp.
References lookup().
|
overridevirtual |
Returns the type signature of the Type Unit associated with this Accelerator Entry or std::nullopt if the Type Unit offset is not recorded in this Accelerator Entry.
Reimplemented from llvm::DWARFAcceleratorTable::Entry.
Definition at line 687 of file DWARFAcceleratorTable.cpp.
References getTUIndex().
|
overridevirtual |
Returns the Offset of the Type Unit associated with this Accelerator Entry or std::nullopt if the Type Unit offset is not recorded in this Accelerator Entry.
Reimplemented from llvm::DWARFAcceleratorTable::Entry.
Definition at line 679 of file DWARFAcceleratorTable.cpp.
References getTUIndex().
Definition at line 458 of file DWARFAcceleratorTable.h.
References NameIndex.
| Expected< std::optional< DWARFDebugNames::Entry > > DWARFDebugNames::Entry::getParentDIEEntry | ( | ) | const |
Returns the Entry corresponding to the parent of the DIE represented by this Entry.
If the parent is not in the table, nullopt is returned. Precondition: hasParentInformation() == true. An error is returned for ill-formed tables.
Definition at line 706 of file DWARFAcceleratorTable.cpp.
References assert(), and lookup().
Referenced by dumpParentIdx().
| std::optional< uint64_t > DWARFDebugNames::Entry::getRelatedCUIndex | ( | ) | const |
Similar functionality to getCUIndex() but without the DW_IDX_type_unit restriction.
This allows us to get the associated a compilation unit index for an entry that is a type unit.
Definition at line 645 of file DWARFAcceleratorTable.cpp.
References lookup().
Referenced by getCUIndex(), and getRelatedCUOffset().
| std::optional< uint64_t > DWARFDebugNames::Entry::getRelatedCUOffset | ( | ) | const |
Definition at line 672 of file DWARFAcceleratorTable.cpp.
References getRelatedCUIndex().
|
inlineoverridevirtual |
Returns the Tag of the Debug Info Entry associated with this Accelerator Entry or std::nullopt if the Tag is not recorded in this Accelerator Entry.
Implements llvm::DWARFAcceleratorTable::Entry.
Definition at line 462 of file DWARFAcceleratorTable.h.
References tag().
| std::optional< uint64_t > DWARFDebugNames::Entry::getTUIndex | ( | ) | const |
Returns the index of the Type Unit of the owning Name Index or std::nullopt if this Accelerator Entry does not have an associated Type Unit.
It is up to the user to verify that the returned Index is a valid index in the owning NameIndex (or use getLocalTUOffset(), which will handle that check itself).
Definition at line 699 of file DWARFAcceleratorTable.cpp.
References lookup().
Referenced by getForeignTUTypeSignature(), and getLocalTUOffset().
| bool DWARFDebugNames::Entry::hasParentInformation | ( | ) | const |
Returns true if this Entry has information about its parent DIE (i.e.
if it has an IDX_parent attribute)
Definition at line 635 of file DWARFAcceleratorTable.cpp.
References lookup().
| std::optional< DWARFFormValue > DWARFDebugNames::Entry::lookup | ( | dwarf::Index | Index | ) | const |
Returns the value of the Index Attribute in this Accelerator Entry, if the Entry contains such Attribute.
Definition at line 626 of file DWARFAcceleratorTable.cpp.
References assert(), llvm::DWARFAcceleratorTable::Entry::Values, and llvm::zip_first().
|
inline |
.debug_names-specific getter, which always succeeds (DWARF v5 index entries always have a tag).
Definition at line 495 of file DWARFAcceleratorTable.h.
Referenced by getTag().
|
friend |
Definition at line 521 of file DWARFAcceleratorTable.h.
References NameIndex.
Referenced by getNameIndex(), and NameIndex.
|
friend |
Definition at line 522 of file DWARFAcceleratorTable.h.
References ValueIterator.
Referenced by ValueIterator.