rust/tests/mir-opt/pre-codegen
Scott McMurray 23c8ed14c9 Avoid MIR bloat in inlining
In 126578 we ended up with more binary size increases than expected.

This change attempts to avoid inlining large things into small things, to avoid that kind of increase, in cases when top-down inlining will still be able to do that inlining later.
2024-07-01 05:17:13 -07: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 Also get add nuw from uN::checked_add 2024-06-23 13:29:06 -07:00
checked_ops.step_forward.PreCodegen.after.panic-unwind.mir Also get add nuw from uN::checked_add 2024-06-23 13:29:06 -07:00
derived_ord.{impl#0}-partial_cmp.PreCodegen.after.mir Revert "Auto merge of #115105 - cjgillot:dest-prop-default, r=oli-obk" 2024-05-31 00:22:40 +00:00
derived_ord.rs Add a MIR pre-codegen test for derived PartialOrd 2024-03-23 23:06:44 -07: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 rustfmt tests/mir-opt. 2024-06-03 14:17:16 +10:00
issue_117368_print_invalid_constant.main.GVN.32bit.panic-abort.diff Add SingleUseConsts mir-opt pass 2024-06-10 00:06:02 -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 Add SingleUseConsts mir-opt pass 2024-06-10 00:06:02 -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 Give inlining bonuses to things that optimize out 2024-06-19 21:35:37 -07: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 rustfmt tests/mir-opt. 2024-06-03 14:17:16 +10:00
ptr_offset.demo_byte_add_fat.PreCodegen.after.panic-abort.mir Enable GVN for AggregateKind::RawPtr & UnOp::PtrMetadata 2024-06-06 00:25:58 -07:00
ptr_offset.demo_byte_add_fat.PreCodegen.after.panic-unwind.mir Enable GVN for AggregateKind::RawPtr & UnOp::PtrMetadata 2024-06-06 00:25:58 -07:00
ptr_offset.demo_byte_add_thin.PreCodegen.after.panic-abort.mir Enable GVN for AggregateKind::RawPtr & UnOp::PtrMetadata 2024-06-06 00:25:58 -07:00
ptr_offset.demo_byte_add_thin.PreCodegen.after.panic-unwind.mir Enable GVN for AggregateKind::RawPtr & UnOp::PtrMetadata 2024-06-06 00:25:58 -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 Revert "Auto merge of #115105 - cjgillot:dest-prop-default, r=oli-obk" 2024-05-31 00:22:40 +00:00
range_iter.forward_loop.PreCodegen.after.panic-unwind.mir Revert "Auto merge of #115105 - cjgillot:dest-prop-default, r=oli-obk" 2024-05-31 00:22:40 +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 Replace NormalizeArrayLen with GVN 2024-06-20 22:16:59 -07:00
slice_index.slice_get_mut_usize.PreCodegen.after.panic-abort.mir Replace NormalizeArrayLen with GVN 2024-06-20 22:16:59 -07:00
slice_index.slice_get_mut_usize.PreCodegen.after.panic-unwind.mir Replace NormalizeArrayLen with GVN 2024-06-20 22:16:59 -07:00
slice_index.slice_get_unchecked_mut_range.PreCodegen.after.panic-abort.mir More GVN for PtrMetadata 2024-06-20 22:16:59 -07:00
slice_index.slice_get_unchecked_mut_range.PreCodegen.after.panic-unwind.mir More GVN for PtrMetadata 2024-06-20 22:16:59 -07: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 Redo SliceIndex implementations 2024-06-15 17:39:25 -07:00
slice_index.slice_ptr_get_unchecked_range.PreCodegen.after.panic-unwind.mir Redo SliceIndex implementations 2024-06-15 17:39:25 -07:00
slice_iter.enumerated_loop.PreCodegen.after.panic-abort.mir Replace NormalizeArrayLen with GVN 2024-06-20 22:16:59 -07:00
slice_iter.enumerated_loop.PreCodegen.after.panic-unwind.mir Replace NormalizeArrayLen with GVN 2024-06-20 22:16:59 -07:00
slice_iter.forward_loop.PreCodegen.after.panic-abort.mir Replace NormalizeArrayLen with GVN 2024-06-20 22:16:59 -07:00
slice_iter.forward_loop.PreCodegen.after.panic-unwind.mir Replace NormalizeArrayLen with GVN 2024-06-20 22:16:59 -07:00
slice_iter.range_loop.PreCodegen.after.panic-abort.mir Replace NormalizeArrayLen with GVN 2024-06-20 22:16:59 -07:00
slice_iter.range_loop.PreCodegen.after.panic-unwind.mir Replace NormalizeArrayLen with GVN 2024-06-20 22:16:59 -07:00
slice_iter.reverse_loop.PreCodegen.after.panic-abort.mir Avoid MIR bloat in inlining 2024-07-01 05:17:13 -07:00
slice_iter.reverse_loop.PreCodegen.after.panic-unwind.mir Avoid MIR bloat in inlining 2024-07-01 05:17:13 -07:00
slice_iter.rs Make MIR inlining costs in build-std independent of config.toml 2024-06-23 01:48:41 -07:00
slice_iter.slice_iter_generic_is_empty.PreCodegen.after.panic-abort.mir GVN away PtrToPtr-then-Transmute when possible 2024-06-22 20:34:09 -07:00
slice_iter.slice_iter_generic_is_empty.PreCodegen.after.panic-unwind.mir GVN away PtrToPtr-then-Transmute when possible 2024-06-22 20:34:09 -07:00
slice_iter.slice_iter_mut_next_back.PreCodegen.after.panic-abort.mir Avoid MIR bloat in inlining 2024-07-01 05:17:13 -07:00
slice_iter.slice_iter_mut_next_back.PreCodegen.after.panic-unwind.mir Avoid MIR bloat in inlining 2024-07-01 05:17:13 -07: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 rustfmt tests/mir-opt. 2024-06-03 14:17:16 +10: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.