This repository was archived by the owner on May 28, 2025. It is now read-only.
Commit 9de7474
committed
Auto merge of rust-lang#99512 - nikic:llvm-15-fixes, r=cuviper
LLVM 15 compatibility fixes
These are LLVM 15 compatibility fixes split out from rust-lang#99464. There are three changes here:
* Emit elementtype attribtue for ldrex/strex intrinsics. This is requires as part of the opaque pointers migration.
* Make more tests compatible with opaque pointers. These are either new or aren't run on x86.
* Remove a test for `#[rustc_allocator]`. Since rust-lang#99574 there are more requirement on the function signature. I dropped the test entirely, since we already test the effect of the attribute elsewhere.
* The main change: When a worker thread emits an error, wait for other threads to finish before unwinding the main thread and exiting. Otherwise workers may end up using globals for which destructors have already been run. This was probably never quite correct, but became an active problem with LLVM 15, because it started using global dtors in critical places, as part of ManagedStatic removal.
Fixes rust-lang#99432 (and probably also rust-lang#95679).
r? `@cuviper`File tree
9 files changed
+103
-103
lines changed- compiler
- rustc_codegen_llvm/src
- llvm
- rustc_codegen_ssa/src
- back
- rustc_llvm/llvm-wrapper
- src/test/codegen
9 files changed
+103
-103
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
569 | 569 | | |
570 | 570 | | |
571 | 571 | | |
| 572 | + | |
| 573 | + | |
| 574 | + | |
| 575 | + | |
| 576 | + | |
| 577 | + | |
| 578 | + | |
| 579 | + | |
| 580 | + | |
| 581 | + | |
| 582 | + | |
| 583 | + | |
| 584 | + | |
| 585 | + | |
| 586 | + | |
| 587 | + | |
572 | 588 | | |
573 | 589 | | |
574 | 590 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1192 | 1192 | | |
1193 | 1193 | | |
1194 | 1194 | | |
| 1195 | + | |
1195 | 1196 | | |
1196 | 1197 | | |
1197 | 1198 | | |
| |||
2541 | 2542 | | |
2542 | 2543 | | |
2543 | 2544 | | |
| 2545 | + | |
| 2546 | + | |
2544 | 2547 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
37 | 37 | | |
38 | 38 | | |
39 | 39 | | |
| 40 | + | |
40 | 41 | | |
41 | 42 | | |
42 | 43 | | |
| |||
475 | 476 | | |
476 | 477 | | |
477 | 478 | | |
478 | | - | |
479 | 479 | | |
480 | 480 | | |
481 | | - | |
| 481 | + | |
| 482 | + | |
| 483 | + | |
| 484 | + | |
| 485 | + | |
482 | 486 | | |
483 | 487 | | |
484 | 488 | | |
| |||
1273 | 1277 | | |
1274 | 1278 | | |
1275 | 1279 | | |
| 1280 | + | |
1276 | 1281 | | |
1277 | 1282 | | |
1278 | 1283 | | |
| |||
1470 | 1475 | | |
1471 | 1476 | | |
1472 | 1477 | | |
1473 | | - | |
1474 | 1478 | | |
1475 | 1479 | | |
1476 | 1480 | | |
1477 | 1481 | | |
1478 | 1482 | | |
1479 | 1483 | | |
1480 | | - | |
1481 | 1484 | | |
1482 | 1485 | | |
1483 | 1486 | | |
| |||
1489 | 1492 | | |
1490 | 1493 | | |
1491 | 1494 | | |
1492 | | - | |
1493 | 1495 | | |
1494 | 1496 | | |
1495 | | - | |
1496 | 1497 | | |
1497 | 1498 | | |
1498 | 1499 | | |
| |||
1532 | 1533 | | |
1533 | 1534 | | |
1534 | 1535 | | |
1535 | | - | |
1536 | | - | |
| 1536 | + | |
| 1537 | + | |
| 1538 | + | |
| 1539 | + | |
| 1540 | + | |
1537 | 1541 | | |
1538 | 1542 | | |
1539 | 1543 | | |
1540 | 1544 | | |
1541 | 1545 | | |
| 1546 | + | |
| 1547 | + | |
| 1548 | + | |
| 1549 | + | |
1542 | 1550 | | |
1543 | 1551 | | |
1544 | 1552 | | |
| |||
1828 | 1836 | | |
1829 | 1837 | | |
1830 | 1838 | | |
| 1839 | + | |
| 1840 | + | |
| 1841 | + | |
| 1842 | + | |
| 1843 | + | |
| 1844 | + | |
| 1845 | + | |
| 1846 | + | |
| 1847 | + | |
| 1848 | + | |
| 1849 | + | |
| 1850 | + | |
| 1851 | + | |
| 1852 | + | |
| 1853 | + | |
| 1854 | + | |
| 1855 | + | |
| 1856 | + | |
| 1857 | + | |
| 1858 | + | |
| 1859 | + | |
| 1860 | + | |
| 1861 | + | |
| 1862 | + | |
1831 | 1863 | | |
1832 | 1864 | | |
1833 | 1865 | | |
1834 | 1866 | | |
1835 | 1867 | | |
1836 | | - | |
1837 | 1868 | | |
1838 | 1869 | | |
1839 | | - | |
1840 | 1870 | | |
| 1871 | + | |
1841 | 1872 | | |
1842 | 1873 | | |
1843 | 1874 | | |
1844 | 1875 | | |
1845 | 1876 | | |
1846 | 1877 | | |
1847 | 1878 | | |
1848 | | - | |
1849 | | - | |
| 1879 | + | |
1850 | 1880 | | |
1851 | 1881 | | |
1852 | 1882 | | |
| |||
1894 | 1924 | | |
1895 | 1925 | | |
1896 | 1926 | | |
1897 | | - | |
| 1927 | + | |
1898 | 1928 | | |
1899 | 1929 | | |
1900 | 1930 | | |
1901 | 1931 | | |
1902 | 1932 | | |
1903 | | - | |
1904 | | - | |
1905 | | - | |
1906 | | - | |
1907 | | - | |
1908 | | - | |
1909 | | - | |
1910 | | - | |
1911 | | - | |
1912 | | - | |
1913 | | - | |
1914 | | - | |
1915 | | - | |
1916 | | - | |
| 1933 | + | |
1917 | 1934 | | |
1918 | 1935 | | |
1919 | 1936 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
39 | 39 | | |
40 | 40 | | |
41 | 41 | | |
42 | | - | |
43 | 42 | | |
44 | 43 | | |
45 | 44 | | |
| |||
583 | 582 | | |
584 | 583 | | |
585 | 584 | | |
586 | | - | |
587 | 585 | | |
588 | 586 | | |
589 | 587 | | |
| |||
704 | 702 | | |
705 | 703 | | |
706 | 704 | | |
707 | | - | |
| 705 | + | |
708 | 706 | | |
709 | 707 | | |
710 | 708 | | |
| |||
714 | 712 | | |
715 | 713 | | |
716 | 714 | | |
717 | | - | |
| 715 | + | |
718 | 716 | | |
719 | 717 | | |
720 | 718 | | |
| |||
725 | 723 | | |
726 | 724 | | |
727 | 725 | | |
728 | | - | |
| 726 | + | |
729 | 727 | | |
730 | 728 | | |
731 | 729 | | |
| |||
752 | 750 | | |
753 | 751 | | |
754 | 752 | | |
755 | | - | |
756 | | - | |
757 | | - | |
758 | | - | |
759 | | - | |
760 | | - | |
761 | | - | |
762 | | - | |
763 | | - | |
764 | | - | |
765 | | - | |
766 | | - | |
767 | | - | |
768 | | - | |
769 | | - | |
770 | | - | |
771 | | - | |
772 | | - | |
773 | | - | |
774 | | - | |
775 | | - | |
776 | | - | |
777 | | - | |
778 | | - | |
779 | | - | |
780 | | - | |
781 | | - | |
782 | | - | |
783 | | - | |
784 | | - | |
785 | | - | |
786 | | - | |
787 | | - | |
788 | | - | |
789 | | - | |
790 | | - | |
791 | | - | |
792 | | - | |
793 | | - | |
794 | | - | |
795 | | - | |
796 | | - | |
797 | | - | |
798 | | - | |
799 | | - | |
800 | | - | |
801 | | - | |
802 | | - | |
803 | | - | |
| 753 | + | |
804 | 754 | | |
805 | 755 | | |
806 | 756 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
| 9 | + | |
9 | 10 | | |
10 | 11 | | |
11 | 12 | | |
| |||
300 | 301 | | |
301 | 302 | | |
302 | 303 | | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
| 309 | + | |
| 310 | + | |
| 311 | + | |
303 | 312 | | |
304 | 313 | | |
305 | 314 | | |
| |||
1943 | 1952 | | |
1944 | 1953 | | |
1945 | 1954 | | |
| 1955 | + | |
| 1956 | + | |
| 1957 | + | |
| 1958 | + | |
| 1959 | + | |
| 1960 | + | |
| 1961 | + | |
| 1962 | + | |
| 1963 | + | |
| 1964 | + | |
| 1965 | + | |
| 1966 | + | |
| 1967 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
233 | 233 | | |
234 | 234 | | |
235 | 235 | | |
236 | | - | |
237 | | - | |
238 | | - | |
239 | | - | |
240 | | - | |
241 | | - | |
242 | | - | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
37 | 37 | | |
38 | 38 | | |
39 | 39 | | |
40 | | - | |
| 40 | + | |
41 | 41 | | |
42 | 42 | | |
43 | 43 | | |
44 | | - | |
| 44 | + | |
45 | 45 | | |
46 | 46 | | |
47 | 47 | | |
48 | | - | |
| 48 | + | |
49 | 49 | | |
50 | 50 | | |
51 | 51 | | |
52 | | - | |
| 52 | + | |
53 | 53 | | |
54 | 54 | | |
55 | 55 | | |
| |||
73 | 73 | | |
74 | 74 | | |
75 | 75 | | |
76 | | - | |
| 76 | + | |
77 | 77 | | |
78 | 78 | | |
79 | 79 | | |
80 | | - | |
| 80 | + | |
81 | 81 | | |
82 | 82 | | |
83 | 83 | | |
84 | | - | |
| 84 | + | |
85 | 85 | | |
86 | 86 | | |
87 | 87 | | |
88 | | - | |
| 88 | + | |
89 | 89 | | |
90 | 90 | | |
0 commit comments