LLVM 22.0.0git
|
The logical reader owns of all the logical elements created during the debug information parsing. More...
#include "llvm/DebugInfo/LogicalView/Core/LVReader.h"
Static Public Member Functions | |
static LVReader & | getInstance () |
static void | setInstance (LVReader *Reader) |
Protected Member Functions | |
void | addSectionRange (LVSectionIndex SectionIndex, LVScope *Scope) |
void | addSectionRange (LVSectionIndex SectionIndex, LVScope *Scope, LVAddress LowerAddress, LVAddress UpperAddress) |
LVRange * | getSectionRanges (LVSectionIndex SectionIndex) |
void | addCompileUnitOffset (LVOffset Offset, LVScopeCompileUnit *CompileUnit) |
LVElement * | createElement (dwarf::Tag Tag) |
virtual Error | createScopes () |
std::string | createAlternativePath (StringRef From) |
virtual Error | printScopes () |
virtual Error | printMatchedElements (bool UseMatchedElements) |
virtual void | sortScopes () |
Protected Attributes | |
LVElement * | CurrentElement = nullptr |
LVScope * | CurrentScope = nullptr |
LVSymbol * | CurrentSymbol = nullptr |
LVType * | CurrentType = nullptr |
LVLine * | CurrentLine = nullptr |
LVOffset | CurrentOffset = 0 |
std::vector< LVAddressRange > | CurrentRanges |
LVScopeRoot * | Root = nullptr |
std::string | InputFilename |
std::string | FileFormatName |
ScopedPrinter & | W |
raw_ostream & | OS |
LVScopeCompileUnit * | CompileUnit = nullptr |
LVSectionIndex | DotTextSectionIndex = UndefinedSectionIndex |
The logical reader owns of all the logical elements created during the debug information parsing.
For its creation it uses a specific bump allocator for each type of logical element.
Definition at line 61 of file LVReader.h.
|
delete |
Referenced by getInstance(), llvm::logicalview::LVBinaryReader::LVBinaryReader(), LVReader(), operator=(), and setInstance().
|
inline |
Definition at line 198 of file LVReader.h.
References FileFormatName, InputFilename, llvm::logicalview::NONE, llvm::logicalview::options(), OS, and W.
References LVReader().
|
virtualdefault |
|
inlineprotected |
Definition at line 160 of file LVReader.h.
References CompileUnit, and llvm::logicalview::Offset.
|
protected |
Definition at line 197 of file LVReader.cpp.
References llvm::logicalview::LVRange::addEntry(), and getSectionRanges().
Referenced by llvm::logicalview::LVDWARFReader::createScopes().
|
protected |
Definition at line 202 of file LVReader.cpp.
References llvm::logicalview::LVRange::addEntry(), and getSectionRanges().
|
inlineprotected |
Definition at line 181 of file LVReader.h.
References llvm::sys::path::append(), llvm::sys::path::convert_to_slash(), llvm::sys::path::filename(), InputFilename, llvm::sys::path::parent_path(), llvm::sys::path::posix, and llvm::sys::path::windows.
Referenced by llvm::logicalview::LVDWARFReader::createScopes().
|
protected |
Definition at line 219 of file LVReader.cpp.
References CompileUnit, CurrentOffset, CurrentRanges, CurrentScope, CurrentSymbol, CurrentType, llvm::dbgs(), LLVM_DEBUG, llvm::logicalview::options(), llvm::logicalview::Tag, and llvm::dwarf::TagString().
|
inline |
Definition at line 258 of file LVReader.h.
References Operands.
|
inlineprotectedvirtual |
Reimplemented in llvm::logicalview::LVCodeViewReader, and llvm::logicalview::LVDWARFReader.
Definition at line 167 of file LVReader.h.
References FileFormatName, getFilename(), llvm::logicalview::options(), Root, and llvm::Error::success().
Referenced by llvm::logicalview::LVCodeViewReader::createScopes(), llvm::logicalview::LVDWARFReader::createScopes(), and doLoad().
Error LVReader::doLoad | ( | ) |
Definition at line 460 of file LVReader.cpp.
References llvm::logicalview::LVPatterns::addGenericPatterns(), llvm::logicalview::LVPatterns::addOffsetPatterns(), checkIntegrityScopesTree(), createScopes(), llvm::inconvertibleErrorCode(), llvm::make_error(), llvm::logicalview::options(), llvm::logicalview::patterns(), Root, Select, setInstance(), sortScopes(), llvm::Error::success(), and llvm::logicalview::LVPatterns::updateReportOptions().
Error LVReader::doPrint | ( | ) |
Definition at line 501 of file LVReader.cpp.
References llvm::logicalview::options(), printMatchedElements(), printScopes(), setInstance(), and llvm::Error::success().
Referenced by llvm::logicalview::LVCompare::execute().
Definition at line 333 of file LVReader.h.
References llvm::logicalview::patterns().
|
inline |
Definition at line 336 of file LVReader.h.
References llvm::logicalview::Location, and llvm::logicalview::patterns().
Definition at line 339 of file LVReader.h.
References llvm::logicalview::patterns().
Definition at line 342 of file LVReader.h.
References llvm::logicalview::patterns().
Definition at line 345 of file LVReader.h.
References llvm::logicalview::patterns().
|
inline |
Definition at line 356 of file LVReader.h.
References llvm::dbgs(), and print().
|
inline |
Definition at line 273 of file LVReader.h.
References CompileUnit.
Referenced by llvm::logicalview::getReaderCompileUnit().
|
inline |
Definition at line 281 of file LVReader.h.
References CompileUnit.
Referenced by llvm::logicalview::LVCodeViewReader::getRegisterName().
|
inline |
Definition at line 297 of file LVReader.h.
References DotTextSectionIndex.
Referenced by llvm::logicalview::LVSymbolTable::getIndex(), getSectionIndex(), and llvm::logicalview::LVSymbolTable::update().
|
inline |
Definition at line 265 of file LVReader.h.
References FileFormatName.
|
inline |
Definition at line 263 of file LVReader.h.
References InputFilename.
Referenced by llvm::logicalview::LVDWARFReader::createScopes().
Definition at line 182 of file LVReader.cpp.
References CompileUnit.
Referenced by llvm::logicalview::LVElement::setFile().
|
static |
Definition at line 152 of file LVReader.cpp.
References CurrentReader, llvm_unreachable, LVReader(), and llvm::outs().
Referenced by llvm::logicalview::getReader().
Definition at line 327 of file LVReader.h.
|
inlinevirtual |
Reimplemented in llvm::logicalview::LVCodeViewReader, and llvm::logicalview::LVDWARFReader.
Definition at line 291 of file LVReader.h.
References llvm_unreachable, and Operands.
Referenced by llvm::logicalview::LVOperation::getOperandsCodeViewInfo(), and llvm::logicalview::LVOperation::getOperandsDWARFInfo().
Definition at line 328 of file LVReader.h.
|
inline |
Definition at line 286 of file LVReader.h.
References Root.
Referenced by llvm::logicalview::LVCompare::execute().
|
inlinevirtual |
Reimplemented in llvm::logicalview::LVBinaryReader.
Definition at line 298 of file LVReader.h.
References getDotTextSectionIndex().
Referenced by llvm::logicalview::LVElement::printLinkageName().
|
protected |
Definition at line 208 of file LVReader.cpp.
References assert(), and llvm::logicalview::Range.
Referenced by addSectionRange(), addSectionRange(), llvm::logicalview::LVDWARFReader::createScopes(), and llvm::logicalview::LVBinaryReader::processLines().
|
inline |
Definition at line 307 of file LVReader.h.
Referenced by llvm::logicalview::getReaderSplitContext().
Definition at line 329 of file LVReader.h.
Definition at line 330 of file LVReader.h.
|
inline |
Definition at line 271 of file LVReader.h.
References llvm::logicalview::COFF.
|
inline |
Definition at line 270 of file LVReader.h.
References llvm::logicalview::ELF.
|
inline |
Definition at line 269 of file LVReader.h.
References llvm::logicalview::NONE.
|
inlinevirtual |
Reimplemented in llvm::logicalview::LVCodeViewReader.
Definition at line 302 of file LVReader.h.
References llvm::logicalview::Name.
Referenced by llvm::logicalview::LVScopeFunction::setName(), llvm::logicalview::LVSymbolVisitor::visitKnownRecord(), and llvm::logicalview::LVSymbolVisitor::visitKnownRecord().
|
inline |
Definition at line 310 of file LVReader.h.
References llvm::logicalview::options().
Referenced by llvm::logicalview::LVScopeCompileUnit::addedElement(), llvm::logicalview::LVScopeCompileUnit::addedElement(), llvm::logicalview::LVScopeCompileUnit::addedElement(), and llvm::logicalview::LVScopeCompileUnit::addedElement().
|
inline |
Definition at line 314 of file LVReader.h.
References llvm::logicalview::options().
|
inline |
Definition at line 318 of file LVReader.h.
References llvm::logicalview::options().
|
inline |
Definition at line 322 of file LVReader.h.
References llvm::logicalview::options().
References LVReader().
|
inline |
Definition at line 267 of file LVReader.h.
References OS.
Referenced by llvm::logicalview::LVScope::doPrint(), and llvm::logicalview::LVScopeRoot::doPrintMatches().
void LVReader::print | ( | raw_ostream & | OS | ) | const |
Definition at line 549 of file LVReader.cpp.
References llvm::dbgs(), LLVM_DEBUG, and OS.
|
inlinevirtual |
Reimplemented in llvm::logicalview::LVCodeViewReader.
Definition at line 353 of file LVReader.h.
References OS.
Referenced by llvm::logicalview::LVScope::doPrint().
|
protectedvirtual |
Definition at line 526 of file LVReader.cpp.
References llvm::logicalview::options(), OS, Root, and llvm::Error::success().
Referenced by doPrint().
|
inline |
Definition at line 274 of file LVReader.h.
References assert(), and CompileUnit.
Referenced by llvm::logicalview::LVScope::doPrint(), llvm::logicalview::LVScopeRoot::doPrintMatches(), llvm::logicalview::LVCompare::execute(), llvm::logicalview::LVScopeCompileUnit::printSizes(), llvm::logicalview::LVScopeRoot::processRangeInformation(), and llvm::logicalview::LVScope::resolveElements().
|
inline |
Definition at line 278 of file LVReader.h.
References CompileUnit.
|
inline |
Definition at line 264 of file LVReader.h.
References InputFilename, and llvm::logicalview::Name.
|
static |
Definition at line 158 of file LVReader.cpp.
References CurrentReader, and LVReader().
Referenced by doLoad(), doPrint(), and llvm::logicalview::LVCompare::execute().
|
inlineprotectedvirtual |
Reimplemented in llvm::logicalview::LVCodeViewReader, and llvm::logicalview::LVDWARFReader.
Definition at line 194 of file LVReader.h.
Referenced by doLoad().
|
protected |
Definition at line 149 of file LVReader.h.
Referenced by addCompileUnitOffset(), createElement(), llvm::logicalview::LVBinaryReader::createInstructions(), llvm::logicalview::LVBinaryReader::createInstructions(), llvm::logicalview::LVDWARFReader::createScopes(), getCompileUnit(), getCompileUnitCPUType(), getFilename(), llvm::logicalview::LVBinaryReader::processLines(), llvm::logicalview::LVBinaryReader::processLines(), setCompileUnit(), and setCompileUnitCPUType().
|
protected |
Definition at line 134 of file LVReader.h.
|
protected |
Definition at line 138 of file LVReader.h.
|
protected |
Definition at line 139 of file LVReader.h.
Referenced by createElement().
|
protected |
Definition at line 142 of file LVReader.h.
Referenced by createElement().
|
protected |
Definition at line 135 of file LVReader.h.
Referenced by createElement().
|
protected |
Definition at line 136 of file LVReader.h.
Referenced by createElement().
|
protected |
Definition at line 137 of file LVReader.h.
Referenced by createElement().
|
protected |
Definition at line 152 of file LVReader.h.
Referenced by getDotTextSectionIndex(), llvm::logicalview::LVBinaryReader::getSectionIndex(), and llvm::logicalview::LVBinaryReader::mapVirtualAddress().
|
protected |
Definition at line 146 of file LVReader.h.
Referenced by llvm::logicalview::LVCodeViewReader::createScopes(), llvm::logicalview::LVDWARFReader::createScopes(), createScopes(), getFileFormatName(), llvm::logicalview::LVBinaryReader::LVBinaryReader(), llvm::logicalview::LVCodeViewReader::LVCodeViewReader(), llvm::logicalview::LVCodeViewReader::LVCodeViewReader(), llvm::logicalview::LVDWARFReader::LVDWARFReader(), and LVReader().
|
protected |
Definition at line 145 of file LVReader.h.
Referenced by createAlternativePath(), getFilename(), LVReader(), and setFilename().
|
protected |
Definition at line 148 of file LVReader.h.
Referenced by LVReader(), outputStream(), llvm::logicalview::LVBinaryReader::print(), llvm::logicalview::LVCodeViewReader::print(), llvm::logicalview::LVDWARFReader::print(), print(), printMatchedElements(), llvm::logicalview::LVCodeViewReader::printRecords(), printRecords(), and printScopes().
|
protected |
Definition at line 144 of file LVReader.h.
Referenced by llvm::logicalview::LVCodeViewReader::createScopes(), llvm::logicalview::LVDWARFReader::createScopes(), createScopes(), doLoad(), getScopesRoot(), printMatchedElements(), printScopes(), llvm::logicalview::LVCodeViewReader::sortScopes(), and llvm::logicalview::LVDWARFReader::sortScopes().
|
protected |
Definition at line 147 of file LVReader.h.
Referenced by llvm::logicalview::LVCodeViewReader::createScopes(), llvm::logicalview::LVDWARFReader::createScopes(), llvm::logicalview::LVBinaryReader::LVBinaryReader(), llvm::logicalview::LVCodeViewReader::LVCodeViewReader(), llvm::logicalview::LVCodeViewReader::LVCodeViewReader(), llvm::logicalview::LVDWARFReader::LVDWARFReader(), and LVReader().