LLVM 20.0.0git
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
llvm::DWARFDebugLine::Row Struct Reference

Standard .debug_line state machine structure. More...

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

Public Member Functions

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

Static Public Member Functions

static 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 132 of file DWARFDebugLine.h.

Constructor & Destructor Documentation

◆ Row()

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

Definition at line 482 of file DWARFDebugLine.cpp.

Member Function Documentation

◆ dump()

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

Definition at line 516 of file DWARFDebugLine.cpp.

References llvm::Address, EndSequence, llvm::format(), OpIndex, and OS.

◆ dumpTableHeader()

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

◆ orderByAddress()

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

Definition at line 142 of file DWARFDebugLine.h.

References LHS, and RHS.

◆ postAppend()

void DWARFDebugLine::Row::postAppend ( )

Called after a row is appended to the matrix.

Definition at line 484 of file DWARFDebugLine.cpp.

◆ 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 152 of file DWARFDebugLine.h.

Referenced by convertFunctionLineTable().

◆ BasicBlock

uint8_t llvm::DWARFDebugLine::Row::BasicBlock

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

Definition at line 179 of file DWARFDebugLine.h.

◆ 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 160 of file DWARFDebugLine.h.

Referenced by llvm::DWARFDebugLine::LineTable::getFileLineInfoForAddress().

◆ Discriminator

uint32_t llvm::DWARFDebugLine::Row::Discriminator

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

Definition at line 166 of file DWARFDebugLine.h.

Referenced by llvm::DWARFDebugLine::LineTable::getFileLineInfoForAddress().

◆ 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 183 of file DWARFDebugLine.h.

◆ 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 191 of file DWARFDebugLine.h.

◆ 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 163 of file DWARFDebugLine.h.

Referenced by llvm::DWARFDebugLine::LineTable::getFileLineInfoForAddress().

◆ 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 169 of file DWARFDebugLine.h.

◆ IsStmt

uint8_t llvm::DWARFDebugLine::Row::IsStmt

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

Definition at line 176 of file DWARFDebugLine.h.

◆ 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 156 of file DWARFDebugLine.h.

Referenced by llvm::DWARFDebugLine::LineTable::getFileLineInfoForAddress().

◆ 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 173 of file DWARFDebugLine.h.

◆ 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 187 of file DWARFDebugLine.h.


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