rust/tests/mir-opt/gvn.generic_cast_metadata.G...

39 lines
1.3 KiB
Diff

- // MIR for `generic_cast_metadata` before GVN
+ // MIR for `generic_cast_metadata` after GVN
fn generic_cast_metadata(_1: *const [T], _2: *const A, _3: *const B) -> () {
let mut _0: ();
let mut _4: *const T;
let mut _5: ();
let mut _6: *const (&A, [T]);
let mut _7: usize;
let mut _8: *const (T, B);
let mut _9: <B as std::ptr::Pointee>::Metadata;
let mut _10: *const (T, A);
let mut _11: <A as std::ptr::Pointee>::Metadata;
let mut _12: *mut A;
let mut _13: <A as std::ptr::Pointee>::Metadata;
let mut _14: *mut B;
let mut _15: <B as std::ptr::Pointee>::Metadata;
bb0: {
_4 = copy _1 as *const T (PtrToPtr);
_5 = PtrMetadata(copy _4);
_6 = copy _1 as *const (&A, [T]) (PtrToPtr);
- _7 = PtrMetadata(copy _6);
+ _7 = PtrMetadata(copy _1);
_8 = copy _2 as *const (T, B) (PtrToPtr);
_9 = PtrMetadata(copy _8);
_10 = copy _2 as *const (T, A) (PtrToPtr);
- _11 = PtrMetadata(copy _10);
+ _11 = PtrMetadata(copy _2);
_12 = copy _3 as *mut A (PtrToPtr);
_13 = PtrMetadata(copy _12);
_14 = copy _3 as *mut B (PtrToPtr);
- _15 = PtrMetadata(copy _14);
+ _15 = PtrMetadata(copy _3);
return;
}
}