summaryrefslogtreecommitdiffstats
path: root/tests/mir-opt/inline/exponential_runtime.main.Inline.diff
blob: 7fd62be7ab9c35cedea97f6a4727f9742a89d107 (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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
- // MIR for `main` before Inline
+ // MIR for `main` after Inline
  
  fn main() -> () {
      let mut _0: ();                      // return place in scope 0 at $DIR/exponential_runtime.rs:+0:11: +0:11
      let _1: ();                          // in scope 0 at $DIR/exponential_runtime.rs:+1:5: +1:22
+     scope 1 (inlined <() as G>::call) {  // at $DIR/exponential_runtime.rs:86:5: 86:22
+         let _2: ();                      // in scope 1 at $DIR/exponential_runtime.rs:73:9: 73:25
+         let _3: ();                      // in scope 1 at $DIR/exponential_runtime.rs:74:9: 74:25
+         let _4: ();                      // in scope 1 at $DIR/exponential_runtime.rs:75:9: 75:25
+         scope 2 (inlined <() as F>::call) { // at $DIR/exponential_runtime.rs:73:9: 73:25
+             let _5: ();                  // in scope 2 at $DIR/exponential_runtime.rs:61:9: 61:25
+             let _6: ();                  // in scope 2 at $DIR/exponential_runtime.rs:62:9: 62:25
+             let _7: ();                  // in scope 2 at $DIR/exponential_runtime.rs:63:9: 63:25
+         }
+     }
  
      bb0: {
          StorageLive(_1);                 // scope 0 at $DIR/exponential_runtime.rs:+1:5: +1:22
-         _1 = <() as G>::call() -> bb1;   // scope 0 at $DIR/exponential_runtime.rs:+1:5: +1:22
+         StorageLive(_2);                 // scope 1 at $DIR/exponential_runtime.rs:73:9: 73:25
+         StorageLive(_5);                 // scope 2 at $DIR/exponential_runtime.rs:61:9: 61:25
+         _5 = <() as E>::call() -> bb3;   // scope 2 at $DIR/exponential_runtime.rs:61:9: 61:25
                                           // mir::Constant
-                                          // + span: $DIR/exponential_runtime.rs:86:5: 86:20
-                                          // + literal: Const { ty: fn() {<() as G>::call}, val: Value(<ZST>) }
+                                          // + span: $DIR/exponential_runtime.rs:61:9: 61:23
+                                          // + literal: Const { ty: fn() {<() as E>::call}, val: Value(<ZST>) }
      }
  
      bb1: {
+         StorageDead(_3);                 // scope 1 at $DIR/exponential_runtime.rs:74:25: 74:26
+         StorageLive(_4);                 // scope 1 at $DIR/exponential_runtime.rs:75:9: 75:25
+         _4 = <() as F>::call() -> bb2;   // scope 1 at $DIR/exponential_runtime.rs:75:9: 75:25
+                                          // mir::Constant
+                                          // + span: $DIR/exponential_runtime.rs:75:9: 75:23
+                                          // + literal: Const { ty: fn() {<() as F>::call}, val: Value(<ZST>) }
+     }
+ 
+     bb2: {
+         StorageDead(_4);                 // scope 1 at $DIR/exponential_runtime.rs:75:25: 75:26
          StorageDead(_1);                 // scope 0 at $DIR/exponential_runtime.rs:+1:22: +1:23
          _0 = const ();                   // scope 0 at $DIR/exponential_runtime.rs:+0:11: +2:2
          return;                          // scope 0 at $DIR/exponential_runtime.rs:+2:2: +2:2
+     }
+ 
+     bb3: {
+         StorageDead(_5);                 // scope 2 at $DIR/exponential_runtime.rs:61:25: 61:26
+         StorageLive(_6);                 // scope 2 at $DIR/exponential_runtime.rs:62:9: 62:25
+         _6 = <() as E>::call() -> bb4;   // scope 2 at $DIR/exponential_runtime.rs:62:9: 62:25
+                                          // mir::Constant
+                                          // + span: $DIR/exponential_runtime.rs:62:9: 62:23
+                                          // + literal: Const { ty: fn() {<() as E>::call}, val: Value(<ZST>) }
+     }
+ 
+     bb4: {
+         StorageDead(_6);                 // scope 2 at $DIR/exponential_runtime.rs:62:25: 62:26
+         StorageLive(_7);                 // scope 2 at $DIR/exponential_runtime.rs:63:9: 63:25
+         _7 = <() as E>::call() -> bb5;   // scope 2 at $DIR/exponential_runtime.rs:63:9: 63:25
+                                          // mir::Constant
+                                          // + span: $DIR/exponential_runtime.rs:63:9: 63:23
+                                          // + literal: Const { ty: fn() {<() as E>::call}, val: Value(<ZST>) }
+     }
+ 
+     bb5: {
+         StorageDead(_7);                 // scope 2 at $DIR/exponential_runtime.rs:63:25: 63:26
+         StorageDead(_2);                 // scope 1 at $DIR/exponential_runtime.rs:73:25: 73:26
+         StorageLive(_3);                 // scope 1 at $DIR/exponential_runtime.rs:74:9: 74:25
+         _3 = <() as F>::call() -> bb1;   // scope 1 at $DIR/exponential_runtime.rs:74:9: 74:25
+                                          // mir::Constant
+                                          // + span: $DIR/exponential_runtime.rs:74:9: 74:23
+                                          // + literal: Const { ty: fn() {<() as F>::call}, val: Value(<ZST>) }
      }
  }