about summary refs log tree commit diff
path: root/tests/mir-opt/inline_double_cycle.b.Inline.panic-unwind.diff
blob: 9e6eef1fa3049b761f29cdc14b66b1220fdda393 (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
47
48
- // MIR for `b` before Inline
+ // MIR for `b` after Inline
  
  fn b() -> () {
      let mut _0: ();
      let _1: ();
      let mut _2: ();
      let _3: ();
      let mut _4: ();
+     let mut _5: fn() {b};
+     let mut _6: fn() {a};
+     scope 1 (inlined <fn() {b} as FnOnce<()>>::call_once - shim(fn() {b})) {
+     }
+     scope 2 (inlined <fn() {a} as FnOnce<()>>::call_once - shim(fn() {a})) {
+     }
  
      bb0: {
          StorageLive(_1);
          StorageLive(_2);
          _2 = ();
-         _1 = <fn() {b} as FnOnce<()>>::call_once(b, move _2) -> [return: bb1, unwind continue];
+         StorageLive(_5);
+         _5 = b;
+         _1 = move _5() -> [return: bb1, unwind continue];
      }
  
      bb1: {
+         StorageDead(_5);
          StorageDead(_2);
          StorageDead(_1);
          StorageLive(_3);
          StorageLive(_4);
          _4 = ();
-         _3 = <fn() {a} as FnOnce<()>>::call_once(a, move _4) -> [return: bb2, unwind continue];
+         StorageLive(_6);
+         _6 = a;
+         _3 = move _6() -> [return: bb2, unwind continue];
      }
  
      bb2: {
+         StorageDead(_6);
          StorageDead(_4);
          StorageDead(_3);
          _0 = const ();
          return;
      }
  }