summaryrefslogtreecommitdiffstats
path: root/src/test/mir-opt/inline/cycle.g.Inline.diff
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/mir-opt/inline/cycle.g.Inline.diff')
-rw-r--r--src/test/mir-opt/inline/cycle.g.Inline.diff57
1 files changed, 57 insertions, 0 deletions
diff --git a/src/test/mir-opt/inline/cycle.g.Inline.diff b/src/test/mir-opt/inline/cycle.g.Inline.diff
new file mode 100644
index 000000000..59f34d379
--- /dev/null
+++ b/src/test/mir-opt/inline/cycle.g.Inline.diff
@@ -0,0 +1,57 @@
+- // MIR for `g` before Inline
++ // MIR for `g` after Inline
+
+ fn g() -> () {
+ let mut _0: (); // return place in scope 0 at $DIR/cycle.rs:+0:8: +0:8
+ let _1: (); // in scope 0 at $DIR/cycle.rs:+1:5: +1:12
++ let mut _2: fn() {main}; // in scope 0 at $DIR/cycle.rs:+1:5: +1:12
++ scope 1 (inlined f::<fn() {main}>) { // at $DIR/cycle.rs:12:5: 12:12
++ debug g => _2; // in scope 1 at $DIR/cycle.rs:+0:6: +0:7
++ let _3: (); // in scope 1 at $DIR/cycle.rs:+0:5: +0:8
++ let mut _4: &fn() {main}; // in scope 1 at $DIR/cycle.rs:+0:5: +0:6
++ let mut _5: (); // in scope 1 at $DIR/cycle.rs:+0:5: +0:8
++ scope 2 (inlined <fn() {main} as Fn<()>>::call - shim(fn() {main})) { // at $DIR/cycle.rs:6:5: 6:8
++ }
++ }
+
+ bb0: {
+ StorageLive(_1); // scope 0 at $DIR/cycle.rs:+1:5: +1:12
+- _1 = f::<fn() {main}>(main) -> bb1; // scope 0 at $DIR/cycle.rs:+1:5: +1:12
++ StorageLive(_2); // scope 0 at $DIR/cycle.rs:+1:5: +1:12
++ _2 = main; // scope 0 at $DIR/cycle.rs:+1:5: +1:12
+ // mir::Constant
+- // + span: $DIR/cycle.rs:12:5: 12:6
+- // + literal: Const { ty: fn(fn() {main}) {f::<fn() {main}>}, val: Value(<ZST>) }
+- // mir::Constant
+ // + span: $DIR/cycle.rs:12:7: 12:11
+ // + literal: Const { ty: fn() {main}, val: Value(<ZST>) }
++ StorageLive(_3); // scope 1 at $DIR/cycle.rs:+0:5: +0:8
++ StorageLive(_4); // scope 1 at $DIR/cycle.rs:+0:5: +0:6
++ _4 = &_2; // scope 1 at $DIR/cycle.rs:+0:5: +0:6
++ StorageLive(_5); // scope 1 at $DIR/cycle.rs:+0:5: +0:8
++ _3 = move (*_4)() -> [return: bb4, unwind: bb2]; // scope 2 at $SRC_DIR/core/src/ops/function.rs:LL:COL
+ }
+
+ bb1: {
++ StorageDead(_2); // scope 0 at $DIR/cycle.rs:+1:5: +1:12
+ StorageDead(_1); // scope 0 at $DIR/cycle.rs:+1:12: +1:13
+ _0 = const (); // scope 0 at $DIR/cycle.rs:+0:8: +2:2
+ return; // scope 0 at $DIR/cycle.rs:+2:2: +2:2
++ }
++
++ bb2 (cleanup): {
++ drop(_2) -> bb3; // scope 1 at $DIR/cycle.rs:+0:1: +0:2
++ }
++
++ bb3 (cleanup): {
++ resume; // scope 1 at $DIR/cycle.rs:+0:1: +0:2
++ }
++
++ bb4: {
++ StorageDead(_5); // scope 1 at $DIR/cycle.rs:+0:7: +0:8
++ StorageDead(_4); // scope 1 at $DIR/cycle.rs:+0:7: +0:8
++ StorageDead(_3); // scope 1 at $DIR/cycle.rs:+0:8: +0:9
++ drop(_2) -> bb1; // scope 1 at $DIR/cycle.rs:+0:1: +0:2
+ }
+ }
+