Commit 52a2e68
authored
[clang][RISCV] Fix crash on VLS calling convention (llvm#145489)
This patch handle struct of fixed vector and struct of array of fixed
vector correctly for VLS calling convention in EmitFunctionProlog,
EmitFunctionEpilog and EmitCall.
stack on: llvm#1471731 parent e16ced3 commit 52a2e68
File tree
11 files changed
+391
-54
lines changed- clang
- include/clang/CodeGen
- lib/CodeGen
- Targets
- test/CodeGen/RISCV
11 files changed
+391
-54
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
77 | 77 | | |
78 | 78 | | |
79 | 79 | | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
80 | 85 | | |
81 | 86 | | |
82 | 87 | | |
| |||
120 | 125 | | |
121 | 126 | | |
122 | 127 | | |
123 | | - | |
| 128 | + | |
124 | 129 | | |
125 | 130 | | |
126 | 131 | | |
| |||
291 | 296 | | |
292 | 297 | | |
293 | 298 | | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
| 302 | + | |
| 303 | + | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
| 309 | + | |
| 310 | + | |
| 311 | + | |
| 312 | + | |
294 | 313 | | |
295 | 314 | | |
296 | 315 | | |
| |||
305 | 324 | | |
306 | 325 | | |
307 | 326 | | |
| 327 | + | |
308 | 328 | | |
309 | 329 | | |
310 | | - | |
| 330 | + | |
| 331 | + | |
311 | 332 | | |
312 | 333 | | |
313 | 334 | | |
314 | 335 | | |
315 | | - | |
| 336 | + | |
| 337 | + | |
316 | 338 | | |
317 | 339 | | |
318 | 340 | | |
319 | | - | |
| 341 | + | |
| 342 | + | |
320 | 343 | | |
321 | 344 | | |
322 | 345 | | |
323 | 346 | | |
324 | | - | |
| 347 | + | |
| 348 | + | |
325 | 349 | | |
326 | 350 | | |
327 | 351 | | |
328 | | - | |
| 352 | + | |
| 353 | + | |
329 | 354 | | |
330 | 355 | | |
331 | 356 | | |
| |||
394 | 419 | | |
395 | 420 | | |
396 | 421 | | |
397 | | - | |
| 422 | + | |
| 423 | + | |
398 | 424 | | |
399 | 425 | | |
400 | 426 | | |
401 | 427 | | |
402 | | - | |
| 428 | + | |
| 429 | + | |
403 | 430 | | |
404 | 431 | | |
405 | 432 | | |
| |||
481 | 508 | | |
482 | 509 | | |
483 | 510 | | |
484 | | - | |
| 511 | + | |
485 | 512 | | |
486 | 513 | | |
487 | 514 | | |
488 | 515 | | |
489 | | - | |
| 516 | + | |
490 | 517 | | |
491 | 518 | | |
492 | 519 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
244 | 244 | | |
245 | 245 | | |
246 | 246 | | |
| 247 | + | |
| 248 | + | |
| 249 | + | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
| 254 | + | |
247 | 255 | | |
248 | 256 | | |
249 | 257 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
132 | 132 | | |
133 | 133 | | |
134 | 134 | | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
135 | 141 | | |
136 | 142 | | |
137 | 143 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1602 | 1602 | | |
1603 | 1603 | | |
1604 | 1604 | | |
| 1605 | + | |
1605 | 1606 | | |
1606 | 1607 | | |
1607 | 1608 | | |
| |||
1712 | 1713 | | |
1713 | 1714 | | |
1714 | 1715 | | |
| 1716 | + | |
1715 | 1717 | | |
1716 | 1718 | | |
1717 | 1719 | | |
| |||
1784 | 1786 | | |
1785 | 1787 | | |
1786 | 1788 | | |
| 1789 | + | |
1787 | 1790 | | |
1788 | 1791 | | |
1789 | 1792 | | |
| |||
2697 | 2700 | | |
2698 | 2701 | | |
2699 | 2702 | | |
| 2703 | + | |
2700 | 2704 | | |
2701 | 2705 | | |
2702 | 2706 | | |
| |||
2838 | 2842 | | |
2839 | 2843 | | |
2840 | 2844 | | |
| 2845 | + | |
2841 | 2846 | | |
2842 | 2847 | | |
2843 | 2848 | | |
| |||
3357 | 3362 | | |
3358 | 3363 | | |
3359 | 3364 | | |
3360 | | - | |
3361 | | - | |
3362 | | - | |
3363 | | - | |
3364 | | - | |
3365 | | - | |
3366 | | - | |
3367 | | - | |
3368 | | - | |
3369 | | - | |
3370 | | - | |
3371 | 3365 | | |
3372 | 3366 | | |
3373 | 3367 | | |
| |||
3508 | 3502 | | |
3509 | 3503 | | |
3510 | 3504 | | |
| 3505 | + | |
| 3506 | + | |
| 3507 | + | |
| 3508 | + | |
| 3509 | + | |
| 3510 | + | |
| 3511 | + | |
| 3512 | + | |
| 3513 | + | |
| 3514 | + | |
| 3515 | + | |
| 3516 | + | |
| 3517 | + | |
| 3518 | + | |
| 3519 | + | |
| 3520 | + | |
| 3521 | + | |
| 3522 | + | |
| 3523 | + | |
3511 | 3524 | | |
3512 | 3525 | | |
3513 | 3526 | | |
| |||
4136 | 4149 | | |
4137 | 4150 | | |
4138 | 4151 | | |
| 4152 | + | |
| 4153 | + | |
| 4154 | + | |
| 4155 | + | |
| 4156 | + | |
4139 | 4157 | | |
4140 | 4158 | | |
4141 | 4159 | | |
| |||
5704 | 5722 | | |
5705 | 5723 | | |
5706 | 5724 | | |
| 5725 | + | |
| 5726 | + | |
| 5727 | + | |
| 5728 | + | |
| 5729 | + | |
| 5730 | + | |
| 5731 | + | |
| 5732 | + | |
| 5733 | + | |
| 5734 | + | |
| 5735 | + | |
| 5736 | + | |
| 5737 | + | |
| 5738 | + | |
| 5739 | + | |
| 5740 | + | |
| 5741 | + | |
| 5742 | + | |
5707 | 5743 | | |
5708 | 5744 | | |
5709 | 5745 | | |
| |||
6189 | 6225 | | |
6190 | 6226 | | |
6191 | 6227 | | |
| 6228 | + | |
| 6229 | + | |
| 6230 | + | |
| 6231 | + | |
| 6232 | + | |
| 6233 | + | |
| 6234 | + | |
| 6235 | + | |
| 6236 | + | |
| 6237 | + | |
| 6238 | + | |
| 6239 | + | |
| 6240 | + | |
6192 | 6241 | | |
6193 | 6242 | | |
6194 | 6243 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
63 | 63 | | |
64 | 64 | | |
65 | 65 | | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
66 | 73 | | |
67 | 74 | | |
68 | 75 | | |
| |||
0 commit comments