- // MIR for `non_freeze` before GVN
+ // MIR for `non_freeze` after GVN
  
  fn non_freeze(_1: T) -> () {
      let mut _0: ();
      let mut _2: T;
      let mut _3: &T;
  
      bb0: {
          _2 = copy _1;
          _3 = &_1;
          _0 = opaque::<&T>(copy _3) -> [return: bb1, unwind continue];
      }
  
      bb1: {
          _0 = opaque::<T>(copy _2) -> [return: bb2, unwind continue];
      }
  
      bb2: {
          _0 = opaque::<T>(copy (*_3)) -> [return: bb3, unwind continue];
      }
  
      bb3: {
          return;
      }
  }
  
