LLVM: llvm::DWARFDebugLine::Prologue Struct Reference (original) (raw)

#include "[llvm/DebugInfo/DWARF/DWARFDebugLine.h](DWARFDebugLine%5F8h%5Fsource.html)"

Public Member Functions
LLVM_ABI Prologue ()
const dwarf::FormParams getFormParams () const
uint16_t getVersion () const
uint8_t getAddressSize () const
bool isDWARF64 () const
uint32_t sizeofTotalLength () const
uint32_t sizeofPrologueLength () const
LLVM_ABI bool totalLengthIsValid () const
LLVM_ABI uint64_t getLength () const
Length of the prologue in bytes.
LLVM_ABI const llvm::DWARFDebugLine::FileNameEntry & getFileNameEntry (uint64_t Index) const
Get DWARF-version aware access to the file name entry at the provided index.
LLVM_ABI bool hasFileAtIndex (uint64_t FileIndex) const
LLVM_ABI std::optional< uint64_t > getLastValidFileIndex () const
LLVM_ABI bool getFileNameByIndex (uint64_t FileIndex, StringRef CompDir, DILineInfoSpecifier::FileLineInfoKind Kind, std::string &Result, sys::path::Style Style=sys::path::Style::native) const
LLVM_ABI void clear ()
LLVM_ABI void dump (raw_ostream &OS, DIDumpOptions DumpOptions) const
LLVM_ABI Error parse (DWARFDataExtractor Data, uint64_t *OffsetPtr, function_ref< void(Error)> RecoverableErrorHandler, const DWARFContext &Ctx, const DWARFUnit *U=nullptr)
Public Attributes
uint64_t TotalLength
The size in bytes of the statement information for this compilation unit (not including the total_length field itself).
dwarf::FormParams FormParams
Version, address size (starting in v5), and DWARF32/64 format; these parameters affect interpretation of forms (used in the directory and file tables starting with v5).
uint64_t PrologueLength
The number of bytes following the prologue_length field to the beginning of the first byte of the statement program itself.
uint8_t SegSelectorSize
In v5, size in bytes of a segment selector.
uint8_t MinInstLength
The size in bytes of the smallest target machine instruction.
uint8_t MaxOpsPerInst
The maximum number of individual operations that may be encoded in an instruction.
uint8_t DefaultIsStmt
The initial value of theis_stmtregister.
int8_t LineBase
This parameter affects the meaning of the special opcodes. See below.
uint8_t LineRange
This parameter affects the meaning of the special opcodes. See below.
uint8_t OpcodeBase
The number assigned to the first special opcode.
ContentTypeTracker ContentTypes
This tracks which optional file format content types are present.
std::vector< uint8_t > StandardOpcodeLengths
std::vector< DWARFFormValue > IncludeDirectories
std::vector< FileNameEntry > FileNames

Definition at line 60 of file DWARFDebugLine.h.

DWARFDebugLine::Prologue::Prologue ( )

clear()

void DWARFDebugLine::Prologue::clear ( )

Definition at line 105 of file DWARFDebugLine.cpp.

References ContentTypes, DefaultIsStmt, llvm::dwarf::DWARF32, FileNames, FormParams, IncludeDirectories, LineBase, LineRange, MaxOpsPerInst, MinInstLength, OpcodeBase, PrologueLength, SegSelectorSize, StandardOpcodeLengths, and TotalLength.

Referenced by parse(), and Prologue().

dump()

Definition at line 117 of file DWARFDebugLine.cpp.

References llvm::DWARFDebugLine::FileNameEntry::Checksum, llvm::consumeError(), ContentTypes, DefaultIsStmt, llvm::MD5::MD5Result::digest(), llvm::DWARFDebugLine::FileNameEntry::DirIdx, llvm::DWARFFormValue::dump(), FileNames, llvm::format(), llvm::dwarf::FormatString(), llvm::formatv(), FormParams, getAddressSize(), llvm::DWARFFormValue::getAsCString(), llvm::dwarf::getDwarfOffsetByteSize(), getVersion(), I, IncludeDirectories, llvm::DWARFDebugLine::FileNameEntry::Length, LineBase, LineRange, MaxOpsPerInst, MinInstLength, llvm::DWARFDebugLine::FileNameEntry::ModTime, llvm::DWARFDebugLine::FileNameEntry::Name, OpcodeBase, PrologueLength, SegSelectorSize, llvm::DWARFDebugLine::FileNameEntry::Source, StandardOpcodeLengths, TotalLength, totalLengthIsValid(), and versionIsSupported().

getAddressSize()

uint8_t llvm::DWARFDebugLine::Prologue::getAddressSize ( ) const inline

getFileNameByIndex()

Definition at line 1479 of file DWARFDebugLine.cpp.

References llvm::sys::path::append(), assert(), llvm::StringRef::empty(), llvm::sys::path::filename(), getFileNameEntry(), getVersion(), hasFileAtIndex(), IncludeDirectories, llvm::dwarf_linker::isPathAbsoluteOnWindowsOrPosix(), llvm::dwarf::toString(), and llvm::dwarf::toStringRef().

getFileNameEntry()

getFormParams()

getLastValidFileIndex()

std::optional< uint64_t > DWARFDebugLine::Prologue::getLastValidFileIndex ( ) const

getLength()

uint64_t DWARFDebugLine::Prologue::getLength ( ) const

getVersion()

uint16_t llvm::DWARFDebugLine::Prologue::getVersion ( ) const inline

hasFileAtIndex()

bool DWARFDebugLine::Prologue::hasFileAtIndex ( uint64_t FileIndex ) const

isDWARF64()

bool llvm::DWARFDebugLine::Prologue::isDWARF64 ( ) const inline

parse()

Definition at line 363 of file DWARFDebugLine.cpp.

References assert(), clear(), ContentTypes, llvm::createStringError(), DefaultIsStmt, FileNames, FormParams, llvm::DataExtractor::getAddressSize(), getAddressSize(), llvm::DWARFDataExtractorBase< Relocator >::getInitialLength(), llvm::DWARFDataExtractorBase< Relocator >::getRelocatedValue(), llvm::DataExtractor::getU16(), llvm::DataExtractor::getU8(), getVersion(), I, IncludeDirectories, llvm::invalid_argument, llvm::joinErrors(), LineBase, LineRange, MaxOpsPerInst, MinInstLength, llvm::not_supported, OpcodeBase, parseV2DirFileTables(), parseV5DirFileTables(), PrologueLength, SegSelectorSize, sizeofPrologueLength(), StandardOpcodeLengths, llvm::Error::success(), llvm::toString(), TotalLength, and versionIsSupported().

sizeofPrologueLength()

uint32_t llvm::DWARFDebugLine::Prologue::sizeofPrologueLength ( ) const inline

sizeofTotalLength()

uint32_t llvm::DWARFDebugLine::Prologue::sizeofTotalLength ( ) const inline

totalLengthIsValid()

bool DWARFDebugLine::Prologue::totalLengthIsValid ( ) const

ContentTypes

DefaultIsStmt

uint8_t llvm::DWARFDebugLine::Prologue::DefaultIsStmt

FileNames

std::vector<FileNameEntry> llvm::DWARFDebugLine::Prologue::FileNames

FormParams

Version, address size (starting in v5), and DWARF32/64 format; these parameters affect interpretation of forms (used in the directory and file tables starting with v5).

Definition at line 69 of file DWARFDebugLine.h.

Referenced by clear(), llvm::dwarf_linker::parallel::CompileUnit::cloneAndEmitLineTable(), dump(), llvm::dwarf_linker::classic::DwarfStreamer::emitLineTableForUnit(), getAddressSize(), getFormParams(), getVersion(), isDWARF64(), and parse().

IncludeDirectories

std::vector<DWARFFormValue> llvm::DWARFDebugLine::Prologue::IncludeDirectories

LineBase

int8_t llvm::DWARFDebugLine::Prologue::LineBase

LineRange

uint8_t llvm::DWARFDebugLine::Prologue::LineRange

MaxOpsPerInst

uint8_t llvm::DWARFDebugLine::Prologue::MaxOpsPerInst

MinInstLength

uint8_t llvm::DWARFDebugLine::Prologue::MinInstLength

The size in bytes of the smallest target machine instruction.

Statement program opcodes that alter the address register first multiply their operands by this value.

Definition at line 78 of file DWARFDebugLine.h.

Referenced by clear(), dump(), and parse().

OpcodeBase

uint8_t llvm::DWARFDebugLine::Prologue::OpcodeBase

PrologueLength

uint64_t llvm::DWARFDebugLine::Prologue::PrologueLength

SegSelectorSize

uint8_t llvm::DWARFDebugLine::Prologue::SegSelectorSize

StandardOpcodeLengths

std::vector<uint8_t> llvm::DWARFDebugLine::Prologue::StandardOpcodeLengths

TotalLength

uint64_t llvm::DWARFDebugLine::Prologue::TotalLength


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