Skip to content

Commit

Permalink
Recreate the test cases for matches_reduce_branches.rs.
Browse files Browse the repository at this point in the history
  • Loading branch information
DianQK committed Jul 7, 2024
1 parent 7770cab commit 2ae25d5
Show file tree
Hide file tree
Showing 34 changed files with 1,790 additions and 482 deletions.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
- // MIR for `match_sext_i8_i16` before MatchBranchSimplification
+ // MIR for `match_sext_i8_i16` after MatchBranchSimplification

fn match_sext_i8_i16(_1: EnumAi8) -> i16 {
debug i => _1;
let mut _0: i16;
let mut _2: i8;
+ let mut _3: i8;

bb0: {
_2 = discriminant(_1);
- switchInt(move _2) -> [128: bb3, 255: bb4, 0: bb5, 1: bb6, 127: bb2, otherwise: bb1];
- }
-
- bb1: {
- unreachable;
- }
-
- bb2: {
- _0 = const 127_i16;
- goto -> bb7;
- }
-
- bb3: {
- _0 = const -128_i16;
- goto -> bb7;
- }
-
- bb4: {
- _0 = const -1_i16;
- goto -> bb7;
- }
-
- bb5: {
- _0 = const 0_i16;
- goto -> bb7;
- }
-
- bb6: {
- _0 = const 1_i16;
- goto -> bb7;
- }
-
- bb7: {
+ StorageLive(_3);
+ _3 = move _2;
+ _0 = _3 as i16 (IntToInt);
+ StorageDead(_3);
return;
}
}

Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
- // MIR for `match_sext_i8_i16_failed` before MatchBranchSimplification
+ // MIR for `match_sext_i8_i16_failed` after MatchBranchSimplification

fn match_sext_i8_i16_failed(_1: EnumAi8) -> i16 {
debug i => _1;
let mut _0: i16;
let mut _2: i8;

bb0: {
_2 = discriminant(_1);
switchInt(move _2) -> [128: bb3, 255: bb4, 0: bb5, 1: bb6, 127: bb2, otherwise: bb1];
}

bb1: {
unreachable;
}

bb2: {
_0 = const 127_i16;
goto -> bb7;
}

bb3: {
_0 = const -128_i16;
goto -> bb7;
}

bb4: {
_0 = const 255_i16;
goto -> bb7;
}

bb5: {
_0 = const 0_i16;
goto -> bb7;
}

bb6: {
_0 = const 1_i16;
goto -> bb7;
}

bb7: {
return;
}
}

Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
- // MIR for `match_sext_i8_u16` before MatchBranchSimplification
+ // MIR for `match_sext_i8_u16` after MatchBranchSimplification

fn match_sext_i8_u16(_1: EnumAi8) -> u16 {
debug i => _1;
let mut _0: u16;
let mut _2: i8;
+ let mut _3: i8;

bb0: {
_2 = discriminant(_1);
- switchInt(move _2) -> [128: bb3, 255: bb4, 0: bb5, 1: bb6, 127: bb2, otherwise: bb1];
- }
-
- bb1: {
- unreachable;
- }
-
- bb2: {
- _0 = const 127_u16;
- goto -> bb7;
- }
-
- bb3: {
- _0 = const 65408_u16;
- goto -> bb7;
- }
-
- bb4: {
- _0 = const u16::MAX;
- goto -> bb7;
- }
-
- bb5: {
- _0 = const 0_u16;
- goto -> bb7;
- }
-
- bb6: {
- _0 = const 1_u16;
- goto -> bb7;
- }
-
- bb7: {
+ StorageLive(_3);
+ _3 = move _2;
+ _0 = _3 as u16 (IntToInt);
+ StorageDead(_3);
return;
}
}

Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
- // MIR for `match_sext_i8_u16_failed` before MatchBranchSimplification
+ // MIR for `match_sext_i8_u16_failed` after MatchBranchSimplification

fn match_sext_i8_u16_failed(_1: EnumAi8) -> u16 {
debug i => _1;
let mut _0: u16;
let mut _2: i8;

bb0: {
_2 = discriminant(_1);
switchInt(move _2) -> [128: bb3, 255: bb4, 0: bb5, 1: bb6, 127: bb2, otherwise: bb1];
}

bb1: {
unreachable;
}

bb2: {
_0 = const 127_u16;
goto -> bb7;
}

bb3: {
_0 = const 65408_u16;
goto -> bb7;
}

bb4: {
_0 = const 255_u16;
goto -> bb7;
}

bb5: {
_0 = const 0_u16;
goto -> bb7;
}

bb6: {
_0 = const 1_u16;
goto -> bb7;
}

bb7: {
return;
}
}

Loading

0 comments on commit 2ae25d5

Please sign in to comment.