]> git.lizzy.rs Git - rust.git/blob - tests/mir-opt/sroa.ref_copies.ScalarReplacementOfAggregates.diff
Rollup merge of #100599 - MatthewPeterKelly:add-E0523-description-and-test, r=compile...
[rust.git] / tests / mir-opt / sroa.ref_copies.ScalarReplacementOfAggregates.diff
1 - // MIR for `ref_copies` before ScalarReplacementOfAggregates
2 + // MIR for `ref_copies` after ScalarReplacementOfAggregates
3   
4   fn ref_copies(_1: &Foo) -> () {
5       debug x => _1;                       // in scope 0 at $DIR/sroa.rs:+0:15: +0:16
6       let mut _0: ();                      // return place in scope 0 at $DIR/sroa.rs:+0:24: +0:24
7       let _2: Foo;                         // in scope 0 at $DIR/sroa.rs:+1:9: +1:10
8 +     let _5: u8;                          // in scope 0 at $DIR/sroa.rs:+1:9: +1:10
9 +     let _6: ();                          // in scope 0 at $DIR/sroa.rs:+1:9: +1:10
10 +     let _7: &str;                        // in scope 0 at $DIR/sroa.rs:+1:9: +1:10
11 +     let _8: std::option::Option<isize>;  // in scope 0 at $DIR/sroa.rs:+1:9: +1:10
12       scope 1 {
13 -         debug y => _2;                   // in scope 1 at $DIR/sroa.rs:+1:9: +1:10
14 +         debug y => Foo{ .0 => _5, .1 => _6, .2 => _7, .3 => _8, }; // in scope 1 at $DIR/sroa.rs:+1:9: +1:10
15           let _3: u8;                      // in scope 1 at $DIR/sroa.rs:+2:9: +2:10
16           scope 2 {
17               debug t => _3;               // in scope 2 at $DIR/sroa.rs:+2:9: +2:10
18               let _4: &str;                // in scope 2 at $DIR/sroa.rs:+3:9: +3:10
19               scope 3 {
20                   debug u => _4;           // in scope 3 at $DIR/sroa.rs:+3:9: +3:10
21               }
22           }
23       }
24   
25       bb0: {
26 -         StorageLive(_2);                 // scope 0 at $DIR/sroa.rs:+1:9: +1:10
27 -         _2 = (*_1);                      // scope 0 at $DIR/sroa.rs:+1:13: +1:15
28 +         StorageLive(_5);                 // scope 0 at $DIR/sroa.rs:+1:9: +1:10
29 +         StorageLive(_6);                 // scope 0 at $DIR/sroa.rs:+1:9: +1:10
30 +         StorageLive(_7);                 // scope 0 at $DIR/sroa.rs:+1:9: +1:10
31 +         StorageLive(_8);                 // scope 0 at $DIR/sroa.rs:+1:9: +1:10
32 +         nop;                             // scope 0 at $DIR/sroa.rs:+1:9: +1:10
33 +         _5 = ((*_1).0: u8);              // scope 0 at $DIR/sroa.rs:+1:13: +1:15
34 +         _6 = ((*_1).1: ());              // scope 0 at $DIR/sroa.rs:+1:13: +1:15
35 +         _7 = ((*_1).2: &str);            // scope 0 at $DIR/sroa.rs:+1:13: +1:15
36 +         _8 = ((*_1).3: std::option::Option<isize>); // scope 0 at $DIR/sroa.rs:+1:13: +1:15
37 +         nop;                             // scope 0 at $DIR/sroa.rs:+1:13: +1:15
38           StorageLive(_3);                 // scope 1 at $DIR/sroa.rs:+2:9: +2:10
39 -         _3 = (_2.0: u8);                 // scope 1 at $DIR/sroa.rs:+2:13: +2:16
40 +         _3 = _5;                         // scope 1 at $DIR/sroa.rs:+2:13: +2:16
41           StorageLive(_4);                 // scope 2 at $DIR/sroa.rs:+3:9: +3:10
42 -         _4 = (_2.2: &str);               // scope 2 at $DIR/sroa.rs:+3:13: +3:16
43 +         _4 = _7;                         // scope 2 at $DIR/sroa.rs:+3:13: +3:16
44           _0 = const ();                   // scope 0 at $DIR/sroa.rs:+0:24: +4:2
45           StorageDead(_4);                 // scope 2 at $DIR/sroa.rs:+4:1: +4:2
46           StorageDead(_3);                 // scope 1 at $DIR/sroa.rs:+4:1: +4:2
47 -         StorageDead(_2);                 // scope 0 at $DIR/sroa.rs:+4:1: +4:2
48 +         StorageDead(_5);                 // scope 0 at $DIR/sroa.rs:+4:1: +4:2
49 +         StorageDead(_6);                 // scope 0 at $DIR/sroa.rs:+4:1: +4:2
50 +         StorageDead(_7);                 // scope 0 at $DIR/sroa.rs:+4:1: +4:2
51 +         StorageDead(_8);                 // scope 0 at $DIR/sroa.rs:+4:1: +4:2
52 +         nop;                             // scope 0 at $DIR/sroa.rs:+4:1: +4:2
53           return;                          // scope 0 at $DIR/sroa.rs:+4:2: +4:2
54       }
55   }
56