+ // 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:13:8: 13:9
- let mut _0: (bool, bool, bool, bool); // return place in scope 0 at $DIR/matches_reduce_branches.rs:13:19: 13:43
- let _2: bool; // in scope 0 at $DIR/matches_reduce_branches.rs:14:9: 14:10
- let _6: (); // in scope 0 at $DIR/matches_reduce_branches.rs:19:5: 34:6
- let mut _7: bool; // in scope 0 at $DIR/matches_reduce_branches.rs:36:6: 36:7
- let mut _8: bool; // in scope 0 at $DIR/matches_reduce_branches.rs:36:9: 36:10
- let mut _9: bool; // in scope 0 at $DIR/matches_reduce_branches.rs:36:12: 36:13
- let mut _10: bool; // in scope 0 at $DIR/matches_reduce_branches.rs:36:15: 36:16
-+ let mut _11: i32; // in scope 0 at $DIR/matches_reduce_branches.rs:19:5: 19:12
+ 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:14:9: 14:10
- let _3: bool; // in scope 1 at $DIR/matches_reduce_branches.rs:15:9: 15:10
+ 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:15:9: 15:10
- let _4: bool; // in scope 2 at $DIR/matches_reduce_branches.rs:16:9: 16:10
+ 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:16:9: 16:10
- let _5: bool; // in scope 3 at $DIR/matches_reduce_branches.rs:17:9: 17:10
+ 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:17:9: 17:10
+ 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:14:9: 14:10
- StorageLive(_3); // scope 1 at $DIR/matches_reduce_branches.rs:15:9: 15:10
- StorageLive(_4); // scope 2 at $DIR/matches_reduce_branches.rs:16:9: 16:10
- StorageLive(_5); // scope 3 at $DIR/matches_reduce_branches.rs:17:9: 17:10
- StorageLive(_6); // scope 4 at $DIR/matches_reduce_branches.rs:19:5: 34:6
-- switchInt(_1) -> [7_i32: bb2, otherwise: bb1]; // scope 4 at $DIR/matches_reduce_branches.rs:19:5: 19:12
+ 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_i32: 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:28:13: 28:21
-- _3 = const false; // scope 4 at $DIR/matches_reduce_branches.rs:29:13: 29:22
-- _4 = const false; // scope 4 at $DIR/matches_reduce_branches.rs:30:13: 30:22
-- _5 = const true; // scope 4 at $DIR/matches_reduce_branches.rs:31:13: 31:21
-- nop; // scope 4 at $DIR/matches_reduce_branches.rs:32:13: 32:15
-- goto -> bb3; // scope 4 at $DIR/matches_reduce_branches.rs:32:13: 32:15
+- _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
+- nop; // 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:21:13: 21:22
-- _3 = const true; // scope 4 at $DIR/matches_reduce_branches.rs:22:13: 22:21
-+ StorageLive(_11); // scope 4 at $DIR/matches_reduce_branches.rs:19:5: 19:12
-+ _11 = _1; // scope 4 at $DIR/matches_reduce_branches.rs:19:5: 19:12
-+ _2 = Ne(_11, const 7_i32); // scope 4 at $DIR/matches_reduce_branches.rs:21:13: 21:22
-+ _3 = Eq(_11, const 7_i32); // scope 4 at $DIR/matches_reduce_branches.rs:22:13: 22:21
- _4 = const false; // scope 4 at $DIR/matches_reduce_branches.rs:23:13: 23:22
- _5 = const true; // scope 4 at $DIR/matches_reduce_branches.rs:24:13: 24:21
-- nop; // scope 4 at $DIR/matches_reduce_branches.rs:25:13: 25:15
-- goto -> bb3; // scope 4 at $DIR/matches_reduce_branches.rs:25:13: 25:15
+- _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
+- nop; // 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:19:5: 19:12
- StorageDead(_6); // scope 4 at $DIR/matches_reduce_branches.rs:34:6: 34:7
- StorageLive(_7); // scope 4 at $DIR/matches_reduce_branches.rs:36:6: 36:7
- _7 = _2; // scope 4 at $DIR/matches_reduce_branches.rs:36:6: 36:7
- StorageLive(_8); // scope 4 at $DIR/matches_reduce_branches.rs:36:9: 36:10
- _8 = _3; // scope 4 at $DIR/matches_reduce_branches.rs:36:9: 36:10
- StorageLive(_9); // scope 4 at $DIR/matches_reduce_branches.rs:36:12: 36:13
- _9 = _4; // scope 4 at $DIR/matches_reduce_branches.rs:36:12: 36:13
- StorageLive(_10); // scope 4 at $DIR/matches_reduce_branches.rs:36:15: 36:16
- _10 = _5; // scope 4 at $DIR/matches_reduce_branches.rs:36:15: 36:16
- Deinit(_0); // scope 4 at $DIR/matches_reduce_branches.rs:36:5: 36:17
- (_0.0: bool) = move _7; // scope 4 at $DIR/matches_reduce_branches.rs:36:5: 36:17
- (_0.1: bool) = move _8; // scope 4 at $DIR/matches_reduce_branches.rs:36:5: 36:17
- (_0.2: bool) = move _9; // scope 4 at $DIR/matches_reduce_branches.rs:36:5: 36:17
- (_0.3: bool) = move _10; // scope 4 at $DIR/matches_reduce_branches.rs:36:5: 36:17
- StorageDead(_10); // scope 4 at $DIR/matches_reduce_branches.rs:36:16: 36:17
- StorageDead(_9); // scope 4 at $DIR/matches_reduce_branches.rs:36:16: 36:17
- StorageDead(_8); // scope 4 at $DIR/matches_reduce_branches.rs:36:16: 36:17
- StorageDead(_7); // scope 4 at $DIR/matches_reduce_branches.rs:36:16: 36:17
- StorageDead(_5); // scope 3 at $DIR/matches_reduce_branches.rs:37:1: 37:2
- StorageDead(_4); // scope 2 at $DIR/matches_reduce_branches.rs:37:1: 37:2
- StorageDead(_3); // scope 1 at $DIR/matches_reduce_branches.rs:37:1: 37:2
- StorageDead(_2); // scope 0 at $DIR/matches_reduce_branches.rs:37:1: 37:2
- return; // scope 0 at $DIR/matches_reduce_branches.rs:37:2: 37:2
++ 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
+ Deinit(_0); // scope 4 at $DIR/matches_reduce_branches.rs:+23:5: +23:17
+ (_0.0: bool) = move _7; // scope 4 at $DIR/matches_reduce_branches.rs:+23:5: +23:17
+ (_0.1: bool) = move _8; // scope 4 at $DIR/matches_reduce_branches.rs:+23:5: +23:17
+ (_0.2: bool) = move _9; // scope 4 at $DIR/matches_reduce_branches.rs:+23:5: +23:17
+ (_0.3: bool) = 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
}
}