- // MIR for `bar` before MatchBranchSimplification + // MIR for `bar` after MatchBranchSimplification fn bar(_1: i32) -> (bool, bool, bool, bool) { debug i => _1; // in scope 0 at $DIR/matches_reduce_branches.rs:+0:8: +0:9 let mut _0: (bool, bool, bool, bool); // return place in scope 0 at $DIR/matches_reduce_branches.rs:+0:19: +0:43 let _2: bool; // in scope 0 at $DIR/matches_reduce_branches.rs:+1:9: +1:10 let _6: (); // in scope 0 at $DIR/matches_reduce_branches.rs:+6:5: +21:6 let mut _7: bool; // in scope 0 at $DIR/matches_reduce_branches.rs:+23:6: +23:7 let mut _8: bool; // in scope 0 at $DIR/matches_reduce_branches.rs:+23:9: +23:10 let mut _9: bool; // in scope 0 at $DIR/matches_reduce_branches.rs:+23:12: +23:13 let mut _10: bool; // in scope 0 at $DIR/matches_reduce_branches.rs:+23:15: +23:16 + let mut _11: i32; // in scope 0 at $DIR/matches_reduce_branches.rs:+6:5: +6:12 scope 1 { debug a => _2; // in scope 1 at $DIR/matches_reduce_branches.rs:+1:9: +1:10 let _3: bool; // in scope 1 at $DIR/matches_reduce_branches.rs:+2:9: +2:10 scope 2 { debug b => _3; // in scope 2 at $DIR/matches_reduce_branches.rs:+2:9: +2:10 let _4: bool; // in scope 2 at $DIR/matches_reduce_branches.rs:+3:9: +3:10 scope 3 { debug c => _4; // in scope 3 at $DIR/matches_reduce_branches.rs:+3:9: +3:10 let _5: bool; // in scope 3 at $DIR/matches_reduce_branches.rs:+4:9: +4:10 scope 4 { debug d => _5; // in scope 4 at $DIR/matches_reduce_branches.rs:+4:9: +4:10 } } } } bb0: { StorageLive(_2); // scope 0 at $DIR/matches_reduce_branches.rs:+1:9: +1:10 StorageLive(_3); // scope 1 at $DIR/matches_reduce_branches.rs:+2:9: +2:10 StorageLive(_4); // scope 2 at $DIR/matches_reduce_branches.rs:+3:9: +3:10 StorageLive(_5); // scope 3 at $DIR/matches_reduce_branches.rs:+4:9: +4:10 StorageLive(_6); // scope 4 at $DIR/matches_reduce_branches.rs:+6:5: +21:6 - switchInt(_1) -> [7: bb2, otherwise: bb1]; // scope 4 at $DIR/matches_reduce_branches.rs:+6:5: +6:12 - } - - bb1: { - _2 = const true; // scope 4 at $DIR/matches_reduce_branches.rs:+15:13: +15:21 - _3 = const false; // scope 4 at $DIR/matches_reduce_branches.rs:+16:13: +16:22 - _4 = const false; // scope 4 at $DIR/matches_reduce_branches.rs:+17:13: +17:22 - _5 = const true; // scope 4 at $DIR/matches_reduce_branches.rs:+18:13: +18:21 - _6 = (); // scope 4 at $DIR/matches_reduce_branches.rs:+19:13: +19:15 - goto -> bb3; // scope 4 at $DIR/matches_reduce_branches.rs:+19:13: +19:15 - } - - bb2: { - _2 = const false; // scope 4 at $DIR/matches_reduce_branches.rs:+8:13: +8:22 - _3 = const true; // scope 4 at $DIR/matches_reduce_branches.rs:+9:13: +9:21 + StorageLive(_11); // scope 4 at $DIR/matches_reduce_branches.rs:+6:5: +6:12 + _11 = _1; // scope 4 at $DIR/matches_reduce_branches.rs:+6:5: +6:12 + _2 = Ne(_11, const 7_i32); // scope 4 at $DIR/matches_reduce_branches.rs:+8:13: +8:22 + _3 = Eq(_11, const 7_i32); // scope 4 at $DIR/matches_reduce_branches.rs:+9:13: +9:21 _4 = const false; // scope 4 at $DIR/matches_reduce_branches.rs:+10:13: +10:22 _5 = const true; // scope 4 at $DIR/matches_reduce_branches.rs:+11:13: +11:21 _6 = (); // scope 4 at $DIR/matches_reduce_branches.rs:+12:13: +12:15 - goto -> bb3; // scope 4 at $DIR/matches_reduce_branches.rs:+12:13: +12:15 - } - - bb3: { + StorageDead(_11); // scope 4 at $DIR/matches_reduce_branches.rs:+6:5: +6:12 StorageDead(_6); // scope 4 at $DIR/matches_reduce_branches.rs:+21:6: +21:7 StorageLive(_7); // scope 4 at $DIR/matches_reduce_branches.rs:+23:6: +23:7 _7 = _2; // scope 4 at $DIR/matches_reduce_branches.rs:+23:6: +23:7 StorageLive(_8); // scope 4 at $DIR/matches_reduce_branches.rs:+23:9: +23:10 _8 = _3; // scope 4 at $DIR/matches_reduce_branches.rs:+23:9: +23:10 StorageLive(_9); // scope 4 at $DIR/matches_reduce_branches.rs:+23:12: +23:13 _9 = _4; // scope 4 at $DIR/matches_reduce_branches.rs:+23:12: +23:13 StorageLive(_10); // scope 4 at $DIR/matches_reduce_branches.rs:+23:15: +23:16 _10 = _5; // scope 4 at $DIR/matches_reduce_branches.rs:+23:15: +23:16 _0 = (move _7, move _8, move _9, move _10); // scope 4 at $DIR/matches_reduce_branches.rs:+23:5: +23:17 StorageDead(_10); // scope 4 at $DIR/matches_reduce_branches.rs:+23:16: +23:17 StorageDead(_9); // scope 4 at $DIR/matches_reduce_branches.rs:+23:16: +23:17 StorageDead(_8); // scope 4 at $DIR/matches_reduce_branches.rs:+23:16: +23:17 StorageDead(_7); // scope 4 at $DIR/matches_reduce_branches.rs:+23:16: +23:17 StorageDead(_5); // scope 3 at $DIR/matches_reduce_branches.rs:+24:1: +24:2 StorageDead(_4); // scope 2 at $DIR/matches_reduce_branches.rs:+24:1: +24:2 StorageDead(_3); // scope 1 at $DIR/matches_reduce_branches.rs:+24:1: +24:2 StorageDead(_2); // scope 0 at $DIR/matches_reduce_branches.rs:+24:1: +24:2 return; // scope 0 at $DIR/matches_reduce_branches.rs:+24:2: +24:2 } }