mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-30 02:33:55 +00:00
89 lines
6.7 KiB
Diff
89 lines
6.7 KiB
Diff
- // 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
|
|
- Deinit(_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
|
|
Deinit(_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
|
|
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
|
|
}
|
|
}
|
|
|