| - // MIR for `meta_of_ref_to_slice` before GVN |
| + // MIR for `meta_of_ref_to_slice` after GVN |
| |
| fn meta_of_ref_to_slice(_1: *const i32) -> usize { |
| debug x => _1; |
| let mut _0: usize; |
| let _2: *const [i32]; |
| let mut _3: *const i32; |
| let mut _4: *const [i32]; |
| scope 1 { |
| debug ptr => _2; |
| } |
| |
| bb0: { |
| - StorageLive(_2); |
| + nop; |
| StorageLive(_3); |
| _3 = copy _1; |
| - _2 = *const [i32] from (move _3, const 1_usize); |
| + _2 = *const [i32] from (copy _1, const 1_usize); |
| StorageDead(_3); |
| StorageLive(_4); |
| _4 = copy _2; |
| - _0 = PtrMetadata(move _4); |
| + _0 = const 1_usize; |
| StorageDead(_4); |
| - StorageDead(_2); |
| + nop; |
| return; |
| } |
| } |
| |