class CFIProgram

Declaration

class CFIProgram { /* full declaration omitted */ };

Description

Represent a sequence of Call Frame Information instructions that, when read in order, construct a table mapping PC to frame state. This can also be referred to as "CFI rules" in DWARF literature to avoid confusion with computer programs in the broader sense, and in this context each instruction would be a rule to establish the mapping. Refer to pg. 172 in the DWARF5 manual, "6.4.1 Structure of Call Frame Information".

Declared at: llvm/include/llvm/DebugInfo/DWARF/DWARFDebugFrame.h:34

Method Overview

  • public CFIProgram(uint64_t CodeAlignmentFactor, int64_t DataAlignmentFactor, Triple::ArchType Arch)
  • public llvm::dwarf::CFIProgram::iterator begin()
  • public llvm::dwarf::CFIProgram::const_iterator begin() const
  • public void dump(llvm::raw_ostream & OS, const llvm::MCRegisterInfo * MRI, bool IsEH, unsigned int IndentLevel = 1) const
  • public bool empty() const
  • public llvm::dwarf::CFIProgram::iterator end()
  • public llvm::dwarf::CFIProgram::const_iterator end() const
  • public llvm::Error parse(llvm::DWARFDataExtractor Data, uint64_t * Offset, uint64_t EndOffset)
  • public unsigned int size() const

Methods

CFIProgram(uint64_t CodeAlignmentFactor,
           int64_t DataAlignmentFactor,
           Triple::ArchType Arch)

Declared at: llvm/include/llvm/DebugInfo/DWARF/DWARFDebugFrame.h:62

Parameters

uint64_t CodeAlignmentFactor
int64_t DataAlignmentFactor
Triple::ArchType Arch

llvm::dwarf::CFIProgram::iterator begin()

Declared at: llvm/include/llvm/DebugInfo/DWARF/DWARFDebugFrame.h:54

llvm::dwarf::CFIProgram::const_iterator begin()
    const

Declared at: llvm/include/llvm/DebugInfo/DWARF/DWARFDebugFrame.h:55

void dump(llvm::raw_ostream& OS,
          const llvm::MCRegisterInfo* MRI,
          bool IsEH,
          unsigned int IndentLevel = 1) const

Declared at: llvm/include/llvm/DebugInfo/DWARF/DWARFDebugFrame.h:74

Parameters

llvm::raw_ostream& OS
const llvm::MCRegisterInfo* MRI
bool IsEH
unsigned int IndentLevel = 1

bool empty() const

Declared at: llvm/include/llvm/DebugInfo/DWARF/DWARFDebugFrame.h:60

llvm::dwarf::CFIProgram::iterator end()

Declared at: llvm/include/llvm/DebugInfo/DWARF/DWARFDebugFrame.h:56

llvm::dwarf::CFIProgram::const_iterator end()
    const

Declared at: llvm/include/llvm/DebugInfo/DWARF/DWARFDebugFrame.h:57

llvm::Error parse(llvm::DWARFDataExtractor Data,
                  uint64_t* Offset,
                  uint64_t EndOffset)

Description

Parse and store a sequence of CFI instructions from Data, starting at *Offset and ending at EndOffset. *Offset is updated to EndOffset upon successful parsing, or indicates the offset where a problem occurred in case an error is returned.

Declared at: llvm/include/llvm/DebugInfo/DWARF/DWARFDebugFrame.h:72

Parameters

llvm::DWARFDataExtractor Data
uint64_t* Offset
uint64_t EndOffset

unsigned int size() const

Declared at: llvm/include/llvm/DebugInfo/DWARF/DWARFDebugFrame.h:59