- // MIR for `src` before GVN
+ // MIR for `src` after GVN
  
  fn src(_1: &&u8) -> bool {
      debug x => _1;
      let mut _0: bool;
      let _2: u8;
      let _3: ();
      let mut _4: u8;
      let mut _5: u8;
      let mut _6: &u8;
      let mut _7: &u8;
      scope 1 {
          debug y => _2;
      }
  
      bb0: {
-         StorageLive(_2);
-         _6 = deref_copy (*_1);
+         nop;
+         _6 = copy (*_1);
          _2 = copy (*_6);
          _3 = unknown() -> [return: bb1, unwind unreachable];
      }
  
      bb1: {
          StorageLive(_4);
-         _7 = deref_copy (*_1);
+         _7 = copy (*_1);
          _4 = copy (*_7);
          StorageLive(_5);
          _5 = copy _2;
-         _0 = Eq(move _4, move _5);
+         _0 = Eq(move _4, copy _2);
          StorageDead(_5);
          StorageDead(_4);
-         StorageDead(_2);
+         nop;
          return;
      }
  }
  
