LLVM  8.0.1
Classes | Public Types | Public Member Functions | Static Public Member Functions | 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:
Inheritance graph
[legend]
Collaboration diagram for llvm::DWARFContext:
Collaboration graph
[legend]

Classes

struct  DIEsForAddress
 Wraps the returned DIEs for a given address. More...
 

Public Types

using unit_iterator_range = DWARFUnitVector::iterator_range
 
- Public Types inherited from llvm::DIContext
enum  DIContextKind { CK_DWARF, CK_PDB }
 

Public Member Functions

 DWARFContext (std::unique_ptr< const DWARFObject > DObj, std::string DWPName="")
 
 ~DWARFContext ()
 
 DWARFContext (DWARFContext &)=delete
 
DWARFContextoperator= (DWARFContext &)=delete
 
const DWARFObjectgetDWARFObj () const
 
void dump (raw_ostream &OS, DIDumpOptions DumpOpts, std::array< Optional< uint64_t >, DIDT_ID_Count > DumpOffsets)
 Dump a textual representation to OS. More...
 
void dump (raw_ostream &OS, DIDumpOptions DumpOpts) override
 
bool verify (raw_ostream &OS, DIDumpOptions DumpOpts={}) override
 
unit_iterator_range info_section_units ()
 Get units from .debug_info in this context. More...
 
unit_iterator_range types_section_units ()
 Get units from .debug_types in this context. More...
 
unit_iterator_range compile_units ()
 Get compile units in this context. More...
 
unit_iterator_range type_units ()
 Get type units in this context. More...
 
unit_iterator_range normal_units ()
 Get all normal compile/type units in this context. More...
 
unit_iterator_range dwo_info_section_units ()
 Get units from .debug_info..dwo in the DWO context. More...
 
unit_iterator_range dwo_types_section_units ()
 Get units from .debug_types.dwo in the DWO context. More...
 
unit_iterator_range dwo_compile_units ()
 Get compile units in the DWO context. More...
 
unit_iterator_range dwo_type_units ()
 Get type units in the DWO context. More...
 
unit_iterator_range dwo_units ()
 Get all units in the DWO context. More...
 
unsigned getNumCompileUnits ()
 Get the number of compile units in this context. More...
 
unsigned getNumTypeUnits ()
 Get the number of type units in this context. More...
 
unsigned getNumDWOCompileUnits ()
 Get the number of compile units in the DWO context. More...
 
unsigned getNumDWOTypeUnits ()
 Get the number of type units in the DWO context. More...
 
DWARFUnitgetUnitAtIndex (unsigned index)
 Get the unit at the specified index. More...
 
DWARFUnitgetDWOUnitAtIndex (unsigned index)
 Get the unit at the specified index for the DWO units. More...
 
DWARFCompileUnitgetDWOCompileUnitForHash (uint64_t Hash)
 
DWARFCompileUnitgetCompileUnitForOffset (uint32_t Offset)
 Return the compile unit that includes an offset (relative to .debug_info). More...
 
DWARFDie getDIEForOffset (uint32_t Offset)
 Get a DIE given an exact offset. More...
 
unsigned getMaxVersion ()
 
unsigned getMaxDWOVersion ()
 
void setMaxVersionIfGreater (unsigned Version)
 
const DWARFUnitIndexgetCUIndex ()
 
DWARFGdbIndexgetGdbIndex ()
 
const DWARFUnitIndexgetTUIndex ()
 
const DWARFDebugAbbrevgetDebugAbbrev ()
 Get a pointer to the parsed DebugAbbrev object. More...
 
const DWARFDebugLocgetDebugLoc ()
 Get a pointer to the parsed DebugLoc object. More...
 
const DWARFDebugAbbrevgetDebugAbbrevDWO ()
 Get a pointer to the parsed dwo abbreviations object. More...
 
const DWARFDebugLoclistsgetDebugLocDWO ()
 Get a pointer to the parsed DebugLoc object. More...
 
const DWARFDebugArangesgetDebugAranges ()
 Get a pointer to the parsed DebugAranges object. More...
 
const DWARFDebugFramegetDebugFrame ()
 Get a pointer to the parsed frame information object. More...
 
const DWARFDebugFramegetEHFrame ()
 Get a pointer to the parsed eh frame information object. More...
 
const DWARFDebugMacrogetDebugMacro ()
 Get a pointer to the parsed DebugMacro object. More...
 
const DWARFDebugNamesgetDebugNames ()
 Get a reference to the parsed accelerator table object. More...
 
const AppleAcceleratorTablegetAppleNames ()
 Get a reference to the parsed accelerator table object. More...
 
const AppleAcceleratorTablegetAppleTypes ()
 Get a reference to the parsed accelerator table object. More...
 
const AppleAcceleratorTablegetAppleNamespaces ()
 Get a reference to the parsed accelerator table object. More...
 
const AppleAcceleratorTablegetAppleObjC ()
 Get a reference to the parsed accelerator table object. More...
 
const DWARFDebugLine::LineTablegetLineTableForUnit (DWARFUnit *U)
 Get a pointer to a parsed line table corresponding to a compile unit. More...
 
Expected< const DWARFDebugLine::LineTable * > getLineTableForUnit (DWARFUnit *U, std::function< void(Error)> RecoverableErrorCallback)
 Get a pointer to a parsed line table corresponding to a compile unit. More...
 
DataExtractor getStringExtractor () const
 
DataExtractor getLineStringExtractor () const
 
DIEsForAddress getDIEsForAddress (uint64_t Address)
 Get the compilation unit, the function DIE and lexical block DIE for the given address where applicable. More...
 
DILineInfo getLineInfoForAddress (uint64_t Address, DILineInfoSpecifier Specifier=DILineInfoSpecifier()) override
 
DILineInfoTable getLineInfoForAddressRange (uint64_t Address, uint64_t Size, DILineInfoSpecifier Specifier=DILineInfoSpecifier()) override
 
DIInliningInfo getInliningInfoForAddress (uint64_t Address, DILineInfoSpecifier Specifier=DILineInfoSpecifier()) override
 
bool isLittleEndian () const
 
std::shared_ptr< DWARFContextgetDWOContext (StringRef AbsolutePath)
 
const MCRegisterInfogetRegisterInfo () const
 
Error loadRegisterInfo (const object::ObjectFile &Obj)
 Loads register info for the architecture of the provided object file. More...
 
uint8_t getCUAddrSize ()
 Get address size from CUs. More...
 
Triple::ArchType getArch () const
 
- Public Member Functions inherited from llvm::DIContext
 DIContext (DIContextKind K)
 
virtual ~DIContext ()=default
 
DIContextKind getKind () const
 

Static Public Member Functions

static bool classof (const DIContext *DICtx)
 
static bool isSupportedVersion (unsigned version)
 
static ErrorPolicy defaultErrorHandler (Error E)
 Function used to handle default error reporting policy. More...
 
static std::unique_ptr< DWARFContextcreate (const object::ObjectFile &Obj, const LoadedObjectInfo *L=nullptr, function_ref< ErrorPolicy(Error)> HandleError=defaultErrorHandler, std::string DWPName="")
 
static std::unique_ptr< DWARFContextcreate (const StringMap< std::unique_ptr< MemoryBuffer >> &Sections, uint8_t AddrSize, bool isLittleEndian=sys::IsLittleEndianHost)
 
static void dumpWarning (Error Warning)
 Dump Error as warning message to stderr. More...
 

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 59 of file DWARFContext.h.

Member Typedef Documentation

◆ unit_iterator_range

Definition at line 135 of file DWARFContext.h.

Constructor & Destructor Documentation

◆ DWARFContext() [1/2]

DWARFContext::DWARFContext ( std::unique_ptr< const DWARFObject DObj,
std::string  DWPName = "" 
)

Definition at line 68 of file DWARFContext.cpp.

References ~DWARFContext().

◆ ~DWARFContext()

DWARFContext::~DWARFContext ( )
default

Referenced by DWARFContext().

◆ DWARFContext() [2/2]

llvm::DWARFContext::DWARFContext ( DWARFContext )
delete

Member Function Documentation

◆ classof()

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

Definition at line 119 of file DWARFContext.h.

References llvm::DIDT_ID_Count, llvm::dump(), and llvm::DIContext::getKind().

◆ compile_units()

unit_iterator_range llvm::DWARFContext::compile_units ( )
inline

Get compile units in this context.

Definition at line 153 of file DWARFContext.h.

Referenced by dump(), llvm::DWARFDebugAranges::generate(), getCUAddrSize(), and llvm::DWARFVerifier::handleDebugLine().

◆ create() [1/2]

std::unique_ptr< DWARFContext > DWARFContext::create ( const object::ObjectFile Obj,
const LoadedObjectInfo L = nullptr,
function_ref< ErrorPolicy(Error)>  HandleError = defaultErrorHandler,
std::string  DWPName = "" 
)
static

Definition at line 1643 of file DWARFContext.cpp.

Referenced by getDWOContext().

◆ create() [2/2]

std::unique_ptr< DWARFContext > DWARFContext::create ( const StringMap< std::unique_ptr< MemoryBuffer >> &  Sections,
uint8_t  AddrSize,
bool  isLittleEndian = sys::IsLittleEndianHost 
)
static

Definition at line 1651 of file DWARFContext.cpp.

References isLittleEndian().

◆ defaultErrorHandler()

ErrorPolicy DWARFContext::defaultErrorHandler ( Error  E)
static

Function used to handle default error reporting policy.

Prints a error message and returns Continue, so DWARF context ignores the error.

Definition at line 1228 of file DWARFContext.cpp.

References llvm::StringSwitch< T, R >::Case(), llvm::Continue, llvm::Data, llvm::StringSwitch< T, R >::Default(), llvm::WithColor::error(), Name, llvm::Error::success(), llvm::Expected< T >::takeError(), and llvm::toString().

◆ dump() [1/2]

void DWARFContext::dump ( raw_ostream OS,
DIDumpOptions  DumpOpts,
std::array< 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 316 of file DWARFContext.cpp.

References compile_units(), llvm::Data, llvm::DIDT_All, llvm::DIDT_UUID, llvm::DWARFDebugLine::SectionParser::done(), llvm::DWARFDebugMacro::dump(), llvm::DWARFDebugLoc::dump(), llvm::DWARFDebugAbbrev::dump(), llvm::DWARFDebugRangeList::dump(), llvm::DWARFGdbIndex::dump(), llvm::DWARFUnitIndex::dump(), llvm::DWARFDebugLoclists::dump(), llvm::AppleAcceleratorTable::dump(), llvm::DWARFDebugLine::LineTable::dump(), llvm::DWARFDebugFrame::dump(), llvm::DWARFDebugNames::dump(), dumpAddrSection(), dumpLoclistsSection(), dumpRnglistsSection(), dumpStringOffsetsSection(), llvm::DIDumpOptions::DumpType, dumpUUID(), dumpWarning(), dwo_compile_units(), dwo_info_section_units(), dwo_type_units(), dwo_types_section_units(), dwo_units(), E, llvm::empty(), llvm::WithColor::error(), llvm::sys::path::extension(), extract, llvm::DWARFDebugRangeList::extract(), llvm::format(), getAppleNames(), getAppleNamespaces(), getAppleObjC(), getAppleTypes(), getCUAddrSize(), getCUIndex(), getDebugAbbrev(), getDebugAbbrevDWO(), getDebugFrame(), getDebugLoc(), getDebugLocDWO(), getDebugMacro(), getDebugNames(), getEHFrame(), getGdbIndex(), getMaxDWOVersion(), getMaxVersion(), getNumCompileUnits(), getNumDWOCompileUnits(), getNumDWOTypeUnits(), getNumTypeUnits(), llvm::DWARFDebugLine::SectionParser::getOffset(), getRegisterInfo(), getTUIndex(), I, info_section_units(), isLittleEndian(), llvm::BitmaskEnumDetail::Mask(), Name, llvm::DIDumpOptions::noImplicitRecursion(), llvm::None, normal_units(), llvm::DWARFDebugLine::SectionParser::parseNext(), llvm::ARMBuildAttrs::Section, llvm::DWARFDebugLine::SectionParser::skip(), llvm::toString(), type_units(), types_section_units(), and llvm::raw_ostream::write_escaped().

◆ dump() [2/2]

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

Implements llvm::DIContext.

Definition at line 128 of file DWARFContext.h.

References llvm::DIDT_ID_Count, llvm::dump(), and llvm::verify().

◆ dumpWarning()

void DWARFContext::dumpWarning ( Error  Warning)
static

Dump Error as warning message to stderr.

Definition at line 1689 of file DWARFContext.cpp.

References llvm::handleAllErrors(), Info, llvm::ErrorInfoBase::message(), and llvm::WithColor::warning().

Referenced by dump(), and getLineTableForUnit().

◆ dwo_compile_units()

unit_iterator_range llvm::DWARFContext::dwo_compile_units ( )
inline

Get compile units in the DWO context.

Definition at line 179 of file DWARFContext.h.

Referenced by dump(), and 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 165 of file DWARFContext.h.

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

Referenced by dump().

◆ dwo_type_units()

unit_iterator_range llvm::DWARFContext::dwo_type_units ( )
inline

Get type units in the DWO context.

Definition at line 182 of file DWARFContext.h.

Referenced by dump().

◆ 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 172 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 185 of file DWARFContext.h.

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

Referenced by dump().

◆ getAppleNames()

const AppleAcceleratorTable & DWARFContext::getAppleNames ( )

Get a reference to the parsed accelerator table object.

Definition at line 815 of file DWARFContext.cpp.

References getAccelTable(), and isLittleEndian().

Referenced by dump().

◆ getAppleNamespaces()

const AppleAcceleratorTable & DWARFContext::getAppleNamespaces ( )

Get a reference to the parsed accelerator table object.

Definition at line 825 of file DWARFContext.cpp.

References getAccelTable(), and isLittleEndian().

Referenced by dump().

◆ getAppleObjC()

const AppleAcceleratorTable & DWARFContext::getAppleObjC ( )

Get a reference to the parsed accelerator table object.

Definition at line 831 of file DWARFContext.cpp.

References getAccelTable(), and isLittleEndian().

Referenced by dump().

◆ getAppleTypes()

const AppleAcceleratorTable & DWARFContext::getAppleTypes ( )

Get a reference to the parsed accelerator table object.

Definition at line 820 of file DWARFContext.cpp.

References getAccelTable(), and isLittleEndian().

Referenced by dump().

◆ getArch()

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

Definition at line 363 of file DWARFContext.h.

Referenced by getDebugFrame(), and getEHFrame().

◆ getCompileUnitForOffset()

DWARFCompileUnit * DWARFContext::getCompileUnitForOffset ( uint32_t  Offset)

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

Definition at line 900 of file DWARFContext.cpp.

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

◆ getCUAddrSize()

uint8_t DWARFContext::getCUAddrSize ( )

Get address size from CUs.

TODO: refactor compile_units() to make this const.

Definition at line 1675 of file DWARFContext.cpp.

References compile_units().

Referenced by dump().

◆ getCUIndex()

const DWARFUnitIndex & DWARFContext::getCUIndex ( )

Definition at line 663 of file DWARFContext.cpp.

References llvm::DW_SECT_INFO, and isLittleEndian().

Referenced by dump(), llvm::getDWARFUnitIndex(), and getDWOCompileUnitForHash().

◆ getDebugAbbrev()

const DWARFDebugAbbrev * DWARFContext::getDebugAbbrev ( )

Get a pointer to the parsed DebugAbbrev object.

Definition at line 695 of file DWARFContext.cpp.

References isLittleEndian().

Referenced by llvm::DWARFUnitVector::addUnitsForSection(), and dump().

◆ getDebugAbbrevDWO()

const DWARFDebugAbbrev * DWARFContext::getDebugAbbrevDWO ( )

Get a pointer to the parsed dwo abbreviations object.

Definition at line 706 of file DWARFContext.cpp.

References isLittleEndian().

Referenced by llvm::DWARFUnitVector::addUnitsForDWOSection(), and dump().

◆ getDebugAranges()

const DWARFDebugAranges * DWARFContext::getDebugAranges ( )

Get a pointer to the parsed DebugAranges object.

Definition at line 746 of file DWARFContext.cpp.

Referenced by getCompileUnitForOffset().

◆ getDebugFrame()

const DWARFDebugFrame * DWARFContext::getDebugFrame ( )

Get a pointer to the parsed frame information object.

Definition at line 755 of file DWARFContext.cpp.

References getArch(), and isLittleEndian().

Referenced by dump().

◆ getDebugLoc()

const DWARFDebugLoc * DWARFContext::getDebugLoc ( )

Get a pointer to the parsed DebugLoc object.

Definition at line 716 of file DWARFContext.cpp.

References llvm::DWARFUnit::getAddressByteSize(), getNumCompileUnits(), getUnitAtIndex(), and isLittleEndian().

Referenced by dump(), and isVariableIndexable().

◆ getDebugLocDWO()

const DWARFDebugLoclists * DWARFContext::getDebugLocDWO ( )

Get a pointer to the parsed DebugLoc object.

Definition at line 730 of file DWARFContext.cpp.

References isLittleEndian().

Referenced by dump().

◆ getDebugMacro()

const DWARFDebugMacro * DWARFContext::getDebugMacro ( )

Get a pointer to the parsed DebugMacro object.

Definition at line 786 of file DWARFContext.cpp.

References isLittleEndian().

Referenced by dump().

◆ getDebugNames()

const DWARFDebugNames & DWARFContext::getDebugNames ( )

Get a reference to the parsed accelerator table object.

Definition at line 810 of file DWARFContext.cpp.

References getAccelTable(), and isLittleEndian().

Referenced by dump().

◆ getDIEForOffset()

DWARFDie DWARFContext::getDIEForOffset ( uint32_t  Offset)

Get a DIE given an exact offset.

Definition at line 643 of file DWARFContext.cpp.

References llvm::DWARFUnitVector::getUnitForOffset().

Referenced by llvm::DWARFVerifier::handleDebugLine().

◆ getDIEsForAddress()

DWARFContext::DIEsForAddress DWARFContext::getDIEsForAddress ( uint64_t  Address)

◆ getDWARFObj()

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

◆ getDWOCompileUnitForHash()

DWARFCompileUnit * DWARFContext::getDWOCompileUnitForHash ( uint64_t  Hash)

◆ getDWOContext()

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

◆ getDWOUnitAtIndex()

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

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

Definition at line 221 of file DWARFContext.h.

◆ getEHFrame()

const DWARFDebugFrame * DWARFContext::getEHFrame ( )

Get a pointer to the parsed eh frame information object.

Definition at line 775 of file DWARFContext.cpp.

References getArch(), and isLittleEndian().

Referenced by dump().

◆ getGdbIndex()

DWARFGdbIndex & DWARFContext::getGdbIndex ( )

Definition at line 685 of file DWARFContext.cpp.

Referenced by dump().

◆ getInliningInfoForAddress()

DIInliningInfo DWARFContext::getInliningInfoForAddress ( uint64_t  Address,
DILineInfoSpecifier  Specifier = DILineInfoSpecifier() 
)
overridevirtual

◆ getLineInfoForAddress()

DILineInfo DWARFContext::getLineInfoForAddress ( uint64_t  Address,
DILineInfoSpecifier  Specifier = DILineInfoSpecifier() 
)
overridevirtual

◆ getLineInfoForAddressRange()

DILineInfoTable DWARFContext::getLineInfoForAddressRange ( uint64_t  Address,
uint64_t  Size,
DILineInfoSpecifier  Specifier = DILineInfoSpecifier() 
)
overridevirtual

◆ getLineStringExtractor()

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

Definition at line 307 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 837 of file DWARFContext.cpp.

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

Referenced by dumpAttribute(), getInliningInfoForAddress(), getLineInfoForAddress(), and getLineInfoForAddressRange().

◆ getLineTableForUnit() [2/2]

Expected< const DWARFDebugLine::LineTable * > DWARFContext::getLineTableForUnit ( DWARFUnit U,
std::function< void(Error)>  RecoverableErrorCallback 
)

◆ getMaxDWOVersion()

unsigned llvm::DWARFContext::getMaxDWOVersion ( )
inline

Definition at line 240 of file DWARFContext.h.

Referenced by dump().

◆ getMaxVersion()

unsigned llvm::DWARFContext::getMaxVersion ( )
inline

Definition at line 234 of file DWARFContext.h.

Referenced by dump().

◆ getNumCompileUnits()

unsigned llvm::DWARFContext::getNumCompileUnits ( )
inline

Get the number of compile units in this context.

Definition at line 191 of file DWARFContext.h.

References llvm::DWARFUnitVector::getNumInfoUnits().

Referenced by dump(), getDebugLoc(), and llvm::DWARFVerifier::handleDebugLine().

◆ getNumDWOCompileUnits()

unsigned llvm::DWARFContext::getNumDWOCompileUnits ( )
inline

Get the number of compile units in the DWO context.

Definition at line 203 of file DWARFContext.h.

References llvm::DWARFUnitVector::getNumInfoUnits().

Referenced by dump().

◆ getNumDWOTypeUnits()

unsigned llvm::DWARFContext::getNumDWOTypeUnits ( )
inline

Get the number of type units in the DWO context.

Definition at line 209 of file DWARFContext.h.

References llvm::DWARFUnitVector::getNumTypesUnits().

Referenced by dump().

◆ getNumTypeUnits()

unsigned llvm::DWARFContext::getNumTypeUnits ( )
inline

Get the number of type units in this context.

Definition at line 197 of file DWARFContext.h.

References llvm::DWARFUnitVector::getNumTypesUnits().

Referenced by dump().

◆ getRegisterInfo()

const MCRegisterInfo* llvm::DWARFContext::getRegisterInfo ( ) const
inline

Definition at line 337 of file DWARFContext.h.

References E, llvm::MCRegisterInfo::get(), llvm::sys::IsLittleEndianHost, and llvm::Warning.

Referenced by dump(), and dumpLocation().

◆ getStringExtractor()

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

Definition at line 304 of file DWARFContext.h.

◆ getTUIndex()

const DWARFUnitIndex & DWARFContext::getTUIndex ( )

Definition at line 674 of file DWARFContext.cpp.

References llvm::DW_SECT_TYPES, and isLittleEndian().

Referenced by dump(), and llvm::getDWARFUnitIndex().

◆ getUnitAtIndex()

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

Get the unit at the specified index.

Definition at line 215 of file DWARFContext.h.

Referenced by getDebugLoc().

◆ info_section_units()

unit_iterator_range llvm::DWARFContext::info_section_units ( )
inline

Get units from .debug_info in this context.

Definition at line 138 of file DWARFContext.h.

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

Referenced by dump(), and llvm::DWARFUnit::getAddrOffsetSectionItem().

◆ isLittleEndian()

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

◆ isSupportedVersion()

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

Definition at line 331 of file DWARFContext.h.

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

◆ loadRegisterInfo()

Error DWARFContext::loadRegisterInfo ( const object::ObjectFile Obj)

Loads register info for the architecture of the provided object file.

Improves readability of dumped DWARF expressions. Requires the caller to have initialized the relevant target descriptions.

Definition at line 1658 of file DWARFContext.cpp.

References llvm::Target::createMCRegInfo(), llvm::createStringError(), llvm::object::ObjectFile::getArch(), llvm::invalid_argument, llvm::TargetRegistry::lookupTarget(), llvm::Triple::setArch(), llvm::Triple::setOS(), llvm::Triple::setVendor(), llvm::Triple::str(), llvm::Error::success(), llvm::Triple::UnknownOS, and llvm::Triple::UnknownVendor.

◆ normal_units()

unit_iterator_range llvm::DWARFContext::normal_units ( )
inline

Get all normal compile/type units in this context.

Definition at line 159 of file DWARFContext.h.

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

Referenced by dump().

◆ operator=()

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

◆ setMaxVersionIfGreater()

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

Definition at line 246 of file DWARFContext.h.

References function, getDebugLoc(), and llvm::IndexedInstrProf::Version.

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

◆ type_units()

unit_iterator_range llvm::DWARFContext::type_units ( )
inline

Get type units in this context.

Definition at line 156 of file DWARFContext.h.

Referenced by dump().

◆ types_section_units()

unit_iterator_range llvm::DWARFContext::types_section_units ( )
inline

◆ verify()

bool DWARFContext::verify ( raw_ostream OS,
DIDumpOptions  DumpOpts = {} 
)
overridevirtual

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