blob: ffb1fe334b2016f4461bb310c61a260913c27f1e [file] [edit]
// MIR for `unaligned_copy_generic` after runtime-optimized
fn unaligned_copy_generic(_1: *const T, _2: *mut T) -> () {
debug src => _1;
debug dst => _2;
let mut _0: ();
let _5: T;
scope 1 {
debug val => _5;
scope 8 (inlined #[track_caller] write_unaligned::<T>) {
let _6: *mut std::ptr::Unaligned<T>;
scope 9 {
let _7: std::ptr::Unaligned<T>;
scope 10 {
scope 12 (inlined #[track_caller] std::ptr::write::<std::ptr::Unaligned<T>>) {
}
}
}
scope 11 (inlined std::ptr::mut_ptr::<impl *mut T>::cast::<std::ptr::Unaligned<T>>) {
}
}
}
scope 2 (inlined #[track_caller] read_unaligned::<T>) {
let _3: *const std::ptr::Unaligned<T>;
scope 3 {
let _4: std::ptr::Unaligned<T>;
scope 4 {
scope 7 (inlined transmute_neo::<std::ptr::Unaligned<T>, T>) {
}
}
scope 6 (inlined #[track_caller] std::ptr::read::<std::ptr::Unaligned<T>>) {
}
}
scope 5 (inlined std::ptr::const_ptr::<impl *const T>::cast::<std::ptr::Unaligned<T>>) {
}
}
bb0: {
StorageLive(_5);
StorageLive(_3);
_3 = copy _1 as *const std::ptr::Unaligned<T> (PtrToPtr);
StorageLive(_4);
_4 = copy (*_3);
_5 = copy _4 as T (Transmute);
StorageDead(_4);
StorageDead(_3);
StorageLive(_6);
_6 = copy _2 as *mut std::ptr::Unaligned<T> (PtrToPtr);
StorageLive(_7);
_7 = std::ptr::Unaligned::<T>(copy _5);
(*_6) = copy _7;
StorageDead(_7);
StorageDead(_6);
StorageDead(_5);
return;
}
}