rust/src/test/mir-opt
2021-03-22 18:30:56 -04:00
..
const_prop only run RemoveZsts at mir-opt-level 3 and above 2021-03-22 18:30:56 -04:00
dest-prop bless tests 2021-03-16 21:34:31 -04:00
inline bless tests 2021-03-15 21:58:54 -04:00
issues Disable destination propagation on all mir-opt-levels 2021-03-06 00:00:00 +00:00
nll Reintroduce hir::ExprKind::If 2021-01-07 18:54:12 -03:00
76803_regression.encode.SimplifyBranchSame.diff Fix #76803 2020-09-19 15:40:15 +02: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 Suppress MIR comments of Unit type 2020-08-20 09:32:35 +00:00
address_of.borrow_and_cast.SimplifyCfg-initial.after.mir Suppress MIR comments of Unit type 2020-08-20 09:32:35 +00: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
basic_assignment.main.SimplifyCfg-initial.after.mir Revert "Use record_operands_moved more aggresively" 2021-02-04 21:29:50 -05:00
basic_assignment.rs add crate name to mir dumps 2020-07-29 13:41:11 +02:00
box_expr.main.ElaborateDrops.before.mir Revert "Simplify unscheduling of drops after moves" 2021-02-04 21:29:50 -05: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 Suppress MIR comments of Unit type 2020-08-20 09:32:35 +00: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
const-promotion-extern-static.rs Stop optimizing promoteds 2021-01-04 21:40:38 +00:00
const_allocation.main.ConstProp.after.32bit.mir bless tests 2021-03-15 21:58:54 -04:00
const_allocation.main.ConstProp.after.64bit.mir bless tests 2021-03-15 21:58:54 -04: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 bless tests 2021-03-15 21:58:54 -04:00
const_allocation2.main.ConstProp.after.64bit.mir bless tests 2021-03-15 21:58:54 -04: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 bless tests 2021-03-15 21:58:54 -04:00
const_allocation3.main.ConstProp.after.64bit.mir bless tests 2021-03-15 21:58:54 -04: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 bless tests 2021-03-15 21:58:54 -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 New mir-opt pass to simplify gotos with const values 2021-02-22 21:03:57 +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 New mir-opt pass to simplify gotos with const values 2021-02-22 21:03:57 +01: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_promotion_extern_static.BAR-promoted[0].SimplifyCfg-elaborate-drops.after.mir Stop optimizing promoteds 2021-01-04 21:40:38 +00:00
const_promotion_extern_static.BAR.PromoteTemps.diff Also generate StorageDead in constants 2020-12-09 10:59:10 +00: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 Stop optimizing promoteds 2021-01-04 21:40:38 +00:00
const_promotion_extern_static.FOO.PromoteTemps.diff Also generate StorageDead in constants 2020-12-09 10:59:10 +00:00
const_prop_miscompile.bar.ConstProp.diff bless tests 2021-03-15 21:58:54 -04:00
const_prop_miscompile.foo.ConstProp.diff bless tests 2021-03-15 21:58:54 -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 Bless profile targets 2021-01-09 18:15:54 -03:00
coverage_graphviz.rs Adds coverage graphviz 2020-11-05 18:24:14 -08:00
deaggregator_test.bar.Deaggregator.diff Suppress ty::Float in MIR comments of ty::Const 2020-08-20 16:03:09 +00:00
deaggregator_test.rs add crate name to mir dumps 2020-07-29 13:41:11 +02:00
deaggregator_test_enum.bar.Deaggregator.diff Move mir-opt tests to toplevel 2020-07-29 17:36:03 +02: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 Reintroduce hir::ExprKind::If 2021-01-07 18:54:12 -03: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 Move mir-opt tests to toplevel 2020-07-29 17:36:03 +02:00
deduplicate_blocks.is_line_doc_comment_2.DeduplicateBlocks.diff Disable destination propagation on all mir-opt-levels 2021-03-06 00:00:00 +00:00
deduplicate_blocks.rs New pass to deduplicate blocks 2021-02-21 21:51:54 +01:00
early_otherwise_branch.opt1.EarlyOtherwiseBranch.diff add cleanup of cfg 2020-09-20 14:45:47 +02:00
early_otherwise_branch.opt2.EarlyOtherwiseBranch.diff add cleanup of cfg 2020-09-20 14:45:47 +02:00
early_otherwise_branch.rs Bump mir-opt-level from 3 to 4 in tests 2021-03-05 17:13:57 -03:00
early_otherwise_branch_3_element_tuple.opt1.EarlyOtherwiseBranch.diff add cleanup of cfg 2020-09-20 14:45:47 +02:00
early_otherwise_branch_3_element_tuple.rs Bump mir-opt-level from 3 to 4 in tests 2021-03-05 17:13:57 -03:00
early_otherwise_branch_68867.rs Bump mir-opt-level from 3 to 4 in tests 2021-03-05 17:13:57 -03:00
early_otherwise_branch_68867.try_sum.EarlyOtherwiseBranch.before-SimplifyBranches-final.after.diff bless tests 2021-03-15 21:58:54 -04:00
early_otherwise_branch_68867.try_sum.EarlyOtherwiseBranch.diff bless tests 2021-03-15 21:58:54 -04:00
early_otherwise_branch_noopt.noopt1.EarlyOtherwiseBranch.diff bless 2020-09-20 14:45:46 +02:00
early_otherwise_branch_noopt.noopt2.EarlyOtherwiseBranch.diff bless 2020-09-20 14:45:46 +02:00
early_otherwise_branch_noopt.rs Bump mir-opt-level from 3 to 4 in tests 2021-03-05 17:13:57 -03:00
equal_true.opt.InstCombine.diff Reintroduce hir::ExprKind::If 2021-01-07 18:54:12 -03:00
equal_true.rs Generalize to Eq(true, _place) and Eq(_place, true) 2020-09-06 11:51:44 +02:00
exponential-or.rs add crate name to mir dumps 2020-07-29 13:41:11 +02:00
exponential_or.match_tuple.SimplifyCfg-initial.after.mir pretty: trim paths of unique symbols 2020-09-02 22:26:37 +03: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 path trimming: ignore type aliases 2021-02-06 12:03:48 +02: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 Show the inline stack of MIR lints that only occur after inlining 2020-10-27 14:08:07 +00:00
generator_storage_dead_unwind.main-{closure#0}.StateTransform.before.mir Bless mir-opt tests 2020-10-04 07:54:02 -04:00
generator_tiny.main-{closure#0}.generator_resume.0.mir Move from {{closure}}#0 syntax to {closure#0} for (def) path components 2020-09-25 22:46:14 +01: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 New pass to optimize ifconditions on integrals to switches on the integer 2020-08-29 13:42:19 +02:00
if_condition_int.dont_opt_bool.SimplifyComparisonIntegral.diff Reintroduce hir::ExprKind::If 2021-01-07 18:54:12 -03:00
if_condition_int.dont_opt_floats.SimplifyComparisonIntegral.diff Reintroduce hir::ExprKind::If 2021-01-07 18:54:12 -03:00
if_condition_int.dont_remove_comparison.SimplifyComparisonIntegral.diff New pass to optimize ifconditions on integrals to switches on the integer 2020-08-29 13:42:19 +02:00
if_condition_int.opt_char.SimplifyComparisonIntegral.diff Reintroduce hir::ExprKind::If 2021-01-07 18:54:12 -03:00
if_condition_int.opt_i8.SimplifyComparisonIntegral.diff Reintroduce hir::ExprKind::If 2021-01-07 18:54:12 -03:00
if_condition_int.opt_multiple_ifs.SimplifyComparisonIntegral.diff Reintroduce hir::ExprKind::If 2021-01-07 18:54:12 -03:00
if_condition_int.opt_negative.SimplifyComparisonIntegral.diff Reintroduce hir::ExprKind::If 2021-01-07 18:54:12 -03:00
if_condition_int.opt_u32.SimplifyComparisonIntegral.diff Reintroduce hir::ExprKind::If 2021-01-07 18:54:12 -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 Bless profile targets 2021-01-09 18:15:54 -03:00
instrument_coverage.rs Rust coverage before splitting instrument_coverage.rs 2020-11-05 18:24:12 -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 Check which places are dead 2020-10-22 22:23:56 +02:00
issue_38669.main.SimplifyCfg-initial.after.mir Reintroduce hir::ExprKind::If 2021-01-07 18:54:12 -03: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 Revert "Use record_operands_moved more aggresively" 2021-02-04 21:29:50 -05:00
issue_49232.main.mir_map.0.mir Bless mir-opt tests 2020-10-04 07:54:02 -04:00
issue_62289.test.ElaborateDrops.before.mir Revert "Use record_operands_moved more aggresively" 2021-02-04 21:29:50 -05: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 Bless mir-opt tests 2020-10-04 07:54:02 -04:00
issue_72181.main.mir_map.0.64bit.mir Bless mir-opt tests 2020-10-04 07:54:02 -04:00
issue_72181_1.f.mir_map.0.mir Bless mir-opt tests 2020-10-04 07:54:02 -04:00
issue_72181_1.main.mir_map.0.mir Bless mir-opt tests 2020-10-04 07:54:02 -04:00
issue_73223.main.PreCodegen.32bit.diff Extend SimplifyLocals to remove ZST writes 2021-03-13 17:58:11 -05:00
issue_73223.main.PreCodegen.64bit.diff Extend SimplifyLocals to remove ZST writes 2021-03-13 17:58:11 -05:00
issue_73223.main.SimplifyArmIdentity.32bit.diff bless tests 2021-03-15 21:58:54 -04:00
issue_73223.main.SimplifyArmIdentity.64bit.diff bless tests 2021-03-15 21:58:54 -04:00
issue_76432.rs Fix #76432 2020-09-13 10:47:20 +02:00
issue_76432.test.SimplifyComparisonIntegral.diff bless tests 2021-03-15 21:58:54 -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 Reintroduce hir::ExprKind::If 2021-01-07 18:54:12 -03:00
loop_test.rs mir building: fix some comments 2020-08-18 13:14:38 +02:00
lower_intrinsics.discriminant.LowerIntrinsics.diff Always run intrinsics lowering pass 2020-12-15 00:00:00 +00:00
lower_intrinsics.f_u64.PreCodegen.before.mir Extend SimplifyLocals to remove ZST writes 2021-03-13 17:58:11 -05:00
lower_intrinsics.f_unit.PreCodegen.before.mir Extend SimplifyLocals to remove ZST writes 2021-03-13 17:58:11 -05:00
lower_intrinsics.forget.LowerIntrinsics.diff Make forget intrinsic safe 2020-12-29 00:00:00 +00:00
lower_intrinsics.non_const.LowerIntrinsics.diff Always run intrinsics lowering pass 2020-12-15 00:00:00 +00:00
lower_intrinsics.rs Make forget intrinsic safe 2020-12-29 00:00:00 +00: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 Always run intrinsics lowering pass 2020-12-15 00:00:00 +00:00
lower_intrinsics.wrapping.LowerIntrinsics.diff Always run intrinsics lowering pass 2020-12-15 00:00:00 +00: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 Reintroduce hir::ExprKind::If 2021-01-07 18:54:12 -03:00
match_false_edges.full_tested_match.PromoteTemps.after.mir Bless mir-opt tests 2020-10-04 07:54:02 -04:00
match_false_edges.full_tested_match2.PromoteTemps.before.mir Bless mir-opt tests 2020-10-04 07:54:02 -04:00
match_false_edges.main.PromoteTemps.before.mir Bless mir-opt tests 2020-10-04 07:54:02 -04: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 Suppress MIR comments of Unit type 2020-08-20 09:32:35 +00: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 New mir-opt pass to simplify gotos with const values 2021-02-22 21:03:57 +01:00
matches_reduce_branches.bar.MatchBranchSimplification.64bit.diff New mir-opt pass to simplify gotos with const values 2021-02-22 21:03:57 +01:00
matches_reduce_branches.foo.MatchBranchSimplification.32bit.diff bless tests 2021-03-16 21:34:31 -04:00
matches_reduce_branches.foo.MatchBranchSimplification.64bit.diff bless tests 2021-03-16 21:34:31 -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 New mir-opt pass to simplify gotos with const values 2021-02-22 21:03:57 +01:00
matches_reduce_branches.match_nested_if.MatchBranchSimplification.64bit.diff New mir-opt pass to simplify gotos with const values 2021-02-22 21:03:57 +01: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 Rename 32 bit mir files to be more tool friendly 2020-09-17 21:49:21 +01:00
matches_u8.exhaustive_match.MatchBranchSimplification.64bit.diff Rename 64 bit mir files to be more tool friendly 2020-09-17 21:35:21 +01:00
matches_u8.exhaustive_match_i8.MatchBranchSimplification.32bit.diff Rename 32 bit mir files to be more tool friendly 2020-09-17 21:49:21 +01:00
matches_u8.exhaustive_match_i8.MatchBranchSimplification.64bit.diff Rename 64 bit mir files to be more tool friendly 2020-09-17 21:35:21 +01: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 Implement new panic!() behaviour for Rust 2021. 2021-01-25 13:48:11 +01:00
no_spurious_drop_after_call.main.ElaborateDrops.before.mir Revert "Simplify unscheduling of drops after moves" 2021-02-04 21:29:50 -05:00
not_equal_false.opt.InstCombine.diff New mir-opt pass to simplify gotos with const values 2021-02-22 21:03:57 +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 Remove unnecessary -Zunsound-mir-opts uses in tests 2020-09-27 19:29:15 -04:00
nrvo_simple.nrvo.RenameReturnPlace.diff Make nrvo-simple set mir-opt-level=1 2020-09-18 21:23:00 +02: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 Allow calling *const methods on *mut values 2021-03-09 13:40:08 +03:00
remove-never-const.rs add crate name to mir dumps 2020-07-29 13:41:11 +02:00
remove_fake_borrows.match_guard.CleanupNonCodegenStatements.diff pretty: trim paths of unique symbols 2020-09-02 22:26:37 +03: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 Move mir-opt tests to toplevel 2020-07-29 17:36:03 +02:00
remove_storage_markers.main.RemoveStorageMarkers.diff Remove storage markers if they won't be used during code generation 2021-02-28 20:10:44 +01: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 run RemoveZsts at mir-opt-level 3 and above 2021-03-22 18:30:56 -04:00
remove_unneeded_drops.dont_opt.RemoveUnneededDrops.diff only run RemoveZsts at mir-opt-level 3 and above 2021-03-22 18:30:56 -04:00
remove_unneeded_drops.opt.RemoveUnneededDrops.diff only run RemoveZsts at mir-opt-level 3 and above 2021-03-22 18:30:56 -04:00
remove_unneeded_drops.opt_generic_copy.RemoveUnneededDrops.diff only run RemoveZsts at mir-opt-level 3 and above 2021-03-22 18:30:56 -04:00
remove_unneeded_drops.rs Ignore test on wasm as it does not unwind 2020-09-23 18:25:55 +02:00
retag.core.ptr-drop_in_place.Test.SimplifyCfg-make_shim.after.mir pretty: trim paths of unique symbols 2020-09-02 22:26:37 +03: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 Bless mir-opt tests 2020-10-04 07:54:02 -04:00
retag.rs Move from {{closure}}#0 syntax to {closure#0} for (def) path components 2020-09-25 22:46:14 +01: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
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 Bless mir-opt tests 2020-10-04 07:54:02 -04:00
simple_match.match_bool.mir_map.0.64bit.mir Bless mir-opt tests 2020-10-04 07:54:02 -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 Bump mir-opt-level from 2 to 3 in tests 2021-03-05 17:13:57 -03: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 simplify-locals: Add yet to be optimized test cases 2020-10-26 00:00:00 +00:00
simplify_arm.id.SimplifyArmIdentity.diff pretty: trim paths of unique symbols 2020-09-02 22:26:37 +03:00
simplify_arm.id.SimplifyBranchSame.diff Fix #76803 2020-09-19 15:40:15 +02:00
simplify_arm.id_result.SimplifyArmIdentity.diff path trimming: ignore type aliases 2021-02-06 12:03:48 +02:00
simplify_arm.id_result.SimplifyBranchSame.diff path trimming: ignore type aliases 2021-02-06 12:03:48 +02:00
simplify_arm.id_try.SimplifyArmIdentity.diff path trimming: ignore type aliases 2021-02-06 12:03:48 +02:00
simplify_arm.id_try.SimplifyBranchSame.diff path trimming: ignore type aliases 2021-02-06 12:03:48 +02:00
simplify_arm_identity.main.SimplifyArmIdentity.32bit.diff bless tests 2021-03-15 21:58:54 -04:00
simplify_arm_identity.main.SimplifyArmIdentity.64bit.diff bless tests 2021-03-15 21:58:54 -04:00
simplify_cfg.main.SimplifyCfg-early-opt.diff Reintroduce hir::ExprKind::If 2021-01-07 18:54:12 -03:00
simplify_cfg.main.SimplifyCfg-initial.diff Reintroduce hir::ExprKind::If 2021-01-07 18:54:12 -03:00
simplify_cfg.rs add crate name to mir dumps 2020-07-29 13:41:11 +02:00
simplify_if.main.SimplifyBranches-after-const-prop.diff bless tests 2021-03-15 21:58:54 -04:00
simplify_if.rs add crate name to mir dumps 2020-07-29 13:41:11 +02:00
simplify_locals.c.SimplifyLocals.diff bless tests 2021-03-15 21:58:54 -04:00
simplify_locals.d1.SimplifyLocals.diff bless tests 2021-03-15 21:58:54 -04:00
simplify_locals.d2.SimplifyLocals.diff bless tests 2021-03-15 21:58:54 -04:00
simplify_locals.r.SimplifyLocals.diff bless tests 2021-03-15 21:58:54 -04:00
simplify_locals.t1.SimplifyLocals.diff bless tests 2021-03-15 21:58:54 -04:00
simplify_locals.t2.SimplifyLocals.diff bless tests 2021-03-15 21:58:54 -04:00
simplify_locals.t3.SimplifyLocals.diff bless tests 2021-03-15 21:58:54 -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 only run RemoveZsts at mir-opt-level 3 and above 2021-03-22 18:30:56 -04:00
simplify_locals_removes_unused_consts.main.SimplifyLocals.diff bless tests 2021-03-15 21:58:54 -04:00
simplify_locals_removes_unused_discriminant_reads.map.SimplifyLocals.32bit.diff Disable the SimplifyArmIdentity mir-opt 2020-10-01 20:29:53 -04:00
simplify_locals_removes_unused_discriminant_reads.map.SimplifyLocals.64bit.diff Disable the SimplifyArmIdentity mir-opt 2020-10-01 20:29:53 -04:00
simplify_match.main.ConstProp.diff bless tests 2021-03-15 21:58:54 -04:00
simplify_match.rs add crate name to mir dumps 2020-07-29 13:41:11 +02:00
simplify_try.rs Disable the SimplifyArmIdentity mir-opt 2020-10-01 20:29:53 -04:00
simplify_try.try_identity.DestinationPropagation.diff path trimming: ignore type aliases 2021-02-06 12:03:48 +02:00
simplify_try.try_identity.SimplifyArmIdentity.diff path trimming: ignore type aliases 2021-02-06 12:03:48 +02:00
simplify_try.try_identity.SimplifyBranchSame.after.mir path trimming: ignore type aliases 2021-02-06 12:03:48 +02:00
simplify_try.try_identity.SimplifyLocals.after.mir path trimming: ignore type aliases 2021-02-06 12:03:48 +02: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 Rename 32 bit mir files to be more tool friendly 2020-09-17 21:49:21 +01:00
slice_drop_shim.core.ptr-drop_in_place.[String].AddMovesForPackedDrops.before.64bit.mir Rename 64 bit mir files to be more tool friendly 2020-09-17 21:35:21 +01: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 Also generate StorageDead in constants 2020-12-09 10:59:10 +00:00
storage_ranges.main.nll.0.mir pretty: trim paths of unique symbols 2020-09-02 22:26:37 +03:00
storage_ranges.rs add crate name to mir dumps 2020-07-29 13:41:11 +02:00
tls-access.rs add crate name to mir dumps 2020-07-29 13:41:11 +02:00
tls_access.main.SimplifyCfg-final.after.mir bless tests 2021-03-15 21:58:54 -04:00
uniform_array_move_out.move_out_by_subslice.mir_map.0.mir Revert "Use record_operands_moved more aggresively" 2021-02-04 21:29:50 -05:00
uniform_array_move_out.move_out_from_end.mir_map.0.mir Revert "Use record_operands_moved more aggresively" 2021-02-04 21:29:50 -05: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 Move mir-opt tests to toplevel 2020-07-29 17:36:03 +02:00
uninhabited_enum.process_void.SimplifyLocals.after.mir Extend SimplifyLocals to remove ZST writes 2021-03-13 17:58:11 -05:00
uninhabited_enum_branching.main.SimplifyCfg-after-uninhabited-enum-branching.after.mir Suppress MIR comments of Unit type 2020-08-20 09:32:35 +00:00
uninhabited_enum_branching.main.UninhabitedEnumBranching.diff Suppress MIR comments of Unit type 2020-08-20 09:32:35 +00:00
uninhabited_enum_branching.rs add crate name to mir dumps 2020-07-29 13:41:11 +02:00
unreachable.main.UnreachablePropagation.diff Reintroduce hir::ExprKind::If 2021-01-07 18:54:12 -03:00
unreachable.rs add crate name to mir dumps 2020-07-29 13:41:11 +02:00
unreachable_asm.main.UnreachablePropagation.diff Reintroduce hir::ExprKind::If 2021-01-07 18:54:12 -03:00
unreachable_asm.rs add crate name to mir dumps 2020-07-29 13:41:11 +02:00
unreachable_asm_2.main.UnreachablePropagation.diff Reintroduce hir::ExprKind::If 2021-01-07 18:54:12 -03:00
unreachable_asm_2.rs add crate name to mir dumps 2020-07-29 13:41:11 +02:00
unreachable_diverging.main.UnreachablePropagation.diff Reintroduce hir::ExprKind::If 2021-01-07 18:54:12 -03:00
unreachable_diverging.rs add crate name to mir dumps 2020-07-29 13:41:11 +02:00
unusual-item-types.rs Move from {{closure}}#0 syntax to {closure#0} for (def) path components 2020-09-25 22:46:14 +01:00
unusual_item_types.core.ptr-drop_in_place.Vec_i32_.AddMovesForPackedDrops.before.32bit.mir Bless mir-opt tests 2020-10-04 07:54:02 -04:00
unusual_item_types.core.ptr-drop_in_place.Vec_i32_.AddMovesForPackedDrops.before.64bit.mir Bless mir-opt tests 2020-10-04 07:54:02 -04: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 Move from {{closure}}#0 syntax to {closure#0} for (def) path components 2020-09-25 22:46:14 +01:00
unusual_item_types.Test-X-{constructor#0}.mir_map.0.64bit.mir Move from {{closure}}#0 syntax to {closure#0} for (def) path components 2020-09-25 22:46:14 +01: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 bless tests 2021-03-15 21:58:54 -04:00
while_let_loops.change_loop_body.ConstProp.64bit.diff bless tests 2021-03-15 21:58:54 -04:00
while_let_loops.change_loop_body.PreCodegen.after.32bit.mir Extend SimplifyLocals to remove ZST writes 2021-03-13 17:58:11 -05:00
while_let_loops.change_loop_body.PreCodegen.after.64bit.mir Extend SimplifyLocals to remove ZST writes 2021-03-13 17:58:11 -05: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 bless tests 2021-03-15 21:58:54 -04: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