Skip to content

Commit bd7310c

Browse files
committed
Remove unused VariantLayout.randomization_seed field
This field is only used during layout calculations, so re-synthetized `LayoutData`s for enum variants can use a dummy value instead.
1 parent f9225ae commit bd7310c

17 files changed

Lines changed: 5 additions & 89 deletions

compiler/rustc_abi/src/layout.rs

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -586,6 +586,7 @@ impl<Cx: HasDataLayout> LayoutCalculator<Cx> {
586586
let mut align = dl.aggregate_align;
587587
let mut max_repr_align = repr.align;
588588
let mut unadjusted_abi_align = align;
589+
let mut combined_seed = repr.field_shuffle_seed;
589590

590591
let mut variant_layouts = variants
591592
.iter()
@@ -595,6 +596,7 @@ impl<Cx: HasDataLayout> LayoutCalculator<Cx> {
595596
align = align.max(st.align.abi);
596597
max_repr_align = max_repr_align.max(st.max_repr_align);
597598
unadjusted_abi_align = unadjusted_abi_align.max(st.unadjusted_abi_align);
599+
combined_seed = combined_seed.wrapping_add(st.randomization_seed);
598600

599601
Some(VariantLayout::from_layout(st))
600602
})
@@ -688,11 +690,6 @@ impl<Cx: HasDataLayout> LayoutCalculator<Cx> {
688690
BackendRepr::Memory { sized: true }
689691
};
690692

691-
let combined_seed = variant_layouts
692-
.iter()
693-
.map(|v| v.randomization_seed)
694-
.fold(repr.field_shuffle_seed, |acc, seed| acc.wrapping_add(seed));
695-
696693
let layout = LayoutData {
697694
variants: Variants::Multiple {
698695
tag: niche_scalar,
@@ -785,6 +782,7 @@ impl<Cx: HasDataLayout> LayoutCalculator<Cx> {
785782
let mut align = dl.aggregate_align;
786783
let mut max_repr_align = repr.align;
787784
let mut unadjusted_abi_align = align;
785+
let mut combined_seed = repr.field_shuffle_seed;
788786

789787
let mut size = Size::ZERO;
790788

@@ -828,6 +826,7 @@ impl<Cx: HasDataLayout> LayoutCalculator<Cx> {
828826
align = align.max(st.align.abi);
829827
max_repr_align = max_repr_align.max(st.max_repr_align);
830828
unadjusted_abi_align = unadjusted_abi_align.max(st.unadjusted_abi_align);
829+
combined_seed = combined_seed.wrapping_add(st.randomization_seed);
831830
Ok(VariantLayout::from_layout(st))
832831
})
833832
.collect::<Result<IndexVec<VariantIdx, _>, _>>()?;
@@ -1028,11 +1027,6 @@ impl<Cx: HasDataLayout> LayoutCalculator<Cx> {
10281027

10291028
let largest_niche = Niche::from_scalar(dl, Size::ZERO, tag);
10301029

1031-
let combined_seed = layout_variants
1032-
.iter()
1033-
.map(|v| v.randomization_seed)
1034-
.fold(repr.field_shuffle_seed, |acc, seed| acc.wrapping_add(seed));
1035-
10361030
let tagged_layout = LayoutData {
10371031
variants: Variants::Multiple {
10381032
tag,

compiler/rustc_abi/src/layout/simple.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ impl<FieldIdx: Idx, VariantIdx: Idx> LayoutData<FieldIdx, VariantIdx> {
167167
size: layout.size,
168168
max_repr_align: layout.max_repr_align,
169169
unadjusted_abi_align: layout.unadjusted_abi_align,
170-
randomization_seed: layout.randomization_seed,
170+
randomization_seed: Hash64::ZERO,
171171
}
172172
}
173173
}

compiler/rustc_abi/src/lib.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2244,7 +2244,6 @@ pub struct VariantLayout<FieldIdx: Idx> {
22442244
uninhabited: bool,
22452245
max_repr_align: Option<Align>,
22462246
unadjusted_abi_align: Align,
2247-
randomization_seed: Hash64,
22482247
}
22492248

22502249
impl<FieldIdx: Idx> VariantLayout<FieldIdx> {
@@ -2263,7 +2262,6 @@ impl<FieldIdx: Idx> VariantLayout<FieldIdx> {
22632262
uninhabited: layout.uninhabited,
22642263
max_repr_align: layout.max_repr_align,
22652264
unadjusted_abi_align: layout.unadjusted_abi_align,
2266-
randomization_seed: layout.randomization_seed,
22672265
}
22682266
}
22692267

tests/ui/enum-discriminant/wrapping_niche.stderr

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,6 @@ error: layout_of(UnsignedAroundZero) = Layout {
5656
uninhabited: false,
5757
max_repr_align: None,
5858
unadjusted_abi_align: Align(2 bytes),
59-
randomization_seed: 9885373149222004003,
6059
},
6160
VariantLayout {
6261
size: Size(2 bytes),
@@ -72,7 +71,6 @@ error: layout_of(UnsignedAroundZero) = Layout {
7271
uninhabited: false,
7372
max_repr_align: None,
7473
unadjusted_abi_align: Align(2 bytes),
75-
randomization_seed: 9885373149222004003,
7674
},
7775
VariantLayout {
7876
size: Size(2 bytes),
@@ -88,7 +86,6 @@ error: layout_of(UnsignedAroundZero) = Layout {
8886
uninhabited: false,
8987
max_repr_align: None,
9088
unadjusted_abi_align: Align(2 bytes),
91-
randomization_seed: 9885373149222004003,
9289
},
9390
],
9491
},
@@ -159,7 +156,6 @@ error: layout_of(SignedAroundZero) = Layout {
159156
uninhabited: false,
160157
max_repr_align: None,
161158
unadjusted_abi_align: Align(2 bytes),
162-
randomization_seed: 2684536712112553499,
163159
},
164160
VariantLayout {
165161
size: Size(2 bytes),
@@ -175,7 +171,6 @@ error: layout_of(SignedAroundZero) = Layout {
175171
uninhabited: false,
176172
max_repr_align: None,
177173
unadjusted_abi_align: Align(2 bytes),
178-
randomization_seed: 2684536712112553499,
179174
},
180175
VariantLayout {
181176
size: Size(2 bytes),
@@ -191,7 +186,6 @@ error: layout_of(SignedAroundZero) = Layout {
191186
uninhabited: false,
192187
max_repr_align: None,
193188
unadjusted_abi_align: Align(2 bytes),
194-
randomization_seed: 2684536712112553499,
195189
},
196190
],
197191
},

tests/ui/layout/debug.stderr

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,6 @@ error: layout_of(E) = Layout {
5656
uninhabited: false,
5757
max_repr_align: None,
5858
unadjusted_abi_align: Align(1 bytes),
59-
randomization_seed: $SEED,
6059
},
6160
VariantLayout {
6261
size: Size(12 bytes),
@@ -80,7 +79,6 @@ error: layout_of(E) = Layout {
8079
uninhabited: true,
8180
max_repr_align: None,
8281
unadjusted_abi_align: Align(4 bytes),
83-
randomization_seed: $SEED,
8482
},
8583
],
8684
},
@@ -247,7 +245,6 @@ error: layout_of(Result<i32, i32>) = Layout {
247245
uninhabited: false,
248246
max_repr_align: None,
249247
unadjusted_abi_align: Align(4 bytes),
250-
randomization_seed: $SEED,
251248
},
252249
VariantLayout {
253250
size: Size(8 bytes),
@@ -280,7 +277,6 @@ error: layout_of(Result<i32, i32>) = Layout {
280277
uninhabited: false,
281278
max_repr_align: None,
282279
unadjusted_abi_align: Align(4 bytes),
283-
randomization_seed: $SEED,
284280
},
285281
],
286282
},

tests/ui/layout/hexagon-enum.stderr

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,6 @@ error: layout_of(A) = Layout {
5656
uninhabited: false,
5757
max_repr_align: None,
5858
unadjusted_abi_align: Align(1 bytes),
59-
randomization_seed: $SEED,
6059
},
6160
],
6261
},
@@ -127,7 +126,6 @@ error: layout_of(B) = Layout {
127126
uninhabited: false,
128127
max_repr_align: None,
129128
unadjusted_abi_align: Align(1 bytes),
130-
randomization_seed: $SEED,
131129
},
132130
],
133131
},
@@ -198,7 +196,6 @@ error: layout_of(C) = Layout {
198196
uninhabited: false,
199197
max_repr_align: None,
200198
unadjusted_abi_align: Align(2 bytes),
201-
randomization_seed: $SEED,
202199
},
203200
],
204201
},
@@ -269,7 +266,6 @@ error: layout_of(P) = Layout {
269266
uninhabited: false,
270267
max_repr_align: None,
271268
unadjusted_abi_align: Align(4 bytes),
272-
randomization_seed: $SEED,
273269
},
274270
],
275271
},
@@ -340,7 +336,6 @@ error: layout_of(T) = Layout {
340336
uninhabited: false,
341337
max_repr_align: None,
342338
unadjusted_abi_align: Align(4 bytes),
343-
randomization_seed: $SEED,
344339
},
345340
],
346341
},

tests/ui/layout/issue-96158-scalarpair-payload-might-be-uninit.stderr

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,6 @@ error: layout_of(MissingPayloadField) = Layout {
7878
uninhabited: false,
7979
max_repr_align: None,
8080
unadjusted_abi_align: Align(1 bytes),
81-
randomization_seed: $SEED,
8281
},
8382
VariantLayout {
8483
size: Size(1 bytes),
@@ -94,7 +93,6 @@ error: layout_of(MissingPayloadField) = Layout {
9493
uninhabited: false,
9594
max_repr_align: None,
9695
unadjusted_abi_align: Align(1 bytes),
97-
randomization_seed: $SEED,
9896
},
9997
],
10098
},
@@ -189,7 +187,6 @@ error: layout_of(CommonPayloadField) = Layout {
189187
uninhabited: false,
190188
max_repr_align: None,
191189
unadjusted_abi_align: Align(1 bytes),
192-
randomization_seed: $SEED,
193190
},
194191
VariantLayout {
195192
size: Size(2 bytes),
@@ -222,7 +219,6 @@ error: layout_of(CommonPayloadField) = Layout {
222219
uninhabited: false,
223220
max_repr_align: None,
224221
unadjusted_abi_align: Align(1 bytes),
225-
randomization_seed: $SEED,
226222
},
227223
],
228224
},
@@ -315,7 +311,6 @@ error: layout_of(CommonPayloadFieldIsMaybeUninit) = Layout {
315311
uninhabited: false,
316312
max_repr_align: None,
317313
unadjusted_abi_align: Align(1 bytes),
318-
randomization_seed: $SEED,
319314
},
320315
VariantLayout {
321316
size: Size(2 bytes),
@@ -347,7 +342,6 @@ error: layout_of(CommonPayloadFieldIsMaybeUninit) = Layout {
347342
uninhabited: false,
348343
max_repr_align: None,
349344
unadjusted_abi_align: Align(1 bytes),
350-
randomization_seed: $SEED,
351345
},
352346
],
353347
},
@@ -456,7 +450,6 @@ error: layout_of(NicheFirst) = Layout {
456450
uninhabited: false,
457451
max_repr_align: None,
458452
unadjusted_abi_align: Align(1 bytes),
459-
randomization_seed: $SEED,
460453
},
461454
VariantLayout {
462455
size: Size(0 bytes),
@@ -472,7 +465,6 @@ error: layout_of(NicheFirst) = Layout {
472465
uninhabited: false,
473466
max_repr_align: None,
474467
unadjusted_abi_align: Align(1 bytes),
475-
randomization_seed: $SEED,
476468
},
477469
VariantLayout {
478470
size: Size(0 bytes),
@@ -488,7 +480,6 @@ error: layout_of(NicheFirst) = Layout {
488480
uninhabited: false,
489481
max_repr_align: None,
490482
unadjusted_abi_align: Align(1 bytes),
491-
randomization_seed: $SEED,
492483
},
493484
],
494485
},
@@ -597,7 +588,6 @@ error: layout_of(NicheSecond) = Layout {
597588
uninhabited: false,
598589
max_repr_align: None,
599590
unadjusted_abi_align: Align(1 bytes),
600-
randomization_seed: $SEED,
601591
},
602592
VariantLayout {
603593
size: Size(0 bytes),
@@ -613,7 +603,6 @@ error: layout_of(NicheSecond) = Layout {
613603
uninhabited: false,
614604
max_repr_align: None,
615605
unadjusted_abi_align: Align(1 bytes),
616-
randomization_seed: $SEED,
617606
},
618607
VariantLayout {
619608
size: Size(0 bytes),
@@ -629,7 +618,6 @@ error: layout_of(NicheSecond) = Layout {
629618
uninhabited: false,
630619
max_repr_align: None,
631620
unadjusted_abi_align: Align(1 bytes),
632-
randomization_seed: $SEED,
633621
},
634622
],
635623
},

tests/ui/layout/issue-96185-overaligned-enum.stderr

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,6 @@ error: layout_of(Aligned1) = Layout {
5252
Align(8 bytes),
5353
),
5454
unadjusted_abi_align: Align(1 bytes),
55-
randomization_seed: $SEED,
5655
},
5756
VariantLayout {
5857
size: Size(8 bytes),
@@ -70,7 +69,6 @@ error: layout_of(Aligned1) = Layout {
7069
Align(8 bytes),
7170
),
7271
unadjusted_abi_align: Align(1 bytes),
73-
randomization_seed: $SEED,
7472
},
7573
],
7674
},
@@ -145,7 +143,6 @@ error: layout_of(Aligned2) = Layout {
145143
Align(1 bytes),
146144
),
147145
unadjusted_abi_align: Align(1 bytes),
148-
randomization_seed: $SEED,
149146
},
150147
VariantLayout {
151148
size: Size(1 bytes),
@@ -163,7 +160,6 @@ error: layout_of(Aligned2) = Layout {
163160
Align(1 bytes),
164161
),
165162
unadjusted_abi_align: Align(1 bytes),
166-
randomization_seed: $SEED,
167163
},
168164
],
169165
},

tests/ui/layout/thumb-enum.stderr

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,6 @@ error: layout_of(A) = Layout {
5656
uninhabited: false,
5757
max_repr_align: None,
5858
unadjusted_abi_align: Align(1 bytes),
59-
randomization_seed: $SEED,
6059
},
6160
],
6261
},
@@ -127,7 +126,6 @@ error: layout_of(B) = Layout {
127126
uninhabited: false,
128127
max_repr_align: None,
129128
unadjusted_abi_align: Align(1 bytes),
130-
randomization_seed: $SEED,
131129
},
132130
],
133131
},
@@ -198,7 +196,6 @@ error: layout_of(C) = Layout {
198196
uninhabited: false,
199197
max_repr_align: None,
200198
unadjusted_abi_align: Align(2 bytes),
201-
randomization_seed: $SEED,
202199
},
203200
],
204201
},
@@ -269,7 +266,6 @@ error: layout_of(P) = Layout {
269266
uninhabited: false,
270267
max_repr_align: None,
271268
unadjusted_abi_align: Align(4 bytes),
272-
randomization_seed: $SEED,
273269
},
274270
],
275271
},
@@ -340,7 +336,6 @@ error: layout_of(T) = Layout {
340336
uninhabited: false,
341337
max_repr_align: None,
342338
unadjusted_abi_align: Align(4 bytes),
343-
randomization_seed: $SEED,
344339
},
345340
],
346341
},

0 commit comments

Comments
 (0)