48 lines
2.8 KiB
Diff
48 lines
2.8 KiB
Diff
- // MIR for `escaping` before ScalarReplacementOfAggregates
|
|
+ // MIR for `escaping` after ScalarReplacementOfAggregates
|
|
|
|
fn escaping() -> () {
|
|
let mut _0: (); // return place in scope 0 at $DIR/sroa.rs:+0:19: +0:19
|
|
let _1: (); // in scope 0 at $DIR/sroa.rs:+2:5: +2:42
|
|
let mut _2: *const u32; // in scope 0 at $DIR/sroa.rs:+2:7: +2:41
|
|
let _3: &u32; // in scope 0 at $DIR/sroa.rs:+2:7: +2:41
|
|
let _4: Escaping; // in scope 0 at $DIR/sroa.rs:+2:8: +2:39
|
|
let mut _5: u32; // in scope 0 at $DIR/sroa.rs:+2:34: +2:37
|
|
|
|
bb0: {
|
|
StorageLive(_1); // scope 0 at $DIR/sroa.rs:+2:5: +2:42
|
|
StorageLive(_2); // scope 0 at $DIR/sroa.rs:+2:7: +2:41
|
|
StorageLive(_3); // scope 0 at $DIR/sroa.rs:+2:7: +2:41
|
|
StorageLive(_4); // scope 0 at $DIR/sroa.rs:+2:8: +2:39
|
|
StorageLive(_5); // scope 0 at $DIR/sroa.rs:+2:34: +2:37
|
|
_5 = g() -> bb1; // scope 0 at $DIR/sroa.rs:+2:34: +2:37
|
|
// mir::Constant
|
|
// + span: $DIR/sroa.rs:78:34: 78:35
|
|
// + literal: Const { ty: fn() -> u32 {g}, val: Value(<ZST>) }
|
|
}
|
|
|
|
bb1: {
|
|
Deinit(_4); // scope 0 at $DIR/sroa.rs:+2:8: +2:39
|
|
(_4.0: u32) = const 1_u32; // scope 0 at $DIR/sroa.rs:+2:8: +2:39
|
|
(_4.1: u32) = const 2_u32; // scope 0 at $DIR/sroa.rs:+2:8: +2:39
|
|
(_4.2: u32) = move _5; // scope 0 at $DIR/sroa.rs:+2:8: +2:39
|
|
StorageDead(_5); // scope 0 at $DIR/sroa.rs:+2:38: +2:39
|
|
_3 = &(_4.0: u32); // scope 0 at $DIR/sroa.rs:+2:7: +2:41
|
|
_2 = &raw const (*_3); // scope 0 at $DIR/sroa.rs:+2:7: +2:41
|
|
_1 = f(move _2) -> bb2; // scope 0 at $DIR/sroa.rs:+2:5: +2:42
|
|
// mir::Constant
|
|
// + span: $DIR/sroa.rs:78:5: 78:6
|
|
// + literal: Const { ty: fn(*const u32) {f}, val: Value(<ZST>) }
|
|
}
|
|
|
|
bb2: {
|
|
StorageDead(_2); // scope 0 at $DIR/sroa.rs:+2:41: +2:42
|
|
StorageDead(_4); // scope 0 at $DIR/sroa.rs:+2:42: +2:43
|
|
StorageDead(_3); // scope 0 at $DIR/sroa.rs:+2:42: +2:43
|
|
StorageDead(_1); // scope 0 at $DIR/sroa.rs:+2:42: +2:43
|
|
_0 = const (); // scope 0 at $DIR/sroa.rs:+0:19: +3:2
|
|
return; // scope 0 at $DIR/sroa.rs:+3:2: +3:2
|
|
}
|
|
}
|
|
|