granite-rust/compiler/rustc_mir_build
Matthias Krüger b785fdb80b
Rollup merge of #120978 - Nadrieril:sane-blocks, r=matthewjasper
match lowering: simplify block creation

Match lowering was doing complicated things with block creation. As far as I can tell it was trying to avoid creating unneeded blocks, but of the three places that start out with `otherwise = &mut None`, two of them called `otherwise.unwrap_or_else(|| self.cfg.start_new_block())` anyway. As far as I can tell the only place where this PR makes a difference is in `lower_match_tree`, which did indeed sometimes avoid creating the unreachable final block + FakeRead. Unless this is important I propose we do the naive thing instead.

I have not checked all the graph isomorphisms by hand, but at a glance the test diff looks sensible.

r? `@matthewjasper`
2024-02-13 17:38:11 +01:00
..
src Rollup merge of #120978 - Nadrieril:sane-blocks, r=matthewjasper 2024-02-13 17:38:11 +01:00
Cargo.toml Use zip_eq to enforce that things being zipped have equal sizes 2024-01-14 20:01:12 +00:00
messages.ftl remove illegal_floating_point_literal_pattern lint 2024-01-26 17:25:02 +01:00