rust/tests/mir-opt/gvn.comparison.GVN.panic-un...

97 lines
2.5 KiB
Diff

- // MIR for `comparison` before GVN
+ // MIR for `comparison` after GVN
fn comparison(_1: u64, _2: u64) -> () {
debug x => _1;
debug y => _2;
let mut _0: ();
let _3: ();
let mut _4: bool;
let mut _5: u64;
let mut _6: u64;
let _7: ();
let mut _8: bool;
let mut _9: u64;
let mut _10: u64;
let _11: ();
let mut _12: bool;
let mut _13: u64;
let mut _14: u64;
let _15: ();
let mut _16: bool;
let mut _17: u64;
let mut _18: u64;
bb0: {
StorageLive(_3);
StorageLive(_4);
StorageLive(_5);
_5 = copy _1;
StorageLive(_6);
_6 = copy _1;
- _4 = Eq(move _5, move _6);
+ _4 = const true;
StorageDead(_6);
StorageDead(_5);
- _3 = opaque::<bool>(move _4) -> [return: bb1, unwind continue];
+ _3 = opaque::<bool>(const true) -> [return: bb1, unwind continue];
}
bb1: {
StorageDead(_4);
StorageDead(_3);
StorageLive(_7);
StorageLive(_8);
StorageLive(_9);
_9 = copy _1;
StorageLive(_10);
_10 = copy _1;
- _8 = Ne(move _9, move _10);
+ _8 = const false;
StorageDead(_10);
StorageDead(_9);
- _7 = opaque::<bool>(move _8) -> [return: bb2, unwind continue];
+ _7 = opaque::<bool>(const false) -> [return: bb2, unwind continue];
}
bb2: {
StorageDead(_8);
StorageDead(_7);
StorageLive(_11);
StorageLive(_12);
StorageLive(_13);
_13 = copy _1;
StorageLive(_14);
_14 = copy _2;
- _12 = Eq(move _13, move _14);
+ _12 = Eq(copy _1, copy _2);
StorageDead(_14);
StorageDead(_13);
_11 = opaque::<bool>(move _12) -> [return: bb3, unwind continue];
}
bb3: {
StorageDead(_12);
StorageDead(_11);
StorageLive(_15);
StorageLive(_16);
StorageLive(_17);
_17 = copy _1;
StorageLive(_18);
_18 = copy _2;
- _16 = Ne(move _17, move _18);
+ _16 = Ne(copy _1, copy _2);
StorageDead(_18);
StorageDead(_17);
_15 = opaque::<bool>(move _16) -> [return: bb4, unwind continue];
}
bb4: {
StorageDead(_16);
StorageDead(_15);
_0 = const ();
return;
}
}