LLVM
8.0.1
|
DWARFContext This data structure is the top level entity that deals with dwarf debug information parsing. More...
#include "llvm/DebugInfo/DWARF/DWARFContext.h"
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 | |
DWARFContext & | operator= (DWARFContext &)=delete |
const DWARFObject & | getDWARFObj () 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... | |
DWARFUnit * | getUnitAtIndex (unsigned index) |
Get the unit at the specified index. More... | |
DWARFUnit * | getDWOUnitAtIndex (unsigned index) |
Get the unit at the specified index for the DWO units. More... | |
DWARFCompileUnit * | getDWOCompileUnitForHash (uint64_t Hash) |
DWARFCompileUnit * | getCompileUnitForOffset (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 DWARFUnitIndex & | getCUIndex () |
DWARFGdbIndex & | getGdbIndex () |
const DWARFUnitIndex & | getTUIndex () |
const DWARFDebugAbbrev * | getDebugAbbrev () |
Get a pointer to the parsed DebugAbbrev object. More... | |
const DWARFDebugLoc * | getDebugLoc () |
Get a pointer to the parsed DebugLoc object. More... | |
const DWARFDebugAbbrev * | getDebugAbbrevDWO () |
Get a pointer to the parsed dwo abbreviations object. More... | |
const DWARFDebugLoclists * | getDebugLocDWO () |
Get a pointer to the parsed DebugLoc object. More... | |
const DWARFDebugAranges * | getDebugAranges () |
Get a pointer to the parsed DebugAranges object. More... | |
const DWARFDebugFrame * | getDebugFrame () |
Get a pointer to the parsed frame information object. More... | |
const DWARFDebugFrame * | getEHFrame () |
Get a pointer to the parsed eh frame information object. More... | |
const DWARFDebugMacro * | getDebugMacro () |
Get a pointer to the parsed DebugMacro object. More... | |
const DWARFDebugNames & | getDebugNames () |
Get a reference to the parsed accelerator table object. More... | |
const AppleAcceleratorTable & | getAppleNames () |
Get a reference to the parsed accelerator table object. More... | |
const AppleAcceleratorTable & | getAppleTypes () |
Get a reference to the parsed accelerator table object. More... | |
const AppleAcceleratorTable & | getAppleNamespaces () |
Get a reference to the parsed accelerator table object. More... | |
const AppleAcceleratorTable & | getAppleObjC () |
Get a reference to the parsed accelerator table object. More... | |
const DWARFDebugLine::LineTable * | getLineTableForUnit (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< DWARFContext > | getDWOContext (StringRef AbsolutePath) |
const MCRegisterInfo * | getRegisterInfo () 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< DWARFContext > | create (const object::ObjectFile &Obj, const LoadedObjectInfo *L=nullptr, function_ref< ErrorPolicy(Error)> HandleError=defaultErrorHandler, std::string DWPName="") |
static std::unique_ptr< DWARFContext > | create (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... | |
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.
Definition at line 135 of file DWARFContext.h.
DWARFContext::DWARFContext | ( | std::unique_ptr< const DWARFObject > | DObj, |
std::string | DWPName = "" |
||
) |
Definition at line 68 of file DWARFContext.cpp.
References ~DWARFContext().
|
default |
Referenced by DWARFContext().
|
delete |
Definition at line 119 of file DWARFContext.h.
References llvm::DIDT_ID_Count, llvm::dump(), and llvm::DIContext::getKind().
|
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().
|
static |
Definition at line 1643 of file DWARFContext.cpp.
Referenced by getDWOContext().
|
static |
Definition at line 1651 of file DWARFContext.cpp.
References isLittleEndian().
|
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().
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().
|
inlineoverridevirtual |
Implements llvm::DIContext.
Definition at line 128 of file DWARFContext.h.
References llvm::DIDT_ID_Count, llvm::dump(), and llvm::verify().
|
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().
|
inline |
Get compile units in the DWO context.
Definition at line 179 of file DWARFContext.h.
Referenced by dump(), and getDWOCompileUnitForHash().
|
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().
|
inline |
Get type units in the DWO context.
Definition at line 182 of file DWARFContext.h.
Referenced by dump().
|
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().
|
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().
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().
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().
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().
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().
|
inline |
Definition at line 363 of file DWARFContext.h.
Referenced by getDebugFrame(), and getEHFrame().
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().
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().
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().
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().
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().
const DWARFDebugAranges * DWARFContext::getDebugAranges | ( | ) |
Get a pointer to the parsed DebugAranges object.
Definition at line 746 of file DWARFContext.cpp.
Referenced by getCompileUnitForOffset().
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().
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().
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().
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().
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().
Get a DIE given an exact offset.
Definition at line 643 of file DWARFContext.cpp.
References llvm::DWARFUnitVector::getUnitForOffset().
Referenced by llvm::DWARFVerifier::handleDebugLine().
DWARFContext::DIEsForAddress DWARFContext::getDIEsForAddress | ( | uint64_t | Address | ) |
Get the compilation unit, the function DIE and lexical block DIE for the given address where applicable.
Definition at line 913 of file DWARFContext.cpp.
References llvm::DWARFDie::addressRangeContainsAddress(), llvm::DWARFContext::DIEsForAddress::BlockDIE, llvm::DWARFContext::DIEsForAddress::CompileUnit, llvm::DWARFContext::DIEsForAddress::FunctionDIE, llvm::DWARFUnit::getSubroutineForAddress(), and llvm::DWARFDie::getTag().
|
inline |
Definition at line 117 of file DWARFContext.h.
Referenced by llvm::DWARFUnitVector::addUnitsForDWOSection(), llvm::DWARFUnitVector::addUnitsForSection(), dumpAttribute(), dumpLocation(), llvm::DWARFVerifier::DWARFVerifier(), llvm::DWARFUnit::extractRangeList(), llvm::DWARFUnit::findRnglistFromOffset(), llvm::DWARFDebugAranges::generate(), llvm::DWARFUnit::getAddrOffsetSectionItem(), llvm::DWARFUnit::getCompilationDir(), llvm::DWARFUnit::getDebugInfoExtractor(), llvm::DWARFUnit::getStringOffsetSectionItem(), and llvm::DWARFVerifier::handleDebugLine().
DWARFCompileUnit * DWARFContext::getDWOCompileUnitForHash | ( | uint64_t | Hash | ) |
Definition at line 613 of file DWARFContext.cpp.
References dwo_compile_units(), getCUIndex(), llvm::DWARFUnitVector::getUnitForIndexEntry(), and llvm::dwarf::toUnsigned().
std::shared_ptr< DWARFContext > DWARFContext::getDWOContext | ( | StringRef | AbsolutePath | ) |
Definition at line 1100 of file DWARFContext.cpp.
References llvm::consumeError(), create(), llvm::object::ObjectFile::createObjectFile(), llvm::SmallVectorBase::empty(), and llvm::toStringRef().
Referenced by llvm::DWARFUnit::getCompilationDir().
Get the unit at the specified index for the DWO units.
Definition at line 221 of file DWARFContext.h.
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().
DWARFGdbIndex & DWARFContext::getGdbIndex | ( | ) |
Definition at line 685 of file DWARFContext.cpp.
Referenced by dump().
|
overridevirtual |
Implements llvm::DIContext.
Definition at line 1035 of file DWARFContext.cpp.
References llvm::DIInliningInfo::addFrame(), llvm::DILineInfo::Column, llvm::DILineInfo::Discriminator, llvm::DILineInfo::FileName, llvm::DILineInfoSpecifier::FLIKind, llvm::DILineInfoSpecifier::FNKind, llvm::DILineInfo::FunctionName, llvm::DWARFDie::getCallerFrame(), llvm::DWARFUnit::getCompilationDir(), llvm::DWARFDie::getDeclLine(), llvm::DWARFDebugLine::LineTable::getFileLineInfoForAddress(), llvm::DWARFDebugLine::LineTable::getFileNameByIndex(), llvm::DWARFUnit::getInlinedChainForAddress(), getLineTableForUnit(), llvm::DWARFDie::getSubroutineName(), if(), llvm::DILineInfo::Line, Name, llvm::None, llvm::SmallVectorBase::size(), and llvm::DILineInfo::StartLine.
|
overridevirtual |
Implements llvm::DIContext.
Definition at line 970 of file DWARFContext.cpp.
References llvm::DILineInfoSpecifier::FLIKind, llvm::DILineInfoSpecifier::FNKind, llvm::DILineInfo::FunctionName, llvm::DWARFUnit::getCompilationDir(), getFunctionNameAndStartLineForAddress(), getLineTableForUnit(), llvm::None, and llvm::DILineInfo::StartLine.
|
overridevirtual |
Implements llvm::DIContext.
Definition at line 989 of file DWARFContext.cpp.
References llvm::DWARFDebugLine::Row::Address, llvm::DILineInfo::Column, llvm::DWARFDebugLine::Row::Column, llvm::DWARFDebugLine::Row::File, llvm::DILineInfo::FileName, llvm::DILineInfoSpecifier::FLIKind, llvm::DILineInfoSpecifier::FNKind, llvm::DILineInfo::FunctionName, llvm::DWARFUnit::getCompilationDir(), llvm::DWARFDebugLine::LineTable::getFileNameByIndex(), getFunctionNameAndStartLineForAddress(), getLineTableForUnit(), llvm::DILineInfo::Line, llvm::DWARFDebugLine::Row::Line, llvm::DWARFDebugLine::LineTable::lookupAddressRange(), llvm::None, llvm::SmallVectorTemplateBase< T, bool >::push_back(), llvm::DWARFDebugLine::LineTable::Rows, and llvm::DILineInfo::StartLine.
|
inline |
Definition at line 307 of file DWARFContext.h.
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().
Expected< const DWARFDebugLine::LineTable * > DWARFContext::getLineTableForUnit | ( | DWARFUnit * | U, |
std::function< void(Error)> | RecoverableErrorCallback | ||
) |
Get a pointer to a parsed line table corresponding to a compile unit.
Report any recoverable parsing problems using the callback.
Definition at line 847 of file DWARFContext.cpp.
References llvm::DWARFUnitVector::addUnitsForDWOSection(), llvm::DWARFUnitVector::addUnitsForSection(), llvm::DWARFSection::Data, llvm::DW_SECT_INFO, llvm::DW_SECT_TYPES, llvm::SmallVectorBase::empty(), llvm::DWARFUnitVector::finishedInfoUnits(), llvm::DWARFUnit::getAddressByteSize(), llvm::DWARFUnit::getLineSection(), llvm::DWARFUnit::getLineTableOffset(), llvm::DWARFUnit::getUnitDIE(), isLittleEndian(), llvm::StringRef::size(), and llvm::dwarf::toSectionOffset().
|
inline |
Definition at line 240 of file DWARFContext.h.
Referenced by dump().
|
inline |
Definition at line 234 of file DWARFContext.h.
Referenced by dump().
|
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().
|
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().
|
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().
|
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().
|
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().
|
inline |
Definition at line 304 of file DWARFContext.h.
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().
Get the unit at the specified index.
Definition at line 215 of file DWARFContext.h.
Referenced by getDebugLoc().
|
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().
|
inline |
Definition at line 330 of file DWARFContext.h.
Referenced by llvm::DWARFUnitVector::addUnitsForDWOSection(), create(), dump(), dumpLocation(), llvm::DWARFDebugAranges::generate(), getAppleNames(), getAppleNamespaces(), getAppleObjC(), getAppleTypes(), getCUIndex(), getDebugAbbrev(), getDebugAbbrevDWO(), getDebugFrame(), getDebugLoc(), getDebugLocDWO(), getDebugMacro(), getDebugNames(), getEHFrame(), getLineTableForUnit(), getTUIndex(), llvm::DWARFVerifier::handleDebugLine(), and isVariableIndexable().
Definition at line 331 of file DWARFContext.h.
Referenced by llvm::DWARFUnitHeader::extract().
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.
|
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().
|
delete |
|
inline |
Definition at line 246 of file DWARFContext.h.
References function, getDebugLoc(), and llvm::IndexedInstrProf::Version.
Referenced by llvm::DWARFUnitHeader::extract().
|
inline |
Get type units in this context.
Definition at line 156 of file DWARFContext.h.
Referenced by dump().
|
inline |
Get units from .debug_types in this context.
Definition at line 146 of file DWARFContext.h.
References llvm::SmallVectorTemplateCommon< T, typename >::begin(), llvm::SmallVectorTemplateCommon< T, typename >::end(), and llvm::DWARFUnitVector::getNumInfoUnits().
Referenced by dump().
|
overridevirtual |
Reimplemented from llvm::DIContext.
Definition at line 650 of file DWARFContext.cpp.
References llvm::DIDumpOptions::DumpType, llvm::DWARFVerifier::handleAccelTables(), llvm::DWARFVerifier::handleDebugAbbrev(), llvm::DWARFVerifier::handleDebugInfo(), llvm::DWARFVerifier::handleDebugLine(), and Success.