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

Standard .debug_line state machine structure. More...

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

Collaboration diagram for llvm::DWARFDebugLine::Row:
[legend]

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

◆ Row()

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

Definition at line 462 of file DWARFDebugLine.cpp.

◆ dump()

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

Definition at line 494 of file DWARFDebugLine.cpp.

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

◆ dumpTableHeader()

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

Definition at line 486 of file DWARFDebugLine.cpp.

References llvm::raw_ostream::indent().

◆ 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 464 of file DWARFDebugLine.cpp.

◆ reset()

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

◆ 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 175 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.

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

◆ 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 179 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 187 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.

◆ 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 172 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.

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

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