78 lines
1.7 KiB
Diff
78 lines
1.7 KiB
Diff
|
- // MIR for `opt5` before EarlyOtherwiseBranch
|
||
|
+ // MIR for `opt5` after EarlyOtherwiseBranch
|
||
|
|
||
|
fn opt5(_1: u32, _2: u32) -> u32 {
|
||
|
debug x => _1;
|
||
|
debug y => _2;
|
||
|
let mut _0: u32;
|
||
|
let mut _3: (u32, u32);
|
||
|
let mut _4: u32;
|
||
|
let mut _5: u32;
|
||
|
+ let mut _6: bool;
|
||
|
|
||
|
bb0: {
|
||
|
StorageLive(_3);
|
||
|
StorageLive(_4);
|
||
|
_4 = copy _1;
|
||
|
StorageLive(_5);
|
||
|
_5 = copy _2;
|
||
|
_3 = (move _4, move _5);
|
||
|
StorageDead(_5);
|
||
|
StorageDead(_4);
|
||
|
- switchInt(copy (_3.0: u32)) -> [1: bb2, 2: bb3, 3: bb4, otherwise: bb1];
|
||
|
+ StorageLive(_6);
|
||
|
+ _6 = Ne(copy (_3.0: u32), copy (_3.1: u32));
|
||
|
+ switchInt(move _6) -> [0: bb6, otherwise: bb1];
|
||
|
}
|
||
|
|
||
|
bb1: {
|
||
|
+ StorageDead(_6);
|
||
|
_0 = const 0_u32;
|
||
|
- goto -> bb8;
|
||
|
+ goto -> bb5;
|
||
|
}
|
||
|
|
||
|
bb2: {
|
||
|
- switchInt(copy (_3.1: u32)) -> [1: bb7, otherwise: bb1];
|
||
|
+ _0 = const 6_u32;
|
||
|
+ goto -> bb5;
|
||
|
}
|
||
|
|
||
|
bb3: {
|
||
|
- switchInt(copy (_3.1: u32)) -> [2: bb6, otherwise: bb1];
|
||
|
+ _0 = const 5_u32;
|
||
|
+ goto -> bb5;
|
||
|
}
|
||
|
|
||
|
bb4: {
|
||
|
- switchInt(copy (_3.1: u32)) -> [3: bb5, otherwise: bb1];
|
||
|
+ _0 = const 4_u32;
|
||
|
+ goto -> bb5;
|
||
|
}
|
||
|
|
||
|
bb5: {
|
||
|
- _0 = const 6_u32;
|
||
|
- goto -> bb8;
|
||
|
+ StorageDead(_3);
|
||
|
+ return;
|
||
|
}
|
||
|
|
||
|
bb6: {
|
||
|
- _0 = const 5_u32;
|
||
|
- goto -> bb8;
|
||
|
- }
|
||
|
-
|
||
|
- bb7: {
|
||
|
- _0 = const 4_u32;
|
||
|
- goto -> bb8;
|
||
|
- }
|
||
|
-
|
||
|
- bb8: {
|
||
|
- StorageDead(_3);
|
||
|
- return;
|
||
|
+ StorageDead(_6);
|
||
|
+ switchInt(copy (_3.0: u32)) -> [1: bb4, 2: bb3, 3: bb2, otherwise: bb1];
|
||
|
}
|
||
|
}
|
||
|
|