9#ifndef LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_REGISTERINFO_ARM64_H
10#define LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_REGISTERINFO_ARM64_H
65 struct alignas(8)
GPR {
159 bool IsGPR(
unsigned reg)
const;
160 bool IsFPR(
unsigned reg)
const;
192 typedef std::map<uint32_t, std::vector<lldb_private::RegisterInfo>>
size_t GetRegisterSetFromRegisterIndex(uint32_t reg_index) const override
uint32_t m_register_set_count
bool IsPOEReg(unsigned reg) const
bool IsPAuthPresent() const
bool IsPOEPresent() const
bool IsSVEPReg(unsigned reg) const
size_t GetGPRSize() const override
uint32_t GetMTEOffset() const
void ConfigureVectorLengthZA(uint32_t za_vq)
bool IsSVERegVG(unsigned reg) const
void AddRegSetTLS(bool has_tpidr2)
const lldb_private::RegisterInfo * GetRegisterInfo() const override
bool IsMTEPresent() const
uint32_t GetRegNumFPSR() const
bool VectorSizeIsValid(uint32_t vq)
std::vector< uint32_t > m_poe_regnum_collection
const lldb_private::RegisterSet * GetRegisterSet(size_t reg_set) const override
std::vector< lldb_private::RegisterInfo > m_dynamic_reg_infos
bool IsSVEReg(unsigned reg) const
bool IsGCSReg(unsigned reg) const
std::vector< uint32_t > pauth_regnum_collection
bool IsFPMRReg(unsigned reg) const
bool IsTLSReg(unsigned reg) const
void AddRegSetSME(bool has_zt)
bool IsFPR(unsigned reg) const
const lldb_private::RegisterInfo * m_register_info_p
uint32_t GetFPMROffset() const
const lldb_private::RegisterSet * m_register_set_p
size_t GetFPRSize() const override
uint32_t GetRegNumSVEVG() const
lldb_private::Flags m_opt_regsets
bool IsSVERegFFR(unsigned reg) const
uint32_t GetRegNumSVEFFR() const
uint32_t GetRegisterCount() const override
size_t GetRegisterSetCount() const override
std::vector< uint32_t > m_gcs_regnum_collection
std::vector< uint32_t > m_tls_regnum_collection
uint32_t GetRegNumSMESVG() const
bool IsSSVEPresent() const
bool IsGCSPresent() const
uint32_t GetTLSOffset() const
bool IsTLSPresent() const
uint32_t GetRegNumFPV0() const
uint32_t GetSMEOffset() const
std::map< uint32_t, std::vector< lldb_private::RegisterInfo > > per_vq_register_infos
bool IsMTEReg(unsigned reg) const
uint32_t GetRegNumFPCR() const
uint32_t ConfigureVectorLengthSVE(uint32_t sve_vq)
uint32_t GetPAuthOffset() const
per_vq_register_infos m_per_vq_reg_infos
bool IsGPR(unsigned reg) const
RegisterInfo_arm64(const lldb_private::ArchSpec &target_arch, lldb_private::Flags opt_regsets)
std::map< uint32_t, std::pair< uint32_t, uint32_t > > m_per_regset_regnum_range
uint32_t m_register_info_count
bool IsSMERegZA(unsigned reg) const
bool IsFPMRPresent() const
static size_t GetGPRSizeStatic()
uint32_t GetPOEOffset() const
bool IsPAuthReg(unsigned reg) const
bool IsSMERegZT(unsigned reg) const
std::vector< uint32_t > m_sme_regnum_collection
uint32_t GetRegNumSVEZ0() const
uint32_t GetGCSOffset() const
std::vector< lldb_private::RegisterSet > m_dynamic_reg_sets
bool IsSVEPresent() const
bool IsSVEZReg(unsigned reg) const
@ eVectorQuadwordAArch64SVE
@ eVectorQuadwordAArch64SVEMax
std::vector< uint32_t > m_mte_regnum_collection
std::vector< uint32_t > m_fpmr_regnum_collection
bool IsSMEReg(unsigned reg) const
An architecture specification class.
Every register is described in detail including its name, alternate name (optional),...
Registers are grouped into register sets.