LLVM  8.0.1
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"

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

Public Member Functions

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

Static Public Member Functions

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

Public Attributes

uint64_t Address
 The program-counter value corresponding to a machine instruction generated by the compiler. More...
 
uint32_t Line
 An unsigned integer indicating a source line number. More...
 
uint16_t Column
 An unsigned integer indicating a column number within a source line. More...
 
uint16_t File
 An unsigned integer indicating the identity of the source file corresponding to a machine instruction. More...
 
uint32_t Discriminator
 An unsigned integer representing the DWARF path discriminator value for this location. More...
 
uint8_t Isa
 An unsigned integer whose value encodes the applicable instruction set architecture for the current instruction. More...
 
uint8_t IsStmt: 1
 A boolean indicating that the current instruction is the beginning of a statement. More...
 
uint8_t BasicBlock: 1
 A boolean indicating that the current instruction is the beginning of a basic block. More...
 
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. More...
 
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. More...
 
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. More...
 

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

Member Function Documentation

◆ dump()

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

Definition at line 376 of file DWARFDebugLine.cpp.

References llvm::Address, llvm::ARMBuildAttrs::File, and llvm::format().

◆ dumpTableHeader()

void DWARFDebugLine::Row::dumpTableHeader ( raw_ostream OS)
static

Definition at line 370 of file DWARFDebugLine.cpp.

Referenced by llvm::DWARFVerifier::handleDebugInfo().

◆ orderByAddress()

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

Definition at line 142 of file DWARFDebugLine.h.

References Address.

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

◆ postAppend()

void DWARFDebugLine::Row::postAppend ( )

Called after a row is appended to the matrix.

Definition at line 350 of file DWARFDebugLine.cpp.

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

◆ reset()

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

Definition at line 356 of file DWARFDebugLine.cpp.

References llvm::Address, and llvm::ARMBuildAttrs::File.

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

Member Data Documentation

◆ Address

uint64_t llvm::DWARFDebugLine::Row::Address

The program-counter value corresponding to a machine instruction generated by the compiler.

Definition at line 148 of file DWARFDebugLine.h.

Referenced by llvm::DWARFDebugLine::LineTable::clear(), llvm::DWARFContext::getLineInfoForAddressRange(), orderByAddress(), and llvm::DWARFDebugLine::LineTable::parse().

◆ BasicBlock

uint8_t llvm::DWARFDebugLine::Row::BasicBlock

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

Definition at line 168 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 156 of file DWARFDebugLine.h.

Referenced by llvm::DWARFDebugLine::LineTable::getFileLineInfoForAddress(), and llvm::DWARFContext::getLineInfoForAddressRange().

◆ Discriminator

uint32_t llvm::DWARFDebugLine::Row::Discriminator

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

Definition at line 162 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 168 of file DWARFDebugLine.h.

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

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

Referenced by llvm::DWARFDebugLine::LineTable::getFileLineInfoForAddress(), and llvm::DWARFContext::getLineInfoForAddressRange().

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

Referenced by llvm::DWARFDebugLine::LineTable::getFileLineInfoForAddress(), and llvm::DWARFContext::getLineInfoForAddressRange().

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


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