about summary refs log tree commit diff
path: root/tests/mir-opt/basic_assignment.main.SimplifyCfg-initial.after.mir
diff options
context:
space:
mode:
authorAlbert Larsan <74931857+albertlarsan68@users.noreply.github.com>2023-01-05 09:13:28 +0100
committerAlbert Larsan <74931857+albertlarsan68@users.noreply.github.com>2023-01-11 09:32:08 +0000
commitcf2dff2b1e3fa55fa5415d524200070d0d7aacfe (patch)
tree40a88d9a46aaf3e8870676eb2538378b75a263eb /tests/mir-opt/basic_assignment.main.SimplifyCfg-initial.after.mir
parentca855e6e42787ecd062d81d53336fe6788ef51a9 (diff)
downloadrust-cf2dff2b1e3fa55fa5415d524200070d0d7aacfe.tar.gz
rust-cf2dff2b1e3fa55fa5415d524200070d0d7aacfe.zip
Move /src/test to /tests
Diffstat (limited to 'tests/mir-opt/basic_assignment.main.SimplifyCfg-initial.after.mir')
-rw-r--r--tests/mir-opt/basic_assignment.main.SimplifyCfg-initial.after.mir84
1 files changed, 84 insertions, 0 deletions
diff --git a/tests/mir-opt/basic_assignment.main.SimplifyCfg-initial.after.mir b/tests/mir-opt/basic_assignment.main.SimplifyCfg-initial.after.mir
new file mode 100644
index 00000000000..1f099cd5e83
--- /dev/null
+++ b/tests/mir-opt/basic_assignment.main.SimplifyCfg-initial.after.mir
@@ -0,0 +1,84 @@
+// MIR for `main` after SimplifyCfg-initial
+
+| User Type Annotations
+| 0: user_ty: Canonical { max_universe: U0, variables: [], value: Ty(std::option::Option<std::boxed::Box<u32>>) }, span: $DIR/basic_assignment.rs:18:17: 18:33, inferred_ty: std::option::Option<std::boxed::Box<u32>>
+| 1: user_ty: Canonical { max_universe: U0, variables: [], value: Ty(std::option::Option<std::boxed::Box<u32>>) }, span: $DIR/basic_assignment.rs:18:17: 18:33, inferred_ty: std::option::Option<std::boxed::Box<u32>>
+|
+fn main() -> () {
+    let mut _0: ();                      // return place in scope 0 at $DIR/basic_assignment.rs:+0:11: +0:11
+    let _1: bool;                        // in scope 0 at $DIR/basic_assignment.rs:+1:9: +1:17
+    let mut _3: bool;                    // in scope 0 at $DIR/basic_assignment.rs:+6:16: +6:24
+    let mut _6: std::option::Option<std::boxed::Box<u32>>; // in scope 0 at $DIR/basic_assignment.rs:+13:14: +13:20
+    scope 1 {
+        debug nodrop_x => _1;            // in scope 1 at $DIR/basic_assignment.rs:+1:9: +1:17
+        let _2: bool;                    // in scope 1 at $DIR/basic_assignment.rs:+2:9: +2:17
+        scope 2 {
+            debug nodrop_y => _2;        // in scope 2 at $DIR/basic_assignment.rs:+2:9: +2:17
+            let _4: std::option::Option<std::boxed::Box<u32>> as UserTypeProjection { base: UserType(0), projs: [] }; // in scope 2 at $DIR/basic_assignment.rs:+8:9: +8:15
+            scope 3 {
+                debug drop_x => _4;      // in scope 3 at $DIR/basic_assignment.rs:+8:9: +8:15
+                let _5: std::option::Option<std::boxed::Box<u32>>; // in scope 3 at $DIR/basic_assignment.rs:+9:9: +9:15
+                scope 4 {
+                    debug drop_y => _5;  // in scope 4 at $DIR/basic_assignment.rs:+9:9: +9:15
+                }
+            }
+        }
+    }
+
+    bb0: {
+        StorageLive(_1);                 // scope 0 at $DIR/basic_assignment.rs:+1:9: +1:17
+        _1 = const false;                // scope 0 at $DIR/basic_assignment.rs:+1:20: +1:25
+        FakeRead(ForLet(None), _1);      // scope 0 at $DIR/basic_assignment.rs:+1:9: +1:17
+        StorageLive(_2);                 // scope 1 at $DIR/basic_assignment.rs:+2:9: +2:17
+        StorageLive(_3);                 // scope 2 at $DIR/basic_assignment.rs:+6:16: +6:24
+        _3 = _1;                         // scope 2 at $DIR/basic_assignment.rs:+6:16: +6:24
+        _2 = move _3;                    // scope 2 at $DIR/basic_assignment.rs:+6:5: +6:24
+        StorageDead(_3);                 // scope 2 at $DIR/basic_assignment.rs:+6:23: +6:24
+        StorageLive(_4);                 // scope 2 at $DIR/basic_assignment.rs:+8:9: +8:15
+        _4 = Option::<Box<u32>>::None;   // scope 2 at $DIR/basic_assignment.rs:+8:36: +8:40
+        FakeRead(ForLet(None), _4);      // scope 2 at $DIR/basic_assignment.rs:+8:9: +8:15
+        AscribeUserType(_4, o, UserTypeProjection { base: UserType(1), projs: [] }); // scope 2 at $DIR/basic_assignment.rs:+8:17: +8:33
+        StorageLive(_5);                 // scope 3 at $DIR/basic_assignment.rs:+9:9: +9:15
+        StorageLive(_6);                 // scope 4 at $DIR/basic_assignment.rs:+13:14: +13:20
+        _6 = move _4;                    // scope 4 at $DIR/basic_assignment.rs:+13:14: +13:20
+        replace(_5 <- move _6) -> [return: bb1, unwind: bb5]; // scope 4 at $DIR/basic_assignment.rs:+13:5: +13:11
+    }
+
+    bb1: {
+        drop(_6) -> [return: bb2, unwind: bb6]; // scope 4 at $DIR/basic_assignment.rs:+13:19: +13:20
+    }
+
+    bb2: {
+        StorageDead(_6);                 // scope 4 at $DIR/basic_assignment.rs:+13:19: +13:20
+        _0 = const ();                   // scope 0 at $DIR/basic_assignment.rs:+0:11: +14:2
+        drop(_5) -> [return: bb3, unwind: bb7]; // scope 3 at $DIR/basic_assignment.rs:+14:1: +14:2
+    }
+
+    bb3: {
+        StorageDead(_5);                 // scope 3 at $DIR/basic_assignment.rs:+14:1: +14:2
+        drop(_4) -> [return: bb4, unwind: bb8]; // scope 2 at $DIR/basic_assignment.rs:+14:1: +14:2
+    }
+
+    bb4: {
+        StorageDead(_4);                 // scope 2 at $DIR/basic_assignment.rs:+14:1: +14:2
+        StorageDead(_2);                 // scope 1 at $DIR/basic_assignment.rs:+14:1: +14:2
+        StorageDead(_1);                 // scope 0 at $DIR/basic_assignment.rs:+14:1: +14:2
+        return;                          // scope 0 at $DIR/basic_assignment.rs:+14:2: +14:2
+    }
+
+    bb5 (cleanup): {
+        drop(_6) -> bb6;                 // scope 4 at $DIR/basic_assignment.rs:+13:19: +13:20
+    }
+
+    bb6 (cleanup): {
+        drop(_5) -> bb7;                 // scope 3 at $DIR/basic_assignment.rs:+14:1: +14:2
+    }
+
+    bb7 (cleanup): {
+        drop(_4) -> bb8;                 // scope 2 at $DIR/basic_assignment.rs:+14:1: +14:2
+    }
+
+    bb8 (cleanup): {
+        resume;                          // scope 0 at $DIR/basic_assignment.rs:+0:1: +14:2
+    }
+}