LLVM 22.0.0git
llvm::DWARFCFIState Class Reference

This class is used to maintain a CFI state, referred to as an unwinding row, during CFI analysis. More...

#include "llvm/DWARFCFIChecker/DWARFCFIState.h"

Public Member Functions

 DWARFCFIState (MCContext *Context)
LLVM_ABI std::optional< dwarf::UnwindRowgetCurrentUnwindRow () const
LLVM_ABI void update (const MCCFIInstruction &Directive)
 This method updates the state by applying Directive to the current state.

Detailed Description

This class is used to maintain a CFI state, referred to as an unwinding row, during CFI analysis.

The only way to modify the state is by updating it with a CFI directive.

Definition at line 30 of file DWARFCFIState.h.

Constructor & Destructor Documentation

◆ DWARFCFIState()

llvm::DWARFCFIState::DWARFCFIState ( MCContext * Context)
inline

Definition at line 32 of file DWARFCFIState.h.

Member Function Documentation

◆ getCurrentUnwindRow()

std::optional< dwarf::UnwindRow > DWARFCFIState::getCurrentUnwindRow ( ) const

Definition at line 21 of file DWARFCFIState.cpp.

◆ update()

void DWARFCFIState::update ( const MCCFIInstruction & Directive)

This method updates the state by applying Directive to the current state.

If the directive is not supported by the checker or any error happens while applying the CFI directive, a warning or error is reported to the user, and the directive is ignored, leaving the state unchanged.

Definition at line 27 of file DWARFCFIState.cpp.

References llvm::formatv(), and llvm::toString().


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