- // MIR for `main` before GVN + // MIR for `main` after GVN fn main() -> () { let mut _0: (); let _1: (u32, u32); let _2: (); let mut _3: (u32, u32); scope 1 { debug x => _1; } bb0: { - StorageLive(_1); - _1 = (const 1_u32, const 2_u32); + nop; + _1 = const (1_u32, 2_u32); StorageLive(_2); StorageLive(_3); - _3 = _1; - _2 = consume(move _3) -> [return: bb1, unwind continue]; + _3 = const (1_u32, 2_u32); + _2 = consume(const (1_u32, 2_u32)) -> [return: bb1, unwind continue]; } bb1: { StorageDead(_3); StorageDead(_2); _0 = const (); - StorageDead(_1); + nop; return; } + } + + ALLOC0 (size: 8, align: 4) { + 01 00 00 00 02 00 00 00 │ ........ }