9#ifdef DECLARE_REGISTER_INFOS_RISCV32_STRUCT
20#error GPR_OFFSET must be defined before including this header file
24#error FPR_OFFSET must be defined before including this header file
30#define KIND_HELPER(reg, generic_kind) \
31 {riscv_dwarf::dwarf_##reg, riscv_dwarf::dwarf_##reg, generic_kind, \
32 LLDB_INVALID_REGNUM, reg##_riscv}
35#define GPR32_KIND(reg, generic_kind) KIND_HELPER(reg, generic_kind)
38#define FPR32_KIND(reg, generic_kind) KIND_HELPER(reg, generic_kind)
41#define VPR_KIND(reg, generic_kind) KIND_HELPER(reg, generic_kind)
44#define CSR_KIND(reg, generic_kind) KIND_HELPER(reg, generic_kind)
47#define DEFINE_GPR32(reg, generic_kind) DEFINE_GPR32_ALT(reg, reg, generic_kind)
50#define DEFINE_GPR32_ALT(reg, alt, generic_kind) \
54 GPR_OFFSET(gpr_##reg##_riscv - gpr_first_riscv), \
55 lldb::eEncodingUint, \
57 GPR32_KIND(gpr_##reg, generic_kind), \
63#define DEFINE_FPR32_ALT(reg, alt, generic_kind) \
64 DEFINE_FPR_ALT(reg, alt, 8, generic_kind)
67#define DEFINE_FPR_ALT(reg, alt, size, generic_kind) \
71 FPR_OFFSET(fpr_##reg##_riscv - fpr_first_riscv), \
72 lldb::eEncodingIEEE754, \
74 FPR32_KIND(fpr_##reg, generic_kind), \
80#define DEFINE_VPR(reg, generic_kind) DEFINE_VPR_ALT(reg, reg, generic_kind)
85#define DEFINE_VPR_ALT(reg, alt, generic_kind) \
90 lldb::eEncodingVector, \
91 lldb::eFormatVectorOfUInt8, \
92 VPR_KIND(vpr_##reg, generic_kind), \
98#define DEFINE_CSR32(reg, generic_kind) DEFINE_CSR32_ALT(reg, reg, generic_kind)
101#define DEFINE_CSR32_ALT(reg, alt, generic_kind) \
106 lldb::eEncodingUint, \
108 CSR_KIND(csr_##reg, generic_kind), \
#define LLDB_REGNUM_GENERIC_RA
#define LLDB_REGNUM_GENERIC_ARG8
#define LLDB_REGNUM_GENERIC_ARG6
#define LLDB_REGNUM_GENERIC_SP
#define LLDB_REGNUM_GENERIC_ARG4
#define LLDB_REGNUM_GENERIC_ARG3
#define LLDB_REGNUM_GENERIC_ARG1
#define LLDB_REGNUM_GENERIC_ARG7
#define LLDB_INVALID_REGNUM
#define LLDB_REGNUM_GENERIC_ARG2
#define LLDB_REGNUM_GENERIC_PC
#define LLDB_REGNUM_GENERIC_FP
#define LLDB_REGNUM_GENERIC_ARG5
Every register is described in detail including its name, alternate name (optional),...