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 |
|
inline |
Definition at line 198 of file LVReader.h.
References llvm::logicalview::options().
|
virtualdefault |
|
inlineprotected |
Definition at line 160 of file LVReader.h.
References 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 From, and InputFilename.
Referenced by llvm::logicalview::LVDWARFReader::createScopes().
|
protected |
Definition at line 219 of file LVReader.cpp.
References CurrentOffset, CurrentRanges, CurrentScope, CurrentSymbol, CurrentType, llvm::dbgs(), LLVM_DEBUG, llvm::logicalview::options(), llvm::logicalview::LVElement::setName(), 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 getFilename(), llvm::logicalview::options(), llvm::logicalview::LVScopeRoot::setFileFormatName(), and llvm::logicalview::LVElement::setName().
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::logicalview::options(), llvm::logicalview::patterns(), llvm::logicalview::LVScopeRoot::processRangeInformation(), llvm::logicalview::LVScope::resolveElements(), 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(), and llvm::logicalview::LVPatterns::printElement().
|
inline |
Definition at line 336 of file LVReader.h.
References llvm::logicalview::Location, llvm::logicalview::patterns(), and llvm::logicalview::LVPatterns::printObject().
Definition at line 339 of file LVReader.h.
References llvm::logicalview::patterns(), and llvm::logicalview::LVPatterns::printElement().
Referenced by llvm::logicalview::LVScopeCompileUnit::print().
Definition at line 342 of file LVReader.h.
References llvm::logicalview::patterns(), and llvm::logicalview::LVPatterns::printElement().
Definition at line 345 of file LVReader.h.
References llvm::logicalview::patterns(), and llvm::logicalview::LVPatterns::printElement().
|
inline |
Definition at line 356 of file LVReader.h.
References llvm::dbgs(), and print().
|
inline |
Definition at line 273 of file LVReader.h.
Referenced by llvm::logicalview::getReaderCompileUnit(), llvm::logicalview::LVSymbolVisitor::visitKnownRecord(), and llvm::logicalview::LVLogicalVisitor::visitKnownRecord().
|
inline |
Definition at line 281 of file LVReader.h.
Referenced by llvm::logicalview::LVCodeViewReader::getRegisterName(), and llvm::logicalview::LVSymbolVisitor::visitKnownRecord().
|
inline |
Definition at line 297 of file LVReader.h.
Referenced by llvm::logicalview::LVSymbolTable::getIndex(), and llvm::logicalview::LVSymbolTable::update().
|
inline |
Definition at line 265 of file LVReader.h.
|
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.
Referenced by llvm::logicalview::LVElement::setFile().
|
static |
Definition at line 152 of file LVReader.cpp.
References CurrentReader, llvm_unreachable, and llvm::outs().
Referenced by llvm::logicalview::getReader().
Definition at line 327 of file LVReader.h.
References llvm::codeview::Lines.
|
inlinevirtual |
Reimplemented in llvm::logicalview::LVCodeViewReader, and llvm::logicalview::LVDWARFReader.
Definition at line 291 of file LVReader.h.
References llvm_unreachable.
Referenced by llvm::logicalview::LVOperation::getOperandsCodeViewInfo(), and llvm::logicalview::LVOperation::getOperandsDWARFInfo().
Definition at line 328 of file LVReader.h.
References llvm::logicalview::Scopes.
|
inline |
Definition at line 286 of file LVReader.h.
Referenced by llvm::logicalview::LVCompare::execute().
|
inlinevirtual |
Reimplemented in llvm::logicalview::LVBinaryReader.
Definition at line 298 of file LVReader.h.
Referenced by llvm::logicalview::LVElement::printLinkageName().
|
protected |
Definition at line 208 of file LVReader.cpp.
References assert(), and llvm::logicalview::Range.
Referenced by 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.
References llvm::logicalview::Types.
|
inline |
Definition at line 271 of file LVReader.h.
|
inline |
Definition at line 270 of file LVReader.h.
|
inline |
Definition at line 269 of file LVReader.h.
|
inlinevirtual |
Reimplemented in llvm::logicalview::LVCodeViewReader.
Definition at line 302 of file LVReader.h.
Referenced by llvm::logicalview::LVScopeFunction::setName(), and llvm::logicalview::LVSymbolVisitor::visitKnownRecord().
|
inline |
Definition at line 310 of file LVReader.h.
References llvm::codeview::Lines, and llvm::logicalview::options().
Referenced by llvm::logicalview::LVScopeCompileUnit::addedElement().
|
inline |
Definition at line 314 of file LVReader.h.
References llvm::logicalview::options(), and llvm::logicalview::Scopes.
|
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(), and llvm::logicalview::Types.
|
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.
Definition at line 542 of file LVReader.cpp.
References llvm::logicalview::LVScopeRoot::doPrintMatches(), OS, and Root.
Referenced by doPrint().
|
inlinevirtual |
Reimplemented in llvm::logicalview::LVCodeViewReader.
Definition at line 353 of file LVReader.h.
Referenced by llvm::logicalview::LVScope::doPrint().
|
protectedvirtual |
Definition at line 526 of file LVReader.cpp.
References llvm::logicalview::LVScope::doPrint(), llvm::logicalview::options(), OS, Root, and llvm::Error::success().
Referenced by doPrint().
|
inline |
Definition at line 274 of file LVReader.h.
References assert().
Referenced by llvm::logicalview::LVLogicalVisitor::createElement(), 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.
Referenced by llvm::logicalview::LVSymbolVisitor::visitKnownRecord().
|
inline |
Definition at line 264 of file LVReader.h.
References InputFilename, and Name.
|
static |
Definition at line 158 of file LVReader.cpp.
References CurrentReader.
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 llvm::logicalview::LVBinaryReader::processLines().
|
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 llvm::logicalview::LVBinaryReader::getSectionIndex(), and llvm::logicalview::LVBinaryReader::mapVirtualAddress().
|
protected |
Definition at line 146 of file LVReader.h.
Referenced by llvm::logicalview::LVCodeViewReader::createScopes(), and llvm::logicalview::LVDWARFReader::createScopes().
|
protected |
Definition at line 145 of file LVReader.h.
|
protected |
Definition at line 148 of file LVReader.h.
Referenced by print(), llvm::logicalview::LVBinaryReader::print(), llvm::logicalview::LVDWARFReader::print(), printMatchedElements(), llvm::logicalview::LVCodeViewReader::printRecords(), and printScopes().
|
protected |
Definition at line 144 of file LVReader.h.
Referenced by llvm::logicalview::LVCodeViewReader::createScopes(), llvm::logicalview::LVDWARFReader::createScopes(), doLoad(), 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(), and llvm::logicalview::LVDWARFReader::createScopes().