| - // 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 = copy _2; | |
| - StorageDead(_2); | |
| - switchInt(copy _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; | |
| } | |
| } | |