about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/test/mir-opt/derefer_complex_case.main.Derefer.diff132
-rw-r--r--src/test/mir-opt/derefer_complex_case.rs1
-rw-r--r--src/test/mir-opt/derefer_terminator_test.main.Derefer.diff128
-rw-r--r--src/test/mir-opt/derefer_terminator_test.rs2
4 files changed, 133 insertions, 130 deletions
diff --git a/src/test/mir-opt/derefer_complex_case.main.Derefer.diff b/src/test/mir-opt/derefer_complex_case.main.Derefer.diff
index 05d336be3bd..9affe5a5006 100644
--- a/src/test/mir-opt/derefer_complex_case.main.Derefer.diff
+++ b/src/test/mir-opt/derefer_complex_case.main.Derefer.diff
@@ -2,110 +2,110 @@
 + // MIR for `main` after Derefer
   
   fn main() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/derefer_complex_case.rs:3:11: 3:11
-      let mut _1: std::slice::Iter<i32>;   // in scope 0 at $DIR/derefer_complex_case.rs:4:17: 4:26
-      let mut _2: &[i32; 2];               // in scope 0 at $DIR/derefer_complex_case.rs:4:17: 4:26
-      let _3: [i32; 2];                    // in scope 0 at $DIR/derefer_complex_case.rs:4:18: 4:26
-      let mut _4: std::slice::Iter<i32>;   // in scope 0 at $DIR/derefer_complex_case.rs:4:17: 4:26
-      let mut _5: ();                      // in scope 0 at $DIR/derefer_complex_case.rs:3:1: 5:2
-      let _6: ();                          // in scope 0 at $DIR/derefer_complex_case.rs:4:17: 4:26
-      let mut _7: std::option::Option<&i32>; // in scope 0 at $DIR/derefer_complex_case.rs:4:17: 4:26
-      let mut _8: &mut std::slice::Iter<i32>; // in scope 0 at $DIR/derefer_complex_case.rs:4:17: 4:26
-      let mut _9: &mut std::slice::Iter<i32>; // in scope 0 at $DIR/derefer_complex_case.rs:4:17: 4:26
-      let mut _10: isize;                  // in scope 0 at $DIR/derefer_complex_case.rs:4:5: 4:40
-      let mut _11: !;                      // in scope 0 at $DIR/derefer_complex_case.rs:4:5: 4:40
-      let mut _13: i32;                    // in scope 0 at $DIR/derefer_complex_case.rs:4:34: 4:37
-      let mut _14: &[i32; 2];              // in scope 0 at $DIR/derefer_complex_case.rs:4:17: 4:26
-+     let mut _15: &i32;                   // in scope 0 at $DIR/derefer_complex_case.rs:4:17: 4:26
+      let mut _0: ();                      // return place in scope 0 at $DIR/derefer_complex_case.rs:4:11: 4:11
+      let mut _1: std::slice::Iter<i32>;   // in scope 0 at $DIR/derefer_complex_case.rs:5:17: 5:26
+      let mut _2: &[i32; 2];               // in scope 0 at $DIR/derefer_complex_case.rs:5:17: 5:26
+      let _3: [i32; 2];                    // in scope 0 at $DIR/derefer_complex_case.rs:5:18: 5:26
+      let mut _4: std::slice::Iter<i32>;   // in scope 0 at $DIR/derefer_complex_case.rs:5:17: 5:26
+      let mut _5: ();                      // in scope 0 at $DIR/derefer_complex_case.rs:4:1: 6:2
+      let _6: ();                          // in scope 0 at $DIR/derefer_complex_case.rs:5:17: 5:26
+      let mut _7: std::option::Option<&i32>; // in scope 0 at $DIR/derefer_complex_case.rs:5:17: 5:26
+      let mut _8: &mut std::slice::Iter<i32>; // in scope 0 at $DIR/derefer_complex_case.rs:5:17: 5:26
+      let mut _9: &mut std::slice::Iter<i32>; // in scope 0 at $DIR/derefer_complex_case.rs:5:17: 5:26
+      let mut _10: isize;                  // in scope 0 at $DIR/derefer_complex_case.rs:5:5: 5:40
+      let mut _11: !;                      // in scope 0 at $DIR/derefer_complex_case.rs:5:5: 5:40
+      let mut _13: i32;                    // in scope 0 at $DIR/derefer_complex_case.rs:5:34: 5:37
+      let mut _14: &[i32; 2];              // in scope 0 at $DIR/derefer_complex_case.rs:5:17: 5:26
++     let mut _15: &i32;                   // in scope 0 at $DIR/derefer_complex_case.rs:5:17: 5:26
       scope 1 {
-          debug iter => _4;                // in scope 1 at $DIR/derefer_complex_case.rs:4:17: 4:26
-          let _12: i32;                    // in scope 1 at $DIR/derefer_complex_case.rs:4:10: 4:13
+          debug iter => _4;                // in scope 1 at $DIR/derefer_complex_case.rs:5:17: 5:26
+          let _12: i32;                    // in scope 1 at $DIR/derefer_complex_case.rs:5:10: 5:13
           scope 2 {
-              debug foo => _12;            // in scope 2 at $DIR/derefer_complex_case.rs:4:10: 4:13
+              debug foo => _12;            // in scope 2 at $DIR/derefer_complex_case.rs:5:10: 5:13
           }
       }
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/derefer_complex_case.rs:4:17: 4:26
-          StorageLive(_2);                 // scope 0 at $DIR/derefer_complex_case.rs:4:17: 4:26
-          _14 = const main::promoted[0];   // scope 0 at $DIR/derefer_complex_case.rs:4:17: 4:26
+          StorageLive(_1);                 // scope 0 at $DIR/derefer_complex_case.rs:5:17: 5:26
+          StorageLive(_2);                 // scope 0 at $DIR/derefer_complex_case.rs:5:17: 5:26
+          _14 = const main::promoted[0];   // scope 0 at $DIR/derefer_complex_case.rs:5:17: 5:26
                                            // mir::Constant
-                                           // + span: $DIR/derefer_complex_case.rs:4:17: 4:26
+                                           // + span: $DIR/derefer_complex_case.rs:5:17: 5:26
                                            // + literal: Const { ty: &[i32; 2], val: Unevaluated(main, [], Some(promoted[0])) }
-          _2 = &(*_14);                    // scope 0 at $DIR/derefer_complex_case.rs:4:17: 4:26
-          _1 = <&[i32; 2] as IntoIterator>::into_iter(move _2) -> bb1; // scope 0 at $DIR/derefer_complex_case.rs:4:17: 4:26
+          _2 = &(*_14);                    // scope 0 at $DIR/derefer_complex_case.rs:5:17: 5:26
+          _1 = <&[i32; 2] as IntoIterator>::into_iter(move _2) -> bb1; // scope 0 at $DIR/derefer_complex_case.rs:5:17: 5:26
                                            // mir::Constant
-                                           // + span: $DIR/derefer_complex_case.rs:4:17: 4:26
+                                           // + span: $DIR/derefer_complex_case.rs:5:17: 5:26
                                            // + literal: Const { ty: fn(&[i32; 2]) -> <&[i32; 2] as IntoIterator>::IntoIter {<&[i32; 2] as IntoIterator>::into_iter}, val: Value(<ZST>) }
       }
   
       bb1: {
-          StorageDead(_2);                 // scope 0 at $DIR/derefer_complex_case.rs:4:25: 4:26
-          StorageLive(_4);                 // scope 0 at $DIR/derefer_complex_case.rs:4:17: 4:26
-          _4 = move _1;                    // scope 0 at $DIR/derefer_complex_case.rs:4:17: 4:26
-          goto -> bb2;                     // scope 1 at $DIR/derefer_complex_case.rs:4:5: 4:40
+          StorageDead(_2);                 // scope 0 at $DIR/derefer_complex_case.rs:5:25: 5:26
+          StorageLive(_4);                 // scope 0 at $DIR/derefer_complex_case.rs:5:17: 5:26
+          _4 = move _1;                    // scope 0 at $DIR/derefer_complex_case.rs:5:17: 5:26
+          goto -> bb2;                     // scope 1 at $DIR/derefer_complex_case.rs:5:5: 5:40
       }
   
       bb2: {
-          StorageLive(_6);                 // scope 1 at $DIR/derefer_complex_case.rs:4:17: 4:26
-          StorageLive(_7);                 // scope 1 at $DIR/derefer_complex_case.rs:4:17: 4:26
-          StorageLive(_8);                 // scope 1 at $DIR/derefer_complex_case.rs:4:17: 4:26
-          StorageLive(_9);                 // scope 1 at $DIR/derefer_complex_case.rs:4:17: 4:26
-          _9 = &mut _4;                    // scope 1 at $DIR/derefer_complex_case.rs:4:17: 4:26
-          _8 = &mut (*_9);                 // scope 1 at $DIR/derefer_complex_case.rs:4:17: 4:26
-          _7 = <std::slice::Iter<i32> as Iterator>::next(move _8) -> bb3; // scope 1 at $DIR/derefer_complex_case.rs:4:17: 4:26
+          StorageLive(_6);                 // scope 1 at $DIR/derefer_complex_case.rs:5:17: 5:26
+          StorageLive(_7);                 // scope 1 at $DIR/derefer_complex_case.rs:5:17: 5:26
+          StorageLive(_8);                 // scope 1 at $DIR/derefer_complex_case.rs:5:17: 5:26
+          StorageLive(_9);                 // scope 1 at $DIR/derefer_complex_case.rs:5:17: 5:26
+          _9 = &mut _4;                    // scope 1 at $DIR/derefer_complex_case.rs:5:17: 5:26
+          _8 = &mut (*_9);                 // scope 1 at $DIR/derefer_complex_case.rs:5:17: 5:26
+          _7 = <std::slice::Iter<i32> as Iterator>::next(move _8) -> bb3; // scope 1 at $DIR/derefer_complex_case.rs:5:17: 5:26
                                            // mir::Constant
-                                           // + span: $DIR/derefer_complex_case.rs:4:17: 4:26
+                                           // + span: $DIR/derefer_complex_case.rs:5:17: 5:26
                                            // + literal: Const { ty: for<'r> fn(&'r mut std::slice::Iter<i32>) -> Option<<std::slice::Iter<i32> as Iterator>::Item> {<std::slice::Iter<i32> as Iterator>::next}, val: Value(<ZST>) }
       }
   
       bb3: {
-          StorageDead(_8);                 // scope 1 at $DIR/derefer_complex_case.rs:4:25: 4:26
-          _10 = discriminant(_7);          // scope 1 at $DIR/derefer_complex_case.rs:4:17: 4:26
-          switchInt(move _10) -> [0_isize: bb6, 1_isize: bb4, otherwise: bb5]; // scope 1 at $DIR/derefer_complex_case.rs:4:17: 4:26
+          StorageDead(_8);                 // scope 1 at $DIR/derefer_complex_case.rs:5:25: 5:26
+          _10 = discriminant(_7);          // scope 1 at $DIR/derefer_complex_case.rs:5:17: 5:26
+          switchInt(move _10) -> [0_isize: bb6, 1_isize: bb4, otherwise: bb5]; // scope 1 at $DIR/derefer_complex_case.rs:5:17: 5:26
       }
   
       bb4: {
-          StorageLive(_12);                // scope 1 at $DIR/derefer_complex_case.rs:4:10: 4:13
--         _12 = (*((_7 as Some).0: &i32)); // scope 1 at $DIR/derefer_complex_case.rs:4:10: 4:13
-+         StorageLive(_15);                // scope 1 at $DIR/derefer_complex_case.rs:4:10: 4:13
-+         _15 = deref_copy ((_7 as Some).0: &i32); // scope 1 at $DIR/derefer_complex_case.rs:4:10: 4:13
-+         _12 = (*_15);                    // scope 1 at $DIR/derefer_complex_case.rs:4:10: 4:13
-+         StorageDead(_15);                // scope 2 at $DIR/derefer_complex_case.rs:4:34: 4:37
-          StorageLive(_13);                // scope 2 at $DIR/derefer_complex_case.rs:4:34: 4:37
-          _13 = _12;                       // scope 2 at $DIR/derefer_complex_case.rs:4:34: 4:37
-          _6 = std::mem::drop::<i32>(move _13) -> bb7; // scope 2 at $DIR/derefer_complex_case.rs:4:29: 4:38
+          StorageLive(_12);                // scope 1 at $DIR/derefer_complex_case.rs:5:10: 5:13
+-         _12 = (*((_7 as Some).0: &i32)); // scope 1 at $DIR/derefer_complex_case.rs:5:10: 5:13
++         StorageLive(_15);                // scope 1 at $DIR/derefer_complex_case.rs:5:10: 5:13
++         _15 = deref_copy ((_7 as Some).0: &i32); // scope 1 at $DIR/derefer_complex_case.rs:5:10: 5:13
++         _12 = (*_15);                    // scope 1 at $DIR/derefer_complex_case.rs:5:10: 5:13
++         StorageDead(_15);                // scope 2 at $DIR/derefer_complex_case.rs:5:34: 5:37
+          StorageLive(_13);                // scope 2 at $DIR/derefer_complex_case.rs:5:34: 5:37
+          _13 = _12;                       // scope 2 at $DIR/derefer_complex_case.rs:5:34: 5:37
+          _6 = std::mem::drop::<i32>(move _13) -> bb7; // scope 2 at $DIR/derefer_complex_case.rs:5:29: 5:38
                                            // mir::Constant
-                                           // + span: $DIR/derefer_complex_case.rs:4:29: 4:33
+                                           // + span: $DIR/derefer_complex_case.rs:5:29: 5:33
                                            // + literal: Const { ty: fn(i32) {std::mem::drop::<i32>}, val: Value(<ZST>) }
       }
   
       bb5: {
-          unreachable;                     // scope 1 at $DIR/derefer_complex_case.rs:4:17: 4:26
+          unreachable;                     // scope 1 at $DIR/derefer_complex_case.rs:5:17: 5:26
       }
   
       bb6: {
-          _0 = const ();                   // scope 1 at $DIR/derefer_complex_case.rs:4:5: 4:40
-          StorageDead(_9);                 // scope 1 at $DIR/derefer_complex_case.rs:4:39: 4:40
-          StorageDead(_7);                 // scope 1 at $DIR/derefer_complex_case.rs:4:39: 4:40
-          StorageDead(_6);                 // scope 1 at $DIR/derefer_complex_case.rs:4:39: 4:40
-          StorageDead(_4);                 // scope 0 at $DIR/derefer_complex_case.rs:4:39: 4:40
-          StorageDead(_1);                 // scope 0 at $DIR/derefer_complex_case.rs:4:39: 4:40
-          return;                          // scope 0 at $DIR/derefer_complex_case.rs:5:2: 5:2
+          _0 = const ();                   // scope 1 at $DIR/derefer_complex_case.rs:5:5: 5:40
+          StorageDead(_9);                 // scope 1 at $DIR/derefer_complex_case.rs:5:39: 5:40
+          StorageDead(_7);                 // scope 1 at $DIR/derefer_complex_case.rs:5:39: 5:40
+          StorageDead(_6);                 // scope 1 at $DIR/derefer_complex_case.rs:5:39: 5:40
+          StorageDead(_4);                 // scope 0 at $DIR/derefer_complex_case.rs:5:39: 5:40
+          StorageDead(_1);                 // scope 0 at $DIR/derefer_complex_case.rs:5:39: 5:40
+          return;                          // scope 0 at $DIR/derefer_complex_case.rs:6:2: 6:2
       }
   
       bb7: {
-          StorageDead(_13);                // scope 2 at $DIR/derefer_complex_case.rs:4:37: 4:38
-          StorageDead(_12);                // scope 1 at $DIR/derefer_complex_case.rs:4:39: 4:40
-          StorageDead(_9);                 // scope 1 at $DIR/derefer_complex_case.rs:4:39: 4:40
-          StorageDead(_7);                 // scope 1 at $DIR/derefer_complex_case.rs:4:39: 4:40
-          StorageDead(_6);                 // scope 1 at $DIR/derefer_complex_case.rs:4:39: 4:40
-          _5 = const ();                   // scope 1 at $DIR/derefer_complex_case.rs:4:5: 4:40
-          goto -> bb2;                     // scope 1 at $DIR/derefer_complex_case.rs:4:5: 4:40
+          StorageDead(_13);                // scope 2 at $DIR/derefer_complex_case.rs:5:37: 5:38
+          StorageDead(_12);                // scope 1 at $DIR/derefer_complex_case.rs:5:39: 5:40
+          StorageDead(_9);                 // scope 1 at $DIR/derefer_complex_case.rs:5:39: 5:40
+          StorageDead(_7);                 // scope 1 at $DIR/derefer_complex_case.rs:5:39: 5:40
+          StorageDead(_6);                 // scope 1 at $DIR/derefer_complex_case.rs:5:39: 5:40
+          _5 = const ();                   // scope 1 at $DIR/derefer_complex_case.rs:5:5: 5:40
+          goto -> bb2;                     // scope 1 at $DIR/derefer_complex_case.rs:5:5: 5:40
 +     }
 + 
 +     bb8 (cleanup): {
-+         resume;                          // scope 0 at $DIR/derefer_complex_case.rs:3:1: 5:2
++         resume;                          // scope 0 at $DIR/derefer_complex_case.rs:4:1: 6:2
       }
   }
   
diff --git a/src/test/mir-opt/derefer_complex_case.rs b/src/test/mir-opt/derefer_complex_case.rs
index 6abf49f9966..48bec39074c 100644
--- a/src/test/mir-opt/derefer_complex_case.rs
+++ b/src/test/mir-opt/derefer_complex_case.rs
@@ -1,4 +1,5 @@
 // EMIT_MIR derefer_complex_case.main.Derefer.diff
+// ignore-wasm32
 
 fn main() {
     for &foo in &[42, 43] { drop(foo) }
diff --git a/src/test/mir-opt/derefer_terminator_test.main.Derefer.diff b/src/test/mir-opt/derefer_terminator_test.main.Derefer.diff
index b26b3478551..003803fbd5c 100644
--- a/src/test/mir-opt/derefer_terminator_test.main.Derefer.diff
+++ b/src/test/mir-opt/derefer_terminator_test.main.Derefer.diff
@@ -2,102 +2,102 @@
 + // MIR for `main` after Derefer
   
   fn main() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/derefer_terminator_test.rs:2:11: 2:11
-      let _1: bool;                        // in scope 0 at $DIR/derefer_terminator_test.rs:3:9: 3:10
-      let _3: ();                          // in scope 0 at $DIR/derefer_terminator_test.rs:5:5: 8:6
-      let mut _4: &&&&bool;                // in scope 0 at $DIR/derefer_terminator_test.rs:5:15: 5:22
-      let _5: &&&bool;                     // in scope 0 at $DIR/derefer_terminator_test.rs:5:17: 5:21
-      let _6: &&bool;                      // in scope 0 at $DIR/derefer_terminator_test.rs:5:18: 5:21
-      let _7: &bool;                       // in scope 0 at $DIR/derefer_terminator_test.rs:5:19: 5:21
-+     let mut _10: &&&bool;                // in scope 0 at $DIR/derefer_terminator_test.rs:5:15: 5:22
-+     let mut _11: &&bool;                 // in scope 0 at $DIR/derefer_terminator_test.rs:5:15: 5:22
-+     let mut _12: &bool;                  // in scope 0 at $DIR/derefer_terminator_test.rs:5:15: 5:22
+      let mut _0: ();                      // return place in scope 0 at $DIR/derefer_terminator_test.rs:4:11: 4:11
+      let _1: bool;                        // in scope 0 at $DIR/derefer_terminator_test.rs:5:9: 5:10
+      let _3: ();                          // in scope 0 at $DIR/derefer_terminator_test.rs:7:5: 10:6
+      let mut _4: &&&&bool;                // in scope 0 at $DIR/derefer_terminator_test.rs:7:15: 7:22
+      let _5: &&&bool;                     // in scope 0 at $DIR/derefer_terminator_test.rs:7:17: 7:21
+      let _6: &&bool;                      // in scope 0 at $DIR/derefer_terminator_test.rs:7:18: 7:21
+      let _7: &bool;                       // in scope 0 at $DIR/derefer_terminator_test.rs:7:19: 7:21
++     let mut _10: &&&bool;                // in scope 0 at $DIR/derefer_terminator_test.rs:7:15: 7:22
++     let mut _11: &&bool;                 // in scope 0 at $DIR/derefer_terminator_test.rs:7:15: 7:22
++     let mut _12: &bool;                  // in scope 0 at $DIR/derefer_terminator_test.rs:7:15: 7:22
       scope 1 {
-          debug b => _1;                   // in scope 1 at $DIR/derefer_terminator_test.rs:3:9: 3:10
-          let _2: bool;                    // in scope 1 at $DIR/derefer_terminator_test.rs:4:9: 4:10
+          debug b => _1;                   // in scope 1 at $DIR/derefer_terminator_test.rs:5:9: 5:10
+          let _2: bool;                    // in scope 1 at $DIR/derefer_terminator_test.rs:6:9: 6:10
           scope 2 {
-              debug d => _2;               // in scope 2 at $DIR/derefer_terminator_test.rs:4:9: 4:10
-              let _8: i32;                 // in scope 2 at $DIR/derefer_terminator_test.rs:6:22: 6:23
-              let _9: i32;                 // in scope 2 at $DIR/derefer_terminator_test.rs:9:9: 9:10
+              debug d => _2;               // in scope 2 at $DIR/derefer_terminator_test.rs:6:9: 6:10
+              let _8: i32;                 // in scope 2 at $DIR/derefer_terminator_test.rs:8:22: 8:23
+              let _9: i32;                 // in scope 2 at $DIR/derefer_terminator_test.rs:11:9: 11:10
               scope 3 {
-                  debug x => _8;           // in scope 3 at $DIR/derefer_terminator_test.rs:6:22: 6:23
+                  debug x => _8;           // in scope 3 at $DIR/derefer_terminator_test.rs:8:22: 8:23
               }
               scope 4 {
-                  debug y => _9;           // in scope 4 at $DIR/derefer_terminator_test.rs:9:9: 9:10
+                  debug y => _9;           // in scope 4 at $DIR/derefer_terminator_test.rs:11:9: 11:10
               }
           }
       }
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/derefer_terminator_test.rs:3:9: 3:10
-          _1 = foo() -> bb1;               // scope 0 at $DIR/derefer_terminator_test.rs:3:13: 3:18
+          StorageLive(_1);                 // scope 0 at $DIR/derefer_terminator_test.rs:5:9: 5:10
+          _1 = foo() -> bb1;               // scope 0 at $DIR/derefer_terminator_test.rs:5:13: 5:18
                                            // mir::Constant
-                                           // + span: $DIR/derefer_terminator_test.rs:3:13: 3:16
+                                           // + span: $DIR/derefer_terminator_test.rs:5:13: 5:16
                                            // + literal: Const { ty: fn() -> bool {foo}, val: Value(<ZST>) }
       }
   
       bb1: {
-          StorageLive(_2);                 // scope 1 at $DIR/derefer_terminator_test.rs:4:9: 4:10
-          _2 = foo() -> bb2;               // scope 1 at $DIR/derefer_terminator_test.rs:4:13: 4:18
+          StorageLive(_2);                 // scope 1 at $DIR/derefer_terminator_test.rs:6:9: 6:10
+          _2 = foo() -> bb2;               // scope 1 at $DIR/derefer_terminator_test.rs:6:13: 6:18
                                            // mir::Constant
-                                           // + span: $DIR/derefer_terminator_test.rs:4:13: 4:16
+                                           // + span: $DIR/derefer_terminator_test.rs:6:13: 6:16
                                            // + literal: Const { ty: fn() -> bool {foo}, val: Value(<ZST>) }
       }
   
       bb2: {
-          StorageLive(_3);                 // scope 2 at $DIR/derefer_terminator_test.rs:5:5: 8:6
-          StorageLive(_4);                 // scope 2 at $DIR/derefer_terminator_test.rs:5:15: 5:22
-          StorageLive(_5);                 // scope 2 at $DIR/derefer_terminator_test.rs:5:17: 5:21
-          StorageLive(_6);                 // scope 2 at $DIR/derefer_terminator_test.rs:5:18: 5:21
-          StorageLive(_7);                 // scope 2 at $DIR/derefer_terminator_test.rs:5:19: 5:21
-          _7 = &_1;                        // scope 2 at $DIR/derefer_terminator_test.rs:5:19: 5:21
-          _6 = &_7;                        // scope 2 at $DIR/derefer_terminator_test.rs:5:18: 5:21
-          _5 = &_6;                        // scope 2 at $DIR/derefer_terminator_test.rs:5:17: 5:21
-          _4 = &_5;                        // scope 2 at $DIR/derefer_terminator_test.rs:5:15: 5:22
--         switchInt((*(*(*(*_4))))) -> [false: bb3, otherwise: bb4]; // scope 2 at $DIR/derefer_terminator_test.rs:5:5: 5:22
-+         StorageLive(_10);                // scope 2 at $DIR/derefer_terminator_test.rs:5:5: 5:22
-+         _10 = deref_copy (*_4);          // scope 2 at $DIR/derefer_terminator_test.rs:5:5: 5:22
-+         StorageLive(_11);                // scope 2 at $DIR/derefer_terminator_test.rs:5:5: 5:22
-+         _11 = deref_copy (*_10);         // scope 2 at $DIR/derefer_terminator_test.rs:5:5: 5:22
-+         StorageDead(_10);                // scope 2 at $DIR/derefer_terminator_test.rs:5:5: 5:22
-+         StorageLive(_12);                // scope 2 at $DIR/derefer_terminator_test.rs:5:5: 5:22
-+         _12 = deref_copy (*_11);         // scope 2 at $DIR/derefer_terminator_test.rs:5:5: 5:22
-+         StorageDead(_11);                // scope 2 at $DIR/derefer_terminator_test.rs:5:5: 5:22
-+         switchInt((*_12)) -> [false: bb3, otherwise: bb4]; // scope 2 at $DIR/derefer_terminator_test.rs:5:5: 5:22
+          StorageLive(_3);                 // scope 2 at $DIR/derefer_terminator_test.rs:7:5: 10:6
+          StorageLive(_4);                 // scope 2 at $DIR/derefer_terminator_test.rs:7:15: 7:22
+          StorageLive(_5);                 // scope 2 at $DIR/derefer_terminator_test.rs:7:17: 7:21
+          StorageLive(_6);                 // scope 2 at $DIR/derefer_terminator_test.rs:7:18: 7:21
+          StorageLive(_7);                 // scope 2 at $DIR/derefer_terminator_test.rs:7:19: 7:21
+          _7 = &_1;                        // scope 2 at $DIR/derefer_terminator_test.rs:7:19: 7:21
+          _6 = &_7;                        // scope 2 at $DIR/derefer_terminator_test.rs:7:18: 7:21
+          _5 = &_6;                        // scope 2 at $DIR/derefer_terminator_test.rs:7:17: 7:21
+          _4 = &_5;                        // scope 2 at $DIR/derefer_terminator_test.rs:7:15: 7:22
+-         switchInt((*(*(*(*_4))))) -> [false: bb3, otherwise: bb4]; // scope 2 at $DIR/derefer_terminator_test.rs:7:5: 7:22
++         StorageLive(_10);                // scope 2 at $DIR/derefer_terminator_test.rs:7:5: 7:22
++         _10 = deref_copy (*_4);          // scope 2 at $DIR/derefer_terminator_test.rs:7:5: 7:22
++         StorageLive(_11);                // scope 2 at $DIR/derefer_terminator_test.rs:7:5: 7:22
++         _11 = deref_copy (*_10);         // scope 2 at $DIR/derefer_terminator_test.rs:7:5: 7:22
++         StorageDead(_10);                // scope 2 at $DIR/derefer_terminator_test.rs:7:5: 7:22
++         StorageLive(_12);                // scope 2 at $DIR/derefer_terminator_test.rs:7:5: 7:22
++         _12 = deref_copy (*_11);         // scope 2 at $DIR/derefer_terminator_test.rs:7:5: 7:22
++         StorageDead(_11);                // scope 2 at $DIR/derefer_terminator_test.rs:7:5: 7:22
++         switchInt((*_12)) -> [false: bb3, otherwise: bb4]; // scope 2 at $DIR/derefer_terminator_test.rs:7:5: 7:22
       }
   
       bb3: {
-+         StorageDead(_12);                // scope 2 at $DIR/derefer_terminator_test.rs:5:5: 5:22
-          _3 = const ();                   // scope 2 at $DIR/derefer_terminator_test.rs:7:18: 7:20
-          goto -> bb5;                     // scope 2 at $DIR/derefer_terminator_test.rs:7:18: 7:20
++         StorageDead(_12);                // scope 2 at $DIR/derefer_terminator_test.rs:7:5: 7:22
+          _3 = const ();                   // scope 2 at $DIR/derefer_terminator_test.rs:9:18: 9:20
+          goto -> bb5;                     // scope 2 at $DIR/derefer_terminator_test.rs:9:18: 9:20
       }
   
       bb4: {
-+         StorageDead(_12);                // scope 2 at $DIR/derefer_terminator_test.rs:5:5: 5:22
-          StorageLive(_8);                 // scope 2 at $DIR/derefer_terminator_test.rs:6:22: 6:23
-          _8 = const 5_i32;                // scope 2 at $DIR/derefer_terminator_test.rs:6:26: 6:27
-          _3 = const ();                   // scope 2 at $DIR/derefer_terminator_test.rs:6:17: 6:29
-          StorageDead(_8);                 // scope 2 at $DIR/derefer_terminator_test.rs:6:28: 6:29
-          goto -> bb5;                     // scope 2 at $DIR/derefer_terminator_test.rs:6:28: 6:29
++         StorageDead(_12);                // scope 2 at $DIR/derefer_terminator_test.rs:7:5: 7:22
+          StorageLive(_8);                 // scope 2 at $DIR/derefer_terminator_test.rs:8:22: 8:23
+          _8 = const 5_i32;                // scope 2 at $DIR/derefer_terminator_test.rs:8:26: 8:27
+          _3 = const ();                   // scope 2 at $DIR/derefer_terminator_test.rs:8:17: 8:29
+          StorageDead(_8);                 // scope 2 at $DIR/derefer_terminator_test.rs:8:28: 8:29
+          goto -> bb5;                     // scope 2 at $DIR/derefer_terminator_test.rs:8:28: 8:29
       }
   
       bb5: {
-          StorageDead(_7);                 // scope 2 at $DIR/derefer_terminator_test.rs:8:5: 8:6
-          StorageDead(_6);                 // scope 2 at $DIR/derefer_terminator_test.rs:8:5: 8:6
-          StorageDead(_5);                 // scope 2 at $DIR/derefer_terminator_test.rs:8:5: 8:6
-          StorageDead(_4);                 // scope 2 at $DIR/derefer_terminator_test.rs:8:5: 8:6
-          StorageDead(_3);                 // scope 2 at $DIR/derefer_terminator_test.rs:8:5: 8:6
-          StorageLive(_9);                 // scope 2 at $DIR/derefer_terminator_test.rs:9:9: 9:10
-          _9 = const 42_i32;               // scope 2 at $DIR/derefer_terminator_test.rs:9:13: 9:15
-          _0 = const ();                   // scope 0 at $DIR/derefer_terminator_test.rs:2:11: 10:2
-          StorageDead(_9);                 // scope 2 at $DIR/derefer_terminator_test.rs:10:1: 10:2
-          StorageDead(_2);                 // scope 1 at $DIR/derefer_terminator_test.rs:10:1: 10:2
-          StorageDead(_1);                 // scope 0 at $DIR/derefer_terminator_test.rs:10:1: 10:2
-          return;                          // scope 0 at $DIR/derefer_terminator_test.rs:10:2: 10:2
+          StorageDead(_7);                 // scope 2 at $DIR/derefer_terminator_test.rs:10:5: 10:6
+          StorageDead(_6);                 // scope 2 at $DIR/derefer_terminator_test.rs:10:5: 10:6
+          StorageDead(_5);                 // scope 2 at $DIR/derefer_terminator_test.rs:10:5: 10:6
+          StorageDead(_4);                 // scope 2 at $DIR/derefer_terminator_test.rs:10:5: 10:6
+          StorageDead(_3);                 // scope 2 at $DIR/derefer_terminator_test.rs:10:5: 10:6
+          StorageLive(_9);                 // scope 2 at $DIR/derefer_terminator_test.rs:11:9: 11:10
+          _9 = const 42_i32;               // scope 2 at $DIR/derefer_terminator_test.rs:11:13: 11:15
+          _0 = const ();                   // scope 0 at $DIR/derefer_terminator_test.rs:4:11: 12:2
+          StorageDead(_9);                 // scope 2 at $DIR/derefer_terminator_test.rs:12:1: 12:2
+          StorageDead(_2);                 // scope 1 at $DIR/derefer_terminator_test.rs:12:1: 12:2
+          StorageDead(_1);                 // scope 0 at $DIR/derefer_terminator_test.rs:12:1: 12:2
+          return;                          // scope 0 at $DIR/derefer_terminator_test.rs:12:2: 12:2
 +     }
 + 
 +     bb6 (cleanup): {
-+         resume;                          // scope 0 at $DIR/derefer_terminator_test.rs:2:1: 10:2
++         resume;                          // scope 0 at $DIR/derefer_terminator_test.rs:4:1: 12:2
       }
   }
   
diff --git a/src/test/mir-opt/derefer_terminator_test.rs b/src/test/mir-opt/derefer_terminator_test.rs
index 11f5b20636d..787b14ae735 100644
--- a/src/test/mir-opt/derefer_terminator_test.rs
+++ b/src/test/mir-opt/derefer_terminator_test.rs
@@ -1,4 +1,6 @@
 // EMIT_MIR derefer_terminator_test.main.Derefer.diff
+// ignore-wasm32
+
 fn main() {
     let b = foo();
     let d = foo();