mirror of https://github.com/rust-lang/rust
61 lines
1.6 KiB
Diff
61 lines
1.6 KiB
Diff
- // MIR for `casts_before_aggregate_raw_ptr` before GVN
|
|
+ // MIR for `casts_before_aggregate_raw_ptr` after GVN
|
|
|
|
fn casts_before_aggregate_raw_ptr(_1: *const u32) -> *const [u8] {
|
|
debug x => _1;
|
|
let mut _0: *const [u8];
|
|
let _2: *const [u8; 4];
|
|
let mut _3: *const u32;
|
|
let mut _5: *const [u8; 4];
|
|
let mut _7: *const u8;
|
|
let mut _8: *const ();
|
|
scope 1 {
|
|
debug x => _2;
|
|
let _4: *const u8;
|
|
scope 2 {
|
|
debug x => _4;
|
|
let _6: *const ();
|
|
scope 3 {
|
|
debug x => _6;
|
|
}
|
|
}
|
|
}
|
|
|
|
bb0: {
|
|
- StorageLive(_2);
|
|
+ nop;
|
|
StorageLive(_3);
|
|
_3 = copy _1;
|
|
- _2 = move _3 as *const [u8; 4] (PtrToPtr);
|
|
+ _2 = copy _1 as *const [u8; 4] (PtrToPtr);
|
|
StorageDead(_3);
|
|
- StorageLive(_4);
|
|
+ nop;
|
|
StorageLive(_5);
|
|
_5 = copy _2;
|
|
- _4 = move _5 as *const u8 (PtrToPtr);
|
|
+ _4 = copy _1 as *const u8 (PtrToPtr);
|
|
StorageDead(_5);
|
|
- StorageLive(_6);
|
|
+ nop;
|
|
StorageLive(_7);
|
|
_7 = copy _4;
|
|
- _6 = move _7 as *const () (PtrToPtr);
|
|
+ _6 = copy _1 as *const () (PtrToPtr);
|
|
StorageDead(_7);
|
|
StorageLive(_8);
|
|
_8 = copy _6;
|
|
- _0 = *const [u8] from (move _8, const 4_usize);
|
|
+ _0 = *const [u8] from (copy _1, const 4_usize);
|
|
StorageDead(_8);
|
|
- StorageDead(_6);
|
|
- StorageDead(_4);
|
|
- StorageDead(_2);
|
|
+ nop;
|
|
+ nop;
|
|
+ nop;
|
|
return;
|
|
}
|
|
}
|
|
|