Commit 4cf2cf1
authored
[RISCV][GISel] Stop over promoting G_SITOFP/UITOFP libcalls on RV64. (#118597)
When we have legal instructions we want to promote to sXLen and let isel
pattern matching removing the and/sext_inreg.
When using a libcall we want to use a 'si' libcall for small types
instead of 'di'. To match the RV64 ABI, we need to sign extend `unsigned
int` arguments. We reuse the shouldSignExtendTypeInLibCall hook from
SelectionDAG.1 parent 0d1e762 commit 4cf2cf1
File tree
5 files changed
+62
-43
lines changed- llvm
- lib
- CodeGen/GlobalISel
- Target/RISCV/GISel
- test/CodeGen/RISCV/GlobalISel
5 files changed
+62
-43
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
882 | 882 | | |
883 | 883 | | |
884 | 884 | | |
885 | | - | |
| 885 | + | |
| 886 | + | |
| 887 | + | |
| 888 | + | |
| 889 | + | |
| 890 | + | |
| 891 | + | |
| 892 | + | |
| 893 | + | |
| 894 | + | |
886 | 895 | | |
887 | | - | |
888 | | - | |
889 | | - | |
| 896 | + | |
| 897 | + | |
| 898 | + | |
890 | 899 | | |
891 | 900 | | |
892 | 901 | | |
| |||
1308 | 1317 | | |
1309 | 1318 | | |
1310 | 1319 | | |
1311 | | - | |
| 1320 | + | |
1312 | 1321 | | |
1313 | 1322 | | |
1314 | 1323 | | |
| |||
1329 | 1338 | | |
1330 | 1339 | | |
1331 | 1340 | | |
1332 | | - | |
| 1341 | + | |
1333 | 1342 | | |
1334 | 1343 | | |
1335 | 1344 | | |
| |||
1341 | 1350 | | |
1342 | 1351 | | |
1343 | 1352 | | |
1344 | | - | |
1345 | | - | |
| 1353 | + | |
| 1354 | + | |
| 1355 | + | |
| 1356 | + | |
1346 | 1357 | | |
1347 | 1358 | | |
1348 | 1359 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
565 | 565 | | |
566 | 566 | | |
567 | 567 | | |
568 | | - | |
| 568 | + | |
| 569 | + | |
| 570 | + | |
| 571 | + | |
| 572 | + | |
| 573 | + | |
| 574 | + | |
| 575 | + | |
| 576 | + | |
| 577 | + | |
| 578 | + | |
| 579 | + | |
| 580 | + | |
569 | 581 | | |
570 | 582 | | |
571 | 583 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
190 | 190 | | |
191 | 191 | | |
192 | 192 | | |
193 | | - | |
| 193 | + | |
194 | 194 | | |
195 | 195 | | |
196 | 196 | | |
| |||
220 | 220 | | |
221 | 221 | | |
222 | 222 | | |
223 | | - | |
| 223 | + | |
224 | 224 | | |
225 | 225 | | |
226 | 226 | | |
| |||
248 | 248 | | |
249 | 249 | | |
250 | 250 | | |
251 | | - | |
252 | | - | |
253 | | - | |
| 251 | + | |
| 252 | + | |
254 | 253 | | |
255 | 254 | | |
256 | 255 | | |
| |||
285 | 284 | | |
286 | 285 | | |
287 | 286 | | |
288 | | - | |
289 | | - | |
| 287 | + | |
| 288 | + | |
290 | 289 | | |
291 | 290 | | |
292 | 291 | | |
| |||
541 | 540 | | |
542 | 541 | | |
543 | 542 | | |
544 | | - | |
| 543 | + | |
545 | 544 | | |
546 | 545 | | |
547 | 546 | | |
| |||
568 | 567 | | |
569 | 568 | | |
570 | 569 | | |
571 | | - | |
| 570 | + | |
572 | 571 | | |
573 | 572 | | |
574 | 573 | | |
| |||
595 | 594 | | |
596 | 595 | | |
597 | 596 | | |
598 | | - | |
| 597 | + | |
599 | 598 | | |
600 | 599 | | |
601 | 600 | | |
| |||
622 | 621 | | |
623 | 622 | | |
624 | 623 | | |
625 | | - | |
| 624 | + | |
626 | 625 | | |
627 | 626 | | |
628 | 627 | | |
| |||
673 | 672 | | |
674 | 673 | | |
675 | 674 | | |
676 | | - | |
| 675 | + | |
677 | 676 | | |
678 | 677 | | |
679 | 678 | | |
| |||
729 | 728 | | |
730 | 729 | | |
731 | 730 | | |
732 | | - | |
733 | | - | |
734 | | - | |
| 731 | + | |
| 732 | + | |
735 | 733 | | |
736 | 734 | | |
737 | 735 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
176 | 176 | | |
177 | 177 | | |
178 | 178 | | |
179 | | - | |
| 179 | + | |
180 | 180 | | |
181 | 181 | | |
182 | 182 | | |
| |||
206 | 206 | | |
207 | 207 | | |
208 | 208 | | |
209 | | - | |
| 209 | + | |
210 | 210 | | |
211 | 211 | | |
212 | 212 | | |
| |||
234 | 234 | | |
235 | 235 | | |
236 | 236 | | |
237 | | - | |
238 | | - | |
239 | | - | |
| 237 | + | |
| 238 | + | |
240 | 239 | | |
241 | 240 | | |
242 | 241 | | |
| |||
271 | 270 | | |
272 | 271 | | |
273 | 272 | | |
274 | | - | |
275 | | - | |
| 273 | + | |
| 274 | + | |
276 | 275 | | |
277 | 276 | | |
278 | 277 | | |
| |||
476 | 475 | | |
477 | 476 | | |
478 | 477 | | |
479 | | - | |
| 478 | + | |
480 | 479 | | |
481 | 480 | | |
482 | 481 | | |
| |||
503 | 502 | | |
504 | 503 | | |
505 | 504 | | |
506 | | - | |
| 505 | + | |
507 | 506 | | |
508 | 507 | | |
509 | 508 | | |
| |||
530 | 529 | | |
531 | 530 | | |
532 | 531 | | |
533 | | - | |
| 532 | + | |
534 | 533 | | |
535 | 534 | | |
536 | 535 | | |
| |||
557 | 556 | | |
558 | 557 | | |
559 | 558 | | |
560 | | - | |
| 559 | + | |
561 | 560 | | |
562 | 561 | | |
563 | 562 | | |
| |||
608 | 607 | | |
609 | 608 | | |
610 | 609 | | |
611 | | - | |
| 610 | + | |
612 | 611 | | |
613 | 612 | | |
614 | 613 | | |
| |||
664 | 663 | | |
665 | 664 | | |
666 | 665 | | |
667 | | - | |
668 | | - | |
669 | | - | |
| 666 | + | |
| 667 | + | |
670 | 668 | | |
671 | 669 | | |
672 | 670 | | |
| |||
Lines changed: 4 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
539 | 539 | | |
540 | 540 | | |
541 | 541 | | |
542 | | - | |
543 | | - | |
| 542 | + | |
| 543 | + | |
544 | 544 | | |
545 | 545 | | |
546 | | - | |
547 | | - | |
| 546 | + | |
| 547 | + | |
548 | 548 | | |
549 | 549 | | |
550 | 550 | | |
| |||
0 commit comments