- // MIR for `slice_from_raw_parts_as_ptr` before GVN + // MIR for `slice_from_raw_parts_as_ptr` after GVN fn slice_from_raw_parts_as_ptr(_1: *const u16, _2: usize) -> (*const u16, *const f32) { debug x => _1; debug n => _2; let mut _0: (*const u16, *const f32); let _3: *const [u16]; let mut _4: *const u16; let mut _5: usize; let mut _6: *const u16; let mut _7: *const [u16]; let mut _8: *const f32; let mut _9: *const [u16]; scope 1 { debug ptr => _3; } bb0: { - StorageLive(_3); + nop; StorageLive(_4); _4 = _1; StorageLive(_5); _5 = _2; - _3 = *const [u16] from (move _4, move _5); + _3 = *const [u16] from (_1, _2); StorageDead(_5); StorageDead(_4); StorageLive(_6); StorageLive(_7); _7 = _3; - _6 = move _7 as *const u16 (PtrToPtr); + _6 = _1; StorageDead(_7); StorageLive(_8); StorageLive(_9); _9 = _3; - _8 = move _9 as *const f32 (PtrToPtr); + _8 = _1 as *const f32 (PtrToPtr); StorageDead(_9); - _0 = (move _6, move _8); + _0 = (_1, move _8); StorageDead(_8); StorageDead(_6); - StorageDead(_3); + nop; return; } }