| - // MIR for `test` before GVN | |
| + // MIR for `test` after GVN | |
| fn test(_1: bool, _2: bool) -> bool { | |
| debug x => _1; | |
| debug y => _2; | |
| let mut _0: bool; | |
| let _3: bool; | |
| let mut _4: bool; | |
| let mut _6: bool; | |
| let mut _7: bool; | |
| let mut _8: bool; | |
| scope 1 { | |
| debug a => _3; | |
| let _5: bool; | |
| scope 2 { | |
| debug b => _5; | |
| } | |
| } | |
| bb0: { | |
| StorageLive(_3); | |
| StorageLive(_4); | |
| _4 = copy _2; | |
| - _3 = BitOr(move _4, const true); | |
| + _3 = const true; | |
| StorageDead(_4); | |
| StorageLive(_5); | |
| StorageLive(_6); | |
| _6 = copy _1; | |
| - _5 = BitAnd(move _6, const false); | |
| + _5 = const false; | |
| StorageDead(_6); | |
| StorageLive(_7); | |
| - _7 = copy _3; | |
| + _7 = const true; | |
| StorageLive(_8); | |
| - _8 = copy _5; | |
| - _0 = BitAnd(move _7, move _8); | |
| + _8 = const false; | |
| + _0 = const false; | |
| StorageDead(_8); | |
| StorageDead(_7); | |
| StorageDead(_5); | |
| StorageDead(_3); | |
| return; | |
| } | |
| } | |