LLVM 20.0.0git
|
DWARFDebugInfoEntry - A DIE with only the minimum required data. More...
#include "llvm/DebugInfo/DWARF/DWARFDebugInfoEntry.h"
Public Member Functions | |
DWARFDebugInfoEntry ()=default | |
bool | extractFast (const DWARFUnit &U, uint64_t *OffsetPtr, const DWARFDataExtractor &DebugInfoData, uint64_t UEndOffset, uint32_t ParentIdx) |
Extracts a debug info entry, which is a child of a given unit, starting at a given offset. | |
uint64_t | getOffset () const |
std::optional< uint32_t > | getParentIdx () const |
Returns index of the parent die. | |
std::optional< uint32_t > | getSiblingIdx () const |
Returns index of the sibling die. | |
void | setSiblingIdx (uint32_t Idx) |
Set index of sibling. | |
dwarf::Tag | getTag () const |
bool | hasChildren () const |
const DWARFAbbreviationDeclaration * | getAbbreviationDeclarationPtr () const |
DWARFDebugInfoEntry - A DIE with only the minimum required data.
Definition at line 22 of file DWARFDebugInfoEntry.h.
|
default |
bool DWARFDebugInfoEntry::extractFast | ( | const DWARFUnit & | U, |
uint64_t * | OffsetPtr, | ||
const DWARFDataExtractor & | DebugInfoData, | ||
uint64_t | UEndOffset, | ||
uint32_t | ParentIdx | ||
) |
Extracts a debug info entry, which is a child of a given unit, starting at a given offset.
If DIE can't be extracted, returns false and doesn't change OffsetPtr. High performance extraction should use this call.
Definition at line 22 of file DWARFDebugInfoEntry.cpp.
References assert(), llvm::DWARFAbbreviationDeclaration::attributes(), llvm::createStringError(), llvm::DWARFAbbreviationDeclaration::getFixedAttributesByteSize(), llvm::DataExtractor::getULEB128(), llvm::invalid_argument, llvm::DataExtractor::isValidOffset(), and llvm::DWARFFormValue::skipValue().
|
inline |
Definition at line 72 of file DWARFDebugInfoEntry.h.
Referenced by llvm::dwarf_linker::parallel::SyntheticTypeNameBuilder::addArrayDimension(), llvm::dwarf_linker::parallel::SyntheticTypeNameBuilder::addSignature(), llvm::dwarf_linker::parallel::DIEAttributeCloner::clone(), llvm::dwarf_linker::parallel::CompileUnit::cloneDIE(), llvm::dwarf_linker::parallel::CompileUnit::find(), llvm::DWARFDie::getAbbreviationDeclarationPtr(), and llvm::DWARFDie::attribute_iterator::operator++().
|
inline |
Definition at line 45 of file DWARFDebugInfoEntry.h.
Referenced by llvm::dwarf_linker::parallel::DIEAttributeCloner::clone(), llvm::dwarf_linker::parallel::CompileUnit::find(), and llvm::DWARFDie::getOffset().
|
inline |
Returns index of the parent die.
Definition at line 48 of file DWARFDebugInfoEntry.h.
Referenced by llvm::DWARFDie::dump(), llvm::dwarf_linker::parallel::UnitEntryPairTy::getParent(), llvm::DWARFUnit::getParentEntry(), llvm::DWARFUnit::getPreviousSiblingEntry(), llvm::dwarf_linker::parallel::DependencyTracker::markParentsAsKeepingChildren(), and llvm::dwarf_linker::parallel::OrderedChildrenIndexAssigner::tagToArrayIndex().
|
inline |
Returns index of the sibling die.
Definition at line 56 of file DWARFDebugInfoEntry.h.
Referenced by llvm::DWARFUnit::getLastChildEntry(), and llvm::DWARFUnit::getSiblingEntry().
|
inline |
Definition at line 66 of file DWARFDebugInfoEntry.h.
References llvm::DWARFAbbreviationDeclaration::getTag().
Referenced by llvm::dwarf_linker::parallel::SyntheticTypeNameBuilder::addTypeName(), llvm::dwarf_linker::parallel::SyntheticTypeNameBuilder::addTypePrefix(), llvm::dwarf_linker::parallel::DIEAttributeCloner::clone(), llvm::dwarf_linker::parallel::DIEAttributeCloner::cloneAddressAttr(), llvm::dwarf_linker::parallel::CompileUnit::cloneDIE(), llvm::dwarf_linker::parallel::DIEAttributeCloner::cloneScalarAttr(), getTypeDeduplicationCandidate(), llvm::dwarf_linker::parallel::OrderedChildrenIndexAssigner::OrderedChildrenIndexAssigner(), llvm::dwarf_linker::parallel::AcceleratorRecordsSaver::save(), llvm::dwarf_linker::parallel::AcceleratorRecordsSaver::saveObjC(), and llvm::dwarf_linker::parallel::OrderedChildrenIndexAssigner::tagToArrayIndex().
|
inline |
Definition at line 70 of file DWARFDebugInfoEntry.h.
References llvm::DWARFAbbreviationDeclaration::hasChildren().
Referenced by llvm::DWARFUnit::getFirstChildEntry(), llvm::DWARFUnit::getLastChildEntry(), and llvm::DWARFDie::hasChildren().
|
inline |