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 aUnwindRow 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 allUnwindRow objects for anFDE or a single unwind row for aCIE.More... | |
Variables | |
constuint32_t | DW_INVALID_OFFSET = UINT32_MAX |
Identifier of an invalidDIE offset in the .debug_info section. | |
constexpruint32_t | InvalidRegisterNumber = UINT32_MAX |
constexprTag | DW_TAG_unaligned =Tag(dwarf::DW_TAG_hi_user + 1) |
constuint32_t | DW_CIE_ID = UINT32_MAX |
Special ID values that distinguish aCIE from aFDE in DWARF CFI. | |
constuint64_t | DW64_CIE_ID =UINT64_MAX |
Calculates the starting offsets for various sections within the .debug_names section.
enumllvm::dwarf::Tag :uint16_t |
Returns the symbolic string representing Val when used as a value for atom Atom.
Definition at line749 of fileDwarf.cpp.
ReferencesDW_ATOM_die_tag,DW_ATOM_null, andTagString().
Returns the symbolic string representing Val when used as a value for attribute Attr.
Definition at line716 of fileDwarf.cpp.
ReferencesAccessibilityString(),ArrayOrderString(),AttributeEncodingString(),CaseString(),ConventionString(),DecimalSignString(),DefaultedMemberString(),EndianityString(),InlineCodeString(),LanguageString(),VirtualityString(), andVisibilityString().
Referenced bydumpAttribute().
Definition at line1212 of fileDwarf.h.
Referenced byllvm::RangeListEntry::dump(),dumpAttribute(),llvm::DWARFDebugRangeList::getAbsoluteRanges(),llvm::DWARFDebugRnglist::getAbsoluteRanges(),llvm::DWARFDie::getHighPC(),llvm::DWARFDebugRangeList::RangeListEntry::isBaseAddressSelectionEntry(), andllvm::DWARFDebugLine::LineTable::parse().
bool llvm::dwarf::doesFormBelongToClass | ( | dwarf::Form | Form, |
DWARFFormValue::FormClass | FC, | ||
uint16_t | DwarfVersion | ||
) |
Check whether specifiedForm
belongs to theFC
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 theFC
class.Definition at line771 of fileDWARFFormValue.cpp.
ReferencesDWARF5FormClasses,llvm::DWARFFormValue::FC_Address,llvm::DWARFFormValue::FC_Reference,llvm::DWARFFormValue::FC_SectionOffset, andllvm::DWARFFormValue::FC_String.
Referenced byllvm::dwarf_linker::parallel::DIEAttributeCloner::cloneScalarAttr(),llvm::DWARFFormValue::getAsSectionedAddress(), andllvm::DWARFFormValue::isFormClass().
DWARFDebugNames::DWARFDebugNamesOffsets llvm::dwarf::findDebugNamesOffsets | ( | uint64_t | EndOfHeaderOffset, |
constDWARFDebugNames::Header & | Hdr | ||
) |
Definition at line556 of fileDWARFAcceleratorTable.cpp.
Referencesllvm::DWARFDebugNames::Header::AbbrevTableSize,llvm::DWARFDebugNames::Header::BucketCount,llvm::DWARFDebugNames::Header::CompUnitCount,llvm::DWARFDebugNames::Header::ForeignTypeUnitCount,llvm::DWARFDebugNames::Header::Format,getDwarfOffsetByteSize(),llvm::DWARFDebugNames::Header::LocalTypeUnitCount, andllvm::DWARFDebugNames::Header::NameCount.
Referenced byllvm::DWARFDebugNames::NameIndex::extract().
| inline |
Definition at line733 of fileDwarf.h.
ReferencesisFortran().
Definition at line941 of fileDwarf.h.
Referenced byllvm::AccelTableBase::computeBucketCount().
| inline |
The size of a reference determined by the DWARF 32/64-bit format.
Definition at line1071 of fileDwarf.h.
ReferencesDWARF32,DWARF64,llvm::Format, andllvm_unreachable.
Referenced byllvm::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(), andllvm::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 line771 of fileDwarf.cpp.
Referencesllvm::dwarf::FormParams::AddrSize,llvm::dwarf::FormParams::getDwarfOffsetByteSize(), andllvm::dwarf::FormParams::getRefAddrByteSize().
Referenced byllvm::AppleAcceleratorTable::extract(),llvm::DWARFAbbreviationDeclaration::extract(),llvm::DWARFAbbreviationDeclaration::AttributeSpec::getByteSize(),llvm::DIEInteger::sizeOf(), andllvm::DWARFFormValue::skipValue().
| inline |
Get the byte size of the unit length field depending on the DWARF format.
Definition at line1110 of fileDwarf.h.
ReferencesDWARF32,DWARF64,llvm::Format, andllvm_unreachable.
Referenced byEmitGenDwarfAranges(),EmitGenDwarfInfo(),llvm::DWARFDebugArangeSet::extract(),llvm::DWARFListTableHeader::extract(),llvm::DWARFDebugAddrTable::getFullLength(),llvm::DWARFDebugNames::NameIndex::getNextUnitOffset(),llvm::AsmPrinter::getUnitLengthFieldByteSize(),llvm::DWARFUnitHeader::getUnitLengthFieldByteSize(), andllvm::DWARFListTableHeader::length().
| inline |
Definition at line657 of fileDwarf.h.
ReferencesDW_LANG_hi_user,DW_LANG_lo_user, andllvm_unreachable.
Referenced byllvm::DwarfUnit::applySubprogramAttributes().
| inline |
Definition at line497 of fileDwarf.h.
ReferencesDW_LANG_hi_user, andDW_LANG_lo_user.
Referenced bybuildFrameDebugInfo(),computeIndexValue(), andllvm::DwarfUnit::getParentContextString().
| inline |
Definition at line577 of fileDwarf.h.
ReferencesDW_LANG_hi_user, andDW_LANG_lo_user.
Referenced bygetArrayIndexTypeEncoding().
Definition at line111 of fileDwarf.h.
Referenced byllvm::DwarfUnit::getOrCreateStaticMemberDIE(), andllvm::DWARFUnit::updateVariableDieMap().
| inline |
Definition at line889 of fileDwarf.h.
Referenced byllvm::DWARFUnit::isMatchingUnitTypeAndTag().
Tells whether the specified form is defined in the specified version, or is an extension if extensions are allowed.
Definition at line859 of fileDwarf.cpp.
ReferencesDWARF_VENDOR_DWARF,F,FormVendor(), andFormVersion().
Referenced byllvm::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, |
constRegisterLocations & | RL | ||
) |
Definition at line164 of fileDWARFDebugFrame.cpp.
Referencesllvm::dwarf::RegisterLocations::dump(), andOS.
raw_ostream & llvm::dwarf::operator<< | ( | raw_ostream & | OS, |
constUnwindLocation & | R | ||
) |
Definition at line123 of fileDWARFDebugFrame.cpp.
Referencesllvm::dwarf::UnwindLocation::dump(), andOS.
raw_ostream & llvm::dwarf::operator<< | ( | raw_ostream & | OS, |
constUnwindRow & | Row | ||
) |
Definition at line185 of fileDWARFDebugFrame.cpp.
ReferencesOS.
raw_ostream & llvm::dwarf::operator<< | ( | raw_ostream & | OS, |
constUnwindTable & | Rows | ||
) |
Definition at line197 of fileDWARFDebugFrame.cpp.
Referencesllvm::dwarf::UnwindTable::dump(), andOS.
| inline |
Take an optionalDWARFFormValue and try to extract an address.
V | and optionalDWARFFormValue to attempt to extract the value from. |
Definition at line369 of fileDWARFFormValue.h.
Referenced byllvm::dwarf_linker::parallel::DependencyTracker::isLiveSubprogramEntry(), andtoAddress().
| inline |
Take an optionalDWARFFormValue and extract a address.
V | and optionalDWARFFormValue to attempt to extract the value from. |
Default | the default value to return in case of failure. |
Definition at line388 of fileDWARFFormValue.h.
Referencesllvm::Default, andtoAddress().
| inline |
Take an optionalDWARFFormValue and try to extract block data.
V | and optionalDWARFFormValue to attempt to extract the value from. |
Definition at line422 of fileDWARFFormValue.h.
| inline |
Take an optionalDWARFFormValue and try to extract an absolute debug info offset reference.
V | an optionalDWARFFormValue to attempt to extract the value from. |
Definition at line274 of fileDWARFFormValue.h.
Referenced bytoDebugInfoReference().
| inline |
Take an optionalDWARFFormValue and extract an absolute debug info offset reference.
V | an optionalDWARFFormValue to attempt to extract the value from. |
Default | the default value to return in case of failure. |
Definition at line288 of fileDWARFFormValue.h.
Referencesllvm::Default, andtoDebugInfoReference().
| inline |
| inline |
Convert a DWARF 5 DW_LANG to a DWARF 6 pair of language name and version.
Definition at line364 of fileDwarf.h.
ReferencesDW_LANG_hi_user, andDW_LANG_lo_user.
| inline |
Take an optionalDWARFFormValue and try to extract a relative offset reference.
V | an optionalDWARFFormValue to attempt to extract the value from. |
Definition at line250 of fileDWARFFormValue.h.
Referenced bytoRelativeReference().
| inline |
Take an optionalDWARFFormValue and extract a relative offset reference.
V | an optionalDWARFFormValue to attempt to extract the value from. |
Default | the default value to return in case of failure. |
Definition at line262 of fileDWARFFormValue.h.
Referencesllvm::Default, andtoRelativeReference().
| inline |
Definition at line376 of fileDWARFFormValue.h.
Referenced byllvm::DWARFUnit::getBaseAddress(),getFunctionNameAndStartLineForAddress(),llvm::DWARFContext::getInliningInfoForAddress(), andllvm::DWARFDie::getLowAndHighPC().
| inline |
Take an optionalDWARFFormValue and try to extract an section offset.
V | and optionalDWARFFormValue to attempt to extract the value from. |
Definition at line399 of fileDWARFFormValue.h.
Referenced bybuildLineToUnitMap(),llvm::dwarf_linker::parallel::CompileUnit::cloneAndEmitDebugMacro(),llvm::DWARFUnit::determineStringOffsetsTableContribution(),llvm::DWARFDie::getLocBaseAttribute(),llvm::DWARFDie::getRangesBaseAttribute(),toSectionOffset(), andllvm::DWARFUnit::tryExtractDIEsIfNeeded().
| inline |
Take an optionalDWARFFormValue and extract a section offset.
V | and optionalDWARFFormValue to attempt to extract the value from. |
Default | the default value to return in case of failure. |
Definition at line411 of fileDWARFFormValue.h.
Referencesllvm::Default, andtoSectionOffset().
| inline |
Take an optionalDWARFFormValue and try to extract a signature reference.
V | an optionalDWARFFormValue to attempt to extract the value from. |
Definition at line299 of fileDWARFFormValue.h.
Referenced bytoSignatureReference().
| inline |
Take an optionalDWARFFormValue and extract a signature reference.
V | an optionalDWARFFormValue to attempt to extract the value from. |
Default | the default value to return in case of failure. |
Definition at line311 of fileDWARFFormValue.h.
Referencesllvm::Default, andtoSignatureReference().
| inline |
Take an optionalDWARFFormValue and try to extract an signed constant.
V | and optionalDWARFFormValue to attempt to extract the value from. |
Definition at line346 of fileDWARFFormValue.h.
Referenced bytoSigned().
| inline |
Take an optionalDWARFFormValue and extract a signed integer.
V | and optionalDWARFFormValue to attempt to extract the value from. |
Default | the default value to return in case of failure. |
Definition at line358 of fileDWARFFormValue.h.
Referencesllvm::Default, andtoSigned().
| inline |
Take an optionalDWARFFormValue and try to extract a string value from it.
V | and optionalDWARFFormValue to attempt to extract the value from. |
Definition at line177 of fileDWARFFormValue.h.
Referencesllvm::consumeError(), andE.
Referenced byllvm::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(), andtoString().
| inline |
Take an optionalDWARFFormValue and extract a string value from it.
V | and optionalDWARFFormValue to attempt to extract the value from. |
Default | the default value to return in case of failure. |
Definition at line213 of fileDWARFFormValue.h.
Referencesllvm::Default,E, andtoString().
| inline |
Take an optionalDWARFFormValue and try to extract a string value from it.
V | and optionalDWARFFormValue to attempt to extract the value from. |
Definition at line193 of fileDWARFFormValue.h.
Referenced byllvm::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(), andisVariableIndexable().
| inline |
Take an optionalDWARFFormValue and try to extract a supplementary debug info reference.
V | an optionalDWARFFormValue to attempt to extract the value from. |
Definition at line323 of fileDWARFFormValue.h.
Referenced bytoSupplementaryReference().
| inline |
Take an optionalDWARFFormValue and extract a supplementary debug info reference.
V | an optionalDWARFFormValue to attempt to extract the value from. |
Default | the default value to return in case of failure. |
Definition at line336 of fileDWARFFormValue.h.
Referencesllvm::Default, andtoSupplementaryReference().
| inline |
Take an optionalDWARFFormValue and try to extract an unsigned constant.
V | and optionalDWARFFormValue to attempt to extract the value from. |
Definition at line226 of fileDWARFFormValue.h.
Referenced byllvm::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(), andllvm::updatePruning().
| inline |
Take an optionalDWARFFormValue and extract a unsigned constant.
V | and optionalDWARFFormValue to attempt to extract the value from. |
Default | the default value to return in case of failure. |
Definition at line238 of fileDWARFFormValue.h.
Referencesllvm::Default, andtoUnsigned().
constuint64_t llvm::dwarf::DW64_CIE_ID =UINT64_MAX |
Definition at line97 of fileDwarf.h.
Referenced bygetCIEId().
Special ID values that distinguish aCIE from aFDE in DWARF CFI.
Not inside an enum because a 64-bit value is needed.
Definition at line96 of fileDwarf.h.
Referenced bygetCIEId().
Identifier of an invalidDIE offset in the .debug_info section.
Definition at line101 of fileDwarf.h.
Referenced byllvm::AppleAcceleratorTable::readAtoms().
| constexpr |
Definition at line28 of fileLVObject.h.
Referenced byllvm::logicalview::LVElement::resolveFullname(), andllvm::logicalview::LVLogicalVisitor::visitKnownRecord().
| constexpr |
Definition at line31 of fileDWARFDebugFrame.h.
Referenced byllvm::dwarf::UnwindLocation::createAtCFAPlusOffset(),llvm::dwarf::UnwindLocation::createIsCFAPlusOffset(), andllvm::dwarf::UnwindLocation::createIsConstant().