rust/tests/mir-opt
Guillaume Gomez 208f6ed95c
Rollup merge of #115972 - RalfJung:const-consistency, r=oli-obk
rename mir::Constant -> mir::ConstOperand, mir::ConstKind -> mir::Const

Also, be more consistent with the `to/eval_bits` methods... we had some that take a type and some that take a size, and then sometimes the one that takes a type is called `bits_for_ty`.

Turns out that `ty::Const`/`mir::ConstKind` carry their type with them, so we don't need to even pass the type to those `eval_bits` functions at all.

However this is not properly consistent yet: in `ty` we have most of the methods on `ty::Const`, but in `mir` we have them on `mir::ConstKind`. And indeed those two types are the ones that correspond to each other. So `mir::ConstantKind` should actually be renamed to `mir::Const`. But what to do with `mir::Constant`? It carries around a span, that's really more like a constant operand that appears as a MIR operand... it's more suited for `syntax.rs` than `consts.rs`, but the bigger question is, which name should it get if we want to align the `mir` and `ty` types? `ConstOperand`? `ConstOp`? `Literal`? It's not a literal but it has a field called `literal` so it would at least be consistently wrong-ish...

``@oli-obk`` any ideas?
2023-09-21 13:25:39 +02:00
..
building Disentangle Debug and Display for Ty. 2023-09-11 12:51:07 +10:00
const_prop fix clippy (and MIR printing) handling of ConstValue::Indirect slices 2023-09-14 11:56:55 +02:00
copy-prop custom_mir: change Call() terminator syntax to something more readable 2023-08-19 22:41:33 +02:00
dataflow-const-prop Duplicate output for test. 2023-09-11 16:29:42 +00:00
dead-store-elimination Do not convert copies of packed projections to moves. 2023-08-23 16:09:57 +00:00
deref-patterns Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
dest-prop Bless tests 2023-06-23 18:36:25 +01:00
inline lower ExprKind::Use, LogicalOp::Or and UnOp::Not 2023-08-30 17:24:10 +08:00
issues Revert "Implement references VarDebugInfo." 2023-08-17 17:02:04 +00:00
nll make ty::Const debug printing less verbose 2023-09-16 16:31:09 +02:00
pre-codegen rename mir::Constant -> mir::ConstOperand, mir::ConstKind -> mir::Const 2023-09-21 08:12:30 +02:00
sroa Refactor how MIR represents composite debuginfo. 2023-09-05 17:20:07 +00:00
address_of.address_of_reborrow.SimplifyCfg-initial.after.mir Rename adjustment::PointerCast and variants using it to PointerCoercion 2023-07-07 18:17:16 +02:00
address_of.borrow_and_cast.SimplifyCfg-initial.after.mir Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
address_of.rs
array_index_is_temporary.main.SimplifyCfg-elaborate-drops.after.panic-abort.mir Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
array_index_is_temporary.main.SimplifyCfg-elaborate-drops.after.panic-unwind.mir Bless tests 2023-06-23 18:36:25 +01:00
array_index_is_temporary.rs properly mark tests that require panic=abort 2023-06-12 09:34:15 +02:00
asm_unwind_panic_abort.main.AbortUnwindingCalls.after.mir make MIR less verbose 2023-08-24 14:26:26 +02:00
asm_unwind_panic_abort.rs
basic_assignment.main.ElaborateDrops.diff make MIR less verbose 2023-08-24 14:26:26 +02:00
basic_assignment.main.SimplifyCfg-initial.after.mir make MIR less verbose 2023-08-24 14:26:26 +02:00
basic_assignment.rs
bool_compare.opt1.InstSimplify.diff lower ExprKind::Use, LogicalOp::Or and UnOp::Not 2023-08-30 17:24:10 +08:00
bool_compare.opt2.InstSimplify.diff lower ExprKind::Use, LogicalOp::Or and UnOp::Not 2023-08-30 17:24:10 +08:00
bool_compare.opt3.InstSimplify.diff lower ExprKind::Use, LogicalOp::Or and UnOp::Not 2023-08-30 17:24:10 +08:00
bool_compare.opt4.InstSimplify.diff lower ExprKind::Use, LogicalOp::Or and UnOp::Not 2023-08-30 17:24:10 +08:00
bool_compare.rs Rename InstCombine to InstSimplify 2023-05-06 23:22:32 -04:00
box_expr.main.ElaborateDrops.before.panic-abort.mir make MIR less verbose 2023-08-24 14:26:26 +02:00
box_expr.main.ElaborateDrops.before.panic-unwind.mir make MIR less verbose 2023-08-24 14:26:26 +02:00
box_expr.rs properly mark tests that require panic=abort 2023-06-12 09:34:15 +02:00
byte_slice.main.SimplifyCfg-elaborate-drops.after.mir Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
byte_slice.rs
casts.redundant.InstSimplify.diff Perform reference propagation earlier. 2023-07-10 16:01:18 +00:00
casts.redundant.PreCodegen.after.mir Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
casts.roundtrip.PreCodegen.after.mir Rename adjustment::PointerCast and variants using it to PointerCoercion 2023-07-07 18:17:16 +02:00
casts.rs Rename InstCombine to InstSimplify 2023-05-06 23:22:32 -04:00
combine_array_len.norm2.InstSimplify.panic-abort.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
combine_array_len.norm2.InstSimplify.panic-unwind.diff Bless tests 2023-06-23 18:36:25 +01:00
combine_array_len.rs properly mark tests that require panic=abort 2023-06-12 09:34:15 +02:00
combine_clone_of_primitives.{impl#0}-clone.InstSimplify.panic-abort.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
combine_clone_of_primitives.{impl#0}-clone.InstSimplify.panic-unwind.diff make MIR less verbose 2023-08-24 14:26:26 +02:00
combine_clone_of_primitives.rs properly mark tests that require panic=abort 2023-06-12 09:34:15 +02:00
combine_transmutes.adt_transmutes.InstSimplify.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
combine_transmutes.identity_transmutes.InstSimplify.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
combine_transmutes.integer_transmutes.InstSimplify.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
combine_transmutes.rs Stop turning transmutes into discriminants in mir-opt 2023-05-14 11:46:07 -07:00
const_allocation2.main.ConstProp.after.32bit.mir Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
const_allocation2.main.ConstProp.after.64bit.mir Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
const_allocation2.rs
const_allocation3.main.ConstProp.after.32bit.mir Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
const_allocation3.main.ConstProp.after.64bit.mir Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
const_allocation3.rs
const_allocation.main.ConstProp.after.32bit.mir interpret: refactor projection code to work on a common trait, and use that for visitors 2023-07-25 14:30:58 +02:00
const_allocation.main.ConstProp.after.64bit.mir interpret: refactor projection code to work on a common trait, and use that for visitors 2023-07-25 14:30:58 +02:00
const_allocation.rs
const_debuginfo.main.ConstDebugInfo.diff Refactor how MIR represents composite debuginfo. 2023-09-05 17:20:07 +00:00
const_debuginfo.rs
const_goto_const_eval_fail.f.ConstGoto.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
const_goto_const_eval_fail.rs Disable two mir opts that are known to be unsound 2023-06-21 07:41:09 +00:00
const_goto_storage.match_nested_if.ConstGoto.diff lower ExprKind::Use, LogicalOp::Or and UnOp::Not 2023-08-30 17:24:10 +08:00
const_goto_storage.rs
const_goto.issue_77355_opt.ConstGoto.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
const_goto.rs
const_promotion_extern_static.BAR-promoted[0].SimplifyCfg-elaborate-drops.after.mir Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
const_promotion_extern_static.BAR.PromoteTemps.diff Rename adjustment::PointerCast and variants using it to PointerCoercion 2023-07-07 18:17:16 +02:00
const_promotion_extern_static.BOP.built.after.mir Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
const_promotion_extern_static.FOO-promoted[0].SimplifyCfg-elaborate-drops.after.mir Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
const_promotion_extern_static.FOO.PromoteTemps.diff Rename adjustment::PointerCast and variants using it to PointerCoercion 2023-07-07 18:17:16 +02:00
const_promotion_extern_static.rs
const_prop_miscompile.bar.ConstProp.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
const_prop_miscompile.foo.ConstProp.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
const_prop_miscompile.rs
deduplicate_blocks.is_line_doc_comment_2.DeduplicateBlocks.panic-abort.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
deduplicate_blocks.is_line_doc_comment_2.DeduplicateBlocks.panic-unwind.diff Bless tests 2023-06-23 18:36:25 +01:00
deduplicate_blocks.rs properly mark tests that require panic=abort 2023-06-12 09:34:15 +02:00
derefer_complex_case.main.Derefer.panic-abort.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
derefer_complex_case.main.Derefer.panic-unwind.diff Bless tests 2023-06-23 18:36:25 +01:00
derefer_complex_case.rs properly mark tests that require panic=abort 2023-06-12 09:34:15 +02:00
derefer_inline_test.main.Derefer.panic-abort.diff make MIR less verbose 2023-08-24 14:26:26 +02:00
derefer_inline_test.main.Derefer.panic-unwind.diff make MIR less verbose 2023-08-24 14:26:26 +02:00
derefer_inline_test.rs properly mark tests that require panic=abort 2023-06-12 09:34:15 +02:00
derefer_terminator_test.main.Derefer.panic-abort.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
derefer_terminator_test.main.Derefer.panic-unwind.diff Bless tests 2023-06-23 18:36:25 +01:00
derefer_terminator_test.rs properly mark tests that require panic=abort 2023-06-12 09:34:15 +02:00
derefer_test_multiple.main.Derefer.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
derefer_test_multiple.rs
derefer_test.main.Derefer.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
derefer_test.rs
dont_inline_type_id.call.Inline.diff Don't resolve generic instances if they may be shadowed by dyn 2023-09-19 05:42:23 +00:00
dont_inline_type_id.rs Don't resolve generic instances if they may be shadowed by dyn 2023-09-19 05:42:23 +00:00
dont_yeet_assert.generic.InstSimplify.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
dont_yeet_assert.rs Rename InstCombine to InstSimplify 2023-05-06 23:22:32 -04:00
early_otherwise_branch_3_element_tuple.opt1.EarlyOtherwiseBranch.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
early_otherwise_branch_3_element_tuple.rs
early_otherwise_branch_68867.rs
early_otherwise_branch_68867.try_sum.EarlyOtherwiseBranch.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
early_otherwise_branch_noopt.noopt1.EarlyOtherwiseBranch.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
early_otherwise_branch_noopt.rs
early_otherwise_branch_soundness.no_deref_ptr.EarlyOtherwiseBranch.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
early_otherwise_branch_soundness.no_downcast.EarlyOtherwiseBranch.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
early_otherwise_branch_soundness.rs
early_otherwise_branch.opt1.EarlyOtherwiseBranch.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
early_otherwise_branch.opt2.EarlyOtherwiseBranch.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
early_otherwise_branch.opt3.EarlyOtherwiseBranch.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
early_otherwise_branch.rs
enum_opt.cand.EnumSizeOpt.32bit.diff bless all 2023-09-14 11:56:55 +02:00
enum_opt.cand.EnumSizeOpt.64bit.diff bless all 2023-09-14 11:56:55 +02:00
enum_opt.invalid.EnumSizeOpt.32bit.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
enum_opt.invalid.EnumSizeOpt.64bit.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
enum_opt.rs
enum_opt.trunc.EnumSizeOpt.32bit.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
enum_opt.trunc.EnumSizeOpt.64bit.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
enum_opt.unin.EnumSizeOpt.32bit.diff bless all 2023-09-14 11:56:55 +02:00
enum_opt.unin.EnumSizeOpt.64bit.diff bless all 2023-09-14 11:56:55 +02:00
equal_true.opt.InstSimplify.diff lower ExprKind::Use, LogicalOp::Or and UnOp::Not 2023-08-30 17:24:10 +08:00
equal_true.rs Rename InstCombine to InstSimplify 2023-05-06 23:22:32 -04:00
exponential_or.match_tuple.SimplifyCfg-initial.after.mir Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
exponential_or.rs
fn_ptr_shim.core.ops-function-Fn-call.AddMovesForPackedDrops.before.mir Auto merge of #112307 - lcnr:operand-ref, r=compiler-errors 2023-06-28 00:41:37 +00:00
fn_ptr_shim.rs
funky_arms.float_to_exponential_common.ConstProp.panic-abort.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
funky_arms.float_to_exponential_common.ConstProp.panic-unwind.diff Bless tests 2023-06-23 18:36:25 +01:00
funky_arms.rs Encode only MIR that can be used by other crates 2023-09-10 13:55:33 +02:00
generator_drop_cleanup.main-{closure#0}.generator_drop.0.panic-abort.mir make more pretty 2023-09-18 17:29:13 +01:00
generator_drop_cleanup.main-{closure#0}.generator_drop.0.panic-unwind.mir make more pretty 2023-09-18 17:29:13 +01:00
generator_drop_cleanup.rs properly mark tests that require panic=abort 2023-06-12 09:34:15 +02:00
generator_storage_dead_unwind.main-{closure#0}.StateTransform.before.panic-abort.mir Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
generator_storage_dead_unwind.main-{closure#0}.StateTransform.before.panic-unwind.mir make MIR less verbose 2023-08-24 14:26:26 +02:00
generator_storage_dead_unwind.rs properly mark tests that require panic=abort 2023-06-12 09:34:15 +02:00
generator_tiny.main-{closure#0}.generator_resume.0.mir make more pretty 2023-09-18 17:29:13 +01:00
generator_tiny.rs
graphviz.main.built.after.dot
graphviz.rs
if_condition_int.dont_opt_bool.SimplifyComparisonIntegral.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
if_condition_int.dont_opt_floats.SimplifyComparisonIntegral.diff lower ExprKind::Use, LogicalOp::Or and UnOp::Not 2023-08-30 17:24:10 +08:00
if_condition_int.dont_remove_comparison.SimplifyComparisonIntegral.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
if_condition_int.opt_char.SimplifyComparisonIntegral.diff lower ExprKind::Use, LogicalOp::Or and UnOp::Not 2023-08-30 17:24:10 +08:00
if_condition_int.opt_i8.SimplifyComparisonIntegral.diff lower ExprKind::Use, LogicalOp::Or and UnOp::Not 2023-08-30 17:24:10 +08:00
if_condition_int.opt_multiple_ifs.SimplifyComparisonIntegral.diff lower ExprKind::Use, LogicalOp::Or and UnOp::Not 2023-08-30 17:24:10 +08:00
if_condition_int.opt_negative.SimplifyComparisonIntegral.diff lower ExprKind::Use, LogicalOp::Or and UnOp::Not 2023-08-30 17:24:10 +08:00
if_condition_int.opt_u32.SimplifyComparisonIntegral.diff lower ExprKind::Use, LogicalOp::Or and UnOp::Not 2023-08-30 17:24:10 +08:00
if_condition_int.rs
inline_generically_if_sized.call.Inline.diff Don't resolve generic instances if they may be shadowed by dyn 2023-09-19 05:42:23 +00:00
inline_generically_if_sized.rs Don't resolve generic instances if they may be shadowed by dyn 2023-09-19 05:42:23 +00:00
instrument_coverage.bar.InstrumentCoverage.diff Make coverage counter IDs count up from 0, not 1 2023-08-01 11:29:55 +10:00
instrument_coverage.main.InstrumentCoverage.diff Make coverage counter IDs count up from 0, not 1 2023-08-01 11:29:55 +10:00
instrument_coverage.rs
instsimplify_duplicate_switch_targets.assert_zero.InstSimplify.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
instsimplify_duplicate_switch_targets.rs Rename InstCombine to InstSimplify 2023-05-06 23:22:32 -04:00
intrinsic_asserts.generic.InstSimplify.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
intrinsic_asserts.panics.InstSimplify.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
intrinsic_asserts.removable.InstSimplify.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
intrinsic_asserts.rs Rename InstCombine to InstSimplify 2023-05-06 23:22:32 -04:00
issue_38669.main.SimplifyCfg-initial.after.mir Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
issue_38669.rs
issue_41110.main.ElaborateDrops.panic-abort.diff make MIR less verbose 2023-08-24 14:26:26 +02:00
issue_41110.main.ElaborateDrops.panic-unwind.diff make MIR less verbose 2023-08-24 14:26:26 +02:00
issue_41110.rs properly mark tests that require panic=abort 2023-06-12 09:34:15 +02:00
issue_41110.test.ElaborateDrops.panic-abort.diff make MIR less verbose 2023-08-24 14:26:26 +02:00
issue_41110.test.ElaborateDrops.panic-unwind.diff make MIR less verbose 2023-08-24 14:26:26 +02:00
issue_41697.{impl#0}-{constant#0}.SimplifyCfg-promote-consts.after.mir Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
issue_41697.rs
issue_41888.main.ElaborateDrops.panic-abort.diff make MIR less verbose 2023-08-24 14:26:26 +02:00
issue_41888.main.ElaborateDrops.panic-unwind.diff make MIR less verbose 2023-08-24 14:26:26 +02:00
issue_41888.rs properly mark tests that require panic=abort 2023-06-12 09:34:15 +02:00
issue_62289.rs properly mark tests that require panic=abort 2023-06-12 09:34:15 +02:00
issue_62289.test.ElaborateDrops.before.panic-abort.mir make MIR less verbose 2023-08-24 14:26:26 +02:00
issue_62289.test.ElaborateDrops.before.panic-unwind.mir make MIR less verbose 2023-08-24 14:26:26 +02:00
issue_72181_1.f.built.after.mir Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
issue_72181_1.main.built.after.mir Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
issue_72181_1.rs
issue_72181.bar.built.after.mir Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
issue_72181.foo.built.after.mir Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
issue_72181.main.built.after.mir Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
issue_72181.rs
issue_76432.rs properly mark tests that require panic=abort 2023-06-12 09:34:15 +02:00
issue_76432.test.SimplifyComparisonIntegral.panic-abort.diff Support array length. 2023-09-06 16:05:04 +00:00
issue_76432.test.SimplifyComparisonIntegral.panic-unwind.diff Support array length. 2023-09-06 16:05:04 +00:00
issue_78192.f.InstSimplify.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
issue_78192.rs Rename InstCombine to InstSimplify 2023-05-06 23:22:32 -04:00
issue_91633.bar.built.after.mir make MIR less verbose 2023-08-24 14:26:26 +02:00
issue_91633.foo.built.after.mir make MIR less verbose 2023-08-24 14:26:26 +02:00
issue_91633.fun.built.after.mir Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
issue_91633.hey.built.after.mir Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
issue_91633.rs
issue_99325.main.built.after.32bit.mir make ty::Const debug printing less verbose 2023-09-16 16:31:09 +02:00
issue_99325.main.built.after.64bit.mir make ty::Const debug printing less verbose 2023-09-16 16:31:09 +02:00
issue_99325.rs Disentangle Debug and Display for Ty. 2023-09-11 12:51:07 +10:00
issue_101973.inner.ConstProp.panic-abort.diff Turn copy into moves during DSE. 2023-07-19 09:59:12 +00:00
issue_101973.inner.ConstProp.panic-unwind.diff Turn copy into moves during DSE. 2023-07-19 09:59:12 +00:00
issue_101973.rs properly mark tests that require panic=abort 2023-06-12 09:34:15 +02:00
issue_104451_unwindable_intrinsics.main.AbortUnwindingCalls.after.panic-abort.mir Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
issue_104451_unwindable_intrinsics.main.AbortUnwindingCalls.after.panic-unwind.mir Bless tests 2023-06-23 18:36:25 +01:00
issue_104451_unwindable_intrinsics.rs properly mark tests that require panic=abort 2023-06-12 09:34:15 +02:00
loop_test.main.SimplifyCfg-promote-consts.after.mir Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
loop_test.rs
lower_array_len.array_bound_mut.NormalizeArrayLen.panic-abort.diff lower ExprKind::Use, LogicalOp::Or and UnOp::Not 2023-08-30 17:24:10 +08:00
lower_array_len.array_bound_mut.NormalizeArrayLen.panic-unwind.diff lower ExprKind::Use, LogicalOp::Or and UnOp::Not 2023-08-30 17:24:10 +08:00
lower_array_len.array_bound.NormalizeArrayLen.panic-abort.diff lower ExprKind::Use, LogicalOp::Or and UnOp::Not 2023-08-30 17:24:10 +08:00
lower_array_len.array_bound.NormalizeArrayLen.panic-unwind.diff lower ExprKind::Use, LogicalOp::Or and UnOp::Not 2023-08-30 17:24:10 +08:00
lower_array_len.array_len_by_value.NormalizeArrayLen.panic-abort.diff Rename adjustment::PointerCast and variants using it to PointerCoercion 2023-07-07 18:17:16 +02:00
lower_array_len.array_len_by_value.NormalizeArrayLen.panic-unwind.diff Rename adjustment::PointerCast and variants using it to PointerCoercion 2023-07-07 18:17:16 +02:00
lower_array_len.array_len_raw.NormalizeArrayLen.panic-abort.diff Rename adjustment::PointerCast and variants using it to PointerCoercion 2023-07-07 18:17:16 +02:00
lower_array_len.array_len_raw.NormalizeArrayLen.panic-unwind.diff Rename adjustment::PointerCast and variants using it to PointerCoercion 2023-07-07 18:17:16 +02:00
lower_array_len.array_len_reborrow.NormalizeArrayLen.panic-abort.diff Rename adjustment::PointerCast and variants using it to PointerCoercion 2023-07-07 18:17:16 +02:00
lower_array_len.array_len_reborrow.NormalizeArrayLen.panic-unwind.diff Rename adjustment::PointerCast and variants using it to PointerCoercion 2023-07-07 18:17:16 +02:00
lower_array_len.array_len.NormalizeArrayLen.panic-abort.diff Rename adjustment::PointerCast and variants using it to PointerCoercion 2023-07-07 18:17:16 +02:00
lower_array_len.array_len.NormalizeArrayLen.panic-unwind.diff Rename adjustment::PointerCast and variants using it to PointerCoercion 2023-07-07 18:17:16 +02:00
lower_array_len.rs properly mark tests that require panic=abort 2023-06-12 09:34:15 +02:00
lower_intrinsics.align_of.LowerIntrinsics.panic-abort.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
lower_intrinsics.align_of.LowerIntrinsics.panic-unwind.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
lower_intrinsics.assume.LowerIntrinsics.panic-abort.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
lower_intrinsics.assume.LowerIntrinsics.panic-unwind.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
lower_intrinsics.discriminant.LowerIntrinsics.panic-abort.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
lower_intrinsics.discriminant.LowerIntrinsics.panic-unwind.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
lower_intrinsics.f_copy_nonoverlapping.LowerIntrinsics.panic-abort.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
lower_intrinsics.f_copy_nonoverlapping.LowerIntrinsics.panic-unwind.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
lower_intrinsics.forget.LowerIntrinsics.panic-abort.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
lower_intrinsics.forget.LowerIntrinsics.panic-unwind.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
lower_intrinsics.non_const.LowerIntrinsics.panic-abort.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
lower_intrinsics.non_const.LowerIntrinsics.panic-unwind.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
lower_intrinsics.option_payload.LowerIntrinsics.panic-abort.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
lower_intrinsics.option_payload.LowerIntrinsics.panic-unwind.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
lower_intrinsics.ptr_offset.LowerIntrinsics.panic-abort.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
lower_intrinsics.ptr_offset.LowerIntrinsics.panic-unwind.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
lower_intrinsics.read_via_copy_primitive.LowerIntrinsics.panic-abort.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
lower_intrinsics.read_via_copy_primitive.LowerIntrinsics.panic-unwind.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
lower_intrinsics.read_via_copy_uninhabited.LowerIntrinsics.panic-abort.diff read_via_copy: don't prematurely optimize away the read 2023-09-04 18:27:34 +02:00
lower_intrinsics.read_via_copy_uninhabited.LowerIntrinsics.panic-unwind.diff read_via_copy: don't prematurely optimize away the read 2023-09-04 18:27:34 +02:00
lower_intrinsics.rs Promote unchecked_add/sub/mul/shl/shr to mir::BinOp 2023-06-19 01:47:03 -07:00
lower_intrinsics.size_of.LowerIntrinsics.panic-abort.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
lower_intrinsics.size_of.LowerIntrinsics.panic-unwind.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
lower_intrinsics.transmute_inhabited.LowerIntrinsics.panic-abort.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
lower_intrinsics.transmute_inhabited.LowerIntrinsics.panic-unwind.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
lower_intrinsics.transmute_ref_dst.LowerIntrinsics.panic-abort.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
lower_intrinsics.transmute_ref_dst.LowerIntrinsics.panic-unwind.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
lower_intrinsics.transmute_to_box_uninhabited.LowerIntrinsics.panic-abort.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
lower_intrinsics.transmute_to_box_uninhabited.LowerIntrinsics.panic-unwind.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
lower_intrinsics.transmute_to_mut_uninhabited.LowerIntrinsics.panic-abort.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
lower_intrinsics.transmute_to_mut_uninhabited.LowerIntrinsics.panic-unwind.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
lower_intrinsics.transmute_to_ref_uninhabited.LowerIntrinsics.panic-abort.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
lower_intrinsics.transmute_to_ref_uninhabited.LowerIntrinsics.panic-unwind.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
lower_intrinsics.transmute_uninhabited.LowerIntrinsics.panic-abort.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
lower_intrinsics.transmute_uninhabited.LowerIntrinsics.panic-unwind.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
lower_intrinsics.unchecked.LowerIntrinsics.panic-abort.diff Promote unchecked_add/sub/mul/shl/shr to mir::BinOp 2023-06-19 01:47:03 -07:00
lower_intrinsics.unchecked.LowerIntrinsics.panic-unwind.diff Promote unchecked_add/sub/mul/shl/shr to mir::BinOp 2023-06-19 01:47:03 -07:00
lower_intrinsics.unreachable.LowerIntrinsics.panic-abort.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
lower_intrinsics.unreachable.LowerIntrinsics.panic-unwind.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
lower_intrinsics.with_overflow.LowerIntrinsics.panic-abort.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
lower_intrinsics.with_overflow.LowerIntrinsics.panic-unwind.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
lower_intrinsics.wrapping.LowerIntrinsics.panic-abort.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
lower_intrinsics.wrapping.LowerIntrinsics.panic-unwind.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
lower_intrinsics.write_via_move_string.LowerIntrinsics.panic-abort.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
lower_intrinsics.write_via_move_string.LowerIntrinsics.panic-unwind.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
lower_slice_len.bound.LowerSliceLenCalls.panic-abort.diff lower ExprKind::Use, LogicalOp::Or and UnOp::Not 2023-08-30 17:24:10 +08:00
lower_slice_len.bound.LowerSliceLenCalls.panic-unwind.diff lower ExprKind::Use, LogicalOp::Or and UnOp::Not 2023-08-30 17:24:10 +08:00
lower_slice_len.rs properly mark tests that require panic=abort 2023-06-12 09:34:15 +02:00
match_arm_scopes.complicated_match.panic-abort.SimplifyCfg-initial.after-ElaborateDrops.after.diff make MIR less verbose 2023-08-24 14:26:26 +02:00
match_arm_scopes.complicated_match.panic-unwind.SimplifyCfg-initial.after-ElaborateDrops.after.diff make MIR less verbose 2023-08-24 14:26:26 +02:00
match_arm_scopes.rs properly mark tests that require panic=abort 2023-06-12 09:34:15 +02:00
match_test.main.SimplifyCfg-initial.after.mir Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
match_test.rs
matches_reduce_branches.bar.MatchBranchSimplification.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
matches_reduce_branches.foo.MatchBranchSimplification.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
matches_reduce_branches.match_nested_if.MatchBranchSimplification.diff lower ExprKind::Use, LogicalOp::Or and UnOp::Not 2023-08-30 17:24:10 +08:00
matches_reduce_branches.rs
matches_u8.exhaustive_match_i8.MatchBranchSimplification.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
matches_u8.exhaustive_match.MatchBranchSimplification.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
matches_u8.rs
multiple_return_terminators.rs
multiple_return_terminators.test.MultipleReturnTerminators.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
no_drop_for_inactive_variant.rs properly mark tests that require panic=abort 2023-06-12 09:34:15 +02:00
no_drop_for_inactive_variant.unwrap.SimplifyCfg-elaborate-drops.after.panic-abort.mir Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
no_drop_for_inactive_variant.unwrap.SimplifyCfg-elaborate-drops.after.panic-unwind.mir Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
no_spurious_drop_after_call.main.ElaborateDrops.before.panic-abort.mir make MIR less verbose 2023-08-24 14:26:26 +02:00
no_spurious_drop_after_call.main.ElaborateDrops.before.panic-unwind.mir make MIR less verbose 2023-08-24 14:26:26 +02:00
no_spurious_drop_after_call.rs properly mark tests that require panic=abort 2023-06-12 09:34:15 +02:00
not_equal_false.opt.InstSimplify.diff lower ExprKind::Use, LogicalOp::Or and UnOp::Not 2023-08-30 17:24:10 +08:00
not_equal_false.rs Rename InstCombine to InstSimplify 2023-05-06 23:22:32 -04:00
nrvo_miscompile_111005.rs Disable nrvo mir opt 2023-05-08 03:55:41 -07:00
nrvo_miscompile_111005.wrong.RenameReturnPlace.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
nrvo_simple.nrvo.RenameReturnPlace.panic-abort.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
nrvo_simple.nrvo.RenameReturnPlace.panic-unwind.diff Bless tests 2023-06-23 18:36:25 +01:00
nrvo_simple.rs properly mark tests that require panic=abort 2023-06-12 09:34:15 +02:00
packed_struct_drop_aligned.main.SimplifyCfg-elaborate-drops.after.panic-abort.mir Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
packed_struct_drop_aligned.main.SimplifyCfg-elaborate-drops.after.panic-unwind.mir make MIR less verbose 2023-08-24 14:26:26 +02:00
packed_struct_drop_aligned.rs properly mark tests that require panic=abort 2023-06-12 09:34:15 +02:00
README.md
reference_prop.debuginfo.ReferencePropagation.diff Revert "Implement references VarDebugInfo." 2023-08-17 17:02:04 +00:00
reference_prop.dominate_storage.ReferencePropagation.diff Bless tests 2023-06-23 18:36:25 +01:00
reference_prop.maybe_dead.ReferencePropagation.diff Bless tests 2023-06-23 18:36:25 +01:00
reference_prop.multiple_storage.ReferencePropagation.diff Bless tests 2023-06-23 18:36:25 +01:00
reference_prop.mut_raw_then_mut_shr.ReferencePropagation.diff Revert "Implement references VarDebugInfo." 2023-08-17 17:02:04 +00:00
reference_prop.read_through_raw.ReferencePropagation.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
reference_prop.reference_propagation_const_ptr.ReferencePropagation.diff Revert "Implement references VarDebugInfo." 2023-08-17 17:02:04 +00:00
reference_prop.reference_propagation_mut_ptr.ReferencePropagation.diff Revert "Implement references VarDebugInfo." 2023-08-17 17:02:04 +00:00
reference_prop.reference_propagation_mut.ReferencePropagation.diff Revert "Implement references VarDebugInfo." 2023-08-17 17:02:04 +00:00
reference_prop.reference_propagation.ReferencePropagation.diff Revert "Implement references VarDebugInfo." 2023-08-17 17:02:04 +00:00
reference_prop.rs custom_mir: change Call() terminator syntax to something more readable 2023-08-19 22:41:33 +02:00
reference_prop.unique_with_copies.ReferencePropagation.diff Bless tests 2023-06-23 18:36:25 +01:00
remove_fake_borrows.match_guard.CleanupPostBorrowck.panic-abort.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
remove_fake_borrows.match_guard.CleanupPostBorrowck.panic-unwind.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
remove_fake_borrows.rs properly mark tests that require panic=abort 2023-06-12 09:34:15 +02:00
remove_never_const.no_codegen.PreCodegen.after.mir Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
remove_never_const.rs
remove_storage_markers.main.RemoveStorageMarkers.panic-abort.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
remove_storage_markers.main.RemoveStorageMarkers.panic-unwind.diff Bless tests 2023-06-23 18:36:25 +01:00
remove_storage_markers.rs properly mark tests that require panic=abort 2023-06-12 09:34:15 +02:00
remove_unneeded_drops.cannot_opt_generic.RemoveUnneededDrops.panic-abort.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
remove_unneeded_drops.cannot_opt_generic.RemoveUnneededDrops.panic-unwind.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
remove_unneeded_drops.dont_opt.RemoveUnneededDrops.panic-abort.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
remove_unneeded_drops.dont_opt.RemoveUnneededDrops.panic-unwind.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
remove_unneeded_drops.opt_generic_copy.RemoveUnneededDrops.panic-abort.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
remove_unneeded_drops.opt_generic_copy.RemoveUnneededDrops.panic-unwind.diff Bless tests 2023-06-23 18:36:25 +01:00
remove_unneeded_drops.opt.RemoveUnneededDrops.panic-abort.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
remove_unneeded_drops.opt.RemoveUnneededDrops.panic-unwind.diff Bless tests 2023-06-23 18:36:25 +01:00
remove_unneeded_drops.rs properly mark tests that require panic=abort 2023-06-12 09:34:15 +02:00
remove_zsts.get_union.PreCodegen.after.mir Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
remove_zsts.get_union.RemoveZsts.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
remove_zsts.rs
retag.{impl#0}-foo_shr.SimplifyCfg-elaborate-drops.after.panic-abort.mir Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
retag.{impl#0}-foo_shr.SimplifyCfg-elaborate-drops.after.panic-unwind.mir Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
retag.{impl#0}-foo.SimplifyCfg-elaborate-drops.after.panic-abort.mir Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
retag.{impl#0}-foo.SimplifyCfg-elaborate-drops.after.panic-unwind.mir Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
retag.array_casts.SimplifyCfg-elaborate-drops.after.panic-abort.mir lower ExprKind::Use, LogicalOp::Or and UnOp::Not 2023-08-30 17:24:10 +08:00
retag.array_casts.SimplifyCfg-elaborate-drops.after.panic-unwind.mir lower ExprKind::Use, LogicalOp::Or and UnOp::Not 2023-08-30 17:24:10 +08:00
retag.core.ptr-drop_in_place.Test.SimplifyCfg-make_shim.after.panic-abort.mir Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
retag.core.ptr-drop_in_place.Test.SimplifyCfg-make_shim.after.panic-unwind.mir Bless tests 2023-06-23 18:36:25 +01:00
retag.main-{closure#0}.SimplifyCfg-elaborate-drops.after.panic-abort.mir Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
retag.main-{closure#0}.SimplifyCfg-elaborate-drops.after.panic-unwind.mir Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
retag.main.SimplifyCfg-elaborate-drops.after.panic-abort.mir Rename adjustment::PointerCast and variants using it to PointerCoercion 2023-07-07 18:17:16 +02:00
retag.main.SimplifyCfg-elaborate-drops.after.panic-unwind.mir make MIR less verbose 2023-08-24 14:26:26 +02:00
retag.rs properly mark tests that require panic=abort 2023-06-12 09:34:15 +02:00
return_an_array.rs
separate_const_switch.identity.SeparateConstSwitch.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
separate_const_switch.rs Disable two mir opts that are known to be unsound 2023-06-21 07:41:09 +00:00
separate_const_switch.too_complex.SeparateConstSwitch.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
simplify_arm_identity.rs Add some reasons why tests are ignored. 2023-04-15 16:11:42 -07:00
simplify_arm.id_try.SimplifyArmIdentity.diff
simplify_arm.id_try.SimplifyBranchSame.diff
simplify_arm.rs Add some reasons why tests are ignored. 2023-04-15 16:11:42 -07:00
simplify_cfg.main.SimplifyCfg-early-opt.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
simplify_cfg.main.SimplifyCfg-initial.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
simplify_cfg.rs
simplify_duplicate_unreachable_blocks.assert_nonzero_nonmax.SimplifyCfg-after-uninhabited-enum-branching.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
simplify_duplicate_unreachable_blocks.rs
simplify_if.main.SimplifyConstCondition-after-const-prop.panic-abort.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
simplify_if.main.SimplifyConstCondition-after-const-prop.panic-unwind.diff Bless tests 2023-06-23 18:36:25 +01:00
simplify_if.rs properly mark tests that require panic=abort 2023-06-12 09:34:15 +02:00
simplify_locals_fixedpoint.foo.SimplifyLocals-final.panic-abort.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
simplify_locals_fixedpoint.foo.SimplifyLocals-final.panic-unwind.diff Bless tests 2023-06-23 18:36:25 +01:00
simplify_locals_fixedpoint.rs properly mark tests that require panic=abort 2023-06-12 09:34:15 +02:00
simplify_locals_removes_unused_consts.main.SimplifyLocals-before-const-prop.panic-abort.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
simplify_locals_removes_unused_consts.main.SimplifyLocals-before-const-prop.panic-unwind.diff Bless tests 2023-06-23 18:36:25 +01:00
simplify_locals_removes_unused_consts.rs properly mark tests that require panic=abort 2023-06-12 09:34:15 +02:00
simplify_locals_removes_unused_discriminant_reads.map.SimplifyLocals-before-const-prop.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
simplify_locals_removes_unused_discriminant_reads.rs
simplify_locals.c.SimplifyLocals-before-const-prop.diff Rename adjustment::PointerCast and variants using it to PointerCoercion 2023-07-07 18:17:16 +02:00
simplify_locals.d1.SimplifyLocals-before-const-prop.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
simplify_locals.d2.SimplifyLocals-before-const-prop.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
simplify_locals.expose_addr.SimplifyLocals-before-const-prop.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
simplify_locals.r.SimplifyLocals-before-const-prop.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
simplify_locals.rs
simplify_locals.t1.SimplifyLocals-before-const-prop.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
simplify_locals.t2.SimplifyLocals-before-const-prop.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
simplify_locals.t3.SimplifyLocals-before-const-prop.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
simplify_locals.t4.SimplifyLocals-before-const-prop.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
simplify_match.main.ConstProp.panic-abort.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
simplify_match.main.ConstProp.panic-unwind.diff Bless tests 2023-06-23 18:36:25 +01:00
simplify_match.rs properly mark tests that require panic=abort 2023-06-12 09:34:15 +02:00
simplify_try_if_let.{impl#0}-append.SimplifyArmIdentity.diff
simplify_try_if_let.rs
slice_drop_shim.core.ptr-drop_in_place.[String].AddMovesForPackedDrops.before.mir make MIR less verbose 2023-08-24 14:26:26 +02:00
slice_drop_shim.rs
spanview_block.main.built.after.html Add <meta charset="utf-8"> to -Zdump-mir-spanview output 2023-06-17 18:31:35 +10:00
spanview_block.rs
spanview_statement.main.built.after.html Add <meta charset="utf-8"> to -Zdump-mir-spanview output 2023-06-17 18:31:35 +10:00
spanview_statement.rs
spanview_terminator.main.built.after.html Add <meta charset="utf-8"> to -Zdump-mir-spanview output 2023-06-17 18:31:35 +10:00
spanview_terminator.rs
storage_ranges.main.nll.0.mir Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
storage_ranges.rs
switch_to_self.rs Try enabling MatchBranchSimplification 2023-05-27 13:50:13 -04:00
switch_to_self.test.MatchBranchSimplification.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
tls_access.main.PreCodegen.after.mir Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
tls_access.rs
uninhabited_enum_branching2.main.SimplifyCfg-after-uninhabited-enum-branching.after.mir Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
uninhabited_enum_branching2.main.UninhabitedEnumBranching.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
uninhabited_enum_branching2.rs
uninhabited_enum_branching.main.SimplifyCfg-after-uninhabited-enum-branching.after.mir Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
uninhabited_enum_branching.main.UninhabitedEnumBranching.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
uninhabited_enum_branching.rs
uninhabited_enum.process_never.SimplifyLocals-final.after.mir Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
uninhabited_enum.process_void.SimplifyLocals-final.after.mir Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
uninhabited_enum.rs
uninhabited_fallthrough_elimination.eliminate_fallthrough.UninhabitedEnumBranching.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
uninhabited_fallthrough_elimination.keep_fallthrough.UninhabitedEnumBranching.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
uninhabited_fallthrough_elimination.rs
unreachable_diverging.main.UnreachablePropagation.panic-abort.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
unreachable_diverging.main.UnreachablePropagation.panic-unwind.diff Bless tests 2023-06-23 18:36:25 +01:00
unreachable_diverging.rs properly mark tests that require panic=abort 2023-06-12 09:34:15 +02:00
unreachable.main.UnreachablePropagation.panic-abort.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
unreachable.main.UnreachablePropagation.panic-unwind.diff Bless tests 2023-06-23 18:36:25 +01:00
unreachable.rs properly mark tests that require panic=abort 2023-06-12 09:34:15 +02:00
unusual_item_types.{impl#0}-ASSOCIATED_CONSTANT.built.after.mir Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
unusual_item_types.core.ptr-drop_in_place.Vec_i32_.AddMovesForPackedDrops.before.mir make MIR less verbose 2023-08-24 14:26:26 +02:00
unusual_item_types.E-V-{constant#0}.built.after.mir Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
unusual_item_types.rs
unusual_item_types.Test-X-{constructor#0}.built.after.mir Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
while_storage.rs properly mark tests that require panic=abort 2023-06-12 09:34:15 +02:00
while_storage.while_loop.PreCodegen.after.panic-abort.mir Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
while_storage.while_loop.PreCodegen.after.panic-unwind.mir Bless tests 2023-06-23 18:36:25 +01: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.

Unit testing

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

// unit-test: PassName

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

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