- // 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: &mut (i32, i32); scope 2 { debug z => _2; let _3: (i32, i32); scope 3 { debug y => _3; } } } bb0: { StorageLive(_1); - _1 = (const 42_i32, const 43_i32); + _1 = const (42_i32, 43_i32); StorageLive(_2); _2 = &mut _1; ((*_2).1: i32) = const 99_i32; StorageLive(_3); _3 = copy _1; _0 = const (); StorageDead(_3); StorageDead(_2); StorageDead(_1); return; } } + + ALLOC0 (size: 8, align: 4) { .. }