rust/tests/mir-opt/pre-codegen
Stuart Cook fe644eb01c
Rollup merge of #144875 - scottmcm:more-mir-tests, r=cjgillot
Add some pre-codegen MIR tests for debug mode

No functional changes; just some tests.

I made these for rust-lang/rust#144483, but that's going in a different direction, so I wanted to propose we just add them to help see the impact of other related changes in the future.

r? mir
2025-08-04 14:58:09 +10:00
..
chained_comparison.bitand.PreCodegen.after.mir Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
chained_comparison.naive.PreCodegen.after.mir Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
chained_comparison.returning.PreCodegen.after.mir Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07: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 some track_caller info to precondition panics 2025-05-21 09:10:06 -04:00
checked_ops.checked_shl.PreCodegen.after.panic-unwind.mir Add some track_caller info to precondition panics 2025-05-21 09:10:06 -04:00
checked_ops.rs Add MIR pre-codegen tests to track 138544 2025-03-15 14:13:37 -07:00
checked_ops.saturating_sub_at_home.PreCodegen.after.panic-abort.mir Add MIR pre-codegen tests to track 138544 2025-03-15 14:13:37 -07:00
checked_ops.saturating_sub_at_home.PreCodegen.after.panic-unwind.mir Add MIR pre-codegen tests to track 138544 2025-03-15 14:13:37 -07:00
checked_ops.step_forward.PreCodegen.after.panic-abort.mir Update mir-opt expected output for matches! macro 2025-07-25 22:34:55 +02:00
checked_ops.step_forward.PreCodegen.after.panic-unwind.mir Update mir-opt expected output for matches! macro 2025-07-25 22:34:55 +02:00
checked_ops.use_checked_sub.PreCodegen.after.panic-abort.mir Add MIR pre-codegen tests to track 138544 2025-03-15 14:13:37 -07:00
checked_ops.use_checked_sub.PreCodegen.after.panic-unwind.mir Add MIR pre-codegen tests to track 138544 2025-03-15 14:13:37 -07:00
clone_as_copy.clone_as_copy.PreCodegen.after.mir Simplify the canonical clone method to copy 2024-09-14 13:30:35 +08:00
clone_as_copy.enum_clone_as_copy.PreCodegen.after.mir Simplify the canonical clone method to copy 2024-09-14 13:30:35 +08:00
clone_as_copy.rs Remove unsound-mir-opts for simplify_aggregate_to_copy 2025-04-03 21:59:43 +08:00
deref_nested_borrows.rs Revert "comment out the old tests instead of adjusting them" 2025-04-02 19:59:26 +08:00
deref_nested_borrows.src.GVN.panic-abort.diff Do not unify dereferences in GVN. 2024-11-25 20:19:08 +01:00
deref_nested_borrows.src.GVN.panic-unwind.diff Do not unify dereferences in GVN. 2024-11-25 20:19:08 +01:00
deref_nested_borrows.src.PreCodegen.after.panic-abort.mir Do not unify dereferences in GVN. 2024-11-25 20:19:08 +01:00
deref_nested_borrows.src.PreCodegen.after.panic-unwind.mir Do not unify dereferences in GVN. 2024-11-25 20:19:08 +01:00
derived_ord.demo_le.PreCodegen.after.mir Allow GVN to produce places and not just locals. 2025-04-04 10:55:36 +00:00
derived_ord.rs Make is_le and friends work like clang's 2025-03-05 21:58:46 -08:00
derived_ord.{impl#0}-partial_cmp.PreCodegen.after.mir Make is_le and friends work like clang's 2025-03-05 21:58:46 -08:00
derived_ord_debug.rs Add a mir-opt test for *debug* MIR from derive(PartialOrd, Ord) 2025-08-03 17:30:40 -07:00
derived_ord_debug.{impl#0}-partial_cmp.PreCodegen.after.panic-abort.mir Add a mir-opt test for *debug* MIR from derive(PartialOrd, Ord) 2025-08-03 17:30:40 -07:00
derived_ord_debug.{impl#0}-partial_cmp.PreCodegen.after.panic-unwind.mir Add a mir-opt test for *debug* MIR from derive(PartialOrd, Ord) 2025-08-03 17:30:40 -07:00
derived_ord_debug.{impl#1}-cmp.PreCodegen.after.panic-abort.mir Add a mir-opt test for *debug* MIR from derive(PartialOrd, Ord) 2025-08-03 17:30:40 -07:00
derived_ord_debug.{impl#1}-cmp.PreCodegen.after.panic-unwind.mir Add a mir-opt test for *debug* MIR from derive(PartialOrd, Ord) 2025-08-03 17:30:40 -07:00
drop_boxed_slice.generic_in_place.PreCodegen.after.32bit.panic-abort.mir AlignmentEnum should just be repr(usize) now 2025-07-30 00:09:01 -07:00
drop_boxed_slice.generic_in_place.PreCodegen.after.32bit.panic-unwind.mir AlignmentEnum should just be repr(usize) now 2025-07-30 00:09:01 -07:00
drop_boxed_slice.generic_in_place.PreCodegen.after.64bit.panic-abort.mir AlignmentEnum should just be repr(usize) now 2025-07-30 00:09:01 -07:00
drop_boxed_slice.generic_in_place.PreCodegen.after.64bit.panic-unwind.mir AlignmentEnum should just be repr(usize) now 2025-07-30 00:09:01 -07:00
drop_boxed_slice.rs AlignmentEnum should just be repr(usize) now 2025-07-30 00:09:01 -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 Add some track_caller info to precondition panics 2025-05-21 09:10:06 -04: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 Give an AllocId to ConstValue::Slice. 2025-07-23 23:54:37 +00:00
issue_117368_print_invalid_constant.main.GVN.32bit.panic-unwind.diff Update NonZero and NonNull to not field-project (per MCP807) 2024-12-03 11:13:34 -08:00
issue_117368_print_invalid_constant.main.GVN.64bit.panic-abort.diff Give an AllocId to ConstValue::Slice. 2025-07-23 23:54:37 +00:00
issue_117368_print_invalid_constant.main.GVN.64bit.panic-unwind.diff Update NonZero and NonNull to not field-project (per MCP807) 2024-12-03 11:13:34 -08:00
issue_117368_print_invalid_constant.rs ignore/fix layout-sensitive tests 2024-08-31 23:56:45 +02:00
loops.filter_mapped.PreCodegen.after.mir Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
loops.int_range.PreCodegen.after.mir Add some track_caller info to precondition panics 2025-05-21 09:10:06 -04:00
loops.mapped.PreCodegen.after.mir Inline FnOnce once again 2025-03-03 23:30:18 +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 Perform instsimplify before inline to eliminate some trivial calls 2024-07-29 18:14:35 +08:00
matchbr.match1.PreCodegen.after.mir mir-opt: execute MatchBranchSimplification after GVN 2025-04-21 21:46:44 +08:00
matchbr.rs mir-opt: execute MatchBranchSimplification after GVN 2025-04-21 21:46:44 +08:00
matches_macro.issue_77355_opt.PreCodegen.after.mir Update mir-opt expected output for matches! macro 2025-07-25 22:34:55 +02: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 *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
mem_replace.manual_replace.PreCodegen.after.panic-unwind.mir Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
mem_replace.mem_replace.PreCodegen.after.panic-abort.mir Allow more top-down inlining for single-BB callees 2025-03-12 22:39:43 -07:00
mem_replace.mem_replace.PreCodegen.after.panic-unwind.mir Allow more top-down inlining for single-BB callees 2025-03-12 22:39:43 -07:00
mem_replace.rs tests: ignore-debug -> ignore-std-debug-assertions 2024-10-31 17:33:42 +08:00
no_inlined_clone.rs Perform instsimplify before inline to eliminate some trivial calls 2024-07-29 18:14:35 +08:00
no_inlined_clone.{impl#0}-clone.PreCodegen.after.mir Remove unsound-mir-opts for simplify_aggregate_to_copy 2025-04-03 21:59:43 +08:00
optimizes_into_variable.main.GVN.32bit.panic-abort.diff Reapply "Auto merge of #133734 - scottmcm:lower-indexing-to-ptrmetadata, r=davidtwco,RalfJung" 2025-01-27 23:42:47 +00:00
optimizes_into_variable.main.GVN.32bit.panic-unwind.diff Reapply "Auto merge of #133734 - scottmcm:lower-indexing-to-ptrmetadata, r=davidtwco,RalfJung" 2025-01-27 23:42:47 +00:00
optimizes_into_variable.main.GVN.64bit.panic-abort.diff Reapply "Auto merge of #133734 - scottmcm:lower-indexing-to-ptrmetadata, r=davidtwco,RalfJung" 2025-01-27 23:42:47 +00:00
optimizes_into_variable.main.GVN.64bit.panic-unwind.diff Reapply "Auto merge of #133734 - scottmcm:lower-indexing-to-ptrmetadata, r=davidtwco,RalfJung" 2025-01-27 23:42:47 +00: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 Reapply "Auto merge of #133734 - scottmcm:lower-indexing-to-ptrmetadata, r=davidtwco,RalfJung" 2025-01-27 23:42:47 +00:00
optimizes_into_variable.main.ScalarReplacementOfAggregates.32bit.panic-unwind.diff Reapply "Auto merge of #133734 - scottmcm:lower-indexing-to-ptrmetadata, r=davidtwco,RalfJung" 2025-01-27 23:42:47 +00:00
optimizes_into_variable.main.ScalarReplacementOfAggregates.64bit.panic-abort.diff Reapply "Auto merge of #133734 - scottmcm:lower-indexing-to-ptrmetadata, r=davidtwco,RalfJung" 2025-01-27 23:42:47 +00:00
optimizes_into_variable.main.ScalarReplacementOfAggregates.64bit.panic-unwind.diff Reapply "Auto merge of #133734 - scottmcm:lower-indexing-to-ptrmetadata, r=davidtwco,RalfJung" 2025-01-27 23:42:47 +00: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 Use -Zdump-mir-exclude-alloc-bytes in some mir-opt tests 2024-06-26 15:05:01 -07:00
option_bubble_debug.option_direct.PreCodegen.after.panic-abort.mir Add a debug-mode MIR pre-codegen test for ?-on-Option 2025-08-03 17:30:40 -07:00
option_bubble_debug.option_direct.PreCodegen.after.panic-unwind.mir Add a debug-mode MIR pre-codegen test for ?-on-Option 2025-08-03 17:30:40 -07:00
option_bubble_debug.option_traits.PreCodegen.after.panic-abort.mir Add a debug-mode MIR pre-codegen test for ?-on-Option 2025-08-03 17:30:40 -07:00
option_bubble_debug.option_traits.PreCodegen.after.panic-unwind.mir Add a debug-mode MIR pre-codegen test for ?-on-Option 2025-08-03 17:30:40 -07:00
option_bubble_debug.rs Add a debug-mode MIR pre-codegen test for ?-on-Option 2025-08-03 17:30:40 -07:00
ptr_offset.demo_byte_add_fat.PreCodegen.after.panic-abort.mir Add some track_caller info to precondition panics 2025-05-21 09:10:06 -04:00
ptr_offset.demo_byte_add_fat.PreCodegen.after.panic-unwind.mir Add some track_caller info to precondition panics 2025-05-21 09:10:06 -04:00
ptr_offset.demo_byte_add_thin.PreCodegen.after.panic-abort.mir Add some track_caller info to precondition panics 2025-05-21 09:10:06 -04:00
ptr_offset.demo_byte_add_thin.PreCodegen.after.panic-unwind.mir Add some track_caller info to precondition panics 2025-05-21 09:10:06 -04:00
ptr_offset.rs tests: ignore-debug -> ignore-std-debug-assertions 2024-10-31 17:33:42 +08:00
range_iter.forward_loop.PreCodegen.after.panic-abort.mir Add some track_caller info to precondition panics 2025-05-21 09:10:06 -04:00
range_iter.forward_loop.PreCodegen.after.panic-unwind.mir Add some track_caller info to precondition panics 2025-05-21 09:10:06 -04:00
range_iter.inclusive_loop.PreCodegen.after.panic-abort.mir std::range 2025-01-30 20:37:56 -07:00
range_iter.inclusive_loop.PreCodegen.after.panic-unwind.mir std::range 2025-01-30 20:37:56 -07:00
range_iter.range_inclusive_iter_next.PreCodegen.after.panic-abort.mir std::range 2025-01-30 20:37:56 -07:00
range_iter.range_inclusive_iter_next.PreCodegen.after.panic-unwind.mir std::range 2025-01-30 20:37:56 -07:00
range_iter.range_iter_next.PreCodegen.after.panic-abort.mir Add some track_caller info to precondition panics 2025-05-21 09:10:06 -04:00
range_iter.range_iter_next.PreCodegen.after.panic-unwind.mir Add some track_caller info to precondition panics 2025-05-21 09:10:06 -04:00
range_iter.rs Remove some only- clauses from mir-opt tests 2024-03-18 10:07:43 -04:00
README.md Update SUMMARY.md 2025-07-14 12:01:41 +03:00
simple_option_map.ezmap.PreCodegen.after.mir Add MIR pre-codegen tests to track 138544 2025-03-15 14:13:37 -07:00
simple_option_map.map_via_question_mark.PreCodegen.after.mir Add MIR pre-codegen tests to track 138544 2025-03-15 14:13:37 -07:00
simple_option_map.rs Add MIR pre-codegen tests to track 138544 2025-03-15 14:13:37 -07: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 Propagate from borrowed locals in CopyProp 2025-07-10 09:36:20 +02:00
slice_filter.variant_b-{closure#0}.PreCodegen.after.mir Bless tests 2025-04-02 19:59:26 +08:00
slice_index.rs Reapply "Auto merge of #133734 - scottmcm:lower-indexing-to-ptrmetadata, r=davidtwco,RalfJung" 2025-01-27 23:42:47 +00:00
slice_index.slice_get_mut_usize.PreCodegen.after.panic-abort.mir slice.get(i) should use a slice projection in MIR, like slice[i] does 2025-05-30 12:04:41 -07:00
slice_index.slice_get_mut_usize.PreCodegen.after.panic-unwind.mir slice.get(i) should use a slice projection in MIR, like slice[i] does 2025-05-30 12:04:41 -07:00
slice_index.slice_get_unchecked_mut_range.PreCodegen.after.panic-abort.mir slice.get(i) should use a slice projection in MIR, like slice[i] does 2025-05-30 12:04:41 -07:00
slice_index.slice_get_unchecked_mut_range.PreCodegen.after.panic-unwind.mir slice.get(i) should use a slice projection in MIR, like slice[i] does 2025-05-30 12:04:41 -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 Reapply "Auto merge of #133734 - scottmcm:lower-indexing-to-ptrmetadata, r=davidtwco,RalfJung" 2025-01-27 23:42:47 +00:00
slice_index.slice_index_usize.PreCodegen.after.panic-unwind.mir Reapply "Auto merge of #133734 - scottmcm:lower-indexing-to-ptrmetadata, r=davidtwco,RalfJung" 2025-01-27 23:42:47 +00:00
slice_index.slice_ptr_get_unchecked_range.PreCodegen.after.panic-abort.mir slice.get(i) should use a slice projection in MIR, like slice[i] does 2025-05-30 12:04:41 -07:00
slice_index.slice_ptr_get_unchecked_range.PreCodegen.after.panic-unwind.mir slice.get(i) should use a slice projection in MIR, like slice[i] does 2025-05-30 12:04:41 -07:00
slice_iter.enumerated_loop.PreCodegen.after.panic-abort.mir Add some track_caller info to precondition panics 2025-05-21 09:10:06 -04:00
slice_iter.enumerated_loop.PreCodegen.after.panic-unwind.mir Remove extraneous types. 2025-07-01 11:40:44 +00:00
slice_iter.forward_loop.PreCodegen.after.panic-abort.mir Add some track_caller info to precondition panics 2025-05-21 09:10:06 -04:00
slice_iter.forward_loop.PreCodegen.after.panic-unwind.mir Add some track_caller info to precondition panics 2025-05-21 09:10:06 -04:00
slice_iter.range_loop.PreCodegen.after.panic-abort.mir Add some track_caller info to precondition panics 2025-05-21 09:10:06 -04:00
slice_iter.range_loop.PreCodegen.after.panic-unwind.mir Add some track_caller info to precondition panics 2025-05-21 09:10:06 -04:00
slice_iter.reverse_loop.PreCodegen.after.panic-abort.mir Add some track_caller info to precondition panics 2025-05-21 09:10:06 -04:00
slice_iter.reverse_loop.PreCodegen.after.panic-unwind.mir Add some track_caller info to precondition panics 2025-05-21 09:10:06 -04:00
slice_iter.rs tests: ignore-debug -> ignore-std-debug-assertions 2024-10-31 17:33:42 +08:00
slice_iter.slice_iter_generic_is_empty.PreCodegen.after.panic-abort.mir transmute should also assume non-null pointers 2025-02-12 23:01:27 -08:00
slice_iter.slice_iter_generic_is_empty.PreCodegen.after.panic-unwind.mir transmute should also assume non-null pointers 2025-02-12 23:01:27 -08: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 Add some track_caller info to precondition panics 2025-05-21 09:10:06 -04:00
slice_iter.slice_iter_next.PreCodegen.after.panic-unwind.mir Add some track_caller info to precondition panics 2025-05-21 09:10:06 -04:00
spans.outer.PreCodegen.after.panic-abort.mir Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
spans.outer.PreCodegen.after.panic-unwind.mir Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07: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 Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
try_identity.old.PreCodegen.after.mir Remove unsound-mir-opts for simplify_aggregate_to_copy 2025-04-03 21:59:43 +08:00
try_identity.rs rustfmt tests/mir-opt. 2024-06-03 14:17:16 +10:00
tuple_ord.demo_ge_partial.PreCodegen.after.mir Allow GVN to produce places and not just locals. 2025-04-04 10:55:36 +00:00
tuple_ord.demo_le_total.PreCodegen.after.mir Allow GVN to produce places and not just locals. 2025-04-04 10:55:36 +00:00
tuple_ord.rs Add chaining versions of lt/le/gt/ge and use them in tuple PartialOrd 2025-03-19 09:27:02 -07: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 intrinsics: rename min_align_of to align_of 2025-06-12 17:50:25 +02:00
vec_deref.vec_deref_to_slice.PreCodegen.after.panic-unwind.mir intrinsics: rename min_align_of to align_of 2025-06-12 17:50:25 +02:00

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

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