9#ifdef DECLARE_REGISTER_INFOS_LOONGARCH64_STRUCT
21#error GPR_OFFSET must be defined before including this header file
25#error FPR_OFFSET must be defined before including this header file
33#define KIND_HELPER(reg, generic_kind) \
35 loongarch_dwarf::dwarf_##reg, loongarch_dwarf::dwarf_##reg, generic_kind, \
36 LLDB_INVALID_REGNUM, reg##_loongarch \
40#define GPR64_KIND(reg, generic_kind) KIND_HELPER(reg, generic_kind)
43#define FPR64_KIND(reg, generic_kind) KIND_HELPER(reg, generic_kind)
46#define DEFINE_GPR64(reg, generic_kind) DEFINE_GPR64_ALT(reg, reg, generic_kind)
47#define DEFINE_GPR64_ALT(reg, alt, generic_kind) \
49 #reg, #alt, 8, GPR_OFFSET(gpr_##reg##_loongarch - gpr_first_loongarch), \
50 lldb::eEncodingUint, lldb::eFormatHex, \
51 GPR64_KIND(gpr_##reg, generic_kind), nullptr, nullptr, nullptr, \
55#define DEFINE_FPR64(reg, generic_kind) DEFINE_FPR64_ALT(reg, reg, generic_kind)
56#define DEFINE_FPR64_ALT(reg, alt, generic_kind) \
58 #reg, #alt, 8, FPR_OFFSET(fpr_##reg##_loongarch - fpr_first_loongarch), \
59 lldb::eEncodingUint, lldb::eFormatHex, \
60 FPR64_KIND(fpr_##reg, generic_kind), nullptr, nullptr, nullptr, \
63#define DEFINE_FCC(reg, generic_kind) \
65 #reg, nullptr, 1, FCC_OFFSET(fpr_##reg##_loongarch - fpr_fcc0_loongarch), \
66 lldb::eEncodingUint, lldb::eFormatHex, \
67 FPR64_KIND(fpr_##reg, generic_kind), nullptr, nullptr, nullptr, \
70#define DEFINE_FCSR(reg, generic_kind) \
72 #reg, nullptr, 4, FCSR_OFFSET, \
73 lldb::eEncodingUint, lldb::eFormatHex, \
74 FPR64_KIND(fpr_##reg, generic_kind), nullptr, nullptr, nullptr, \
#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),...