LLVM: lib/DebugInfo/GSYM/InlineInfo.cpp File Reference (original) (raw)

Go to the source code of this file.

Functions
static bool getInlineStackHelper (const InlineInfo &II, uint64_t Addr, std::vector< const InlineInfo * > &InlineStack)
static bool skip (DataExtractor &Data, uint64_t &Offset, bool SkippedRanges)
Skip an InlineInfo object in the specified data at the specified offset.
static bool lookup (const GsymReader &GR, DataExtractor &Data, uint64_t &Offset, uint64_t BaseAddr, uint64_t Addr, SourceLocations &SrcLocs, llvm::Error &Err)
A Lookup helper functions.
static llvm::Expected< InlineInfo > decode (DataExtractor &Data, uint64_t &Offset, uint64_t BaseAddr)
Decode an InlineInfo in Data at the specified offset.
static uint64_t GetTotalNumChildren (const InlineInfo &II)

decode()

getInlineStackHelper()

GetTotalNumChildren()

lookup()

A Lookup helper functions.

Used during the InlineInfo::lookup() call to quickly only parse an InlineInfo object if the address falls within this object. This avoids allocations by not appending child InlineInfo objects to the InlineInfo::Children array and also skips any InlineInfo objects that do not contain the address we are looking up.

Parameters

Data The binary stream to read the data from.
Offset The byte offset within Data.
BaseAddr The address that the relative address range offsets are relative to.

Definition at line 108 of file InlineInfo.cpp.

References llvm::gsym::SourceLocation::Base, llvm::createStringError(), llvm::Data, llvm::gsym::decodeRanges(), llvm::gsym::SourceLocation::Dir, llvm::Done, llvm::gsym::GsymReader::getFile(), llvm::gsym::GsymReader::getString(), llvm::gsym::SourceLocation::Line, lookup(), llvm::gsym::SourceLocation::Name, llvm::gsym::SourceLocation::Offset, llvm::Offset, and skip().

Referenced by llvm::DwarfCompileUnit::attachLexicalScopesAbstractOrigins(), llvm::DwarfCompileUnit::constructImportedEntityDIE(), llvm::DwarfCompileUnit::finishSubprogramDefinition(), llvm::DWARFDebugNames::Entry::getCUIndex(), llvm::AppleAcceleratorTable::Entry::getCUOffset(), llvm::AppleAcceleratorTable::Entry::getDIESectionOffset(), llvm::DWARFDebugNames::Entry::getDIEUnitOffset(), llvm::NVPTXRegisterInfo::getDwarfRegNumForVirtReg(), llvm::X86InstrInfo::getExecutionDomain(), llvm::DwarfCompileUnit::getOrCreateAbstractSubprogramDIE(), llvm::DWARFDebugNames::Entry::getParentDIEEntry(), llvm::DWARFDebugNames::Entry::getRelatedCUIndex(), llvm::AppleAcceleratorTable::Entry::getTag(), llvm::DWARFDebugNames::Entry::getTUIndex(), llvm::DWARFDebugNames::Entry::hasParentInformation(), llvm::isAtLeastOrStrongerThan(), llvm::isStrongerThan(), llvm::orc::LLJIT::lookup(), lookup(), llvm::X86InstrInfo::setExecutionDomain(), llvm::X86InstrInfo::setExecutionDomainCustom(), and llvm::toCABI().

skip()