Commit dd828b4
committed
DAG: Merge all sincos_stret emission code into legalizer
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 dd8ade3 commit dd828b4
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