1 - // MIR for `structs` before ScalarReplacementOfAggregates
2 + // MIR for `structs` after ScalarReplacementOfAggregates
4 fn structs(_1: f32) -> f32 {
5 debug a => _1; // in scope 0 at $DIR/sroa.rs:+0:16: +0:17
6 let mut _0: f32; // return place in scope 0 at $DIR/sroa.rs:+0:27: +0:30
7 let mut _2: structs::U; // in scope 0 at $DIR/sroa.rs:+6:5: +6:21
8 let mut _3: f32; // in scope 0 at $DIR/sroa.rs:+6:18: +6:19
9 + let mut _4: usize; // in scope 0 at $DIR/sroa.rs:+6:5: +6:21
10 + let mut _5: f32; // in scope 0 at $DIR/sroa.rs:+6:5: +6:21
13 - StorageLive(_2); // scope 0 at $DIR/sroa.rs:+6:5: +6:21
14 + StorageLive(_4); // scope 0 at $DIR/sroa.rs:+6:5: +6:21
15 + StorageLive(_5); // scope 0 at $DIR/sroa.rs:+6:5: +6:21
16 + nop; // scope 0 at $DIR/sroa.rs:+6:5: +6:21
17 StorageLive(_3); // scope 0 at $DIR/sroa.rs:+6:18: +6:19
18 _3 = _1; // scope 0 at $DIR/sroa.rs:+6:18: +6:19
19 - _2 = U { _foo: const 0_usize, a: move _3 }; // scope 0 at $DIR/sroa.rs:+6:5: +6:21
20 + _4 = const 0_usize; // scope 0 at $DIR/sroa.rs:+6:5: +6:21
21 + _5 = move _3; // scope 0 at $DIR/sroa.rs:+6:5: +6:21
22 + nop; // scope 0 at $DIR/sroa.rs:+6:5: +6:21
23 StorageDead(_3); // scope 0 at $DIR/sroa.rs:+6:20: +6:21
24 - _0 = (_2.1: f32); // scope 0 at $DIR/sroa.rs:+6:5: +6:23
25 - StorageDead(_2); // scope 0 at $DIR/sroa.rs:+7:1: +7:2
26 + _0 = _5; // scope 0 at $DIR/sroa.rs:+6:5: +6:23
27 + StorageDead(_4); // scope 0 at $DIR/sroa.rs:+7:1: +7:2
28 + StorageDead(_5); // scope 0 at $DIR/sroa.rs:+7:1: +7:2
29 + nop; // scope 0 at $DIR/sroa.rs:+7:1: +7:2
30 return; // scope 0 at $DIR/sroa.rs:+7:2: +7:2