LLVM 24.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
LVCodeViewReader & operator= (const LVCodeViewReader &)=delete
 ~LVCodeViewReader () override=default
void getLinkageName (const llvm::object::coff_section *CoffSection, uint32_t RelocOffset, uint32_t Offset, StringRef *RelocSym)
void addModule (LVScope *Scope)
LVScope * getScopeForModule (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
LVBinaryReader & operator= (const LVBinaryReader &)=delete
 ~LVBinaryReader () override=default
void addInlineeLines (LVScope *Scope, LVLines &Lines)
LVAddress linearAddress (uint16_t Segment, uint32_t Offset, LVAddress Addendum=0)
LLVM_ABI void addToSymbolTable (StringRef Name, LVScope *Function, LVSectionIndex SectionIndex=0)
LLVM_ABI void addToSymbolTable (StringRef Name, LVAddress Address, LVSectionIndex SectionIndex, bool IsComdat)
LLVM_ABI LVSectionIndex updateSymbolTable (LVScope *Function)
LLVM_ABI const LVSymbolTableEntry & getSymbolTableEntry (StringRef Name)
LLVM_ABI LVAddress getSymbolTableAddress (StringRef Name)
LLVM_ABI LVSectionIndex getSymbolTableIndex (StringRef Name)
LLVM_ABI bool getSymbolTableIsComdat (StringRef Name)
LVSectionIndex getSectionIndex (LVScope *Scope) override
LLVM_ABI 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
LVReader & operator= (const LVReader &)=delete
virtual ~LVReader ()=default
LVOperation * createOperation (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_ostream & outputStream ()
bool isBinaryTypeNone () const
bool isBinaryTypeELF () const
bool isBinaryTypeCOFF () const
LVScopeCompileUnit * getCompileUnit () const
void setCompileUnit (LVScope *Scope)
void setCompileUnitCPUType (codeview::CPUType Type)
codeview::CPUType getCompileUnitCPUType ()
LVScopeRoot * getScopesRoot () const
Error doPrint ()
Error doLoad ()
LVSectionIndex getDotTextSectionIndex () const
LVSplitContext & getSplitContext ()
void notifyAddedElement (LVLine *Line)
void notifyAddedElement (LVScope *Scope)
void notifyAddedElement (LVSymbol *Symbol)
void notifyAddedElement (LVType *Type)
const LVLines & getLines () const
const LVScopes & getScopes () const
const LVSymbols & getSymbols () const
const LVTypes & getTypes () 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 LVReader & getInstance ()
static void setInstance (LVReader *Reader)

Protected Member Functions

Error createScopes () override
void sortScopes () override
Protected Member Functions inherited from llvm::logicalview::LVBinaryReader
LLVM_ABI Error loadGenericTargetInfo (StringRef TheTriple, StringRef TheFeatures, StringRef TheCPU)
virtual void mapRangeAddress (const object::ObjectFile &Obj)
LLVM_ABI void mapVirtualAddress (const object::ObjectFile &Obj)
LLVM_ABI void mapVirtualAddress (const object::COFFObjectFile &COFFObj)
LLVM_ABI Expected< std::pair< LVSectionIndex, object::SectionRef > > getSection (LVScope *Scope, LVAddress Address, LVSectionIndex SectionIndex)
LLVM_ABI void includeInlineeLines (LVSectionIndex SectionIndex, LVScope *Function)
LLVM_ABI Error createInstructions ()
LLVM_ABI Error createInstructions (LVScope *Function, LVSectionIndex SectionIndex)
LLVM_ABI Error createInstructions (LVScope *Function, LVSectionIndex SectionIndex, const LVNameInfo &NameInfo)
LLVM_ABI void processLines (LVLines *DebugLines, LVSectionIndex SectionIndex)
LLVM_ABI 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)
LVRange * getSectionRanges (LVSectionIndex SectionIndex)
void addCompileUnitOffset (LVOffset Offset, LVScopeCompileUnit *CompileUnit)
LVElement * createElement (dwarf::Tag Tag)
std::string createAlternativePath (StringRef From)
virtual Error printScopes ()
virtual Error printMatchedElements (bool UseMatchedElements)
void printCollectedElements (LVScope *Root)
bool checkIntegrityScopesTree (LVScope *Root)

Friends

class LVTypeVisitor
class LVSymbolVisitor
class LVSymbolVisitorDelegate

Additional Inherited Members

Protected Attributes inherited from llvm::logicalview::LVBinaryReader
LVLines CULines
std::unique_ptr< const MCRegisterInfo > MRI
MCTargetOptions MCOptions
std::unique_ptr< const MCAsmInfo > MAI
std::unique_ptr< const MCSubtargetInfo > STI
std::unique_ptr< const MCInstrInfo > MII
std::unique_ptr< const MCDisassembler > MD
std::unique_ptr< MCContext > MC
std::unique_ptr< MCInstPrinter > MIP
LVAddress WasmCodeSectionOffset = 0
Protected Attributes inherited from llvm::logicalview::LVReader
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

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 ( )
overridedefault

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.

◆ 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: