- // MIR for `main` before GVN
+ // MIR for `main` after GVN
  
  fn main() -> () {
      let mut _0: ();
      let mut _1: (i32, i32);
      scope 1 {
          debug x => _1;
          let _2: (i32, i32);
          scope 2 {
              debug y => _2;
          }
      }
  
      bb0: {
          StorageLive(_1);
-         _1 = (const 42_i32, const 43_i32);
+         _1 = const (42_i32, 43_i32);
          (_1.1: i32) = const 99_i32;
          StorageLive(_2);
          _2 = copy _1;
          _0 = const ();
          StorageDead(_2);
          StorageDead(_1);
          return;
      }
  }
+ 
+ ALLOC0 (size: 8, align: 4) { .. }
  
