rust/src/test/mir-opt/packed-struct-drop-aligned/rustc.main.SimplifyCfg-elaborate-drops.after.mir

68 lines
4.7 KiB
Plaintext
Raw Normal View History

2020-04-02 21:09:01 +00:00
// MIR for `main` after SimplifyCfg-elaborate-drops
fn main() -> () {
let mut _0: (); // return place in scope 0 at $DIR/packed-struct-drop-aligned.rs:4:11: 4:11
let mut _1: Packed; // in scope 0 at $DIR/packed-struct-drop-aligned.rs:5:9: 5:14
let mut _2: Aligned; // in scope 0 at $DIR/packed-struct-drop-aligned.rs:5:24: 5:42
let mut _3: Droppy; // in scope 0 at $DIR/packed-struct-drop-aligned.rs:5:32: 5:41
let mut _4: Aligned; // in scope 0 at $DIR/packed-struct-drop-aligned.rs:6:11: 6:29
let mut _5: Droppy; // in scope 0 at $DIR/packed-struct-drop-aligned.rs:6:19: 6:28
let mut _6: Aligned; // in scope 0 at $DIR/packed-struct-drop-aligned.rs:6:5: 6:8
scope 1 {
debug x => _1; // in scope 1 at $DIR/packed-struct-drop-aligned.rs:5:9: 5:14
}
bb0: {
StorageLive(_1); // bb0[0]: scope 0 at $DIR/packed-struct-drop-aligned.rs:5:9: 5:14
StorageLive(_2); // bb0[1]: scope 0 at $DIR/packed-struct-drop-aligned.rs:5:24: 5:42
StorageLive(_3); // bb0[2]: scope 0 at $DIR/packed-struct-drop-aligned.rs:5:32: 5:41
_3 = Droppy(const 0usize,); // bb0[3]: scope 0 at $DIR/packed-struct-drop-aligned.rs:5:32: 5:41
// ty::Const
// + ty: usize
// + val: Value(Scalar(0x0000000000000000))
// mir::Constant
// + span: $DIR/packed-struct-drop-aligned.rs:5:39: 5:40
// + literal: Const { ty: usize, val: Value(Scalar(0x0000000000000000)) }
_2 = Aligned(move _3,); // bb0[4]: scope 0 at $DIR/packed-struct-drop-aligned.rs:5:24: 5:42
StorageDead(_3); // bb0[5]: scope 0 at $DIR/packed-struct-drop-aligned.rs:5:41: 5:42
_1 = Packed(move _2,); // bb0[6]: scope 0 at $DIR/packed-struct-drop-aligned.rs:5:17: 5:43
StorageDead(_2); // bb0[7]: scope 0 at $DIR/packed-struct-drop-aligned.rs:5:42: 5:43
StorageLive(_4); // bb0[8]: scope 1 at $DIR/packed-struct-drop-aligned.rs:6:11: 6:29
StorageLive(_5); // bb0[9]: scope 1 at $DIR/packed-struct-drop-aligned.rs:6:19: 6:28
_5 = Droppy(const 0usize,); // bb0[10]: scope 1 at $DIR/packed-struct-drop-aligned.rs:6:19: 6:28
// ty::Const
// + ty: usize
// + val: Value(Scalar(0x0000000000000000))
// mir::Constant
// + span: $DIR/packed-struct-drop-aligned.rs:6:26: 6:27
// + literal: Const { ty: usize, val: Value(Scalar(0x0000000000000000)) }
_4 = Aligned(move _5,); // bb0[11]: scope 1 at $DIR/packed-struct-drop-aligned.rs:6:11: 6:29
StorageDead(_5); // bb0[12]: scope 1 at $DIR/packed-struct-drop-aligned.rs:6:28: 6:29
StorageLive(_6); // bb0[13]: scope 1 at $DIR/packed-struct-drop-aligned.rs:6:5: 6:8
_6 = move (_1.0: Aligned); // bb0[14]: scope 1 at $DIR/packed-struct-drop-aligned.rs:6:5: 6:8
drop(_6) -> [return: bb4, unwind: bb3]; // bb0[15]: scope 1 at $DIR/packed-struct-drop-aligned.rs:6:5: 6:8
}
bb1 (cleanup): {
resume; // bb1[0]: scope 0 at $DIR/packed-struct-drop-aligned.rs:4:1: 7:2
}
bb2: {
StorageDead(_1); // bb2[0]: scope 0 at $DIR/packed-struct-drop-aligned.rs:7:1: 7:2
return; // bb2[1]: scope 0 at $DIR/packed-struct-drop-aligned.rs:7:2: 7:2
}
bb3 (cleanup): {
(_1.0: Aligned) = move _4; // bb3[0]: scope 1 at $DIR/packed-struct-drop-aligned.rs:6:5: 6:8
drop(_1) -> bb1; // bb3[1]: scope 0 at $DIR/packed-struct-drop-aligned.rs:7:1: 7:2
}
bb4: {
StorageDead(_6); // bb4[0]: scope 1 at $DIR/packed-struct-drop-aligned.rs:6:5: 6:8
(_1.0: Aligned) = move _4; // bb4[1]: scope 1 at $DIR/packed-struct-drop-aligned.rs:6:5: 6:8
StorageDead(_4); // bb4[2]: scope 1 at $DIR/packed-struct-drop-aligned.rs:6:28: 6:29
_0 = (); // bb4[3]: scope 0 at $DIR/packed-struct-drop-aligned.rs:4:11: 7:2
drop(_1) -> [return: bb2, unwind: bb1]; // bb4[4]: scope 0 at $DIR/packed-struct-drop-aligned.rs:7:1: 7:2
}
}