rust/tests/mir-opt/reference_prop.reference_pr...

426 lines
11 KiB
Diff

- // MIR for `reference_propagation_mut_ptr` before ReferencePropagation
+ // MIR for `reference_propagation_mut_ptr` after ReferencePropagation
fn reference_propagation_mut_ptr(_1: *mut T, _2: *mut T) -> () {
debug single => _1;
debug multiple => _2;
let mut _0: ();
let _3: ();
let mut _4: usize;
let _7: ();
let mut _8: ();
let _9: ();
let mut _10: usize;
let mut _13: *mut usize;
let _15: ();
let mut _16: ();
let _17: ();
let mut _18: usize;
let _22: ();
let mut _23: &*mut usize;
let _24: ();
let mut _25: usize;
let _29: ();
let mut _30: *mut *mut usize;
let _31: ();
let mut _32: usize;
let _35: ();
let mut _36: *mut usize;
let _37: ();
let mut _38: usize;
let _44: ();
let mut _45: *mut usize;
let _46: ();
let _47: *mut T;
let _49: ();
let mut _50: ();
let _51: ();
let _52: *mut T;
let mut _53: *mut T;
let _55: ();
let mut _56: ();
let _57: ();
let mut _58: usize;
let _62: ();
let mut _63: ();
let mut _64: usize;
let _68: ();
let mut _69: ();
scope 1 {
debug a => _4;
let _5: *mut usize;
scope 2 {
debug b => _5;
let _6: usize;
scope 3 {
debug c => _6;
}
}
}
scope 4 {
debug a => _10;
let mut _11: usize;
scope 5 {
debug a2 => _11;
let mut _12: *mut usize;
scope 6 {
debug b => _12;
let _14: usize;
scope 7 {
debug c => _14;
}
}
}
}
scope 8 {
debug a => _18;
let _19: *mut usize;
scope 9 {
debug b => _19;
let _20: &*mut usize;
scope 10 {
debug d => _20;
let _21: usize;
scope 11 {
debug c => _21;
}
}
}
}
scope 12 {
debug a => _25;
let mut _26: *mut usize;
scope 13 {
debug b => _26;
let _27: *mut *mut usize;
scope 14 {
debug d => _27;
let _28: usize;
scope 15 {
debug c => _28;
}
}
}
}
scope 16 {
debug a => _32;
let _33: *mut usize;
scope 17 {
debug b => _33;
let _34: usize;
scope 18 {
debug c => _34;
}
}
}
scope 19 {
debug a => _38;
let _39: *mut usize;
scope 20 {
debug b1 => _39;
let _40: usize;
scope 21 {
debug c => _40;
let _41: *mut usize;
scope 22 {
debug b2 => _41;
let _42: usize;
scope 23 {
debug c2 => _42;
let _43: *mut usize;
scope 24 {
debug b3 => _43;
}
}
}
}
}
}
scope 25 {
- debug a => _47;
+ debug a => _1;
let _48: T;
scope 26 {
debug b => _48;
}
}
scope 27 {
debug a => _52;
let _54: T;
scope 28 {
debug b => _54;
}
}
scope 29 {
debug a => _58;
let _59: *mut usize;
scope 30 {
debug b => _59;
let _60: &*mut usize;
scope 31 {
debug d => _60;
let _61: usize;
scope 32 {
debug c => _61;
}
}
}
}
scope 33 {
debug a => _64;
let mut _65: *mut usize;
scope 34 {
debug b => _65;
let _66: &mut *mut usize;
scope 35 {
debug d => _66;
let _67: usize;
scope 36 {
debug c => _67;
}
}
}
}
bb0: {
- StorageLive(_3);
StorageLive(_4);
_4 = const 5_usize;
StorageLive(_5);
_5 = &raw mut _4;
StorageLive(_6);
- _6 = copy (*_5);
+ _6 = copy _4;
StorageLive(_7);
StorageLive(_8);
_8 = ();
_7 = opaque::<()>(move _8) -> [return: bb1, unwind continue];
}
bb1: {
StorageDead(_8);
StorageDead(_7);
- _3 = const ();
StorageDead(_6);
StorageDead(_5);
StorageDead(_4);
- StorageDead(_3);
- StorageLive(_9);
StorageLive(_10);
_10 = const 5_usize;
StorageLive(_11);
_11 = const 7_usize;
StorageLive(_12);
_12 = &raw mut _10;
StorageLive(_13);
_13 = &raw mut _11;
_12 = move _13;
StorageDead(_13);
StorageLive(_14);
_14 = copy (*_12);
StorageLive(_15);
StorageLive(_16);
_16 = ();
_15 = opaque::<()>(move _16) -> [return: bb2, unwind continue];
}
bb2: {
StorageDead(_16);
StorageDead(_15);
- _9 = const ();
StorageDead(_14);
StorageDead(_12);
StorageDead(_11);
StorageDead(_10);
- StorageDead(_9);
- StorageLive(_17);
StorageLive(_18);
_18 = const 5_usize;
StorageLive(_19);
_19 = &raw mut _18;
StorageLive(_20);
_20 = &_19;
StorageLive(_21);
_21 = copy (*_19);
StorageLive(_22);
StorageLive(_23);
_23 = copy _20;
_22 = opaque::<&*mut usize>(move _23) -> [return: bb3, unwind continue];
}
bb3: {
StorageDead(_23);
StorageDead(_22);
- _17 = const ();
StorageDead(_21);
StorageDead(_20);
StorageDead(_19);
StorageDead(_18);
- StorageDead(_17);
- StorageLive(_24);
StorageLive(_25);
_25 = const 5_usize;
StorageLive(_26);
_26 = &raw mut _25;
StorageLive(_27);
_27 = &raw mut _26;
StorageLive(_28);
_28 = copy (*_26);
StorageLive(_29);
StorageLive(_30);
_30 = copy _27;
_29 = opaque::<*mut *mut usize>(move _30) -> [return: bb4, unwind continue];
}
bb4: {
StorageDead(_30);
StorageDead(_29);
- _24 = const ();
StorageDead(_28);
StorageDead(_27);
StorageDead(_26);
StorageDead(_25);
- StorageDead(_24);
- StorageLive(_31);
StorageLive(_32);
_32 = const 7_usize;
StorageLive(_33);
_33 = &raw mut _32;
StorageLive(_34);
_34 = copy (*_33);
StorageLive(_35);
StorageLive(_36);
_36 = copy _33;
_35 = opaque::<*mut usize>(move _36) -> [return: bb5, unwind continue];
}
bb5: {
StorageDead(_36);
StorageDead(_35);
- _31 = const ();
StorageDead(_34);
StorageDead(_33);
StorageDead(_32);
- StorageDead(_31);
- StorageLive(_37);
StorageLive(_38);
_38 = const 7_usize;
StorageLive(_39);
_39 = &raw mut _38;
StorageLive(_40);
_40 = copy (*_39);
StorageLive(_41);
_41 = copy _39;
StorageLive(_42);
_42 = copy (*_41);
StorageLive(_43);
_43 = copy _41;
StorageLive(_44);
StorageLive(_45);
_45 = copy _43;
_44 = opaque::<*mut usize>(move _45) -> [return: bb6, unwind continue];
}
bb6: {
StorageDead(_45);
StorageDead(_44);
- _37 = const ();
StorageDead(_43);
StorageDead(_42);
StorageDead(_41);
StorageDead(_40);
StorageDead(_39);
StorageDead(_38);
- StorageDead(_37);
- StorageLive(_46);
- StorageLive(_47);
- _47 = &raw mut (*_1);
StorageLive(_48);
- _48 = copy (*_47);
+ _48 = copy (*_1);
StorageLive(_49);
StorageLive(_50);
_50 = ();
_49 = opaque::<()>(move _50) -> [return: bb7, unwind continue];
}
bb7: {
StorageDead(_50);
StorageDead(_49);
- _46 = const ();
StorageDead(_48);
- StorageDead(_47);
- StorageDead(_46);
- StorageLive(_51);
StorageLive(_52);
_52 = &raw mut (*_2);
StorageLive(_53);
_53 = &raw mut (*_1);
_2 = move _53;
StorageDead(_53);
StorageLive(_54);
_54 = copy (*_52);
StorageLive(_55);
StorageLive(_56);
_56 = ();
_55 = opaque::<()>(move _56) -> [return: bb8, unwind continue];
}
bb8: {
StorageDead(_56);
StorageDead(_55);
- _51 = const ();
StorageDead(_54);
StorageDead(_52);
- StorageDead(_51);
- StorageLive(_57);
StorageLive(_58);
_58 = const 5_usize;
StorageLive(_59);
_59 = &raw mut _58;
StorageLive(_60);
_60 = &_59;
StorageLive(_61);
_61 = copy (*_59);
StorageLive(_62);
StorageLive(_63);
_63 = ();
_62 = opaque::<()>(move _63) -> [return: bb9, unwind continue];
}
bb9: {
StorageDead(_63);
StorageDead(_62);
- _57 = const ();
StorageDead(_61);
StorageDead(_60);
StorageDead(_59);
StorageDead(_58);
- StorageDead(_57);
StorageLive(_64);
_64 = const 5_usize;
StorageLive(_65);
_65 = &raw mut _64;
StorageLive(_66);
_66 = &mut _65;
StorageLive(_67);
_67 = copy (*_65);
StorageLive(_68);
StorageLive(_69);
_69 = ();
_68 = opaque::<()>(move _69) -> [return: bb10, unwind continue];
}
bb10: {
StorageDead(_69);
StorageDead(_68);
_0 = const ();
StorageDead(_67);
StorageDead(_66);
StorageDead(_65);
StorageDead(_64);
return;
}
}