LLVM  9.0.0svn
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

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

Constructor & Destructor Documentation

◆ Row()

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

Definition at line 347 of file DWARFDebugLine.cpp.

Member Function Documentation

◆ dump()

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

Definition at line 377 of file DWARFDebugLine.cpp.

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

◆ dumpTableHeader()

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

Definition at line 371 of file DWARFDebugLine.cpp.

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

◆ orderByAddress()

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

◆ postAppend()

void DWARFDebugLine::Row::postAppend ( )

Called after a row is appended to the matrix.

Definition at line 349 of file DWARFDebugLine.cpp.

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

◆ 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 151 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 171 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 159 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 165 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 171 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 171 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 162 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 168 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 171 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 155 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 171 of file DWARFDebugLine.h.


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