LLVM 22.0.0git
llvm::DWARFDebugLine::Row Struct Reference

Standard .debug_line state machine structure. More...

#include "llvm/DebugInfo/DWARF/DWARFDebugLine.h"

Public Member Functions

LLVM_ABI Row (bool DefaultIsStmt=false)
LLVM_ABI void postAppend ()
 Called after a row is appended to the matrix.
LLVM_ABI void reset (bool DefaultIsStmt)
LLVM_ABI void dump (raw_ostream &OS) const

Static Public Member Functions

static LLVM_ABI void dumpTableHeader (raw_ostream &OS, unsigned Indent)
static bool orderByAddress (const Row &LHS, const Row &RHS)

Public Attributes

object::SectionedAddress Address
 The program-counter value corresponding to a machine instruction generated by the compiler and section index pointing to the section containg this PC.
uint32_t Line
 An unsigned integer indicating a source line number.
uint16_t Column
 An unsigned integer indicating a column number within a source line.
uint16_t File
 An unsigned integer indicating the identity of the source file corresponding to a machine instruction.
uint32_t Discriminator
 An unsigned integer representing the DWARF path discriminator value for this location.
uint8_t Isa
 An unsigned integer whose value encodes the applicable instruction set architecture for the current instruction.
uint8_t OpIndex
 An unsigned integer representing the index of an operation within a VLIW instruction.
uint8_t IsStmt: 1
 A boolean indicating that the current instruction is the beginning of a statement.
uint8_t BasicBlock: 1
 A boolean indicating that the current instruction is the beginning of a basic block.
uint8_t EndSequence: 1
 A boolean indicating that the current address is that of the first byte after the end of a sequence of target machine instructions.
uint8_t PrologueEnd: 1
 A boolean indicating that the current address is one (of possibly many) where execution should be suspended for an entry breakpoint of a function.
uint8_t EpilogueBegin: 1
 A boolean indicating that the current address is one (of possibly many) where execution should be suspended for an exit breakpoint of a function.

Detailed Description

Standard .debug_line state machine structure.

Definition at line 133 of file DWARFDebugLine.h.

Constructor & Destructor Documentation

◆ Row()

DWARFDebugLine::Row::Row ( bool DefaultIsStmt = false)
explicit

Definition at line 482 of file DWARFDebugLine.cpp.

References reset().

Referenced by orderByAddress().

Member Function Documentation

◆ dump()

void DWARFDebugLine::Row::dump ( raw_ostream & OS) const

◆ dumpTableHeader()

void DWARFDebugLine::Row::dumpTableHeader ( raw_ostream & OS,
unsigned Indent )
static

◆ orderByAddress()

bool llvm::DWARFDebugLine::Row::orderByAddress ( const Row & LHS,
const Row & RHS )
inlinestatic

Definition at line 143 of file DWARFDebugLine.h.

References LHS, RHS, and Row().

◆ postAppend()

void DWARFDebugLine::Row::postAppend ( )

Called after a row is appended to the matrix.

Definition at line 484 of file DWARFDebugLine.cpp.

References BasicBlock, Discriminator, EpilogueBegin, and PrologueEnd.

◆ reset()

void DWARFDebugLine::Row::reset ( bool DefaultIsStmt)

Member Data Documentation

◆ Address

object::SectionedAddress llvm::DWARFDebugLine::Row::Address

The program-counter value corresponding to a machine instruction generated by the compiler and section index pointing to the section containg this PC.

If relocation information is present then section index is the index of the section which contains above address. Otherwise this is object::SectionedAddress::Undef value.

Definition at line 153 of file DWARFDebugLine.h.

Referenced by convertFunctionLineTable(), dump(), and reset().

◆ BasicBlock

uint8_t llvm::DWARFDebugLine::Row::BasicBlock

A boolean indicating that the current instruction is the beginning of a basic block.

Definition at line 180 of file DWARFDebugLine.h.

Referenced by dump(), postAppend(), and reset().

◆ Column

uint16_t llvm::DWARFDebugLine::Row::Column

An unsigned integer indicating a column number within a source line.

Columns are numbered beginning at 1. The value 0 is reserved to indicate that a statement begins at the 'left edge' of the line.

Definition at line 161 of file DWARFDebugLine.h.

Referenced by dump(), llvm::DWARFDebugLine::LineTable::getFileLineInfoForAddress(), and reset().

◆ Discriminator

uint32_t llvm::DWARFDebugLine::Row::Discriminator

An unsigned integer representing the DWARF path discriminator value for this location.

Definition at line 167 of file DWARFDebugLine.h.

Referenced by dump(), llvm::DWARFDebugLine::LineTable::getFileLineInfoForAddress(), postAppend(), and reset().

◆ EndSequence

uint8_t llvm::DWARFDebugLine::Row::EndSequence

A boolean indicating that the current address is that of the first byte after the end of a sequence of target machine instructions.

Definition at line 184 of file DWARFDebugLine.h.

Referenced by dump(), and reset().

◆ EpilogueBegin

uint8_t llvm::DWARFDebugLine::Row::EpilogueBegin

A boolean indicating that the current address is one (of possibly many) where execution should be suspended for an exit breakpoint of a function.

Definition at line 192 of file DWARFDebugLine.h.

Referenced by dump(), postAppend(), and reset().

◆ File

uint16_t llvm::DWARFDebugLine::Row::File

An unsigned integer indicating the identity of the source file corresponding to a machine instruction.

Definition at line 164 of file DWARFDebugLine.h.

Referenced by dump(), llvm::DWARFDebugLine::LineTable::getFileLineInfoForAddress(), and reset().

◆ Isa

uint8_t llvm::DWARFDebugLine::Row::Isa

An unsigned integer whose value encodes the applicable instruction set architecture for the current instruction.

Definition at line 170 of file DWARFDebugLine.h.

Referenced by dump(), and reset().

◆ IsStmt

uint8_t llvm::DWARFDebugLine::Row::IsStmt

A boolean indicating that the current instruction is the beginning of a statement.

Definition at line 177 of file DWARFDebugLine.h.

Referenced by dump(), and reset().

◆ Line

uint32_t llvm::DWARFDebugLine::Row::Line

An unsigned integer indicating a source line number.

Lines are numbered beginning at 1. The compiler may emit the value 0 in cases where an instruction cannot be attributed to any source line.

Definition at line 157 of file DWARFDebugLine.h.

Referenced by dump(), llvm::DWARFDebugLine::LineTable::getFileLineInfoForAddress(), and reset().

◆ OpIndex

uint8_t llvm::DWARFDebugLine::Row::OpIndex

An unsigned integer representing the index of an operation within a VLIW instruction.

The index of the first operation is 0. For non-VLIW architectures, this register will always be 0.

Definition at line 174 of file DWARFDebugLine.h.

Referenced by dump(), and reset().

◆ PrologueEnd

uint8_t llvm::DWARFDebugLine::Row::PrologueEnd

A boolean indicating that the current address is one (of possibly many) where execution should be suspended for an entry breakpoint of a function.

Definition at line 188 of file DWARFDebugLine.h.

Referenced by dump(), postAppend(), and reset().


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