llvm.org GIT mirror llvm / 9d1f82a
[codeview] Use push_macro to avoid conflicts instead of a prefix Summary: This prefix was added in r333421, and it changed our dumper output to say things like "CVRegEAX" instead of just "EAX". That's a functional change that I'd rather avoid. I tested GCC, Clang, and MSVC, and all of them support #pragma push_macro. They don't issue warnings whem the macro is not defined either. I don't have a Mac so I can't test the real termios.h header, but I looked at the termios.h sources online and looked for other conflicts. I saw only the CR* macros, so those are the ones we work around. Reviewers: zturner, JDevlieghere Subscribers: hiraditya, llvm-commits Differential Revision: https://reviews.llvm.org/D50851 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@339907 91177308-0d34-0410-b5e6-96231b3b80d8 Reid Kleckner 1 year, 2 months ago
13 changed file(s) with 526 addition(s) and 511 deletion(s). Raw diff Collapse all Expand all
1717 // This currently only contains the "register subset shared by all processor
1818 // types" (ERR etc.) and the x86 registers.
1919
20 CV_REGISTER(CVRegERR, 30000)
21 CV_REGISTER(CVRegTEB, 30001)
22 CV_REGISTER(CVRegTIMER, 30002)
23 CV_REGISTER(CVRegEFAD1, 30003)
24 CV_REGISTER(CVRegEFAD2, 30004)
25 CV_REGISTER(CVRegEFAD3, 30005)
26 CV_REGISTER(CVRegVFRAME, 30006)
27 CV_REGISTER(CVRegHANDLE, 30007)
28 CV_REGISTER(CVRegPARAMS, 30008)
29 CV_REGISTER(CVRegLOCALS, 30009)
30 CV_REGISTER(CVRegTID, 30010)
31 CV_REGISTER(CVRegENV, 30011)
32 CV_REGISTER(CVRegCMDLN, 30012)
33
34 CV_REGISTER(CVRegNONE, 0)
35 CV_REGISTER(CVRegAL, 1)
36 CV_REGISTER(CVRegCL, 2)
37 CV_REGISTER(CVRegDL, 3)
38 CV_REGISTER(CVRegBL, 4)
39 CV_REGISTER(CVRegAH, 5)
40 CV_REGISTER(CVRegCH, 6)
41 CV_REGISTER(CVRegDH, 7)
42 CV_REGISTER(CVRegBH, 8)
43 CV_REGISTER(CVRegAX, 9)
44 CV_REGISTER(CVRegCX, 10)
45 CV_REGISTER(CVRegDX, 11)
46 CV_REGISTER(CVRegBX, 12)
47 CV_REGISTER(CVRegSP, 13)
48 CV_REGISTER(CVRegBP, 14)
49 CV_REGISTER(CVRegSI, 15)
50 CV_REGISTER(CVRegDI, 16)
51 CV_REGISTER(CVRegEAX, 17)
52 CV_REGISTER(CVRegECX, 18)
53 CV_REGISTER(CVRegEDX, 19)
54 CV_REGISTER(CVRegEBX, 20)
55 CV_REGISTER(CVRegESP, 21)
56 CV_REGISTER(CVRegEBP, 22)
57 CV_REGISTER(CVRegESI, 23)
58 CV_REGISTER(CVRegEDI, 24)
59 CV_REGISTER(CVRegES, 25)
60 CV_REGISTER(CVRegCS, 26)
61 CV_REGISTER(CVRegSS, 27)
62 CV_REGISTER(CVRegDS, 28)
63 CV_REGISTER(CVRegFS, 29)
64 CV_REGISTER(CVRegGS, 30)
65 CV_REGISTER(CVRegIP, 31)
66 CV_REGISTER(CVRegFLAGS, 32)
67 CV_REGISTER(CVRegEIP, 33)
68 CV_REGISTER(CVRegEFLAGS, 34)
69 CV_REGISTER(CVRegTEMP, 40)
70 CV_REGISTER(CVRegTEMPH, 41)
71 CV_REGISTER(CVRegQUOTE, 42)
72 CV_REGISTER(CVRegPCDR3, 43)
73 CV_REGISTER(CVRegPCDR4, 44)
74 CV_REGISTER(CVRegPCDR5, 45)
75 CV_REGISTER(CVRegPCDR6, 46)
76 CV_REGISTER(CVRegPCDR7, 47)
77 CV_REGISTER(CVRegCR0, 80)
78 CV_REGISTER(CVRegCR1, 81)
79 CV_REGISTER(CVRegCR2, 82)
80 CV_REGISTER(CVRegCR3, 83)
81 CV_REGISTER(CVRegCR4, 84)
82 CV_REGISTER(CVRegDR0, 90)
83 CV_REGISTER(CVRegDR1, 91)
84 CV_REGISTER(CVRegDR2, 92)
85 CV_REGISTER(CVRegDR3, 93)
86 CV_REGISTER(CVRegDR4, 94)
87 CV_REGISTER(CVRegDR5, 95)
88 CV_REGISTER(CVRegDR6, 96)
89 CV_REGISTER(CVRegDR7, 97)
90 CV_REGISTER(CVRegGDTR, 110)
91 CV_REGISTER(CVRegGDTL, 111)
92 CV_REGISTER(CVRegIDTR, 112)
93 CV_REGISTER(CVRegIDTL, 113)
94 CV_REGISTER(CVRegLDTR, 114)
95 CV_REGISTER(CVRegTR, 115)
96
97 CV_REGISTER(CVRegPSEUDO1, 116)
98 CV_REGISTER(CVRegPSEUDO2, 117)
99 CV_REGISTER(CVRegPSEUDO3, 118)
100 CV_REGISTER(CVRegPSEUDO4, 119)
101 CV_REGISTER(CVRegPSEUDO5, 120)
102 CV_REGISTER(CVRegPSEUDO6, 121)
103 CV_REGISTER(CVRegPSEUDO7, 122)
104 CV_REGISTER(CVRegPSEUDO8, 123)
105 CV_REGISTER(CVRegPSEUDO9, 124)
106
107 CV_REGISTER(CVRegST0, 128)
108 CV_REGISTER(CVRegST1, 129)
109 CV_REGISTER(CVRegST2, 130)
110 CV_REGISTER(CVRegST3, 131)
111 CV_REGISTER(CVRegST4, 132)
112 CV_REGISTER(CVRegST5, 133)
113 CV_REGISTER(CVRegST6, 134)
114 CV_REGISTER(CVRegST7, 135)
115 CV_REGISTER(CVRegCTRL, 136)
116 CV_REGISTER(CVRegSTAT, 137)
117 CV_REGISTER(CVRegTAG, 138)
118 CV_REGISTER(CVRegFPIP, 139)
119 CV_REGISTER(CVRegFPCS, 140)
120 CV_REGISTER(CVRegFPDO, 141)
121 CV_REGISTER(CVRegFPDS, 142)
122 CV_REGISTER(CVRegISEM, 143)
123 CV_REGISTER(CVRegFPEIP, 144)
124 CV_REGISTER(CVRegFPEDO, 145)
125
126 CV_REGISTER(CVRegMM0, 146)
127 CV_REGISTER(CVRegMM1, 147)
128 CV_REGISTER(CVRegMM2, 148)
129 CV_REGISTER(CVRegMM3, 149)
130 CV_REGISTER(CVRegMM4, 150)
131 CV_REGISTER(CVRegMM5, 151)
132 CV_REGISTER(CVRegMM6, 152)
133 CV_REGISTER(CVRegMM7, 153)
134
135 CV_REGISTER(CVRegXMM0, 154)
136 CV_REGISTER(CVRegXMM1, 155)
137 CV_REGISTER(CVRegXMM2, 156)
138 CV_REGISTER(CVRegXMM3, 157)
139 CV_REGISTER(CVRegXMM4, 158)
140 CV_REGISTER(CVRegXMM5, 159)
141 CV_REGISTER(CVRegXMM6, 160)
142 CV_REGISTER(CVRegXMM7, 161)
143
144 CV_REGISTER(CVRegMXCSR, 211)
145
146 CV_REGISTER(CVRegEDXEAX, 212)
147
148 CV_REGISTER(CVRegEMM0L, 220)
149 CV_REGISTER(CVRegEMM1L, 221)
150 CV_REGISTER(CVRegEMM2L, 222)
151 CV_REGISTER(CVRegEMM3L, 223)
152 CV_REGISTER(CVRegEMM4L, 224)
153 CV_REGISTER(CVRegEMM5L, 225)
154 CV_REGISTER(CVRegEMM6L, 226)
155 CV_REGISTER(CVRegEMM7L, 227)
156
157 CV_REGISTER(CVRegEMM0H, 228)
158 CV_REGISTER(CVRegEMM1H, 229)
159 CV_REGISTER(CVRegEMM2H, 230)
160 CV_REGISTER(CVRegEMM3H, 231)
161 CV_REGISTER(CVRegEMM4H, 232)
162 CV_REGISTER(CVRegEMM5H, 233)
163 CV_REGISTER(CVRegEMM6H, 234)
164 CV_REGISTER(CVRegEMM7H, 235)
165
166 CV_REGISTER(CVRegMM00, 236)
167 CV_REGISTER(CVRegMM01, 237)
168 CV_REGISTER(CVRegMM10, 238)
169 CV_REGISTER(CVRegMM11, 239)
170 CV_REGISTER(CVRegMM20, 240)
171 CV_REGISTER(CVRegMM21, 241)
172 CV_REGISTER(CVRegMM30, 242)
173 CV_REGISTER(CVRegMM31, 243)
174 CV_REGISTER(CVRegMM40, 244)
175 CV_REGISTER(CVRegMM41, 245)
176 CV_REGISTER(CVRegMM50, 246)
177 CV_REGISTER(CVRegMM51, 247)
178 CV_REGISTER(CVRegMM60, 248)
179 CV_REGISTER(CVRegMM61, 249)
180 CV_REGISTER(CVRegMM70, 250)
181 CV_REGISTER(CVRegMM71, 251)
182
183 CV_REGISTER(CVRegBND0, 396)
184 CV_REGISTER(CVRegBND1, 397)
185 CV_REGISTER(CVRegBND2, 398)
186
187
188 CV_REGISTER(CVRegXMM8, 252)
189 CV_REGISTER(CVRegXMM9, 253)
190 CV_REGISTER(CVRegXMM10, 254)
191 CV_REGISTER(CVRegXMM11, 255)
192 CV_REGISTER(CVRegXMM12, 256)
193 CV_REGISTER(CVRegXMM13, 257)
194 CV_REGISTER(CVRegXMM14, 258)
195 CV_REGISTER(CVRegXMM15, 259)
196
197
198 CV_REGISTER(CVRegSIL, 324)
199 CV_REGISTER(CVRegDIL, 325)
200 CV_REGISTER(CVRegBPL, 326)
201 CV_REGISTER(CVRegSPL, 327)
202
203 CV_REGISTER(CVRegRAX, 328)
204 CV_REGISTER(CVRegRBX, 329)
205 CV_REGISTER(CVRegRCX, 330)
206 CV_REGISTER(CVRegRDX, 331)
207 CV_REGISTER(CVRegRSI, 332)
208 CV_REGISTER(CVRegRDI, 333)
209 CV_REGISTER(CVRegRBP, 334)
210 CV_REGISTER(CVRegRSP, 335)
211
212 CV_REGISTER(CVRegR8, 336)
213 CV_REGISTER(CVRegR9, 337)
214 CV_REGISTER(CVRegR10, 338)
215 CV_REGISTER(CVRegR11, 339)
216 CV_REGISTER(CVRegR12, 340)
217 CV_REGISTER(CVRegR13, 341)
218 CV_REGISTER(CVRegR14, 342)
219 CV_REGISTER(CVRegR15, 343)
220
221 CV_REGISTER(CVRegR8B, 344)
222 CV_REGISTER(CVRegR9B, 345)
223 CV_REGISTER(CVRegR10B, 346)
224 CV_REGISTER(CVRegR11B, 347)
225 CV_REGISTER(CVRegR12B, 348)
226 CV_REGISTER(CVRegR13B, 349)
227 CV_REGISTER(CVRegR14B, 350)
228 CV_REGISTER(CVRegR15B, 351)
229
230 CV_REGISTER(CVRegR8W, 352)
231 CV_REGISTER(CVRegR9W, 353)
232 CV_REGISTER(CVRegR10W, 354)
233 CV_REGISTER(CVRegR11W, 355)
234 CV_REGISTER(CVRegR12W, 356)
235 CV_REGISTER(CVRegR13W, 357)
236 CV_REGISTER(CVRegR14W, 358)
237 CV_REGISTER(CVRegR15W, 359)
238
239 CV_REGISTER(CVRegR8D, 360)
240 CV_REGISTER(CVRegR9D, 361)
241 CV_REGISTER(CVRegR10D, 362)
242 CV_REGISTER(CVRegR11D, 363)
243 CV_REGISTER(CVRegR12D, 364)
244 CV_REGISTER(CVRegR13D, 365)
245 CV_REGISTER(CVRegR14D, 366)
246 CV_REGISTER(CVRegR15D, 367)
20 // Some system headers define macros that conflict with our enums. Every
21 // compiler supported by LLVM has the push_macro and pop_macro pragmas, so use
22 // them to avoid the conflict.
23 #pragma push_macro("CR0")
24 #pragma push_macro("CR1")
25 #pragma push_macro("CR2")
26 #pragma push_macro("CR3")
27 #pragma push_macro("CR4")
28
29 CV_REGISTER(ERR, 30000)
30 CV_REGISTER(TEB, 30001)
31 CV_REGISTER(TIMER, 30002)
32 CV_REGISTER(EFAD1, 30003)
33 CV_REGISTER(EFAD2, 30004)
34 CV_REGISTER(EFAD3, 30005)
35 CV_REGISTER(VFRAME, 30006)
36 CV_REGISTER(HANDLE, 30007)
37 CV_REGISTER(PARAMS, 30008)
38 CV_REGISTER(LOCALS, 30009)
39 CV_REGISTER(TID, 30010)
40 CV_REGISTER(ENV, 30011)
41 CV_REGISTER(CMDLN, 30012)
42
43 CV_REGISTER(NONE, 0)
44 CV_REGISTER(AL, 1)
45 CV_REGISTER(CL, 2)
46 CV_REGISTER(DL, 3)
47 CV_REGISTER(BL, 4)
48 CV_REGISTER(AH, 5)
49 CV_REGISTER(CH, 6)
50 CV_REGISTER(DH, 7)
51 CV_REGISTER(BH, 8)
52 CV_REGISTER(AX, 9)
53 CV_REGISTER(CX, 10)
54 CV_REGISTER(DX, 11)
55 CV_REGISTER(BX, 12)
56 CV_REGISTER(SP, 13)
57 CV_REGISTER(BP, 14)
58 CV_REGISTER(SI, 15)
59 CV_REGISTER(DI, 16)
60 CV_REGISTER(EAX, 17)
61 CV_REGISTER(ECX, 18)
62 CV_REGISTER(EDX, 19)
63 CV_REGISTER(EBX, 20)
64 CV_REGISTER(ESP, 21)
65 CV_REGISTER(EBP, 22)
66 CV_REGISTER(ESI, 23)
67 CV_REGISTER(EDI, 24)
68 CV_REGISTER(ES, 25)
69 CV_REGISTER(CS, 26)
70 CV_REGISTER(SS, 27)
71 CV_REGISTER(DS, 28)
72 CV_REGISTER(FS, 29)
73 CV_REGISTER(GS, 30)
74 CV_REGISTER(IP, 31)
75 CV_REGISTER(FLAGS, 32)
76 CV_REGISTER(EIP, 33)
77 CV_REGISTER(EFLAGS, 34)
78 CV_REGISTER(TEMP, 40)
79 CV_REGISTER(TEMPH, 41)
80 CV_REGISTER(QUOTE, 42)
81 CV_REGISTER(PCDR3, 43)
82 CV_REGISTER(PCDR4, 44)
83 CV_REGISTER(PCDR5, 45)
84 CV_REGISTER(PCDR6, 46)
85 CV_REGISTER(PCDR7, 47)
86 CV_REGISTER(CR0, 80)
87 CV_REGISTER(CR1, 81)
88 CV_REGISTER(CR2, 82)
89 CV_REGISTER(CR3, 83)
90 CV_REGISTER(CR4, 84)
91 CV_REGISTER(DR0, 90)
92 CV_REGISTER(DR1, 91)
93 CV_REGISTER(DR2, 92)
94 CV_REGISTER(DR3, 93)
95 CV_REGISTER(DR4, 94)
96 CV_REGISTER(DR5, 95)
97 CV_REGISTER(DR6, 96)
98 CV_REGISTER(DR7, 97)
99 CV_REGISTER(GDTR, 110)
100 CV_REGISTER(GDTL, 111)
101 CV_REGISTER(IDTR, 112)
102 CV_REGISTER(IDTL, 113)
103 CV_REGISTER(LDTR, 114)
104 CV_REGISTER(TR, 115)
105
106 CV_REGISTER(PSEUDO1, 116)
107 CV_REGISTER(PSEUDO2, 117)
108 CV_REGISTER(PSEUDO3, 118)
109 CV_REGISTER(PSEUDO4, 119)
110 CV_REGISTER(PSEUDO5, 120)
111 CV_REGISTER(PSEUDO6, 121)
112 CV_REGISTER(PSEUDO7, 122)
113 CV_REGISTER(PSEUDO8, 123)
114 CV_REGISTER(PSEUDO9, 124)
115
116 CV_REGISTER(ST0, 128)
117 CV_REGISTER(ST1, 129)
118 CV_REGISTER(ST2, 130)
119 CV_REGISTER(ST3, 131)
120 CV_REGISTER(ST4, 132)
121 CV_REGISTER(ST5, 133)
122 CV_REGISTER(ST6, 134)
123 CV_REGISTER(ST7, 135)
124 CV_REGISTER(CTRL, 136)
125 CV_REGISTER(STAT, 137)
126 CV_REGISTER(TAG, 138)
127 CV_REGISTER(FPIP, 139)
128 CV_REGISTER(FPCS, 140)
129 CV_REGISTER(FPDO, 141)
130 CV_REGISTER(FPDS, 142)
131 CV_REGISTER(ISEM, 143)
132 CV_REGISTER(FPEIP, 144)
133 CV_REGISTER(FPEDO, 145)
134
135 CV_REGISTER(MM0, 146)
136 CV_REGISTER(MM1, 147)
137 CV_REGISTER(MM2, 148)
138 CV_REGISTER(MM3, 149)
139 CV_REGISTER(MM4, 150)
140 CV_REGISTER(MM5, 151)
141 CV_REGISTER(MM6, 152)
142 CV_REGISTER(MM7, 153)
143
144 CV_REGISTER(XMM0, 154)
145 CV_REGISTER(XMM1, 155)
146 CV_REGISTER(XMM2, 156)
147 CV_REGISTER(XMM3, 157)
148 CV_REGISTER(XMM4, 158)
149 CV_REGISTER(XMM5, 159)
150 CV_REGISTER(XMM6, 160)
151 CV_REGISTER(XMM7, 161)
152
153 CV_REGISTER(MXCSR, 211)
154
155 CV_REGISTER(EDXEAX, 212)
156
157 CV_REGISTER(EMM0L, 220)
158 CV_REGISTER(EMM1L, 221)
159 CV_REGISTER(EMM2L, 222)
160 CV_REGISTER(EMM3L, 223)
161 CV_REGISTER(EMM4L, 224)
162 CV_REGISTER(EMM5L, 225)
163 CV_REGISTER(EMM6L, 226)
164 CV_REGISTER(EMM7L, 227)
165
166 CV_REGISTER(EMM0H, 228)
167 CV_REGISTER(EMM1H, 229)
168 CV_REGISTER(EMM2H, 230)
169 CV_REGISTER(EMM3H, 231)
170 CV_REGISTER(EMM4H, 232)
171 CV_REGISTER(EMM5H, 233)
172 CV_REGISTER(EMM6H, 234)
173 CV_REGISTER(EMM7H, 235)
174
175 CV_REGISTER(MM00, 236)
176 CV_REGISTER(MM01, 237)
177 CV_REGISTER(MM10, 238)
178 CV_REGISTER(MM11, 239)
179 CV_REGISTER(MM20, 240)
180 CV_REGISTER(MM21, 241)
181 CV_REGISTER(MM30, 242)
182 CV_REGISTER(MM31, 243)
183 CV_REGISTER(MM40, 244)
184 CV_REGISTER(MM41, 245)
185 CV_REGISTER(MM50, 246)
186 CV_REGISTER(MM51, 247)
187 CV_REGISTER(MM60, 248)
188 CV_REGISTER(MM61, 249)
189 CV_REGISTER(MM70, 250)
190 CV_REGISTER(MM71, 251)
191
192 CV_REGISTER(BND0, 396)
193 CV_REGISTER(BND1, 397)
194 CV_REGISTER(BND2, 398)
195
196
197 CV_REGISTER(XMM8, 252)
198 CV_REGISTER(XMM9, 253)
199 CV_REGISTER(XMM10, 254)
200 CV_REGISTER(XMM11, 255)
201 CV_REGISTER(XMM12, 256)
202 CV_REGISTER(XMM13, 257)
203 CV_REGISTER(XMM14, 258)
204 CV_REGISTER(XMM15, 259)
205
206
207 CV_REGISTER(SIL, 324)
208 CV_REGISTER(DIL, 325)
209 CV_REGISTER(BPL, 326)
210 CV_REGISTER(SPL, 327)
211
212 CV_REGISTER(RAX, 328)
213 CV_REGISTER(RBX, 329)
214 CV_REGISTER(RCX, 330)
215 CV_REGISTER(RDX, 331)
216 CV_REGISTER(RSI, 332)
217 CV_REGISTER(RDI, 333)
218 CV_REGISTER(RBP, 334)
219 CV_REGISTER(RSP, 335)
220
221 CV_REGISTER(R8, 336)
222 CV_REGISTER(R9, 337)
223 CV_REGISTER(R10, 338)
224 CV_REGISTER(R11, 339)
225 CV_REGISTER(R12, 340)
226 CV_REGISTER(R13, 341)
227 CV_REGISTER(R14, 342)
228 CV_REGISTER(R15, 343)
229
230 CV_REGISTER(R8B, 344)
231 CV_REGISTER(R9B, 345)
232 CV_REGISTER(R10B, 346)
233 CV_REGISTER(R11B, 347)
234 CV_REGISTER(R12B, 348)
235 CV_REGISTER(R13B, 349)
236 CV_REGISTER(R14B, 350)
237 CV_REGISTER(R15B, 351)
238
239 CV_REGISTER(R8W, 352)
240 CV_REGISTER(R9W, 353)
241 CV_REGISTER(R10W, 354)
242 CV_REGISTER(R11W, 355)
243 CV_REGISTER(R12W, 356)
244 CV_REGISTER(R13W, 357)
245 CV_REGISTER(R14W, 358)
246 CV_REGISTER(R15W, 359)
247
248 CV_REGISTER(R8D, 360)
249 CV_REGISTER(R9D, 361)
250 CV_REGISTER(R10D, 362)
251 CV_REGISTER(R11D, 363)
252 CV_REGISTER(R12D, 364)
253 CV_REGISTER(R13D, 365)
254 CV_REGISTER(R14D, 366)
255 CV_REGISTER(R15D, 367)
247256
248257
249258 // cvconst.h defines both CV_REG_YMM0 (252) and CV_AMD64_YMM0 (368). Keep the
250259 // original prefix to distinguish them.
251260
252 CV_REGISTER(CVRegAMD64_YMM0, 368)
253 CV_REGISTER(CVRegAMD64_YMM1, 369)
254 CV_REGISTER(CVRegAMD64_YMM2, 370)
255 CV_REGISTER(CVRegAMD64_YMM3, 371)
256 CV_REGISTER(CVRegAMD64_YMM4, 372)
257 CV_REGISTER(CVRegAMD64_YMM5, 373)
258 CV_REGISTER(CVRegAMD64_YMM6, 374)
259 CV_REGISTER(CVRegAMD64_YMM7, 375)
260 CV_REGISTER(CVRegAMD64_YMM8, 376)
261 CV_REGISTER(CVRegAMD64_YMM9, 377)
262 CV_REGISTER(CVRegAMD64_YMM10, 378)
263 CV_REGISTER(CVRegAMD64_YMM11, 379)
264 CV_REGISTER(CVRegAMD64_YMM12, 380)
265 CV_REGISTER(CVRegAMD64_YMM13, 381)
266 CV_REGISTER(CVRegAMD64_YMM14, 382)
267 CV_REGISTER(CVRegAMD64_YMM15, 383)
268
269 CV_REGISTER(CVRegAMD64_YMM16, 710)
270 CV_REGISTER(CVRegAMD64_YMM17, 711)
271 CV_REGISTER(CVRegAMD64_YMM18, 712)
272 CV_REGISTER(CVRegAMD64_YMM19, 713)
273 CV_REGISTER(CVRegAMD64_YMM20, 714)
274 CV_REGISTER(CVRegAMD64_YMM21, 715)
275 CV_REGISTER(CVRegAMD64_YMM22, 716)
276 CV_REGISTER(CVRegAMD64_YMM23, 717)
277 CV_REGISTER(CVRegAMD64_YMM24, 718)
278 CV_REGISTER(CVRegAMD64_YMM25, 719)
279 CV_REGISTER(CVRegAMD64_YMM26, 720)
280 CV_REGISTER(CVRegAMD64_YMM27, 721)
281 CV_REGISTER(CVRegAMD64_YMM28, 722)
282 CV_REGISTER(CVRegAMD64_YMM29, 723)
283 CV_REGISTER(CVRegAMD64_YMM30, 724)
284 CV_REGISTER(CVRegAMD64_YMM31, 725)
285
286 CV_REGISTER(CVRegAMD64_ZMM0, 726)
287 CV_REGISTER(CVRegAMD64_ZMM1, 727)
288 CV_REGISTER(CVRegAMD64_ZMM2, 728)
289 CV_REGISTER(CVRegAMD64_ZMM3, 729)
290 CV_REGISTER(CVRegAMD64_ZMM4, 730)
291 CV_REGISTER(CVRegAMD64_ZMM5, 731)
292 CV_REGISTER(CVRegAMD64_ZMM6, 732)
293 CV_REGISTER(CVRegAMD64_ZMM7, 733)
294 CV_REGISTER(CVRegAMD64_ZMM8, 734)
295 CV_REGISTER(CVRegAMD64_ZMM9, 735)
296 CV_REGISTER(CVRegAMD64_ZMM10, 736)
297 CV_REGISTER(CVRegAMD64_ZMM11, 737)
298 CV_REGISTER(CVRegAMD64_ZMM12, 738)
299 CV_REGISTER(CVRegAMD64_ZMM13, 739)
300 CV_REGISTER(CVRegAMD64_ZMM14, 740)
301 CV_REGISTER(CVRegAMD64_ZMM15, 741)
302 CV_REGISTER(CVRegAMD64_ZMM16, 742)
303 CV_REGISTER(CVRegAMD64_ZMM17, 743)
304 CV_REGISTER(CVRegAMD64_ZMM18, 744)
305 CV_REGISTER(CVRegAMD64_ZMM19, 745)
306 CV_REGISTER(CVRegAMD64_ZMM20, 746)
307 CV_REGISTER(CVRegAMD64_ZMM21, 747)
308 CV_REGISTER(CVRegAMD64_ZMM22, 748)
309 CV_REGISTER(CVRegAMD64_ZMM23, 749)
310 CV_REGISTER(CVRegAMD64_ZMM24, 750)
311 CV_REGISTER(CVRegAMD64_ZMM25, 751)
312 CV_REGISTER(CVRegAMD64_ZMM26, 752)
313 CV_REGISTER(CVRegAMD64_ZMM27, 753)
314 CV_REGISTER(CVRegAMD64_ZMM28, 754)
315 CV_REGISTER(CVRegAMD64_ZMM29, 755)
316 CV_REGISTER(CVRegAMD64_ZMM30, 756)
317 CV_REGISTER(CVRegAMD64_ZMM31, 757)
318
319 CV_REGISTER(CVRegAMD64_K0, 758)
320 CV_REGISTER(CVRegAMD64_K1, 759)
321 CV_REGISTER(CVRegAMD64_K2, 760)
322 CV_REGISTER(CVRegAMD64_K3, 761)
323 CV_REGISTER(CVRegAMD64_K4, 762)
324 CV_REGISTER(CVRegAMD64_K5, 763)
325 CV_REGISTER(CVRegAMD64_K6, 764)
326 CV_REGISTER(CVRegAMD64_K7, 765)
261 CV_REGISTER(AMD64_YMM0, 368)
262 CV_REGISTER(AMD64_YMM1, 369)
263 CV_REGISTER(AMD64_YMM2, 370)
264 CV_REGISTER(AMD64_YMM3, 371)
265 CV_REGISTER(AMD64_YMM4, 372)
266 CV_REGISTER(AMD64_YMM5, 373)
267 CV_REGISTER(AMD64_YMM6, 374)
268 CV_REGISTER(AMD64_YMM7, 375)
269 CV_REGISTER(AMD64_YMM8, 376)
270 CV_REGISTER(AMD64_YMM9, 377)
271 CV_REGISTER(AMD64_YMM10, 378)
272 CV_REGISTER(AMD64_YMM11, 379)
273 CV_REGISTER(AMD64_YMM12, 380)
274 CV_REGISTER(AMD64_YMM13, 381)
275 CV_REGISTER(AMD64_YMM14, 382)
276 CV_REGISTER(AMD64_YMM15, 383)
277
278 CV_REGISTER(AMD64_YMM16, 710)
279 CV_REGISTER(AMD64_YMM17, 711)
280 CV_REGISTER(AMD64_YMM18, 712)
281 CV_REGISTER(AMD64_YMM19, 713)
282 CV_REGISTER(AMD64_YMM20, 714)
283 CV_REGISTER(AMD64_YMM21, 715)
284 CV_REGISTER(AMD64_YMM22, 716)
285 CV_REGISTER(AMD64_YMM23, 717)
286 CV_REGISTER(AMD64_YMM24, 718)
287 CV_REGISTER(AMD64_YMM25, 719)
288 CV_REGISTER(AMD64_YMM26, 720)
289 CV_REGISTER(AMD64_YMM27, 721)
290 CV_REGISTER(AMD64_YMM28, 722)
291 CV_REGISTER(AMD64_YMM29, 723)
292 CV_REGISTER(AMD64_YMM30, 724)
293 CV_REGISTER(AMD64_YMM31, 725)
294
295 CV_REGISTER(AMD64_ZMM0, 726)
296 CV_REGISTER(AMD64_ZMM1, 727)
297 CV_REGISTER(AMD64_ZMM2, 728)
298 CV_REGISTER(AMD64_ZMM3, 729)
299 CV_REGISTER(AMD64_ZMM4, 730)
300 CV_REGISTER(AMD64_ZMM5, 731)
301 CV_REGISTER(AMD64_ZMM6, 732)
302 CV_REGISTER(AMD64_ZMM7, 733)
303 CV_REGISTER(AMD64_ZMM8, 734)
304 CV_REGISTER(AMD64_ZMM9, 735)
305 CV_REGISTER(AMD64_ZMM10, 736)
306 CV_REGISTER(AMD64_ZMM11, 737)
307 CV_REGISTER(AMD64_ZMM12, 738)
308 CV_REGISTER(AMD64_ZMM13, 739)
309 CV_REGISTER(AMD64_ZMM14, 740)
310 CV_REGISTER(AMD64_ZMM15, 741)
311 CV_REGISTER(AMD64_ZMM16, 742)
312 CV_REGISTER(AMD64_ZMM17, 743)
313 CV_REGISTER(AMD64_ZMM18, 744)
314 CV_REGISTER(AMD64_ZMM19, 745)
315 CV_REGISTER(AMD64_ZMM20, 746)
316 CV_REGISTER(AMD64_ZMM21, 747)
317 CV_REGISTER(AMD64_ZMM22, 748)
318 CV_REGISTER(AMD64_ZMM23, 749)
319 CV_REGISTER(AMD64_ZMM24, 750)
320 CV_REGISTER(AMD64_ZMM25, 751)
321 CV_REGISTER(AMD64_ZMM26, 752)
322 CV_REGISTER(AMD64_ZMM27, 753)
323 CV_REGISTER(AMD64_ZMM28, 754)
324 CV_REGISTER(AMD64_ZMM29, 755)
325 CV_REGISTER(AMD64_ZMM30, 756)
326 CV_REGISTER(AMD64_ZMM31, 757)
327
328 CV_REGISTER(AMD64_K0, 758)
329 CV_REGISTER(AMD64_K1, 759)
330 CV_REGISTER(AMD64_K2, 760)
331 CV_REGISTER(AMD64_K3, 761)
332 CV_REGISTER(AMD64_K4, 762)
333 CV_REGISTER(AMD64_K5, 763)
334 CV_REGISTER(AMD64_K6, 764)
335 CV_REGISTER(AMD64_K7, 765)
336
337 #pragma pop_macro("CR0")
338 #pragma pop_macro("CR1")
339 #pragma pop_macro("CR2")
340 #pragma pop_macro("CR3")
341 #pragma pop_macro("CR4")
187187 }
188188
189189 codeview::RegisterId NativeRawSymbol::getLocalBasePointerRegisterId() const {
190 return codeview::RegisterId::CVRegEAX;
190 return codeview::RegisterId::EAX;
191191 }
192192
193193 uint32_t NativeRawSymbol::getLowerBoundId() const {
247247 }
248248
249249 codeview::RegisterId NativeRawSymbol::getRegisterId() const {
250 return codeview::RegisterId::CVRegEAX;
250 return codeview::RegisterId::EAX;
251251 }
252252
253253 uint32_t NativeRawSymbol::getRegisterType() const {
8080 codeview::RegisterId CVReg;
8181 MCPhysReg Reg;
8282 } RegMap[] = {
83 {codeview::RegisterId::CVRegAL, X86::AL},
84 {codeview::RegisterId::CVRegCL, X86::CL},
85 {codeview::RegisterId::CVRegDL, X86::DL},
86 {codeview::RegisterId::CVRegBL, X86::BL},
87 {codeview::RegisterId::CVRegAH, X86::AH},
88 {codeview::RegisterId::CVRegCH, X86::CH},
89 {codeview::RegisterId::CVRegDH, X86::DH},
90 {codeview::RegisterId::CVRegBH, X86::BH},
91 {codeview::RegisterId::CVRegAX, X86::AX},
92 {codeview::RegisterId::CVRegCX, X86::CX},
93 {codeview::RegisterId::CVRegDX, X86::DX},
94 {codeview::RegisterId::CVRegBX, X86::BX},
95 {codeview::RegisterId::CVRegSP, X86::SP},
96 {codeview::RegisterId::CVRegBP, X86::BP},
97 {codeview::RegisterId::CVRegSI, X86::SI},
98 {codeview::RegisterId::CVRegDI, X86::DI},
99 {codeview::RegisterId::CVRegEAX, X86::EAX},
100 {codeview::RegisterId::CVRegECX, X86::ECX},
101 {codeview::RegisterId::CVRegEDX, X86::EDX},
102 {codeview::RegisterId::CVRegEBX, X86::EBX},
103 {codeview::RegisterId::CVRegESP, X86::ESP},
104 {codeview::RegisterId::CVRegEBP, X86::EBP},
105 {codeview::RegisterId::CVRegESI, X86::ESI},
106 {codeview::RegisterId::CVRegEDI, X86::EDI},
107
108 {codeview::RegisterId::CVRegEFLAGS, X86::EFLAGS},
109
110 {codeview::RegisterId::CVRegST0, X86::FP0},
111 {codeview::RegisterId::CVRegST1, X86::FP1},
112 {codeview::RegisterId::CVRegST2, X86::FP2},
113 {codeview::RegisterId::CVRegST3, X86::FP3},
114 {codeview::RegisterId::CVRegST4, X86::FP4},
115 {codeview::RegisterId::CVRegST5, X86::FP5},
116 {codeview::RegisterId::CVRegST6, X86::FP6},
117 {codeview::RegisterId::CVRegST7, X86::FP7},
118
119 {codeview::RegisterId::CVRegXMM0, X86::XMM0},
120 {codeview::RegisterId::CVRegXMM1, X86::XMM1},
121 {codeview::RegisterId::CVRegXMM2, X86::XMM2},
122 {codeview::RegisterId::CVRegXMM3, X86::XMM3},
123 {codeview::RegisterId::CVRegXMM4, X86::XMM4},
124 {codeview::RegisterId::CVRegXMM5, X86::XMM5},
125 {codeview::RegisterId::CVRegXMM6, X86::XMM6},
126 {codeview::RegisterId::CVRegXMM7, X86::XMM7},
127
128 {codeview::RegisterId::CVRegXMM8, X86::XMM8},
129 {codeview::RegisterId::CVRegXMM9, X86::XMM9},
130 {codeview::RegisterId::CVRegXMM10, X86::XMM10},
131 {codeview::RegisterId::CVRegXMM11, X86::XMM11},
132 {codeview::RegisterId::CVRegXMM12, X86::XMM12},
133 {codeview::RegisterId::CVRegXMM13, X86::XMM13},
134 {codeview::RegisterId::CVRegXMM14, X86::XMM14},
135 {codeview::RegisterId::CVRegXMM15, X86::XMM15},
136
137 {codeview::RegisterId::CVRegSIL, X86::SIL},
138 {codeview::RegisterId::CVRegDIL, X86::DIL},
139 {codeview::RegisterId::CVRegBPL, X86::BPL},
140 {codeview::RegisterId::CVRegSPL, X86::SPL},
141 {codeview::RegisterId::CVRegRAX, X86::RAX},
142 {codeview::RegisterId::CVRegRBX, X86::RBX},
143 {codeview::RegisterId::CVRegRCX, X86::RCX},
144 {codeview::RegisterId::CVRegRDX, X86::RDX},
145 {codeview::RegisterId::CVRegRSI, X86::RSI},
146 {codeview::RegisterId::CVRegRDI, X86::RDI},
147 {codeview::RegisterId::CVRegRBP, X86::RBP},
148 {codeview::RegisterId::CVRegRSP, X86::RSP},
149 {codeview::RegisterId::CVRegR8, X86::R8},
150 {codeview::RegisterId::CVRegR9, X86::R9},
151 {codeview::RegisterId::CVRegR10, X86::R10},
152 {codeview::RegisterId::CVRegR11, X86::R11},
153 {codeview::RegisterId::CVRegR12, X86::R12},
154 {codeview::RegisterId::CVRegR13, X86::R13},
155 {codeview::RegisterId::CVRegR14, X86::R14},
156 {codeview::RegisterId::CVRegR15, X86::R15},
157 {codeview::RegisterId::CVRegR8B, X86::R8B},
158 {codeview::RegisterId::CVRegR9B, X86::R9B},
159 {codeview::RegisterId::CVRegR10B, X86::R10B},
160 {codeview::RegisterId::CVRegR11B, X86::R11B},
161 {codeview::RegisterId::CVRegR12B, X86::R12B},
162 {codeview::RegisterId::CVRegR13B, X86::R13B},
163 {codeview::RegisterId::CVRegR14B, X86::R14B},
164 {codeview::RegisterId::CVRegR15B, X86::R15B},
165 {codeview::RegisterId::CVRegR8W, X86::R8W},
166 {codeview::RegisterId::CVRegR9W, X86::R9W},
167 {codeview::RegisterId::CVRegR10W, X86::R10W},
168 {codeview::RegisterId::CVRegR11W, X86::R11W},
169 {codeview::RegisterId::CVRegR12W, X86::R12W},
170 {codeview::RegisterId::CVRegR13W, X86::R13W},
171 {codeview::RegisterId::CVRegR14W, X86::R14W},
172 {codeview::RegisterId::CVRegR15W, X86::R15W},
173 {codeview::RegisterId::CVRegR8D, X86::R8D},
174 {codeview::RegisterId::CVRegR9D, X86::R9D},
175 {codeview::RegisterId::CVRegR10D, X86::R10D},
176 {codeview::RegisterId::CVRegR11D, X86::R11D},
177 {codeview::RegisterId::CVRegR12D, X86::R12D},
178 {codeview::RegisterId::CVRegR13D, X86::R13D},
179 {codeview::RegisterId::CVRegR14D, X86::R14D},
180 {codeview::RegisterId::CVRegR15D, X86::R15D},
181 {codeview::RegisterId::CVRegAMD64_YMM0, X86::YMM0},
182 {codeview::RegisterId::CVRegAMD64_YMM1, X86::YMM1},
183 {codeview::RegisterId::CVRegAMD64_YMM2, X86::YMM2},
184 {codeview::RegisterId::CVRegAMD64_YMM3, X86::YMM3},
185 {codeview::RegisterId::CVRegAMD64_YMM4, X86::YMM4},
186 {codeview::RegisterId::CVRegAMD64_YMM5, X86::YMM5},
187 {codeview::RegisterId::CVRegAMD64_YMM6, X86::YMM6},
188 {codeview::RegisterId::CVRegAMD64_YMM7, X86::YMM7},
189 {codeview::RegisterId::CVRegAMD64_YMM8, X86::YMM8},
190 {codeview::RegisterId::CVRegAMD64_YMM9, X86::YMM9},
191 {codeview::RegisterId::CVRegAMD64_YMM10, X86::YMM10},
192 {codeview::RegisterId::CVRegAMD64_YMM11, X86::YMM11},
193 {codeview::RegisterId::CVRegAMD64_YMM12, X86::YMM12},
194 {codeview::RegisterId::CVRegAMD64_YMM13, X86::YMM13},
195 {codeview::RegisterId::CVRegAMD64_YMM14, X86::YMM14},
196 {codeview::RegisterId::CVRegAMD64_YMM15, X86::YMM15},
197 {codeview::RegisterId::CVRegAMD64_YMM16, X86::YMM16},
198 {codeview::RegisterId::CVRegAMD64_YMM17, X86::YMM17},
199 {codeview::RegisterId::CVRegAMD64_YMM18, X86::YMM18},
200 {codeview::RegisterId::CVRegAMD64_YMM19, X86::YMM19},
201 {codeview::RegisterId::CVRegAMD64_YMM20, X86::YMM20},
202 {codeview::RegisterId::CVRegAMD64_YMM21, X86::YMM21},
203 {codeview::RegisterId::CVRegAMD64_YMM22, X86::YMM22},
204 {codeview::RegisterId::CVRegAMD64_YMM23, X86::YMM23},
205 {codeview::RegisterId::CVRegAMD64_YMM24, X86::YMM24},
206 {codeview::RegisterId::CVRegAMD64_YMM25, X86::YMM25},
207 {codeview::RegisterId::CVRegAMD64_YMM26, X86::YMM26},
208 {codeview::RegisterId::CVRegAMD64_YMM27, X86::YMM27},
209 {codeview::RegisterId::CVRegAMD64_YMM28, X86::YMM28},
210 {codeview::RegisterId::CVRegAMD64_YMM29, X86::YMM29},
211 {codeview::RegisterId::CVRegAMD64_YMM30, X86::YMM30},
212 {codeview::RegisterId::CVRegAMD64_YMM31, X86::YMM31},
213 {codeview::RegisterId::CVRegAMD64_ZMM0, X86::ZMM0},
214 {codeview::RegisterId::CVRegAMD64_ZMM1, X86::ZMM1},
215 {codeview::RegisterId::CVRegAMD64_ZMM2, X86::ZMM2},
216 {codeview::RegisterId::CVRegAMD64_ZMM3, X86::ZMM3},
217 {codeview::RegisterId::CVRegAMD64_ZMM4, X86::ZMM4},
218 {codeview::RegisterId::CVRegAMD64_ZMM5, X86::ZMM5},
219 {codeview::RegisterId::CVRegAMD64_ZMM6, X86::ZMM6},
220 {codeview::RegisterId::CVRegAMD64_ZMM7, X86::ZMM7},
221 {codeview::RegisterId::CVRegAMD64_ZMM8, X86::ZMM8},
222 {codeview::RegisterId::CVRegAMD64_ZMM9, X86::ZMM9},
223 {codeview::RegisterId::CVRegAMD64_ZMM10, X86::ZMM10},
224 {codeview::RegisterId::CVRegAMD64_ZMM11, X86::ZMM11},
225 {codeview::RegisterId::CVRegAMD64_ZMM12, X86::ZMM12},
226 {codeview::RegisterId::CVRegAMD64_ZMM13, X86::ZMM13},
227 {codeview::RegisterId::CVRegAMD64_ZMM14, X86::ZMM14},
228 {codeview::RegisterId::CVRegAMD64_ZMM15, X86::ZMM15},
229 {codeview::RegisterId::CVRegAMD64_ZMM16, X86::ZMM16},
230 {codeview::RegisterId::CVRegAMD64_ZMM17, X86::ZMM17},
231 {codeview::RegisterId::CVRegAMD64_ZMM18, X86::ZMM18},
232 {codeview::RegisterId::CVRegAMD64_ZMM19, X86::ZMM19},
233 {codeview::RegisterId::CVRegAMD64_ZMM20, X86::ZMM20},
234 {codeview::RegisterId::CVRegAMD64_ZMM21, X86::ZMM21},
235 {codeview::RegisterId::CVRegAMD64_ZMM22, X86::ZMM22},
236 {codeview::RegisterId::CVRegAMD64_ZMM23, X86::ZMM23},
237 {codeview::RegisterId::CVRegAMD64_ZMM24, X86::ZMM24},
238 {codeview::RegisterId::CVRegAMD64_ZMM25, X86::ZMM25},
239 {codeview::RegisterId::CVRegAMD64_ZMM26, X86::ZMM26},
240 {codeview::RegisterId::CVRegAMD64_ZMM27, X86::ZMM27},
241 {codeview::RegisterId::CVRegAMD64_ZMM28, X86::ZMM28},
242 {codeview::RegisterId::CVRegAMD64_ZMM29, X86::ZMM29},
243 {codeview::RegisterId::CVRegAMD64_ZMM30, X86::ZMM30},
244 {codeview::RegisterId::CVRegAMD64_ZMM31, X86::ZMM31},
245 {codeview::RegisterId::CVRegAMD64_K0, X86::K0},
246 {codeview::RegisterId::CVRegAMD64_K1, X86::K1},
247 {codeview::RegisterId::CVRegAMD64_K2, X86::K2},
248 {codeview::RegisterId::CVRegAMD64_K3, X86::K3},
249 {codeview::RegisterId::CVRegAMD64_K4, X86::K4},
250 {codeview::RegisterId::CVRegAMD64_K5, X86::K5},
251 {codeview::RegisterId::CVRegAMD64_K6, X86::K6},
252 {codeview::RegisterId::CVRegAMD64_K7, X86::K7},
83 {codeview::RegisterId::AL, X86::AL},
84 {codeview::RegisterId::CL, X86::CL},
85 {codeview::RegisterId::DL, X86::DL},
86 {codeview::RegisterId::BL, X86::BL},
87 {codeview::RegisterId::AH, X86::AH},
88 {codeview::RegisterId::CH, X86::CH},
89 {codeview::RegisterId::DH, X86::DH},
90 {codeview::RegisterId::BH, X86::BH},
91 {codeview::RegisterId::AX, X86::AX},
92 {codeview::RegisterId::CX, X86::CX},
93 {codeview::RegisterId::DX, X86::DX},
94 {codeview::RegisterId::BX, X86::BX},
95 {codeview::RegisterId::SP, X86::SP},
96 {codeview::RegisterId::BP, X86::BP},
97 {codeview::RegisterId::SI, X86::SI},
98 {codeview::RegisterId::DI, X86::DI},
99 {codeview::RegisterId::EAX, X86::EAX},
100 {codeview::RegisterId::ECX, X86::ECX},
101 {codeview::RegisterId::EDX, X86::EDX},
102 {codeview::RegisterId::EBX, X86::EBX},
103 {codeview::RegisterId::ESP, X86::ESP},
104 {codeview::RegisterId::EBP, X86::EBP},
105 {codeview::RegisterId::ESI, X86::ESI},
106 {codeview::RegisterId::EDI, X86::EDI},
107
108 {codeview::RegisterId::EFLAGS, X86::EFLAGS},
109
110 {codeview::RegisterId::ST0, X86::FP0},
111 {codeview::RegisterId::ST1, X86::FP1},
112 {codeview::RegisterId::ST2, X86::FP2},
113 {codeview::RegisterId::ST3, X86::FP3},
114 {codeview::RegisterId::ST4, X86::FP4},
115 {codeview::RegisterId::ST5, X86::FP5},
116 {codeview::RegisterId::ST6, X86::FP6},
117 {codeview::RegisterId::ST7, X86::FP7},
118
119 {codeview::RegisterId::XMM0, X86::XMM0},
120 {codeview::RegisterId::XMM1, X86::XMM1},
121 {codeview::RegisterId::XMM2, X86::XMM2},
122 {codeview::RegisterId::XMM3, X86::XMM3},
123 {codeview::RegisterId::XMM4, X86::XMM4},
124 {codeview::RegisterId::XMM5, X86::XMM5},
125 {codeview::RegisterId::XMM6, X86::XMM6},
126 {codeview::RegisterId::XMM7, X86::XMM7},
127
128 {codeview::RegisterId::XMM8, X86::XMM8},
129 {codeview::RegisterId::XMM9, X86::XMM9},
130 {codeview::RegisterId::XMM10, X86::XMM10},
131 {codeview::RegisterId::XMM11, X86::XMM11},
132 {codeview::RegisterId::XMM12, X86::XMM12},
133 {codeview::RegisterId::XMM13, X86::XMM13},
134 {codeview::RegisterId::XMM14, X86::XMM14},
135 {codeview::RegisterId::XMM15, X86::XMM15},
136
137 {codeview::RegisterId::SIL, X86::SIL},
138 {codeview::RegisterId::DIL, X86::DIL},
139 {codeview::RegisterId::BPL, X86::BPL},
140 {codeview::RegisterId::SPL, X86::SPL},
141 {codeview::RegisterId::RAX, X86::RAX},
142 {codeview::RegisterId::RBX, X86::RBX},
143 {codeview::RegisterId::RCX, X86::RCX},
144 {codeview::RegisterId::RDX, X86::RDX},
145 {codeview::RegisterId::RSI, X86::RSI},
146 {codeview::RegisterId::RDI, X86::RDI},
147 {codeview::RegisterId::RBP, X86::RBP},
148 {codeview::RegisterId::RSP, X86::RSP},
149 {codeview::RegisterId::R8, X86::R8},
150 {codeview::RegisterId::R9, X86::R9},
151 {codeview::RegisterId::R10, X86::R10},
152 {codeview::RegisterId::R11, X86::R11},
153 {codeview::RegisterId::R12, X86::R12},
154 {codeview::RegisterId::R13, X86::R13},
155 {codeview::RegisterId::R14, X86::R14},
156 {codeview::RegisterId::R15, X86::R15},
157 {codeview::RegisterId::R8B, X86::R8B},
158 {codeview::RegisterId::R9B, X86::R9B},
159 {codeview::RegisterId::R10B, X86::R10B},
160 {codeview::RegisterId::R11B, X86::R11B},
161 {codeview::RegisterId::R12B, X86::R12B},
162 {codeview::RegisterId::R13B, X86::R13B},
163 {codeview::RegisterId::R14B, X86::R14B},
164 {codeview::RegisterId::R15B, X86::R15B},
165 {codeview::RegisterId::R8W, X86::R8W},
166 {codeview::RegisterId::R9W, X86::R9W},
167 {codeview::RegisterId::R10W, X86::R10W},
168 {codeview::RegisterId::R11W, X86::R11W},
169 {codeview::RegisterId::R12W, X86::R12W},
170 {codeview::RegisterId::R13W, X86::R13W},
171 {codeview::RegisterId::R14W, X86::R14W},
172 {codeview::RegisterId::R15W, X86::R15W},
173 {codeview::RegisterId::R8D, X86::R8D},
174 {codeview::RegisterId::R9D, X86::R9D},
175 {codeview::RegisterId::R10D, X86::R10D},
176 {codeview::RegisterId::R11D, X86::R11D},
177 {codeview::RegisterId::R12D, X86::R12D},
178 {codeview::RegisterId::R13D, X86::R13D},
179 {codeview::RegisterId::R14D, X86::R14D},
180 {codeview::RegisterId::R15D, X86::R15D},
181 {codeview::RegisterId::AMD64_YMM0, X86::YMM0},
182 {codeview::RegisterId::AMD64_YMM1, X86::YMM1},
183 {codeview::RegisterId::AMD64_YMM2, X86::YMM2},
184 {codeview::RegisterId::AMD64_YMM3, X86::YMM3},
185 {codeview::RegisterId::AMD64_YMM4, X86::YMM4},
186 {codeview::RegisterId::AMD64_YMM5, X86::YMM5},
187 {codeview::RegisterId::AMD64_YMM6, X86::YMM6},
188 {codeview::RegisterId::AMD64_YMM7, X86::YMM7},
189 {codeview::RegisterId::AMD64_YMM8, X86::YMM8},
190 {codeview::RegisterId::AMD64_YMM9, X86::YMM9},
191 {codeview::RegisterId::AMD64_YMM10, X86::YMM10},
192 {codeview::RegisterId::AMD64_YMM11, X86::YMM11},
193 {codeview::RegisterId::AMD64_YMM12, X86::YMM12},
194 {codeview::RegisterId::AMD64_YMM13, X86::YMM13},
195 {codeview::RegisterId::AMD64_YMM14, X86::YMM14},
196 {codeview::RegisterId::AMD64_YMM15, X86::YMM15},
197 {codeview::RegisterId::AMD64_YMM16, X86::YMM16},
198 {codeview::RegisterId::AMD64_YMM17, X86::YMM17},
199 {codeview::RegisterId::AMD64_YMM18, X86::YMM18},
200 {codeview::RegisterId::AMD64_YMM19, X86::YMM19},
201 {codeview::RegisterId::AMD64_YMM20, X86::YMM20},
202 {codeview::RegisterId::AMD64_YMM21, X86::YMM21},
203 {codeview::RegisterId::AMD64_YMM22, X86::YMM22},
204 {codeview::RegisterId::AMD64_YMM23, X86::YMM23},
205 {codeview::RegisterId::AMD64_YMM24, X86::YMM24},
206 {codeview::RegisterId::AMD64_YMM25, X86::YMM25},
207 {codeview::RegisterId::AMD64_YMM26, X86::YMM26},
208 {codeview::RegisterId::AMD64_YMM27, X86::YMM27},
209 {codeview::RegisterId::AMD64_YMM28, X86::YMM28},
210 {codeview::RegisterId::AMD64_YMM29, X86::YMM29},
211 {codeview::RegisterId::AMD64_YMM30, X86::YMM30},
212 {codeview::RegisterId::AMD64_YMM31, X86::YMM31},
213 {codeview::RegisterId::AMD64_ZMM0, X86::ZMM0},
214 {codeview::RegisterId::AMD64_ZMM1, X86::ZMM1},
215 {codeview::RegisterId::AMD64_ZMM2, X86::ZMM2},
216 {codeview::RegisterId::AMD64_ZMM3, X86::ZMM3},
217 {codeview::RegisterId::AMD64_ZMM4, X86::ZMM4},
218 {codeview::RegisterId::AMD64_ZMM5, X86::ZMM5},
219 {codeview::RegisterId::AMD64_ZMM6, X86::ZMM6},
220 {codeview::RegisterId::AMD64_ZMM7, X86::ZMM7},
221 {codeview::RegisterId::AMD64_ZMM8, X86::ZMM8},
222 {codeview::RegisterId::AMD64_ZMM9, X86::ZMM9},
223 {codeview::RegisterId::AMD64_ZMM10, X86::ZMM10},
224 {codeview::RegisterId::AMD64_ZMM11, X86::ZMM11},
225 {codeview::RegisterId::AMD64_ZMM12, X86::ZMM12},
226 {codeview::RegisterId::AMD64_ZMM13, X86::ZMM13},
227 {codeview::RegisterId::AMD64_ZMM14, X86::ZMM14},
228 {codeview::RegisterId::AMD64_ZMM15, X86::ZMM15},
229 {codeview::RegisterId::AMD64_ZMM16, X86::ZMM16},
230 {codeview::RegisterId::AMD64_ZMM17, X86::ZMM17},
231 {codeview::RegisterId::AMD64_ZMM18, X86::ZMM18},
232 {codeview::RegisterId::AMD64_ZMM19, X86::ZMM19},
233 {codeview::RegisterId::AMD64_ZMM20, X86::ZMM20},
234 {codeview::RegisterId::AMD64_ZMM21, X86::ZMM21},
235 {codeview::RegisterId::AMD64_ZMM22, X86::ZMM22},
236 {codeview::RegisterId::AMD64_ZMM23, X86::ZMM23},
237 {codeview::RegisterId::AMD64_ZMM24, X86::ZMM24},
238 {codeview::RegisterId::AMD64_ZMM25, X86::ZMM25},
239 {codeview::RegisterId::AMD64_ZMM26, X86::ZMM26},
240 {codeview::RegisterId::AMD64_ZMM27, X86::ZMM27},
241 {codeview::RegisterId::AMD64_ZMM28, X86::ZMM28},
242 {codeview::RegisterId::AMD64_ZMM29, X86::ZMM29},
243 {codeview::RegisterId::AMD64_ZMM30, X86::ZMM30},
244 {codeview::RegisterId::AMD64_ZMM31, X86::ZMM31},
245 {codeview::RegisterId::AMD64_K0, X86::K0},
246 {codeview::RegisterId::AMD64_K1, X86::K1},
247 {codeview::RegisterId::AMD64_K2, X86::K2},
248 {codeview::RegisterId::AMD64_K3, X86::K3},
249 {codeview::RegisterId::AMD64_K4, X86::K4},
250 {codeview::RegisterId::AMD64_K5, X86::K5},
251 {codeview::RegisterId::AMD64_K6, X86::K6},
252 {codeview::RegisterId::AMD64_K7, X86::K7},
253253 };
254254 for (unsigned I = 0; I < array_lengthof(RegMap); ++I)
255255 MRI->mapLLVMRegToCVReg(RegMap[I].Reg, static_cast(RegMap[I].CVReg));
1111
1212 ; ASM: .cv_def_range Lfunc_begin0 Lfunc_end0, "A\021\200\000\000\000"
1313 ; OBJ: DefRangeRegisterSym {
14 ; OBJ: Register: CVRegST0 (0x80)
14 ; OBJ: Register: ST0 (0x80)
1515 ; OBJ: MayHaveNoName: 0
1616 ; OBJ: LocalVariableAddrRange {
1717 ; OBJ: OffsetStart: .text+0x0
7272 ; OBJ-NOT: LocalSym {
7373 ; OBJ: DefRangeRegisterSym {
7474 ; OBJ-NEXT: Kind:
75 ; OBJ-NEXT: Register: CVRegESI (0x17)
75 ; OBJ-NEXT: Register: ESI (0x17)
7676 ; OBJ-NEXT: MayHaveNoName: 0
7777 ; OBJ-NEXT: LocalVariableAddrRange {
7878 ; OBJ-NEXT: OffsetStart: .text+0x{{.*}}
110110 ; OBJ: VarName: param
111111 ; OBJ: }
112112 ; OBJ: DefRangeRegisterRelSym {
113 ; OBJ: BaseRegister: CVRegRSP (0x14F)
113 ; OBJ: BaseRegister: RSP (0x14F)
114114 ; OBJ: HasSpilledUDTMember: No
115115 ; OBJ: OffsetInParent: 0
116116 ; OBJ: BasePointerOffset: 52
127127 ; OBJ: VarName: a
128128 ; OBJ: }
129129 ; OBJ: DefRangeRegisterRelSym {
130 ; OBJ: BaseRegister: CVRegRSP (0x14F)
130 ; OBJ: BaseRegister: RSP (0x14F)
131131 ; OBJ: HasSpilledUDTMember: No
132132 ; OBJ: OffsetInParent: 0
133133 ; OBJ: BasePointerOffset: 40
144144 ; OBJ: VarName: b
145145 ; OBJ: }
146146 ; OBJ: DefRangeRegisterRelSym {
147 ; OBJ: BaseRegister: CVRegRSP (0x14F)
147 ; OBJ: BaseRegister: RSP (0x14F)
148148 ; OBJ: HasSpilledUDTMember: No
149149 ; OBJ: OffsetInParent: 0
150150 ; OBJ: BasePointerOffset: 36
172172 ; OBJ: VarName: v
173173 ; OBJ: }
174174 ; OBJ: DefRangeRegisterRelSym {
175 ; OBJ: BaseRegister: CVRegRSP (0x14F)
175 ; OBJ: BaseRegister: RSP (0x14F)
176176 ; OBJ: HasSpilledUDTMember: No
177177 ; OBJ: OffsetInParent: 0
178178 ; OBJ: BasePointerOffset: 44
202202 ; OBJ: VarName: v
203203 ; OBJ: }
204204 ; OBJ: DefRangeRegisterRelSym {
205 ; OBJ: BaseRegister: CVRegRSP (0x14F)
205 ; OBJ: BaseRegister: RSP (0x14F)
206206 ; OBJ: HasSpilledUDTMember: No
207207 ; OBJ: OffsetInParent: 0
208208 ; OBJ: BasePointerOffset: 48
115115 ; OBJ: VarName: o
116116 ; OBJ: }
117117 ; OBJ: DefRangeSubfieldRegisterSym {
118 ; OBJ: Register: CVRegEDI (0x18)
118 ; OBJ: Register: EDI (0x18)
119119 ; OBJ: MayHaveNoName: 0
120120 ; OBJ: OffsetInParent: 0
121121 ; OBJ: LocalVariableAddrRange {
122122 ; OBJ: }
123123 ; OBJ: }
124124 ; OBJ: DefRangeSubfieldRegisterSym {
125 ; OBJ: Register: CVRegESI (0x17)
125 ; OBJ: Register: ESI (0x17)
126126 ; OBJ: MayHaveNoName: 0
127127 ; OBJ: OffsetInParent: 4
128128 ; OBJ: LocalVariableAddrRange {
145145 ; OBJ: VarName: o
146146 ; OBJ: }
147147 ; OBJ: DefRangeSubfieldRegisterSym {
148 ; OBJ: Register: CVRegECX (0x12)
148 ; OBJ: Register: ECX (0x12)
149149 ; OBJ: MayHaveNoName: 0
150150 ; OBJ: OffsetInParent: 4
151151 ; OBJ: LocalVariableAddrRange {
168168 ; OBJ: VarName: o
169169 ; OBJ: }
170170 ; OBJ: DefRangeSubfieldRegisterSym {
171 ; OBJ: Register: CVRegECX (0x12)
171 ; OBJ: Register: ECX (0x12)
172172 ; OBJ: MayHaveNoName: 0
173173 ; OBJ: OffsetInParent: 0
174174 ; OBJ: LocalVariableAddrRange {
195195 ; OBJ: VarName: o
196196 ; OBJ: }
197197 ; OBJ: DefRangeRegisterRelSym {
198 ; OBJ: BaseRegister: CVRegRCX (0x14A)
198 ; OBJ: BaseRegister: RCX (0x14A)
199199 ; OBJ: HasSpilledUDTMember: No
200200 ; OBJ: OffsetInParent: 0
201201 ; OBJ: BasePointerOffset: 0
206206 ; OBJ: VarName: p
207207 ; OBJ: }
208208 ; OBJ: DefRangeSubfieldRegisterSym {
209 ; OBJ: Register: CVRegEAX (0x11)
209 ; OBJ: Register: EAX (0x11)
210210 ; OBJ: MayHaveNoName: 0
211211 ; OBJ: OffsetInParent: 4
212212 ; OBJ: LocalVariableAddrRange {
230230 ; OBJ: VarName: o
231231 ; OBJ: }
232232 ; OBJ: DefRangeRegisterRelSym {
233 ; OBJ: BaseRegister: CVRegRSP (0x14F)
233 ; OBJ: BaseRegister: RSP (0x14F)
234234 ; OBJ: HasSpilledUDTMember: Yes
235235 ; OBJ: OffsetInParent: 4
236236 ; OBJ: BasePointerOffset: 36
9191 ; OBJ: VarName: p
9292 ; OBJ: }
9393 ; OBJ: DefRangeRegisterSym {
94 ; OBJ: Register: CVRegECX (0x12)
94 ; OBJ: Register: ECX (0x12)
9595 ; OBJ: LocalVariableAddrRange {
9696 ; OBJ: OffsetStart: .text+0x0
9797 ; OBJ: ISectStart: 0x0
9999 ; OBJ: }
100100 ; OBJ: }
101101 ; OBJ: DefRangeRegisterSym {
102 ; OBJ: Register: CVRegESI (0x17)
102 ; OBJ: Register: ESI (0x17)
103103 ; OBJ: LocalVariableAddrRange {
104104 ; OBJ: OffsetStart: .text+0x7
105105 ; OBJ: ISectStart: 0x0
113113 ; OBJ: VarName: c
114114 ; OBJ: }
115115 ; OBJ: DefRangeRegisterSym {
116 ; OBJ: Register: CVRegEAX (0x11)
116 ; OBJ: Register: EAX (0x11)
117117 ; OBJ: LocalVariableAddrRange {
118118 ; OBJ: OffsetStart: .text+0xC
119119 ; OBJ: ISectStart: 0x0
127127 ; OBJ: VarName: a
128128 ; OBJ: }
129129 ; OBJ: DefRangeRegisterSym {
130 ; OBJ: Register: CVRegEAX (0x11)
130 ; OBJ: Register: EAX (0x11)
131131 ; OBJ: LocalVariableAddrRange {
132132 ; OBJ: OffsetStart: .text+0xC
133133 ; OBJ: ISectStart: 0x0
141141 ; OBJ: VarName: b
142142 ; OBJ: }
143143 ; OBJ: DefRangeRegisterSym {
144 ; OBJ: Register: CVRegEAX (0x11)
144 ; OBJ: Register: EAX (0x11)
145145 ; OBJ: MayHaveNoName: 0
146146 ; OBJ: OffsetStart: .text+0x13
147147 ; OBJ: ISectStart: 0x0
161161 ; OBJ: VarName: a
162162 ; OBJ: }
163163 ; OBJ: DefRangeRegisterSym {
164 ; OBJ: Register: CVRegEAX (0x11)
164 ; OBJ: Register: EAX (0x11)
165165 ; OBJ: LocalVariableAddrRange {
166166 ; OBJ: OffsetStart: .text+0xC
167167 ; OBJ: ISectStart: 0x0
175175 ; OBJ: VarName: b
176176 ; OBJ: }
177177 ; OBJ: DefRangeRegisterSym {
178 ; OBJ: Register: CVRegEAX (0x11)
178 ; OBJ: Register: EAX (0x11)
179179 ; OBJ: LocalVariableAddrRange {
180180 ; OBJ: OffsetStart: .text+0x13
181181 ; OBJ: ISectStart: 0x0
6767 ; CHECK: VarName: a
6868 ; CHECK: }
6969 ; CHECK: DefRangeRegisterRelSym {
70 ; CHECK: BaseRegister: CVRegEBP (0x16)
70 ; CHECK: BaseRegister: EBP (0x16)
7171 ; CHECK: HasSpilledUDTMember: No
7272 ; CHECK: OffsetInParent: 0
7373 ; CHECK: BasePointerOffset: -20
1313
1414 ; SYM_FORMAT: ---SYMBOLS---
1515 ; SYM_FORMAT: symbolformat.obj
16 ; SYM_FORMAT-DAG: func [{{.*}}] (CVRegEBP) int __cdecl _purecall()
17 ; SYM_FORMAT-DAG: func [{{.*}}] (CVRegEBP) int __cdecl main(int argc, char** argv)
18 ; SYM_FORMAT-DAG: func [{{.*}}] (CVRegEBP) void A::A()
19 ; SYM_FORMAT-DAG: func [{{.*}}] (CVRegEBP) void B::B()
16 ; SYM_FORMAT-DAG: func [{{.*}}] (EBP) int __cdecl _purecall()
17 ; SYM_FORMAT-DAG: func [{{.*}}] (EBP) int __cdecl main(int argc, char** argv)
18 ; SYM_FORMAT-DAG: func [{{.*}}] (EBP) void A::A()
19 ; SYM_FORMAT-DAG: func [{{.*}}] (EBP) void B::B()
2020 ; SYM_FORMAT-DAG: thunk [{{.*}}] (Pcode) B::`vcall'{0}'
21 ; SYM_FORMAT-DAG: func [{{.*}}] (CVRegEBP) virtual void B::PureFunc()
22 ; SYM_FORMAT-DAG: func [{{.*}}] (CVRegEBP) void A::RegularFunc()
23 ; SYM_FORMAT-DAG: func [{{.*}}] (CVRegEBP) virtual void A::VirtualFunc()
21 ; SYM_FORMAT-DAG: func [{{.*}}] (EBP) virtual void B::PureFunc()
22 ; SYM_FORMAT-DAG: func [{{.*}}] (EBP) void A::RegularFunc()
23 ; SYM_FORMAT-DAG: func [{{.*}}] (EBP) virtual void A::VirtualFunc()
2424
2525 ; TYPES_FORMAT: ---TYPES---
2626 ; TYPES_FORMAT: Enums
6666 ; OBJ: VarName: a
6767 ; OBJ: }
6868 ; OBJ: DefRangeRegisterRelSym {
69 ; OBJ: BaseRegister: CVRegESP (0x15)
69 ; OBJ: BaseRegister: ESP (0x15)
7070 ; OBJ: BasePointerOffset: 12
7171 ; OBJ: }
7272 ; OBJ: LocalSym {
7777 ; OBJ: VarName: b
7878 ; OBJ: }
7979 ; OBJ: DefRangeRegisterRelSym {
80 ; OBJ: BaseRegister: CVRegESP (0x15)
80 ; OBJ: BaseRegister: ESP (0x15)
8181 ; OBJ: BasePointerOffset: 16
8282 ; OBJ: }
8383 ; FIXME: Retain unused.
8989 ; OBJ: VarName: c
9090 ; OBJ: }
9191 ; OBJ: DefRangeRegisterRelSym {
92 ; OBJ: BaseRegister: CVRegESP (0x15)
92 ; OBJ: BaseRegister: ESP (0x15)
9393 ; OBJ: BasePointerOffset: 24
9494 ; OBJ: }
9595 ; OBJ-LABEL: ProcEnd {
88 # CHECK-NOT: LocalSym {
99 # CHECK: DefRangeRegisterSym {
1010 # CHECK-NEXT: Kind: S_DEFRANGE_REGISTER (0x1141)
11 # CHECK-NEXT: Register: CVRegESI (0x17)
11 # CHECK-NEXT: Register: ESI (0x17)
1212 # CHECK-NEXT: MayHaveNoName: 0
1313 # CHECK-NEXT: LocalVariableAddrRange {
1414 # CHECK-NEXT: OffsetStart: .text+0x5
2222 # CHECK-NEXT: }
2323 # CHECK-NEXT: DefRangeRegisterSym {
2424 # CHECK-NEXT: Kind: S_DEFRANGE_REGISTER (0x1141)
25 # CHECK-NEXT: Register: CVRegESI (0x17)
25 # CHECK-NEXT: Register: ESI (0x17)
2626 # CHECK-NEXT: MayHaveNoName: 0
2727 # CHECK-NEXT: LocalVariableAddrRange {
2828 # CHECK-NEXT: OffsetStart: .text+0x10015
3232 # CHECK-NEXT: }
3333 # CHECK-NEXT: DefRangeRegisterSym {
3434 # CHECK-NEXT: Kind: S_DEFRANGE_REGISTER (0x1141)
35 # CHECK-NEXT: Register: CVRegESI (0x17)
35 # CHECK-NEXT: Register: ESI (0x17)
3636 # CHECK-NEXT: MayHaveNoName: 0
3737 # CHECK-NEXT: LocalVariableAddrRange {
3838 # CHECK-NEXT: OffsetStart: .text+0x2001B
4242 # CHECK-NEXT: }
4343 # CHECK-NEXT: DefRangeRegisterSym {
4444 # CHECK-NEXT: Kind: S_DEFRANGE_REGISTER (0x1141)
45 # CHECK-NEXT: Register: CVRegESI (0x17)
45 # CHECK-NEXT: Register: ESI (0x17)
4646 # CHECK-NEXT: MayHaveNoName: 0
4747 # CHECK-NEXT: LocalVariableAddrRange {
4848 # CHECK-NEXT: OffsetStart: .text+0x2001C
554554 TEST_F(TypeIndexIteratorTest, RegisterSym) {
555555 RegisterSym Reg(SymbolRecordKind::RegisterSym);
556556 Reg.Index = TypeIndex::UInt32();
557 Reg.Register = RegisterId::CVRegEAX;
557 Reg.Register = RegisterId::EAX;
558558 Reg.Name = "Target";
559559 writeSymbolRecords(Reg);
560560 checkTypeReferences(0, Reg.Index);