diff --git a/src/test/mir-opt/simple-match.rs b/src/test/mir-opt/simple-match.rs new file mode 100644 index 0000000000000..fc1a3bb1bf453 --- /dev/null +++ b/src/test/mir-opt/simple-match.rs @@ -0,0 +1,39 @@ +// Test that we don't generate unnecessarily large MIR for very simple matches + +fn match_bool(x: bool) -> usize { + match x { + true => 10, + _ => 20, + } +} + +fn main() {} + + +// END RUST SOURCE +// START rustc.match_bool.mir_map.0.mir +// bb0: { +// FakeRead(ForMatchedPlace, _1); +// switchInt(_1) -> [false: bb3, otherwise: bb2]; +// } +// bb1 (cleanup): { +// resume; +// } +// bb2: { +// falseEdges -> [real: bb4, imaginary: bb3]; +// } +// bb3: { +// _0 = const 20usize; +// goto -> bb5; +// } +// bb4: { +// _0 = const 10usize; +// goto -> bb5; +// } +// bb5: { +// goto -> bb6; +// } +// bb6: { +// return; +// } +// END rustc.match_bool.mir_map.0.mir