rust/tests/mir-opt/pre-codegen
Scott McMurray 39118d6181 Go back to `Some` instead of transmuting to it.
This adds a few more statements to `next`, but optimizes better in the loops (saving 2 blocks in `forward_loop`, for example)
2025-02-14 22:24:27 -08:00
..
README.md Add mir-opt tests to track MIR quality. 2023-04-23 17:10:53 +00: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 Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
checked_ops.checked_shl.PreCodegen.after.panic-unwind.mir Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07: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 Export likely(), unlikely() and cold_path() in std::hint 2025-01-15 21:42:47 +01:00
checked_ops.step_forward.PreCodegen.after.panic-unwind.mir Export likely(), unlikely() and cold_path() in std::hint 2025-01-15 21:42:47 +01: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 Mark `simplify_aggregate_to_copy` mir-opt as unsound 2024-10-31 13:48:06 +08:00
deref_nested_borrows.rs comment out the old tests instead of adjusting them 2024-11-25 20:39:45 +01: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.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 Bless *all* the mir-opt tests 2024-08-18 16:07:33 -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 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.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 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-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 Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
loops.mapped.PreCodegen.after.mir Bless *all* the mir-opt tests 2024-08-18 16:07:33 -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 Perform instsimplify before inline to eliminate some trivial calls 2024-07-29 18:14:35 +08: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 *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 Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
mem_replace.mem_replace.PreCodegen.after.panic-unwind.mir Bless *all* the mir-opt tests 2024-08-18 16:07:33 -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 Mark `simplify_aggregate_to_copy` mir-opt as unsound 2024-10-31 13:48:06 +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
ptr_offset.demo_byte_add_fat.PreCodegen.after.panic-abort.mir Bless mir-opt tests 2024-10-07 11:18:37 -04:00
ptr_offset.demo_byte_add_fat.PreCodegen.after.panic-unwind.mir Bless mir-opt tests 2024-10-07 11:18:37 -04:00
ptr_offset.demo_byte_add_thin.PreCodegen.after.panic-abort.mir Bless mir-opt tests 2024-10-07 11:18:37 -04:00
ptr_offset.demo_byte_add_thin.PreCodegen.after.panic-unwind.mir Bless mir-opt tests 2024-10-07 11:18:37 -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 Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
range_iter.forward_loop.PreCodegen.after.panic-unwind.mir Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07: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 Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
range_iter.range_iter_next.PreCodegen.after.panic-unwind.mir Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
range_iter.rs Remove some only- clauses from mir-opt tests 2024-03-18 10:07:43 -04:00
simple_option_map.ezmap.PreCodegen.after.mir Bless *all* the mir-opt tests 2024-08-18 16:07:33 -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 Do not unify dereferences in GVN. 2024-11-25 20:19:08 +01:00
slice_filter.variant_b-{closure#0}.PreCodegen.after.mir Do not unify dereferences in GVN. 2024-11-25 20:19:08 +01: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 Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
slice_index.slice_get_mut_usize.PreCodegen.after.panic-unwind.mir Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
slice_index.slice_get_unchecked_mut_range.PreCodegen.after.panic-abort.mir Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
slice_index.slice_get_unchecked_mut_range.PreCodegen.after.panic-unwind.mir Bless *all* the mir-opt tests 2024-08-18 16:07:33 -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 Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
slice_index.slice_ptr_get_unchecked_range.PreCodegen.after.panic-unwind.mir Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
slice_iter.enumerated_loop.PreCodegen.after.panic-abort.mir Go back to `Some` instead of transmuting to it. 2025-02-14 22:24:27 -08:00
slice_iter.enumerated_loop.PreCodegen.after.panic-unwind.mir Update tests for std::simd subtree sync 2025-01-18 21:44:41 -05:00
slice_iter.forward_loop.PreCodegen.after.panic-abort.mir Go back to `Some` instead of transmuting to it. 2025-02-14 22:24:27 -08:00
slice_iter.forward_loop.PreCodegen.after.panic-unwind.mir Go back to `Some` instead of transmuting to it. 2025-02-14 22:24:27 -08:00
slice_iter.range_loop.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_iter.range_loop.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_iter.reverse_loop.PreCodegen.after.panic-abort.mir Update tests for std::simd subtree sync 2025-01-18 21:44:41 -05:00
slice_iter.reverse_loop.PreCodegen.after.panic-unwind.mir Update tests for std::simd subtree sync 2025-01-18 21:44:41 -05: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 Go back to `Some` instead of transmuting to it. 2025-02-14 22:24:27 -08:00
slice_iter.slice_iter_next.PreCodegen.after.panic-unwind.mir Go back to `Some` instead of transmuting to it. 2025-02-14 22:24:27 -08: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 Mark `simplify_aggregate_to_copy` mir-opt as unsound 2024-10-31 13:48:06 +08: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 [mir-opt] GVN some more transmute cases 2025-01-08 18:46:30 -08:00
vec_deref.vec_deref_to_slice.PreCodegen.after.panic-unwind.mir [mir-opt] GVN some more transmute cases 2025-01-08 18:46:30 -08:00

README.md

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.