rust/tests/mir-opt/remove_fake_borrows.match_guard.CleanupPostBorrowck.panic-unwind.diff

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

75 lines
4.7 KiB
Diff
Raw Normal View History

2022-12-16 18:00:00 -06:00
- // MIR for `match_guard` before CleanupPostBorrowck
+ // MIR for `match_guard` after CleanupPostBorrowck
2020-04-02 16:09:01 -05:00
fn match_guard(_1: Option<&&i32>, _2: bool) -> i32 {
2022-07-27 13:47:42 -05:00
debug x => _1; // in scope 0 at $DIR/remove_fake_borrows.rs:+0:16: +0:17
debug c => _2; // in scope 0 at $DIR/remove_fake_borrows.rs:+0:34: +0:35
let mut _0: i32; // return place in scope 0 at $DIR/remove_fake_borrows.rs:+0:46: +0:49
let mut _3: isize; // in scope 0 at $DIR/remove_fake_borrows.rs:+2:9: +2:16
let mut _4: &std::option::Option<&&i32>; // in scope 0 at $DIR/remove_fake_borrows.rs:+1:11: +1:12
let mut _5: &&i32; // in scope 0 at $DIR/remove_fake_borrows.rs:+1:11: +1:12
let mut _6: &&&i32; // in scope 0 at $DIR/remove_fake_borrows.rs:+1:11: +1:12
let mut _7: &i32; // in scope 0 at $DIR/remove_fake_borrows.rs:+1:11: +1:12
let mut _8: bool; // in scope 0 at $DIR/remove_fake_borrows.rs:+2:20: +2:21
2020-04-02 16:09:01 -05:00
bb0: {
2022-07-27 13:47:42 -05:00
- FakeRead(ForMatchedPlace(None), _1); // scope 0 at $DIR/remove_fake_borrows.rs:+1:11: +1:12
+ nop; // scope 0 at $DIR/remove_fake_borrows.rs:+1:11: +1:12
_3 = discriminant(_1); // scope 0 at $DIR/remove_fake_borrows.rs:+1:11: +1:12
switchInt(move _3) -> [1: bb2, otherwise: bb1]; // scope 0 at $DIR/remove_fake_borrows.rs:+1:5: +1:12
2020-04-02 16:09:01 -05:00
}
bb1: {
2022-07-27 13:47:42 -05:00
_0 = const 1_i32; // scope 0 at $DIR/remove_fake_borrows.rs:+3:14: +3:15
goto -> bb7; // scope 0 at $DIR/remove_fake_borrows.rs:+3:14: +3:15
2020-04-02 16:09:01 -05:00
}
bb2: {
switchInt((*(*((_1 as Some).0: &&i32)))) -> [0: bb3, otherwise: bb1]; // scope 0 at $DIR/remove_fake_borrows.rs:+1:5: +1:12
2020-04-02 16:09:01 -05:00
}
bb3: {
2022-12-16 18:00:00 -06:00
- falseEdge -> [real: bb4, imaginary: bb1]; // scope 0 at $DIR/remove_fake_borrows.rs:+2:9: +2:16
+ goto -> bb4; // scope 0 at $DIR/remove_fake_borrows.rs:+2:9: +2:16
2020-04-02 16:09:01 -05:00
}
bb4: {
2022-07-27 13:47:42 -05:00
- _4 = &shallow _1; // scope 0 at $DIR/remove_fake_borrows.rs:+1:11: +1:12
- _5 = &shallow (*((_1 as Some).0: &&i32)); // scope 0 at $DIR/remove_fake_borrows.rs:+1:11: +1:12
- _6 = &shallow ((_1 as Some).0: &&i32); // scope 0 at $DIR/remove_fake_borrows.rs:+1:11: +1:12
- _7 = &shallow (*(*((_1 as Some).0: &&i32))); // scope 0 at $DIR/remove_fake_borrows.rs:+1:11: +1:12
+ nop; // scope 0 at $DIR/remove_fake_borrows.rs:+1:11: +1:12
+ nop; // scope 0 at $DIR/remove_fake_borrows.rs:+1:11: +1:12
+ nop; // scope 0 at $DIR/remove_fake_borrows.rs:+1:11: +1:12
+ nop; // scope 0 at $DIR/remove_fake_borrows.rs:+1:11: +1:12
StorageLive(_8); // scope 0 at $DIR/remove_fake_borrows.rs:+2:20: +2:21
_8 = _2; // scope 0 at $DIR/remove_fake_borrows.rs:+2:20: +2:21
switchInt(move _8) -> [0: bb6, otherwise: bb5]; // scope 0 at $DIR/remove_fake_borrows.rs:+2:20: +2:21
2020-04-02 16:09:01 -05:00
}
bb5: {
2022-07-27 13:47:42 -05:00
StorageDead(_8); // scope 0 at $DIR/remove_fake_borrows.rs:+2:20: +2:21
- FakeRead(ForMatchGuard, _4); // scope 0 at $DIR/remove_fake_borrows.rs:+2:20: +2:21
- FakeRead(ForMatchGuard, _5); // scope 0 at $DIR/remove_fake_borrows.rs:+2:20: +2:21
- FakeRead(ForMatchGuard, _6); // scope 0 at $DIR/remove_fake_borrows.rs:+2:20: +2:21
- FakeRead(ForMatchGuard, _7); // scope 0 at $DIR/remove_fake_borrows.rs:+2:20: +2:21
+ nop; // scope 0 at $DIR/remove_fake_borrows.rs:+2:20: +2:21
+ nop; // scope 0 at $DIR/remove_fake_borrows.rs:+2:20: +2:21
+ nop; // scope 0 at $DIR/remove_fake_borrows.rs:+2:20: +2:21
+ nop; // scope 0 at $DIR/remove_fake_borrows.rs:+2:20: +2:21
_0 = const 0_i32; // scope 0 at $DIR/remove_fake_borrows.rs:+2:25: +2:26
goto -> bb7; // scope 0 at $DIR/remove_fake_borrows.rs:+2:25: +2:26
2020-04-02 16:09:01 -05:00
}
bb6: {
2022-07-27 13:47:42 -05:00
StorageDead(_8); // scope 0 at $DIR/remove_fake_borrows.rs:+2:20: +2:21
2022-12-16 18:00:00 -06:00
- falseEdge -> [real: bb1, imaginary: bb1]; // scope 0 at $DIR/remove_fake_borrows.rs:+2:20: +2:21
+ goto -> bb1; // scope 0 at $DIR/remove_fake_borrows.rs:+2:20: +2:21
2020-04-02 16:09:01 -05:00
}
bb7: {
2022-07-27 13:47:42 -05:00
return; // scope 0 at $DIR/remove_fake_borrows.rs:+5:2: +5:2
2020-04-02 16:09:01 -05:00
}
}