LLVM 22.0.0git
llvm::logicalview::LVCodeViewReader Class Referencefinal

#include "llvm/DebugInfo/LogicalView/Readers/LVCodeViewReader.h"

Inheritance diagram for llvm::logicalview::LVCodeViewReader:
[legend]

Public Member Functions

 LVCodeViewReader ()=delete
 LVCodeViewReader (StringRef Filename, StringRef FileFormatName, llvm::object::COFFObjectFile &Obj, ScopedPrinter &W, StringRef ExePath)
 LVCodeViewReader (StringRef Filename, StringRef FileFormatName, llvm::pdb::PDBFile &Pdb, ScopedPrinter &W, StringRef ExePath)
 LVCodeViewReader (const LVCodeViewReader &)=delete
LVCodeViewReaderoperator= (const LVCodeViewReader &)=delete
 ~LVCodeViewReader ()=default
void getLinkageName (const llvm::object::coff_section *CoffSection, uint32_t RelocOffset, uint32_t Offset, StringRef *RelocSym)
void addModule (LVScope *Scope)
LVScopegetScopeForModule (uint32_t Modi)
std::string getRegisterName (LVSmall Opcode, ArrayRef< uint64_t > Operands) override
bool isSystemEntry (LVElement *Element, StringRef Name) const override
void print (raw_ostream &OS) const
void printRecords (raw_ostream &OS) const override
void dump () const
Public Member Functions inherited from llvm::logicalview::LVBinaryReader
 LVBinaryReader ()=delete
 LVBinaryReader (StringRef Filename, StringRef FileFormatName, ScopedPrinter &W, LVBinaryType BinaryType)
 LVBinaryReader (const LVBinaryReader &)=delete
LVBinaryReaderoperator= (const LVBinaryReader &)=delete
virtual ~LVBinaryReader ()=default
void addInlineeLines (LVScope *Scope, LVLines &Lines)
LVAddress linearAddress (uint16_t Segment, uint32_t Offset, LVAddress Addendum=0)
void addToSymbolTable (StringRef Name, LVScope *Function, LVSectionIndex SectionIndex=0)
void addToSymbolTable (StringRef Name, LVAddress Address, LVSectionIndex SectionIndex, bool IsComdat)
LVSectionIndex updateSymbolTable (LVScope *Function)
const LVSymbolTableEntrygetSymbolTableEntry (StringRef Name)
LVAddress getSymbolTableAddress (StringRef Name)
LVSectionIndex getSymbolTableIndex (StringRef Name)
bool getSymbolTableIsComdat (StringRef Name)
LVSectionIndex getSectionIndex (LVScope *Scope) override
void print (raw_ostream &OS) const
void dump () const
Public Member Functions inherited from llvm::logicalview::LVReader
 LVReader ()=delete
 LVReader (StringRef InputFilename, StringRef FileFormatName, ScopedPrinter &W, LVBinaryType BinaryType=LVBinaryType::NONE)
 LVReader (const LVReader &)=delete
LVReaderoperator= (const LVReader &)=delete
virtual ~LVReader ()=default
LVOperationcreateOperation (LVSmall OpCode, ArrayRef< LVUnsigned > Operands)
StringRef getFilename (LVObject *Object, size_t Index) const
StringRef getFilename () const
void setFilename (std::string Name)
StringRef getFileFormatName () const
raw_ostreamoutputStream ()
bool isBinaryTypeNone () const
bool isBinaryTypeELF () const
bool isBinaryTypeCOFF () const
LVScopeCompileUnitgetCompileUnit () const
void setCompileUnit (LVScope *Scope)
void setCompileUnitCPUType (codeview::CPUType Type)
codeview::CPUType getCompileUnitCPUType ()
LVScopeRootgetScopesRoot () const
Error doPrint ()
Error doLoad ()
LVSectionIndex getDotTextSectionIndex () const
LVSplitContextgetSplitContext ()
void notifyAddedElement (LVLine *Line)
void notifyAddedElement (LVScope *Scope)
void notifyAddedElement (LVSymbol *Symbol)
void notifyAddedElement (LVType *Type)
const LVLinesgetLines () const
const LVScopesgetScopes () const
const LVSymbolsgetSymbols () const
const LVTypesgetTypes () const
bool doPrintLine (const LVLine *Line) const
bool doPrintLocation (const LVLocation *Location) const
bool doPrintScope (const LVScope *Scope) const
bool doPrintSymbol (const LVSymbol *Symbol) const
bool doPrintType (const LVType *Type) const
void print (raw_ostream &OS) const
void dump () const

Static Public Member Functions

static StringRef getSymbolKindName (SymbolKind Kind)
static std::string formatRegisterId (RegisterId Register, CPUType CPU)
Static Public Member Functions inherited from llvm::logicalview::LVReader
static LVReadergetInstance ()
static void setInstance (LVReader *Reader)

Protected Member Functions

Error createScopes () override
void sortScopes () override
Protected Member Functions inherited from llvm::logicalview::LVBinaryReader
Error loadGenericTargetInfo (StringRef TheTriple, StringRef TheFeatures, StringRef TheCPU)
virtual void mapRangeAddress (const object::ObjectFile &Obj)
void mapVirtualAddress (const object::ObjectFile &Obj)
void mapVirtualAddress (const object::COFFObjectFile &COFFObj)
Expected< std::pair< LVSectionIndex, object::SectionRef > > getSection (LVScope *Scope, LVAddress Address, LVSectionIndex SectionIndex)
void includeInlineeLines (LVSectionIndex SectionIndex, LVScope *Function)
Error createInstructions ()
Error createInstructions (LVScope *Function, LVSectionIndex SectionIndex)
Error createInstructions (LVScope *Function, LVSectionIndex SectionIndex, const LVNameInfo &NameInfo)
void processLines (LVLines *DebugLines, LVSectionIndex SectionIndex)
void processLines (LVLines *DebugLines, LVSectionIndex SectionIndex, LVScope *Function)
Protected Member Functions inherited from llvm::logicalview::LVReader
void addSectionRange (LVSectionIndex SectionIndex, LVScope *Scope)
void addSectionRange (LVSectionIndex SectionIndex, LVScope *Scope, LVAddress LowerAddress, LVAddress UpperAddress)
LVRangegetSectionRanges (LVSectionIndex SectionIndex)
void addCompileUnitOffset (LVOffset Offset, LVScopeCompileUnit *CompileUnit)
LVElementcreateElement (dwarf::Tag Tag)
std::string createAlternativePath (StringRef From)
virtual Error printScopes ()
virtual Error printMatchedElements (bool UseMatchedElements)

Friends

class LVTypeVisitor
class LVSymbolVisitor
class LVSymbolVisitorDelegate

Additional Inherited Members

Protected Attributes inherited from llvm::logicalview::LVBinaryReader
LVLines CULines
std::unique_ptr< const MCRegisterInfoMRI
std::unique_ptr< const MCAsmInfoMAI
std::unique_ptr< const MCSubtargetInfoSTI
std::unique_ptr< const MCInstrInfoMII
std::unique_ptr< const MCDisassemblerMD
std::unique_ptr< MCContextMC
std::unique_ptr< MCInstPrinterMIP
LVAddress WasmCodeSectionOffset = 0
Protected Attributes inherited from llvm::logicalview::LVReader
LVElementCurrentElement = nullptr
LVScopeCurrentScope = nullptr
LVSymbolCurrentSymbol = nullptr
LVTypeCurrentType = nullptr
LVLineCurrentLine = nullptr
LVOffset CurrentOffset = 0
std::vector< LVAddressRangeCurrentRanges
LVScopeRootRoot = nullptr
std::string InputFilename
std::string FileFormatName
ScopedPrinterW
raw_ostreamOS
LVScopeCompileUnitCompileUnit = nullptr
LVSectionIndex DotTextSectionIndex = UndefinedSectionIndex

Detailed Description

Definition at line 67 of file LVCodeViewReader.h.

Constructor & Destructor Documentation

◆ LVCodeViewReader() [1/4]

llvm::logicalview::LVCodeViewReader::LVCodeViewReader ( )
delete

Referenced by LVCodeViewReader(), and operator=().

◆ LVCodeViewReader() [2/4]

◆ LVCodeViewReader() [3/4]

◆ LVCodeViewReader() [4/4]

llvm::logicalview::LVCodeViewReader::LVCodeViewReader ( const LVCodeViewReader & )
delete

References LVCodeViewReader().

◆ ~LVCodeViewReader()

llvm::logicalview::LVCodeViewReader::~LVCodeViewReader ( )
default

Member Function Documentation

◆ addModule()

void llvm::logicalview::LVCodeViewReader::addModule ( LVScope * Scope)
inline

Definition at line 209 of file LVCodeViewReader.h.

◆ createScopes()

◆ dump()

void llvm::logicalview::LVCodeViewReader::dump ( ) const
inline

Definition at line 229 of file LVCodeViewReader.h.

References llvm::dbgs(), and print().

◆ formatRegisterId()

std::string LVCodeViewReader::formatRegisterId ( RegisterId Register,
CPUType CPU )
static

◆ getLinkageName()

void LVCodeViewReader::getLinkageName ( const llvm::object::coff_section * CoffSection,
uint32_t RelocOffset,
uint32_t Offset,
StringRef * RelocSym )

Definition at line 113 of file LVCodeViewReader.cpp.

References llvm::logicalview::Offset.

◆ getRegisterName()

std::string LVCodeViewReader::getRegisterName ( LVSmall Opcode,
ArrayRef< uint64_t > Operands )
overridevirtual

◆ getScopeForModule()

LVScope * llvm::logicalview::LVCodeViewReader::getScopeForModule ( uint32_t Modi)
inline

Definition at line 210 of file LVCodeViewReader.h.

◆ getSymbolKindName()

StringRef LVCodeViewReader::getSymbolKindName ( SymbolKind Kind)
static

◆ isSystemEntry()

bool LVCodeViewReader::isSystemEntry ( LVElement * Element,
StringRef Name ) const
overridevirtual

◆ operator=()

LVCodeViewReader & llvm::logicalview::LVCodeViewReader::operator= ( const LVCodeViewReader & )
delete

References LVCodeViewReader().

◆ print()

void LVCodeViewReader::print ( raw_ostream & OS) const

Definition at line 795 of file LVCodeViewReader.cpp.

References llvm::dbgs(), LLVM_DEBUG, and llvm::logicalview::LVReader::OS.

Referenced by dump().

◆ printRecords()

void llvm::logicalview::LVCodeViewReader::printRecords ( raw_ostream & OS) const
inlineoverridevirtual

Reimplemented from llvm::logicalview::LVReader.

Definition at line 224 of file LVCodeViewReader.h.

References llvm::logicalview::LVReader::OS.

◆ sortScopes()

void LVCodeViewReader::sortScopes ( )
overrideprotectedvirtual

Reimplemented from llvm::logicalview::LVReader.

Definition at line 793 of file LVCodeViewReader.cpp.

References llvm::logicalview::LVReader::Root.

◆ LVSymbolVisitor

friend class LVSymbolVisitor
friend

Definition at line 69 of file LVCodeViewReader.h.

References LVSymbolVisitor.

Referenced by LVSymbolVisitor.

◆ LVSymbolVisitorDelegate

friend class LVSymbolVisitorDelegate
friend

Definition at line 70 of file LVCodeViewReader.h.

References LVSymbolVisitorDelegate, and llvm::codeview::Pdb.

Referenced by LVSymbolVisitorDelegate.

◆ LVTypeVisitor

friend class LVTypeVisitor
friend

Definition at line 68 of file LVCodeViewReader.h.

References LVTypeVisitor.

Referenced by LVTypeVisitor.


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