LLVM 19.0.0git
Public Member Functions | Static Public Member Functions | Protected Member Functions | Friends | List of all members
llvm::logicalview::LVCodeViewReader Class Referencefinal

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

Inheritance diagram for llvm::logicalview::LVCodeViewReader:
Inheritance graph
[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 ()
 
virtual std::string getRegisterName (LVSmall Opcode, ArrayRef< uint64_t > Operands)
 
LVSectionIndex getDotTextSectionIndex () const
 
virtual LVSectionIndex getSectionIndex (LVScope *Scope)
 
virtual bool isSystemEntry (LVElement *Element, StringRef Name={}) 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
 
virtual void printRecords (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)
 
virtual void mapRangeAddress (const object::ObjectFile &Obj)
 
virtual void mapRangeAddress (const object::ObjectFile &Obj, const object::SectionRef &Section, bool IsComdat)
 
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 addSectionRange (LVSectionIndex SectionIndex, LVScope *Scope)
 
void addSectionRange (LVSectionIndex SectionIndex, LVScope *Scope, LVAddress LowerAddress, LVAddress UpperAddress)
 
LVRangegetSectionRanges (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 addCompileUnitOffset (LVOffset Offset, LVScopeCompileUnit *CompileUnit)
 
virtual Error createScopes ()
 
std::string createAlternativePath (StringRef From)
 
virtual Error printScopes ()
 
virtual Error printMatchedElements (bool UseMatchedElements)
 
virtual void sortScopes ()
 

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

◆ LVCodeViewReader() [2/4]

llvm::logicalview::LVCodeViewReader::LVCodeViewReader ( StringRef  Filename,
StringRef  FileFormatName,
llvm::object::COFFObjectFile Obj,
ScopedPrinter W,
StringRef  ExePath 
)
inline

Definition at line 192 of file LVCodeViewReader.h.

◆ LVCodeViewReader() [3/4]

llvm::logicalview::LVCodeViewReader::LVCodeViewReader ( StringRef  Filename,
StringRef  FileFormatName,
llvm::pdb::PDBFile Pdb,
ScopedPrinter W,
StringRef  ExePath 
)
inline

Definition at line 197 of file LVCodeViewReader.h.

◆ LVCodeViewReader() [4/4]

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

◆ ~LVCodeViewReader()

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

Member Function Documentation

◆ addModule()

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

◆ createScopes()

Error LVCodeViewReader::createScopes ( )
overrideprotectedvirtual

◆ 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

Definition at line 62 of file LVCodeViewReader.cpp.

Referenced by getRegisterName().

◆ getLinkageName()

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

◆ 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

Definition at line 50 of file LVCodeViewReader.cpp.

References llvm_unreachable.

Referenced by llvm::logicalview::LVLogicalVisitor::printRecords().

◆ isSystemEntry()

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

◆ operator=()

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

◆ print()

void LVCodeViewReader::print ( raw_ostream OS) const

Definition at line 801 of file LVCodeViewReader.cpp.

References llvm::dbgs(), and LLVM_DEBUG.

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

Friends And Related Function Documentation

◆ LVSymbolVisitor

friend class LVSymbolVisitor
friend

Definition at line 69 of file LVCodeViewReader.h.

◆ LVSymbolVisitorDelegate

friend class LVSymbolVisitorDelegate
friend

Definition at line 70 of file LVCodeViewReader.h.

◆ LVTypeVisitor

friend class LVTypeVisitor
friend

Definition at line 68 of file LVCodeViewReader.h.


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