- // MIR for `main` before GVN + // MIR for `main` after GVN fn main() -> () { let mut _0: (); let mut _1: bool; let _2: bool; scope 1 { debug x => _2; } bb0: { StorageLive(_1); - StorageLive(_2); + nop; _2 = const false; - _1 = _2; - StorageDead(_2); - switchInt(_1) -> [0: bb2, otherwise: bb1]; + _1 = const false; + nop; + switchInt(const false) -> [0: bb2, otherwise: bb1]; } bb1: { _0 = noop() -> [return: bb2, unwind unreachable]; } bb2: { StorageDead(_1); return; } }