LLVM 22.0.0git
Classes | Public Types | Public Member Functions | Static Public Member Functions | Friends | List of all members
llvm::DWARFContext Class Reference

DWARFContext This data structure is the top level entity that deals with dwarf debug information parsing. More...

#include "llvm/DebugInfo/DWARF/DWARFContext.h"

Inheritance diagram for llvm::DWARFContext:
[フレーム]
[legend]

Classes

struct   DIEsForAddress
  Wraps the returned DIEs for a given address. More...
  DWARFContextState This structure contains all member variables for DWARFContext that need to be protected in multi-threaded environments. More...

Public Types

Public Types inherited from llvm::DIContext

Public Member Functions

  DWARFContext (std::unique_ptr< const DWARFObject > DObj, std::string DWPName="", std::function< void(Error)> RecoverableErrorHandler=WithColor::defaultErrorHandler, std::function< void(Error)> WarningHandler=WithColor::defaultWarningHandler, bool ThreadSafe=false)
  ~DWARFContext () override
  DWARFContext (DWARFContext &)=delete
void  dump (raw_ostream &OS, DIDumpOptions DumpOpts, std::array< std::optional< uint64_t >, DIDT_ID_Count > DumpOffsets)
  Dump a textual representation to OS.
void  dump (raw_ostream &OS, DIDumpOptions DumpOpts) override
bool  verify (raw_ostream &OS, DIDumpOptions DumpOpts={}) override
  Get units from .debug_info in this context.
  Get units from .debug_types in this context.
  Get compile units in this context.
  Get all normal compile/type units in this context.
  Get units from .debug_info..dwo in the DWO context.
  Return true of this DWARF context is a DWP file.
  Get units from .debug_types.dwo in the DWO context.
  Get compile units in the DWO context.
  Get all units in the DWO context.
  Get the number of compile units in this context.
  Get the number of type units in this context.
  Get the number of compile units in the DWO context.
  Get the number of type units in the DWO context.
  Get the unit at the specified index.
  Get the unit at the specified index for the DWO units.
  Return the DWARF unit that includes an offset (relative to .debug_info).
  Return the compile unit that includes an offset (relative to .debug_info).
  Get a DIE given an exact offset.
  Get a pointer to the parsed DebugAbbrev object.
  Get a pointer to the parsed DebugLoc object.
  Get a pointer to the parsed dwo abbreviations object.
  Get a pointer to the parsed DebugAranges object.
  Get a pointer to the parsed frame information object.
  Get a pointer to the parsed eh frame information object.
  Get a pointer to the parsed DebugMacinfo information object.
  Get a pointer to the parsed DebugMacinfoDWO information object.
  Get a pointer to the parsed DebugMacro information object.
  Get a pointer to the parsed DebugMacroDWO information object.
  Get a reference to the parsed accelerator table object.
  Get a reference to the parsed accelerator table object.
  Get a reference to the parsed accelerator table object.
  Get a reference to the parsed accelerator table object.
  Get a reference to the parsed accelerator table object.
  Get a pointer to a parsed line table corresponding to a compile unit.
  Get a pointer to a parsed line table corresponding to a compile unit.
  Get the compilation unit, the function DIE and lexical block DIE for the given address where applicable.
std::shared_ptr< DWARFContextgetDWOContext (StringRef AbsolutePath)
  Get address size from CUs.
  Return the compile unit which contains instruction with provided address.
  Return the compile unit which contains data with the provided address.
  Returns whether CU/TU should be populated manually.
  Sets whether CU/TU should be populated manually.
Public Member Functions inherited from llvm::DIContext
virtual  ~DIContext ()=default

Static Public Member Functions

static bool  classof (const DIContext *DICtx)
static bool  isSupportedVersion (unsigned version)
static bool  isAddressSizeSupported (unsigned AddressSize)
template<typename... Ts>
static Error  checkAddressSizeSupported (unsigned AddressSize, std::error_code EC, char const *Fmt, const Ts &...Vals)
static std::unique_ptr< DWARFContextcreate (const object::ObjectFile &Obj, ProcessDebugRelocations RelocAction=ProcessDebugRelocations::Process, const LoadedObjectInfo *L=nullptr, std::string DWPName="", std::function< void(Error)> RecoverableErrorHandler=WithColor::defaultErrorHandler, std::function< void(Error)> WarningHandler=WithColor::defaultWarningHandler, bool ThreadSafe=false)
static std::unique_ptr< DWARFContextcreate (const StringMap< std::unique_ptr< MemoryBuffer > > &Sections, uint8_t AddrSize, bool isLittleEndian=sys::IsLittleEndianHost, std::function< void(Error)> RecoverableErrorHandler=WithColor::defaultErrorHandler, std::function< void(Error)> WarningHandler=WithColor::defaultWarningHandler, bool ThreadSafe=false)

Friends

Detailed Description

DWARFContext This data structure is the top level entity that deals with dwarf debug information parsing.

The actual data is supplied through DWARFObj.

Definition at line 49 of file DWARFContext.h.

Member Typedef Documentation

◆  compile_unit_range

Definition at line 166 of file DWARFContext.h.

◆  unit_iterator_range

Definition at line 165 of file DWARFContext.h.

Member Enumeration Documentation

◆  ProcessDebugRelocations

Enumerator
Process 
Ignore 

Definition at line 442 of file DWARFContext.h.

Constructor & Destructor Documentation

◆  DWARFContext() [1/2]

DWARFContext::DWARFContext ( std::unique_ptr< const DWARFObject > DObj,
std::string DWPName = "",
std::function< void(Error)> RecoverableErrorHandler = WithColor::defaultErrorHandler ,
std::function< void(Error)> WarningHandler = WithColor::defaultWarningHandler ,
bool ThreadSafe = false )

◆  ~DWARFContext()

DWARFContext::~DWARFContext ( )
overridedefault

◆  DWARFContext() [2/2]

llvm::DWARFContext::DWARFContext ( DWARFContext & )
delete

References DWARFContext().

Member Function Documentation

◆  checkAddressSizeSupported()

template<typename... Ts>
Error llvm::DWARFContext::checkAddressSizeSupported ( unsigned AddressSize,
std::error_code EC,
char const * Fmt,
const Ts &... Vals )
inlinestatic

◆  classof()

bool llvm::DWARFContext::classof ( const DIContext * DICtx )
inlinestatic

◆  clearLineTableForUnit()

void DWARFContext::clearLineTableForUnit ( DWARFUnit * U )

Definition at line 1511 of file DWARFContext.cpp.

◆  compile_units()

compile_unit_range llvm::DWARFContext::compile_units ( )
inline

◆  create() [1/2]

std::unique_ptr< DWARFContext > DWARFContext::create ( const object::ObjectFile & Obj,
const LoadedObjectInfo * L = nullptr,
std::string DWPName = "",
std::function< void(Error)> RecoverableErrorHandler = WithColor::defaultErrorHandler ,
std::function< void(Error)> WarningHandler = WithColor::defaultWarningHandler ,
bool ThreadSafe = false )
static

◆  create() [2/2]

std::unique_ptr< DWARFContext > DWARFContext::create ( const StringMap< std::unique_ptr< MemoryBuffer > > & Sections,
uint8_t AddrSize,
bool isLittleEndian = sys::IsLittleEndianHost ,
std::function< void(Error)> RecoverableErrorHandler = WithColor::defaultErrorHandler ,
std::function< void(Error)> WarningHandler = WithColor::defaultWarningHandler ,
bool ThreadSafe = false )
static

Definition at line 2468 of file DWARFContext.cpp.

References isLittleEndian().

◆  dump() [1/2]

void llvm::DWARFContext::dump ( raw_ostream & OS,
DIDumpOptions DumpOpts )
inlineoverridevirtual

Implements llvm::DIContext.

Definition at line 158 of file DWARFContext.h.

References llvm::DIDT_ID_Count, and dump().

◆  dump() [2/2]

void DWARFContext::dump ( raw_ostream & OS,
DIDumpOptions DumpOpts,
std::array< std::optional< uint64_t >, DIDT_ID_Count > DumpOffsets )

Dump a textual representation to OS.

If any DumpOffsets are present, dump only the record at the specified offset.

Definition at line 985 of file DWARFContext.cpp.

References compile_units(), llvm::Data, DF, llvm::DIDT_All, llvm::DIDT_ID_Count, llvm::DIDT_UUID, llvm::DIDumpOptions::DisplayRawContents, llvm::AppleAcceleratorTable::dump(), llvm::DWARFDebugAbbrev::dump(), llvm::DWARFDebugArangeSet::dump(), llvm::DWARFDebugLoc::dump(), llvm::DWARFDebugNames::dump(), llvm::DWARFDebugRangeList::dump(), llvm::DWARFDie::dump(), llvm::DWARFGdbIndex::dump(), llvm::DWARFUnitIndex::dump(), dumpAddrSection(), dumpLoclistsSection(), dumpPubTableSection(), dumpRnglistsSection(), dumpStringOffsetsSection(), llvm::DIDumpOptions::DumpType, dumpUUID(), dwo_info_section_units(), dwo_types_section_units(), dwo_units(), llvm::sys::path::extension(), llvm::DWARFDebugArangeSet::extract(), llvm::DWARFDebugRangeList::extract(), llvm::format(), getAppleNames(), getAppleNamespaces(), getAppleObjC(), getAppleTypes(), llvm::DataExtractor::getCStr(), getCUAddrSize(), getCUIndex(), getDebugAbbrev(), getDebugAbbrevDWO(), getDebugFrame(), getDebugLoc(), getDebugMacinfo(), getDebugMacinfoDWO(), getDebugMacro(), getDebugMacroDWO(), getDebugNames(), llvm::DWARFUnit::getDIEForOffset(), llvm::DWARFDie::getDwarfUnit(), getEHFrame(), getGdbIndex(), getMaxVersion(), getNumCompileUnits(), getNumDWOCompileUnits(), getNumDWOTypeUnits(), getNumTypeUnits(), getTUIndex(), I, info_section_units(), isLittleEndian(), llvm::DataExtractor::isValidOffset(), llvm::Macro, llvm::DIDumpOptions::noImplicitRecursion(), normal_units(), llvm::Offset, llvm::DIDumpOptions::RecoverableErrorHandler, llvm::Error::success(), types_section_units(), llvm::DIDumpOptions::Verbose, llvm::DIDumpOptions::WarningHandler, and llvm::raw_ostream::write_escaped().

Referenced by dump().

◆  dwo_compile_units()

compile_unit_range llvm::DWARFContext::dwo_compile_units ( )
inline

Get compile units in the DWO context.

Definition at line 223 of file DWARFContext.h.

References dwo_info_section_units(), llvm::isCompileUnit(), and llvm::make_filter_range().

Referenced by getDWOCompileUnitForHash().

◆  dwo_info_section_units()

unit_iterator_range llvm::DWARFContext::dwo_info_section_units ( )
inline

Get units from .debug_info..dwo in the DWO context.

Definition at line 202 of file DWARFContext.h.

References llvm::SmallVectorTemplateCommon< T, typename >::begin(), and llvm::DWARFUnitVector::getNumInfoUnits().

Referenced by dump(), dwo_compile_units(), and getMaxDWOVersion().

◆  dwo_types_section_units()

unit_iterator_range llvm::DWARFContext::dwo_types_section_units ( )
inline

Get units from .debug_types.dwo in the DWO context.

Definition at line 216 of file DWARFContext.h.

References llvm::SmallVectorTemplateCommon< T, typename >::begin(), llvm::SmallVectorTemplateCommon< T, typename >::end(), and llvm::DWARFUnitVector::getNumInfoUnits().

Referenced by dump().

◆  dwo_units()

unit_iterator_range llvm::DWARFContext::dwo_units ( )
inline

Get all units in the DWO context.

Definition at line 232 of file DWARFContext.h.

References llvm::SmallVectorTemplateCommon< T, typename >::begin(), and llvm::SmallVectorTemplateCommon< T, typename >::end().

Referenced by dump(), and extractCUsTus().

◆  getAppleNames()

const AppleAcceleratorTable & DWARFContext::getAppleNames ( )

Get a reference to the parsed accelerator table object.

Definition at line 1479 of file DWARFContext.cpp.

Referenced by dump().

◆  getAppleNamespaces()

const AppleAcceleratorTable & DWARFContext::getAppleNamespaces ( )

Get a reference to the parsed accelerator table object.

Definition at line 1487 of file DWARFContext.cpp.

Referenced by dump().

◆  getAppleObjC()

const AppleAcceleratorTable & DWARFContext::getAppleObjC ( )

Get a reference to the parsed accelerator table object.

Definition at line 1491 of file DWARFContext.cpp.

Referenced by dump().

◆  getAppleTypes()

const AppleAcceleratorTable & DWARFContext::getAppleTypes ( )

Get a reference to the parsed accelerator table object.

Definition at line 1483 of file DWARFContext.cpp.

Referenced by dump().

◆  getArch()

Triple::ArchType llvm::DWARFContext::getArch ( ) const
inline

Definition at line 467 of file DWARFContext.h.

References getDWARFObj().

◆  getCompileUnitForCodeAddress()

DWARFCompileUnit * DWARFContext::getCompileUnitForCodeAddress ( uint64_t Address )

Return the compile unit which contains instruction with provided address.

TODO: change input parameter from "uint64_t Address" into "SectionedAddress Address"

Definition at line 1527 of file DWARFContext.cpp.

References llvm::Address, llvm::DWARFDebugAranges::findAddress(), getCompileUnitForOffset(), and getDebugAranges().

Referenced by getDIEsForAddress(), getInliningInfoForAddress(), getLineInfoForAddress(), getLineInfoForAddressRange(), and getLocalsForAddress().

◆  getCompileUnitForDataAddress()

DWARFCompileUnit * DWARFContext::getCompileUnitForDataAddress ( uint64_t Address )

Return the compile unit which contains data with the provided address.

Note: This is more expensive than getCompileUnitForAddress, as if Address isn't found in the CU ranges (which is cheap), then it falls back to an expensive O(n) walk of all CU's looking for data that spans the address. TODO: change input parameter from "uint64_t Address" into "SectionedAddress Address"

Definition at line 1532 of file DWARFContext.cpp.

References llvm::Address, compile_units(), llvm::DWARFDebugAranges::findAddress(), getCompileUnitForOffset(), and getDebugAranges().

Referenced by getLineInfoForDataAddress().

◆  getCompileUnitForOffset()

DWARFCompileUnit * DWARFContext::getCompileUnitForOffset ( uint64_t Offset )

Return the compile unit that includes an offset (relative to .debug_info).

Definition at line 1523 of file DWARFContext.cpp.

References llvm::dyn_cast_or_null(), getUnitForOffset(), and llvm::Offset.

Referenced by getCompileUnitForCodeAddress(), and getCompileUnitForDataAddress().

◆  getCUAddrSize()

uint8_t DWARFContext::getCUAddrSize ( )

Get address size from CUs.

TODO: refactor compile_units() to make this const.

Definition at line 2479 of file DWARFContext.cpp.

References compile_units().

Referenced by dump().

◆  getCUIndex()

const DWARFUnitIndex & DWARFContext::getCUIndex ( )

Definition at line 1422 of file DWARFContext.cpp.

Referenced by dump(), and getDWOCompileUnitForHash().

◆  getDebugAbbrev()

const DWARFDebugAbbrev * DWARFContext::getDebugAbbrev ( )

Get a pointer to the parsed DebugAbbrev object.

Definition at line 1434 of file DWARFContext.cpp.

Referenced by dump().

◆  getDebugAbbrevDWO()

const DWARFDebugAbbrev * DWARFContext::getDebugAbbrevDWO ( )

Get a pointer to the parsed dwo abbreviations object.

Definition at line 1438 of file DWARFContext.cpp.

Referenced by dump().

◆  getDebugAranges()

const DWARFDebugAranges * DWARFContext::getDebugAranges ( )

Get a pointer to the parsed DebugAranges object.

Definition at line 1446 of file DWARFContext.cpp.

Referenced by getCompileUnitForCodeAddress(), and getCompileUnitForDataAddress().

◆  getDebugFrame()

Expected< const DWARFDebugFrame * > DWARFContext::getDebugFrame ( )

Get a pointer to the parsed frame information object.

Definition at line 1450 of file DWARFContext.cpp.

Referenced by dump().

◆  getDebugLoc()

const DWARFDebugLoc * DWARFContext::getDebugLoc ( )

Get a pointer to the parsed DebugLoc object.

Definition at line 1442 of file DWARFContext.cpp.

Referenced by dump().

◆  getDebugMacinfo()

const DWARFDebugMacro * DWARFContext::getDebugMacinfo ( )

Get a pointer to the parsed DebugMacinfo information object.

Definition at line 1466 of file DWARFContext.cpp.

Referenced by dump().

◆  getDebugMacinfoDWO()

const DWARFDebugMacro * DWARFContext::getDebugMacinfoDWO ( )

Get a pointer to the parsed DebugMacinfoDWO information object.

Definition at line 1470 of file DWARFContext.cpp.

Referenced by dump().

◆  getDebugMacro()

const DWARFDebugMacro * DWARFContext::getDebugMacro ( )

Get a pointer to the parsed DebugMacro information object.

Definition at line 1458 of file DWARFContext.cpp.

Referenced by dump().

◆  getDebugMacroDWO()

const DWARFDebugMacro * DWARFContext::getDebugMacroDWO ( )

Get a pointer to the parsed DebugMacroDWO information object.

Definition at line 1462 of file DWARFContext.cpp.

Referenced by dump().

◆  getDebugNames()

const DWARFDebugNames & DWARFContext::getDebugNames ( )

Get a reference to the parsed accelerator table object.

Definition at line 1475 of file DWARFContext.cpp.

Referenced by dump().

◆  getDIEForOffset()

DWARFDie DWARFContext::getDIEForOffset ( uint64_t Offset )

Get a DIE given an exact offset.

Definition at line 1396 of file DWARFContext.cpp.

References llvm::Offset.

◆  getDIEsForAddress()

DWARFContext::DIEsForAddress DWARFContext::getDIEsForAddress ( uint64_t Address,
bool CheckDWO = false )

Get the compilation unit, the function DIE and lexical block DIE for the given address where applicable.

TODO: change input parameter from "uint64_t Address" into "SectionedAddress Address"

Parameters
[in] CheckDWO If this is false then only search for address matches in the current context's DIEs. If this is true, then each DWARFUnit that has a DWO file will have the debug info in the DWO file searched as well. This allows for lookups to succeed by searching the split DWARF debug info when using the main executable's debug info.

Definition at line 1555 of file DWARFContext.cpp.

References llvm::Address, llvm::append_range(), llvm::dyn_cast_or_null(), getCompileUnitForCodeAddress(), llvm::DWARFDie::getDwarfUnit(), llvm::DWARFUnit::getSubroutineForAddress(), and llvm::DIE::getTag().

◆  getDWARFObj()

const DWARFObject & llvm::DWARFContext::getDWARFObj ( ) const
inline

◆  getDWOCompileUnitForHash()

◆  getDWOContext()

std::shared_ptr< DWARFContext > DWARFContext::getDWOContext ( StringRef AbsolutePath )

Definition at line 1904 of file DWARFContext.cpp.

◆  getDWOUnitAtIndex()

DWARFUnit * llvm::DWARFContext::getDWOUnitAtIndex ( unsigned index )
inline

Get the unit at the specified index for the DWO units.

Definition at line 263 of file DWARFContext.h.

◆  getDWOUnitsVector()

const DWARFUnitVector & llvm::DWARFContext::getDWOUnitsVector ( )
inline

Definition at line 208 of file DWARFContext.h.

◆  getEHFrame()

Expected< const DWARFDebugFrame * > DWARFContext::getEHFrame ( )

Get a pointer to the parsed eh frame information object.

Definition at line 1454 of file DWARFContext.cpp.

Referenced by dump().

◆  getGdbIndex()

DWARFGdbIndex & DWARFContext::getGdbIndex ( )

Definition at line 1430 of file DWARFContext.cpp.

Referenced by dump().

◆  getInliningInfoForAddress()

DIInliningInfo DWARFContext::getInliningInfoForAddress ( object::SectionedAddress Address,
overridevirtual

◆  getLineInfoForAddress()

std::optional< DILineInfo > DWARFContext::getLineInfoForAddress ( object::SectionedAddress Address,
overridevirtual

◆  getLineInfoForAddressRange()

◆  getLineInfoForDataAddress()

std::optional< DILineInfo > DWARFContext::getLineInfoForDataAddress ( object::SectionedAddress Address )
overridevirtual

◆  getLineStringExtractor()

DataExtractor llvm::DWARFContext::getLineStringExtractor ( ) const
inline

Definition at line 365 of file DWARFContext.h.

◆  getLineTableForUnit() [1/2]

const DWARFDebugLine::LineTable * DWARFContext::getLineTableForUnit ( DWARFUnit * U )

Get a pointer to a parsed line table corresponding to a compile unit.

Report any parsing issues as warnings on stderr.

Definition at line 1496 of file DWARFContext.cpp.

References getLineTableForUnit(), and llvm::Expected< T >::takeError().

Referenced by llvm::gsym::CUInfo::CUInfo(), llvm::DWARFFormValue::getAsFile(), getInliningInfoForAddress(), getLineInfoForAddress(), getLineInfoForAddressRange(), and getLineTableForUnit().

◆  getLineTableForUnit() [2/2]

Expected< const DWARFDebugLine::LineTable * > DWARFContext::getLineTableForUnit ( DWARFUnit * U,
function_ref< void(Error)> RecoverableErrorHandler )

Get a pointer to a parsed line table corresponding to a compile unit.

Report any recoverable parsing problems using the handler.

Definition at line 1506 of file DWARFContext.cpp.

◆  getLocalsForAddress()

std::vector< DILocal > DWARFContext::getLocalsForAddress ( object::SectionedAddress Address )
overridevirtual

◆  getMaxDWOVersion()

unsigned llvm::DWARFContext::getMaxDWOVersion ( )
inline

Definition at line 285 of file DWARFContext.h.

References dwo_info_section_units().

◆  getMaxSupportedVersion()

unsigned llvm::DWARFContext::getMaxSupportedVersion ( )
inlinestatic

Definition at line 405 of file DWARFContext.h.

Referenced by llvm::DWARFUnitHeader::extract(), and isSupportedVersion().

◆  getMaxVersion()

unsigned llvm::DWARFContext::getMaxVersion ( )
inline

Definition at line 279 of file DWARFContext.h.

References info_section_units().

Referenced by dump().

◆  getNormalUnitsVector()

const DWARFUnitVector & llvm::DWARFContext::getNormalUnitsVector ( )
inline

Definition at line 176 of file DWARFContext.h.

◆  getNumCompileUnits()

unsigned llvm::DWARFContext::getNumCompileUnits ( )
inline

Get the number of compile units in this context.

Definition at line 238 of file DWARFContext.h.

Referenced by dump().

◆  getNumDWOCompileUnits()

unsigned llvm::DWARFContext::getNumDWOCompileUnits ( )
inline

Get the number of compile units in the DWO context.

Definition at line 248 of file DWARFContext.h.

Referenced by dump().

◆  getNumDWOTypeUnits()

unsigned llvm::DWARFContext::getNumDWOTypeUnits ( )
inline

Get the number of type units in the DWO context.

Definition at line 253 of file DWARFContext.h.

Referenced by dump().

◆  getNumTypeUnits()

unsigned llvm::DWARFContext::getNumTypeUnits ( )
inline

Get the number of type units in this context.

Definition at line 243 of file DWARFContext.h.

Referenced by dump().

◆  getParseCUTUIndexManually()

bool llvm::DWARFContext::getParseCUTUIndexManually ( ) const
inline

Returns whether CU/TU should be populated manually.

TU Index populated manually only for DWARF5.

Definition at line 488 of file DWARFContext.h.

◆  getRecoverableErrorHandler()

function_ref< void(Error)> llvm::DWARFContext::getRecoverableErrorHandler ( )
inline

Definition at line 436 of file DWARFContext.h.

Referenced by llvm::DWARFDebugAranges::generate().

◆  getStringDWOExtractor()

DataExtractor llvm::DWARFContext::getStringDWOExtractor ( ) const
inline

Definition at line 362 of file DWARFContext.h.

◆  getStringExtractor()

DataExtractor llvm::DWARFContext::getStringExtractor ( ) const
inline

Definition at line 359 of file DWARFContext.h.

◆  getSupportedAddressSizes()

SmallVector< uint8_t, 3 > llvm::DWARFContext::getSupportedAddressSizes ( )
inlinestatic

Definition at line 410 of file DWARFContext.h.

Referenced by checkAddressSizeSupported(), and isAddressSizeSupported().

◆  getTUIndex()

const DWARFUnitIndex & DWARFContext::getTUIndex ( )

Definition at line 1426 of file DWARFContext.cpp.

Referenced by dump(), and getTypeUnitForHash().

◆  getTypeUnitForHash()

◆  getUnitAtIndex()

DWARFUnit * llvm::DWARFContext::getUnitAtIndex ( unsigned index )
inline

Get the unit at the specified index.

Definition at line 258 of file DWARFContext.h.

◆  getUnitForOffset()

DWARFUnit * DWARFContext::getUnitForOffset ( uint64_t Offset )

Return the DWARF unit that includes an offset (relative to .debug_info).

Definition at line 1519 of file DWARFContext.cpp.

References llvm::Offset.

Referenced by getCompileUnitForOffset().

◆  getWarningHandler()

function_ref< void(Error)> llvm::DWARFContext::getWarningHandler ( )
inline

Definition at line 440 of file DWARFContext.h.

Referenced by llvm::DWARFDebugAranges::generate().

◆  info_section_units()

unit_iterator_range llvm::DWARFContext::info_section_units ( )
inline

Get units from .debug_info in this context.

Definition at line 169 of file DWARFContext.h.

References llvm::SmallVectorTemplateCommon< T, typename >::begin(), and llvm::DWARFUnitVector::getNumInfoUnits().

Referenced by compile_units(), dump(), and getMaxVersion().

◆  isAddressSizeSupported()

bool llvm::DWARFContext::isAddressSizeSupported ( unsigned AddressSize )
inlinestatic

◆  isDWP()

bool DWARFContext::isDWP ( ) const

Return true of this DWARF context is a DWP file.

Definition at line 2489 of file DWARFContext.cpp.

Referenced by extractCUsTus().

◆  isLittleEndian()

bool llvm::DWARFContext::isLittleEndian ( ) const
inline

◆  isSupportedVersion()

bool llvm::DWARFContext::isSupportedVersion ( unsigned version )
inlinestatic

Definition at line 406 of file DWARFContext.h.

References getMaxSupportedVersion().

Referenced by llvm::DWARFUnitHeader::extract().

◆  normal_units()

unit_iterator_range llvm::DWARFContext::normal_units ( )
inline

Get all normal compile/type units in this context.

Definition at line 196 of file DWARFContext.h.

References llvm::SmallVectorTemplateCommon< T, typename >::begin(), and llvm::SmallVectorTemplateCommon< T, typename >::end().

Referenced by dump(), and extractCUsTus().

◆  operator=()

DWARFContext & llvm::DWARFContext::operator= ( DWARFContext & )
delete

References DWARFContext().

◆  setMaxVersionIfGreater()

void llvm::DWARFContext::setMaxVersionIfGreater ( unsigned Version )
inline

Definition at line 291 of file DWARFContext.h.

References llvm::Version.

◆  setParseCUTUIndexManually()

void llvm::DWARFContext::setParseCUTUIndexManually ( bool PCUTU )
inline

Sets whether CU/TU should be populated manually.

TU Index populated manually only for DWARF5.

Definition at line 492 of file DWARFContext.h.

◆  types_section_units()

unit_iterator_range llvm::DWARFContext::types_section_units ( )
inline

◆  verify()

◆  DWARFContextState

friend class DWARFContextState
friend

The documentation for this class was generated from the following files:

Generated on for LLVM by doxygen 1.14.0

AltStyle によって変換されたページ (->オリジナル) /