summaryrefslogtreecommitdiffstats
path: root/tests/mir-opt/sroa/structs.constant.ScalarReplacementOfAggregates.diff
blob: 7ee0431692c1d947ee4c81f6b3bd55bae2073fe6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
- // MIR for `constant` before ScalarReplacementOfAggregates
+ // MIR for `constant` after ScalarReplacementOfAggregates
  
  fn constant() -> () {
      let mut _0: ();
      let _1: (usize, u8);
+     let _4: usize;
+     let _5: u8;
      scope 1 {
-         debug y => _1;
+         debug y => (usize, u8){ .0 => _4, .1 => _5, };
          let _2: usize;
          scope 2 {
              debug t => _2;
              let _3: u8;
              scope 3 {
                  debug u => _3;
              }
          }
      }
  
      bb0: {
-         StorageLive(_1);
+         StorageLive(_4);
+         StorageLive(_5);
+         nop;
          _1 = const _;
+         _4 = move (_1.0: usize);
+         _5 = move (_1.1: u8);
          StorageLive(_2);
-         _2 = (_1.0: usize);
+         _2 = _4;
          StorageLive(_3);
-         _3 = (_1.1: u8);
+         _3 = _5;
          _0 = const ();
          StorageDead(_3);
          StorageDead(_2);
-         StorageDead(_1);
+         StorageDead(_4);
+         StorageDead(_5);
+         nop;
          return;
      }
  }