rust/src/test/mir-opt
2022-05-30 18:36:14 +03:00
..
const_prop Fix/bless tests broken by DSE 2022-05-24 22:50:21 -04:00
dead-store-elimination Add dead store elimination pass 2022-05-24 22:50:21 -04:00
dest-prop Fix/bless tests broken by DSE 2022-05-24 22:50:21 -04:00
inline validate derefer, run derefer inside generator 2022-05-30 18:36:14 +03:00
issues Fix/bless tests broken by DSE 2022-05-24 22:50:21 -04:00
nll Add an explicit Span field to OutlivesConstraint 2022-04-19 23:42:20 -04:00
76803_regression.encode.SimplifyBranchSame.diff Fix tests broken by deaggregation change 2022-04-11 09:26:26 -04:00
76803_regression.rs Add regression test showcasing miscompilation 2020-09-19 15:29:09 +02:00
address-of.rs add crate name to mir dumps 2020-07-29 13:41:11 +02:00
address_of.address_of_reborrow.SimplifyCfg-initial.after.mir update mir dumps 2022-05-21 08:13:17 +02:00
address_of.borrow_and_cast.SimplifyCfg-initial.after.mir Fix diagnostic issue when using FakeReads in closures 2021-04-02 19:11:50 -04:00
array-index-is-temporary.rs add crate name to mir dumps 2020-07-29 13:41:11 +02:00
array_index_is_temporary.main.SimplifyCfg-elaborate-drops.after.32bit.mir Bless mir-opt tests 2020-09-26 13:34:53 +01:00
array_index_is_temporary.main.SimplifyCfg-elaborate-drops.after.64bit.mir Bless mir-opt 32-bit tests 2020-09-26 13:34:55 +01:00
asm_unwind_panic_abort.main.AbortUnwindingCalls.after.mir Add mir-opt test for asm_unwind + panic=abort 2022-05-18 23:15:00 -07:00
asm_unwind_panic_abort.rs Add mir-opt test for asm_unwind + panic=abort 2022-05-18 23:15:00 -07:00
basic_assignment.main.SimplifyCfg-initial.after.mir update mir dumps 2022-05-21 08:13:17 +02:00
basic_assignment.rs add crate name to mir dumps 2020-07-29 13:41:11 +02:00
bool_compare.opt1.InstCombine.diff Fix drop handling for if let expressions 2021-09-01 23:47:41 +01:00
bool_compare.opt2.InstCombine.diff Fix drop handling for if let expressions 2021-09-01 23:47:41 +01:00
bool_compare.opt3.InstCombine.diff Fix drop handling for if let expressions 2021-09-01 23:47:41 +01:00
bool_compare.opt4.InstCombine.diff Fix drop handling for if let expressions 2021-09-01 23:47:41 +01:00
bool_compare.rs Peephole optimize x == false and x != true 2021-06-07 12:33:00 -04:00
box_expr.main.ElaborateDrops.before.mir change mir::Constant in mir dumps 2022-02-22 09:38:07 +01:00
box_expr.rs add crate name to mir dumps 2020-07-29 13:41:11 +02:00
byte_slice.main.SimplifyCfg-elaborate-drops.after.mir change mir::Constant in mir dumps 2022-02-22 09:38:07 +01:00
byte_slice.rs add crate name to mir dumps 2020-07-29 13:41:11 +02:00
combine_array_len.norm2.InstCombine.32bit.diff Bless mir-opt tests 2020-09-26 13:34:53 +01:00
combine_array_len.norm2.InstCombine.64bit.diff Bless mir-opt 32-bit tests 2020-09-26 13:34:55 +01:00
combine_array_len.rs add crate name to mir dumps 2020-07-29 13:41:11 +02:00
combine_clone_of_primitives.rs Switch some tests over to new MIR opt unit tests 2022-04-16 18:23:59 -04:00
combine_clone_of_primitives.{impl#0}-clone.InstCombine.diff Switch some tests over to new MIR opt unit tests 2022-04-16 18:23:59 -04:00
const-promotion-extern-static.rs Stop optimizing promoteds 2021-01-04 21:40:38 +00:00
const_allocation.main.ConstProp.after.32bit.mir change mir::Constant in mir dumps 2022-02-22 09:38:07 +01:00
const_allocation.main.ConstProp.after.64bit.mir change mir::Constant in mir dumps 2022-02-22 09:38:07 +01:00
const_allocation.rs compiletest: ignore-endian-big, fixes #74829, fixes #74885 2020-07-31 12:58:37 +01:00
const_allocation2.main.ConstProp.after.32bit.mir change mir::Constant in mir dumps 2022-02-22 09:38:07 +01:00
const_allocation2.main.ConstProp.after.64bit.mir normalization change and rebase 2022-03-09 11:33:11 +01:00
const_allocation2.rs compiletest: ignore-endian-big, fixes #74829, fixes #74885 2020-07-31 12:58:37 +01:00
const_allocation3.main.ConstProp.after.32bit.mir change mir::Constant in mir dumps 2022-02-22 09:38:07 +01:00
const_allocation3.main.ConstProp.after.64bit.mir change mir::Constant in mir dumps 2022-02-22 09:38:07 +01:00
const_allocation3.rs compiletest: ignore-endian-big, fixes #74829, fixes #74885 2020-07-31 12:58:37 +01:00
const_debuginfo.main.ConstDebugInfo.diff Add dead store elimination pass 2022-05-24 22:50:21 -04:00
const_debuginfo.rs Disable the constant debuginfo promotion pass by default 2020-12-14 19:56:10 -05:00
const_goto.issue_77355_opt.ConstGoto.diff Fix drop handling for if let expressions 2021-09-01 23:47:41 +01:00
const_goto.rs New mir-opt pass to simplify gotos with const values 2021-02-22 21:03:57 +01:00
const_goto_const_eval_fail.f.ConstGoto.diff Fix debugger stepping behavior around match expressions 2021-08-25 15:17:22 -04:00
const_goto_const_eval_fail.rs New mir-opt pass to simplify gotos with const values 2021-02-22 21:03:57 +01:00
const_goto_storage.match_nested_if.ConstGoto.diff Bless tests that broke in a trivial way due to change in deaggregation 2022-04-11 09:26:26 -04:00
const_goto_storage.rs enhance ConstGoto mir-opt by moving up StorageDead statements 2022-04-06 15:17:41 +08:00
const_promotion_extern_static.BAR-promoted[0].SimplifyCfg-elaborate-drops.after.mir change mir::Constant in mir dumps 2022-02-22 09:38:07 +01:00
const_promotion_extern_static.BAR.PromoteTemps.diff change mir::Constant in mir dumps 2022-02-22 09:38:07 +01:00
const_promotion_extern_static.BOP.mir_map.0.mir Also generate StorageDead in constants 2020-12-09 10:59:10 +00:00
const_promotion_extern_static.FOO-promoted[0].SimplifyCfg-elaborate-drops.after.mir change mir::Constant in mir dumps 2022-02-22 09:38:07 +01:00
const_promotion_extern_static.FOO.PromoteTemps.diff change mir::Constant in mir dumps 2022-02-22 09:38:07 +01:00
const_prop_miscompile.bar.ConstProp.diff Fix tests broken by deaggregation change 2022-04-11 09:26:26 -04:00
const_prop_miscompile.foo.ConstProp.diff Fix tests broken by deaggregation change 2022-04-11 09:26:26 -04:00
const_prop_miscompile.rs add crate name to mir dumps 2020-07-29 13:41:11 +02:00
coverage_graphviz.bar.InstrumentCoverage.0.dot Fixed conflict with drop elaboration and coverage 2020-12-15 23:33:47 -08:00
coverage_graphviz.main.InstrumentCoverage.0.dot ./x.py test --bless 2021-09-18 00:00:00 +00:00
coverage_graphviz.rs Stabilize -Z instrument-coverage as -C instrument-coverage 2022-01-01 15:57:35 -08:00
deaggregator_test.bar.Deaggregator.diff Fix tests broken by deaggregation change 2022-04-11 09:26:26 -04:00
deaggregator_test.rs add crate name to mir dumps 2020-07-29 13:41:11 +02:00
deaggregator_test_enum.bar.Deaggregator.diff Fix tests broken by deaggregation change 2022-04-11 09:26:26 -04:00
deaggregator_test_enum.rs add crate name to mir dumps 2020-07-29 13:41:11 +02:00
deaggregator_test_enum_2.rs add crate name to mir dumps 2020-07-29 13:41:11 +02:00
deaggregator_test_enum_2.test1.Deaggregator.diff Fix tests broken by deaggregation change 2022-04-11 09:26:26 -04:00
deaggregator_test_multiple.rs add crate name to mir dumps 2020-07-29 13:41:11 +02:00
deaggregator_test_multiple.test.Deaggregator.diff Fix tests broken by deaggregation change 2022-04-11 09:26:26 -04:00
deduplicate_blocks.is_line_doc_comment_2.DeduplicateBlocks.diff normalization change and rebase 2022-03-09 11:33:11 +01:00
deduplicate_blocks.rs New pass to deduplicate blocks 2021-02-21 21:51:54 +01:00
derefer_complex_case.main.Derefer.diff exp-stuff-dirty 2022-04-29 14:42:24 +03:00
derefer_complex_case.rs Make derefer work everwhere 2022-04-16 16:03:14 +03:00
derefer_inline_test.main.Derefer.diff validate derefer, run derefer inside generator 2022-05-30 18:36:14 +03:00
derefer_inline_test.rs validate derefer, run derefer inside generator 2022-05-30 18:36:14 +03:00
derefer_terminator_test.main.Derefer.diff exp-stuff-dirty 2022-04-29 14:42:24 +03:00
derefer_terminator_test.rs Make derefer work everwhere 2022-04-16 16:03:14 +03:00
derefer_test.main.Derefer.diff exp-stuff-dirty 2022-04-29 14:42:24 +03:00
derefer_test.rs New mir-opt deref_separator 2022-04-04 18:51:32 +03:00
derefer_test_multiple.main.Derefer.diff exp-stuff-dirty 2022-04-29 14:42:24 +03:00
derefer_test_multiple.rs support multiple derefs 2022-04-09 20:38:06 +03:00
early_otherwise_branch.opt1.EarlyOtherwiseBranch.diff exp-stuff-dirty 2022-04-29 14:42:24 +03:00
early_otherwise_branch.opt2.EarlyOtherwiseBranch.diff exp-stuff-dirty 2022-04-29 14:42:24 +03:00
early_otherwise_branch.opt3.EarlyOtherwiseBranch.diff exp-stuff-dirty 2022-04-29 14:42:24 +03:00
early_otherwise_branch.rs Switch some tests over to new MIR opt unit tests 2022-04-16 18:23:59 -04:00
early_otherwise_branch_3_element_tuple.opt1.EarlyOtherwiseBranch.diff exp-stuff-dirty 2022-04-29 14:42:24 +03:00
early_otherwise_branch_3_element_tuple.rs Switch some tests over to new MIR opt unit tests 2022-04-16 18:23:59 -04:00
early_otherwise_branch_68867.rs Update MIR opt tests with new name 2021-11-30 18:54:37 -08:00
early_otherwise_branch_68867.try_sum.EarlyOtherwiseBranch.before-SimplifyConstCondition-final.after.diff fix CI err 2022-04-16 16:35:03 +03:00
early_otherwise_branch_68867.try_sum.EarlyOtherwiseBranch.diff fix CI err 2022-04-16 16:35:03 +03:00
early_otherwise_branch_noopt.noopt1.EarlyOtherwiseBranch.diff exp-stuff-dirty 2022-04-29 14:42:24 +03:00
early_otherwise_branch_noopt.rs Switch some tests over to new MIR opt unit tests 2022-04-16 18:23:59 -04:00
early_otherwise_branch_soundness.no_deref_ptr.EarlyOtherwiseBranch.diff exp-stuff-dirty 2022-04-29 14:42:24 +03:00
early_otherwise_branch_soundness.no_downcast.EarlyOtherwiseBranch.diff exp-stuff-dirty 2022-04-29 14:42:24 +03:00
early_otherwise_branch_soundness.rs Switch some tests over to new MIR opt unit tests 2022-04-16 18:23:59 -04:00
equal_true.opt.InstCombine.diff Fix drop handling for if let expressions 2021-09-01 23:47:41 +01:00
equal_true.rs Generalize to Eq(true, _place) and Eq(_place, true) 2020-09-06 11:51:44 +02:00
exponential-or.rs update tests 2021-03-19 19:45:42 -05:00
exponential_or.match_tuple.SimplifyCfg-initial.after.mir Fix debugger stepping behavior around match expressions 2021-08-25 15:17:22 -04:00
fn-ptr-shim.rs Validate the MIR of all optimizations in the mir-opt directory 2020-08-18 13:01:00 +02:00
fn_ptr_shim.core.ops-function-Fn-call.AddMovesForPackedDrops.before.mir shim: monomorphic FnPtrShims during construction 2020-09-04 13:00:49 +01:00
funky_arms.float_to_exponential_common.ConstProp.diff Fix tests broken by deaggregation change 2022-04-11 09:26:26 -04:00
funky_arms.rs move Deaggregate pass to post_borrowck_cleanup 2020-08-11 17:09:15 +02:00
generator-drop-cleanup.rs Move from {{closure}}#0 syntax to {closure#0} for (def) path components 2020-09-25 22:46:14 +01:00
generator-storage-dead-unwind.rs Move from {{closure}}#0 syntax to {closure#0} for (def) path components 2020-09-25 22:46:14 +01:00
generator-tiny.rs Move from {{closure}}#0 syntax to {closure#0} for (def) path components 2020-09-25 22:46:14 +01:00
generator_drop_cleanup.main-{closure#0}.generator_drop.0.mir Move generator check earlier in inlining. 2021-12-15 19:45:40 +01:00
generator_storage_dead_unwind.main-{closure#0}.StateTransform.before.mir Fix tests broken by deaggregation change 2022-04-11 09:26:26 -04:00
generator_tiny.main-{closure#0}.generator_resume.0.mir Fix tests broken by deaggregation change 2022-04-11 09:26:26 -04:00
graphviz.main.mir_map.0.dot Updates to experimental coverage counter injection 2020-10-05 08:02:58 -07:00
graphviz.rs add crate name to mir dumps 2020-07-29 13:41:11 +02:00
if-condition-int.rs Switch some tests over to new MIR opt unit tests 2022-04-16 18:23:59 -04:00
if_condition_int.dont_opt_bool.SimplifyComparisonIntegral.diff exp-stuff-dirty 2022-04-29 14:42:24 +03:00
if_condition_int.dont_opt_floats.SimplifyComparisonIntegral.diff exp-stuff-dirty 2022-04-29 14:42:24 +03:00
if_condition_int.dont_remove_comparison.SimplifyComparisonIntegral.diff exp-stuff-dirty 2022-04-29 14:42:24 +03:00
if_condition_int.opt_char.SimplifyComparisonIntegral.diff exp-stuff-dirty 2022-04-29 14:42:24 +03:00
if_condition_int.opt_i8.SimplifyComparisonIntegral.diff exp-stuff-dirty 2022-04-29 14:42:24 +03:00
if_condition_int.opt_multiple_ifs.SimplifyComparisonIntegral.diff exp-stuff-dirty 2022-04-29 14:42:24 +03:00
if_condition_int.opt_negative.SimplifyComparisonIntegral.diff exp-stuff-dirty 2022-04-29 14:42:24 +03:00
if_condition_int.opt_u32.SimplifyComparisonIntegral.diff exp-stuff-dirty 2022-04-29 14:42:24 +03:00
inst_combine_deref.deep_opt.InstCombine.diff Run the test with explicit -O such that Add is generated instead of CheckedAdd 2020-09-21 22:15:30 +02:00
inst_combine_deref.do_not_miscompile.InstCombine.diff Reintroduce hir::ExprKind::If 2021-01-07 18:54:12 -03:00
inst_combine_deref.dont_opt.InstCombine.diff Run the test with explicit -O such that Add is generated instead of CheckedAdd 2020-09-21 22:15:30 +02:00
inst_combine_deref.opt_struct.InstCombine.diff Run the test with explicit -O such that Add is generated instead of CheckedAdd 2020-09-21 22:15:30 +02:00
inst_combine_deref.simple_opt.InstCombine.diff Run the test with explicit -O such that Add is generated instead of CheckedAdd 2020-09-21 22:15:30 +02:00
instrument_coverage.bar.InstrumentCoverage.diff Fixed conflict with drop elaboration and coverage 2020-12-15 23:33:47 -08:00
instrument_coverage.main.InstrumentCoverage.diff ./x.py test --bless 2021-09-18 00:00:00 +00:00
instrument_coverage.rs Stabilize -Z instrument-coverage as -C instrument-coverage 2022-01-01 15:57:35 -08:00
issue-38669.rs add crate name to mir dumps 2020-07-29 13:41:11 +02:00
issue-41110.rs add crate name to mir dumps 2020-07-29 13:41:11 +02:00
issue-41697.rs Move from {{closure}}#0 syntax to {closure#0} for (def) path components 2020-09-25 22:46:14 +01:00
issue-41888.rs add crate name to mir dumps 2020-07-29 13:41:11 +02:00
issue-49232.rs add crate name to mir dumps 2020-07-29 13:41:11 +02:00
issue-62289.rs add crate name to mir dumps 2020-07-29 13:41:11 +02:00
issue-72181-1.rs add crate name to mir dumps 2020-07-29 13:41:11 +02:00
issue-72181.rs add crate name to mir dumps 2020-07-29 13:41:11 +02:00
issue-73223.rs add crate name to mir dumps 2020-07-29 13:41:11 +02:00
issue-78192.rs Run reveal_all on MIR more often. 2021-11-06 15:56:29 +01:00
issue_38669.main.SimplifyCfg-initial.after.mir Fix drop handling for if let expressions 2021-09-01 23:47:41 +01:00
issue_41110.main.ElaborateDrops.after.mir Revert "Simplify unscheduling of drops after moves" 2021-02-04 21:29:50 -05:00
issue_41110.test.ElaborateDrops.after.mir Revert "Simplify unscheduling of drops after moves" 2021-02-04 21:29:50 -05:00
issue_41697.{impl#0}-{constant#0}.SimplifyCfg-promote-consts.after.32bit.mir Bless mir-opt tests 2020-10-04 07:54:02 -04:00
issue_41697.{impl#0}-{constant#0}.SimplifyCfg-promote-consts.after.64bit.mir Bless mir-opt tests 2020-10-04 07:54:02 -04:00
issue_41888.main.ElaborateDrops.after.mir Fix drop handling for if let expressions 2021-09-01 23:47:41 +01:00
issue_49232.main.mir_map.0.mir Fix debugger stepping behavior around match expressions 2021-08-25 15:17:22 -04:00
issue_62289.test.ElaborateDrops.before.mir change mir::Constant in mir dumps 2022-02-22 09:38:07 +01:00
issue_72181.bar.mir_map.0.32bit.mir Bless mir-opt tests 2020-10-04 07:54:02 -04:00
issue_72181.bar.mir_map.0.64bit.mir Bless mir-opt tests 2020-10-04 07:54:02 -04:00
issue_72181.foo.mir_map.0.32bit.mir Bless mir-opt tests 2020-10-04 07:54:02 -04:00
issue_72181.foo.mir_map.0.64bit.mir Bless mir-opt tests 2020-10-04 07:54:02 -04:00
issue_72181.main.mir_map.0.32bit.mir Fix diagnostic issue when using FakeReads in closures 2021-04-02 19:11:50 -04:00
issue_72181.main.mir_map.0.64bit.mir Fix diagnostic issue when using FakeReads in closures 2021-04-02 19:11:50 -04:00
issue_72181_1.f.mir_map.0.mir Fix diagnostic issue when using FakeReads in closures 2021-04-02 19:11:50 -04:00
issue_72181_1.main.mir_map.0.mir Refactor call terminator to always hold a destination place 2022-05-23 17:49:04 -04:00
issue_73223.main.PreCodegen.32bit.diff Fix/bless tests broken by DSE 2022-05-24 22:50:21 -04:00
issue_73223.main.PreCodegen.64bit.diff Fix/bless tests broken by DSE 2022-05-24 22:50:21 -04:00
issue_73223.main.SimplifyArmIdentity.32bit.diff Refactor call terminator to always hold a destination place 2022-05-23 17:49:04 -04:00
issue_73223.main.SimplifyArmIdentity.64bit.diff Refactor call terminator to always hold a destination place 2022-05-23 17:49:04 -04:00
issue_76432.rs Fix #76432 2020-09-13 10:47:20 +02:00
issue_76432.test.SimplifyComparisonIntegral.diff Refactor call terminator to always hold a destination place 2022-05-23 17:49:04 -04:00
issue_78192.f.InstCombine.diff Check which places are dead 2020-10-22 22:23:56 +02:00
loop_test.main.SimplifyCfg-promote-consts.after.mir Fix drop handling for if let expressions 2021-09-01 23:47:41 +01:00
loop_test.rs mir building: fix some comments 2020-08-18 13:14:38 +02:00
lower_array_len.array_bound.InstCombine.diff add MIR artifacts 2021-10-06 17:53:11 +02:00
lower_array_len.array_bound.NormalizeArrayLen.diff exp-stuff-dirty 2022-04-29 14:42:24 +03:00
lower_array_len.array_bound.SimplifyLocals.diff Fix/bless tests broken by DSE 2022-05-24 22:50:21 -04:00
lower_array_len.array_bound_mut.InstCombine.diff add MIR artifacts 2021-10-06 17:53:11 +02:00
lower_array_len.array_bound_mut.NormalizeArrayLen.diff exp-stuff-dirty 2022-04-29 14:42:24 +03:00
lower_array_len.array_bound_mut.SimplifyLocals.diff Fix/bless tests broken by DSE 2022-05-24 22:50:21 -04:00
lower_array_len.array_len.InstCombine.diff add MIR artifacts 2021-10-06 17:53:11 +02:00
lower_array_len.array_len.NormalizeArrayLen.diff exp-stuff-dirty 2022-04-29 14:42:24 +03:00
lower_array_len.array_len.SimplifyLocals.diff Fix/bless tests broken by DSE 2022-05-24 22:50:21 -04:00
lower_array_len.array_len_by_value.InstCombine.diff add MIR artifacts 2021-10-06 17:53:11 +02:00
lower_array_len.array_len_by_value.NormalizeArrayLen.diff exp-stuff-dirty 2022-04-29 14:42:24 +03:00
lower_array_len.array_len_by_value.SimplifyLocals.diff Fix/bless tests broken by DSE 2022-05-24 22:50:21 -04:00
lower_array_len.rs opt-level >= 4 2021-10-06 20:37:24 +02:00
lower_intrinsics.align_of.LowerIntrinsics.diff Add mir opt test for min_align_of -> AlignOf lowering 2021-09-13 00:08:35 +01:00
lower_intrinsics.discriminant.LowerIntrinsics.diff change mir::Constant in mir dumps 2022-02-22 09:38:07 +01:00
lower_intrinsics.f_u64.PreCodegen.before.mir Only create a single expansion for each inline integration. 2022-02-27 19:05:56 +01:00
lower_intrinsics.f_unit.PreCodegen.before.mir Only create a single expansion for each inline integration. 2022-02-27 19:05:56 +01:00
lower_intrinsics.forget.LowerIntrinsics.diff Add mir opt test for min_align_of -> AlignOf lowering 2021-09-13 00:08:35 +01:00
lower_intrinsics.non_const.LowerIntrinsics.diff Add mir opt test for min_align_of -> AlignOf lowering 2021-09-13 00:08:35 +01:00
lower_intrinsics.rs Extend the MIR validator to check many more things around rvalues. 2022-04-11 15:18:54 -04:00
lower_intrinsics.size_of.LowerIntrinsics.diff Always run intrinsics lowering pass 2020-12-15 00:00:00 +00:00
lower_intrinsics.unreachable.LowerIntrinsics.diff Refactor call terminator to always hold a destination place 2022-05-23 17:49:04 -04:00
lower_intrinsics.wrapping.LowerIntrinsics.diff Extend the MIR validator to check many more things around rvalues. 2022-04-11 15:18:54 -04:00
lower_slice_len.bound.LowerSliceLenCalls.diff exp-stuff-dirty 2022-04-29 14:42:24 +03:00
lower_slice_len.rs Switch some tests over to new MIR opt unit tests 2022-04-16 18:23:59 -04:00
match-arm-scopes.rs add crate name to mir dumps 2020-07-29 13:41:11 +02:00
match_arm_scopes.complicated_match.SimplifyCfg-initial.after-ElaborateDrops.after.diff Change scope of temporaries in match guards 2021-09-05 18:50:55 +01:00
match_false_edges.full_tested_match.PromoteTemps.after.mir change mir::Constant in mir dumps 2022-02-22 09:38:07 +01:00
match_false_edges.full_tested_match2.PromoteTemps.before.mir Change scope of temporaries in match guards 2021-09-05 18:50:55 +01:00
match_false_edges.main.PromoteTemps.before.mir Change scope of temporaries in match guards 2021-09-05 18:50:55 +01:00
match_false_edges.rs add crate name to mir dumps 2020-07-29 13:41:11 +02:00
match_test.main.SimplifyCfg-initial.after.mir Change scope of temporaries in match guards 2021-09-05 18:50:55 +01:00
match_test.rs add crate name to mir dumps 2020-07-29 13:41:11 +02:00
matches_reduce_branches.bar.MatchBranchSimplification.32bit.diff Fix tests broken by deaggregation change 2022-04-11 09:26:26 -04:00
matches_reduce_branches.bar.MatchBranchSimplification.64bit.diff Fix tests broken by deaggregation change 2022-04-11 09:26:26 -04:00
matches_reduce_branches.foo.MatchBranchSimplification.32bit.diff Fix debugger stepping behavior around match expressions 2021-08-25 15:17:22 -04:00
matches_reduce_branches.foo.MatchBranchSimplification.64bit.diff Fix debugger stepping behavior around match expressions 2021-08-25 15:17:22 -04:00
matches_reduce_branches.foo.PreCodegen.before.32bit.mir bless tests 2021-03-16 21:34:31 -04:00
matches_reduce_branches.foo.PreCodegen.before.64bit.mir bless tests 2021-03-16 21:34:31 -04:00
matches_reduce_branches.match_nested_if.MatchBranchSimplification.32bit.diff enhance ConstGoto mir-opt by moving up StorageDead statements 2022-04-06 15:17:41 +08:00
matches_reduce_branches.match_nested_if.MatchBranchSimplification.64bit.diff enhance ConstGoto mir-opt by moving up StorageDead statements 2022-04-06 15:17:41 +08:00
matches_reduce_branches.rs New mir-opt pass to simplify gotos with const values 2021-02-22 21:03:57 +01:00
matches_u8.exhaustive_match.MatchBranchSimplification.32bit.diff Fix debugger stepping behavior around match expressions 2021-08-25 15:17:22 -04:00
matches_u8.exhaustive_match.MatchBranchSimplification.64bit.diff Fix debugger stepping behavior around match expressions 2021-08-25 15:17:22 -04:00
matches_u8.exhaustive_match_i8.MatchBranchSimplification.32bit.diff Fix debugger stepping behavior around match expressions 2021-08-25 15:17:22 -04:00
matches_u8.exhaustive_match_i8.MatchBranchSimplification.64bit.diff Fix debugger stepping behavior around match expressions 2021-08-25 15:17:22 -04:00
matches_u8.rs Add fix 2020-08-14 01:03:16 +00:00
multiple_return_terminators.rs Bump mir-opt-level from 3 to 4 in tests 2021-03-05 17:13:57 -03:00
multiple_return_terminators.test.MultipleReturnTerminators.diff bless tests 2021-03-15 21:58:54 -04:00
no-drop-for-inactive-variant.rs add crate name to mir dumps 2020-07-29 13:41:11 +02:00
no-spurious-drop-after-call.rs add crate name to mir dumps 2020-07-29 13:41:11 +02:00
no_drop_for_inactive_variant.unwrap.SimplifyCfg-elaborate-drops.after.mir Refactor call terminator to always hold a destination place 2022-05-23 17:49:04 -04:00
no_spurious_drop_after_call.main.ElaborateDrops.before.mir bless mir-opt 2022-05-06 10:58:54 +02:00
not_equal_false.opt.InstCombine.diff Fix drop handling for if let expressions 2021-09-01 23:47:41 +01:00
not_equal_false.rs New mir-opt pass to simplify gotos with const values 2021-02-22 21:03:57 +01:00
nrvo-simple.rs Switch some tests over to new MIR opt unit tests 2022-04-16 18:23:59 -04:00
nrvo_simple.nrvo.RenameReturnPlace.diff exp-stuff-dirty 2022-04-29 14:42:24 +03:00
packed-struct-drop-aligned.rs add crate name to mir dumps 2020-07-29 13:41:11 +02:00
packed_struct_drop_aligned.main.SimplifyCfg-elaborate-drops.after.32bit.mir Bless mir-opt tests 2020-10-04 07:54:02 -04:00
packed_struct_drop_aligned.main.SimplifyCfg-elaborate-drops.after.64bit.mir Bless mir-opt tests 2020-10-04 07:54:02 -04:00
README.md Remove old mir-opt test format. 2020-04-07 18:02:11 +00:00
receiver-ptr-mutability.rs Allow calling *const methods on *mut values 2021-03-09 13:40:08 +03:00
receiver_ptr_mutability.main.mir_map.0.mir update mir dumps 2022-05-21 08:13:17 +02:00
remove-never-const.rs Stabilize const_panic 2021-10-04 02:33:33 -04:00
remove_fake_borrows.match_guard.CleanupNonCodegenStatements.diff Use FxIndexSet to avoid sorting fake borrows 2022-05-09 22:29:46 -04:00
remove_fake_borrows.rs add crate name to mir dumps 2020-07-29 13:41:11 +02:00
remove_never_const.no_codegen.PreCodegen.after.mir Stabilize const_panic 2021-10-04 02:33:33 -04:00
remove_storage_markers.main.RemoveStorageMarkers.diff validate derefer, run derefer inside generator 2022-05-30 18:36:14 +03:00
remove_storage_markers.rs Remove storage markers if they won't be used during code generation 2021-02-28 20:10:44 +01:00
remove_unneeded_drops.cannot_opt_generic.RemoveUnneededDrops.diff Only create a single expansion for each inline integration. 2022-02-27 19:05:56 +01:00
remove_unneeded_drops.dont_opt.RemoveUnneededDrops.diff Only create a single expansion for each inline integration. 2022-02-27 19:05:56 +01:00
remove_unneeded_drops.opt.RemoveUnneededDrops.diff validate derefer, run derefer inside generator 2022-05-30 18:36:14 +03:00
remove_unneeded_drops.opt_generic_copy.RemoveUnneededDrops.diff validate derefer, run derefer inside generator 2022-05-30 18:36:14 +03:00
remove_unneeded_drops.rs Ignore test on wasm as it does not unwind 2020-09-23 18:25:55 +02:00
remove_zsts_dont_touch_unions.get_union.RemoveZsts.after.mir Fix tests broken by deaggregation change 2022-04-11 09:26:26 -04:00
remove_zsts_dont_touch_unions.rs RemoveZsts: don't touch unions 2021-03-24 13:00:36 -04:00
retag.array_casts.SimplifyCfg-elaborate-drops.after.mir Refactor call terminator to always hold a destination place 2022-05-23 17:49:04 -04:00
retag.core.ptr-drop_in_place.Test.SimplifyCfg-make_shim.after.mir change mir::Constant in mir dumps 2022-02-22 09:38:07 +01:00
retag.main-{closure#0}.SimplifyCfg-elaborate-drops.after.mir Move from {{closure}}#0 syntax to {closure#0} for (def) path components 2020-09-25 22:46:14 +01:00
retag.main.SimplifyCfg-elaborate-drops.after.mir change mir::Constant in mir dumps 2022-02-22 09:38:07 +01:00
retag.rs array-to-raw-elem cast: test that Retag covers entire array 2021-05-07 09:36:45 +02:00
retag.{impl#0}-foo.SimplifyCfg-elaborate-drops.after.mir Move from {{closure}}#0 syntax to {closure#0} for (def) path components 2020-09-25 22:46:14 +01:00
retag.{impl#0}-foo_shr.SimplifyCfg-elaborate-drops.after.mir Move from {{closure}}#0 syntax to {closure#0} for (def) path components 2020-09-25 22:46:14 +01:00
return_an_array.rs Remove licenses 2018-12-25 21:08:33 -07:00
rustc.try_identity.DestinationPropagation.diff simplify_try: clean up test 2020-09-18 21:23:00 +02:00
separate_const_switch.identity.ConstProp.diff Remove inlining cost of Deinit statements 2022-04-11 10:23:33 -04:00
separate_const_switch.identity.PreCodegen.after.mir Remove inlining cost of Deinit statements 2022-04-11 10:23:33 -04:00
separate_const_switch.identity.SeparateConstSwitch.diff Remove inlining cost of Deinit statements 2022-04-11 10:23:33 -04:00
separate_const_switch.rs implemented separate_const_switch MIR opt 2021-06-22 23:18:26 +02:00
separate_const_switch.too_complex.ConstProp.diff Fix tests broken by deaggregation change 2022-04-11 09:26:26 -04:00
separate_const_switch.too_complex.PreCodegen.after.mir Fix/bless tests broken by DSE 2022-05-24 22:50:21 -04:00
separate_const_switch.too_complex.SeparateConstSwitch.diff Fix tests broken by deaggregation change 2022-04-11 09:26:26 -04:00
simple-match.rs add crate name to mir dumps 2020-07-29 13:41:11 +02:00
simple_match.match_bool.mir_map.0.32bit.mir Fix debugger stepping behavior around match expressions 2021-08-25 15:17:22 -04:00
simple_match.match_bool.mir_map.0.64bit.mir Fix debugger stepping behavior around match expressions 2021-08-25 15:17:22 -04:00
simplify-arm-identity.rs Bump mir-opt-level from 2 to 3 in tests 2021-03-05 17:13:57 -03:00
simplify-arm.rs No matter how trivial the change, tidy always finds a way to complain... 2021-05-18 11:48:00 -07:00
simplify-locals-fixedpoint.rs add crate name to mir dumps 2020-07-29 13:41:11 +02:00
simplify-locals-removes-unused-consts.rs add crate name to mir dumps 2020-07-29 13:41:11 +02:00
simplify-locals-removes-unused-discriminant-reads.rs Disable the SimplifyArmIdentity mir-opt 2020-10-01 20:29:53 -04:00
simplify-locals.rs Fix/bless tests broken by DSE 2022-05-24 22:50:21 -04:00
simplify_arm.id.SimplifyArmIdentity.diff Fix tests broken by deaggregation change 2022-04-11 09:26:26 -04:00
simplify_arm.id.SimplifyBranchSame.diff Fix tests broken by deaggregation change 2022-04-11 09:26:26 -04:00
simplify_arm.id_result.SimplifyArmIdentity.diff Fix tests broken by deaggregation change 2022-04-11 09:26:26 -04:00
simplify_arm.id_result.SimplifyBranchSame.diff Fix tests broken by deaggregation change 2022-04-11 09:26:26 -04:00
simplify_arm.id_try.SimplifyArmIdentity.diff validate derefer, run derefer inside generator 2022-05-30 18:36:14 +03:00
simplify_arm.id_try.SimplifyBranchSame.diff validate derefer, run derefer inside generator 2022-05-30 18:36:14 +03:00
simplify_arm_identity.main.SimplifyArmIdentity.32bit.diff Fix tests broken by deaggregation change 2022-04-11 09:26:26 -04:00
simplify_arm_identity.main.SimplifyArmIdentity.64bit.diff Fix tests broken by deaggregation change 2022-04-11 09:26:26 -04:00
simplify_cfg.main.SimplifyCfg-early-opt.diff ./x.py test --bless 2021-09-18 00:00:00 +00:00
simplify_cfg.main.SimplifyCfg-initial.diff ./x.py test --bless 2021-09-18 00:00:00 +00:00
simplify_cfg.rs Make simplify_cfg test more consistent 2021-08-03 07:06:19 -07:00
simplify_if.main.SimplifyConstCondition-after-const-prop.diff Update MIR opt tests with new name 2021-11-30 18:54:37 -08:00
simplify_if.rs Update MIR opt tests with new name 2021-11-30 18:54:37 -08:00
simplify_locals.c.SimplifyLocals.diff Fix/bless tests broken by DSE 2022-05-24 22:50:21 -04:00
simplify_locals.d1.SimplifyLocals.diff Fix/bless tests broken by DSE 2022-05-24 22:50:21 -04:00
simplify_locals.d2.SimplifyLocals.diff Fix/bless tests broken by DSE 2022-05-24 22:50:21 -04:00
simplify_locals.r.SimplifyLocals.diff Fix/bless tests broken by DSE 2022-05-24 22:50:21 -04:00
simplify_locals.t1.SimplifyLocals.diff Fix/bless tests broken by DSE 2022-05-24 22:50:21 -04:00
simplify_locals.t2.SimplifyLocals.diff Fix/bless tests broken by DSE 2022-05-24 22:50:21 -04:00
simplify_locals.t3.SimplifyLocals.diff Fix/bless tests broken by DSE 2022-05-24 22:50:21 -04:00
simplify_locals.t4.SimplifyLocals.diff simplify-locals: Add yet to be optimized test cases 2020-10-26 00:00:00 +00:00
simplify_locals_fixedpoint.foo.SimplifyLocals.diff Fix tests broken by deaggregation change 2022-04-11 09:26:26 -04:00
simplify_locals_removes_unused_consts.main.SimplifyLocals.diff Fix/bless tests broken by DSE 2022-05-24 22:50:21 -04:00
simplify_locals_removes_unused_discriminant_reads.map.SimplifyLocals.32bit.diff Fix/bless tests broken by DSE 2022-05-24 22:50:21 -04:00
simplify_locals_removes_unused_discriminant_reads.map.SimplifyLocals.64bit.diff Fix/bless tests broken by DSE 2022-05-24 22:50:21 -04:00
simplify_match.main.ConstProp.diff Fix debugger stepping behavior around match expressions 2021-08-25 15:17:22 -04:00
simplify_match.rs add crate name to mir dumps 2020-07-29 13:41:11 +02:00
simplify_try.rs No matter how trivial the change, tidy always finds a way to complain... 2021-05-18 11:48:00 -07:00
simplify_try.try_identity.DestinationPropagation.diff Fix/bless tests broken by DSE 2022-05-24 22:50:21 -04:00
simplify_try.try_identity.SimplifyArmIdentity.diff Fix tests broken by deaggregation change 2022-04-11 09:26:26 -04:00
simplify_try.try_identity.SimplifyBranchSame.after.mir Fix tests broken by deaggregation change 2022-04-11 09:26:26 -04:00
simplify_try.try_identity.SimplifyLocals.after.mir Fix/bless tests broken by DSE 2022-05-24 22:50:21 -04:00
simplify_try_if_let.rs Ignore now-broken mir-opt test 2020-10-02 16:50:45 +02:00
simplify_try_if_let.{impl#0}-append.SimplifyArmIdentity.diff Move from {{closure}}#0 syntax to {closure#0} for (def) path components 2020-09-25 22:46:14 +01:00
slice-drop-shim.rs pretty: trim paths of unique symbols 2020-09-02 22:26:37 +03:00
slice_drop_shim.core.ptr-drop_in_place.[String].AddMovesForPackedDrops.before.32bit.mir Deprecate items that accidentally weren't deprecated 2021-03-09 19:09:20 -05:00
slice_drop_shim.core.ptr-drop_in_place.[String].AddMovesForPackedDrops.before.64bit.mir Deprecate items that accidentally weren't deprecated 2021-03-09 19:09:20 -05:00
spanview-block.rs Add new -Z dump-mir-spanview option 2020-08-31 22:57:55 -07:00
spanview-statement.rs Add new -Z dump-mir-spanview option 2020-08-31 22:57:55 -07:00
spanview-terminator.rs Add new -Z dump-mir-spanview option 2020-08-31 22:57:55 -07:00
spanview_block.main.mir_map.0.html Updates to experimental coverage counter injection 2020-10-05 08:02:58 -07:00
spanview_statement.main.mir_map.0.html Updates to experimental coverage counter injection 2020-10-05 08:02:58 -07:00
spanview_terminator.main.mir_map.0.html Updates to experimental coverage counter injection 2020-10-05 08:02:58 -07:00
storage_live_dead_in_statics.rs add crate name to mir dumps 2020-07-29 13:41:11 +02:00
storage_live_dead_in_statics.XXX.mir_map.0.mir bless mir-opt 2022-05-06 10:58:54 +02:00
storage_ranges.main.nll.0.mir Add an explicit Span field to OutlivesConstraint 2022-04-19 23:42:20 -04:00
storage_ranges.rs add crate name to mir dumps 2020-07-29 13:41:11 +02:00
tls-access.rs Fix/bless tests broken by DSE 2022-05-24 22:50:21 -04:00
tls_access.main.SimplifyCfg-final.after.mir Fix/bless tests broken by DSE 2022-05-24 22:50:21 -04:00
uniform_array_move_out.move_out_by_subslice.mir_map.0.mir Bless tests 2021-09-25 01:08:41 +01:00
uniform_array_move_out.move_out_from_end.mir_map.0.mir Bless tests 2021-09-25 01:08:41 +01:00
uniform_array_move_out.rs add crate name to mir dumps 2020-07-29 13:41:11 +02:00
uninhabited-enum.rs add crate name to mir dumps 2020-07-29 13:41:11 +02:00
uninhabited_enum.process_never.SimplifyLocals.after.mir Fix/bless tests broken by DSE 2022-05-24 22:50:21 -04:00
uninhabited_enum.process_void.SimplifyLocals.after.mir Fix/bless tests broken by DSE 2022-05-24 22:50:21 -04:00
uninhabited_enum_branching.main.SimplifyCfg-after-uninhabited-enum-branching.after.mir bless mir-opt 2022-05-06 10:58:54 +02:00
uninhabited_enum_branching.main.UninhabitedEnumBranching.diff bless mir-opt 2022-05-06 10:58:54 +02:00
uninhabited_enum_branching.rs add crate name to mir dumps 2020-07-29 13:41:11 +02:00
uninhabited_enum_branching2.main.SimplifyCfg-after-uninhabited-enum-branching.after.mir bless mir-opt 2022-05-06 10:58:54 +02:00
uninhabited_enum_branching2.main.UninhabitedEnumBranching.diff bless mir-opt 2022-05-06 10:58:54 +02:00
uninhabited_enum_branching2.rs Test for unihnabitded_enum_branching pass using reference to fields 2021-05-23 15:42:09 +02:00
uninhabited_fallthrough_elimination.eliminate_fallthrough.UninhabitedEnumBranching.diff exp-stuff-dirty 2022-04-29 14:42:24 +03:00
uninhabited_fallthrough_elimination.keep_fallthrough.UninhabitedEnumBranching.diff exp-stuff-dirty 2022-04-29 14:42:24 +03:00
uninhabited_fallthrough_elimination.rs Add test checking that fallthrough branches are correctly identified as dead 2022-02-18 09:33:52 -05:00
unreachable.main.UnreachablePropagation.diff exp-stuff-dirty 2022-04-29 14:42:24 +03:00
unreachable.rs add crate name to mir dumps 2020-07-29 13:41:11 +02:00
unreachable_diverging.main.UnreachablePropagation.diff exp-stuff-dirty 2022-04-29 14:42:24 +03:00
unreachable_diverging.rs add crate name to mir dumps 2020-07-29 13:41:11 +02:00
unusual-item-types.rs Fix/bless tests broken by DSE 2022-05-24 22:50:21 -04:00
unusual_item_types.core.ptr-drop_in_place.Vec_i32_.AddMovesForPackedDrops.before.32bit.mir change mir::Constant in mir dumps 2022-02-22 09:38:07 +01:00
unusual_item_types.core.ptr-drop_in_place.Vec_i32_.AddMovesForPackedDrops.before.64bit.mir change mir::Constant in mir dumps 2022-02-22 09:38:07 +01:00
unusual_item_types.E-V-{constant#0}.mir_map.0.32bit.mir Bless mir-opt tests 2020-10-04 07:54:02 -04:00
unusual_item_types.E-V-{constant#0}.mir_map.0.64bit.mir Bless mir-opt tests 2020-10-04 07:54:02 -04:00
unusual_item_types.Test-X-{constructor#0}.mir_map.0.32bit.mir Fix tests broken by deaggregation change 2022-04-11 09:26:26 -04:00
unusual_item_types.Test-X-{constructor#0}.mir_map.0.64bit.mir Fix tests broken by deaggregation change 2022-04-11 09:26:26 -04:00
unusual_item_types.{impl#0}-ASSOCIATED_CONSTANT.mir_map.0.32bit.mir Bless mir-opt tests 2020-10-04 07:54:02 -04:00
unusual_item_types.{impl#0}-ASSOCIATED_CONSTANT.mir_map.0.64bit.mir Bless mir-opt tests 2020-10-04 07:54:02 -04:00
while-storage.rs add crate name to mir dumps 2020-07-29 13:41:11 +02:00
while_let_loops.change_loop_body.ConstProp.32bit.diff Fix tests broken by deaggregation change 2022-04-11 09:26:26 -04:00
while_let_loops.change_loop_body.ConstProp.64bit.diff Fix tests broken by deaggregation change 2022-04-11 09:26:26 -04:00
while_let_loops.change_loop_body.PreCodegen.after.32bit.mir Fix/bless tests broken by DSE 2022-05-24 22:50:21 -04:00
while_let_loops.change_loop_body.PreCodegen.after.64bit.mir Fix/bless tests broken by DSE 2022-05-24 22:50:21 -04:00
while_let_loops.rs move Deaggregate pass to post_borrowck_cleanup 2020-08-11 17:09:15 +02:00
while_storage.while_loop.PreCodegen.after.mir ./x.py test --bless 2021-09-18 00:00:00 +00: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.

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