1 - // MIR for `bar` before MatchBranchSimplification
2 + // MIR for `bar` after MatchBranchSimplification
4 fn bar(_1: i32) -> (bool, bool, bool, bool) {
5 debug i => _1; // in scope 0 at $DIR/matches_reduce_branches.rs:13:8: 13:9
6 let mut _0: (bool, bool, bool, bool); // return place in scope 0 at $DIR/matches_reduce_branches.rs:13:19: 13:43
7 let _2: bool; // in scope 0 at $DIR/matches_reduce_branches.rs:14:9: 14:10
8 let _6: (); // in scope 0 at $DIR/matches_reduce_branches.rs:19:5: 34:6
9 let mut _7: bool; // in scope 0 at $DIR/matches_reduce_branches.rs:36:6: 36:7
10 let mut _8: bool; // in scope 0 at $DIR/matches_reduce_branches.rs:36:9: 36:10
11 let mut _9: bool; // in scope 0 at $DIR/matches_reduce_branches.rs:36:12: 36:13
12 let mut _10: bool; // in scope 0 at $DIR/matches_reduce_branches.rs:36:15: 36:16
13 + let mut _11: i32; // in scope 0 at $DIR/matches_reduce_branches.rs:19:5: 19:12
15 debug a => _2; // in scope 1 at $DIR/matches_reduce_branches.rs:14:9: 14:10
16 let _3: bool; // in scope 1 at $DIR/matches_reduce_branches.rs:15:9: 15:10
18 debug b => _3; // in scope 2 at $DIR/matches_reduce_branches.rs:15:9: 15:10
19 let _4: bool; // in scope 2 at $DIR/matches_reduce_branches.rs:16:9: 16:10
21 debug c => _4; // in scope 3 at $DIR/matches_reduce_branches.rs:16:9: 16:10
22 let _5: bool; // in scope 3 at $DIR/matches_reduce_branches.rs:17:9: 17:10
24 debug d => _5; // in scope 4 at $DIR/matches_reduce_branches.rs:17:9: 17:10
31 StorageLive(_2); // scope 0 at $DIR/matches_reduce_branches.rs:14:9: 14:10
32 StorageLive(_3); // scope 1 at $DIR/matches_reduce_branches.rs:15:9: 15:10
33 StorageLive(_4); // scope 2 at $DIR/matches_reduce_branches.rs:16:9: 16:10
34 StorageLive(_5); // scope 3 at $DIR/matches_reduce_branches.rs:17:9: 17:10
35 StorageLive(_6); // scope 4 at $DIR/matches_reduce_branches.rs:19:5: 34:6
36 - switchInt(_1) -> [7_i32: bb2, otherwise: bb1]; // scope 4 at $DIR/matches_reduce_branches.rs:19:5: 19:12
40 - _2 = const true; // scope 4 at $DIR/matches_reduce_branches.rs:28:13: 28:21
41 - _3 = const false; // scope 4 at $DIR/matches_reduce_branches.rs:29:13: 29:22
42 - _4 = const false; // scope 4 at $DIR/matches_reduce_branches.rs:30:13: 30:22
43 - _5 = const true; // scope 4 at $DIR/matches_reduce_branches.rs:31:13: 31:21
44 - nop; // scope 4 at $DIR/matches_reduce_branches.rs:32:13: 32:15
45 - goto -> bb3; // scope 4 at $DIR/matches_reduce_branches.rs:32:13: 32:15
49 - _2 = const false; // scope 4 at $DIR/matches_reduce_branches.rs:21:13: 21:22
50 - _3 = const true; // scope 4 at $DIR/matches_reduce_branches.rs:22:13: 22:21
51 + StorageLive(_11); // scope 4 at $DIR/matches_reduce_branches.rs:19:5: 19:12
52 + _11 = _1; // scope 4 at $DIR/matches_reduce_branches.rs:19:5: 19:12
53 + _2 = Ne(_11, const 7_i32); // scope 4 at $DIR/matches_reduce_branches.rs:21:13: 21:22
54 + _3 = Eq(_11, const 7_i32); // scope 4 at $DIR/matches_reduce_branches.rs:22:13: 22:21
55 _4 = const false; // scope 4 at $DIR/matches_reduce_branches.rs:23:13: 23:22
56 _5 = const true; // scope 4 at $DIR/matches_reduce_branches.rs:24:13: 24:21
57 - nop; // scope 4 at $DIR/matches_reduce_branches.rs:25:13: 25:15
58 - goto -> bb3; // scope 4 at $DIR/matches_reduce_branches.rs:25:13: 25:15
62 + StorageDead(_11); // scope 4 at $DIR/matches_reduce_branches.rs:19:5: 19:12
63 StorageDead(_6); // scope 4 at $DIR/matches_reduce_branches.rs:34:6: 34:7
64 StorageLive(_7); // scope 4 at $DIR/matches_reduce_branches.rs:36:6: 36:7
65 _7 = _2; // scope 4 at $DIR/matches_reduce_branches.rs:36:6: 36:7
66 StorageLive(_8); // scope 4 at $DIR/matches_reduce_branches.rs:36:9: 36:10
67 _8 = _3; // scope 4 at $DIR/matches_reduce_branches.rs:36:9: 36:10
68 StorageLive(_9); // scope 4 at $DIR/matches_reduce_branches.rs:36:12: 36:13
69 _9 = _4; // scope 4 at $DIR/matches_reduce_branches.rs:36:12: 36:13
70 StorageLive(_10); // scope 4 at $DIR/matches_reduce_branches.rs:36:15: 36:16
71 _10 = _5; // scope 4 at $DIR/matches_reduce_branches.rs:36:15: 36:16
72 Deinit(_0); // scope 4 at $DIR/matches_reduce_branches.rs:36:5: 36:17
73 (_0.0: bool) = move _7; // scope 4 at $DIR/matches_reduce_branches.rs:36:5: 36:17
74 (_0.1: bool) = move _8; // scope 4 at $DIR/matches_reduce_branches.rs:36:5: 36:17
75 (_0.2: bool) = move _9; // scope 4 at $DIR/matches_reduce_branches.rs:36:5: 36:17
76 (_0.3: bool) = move _10; // scope 4 at $DIR/matches_reduce_branches.rs:36:5: 36:17
77 StorageDead(_10); // scope 4 at $DIR/matches_reduce_branches.rs:36:16: 36:17
78 StorageDead(_9); // scope 4 at $DIR/matches_reduce_branches.rs:36:16: 36:17
79 StorageDead(_8); // scope 4 at $DIR/matches_reduce_branches.rs:36:16: 36:17
80 StorageDead(_7); // scope 4 at $DIR/matches_reduce_branches.rs:36:16: 36:17
81 StorageDead(_5); // scope 3 at $DIR/matches_reduce_branches.rs:37:1: 37:2
82 StorageDead(_4); // scope 2 at $DIR/matches_reduce_branches.rs:37:1: 37:2
83 StorageDead(_3); // scope 1 at $DIR/matches_reduce_branches.rs:37:1: 37:2
84 StorageDead(_2); // scope 0 at $DIR/matches_reduce_branches.rs:37:1: 37:2
85 return; // scope 0 at $DIR/matches_reduce_branches.rs:37:2: 37:2