1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
|
- // MIR for `f_copy_nonoverlapping` before LowerIntrinsics
+ // MIR for `f_copy_nonoverlapping` after LowerIntrinsics
fn f_copy_nonoverlapping() -> () {
let mut _0: ();
let _1: ();
let _3: ();
let mut _4: *const i32;
let mut _5: *const ();
let mut _6: *const ();
let _7: &();
let mut _8: *mut i32;
let mut _9: *mut ();
let mut _10: *mut ();
let mut _11: &mut ();
scope 1 {
debug src => _1;
let mut _2: ();
scope 2 {
debug dst => _2;
}
}
bb0: {
StorageLive(_1);
_1 = ();
StorageLive(_2);
_2 = ();
StorageLive(_3);
StorageLive(_4);
StorageLive(_5);
StorageLive(_6);
StorageLive(_7);
_7 = &_1;
_6 = &raw const (*_7);
_5 = copy _6;
_4 = move _5 as *const i32 (PtrToPtr);
StorageDead(_5);
StorageLive(_8);
StorageLive(_9);
StorageLive(_10);
StorageLive(_11);
_11 = &mut _2;
_10 = &raw mut (*_11);
_9 = copy _10;
_8 = move _9 as *mut i32 (PtrToPtr);
StorageDead(_9);
- _3 = copy_nonoverlapping::<i32>(move _4, move _8, const 0_usize) -> [return: bb1, unwind unreachable];
+ copy_nonoverlapping(dst = move _8, src = move _4, count = const 0_usize);
+ goto -> bb1;
}
bb1: {
StorageDead(_8);
StorageDead(_4);
StorageDead(_11);
StorageDead(_10);
StorageDead(_7);
StorageDead(_6);
StorageDead(_3);
_0 = const ();
StorageDead(_2);
StorageDead(_1);
return;
}
}
|