LLVM 22.0.0git
llvm::MCDwarfLineTableHeader Struct Reference

#include "llvm/MC/MCDwarf.h"

Public Member Functions

 MCDwarfLineTableHeader ()=default
LLVM_ABI Expected< unsignedtryGetFile (StringRef &Directory, StringRef &FileName, std::optional< MD5::MD5Result > Checksum, std::optional< StringRef > Source, uint16_t DwarfVersion, unsigned FileNumber=0)
LLVM_ABI std::pair< MCSymbol *, MCSymbol * > Emit (MCStreamer *MCOS, MCDwarfLineTableParams Params, std::optional< MCDwarfLineStr > &LineStr) const
LLVM_ABI std::pair< MCSymbol *, MCSymbol * > Emit (MCStreamer *MCOS, MCDwarfLineTableParams Params, ArrayRef< char > SpecialOpcodeLengths, std::optional< MCDwarfLineStr > &LineStr) const
void resetMD5Usage ()
void trackMD5Usage (bool MD5Used)
bool isMD5UsageConsistent () const
void setRootFile (StringRef Directory, StringRef FileName, std::optional< MD5::MD5Result > Checksum, std::optional< StringRef > Source)
void resetFileTable ()

Public Attributes

MCSymbolLabel = nullptr
SmallVector< std::string, 3 > MCDwarfDirs
SmallVector< MCDwarfFile, 3 > MCDwarfFiles
StringMap< unsignedSourceIdMap
std::string CompilationDir
MCDwarfFile RootFile
bool HasAnySource = false

Detailed Description

Definition at line 277 of file MCDwarf.h.

Constructor & Destructor Documentation

◆ MCDwarfLineTableHeader()

llvm::MCDwarfLineTableHeader::MCDwarfLineTableHeader ( )
default

References LLVM_ABI.

Member Function Documentation

◆ Emit() [1/2]

◆ Emit() [2/2]

std::pair< MCSymbol *, MCSymbol * > MCDwarfLineTableHeader::Emit ( MCStreamer * MCOS,
MCDwarfLineTableParams Params,
std::optional< MCDwarfLineStr > & LineStr ) const

Definition at line 345 of file MCDwarf.cpp.

References llvm::ArrayRef(), assert(), llvm::MCDwarfLineTableParams::DWARF2LineOpcodeBase, and Emit().

Referenced by Emit().

◆ isMD5UsageConsistent()

bool llvm::MCDwarfLineTableHeader::isMD5UsageConsistent ( ) const
inline

Definition at line 314 of file MCDwarf.h.

References MCDwarfFiles.

◆ resetFileTable()

void llvm::MCDwarfLineTableHeader::resetFileTable ( )
inline

Definition at line 330 of file MCDwarf.h.

References HasAnySource, MCDwarfDirs, MCDwarfFiles, resetMD5Usage(), and RootFile.

◆ resetMD5Usage()

void llvm::MCDwarfLineTableHeader::resetMD5Usage ( )
inline

Definition at line 306 of file MCDwarf.h.

Referenced by resetFileTable().

◆ setRootFile()

void llvm::MCDwarfLineTableHeader::setRootFile ( StringRef Directory,
StringRef FileName,
std::optional< MD5::MD5Result > Checksum,
std::optional< StringRef > Source )
inline

Definition at line 318 of file MCDwarf.h.

References CompilationDir, HasAnySource, RootFile, and trackMD5Usage().

◆ trackMD5Usage()

void llvm::MCDwarfLineTableHeader::trackMD5Usage ( bool MD5Used)
inline

Definition at line 310 of file MCDwarf.h.

Referenced by setRootFile(), and tryGetFile().

◆ tryGetFile()

Expected< unsigned > MCDwarfLineTableHeader::tryGetFile ( StringRef & Directory,
StringRef & FileName,
std::optional< MD5::MD5Result > Checksum,
std::optional< StringRef > Source,
uint16_t DwarfVersion,
unsigned FileNumber = 0 )

Member Data Documentation

◆ CompilationDir

std::string llvm::MCDwarfLineTableHeader::CompilationDir

Definition at line 282 of file MCDwarf.h.

Referenced by setRootFile(), and tryGetFile().

◆ HasAnySource

bool llvm::MCDwarfLineTableHeader::HasAnySource = false

Definition at line 284 of file MCDwarf.h.

Referenced by resetFileTable(), setRootFile(), and tryGetFile().

◆ Label

MCSymbol* llvm::MCDwarfLineTableHeader::Label = nullptr

Definition at line 278 of file MCDwarf.h.

Referenced by Emit().

◆ MCDwarfDirs

SmallVector<std::string, 3> llvm::MCDwarfLineTableHeader::MCDwarfDirs

Definition at line 279 of file MCDwarf.h.

Referenced by resetFileTable(), and tryGetFile().

◆ MCDwarfFiles

SmallVector<MCDwarfFile, 3> llvm::MCDwarfLineTableHeader::MCDwarfFiles

Definition at line 280 of file MCDwarf.h.

Referenced by isMD5UsageConsistent(), resetFileTable(), and tryGetFile().

◆ RootFile

MCDwarfFile llvm::MCDwarfLineTableHeader::RootFile

Definition at line 283 of file MCDwarf.h.

Referenced by resetFileTable(), setRootFile(), and tryGetFile().

◆ SourceIdMap

StringMap<unsigned> llvm::MCDwarfLineTableHeader::SourceIdMap

Definition at line 281 of file MCDwarf.h.

Referenced by tryGetFile().


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