- // MIR for `two_reads` before JumpThreading
+ // MIR for `two_reads` after JumpThreading
  
  fn two_reads() -> i32 {
      let mut _0: i32;
      let _1: i32;
      let mut _4: bool;
      let mut _5: i32;
      scope 1 {
          debug a => _1;
          let _2: i32;
          scope 2 {
              debug b => _2;
              let _3: i32;
              scope 3 {
                  debug c => _3;
              }
          }
      }
  
      bb0: {
          StorageLive(_1);
          _1 = const 2_i32;
          StorageLive(_2);
          _2 = copy _1;
          StorageLive(_3);
          _3 = copy _1;
          StorageLive(_4);
          StorageLive(_5);
          _5 = copy _3;
          _4 = Eq(move _5, const 2_i32);
-         switchInt(move _4) -> [0: bb2, otherwise: bb1];
+         goto -> bb1;
      }
  
      bb1: {
          StorageDead(_5);
          _0 = const 0_i32;
          goto -> bb3;
      }
  
      bb2: {
          StorageDead(_5);
          _0 = const 1_i32;
          goto -> bb3;
      }
  
      bb3: {
          StorageDead(_4);
          StorageDead(_3);
          StorageDead(_2);
          StorageDead(_1);
          return;
      }
  }
  
