LLVM 20.0.0git
|
Calculates the starting offsets for various sections within the .debug_names section. More...
Classes | |
class | CFIProgram |
Represent a sequence of Call Frame Information instructions that, when read in order, construct a table mapping PC to frame state. More... | |
class | CIE |
DWARF Common Information Entry (CIE) More... | |
struct | EnumTraits |
struct | EnumTraits< Attribute > |
struct | EnumTraits< Form > |
struct | EnumTraits< Index > |
struct | EnumTraits< LineNumberOps > |
struct | EnumTraits< LocationAtom > |
struct | EnumTraits< Tag > |
class | FDE |
DWARF Frame Description Entry (FDE) More... | |
struct | FormParams |
A helper struct providing information about the byte size of DW_FORM values that vary in size depending on the DWARF version, address byte size, or DWARF32/DWARF64. More... | |
class | FrameEntry |
An entry in either debug_frame or eh_frame. More... | |
struct | PubIndexEntryDescriptor |
Describes an entry of the various gnu_pub* debug sections. More... | |
class | RegisterLocations |
A class that can track all registers with locations in a UnwindRow object. More... | |
class | UnwindLocation |
A class that represents a location for the Call Frame Address (CFA) or a register. More... | |
class | UnwindRow |
A class that represents a single row in the unwind table that is decoded by parsing the DWARF Call Frame Information opcodes. More... | |
class | UnwindTable |
A class that contains all UnwindRow objects for an FDE or a single unwind row for a CIE. More... | |
Variables | |
const uint32_t | DW_INVALID_OFFSET = UINT32_MAX |
Identifier of an invalid DIE offset in the .debug_info section. | |
constexpr uint32_t | InvalidRegisterNumber = UINT32_MAX |
constexpr Tag | DW_TAG_unaligned = Tag(dwarf::DW_TAG_hi_user + 1) |
const uint32_t | DW_CIE_ID = UINT32_MAX |
Special ID values that distinguish a CIE from a FDE in DWARF CFI. | |
const uint64_t | DW64_CIE_ID = UINT64_MAX |
Calculates the starting offsets for various sections within the .debug_names section.
enum llvm::dwarf::Attribute : uint16_t |
enum llvm::dwarf::DwarfFormat : uint8_t |
enum llvm::dwarf::Form : uint16_t |
enum llvm::dwarf::Index |
enum llvm::dwarf::Tag : uint16_t |
enum llvm::dwarf::TypeKind : uint8_t |
enum llvm::dwarf::UnitType : unsigned char |
Returns the symbolic string representing Val when used as a value for atom Atom.
Definition at line 749 of file Dwarf.cpp.
References DW_ATOM_die_tag, DW_ATOM_null, and TagString().
Returns the symbolic string representing Val when used as a value for attribute Attr.
Definition at line 716 of file Dwarf.cpp.
References AccessibilityString(), ArrayOrderString(), AttributeEncodingString(), CaseString(), ConventionString(), DecimalSignString(), DefaultedMemberString(), EndianityString(), InlineCodeString(), LanguageString(), VirtualityString(), and VisibilityString().
Referenced by dumpAttribute().
Definition at line 1212 of file Dwarf.h.
Referenced by llvm::RangeListEntry::dump(), dumpAttribute(), llvm::DWARFDebugRangeList::getAbsoluteRanges(), llvm::DWARFDebugRnglist::getAbsoluteRanges(), llvm::DWARFDie::getHighPC(), llvm::DWARFDebugRangeList::RangeListEntry::isBaseAddressSelectionEntry(), and llvm::DWARFDebugLine::LineTable::parse().
bool llvm::dwarf::doesFormBelongToClass | ( | dwarf::Form | Form, |
DWARFFormValue::FormClass | FC, | ||
uint16_t | DwarfVersion | ||
) |
Check whether specified Form
belongs to the FC
class.
Form | an attribute form. |
FC | an attribute form class to check. |
DwarfVersion | the version of DWARF debug info keeping the attribute. |
Form
belongs to the FC
class. Definition at line 771 of file DWARFFormValue.cpp.
References DWARF5FormClasses, llvm::DWARFFormValue::FC_Address, llvm::DWARFFormValue::FC_Reference, llvm::DWARFFormValue::FC_SectionOffset, and llvm::DWARFFormValue::FC_String.
Referenced by llvm::dwarf_linker::parallel::DIEAttributeCloner::cloneScalarAttr(), llvm::DWARFFormValue::getAsSectionedAddress(), and llvm::DWARFFormValue::isFormClass().
DWARFDebugNames::DWARFDebugNamesOffsets llvm::dwarf::findDebugNamesOffsets | ( | uint64_t | EndOfHeaderOffset, |
const DWARFDebugNames::Header & | Hdr | ||
) |
Definition at line 556 of file DWARFAcceleratorTable.cpp.
References llvm::DWARFDebugNames::Header::AbbrevTableSize, llvm::DWARFDebugNames::Header::BucketCount, llvm::DWARFDebugNames::Header::CompUnitCount, llvm::DWARFDebugNames::Header::ForeignTypeUnitCount, llvm::DWARFDebugNames::Header::Format, getDwarfOffsetByteSize(), llvm::DWARFDebugNames::Header::LocalTypeUnitCount, and llvm::DWARFDebugNames::Header::NameCount.
Referenced by llvm::DWARFDebugNames::NameIndex::extract().
|
inline |
Definition at line 733 of file Dwarf.h.
References isFortran().
Definition at line 941 of file Dwarf.h.
Referenced by llvm::AccelTableBase::computeBucketCount().
|
inline |
The size of a reference determined by the DWARF 32/64-bit format.
Definition at line 1071 of file Dwarf.h.
References DWARF32, DWARF64, llvm::Format, and llvm_unreachable.
Referenced by llvm::DWARFListTableHeader::dump(), llvm::DWARFDebugArangeSet::dump(), llvm::DWARFDebugPubTable::dump(), llvm::DWARFDebugLine::Prologue::dump(), llvm::DWARFCompileUnit::dump(), llvm::DWARFFormValue::dump(), llvm::DWARFDebugAddrTable::dump(), llvm::DWARFTypeUnit::dump(), dumpStringOffsetsSection(), llvm::MCDwarfLineTableHeader::Emit(), llvm::MCStreamer::emitDwarfUnitLength(), EmitGenDwarfAranges(), EmitGenDwarfInfo(), llvm::mcdwarf::emitListsTableHeaderStart(), llvm::MCDwarfLineStr::emitRef(), llvm::DWARFDebugNames::NameIndex::extract(), llvm::DWARFDebugPubTable::extract(), llvm::DWARFDebugArangeSet::extract(), findDebugNamesOffsets(), llvm::DWARFDebugNames::NameIndex::getCUOffset(), llvm::dwarf::FormParams::getDwarfOffsetByteSize(), llvm::AsmPrinter::getDwarfOffsetByteSize(), llvm::DWARFDebugNames::NameIndex::getForeignTUSignature(), llvm::DWARFDebugNames::NameIndex::getLocalTUOffset(), llvm::DWARFDebugNames::NameIndex::getNameTableEntry(), and llvm::DWARFVerifier::verifyDebugStrOffsets().
std::optional< uint8_t > llvm::dwarf::getFixedFormByteSize | ( | dwarf::Form | Form, |
FormParams | Params | ||
) |
Get the fixed byte size for a given form.
If the form has a fixed byte size, then an Optional with a value will be returned. If the form is always encoded using a variable length storage format (ULEB or SLEB numbers or blocks) then std::nullopt will be returned.
Form | DWARF form to get the fixed byte size for. |
Params | DWARF parameters to help interpret forms. |
Form
doesn't have a fixed byte size. Definition at line 771 of file Dwarf.cpp.
References llvm::dwarf::FormParams::AddrSize, llvm::dwarf::FormParams::getDwarfOffsetByteSize(), and llvm::dwarf::FormParams::getRefAddrByteSize().
Referenced by llvm::AppleAcceleratorTable::extract(), llvm::DWARFAbbreviationDeclaration::extract(), llvm::DWARFAbbreviationDeclaration::AttributeSpec::getByteSize(), llvm::DIEInteger::sizeOf(), and llvm::DWARFFormValue::skipValue().
|
inline |
Get the byte size of the unit length field depending on the DWARF format.
Definition at line 1110 of file Dwarf.h.
References DWARF32, DWARF64, llvm::Format, and llvm_unreachable.
Referenced by EmitGenDwarfAranges(), EmitGenDwarfInfo(), llvm::DWARFDebugArangeSet::extract(), llvm::DWARFListTableHeader::extract(), llvm::DWARFDebugAddrTable::getFullLength(), llvm::DWARFDebugNames::NameIndex::getNextUnitOffset(), llvm::AsmPrinter::getUnitLengthFieldByteSize(), llvm::DWARFUnitHeader::getUnitLengthFieldByteSize(), and llvm::DWARFListTableHeader::length().
|
inline |
Definition at line 657 of file Dwarf.h.
References DW_LANG_hi_user, DW_LANG_lo_user, and llvm_unreachable.
Referenced by llvm::DwarfUnit::applySubprogramAttributes().
|
inline |
Definition at line 497 of file Dwarf.h.
References DW_LANG_hi_user, and DW_LANG_lo_user.
Referenced by buildFrameDebugInfo(), computeIndexValue(), and llvm::DwarfUnit::getParentContextString().
|
inline |
Definition at line 577 of file Dwarf.h.
References DW_LANG_hi_user, and DW_LANG_lo_user.
Referenced by getArrayIndexTypeEncoding().
Definition at line 111 of file Dwarf.h.
Referenced by llvm::DwarfUnit::getOrCreateStaticMemberDIE(), and llvm::DWARFUnit::updateVariableDieMap().
|
inline |
Definition at line 889 of file Dwarf.h.
Referenced by llvm::DWARFUnit::isMatchingUnitTypeAndTag().
Tells whether the specified form is defined in the specified version, or is an extension if extensions are allowed.
Definition at line 859 of file Dwarf.cpp.
References DWARF_VENDOR_DWARF, F, FormVendor(), and FormVersion().
Referenced by llvm::DIEAbbrev::Emit().
StringRef llvm::dwarf::LanguageDescription | ( | dwarf::SourceLanguageName | lname | ) |
std::optional< unsigned > llvm::dwarf::LanguageLowerBound | ( | dwarf::SourceLanguage | Lang | ) |
std::optional< unsigned > llvm::dwarf::OperationArity | ( | dwarf::LocationAtom | Op | ) |
std::optional< unsigned > llvm::dwarf::OperationOperands | ( | dwarf::LocationAtom | Op | ) |
raw_ostream & llvm::dwarf::operator<< | ( | raw_ostream & | OS, |
const RegisterLocations & | RL | ||
) |
Definition at line 164 of file DWARFDebugFrame.cpp.
References llvm::dwarf::RegisterLocations::dump(), and OS.
raw_ostream & llvm::dwarf::operator<< | ( | raw_ostream & | OS, |
const UnwindLocation & | R | ||
) |
Definition at line 123 of file DWARFDebugFrame.cpp.
References llvm::dwarf::UnwindLocation::dump(), and OS.
raw_ostream & llvm::dwarf::operator<< | ( | raw_ostream & | OS, |
const UnwindRow & | Row | ||
) |
Definition at line 185 of file DWARFDebugFrame.cpp.
References OS.
raw_ostream & llvm::dwarf::operator<< | ( | raw_ostream & | OS, |
const UnwindTable & | Rows | ||
) |
Definition at line 197 of file DWARFDebugFrame.cpp.
References llvm::dwarf::UnwindTable::dump(), and OS.
|
inline |
Take an optional DWARFFormValue and try to extract an address.
V | and optional DWARFFormValue to attempt to extract the value from. |
Definition at line 369 of file DWARFFormValue.h.
Referenced by llvm::dwarf_linker::parallel::DependencyTracker::isLiveSubprogramEntry(), and toAddress().
|
inline |
Take an optional DWARFFormValue and extract a address.
V | and optional DWARFFormValue to attempt to extract the value from. |
Default | the default value to return in case of failure. |
Definition at line 388 of file DWARFFormValue.h.
References llvm::Default, and toAddress().
|
inline |
Take an optional DWARFFormValue and try to extract block data.
V | and optional DWARFFormValue to attempt to extract the value from. |
Definition at line 422 of file DWARFFormValue.h.
|
inline |
Take an optional DWARFFormValue and try to extract an absolute debug info offset reference.
V | an optional DWARFFormValue to attempt to extract the value from. |
Definition at line 274 of file DWARFFormValue.h.
Referenced by toDebugInfoReference().
|
inline |
Take an optional DWARFFormValue and extract an absolute debug info offset reference.
V | an optional DWARFFormValue to attempt to extract the value from. |
Default | the default value to return in case of failure. |
Definition at line 288 of file DWARFFormValue.h.
References llvm::Default, and toDebugInfoReference().
|
inline |
|
inline |
Convert a DWARF 5 DW_LANG to a DWARF 6 pair of language name and version.
Definition at line 364 of file Dwarf.h.
References DW_LANG_hi_user, and DW_LANG_lo_user.
|
inline |
Take an optional DWARFFormValue and try to extract a relative offset reference.
V | an optional DWARFFormValue to attempt to extract the value from. |
Definition at line 250 of file DWARFFormValue.h.
Referenced by toRelativeReference().
|
inline |
Take an optional DWARFFormValue and extract a relative offset reference.
V | an optional DWARFFormValue to attempt to extract the value from. |
Default | the default value to return in case of failure. |
Definition at line 262 of file DWARFFormValue.h.
References llvm::Default, and toRelativeReference().
|
inline |
Definition at line 376 of file DWARFFormValue.h.
Referenced by llvm::DWARFUnit::getBaseAddress(), getFunctionNameAndStartLineForAddress(), llvm::DWARFContext::getInliningInfoForAddress(), and llvm::DWARFDie::getLowAndHighPC().
|
inline |
Take an optional DWARFFormValue and try to extract an section offset.
V | and optional DWARFFormValue to attempt to extract the value from. |
Definition at line 399 of file DWARFFormValue.h.
Referenced by buildLineToUnitMap(), llvm::dwarf_linker::parallel::CompileUnit::cloneAndEmitDebugMacro(), llvm::DWARFUnit::determineStringOffsetsTableContribution(), llvm::DWARFDie::getLocBaseAttribute(), llvm::DWARFDie::getRangesBaseAttribute(), toSectionOffset(), and llvm::DWARFUnit::tryExtractDIEsIfNeeded().
|
inline |
Take an optional DWARFFormValue and extract a section offset.
V | and optional DWARFFormValue to attempt to extract the value from. |
Default | the default value to return in case of failure. |
Definition at line 411 of file DWARFFormValue.h.
References llvm::Default, and toSectionOffset().
|
inline |
Take an optional DWARFFormValue and try to extract a signature reference.
V | an optional DWARFFormValue to attempt to extract the value from. |
Definition at line 299 of file DWARFFormValue.h.
Referenced by toSignatureReference().
|
inline |
Take an optional DWARFFormValue and extract a signature reference.
V | an optional DWARFFormValue to attempt to extract the value from. |
Default | the default value to return in case of failure. |
Definition at line 311 of file DWARFFormValue.h.
References llvm::Default, and toSignatureReference().
|
inline |
Take an optional DWARFFormValue and try to extract an signed constant.
V | and optional DWARFFormValue to attempt to extract the value from. |
Definition at line 346 of file DWARFFormValue.h.
Referenced by toSigned().
|
inline |
Take an optional DWARFFormValue and extract a signed integer.
V | and optional DWARFFormValue to attempt to extract the value from. |
Default | the default value to return in case of failure. |
Definition at line 358 of file DWARFFormValue.h.
References llvm::Default, and toSigned().
|
inline |
Take an optional DWARFFormValue and try to extract a string value from it.
V | and optional DWARFFormValue to attempt to extract the value from. |
Definition at line 177 of file DWARFFormValue.h.
References llvm::consumeError(), and E.
Referenced by llvm::analyzeContextInfo(), llvm::dwarf_linker::parallel::CompileUnit::analyzeImportedModule(), llvm::analyzeImportedModule(), llvm::dwarf_linker::parallel::DIEAttributeCloner::cloneStringAttr(), llvm::gsym::DwarfTransformer::convert(), llvm::logicalview::LVDWARFReader::createScopes(), dumpAttribute(), llvm::DWARFUnit::getCompilationDir(), llvm::DWARFDebugLine::LineTable::getDirectoryForEntry(), llvm::DWARFDebugLine::Prologue::getFileNameByIndex(), llvm::DWARFDie::getLinkageName(), llvm::getPCMFile(), getPCMFile(), llvm::DWARFDie::getShortName(), llvm::dwarf_linker::parallel::DWARFLinkerImpl::LinkContext::isClangModuleRef(), llvm::dwarf_linker::parallel::DWARFLinkerImpl::LinkContext::loadClangModule(), llvm::prettyPrintBaseTypeRef(), llvm::resolveRelativeObjectPath(), resolveRelativeObjectPath(), and toString().
|
inline |
Take an optional DWARFFormValue and extract a string value from it.
V | and optional DWARFFormValue to attempt to extract the value from. |
Default | the default value to return in case of failure. |
Definition at line 213 of file DWARFFormValue.h.
References llvm::Default, E, and toString().
|
inline |
Take an optional DWARFFormValue and try to extract a string value from it.
V | and optional DWARFFormValue to attempt to extract the value from. |
Definition at line 193 of file DWARFFormValue.h.
Referenced by llvm::dwarf_linker::parallel::SyntheticTypeNameBuilder::addTypeName(), llvm::dwarf_linker::parallel::CompileUnit::analyzeImportedModule(), llvm::analyzeImportedModule(), llvm::dwarf_linker::parallel::CompileUnit::CompileUnit(), llvm::DWARFDebugLine::Prologue::getFileNameByIndex(), llvm::dwarf_linker::classic::CompileUnit::getSysRoot(), and isVariableIndexable().
|
inline |
Take an optional DWARFFormValue and try to extract a supplementary debug info reference.
V | an optional DWARFFormValue to attempt to extract the value from. |
Definition at line 323 of file DWARFFormValue.h.
Referenced by toSupplementaryReference().
|
inline |
Take an optional DWARFFormValue and extract a supplementary debug info reference.
V | an optional DWARFFormValue to attempt to extract the value from. |
Default | the default value to return in case of failure. |
Definition at line 336 of file DWARFFormValue.h.
References llvm::Default, and toSupplementaryReference().
|
inline |
Take an optional DWARFFormValue and try to extract an unsigned constant.
V | and optional DWARFFormValue to attempt to extract the value from. |
Definition at line 226 of file DWARFFormValue.h.
Referenced by llvm::dwarf_linker::parallel::SyntheticTypeNameBuilder::addDieNameFromDeclFileAndDeclLine(), llvm::dwarf_linker::parallel::SyntheticTypeNameBuilder::addParamNames(), llvm::dwarf_linker::classic::CompileUnit::CompileUnit(), llvm::dwarf_linker::parallel::CompileUnit::CompileUnit(), convertFunctionLineTable(), llvm::gsym::CUInfo::CUInfo(), llvm::DWARFDie::getCallerFrame(), llvm::dwarf_linker::classic::DeclContextTree::getChildDeclContext(), llvm::DWARFDie::getDeclLine(), llvm::DWARFContext::getDWOCompileUnitForHash(), llvm::getDwoId(), getDwoId(), llvm::dwarf_linker::classic::CompileUnit::getLanguage(), llvm::dwarf_linker::parallel::DWARFLinkerImpl::link(), parseInlineInfo(), llvm::dwarf_linker::parallel::AcceleratorRecordsSaver::save(), toUnsigned(), llvm::DWARFUnit::tryExtractDIEsIfNeeded(), and llvm::updatePruning().
|
inline |
Take an optional DWARFFormValue and extract a unsigned constant.
V | and optional DWARFFormValue to attempt to extract the value from. |
Default | the default value to return in case of failure. |
Definition at line 238 of file DWARFFormValue.h.
References llvm::Default, and toUnsigned().
const uint64_t llvm::dwarf::DW64_CIE_ID = UINT64_MAX |
Definition at line 97 of file Dwarf.h.
Referenced by getCIEId().
Special ID values that distinguish a CIE from a FDE in DWARF CFI.
Not inside an enum because a 64-bit value is needed.
Definition at line 96 of file Dwarf.h.
Referenced by getCIEId().
Identifier of an invalid DIE offset in the .debug_info section.
Definition at line 101 of file Dwarf.h.
Referenced by llvm::AppleAcceleratorTable::readAtoms().
|
constexpr |
Definition at line 28 of file LVObject.h.
Referenced by llvm::logicalview::LVElement::resolveFullname(), and llvm::logicalview::LVLogicalVisitor::visitKnownRecord().
|
constexpr |
Definition at line 31 of file DWARFDebugFrame.h.
Referenced by llvm::dwarf::UnwindLocation::createAtCFAPlusOffset(), llvm::dwarf::UnwindLocation::createIsCFAPlusOffset(), and llvm::dwarf::UnwindLocation::createIsConstant().