Commit 4358e35
committed
Implementation of repr struct alignment RFC 1358.
The main changes around rustc::ty::Layout::struct and rustc_trans:adt:
* Added primitive_align field which stores alignment before repr align
* Always emit field padding when generating the LLVM struct fields
* Added methods for adjusting field indexes from the layout index to the
LLVM struct field index
The main user of this information is rustc_trans::adt::struct_llfields
which determines the LLVM fields to be used by LLVM, including padding
fields.1 parent ddc5d7b commit 4358e35
File tree
26 files changed
+646
-78
lines changed- src
- librustc_trans
- mir
- librustc_typeck
- check
- librustc
- hir
- ty
- libsyntax_ext/deriving/generic
- libsyntax
- test
- compile-fail
- run-pass
- ui/print_type_sizes
26 files changed
+646
-78
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1847 | 1847 | | |
1848 | 1848 | | |
1849 | 1849 | | |
1850 | | - | |
| 1850 | + | |
| 1851 | + | |
1851 | 1852 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
57 | 57 | | |
58 | 58 | | |
59 | 59 | | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
60 | 63 | | |
61 | 64 | | |
62 | 65 | | |
| |||
84 | 87 | | |
85 | 88 | | |
86 | 89 | | |
| 90 | + | |
87 | 91 | | |
88 | 92 | | |
89 | 93 | | |
| |||
96 | 100 | | |
97 | 101 | | |
98 | 102 | | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
99 | 112 | | |
100 | 113 | | |
101 | 114 | | |
| |||
117 | 130 | | |
118 | 131 | | |
119 | 132 | | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
120 | 137 | | |
121 | 138 | | |
122 | 139 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
548 | 548 | | |
549 | 549 | | |
550 | 550 | | |
| 551 | + | |
551 | 552 | | |
552 | 553 | | |
| 554 | + | |
| 555 | + | |
| 556 | + | |
553 | 557 | | |
554 | 558 | | |
555 | 559 | | |
| |||
583 | 587 | | |
584 | 588 | | |
585 | 589 | | |
586 | | - | |
| 590 | + | |
| 591 | + | |
| 592 | + | |
| 593 | + | |
| 594 | + | |
| 595 | + | |
| 596 | + | |
| 597 | + | |
| 598 | + | |
| 599 | + | |
587 | 600 | | |
588 | | - | |
589 | | - | |
| 601 | + | |
| 602 | + | |
| 603 | + | |
590 | 604 | | |
591 | 605 | | |
592 | 606 | | |
| |||
660 | 674 | | |
661 | 675 | | |
662 | 676 | | |
| 677 | + | |
663 | 678 | | |
| 679 | + | |
664 | 680 | | |
665 | 681 | | |
666 | 682 | | |
| |||
671 | 687 | | |
672 | 688 | | |
673 | 689 | | |
| 690 | + | |
| 691 | + | |
| 692 | + | |
| 693 | + | |
| 694 | + | |
674 | 695 | | |
675 | 696 | | |
676 | 697 | | |
| |||
836 | 857 | | |
837 | 858 | | |
838 | 859 | | |
| 860 | + | |
| 861 | + | |
| 862 | + | |
| 863 | + | |
| 864 | + | |
| 865 | + | |
| 866 | + | |
| 867 | + | |
| 868 | + | |
| 869 | + | |
839 | 870 | | |
840 | 871 | | |
841 | 872 | | |
842 | 873 | | |
843 | 874 | | |
844 | 875 | | |
| 876 | + | |
845 | 877 | | |
846 | 878 | | |
847 | 879 | | |
| |||
851 | 883 | | |
852 | 884 | | |
853 | 885 | | |
| 886 | + | |
854 | 887 | | |
855 | | - | |
| 888 | + | |
| 889 | + | |
856 | 890 | | |
857 | 891 | | |
858 | 892 | | |
| |||
875 | 909 | | |
876 | 910 | | |
877 | 911 | | |
| 912 | + | |
878 | 913 | | |
879 | 914 | | |
880 | 915 | | |
| |||
888 | 923 | | |
889 | 924 | | |
890 | 925 | | |
| 926 | + | |
| 927 | + | |
| 928 | + | |
| 929 | + | |
| 930 | + | |
| 931 | + | |
| 932 | + | |
| 933 | + | |
| 934 | + | |
| 935 | + | |
891 | 936 | | |
892 | 937 | | |
893 | 938 | | |
| |||
924 | 969 | | |
925 | 970 | | |
926 | 971 | | |
| 972 | + | |
927 | 973 | | |
928 | 974 | | |
929 | 975 | | |
| |||
970 | 1016 | | |
971 | 1017 | | |
972 | 1018 | | |
973 | | - | |
| 1019 | + | |
| 1020 | + | |
974 | 1021 | | |
975 | 1022 | | |
976 | 1023 | | |
| |||
1118 | 1165 | | |
1119 | 1166 | | |
1120 | 1167 | | |
| 1168 | + | |
1121 | 1169 | | |
1122 | 1170 | | |
1123 | 1171 | | |
| |||
1127 | 1175 | | |
1128 | 1176 | | |
1129 | 1177 | | |
| 1178 | + | |
1130 | 1179 | | |
1131 | 1180 | | |
1132 | 1181 | | |
| |||
1135 | 1184 | | |
1136 | 1185 | | |
1137 | 1186 | | |
| 1187 | + | |
1138 | 1188 | | |
1139 | 1189 | | |
1140 | 1190 | | |
| |||
1340 | 1390 | | |
1341 | 1391 | | |
1342 | 1392 | | |
| 1393 | + | |
1343 | 1394 | | |
1344 | 1395 | | |
1345 | 1396 | | |
| |||
1369 | 1420 | | |
1370 | 1421 | | |
1371 | 1422 | | |
| 1423 | + | |
1372 | 1424 | | |
1373 | 1425 | | |
1374 | 1426 | | |
| |||
1435 | 1487 | | |
1436 | 1488 | | |
1437 | 1489 | | |
1438 | | - | |
| 1490 | + | |
| 1491 | + | |
1439 | 1492 | | |
1440 | 1493 | | |
1441 | 1494 | | |
| |||
1557 | 1610 | | |
1558 | 1611 | | |
1559 | 1612 | | |
| 1613 | + | |
| 1614 | + | |
| 1615 | + | |
| 1616 | + | |
| 1617 | + | |
| 1618 | + | |
| 1619 | + | |
| 1620 | + | |
| 1621 | + | |
| 1622 | + | |
| 1623 | + | |
| 1624 | + | |
| 1625 | + | |
| 1626 | + | |
| 1627 | + | |
| 1628 | + | |
| 1629 | + | |
| 1630 | + | |
| 1631 | + | |
| 1632 | + | |
| 1633 | + | |
| 1634 | + | |
| 1635 | + | |
| 1636 | + | |
1560 | 1637 | | |
1561 | 1638 | | |
1562 | 1639 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
37 | 37 | | |
38 | 38 | | |
39 | 39 | | |
| 40 | + | |
40 | 41 | | |
41 | 42 | | |
42 | 43 | | |
| |||
1464 | 1465 | | |
1465 | 1466 | | |
1466 | 1467 | | |
| 1468 | + | |
1467 | 1469 | | |
1468 | 1470 | | |
1469 | 1471 | | |
1470 | 1472 | | |
| 1473 | + | |
1471 | 1474 | | |
1472 | 1475 | | |
1473 | 1476 | | |
| |||
1476 | 1479 | | |
1477 | 1480 | | |
1478 | 1481 | | |
1479 | | - | |
| 1482 | + | |
1480 | 1483 | | |
1481 | 1484 | | |
1482 | 1485 | | |
| |||
1487 | 1490 | | |
1488 | 1491 | | |
1489 | 1492 | | |
| 1493 | + | |
| 1494 | + | |
| 1495 | + | |
| 1496 | + | |
1490 | 1497 | | |
1491 | 1498 | | |
1492 | 1499 | | |
| |||
1500 | 1507 | | |
1501 | 1508 | | |
1502 | 1509 | | |
1503 | | - | |
| 1510 | + | |
1504 | 1511 | | |
1505 | 1512 | | |
1506 | 1513 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
553 | 553 | | |
554 | 554 | | |
555 | 555 | | |
556 | | - | |
| 556 | + | |
557 | 557 | | |
558 | 558 | | |
559 | 559 | | |
| |||
0 commit comments