1 //===-- LoongArch_DWARF_Registers.h -----------------------------*- C++ -*-===//
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
9 #ifndef LLDB_SOURCE_UTILITY_LOONGARCH_DWARF_REGISTERS_H
10 #define LLDB_SOURCE_UTILITY_LOONGARCH_DWARF_REGISTERS_H
12 #include "lldb/lldb-private.h"
14 namespace loongarch_dwarf
{
93 // register name alias
94 dwarf_gpr_zero
= dwarf_gpr_r0
,
95 dwarf_gpr_ra
= dwarf_gpr_r1
,
96 dwarf_gpr_tp
= dwarf_gpr_r2
,
97 dwarf_gpr_sp
= dwarf_gpr_r3
,
98 dwarf_gpr_a0
= dwarf_gpr_r4
,
99 dwarf_gpr_a1
= dwarf_gpr_r5
,
100 dwarf_gpr_a2
= dwarf_gpr_r6
,
101 dwarf_gpr_a3
= dwarf_gpr_r7
,
102 dwarf_gpr_a4
= dwarf_gpr_r8
,
103 dwarf_gpr_a5
= dwarf_gpr_r9
,
104 dwarf_gpr_a6
= dwarf_gpr_r10
,
105 dwarf_gpr_a7
= dwarf_gpr_r11
,
106 dwarf_gpr_t0
= dwarf_gpr_r12
,
107 dwarf_gpr_t1
= dwarf_gpr_r13
,
108 dwarf_gpr_t2
= dwarf_gpr_r14
,
109 dwarf_gpr_t3
= dwarf_gpr_r15
,
110 dwarf_gpr_t4
= dwarf_gpr_r16
,
111 dwarf_gpr_t5
= dwarf_gpr_r17
,
112 dwarf_gpr_t6
= dwarf_gpr_r18
,
113 dwarf_gpr_t7
= dwarf_gpr_r19
,
114 dwarf_gpr_t8
= dwarf_gpr_r20
,
115 dwarf_gpr_fp
= dwarf_gpr_r22
,
116 dwarf_gpr_s0
= dwarf_gpr_r23
,
117 dwarf_gpr_s1
= dwarf_gpr_r24
,
118 dwarf_gpr_s2
= dwarf_gpr_r25
,
119 dwarf_gpr_s3
= dwarf_gpr_r26
,
120 dwarf_gpr_s4
= dwarf_gpr_r27
,
121 dwarf_gpr_s5
= dwarf_gpr_r28
,
122 dwarf_gpr_s6
= dwarf_gpr_r29
,
123 dwarf_gpr_s7
= dwarf_gpr_r30
,
124 dwarf_gpr_s8
= dwarf_gpr_r31
,
126 dwarf_fpr_fa0
= dwarf_fpr_f0
,
127 dwarf_fpr_fa1
= dwarf_fpr_f1
,
128 dwarf_fpr_fa2
= dwarf_fpr_f2
,
129 dwarf_fpr_fa3
= dwarf_fpr_f3
,
130 dwarf_fpr_fa4
= dwarf_fpr_f4
,
131 dwarf_fpr_fa5
= dwarf_fpr_f5
,
132 dwarf_fpr_fa6
= dwarf_fpr_f6
,
133 dwarf_fpr_fa7
= dwarf_fpr_f7
,
134 dwarf_fpr_ft0
= dwarf_fpr_f8
,
135 dwarf_fpr_ft1
= dwarf_fpr_f9
,
136 dwarf_fpr_ft2
= dwarf_fpr_f10
,
137 dwarf_fpr_ft3
= dwarf_fpr_f11
,
138 dwarf_fpr_ft4
= dwarf_fpr_f12
,
139 dwarf_fpr_ft5
= dwarf_fpr_f13
,
140 dwarf_fpr_ft6
= dwarf_fpr_f14
,
141 dwarf_fpr_ft7
= dwarf_fpr_f15
,
142 dwarf_fpr_ft8
= dwarf_fpr_f16
,
143 dwarf_fpr_ft9
= dwarf_fpr_f17
,
144 dwarf_fpr_ft10
= dwarf_fpr_f18
,
145 dwarf_fpr_ft11
= dwarf_fpr_f19
,
146 dwarf_fpr_ft12
= dwarf_fpr_f20
,
147 dwarf_fpr_ft13
= dwarf_fpr_f21
,
148 dwarf_fpr_ft14
= dwarf_fpr_f22
,
149 dwarf_fpr_ft15
= dwarf_fpr_f23
,
150 dwarf_fpr_fs0
= dwarf_fpr_f24
,
151 dwarf_fpr_fs1
= dwarf_fpr_f25
,
152 dwarf_fpr_fs2
= dwarf_fpr_f26
,
153 dwarf_fpr_fs3
= dwarf_fpr_f27
,
154 dwarf_fpr_fs4
= dwarf_fpr_f28
,
155 dwarf_fpr_fs5
= dwarf_fpr_f29
,
156 dwarf_fpr_fs6
= dwarf_fpr_f30
,
157 dwarf_fpr_fs7
= dwarf_fpr_f31
,
160 dwarf_gpr_pc
= 57005,
162 // fake registers are only used to define `RegisterInfo`
177 } // namespace loongarch_dwarf
179 #endif // LLDB_SOURCE_UTILITY_LOONGARCH_DWARF_REGISTERS_H