Commit 8bde2ac
committed
rustc: Add
This commit primarily adds the ability to control what kind of LTO happens when
rustc performs LTO, namely allowing values to be specified to the `-C lto`
option, such as `-C lto=thin` and `-C lto=fat`. (where "fat" is the previous
kind of LTO, throw everything in one giant module)
Along the way this also refactors a number of fields which store information
about whether LTO/ThinLTO are enabled to unify them all into one field through
which everything is dispatched, hopefully removing a number of special cases
throughout.
This is intended to help mitigate #47409 but will require a backport as well,
and this would unfortunately need to be an otherwise insta-stable option.-C lto=val option1 parent 4e3901d commit 8bde2ac
File tree
9 files changed
+221
-115
lines changed- src
- librustc_trans/back
- librustc/session
- test
- run-make/codegen-options-parsing
- run-pass
- thinlto
9 files changed
+221
-115
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
72 | 72 | | |
73 | 73 | | |
74 | 74 | | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
75 | 95 | | |
76 | 96 | | |
77 | 97 | | |
| |||
389 | 409 | | |
390 | 410 | | |
391 | 411 | | |
392 | | - | |
| 412 | + | |
393 | 413 | | |
394 | 414 | | |
395 | 415 | | |
| |||
590 | 610 | | |
591 | 611 | | |
592 | 612 | | |
593 | | - | |
| 613 | + | |
594 | 614 | | |
595 | 615 | | |
596 | 616 | | |
| |||
780 | 800 | | |
781 | 801 | | |
782 | 802 | | |
| 803 | + | |
| 804 | + | |
783 | 805 | | |
784 | 806 | | |
785 | 807 | | |
786 | 808 | | |
787 | | - | |
| 809 | + | |
788 | 810 | | |
789 | 811 | | |
790 | 812 | | |
| |||
978 | 1000 | | |
979 | 1001 | | |
980 | 1002 | | |
| 1003 | + | |
| 1004 | + | |
| 1005 | + | |
| 1006 | + | |
| 1007 | + | |
| 1008 | + | |
| 1009 | + | |
| 1010 | + | |
| 1011 | + | |
| 1012 | + | |
981 | 1013 | | |
982 | 1014 | | |
983 | 1015 | | |
| |||
994 | 1026 | | |
995 | 1027 | | |
996 | 1028 | | |
997 | | - | |
| 1029 | + | |
998 | 1030 | | |
999 | 1031 | | |
1000 | 1032 | | |
| |||
1677 | 1709 | | |
1678 | 1710 | | |
1679 | 1711 | | |
1680 | | - | |
| 1712 | + | |
1681 | 1713 | | |
1682 | 1714 | | |
1683 | 1715 | | |
| |||
1699 | 1731 | | |
1700 | 1732 | | |
1701 | 1733 | | |
1702 | | - | |
| 1734 | + | |
1703 | 1735 | | |
1704 | 1736 | | |
1705 | 1737 | | |
1706 | 1738 | | |
1707 | | - | |
| 1739 | + | |
1708 | 1740 | | |
1709 | 1741 | | |
1710 | 1742 | | |
| |||
1734 | 1766 | | |
1735 | 1767 | | |
1736 | 1768 | | |
1737 | | - | |
| 1769 | + | |
1738 | 1770 | | |
1739 | 1771 | | |
1740 | 1772 | | |
| |||
1934 | 1966 | | |
1935 | 1967 | | |
1936 | 1968 | | |
1937 | | - | |
| 1969 | + | |
1938 | 1970 | | |
1939 | 1971 | | |
1940 | 1972 | | |
| |||
2052 | 2084 | | |
2053 | 2085 | | |
2054 | 2086 | | |
2055 | | - | |
| 2087 | + | |
2056 | 2088 | | |
2057 | 2089 | | |
2058 | 2090 | | |
| |||
2107 | 2139 | | |
2108 | 2140 | | |
2109 | 2141 | | |
| 2142 | + | |
2110 | 2143 | | |
2111 | 2144 | | |
2112 | 2145 | | |
| |||
2180 | 2213 | | |
2181 | 2214 | | |
2182 | 2215 | | |
| 2216 | + | |
2183 | 2217 | | |
2184 | 2218 | | |
2185 | 2219 | | |
| |||
2656 | 2690 | | |
2657 | 2691 | | |
2658 | 2692 | | |
2659 | | - | |
| 2693 | + | |
2660 | 2694 | | |
2661 | 2695 | | |
2662 | 2696 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
498 | 498 | | |
499 | 499 | | |
500 | 500 | | |
501 | | - | |
502 | | - | |
| 501 | + | |
| 502 | + | |
| 503 | + | |
| 504 | + | |
| 505 | + | |
| 506 | + | |
| 507 | + | |
| 508 | + | |
| 509 | + | |
| 510 | + | |
| 511 | + | |
| 512 | + | |
| 513 | + | |
| 514 | + | |
| 515 | + | |
| 516 | + | |
| 517 | + | |
| 518 | + | |
| 519 | + | |
| 520 | + | |
| 521 | + | |
| 522 | + | |
| 523 | + | |
| 524 | + | |
| 525 | + | |
| 526 | + | |
| 527 | + | |
| 528 | + | |
| 529 | + | |
| 530 | + | |
| 531 | + | |
| 532 | + | |
| 533 | + | |
| 534 | + | |
| 535 | + | |
| 536 | + | |
| 537 | + | |
| 538 | + | |
| 539 | + | |
| 540 | + | |
| 541 | + | |
| 542 | + | |
| 543 | + | |
| 544 | + | |
| 545 | + | |
| 546 | + | |
| 547 | + | |
| 548 | + | |
| 549 | + | |
| 550 | + | |
| 551 | + | |
| 552 | + | |
| 553 | + | |
| 554 | + | |
| 555 | + | |
| 556 | + | |
| 557 | + | |
503 | 558 | | |
| 559 | + | |
504 | 560 | | |
505 | 561 | | |
506 | 562 | | |
| |||
804 | 860 | | |
805 | 861 | | |
806 | 862 | | |
807 | | - | |
808 | | - | |
809 | | - | |
810 | | - | |
811 | | - | |
812 | | - | |
813 | | - | |
814 | | - | |
815 | | - | |
816 | | - | |
817 | | - | |
818 | | - | |
819 | | - | |
820 | | - | |
821 | | - | |
822 | | - | |
823 | | - | |
824 | | - | |
825 | | - | |
826 | | - | |
827 | | - | |
828 | | - | |
829 | | - | |
830 | | - | |
831 | | - | |
832 | | - | |
833 | | - | |
834 | | - | |
835 | | - | |
836 | | - | |
837 | | - | |
838 | | - | |
839 | 863 | | |
840 | 864 | | |
841 | 865 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
19 | | - | |
| 19 | + | |
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
| |||
503 | 503 | | |
504 | 504 | | |
505 | 505 | | |
506 | | - | |
| 506 | + | |
| 507 | + | |
507 | 508 | | |
508 | 509 | | |
509 | 510 | | |
| |||
1211 | 1212 | | |
1212 | 1213 | | |
1213 | 1214 | | |
1214 | | - | |
| 1215 | + | |
| 1216 | + | |
1215 | 1217 | | |
1216 | 1218 | | |
1217 | 1219 | | |
| |||
1264 | 1266 | | |
1265 | 1267 | | |
1266 | 1268 | | |
1267 | | - | |
| 1269 | + | |
1268 | 1270 | | |
1269 | 1271 | | |
1270 | 1272 | | |
| |||
1301 | 1303 | | |
1302 | 1304 | | |
1303 | 1305 | | |
1304 | | - | |
| 1306 | + | |
1305 | 1307 | | |
1306 | 1308 | | |
1307 | 1309 | | |
| |||
1409 | 1411 | | |
1410 | 1412 | | |
1411 | 1413 | | |
| 1414 | + | |
| 1415 | + | |
| 1416 | + | |
| 1417 | + | |
| 1418 | + | |
| 1419 | + | |
| 1420 | + | |
| 1421 | + | |
| 1422 | + | |
| 1423 | + | |
0 commit comments