rust/tests/mir-opt/loop_test.main.SimplifyCfg-promote-consts.after.mir
2023-04-06 09:34:17 +01:00

53 lines
2.6 KiB
Rust

// MIR for `main` after SimplifyCfg-promote-consts
fn main() -> () {
let mut _0: (); // return place in scope 0 at $DIR/loop_test.rs:+0:11: +0:11
let _1: (); // in scope 0 at $DIR/loop_test.rs:+4:5: +6:6
let mut _2: bool; // in scope 0 at $DIR/loop_test.rs:+4:8: +4:12
let mut _3: !; // in scope 0 at $DIR/loop_test.rs:+4:13: +6:6
let mut _4: !; // in scope 0 at $DIR/loop_test.rs:+7:5: +10:6
let mut _5: (); // in scope 0 at $DIR/loop_test.rs:+0:1: +11:2
let _6: i32; // in scope 0 at $DIR/loop_test.rs:+8:13: +8:14
scope 1 {
debug x => _6; // in scope 1 at $DIR/loop_test.rs:+8:13: +8:14
}
bb0: {
StorageLive(_1); // scope 0 at $DIR/loop_test.rs:+4:5: +6:6
StorageLive(_2); // scope 0 at $DIR/loop_test.rs:+4:8: +4:12
_2 = const true; // scope 0 at $DIR/loop_test.rs:+4:8: +4:12
switchInt(move _2) -> [0: bb2, otherwise: bb1]; // scope 0 at $DIR/loop_test.rs:+4:8: +4:12
}
bb1: {
_0 = const (); // scope 0 at $DIR/loop_test.rs:+5:9: +5:15
StorageDead(_2); // scope 0 at $DIR/loop_test.rs:+6:5: +6:6
StorageDead(_1); // scope 0 at $DIR/loop_test.rs:+6:5: +6:6
return; // scope 0 at $DIR/loop_test.rs:+11:2: +11:2
}
bb2: {
_1 = const (); // scope 0 at $DIR/loop_test.rs:+6:6: +6:6
StorageDead(_2); // scope 0 at $DIR/loop_test.rs:+6:5: +6:6
StorageDead(_1); // scope 0 at $DIR/loop_test.rs:+6:5: +6:6
StorageLive(_4); // scope 0 at $DIR/loop_test.rs:+7:5: +10:6
goto -> bb3; // scope 0 at $DIR/loop_test.rs:+7:5: +10:6
}
bb3: {
falseUnwind -> [real: bb4, unwind: bb5]; // scope 0 at $DIR/loop_test.rs:+7:5: +10:6
}
bb4: {
StorageLive(_6); // scope 0 at $DIR/loop_test.rs:+8:13: +8:14
_6 = const 1_i32; // scope 0 at $DIR/loop_test.rs:+8:17: +8:18
FakeRead(ForLet(None), _6); // scope 0 at $DIR/loop_test.rs:+8:13: +8:14
StorageDead(_6); // scope 0 at $DIR/loop_test.rs:+10:5: +10:6
goto -> bb3; // scope 0 at no-location
}
bb5 (cleanup): {
resume; // scope 0 at $DIR/loop_test.rs:+0:1: +11:2
}
}