rust/tests/mir-opt
Stuart Cook 5e781d05f6
Rollup merge of #143764 - dianne:primary-binding-drop-order, r=Nadrieril,traviscross
lower pattern bindings in the order they're written and base drop order on primary bindings' order

To fix rust-lang/rust#142163, this PR does two things:
- Makes match arms base their drop order on the first sub-branch instead of the last sub-branch. Together with the second change, this makes bindings' drop order correspond to the relative order of when each binding first appears (i.e. the order of the "primary" bindings).
- Lowers pattern bindings in the order they're written (still treating the right-hand side of a ``@`` as coming before the binding on the left). In each sub-branch of a match arm, this is the order that would be obtained if the or-alternatives chosen in that sub-branch were inlined into the arm's pattern. This both affects drop order (making bindings in or-patterns not be dropped first) and fixes the issue in [this test](2a023bf80a/tests/ui/pattern/bindings-after-at/bind-by-copy-or-pat.rs) from rust-lang/rust#121716.

My approach to the second point is admittedly a bit trickier than may be necessary. To avoid passing around a counter when building `FlatPat`s, I've instead added just enough information to recover the original structure of the pattern's bindings from a `MatchTreeSubBranch`'s path through the `Candidate` tree. Some alternatives:
- We could use a counter, then sort bindings by their ordinals when making `MatchTreeSubBranch`es.
- I'd like to experiment with always merging sub-candidates and removing `test_remaining_match_pairs_after_or`; that would require lowering bindings and guards in a different way. That makes it a bigger change too, though, so I figure it might be simplest to start here.
- For a very big change, we could track which or-alternatives succeed at runtime to base drop order on the binding order in the particular alternatives matched.

This is a breaking change. It will need a crater run, language team sign-off, and likely updates to the Reference.

This will conflict with rust-lang/rust#143376 and probably also rust-lang/rust#143028, so they shouldn't be merged at the same time.

r? `@matthewjasper` or `@Nadrieril`
2025-08-07 20:49:39 +10:00
..
building Rollup merge of #143028 - dianne:let-else-storage, r=oli-obk,traviscross 2025-08-07 20:49:38 +10:00
const_prop Give an AllocId to ConstValue::Slice. 2025-07-23 23:54:37 +00:00
copy-prop Propagate from borrowed locals in CopyProp 2025-07-10 09:36:20 +02:00
coverage coverage: Re-land "Enlarge empty spans during MIR instrumentation" 2025-07-30 13:17:05 +10:00
dataflow-const-prop Reapply "Auto merge of #133734 - scottmcm:lower-indexing-to-ptrmetadata, r=davidtwco,RalfJung" 2025-01-27 23:42:47 +00:00
dead-store-elimination Give an AllocId to ConstValue::Slice. 2025-07-23 23:54:37 +00:00
dest-prop Invalid dereferences for all non-local mutations 2025-04-03 21:59:49 +08:00
ergonomic-clones Add mir opt tests to be sure we generate copy, clones and moves when corresponds 2025-04-07 16:53:11 -03:00
inline Give an AllocId to ConstValue::Slice. 2025-07-23 23:54:37 +00:00
instsimplify Simplify align_of_val::<[T]>(…)align_of::<T>() 2025-07-28 23:19:06 -07:00
issues Update mir-opt expected output for matches! macro 2025-07-25 22:34:55 +02:00
nll Reapply "Auto merge of #133734 - scottmcm:lower-indexing-to-ptrmetadata, r=davidtwco,RalfJung" 2025-01-27 23:42:47 +00:00
pre-codegen Rollup merge of #144875 - scottmcm:more-mir-tests, r=cjgillot 2025-08-04 14:58:09 +10:00
sroa Re-block SRoA on SIMD types 2025-07-29 20:41:34 -07:00
address_of.address_of_reborrow.SimplifyCfg-initial.after.mir yeet CanonicalVarInfo 2025-05-23 12:10:53 +00:00
address_of.borrow_and_cast.SimplifyCfg-initial.after.mir Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
address_of.rs rustfmt tests/mir-opt. 2024-06-03 14:17:16 +10:00
array_index_is_temporary.main.SimplifyCfg-pre-optimizations.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
array_index_is_temporary.main.SimplifyCfg-pre-optimizations.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
array_index_is_temporary.rs Update mir-opt filechecks 2024-08-18 15:52:23 -07:00
asm_unwind_panic_abort.main.AbortUnwindingCalls.after.mir Add and adapt tests 2024-09-27 14:40:38 +01:00
asm_unwind_panic_abort.rs Add and adapt tests 2024-09-27 14:40:38 +01:00
async_closure_fake_read_for_by_move.foo-{closure#0}-{closure#0}.built.after.mir AsyncDrop implementation using shim codegen of async_drop_in_place::{closure}, scoped async drop added. 2025-04-28 16:23:13 +07:00
async_closure_fake_read_for_by_move.foo-{closure#0}-{synthetic#0}.built.after.mir AsyncDrop implementation using shim codegen of async_drop_in_place::{closure}, scoped async drop added. 2025-04-28 16:23:13 +07:00
async_closure_fake_read_for_by_move.rs Encode synthetic by-move coroutine body with a different DefPathData 2025-03-30 22:53:21 +00:00
async_closure_shims.main-{closure#0}-{closure#0}-{closure#0}.built.after.mir AsyncDrop implementation using shim codegen of async_drop_in_place::{closure}, scoped async drop added. 2025-04-28 16:23:13 +07:00
async_closure_shims.main-{closure#0}-{closure#0}-{synthetic#0}.built.after.mir AsyncDrop implementation using shim codegen of async_drop_in_place::{closure}, scoped async drop added. 2025-04-28 16:23:13 +07:00
async_closure_shims.main-{closure#0}-{closure#0}.coroutine_closure_by_move.0.mir Stabilize async closures 2024-12-13 00:04:56 +00:00
async_closure_shims.main-{closure#0}-{closure#1}-{closure#0}.built.after.mir AsyncDrop implementation using shim codegen of async_drop_in_place::{closure}, scoped async drop added. 2025-04-28 16:23:13 +07:00
async_closure_shims.main-{closure#0}-{closure#1}-{synthetic#0}.built.after.mir AsyncDrop implementation using shim codegen of async_drop_in_place::{closure}, scoped async drop added. 2025-04-28 16:23:13 +07:00
async_closure_shims.main-{closure#0}-{closure#1}.coroutine_closure_by_move.0.mir Stabilize async closures 2024-12-13 00:04:56 +00:00
async_closure_shims.main-{closure#0}-{closure#1}.coroutine_closure_by_ref.0.mir Stabilize async closures 2024-12-13 00:04:56 +00:00
async_closure_shims.rs Encode synthetic by-move coroutine body with a different DefPathData 2025-03-30 22:53:21 +00:00
async_drop_live_dead.a-{closure#0}.coroutine_drop_async.0.panic-abort.mir Async drop - fix for StorageLive/StorageDead codegen for pinned async drop future 2025-06-14 15:10:08 +07:00
async_drop_live_dead.a-{closure#0}.coroutine_drop_async.0.panic-unwind.mir Async drop - fix for StorageLive/StorageDead codegen for pinned async drop future 2025-06-14 15:10:08 +07:00
async_drop_live_dead.rs Async drop - fix for StorageLive/StorageDead codegen for pinned async drop future 2025-06-14 15:10:08 +07:00
basic_assignment.main.ElaborateDrops.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
basic_assignment.main.SimplifyCfg-initial.after.mir bless mir-opt tests 2024-10-17 10:22:55 +02:00
basic_assignment.rs mir-opt tests: rename unit-test -> test-mir-pass 2024-04-20 13:19:34 +02:00
box_conditional_drop_allocator.main.ElaborateDrops.diff fix box destructor generation 2025-07-25 13:19:43 -07:00
box_conditional_drop_allocator.rs add //@ needs-unwind to test 2025-07-25 13:42:45 -07:00
box_expr.main.ElaborateDrops.diff Don't project into NonNull when dropping a Box 2025-02-15 23:20:52 -08:00
box_expr.rs Transmute from NonNull to pointer when elaborating a box deref (MCP807) 2025-01-06 18:43:40 -08:00
box_partial_move.maybe_move.ElaborateDrops.diff Don't project into NonNull when dropping a Box 2025-02-15 23:20:52 -08:00
box_partial_move.rs Don't project into NonNull when dropping a Box 2025-02-15 23:20:52 -08:00
build_correct_coerce.main.built.after.mir be even more precise about "cast" vs "coercion" 2024-09-24 23:12:02 +02:00
build_correct_coerce.rs Test showing previous behavior 2024-08-13 16:23:18 -04:00
byte_slice.main.SimplifyCfg-pre-optimizations.after.mir simplify_cfg: rename some passes so that they make more sense 2024-03-17 19:59:15 +01:00
byte_slice.rs simplify_cfg: rename some passes so that they make more sense 2024-03-17 19:59:15 +01:00
c_unwind_terminate.rs Add and adapt tests 2024-09-27 14:40:38 +01:00
c_unwind_terminate.test.AbortUnwindingCalls.after.mir Add and adapt tests 2024-09-27 14:40:38 +01:00
const_allocation.main.GVN.after.32bit.mir Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
const_allocation.main.GVN.after.64bit.mir Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
const_allocation.rs mir-opt tests: rename unit-test -> test-mir-pass 2024-04-20 13:19:34 +02:00
const_allocation2.main.GVN.after.32bit.mir Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
const_allocation2.main.GVN.after.64bit.mir Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
const_allocation2.rs mir-opt tests: rename unit-test -> test-mir-pass 2024-04-20 13:19:34 +02:00
const_allocation3.main.GVN.after.32bit.mir Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
const_allocation3.main.GVN.after.64bit.mir Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
const_allocation3.rs don't inhibit random field reordering on repr(packed(1)) 2024-05-21 19:22:04 +02:00
const_debuginfo.main.SingleUseConsts.diff Give an AllocId to ConstValue::Slice. 2025-07-23 23:54:37 +00:00
const_debuginfo.rs Use -Zdump-mir-exclude-alloc-bytes in some mir-opt tests 2024-06-26 15:05:01 -07:00
const_goto_const_eval_fail.f.JumpThreading.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
const_goto_const_eval_fail.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
const_promotion_extern_static.BAR-promoted[0].SimplifyCfg-pre-optimizations.after.mir Fix cycle error only occurring with -Zdump-mir 2025-01-10 08:57:54 +00:00
const_promotion_extern_static.BAR.PromoteTemps.diff Fix cycle error only occurring with -Zdump-mir 2025-01-10 08:57:54 +00:00
const_promotion_extern_static.BOP.built.after.mir Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
const_promotion_extern_static.FOO-promoted[0].SimplifyCfg-pre-optimizations.after.mir simplify_cfg: rename some passes so that they make more sense 2024-03-17 19:59:15 +01:00
const_promotion_extern_static.FOO.PromoteTemps.diff be even more precise about "cast" vs "coercion" 2024-09-24 23:12:02 +02:00
const_promotion_extern_static.rs simplify_cfg: rename some passes so that they make more sense 2024-03-17 19:59:15 +01:00
coroutine_drop_cleanup.main-{closure#0}.coroutine_drop.0.panic-abort.mir Error on using yield without also using #[coroutine] on the closure 2024-04-24 08:05:29 +00:00
coroutine_drop_cleanup.main-{closure#0}.coroutine_drop.0.panic-unwind.mir Error on using yield without also using #[coroutine] on the closure 2024-04-24 08:05:29 +00:00
coroutine_drop_cleanup.rs Make coroutine_drop_cleanup 2024 edition compatible 2025-04-01 14:49:15 +00:00
coroutine_storage_dead_unwind.main-{closure#0}.StateTransform.before.panic-abort.mir Error on using yield without also using #[coroutine] on the closure 2024-04-24 08:05:29 +00:00
coroutine_storage_dead_unwind.main-{closure#0}.StateTransform.before.panic-unwind.mir Error on using yield without also using #[coroutine] on the closure 2024-04-24 08:05:29 +00:00
coroutine_storage_dead_unwind.rs Error on using yield without also using #[coroutine] on the closure 2024-04-24 08:05:29 +00:00
coroutine_tiny.main-{closure#0}.coroutine_resume.0.mir Error on using yield without also using #[coroutine] on the closure 2024-04-24 08:05:29 +00:00
coroutine_tiny.rs Error on using yield without also using #[coroutine] on the closure 2024-04-24 08:05:29 +00:00
dataflow.main.maybe_uninit.borrowck.dot switch dataflow test to a maybe-uninit analysis 2025-05-27 21:21:28 +00:00
dataflow.rs switch dataflow test to a maybe-uninit analysis 2025-05-27 21:21:28 +00:00
derefer_complex_case.main.Derefer.panic-abort.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
derefer_complex_case.main.Derefer.panic-unwind.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
derefer_complex_case.rs rustfmt tests/mir-opt. 2024-06-03 14:17:16 +10:00
derefer_inline_test.main.Derefer.panic-abort.diff make MIR less verbose 2023-08-24 14:26:26 +02:00
derefer_inline_test.main.Derefer.panic-unwind.diff make MIR less verbose 2023-08-24 14:26:26 +02:00
derefer_inline_test.rs mir-opt tests: rename unit-test -> test-mir-pass 2024-04-20 13:19:34 +02:00
derefer_terminator_test.main.Derefer.panic-abort.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
derefer_terminator_test.main.Derefer.panic-unwind.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
derefer_terminator_test.rs rustfmt tests/mir-opt. 2024-06-03 14:17:16 +10:00
derefer_test.main.Derefer.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
derefer_test.rs rustfmt tests/mir-opt. 2024-06-03 14:17:16 +10:00
derefer_test_multiple.main.Derefer.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
derefer_test_multiple.rs rustfmt tests/mir-opt. 2024-06-03 14:17:16 +10:00
dont_inline_type_id.call.Inline.diff Don't resolve generic instances if they may be shadowed by dyn 2023-09-19 05:42:23 +00:00
dont_inline_type_id.rs Reformat use declarations. 2024-07-29 08:26:52 +10:00
dont_reset_cast_kind_without_updating_operand.rs Emit MIR for each bit with on dont_reset_cast_kind_without_updating_operand 2025-02-13 23:36:51 -05:00
dont_reset_cast_kind_without_updating_operand.test.GVN.32bit.panic-abort.diff Add some track_caller info to precondition panics 2025-05-21 09:10:06 -04:00
dont_reset_cast_kind_without_updating_operand.test.GVN.32bit.panic-unwind.diff Allow GVN to produce places and not just locals. 2025-04-04 10:55:36 +00:00
dont_reset_cast_kind_without_updating_operand.test.GVN.64bit.panic-abort.diff Add some track_caller info to precondition panics 2025-05-21 09:10:06 -04:00
dont_reset_cast_kind_without_updating_operand.test.GVN.64bit.panic-unwind.diff Allow GVN to produce places and not just locals. 2025-04-04 10:55:36 +00:00
early_otherwise_branch.opt1.EarlyOtherwiseBranch.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
early_otherwise_branch.opt2.EarlyOtherwiseBranch.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
early_otherwise_branch.opt3.EarlyOtherwiseBranch.diff mir-opt: Do not create storage marks for temporary locals 2025-05-24 15:36:06 +08:00
early_otherwise_branch.opt4.EarlyOtherwiseBranch.diff mir-opt: Do not create storage marks for temporary locals 2025-05-24 15:36:06 +08:00
early_otherwise_branch.opt5.EarlyOtherwiseBranch.diff mir-opt: Do not create storage marks for temporary locals 2025-05-24 15:36:06 +08:00
early_otherwise_branch.opt5_failed.EarlyOtherwiseBranch.diff Reapply "Auto merge of #129047 - DianQK:early_otherwise_branch_scalar, r=cjgillot" 2024-12-18 20:43:54 +08:00
early_otherwise_branch.opt5_failed_type.EarlyOtherwiseBranch.diff Reapply "Auto merge of #129047 - DianQK:early_otherwise_branch_scalar, r=cjgillot" 2024-12-18 20:43:54 +08:00
early_otherwise_branch.rs mir-opt: Do not create storage marks for temporary locals 2025-05-24 15:36:06 +08:00
early_otherwise_branch.target_self.EarlyOtherwiseBranch.diff mir-opt: Do not create storage marks for temporary locals 2025-05-24 15:36:06 +08:00
early_otherwise_branch_3_element_tuple.opt1.EarlyOtherwiseBranch.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
early_otherwise_branch_3_element_tuple.opt2.EarlyOtherwiseBranch.diff mir-opt: Do not create storage marks for temporary locals 2025-05-24 15:36:06 +08:00
early_otherwise_branch_3_element_tuple.rs Update mir-opt filechecks 2024-08-18 15:52:23 -07:00
early_otherwise_branch_68867.rs mir-opt tests: rename unit-test -> test-mir-pass 2024-04-20 13:19:34 +02:00
early_otherwise_branch_68867.try_sum.EarlyOtherwiseBranch.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
early_otherwise_branch_noopt.noopt1.EarlyOtherwiseBranch.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
early_otherwise_branch_noopt.rs mir-opt tests: rename unit-test -> test-mir-pass 2024-04-20 13:19:34 +02:00
early_otherwise_branch_soundness.no_deref_ptr.EarlyOtherwiseBranch.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
early_otherwise_branch_soundness.no_downcast.EarlyOtherwiseBranch.diff Resolve unsound hoisting of discriminant in EarlyOtherwiseBranch 2024-04-07 21:14:26 +08:00
early_otherwise_branch_soundness.rs mir-opt tests: rename unit-test -> test-mir-pass 2024-04-20 13:19:34 +02:00
early_otherwise_branch_unwind.poll.EarlyOtherwiseBranch.diff mir-opt: Do not handle the cleanup BB in the EarlyOtherwiseBranch 2024-12-18 20:43:55 +08:00
early_otherwise_branch_unwind.rs mir-opt: Do not handle the cleanup BB in the EarlyOtherwiseBranch 2024-12-18 20:43:55 +08:00
early_otherwise_branch_unwind.unwind.EarlyOtherwiseBranch.diff mir-opt: Do not handle the cleanup BB in the EarlyOtherwiseBranch 2024-12-18 20:43:55 +08:00
elaborate_box_deref_in_debuginfo.pointee.ElaborateBoxDerefs.diff Stop doing weird index stuff in ElaborateBoxDerefs 2024-08-02 17:45:55 -04:00
elaborate_box_deref_in_debuginfo.rs Stop doing weird index stuff in ElaborateBoxDerefs 2024-08-02 17:45:55 -04:00
enum_opt.cand.EnumSizeOpt.32bit.diff Use MirPatch in EnumSizeOpt. 2025-02-18 12:52:56 +11:00
enum_opt.cand.EnumSizeOpt.64bit.diff Use MirPatch in EnumSizeOpt. 2025-02-18 12:52:56 +11:00
enum_opt.invalid.EnumSizeOpt.32bit.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
enum_opt.invalid.EnumSizeOpt.64bit.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
enum_opt.rs Stabilise repr128 2025-05-28 15:14:34 +01:00
enum_opt.trunc.EnumSizeOpt.32bit.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
enum_opt.trunc.EnumSizeOpt.64bit.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
enum_opt.unin.EnumSizeOpt.32bit.diff Use MirPatch in EnumSizeOpt. 2025-02-18 12:52:56 +11:00
enum_opt.unin.EnumSizeOpt.64bit.diff Use MirPatch in EnumSizeOpt. 2025-02-18 12:52:56 +11:00
fn_ptr_shim.core.ops-function-Fn-call.AddMovesForPackedDrops.before.mir Auto merge of #112307 - lcnr:operand-ref, r=compiler-errors 2023-06-28 00:41:37 +00:00
fn_ptr_shim.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
funky_arms.float_to_exponential_common.GVN.32bit.panic-abort.diff Update tests. 2025-03-12 16:32:11 +01:00
funky_arms.float_to_exponential_common.GVN.32bit.panic-unwind.diff Update tests. 2025-03-12 16:32:11 +01:00
funky_arms.float_to_exponential_common.GVN.64bit.panic-abort.diff Update tests. 2025-03-12 16:32:11 +01:00
funky_arms.float_to_exponential_common.GVN.64bit.panic-unwind.diff Update tests. 2025-03-12 16:32:11 +01:00
funky_arms.rs Update tests. 2025-03-10 12:20:05 +01:00
global_asm.rs fix ICE in pretty-printing global_asm! 2025-03-10 14:46:01 +01:00
global_asm.{global_asm#0}.SimplifyLocals-final.after.mir fix ICE in pretty-printing global_asm! 2025-03-10 14:46:01 +01:00
graphviz.main.built.after.dot Move /src/test to /tests 2023-01-11 09:32:08 +00:00
graphviz.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
gvn.aggregate_struct_then_transmute.GVN.panic-abort.diff Make the aggregate-then-transmute handling more general 2025-01-08 18:46:31 -08:00
gvn.aggregate_struct_then_transmute.GVN.panic-unwind.diff Make the aggregate-then-transmute handling more general 2025-01-08 18:46:31 -08:00
gvn.arithmetic.GVN.panic-abort.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
gvn.arithmetic.GVN.panic-unwind.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
gvn.arithmetic_checked.GVN.panic-abort.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
gvn.arithmetic_checked.GVN.panic-unwind.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
gvn.arithmetic_float.GVN.panic-abort.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
gvn.arithmetic_float.GVN.panic-unwind.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
gvn.array_len.GVN.panic-abort.diff be even more precise about "cast" vs "coercion" 2024-09-24 23:12:02 +02:00
gvn.array_len.GVN.panic-unwind.diff be even more precise about "cast" vs "coercion" 2024-09-24 23:12:02 +02:00
gvn.borrowed.GVN.panic-abort.diff Bless tests 2025-04-02 19:59:26 +08:00
gvn.borrowed.GVN.panic-unwind.diff Bless tests 2025-04-02 19:59:26 +08:00
gvn.cast.GVN.panic-abort.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
gvn.cast.GVN.panic-unwind.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
gvn.cast_pointer_eq.GVN.panic-abort.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
gvn.cast_pointer_eq.GVN.panic-unwind.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
gvn.cast_pointer_then_transmute.GVN.panic-abort.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
gvn.cast_pointer_then_transmute.GVN.panic-unwind.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
gvn.casts_before_aggregate_raw_ptr.GVN.panic-abort.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
gvn.casts_before_aggregate_raw_ptr.GVN.panic-unwind.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
gvn.comparison.GVN.panic-abort.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
gvn.comparison.GVN.panic-unwind.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
gvn.constant_index_overflow.GVN.panic-abort.diff Reapply "Auto merge of #133734 - scottmcm:lower-indexing-to-ptrmetadata, r=davidtwco,RalfJung" 2025-01-27 23:42:47 +00:00
gvn.constant_index_overflow.GVN.panic-unwind.diff Reapply "Auto merge of #133734 - scottmcm:lower-indexing-to-ptrmetadata, r=davidtwco,RalfJung" 2025-01-27 23:42:47 +00:00
gvn.dedup_multiple_bounds_checks_lengths.GVN.panic-abort.diff Reapply "Auto merge of #133734 - scottmcm:lower-indexing-to-ptrmetadata, r=davidtwco,RalfJung" 2025-01-27 23:42:47 +00:00
gvn.dedup_multiple_bounds_checks_lengths.GVN.panic-unwind.diff Reapply "Auto merge of #133734 - scottmcm:lower-indexing-to-ptrmetadata, r=davidtwco,RalfJung" 2025-01-27 23:42:47 +00:00
gvn.dereferences.GVN.panic-abort.diff Do not unify dereferences in GVN. 2024-11-25 20:19:08 +01:00
gvn.dereferences.GVN.panic-unwind.diff Do not unify dereferences in GVN. 2024-11-25 20:19:08 +01:00
gvn.duplicate_slice.GVN.panic-abort.diff Give an AllocId to ConstValue::Slice. 2025-07-23 23:54:37 +00:00
gvn.duplicate_slice.GVN.panic-unwind.diff Give an AllocId to ConstValue::Slice. 2025-07-23 23:54:37 +00:00
gvn.fn_pointers.GVN.panic-abort.diff Give an AllocId to ConstValue::Slice. 2025-07-23 23:54:37 +00:00
gvn.fn_pointers.GVN.panic-unwind.diff Give an AllocId to ConstValue::Slice. 2025-07-23 23:54:37 +00:00
gvn.generic_cast_metadata.GVN.panic-abort.diff Store a full Ty with each Value. 2025-07-01 11:40:36 +00:00
gvn.generic_cast_metadata.GVN.panic-unwind.diff Store a full Ty with each Value. 2025-07-01 11:40:36 +00:00
gvn.indirect_static.GVN.panic-abort.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
gvn.indirect_static.GVN.panic-unwind.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
gvn.manual_slice_mut_len.GVN.panic-abort.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
gvn.manual_slice_mut_len.GVN.panic-unwind.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
gvn.meta_of_ref_to_slice.GVN.panic-abort.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
gvn.meta_of_ref_to_slice.GVN.panic-unwind.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
gvn.multiple_branches.GVN.panic-abort.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
gvn.multiple_branches.GVN.panic-unwind.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
gvn.non_freeze.GVN.panic-abort.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
gvn.non_freeze.GVN.panic-unwind.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
gvn.references.GVN.panic-abort.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
gvn.references.GVN.panic-unwind.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
gvn.remove_casts_must_change_both_sides.GVN.panic-abort.diff Only introduce stable projections. 2025-04-04 10:55:42 +00:00
gvn.remove_casts_must_change_both_sides.GVN.panic-unwind.diff Only introduce stable projections. 2025-04-04 10:55:42 +00:00
gvn.repeat.GVN.panic-abort.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
gvn.repeat.GVN.panic-unwind.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
gvn.repeated_index.GVN.panic-abort.diff Reapply "Auto merge of #133734 - scottmcm:lower-indexing-to-ptrmetadata, r=davidtwco,RalfJung" 2025-01-27 23:42:47 +00:00
gvn.repeated_index.GVN.panic-unwind.diff Reapply "Auto merge of #133734 - scottmcm:lower-indexing-to-ptrmetadata, r=davidtwco,RalfJung" 2025-01-27 23:42:47 +00:00
gvn.rs Give an AllocId to ConstValue::Slice. 2025-07-23 23:54:37 +00:00
gvn.slice_const_length.GVN.panic-abort.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
gvn.slice_const_length.GVN.panic-unwind.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
gvn.slice_from_raw_parts_as_ptr.GVN.panic-abort.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
gvn.slice_from_raw_parts_as_ptr.GVN.panic-unwind.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
gvn.slices.GVN.panic-abort.diff Give an AllocId to ConstValue::Slice. 2025-07-23 23:54:37 +00:00
gvn.slices.GVN.panic-unwind.diff Give an AllocId to ConstValue::Slice. 2025-07-23 23:54:37 +00:00
gvn.subexpression_elimination.GVN.panic-abort.diff Do not unify dereferences in GVN. 2024-11-25 20:19:08 +01:00
gvn.subexpression_elimination.GVN.panic-unwind.diff Do not unify dereferences in GVN. 2024-11-25 20:19:08 +01:00
gvn.transmute_then_cast_pointer.GVN.panic-abort.diff [mir-opt] GVN some more transmute cases 2025-01-08 18:46:30 -08:00
gvn.transmute_then_cast_pointer.GVN.panic-unwind.diff [mir-opt] GVN some more transmute cases 2025-01-08 18:46:30 -08:00
gvn.transmute_then_transmute_again.GVN.panic-abort.diff Refactor the cast-then-cast cases together, and support transmute-then-transmute 2025-01-08 18:46:30 -08:00
gvn.transmute_then_transmute_again.GVN.panic-unwind.diff Refactor the cast-then-cast cases together, and support transmute-then-transmute 2025-01-08 18:46:30 -08:00
gvn.unary.GVN.panic-abort.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
gvn.unary.GVN.panic-unwind.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
gvn.wide_ptr_integer.GVN.panic-abort.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
gvn.wide_ptr_integer.GVN.panic-unwind.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
gvn.wide_ptr_provenance.GVN.panic-abort.diff be even more precise about "cast" vs "coercion" 2024-09-24 23:12:02 +02:00
gvn.wide_ptr_provenance.GVN.panic-unwind.diff be even more precise about "cast" vs "coercion" 2024-09-24 23:12:02 +02:00
gvn.wide_ptr_same_provenance.GVN.panic-abort.diff Reapply "Auto merge of #133734 - scottmcm:lower-indexing-to-ptrmetadata, r=davidtwco,RalfJung" 2025-01-27 23:42:47 +00:00
gvn.wide_ptr_same_provenance.GVN.panic-unwind.diff Reapply "Auto merge of #133734 - scottmcm:lower-indexing-to-ptrmetadata, r=davidtwco,RalfJung" 2025-01-27 23:42:47 +00:00
gvn.wrap_unwrap.GVN.panic-abort.diff Give an AllocId to ConstValue::Slice. 2025-07-23 23:54:37 +00:00
gvn.wrap_unwrap.GVN.panic-unwind.diff Give an AllocId to ConstValue::Slice. 2025-07-23 23:54:37 +00:00
gvn_clone.rs Remove unsound-mir-opts for simplify_aggregate_to_copy 2025-04-03 21:59:43 +08:00
gvn_clone.{impl#0}-clone.GVN.diff Remove unsound-mir-opts for simplify_aggregate_to_copy 2025-04-03 21:59:43 +08:00
gvn_const_eval_polymorphic.no_optimize.GVN.diff clean up GVN TypeId test 2025-07-04 19:14:26 +02:00
gvn_const_eval_polymorphic.optimize_false.GVN.diff clean up GVN TypeId test 2025-07-04 19:14:26 +02:00
gvn_const_eval_polymorphic.optimize_true.GVN.diff clean up GVN TypeId test 2025-07-04 19:14:26 +02:00
gvn_const_eval_polymorphic.rs clean up GVN TypeId test 2025-07-04 19:14:26 +02:00
gvn_copy_aggregate.all_copy.GVN.diff Simplify the canonical clone method to copy 2024-09-14 13:30:35 +08:00
gvn_copy_aggregate.all_copy_2.GVN.diff Simplify the canonical clone method to copy 2024-09-14 13:30:35 +08:00
gvn_copy_aggregate.all_copy_different_type.GVN.diff Simplify the canonical clone method to copy 2024-09-14 13:30:35 +08:00
gvn_copy_aggregate.all_copy_has_changed.GVN.diff Simplify the canonical clone method to copy 2024-09-14 13:30:35 +08:00
gvn_copy_aggregate.all_copy_move.GVN.diff Simplify the canonical clone method to copy 2024-09-14 13:30:35 +08:00
gvn_copy_aggregate.all_copy_ret_2.GVN.diff Simplify the canonical clone method to copy 2024-09-14 13:30:35 +08:00
gvn_copy_aggregate.all_copy_use_changed.GVN.diff Simplify the canonical clone method to copy 2024-09-14 13:30:35 +08:00
gvn_copy_aggregate.all_copy_use_changed_2.GVN.diff Simplify the canonical clone method to copy 2024-09-14 13:30:35 +08:00
gvn_copy_aggregate.enum_different_variant.GVN.diff Simplify the canonical clone method to copy 2024-09-14 13:30:35 +08:00
gvn_copy_aggregate.enum_identical_variant.GVN.diff Simplify the canonical clone method to copy 2024-09-14 13:30:35 +08:00
gvn_copy_aggregate.nest_copy.GVN.diff Simplify the canonical clone method to copy 2024-09-14 13:30:35 +08:00
gvn_copy_aggregate.remove_storage_dead.GVN.diff Simplify the canonical clone method to copy 2024-09-14 13:30:35 +08:00
gvn_copy_aggregate.remove_storage_dead_from_index.GVN.diff Simplify the canonical clone method to copy 2024-09-14 13:30:35 +08:00
gvn_copy_aggregate.rs Remove unsound-mir-opts for simplify_aggregate_to_copy 2025-04-03 21:59:43 +08:00
gvn_copy_aggregate.same_type_different_index.GVN.diff Simplify the canonical clone method to copy 2024-09-14 13:30:35 +08:00
gvn_copy_constant_projection.compare_constant_index.GVN.panic-abort.diff Allow GVN to produce places and not just locals. 2025-04-04 10:55:36 +00:00
gvn_copy_constant_projection.compare_constant_index.GVN.panic-unwind.diff Allow GVN to produce places and not just locals. 2025-04-04 10:55:36 +00:00
gvn_copy_constant_projection.rs Allow GVN to produce places and not just locals. 2025-04-04 10:55:36 +00:00
gvn_copy_moves.fn0.GVN.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
gvn_copy_moves.rs Update mir-opt filechecks 2024-08-18 15:52:23 -07:00
gvn_on_unsafe_binder.propagate.GVN.diff Don't drop Rvalue::WrapUnsafeBinder during GVN 2025-03-15 18:10:55 +00:00
gvn_on_unsafe_binder.rs Don't drop Rvalue::WrapUnsafeBinder during GVN 2025-03-15 18:10:55 +00:00
gvn_on_unsafe_binder.test.GVN.diff Don't drop Rvalue::WrapUnsafeBinder during GVN 2025-03-15 18:10:55 +00:00
gvn_overlapping.overlapping.GVN.diff gvn: avoid creating overlapping assignments 2025-05-18 18:42:00 +08:00
gvn_overlapping.rs gvn: avoid creating overlapping assignments 2025-05-18 18:42:00 +08:00
gvn_ptr_eq_with_constant.main.GVN.diff Update tests for std::simd subtree sync 2025-01-18 21:44:41 -05:00
gvn_ptr_eq_with_constant.rs move strict provenance lints to new feature gate, remove old feature gates 2024-10-21 15:22:17 +01:00
gvn_repeat.repeat_local.GVN.diff gvn: bail out unavoidable non-ssa locals in repeat 2025-05-19 21:35:49 +08:00
gvn_repeat.repeat_place.GVN.diff gvn: bail out unavoidable non-ssa locals in repeat 2025-05-19 21:35:49 +08:00
gvn_repeat.rs gvn: bail out unavoidable non-ssa locals in repeat 2025-05-19 21:35:49 +08:00
gvn_uninhabited.f.GVN.panic-abort.diff Bless tests 2025-04-02 19:59:26 +08:00
gvn_uninhabited.f.GVN.panic-unwind.diff Bless tests 2025-04-02 19:59:26 +08:00
gvn_uninhabited.rs mir-opt tests: rename unit-test -> test-mir-pass 2024-04-20 13:19:34 +02:00
if_condition_int.dont_opt_bool.SimplifyComparisonIntegral.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
if_condition_int.dont_opt_floats.SimplifyComparisonIntegral.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
if_condition_int.dont_remove_comparison.SimplifyComparisonIntegral.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
if_condition_int.opt_char.SimplifyComparisonIntegral.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
if_condition_int.opt_i8.SimplifyComparisonIntegral.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
if_condition_int.opt_multiple_ifs.SimplifyComparisonIntegral.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
if_condition_int.opt_negative.SimplifyComparisonIntegral.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
if_condition_int.opt_u32.SimplifyComparisonIntegral.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
if_condition_int.rs mir-opt tests: rename unit-test -> test-mir-pass 2024-04-20 13:19:34 +02:00
impossible_predicates.impossible_predicate.ImpossiblePredicates.diff Make MIR cleanup for functions with impossible predicates into a real MIR pass 2025-01-11 20:50:39 +00:00
impossible_predicates.rs Make MIR cleanup for functions with impossible predicates into a real MIR pass 2025-01-11 20:50:39 +00:00
inline_coroutine_body.rs mir-opt tests: rename unit-test -> test-mir-pass 2024-04-20 13:19:34 +02:00
inline_coroutine_body.run2-{closure#0}.Inline.panic-abort.diff Allow more MIR SROA 2025-07-27 13:21:06 -07:00
inline_coroutine_body.run2-{closure#0}.Inline.panic-unwind.diff Allow more MIR SROA 2025-07-27 13:21:06 -07:00
inline_default_trait_body.rs Dont resolve instance of root in mir_callgraph_cyclic 2025-07-06 23:01:45 +00:00
inline_default_trait_body.Trait-a.Inline.panic-abort.diff Dont resolve instance of root in mir_callgraph_cyclic 2025-07-06 23:01:45 +00:00
inline_default_trait_body.Trait-a.Inline.panic-unwind.diff Dont resolve instance of root in mir_callgraph_cyclic 2025-07-06 23:01:45 +00:00
inline_default_trait_body.Trait-b.Inline.panic-abort.diff Dont resolve instance of root in mir_callgraph_cyclic 2025-07-06 23:01:45 +00:00
inline_default_trait_body.Trait-b.Inline.panic-unwind.diff Dont resolve instance of root in mir_callgraph_cyclic 2025-07-06 23:01:45 +00:00
inline_double_cycle.a.Inline.panic-abort.diff Be a bit more careful around exotic cycles in in the inliner 2025-07-18 16:35:55 +00:00
inline_double_cycle.a.Inline.panic-unwind.diff Be a bit more careful around exotic cycles in in the inliner 2025-07-18 16:35:55 +00:00
inline_double_cycle.b.Inline.panic-abort.diff Be a bit more careful around exotic cycles in in the inliner 2025-07-18 16:35:55 +00:00
inline_double_cycle.b.Inline.panic-unwind.diff Be a bit more careful around exotic cycles in in the inliner 2025-07-18 16:35:55 +00:00
inline_double_cycle.rs Be a bit more careful around exotic cycles in in the inliner 2025-07-18 16:35:55 +00:00
inline_fn_call_for_fn_def.rs Inline FnOnce once again 2025-03-03 23:30:18 +00:00
inline_fn_call_for_fn_def.test.Inline.diff Inline FnOnce once again 2025-03-03 23:30:18 +00:00
inline_generically_if_sized.call.Inline.diff At debuginfo=0, don't inline debuginfo when inlining 2024-04-18 09:35:35 -07:00
inline_generically_if_sized.rs mir-opt tests: rename unit-test -> test-mir-pass 2024-04-20 13:19:34 +02:00
inline_var_debug_info_kept.rs Test MIR inlined var debug info 2025-06-28 12:20:45 +01:00
issue_38669.main.SimplifyCfg-initial.after.mir Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
issue_38669.rs Allow to run filecheck in mir-opt tests. 2023-10-19 15:51:52 +00:00
issue_41110.main.ElaborateDrops.panic-abort.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
issue_41110.main.ElaborateDrops.panic-unwind.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
issue_41110.rs rustfmt tests/mir-opt. 2024-06-03 14:17:16 +10:00
issue_41110.test.ElaborateDrops.panic-abort.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
issue_41110.test.ElaborateDrops.panic-unwind.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
issue_41697.rs rustfmt tests/mir-opt. 2024-06-03 14:17:16 +10:00
issue_41697.{impl#0}-{constant#0}.SimplifyCfg-promote-consts.after.mir rustfmt tests/mir-opt. 2024-06-03 14:17:16 +10:00
issue_41888.main.ElaborateDrops.panic-abort.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
issue_41888.main.ElaborateDrops.panic-unwind.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
issue_41888.rs rustfmt tests/mir-opt. 2024-06-03 14:17:16 +10:00
issue_62289.rs turn rustc_box into an intrinsic 2025-01-03 12:01:31 +01:00
issue_62289.test.ElaborateDrops.before.panic-abort.mir Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
issue_62289.test.ElaborateDrops.before.panic-unwind.mir Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
issue_72181.bar.built.after.mir Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
issue_72181.foo.built.after.mir Reapply "Auto merge of #133734 - scottmcm:lower-indexing-to-ptrmetadata, r=davidtwco,RalfJung" 2025-01-27 23:42:47 +00:00
issue_72181.main.built.after.mir Reapply "Auto merge of #133734 - scottmcm:lower-indexing-to-ptrmetadata, r=davidtwco,RalfJung" 2025-01-27 23:42:47 +00:00
issue_72181.rs rustfmt tests/mir-opt. 2024-06-03 14:17:16 +10:00
issue_72181_1.f.built.after.mir Return the otherwise_block instead of passing it as argument 2024-07-09 22:47:35 +02:00
issue_72181_1.main.built.after.mir bless mir-opt tests 2024-10-17 10:22:55 +02:00
issue_72181_1.rs rustfmt tests/mir-opt. 2024-06-03 14:17:16 +10:00
issue_76432.rs Replace NormalizeArrayLen with GVN 2024-06-20 22:16:59 -07:00
issue_76432.test.SimplifyComparisonIntegral.panic-abort.diff Give an AllocId to ConstValue::Slice. 2025-07-23 23:54:37 +00:00
issue_76432.test.SimplifyComparisonIntegral.panic-unwind.diff Give an AllocId to ConstValue::Slice. 2025-07-23 23:54:37 +00:00
issue_78192.f.InstSimplify-after-simplifycfg.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
issue_78192.rs Perform instsimplify before inline to eliminate some trivial calls 2024-07-29 18:14:35 +08:00
issue_91633.bar.built.after.mir Return the otherwise_block instead of passing it as argument 2024-07-09 22:47:35 +02:00
issue_91633.foo.built.after.mir Represent the raw pointer for a array length check as a new kind of fake borrow 2025-01-28 00:00:33 +00:00
issue_91633.fun.built.after.mir Reapply "Auto merge of #133734 - scottmcm:lower-indexing-to-ptrmetadata, r=davidtwco,RalfJung" 2025-01-27 23:42:47 +00:00
issue_91633.hey.built.after.mir Return the otherwise_block instead of passing it as argument 2024-07-09 22:47:35 +02:00
issue_91633.rs rustfmt tests/mir-opt. 2024-06-03 14:17:16 +10:00
issue_99325.main.built.after.32bit.mir bless mir-opt tests 2024-10-17 10:22:55 +02:00
issue_99325.main.built.after.64bit.mir bless mir-opt tests 2024-10-17 10:22:55 +02:00
issue_99325.rs Split part of adt_const_params into unsized_const_params 2024-07-17 11:01:29 +01:00
issue_101973.inner.GVN.panic-abort.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
issue_101973.inner.GVN.panic-unwind.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
issue_101973.rs mir-opt tests: rename unit-test -> test-mir-pass 2024-04-20 13:19:34 +02:00
issue_104451_unwindable_intrinsics.main.AbortUnwindingCalls.after.panic-abort.mir Remove MIR unsafe check 2024-04-03 08:50:12 +00:00
issue_104451_unwindable_intrinsics.main.AbortUnwindingCalls.after.panic-unwind.mir Remove MIR unsafe check 2024-04-03 08:50:12 +00:00
issue_104451_unwindable_intrinsics.rs rustfmt tests/mir-opt. 2024-06-03 14:17:16 +10:00
issue_120925_unsafefncast.rs Add test. 2024-02-13 17:21:53 +00:00
jump_threading.aggregate.JumpThreading.panic-abort.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
jump_threading.aggregate.JumpThreading.panic-unwind.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
jump_threading.aggregate_copy.JumpThreading.panic-abort.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
jump_threading.aggregate_copy.JumpThreading.panic-unwind.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
jump_threading.assume.JumpThreading.panic-abort.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
jump_threading.assume.JumpThreading.panic-unwind.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
jump_threading.bitwise_not.JumpThreading.panic-abort.diff JumpThreading: Re-enable and fix Not ops on non-booleans 2025-04-13 20:29:49 +00:00
jump_threading.bitwise_not.JumpThreading.panic-unwind.diff JumpThreading: Re-enable and fix Not ops on non-booleans 2025-04-13 20:29:49 +00:00
jump_threading.custom_discr.JumpThreading.panic-abort.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
jump_threading.custom_discr.JumpThreading.panic-unwind.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
jump_threading.dfa.JumpThreading.panic-abort.diff Set up false edges in lower_match_tree 2024-07-29 09:50:07 +02:00
jump_threading.dfa.JumpThreading.panic-unwind.diff Set up false edges in lower_match_tree 2024-07-29 09:50:07 +02:00
jump_threading.disappearing_bb.JumpThreading.panic-abort.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
jump_threading.disappearing_bb.JumpThreading.panic-unwind.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
jump_threading.duplicate_chain.JumpThreading.panic-abort.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
jump_threading.duplicate_chain.JumpThreading.panic-unwind.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
jump_threading.floats.JumpThreading.panic-abort.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
jump_threading.floats.JumpThreading.panic-unwind.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
jump_threading.identity.JumpThreading.panic-abort.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
jump_threading.identity.JumpThreading.panic-unwind.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
jump_threading.logical_not.JumpThreading.panic-abort.diff JumpThreading: Re-enable and fix Not ops on non-booleans 2025-04-13 20:29:49 +00:00
jump_threading.logical_not.JumpThreading.panic-unwind.diff JumpThreading: Re-enable and fix Not ops on non-booleans 2025-04-13 20:29:49 +00:00
jump_threading.multiple_match.JumpThreading.panic-abort.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
jump_threading.multiple_match.JumpThreading.panic-unwind.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
jump_threading.mutable_ref.JumpThreading.panic-abort.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
jump_threading.mutable_ref.JumpThreading.panic-unwind.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
jump_threading.mutate_discriminant.JumpThreading.panic-abort.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
jump_threading.mutate_discriminant.JumpThreading.panic-unwind.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
jump_threading.renumbered_bb.JumpThreading.panic-abort.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
jump_threading.renumbered_bb.JumpThreading.panic-unwind.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
jump_threading.rs JumpThreading: Re-enable and fix Not ops on non-booleans 2025-04-13 20:29:49 +00:00
jump_threading.too_complex.JumpThreading.panic-abort.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
jump_threading.too_complex.JumpThreading.panic-unwind.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
loop_test.main.SimplifyCfg-promote-consts.after.mir Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
loop_test.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
lower_array_len.array_bound.GVN.panic-abort.diff Reapply "Auto merge of #133734 - scottmcm:lower-indexing-to-ptrmetadata, r=davidtwco,RalfJung" 2025-01-27 23:42:47 +00:00
lower_array_len.array_bound.GVN.panic-unwind.diff Reapply "Auto merge of #133734 - scottmcm:lower-indexing-to-ptrmetadata, r=davidtwco,RalfJung" 2025-01-27 23:42:47 +00:00
lower_array_len.array_bound_mut.GVN.panic-abort.diff Reapply "Auto merge of #133734 - scottmcm:lower-indexing-to-ptrmetadata, r=davidtwco,RalfJung" 2025-01-27 23:42:47 +00:00
lower_array_len.array_bound_mut.GVN.panic-unwind.diff Reapply "Auto merge of #133734 - scottmcm:lower-indexing-to-ptrmetadata, r=davidtwco,RalfJung" 2025-01-27 23:42:47 +00:00
lower_array_len.array_len.GVN.panic-abort.diff be even more precise about "cast" vs "coercion" 2024-09-24 23:12:02 +02:00
lower_array_len.array_len.GVN.panic-unwind.diff be even more precise about "cast" vs "coercion" 2024-09-24 23:12:02 +02:00
lower_array_len.array_len_by_value.GVN.panic-abort.diff be even more precise about "cast" vs "coercion" 2024-09-24 23:12:02 +02:00
lower_array_len.array_len_by_value.GVN.panic-unwind.diff be even more precise about "cast" vs "coercion" 2024-09-24 23:12:02 +02:00
lower_array_len.array_len_raw.GVN.panic-abort.diff be even more precise about "cast" vs "coercion" 2024-09-24 23:12:02 +02:00
lower_array_len.array_len_raw.GVN.panic-unwind.diff be even more precise about "cast" vs "coercion" 2024-09-24 23:12:02 +02:00
lower_array_len.array_len_reborrow.GVN.panic-abort.diff be even more precise about "cast" vs "coercion" 2024-09-24 23:12:02 +02:00
lower_array_len.array_len_reborrow.GVN.panic-unwind.diff be even more precise about "cast" vs "coercion" 2024-09-24 23:12:02 +02:00
lower_array_len.rs Update mir-opt filechecks 2024-08-18 15:52:23 -07:00
lower_intrinsics.align_of.LowerIntrinsics.panic-abort.diff intrinsics: rename min_align_of to align_of 2025-06-12 17:50:25 +02:00
lower_intrinsics.align_of.LowerIntrinsics.panic-unwind.diff intrinsics: rename min_align_of to align_of 2025-06-12 17:50:25 +02:00
lower_intrinsics.assume.LowerIntrinsics.panic-abort.diff Remove MIR unsafe check 2024-04-03 08:50:12 +00:00
lower_intrinsics.assume.LowerIntrinsics.panic-unwind.diff Remove MIR unsafe check 2024-04-03 08:50:12 +00:00
lower_intrinsics.discriminant.LowerIntrinsics.panic-abort.diff MIR printing: print the path of uneval'd const; refer to promoteds in a consistent way 2024-03-10 14:59:41 +01:00
lower_intrinsics.discriminant.LowerIntrinsics.panic-unwind.diff MIR printing: print the path of uneval'd const; refer to promoteds in a consistent way 2024-03-10 14:59:41 +01:00
lower_intrinsics.f_copy_nonoverlapping.LowerIntrinsics.panic-abort.diff make std::intrinsic functions actually be intrinsics 2025-05-20 08:09:16 +02:00
lower_intrinsics.f_copy_nonoverlapping.LowerIntrinsics.panic-unwind.diff make std::intrinsic functions actually be intrinsics 2025-05-20 08:09:16 +02:00
lower_intrinsics.forget.LowerIntrinsics.panic-abort.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
lower_intrinsics.forget.LowerIntrinsics.panic-unwind.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
lower_intrinsics.get_metadata.LowerIntrinsics.panic-abort.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
lower_intrinsics.get_metadata.LowerIntrinsics.panic-unwind.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
lower_intrinsics.make_pointers.LowerIntrinsics.panic-abort.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
lower_intrinsics.make_pointers.LowerIntrinsics.panic-unwind.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
lower_intrinsics.non_const.LowerIntrinsics.panic-abort.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
lower_intrinsics.non_const.LowerIntrinsics.panic-unwind.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
lower_intrinsics.ptr_offset.LowerIntrinsics.panic-abort.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
lower_intrinsics.ptr_offset.LowerIntrinsics.panic-unwind.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
lower_intrinsics.read_via_copy_primitive.LowerIntrinsics.panic-abort.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
lower_intrinsics.read_via_copy_primitive.LowerIntrinsics.panic-unwind.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
lower_intrinsics.read_via_copy_uninhabited.LowerIntrinsics.panic-abort.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
lower_intrinsics.read_via_copy_uninhabited.LowerIntrinsics.panic-unwind.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
lower_intrinsics.rs intrinsics: rename min_align_of to align_of 2025-06-12 17:50:25 +02:00
lower_intrinsics.size_of.LowerIntrinsics.panic-abort.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
lower_intrinsics.size_of.LowerIntrinsics.panic-unwind.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
lower_intrinsics.slice_get.LowerIntrinsics.panic-abort.diff slice.get(i) should use a slice projection in MIR, like slice[i] does 2025-05-30 12:04:41 -07:00
lower_intrinsics.slice_get.LowerIntrinsics.panic-unwind.diff slice.get(i) should use a slice projection in MIR, like slice[i] does 2025-05-30 12:04:41 -07:00
lower_intrinsics.three_way_compare_char.LowerIntrinsics.panic-abort.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
lower_intrinsics.three_way_compare_char.LowerIntrinsics.panic-unwind.diff Use BinOp::Cmp for iNN::signum 2025-03-01 13:06:51 -08:00
lower_intrinsics.three_way_compare_signed.LowerIntrinsics.panic-abort.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
lower_intrinsics.three_way_compare_signed.LowerIntrinsics.panic-unwind.diff Use BinOp::Cmp for iNN::signum 2025-03-01 13:06:51 -08:00
lower_intrinsics.three_way_compare_unsigned.LowerIntrinsics.panic-abort.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
lower_intrinsics.three_way_compare_unsigned.LowerIntrinsics.panic-unwind.diff Use BinOp::Cmp for iNN::signum 2025-03-01 13:06:51 -08:00
lower_intrinsics.transmute_inhabited.LowerIntrinsics.panic-abort.diff document & impl the transmutation modeled by BikeshedIntrinsicFrom 2024-08-23 14:37:36 +00:00
lower_intrinsics.transmute_inhabited.LowerIntrinsics.panic-unwind.diff document & impl the transmutation modeled by BikeshedIntrinsicFrom 2024-08-23 14:37:36 +00:00
lower_intrinsics.transmute_ref_dst.LowerIntrinsics.panic-abort.diff document & impl the transmutation modeled by BikeshedIntrinsicFrom 2024-08-23 14:37:36 +00:00
lower_intrinsics.transmute_ref_dst.LowerIntrinsics.panic-unwind.diff document & impl the transmutation modeled by BikeshedIntrinsicFrom 2024-08-23 14:37:36 +00:00
lower_intrinsics.transmute_to_box_uninhabited.LowerIntrinsics.panic-abort.diff Transmute from NonNull to pointer when elaborating a box deref (MCP807) 2025-01-06 18:43:40 -08:00
lower_intrinsics.transmute_to_box_uninhabited.LowerIntrinsics.panic-unwind.diff Transmute from NonNull to pointer when elaborating a box deref (MCP807) 2025-01-06 18:43:40 -08:00
lower_intrinsics.transmute_to_mut_uninhabited.LowerIntrinsics.panic-abort.diff document & impl the transmutation modeled by BikeshedIntrinsicFrom 2024-08-23 14:37:36 +00:00
lower_intrinsics.transmute_to_mut_uninhabited.LowerIntrinsics.panic-unwind.diff document & impl the transmutation modeled by BikeshedIntrinsicFrom 2024-08-23 14:37:36 +00:00
lower_intrinsics.transmute_to_ref_uninhabited.LowerIntrinsics.panic-abort.diff document & impl the transmutation modeled by BikeshedIntrinsicFrom 2024-08-23 14:37:36 +00:00
lower_intrinsics.transmute_to_ref_uninhabited.LowerIntrinsics.panic-unwind.diff document & impl the transmutation modeled by BikeshedIntrinsicFrom 2024-08-23 14:37:36 +00:00
lower_intrinsics.transmute_uninhabited.LowerIntrinsics.panic-abort.diff document & impl the transmutation modeled by BikeshedIntrinsicFrom 2024-08-23 14:37:36 +00:00
lower_intrinsics.transmute_uninhabited.LowerIntrinsics.panic-unwind.diff document & impl the transmutation modeled by BikeshedIntrinsicFrom 2024-08-23 14:37:36 +00:00
lower_intrinsics.unchecked.LowerIntrinsics.panic-abort.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
lower_intrinsics.unchecked.LowerIntrinsics.panic-unwind.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
lower_intrinsics.unreachable.LowerIntrinsics.panic-abort.diff Remove MIR unsafe check 2024-04-03 08:50:12 +00:00
lower_intrinsics.unreachable.LowerIntrinsics.panic-unwind.diff Remove MIR unsafe check 2024-04-03 08:50:12 +00:00
lower_intrinsics.with_overflow.LowerIntrinsics.panic-abort.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
lower_intrinsics.with_overflow.LowerIntrinsics.panic-unwind.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
lower_intrinsics.wrapping.LowerIntrinsics.panic-abort.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
lower_intrinsics.wrapping.LowerIntrinsics.panic-unwind.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
lower_intrinsics.write_via_move_string.LowerIntrinsics.panic-abort.diff Remove MIR unsafe check 2024-04-03 08:50:12 +00:00
lower_intrinsics.write_via_move_string.LowerIntrinsics.panic-unwind.diff Remove MIR unsafe check 2024-04-03 08:50:12 +00:00
lower_slice_len.bound.LowerSliceLenCalls.panic-abort.diff Reapply "Auto merge of #133734 - scottmcm:lower-indexing-to-ptrmetadata, r=davidtwco,RalfJung" 2025-01-27 23:42:47 +00:00
lower_slice_len.bound.LowerSliceLenCalls.panic-unwind.diff Reapply "Auto merge of #133734 - scottmcm:lower-indexing-to-ptrmetadata, r=davidtwco,RalfJung" 2025-01-27 23:42:47 +00:00
lower_slice_len.rs rustfmt tests/mir-opt. 2024-06-03 14:17:16 +10:00
match_arm_scopes.complicated_match.panic-abort.SimplifyCfg-initial.after-ElaborateDrops.after.diff base drop order on the first sub-branch 2025-08-06 12:13:12 -07:00
match_arm_scopes.complicated_match.panic-unwind.SimplifyCfg-initial.after-ElaborateDrops.after.diff base drop order on the first sub-branch 2025-08-06 12:13:12 -07:00
match_arm_scopes.rs Allow to run filecheck in mir-opt tests. 2023-10-19 15:51:52 +00:00
matches_reduce_branches.bar.MatchBranchSimplification.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
matches_reduce_branches.foo.MatchBranchSimplification.diff Update mir-opt expected output for matches! macro 2025-07-25 22:34:55 +02:00
matches_reduce_branches.match_i128_u128.MatchBranchSimplification.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
matches_reduce_branches.match_nested_if.MatchBranchSimplification.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
matches_reduce_branches.match_non_int_failed.MatchBranchSimplification.diff mir-opt: Do not transform non-int type in match_branches 2025-05-26 18:15:54 +08:00
matches_reduce_branches.match_sext_i8_i16.MatchBranchSimplification.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
matches_reduce_branches.match_sext_i8_i16_failed.MatchBranchSimplification.diff Simplify match based on the cast result of IntToInt. 2024-08-03 10:55:43 +08:00
matches_reduce_branches.match_sext_i8_u16.MatchBranchSimplification.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
matches_reduce_branches.match_sext_i8_u16_failed.MatchBranchSimplification.diff Simplify match based on the cast result of IntToInt. 2024-08-03 10:55:43 +08:00
matches_reduce_branches.match_trunc_i16_i8.MatchBranchSimplification.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
matches_reduce_branches.match_trunc_i16_i8_failed.MatchBranchSimplification.diff Simplify match based on the cast result of IntToInt. 2024-08-03 10:55:43 +08:00
matches_reduce_branches.match_trunc_i16_u8.MatchBranchSimplification.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
matches_reduce_branches.match_trunc_i16_u8_failed.MatchBranchSimplification.diff Simplify match based on the cast result of IntToInt. 2024-08-03 10:55:43 +08:00
matches_reduce_branches.match_trunc_u16_i8.MatchBranchSimplification.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
matches_reduce_branches.match_trunc_u16_i8_failed.MatchBranchSimplification.diff Simplify match based on the cast result of IntToInt. 2024-08-03 10:55:43 +08:00
matches_reduce_branches.match_trunc_u16_u8.MatchBranchSimplification.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
matches_reduce_branches.match_trunc_u16_u8_failed.MatchBranchSimplification.diff Simplify match based on the cast result of IntToInt. 2024-08-03 10:55:43 +08:00
matches_reduce_branches.match_u8_i8.MatchBranchSimplification.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
matches_reduce_branches.match_u8_i8_2.MatchBranchSimplification.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
matches_reduce_branches.match_u8_i8_2_failed.MatchBranchSimplification.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
matches_reduce_branches.match_u8_i8_failed.MatchBranchSimplification.diff Simplify match based on the cast result of IntToInt. 2024-08-03 10:55:43 +08:00
matches_reduce_branches.match_u8_i8_failed_len_1.MatchBranchSimplification.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
matches_reduce_branches.match_u8_i8_failed_len_2.MatchBranchSimplification.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
matches_reduce_branches.match_u8_i8_fallback.MatchBranchSimplification.diff Simplify match based on the cast result of IntToInt. 2024-08-03 10:55:43 +08:00
matches_reduce_branches.match_zext_u8_i16.MatchBranchSimplification.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
matches_reduce_branches.match_zext_u8_i16_failed.MatchBranchSimplification.diff Simplify match based on the cast result of IntToInt. 2024-08-03 10:55:43 +08:00
matches_reduce_branches.match_zext_u8_u16.MatchBranchSimplification.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
matches_reduce_branches.match_zext_u8_u16_failed.MatchBranchSimplification.diff Simplify match based on the cast result of IntToInt. 2024-08-03 10:55:43 +08:00
matches_reduce_branches.my_is_some.MatchBranchSimplification.diff MatchBranchSimplification: Consider empty-unreachable otherwise branch 2024-12-27 10:57:46 +00:00
matches_reduce_branches.rs Rollup merge of #141494 - dianqk:match-br-non-int, r=wesleywiser 2025-05-30 13:52:26 -07:00
matches_u8.exhaustive_match.MatchBranchSimplification.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
matches_u8.exhaustive_match_i8.MatchBranchSimplification.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
matches_u8.rs Re-enable SimplifyToExp in match_branches. 2024-08-03 10:55:46 +08:00
multiple_return_terminators.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
multiple_return_terminators.test.MultipleReturnTerminators.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
no_drop_for_inactive_variant.rs simplify_cfg: rename some passes so that they make more sense 2024-03-17 19:59:15 +01:00
no_drop_for_inactive_variant.unwrap.SimplifyCfg-pre-optimizations.after.panic-abort.mir Give an AllocId to ConstValue::Slice. 2025-07-23 23:54:37 +00:00
no_drop_for_inactive_variant.unwrap.SimplifyCfg-pre-optimizations.after.panic-unwind.mir Give an AllocId to ConstValue::Slice. 2025-07-23 23:54:37 +00:00
no_spurious_drop_after_call.main.ElaborateDrops.before.panic-abort.mir Give an AllocId to ConstValue::Slice. 2025-07-23 23:54:37 +00:00
no_spurious_drop_after_call.main.ElaborateDrops.before.panic-unwind.mir Give an AllocId to ConstValue::Slice. 2025-07-23 23:54:37 +00:00
no_spurious_drop_after_call.rs Allow to run filecheck in mir-opt tests. 2023-10-19 15:51:52 +00:00
nrvo_miscompile_111005.rs Reformat mir! macro invocations to use braces. 2024-06-03 13:24:44 +10:00
nrvo_miscompile_111005.wrong.RenameReturnPlace.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
nrvo_simple.nrvo.RenameReturnPlace.panic-abort.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
nrvo_simple.nrvo.RenameReturnPlace.panic-unwind.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
nrvo_simple.rs rustfmt tests/mir-opt. 2024-06-03 14:17:16 +10:00
null_check_references.rs Insert null checks for pointer dereferences when debug assertions are enabled 2025-01-31 11:13:34 +00:00
optimize_none.rs Disable non-required MIR opts with optimize(none) 2025-01-23 17:40:41 +00:00
or_pattern.rs Add tests 2024-06-16 18:23:48 +02:00
or_pattern.shortcut_second_or.SimplifyCfg-initial.after.mir Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
or_pattern.single_switchint.SimplifyCfg-initial.after.mir Do not optimize out SwitchInt before borrowck, or if Zmir-preserve-ub 2025-04-08 21:05:20 +00:00
otherwise_drops.result_ok.ElaborateDrops.diff Apply effects to otherwise edge in dataflow analysis 2025-07-08 18:15:05 -05:00
otherwise_drops.rs Apply effects to otherwise edge in dataflow analysis 2025-07-08 18:15:05 -05:00
packed_struct_drop_aligned.main.SimplifyCfg-pre-optimizations.after.panic-abort.mir simplify_cfg: rename some passes so that they make more sense 2024-03-17 19:59:15 +01:00
packed_struct_drop_aligned.main.SimplifyCfg-pre-optimizations.after.panic-unwind.mir simplify_cfg: rename some passes so that they make more sense 2024-03-17 19:59:15 +01:00
packed_struct_drop_aligned.rs rustfmt tests/mir-opt. 2024-06-03 14:17:16 +10:00
pattern_types.main.PreCodegen.after.mir Hide the end of ranges in pretty printing if it's also the maximum of the type 2025-03-06 10:50:23 +00:00
pattern_types.rs Hide the end of ranges in pretty printing if it's also the maximum of the type 2025-03-06 10:50:23 +00:00
read_from_trivial_switch.main.SimplifyCfg-initial.diff Do not optimize out SwitchInt before borrowck, or if Zmir-preserve-ub 2025-04-08 21:05:20 +00:00
read_from_trivial_switch.rs Do not optimize out SwitchInt before borrowck, or if Zmir-preserve-ub 2025-04-08 21:05:20 +00:00
README.md mir-opt tests: rename unit-test -> test-mir-pass 2024-04-20 13:19:34 +02:00
reference_prop.debuginfo.ReferencePropagation.diff Revert "Auto merge of #134330 - scottmcm:no-more-rvalue-len, r=matthewjasper" 2025-01-18 22:09:34 +00:00
reference_prop.dominate_storage.ReferencePropagation.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
reference_prop.maybe_dead.ReferencePropagation.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
reference_prop.multiple_storage.ReferencePropagation.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
reference_prop.mut_raw_then_mut_shr.ReferencePropagation.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
reference_prop.read_through_raw.ReferencePropagation.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
reference_prop.reference_propagation.ReferencePropagation.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
reference_prop.reference_propagation_const_ptr.ReferencePropagation.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
reference_prop.reference_propagation_mut.ReferencePropagation.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
reference_prop.reference_propagation_mut_ptr.ReferencePropagation.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
reference_prop.rs Auto merge of #122551 - RayMuir:copy_fmt, r=saethlin 2024-08-19 23:10:46 +00:00
reference_prop.unique_with_copies.ReferencePropagation.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
remove_fake_borrows.match_guard.CleanupPostBorrowck.panic-abort.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
remove_fake_borrows.match_guard.CleanupPostBorrowck.panic-unwind.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
remove_fake_borrows.rs Allow to run filecheck in mir-opt tests. 2023-10-19 15:51:52 +00:00
remove_never_const.no_codegen.PreCodegen.after.mir Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
remove_never_const.rs Run Miri and mir-opt tests without a target linker 2024-01-06 14:17:33 -05:00
remove_storage_markers.main.RemoveStorageMarkers.panic-abort.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
remove_storage_markers.main.RemoveStorageMarkers.panic-unwind.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
remove_storage_markers.rs mir-opt tests: rename unit-test -> test-mir-pass 2024-04-20 13:19:34 +02:00
remove_unneeded_drops.cannot_opt_generic.RemoveUnneededDrops.diff Fortify RemoveUnneededDrops test. 2025-07-29 00:41:55 +00:00
remove_unneeded_drops.dont_opt.RemoveUnneededDrops.diff Fortify RemoveUnneededDrops test. 2025-07-29 00:41:55 +00:00
remove_unneeded_drops.opt.RemoveUnneededDrops.diff Fortify RemoveUnneededDrops test. 2025-07-29 00:41:55 +00:00
remove_unneeded_drops.opt_generic_copy.RemoveUnneededDrops.diff Fortify RemoveUnneededDrops test. 2025-07-29 00:41:55 +00:00
remove_unneeded_drops.rs Fortify RemoveUnneededDrops test. 2025-07-29 00:41:55 +00:00
remove_zsts.get_union.RemoveZsts.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
remove_zsts.remove_generic_array.RemoveZsts.diff Address PR feedback 2025-01-11 15:56:58 -08:00
remove_zsts.rs Address PR feedback 2025-01-11 15:56:58 -08:00
retag.array_casts.SimplifyCfg-pre-optimizations.after.panic-abort.mir Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
retag.array_casts.SimplifyCfg-pre-optimizations.after.panic-unwind.mir Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
retag.box_to_raw_mut.SimplifyCfg-pre-optimizations.after.panic-abort.mir Transmute from NonNull to pointer when elaborating a box deref (MCP807) 2025-01-06 18:43:40 -08:00
retag.box_to_raw_mut.SimplifyCfg-pre-optimizations.after.panic-unwind.mir Transmute from NonNull to pointer when elaborating a box deref (MCP807) 2025-01-06 18:43:40 -08:00
retag.core.ptr-drop_in_place.Test.SimplifyCfg-make_shim.after.panic-abort.mir remove intrinsics::drop_in_place 2025-04-22 14:06:09 +02:00
retag.core.ptr-drop_in_place.Test.SimplifyCfg-make_shim.after.panic-unwind.mir remove intrinsics::drop_in_place 2025-04-22 14:06:09 +02:00
retag.main-{closure#0}.SimplifyCfg-pre-optimizations.after.panic-abort.mir Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
retag.main-{closure#0}.SimplifyCfg-pre-optimizations.after.panic-unwind.mir Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
retag.main.SimplifyCfg-pre-optimizations.after.panic-abort.mir be even more precise about "cast" vs "coercion" 2024-09-24 23:12:02 +02:00
retag.main.SimplifyCfg-pre-optimizations.after.panic-unwind.mir be even more precise about "cast" vs "coercion" 2024-09-24 23:12:02 +02:00
retag.rs rustfmt tests/mir-opt. 2024-06-03 14:17:16 +10:00
retag.{impl#0}-foo.SimplifyCfg-pre-optimizations.after.panic-abort.mir simplify_cfg: rename some passes so that they make more sense 2024-03-17 19:59:15 +01:00
retag.{impl#0}-foo.SimplifyCfg-pre-optimizations.after.panic-unwind.mir simplify_cfg: rename some passes so that they make more sense 2024-03-17 19:59:15 +01:00
retag.{impl#0}-foo_shr.SimplifyCfg-pre-optimizations.after.panic-abort.mir Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
retag.{impl#0}-foo_shr.SimplifyCfg-pre-optimizations.after.panic-unwind.mir Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
return_an_array.rs rustfmt tests/mir-opt. 2024-06-03 14:17:16 +10:00
separate_const_switch.identity.JumpThreading.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
separate_const_switch.rs Remove feature(control_flow_enum) in tests 2024-09-25 19:00:19 -07:00
separate_const_switch.too_complex.JumpThreading.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
set_no_discriminant.f.JumpThreading.diff Variants::Single: do not use invalid VariantIdx for uninhabited enums 2024-12-18 11:00:21 +01:00
set_no_discriminant.generic.JumpThreading.diff Variants::Single: do not use invalid VariantIdx for uninhabited enums 2024-12-18 11:00:21 +01:00
set_no_discriminant.rs Variants::Single: do not use invalid VariantIdx for uninhabited enums 2024-12-18 11:00:21 +01:00
simplify_aggregate_to_copy_miscompile.foo.GVN.diff Invalid dereferences for all non-local mutations 2025-04-03 21:59:49 +08:00
simplify_aggregate_to_copy_miscompile.rs Invalid dereferences for all non-local mutations 2025-04-03 21:59:49 +08:00
simplify_aggregate_to_copy_miscompile.set_discriminant.GVN.diff Invalid dereferences for all non-local mutations 2025-04-03 21:59:49 +08:00
simplify_cfg.main.SimplifyCfg-initial.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
simplify_cfg.main.SimplifyCfg-post-analysis.diff simplify_cfg: rename some passes so that they make more sense 2024-03-17 19:59:15 +01:00
simplify_cfg.rs simplify_cfg: rename some passes so that they make more sense 2024-03-17 19:59:15 +01:00
simplify_dead_blocks.assert_nonzero_nonmax.SimplifyCfg-after-unreachable-enum-branching.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
simplify_dead_blocks.rs Update mir-opt filechecks 2024-08-18 15:52:23 -07:00
simplify_if.main.SimplifyConstCondition-after-const-prop.panic-abort.diff Reorder early post-inlining passes. 2024-01-07 01:42:57 +00:00
simplify_if.main.SimplifyConstCondition-after-const-prop.panic-unwind.diff Reorder early post-inlining passes. 2024-01-07 01:42:57 +00:00
simplify_if.rs Enable simplify MIR-opt test 2024-01-28 13:50:20 -06:00
simplify_locals.c.SimplifyLocals-before-const-prop.diff be even more precise about "cast" vs "coercion" 2024-09-24 23:12:02 +02:00
simplify_locals.d1.SimplifyLocals-before-const-prop.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
simplify_locals.d2.SimplifyLocals-before-const-prop.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
simplify_locals.expose_provenance.SimplifyLocals-before-const-prop.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
simplify_locals.r.SimplifyLocals-before-const-prop.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
simplify_locals.rs rustfmt tests/mir-opt. 2024-06-03 14:17:16 +10:00
simplify_locals.t1.SimplifyLocals-before-const-prop.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
simplify_locals.t2.SimplifyLocals-before-const-prop.diff Remove MIR unsafe check 2024-04-03 08:50:12 +00:00
simplify_locals.t3.SimplifyLocals-before-const-prop.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
simplify_locals.t4.SimplifyLocals-before-const-prop.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
simplify_locals_fixedpoint.foo.SimplifyLocals-final.panic-abort.diff mir-opt: execute MatchBranchSimplification after GVN 2025-04-21 21:46:44 +08:00
simplify_locals_fixedpoint.foo.SimplifyLocals-final.panic-unwind.diff mir-opt: execute MatchBranchSimplification after GVN 2025-04-21 21:46:44 +08:00
simplify_locals_fixedpoint.rs rustfmt tests/mir-opt. 2024-06-03 14:17:16 +10:00
simplify_locals_removes_unused_consts.main.SimplifyLocals-before-const-prop.panic-abort.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
simplify_locals_removes_unused_consts.main.SimplifyLocals-before-const-prop.panic-unwind.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
simplify_locals_removes_unused_consts.rs mir-opt tests: rename unit-test -> test-mir-pass 2024-04-20 13:19:34 +02:00
simplify_locals_removes_unused_discriminant_reads.map.SimplifyLocals-before-const-prop.diff Start blocks eagerly 2024-02-12 17:37:05 +01:00
simplify_locals_removes_unused_discriminant_reads.rs mir-opt tests: rename unit-test -> test-mir-pass 2024-04-20 13:19:34 +02:00
simplify_match.main.GVN.panic-abort.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
simplify_match.main.GVN.panic-unwind.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
simplify_match.rs rustfmt tests/mir-opt. 2024-06-03 14:17:16 +10:00
single_use_consts.assign_const_to_return.SingleUseConsts.panic-abort.diff Add SingleUseConsts mir-opt pass 2024-06-10 00:06:02 -07:00
single_use_consts.assign_const_to_return.SingleUseConsts.panic-unwind.diff Add SingleUseConsts mir-opt pass 2024-06-10 00:06:02 -07:00
single_use_consts.if_const.SingleUseConsts.panic-abort.diff Add SingleUseConsts mir-opt pass 2024-06-10 00:06:02 -07:00
single_use_consts.if_const.SingleUseConsts.panic-unwind.diff Add SingleUseConsts mir-opt pass 2024-06-10 00:06:02 -07:00
single_use_consts.if_const_debug.SingleUseConsts.panic-abort.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
single_use_consts.if_const_debug.SingleUseConsts.panic-unwind.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
single_use_consts.keep_parameter.SingleUseConsts.panic-abort.diff Add SingleUseConsts mir-opt pass 2024-06-10 00:06:02 -07:00
single_use_consts.keep_parameter.SingleUseConsts.panic-unwind.diff Add SingleUseConsts mir-opt pass 2024-06-10 00:06:02 -07:00
single_use_consts.match_const.SingleUseConsts.panic-abort.diff Give an AllocId to ConstValue::Slice. 2025-07-23 23:54:37 +00:00
single_use_consts.match_const.SingleUseConsts.panic-unwind.diff Give an AllocId to ConstValue::Slice. 2025-07-23 23:54:37 +00:00
single_use_consts.match_const_debug.SingleUseConsts.panic-abort.diff Give an AllocId to ConstValue::Slice. 2025-07-23 23:54:37 +00:00
single_use_consts.match_const_debug.SingleUseConsts.panic-unwind.diff Give an AllocId to ConstValue::Slice. 2025-07-23 23:54:37 +00:00
single_use_consts.never_used_debug.SingleUseConsts.panic-abort.diff Add SingleUseConsts mir-opt pass 2024-06-10 00:06:02 -07:00
single_use_consts.never_used_debug.SingleUseConsts.panic-unwind.diff Add SingleUseConsts mir-opt pass 2024-06-10 00:06:02 -07:00
single_use_consts.rs Add SingleUseConsts mir-opt pass 2024-06-10 00:06:02 -07:00
slice_drop_shim.core.ptr-drop_in_place.[String;42].AddMovesForPackedDrops.before.mir remove intrinsics::drop_in_place 2025-04-22 14:06:09 +02:00
slice_drop_shim.core.ptr-drop_in_place.[String].AddMovesForPackedDrops.before.mir remove intrinsics::drop_in_place 2025-04-22 14:06:09 +02:00
slice_drop_shim.rs Add a mir-opt test for drop shims of arrays 2024-12-14 21:27:23 -08:00
ssa_unreachable_116212.rs Allow to run filecheck in mir-opt tests. 2023-10-19 15:51:52 +00:00
storage_ranges.main.nll.0.mir add borrows to NLL MIR dumps 2024-08-30 07:14:31 +00:00
storage_ranges.rs Allow to run filecheck in mir-opt tests. 2023-10-19 15:51:52 +00:00
strip_debuginfo.rs We don't need NonNull::as_ptr debuginfo 2024-12-10 01:29:43 -08:00
switch_to_self.rs Reformat mir! macro invocations to use braces. 2024-06-03 13:24:44 +10:00
switch_to_self.test.MatchBranchSimplification.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
tail_call_drops.f.built.after.panic-abort.mir don't drop types with no drop glue when tailcalling 2025-01-24 06:45:19 +01:00
tail_call_drops.f.built.after.panic-unwind.mir don't drop types with no drop glue when tailcalling 2025-01-24 06:45:19 +01:00
tail_call_drops.f.ElaborateDrops.panic-abort.diff don't drop types with no drop glue when tailcalling 2025-01-24 06:45:19 +01:00
tail_call_drops.f.ElaborateDrops.panic-unwind.diff don't drop types with no drop glue when tailcalling 2025-01-24 06:45:19 +01:00
tail_call_drops.f_with_arg.built.after.panic-abort.mir Dont print arg span in MIR dump for tail call 2025-08-04 18:35:43 +00:00
tail_call_drops.f_with_arg.built.after.panic-unwind.mir Dont print arg span in MIR dump for tail call 2025-08-04 18:35:43 +00:00
tail_call_drops.f_with_arg.ElaborateDrops.panic-abort.diff Dont print arg span in MIR dump for tail call 2025-08-04 18:35:43 +00:00
tail_call_drops.f_with_arg.ElaborateDrops.panic-unwind.diff Dont print arg span in MIR dump for tail call 2025-08-04 18:35:43 +00:00
tail_call_drops.rs Properly handle drops for tail calls 2024-07-07 17:11:05 +02:00
tail_expr_drop_order_unwind.method_1.ElaborateDrops.after.panic-abort.mir Visit place in BackwardIncompatibleDropHint statement 2025-04-13 22:01:54 +00:00
tail_expr_drop_order_unwind.method_1.ElaborateDrops.after.panic-unwind.mir Visit place in BackwardIncompatibleDropHint statement 2025-04-13 22:01:54 +00:00
tail_expr_drop_order_unwind.rs Separate DropKind::ForLint 2024-12-18 21:58:39 +00:00
tls_access.main.PreCodegen.after.mir Remove MIR unsafe check 2024-04-03 08:50:12 +00:00
tls_access.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
uninhabited_enum.process_never.SimplifyLocals-final.after.mir Be far more strict about what we consider to be a read of never 2024-10-05 19:10:47 -04:00
uninhabited_enum.process_void.SimplifyLocals-final.after.mir Be far more strict about what we consider to be a read of never 2024-10-05 19:10:47 -04:00
uninhabited_enum.rs Be far more strict about what we consider to be a read of never 2024-10-05 19:10:47 -04:00
uninhabited_fallthrough_elimination.eliminate_fallthrough.UnreachableEnumBranching.diff Set up false edges in lower_match_tree 2024-07-29 09:50:07 +02:00
uninhabited_fallthrough_elimination.keep_fallthrough.UnreachableEnumBranching.diff Set up false edges in lower_match_tree 2024-07-29 09:50:07 +02:00
uninhabited_fallthrough_elimination.rs Rename UninhabitedEnumBranching to UnreachableEnumBranching 2024-03-09 14:32:27 +08:00
uninhabited_not_read.main.SimplifyLocals-final.after.mir Fix up tests 2024-10-05 18:36:47 -04:00
uninhabited_not_read.rs Document things a bit more carefully, also account for coercion in check_expr_has_type_or_error 2024-10-05 18:36:47 -04:00
unreachable.as_match.UnreachablePropagation.panic-abort.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
unreachable.as_match.UnreachablePropagation.panic-unwind.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
unreachable.if_let.UnreachablePropagation.panic-abort.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
unreachable.if_let.UnreachablePropagation.panic-unwind.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
unreachable.rs Update tests 2024-08-10 12:07:17 +02:00
unreachable_diverging.main.UnreachablePropagation.panic-abort.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
unreachable_diverging.main.UnreachablePropagation.panic-unwind.diff Bless *all* the mir-opt tests 2024-08-18 16:07:33 -07:00
unreachable_diverging.rs mir-opt tests: rename unit-test -> test-mir-pass 2024-04-20 13:19:34 +02:00
unreachable_enum_branching.byref.UnreachableEnumBranching.panic-abort.diff Give an AllocId to ConstValue::Slice. 2025-07-23 23:54:37 +00:00
unreachable_enum_branching.byref.UnreachableEnumBranching.panic-unwind.diff Give an AllocId to ConstValue::Slice. 2025-07-23 23:54:37 +00:00
unreachable_enum_branching.custom_discriminant.UnreachableEnumBranching.panic-abort.diff Give an AllocId to ConstValue::Slice. 2025-07-23 23:54:37 +00:00
unreachable_enum_branching.custom_discriminant.UnreachableEnumBranching.panic-unwind.diff Give an AllocId to ConstValue::Slice. 2025-07-23 23:54:37 +00:00
unreachable_enum_branching.otherwise_t1.UnreachableEnumBranching.panic-abort.diff Give an AllocId to ConstValue::Slice. 2025-07-23 23:54:37 +00:00
unreachable_enum_branching.otherwise_t1.UnreachableEnumBranching.panic-unwind.diff Give an AllocId to ConstValue::Slice. 2025-07-23 23:54:37 +00:00
unreachable_enum_branching.otherwise_t2.UnreachableEnumBranching.panic-abort.diff Give an AllocId to ConstValue::Slice. 2025-07-23 23:54:37 +00:00
unreachable_enum_branching.otherwise_t2.UnreachableEnumBranching.panic-unwind.diff Give an AllocId to ConstValue::Slice. 2025-07-23 23:54:37 +00:00
unreachable_enum_branching.otherwise_t3.UnreachableEnumBranching.panic-abort.diff Give an AllocId to ConstValue::Slice. 2025-07-23 23:54:37 +00:00
unreachable_enum_branching.otherwise_t3.UnreachableEnumBranching.panic-unwind.diff Give an AllocId to ConstValue::Slice. 2025-07-23 23:54:37 +00:00
unreachable_enum_branching.otherwise_t4.UnreachableEnumBranching.panic-abort.diff Give an AllocId to ConstValue::Slice. 2025-07-23 23:54:37 +00:00
unreachable_enum_branching.otherwise_t4.UnreachableEnumBranching.panic-unwind.diff Give an AllocId to ConstValue::Slice. 2025-07-23 23:54:37 +00:00
unreachable_enum_branching.otherwise_t4_unreachable_default.UnreachableEnumBranching.panic-abort.diff Give an AllocId to ConstValue::Slice. 2025-07-23 23:54:37 +00:00
unreachable_enum_branching.otherwise_t4_unreachable_default.UnreachableEnumBranching.panic-unwind.diff Give an AllocId to ConstValue::Slice. 2025-07-23 23:54:37 +00:00
unreachable_enum_branching.otherwise_t4_unreachable_default_2.UnreachableEnumBranching.panic-abort.diff Give an AllocId to ConstValue::Slice. 2025-07-23 23:54:37 +00:00
unreachable_enum_branching.otherwise_t4_unreachable_default_2.UnreachableEnumBranching.panic-unwind.diff Give an AllocId to ConstValue::Slice. 2025-07-23 23:54:37 +00:00
unreachable_enum_branching.otherwise_t5_unreachable_default.UnreachableEnumBranching.panic-abort.diff Give an AllocId to ConstValue::Slice. 2025-07-23 23:54:37 +00:00
unreachable_enum_branching.otherwise_t5_unreachable_default.UnreachableEnumBranching.panic-unwind.diff Give an AllocId to ConstValue::Slice. 2025-07-23 23:54:37 +00:00
unreachable_enum_branching.rs Update tests 2024-08-10 12:07:17 +02:00
unreachable_enum_branching.simple.UnreachableEnumBranching.panic-abort.diff Give an AllocId to ConstValue::Slice. 2025-07-23 23:54:37 +00:00
unreachable_enum_branching.simple.UnreachableEnumBranching.panic-unwind.diff Give an AllocId to ConstValue::Slice. 2025-07-23 23:54:37 +00:00
unusual_item_types.core.ptr-drop_in_place.Vec_i32_.AddMovesForPackedDrops.before.mir remove intrinsics::drop_in_place 2025-04-22 14:06:09 +02:00
unusual_item_types.E-V-{constant#0}.built.after.mir Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
unusual_item_types.rs rustfmt tests/mir-opt. 2024-06-03 14:17:16 +10:00
unusual_item_types.Test-X-{constructor#0}.built.after.mir Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
unusual_item_types.{impl#0}-ASSOCIATED_CONSTANT.built.after.mir rustfmt tests/mir-opt. 2024-06-03 14:17:16 +10:00

This folder contains tests for MIR optimizations.

The mir-opt test format emits MIR to extra files that you can automatically update by specifying --bless on the command line (just like ui tests updating .stderr files).

--blessable test format

By default 32 bit and 64 bit targets use the same dump files, which can be problematic in the presence of pointers in constants or other bit width dependent things. In that case you can add

// EMIT_MIR_FOR_EACH_BIT_WIDTH

to your test, causing separate files to be generated for 32bit and 64bit systems.

Testing a particular MIR pass

If you are only testing the behavior of a particular mir-opt pass on some specific input (as is usually the case), you should add

//@ test-mir-pass: PassName

to the top of the file. This makes sure that other passes don't run which means you'll get the input you expected and your test won't break when other code changes. This also lets you test passes that are disabled by default.

Emit a diff of the mir for a specific optimization

This is what you want most often when you want to see how an optimization changes the MIR.

// EMIT_MIR $file_name_of_some_mir_dump.diff

Emit mir after a specific optimization

Use this if you are just interested in the final state after an optimization.

// EMIT_MIR $file_name_of_some_mir_dump.after.mir

Emit mir before a specific optimization

This exists mainly for completeness and is rarely useful.

// EMIT_MIR $file_name_of_some_mir_dump.before.mir

FileCheck directives

The LLVM FileCheck tool is used to verify the contents of output MIR against CHECK directives present in the test file. This works on the runtime MIR, generated by --emit=mir, and not on the output of a individual passes.

Use // skip-filecheck to prevent FileCheck from running.

To check MIR for function foo, start with a // CHECK-LABEL fn foo( directive.

{{regex}} syntax allows to match regex.

[[name:regex]] syntax allows to bind name to a string matching regex, and refer to it as [[name]] in later directives, regex should be written not to match a leading space. Use [[my_local:_.*]] to name a local, and [[my_bb:bb.*]] to name a block.

Documentation for FileCheck is available here: https://www.llvm.org/docs/CommandGuide/FileCheck.html