LLVM: llvm::dwarf::RegisterLocations Class Reference (original) (raw)

A class that can track all registers with locations in a UnwindRow object. More...

#include "[llvm/DebugInfo/DWARF/LowLevel/DWARFUnwindTable.h](DWARFUnwindTable%5F8h%5Fsource.html)"

Public Member Functions
std::optional< UnwindLocation > getRegisterLocation (uint32_t RegNum) const
Return the location for the register in RegNum if there is a location.
SmallVector< uint32_t, 4 > getRegisters () const
void setRegisterLocation (uint32_t RegNum, const UnwindLocation &Location)
Set the location for the register in RegNum to Location.
void removeRegisterLocation (uint32_t RegNum)
Removes any rule for the register in RegNum.
bool hasLocations () const
Returns true if we have any register locations in this object.
size_t size () const
bool operator== (const RegisterLocations &RHS) const

A class that can track all registers with locations in a UnwindRow object.

Register locations use a map where the key is the register number and the the value is a UnwindLocation.

The register maps are put into a class so that all register locations can be copied when parsing the unwind opcodes DW_CFA_remember_state and DW_CFA_restore_state.

Definition at line 166 of file DWARFUnwindTable.h.

getRegisterLocation()

std::optional< UnwindLocation > llvm::dwarf::RegisterLocations::getRegisterLocation ( uint32_t RegNum) const inline

getRegisters()

hasLocations()

bool llvm::dwarf::RegisterLocations::hasLocations ( ) const inline

Returns true if we have any register locations in this object.

Definition at line 206 of file DWARFUnwindTable.h.

operator==()

removeRegisterLocation()

void llvm::dwarf::RegisterLocations::removeRegisterLocation ( uint32_t RegNum) inline

Removes any rule for the register in RegNum.

Parameters

RegNum the register number to remove the location for.

Definition at line 203 of file DWARFUnwindTable.h.

setRegisterLocation()

Set the location for the register in RegNum to Location.

Parameters

RegNum the register number to set the location for.
Location the UnwindLocation that describes how to unwind the value.

Definition at line 195 of file DWARFUnwindTable.h.

size()

size_t llvm::dwarf::RegisterLocations::size ( ) const inline

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