- // MIR for `main` before GVN + // MIR for `main` after GVN fn main() -> () { let mut _0: (); let _1: u32; let _2: (); let mut _3: u32; scope 1 { debug x => _1; } bb0: { - StorageLive(_1); + nop; _1 = const 1_u32; StorageLive(_2); StorageLive(_3); - _3 = copy _1; - _2 = consume(move _3) -> [return: bb1, unwind unreachable]; + _3 = const 1_u32; + _2 = consume(const 1_u32) -> [return: bb1, unwind unreachable]; } bb1: { StorageDead(_3); StorageDead(_2); _0 = const (); - StorageDead(_1); + nop; return; } }