about summary refs log tree commit diff
diff options
context:
space:
mode:
authorSimon Vandel Sillesen <simon.vandel@gmail.com>2020-09-19 23:50:51 +0200
committerSimon Vandel Sillesen <simon.vandel@gmail.com>2020-09-20 14:45:46 +0200
commit0e06456ecbe244291f1feef7c24b7165f028e0d0 (patch)
tree9a93091fb750f76ccc2fbcb8db5b0f0a5a5a5f34
parent04834139c43761efd2b14e37e819774033241ba2 (diff)
downloadrust-0e06456ecbe244291f1feef7c24b7165f028e0d0.tar.gz
rust-0e06456ecbe244291f1feef7c24b7165f028e0d0.zip
bless
-rw-r--r--src/test/mir-opt/early_otherwise_branch.opt1.EarlyOtherwiseBranch.diff108
-rw-r--r--src/test/mir-opt/early_otherwise_branch.opt2.EarlyOtherwiseBranch.diff124
-rw-r--r--src/test/mir-opt/early_otherwise_branch_3_element_tuple.opt1.EarlyOtherwiseBranch.diff154
-rw-r--r--src/test/mir-opt/early_otherwise_branch_68867.try_sum.EarlyOtherwiseBranch.diff6
-rw-r--r--src/test/mir-opt/early_otherwise_branch_noopt.noopt1.EarlyOtherwiseBranch.diff134
-rw-r--r--src/test/mir-opt/early_otherwise_branch_noopt.noopt2.EarlyOtherwiseBranch.diff88
6 files changed, 265 insertions, 349 deletions
diff --git a/src/test/mir-opt/early_otherwise_branch.opt1.EarlyOtherwiseBranch.diff b/src/test/mir-opt/early_otherwise_branch.opt1.EarlyOtherwiseBranch.diff
index 28c9d422a9f..9f9c28723f0 100644
--- a/src/test/mir-opt/early_otherwise_branch.opt1.EarlyOtherwiseBranch.diff
+++ b/src/test/mir-opt/early_otherwise_branch.opt1.EarlyOtherwiseBranch.diff
@@ -1,88 +1,76 @@
 - // MIR for `opt1` before EarlyOtherwiseBranch
 + // MIR for `opt1` after EarlyOtherwiseBranch
   
-  fn opt1(_1: std::option::Option<usize>, _2: std::option::Option<usize>) -> usize {
-      debug x => _1;                       // in scope 0 at $DIR/early_otherwise_branch.rs:5:9: 5:10
-      debug y => _2;                       // in scope 0 at $DIR/early_otherwise_branch.rs:5:27: 5:28
-      let mut _0: usize;                   // return place in scope 0 at $DIR/early_otherwise_branch.rs:5:47: 5:52
-      let mut _3: (std::option::Option<usize>, std::option::Option<usize>); // in scope 0 at $DIR/early_otherwise_branch.rs:6:11: 6:16
-      let mut _4: std::option::Option<usize>; // in scope 0 at $DIR/early_otherwise_branch.rs:6:12: 6:13
-      let mut _5: std::option::Option<usize>; // in scope 0 at $DIR/early_otherwise_branch.rs:6:14: 6:15
-      let mut _6: isize;                   // in scope 0 at $DIR/early_otherwise_branch.rs:7:19: 7:26
-      let mut _7: isize;                   // in scope 0 at $DIR/early_otherwise_branch.rs:7:10: 7:17
-      let _8: usize;                       // in scope 0 at $DIR/early_otherwise_branch.rs:7:15: 7:16
-      let _9: usize;                       // in scope 0 at $DIR/early_otherwise_branch.rs:7:24: 7:25
-+     let mut _10: isize;                  // in scope 0 at $DIR/early_otherwise_branch.rs:7:19: 7:26
-+     let mut _11: bool;                   // in scope 0 at $DIR/early_otherwise_branch.rs:7:19: 7:26
+  fn opt1(_1: Option<u32>, _2: Option<u32>) -> u32 {
+      debug x => _1;                       // in scope 0 at $DIR/early_otherwise_branch.rs:3:9: 3:10
+      debug y => _2;                       // in scope 0 at $DIR/early_otherwise_branch.rs:3:25: 3:26
+      let mut _0: u32;                     // return place in scope 0 at $DIR/early_otherwise_branch.rs:3:44: 3:47
+      let mut _3: (std::option::Option<u32>, std::option::Option<u32>); // in scope 0 at $DIR/early_otherwise_branch.rs:4:11: 4:17
+      let mut _4: std::option::Option<u32>; // in scope 0 at $DIR/early_otherwise_branch.rs:4:12: 4:13
+      let mut _5: std::option::Option<u32>; // in scope 0 at $DIR/early_otherwise_branch.rs:4:15: 4:16
+      let mut _6: isize;                   // in scope 0 at $DIR/early_otherwise_branch.rs:5:19: 5:26
+      let mut _7: isize;                   // in scope 0 at $DIR/early_otherwise_branch.rs:5:10: 5:17
+      let _8: u32;                         // in scope 0 at $DIR/early_otherwise_branch.rs:5:15: 5:16
+      let _9: u32;                         // in scope 0 at $DIR/early_otherwise_branch.rs:5:24: 5:25
++     let mut _10: isize;                  // in scope 0 at $DIR/early_otherwise_branch.rs:5:19: 5:26
++     let mut _11: bool;                   // in scope 0 at $DIR/early_otherwise_branch.rs:5:19: 5:26
       scope 1 {
-          debug a => _8;                   // in scope 1 at $DIR/early_otherwise_branch.rs:7:15: 7:16
-          debug b => _9;                   // in scope 1 at $DIR/early_otherwise_branch.rs:7:24: 7:25
+          debug a => _8;                   // in scope 1 at $DIR/early_otherwise_branch.rs:5:15: 5:16
+          debug b => _9;                   // in scope 1 at $DIR/early_otherwise_branch.rs:5:24: 5:25
       }
   
       bb0: {
-          StorageLive(_3);                 // scope 0 at $DIR/early_otherwise_branch.rs:6:11: 6:16
-          StorageLive(_4);                 // scope 0 at $DIR/early_otherwise_branch.rs:6:12: 6:13
-          _4 = _1;                         // scope 0 at $DIR/early_otherwise_branch.rs:6:12: 6:13
-          StorageLive(_5);                 // scope 0 at $DIR/early_otherwise_branch.rs:6:14: 6:15
-          _5 = _2;                         // scope 0 at $DIR/early_otherwise_branch.rs:6:14: 6:15
-          (_3.0: std::option::Option<usize>) = move _4; // scope 0 at $DIR/early_otherwise_branch.rs:6:11: 6:16
-          (_3.1: std::option::Option<usize>) = move _5; // scope 0 at $DIR/early_otherwise_branch.rs:6:11: 6:16
-          StorageDead(_5);                 // scope 0 at $DIR/early_otherwise_branch.rs:6:15: 6:16
-          StorageDead(_4);                 // scope 0 at $DIR/early_otherwise_branch.rs:6:15: 6:16
-          _7 = discriminant((_3.0: std::option::Option<usize>)); // scope 0 at $DIR/early_otherwise_branch.rs:7:10: 7:17
--         switchInt(move _7) -> [1_isize: bb2, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch.rs:7:10: 7:17
-+         StorageLive(_10);                // scope 0 at $DIR/early_otherwise_branch.rs:7:10: 7:17
-+         _10 = discriminant((_3.1: std::option::Option<usize>)); // scope 0 at $DIR/early_otherwise_branch.rs:7:10: 7:17
-+         StorageLive(_11);                // scope 0 at $DIR/early_otherwise_branch.rs:7:10: 7:17
-+         _11 = Ne(_10, _7);               // scope 0 at $DIR/early_otherwise_branch.rs:7:10: 7:17
-+         StorageDead(_10);                // scope 0 at $DIR/early_otherwise_branch.rs:7:10: 7:17
-+         switchInt(move _11) -> [false: bb6, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch.rs:7:10: 7:17
+          StorageLive(_3);                 // scope 0 at $DIR/early_otherwise_branch.rs:4:11: 4:17
+          StorageLive(_4);                 // scope 0 at $DIR/early_otherwise_branch.rs:4:12: 4:13
+          _4 = _1;                         // scope 0 at $DIR/early_otherwise_branch.rs:4:12: 4:13
+          StorageLive(_5);                 // scope 0 at $DIR/early_otherwise_branch.rs:4:15: 4:16
+          _5 = _2;                         // scope 0 at $DIR/early_otherwise_branch.rs:4:15: 4:16
+          (_3.0: std::option::Option<u32>) = move _4; // scope 0 at $DIR/early_otherwise_branch.rs:4:11: 4:17
+          (_3.1: std::option::Option<u32>) = move _5; // scope 0 at $DIR/early_otherwise_branch.rs:4:11: 4:17
+          StorageDead(_5);                 // scope 0 at $DIR/early_otherwise_branch.rs:4:16: 4:17
+          StorageDead(_4);                 // scope 0 at $DIR/early_otherwise_branch.rs:4:16: 4:17
+          _7 = discriminant((_3.0: std::option::Option<u32>)); // scope 0 at $DIR/early_otherwise_branch.rs:5:10: 5:17
+-         switchInt(move _7) -> [1_isize: bb2, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch.rs:5:10: 5:17
++         StorageLive(_10);                // scope 0 at $DIR/early_otherwise_branch.rs:5:10: 5:17
++         _10 = discriminant((_3.1: std::option::Option<u32>)); // scope 0 at $DIR/early_otherwise_branch.rs:5:10: 5:17
++         StorageLive(_11);                // scope 0 at $DIR/early_otherwise_branch.rs:5:10: 5:17
++         _11 = Ne(_10, _7);               // scope 0 at $DIR/early_otherwise_branch.rs:5:10: 5:17
++         StorageDead(_10);                // scope 0 at $DIR/early_otherwise_branch.rs:5:10: 5:17
++         switchInt(move _11) -> [false: bb6, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch.rs:5:10: 5:17
       }
   
       bb1: {
-          _0 = const 1_usize;              // scope 0 at $DIR/early_otherwise_branch.rs:8:14: 8:15
-                                           // ty::Const
-                                           // + ty: usize
-                                           // + val: Value(Scalar(0x0000000000000001))
-                                           // mir::Constant
-                                           // + span: $DIR/early_otherwise_branch.rs:8:14: 8:15
-                                           // + literal: Const { ty: usize, val: Value(Scalar(0x0000000000000001)) }
-          goto -> bb4;                     // scope 0 at $DIR/early_otherwise_branch.rs:6:5: 9:6
+          _0 = const 1_u32;                // scope 0 at $DIR/early_otherwise_branch.rs:6:14: 6:15
+          goto -> bb4;                     // scope 0 at $DIR/early_otherwise_branch.rs:4:5: 7:6
       }
   
       bb2: {
-          _6 = discriminant((_3.1: std::option::Option<usize>)); // scope 0 at $DIR/early_otherwise_branch.rs:7:19: 7:26
-          switchInt(move _6) -> [1_isize: bb3, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch.rs:7:19: 7:26
+          _6 = discriminant((_3.1: std::option::Option<u32>)); // scope 0 at $DIR/early_otherwise_branch.rs:5:19: 5:26
+          switchInt(move _6) -> [1_isize: bb3, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch.rs:5:19: 5:26
       }
   
       bb3: {
-          StorageLive(_8);                 // scope 0 at $DIR/early_otherwise_branch.rs:7:15: 7:16
-          _8 = (((_3.0: std::option::Option<usize>) as Some).0: usize); // scope 0 at $DIR/early_otherwise_branch.rs:7:15: 7:16
-          StorageLive(_9);                 // scope 0 at $DIR/early_otherwise_branch.rs:7:24: 7:25
-          _9 = (((_3.1: std::option::Option<usize>) as Some).0: usize); // scope 0 at $DIR/early_otherwise_branch.rs:7:24: 7:25
-          _0 = const 0_usize;              // scope 1 at $DIR/early_otherwise_branch.rs:7:31: 7:32
-                                           // ty::Const
-                                           // + ty: usize
-                                           // + val: Value(Scalar(0x0000000000000000))
-                                           // mir::Constant
-                                           // + span: $DIR/early_otherwise_branch.rs:7:31: 7:32
-                                           // + literal: Const { ty: usize, val: Value(Scalar(0x0000000000000000)) }
-          StorageDead(_9);                 // scope 0 at $DIR/early_otherwise_branch.rs:7:31: 7:32
-          StorageDead(_8);                 // scope 0 at $DIR/early_otherwise_branch.rs:7:31: 7:32
-          goto -> bb4;                     // scope 0 at $DIR/early_otherwise_branch.rs:6:5: 9:6
+          StorageLive(_8);                 // scope 0 at $DIR/early_otherwise_branch.rs:5:15: 5:16
+          _8 = (((_3.0: std::option::Option<u32>) as Some).0: u32); // scope 0 at $DIR/early_otherwise_branch.rs:5:15: 5:16
+          StorageLive(_9);                 // scope 0 at $DIR/early_otherwise_branch.rs:5:24: 5:25
+          _9 = (((_3.1: std::option::Option<u32>) as Some).0: u32); // scope 0 at $DIR/early_otherwise_branch.rs:5:24: 5:25
+          _0 = const 0_u32;                // scope 1 at $DIR/early_otherwise_branch.rs:5:31: 5:32
+          StorageDead(_9);                 // scope 0 at $DIR/early_otherwise_branch.rs:5:31: 5:32
+          StorageDead(_8);                 // scope 0 at $DIR/early_otherwise_branch.rs:5:31: 5:32
+          goto -> bb4;                     // scope 0 at $DIR/early_otherwise_branch.rs:4:5: 7:6
       }
   
       bb4: {
-          StorageDead(_3);                 // scope 0 at $DIR/early_otherwise_branch.rs:10:1: 10:2
-          return;                          // scope 0 at $DIR/early_otherwise_branch.rs:10:2: 10:2
+          StorageDead(_3);                 // scope 0 at $DIR/early_otherwise_branch.rs:8:1: 8:2
+          return;                          // scope 0 at $DIR/early_otherwise_branch.rs:8:2: 8:2
 +     }
 + 
 +     bb5 (cleanup): {
-+         resume;                          // scope 0 at $DIR/early_otherwise_branch.rs:5:1: 10:2
++         resume;                          // scope 0 at $DIR/early_otherwise_branch.rs:3:1: 8:2
 +     }
 + 
 +     bb6: {
-+         switchInt(_7) -> [1_isize: bb3, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch.rs:7:19: 7:26
++         switchInt(_7) -> [1_isize: bb3, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch.rs:5:19: 5:26
       }
   }
   
diff --git a/src/test/mir-opt/early_otherwise_branch.opt2.EarlyOtherwiseBranch.diff b/src/test/mir-opt/early_otherwise_branch.opt2.EarlyOtherwiseBranch.diff
index 1868f4f5be1..569dc6c5db6 100644
--- a/src/test/mir-opt/early_otherwise_branch.opt2.EarlyOtherwiseBranch.diff
+++ b/src/test/mir-opt/early_otherwise_branch.opt2.EarlyOtherwiseBranch.diff
@@ -1,105 +1,87 @@
 - // MIR for `opt2` before EarlyOtherwiseBranch
 + // MIR for `opt2` after EarlyOtherwiseBranch
   
-  fn opt2(_1: std::option::Option<usize>, _2: std::option::Option<usize>) -> usize {
-      debug x => _1;                       // in scope 0 at $DIR/early_otherwise_branch.rs:13:9: 13:10
-      debug y => _2;                       // in scope 0 at $DIR/early_otherwise_branch.rs:13:27: 13:28
-      let mut _0: usize;                   // return place in scope 0 at $DIR/early_otherwise_branch.rs:13:47: 13:52
-      let mut _3: (std::option::Option<usize>, std::option::Option<usize>); // in scope 0 at $DIR/early_otherwise_branch.rs:14:11: 14:16
-      let mut _4: std::option::Option<usize>; // in scope 0 at $DIR/early_otherwise_branch.rs:14:12: 14:13
-      let mut _5: std::option::Option<usize>; // in scope 0 at $DIR/early_otherwise_branch.rs:14:14: 14:15
-      let mut _6: isize;                   // in scope 0 at $DIR/early_otherwise_branch.rs:16:16: 16:20
-      let mut _7: isize;                   // in scope 0 at $DIR/early_otherwise_branch.rs:15:19: 15:26
-      let mut _8: isize;                   // in scope 0 at $DIR/early_otherwise_branch.rs:15:10: 15:17
-      let _9: usize;                       // in scope 0 at $DIR/early_otherwise_branch.rs:15:15: 15:16
-      let _10: usize;                      // in scope 0 at $DIR/early_otherwise_branch.rs:15:24: 15:25
-+     let mut _11: isize;                  // in scope 0 at $DIR/early_otherwise_branch.rs:16:16: 16:20
-+     let mut _12: bool;                   // in scope 0 at $DIR/early_otherwise_branch.rs:16:16: 16:20
+  fn opt2(_1: Option<u32>, _2: Option<u32>) -> u32 {
+      debug x => _1;                       // in scope 0 at $DIR/early_otherwise_branch.rs:11:9: 11:10
+      debug y => _2;                       // in scope 0 at $DIR/early_otherwise_branch.rs:11:25: 11:26
+      let mut _0: u32;                     // return place in scope 0 at $DIR/early_otherwise_branch.rs:11:44: 11:47
+      let mut _3: (std::option::Option<u32>, std::option::Option<u32>); // in scope 0 at $DIR/early_otherwise_branch.rs:12:11: 12:17
+      let mut _4: std::option::Option<u32>; // in scope 0 at $DIR/early_otherwise_branch.rs:12:12: 12:13
+      let mut _5: std::option::Option<u32>; // in scope 0 at $DIR/early_otherwise_branch.rs:12:15: 12:16
+      let mut _6: isize;                   // in scope 0 at $DIR/early_otherwise_branch.rs:14:16: 14:20
+      let mut _7: isize;                   // in scope 0 at $DIR/early_otherwise_branch.rs:13:19: 13:26
+      let mut _8: isize;                   // in scope 0 at $DIR/early_otherwise_branch.rs:13:10: 13:17
+      let _9: u32;                         // in scope 0 at $DIR/early_otherwise_branch.rs:13:15: 13:16
+      let _10: u32;                        // in scope 0 at $DIR/early_otherwise_branch.rs:13:24: 13:25
++     let mut _11: isize;                  // in scope 0 at $DIR/early_otherwise_branch.rs:14:16: 14:20
++     let mut _12: bool;                   // in scope 0 at $DIR/early_otherwise_branch.rs:14:16: 14:20
       scope 1 {
-          debug a => _9;                   // in scope 1 at $DIR/early_otherwise_branch.rs:15:15: 15:16
-          debug b => _10;                  // in scope 1 at $DIR/early_otherwise_branch.rs:15:24: 15:25
+          debug a => _9;                   // in scope 1 at $DIR/early_otherwise_branch.rs:13:15: 13:16
+          debug b => _10;                  // in scope 1 at $DIR/early_otherwise_branch.rs:13:24: 13:25
       }
   
       bb0: {
-          StorageLive(_3);                 // scope 0 at $DIR/early_otherwise_branch.rs:14:11: 14:16
-          StorageLive(_4);                 // scope 0 at $DIR/early_otherwise_branch.rs:14:12: 14:13
-          _4 = _1;                         // scope 0 at $DIR/early_otherwise_branch.rs:14:12: 14:13
-          StorageLive(_5);                 // scope 0 at $DIR/early_otherwise_branch.rs:14:14: 14:15
-          _5 = _2;                         // scope 0 at $DIR/early_otherwise_branch.rs:14:14: 14:15
-          (_3.0: std::option::Option<usize>) = move _4; // scope 0 at $DIR/early_otherwise_branch.rs:14:11: 14:16
-          (_3.1: std::option::Option<usize>) = move _5; // scope 0 at $DIR/early_otherwise_branch.rs:14:11: 14:16
-          StorageDead(_5);                 // scope 0 at $DIR/early_otherwise_branch.rs:14:15: 14:16
-          StorageDead(_4);                 // scope 0 at $DIR/early_otherwise_branch.rs:14:15: 14:16
-          _8 = discriminant((_3.0: std::option::Option<usize>)); // scope 0 at $DIR/early_otherwise_branch.rs:15:10: 15:17
--         switchInt(move _8) -> [0_isize: bb1, 1_isize: bb3, otherwise: bb2]; // scope 0 at $DIR/early_otherwise_branch.rs:15:10: 15:17
-+         StorageLive(_11);                // scope 0 at $DIR/early_otherwise_branch.rs:15:10: 15:17
-+         _11 = discriminant((_3.1: std::option::Option<usize>)); // scope 0 at $DIR/early_otherwise_branch.rs:15:10: 15:17
-+         StorageLive(_12);                // scope 0 at $DIR/early_otherwise_branch.rs:15:10: 15:17
-+         _12 = Ne(_11, _8);               // scope 0 at $DIR/early_otherwise_branch.rs:15:10: 15:17
-+         StorageDead(_11);                // scope 0 at $DIR/early_otherwise_branch.rs:15:10: 15:17
-+         switchInt(move _12) -> [false: bb8, otherwise: bb2]; // scope 0 at $DIR/early_otherwise_branch.rs:15:10: 15:17
+          StorageLive(_3);                 // scope 0 at $DIR/early_otherwise_branch.rs:12:11: 12:17
+          StorageLive(_4);                 // scope 0 at $DIR/early_otherwise_branch.rs:12:12: 12:13
+          _4 = _1;                         // scope 0 at $DIR/early_otherwise_branch.rs:12:12: 12:13
+          StorageLive(_5);                 // scope 0 at $DIR/early_otherwise_branch.rs:12:15: 12:16
+          _5 = _2;                         // scope 0 at $DIR/early_otherwise_branch.rs:12:15: 12:16
+          (_3.0: std::option::Option<u32>) = move _4; // scope 0 at $DIR/early_otherwise_branch.rs:12:11: 12:17
+          (_3.1: std::option::Option<u32>) = move _5; // scope 0 at $DIR/early_otherwise_branch.rs:12:11: 12:17
+          StorageDead(_5);                 // scope 0 at $DIR/early_otherwise_branch.rs:12:16: 12:17
+          StorageDead(_4);                 // scope 0 at $DIR/early_otherwise_branch.rs:12:16: 12:17
+          _8 = discriminant((_3.0: std::option::Option<u32>)); // scope 0 at $DIR/early_otherwise_branch.rs:13:10: 13:17
+-         switchInt(move _8) -> [0_isize: bb1, 1_isize: bb3, otherwise: bb2]; // scope 0 at $DIR/early_otherwise_branch.rs:13:10: 13:17
++         StorageLive(_11);                // scope 0 at $DIR/early_otherwise_branch.rs:13:10: 13:17
++         _11 = discriminant((_3.1: std::option::Option<u32>)); // scope 0 at $DIR/early_otherwise_branch.rs:13:10: 13:17
++         StorageLive(_12);                // scope 0 at $DIR/early_otherwise_branch.rs:13:10: 13:17
++         _12 = Ne(_11, _8);               // scope 0 at $DIR/early_otherwise_branch.rs:13:10: 13:17
++         StorageDead(_11);                // scope 0 at $DIR/early_otherwise_branch.rs:13:10: 13:17
++         switchInt(move _12) -> [false: bb8, otherwise: bb2]; // scope 0 at $DIR/early_otherwise_branch.rs:13:10: 13:17
       }
   
       bb1: {
-          _6 = discriminant((_3.1: std::option::Option<usize>)); // scope 0 at $DIR/early_otherwise_branch.rs:16:16: 16:20
-          switchInt(move _6) -> [0_isize: bb5, otherwise: bb2]; // scope 0 at $DIR/early_otherwise_branch.rs:16:16: 16:20
+          _6 = discriminant((_3.1: std::option::Option<u32>)); // scope 0 at $DIR/early_otherwise_branch.rs:14:16: 14:20
+          switchInt(move _6) -> [0_isize: bb5, otherwise: bb2]; // scope 0 at $DIR/early_otherwise_branch.rs:14:16: 14:20
       }
   
       bb2: {
-          _0 = const 1_usize;              // scope 0 at $DIR/early_otherwise_branch.rs:17:14: 17:15
-                                           // ty::Const
-                                           // + ty: usize
-                                           // + val: Value(Scalar(0x0000000000000001))
-                                           // mir::Constant
-                                           // + span: $DIR/early_otherwise_branch.rs:17:14: 17:15
-                                           // + literal: Const { ty: usize, val: Value(Scalar(0x0000000000000001)) }
-          goto -> bb6;                     // scope 0 at $DIR/early_otherwise_branch.rs:14:5: 18:6
+          _0 = const 1_u32;                // scope 0 at $DIR/early_otherwise_branch.rs:15:14: 15:15
+          goto -> bb6;                     // scope 0 at $DIR/early_otherwise_branch.rs:12:5: 16:6
       }
   
       bb3: {
-          _7 = discriminant((_3.1: std::option::Option<usize>)); // scope 0 at $DIR/early_otherwise_branch.rs:15:19: 15:26
-          switchInt(move _7) -> [1_isize: bb4, otherwise: bb2]; // scope 0 at $DIR/early_otherwise_branch.rs:15:19: 15:26
+          _7 = discriminant((_3.1: std::option::Option<u32>)); // scope 0 at $DIR/early_otherwise_branch.rs:13:19: 13:26
+          switchInt(move _7) -> [1_isize: bb4, otherwise: bb2]; // scope 0 at $DIR/early_otherwise_branch.rs:13:19: 13:26
       }
   
       bb4: {
-          StorageLive(_9);                 // scope 0 at $DIR/early_otherwise_branch.rs:15:15: 15:16
-          _9 = (((_3.0: std::option::Option<usize>) as Some).0: usize); // scope 0 at $DIR/early_otherwise_branch.rs:15:15: 15:16
-          StorageLive(_10);                // scope 0 at $DIR/early_otherwise_branch.rs:15:24: 15:25
-          _10 = (((_3.1: std::option::Option<usize>) as Some).0: usize); // scope 0 at $DIR/early_otherwise_branch.rs:15:24: 15:25
-          _0 = const 0_usize;              // scope 1 at $DIR/early_otherwise_branch.rs:15:31: 15:32
-                                           // ty::Const
-                                           // + ty: usize
-                                           // + val: Value(Scalar(0x0000000000000000))
-                                           // mir::Constant
-                                           // + span: $DIR/early_otherwise_branch.rs:15:31: 15:32
-                                           // + literal: Const { ty: usize, val: Value(Scalar(0x0000000000000000)) }
-          StorageDead(_10);                // scope 0 at $DIR/early_otherwise_branch.rs:15:31: 15:32
-          StorageDead(_9);                 // scope 0 at $DIR/early_otherwise_branch.rs:15:31: 15:32
-          goto -> bb6;                     // scope 0 at $DIR/early_otherwise_branch.rs:14:5: 18:6
+          StorageLive(_9);                 // scope 0 at $DIR/early_otherwise_branch.rs:13:15: 13:16
+          _9 = (((_3.0: std::option::Option<u32>) as Some).0: u32); // scope 0 at $DIR/early_otherwise_branch.rs:13:15: 13:16
+          StorageLive(_10);                // scope 0 at $DIR/early_otherwise_branch.rs:13:24: 13:25
+          _10 = (((_3.1: std::option::Option<u32>) as Some).0: u32); // scope 0 at $DIR/early_otherwise_branch.rs:13:24: 13:25
+          _0 = const 0_u32;                // scope 1 at $DIR/early_otherwise_branch.rs:13:31: 13:32
+          StorageDead(_10);                // scope 0 at $DIR/early_otherwise_branch.rs:13:31: 13:32
+          StorageDead(_9);                 // scope 0 at $DIR/early_otherwise_branch.rs:13:31: 13:32
+          goto -> bb6;                     // scope 0 at $DIR/early_otherwise_branch.rs:12:5: 16:6
       }
   
       bb5: {
-          _0 = const 0_usize;              // scope 0 at $DIR/early_otherwise_branch.rs:16:25: 16:26
-                                           // ty::Const
-                                           // + ty: usize
-                                           // + val: Value(Scalar(0x0000000000000000))
-                                           // mir::Constant
-                                           // + span: $DIR/early_otherwise_branch.rs:16:25: 16:26
-                                           // + literal: Const { ty: usize, val: Value(Scalar(0x0000000000000000)) }
-          goto -> bb6;                     // scope 0 at $DIR/early_otherwise_branch.rs:14:5: 18:6
+          _0 = const 0_u32;                // scope 0 at $DIR/early_otherwise_branch.rs:14:25: 14:26
+          goto -> bb6;                     // scope 0 at $DIR/early_otherwise_branch.rs:12:5: 16:6
       }
   
       bb6: {
-          StorageDead(_3);                 // scope 0 at $DIR/early_otherwise_branch.rs:19:1: 19:2
-          return;                          // scope 0 at $DIR/early_otherwise_branch.rs:19:2: 19:2
+          StorageDead(_3);                 // scope 0 at $DIR/early_otherwise_branch.rs:17:1: 17:2
+          return;                          // scope 0 at $DIR/early_otherwise_branch.rs:17:2: 17:2
 +     }
 + 
 +     bb7 (cleanup): {
-+         resume;                          // scope 0 at $DIR/early_otherwise_branch.rs:13:1: 19:2
++         resume;                          // scope 0 at $DIR/early_otherwise_branch.rs:11:1: 17:2
 +     }
 + 
 +     bb8: {
-+         switchInt(_8) -> [0_isize: bb5, 1_isize: bb4, otherwise: bb2]; // scope 0 at $DIR/early_otherwise_branch.rs:16:16: 16:20
++         switchInt(_8) -> [0_isize: bb5, 1_isize: bb4, otherwise: bb2]; // scope 0 at $DIR/early_otherwise_branch.rs:14:16: 14:20
       }
   }
   
diff --git a/src/test/mir-opt/early_otherwise_branch_3_element_tuple.opt1.EarlyOtherwiseBranch.diff b/src/test/mir-opt/early_otherwise_branch_3_element_tuple.opt1.EarlyOtherwiseBranch.diff
index 9c326895d29..9d45aa69f63 100644
--- a/src/test/mir-opt/early_otherwise_branch_3_element_tuple.opt1.EarlyOtherwiseBranch.diff
+++ b/src/test/mir-opt/early_otherwise_branch_3_element_tuple.opt1.EarlyOtherwiseBranch.diff
@@ -1,117 +1,105 @@
 - // MIR for `opt1` before EarlyOtherwiseBranch
 + // MIR for `opt1` after EarlyOtherwiseBranch
   
-  fn opt1(_1: std::option::Option<usize>, _2: std::option::Option<usize>, _3: std::option::Option<usize>) -> usize {
-      debug x => _1;                       // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:5:9: 5:10
-      debug y => _2;                       // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:5:27: 5:28
-      debug z => _3;                       // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:5:44: 5:45
-      let mut _0: usize;                   // return place in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:5:64: 5:69
-      let mut _4: (std::option::Option<usize>, std::option::Option<usize>, std::option::Option<usize>); // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:11: 6:18
-      let mut _5: std::option::Option<usize>; // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:12: 6:13
-      let mut _6: std::option::Option<usize>; // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:14: 6:15
-      let mut _7: std::option::Option<usize>; // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:16: 6:17
-      let mut _8: isize;                   // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:28: 7:35
-      let mut _9: isize;                   // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:19: 7:26
-      let mut _10: isize;                  // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:10: 7:17
-      let _11: usize;                      // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:15: 7:16
-      let _12: usize;                      // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:24: 7:25
-      let _13: usize;                      // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:33: 7:34
-+     let mut _14: isize;                  // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:19: 7:26
-+     let mut _15: bool;                   // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:19: 7:26
-+     let mut _16: isize;                  // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:28: 7:35
-+     let mut _17: bool;                   // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:28: 7:35
+  fn opt1(_1: Option<u32>, _2: Option<u32>, _3: Option<u32>) -> u32 {
+      debug x => _1;                       // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:4:9: 4:10
+      debug y => _2;                       // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:4:25: 4:26
+      debug z => _3;                       // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:4:41: 4:42
+      let mut _0: u32;                     // return place in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:4:60: 4:63
+      let mut _4: (std::option::Option<u32>, std::option::Option<u32>, std::option::Option<u32>); // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:5:11: 5:20
+      let mut _5: std::option::Option<u32>; // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:5:12: 5:13
+      let mut _6: std::option::Option<u32>; // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:5:15: 5:16
+      let mut _7: std::option::Option<u32>; // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:5:18: 5:19
+      let mut _8: isize;                   // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:28: 6:35
+      let mut _9: isize;                   // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:19: 6:26
+      let mut _10: isize;                  // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:10: 6:17
+      let _11: u32;                        // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:15: 6:16
+      let _12: u32;                        // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:24: 6:25
+      let _13: u32;                        // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:33: 6:34
++     let mut _14: isize;                  // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:19: 6:26
++     let mut _15: bool;                   // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:19: 6:26
++     let mut _16: isize;                  // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:28: 6:35
++     let mut _17: bool;                   // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:28: 6:35
       scope 1 {
-          debug a => _11;                  // in scope 1 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:15: 7:16
-          debug b => _12;                  // in scope 1 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:24: 7:25
-          debug c => _13;                  // in scope 1 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:33: 7:34
+          debug a => _11;                  // in scope 1 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:15: 6:16
+          debug b => _12;                  // in scope 1 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:24: 6:25
+          debug c => _13;                  // in scope 1 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:33: 6:34
       }
   
       bb0: {
-          StorageLive(_4);                 // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:11: 6:18
-          StorageLive(_5);                 // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:12: 6:13
-          _5 = _1;                         // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:12: 6:13
-          StorageLive(_6);                 // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:14: 6:15
-          _6 = _2;                         // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:14: 6:15
-          StorageLive(_7);                 // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:16: 6:17
-          _7 = _3;                         // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:16: 6:17
-          (_4.0: std::option::Option<usize>) = move _5; // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:11: 6:18
-          (_4.1: std::option::Option<usize>) = move _6; // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:11: 6:18
-          (_4.2: std::option::Option<usize>) = move _7; // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:11: 6:18
-          StorageDead(_7);                 // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:17: 6:18
-          StorageDead(_6);                 // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:17: 6:18
-          StorageDead(_5);                 // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:17: 6:18
-          _10 = discriminant((_4.0: std::option::Option<usize>)); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:10: 7:17
--         switchInt(move _10) -> [1_isize: bb2, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:10: 7:17
-+         StorageLive(_14);                // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:10: 7:17
-+         _14 = discriminant((_4.1: std::option::Option<usize>)); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:10: 7:17
-+         StorageLive(_15);                // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:10: 7:17
-+         _15 = Ne(_14, _10);              // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:10: 7:17
-+         StorageDead(_14);                // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:10: 7:17
-+         switchInt(move _15) -> [false: bb7, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:10: 7:17
+          StorageLive(_4);                 // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:5:11: 5:20
+          StorageLive(_5);                 // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:5:12: 5:13
+          _5 = _1;                         // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:5:12: 5:13
+          StorageLive(_6);                 // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:5:15: 5:16
+          _6 = _2;                         // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:5:15: 5:16
+          StorageLive(_7);                 // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:5:18: 5:19
+          _7 = _3;                         // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:5:18: 5:19
+          (_4.0: std::option::Option<u32>) = move _5; // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:5:11: 5:20
+          (_4.1: std::option::Option<u32>) = move _6; // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:5:11: 5:20
+          (_4.2: std::option::Option<u32>) = move _7; // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:5:11: 5:20
+          StorageDead(_7);                 // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:5:19: 5:20
+          StorageDead(_6);                 // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:5:19: 5:20
+          StorageDead(_5);                 // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:5:19: 5:20
+          _10 = discriminant((_4.0: std::option::Option<u32>)); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:10: 6:17
+-         switchInt(move _10) -> [1_isize: bb2, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:10: 6:17
++         StorageLive(_14);                // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:10: 6:17
++         _14 = discriminant((_4.1: std::option::Option<u32>)); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:10: 6:17
++         StorageLive(_15);                // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:10: 6:17
++         _15 = Ne(_14, _10);              // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:10: 6:17
++         StorageDead(_14);                // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:10: 6:17
++         switchInt(move _15) -> [false: bb7, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:10: 6:17
       }
   
       bb1: {
-          _0 = const 1_usize;              // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:8:14: 8:15
-                                           // ty::Const
-                                           // + ty: usize
-                                           // + val: Value(Scalar(0x0000000000000001))
-                                           // mir::Constant
-                                           // + span: $DIR/early_otherwise_branch_3_element_tuple.rs:8:14: 8:15
-                                           // + literal: Const { ty: usize, val: Value(Scalar(0x0000000000000001)) }
-          goto -> bb5;                     // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:5: 9:6
+          _0 = const 1_u32;                // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:14: 7:15
+          goto -> bb5;                     // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:5:5: 8:6
       }
   
       bb2: {
-          _9 = discriminant((_4.1: std::option::Option<usize>)); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:19: 7:26
--         switchInt(move _9) -> [1_isize: bb3, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:19: 7:26
-+         StorageLive(_16);                // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:19: 7:26
-+         _16 = discriminant((_4.2: std::option::Option<usize>)); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:19: 7:26
-+         StorageLive(_17);                // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:19: 7:26
-+         _17 = Ne(_16, _9);               // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:19: 7:26
-+         StorageDead(_16);                // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:19: 7:26
-+         switchInt(move _17) -> [false: bb8, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:19: 7:26
+          _9 = discriminant((_4.1: std::option::Option<u32>)); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:19: 6:26
+-         switchInt(move _9) -> [1_isize: bb3, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:19: 6:26
++         StorageLive(_16);                // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:19: 6:26
++         _16 = discriminant((_4.2: std::option::Option<u32>)); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:19: 6:26
++         StorageLive(_17);                // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:19: 6:26
++         _17 = Ne(_16, _9);               // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:19: 6:26
++         StorageDead(_16);                // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:19: 6:26
++         switchInt(move _17) -> [false: bb8, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:19: 6:26
       }
   
       bb3: {
-          _8 = discriminant((_4.2: std::option::Option<usize>)); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:28: 7:35
-          switchInt(move _8) -> [1_isize: bb4, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:28: 7:35
+          _8 = discriminant((_4.2: std::option::Option<u32>)); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:28: 6:35
+          switchInt(move _8) -> [1_isize: bb4, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:28: 6:35
       }
   
       bb4: {
-          StorageLive(_11);                // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:15: 7:16
-          _11 = (((_4.0: std::option::Option<usize>) as Some).0: usize); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:15: 7:16
-          StorageLive(_12);                // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:24: 7:25
-          _12 = (((_4.1: std::option::Option<usize>) as Some).0: usize); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:24: 7:25
-          StorageLive(_13);                // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:33: 7:34
-          _13 = (((_4.2: std::option::Option<usize>) as Some).0: usize); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:33: 7:34
-          _0 = const 0_usize;              // scope 1 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:40: 7:41
-                                           // ty::Const
-                                           // + ty: usize
-                                           // + val: Value(Scalar(0x0000000000000000))
-                                           // mir::Constant
-                                           // + span: $DIR/early_otherwise_branch_3_element_tuple.rs:7:40: 7:41
-                                           // + literal: Const { ty: usize, val: Value(Scalar(0x0000000000000000)) }
-          StorageDead(_13);                // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:40: 7:41
-          StorageDead(_12);                // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:40: 7:41
-          StorageDead(_11);                // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:40: 7:41
-          goto -> bb5;                     // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:5: 9:6
+          StorageLive(_11);                // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:15: 6:16
+          _11 = (((_4.0: std::option::Option<u32>) as Some).0: u32); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:15: 6:16
+          StorageLive(_12);                // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:24: 6:25
+          _12 = (((_4.1: std::option::Option<u32>) as Some).0: u32); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:24: 6:25
+          StorageLive(_13);                // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:33: 6:34
+          _13 = (((_4.2: std::option::Option<u32>) as Some).0: u32); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:33: 6:34
+          _0 = const 0_u32;                // scope 1 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:40: 6:41
+          StorageDead(_13);                // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:40: 6:41
+          StorageDead(_12);                // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:40: 6:41
+          StorageDead(_11);                // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:40: 6:41
+          goto -> bb5;                     // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:5:5: 8:6
       }
   
       bb5: {
-          StorageDead(_4);                 // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:10:1: 10:2
-          return;                          // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:10:2: 10:2
+          StorageDead(_4);                 // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:9:1: 9:2
+          return;                          // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:9:2: 9:2
 +     }
 + 
 +     bb6 (cleanup): {
-+         resume;                          // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:5:1: 10:2
++         resume;                          // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:4:1: 9:2
 +     }
 + 
 +     bb7: {
-+         switchInt(_10) -> [1_isize: bb3, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:19: 7:26
++         switchInt(_10) -> [1_isize: bb3, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:19: 6:26
 +     }
 + 
 +     bb8: {
-+         switchInt(_9) -> [1_isize: bb4, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:28: 7:35
++         switchInt(_9) -> [1_isize: bb4, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:28: 6:35
       }
   }
   
diff --git a/src/test/mir-opt/early_otherwise_branch_68867.try_sum.EarlyOtherwiseBranch.diff b/src/test/mir-opt/early_otherwise_branch_68867.try_sum.EarlyOtherwiseBranch.diff
index 7a02a1c3470..f08920ef06d 100644
--- a/src/test/mir-opt/early_otherwise_branch_68867.try_sum.EarlyOtherwiseBranch.diff
+++ b/src/test/mir-opt/early_otherwise_branch_68867.try_sum.EarlyOtherwiseBranch.diff
@@ -84,12 +84,6 @@
       bb2: {
           StorageLive(_33);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:24:25: 24:27
           ((_0 as Err).0: ()) = const ();  // scope 0 at $DIR/early_otherwise_branch_68867.rs:24:21: 24:28
-                                           // ty::Const
-                                           // + ty: ()
-                                           // + val: Value(Scalar(<ZST>))
-                                           // mir::Constant
-                                           // + span: $DIR/early_otherwise_branch_68867.rs:24:21: 24:28
-                                           // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) }
           discriminant(_0) = 1;            // scope 0 at $DIR/early_otherwise_branch_68867.rs:24:21: 24:28
           StorageDead(_33);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:24:27: 24:28
           StorageDead(_3);                 // scope 0 at $DIR/early_otherwise_branch_68867.rs:25:6: 25:7
diff --git a/src/test/mir-opt/early_otherwise_branch_noopt.noopt1.EarlyOtherwiseBranch.diff b/src/test/mir-opt/early_otherwise_branch_noopt.noopt1.EarlyOtherwiseBranch.diff
index 9908843a2d8..9a6094f12df 100644
--- a/src/test/mir-opt/early_otherwise_branch_noopt.noopt1.EarlyOtherwiseBranch.diff
+++ b/src/test/mir-opt/early_otherwise_branch_noopt.noopt1.EarlyOtherwiseBranch.diff
@@ -1,114 +1,90 @@
 - // MIR for `noopt1` before EarlyOtherwiseBranch
 + // MIR for `noopt1` after EarlyOtherwiseBranch
   
-  fn noopt1(_1: std::option::Option<usize>, _2: std::option::Option<usize>) -> usize {
-      debug x => _1;                       // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:8:11: 8:12
-      debug y => _2;                       // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:8:29: 8:30
-      let mut _0: usize;                   // return place in scope 0 at $DIR/early_otherwise_branch_noopt.rs:8:49: 8:54
-      let mut _3: (std::option::Option<usize>, std::option::Option<usize>); // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:9:11: 9:16
-      let mut _4: std::option::Option<usize>; // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:9:12: 9:13
-      let mut _5: std::option::Option<usize>; // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:9:14: 9:15
-      let mut _6: isize;                   // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:12:16: 12:23
-      let mut _7: isize;                   // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:10:19: 10:26
-      let mut _8: isize;                   // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:10:10: 10:17
-      let _9: usize;                       // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:10:15: 10:16
-      let _10: usize;                      // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:10:24: 10:25
-      let _11: usize;                      // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:11:15: 11:16
-      let _12: usize;                      // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:12:21: 12:22
+  fn noopt1(_1: Option<u32>, _2: Option<u32>) -> u32 {
+      debug x => _1;                       // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:7:11: 7:12
+      debug y => _2;                       // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:7:27: 7:28
+      let mut _0: u32;                     // return place in scope 0 at $DIR/early_otherwise_branch_noopt.rs:7:46: 7:49
+      let mut _3: (std::option::Option<u32>, std::option::Option<u32>); // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:8:11: 8:17
+      let mut _4: std::option::Option<u32>; // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:8:12: 8:13
+      let mut _5: std::option::Option<u32>; // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:8:15: 8:16
+      let mut _6: isize;                   // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:11:16: 11:23
+      let mut _7: isize;                   // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:9:19: 9:26
+      let mut _8: isize;                   // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:9:10: 9:17
+      let _9: u32;                         // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:9:15: 9:16
+      let _10: u32;                        // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:9:24: 9:25
+      let _11: u32;                        // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:10:15: 10:16
+      let _12: u32;                        // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:11:21: 11:22
       scope 1 {
-          debug a => _9;                   // in scope 1 at $DIR/early_otherwise_branch_noopt.rs:10:15: 10:16
-          debug b => _10;                  // in scope 1 at $DIR/early_otherwise_branch_noopt.rs:10:24: 10:25
+          debug a => _9;                   // in scope 1 at $DIR/early_otherwise_branch_noopt.rs:9:15: 9:16
+          debug b => _10;                  // in scope 1 at $DIR/early_otherwise_branch_noopt.rs:9:24: 9:25
       }
       scope 2 {
-          debug a => _11;                  // in scope 2 at $DIR/early_otherwise_branch_noopt.rs:11:15: 11:16
+          debug a => _11;                  // in scope 2 at $DIR/early_otherwise_branch_noopt.rs:10:15: 10:16
       }
       scope 3 {
-          debug b => _12;                  // in scope 3 at $DIR/early_otherwise_branch_noopt.rs:12:21: 12:22
+          debug b => _12;                  // in scope 3 at $DIR/early_otherwise_branch_noopt.rs:11:21: 11:22
       }
   
       bb0: {
-          StorageLive(_3);                 // scope 0 at $DIR/early_otherwise_branch_noopt.rs:9:11: 9:16
-          StorageLive(_4);                 // scope 0 at $DIR/early_otherwise_branch_noopt.rs:9:12: 9:13
-          _4 = _1;                         // scope 0 at $DIR/early_otherwise_branch_noopt.rs:9:12: 9:13
-          StorageLive(_5);                 // scope 0 at $DIR/early_otherwise_branch_noopt.rs:9:14: 9:15
-          _5 = _2;                         // scope 0 at $DIR/early_otherwise_branch_noopt.rs:9:14: 9:15
-          (_3.0: std::option::Option<usize>) = move _4; // scope 0 at $DIR/early_otherwise_branch_noopt.rs:9:11: 9:16
-          (_3.1: std::option::Option<usize>) = move _5; // scope 0 at $DIR/early_otherwise_branch_noopt.rs:9:11: 9:16
-          StorageDead(_5);                 // scope 0 at $DIR/early_otherwise_branch_noopt.rs:9:15: 9:16
-          StorageDead(_4);                 // scope 0 at $DIR/early_otherwise_branch_noopt.rs:9:15: 9:16
-          _8 = discriminant((_3.0: std::option::Option<usize>)); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:10:10: 10:17
-          switchInt(move _8) -> [0_isize: bb1, otherwise: bb3]; // scope 0 at $DIR/early_otherwise_branch_noopt.rs:10:10: 10:17
+          StorageLive(_3);                 // scope 0 at $DIR/early_otherwise_branch_noopt.rs:8:11: 8:17
+          StorageLive(_4);                 // scope 0 at $DIR/early_otherwise_branch_noopt.rs:8:12: 8:13
+          _4 = _1;                         // scope 0 at $DIR/early_otherwise_branch_noopt.rs:8:12: 8:13
+          StorageLive(_5);                 // scope 0 at $DIR/early_otherwise_branch_noopt.rs:8:15: 8:16
+          _5 = _2;                         // scope 0 at $DIR/early_otherwise_branch_noopt.rs:8:15: 8:16
+          (_3.0: std::option::Option<u32>) = move _4; // scope 0 at $DIR/early_otherwise_branch_noopt.rs:8:11: 8:17
+          (_3.1: std::option::Option<u32>) = move _5; // scope 0 at $DIR/early_otherwise_branch_noopt.rs:8:11: 8:17
+          StorageDead(_5);                 // scope 0 at $DIR/early_otherwise_branch_noopt.rs:8:16: 8:17
+          StorageDead(_4);                 // scope 0 at $DIR/early_otherwise_branch_noopt.rs:8:16: 8:17
+          _8 = discriminant((_3.0: std::option::Option<u32>)); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:9:10: 9:17
+          switchInt(move _8) -> [0_isize: bb1, otherwise: bb3]; // scope 0 at $DIR/early_otherwise_branch_noopt.rs:9:10: 9:17
       }
   
       bb1: {
-          _6 = discriminant((_3.1: std::option::Option<usize>)); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:12:16: 12:23
-          switchInt(move _6) -> [0_isize: bb2, otherwise: bb6]; // scope 0 at $DIR/early_otherwise_branch_noopt.rs:12:16: 12:23
+          _6 = discriminant((_3.1: std::option::Option<u32>)); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:11:16: 11:23
+          switchInt(move _6) -> [0_isize: bb2, otherwise: bb6]; // scope 0 at $DIR/early_otherwise_branch_noopt.rs:11:16: 11:23
       }
   
       bb2: {
-          _0 = const 3_usize;              // scope 0 at $DIR/early_otherwise_branch_noopt.rs:13:25: 13:26
-                                           // ty::Const
-                                           // + ty: usize
-                                           // + val: Value(Scalar(0x0000000000000003))
-                                           // mir::Constant
-                                           // + span: $DIR/early_otherwise_branch_noopt.rs:13:25: 13:26
-                                           // + literal: Const { ty: usize, val: Value(Scalar(0x0000000000000003)) }
-          goto -> bb7;                     // scope 0 at $DIR/early_otherwise_branch_noopt.rs:9:5: 14:6
+          _0 = const 3_u32;                // scope 0 at $DIR/early_otherwise_branch_noopt.rs:12:25: 12:26
+          goto -> bb7;                     // scope 0 at $DIR/early_otherwise_branch_noopt.rs:8:5: 13:6
       }
   
       bb3: {
-          _7 = discriminant((_3.1: std::option::Option<usize>)); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:10:19: 10:26
-          switchInt(move _7) -> [0_isize: bb5, otherwise: bb4]; // scope 0 at $DIR/early_otherwise_branch_noopt.rs:10:19: 10:26
+          _7 = discriminant((_3.1: std::option::Option<u32>)); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:9:19: 9:26
+          switchInt(move _7) -> [0_isize: bb5, otherwise: bb4]; // scope 0 at $DIR/early_otherwise_branch_noopt.rs:9:19: 9:26
       }
   
       bb4: {
-          StorageLive(_9);                 // scope 0 at $DIR/early_otherwise_branch_noopt.rs:10:15: 10:16
-          _9 = (((_3.0: std::option::Option<usize>) as Some).0: usize); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:10:15: 10:16
-          StorageLive(_10);                // scope 0 at $DIR/early_otherwise_branch_noopt.rs:10:24: 10:25
-          _10 = (((_3.1: std::option::Option<usize>) as Some).0: usize); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:10:24: 10:25
-          _0 = const 0_usize;              // scope 1 at $DIR/early_otherwise_branch_noopt.rs:10:31: 10:32
-                                           // ty::Const
-                                           // + ty: usize
-                                           // + val: Value(Scalar(0x0000000000000000))
-                                           // mir::Constant
-                                           // + span: $DIR/early_otherwise_branch_noopt.rs:10:31: 10:32
-                                           // + literal: Const { ty: usize, val: Value(Scalar(0x0000000000000000)) }
-          StorageDead(_10);                // scope 0 at $DIR/early_otherwise_branch_noopt.rs:10:31: 10:32
-          StorageDead(_9);                 // scope 0 at $DIR/early_otherwise_branch_noopt.rs:10:31: 10:32
-          goto -> bb7;                     // scope 0 at $DIR/early_otherwise_branch_noopt.rs:9:5: 14:6
+          StorageLive(_9);                 // scope 0 at $DIR/early_otherwise_branch_noopt.rs:9:15: 9:16
+          _9 = (((_3.0: std::option::Option<u32>) as Some).0: u32); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:9:15: 9:16
+          StorageLive(_10);                // scope 0 at $DIR/early_otherwise_branch_noopt.rs:9:24: 9:25
+          _10 = (((_3.1: std::option::Option<u32>) as Some).0: u32); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:9:24: 9:25
+          _0 = const 0_u32;                // scope 1 at $DIR/early_otherwise_branch_noopt.rs:9:31: 9:32
+          StorageDead(_10);                // scope 0 at $DIR/early_otherwise_branch_noopt.rs:9:31: 9:32
+          StorageDead(_9);                 // scope 0 at $DIR/early_otherwise_branch_noopt.rs:9:31: 9:32
+          goto -> bb7;                     // scope 0 at $DIR/early_otherwise_branch_noopt.rs:8:5: 13:6
       }
   
       bb5: {
-          StorageLive(_11);                // scope 0 at $DIR/early_otherwise_branch_noopt.rs:11:15: 11:16
-          _11 = (((_3.0: std::option::Option<usize>) as Some).0: usize); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:11:15: 11:16
-          _0 = const 1_usize;              // scope 2 at $DIR/early_otherwise_branch_noopt.rs:11:28: 11:29
-                                           // ty::Const
-                                           // + ty: usize
-                                           // + val: Value(Scalar(0x0000000000000001))
-                                           // mir::Constant
-                                           // + span: $DIR/early_otherwise_branch_noopt.rs:11:28: 11:29
-                                           // + literal: Const { ty: usize, val: Value(Scalar(0x0000000000000001)) }
-          StorageDead(_11);                // scope 0 at $DIR/early_otherwise_branch_noopt.rs:11:28: 11:29
-          goto -> bb7;                     // scope 0 at $DIR/early_otherwise_branch_noopt.rs:9:5: 14:6
+          StorageLive(_11);                // scope 0 at $DIR/early_otherwise_branch_noopt.rs:10:15: 10:16
+          _11 = (((_3.0: std::option::Option<u32>) as Some).0: u32); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:10:15: 10:16
+          _0 = const 1_u32;                // scope 2 at $DIR/early_otherwise_branch_noopt.rs:10:28: 10:29
+          StorageDead(_11);                // scope 0 at $DIR/early_otherwise_branch_noopt.rs:10:28: 10:29
+          goto -> bb7;                     // scope 0 at $DIR/early_otherwise_branch_noopt.rs:8:5: 13:6
       }
   
       bb6: {
-          StorageLive(_12);                // scope 0 at $DIR/early_otherwise_branch_noopt.rs:12:21: 12:22
-          _12 = (((_3.1: std::option::Option<usize>) as Some).0: usize); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:12:21: 12:22
-          _0 = const 2_usize;              // scope 3 at $DIR/early_otherwise_branch_noopt.rs:12:28: 12:29
-                                           // ty::Const
-                                           // + ty: usize
-                                           // + val: Value(Scalar(0x0000000000000002))
-                                           // mir::Constant
-                                           // + span: $DIR/early_otherwise_branch_noopt.rs:12:28: 12:29
-                                           // + literal: Const { ty: usize, val: Value(Scalar(0x0000000000000002)) }
-          StorageDead(_12);                // scope 0 at $DIR/early_otherwise_branch_noopt.rs:12:28: 12:29
-          goto -> bb7;                     // scope 0 at $DIR/early_otherwise_branch_noopt.rs:9:5: 14:6
+          StorageLive(_12);                // scope 0 at $DIR/early_otherwise_branch_noopt.rs:11:21: 11:22
+          _12 = (((_3.1: std::option::Option<u32>) as Some).0: u32); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:11:21: 11:22
+          _0 = const 2_u32;                // scope 3 at $DIR/early_otherwise_branch_noopt.rs:11:28: 11:29
+          StorageDead(_12);                // scope 0 at $DIR/early_otherwise_branch_noopt.rs:11:28: 11:29
+          goto -> bb7;                     // scope 0 at $DIR/early_otherwise_branch_noopt.rs:8:5: 13:6
       }
   
       bb7: {
-          StorageDead(_3);                 // scope 0 at $DIR/early_otherwise_branch_noopt.rs:15:1: 15:2
-          return;                          // scope 0 at $DIR/early_otherwise_branch_noopt.rs:15:2: 15:2
+          StorageDead(_3);                 // scope 0 at $DIR/early_otherwise_branch_noopt.rs:14:1: 14:2
+          return;                          // scope 0 at $DIR/early_otherwise_branch_noopt.rs:14:2: 14:2
       }
   }
   
diff --git a/src/test/mir-opt/early_otherwise_branch_noopt.noopt2.EarlyOtherwiseBranch.diff b/src/test/mir-opt/early_otherwise_branch_noopt.noopt2.EarlyOtherwiseBranch.diff
index 25391ab7920..c3aecb45293 100644
--- a/src/test/mir-opt/early_otherwise_branch_noopt.noopt2.EarlyOtherwiseBranch.diff
+++ b/src/test/mir-opt/early_otherwise_branch_noopt.noopt2.EarlyOtherwiseBranch.diff
@@ -1,72 +1,60 @@
 - // MIR for `noopt2` before EarlyOtherwiseBranch
 + // MIR for `noopt2` after EarlyOtherwiseBranch
   
-  fn noopt2(_1: std::option::Option<usize>, _2: std::option::Option<bool>) -> usize {
-      debug x => _1;                       // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:19:11: 19:12
-      debug y => _2;                       // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:19:29: 19:30
-      let mut _0: usize;                   // return place in scope 0 at $DIR/early_otherwise_branch_noopt.rs:19:48: 19:53
-      let mut _3: (std::option::Option<usize>, std::option::Option<bool>); // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:20:11: 20:16
-      let mut _4: std::option::Option<usize>; // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:20:12: 20:13
-      let mut _5: std::option::Option<bool>; // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:20:14: 20:15
-      let mut _6: isize;                   // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:21:19: 21:26
-      let mut _7: isize;                   // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:21:10: 21:17
-      let _8: usize;                       // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:21:15: 21:16
-      let _9: bool;                        // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:21:24: 21:25
+  fn noopt2(_1: Option<u32>, _2: Option<bool>) -> u32 {
+      debug x => _1;                       // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:18:11: 18:12
+      debug y => _2;                       // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:18:27: 18:28
+      let mut _0: u32;                     // return place in scope 0 at $DIR/early_otherwise_branch_noopt.rs:18:47: 18:50
+      let mut _3: (std::option::Option<u32>, std::option::Option<bool>); // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:19:11: 19:17
+      let mut _4: std::option::Option<u32>; // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:19:12: 19:13
+      let mut _5: std::option::Option<bool>; // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:19:15: 19:16
+      let mut _6: isize;                   // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:20:19: 20:26
+      let mut _7: isize;                   // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:20:10: 20:17
+      let _8: u32;                         // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:20:15: 20:16
+      let _9: bool;                        // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:20:24: 20:25
       scope 1 {
-          debug a => _8;                   // in scope 1 at $DIR/early_otherwise_branch_noopt.rs:21:15: 21:16
-          debug b => _9;                   // in scope 1 at $DIR/early_otherwise_branch_noopt.rs:21:24: 21:25
+          debug a => _8;                   // in scope 1 at $DIR/early_otherwise_branch_noopt.rs:20:15: 20:16
+          debug b => _9;                   // in scope 1 at $DIR/early_otherwise_branch_noopt.rs:20:24: 20:25
       }
   
       bb0: {
-          StorageLive(_3);                 // scope 0 at $DIR/early_otherwise_branch_noopt.rs:20:11: 20:16
-          StorageLive(_4);                 // scope 0 at $DIR/early_otherwise_branch_noopt.rs:20:12: 20:13
-          _4 = _1;                         // scope 0 at $DIR/early_otherwise_branch_noopt.rs:20:12: 20:13
-          StorageLive(_5);                 // scope 0 at $DIR/early_otherwise_branch_noopt.rs:20:14: 20:15
-          _5 = _2;                         // scope 0 at $DIR/early_otherwise_branch_noopt.rs:20:14: 20:15
-          (_3.0: std::option::Option<usize>) = move _4; // scope 0 at $DIR/early_otherwise_branch_noopt.rs:20:11: 20:16
-          (_3.1: std::option::Option<bool>) = move _5; // scope 0 at $DIR/early_otherwise_branch_noopt.rs:20:11: 20:16
-          StorageDead(_5);                 // scope 0 at $DIR/early_otherwise_branch_noopt.rs:20:15: 20:16
-          StorageDead(_4);                 // scope 0 at $DIR/early_otherwise_branch_noopt.rs:20:15: 20:16
-          _7 = discriminant((_3.0: std::option::Option<usize>)); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:21:10: 21:17
-          switchInt(move _7) -> [1_isize: bb2, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch_noopt.rs:21:10: 21:17
+          StorageLive(_3);                 // scope 0 at $DIR/early_otherwise_branch_noopt.rs:19:11: 19:17
+          StorageLive(_4);                 // scope 0 at $DIR/early_otherwise_branch_noopt.rs:19:12: 19:13
+          _4 = _1;                         // scope 0 at $DIR/early_otherwise_branch_noopt.rs:19:12: 19:13
+          StorageLive(_5);                 // scope 0 at $DIR/early_otherwise_branch_noopt.rs:19:15: 19:16
+          _5 = _2;                         // scope 0 at $DIR/early_otherwise_branch_noopt.rs:19:15: 19:16
+          (_3.0: std::option::Option<u32>) = move _4; // scope 0 at $DIR/early_otherwise_branch_noopt.rs:19:11: 19:17
+          (_3.1: std::option::Option<bool>) = move _5; // scope 0 at $DIR/early_otherwise_branch_noopt.rs:19:11: 19:17
+          StorageDead(_5);                 // scope 0 at $DIR/early_otherwise_branch_noopt.rs:19:16: 19:17
+          StorageDead(_4);                 // scope 0 at $DIR/early_otherwise_branch_noopt.rs:19:16: 19:17
+          _7 = discriminant((_3.0: std::option::Option<u32>)); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:20:10: 20:17
+          switchInt(move _7) -> [1_isize: bb2, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch_noopt.rs:20:10: 20:17
       }
   
       bb1: {
-          _0 = const 1_usize;              // scope 0 at $DIR/early_otherwise_branch_noopt.rs:22:14: 22:15
-                                           // ty::Const
-                                           // + ty: usize
-                                           // + val: Value(Scalar(0x0000000000000001))
-                                           // mir::Constant
-                                           // + span: $DIR/early_otherwise_branch_noopt.rs:22:14: 22:15
-                                           // + literal: Const { ty: usize, val: Value(Scalar(0x0000000000000001)) }
-          goto -> bb4;                     // scope 0 at $DIR/early_otherwise_branch_noopt.rs:20:5: 23:6
+          _0 = const 1_u32;                // scope 0 at $DIR/early_otherwise_branch_noopt.rs:21:14: 21:15
+          goto -> bb4;                     // scope 0 at $DIR/early_otherwise_branch_noopt.rs:19:5: 22:6
       }
   
       bb2: {
-          _6 = discriminant((_3.1: std::option::Option<bool>)); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:21:19: 21:26
-          switchInt(move _6) -> [1_isize: bb3, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch_noopt.rs:21:19: 21:26
+          _6 = discriminant((_3.1: std::option::Option<bool>)); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:20:19: 20:26
+          switchInt(move _6) -> [1_isize: bb3, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch_noopt.rs:20:19: 20:26
       }
   
       bb3: {
-          StorageLive(_8);                 // scope 0 at $DIR/early_otherwise_branch_noopt.rs:21:15: 21:16
-          _8 = (((_3.0: std::option::Option<usize>) as Some).0: usize); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:21:15: 21:16
-          StorageLive(_9);                 // scope 0 at $DIR/early_otherwise_branch_noopt.rs:21:24: 21:25
-          _9 = (((_3.1: std::option::Option<bool>) as Some).0: bool); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:21:24: 21:25
-          _0 = const 0_usize;              // scope 1 at $DIR/early_otherwise_branch_noopt.rs:21:31: 21:32
-                                           // ty::Const
-                                           // + ty: usize
-                                           // + val: Value(Scalar(0x0000000000000000))
-                                           // mir::Constant
-                                           // + span: $DIR/early_otherwise_branch_noopt.rs:21:31: 21:32
-                                           // + literal: Const { ty: usize, val: Value(Scalar(0x0000000000000000)) }
-          StorageDead(_9);                 // scope 0 at $DIR/early_otherwise_branch_noopt.rs:21:31: 21:32
-          StorageDead(_8);                 // scope 0 at $DIR/early_otherwise_branch_noopt.rs:21:31: 21:32
-          goto -> bb4;                     // scope 0 at $DIR/early_otherwise_branch_noopt.rs:20:5: 23:6
+          StorageLive(_8);                 // scope 0 at $DIR/early_otherwise_branch_noopt.rs:20:15: 20:16
+          _8 = (((_3.0: std::option::Option<u32>) as Some).0: u32); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:20:15: 20:16
+          StorageLive(_9);                 // scope 0 at $DIR/early_otherwise_branch_noopt.rs:20:24: 20:25
+          _9 = (((_3.1: std::option::Option<bool>) as Some).0: bool); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:20:24: 20:25
+          _0 = const 0_u32;                // scope 1 at $DIR/early_otherwise_branch_noopt.rs:20:31: 20:32
+          StorageDead(_9);                 // scope 0 at $DIR/early_otherwise_branch_noopt.rs:20:31: 20:32
+          StorageDead(_8);                 // scope 0 at $DIR/early_otherwise_branch_noopt.rs:20:31: 20:32
+          goto -> bb4;                     // scope 0 at $DIR/early_otherwise_branch_noopt.rs:19:5: 22:6
       }
   
       bb4: {
-          StorageDead(_3);                 // scope 0 at $DIR/early_otherwise_branch_noopt.rs:24:1: 24:2
-          return;                          // scope 0 at $DIR/early_otherwise_branch_noopt.rs:24:2: 24:2
+          StorageDead(_3);                 // scope 0 at $DIR/early_otherwise_branch_noopt.rs:23:1: 23:2
+          return;                          // scope 0 at $DIR/early_otherwise_branch_noopt.rs:23:2: 23:2
       }
   }