rust/src/test/mir-opt
Ralf Jung 3ebba83a47
Rollup merge of #75580 - JulianKnodt:or_pattern, r=wesleywiser
Add test for checking duplicated branch or-patterns

This adds a regression test for checking `or-patterns` in MIR as shown in #75439.
This doesn't introduce a fix as I'm not sure where it would go(I suspect maybe here: src/librustc_mir_build/build/matches/mod.rs), and I'm not particularly able to fix it.

cc: @lzutao
2020-09-19 11:47:37 +02:00
..
const_prop Rename 32 bit mir files to be more tool friendly 2020-09-17 21:49:21 +01:00
inline Rename 32 bit mir files to be more tool friendly 2020-09-17 21:49:21 +01:00
issues Add test for checking if-let or-patterns 2020-09-04 20:04:13 +00:00
nll Rename 32 bit mir files to be more tool friendly 2020-09-17 21:49:21 +01: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 Rename 32 bit mir files to be more tool friendly 2020-09-17 21:49:21 +01:00
array_index_is_temporary.main.SimplifyCfg-elaborate-drops.after.64bit.mir Rename 64 bit mir files to be more tool friendly 2020-09-17 21:35:21 +01:00
basic_assignment.main.SimplifyCfg-initial.after.mir pretty: trim paths of unique symbols 2020-09-02 22:26:37 +03:00
basic_assignment.rs add crate name to mir dumps 2020-07-29 13:41:11 +02:00
box_expr.main.ElaborateDrops.before.mir pretty: trim paths of unique symbols 2020-09-02 22:26:37 +03: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 Rename 32 bit mir files to be more tool friendly 2020-09-17 21:49:21 +01:00
combine_array_len.norm2.InstCombine.64bit.diff Rename 64 bit mir files to be more tool friendly 2020-09-17 21:35:21 +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 compiletest: ignore-endian-big, fixes #74829, fixes #74885 2020-07-31 12:58:37 +01:00
const_allocation.main.ConstProp.after.32bit.mir Rename 32 bit mir files to be more tool friendly 2020-09-17 21:49:21 +01:00
const_allocation.main.ConstProp.after.64bit.mir Rename 64 bit mir files to be more tool friendly 2020-09-17 21:35:21 +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 Rename 32 bit mir files to be more tool friendly 2020-09-17 21:49:21 +01:00
const_allocation2.main.ConstProp.after.64bit.mir Rename 64 bit mir files to be more tool friendly 2020-09-17 21:35:21 +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 Rename 32 bit mir files to be more tool friendly 2020-09-17 21:49:21 +01:00
const_allocation3.main.ConstProp.after.64bit.mir Rename 64 bit mir files to be more tool friendly 2020-09-17 21:35:21 +01:00
const_allocation3.rs compiletest: ignore-endian-big, fixes #74829, fixes #74885 2020-07-31 12:58:37 +01:00
const_promotion_extern_static.BAR-promoted[0].ConstProp.after.mir Move mir-opt tests to toplevel 2020-07-29 17:36:03 +02:00
const_promotion_extern_static.BAR.PromoteTemps.diff Suppress "const" prefix of FnDef in MIR dump 2020-08-21 00:36:49 +00:00
const_promotion_extern_static.FOO-promoted[0].ConstProp.after.mir Move mir-opt tests to toplevel 2020-07-29 17:36:03 +02:00
const_promotion_extern_static.FOO.PromoteTemps.diff Suppress "const" prefix of FnDef in MIR dump 2020-08-21 00:36:49 +00:00
const_prop_miscompile.bar.ConstProp.diff Suppress MIR comments of Unit type 2020-08-20 09:32:35 +00:00
const_prop_miscompile.foo.ConstProp.diff Suppress MIR comments of Unit type 2020-08-20 09:32:35 +00:00
const_prop_miscompile.rs add crate name to mir dumps 2020-07-29 13:41:11 +02:00
copy_propagation.rs add crate name to mir dumps 2020-07-29 13:41:11 +02:00
copy_propagation.test.CopyPropagation.diff Move mir-opt tests to toplevel 2020-07-29 17:36:03 +02:00
copy_propagation_arg.arg_src.CopyPropagation.diff Update MIR tests with comment verbosity fix 2020-08-17 17:29:48 -04:00
copy_propagation_arg.bar.CopyPropagation.diff Suppress "const" prefix of FnDef in MIR dump 2020-08-21 00:36:49 +00:00
copy_propagation_arg.baz.CopyPropagation.diff Suppress MIR comments of Unit type 2020-08-20 09:32:35 +00:00
copy_propagation_arg.foo.CopyPropagation.diff Suppress "const" prefix of FnDef in MIR dump 2020-08-21 00:36:49 +00:00
copy_propagation_arg.rs add crate name to mir dumps 2020-07-29 13:41:11 +02: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 Move mir-opt tests to toplevel 2020-07-29 17:36:03 +02: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
equal_true.opt.InstCombine.diff Generalize to Eq(true, _place) and Eq(_place, true) 2020-09-06 11:51:44 +02: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 pretty: trim paths of unique symbols 2020-09-02 22:26:37 +03:00
funky_arms.float_to_exponential_common.ConstProp.diff pretty: trim paths of unique symbols 2020-09-02 22:26:37 +03:00
funky_arms.rs move Deaggregate pass to post_borrowck_cleanup 2020-08-11 17:09:15 +02:00
generator-drop-cleanup.rs add crate name to mir dumps 2020-07-29 13:41:11 +02:00
generator-storage-dead-unwind.rs add crate name to mir dumps 2020-07-29 13:41:11 +02:00
generator-tiny.rs add crate name to mir dumps 2020-07-29 13:41:11 +02:00
generator_drop_cleanup.main-{{closure}}.generator_drop.0.mir pretty: trim paths of unique symbols 2020-09-02 22:26:37 +03:00
generator_storage_dead_unwind.main-{{closure}}.StateTransform.before.mir Suppress "const" prefix of FnDef in MIR dump 2020-08-21 00:36:49 +00:00
generator_tiny.main-{{closure}}.generator_resume.0.mir pretty: trim paths of unique symbols 2020-09-02 22:26:37 +03:00
graphviz.main.mir_map.0.dot Also fixed monospace font for d3-graphviz engine 2020-09-09 14:49:32 -07:00
graphviz.main.mir_map.0.dot.mir Rename 64 bit mir files to be more tool friendly 2020-09-17 21:35:21 +01: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 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_floats.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.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 New pass to optimize ifconditions on integrals to switches on the integer 2020-08-29 13:42:19 +02:00
if_condition_int.opt_i8.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_multiple_ifs.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_negative.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_u32.SimplifyComparisonIntegral.diff New pass to optimize ifconditions on integrals to switches on the integer 2020-08-29 13:42:19 +02:00
instrument_coverage.bar.InstrumentCoverage.diff Tools, tests, and experimenting with MIR-derived coverage counters 2020-09-03 00:20:29 -07:00
instrument_coverage.main.InstrumentCoverage.diff Tools, tests, and experimenting with MIR-derived coverage counters 2020-09-03 00:20:29 -07:00
instrument_coverage.rs Moved coverage counter injection from BasicBlock to Statement. 2020-08-18 21:06:45 -07: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 mir building: fix some comments 2020-08-18 13:14:38 +02: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_38669.main.SimplifyCfg-initial.after.mir Suppress MIR comments of Unit type 2020-08-20 09:32:35 +00:00
issue_41110.main.ElaborateDrops.after.mir Suppress "const" prefix of FnDef in MIR dump 2020-08-21 00:36:49 +00:00
issue_41110.test.ElaborateDrops.after.mir Suppress "const" prefix of FnDef in MIR dump 2020-08-21 00:36:49 +00:00
issue_41697.{{impl}}-{{constant}}.SimplifyCfg-promote-consts.after.32bit.mir Rename 32 bit mir files to be more tool friendly 2020-09-17 21:49:21 +01:00
issue_41697.{{impl}}-{{constant}}.SimplifyCfg-promote-consts.after.64bit.mir Rename 64 bit mir files to be more tool friendly 2020-09-17 21:35:21 +01:00
issue_41888.main.ElaborateDrops.after.mir Suppress "const" prefix of FnDef in MIR dump 2020-08-21 00:36:49 +00:00
issue_49232.main.mir_map.0.mir Suppress "const" prefix of FnDef in MIR dump 2020-08-21 00:36:49 +00:00
issue_62289.test.ElaborateDrops.before.mir pretty: trim paths of unique symbols 2020-09-02 22:26:37 +03:00
issue_72181.bar.mir_map.0.32bit.mir Rename 32 bit mir files to be more tool friendly 2020-09-17 21:49:21 +01:00
issue_72181.bar.mir_map.0.64bit.mir Rename 64 bit mir files to be more tool friendly 2020-09-17 21:35:21 +01:00
issue_72181.foo.mir_map.0.32bit.mir Rename 32 bit mir files to be more tool friendly 2020-09-17 21:49:21 +01:00
issue_72181.foo.mir_map.0.64bit.mir Rename 64 bit mir files to be more tool friendly 2020-09-17 21:35:21 +01:00
issue_72181.main.mir_map.0.32bit.mir Rename 32 bit mir files to be more tool friendly 2020-09-17 21:49:21 +01:00
issue_72181.main.mir_map.0.64bit.mir Rename 64 bit mir files to be more tool friendly 2020-09-17 21:35:21 +01:00
issue_72181_1.f.mir_map.0.mir Move mir-opt tests to toplevel 2020-07-29 17:36:03 +02:00
issue_72181_1.main.mir_map.0.mir pretty: trim paths of unique symbols 2020-09-02 22:26:37 +03:00
issue_73223.main.PreCodegen.32bit.diff Rename 32 bit mir files to be more tool friendly 2020-09-17 21:49:21 +01:00
issue_73223.main.PreCodegen.64bit.diff Rename 64 bit mir files to be more tool friendly 2020-09-17 21:35:21 +01:00
issue_73223.main.SimplifyArmIdentity.32bit.diff Rename 32 bit mir files to be more tool friendly 2020-09-17 21:49:21 +01:00
issue_73223.main.SimplifyArmIdentity.64bit.diff Rename 64 bit mir files to be more tool friendly 2020-09-17 21:35:21 +01:00
loop_test.main.SimplifyCfg-promote-consts.after.mir Suppress MIR comments of Unit type 2020-08-20 09:32:35 +00:00
loop_test.rs mir building: fix some comments 2020-08-18 13:14:38 +02: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 pretty: trim paths of unique symbols 2020-09-02 22:26:37 +03:00
match_false_edges.full_tested_match.PromoteTemps.after.mir pretty: trim paths of unique symbols 2020-09-02 22:26:37 +03:00
match_false_edges.full_tested_match2.PromoteTemps.before.mir pretty: trim paths of unique symbols 2020-09-02 22:26:37 +03:00
match_false_edges.main.PromoteTemps.before.mir pretty: trim paths of unique symbols 2020-09-02 22:26:37 +03: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 Rename 32 bit mir files to be more tool friendly 2020-09-17 21:49:21 +01:00
matches_reduce_branches.bar.MatchBranchSimplification.64bit.diff Rename 64 bit mir files to be more tool friendly 2020-09-17 21:35:21 +01:00
matches_reduce_branches.foo.MatchBranchSimplification.32bit.diff Rename 32 bit mir files to be more tool friendly 2020-09-17 21:49:21 +01:00
matches_reduce_branches.foo.MatchBranchSimplification.64bit.diff Rename 64 bit mir files to be more tool friendly 2020-09-17 21:35:21 +01:00
matches_reduce_branches.rs MatchBranchSimplification: fix equal const bool assignments 2020-08-15 00:00:00 +00: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
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 pretty: trim paths of unique symbols 2020-09-02 22:26:37 +03:00
no_spurious_drop_after_call.main.ElaborateDrops.before.mir pretty: trim paths of unique symbols 2020-09-02 22:26:37 +03:00
not_equal_false.opt.InstCombine.diff Add peephold optimization that simplifies Ne(_1, false) and Ne(false, _1) into _1 2020-09-06 11:51:44 +02:00
not_equal_false.rs Add peephold optimization that simplifies Ne(_1, false) and Ne(false, _1) into _1 2020-09-06 11:51:44 +02:00
nrvo-simple.rs add crate name to mir dumps 2020-07-29 13:41:11 +02:00
nrvo_simple.nrvo.RenameReturnPlace.diff Update MIR tests with comment verbosity fix 2020-08-17 17:29:48 -04: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 Rename 32 bit mir files to be more tool friendly 2020-09-17 21:49:21 +01:00
packed_struct_drop_aligned.main.SimplifyCfg-elaborate-drops.after.64bit.mir Rename 64 bit mir files to be more tool friendly 2020-09-17 21:35:21 +01:00
README.md Remove old mir-opt test format. 2020-04-07 18:02:11 +00: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
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}}.SimplifyCfg-elaborate-drops.after.mir Move mir-opt tests to toplevel 2020-07-29 17:36:03 +02:00
retag.main.SimplifyCfg-elaborate-drops.after.mir Suppress "const" prefix of FnDef in MIR dump 2020-08-21 00:36:49 +00:00
retag.rs add crate name to mir dumps 2020-07-29 13:41:11 +02:00
retag.{{impl}}-foo.SimplifyCfg-elaborate-drops.after.mir Move mir-opt tests to toplevel 2020-07-29 17:36:03 +02:00
retag.{{impl}}-foo_shr.SimplifyCfg-elaborate-drops.after.mir Move mir-opt tests to toplevel 2020-07-29 17:36:03 +02:00
return_an_array.rs Remove licenses 2018-12-25 21:08:33 -07: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 Rename 32 bit mir files to be more tool friendly 2020-09-17 21:49:21 +01:00
simple_match.match_bool.mir_map.0.64bit.mir Rename 64 bit mir files to be more tool friendly 2020-09-17 21:35:21 +01:00
simplify-arm-identity.rs add crate name to mir dumps 2020-07-29 13:41:11 +02:00
simplify-arm.rs Implement 'considered equal' for statements, so that for example _0 = _1 and discriminant(_0) = discriminant(0) are considered equal if 0 is a fieldless variant of an enum 2020-08-16 22:04:58 +02: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 add crate name to mir dumps 2020-07-29 13:41:11 +02: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 [mir-opt] Disable the ConsideredEqual logic in SimplifyBranchSame opt 2020-09-17 09:36:50 -04:00
simplify_arm.id_result.SimplifyArmIdentity.diff Implement 'considered equal' for statements, so that for example _0 = _1 and discriminant(_0) = discriminant(0) are considered equal if 0 is a fieldless variant of an enum 2020-08-16 22:04:58 +02:00
simplify_arm.id_result.SimplifyBranchSame.diff Implement 'considered equal' for statements, so that for example _0 = _1 and discriminant(_0) = discriminant(0) are considered equal if 0 is a fieldless variant of an enum 2020-08-16 22:04:58 +02:00
simplify_arm.id_try.SimplifyArmIdentity.diff Implement 'considered equal' for statements, so that for example _0 = _1 and discriminant(_0) = discriminant(0) are considered equal if 0 is a fieldless variant of an enum 2020-08-16 22:04:58 +02:00
simplify_arm.id_try.SimplifyBranchSame.diff Implement 'considered equal' for statements, so that for example _0 = _1 and discriminant(_0) = discriminant(0) are considered equal if 0 is a fieldless variant of an enum 2020-08-16 22:04:58 +02:00
simplify_arm_identity.main.SimplifyArmIdentity.32bit.diff Rename 32 bit mir files to be more tool friendly 2020-09-17 21:49:21 +01:00
simplify_arm_identity.main.SimplifyArmIdentity.64bit.diff Rename 64 bit mir files to be more tool friendly 2020-09-17 21:35:21 +01:00
simplify_cfg.main.SimplifyCfg-early-opt.diff Suppress "const" prefix of FnDef in MIR dump 2020-08-21 00:36:49 +00:00
simplify_cfg.main.SimplifyCfg-initial.diff Suppress "const" prefix of FnDef in MIR dump 2020-08-21 00:36:49 +00: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 Suppress "const" prefix of FnDef in MIR dump 2020-08-21 00:36:49 +00:00
simplify_if.rs add crate name to mir dumps 2020-07-29 13:41:11 +02:00
simplify_locals_fixedpoint.foo.SimplifyLocals.diff Suppress MIR comments of Unit type 2020-08-20 09:32:35 +00:00
simplify_locals_removes_unused_consts.main.SimplifyLocals.diff Suppress "const" prefix of FnDef in MIR dump 2020-08-21 00:36:49 +00:00
simplify_locals_removes_unused_discriminant_reads.map.SimplifyLocals.32bit.diff Rename 32 bit mir files to be more tool friendly 2020-09-17 21:49:21 +01:00
simplify_locals_removes_unused_discriminant_reads.map.SimplifyLocals.64bit.diff Rename 64 bit mir files to be more tool friendly 2020-09-17 21:35:21 +01:00
simplify_match.main.ConstProp.diff Suppress "const" prefix of FnDef in MIR dump 2020-08-21 00:36:49 +00:00
simplify_match.rs add crate name to mir dumps 2020-07-29 13:41:11 +02:00
simplify_try.rs add crate name to mir dumps 2020-07-29 13:41:11 +02:00
simplify_try.try_identity.SimplifyArmIdentity.diff Move mir-opt tests to toplevel 2020-07-29 17:36:03 +02:00
simplify_try.try_identity.SimplifyBranchSame.after.mir Move mir-opt tests to toplevel 2020-07-29 17:36:03 +02:00
simplify_try.try_identity.SimplifyLocals.after.mir Move mir-opt tests to toplevel 2020-07-29 17:36:03 +02:00
simplify_try_if_let.rs add crate name to mir dumps 2020-07-29 13:41:11 +02:00
simplify_try_if_let.{{impl}}-append.SimplifyArmIdentity.diff Auto merge of #76308 - wesleywiser:enable_simplifyarmidentity_mir_opt, r=oli-obk 2020-09-08 09:27:23 +00: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 Improved the MIR spanview output 2020-09-06 19:04:08 -07:00
spanview_block.main.mir_map.0.html.mir Rename 64 bit mir files to be more tool friendly 2020-09-17 21:35:21 +01:00
spanview_statement.main.mir_map.0.html Improved the MIR spanview output 2020-09-06 19:04:08 -07:00
spanview_statement.main.mir_map.0.html.mir Rename 64 bit mir files to be more tool friendly 2020-09-17 21:35:21 +01:00
spanview_terminator.main.mir_map.0.html Improved the MIR spanview output 2020-09-06 19:04:08 -07:00
spanview_terminator.main.mir_map.0.html.mir Rename 64 bit mir files to be more tool friendly 2020-09-17 21:35:21 +01: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 Update MIR tests with comment verbosity fix 2020-08-17 17:29:48 -04: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 Suppress MIR comments of Unit type 2020-08-20 09:32:35 +00:00
uniform_array_move_out.move_out_by_subslice.mir_map.0.mir Suppress MIR comments of Unit type 2020-08-20 09:32:35 +00:00
uniform_array_move_out.move_out_from_end.mir_map.0.mir Suppress MIR comments of Unit type 2020-08-20 09:32:35 +00: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 Suppress MIR comments of Unit type 2020-08-20 09:32:35 +00: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 Suppress "const" prefix of FnDef in MIR dump 2020-08-21 00:36:49 +00:00
unreachable.rs add crate name to mir dumps 2020-07-29 13:41:11 +02:00
unreachable_asm.main.UnreachablePropagation.diff Suppress "const" prefix of FnDef in MIR dump 2020-08-21 00:36:49 +00:00
unreachable_asm.rs add crate name to mir dumps 2020-07-29 13:41:11 +02:00
unreachable_asm_2.main.UnreachablePropagation.diff Suppress "const" prefix of FnDef in MIR dump 2020-08-21 00:36:49 +00:00
unreachable_asm_2.rs add crate name to mir dumps 2020-07-29 13:41:11 +02:00
unreachable_diverging.main.UnreachablePropagation.diff Suppress "const" prefix of FnDef in MIR dump 2020-08-21 00:36:49 +00:00
unreachable_diverging.rs add crate name to mir dumps 2020-07-29 13:41:11 +02:00
unusual-item-types.rs pretty: trim paths of unique symbols 2020-09-02 22:26:37 +03:00
unusual_item_types.core.ptr-drop_in_place.Vec_i32_.AddMovesForPackedDrops.before.32bit.mir Rename 32 bit mir files to be more tool friendly 2020-09-17 21:49:21 +01:00
unusual_item_types.core.ptr-drop_in_place.Vec_i32_.AddMovesForPackedDrops.before.64bit.mir Rename 64 bit mir files to be more tool friendly 2020-09-17 21:35:21 +01:00
unusual_item_types.E-V-{{constant}}.mir_map.0.32bit.mir Rename 32 bit mir files to be more tool friendly 2020-09-17 21:49:21 +01:00
unusual_item_types.E-V-{{constant}}.mir_map.0.64bit.mir Rename 64 bit mir files to be more tool friendly 2020-09-17 21:35:21 +01:00
unusual_item_types.Test-X-{{constructor}}.mir_map.0.32bit.mir Rename 32 bit mir files to be more tool friendly 2020-09-17 21:49:21 +01:00
unusual_item_types.Test-X-{{constructor}}.mir_map.0.64bit.mir Rename 64 bit mir files to be more tool friendly 2020-09-17 21:35:21 +01:00
unusual_item_types.{{impl}}-ASSOCIATED_CONSTANT.mir_map.0.32bit.mir Rename 32 bit mir files to be more tool friendly 2020-09-17 21:49:21 +01:00
unusual_item_types.{{impl}}-ASSOCIATED_CONSTANT.mir_map.0.64bit.mir Rename 64 bit mir files to be more tool friendly 2020-09-17 21:35:21 +01: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 Rename 32 bit mir files to be more tool friendly 2020-09-17 21:49:21 +01:00
while_let_loops.change_loop_body.ConstProp.64bit.diff Rename 64 bit mir files to be more tool friendly 2020-09-17 21:35:21 +01:00
while_let_loops.change_loop_body.PreCodegen.after.32bit.mir Rename 32 bit mir files to be more tool friendly 2020-09-17 21:49:21 +01:00
while_let_loops.change_loop_body.PreCodegen.after.64bit.mir Rename 64 bit mir files to be more tool friendly 2020-09-17 21:35:21 +01: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 Suppress "const" prefix of FnDef in MIR dump 2020-08-21 00:36:49 +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