rust/tests/mir-opt/matches_reduce_branches.mat...

73 lines
1.3 KiB
Diff

- // MIR for `match_trunc_i16_u8_failed` before MatchBranchSimplification
+ // MIR for `match_trunc_i16_u8_failed` after MatchBranchSimplification
fn match_trunc_i16_u8_failed(_1: EnumAi16) -> u8 {
debug i => _1;
let mut _0: u8;
let mut _2: i16;
bb0: {
_2 = discriminant(_1);
switchInt(move _2) -> [128: bb11, 255: bb10, 0: bb9, 1: bb8, 127: bb7, 65408: bb6, 65535: bb5, 65280: bb4, 65281: bb3, 65407: bb2, otherwise: bb1];
}
bb1: {
unreachable;
}
bb2: {
_0 = const -127_i8 as u8 (IntToInt);
goto -> bb12;
}
bb3: {
_0 = const 1_u8;
goto -> bb12;
}
bb4: {
_0 = const 0_u8;
goto -> bb12;
}
bb5: {
_0 = const u8::MAX;
goto -> bb12;
}
bb6: {
_0 = const 128_u8;
goto -> bb12;
}
bb7: {
_0 = const 127_u8;
goto -> bb12;
}
bb8: {
_0 = const 1_u8;
goto -> bb12;
}
bb9: {
_0 = const 0_u8;
goto -> bb12;
}
bb10: {
_0 = const u8::MAX;
goto -> bb12;
}
bb11: {
_0 = const 128_u8;
goto -> bb12;
}
bb12: {
return;
}
}