| // MIR for `mem_replace` after PreCodegen |
| |
| fn mem_replace(_1: &mut u32, _2: u32) -> u32 { |
| debug r => _1; |
| debug v => _2; |
| let mut _0: u32; |
| scope 1 (inlined std::mem::replace::<u32>) { |
| debug dest => _1; |
| debug src => _2; |
| scope 2 { |
| scope 3 { |
| debug result => _0; |
| scope 16 (inlined std::ptr::write::<u32>) { |
| debug dst => _1; |
| debug src => _2; |
| scope 17 { |
| } |
| } |
| } |
| scope 4 (inlined std::ptr::read::<u32>) { |
| debug src => _1; |
| scope 5 { |
| scope 6 (inlined std::ptr::read::runtime::<u32>) { |
| debug src => _1; |
| scope 7 (inlined intrinsics::is_aligned_and_not_null::<u32>) { |
| debug ptr => _1; |
| scope 8 (inlined ptr::const_ptr::<impl *const u32>::is_null) { |
| debug self => _1; |
| let mut _3: *const u8; |
| scope 9 { |
| scope 10 (inlined ptr::const_ptr::<impl *const T>::is_null::runtime_impl) { |
| debug ptr => _3; |
| scope 11 (inlined ptr::const_ptr::<impl *const u8>::addr) { |
| debug self => _3; |
| scope 12 { |
| scope 13 (inlined ptr::const_ptr::<impl *const u8>::cast::<()>) { |
| debug self => _3; |
| } |
| } |
| } |
| } |
| } |
| } |
| scope 14 (inlined ptr::const_ptr::<impl *const u32>::is_aligned) { |
| debug self => _1; |
| scope 15 (inlined align_of::<u32>) { |
| } |
| } |
| } |
| } |
| } |
| } |
| } |
| } |
| |
| bb0: { |
| StorageLive(_3); |
| _0 = (*_1); |
| StorageDead(_3); |
| (*_1) = _2; |
| return; |
| } |
| } |