rust/tests/mir-opt/dataflow-const-prop
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
..
array_index.main.DataflowConstProp.32bit.panic-abort.diff
array_index.main.DataflowConstProp.32bit.panic-unwind.diff
array_index.main.DataflowConstProp.64bit.panic-abort.diff
array_index.main.DataflowConstProp.64bit.panic-unwind.diff
array_index.rs update misuse of check-label 2024-01-20 08:09:14 -08:00
boolean_identities.rs resolve code reviews 2024-01-11 23:22:33 -08:00
boolean_identities.test.DataflowConstProp.diff
cast.main.DataflowConstProp.diff
cast.rs Add FileCheck for array_index.rs, boolean_identities.rs and cast.rs 2024-01-07 21:16:22 -08:00
checked.main.DataflowConstProp.panic-abort.diff
checked.main.DataflowConstProp.panic-unwind.diff
checked.rs update misuse of check-label 2024-01-20 08:09:14 -08:00
default_boxed_slice.main.DataflowConstProp.32bit.panic-abort.diff Const-prop pointers. 2024-02-09 21:06:23 +00:00
default_boxed_slice.main.DataflowConstProp.32bit.panic-unwind.diff Const-prop pointers. 2024-02-09 21:06:23 +00:00
default_boxed_slice.main.DataflowConstProp.64bit.panic-abort.diff Const-prop pointers. 2024-02-09 21:06:23 +00:00
default_boxed_slice.main.DataflowConstProp.64bit.panic-unwind.diff Const-prop pointers. 2024-02-09 21:06:23 +00:00
default_boxed_slice.main.GVN.32bit.panic-abort.diff Const-prop pointers. 2024-02-09 21:06:23 +00:00
default_boxed_slice.main.GVN.32bit.panic-unwind.diff Const-prop pointers. 2024-02-09 21:06:23 +00:00
default_boxed_slice.main.GVN.64bit.panic-abort.diff Const-prop pointers. 2024-02-09 21:06:23 +00:00
default_boxed_slice.main.GVN.64bit.panic-unwind.diff Const-prop pointers. 2024-02-09 21:06:23 +00:00
default_boxed_slice.rs Const-prop pointers. 2024-02-09 21:06:23 +00:00
enum.constant.DataflowConstProp.32bit.diff Start blocks eagerly 2024-02-12 17:37:05 +01:00
enum.constant.DataflowConstProp.64bit.diff Start blocks eagerly 2024-02-12 17:37:05 +01:00
enum.multiple.DataflowConstProp.32bit.diff Start blocks eagerly 2024-02-12 17:37:05 +01:00
enum.multiple.DataflowConstProp.64bit.diff Start blocks eagerly 2024-02-12 17:37:05 +01:00
enum.mutate_discriminant.DataflowConstProp.32bit.diff
enum.mutate_discriminant.DataflowConstProp.64bit.diff
enum.rs Start blocks eagerly 2024-02-12 17:37:05 +01:00
enum.simple.DataflowConstProp.32bit.diff Start blocks eagerly 2024-02-12 17:37:05 +01:00
enum.simple.DataflowConstProp.64bit.diff Start blocks eagerly 2024-02-12 17:37:05 +01:00
enum.statics.DataflowConstProp.32bit.diff Start blocks eagerly 2024-02-12 17:37:05 +01:00
enum.statics.DataflowConstProp.64bit.diff Start blocks eagerly 2024-02-12 17:37:05 +01:00
if.main.DataflowConstProp.diff
if.rs resolve code reviews 2024-01-11 23:22:33 -08:00
inherit_overflow.main.DataflowConstProp.panic-abort.diff add track_caller for arith ops 2023-11-24 00:54:06 +08:00
inherit_overflow.main.DataflowConstProp.panic-unwind.diff add track_caller for arith ops 2023-11-24 00:54:06 +08:00
inherit_overflow.rs update misuse of check-label 2024-01-20 08:09:14 -08:00
issue_81605.f.DataflowConstProp.diff
issue_81605.rs resolve code reviews 2024-01-11 23:22:33 -08:00
large_array_index.main.DataflowConstProp.32bit.panic-abort.diff
large_array_index.main.DataflowConstProp.32bit.panic-unwind.diff
large_array_index.main.DataflowConstProp.64bit.panic-abort.diff
large_array_index.main.DataflowConstProp.64bit.panic-unwind.diff
large_array_index.rs update misuse of check-label 2024-01-20 08:09:14 -08:00
mult_by_zero.rs resolve code reviews 2024-01-11 23:22:33 -08:00
mult_by_zero.test.DataflowConstProp.diff
offset_of.concrete.DataflowConstProp.panic-abort.diff Update MIR tests for offset_of 2023-10-31 23:26:02 +00:00
offset_of.concrete.DataflowConstProp.panic-unwind.diff Update MIR tests for offset_of 2023-10-31 23:26:02 +00:00
offset_of.generic.DataflowConstProp.panic-abort.diff Update MIR tests for offset_of 2023-10-31 23:26:02 +00:00
offset_of.generic.DataflowConstProp.panic-unwind.diff Update MIR tests for offset_of 2023-10-31 23:26:02 +00:00
offset_of.rs Rollup merge of #119759 - sfzhu93:master, r=cjgillot 2024-02-04 19:42:09 +01:00
ref_without_sb.main.DataflowConstProp.panic-abort.diff
ref_without_sb.main.DataflowConstProp.panic-unwind.diff
ref_without_sb.rs resolve code reviews 2024-01-11 23:22:33 -08:00
repeat.main.DataflowConstProp.32bit.panic-abort.diff
repeat.main.DataflowConstProp.32bit.panic-unwind.diff
repeat.main.DataflowConstProp.64bit.panic-abort.diff
repeat.main.DataflowConstProp.64bit.panic-unwind.diff
repeat.rs update misuse of check-label 2024-01-20 08:09:14 -08:00
repr_transparent.main.DataflowConstProp.diff
repr_transparent.rs resolve code reviews 2024-01-11 23:22:33 -08:00
self_assign_add.main.DataflowConstProp.diff
self_assign_add.rs resolve code reviews 2024-01-11 23:22:33 -08:00
self_assign.main.DataflowConstProp.diff
self_assign.rs resolve code reviews 2024-01-11 23:22:33 -08:00
sibling_ptr.main.DataflowConstProp.panic-abort.diff Update std::simd usage and test outputs 2023-11-26 09:02:25 -05:00
sibling_ptr.main.DataflowConstProp.panic-unwind.diff Update std::simd usage and test outputs 2023-11-26 09:02:25 -05:00
sibling_ptr.rs resolve code reviews 2024-01-11 23:22:33 -08:00
slice_len.main.DataflowConstProp.32bit.panic-abort.diff
slice_len.main.DataflowConstProp.32bit.panic-unwind.diff
slice_len.main.DataflowConstProp.64bit.panic-abort.diff
slice_len.main.DataflowConstProp.64bit.panic-unwind.diff
slice_len.rs resolve code reviews 2024-01-11 23:22:33 -08:00
struct.main.DataflowConstProp.32bit.diff Add FileCheck to struct.rs 2024-01-08 20:21:06 -08:00
struct.main.DataflowConstProp.64bit.diff Add FileCheck to struct.rs 2024-01-08 20:21:06 -08:00
struct.rs resolve code reviews 2024-01-11 23:22:33 -08:00
terminator.main.DataflowConstProp.panic-abort.diff
terminator.main.DataflowConstProp.panic-unwind.diff
terminator.rs update terminator.rs 2024-01-28 22:44:32 -08:00
transmute.from_char.DataflowConstProp.32bit.diff
transmute.from_char.DataflowConstProp.64bit.diff
transmute.invalid_bool.DataflowConstProp.32bit.diff
transmute.invalid_bool.DataflowConstProp.64bit.diff
transmute.invalid_char.DataflowConstProp.32bit.diff
transmute.invalid_char.DataflowConstProp.64bit.diff
transmute.less_as_i8.DataflowConstProp.32bit.diff
transmute.less_as_i8.DataflowConstProp.64bit.diff
transmute.rs
transmute.undef_union_as_integer.DataflowConstProp.32bit.diff
transmute.undef_union_as_integer.DataflowConstProp.64bit.diff
transmute.unreachable_box.DataflowConstProp.32bit.diff Use PlaceMention for match scrutinees. 2023-10-24 15:30:17 +00:00
transmute.unreachable_box.DataflowConstProp.64bit.diff Use PlaceMention for match scrutinees. 2023-10-24 15:30:17 +00:00
transmute.unreachable_direct.DataflowConstProp.32bit.diff
transmute.unreachable_direct.DataflowConstProp.64bit.diff
transmute.unreachable_mut.DataflowConstProp.32bit.diff
transmute.unreachable_mut.DataflowConstProp.64bit.diff
transmute.unreachable_ref.DataflowConstProp.32bit.diff
transmute.unreachable_ref.DataflowConstProp.64bit.diff
transmute.valid_char.DataflowConstProp.32bit.diff
transmute.valid_char.DataflowConstProp.64bit.diff
tuple.main.DataflowConstProp.32bit.diff
tuple.main.DataflowConstProp.64bit.diff
tuple.rs resolve code reviews 2024-01-11 23:22:33 -08:00