summary refs log tree commit diff
path: root/src/librustc/ty/layout.rs
AgeCommit message (Expand)AuthorLines
2018-01-01Fix docs for future pulldown migrationMalo Jaffré-2/+4
2017-12-26rustc: don't use union layouts for tagged union enums.Eduard-Mihai Burtescu-4/+4
2017-12-24Auto merge of #46859 - gereeter:uninhabited-unions, r=eddybbors-11/+11
2017-12-23Remove unnecessary assert that unions have only one variantJonathan S-3/+0
2017-12-20Never mark unions as uninhabited. Although I think this is wrong, it is certa...Jonathan S-5/+0
2017-12-20rustc: do not raise the alignment of optimized enums to the niche's alignment.Eduard-Mihai Burtescu-7/+5
2017-12-19Only mark unions as uninhabited if all of their fields are uninhabited. Fixes...Jonathan S-11/+19
2017-12-18rustc: ensure optimized enums have a properly aligned size.Eduard-Mihai Burtescu-1/+2
2017-12-17rustc: don't track whether layouts are "packed".Eduard-Mihai Burtescu-52/+11
2017-12-15rustc_trans: approximate ABI alignment for padding/union fillers.Eduard-Mihai Burtescu-2/+15
2017-12-13rustc: unpack newtyped of #[repr(simd)] vector types.Eduard-Mihai Burtescu-14/+28
2017-12-02rustc: don't unpack newtypes of scalar-pairs with mismatched alignment.Eduard-Mihai Burtescu-1/+3
2017-11-20Implement the special repr(C)-non-clike-enum layoutAlexis Beingessner-16/+26
2017-11-19rustc_trans: remove primitive_align optimization.Eduard-Mihai Burtescu-37/+8
2017-11-19rustc: rename CachedLayout to LayoutDetails.Eduard-Mihai Burtescu-51/+51
2017-11-19rustc: extend the niche-filling enum optimization past 2 variants.Eduard-Mihai Burtescu-102/+129
2017-11-19rustc: use layout::Abi::ScalarPair for structs in more cases.Eduard-Mihai Burtescu-42/+54
2017-11-19rustc: don't special-case Box<T> as having a pointer layout.Eduard-Mihai Burtescu-95/+73
2017-11-19rustc: unpack scalar pair newtype layout ABIs.Eduard-Mihai Burtescu-18/+23
2017-11-19rustc: unpack scalar newtype layout ABIs.Eduard-Mihai Burtescu-14/+36
2017-11-19rustc: place ZSTs first during struct field reordering.Eduard-Mihai Burtescu-22/+19
2017-11-19rustc: encode scalar pairs in layout ABI.Eduard-Mihai Burtescu-43/+95
2017-11-19rustc: optimize out uninhabited types and variants.Eduard-Mihai Burtescu-46/+105
2017-11-19rustc: track validity ranges for layout::Abi::Scalar values.Eduard-Mihai Burtescu-115/+186
2017-11-19rustc: remove redundant/unused fields from layout::Abi::Vector.Eduard-Mihai Burtescu-18/+9
2017-11-19rustc: generalize layout::Variants::NicheFilling to niches other than 0.Eduard-Mihai Burtescu-39/+61
2017-11-19rustc: make TyLayout::field(NonZero<*T>, 0) return &T.Eduard-Mihai Burtescu-5/+11
2017-11-19rustc: support u128 discriminant ranges.Eduard-Mihai Burtescu-19/+15
2017-11-19rustc: collapse the remains of Layout into Variants (enums vs everything else).Eduard-Mihai Burtescu-122/+64
2017-11-19rustc: move size, align & primitive_align from Abi::Aggregate to layout.Eduard-Mihai Burtescu-186/+125
2017-11-19rustc_trans: go through layouts uniformly for fat pointers and variants.Eduard-Mihai Burtescu-115/+118
2017-11-19rustc: collapse Layout::FatPointer into Layout::Univariant.Eduard-Mihai Burtescu-42/+47
2017-11-19rustc_trans: keep a layout instead of a type in {Lvalue,Operand}Ref.Eduard-Mihai Burtescu-2/+16
2017-11-19rustc: do not pub use Layout::* in layout.Eduard-Mihai Burtescu-12/+11
2017-11-19rustc_trans: compute LLVM types from type layouts, not Rust types.Eduard-Mihai Burtescu-4/+4
2017-11-19rustc: split layout::FieldPlacement::Linear back into Union and Array.Eduard-Mihai Burtescu-26/+28
2017-11-19rustc: move layout::Struct into FieldPlacement/Abi.Eduard-Mihai Burtescu-563/+475
2017-11-19rustc: hide details in Layout in favor of Abi or FieldPlacement.Eduard-Mihai Burtescu-345/+273
2017-11-19rustc: store CachedLayout for each variant of enum Layout's instead of Struct.Eduard-Mihai Burtescu-26/+28
2017-11-19rustc: move size/alignment from Layout into layout::Abi.Eduard-Mihai Burtescu-160/+199
2017-11-19rustc: make Layout::NullablePointer a lot more like Layout::General.Eduard-Mihai Burtescu-64/+45
2017-11-19rustc: collapse Layout::CEnum into Layout::General.Eduard-Mihai Burtescu-107/+61
2017-11-19rustc: give Layout::CEnum a discriminant field like Layout::General.Eduard-Mihai Burtescu-2/+3
2017-11-19rustc: move CEnum's signedness into Primitive::Int.Eduard-Mihai Burtescu-28/+25
2017-11-19rustc: use Primitive instead of Integer for CEnum and General discriminants.Eduard-Mihai Burtescu-17/+14
2017-11-19rustc: do not track `non_zero` in Layout.Eduard-Mihai Burtescu-58/+37
2017-11-19rustc: collapse Layout::{Raw,StructWrapped}NullablePointer into one variant.Eduard-Mihai Burtescu-58/+31
2017-11-19rustc: introduce layout::Abi for reduced general ABI "passing style".Eduard-Mihai Burtescu-5/+54
2017-11-19rustc: represent the discriminant as a field for Layout::{Raw,StructWrapped}N...Eduard-Mihai Burtescu-7/+34
2017-11-19rustc: pre-compute field placements out of Layout.Eduard-Mihai Burtescu-124/+210