- // MIR for `main` before GVN
+ // MIR for `main` after GVN
  
  fn main() -> () {
      let mut _0: ();
      let mut _1: u32;
      let _2: ();
      let mut _3: u32;
      let mut _4: *mut u32;
      scope 1 {
          debug x => _1;
          let _5: u32;
          scope 2 {
          }
          scope 3 {
              debug y => _5;
          }
      }
  
      bb0: {
          StorageLive(_1);
          _1 = const 42_u32;
          StorageLive(_2);
          StorageLive(_3);
          StorageLive(_4);
          _4 = const {ALLOC0: *mut u32};
          _3 = (*_4);
          _1 = move _3;
          StorageDead(_3);
          StorageDead(_4);
          _2 = const ();
          StorageDead(_2);
          StorageLive(_5);
          _5 = _1;
          _0 = const ();
          StorageDead(_5);
          StorageDead(_1);
          return;
      }
  }
  
  ALLOC0 (static: STATIC, size: 4, align: 4) {
      42 42 42 42                                     │ BBBB
  }
  
