LLVM: llvm::dwarf Namespace Reference (original) (raw)
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.
◆ AcceleratorTable
| Enumerator | |
|---|---|
| DW_ATOM_null | |
| DW_ATOM_die_offset | Marker as the end of a list of atoms. |
| DW_ATOM_cu_offset | |
| DW_ATOM_die_tag | |
| DW_ATOM_type_flags | |
| DW_ATOM_type_type_flags | |
| DW_ATOM_qual_name_hash | |
| DW_FLAG_type_implementation | |
| DW_hash_function_djb |
Definition at line 937 of file Dwarf.h.
◆ AccessAttribute
| Enumerator |
|---|
| DW_ACCESS_public |
| DW_ACCESS_protected |
| DW_ACCESS_private |
Definition at line 183 of file Dwarf.h.
◆ AddressSpace
◆ ApplePropertyAttributes
Constants for the DW_APPLE_PROPERTY_attributes attribute.
Keep this list in sync with clang's DeclObjCCommon.h ObjCPropertyAttribute::Kind!
Definition at line 890 of file Dwarf.h.
◆ ArrayDimensionOrdering
| Enumerator |
|---|
| DW_ORD_row_major |
| DW_ORD_col_major |
Definition at line 782 of file Dwarf.h.
◆ Attribute
Attributes.
| Enumerator |
|---|
| DW_AT_lo_user |
| DW_AT_hi_user |
Definition at line 125 of file Dwarf.h.
◆ CallFrameInfo
Call frame instruction encodings.
| Enumerator |
|---|
| DW_CFA_extended |
| DW_CFA_lo_user |
| DW_CFA_hi_user |
Definition at line 853 of file Dwarf.h.
◆ CallingConvention
| Enumerator |
|---|
| DW_CC_lo_user |
| DW_CC_hi_user |
Definition at line 760 of file Dwarf.h.
◆ CaseSensitivity
| Enumerator |
|---|
| DW_ID_case_sensitive |
| DW_ID_up_case |
| DW_ID_down_case |
| DW_ID_case_insensitive |
Definition at line 752 of file Dwarf.h.
◆ Constants
| Enumerator |
|---|
| DW_CHILDREN_no |
| DW_CHILDREN_yes |
| DW_EH_PE_absptr |
| DW_EH_PE_omit |
| DW_EH_PE_uleb128 |
| DW_EH_PE_udata2 |
| DW_EH_PE_udata4 |
| DW_EH_PE_udata8 |
| DW_EH_PE_sleb128 |
| DW_EH_PE_sdata2 |
| DW_EH_PE_sdata4 |
| DW_EH_PE_sdata8 |
| DW_EH_PE_signed |
| DW_EH_PE_pcrel |
| DW_EH_PE_textrel |
| DW_EH_PE_datarel |
| DW_EH_PE_funcrel |
| DW_EH_PE_aligned |
| DW_EH_PE_indirect |
Definition at line 863 of file Dwarf.h.
◆ DecimalSignEncoding
| Enumerator |
|---|
| DW_DS_unsigned |
| DW_DS_leading_overpunch |
| DW_DS_trailing_overpunch |
| DW_DS_leading_separate |
| DW_DS_trailing_separate |
Definition at line 166 of file Dwarf.h.
◆ DefaultedMemberAttribute
| Enumerator |
|---|
| DW_DEFAULTED_max |
Definition at line 209 of file Dwarf.h.
◆ DiscriminantList
| Enumerator |
|---|
| DW_DSC_label |
| DW_DSC_range |
Definition at line 788 of file Dwarf.h.
◆ DwarfFormat
Constants that define the DWARF format as 32 or 64 bit.
| Enumerator |
|---|
| DWARF32 |
| DWARF64 |
Definition at line 93 of file Dwarf.h.
◆ EndianityEncoding
| Enumerator |
|---|
| DW_END_lo_user |
| DW_END_hi_user |
Definition at line 175 of file Dwarf.h.
◆ EnumKindAttribute
| Enumerator |
|---|
| DW_APPLE_ENUM_KIND_max |
Definition at line 203 of file Dwarf.h.
◆ Form
| Enumerator | |
|---|---|
| DW_FORM_lo_user | Not specified by DWARF. |
Definition at line 132 of file Dwarf.h.
◆ GDBIndexEntryKind
| Enumerator |
|---|
| GIEK_NONE |
| GIEK_TYPE |
| GIEK_VARIABLE |
| GIEK_FUNCTION |
| GIEK_OTHER |
| GIEK_UNUSED5 |
| GIEK_UNUSED6 |
| GIEK_UNUSED7 |
Definition at line 971 of file Dwarf.h.
◆ GDBIndexEntryLinkage
| Enumerator |
|---|
| GIEL_EXTERNAL |
| GIEL_STATIC |
Definition at line 982 of file Dwarf.h.
◆ GnuMacroEntryType
GNU .debug_macro macro information entry type encodings.
| Enumerator |
|---|
| DW_MACRO_GNU_lo_user |
| DW_MACRO_GNU_hi_user |
Definition at line 833 of file Dwarf.h.
◆ Index
| Enumerator |
|---|
| DW_IDX_lo_user |
| DW_IDX_hi_user |
Definition at line 903 of file Dwarf.h.
◆ InlineAttribute
| Enumerator |
|---|
| DW_INL_not_inlined |
| DW_INL_inlined |
| DW_INL_declared_not_inlined |
| DW_INL_declared_inlined |
Definition at line 774 of file Dwarf.h.
◆ LineNumberEntryFormat
| Enumerator |
|---|
| DW_LNCT_lo_user |
| DW_LNCT_hi_user |
Definition at line 808 of file Dwarf.h.
◆ LineNumberExtendedOps
Line Number Extended Opcode Encodings.
| Enumerator |
|---|
| DW_LNE_lo_user |
| DW_LNE_hi_user |
Definition at line 801 of file Dwarf.h.
◆ LineNumberOps
Line Number Standard Opcode Encodings.
Definition at line 795 of file Dwarf.h.
◆ LLVMConstants
| Enumerator | |
|---|---|
| DW_TAG_invalid | LLVM mock tags (see also llvm/BinaryFormat/Dwarf.def). Tag for invalid results. |
| DW_VIRTUALITY_invalid | Virtuality for invalid results. |
| DW_MACINFO_invalid | Macinfo type for invalid results. |
| DW_APPLE_ENUM_KIND_invalid | Enum kind for invalid results. |
| DW_LENGTH_lo_reserved | Special values for an initial length field. Lower bound of the reserved range. |
| DW_LENGTH_DWARF64 | Indicator of 64-bit DWARF format. |
| DW_LENGTH_hi_reserved | Upper bound of the reserved range. |
| DWARF_VERSION | Other constants. Default dwarf version we output. |
| DW_PUBTYPES_VERSION | Section version number for .debug_pubtypes. |
| DW_PUBNAMES_VERSION | Section version number for .debug_pubnames. |
| DW_ARANGES_VERSION | Section version number for .debug_aranges. |
| DWARF_VENDOR_DWARF | Identifiers we use to distinguish vendor extensions. Defined in v2 or later of the DWARF standard. |
| DWARF_VENDOR_APPLE | |
| DWARF_VENDOR_BORLAND | |
| DWARF_VENDOR_GNU | |
| DWARF_VENDOR_GOOGLE | |
| DWARF_VENDOR_LLVM | |
| DWARF_VENDOR_MIPS | |
| DWARF_VENDOR_WASM | |
| DWARF_VENDOR_ALTIUM | |
| DWARF_VENDOR_COMPAQ | |
| DWARF_VENDOR_GHS | |
| DWARF_VENDOR_GO | |
| DWARF_VENDOR_HP | |
| DWARF_VENDOR_IBM | |
| DWARF_VENDOR_INTEL | |
| DWARF_VENDOR_PGI | |
| DWARF_VENDOR_SUN | |
| DWARF_VENDOR_UPC |
Definition at line 45 of file Dwarf.h.
◆ LlvmUserLocationAtom
◆ LocationAtom
| Enumerator | |
|---|---|
| DW_OP_lo_user | |
| DW_OP_hi_user | |
| DW_OP_LLVM_fragment | Only used in LLVM metadata. |
| DW_OP_LLVM_convert | Only used in LLVM metadata. |
| DW_OP_LLVM_tag_offset | Only used in LLVM metadata. |
| DW_OP_LLVM_entry_value | Only used in LLVM metadata. |
| DW_OP_LLVM_implicit_pointer | Only used in LLVM metadata. |
| DW_OP_LLVM_arg | Only used in LLVM metadata. |
| DW_OP_LLVM_extract_bits_sext | Only used in LLVM metadata. |
| DW_OP_LLVM_extract_bits_zext | Only used in LLVM metadata. |
Definition at line 138 of file Dwarf.h.
◆ LoclistEntries
DWARF v5 loc list entry encoding values.
Definition at line 847 of file Dwarf.h.
◆ MacinfoRecordType
| Enumerator |
|---|
| DW_MACINFO_define |
| DW_MACINFO_undef |
| DW_MACINFO_start_file |
| DW_MACINFO_end_file |
| DW_MACINFO_vendor_ext |
Definition at line 815 of file Dwarf.h.
◆ MacroEntryType
DWARF v5 macro information entry type encodings.
| Enumerator |
|---|
| DW_MACRO_lo_user |
| DW_MACRO_hi_user |
Definition at line 825 of file Dwarf.h.
◆ RnglistEntries
DWARF v5 range list entry encoding values.
Definition at line 841 of file Dwarf.h.
◆ SourceLanguage
| Enumerator |
|---|
| DW_LANG_lo_user |
| DW_LANG_hi_user |
Definition at line 215 of file Dwarf.h.
◆ SourceLanguageName
◆ Tag
| Enumerator | |
|---|---|
| DW_TAG_lo_user | |
| DW_TAG_hi_user | |
| DW_TAG_user_base | Recommended base for user tags. |
Definition at line 105 of file Dwarf.h.
◆ TypeKind
| Enumerator |
|---|
| DW_ATE_lo_user |
| DW_ATE_hi_user |
Definition at line 159 of file Dwarf.h.
◆ UnitType
Constants for unit types in DWARF v5.
| Enumerator |
|---|
| DW_UT_lo_user |
| DW_UT_hi_user |
Definition at line 896 of file Dwarf.h.
◆ VirtualityAttribute
| Enumerator |
|---|
| DW_VIRTUALITY_max |
Definition at line 197 of file Dwarf.h.
◆ VisibilityAttribute
| Enumerator |
|---|
| DW_VIS_local |
| DW_VIS_exported |
| DW_VIS_qualified |
Definition at line 190 of file Dwarf.h.
◆ AtomValueString()
◆ AttributeValueString()
Returns the symbolic string representing Val when used as a value for attribute Attr.
Definition at line 866 of file Dwarf.cpp.
References AccessibilityString(), ArrayOrderString(), AttributeEncodingString(), CaseString(), ConventionString(), DecimalSignString(), DefaultedMemberString(), EndianityString(), EnumKindString(), InlineCodeString(), LanguageString(), SourceLanguageNameString(), VirtualityString(), and VisibilityString().
Referenced by dumpAttribute().
◆ computeTombstoneAddress()
| uint64_t llvm::dwarf::computeTombstoneAddress ( uint8_t AddressByteSize) | inline |
|---|
◆ createUnwindTable() [1/2]
◆ createUnwindTable() [2/2]
Create an UnwindTable from a Frame Descriptor Entry (FDE).
Parameters
| Fde | The Frame Descriptor Entry to extract the table from. The CFIProgram is retrieved from the Fde object and used to create the UnwindTable. |
|---|
Returns
An error if the DWARF Call Frame Information opcodes have state machine errors, or a valid UnwindTable otherwise.
Definition at line 36 of file DWARFDebugFrame.cpp.
References llvm::dwarf::FrameEntry::cfis(), llvm::createStringError(), llvm::dwarf::CFIProgram::empty(), llvm::dwarf::FDE::getInitialLocation(), llvm::dwarf::FDE::getLinkedCIE(), llvm::dwarf::FrameEntry::getOffset(), llvm::invalid_argument, parseRows(), llvm::dwarf::UnwindRow::setAddress(), and llvm::dwarf::UnwindLocation::Unspecified.
◆ doesFormBelongToClass()
◆ findDebugNamesOffsets()
Definition at line 568 of file DWARFAcceleratorTable.cpp.
References llvm::DWARFDebugNames::Header::AbbrevTableSize, llvm::DWARFDebugNames::Header::BucketCount, llvm::DWARFDebugNames::DWARFDebugNamesOffsets::BucketsBase, llvm::DWARFDebugNames::Header::CompUnitCount, llvm::DWARFDebugNames::DWARFDebugNamesOffsets::CUsBase, llvm::DWARFDebugNames::DWARFDebugNamesOffsets::EntriesBase, llvm::DWARFDebugNames::DWARFDebugNamesOffsets::EntryOffsetsBase, llvm::DWARFDebugNames::Header::ForeignTypeUnitCount, llvm::DWARFDebugNames::Header::Format, getDwarfOffsetByteSize(), llvm::DWARFDebugNames::DWARFDebugNamesOffsets::HashesBase, llvm::DWARFDebugNames::Header::LocalTypeUnitCount, llvm::DWARFDebugNames::Header::NameCount, and llvm::DWARFDebugNames::DWARFDebugNamesOffsets::StringOffsetsBase.
Referenced by llvm::DWARFDebugNames::NameIndex::extract().
◆ getArrayIndexTypeEncoding()
| TypeKind llvm::dwarf::getArrayIndexTypeEncoding ( SourceLanguage S) | inline |
|---|
◆ getDebugNamesBucketCount()
| uint32_t llvm::dwarf::getDebugNamesBucketCount ( uint32_t UniqueHashCount) | inline |
|---|
◆ getDwarfOffsetByteSize()
| uint8_t llvm::dwarf::getDwarfOffsetByteSize ( DwarfFormat Format) | inline |
|---|
The size of a reference determined by the DWARF 32/64-bit format.
Definition at line 1097 of file Dwarf.h.
References DWARF32, DWARF64, llvm::Format, and llvm_unreachable.
Referenced by llvm::DWARFCompileUnit::dump(), llvm::DWARFDebugAddrTable::dump(), llvm::DWARFDebugArangeSet::dump(), llvm::DWARFDebugLine::Prologue::dump(), llvm::DWARFDebugPubTable::dump(), llvm::DWARFFormValue::dump(), llvm::DWARFListTableHeader::dump(), llvm::DWARFTypeUnit::dump(), dumpStringOffsetsSection(), llvm::MCDwarfLineTableHeader::Emit(), llvm::MCStreamer::emitDwarfUnitLength(), llvm::MCStreamer::emitDwarfUnitLength(), EmitGenDwarfAranges(), EmitGenDwarfInfo(), llvm::mcdwarf::emitListsTableHeaderStart(), llvm::MCDwarfLineStr::emitRef(), llvm::DWARFDebugArangeSet::extract(), llvm::DWARFDebugNames::NameIndex::extract(), llvm::DWARFDebugPubTable::extract(), findDebugNamesOffsets(), llvm::DWARFDebugNames::NameIndex::getCUOffset(), llvm::AsmPrinter::getDwarfOffsetByteSize(), llvm::dwarf::FormParams::getDwarfOffsetByteSize(), llvm::DWARFDebugNames::NameIndex::getForeignTUSignature(), llvm::DWARFDebugNames::NameIndex::getLocalTUOffset(), llvm::DWARFDebugNames::NameIndex::getNameTableEntry(), and llvm::DWARFVerifier::verifyDebugStrOffsets().
◆ getFixedFormByteSize()
◆ getUnitLengthFieldByteSize()
| uint8_t llvm::dwarf::getUnitLengthFieldByteSize ( DwarfFormat Format) | inline |
|---|
Get the byte size of the unit length field depending on the DWARF format.
Definition at line 1139 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().
◆ isC()
| bool llvm::dwarf::isC ( SourceLanguage S) | inline |
|---|
◆ isCPlusPlus()
| bool llvm::dwarf::isCPlusPlus ( SourceLanguage S) | inline |
|---|
◆ isFortran()
| bool llvm::dwarf::isFortran ( SourceLanguage S) | inline |
|---|
◆ isType()
| bool llvm::dwarf::isType ( Tag T) | inline |
|---|
◆ isUnitType() [1/2]
| bool llvm::dwarf::isUnitType ( dwarf::Tag T) | inline |
|---|
◆ isUnitType() [2/2]
| bool llvm::dwarf::isUnitType ( uint8_t UnitType) | inline |
|---|
◆ isValidFormForVersion()
| bool llvm::dwarf::isValidFormForVersion | ( | Form | F, |
|---|---|---|---|
| unsigned | Version, | ||
| bool | ExtensionsOk = true ) |
◆ LanguageDescription() [1/2]
◆ LanguageDescription() [2/2]
Returns a language name corresponding to the specified version.
If the version is not recognized for the specified language, returns the version-independent name.
Definition at line 475 of file Dwarf.cpp.
References LanguageDescription(), and llvm::Version.
◆ LanguageLowerBound()
| std::optional< unsigned > llvm::dwarf::LanguageLowerBound | ( | dwarf::SourceLanguage | Lang | ) |
|---|
◆ OperationArity()
| std::optional< unsigned > llvm::dwarf::OperationArity | ( | dwarf::LocationAtom | Op | ) |
|---|
The arity of the given LocationAtom.
This is the number of elements on the stack this operation operates on. Returns -1 if the arity is variable (e.g. depending on the argument) or unknown.
Definition at line 239 of file Dwarf.cpp.
◆ OperationOperands()
| std::optional< unsigned > llvm::dwarf::OperationOperands | ( | dwarf::LocationAtom | Op | ) |
|---|
The number of operands for the given LocationAtom.
Definition at line 226 of file Dwarf.cpp.
◆ operator<<() [1/4]
◆ operator<<() [2/4]
◆ operator<<() [3/4]
◆ operator<<() [4/4]
◆ parseRows()
Parse the information in the CFIProgram and update the CurrRow object that the state machine describes.
This function emulates the state machine described in the DWARF Call Frame Information opcodes and will push CurrRow onto a RowContainer when needed.
Parameters
| CFIP | the CFI program that contains the opcodes from a CIE or FDE. |
|---|---|
| CurrRow | the current row to modify while parsing the state machine. |
| InitialLocs | If non-NULL, we are parsing a FDE and this contains the initial register locations from the CIE. If NULL, then a CIE's opcodes are being parsed and this is not needed. This is used for the DW_CFA_restore and DW_CFA_restore_extended opcodes. |
Returns
An error if the DWARF Call Frame Information opcodes have state machine errors, or the accumulated rows otherwise.
Definition at line 81 of file DWARFUnwindTable.cpp.
References llvm::Triple::aarch64, llvm::Triple::aarch64_32, llvm::Triple::aarch64_be, llvm::dwarf::CFIProgram::callFrameString(), llvm::dwarf::UnwindLocation::Constant, llvm::dwarf::UnwindLocation::createAtCFAPlusOffset(), llvm::dwarf::UnwindLocation::createAtDWARFExpression(), llvm::dwarf::UnwindLocation::createIsCFAPlusOffset(), llvm::dwarf::UnwindLocation::createIsConstant(), llvm::dwarf::UnwindLocation::createIsDWARFExpression(), llvm::dwarf::UnwindLocation::createIsRegisterPlusOffset(), llvm::dwarf::UnwindLocation::createSame(), llvm::createStringError(), llvm::dwarf::UnwindLocation::createUndefined(), llvm::Triple::getArchTypeName(), llvm::dwarf::RegisterLocations::getRegisterLocation(), llvm::invalid_argument, llvm::not_supported, llvm::Offset, llvm::dwarf::UnwindLocation::RegPlusOffset, llvm::Triple::sparc, llvm::Triple::sparcel, llvm::Triple::sparcv9, llvm::StringRef::str(), llvm::Expected< T >::takeError(), and llvm::dwarf::CFIProgram::triple().
Referenced by createUnwindTable(), and createUnwindTable().
◆ printCFIProgram()
◆ printUnwindTable()
Print a UnwindTable to the stream.
Parameters
| Rows | the UnwindTable to print. |
|---|---|
| OS | the stream to use for output. |
| MRI | register information that helps emit register names instead of raw register numbers. |
| IsEH | true if the DWARF Call Frame Information is from .eh_frame instead of from .debug_frame. This is needed for register number conversion because some register numbers differ between the two sections for certain architectures like x86. |
| IndentLevel | specify the indent level as an integer. The UnwindRow will be output to the stream preceded by 2 * IndentLevel number of spaces. |
Definition at line 174 of file DWARFUnwindTablePrinter.cpp.
References printUnwindRow().
Referenced by llvm::dwarf::CIE::dump(), llvm::dwarf::FDE::dump(), and operator<<().
◆ toAddress() [1/2]
◆ toAddress() [2/2]
Take an optional DWARFFormValue and extract a address.
Parameters
| V | and optional DWARFFormValue to attempt to extract the value from. |
|---|---|
| Default | the default value to return in case of failure. |
Returns
the extracted address value or Default if the V doesn't have a value or the form value's encoding wasn't an address form.
Definition at line 393 of file DWARFFormValue.h.
References llvm::Default, and toAddress().
◆ toBlock()
Take an optional DWARFFormValue and try to extract block data.
Parameters
Returns
an optional value that contains a value if the form value was valid and has a block form.
Definition at line 427 of file DWARFFormValue.h.
◆ toDebugInfoReference() [1/2]
Take an optional DWARFFormValue and try to extract an absolute debug info offset reference.
Parameters
Returns
an optional value that contains a value if the form value was valid and has an (absolute) debug info offset reference form.
Definition at line 279 of file DWARFFormValue.h.
Referenced by toDebugInfoReference().
◆ toDebugInfoReference() [2/2]
Take an optional DWARFFormValue and extract an absolute debug info offset reference.
Parameters
| V | an optional DWARFFormValue to attempt to extract the value from. |
|---|---|
| Default | the default value to return in case of failure. |
Returns
the extracted reference value or Default if the V doesn't have a value or the form value's encoding wasn't an absolute debug info offset reference form.
Definition at line 293 of file DWARFFormValue.h.
References llvm::Default, and toDebugInfoReference().
◆ toDW_LANG()
| std::optional< SourceLanguage > llvm::dwarf::toDW_LANG ( SourceLanguageName name, uint32_t version ) | inline |
|---|
Convert a DWARF 6 pair of language name and version to a DWARF 5 DW_LANG.
If the version number doesn't exactly match a known version it is rounded up to the next-highest known version number.
Definition at line 231 of file Dwarf.h.
References name.
Referenced by llvm::DwarfUnit::getSourceLanguage().
◆ toDW_LNAME()
| std::optional< std::pair< SourceLanguageName, uint32_t > > llvm::dwarf::toDW_LNAME ( SourceLanguage language) | inline |
|---|
◆ toRelativeReference() [1/2]
Take an optional DWARFFormValue and try to extract a relative offset reference.
Parameters
Returns
an optional value that contains a value if the form value was valid and has a relative reference form.
Definition at line 255 of file DWARFFormValue.h.
Referenced by toRelativeReference().
◆ toRelativeReference() [2/2]
Take an optional DWARFFormValue and extract a relative offset reference.
Parameters
| V | an optional DWARFFormValue to attempt to extract the value from. |
|---|---|
| Default | the default value to return in case of failure. |
Returns
the extracted reference value or Default if the V doesn't have a value or the form value's encoding wasn't a relative offset reference form.
Definition at line 267 of file DWARFFormValue.h.
References llvm::Default, and toRelativeReference().
◆ toSectionedAddress()
◆ toSectionOffset() [1/2]
◆ toSectionOffset() [2/2]
Take an optional DWARFFormValue and extract a section offset.
Parameters
| V | and optional DWARFFormValue to attempt to extract the value from. |
|---|---|
| Default | the default value to return in case of failure. |
Returns
the extracted section offset value or Default if the V doesn't have a value or the form value's encoding wasn't a section offset form.
Definition at line 416 of file DWARFFormValue.h.
References llvm::Default, and toSectionOffset().
◆ toSignatureReference() [1/2]
Take an optional DWARFFormValue and try to extract a signature reference.
Parameters
Returns
an optional value that contains a value if the form value was valid and has a signature reference form.
Definition at line 304 of file DWARFFormValue.h.
Referenced by toSignatureReference().
◆ toSignatureReference() [2/2]
Take an optional DWARFFormValue and extract a signature reference.
Parameters
| V | an optional DWARFFormValue to attempt to extract the value from. |
|---|---|
| Default | the default value to return in case of failure. |
Returns
the extracted reference value or Default if the V doesn't have a value or the form value's encoding wasn't a signature reference form.
Definition at line 316 of file DWARFFormValue.h.
References llvm::Default, and toSignatureReference().
◆ toSigned() [1/2]
| std::optional< int64_t > llvm::dwarf::toSigned ( const std::optional< DWARFFormValue > & V) | inline |
|---|
Take an optional DWARFFormValue and try to extract an signed constant.
Parameters
Returns
an optional value that contains a value if the form value was valid and has a signed constant form.
Definition at line 351 of file DWARFFormValue.h.
Referenced by toSigned().
◆ toSigned() [2/2]
Take an optional DWARFFormValue and extract a signed integer.
Parameters
| V | and optional DWARFFormValue to attempt to extract the value from. |
|---|---|
| Default | the default value to return in case of failure. |
Returns
the extracted signed integer value or Default if the V doesn't have a value or the form value's encoding wasn't a signed integer form.
Definition at line 363 of file DWARFFormValue.h.
References llvm::Default, and toSigned().
◆ toString() [1/2]
Take an optional DWARFFormValue and try to extract a string value from it.
Parameters
Returns
an optional value that contains a value if the form value was valid and was a string.
Definition at line 182 of file DWARFFormValue.h.
References llvm::consumeError(), and E().
Referenced by llvm::analyzeContextInfo(), llvm::analyzeImportedModule(), llvm::dwarf_linker::parallel::CompileUnit::analyzeImportedModule(), llvm::dwarf_linker::parallel::DIEAttributeCloner::cloneStringAttr(), llvm::gsym::DwarfTransformer::convert(), llvm::logicalview::LVDWARFReader::createScopes(), llvm::DWARFUnit::getCompilationDir(), llvm::DWARFDebugLine::LineTable::getDirectoryForEntry(), llvm::DWARFDebugLine::Prologue::getFileNameByIndex(), llvm::DWARFDie::getLinkageName(), getPCMFile(), llvm::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().
◆ toString() [2/2]
Take an optional DWARFFormValue and extract a string value from it.
Parameters
| V | and optional DWARFFormValue to attempt to extract the value from. |
|---|---|
| Default | the default value to return in case of failure. |
Returns
the string value or Default if the V doesn't have a value or the form value's encoding wasn't a string.
Definition at line 218 of file DWARFFormValue.h.
References llvm::Default, E(), and toString().
◆ toStringRef()
◆ toSupplementaryReference() [1/2]
Take an optional DWARFFormValue and try to extract a supplementary debug info reference.
Parameters
Returns
an optional value that contains a value if the form value was valid and has a supplementary reference form.
Definition at line 328 of file DWARFFormValue.h.
Referenced by toSupplementaryReference().
◆ toSupplementaryReference() [2/2]
Take an optional DWARFFormValue and extract a supplementary debug info reference.
Parameters
| V | an optional DWARFFormValue to attempt to extract the value from. |
|---|---|
| Default | the default value to return in case of failure. |
Returns
the extracted reference value or Default if the V doesn't have a value or the form value's encoding wasn't a supplementary reference form.
Definition at line 341 of file DWARFFormValue.h.
References llvm::Default, and toSupplementaryReference().
◆ toUnsigned() [1/2]
Take an optional DWARFFormValue and try to extract an unsigned constant.
Parameters
Returns
an optional value that contains a value if the form value was valid and has a unsigned constant form.
Definition at line 231 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(), getDwoId(), llvm::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().
◆ toUnsigned() [2/2]
Take an optional DWARFFormValue and extract a unsigned constant.
Parameters
| V | and optional DWARFFormValue to attempt to extract the value from. |
|---|---|
| Default | the default value to return in case of failure. |
Returns
the extracted unsigned value or Default if the V doesn't have a value or the form value's encoding wasn't an unsigned constant form.
Definition at line 243 of file DWARFFormValue.h.
References llvm::Default, and toUnsigned().
◆ DW64_CIE_ID
◆ DW_CIE_ID
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 98 of file Dwarf.h.
Referenced by getCIEId().
◆ DW_INVALID_OFFSET
◆ DW_TAG_unaligned
| Tag llvm::dwarf::DW_TAG_unaligned = Tag(dwarf::DW_TAG_hi_user + 1) | constexpr |
|---|
◆ InvalidRegisterNumber
| uint32_t llvm::dwarf::InvalidRegisterNumber = UINT32_MAX | constexpr |
|---|