rust/tests/mir-opt/pre-codegen
bors cfb730450f Auto merge of #115105 - cjgillot:dest-prop-default, r=oli-obk
Enable DestinationPropagation by default.

~~Based on https://github.com/rust-lang/rust/pull/115291.~~

This PR proposes to enable the destination propagation pass by default.
This pass is meant to reduce the amount of copies present in MIR.

At the same time, this PR removes the `RenameReturnPlace` pass, as it is currently unsound.
`DestinationPropagation` is not limited to `_0`, but does not handle borrowed locals.
2024-05-30 14:27:46 +00:00
..
chained_comparison.bitand.PreCodegen.after.mir Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
chained_comparison.naive.PreCodegen.after.mir update tests that are ignored by debug 2023-09-01 04:01:54 +08:00
chained_comparison.returning.PreCodegen.after.mir update tests that are ignored by debug 2023-09-01 04:01:54 +08:00
chained_comparison.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
checked_ops.checked_shl.PreCodegen.after.panic-abort.mir Add assert_unsafe_precondition to unchecked_{add,sub,neg,mul,shl,shr} methods 2024-05-23 21:02:31 -04:00
checked_ops.checked_shl.PreCodegen.after.panic-unwind.mir Add assert_unsafe_precondition to unchecked_{add,sub,neg,mul,shl,shr} methods 2024-05-23 21:02:31 -04:00
checked_ops.rs Make checked ops emit *unchecked* LLVM operations where feasible 2024-04-18 18:11:21 -07:00
checked_ops.step_forward.PreCodegen.after.panic-abort.mir Ensure [rust] debuginfo-level-std doesn't change core's MIR 2024-04-18 09:35:36 -07:00
checked_ops.step_forward.PreCodegen.after.panic-unwind.mir Ensure [rust] debuginfo-level-std doesn't change core's MIR 2024-04-18 09:35:36 -07:00
derived_ord.rs Add a MIR pre-codegen test for derived PartialOrd 2024-03-23 23:06:44 -07:00
derived_ord.{impl#0}-partial_cmp.PreCodegen.after.mir Enable DestinationPropagation by default. 2024-05-29 23:54:57 +00:00
duplicate_switch_targets.rs Enable more mir-opt tests in debug builds 2024-03-22 20:14:39 -04:00
duplicate_switch_targets.ub_if_b.PreCodegen.after.mir Remove MIR unsafe check 2024-04-03 08:50:12 +00:00
intrinsics.f_u64.PreCodegen.after.mir At debuginfo=0, don't inline debuginfo when inlining 2024-04-18 09:35:35 -07:00
intrinsics.f_unit.PreCodegen.after.mir At debuginfo=0, don't inline debuginfo when inlining 2024-04-18 09:35:35 -07:00
intrinsics.rs Remove some only- clauses from mir-opt tests 2024-03-18 10:07:43 -04:00
issue_117368_print_invalid_constant.main.GVN.32bit.panic-abort.diff At debuginfo=0, don't inline debuginfo when inlining 2024-04-18 09:35:35 -07:00
issue_117368_print_invalid_constant.main.GVN.32bit.panic-unwind.diff At debuginfo=0, don't inline debuginfo when inlining 2024-04-18 09:35:35 -07:00
issue_117368_print_invalid_constant.main.GVN.64bit.panic-abort.diff At debuginfo=0, don't inline debuginfo when inlining 2024-04-18 09:35:35 -07:00
issue_117368_print_invalid_constant.main.GVN.64bit.panic-unwind.diff At debuginfo=0, don't inline debuginfo when inlining 2024-04-18 09:35:35 -07:00
issue_117368_print_invalid_constant.rs Make ui into mir-opt test. 2023-11-01 16:49:18 +00:00
loops.filter_mapped.PreCodegen.after.mir Sandwich MIR optimizations between DSE. 2024-01-11 09:58:19 +00:00
loops.int_range.PreCodegen.after.mir Remove MIR unsafe check 2024-04-03 08:50:12 +00:00
loops.mapped.PreCodegen.after.mir Sandwich MIR optimizations between DSE. 2024-01-11 09:58:19 +00:00
loops.rs Remove some only- clauses from mir-opt tests 2024-03-18 10:07:43 -04:00
loops.vec_move.PreCodegen.after.mir make MIR less verbose 2023-08-24 14:26:26 +02:00
matches_macro.issue_77355_opt.PreCodegen.after.mir Remove ConstGoto and SeparateConstSwitch. 2024-02-09 21:13:53 +00:00
matches_macro.rs Remove ConstGoto and SeparateConstSwitch. 2024-02-09 21:13:53 +00:00
mem_replace.manual_replace.PreCodegen.after.panic-abort.mir Bless/fix tests 2024-02-08 19:56:30 -05:00
mem_replace.manual_replace.PreCodegen.after.panic-unwind.mir Bless/fix tests 2024-02-08 19:56:30 -05:00
mem_replace.mem_replace.PreCodegen.after.panic-abort.mir At debuginfo=0, don't inline debuginfo when inlining 2024-04-18 09:35:35 -07:00
mem_replace.mem_replace.PreCodegen.after.panic-unwind.mir At debuginfo=0, don't inline debuginfo when inlining 2024-04-18 09:35:35 -07:00
mem_replace.rs Enable more mir-opt tests in debug builds 2024-03-22 20:14:39 -04:00
optimizes_into_variable.main.GVN.32bit.panic-abort.diff Remove Rvalue::CheckedBinaryOp 2024-05-17 20:33:02 -07:00
optimizes_into_variable.main.GVN.32bit.panic-unwind.diff Remove Rvalue::CheckedBinaryOp 2024-05-17 20:33:02 -07:00
optimizes_into_variable.main.GVN.64bit.panic-abort.diff Remove Rvalue::CheckedBinaryOp 2024-05-17 20:33:02 -07:00
optimizes_into_variable.main.GVN.64bit.panic-unwind.diff Remove Rvalue::CheckedBinaryOp 2024-05-17 20:33:02 -07:00
optimizes_into_variable.main.PreCodegen.after.32bit.panic-abort.mir Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
optimizes_into_variable.main.PreCodegen.after.32bit.panic-unwind.mir Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
optimizes_into_variable.main.PreCodegen.after.64bit.panic-abort.mir Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
optimizes_into_variable.main.PreCodegen.after.64bit.panic-unwind.mir Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
optimizes_into_variable.main.ScalarReplacementOfAggregates.32bit.panic-abort.diff Remove Rvalue::CheckedBinaryOp 2024-05-17 20:33:02 -07:00
optimizes_into_variable.main.ScalarReplacementOfAggregates.32bit.panic-unwind.diff Remove Rvalue::CheckedBinaryOp 2024-05-17 20:33:02 -07:00
optimizes_into_variable.main.ScalarReplacementOfAggregates.64bit.panic-abort.diff Remove Rvalue::CheckedBinaryOp 2024-05-17 20:33:02 -07:00
optimizes_into_variable.main.ScalarReplacementOfAggregates.64bit.panic-unwind.diff Remove Rvalue::CheckedBinaryOp 2024-05-17 20:33:02 -07:00
optimizes_into_variable.main.SimplifyLocals-final.after.32bit.panic-abort.mir Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
optimizes_into_variable.main.SimplifyLocals-final.after.32bit.panic-unwind.mir Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
optimizes_into_variable.main.SimplifyLocals-final.after.64bit.panic-abort.mir Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
optimizes_into_variable.main.SimplifyLocals-final.after.64bit.panic-unwind.mir Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
optimizes_into_variable.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
ptr_offset.demo_byte_add_fat.PreCodegen.after.panic-abort.mir [ACP 362] genericize ptr::from_raw_parts 2024-05-29 09:34:16 -07:00
ptr_offset.demo_byte_add_fat.PreCodegen.after.panic-unwind.mir [ACP 362] genericize ptr::from_raw_parts 2024-05-29 09:34:16 -07:00
ptr_offset.demo_byte_add_thin.PreCodegen.after.panic-abort.mir [ACP 362] genericize ptr::from_raw_parts 2024-05-29 09:34:16 -07:00
ptr_offset.demo_byte_add_thin.PreCodegen.after.panic-unwind.mir [ACP 362] genericize ptr::from_raw_parts 2024-05-29 09:34:16 -07:00
ptr_offset.rs Add a mir-opt test for byte_add on pointers 2024-04-21 11:08:36 -07:00
range_iter.forward_loop.PreCodegen.after.panic-abort.mir Enable DestinationPropagation by default. 2024-05-29 23:54:57 +00:00
range_iter.forward_loop.PreCodegen.after.panic-unwind.mir Enable DestinationPropagation by default. 2024-05-29 23:54:57 +00:00
range_iter.inclusive_loop.PreCodegen.after.panic-abort.mir At debuginfo=0, don't inline debuginfo when inlining 2024-04-18 09:35:35 -07:00
range_iter.inclusive_loop.PreCodegen.after.panic-unwind.mir At debuginfo=0, don't inline debuginfo when inlining 2024-04-18 09:35:35 -07:00
range_iter.range_inclusive_iter_next.PreCodegen.after.panic-abort.mir At debuginfo=0, don't inline debuginfo when inlining 2024-04-18 09:35:35 -07:00
range_iter.range_inclusive_iter_next.PreCodegen.after.panic-unwind.mir At debuginfo=0, don't inline debuginfo when inlining 2024-04-18 09:35:35 -07:00
range_iter.range_iter_next.PreCodegen.after.panic-abort.mir At debuginfo=0, don't inline debuginfo when inlining 2024-04-18 09:35:35 -07:00
range_iter.range_iter_next.PreCodegen.after.panic-unwind.mir At debuginfo=0, don't inline debuginfo when inlining 2024-04-18 09:35:35 -07:00
range_iter.rs Remove some only- clauses from mir-opt tests 2024-03-18 10:07:43 -04:00
README.md Add mir-opt tests to track MIR quality. 2023-04-23 17:10:53 +00:00
simple_option_map.ezmap.PreCodegen.after.mir At debuginfo=0, don't inline debuginfo when inlining 2024-04-18 09:35:35 -07:00
simple_option_map.rs Remove some only- clauses from mir-opt tests 2024-03-18 10:07:43 -04:00
slice_filter.rs Ignore less tests in debug builds 2024-02-23 18:04:01 -05:00
slice_filter.variant_a-{closure#0}.PreCodegen.after.mir Merge borrowed locals too. 2024-04-20 19:20:38 +00:00
slice_filter.variant_b-{closure#0}.PreCodegen.after.mir Ignore less tests in debug builds 2024-02-23 18:04:01 -05:00
slice_index.rs New slice indexing pre-codegen MIR test 2024-04-21 11:08:36 -07:00
slice_index.slice_get_mut_usize.PreCodegen.after.panic-abort.mir At debuginfo=0, don't inline debuginfo when inlining 2024-04-18 09:35:35 -07:00
slice_index.slice_get_mut_usize.PreCodegen.after.panic-unwind.mir At debuginfo=0, don't inline debuginfo when inlining 2024-04-18 09:35:35 -07:00
slice_index.slice_get_unchecked_mut_range.PreCodegen.after.panic-abort.mir Add assert_unsafe_precondition to unchecked_{add,sub,neg,mul,shl,shr} methods 2024-05-23 21:02:31 -04:00
slice_index.slice_get_unchecked_mut_range.PreCodegen.after.panic-unwind.mir Add assert_unsafe_precondition to unchecked_{add,sub,neg,mul,shl,shr} methods 2024-05-23 21:02:31 -04:00
slice_index.slice_index_range.PreCodegen.after.panic-abort.mir At debuginfo=0, don't inline debuginfo when inlining 2024-04-18 09:35:35 -07:00
slice_index.slice_index_range.PreCodegen.after.panic-unwind.mir At debuginfo=0, don't inline debuginfo when inlining 2024-04-18 09:35:35 -07:00
slice_index.slice_index_usize.PreCodegen.after.panic-abort.mir Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
slice_index.slice_index_usize.PreCodegen.after.panic-unwind.mir Bless tests 2023-06-23 18:36:25 +01:00
slice_index.slice_ptr_get_unchecked_range.PreCodegen.after.panic-abort.mir Add assert_unsafe_precondition to unchecked_{add,sub,neg,mul,shl,shr} methods 2024-05-23 21:02:31 -04:00
slice_index.slice_ptr_get_unchecked_range.PreCodegen.after.panic-unwind.mir Add assert_unsafe_precondition to unchecked_{add,sub,neg,mul,shl,shr} methods 2024-05-23 21:02:31 -04:00
slice_iter.enumerated_loop.PreCodegen.after.panic-abort.mir Enable DestinationPropagation by default. 2024-05-29 23:54:57 +00:00
slice_iter.enumerated_loop.PreCodegen.after.panic-unwind.mir Enable DestinationPropagation by default. 2024-05-29 23:54:57 +00:00
slice_iter.forward_loop.PreCodegen.after.panic-abort.mir Enable DestinationPropagation by default. 2024-05-29 23:54:57 +00:00
slice_iter.forward_loop.PreCodegen.after.panic-unwind.mir Enable DestinationPropagation by default. 2024-05-29 23:54:57 +00:00
slice_iter.range_loop.PreCodegen.after.panic-abort.mir Enable DestinationPropagation by default. 2024-05-29 23:54:57 +00:00
slice_iter.range_loop.PreCodegen.after.panic-unwind.mir Enable DestinationPropagation by default. 2024-05-29 23:54:57 +00:00
slice_iter.reverse_loop.PreCodegen.after.panic-abort.mir Enable DestinationPropagation by default. 2024-05-29 23:54:57 +00:00
slice_iter.reverse_loop.PreCodegen.after.panic-unwind.mir Enable DestinationPropagation by default. 2024-05-29 23:54:57 +00:00
slice_iter.rs Enable more mir-opt tests in debug builds 2024-03-22 20:14:39 -04:00
slice_iter.slice_iter_mut_next_back.PreCodegen.after.panic-abort.mir Turn copy into moves during DSE. 2023-07-19 09:59:12 +00:00
slice_iter.slice_iter_mut_next_back.PreCodegen.after.panic-unwind.mir Turn copy into moves during DSE. 2023-07-19 09:59:12 +00:00
slice_iter.slice_iter_next.PreCodegen.after.panic-abort.mir Turn copy into moves during DSE. 2023-07-19 09:59:12 +00:00
slice_iter.slice_iter_next.PreCodegen.after.panic-unwind.mir Turn copy into moves during DSE. 2023-07-19 09:59:12 +00:00
spans.outer.PreCodegen.after.panic-abort.mir Allow to run filecheck in mir-opt tests. 2023-10-19 15:51:52 +00:00
spans.outer.PreCodegen.after.panic-unwind.mir Allow to run filecheck in mir-opt tests. 2023-10-19 15:51:52 +00:00
spans.rs At debuginfo=0, don't inline debuginfo when inlining 2024-04-18 09:35:35 -07:00
try_identity.new.PreCodegen.after.mir Enable by default. 2024-02-09 21:13:51 +00:00
try_identity.old.PreCodegen.after.mir Sandwich MIR optimizations between DSE. 2024-01-11 09:58:19 +00:00
try_identity.rs Remove some only- clauses from mir-opt tests 2024-03-18 10:07:43 -04:00
vec_deref.rs Add a MIR pre-codegen test for Vec::deref 2024-04-21 11:08:36 -07:00
vec_deref.vec_deref_to_slice.PreCodegen.after.panic-abort.mir [ACP 362] genericize ptr::from_raw_parts 2024-05-29 09:34:16 -07:00
vec_deref.vec_deref_to_slice.PreCodegen.after.panic-unwind.mir [ACP 362] genericize ptr::from_raw_parts 2024-05-29 09:34:16 -07:00

The goal of this directory is to track the quality of MIR that is given to codegen in a standard -O condiguration.

As such, feel free to --bless whatever changes you get here, so long as doing so doesn't add substantially more MIR.