Commit 831e79a
authored
DAG: Merge all sincos_stret emission code into legalizer (llvm#166295)
This avoids AArch64 legality rules depending on libcall
availability.
ARM, AArch64, and X86 all had custom lowering of fsincos which
all were just to emit calls to sincos_stret / sincosf_stret. This
messes with the cost heuristics around legality, because really
it's an expand/libcall cost and not a favorable custom.
This is a bit ugly, because we're emitting code trying to match the
C ABI lowered IR type for the aggregate return type. This now also
gives an easy way to lift the unhandled x86_32 darwin case, since
ARM already handled the return as sret case.1 parent fe106b6 commit 831e79a
File tree
6 files changed
+118
-174
lines changed- llvm/lib
- CodeGen/SelectionDAG
- Target
- AArch64
- ARM
- X86
6 files changed
+118
-174
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
163 | 163 | | |
164 | 164 | | |
165 | 165 | | |
| 166 | + | |
| 167 | + | |
166 | 168 | | |
167 | 169 | | |
168 | 170 | | |
| |||
2423 | 2425 | | |
2424 | 2426 | | |
2425 | 2427 | | |
| 2428 | + | |
| 2429 | + | |
| 2430 | + | |
| 2431 | + | |
| 2432 | + | |
| 2433 | + | |
| 2434 | + | |
| 2435 | + | |
| 2436 | + | |
| 2437 | + | |
| 2438 | + | |
| 2439 | + | |
| 2440 | + | |
| 2441 | + | |
| 2442 | + | |
| 2443 | + | |
| 2444 | + | |
| 2445 | + | |
| 2446 | + | |
| 2447 | + | |
| 2448 | + | |
| 2449 | + | |
| 2450 | + | |
| 2451 | + | |
| 2452 | + | |
| 2453 | + | |
| 2454 | + | |
| 2455 | + | |
| 2456 | + | |
| 2457 | + | |
| 2458 | + | |
| 2459 | + | |
| 2460 | + | |
| 2461 | + | |
| 2462 | + | |
| 2463 | + | |
| 2464 | + | |
| 2465 | + | |
| 2466 | + | |
| 2467 | + | |
| 2468 | + | |
| 2469 | + | |
| 2470 | + | |
| 2471 | + | |
| 2472 | + | |
| 2473 | + | |
| 2474 | + | |
| 2475 | + | |
| 2476 | + | |
| 2477 | + | |
| 2478 | + | |
| 2479 | + | |
| 2480 | + | |
| 2481 | + | |
| 2482 | + | |
| 2483 | + | |
| 2484 | + | |
| 2485 | + | |
| 2486 | + | |
| 2487 | + | |
| 2488 | + | |
| 2489 | + | |
| 2490 | + | |
| 2491 | + | |
| 2492 | + | |
| 2493 | + | |
| 2494 | + | |
| 2495 | + | |
| 2496 | + | |
| 2497 | + | |
| 2498 | + | |
| 2499 | + | |
| 2500 | + | |
| 2501 | + | |
| 2502 | + | |
| 2503 | + | |
| 2504 | + | |
| 2505 | + | |
| 2506 | + | |
| 2507 | + | |
| 2508 | + | |
| 2509 | + | |
| 2510 | + | |
| 2511 | + | |
| 2512 | + | |
| 2513 | + | |
| 2514 | + | |
| 2515 | + | |
| 2516 | + | |
| 2517 | + | |
| 2518 | + | |
| 2519 | + | |
| 2520 | + | |
| 2521 | + | |
| 2522 | + | |
2426 | 2523 | | |
2427 | 2524 | | |
2428 | 2525 | | |
| |||
4730 | 4827 | | |
4731 | 4828 | | |
4732 | 4829 | | |
| 4830 | + | |
| 4831 | + | |
| 4832 | + | |
| 4833 | + | |
| 4834 | + | |
| 4835 | + | |
| 4836 | + | |
| 4837 | + | |
| 4838 | + | |
| 4839 | + | |
| 4840 | + | |
| 4841 | + | |
4733 | 4842 | | |
4734 | 4843 | | |
4735 | 4844 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1052 | 1052 | | |
1053 | 1053 | | |
1054 | 1054 | | |
1055 | | - | |
1056 | | - | |
1057 | | - | |
1058 | | - | |
1059 | | - | |
1060 | | - | |
1061 | | - | |
1062 | | - | |
1063 | | - | |
| 1055 | + | |
| 1056 | + | |
| 1057 | + | |
1064 | 1058 | | |
1065 | 1059 | | |
1066 | 1060 | | |
| |||
5346 | 5340 | | |
5347 | 5341 | | |
5348 | 5342 | | |
5349 | | - | |
5350 | | - | |
5351 | | - | |
5352 | | - | |
5353 | | - | |
5354 | | - | |
5355 | | - | |
5356 | | - | |
5357 | | - | |
5358 | | - | |
5359 | | - | |
5360 | | - | |
5361 | | - | |
5362 | | - | |
5363 | | - | |
5364 | | - | |
5365 | | - | |
5366 | | - | |
5367 | | - | |
5368 | | - | |
5369 | | - | |
5370 | | - | |
5371 | | - | |
5372 | | - | |
5373 | | - | |
5374 | | - | |
5375 | | - | |
5376 | | - | |
5377 | | - | |
5378 | 5343 | | |
5379 | 5344 | | |
5380 | 5345 | | |
| |||
7723 | 7688 | | |
7724 | 7689 | | |
7725 | 7690 | | |
7726 | | - | |
7727 | | - | |
7728 | 7691 | | |
7729 | 7692 | | |
7730 | 7693 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
745 | 745 | | |
746 | 746 | | |
747 | 747 | | |
748 | | - | |
749 | 748 | | |
750 | 749 | | |
751 | 750 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1312 | 1312 | | |
1313 | 1313 | | |
1314 | 1314 | | |
1315 | | - | |
1316 | | - | |
| 1315 | + | |
| 1316 | + | |
1317 | 1317 | | |
1318 | 1318 | | |
1319 | 1319 | | |
| |||
9855 | 9855 | | |
9856 | 9856 | | |
9857 | 9857 | | |
9858 | | - | |
9859 | | - | |
9860 | | - | |
9861 | | - | |
9862 | | - | |
9863 | | - | |
9864 | | - | |
9865 | | - | |
9866 | | - | |
9867 | | - | |
9868 | | - | |
9869 | | - | |
9870 | | - | |
9871 | | - | |
9872 | | - | |
9873 | | - | |
9874 | | - | |
9875 | | - | |
9876 | | - | |
9877 | | - | |
9878 | | - | |
9879 | | - | |
9880 | | - | |
9881 | | - | |
9882 | | - | |
9883 | | - | |
9884 | | - | |
9885 | | - | |
9886 | | - | |
9887 | | - | |
9888 | | - | |
9889 | | - | |
9890 | | - | |
9891 | | - | |
9892 | | - | |
9893 | | - | |
9894 | | - | |
9895 | | - | |
9896 | | - | |
9897 | | - | |
9898 | | - | |
9899 | | - | |
9900 | | - | |
9901 | | - | |
9902 | | - | |
9903 | | - | |
9904 | | - | |
9905 | | - | |
9906 | | - | |
9907 | | - | |
9908 | | - | |
9909 | | - | |
9910 | | - | |
9911 | | - | |
9912 | | - | |
9913 | | - | |
9914 | | - | |
9915 | | - | |
9916 | | - | |
9917 | | - | |
9918 | | - | |
9919 | | - | |
9920 | | - | |
9921 | | - | |
9922 | | - | |
9923 | | - | |
9924 | | - | |
9925 | | - | |
9926 | | - | |
9927 | | - | |
9928 | 9858 | | |
9929 | 9859 | | |
9930 | 9860 | | |
| |||
10726 | 10656 | | |
10727 | 10657 | | |
10728 | 10658 | | |
10729 | | - | |
10730 | | - | |
| 10659 | + | |
| 10660 | + | |
10731 | 10661 | | |
10732 | 10662 | | |
10733 | 10663 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
901 | 901 | | |
902 | 902 | | |
903 | 903 | | |
904 | | - | |
905 | 904 | | |
906 | 905 | | |
907 | 906 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2572 | 2572 | | |
2573 | 2573 | | |
2574 | 2574 | | |
2575 | | - | |
2576 | | - | |
| 2575 | + | |
| 2576 | + | |
2577 | 2577 | | |
2578 | 2578 | | |
2579 | 2579 | | |
| |||
33004 | 33004 | | |
33005 | 33005 | | |
33006 | 33006 | | |
33007 | | - | |
33008 | | - | |
33009 | | - | |
33010 | | - | |
33011 | | - | |
33012 | | - | |
33013 | | - | |
33014 | | - | |
33015 | | - | |
33016 | | - | |
33017 | | - | |
33018 | | - | |
33019 | | - | |
33020 | | - | |
33021 | | - | |
33022 | | - | |
33023 | | - | |
33024 | | - | |
33025 | | - | |
33026 | | - | |
33027 | | - | |
33028 | | - | |
33029 | | - | |
33030 | | - | |
33031 | | - | |
33032 | | - | |
33033 | | - | |
33034 | | - | |
33035 | | - | |
33036 | | - | |
33037 | | - | |
33038 | | - | |
33039 | | - | |
33040 | | - | |
33041 | | - | |
33042 | | - | |
33043 | | - | |
33044 | | - | |
33045 | | - | |
33046 | | - | |
33047 | | - | |
33048 | | - | |
33049 | | - | |
33050 | | - | |
33051 | | - | |
33052 | | - | |
33053 | | - | |
33054 | | - | |
33055 | | - | |
33056 | | - | |
33057 | | - | |
33058 | | - | |
33059 | | - | |
33060 | | - | |
33061 | | - | |
33062 | 33007 | | |
33063 | 33008 | | |
33064 | 33009 | | |
| |||
33663 | 33608 | | |
33664 | 33609 | | |
33665 | 33610 | | |
33666 | | - | |
33667 | 33611 | | |
33668 | 33612 | | |
33669 | 33613 | | |
| |||
0 commit comments