rust/src/test/mir-opt/not_equal_false.opt.InstCombine.diff

52 lines
3.2 KiB
Diff
Raw Normal View History

- // MIR for `opt` before InstCombine
+ // MIR for `opt` after InstCombine
fn opt(_1: Option<()>) -> bool {
debug x => _1; // in scope 0 at $DIR/not_equal_false.rs:3:8: 3:9
let mut _0: bool; // return place in scope 0 at $DIR/not_equal_false.rs:3:26: 3:30
let mut _2: bool; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
let mut _3: isize; // in scope 0 at $DIR/not_equal_false.rs:4:17: 4:21
let mut _4: bool; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
let mut _5: isize; // in scope 0 at $DIR/not_equal_false.rs:4:38: 4:45
let mut _6: isize; // in scope 0 at $DIR/not_equal_false.rs:4:17: 4:21
let mut _7: isize; // in scope 0 at $DIR/not_equal_false.rs:4:38: 4:45
let mut _8: bool; // in scope 0 at $DIR/not_equal_false.rs:4:5: 4:46
bb0: {
StorageLive(_2); // scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
_3 = discriminant(_1); // scope 0 at $DIR/not_equal_false.rs:4:17: 4:21
StorageLive(_6); // scope 0 at $DIR/not_equal_false.rs:4:17: 4:21
_6 = move _3; // scope 0 at $DIR/not_equal_false.rs:4:17: 4:21
_2 = Eq(_6, const 0_isize); // scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
StorageDead(_6); // scope 0 at $DIR/not_equal_false.rs:4:17: 4:21
switchInt(move _2) -> [false: bb2, otherwise: bb1]; // scope 0 at $DIR/not_equal_false.rs:4:5: 4:46
}
bb1: {
_0 = const true; // scope 0 at $DIR/not_equal_false.rs:4:5: 4:46
goto -> bb3; // scope 0 at $DIR/not_equal_false.rs:4:5: 4:46
}
bb2: {
StorageLive(_4); // scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
_5 = discriminant(_1); // scope 0 at $DIR/not_equal_false.rs:4:38: 4:45
StorageLive(_7); // scope 0 at $DIR/not_equal_false.rs:4:38: 4:45
_7 = move _5; // scope 0 at $DIR/not_equal_false.rs:4:38: 4:45
_4 = Eq(_7, const 1_isize); // scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
StorageDead(_7); // scope 0 at $DIR/not_equal_false.rs:4:38: 4:45
StorageLive(_8); // scope 0 at $DIR/not_equal_false.rs:4:5: 4:46
_8 = move _4; // scope 0 at $DIR/not_equal_false.rs:4:5: 4:46
- _0 = Ne(_8, const false); // scope 0 at $DIR/not_equal_false.rs:4:5: 4:46
+ _0 = _8; // scope 0 at $DIR/not_equal_false.rs:4:5: 4:46
StorageDead(_8); // scope 0 at $DIR/not_equal_false.rs:4:5: 4:46
goto -> bb3; // scope 0 at $DIR/not_equal_false.rs:4:5: 4:46
}
bb3: {
StorageDead(_4); // scope 0 at $DIR/not_equal_false.rs:4:45: 4:46
StorageDead(_2); // scope 0 at $DIR/not_equal_false.rs:4:45: 4:46
return; // scope 0 at $DIR/not_equal_false.rs:5:2: 5:2
}
}