LLDB mainline
RegisterInfoPOSIXDynamic_riscv32 Class Reference

#include <RegisterInfoPOSIXDynamic_riscv32.h>

Inheritance diagram for RegisterInfoPOSIXDynamic_riscv32:
[legend]

Public Member Functions

 RegisterInfoPOSIXDynamic_riscv32 (const lldb_private::ArchSpec &target_arch)
size_t GetGPRSize () const override
size_t GetFPRSize () const override
const lldb_private::RegisterInfoGetRegisterInfo () const override
uint32_t GetRegisterCount () const override
const lldb_private::RegisterSetGetRegisterSet (size_t reg_set) const override
size_t GetRegisterSetCount () const override
size_t GetRegisterSetFromRegisterIndex (uint32_t reg_index) const override
size_t SetRegisterInfo (std::vector< lldb_private::DynamicRegisterInfo::Register > regs)
const lldb_private::RegisterInfoGetRegisterInfo (llvm::StringRef reg_name) const
Public Member Functions inherited from lldb_private::RegisterInfoAndSetInterface
 RegisterInfoAndSetInterface (const lldb_private::ArchSpec &target_arch)
Public Member Functions inherited from lldb_private::RegisterInfoInterface
 RegisterInfoInterface (const lldb_private::ArchSpec &target_arch)
virtual ~RegisterInfoInterface ()=default
virtual uint32_t GetUserRegisterCount () const
const lldb_private::ArchSpecGetTargetArchitecture () const

Static Public Member Functions

static void BuildCSRegInfos (llvm::ArrayRef< std::string > features, llvm::SmallVectorImpl< lldb_private::RegisterInfo > &cs_reg_infos)
 Builds CS register information entries for 32-bit RISC-V debug targets on the basis of the enabled ISA extensions.

Static Private Member Functions

static void ConfigureCSRegInfos (llvm::StringRef feature, llvm::SmallVectorImpl< lldb_private::RegisterInfo > &cs_reg_infos)
 Applies the CS register information patch set for a given feature.

Private Attributes

lldb_private::DynamicRegisterInfo m_dyn_reg_infos
const lldb_private::ArchSpec m_target_arch

Detailed Description

Definition at line 20 of file RegisterInfoPOSIXDynamic_riscv32.h.

Constructor & Destructor Documentation

◆ RegisterInfoPOSIXDynamic_riscv32()

RegisterInfoPOSIXDynamic_riscv32::RegisterInfoPOSIXDynamic_riscv32 ( const lldb_private::ArchSpec & target_arch)

Member Function Documentation

◆ BuildCSRegInfos()

void RegisterInfoPOSIXDynamic_riscv32::BuildCSRegInfos ( llvm::ArrayRef< std::string > features,
llvm::SmallVectorImpl< lldb_private::RegisterInfo > & cs_reg_infos )
static

◆ ConfigureCSRegInfos()

void RegisterInfoPOSIXDynamic_riscv32::ConfigureCSRegInfos ( llvm::StringRef feature,
llvm::SmallVectorImpl< lldb_private::RegisterInfo > & cs_reg_infos )
staticprivate

Applies the CS register information patch set for a given feature.

Override a baseline CSR metadata container, cs_reg_infos , with feature-specific definitions by looking up the patch list for feature and updating only the affected CSR entries in-place.

Definition at line 146 of file RegisterInfoPOSIXDynamic_riscv32.cpp.

References csr_first_riscv, csr_last_riscv, and lldb::eRegisterKindLLDB.

Referenced by BuildCSRegInfos().

◆ GetFPRSize()

size_t RegisterInfoPOSIXDynamic_riscv32::GetFPRSize ( ) const
overridevirtual

◆ GetGPRSize()

size_t RegisterInfoPOSIXDynamic_riscv32::GetGPRSize ( ) const
overridevirtual

◆ GetRegisterCount()

uint32_t RegisterInfoPOSIXDynamic_riscv32::GetRegisterCount ( ) const
overridevirtual

◆ GetRegisterInfo() [1/2]

const lldb_private::RegisterInfo * RegisterInfoPOSIXDynamic_riscv32::GetRegisterInfo ( ) const
overridevirtual

◆ GetRegisterInfo() [2/2]

const lldb_private::RegisterInfo * RegisterInfoPOSIXDynamic_riscv32::GetRegisterInfo ( llvm::StringRef reg_name) const

Definition at line 92 of file RegisterInfoPOSIXDynamic_riscv32.cpp.

References m_dyn_reg_infos.

◆ GetRegisterSet()

const lldb_private::RegisterSet * RegisterInfoPOSIXDynamic_riscv32::GetRegisterSet ( size_t reg_set) const
overridevirtual

◆ GetRegisterSetCount()

size_t RegisterInfoPOSIXDynamic_riscv32::GetRegisterSetCount ( ) const
overridevirtual

◆ GetRegisterSetFromRegisterIndex()

size_t RegisterInfoPOSIXDynamic_riscv32::GetRegisterSetFromRegisterIndex ( uint32_t reg_index) const
overridevirtual

◆ SetRegisterInfo()

size_t RegisterInfoPOSIXDynamic_riscv32::SetRegisterInfo ( std::vector< lldb_private::DynamicRegisterInfo::Register > regs)

Definition at line 86 of file RegisterInfoPOSIXDynamic_riscv32.cpp.

References m_dyn_reg_infos, and m_target_arch.

Member Data Documentation

◆ m_dyn_reg_infos

◆ m_target_arch

const lldb_private::ArchSpec RegisterInfoPOSIXDynamic_riscv32::m_target_arch
private

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