Movatterモバイル変換


[0]ホーム

URL:


LLVM 20.0.0git
Classes |Enumerations |Functions |Variables
llvm::dwarf Namespace Reference

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...
 

Enumerations

enum  LLVMConstants : uint32_t {
  DW_TAG_invalid = ~0U,DW_VIRTUALITY_invalid = ~0U,DW_MACINFO_invalid = ~0U,DW_LENGTH_lo_reserved = 0xfffffff0,
  DW_LENGTH_DWARF64 = 0xffffffff,DW_LENGTH_hi_reserved = 0xffffffff,DWARF_VERSION = 4,DW_PUBTYPES_VERSION = 2,
  DW_PUBNAMES_VERSION = 2,DW_ARANGES_VERSION = 2,DWARF_VENDOR_DWARF = 0,DWARF_VENDOR_APPLE = 1,
  DWARF_VENDOR_BORLAND = 2,DWARF_VENDOR_GNU = 3,DWARF_VENDOR_GOOGLE = 4,DWARF_VENDOR_LLVM = 5,
  DWARF_VENDOR_MIPS = 6,DWARF_VENDOR_WASM = 7,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
}
 
enum  DwarfFormat : uint8_t {DWARF32,DWARF64 }
 Constants that define the DWARF format as 32 or 64 bit.More...
 
enum  Tag : uint16_t {DW_TAG_lo_user = 0x4080,DW_TAG_hi_user = 0xffff,DW_TAG_user_base = 0x1000 }
 
enum  Attribute : uint16_t {DW_AT_lo_user = 0x2000,DW_AT_hi_user = 0x3fff }
 Attributes.More...
 
enum  Form : uint16_t {DW_FORM_lo_user = 0x1f00 }
 
enum  LocationAtom {
  DW_OP_lo_user = 0xe0,DW_OP_hi_user = 0xff,DW_OP_LLVM_fragment = 0x1000,DW_OP_LLVM_convert = 0x1001,
  DW_OP_LLVM_tag_offset = 0x1002,DW_OP_LLVM_entry_value = 0x1003,DW_OP_LLVM_implicit_pointer = 0x1004,DW_OP_LLVM_arg = 0x1005,
  DW_OP_LLVM_extract_bits_sext = 0x1006,DW_OP_LLVM_extract_bits_zext = 0x1007
}
 
enum  LlvmUserLocationAtom
 
enum  TypeKind : uint8_t {DW_ATE_lo_user = 0x80,DW_ATE_hi_user = 0xff }
 
enum  DecimalSignEncoding {
  DW_DS_unsigned = 0x01,DW_DS_leading_overpunch = 0x02,DW_DS_trailing_overpunch = 0x03,DW_DS_leading_separate = 0x04,
  DW_DS_trailing_separate = 0x05
}
 
enum  EndianityEncoding {DW_END_lo_user = 0x40,DW_END_hi_user = 0xff }
 
enum  AccessAttribute {DW_ACCESS_public = 0x01,DW_ACCESS_protected = 0x02,DW_ACCESS_private = 0x03 }
 
enum  VisibilityAttribute {DW_VIS_local = 0x01,DW_VIS_exported = 0x02,DW_VIS_qualified = 0x03 }
 
enum  VirtualityAttribute {DW_VIRTUALITY_max = 0x02 }
 
enum  DefaultedMemberAttribute {DW_DEFAULTED_max = 0x02 }
 
enum  SourceLanguage {DW_LANG_lo_user = 0x8000,DW_LANG_hi_user = 0xffff }
 
enum  SourceLanguageName : uint16_t
 
enum  CaseSensitivity {DW_ID_case_sensitive = 0x00,DW_ID_up_case = 0x01,DW_ID_down_case = 0x02,DW_ID_case_insensitive = 0x03 }
 
enum  CallingConvention {DW_CC_lo_user = 0x40,DW_CC_hi_user = 0xff }
 
enum  InlineAttribute {DW_INL_not_inlined = 0x00,DW_INL_inlined = 0x01,DW_INL_declared_not_inlined = 0x02,DW_INL_declared_inlined = 0x03 }
 
enum  ArrayDimensionOrdering {DW_ORD_row_major = 0x00,DW_ORD_col_major = 0x01 }
 
enum  DiscriminantList {DW_DSC_label = 0x00,DW_DSC_range = 0x01 }
 
enum  LineNumberOps : uint8_t
 Line Number Standard Opcode Encodings.More...
 
enum  LineNumberExtendedOps {DW_LNE_lo_user = 0x80,DW_LNE_hi_user = 0xff }
 Line Number Extended Opcode Encodings.More...
 
enum  LineNumberEntryFormat {DW_LNCT_lo_user = 0x2000,DW_LNCT_hi_user = 0x3fff }
 
enum  MacinfoRecordType {
  DW_MACINFO_define = 0x01,DW_MACINFO_undef = 0x02,DW_MACINFO_start_file = 0x03,DW_MACINFO_end_file = 0x04,
  DW_MACINFO_vendor_ext = 0xff
}
 
enum  MacroEntryType {DW_MACRO_lo_user = 0xe0,DW_MACRO_hi_user = 0xff }
 DWARF v5 macro information entry type encodings.More...
 
enum  GnuMacroEntryType {DW_MACRO_GNU_lo_user = 0xe0,DW_MACRO_GNU_hi_user = 0xff }
 GNU .debug_macro macro information entry type encodings.More...
 
enum  RnglistEntries
 DWARF v5 range list entry encoding values.More...
 
enum  LoclistEntries
 DWARF v5 loc list entry encoding values.More...
 
enum  CallFrameInfo {DW_CFA_extended = 0x00,DW_CFA_lo_user = 0x1c,DW_CFA_hi_user = 0x3f }
 Call frame instruction encodings.More...
 
enum  Constants {
  DW_CHILDREN_no = 0x00,DW_CHILDREN_yes = 0x01,DW_EH_PE_absptr = 0x00,DW_EH_PE_omit = 0xff,
  DW_EH_PE_uleb128 = 0x01,DW_EH_PE_udata2 = 0x02,DW_EH_PE_udata4 = 0x03,DW_EH_PE_udata8 = 0x04,
  DW_EH_PE_sleb128 = 0x09,DW_EH_PE_sdata2 = 0x0A,DW_EH_PE_sdata4 = 0x0B,DW_EH_PE_sdata8 = 0x0C,
  DW_EH_PE_signed = 0x08,DW_EH_PE_pcrel = 0x10,DW_EH_PE_textrel = 0x20,DW_EH_PE_datarel = 0x30,
  DW_EH_PE_funcrel = 0x40,DW_EH_PE_aligned = 0x50,DW_EH_PE_indirect = 0x80
}
 
enum  ApplePropertyAttributes
 Constants for the DW_APPLE_PROPERTY_attributes attribute.More...
 
enum  UnitType : unsigned char {DW_UT_lo_user = 0x80,DW_UT_hi_user = 0xff }
 Constants for unit types in DWARF v5.More...
 
enum  Index {DW_IDX_lo_user = 0x2000,DW_IDX_hi_user = 0x3fff }
 
enum  AcceleratorTable {
  DW_ATOM_null = 0u,DW_ATOM_die_offset = 1u,DW_ATOM_cu_offset = 2u,DW_ATOM_die_tag = 3u,
  DW_ATOM_type_flags = 4u,DW_ATOM_type_type_flags = 5u,DW_ATOM_qual_name_hash = 6u,DW_FLAG_type_implementation = 2u,
  DW_hash_function_djb = 0u
}
 
enum  GDBIndexEntryKind {
  GIEK_NONE,GIEK_TYPE,GIEK_VARIABLE,GIEK_FUNCTION,
  GIEK_OTHER,GIEK_UNUSED5,GIEK_UNUSED6,GIEK_UNUSED7
}
 
enum  GDBIndexEntryLinkage {GIEL_EXTERNAL,GIEL_STATIC }
 

Functions

bool isType (TagT)
 
std::optional<SourceLanguagetoDW_LANG (SourceLanguageNamename,uint32_t version)
 Convert a DWARF 6 pair of language name and version to a DWARF 5 DW_LANG.
 
std::optional< std::pair<SourceLanguageName,uint32_t > > toDW_LNAME (SourceLanguage language)
 Convert a DWARF 5 DW_LANG to a DWARF 6 pair of language name and version.
 
llvm::StringRef LanguageDescription (SourceLanguageNamename)
 
bool isCPlusPlus (SourceLanguage S)
 
bool isFortran (SourceLanguage S)
 
bool isC (SourceLanguage S)
 
TypeKind getArrayIndexTypeEncoding (SourceLanguage S)
 
bool isUnitType (uint8_tUnitType)
 
bool isUnitType (dwarf::TagT)
 
uint32_t getDebugNamesBucketCount (uint32_t UniqueHashCount)
 
StringRef TagString (unsignedTag)
 
StringRef ChildrenString (unsigned Children)
 
StringRef AttributeString (unsignedAttribute)
 
StringRef FormEncodingString (unsigned Encoding)
 
StringRef OperationEncodingString (unsigned Encoding)
 
StringRef SubOperationEncodingString (unsigned OpEncoding,unsigned SubOpEncoding)
 
StringRef AttributeEncodingString (unsigned Encoding)
 
StringRef DecimalSignString (unsigned Sign)
 
StringRef EndianityString (unsignedEndian)
 
StringRef AccessibilityString (unsignedAccess)
 
StringRef DefaultedMemberString (unsigned DefaultedEncodings)
 
StringRef VisibilityString (unsigned Visibility)
 
StringRef VirtualityString (unsigned Virtuality)
 
StringRef LanguageString (unsigned Language)
 
StringRef CaseString (unsigned Case)
 
StringRef ConventionString (unsigned Convention)
 
StringRef InlineCodeString (unsigned Code)
 
StringRef ArrayOrderString (unsigned Order)
 
StringRef LNStandardString (unsigned Standard)
 
StringRef LNExtendedString (unsigned Encoding)
 
StringRef MacinfoString (unsigned Encoding)
 
StringRef MacroString (unsigned Encoding)
 
StringRef GnuMacroString (unsigned Encoding)
 
StringRef RangeListEncodingString (unsigned Encoding)
 
StringRef LocListEncodingString (unsigned Encoding)
 
StringRef CallFrameString (unsigned Encoding,Triple::ArchType Arch)
 
StringRef ApplePropertyString (unsigned)
 
StringRef UnitTypeString (unsigned)
 
StringRef AtomTypeString (unsigned Atom)
 
StringRef GDBIndexEntryKindString (GDBIndexEntryKind Kind)
 
StringRef GDBIndexEntryLinkageString (GDBIndexEntryLinkageLinkage)
 
StringRef IndexString (unsignedIdx)
 
StringRef FormatString (DwarfFormatFormat)
 
StringRef FormatString (bool IsDWARF64)
 
StringRef RLEString (unsigned RLE)
 
unsigned getTag (StringRefTagString)
 
unsigned getOperationEncoding (StringRefOperationEncodingString)
 
unsigned getSubOperationEncoding (unsigned OpEncoding,StringRefSubOperationEncodingString)
 
unsigned getVirtuality (StringRefVirtualityString)
 
unsigned getLanguage (StringRefLanguageString)
 
unsigned getCallingConvention (StringRefLanguageString)
 
unsigned getAttributeEncoding (StringRef EncodingString)
 
unsigned getMacinfo (StringRefMacinfoString)
 
unsigned getMacro (StringRefMacroString)
 
unsigned TagVersion (TagT)
 
unsigned AttributeVersion (AttributeA)
 
unsigned FormVersion (FormF)
 
unsigned OperationVersion (LocationAtom O)
 
unsigned AttributeEncodingVersion (TypeKindE)
 
unsigned LanguageVersion (SourceLanguage L)
 
unsigned TagVendor (TagT)
 
unsigned AttributeVendor (AttributeA)
 
unsigned FormVendor (FormF)
 
unsigned OperationVendor (LocationAtom O)
 
unsigned AttributeEncodingVendor (TypeKindE)
 
unsigned LanguageVendor (SourceLanguage L)
 
std::optional<unsignedOperationOperands (LocationAtom O)
 The number of operands for the given LocationAtom.
 
std::optional<unsignedOperationArity (LocationAtom O)
 The arity of the given LocationAtom.
 
std::optional<unsignedLanguageLowerBound (SourceLanguage L)
 
uint8_t getDwarfOffsetByteSize (DwarfFormatFormat)
 The size of a reference determined by the DWARF 32/64-bit format.
 
uint8_t getUnitLengthFieldByteSize (DwarfFormatFormat)
 Get the byte size of the unit length field depending on the DWARF format.
 
std::optional<uint8_tgetFixedFormByteSize (dwarf::FormForm,FormParams Params)
 Get the fixed byte size for a given form.
 
bool isValidFormForVersion (FormF,unsignedVersion,bool ExtensionsOk=true)
 Tells whether the specified form is defined in the specified version, or is an extension if extensions are allowed.
 
StringRef AttributeValueString (uint16_t Attr,unsigned Val)
 Returns the symbolic string representing Val when used as a value for attribute Attr.
 
StringRef AtomValueString (uint16_t Atom,unsigned Val)
 Returns the symbolic string representing Val when used as a value for atom Atom.
 
uint64_t computeTombstoneAddress (uint8_t AddressByteSize)
 
DWARFDebugNames::DWARFDebugNamesOffsets findDebugNamesOffsets (uint64_t EndOfHeaderOffset,constDWARFDebugNames::Header &Hdr)
 
raw_ostreamoperator<< (raw_ostream &OS,constUnwindLocation &R)
 
raw_ostreamoperator<< (raw_ostream &OS,constRegisterLocations &RL)
 
raw_ostreamoperator<< (raw_ostream &OS,constUnwindRow &Row)
 
raw_ostreamoperator<< (raw_ostream &OS,constUnwindTable &Rows)
 
std::optional<constchar * > toString (const std::optional<DWARFFormValue > &V)
 Take an optionalDWARFFormValue and try to extract a string value from it.
 
StringRef toStringRef (const std::optional<DWARFFormValue > &V,StringRefDefault={})
 Take an optionalDWARFFormValue and try to extract a string value from it.
 
constchartoString (const std::optional<DWARFFormValue > &V,constchar *Default)
 Take an optionalDWARFFormValue and extract a string value from it.
 
std::optional<uint64_ttoUnsigned (const std::optional<DWARFFormValue > &V)
 Take an optionalDWARFFormValue and try to extract an unsigned constant.
 
uint64_t toUnsigned (const std::optional<DWARFFormValue > &V,uint64_tDefault)
 Take an optionalDWARFFormValue and extract a unsigned constant.
 
std::optional<uint64_ttoRelativeReference (const std::optional<DWARFFormValue > &V)
 Take an optionalDWARFFormValue and try to extract a relative offset reference.
 
uint64_t toRelativeReference (const std::optional<DWARFFormValue > &V,uint64_tDefault)
 Take an optionalDWARFFormValue and extract a relative offset reference.
 
std::optional<uint64_ttoDebugInfoReference (const std::optional<DWARFFormValue > &V)
 Take an optionalDWARFFormValue and try to extract an absolute debug info offset reference.
 
uint64_t toDebugInfoReference (const std::optional<DWARFFormValue > &V,uint64_tDefault)
 Take an optionalDWARFFormValue and extract an absolute debug info offset reference.
 
std::optional<uint64_ttoSignatureReference (const std::optional<DWARFFormValue > &V)
 Take an optionalDWARFFormValue and try to extract a signature reference.
 
uint64_t toSignatureReference (const std::optional<DWARFFormValue > &V,uint64_tDefault)
 Take an optionalDWARFFormValue and extract a signature reference.
 
std::optional<uint64_ttoSupplementaryReference (const std::optional<DWARFFormValue > &V)
 Take an optionalDWARFFormValue and try to extract a supplementary debug info reference.
 
uint64_t toSupplementaryReference (const std::optional<DWARFFormValue > &V,uint64_tDefault)
 Take an optionalDWARFFormValue and extract a supplementary debug info reference.
 
std::optional< int64_t > toSigned (const std::optional<DWARFFormValue > &V)
 Take an optionalDWARFFormValue and try to extract an signed constant.
 
int64_t toSigned (const std::optional<DWARFFormValue > &V, int64_tDefault)
 Take an optionalDWARFFormValue and extract a signed integer.
 
std::optional<uint64_ttoAddress (const std::optional<DWARFFormValue > &V)
 Take an optionalDWARFFormValue and try to extract an address.
 
std::optional<object::SectionedAddresstoSectionedAddress (const std::optional<DWARFFormValue > &V)
 
uint64_t toAddress (const std::optional<DWARFFormValue > &V,uint64_tDefault)
 Take an optionalDWARFFormValue and extract a address.
 
std::optional<uint64_ttoSectionOffset (const std::optional<DWARFFormValue > &V)
 Take an optionalDWARFFormValue and try to extract an section offset.
 
uint64_t toSectionOffset (const std::optional<DWARFFormValue > &V,uint64_tDefault)
 Take an optionalDWARFFormValue and extract a section offset.
 
std::optional<ArrayRef<uint8_t > > toBlock (const std::optional<DWARFFormValue > &V)
 Take an optionalDWARFFormValue and try to extract block data.
 
bool doesFormBelongToClass (dwarf::FormForm,DWARFFormValue::FormClass FC,uint16_t DwarfVersion)
 Check whether specifiedForm belongs to theFC class.
 

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
 

Detailed Description

Calculates the starting offsets for various sections within the .debug_names section.

Enumeration Type Documentation

◆ AcceleratorTable

enumllvm::dwarf::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 line916 of fileDwarf.h.

◆ AccessAttribute

enumllvm::dwarf::AccessAttribute
Enumerator
DW_ACCESS_public 
DW_ACCESS_protected 
DW_ACCESS_private 

Definition at line181 of fileDwarf.h.

◆ ApplePropertyAttributes

enumllvm::dwarf::ApplePropertyAttributes

Constants for the DW_APPLE_PROPERTY_attributes attribute.

Keep this list in sync with clang's DeclObjCCommon.h ObjCPropertyAttribute::Kind!

Definition at line869 of fileDwarf.h.

◆ ArrayDimensionOrdering

enumllvm::dwarf::ArrayDimensionOrdering
Enumerator
DW_ORD_row_major 
DW_ORD_col_major 

Definition at line761 of fileDwarf.h.

◆ Attribute

enumllvm::dwarf::Attribute :uint16_t

Attributes.

Enumerator
DW_AT_lo_user 
DW_AT_hi_user 

Definition at line123 of fileDwarf.h.

◆ CallFrameInfo

enumllvm::dwarf::CallFrameInfo

Call frame instruction encodings.

Enumerator
DW_CFA_extended 
DW_CFA_lo_user 
DW_CFA_hi_user 

Definition at line832 of fileDwarf.h.

◆ CallingConvention

enumllvm::dwarf::CallingConvention
Enumerator
DW_CC_lo_user 
DW_CC_hi_user 

Definition at line745 of fileDwarf.h.

◆ CaseSensitivity

enumllvm::dwarf::CaseSensitivity
Enumerator
DW_ID_case_sensitive 
DW_ID_up_case 
DW_ID_down_case 
DW_ID_case_insensitive 

Definition at line737 of fileDwarf.h.

◆ Constants

enumllvm::dwarf::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 line842 of fileDwarf.h.

◆ DecimalSignEncoding

enumllvm::dwarf::DecimalSignEncoding
Enumerator
DW_DS_unsigned 
DW_DS_leading_overpunch 
DW_DS_trailing_overpunch 
DW_DS_leading_separate 
DW_DS_trailing_separate 

Definition at line164 of fileDwarf.h.

◆ DefaultedMemberAttribute

enumllvm::dwarf::DefaultedMemberAttribute
Enumerator
DW_DEFAULTED_max 

Definition at line201 of fileDwarf.h.

◆ DiscriminantList

enumllvm::dwarf::DiscriminantList
Enumerator
DW_DSC_label 
DW_DSC_range 

Definition at line767 of fileDwarf.h.

◆ DwarfFormat

enumllvm::dwarf::DwarfFormat :uint8_t

Constants that define the DWARF format as 32 or 64 bit.

Enumerator
DWARF32 
DWARF64 

Definition at line91 of fileDwarf.h.

◆ EndianityEncoding

enumllvm::dwarf::EndianityEncoding
Enumerator
DW_END_lo_user 
DW_END_hi_user 

Definition at line173 of fileDwarf.h.

◆ Form

enumllvm::dwarf::Form :uint16_t
Enumerator
DW_FORM_lo_user 

Not specified by DWARF.

Definition at line130 of fileDwarf.h.

◆ GDBIndexEntryKind

enumllvm::dwarf::GDBIndexEntryKind
Enumerator
GIEK_NONE 
GIEK_TYPE 
GIEK_VARIABLE 
GIEK_FUNCTION 
GIEK_OTHER 
GIEK_UNUSED5 
GIEK_UNUSED6 
GIEK_UNUSED7 

Definition at line950 of fileDwarf.h.

◆ GDBIndexEntryLinkage

enumllvm::dwarf::GDBIndexEntryLinkage
Enumerator
GIEL_EXTERNAL 
GIEL_STATIC 

Definition at line961 of fileDwarf.h.

◆ GnuMacroEntryType

enumllvm::dwarf::GnuMacroEntryType

GNU .debug_macro macro information entry type encodings.

Enumerator
DW_MACRO_GNU_lo_user 
DW_MACRO_GNU_hi_user 

Definition at line812 of fileDwarf.h.

◆ Index

enumllvm::dwarf::Index
Enumerator
DW_IDX_lo_user 
DW_IDX_hi_user 

Definition at line882 of fileDwarf.h.

◆ InlineAttribute

enumllvm::dwarf::InlineAttribute
Enumerator
DW_INL_not_inlined 
DW_INL_inlined 
DW_INL_declared_not_inlined 
DW_INL_declared_inlined 

Definition at line753 of fileDwarf.h.

◆ LineNumberEntryFormat

enumllvm::dwarf::LineNumberEntryFormat
Enumerator
DW_LNCT_lo_user 
DW_LNCT_hi_user 

Definition at line787 of fileDwarf.h.

◆ LineNumberExtendedOps

enumllvm::dwarf::LineNumberExtendedOps

Line Number Extended Opcode Encodings.

Enumerator
DW_LNE_lo_user 
DW_LNE_hi_user 

Definition at line780 of fileDwarf.h.

◆ LineNumberOps

enumllvm::dwarf::LineNumberOps :uint8_t

Line Number Standard Opcode Encodings.

Definition at line774 of fileDwarf.h.

◆ LLVMConstants

enumllvm::dwarf::LLVMConstants :uint32_t
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_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 line44 of fileDwarf.h.

◆ LlvmUserLocationAtom

enumllvm::dwarf::LlvmUserLocationAtom

Definition at line152 of fileDwarf.h.

◆ LocationAtom

enumllvm::dwarf::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 line136 of fileDwarf.h.

◆ LoclistEntries

enumllvm::dwarf::LoclistEntries

DWARF v5 loc list entry encoding values.

Definition at line826 of fileDwarf.h.

◆ MacinfoRecordType

enumllvm::dwarf::MacinfoRecordType
Enumerator
DW_MACINFO_define 
DW_MACINFO_undef 
DW_MACINFO_start_file 
DW_MACINFO_end_file 
DW_MACINFO_vendor_ext 

Definition at line794 of fileDwarf.h.

◆ MacroEntryType

enumllvm::dwarf::MacroEntryType

DWARF v5 macro information entry type encodings.

Enumerator
DW_MACRO_lo_user 
DW_MACRO_hi_user 

Definition at line804 of fileDwarf.h.

◆ RnglistEntries

enumllvm::dwarf::RnglistEntries

DWARF v5 range list entry encoding values.

Definition at line820 of fileDwarf.h.

◆ SourceLanguage

enumllvm::dwarf::SourceLanguage
Enumerator
DW_LANG_lo_user 
DW_LANG_hi_user 

Definition at line207 of fileDwarf.h.

◆ SourceLanguageName

enumllvm::dwarf::SourceLanguageName :uint16_t

Definition at line215 of fileDwarf.h.

◆ Tag

enumllvm::dwarf::Tag :uint16_t
Enumerator
DW_TAG_lo_user 
DW_TAG_hi_user 
DW_TAG_user_base 

Recommended base for user tags.

Definition at line103 of fileDwarf.h.

◆ TypeKind

enumllvm::dwarf::TypeKind :uint8_t
Enumerator
DW_ATE_lo_user 
DW_ATE_hi_user 

Definition at line157 of fileDwarf.h.

◆ UnitType

enumllvm::dwarf::UnitType :unsignedchar

Constants for unit types in DWARF v5.

Enumerator
DW_UT_lo_user 
DW_UT_hi_user 

Definition at line875 of fileDwarf.h.

◆ VirtualityAttribute

enumllvm::dwarf::VirtualityAttribute
Enumerator
DW_VIRTUALITY_max 

Definition at line195 of fileDwarf.h.

◆ VisibilityAttribute

enumllvm::dwarf::VisibilityAttribute
Enumerator
DW_VIS_local 
DW_VIS_exported 
DW_VIS_qualified 

Definition at line188 of fileDwarf.h.

Function Documentation

◆ AtomValueString()

StringRef llvm::dwarf::AtomValueString(uint16_t Atom,
unsigned Val 
)

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().

◆ AttributeValueString()

StringRef llvm::dwarf::AttributeValueString(uint16_t Attr,
unsigned Val 
)

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().

◆ computeTombstoneAddress()

uint64_t llvm::dwarf::computeTombstoneAddress(uint8_t AddressByteSize)
inline

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().

◆ doesFormBelongToClass()

bool llvm::dwarf::doesFormBelongToClass(dwarf::Form Form,
DWARFFormValue::FormClass FC,
uint16_t DwarfVersion 
)

Check whether specifiedForm belongs to theFC class.

Parameters
Forman attribute form.
FCan attribute form class to check.
DwarfVersionthe version of DWARF debug info keeping the attribute.
Returns
true if specifiedForm 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().

◆ findDebugNamesOffsets()

DWARFDebugNames::DWARFDebugNamesOffsets llvm::dwarf::findDebugNamesOffsets(uint64_t EndOfHeaderOffset,
constDWARFDebugNames::HeaderHdr 
)

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().

◆ getArrayIndexTypeEncoding()

TypeKind llvm::dwarf::getArrayIndexTypeEncoding(SourceLanguage S)
inline

Definition at line733 of fileDwarf.h.

ReferencesisFortran().

◆ getDebugNamesBucketCount()

uint32_t llvm::dwarf::getDebugNamesBucketCount(uint32_t UniqueHashCount)
inline

Definition at line941 of fileDwarf.h.

Referenced byllvm::AccelTableBase::computeBucketCount().

◆ getDwarfOffsetByteSize()

uint8_t llvm::dwarf::getDwarfOffsetByteSize(DwarfFormat Format)
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().

◆ getFixedFormByteSize()

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.

Parameters
FormDWARF form to get the fixed byte size for.
ParamsDWARF parameters to help interpret forms.
Returns
std::optional<uint8_t> value with the fixed byte size or std::nullopt ifForm 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().

◆ 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 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().

◆ isC()

bool llvm::dwarf::isC(SourceLanguage S)
inline

Definition at line657 of fileDwarf.h.

ReferencesDW_LANG_hi_user,DW_LANG_lo_user, andllvm_unreachable.

Referenced byllvm::DwarfUnit::applySubprogramAttributes().

◆ isCPlusPlus()

bool llvm::dwarf::isCPlusPlus(SourceLanguage S)
inline

Definition at line497 of fileDwarf.h.

ReferencesDW_LANG_hi_user, andDW_LANG_lo_user.

Referenced bybuildFrameDebugInfo(),computeIndexValue(), andllvm::DwarfUnit::getParentContextString().

◆ isFortran()

bool llvm::dwarf::isFortran(SourceLanguage S)
inline

Definition at line577 of fileDwarf.h.

ReferencesDW_LANG_hi_user, andDW_LANG_lo_user.

Referenced bygetArrayIndexTypeEncoding().

◆ isType()

bool llvm::dwarf::isType(Tag T)
inline

Definition at line111 of fileDwarf.h.

Referenced byllvm::DwarfUnit::getOrCreateStaticMemberDIE(), andllvm::DWARFUnit::updateVariableDieMap().

◆ isUnitType()[1/2]

bool llvm::dwarf::isUnitType(dwarf::Tag T)
inline

Definition at line903 of fileDwarf.h.

◆ isUnitType()[2/2]

bool llvm::dwarf::isUnitType(uint8_t UnitType)
inline

Definition at line889 of fileDwarf.h.

Referenced byllvm::DWARFUnit::isMatchingUnitTypeAndTag().

◆ isValidFormForVersion()

bool llvm::dwarf::isValidFormForVersion(Form F,
unsigned Version,
bool ExtensionsOk =true 
)

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().

◆ LanguageDescription()

StringRef llvm::dwarf::LanguageDescription(dwarf::SourceLanguageName lname)

Definition at line446 of fileDwarf.cpp.

◆ LanguageLowerBound()

std::optional<unsigned > llvm::dwarf::LanguageLowerBound(dwarf::SourceLanguage Lang)

Definition at line435 of fileDwarf.cpp.

◆ 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 line239 of fileDwarf.cpp.

◆ OperationOperands()

std::optional<unsigned > llvm::dwarf::OperationOperands(dwarf::LocationAtom Op)

The number of operands for the given LocationAtom.

Definition at line226 of fileDwarf.cpp.

◆ operator<<()[1/4]

raw_ostream & llvm::dwarf::operator<<(raw_ostreamOS,
constRegisterLocationsRL 
)

Definition at line164 of fileDWARFDebugFrame.cpp.

Referencesllvm::dwarf::RegisterLocations::dump(), andOS.

◆ operator<<()[2/4]

raw_ostream & llvm::dwarf::operator<<(raw_ostreamOS,
constUnwindLocationR 
)

Definition at line123 of fileDWARFDebugFrame.cpp.

Referencesllvm::dwarf::UnwindLocation::dump(), andOS.

◆ operator<<()[3/4]

raw_ostream & llvm::dwarf::operator<<(raw_ostreamOS,
constUnwindRowRow 
)

Definition at line185 of fileDWARFDebugFrame.cpp.

ReferencesOS.

◆ operator<<()[4/4]

raw_ostream & llvm::dwarf::operator<<(raw_ostreamOS,
constUnwindTableRows 
)

Definition at line197 of fileDWARFDebugFrame.cpp.

Referencesllvm::dwarf::UnwindTable::dump(), andOS.

◆ toAddress()[1/2]

std::optional<uint64_t > llvm::dwarf::toAddress(const std::optional<DWARFFormValue > & V)
inline

Take an optionalDWARFFormValue and try to extract an address.

Parameters
Vand optionalDWARFFormValue to attempt to extract the value from.
Returns
an optional value that contains a value if the form value was valid and has a address form.

Definition at line369 of fileDWARFFormValue.h.

Referenced byllvm::dwarf_linker::parallel::DependencyTracker::isLiveSubprogramEntry(), andtoAddress().

◆ toAddress()[2/2]

uint64_t llvm::dwarf::toAddress(const std::optional<DWARFFormValue > & V,
uint64_t Default 
)
inline

Take an optionalDWARFFormValue and extract a address.

Parameters
Vand optionalDWARFFormValue to attempt to extract the value from.
Defaultthe 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 line388 of fileDWARFFormValue.h.

Referencesllvm::Default, andtoAddress().

◆ toBlock()

std::optional<ArrayRef<uint8_t > > llvm::dwarf::toBlock(const std::optional<DWARFFormValue > & V)
inline

Take an optionalDWARFFormValue and try to extract block data.

Parameters
Vand optionalDWARFFormValue to attempt to extract the value from.
Returns
an optional value that contains a value if the form value was valid and has a block form.

Definition at line422 of fileDWARFFormValue.h.

◆ toDebugInfoReference()[1/2]

std::optional<uint64_t > llvm::dwarf::toDebugInfoReference(const std::optional<DWARFFormValue > & V)
inline

Take an optionalDWARFFormValue and try to extract an absolute debug info offset reference.

Parameters
Van optionalDWARFFormValue to attempt to extract the value from.
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 line274 of fileDWARFFormValue.h.

Referenced bytoDebugInfoReference().

◆ toDebugInfoReference()[2/2]

uint64_t llvm::dwarf::toDebugInfoReference(const std::optional<DWARFFormValue > & V,
uint64_t Default 
)
inline

Take an optionalDWARFFormValue and extract an absolute debug info offset reference.

Parameters
Van optionalDWARFFormValue to attempt to extract the value from.
Defaultthe 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 line288 of fileDWARFFormValue.h.

Referencesllvm::Default, andtoDebugInfoReference().

◆ 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 line223 of fileDwarf.h.

Referencesname.

◆ toDW_LNAME()

std::optional< std::pair<SourceLanguageName,uint32_t > > llvm::dwarf::toDW_LNAME(SourceLanguage language)
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.

◆ toRelativeReference()[1/2]

std::optional<uint64_t > llvm::dwarf::toRelativeReference(const std::optional<DWARFFormValue > & V)
inline

Take an optionalDWARFFormValue and try to extract a relative offset reference.

Parameters
Van optionalDWARFFormValue to attempt to extract the value from.
Returns
an optional value that contains a value if the form value was valid and has a relative reference form.

Definition at line250 of fileDWARFFormValue.h.

Referenced bytoRelativeReference().

◆ toRelativeReference()[2/2]

uint64_t llvm::dwarf::toRelativeReference(const std::optional<DWARFFormValue > & V,
uint64_t Default 
)
inline

Take an optionalDWARFFormValue and extract a relative offset reference.

Parameters
Van optionalDWARFFormValue to attempt to extract the value from.
Defaultthe 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 line262 of fileDWARFFormValue.h.

Referencesllvm::Default, andtoRelativeReference().

◆ toSectionedAddress()

std::optional<object::SectionedAddress > llvm::dwarf::toSectionedAddress(const std::optional<DWARFFormValue > & V)
inline

Definition at line376 of fileDWARFFormValue.h.

Referenced byllvm::DWARFUnit::getBaseAddress(),getFunctionNameAndStartLineForAddress(),llvm::DWARFContext::getInliningInfoForAddress(), andllvm::DWARFDie::getLowAndHighPC().

◆ toSectionOffset()[1/2]

std::optional<uint64_t > llvm::dwarf::toSectionOffset(const std::optional<DWARFFormValue > & V)
inline

Take an optionalDWARFFormValue and try to extract an section offset.

Parameters
Vand optionalDWARFFormValue to attempt to extract the value from.
Returns
an optional value that contains a value if the form value was valid and has a section offset form.

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().

◆ toSectionOffset()[2/2]

uint64_t llvm::dwarf::toSectionOffset(const std::optional<DWARFFormValue > & V,
uint64_t Default 
)
inline

Take an optionalDWARFFormValue and extract a section offset.

Parameters
Vand optionalDWARFFormValue to attempt to extract the value from.
Defaultthe 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 line411 of fileDWARFFormValue.h.

Referencesllvm::Default, andtoSectionOffset().

◆ toSignatureReference()[1/2]

std::optional<uint64_t > llvm::dwarf::toSignatureReference(const std::optional<DWARFFormValue > & V)
inline

Take an optionalDWARFFormValue and try to extract a signature reference.

Parameters
Van optionalDWARFFormValue to attempt to extract the value from.
Returns
an optional value that contains a value if the form value was valid and has a signature reference form.

Definition at line299 of fileDWARFFormValue.h.

Referenced bytoSignatureReference().

◆ toSignatureReference()[2/2]

uint64_t llvm::dwarf::toSignatureReference(const std::optional<DWARFFormValue > & V,
uint64_t Default 
)
inline

Take an optionalDWARFFormValue and extract a signature reference.

Parameters
Van optionalDWARFFormValue to attempt to extract the value from.
Defaultthe 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 line311 of fileDWARFFormValue.h.

Referencesllvm::Default, andtoSignatureReference().

◆ toSigned()[1/2]

std::optional< int64_t > llvm::dwarf::toSigned(const std::optional<DWARFFormValue > & V)
inline

Take an optionalDWARFFormValue and try to extract an signed constant.

Parameters
Vand optionalDWARFFormValue to attempt to extract the value from.
Returns
an optional value that contains a value if the form value was valid and has a signed constant form.

Definition at line346 of fileDWARFFormValue.h.

Referenced bytoSigned().

◆ toSigned()[2/2]

int64_t llvm::dwarf::toSigned(const std::optional<DWARFFormValue > & V,
int64_t Default 
)
inline

Take an optionalDWARFFormValue and extract a signed integer.

Parameters
Vand optionalDWARFFormValue to attempt to extract the value from.
Defaultthe 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 line358 of fileDWARFFormValue.h.

Referencesllvm::Default, andtoSigned().

◆ toString()[1/2]

std::optional<constchar * > llvm::dwarf::toString(const std::optional<DWARFFormValue > & V)
inline

Take an optionalDWARFFormValue and try to extract a string value from it.

Parameters
Vand optionalDWARFFormValue to attempt to extract the value from.
Returns
an optional value that contains a value if the form value was valid and was a string.

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().

◆ toString()[2/2]

constchar * llvm::dwarf::toString(const std::optional<DWARFFormValue > & V,
constcharDefault 
)
inline

Take an optionalDWARFFormValue and extract a string value from it.

Parameters
Vand optionalDWARFFormValue to attempt to extract the value from.
Defaultthe 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 line213 of fileDWARFFormValue.h.

Referencesllvm::Default,E, andtoString().

◆ toStringRef()

StringRef llvm::dwarf::toStringRef(const std::optional<DWARFFormValue > & V,
StringRef Default ={} 
)
inline

Take an optionalDWARFFormValue and try to extract a string value from it.

Parameters
Vand optionalDWARFFormValue to attempt to extract the value from.
Returns
an optional value that contains a value if the form value was valid and was a string.

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().

◆ toSupplementaryReference()[1/2]

std::optional<uint64_t > llvm::dwarf::toSupplementaryReference(const std::optional<DWARFFormValue > & V)
inline

Take an optionalDWARFFormValue and try to extract a supplementary debug info reference.

Parameters
Van optionalDWARFFormValue to attempt to extract the value from.
Returns
an optional value that contains a value if the form value was valid and has a supplementary reference form.

Definition at line323 of fileDWARFFormValue.h.

Referenced bytoSupplementaryReference().

◆ toSupplementaryReference()[2/2]

uint64_t llvm::dwarf::toSupplementaryReference(const std::optional<DWARFFormValue > & V,
uint64_t Default 
)
inline

Take an optionalDWARFFormValue and extract a supplementary debug info reference.

Parameters
Van optionalDWARFFormValue to attempt to extract the value from.
Defaultthe 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 line336 of fileDWARFFormValue.h.

Referencesllvm::Default, andtoSupplementaryReference().

◆ toUnsigned()[1/2]

std::optional<uint64_t > llvm::dwarf::toUnsigned(const std::optional<DWARFFormValue > & V)
inline

Take an optionalDWARFFormValue and try to extract an unsigned constant.

Parameters
Vand optionalDWARFFormValue to attempt to extract the value from.
Returns
an optional value that contains a value if the form value was valid and has a unsigned constant form.

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().

◆ toUnsigned()[2/2]

uint64_t llvm::dwarf::toUnsigned(const std::optional<DWARFFormValue > & V,
uint64_t Default 
)
inline

Take an optionalDWARFFormValue and extract a unsigned constant.

Parameters
Vand optionalDWARFFormValue to attempt to extract the value from.
Defaultthe 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 line238 of fileDWARFFormValue.h.

Referencesllvm::Default, andtoUnsigned().

Variable Documentation

◆ DW64_CIE_ID

constuint64_t llvm::dwarf::DW64_CIE_ID =UINT64_MAX

Definition at line97 of fileDwarf.h.

Referenced bygetCIEId().

◆ DW_CIE_ID

constuint32_t llvm::dwarf::DW_CIE_ID = UINT32_MAX

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().

◆ DW_INVALID_OFFSET

constuint32_t llvm::dwarf::DW_INVALID_OFFSET = UINT32_MAX

Identifier of an invalidDIE offset in the .debug_info section.

Definition at line101 of fileDwarf.h.

Referenced byllvm::AppleAcceleratorTable::readAtoms().

◆ DW_TAG_unaligned

constexprTag llvm::dwarf::DW_TAG_unaligned =Tag(dwarf::DW_TAG_hi_user + 1)
constexpr

Definition at line28 of fileLVObject.h.

Referenced byllvm::logicalview::LVElement::resolveFullname(), andllvm::logicalview::LVLogicalVisitor::visitKnownRecord().

◆ InvalidRegisterNumber

constexpruint32_t llvm::dwarf::InvalidRegisterNumber = UINT32_MAX
constexpr

Definition at line31 of fileDWARFDebugFrame.h.

Referenced byllvm::dwarf::UnwindLocation::createAtCFAPlusOffset(),llvm::dwarf::UnwindLocation::createIsCFAPlusOffset(), andllvm::dwarf::UnwindLocation::createIsConstant().


Generated on Sun Jul 20 2025 22:11:51 for LLVM by doxygen 1.9.6
[8]ページ先頭

©2009-2025 Movatter.jp