rust/tests/mir-opt
bors b60f7b51a2 Auto merge of #115045 - RalfJung:unwind-terminate-reason, r=davidtwco
when terminating during unwinding, show the reason why

With this, the output on double-panic becomes something like that:
```
thread 'main' panicked at src/tools/miri/tests/fail/panic/double_panic.rs:15:5:
first
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
thread 'main' panicked at src/tools/miri/tests/fail/panic/double_panic.rs:10:9:
second
stack backtrace:
   0:           0xbe273a - std::backtrace_rs::backtrace::miri::trace_unsynchronized::<&mut [closure@std::sys_common::backtrace::_print_fmt::{closure#1}]>
                               at /home/r/src/rust/rustc.3/library/std/src/../../backtrace/src/backtrace/miri.rs:99:5
   1:           0xbe22e6 - std::backtrace_rs::backtrace::miri::trace::<&mut [closure@std::sys_common::backtrace::_print_fmt::{closure#1}]>
                               at /home/r/src/rust/rustc.3/library/std/src/../../backtrace/src/backtrace/miri.rs:62:14
   2:           0xbe1086 - std::backtrace_rs::backtrace::trace_unsynchronized::<[closure@std::sys_common::backtrace::_print_fmt::{closure#1}]>
                               at /home/r/src/rust/rustc.3/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   3:           0xba3afd - std::sys_common::backtrace::_print_fmt
                               at /home/r/src/rust/rustc.3/library/std/src/sys_common/backtrace.rs:67:5
   4:           0xba2471 - <std::sys_common::backtrace::_print::DisplayBacktrace as std::fmt::Display>::fmt
                               at /home/r/src/rust/rustc.3/library/std/src/sys_common/backtrace.rs:44:22
   5:           0xbcf754 - core::fmt::rt::Argument::<'_>::fmt
                               at /home/r/src/rust/rustc.3/library/core/src/fmt/rt.rs:138:9
   6:           0x9b8f81 - std::fmt::write
                               at /home/r/src/rust/rustc.3/library/core/src/fmt/mod.rs:1094:17
   7:           0x21391d - <std::sys::unix::stdio::Stderr as std::io::Write>::write_fmt
                               at /home/r/src/rust/rustc.3/library/std/src/io/mod.rs:1714:15
   8:           0xba37b1 - std::sys_common::backtrace::_print
                               at /home/r/src/rust/rustc.3/library/std/src/sys_common/backtrace.rs:47:5
   9:           0xba365b - std::sys_common::backtrace::print
                               at /home/r/src/rust/rustc.3/library/std/src/sys_common/backtrace.rs:34:9
  10:           0x143c67 - std::panic_hook_with_disk_dump::{closure#1}
                               at /home/r/src/rust/rustc.3/library/std/src/panicking.rs:278:22
  11:           0x144187 - std::panic_hook_with_disk_dump
                               at /home/r/src/rust/rustc.3/library/std/src/panicking.rs:312:9
  12:           0x143659 - std::panicking::default_hook
                               at /home/r/src/rust/rustc.3/library/std/src/panicking.rs:239:5
  13:           0x1482a7 - std::panicking::rust_panic_with_hook
                               at /home/r/src/rust/rustc.3/library/std/src/panicking.rs:729:13
  14:           0x1475d5 - std::rt::begin_panic::<&str>::{closure#0}
                               at /home/r/src/rust/rustc.3/library/std/src/panicking.rs:650:9
  15:           0xba496a - std::sys_common::backtrace::__rust_end_short_backtrace::<[closure@std::rt::begin_panic<&str>::{closure#0}], !>
                               at /home/r/src/rust/rustc.3/library/std/src/sys_common/backtrace.rs:170:18
  16:           0x147599 - std::rt::begin_panic::<&str>
                               at /home/r/src/rust/rustc.3/library/std/src/panicking.rs:649:12
  17:            0x31916 - <Foo as std::ops::Drop>::drop
                               at src/tools/miri/tests/fail/panic/double_panic.rs:10:9
  18:           0x1a2b5e - std::ptr::drop_in_place::<Foo> - shim(Some(Foo))
                               at /home/r/src/rust/rustc.3/library/core/src/ptr/mod.rs:497:1
  19:            0x202bf - main
                               at src/tools/miri/tests/fail/panic/double_panic.rs:16:1
  20:            0xcc6a8 - <fn() as std::ops::FnOnce<()>>::call_once - shim(fn())
                               at /home/r/src/rust/rustc.3/library/core/src/ops/function.rs:250:5
  21:           0xba47d9 - std::sys_common::backtrace::__rust_begin_short_backtrace::<fn(), ()>
                               at /home/r/src/rust/rustc.3/library/std/src/sys_common/backtrace.rs:154:18
  22:           0x141a6a - std::rt::lang_start::<()>::{closure#0}
                               at /home/r/src/rust/rustc.3/library/std/src/rt.rs:166:18
  23:            0xcca18 - std::ops::function::impls::<impl std::ops::FnOnce<()> for &dyn std::ops::Fn() -> i32 + std::marker::Sync + std::panic::RefUnwindSafe>::call_once
                               at /home/r/src/rust/rustc.3/library/core/src/ops/function.rs:284:13
  24:           0x146469 - std::panicking::try::do_call::<&dyn std::ops::Fn() -> i32 + std::marker::Sync + std::panic::RefUnwindSafe, i32>
                               at /home/r/src/rust/rustc.3/library/std/src/panicking.rs:524:40
  25:           0x145e09 - std::panicking::try::<i32, &dyn std::ops::Fn() -> i32 + std::marker::Sync + std::panic::RefUnwindSafe>
                               at /home/r/src/rust/rustc.3/library/std/src/panicking.rs:488:19
  26:            0x7b0ac - std::panic::catch_unwind::<&dyn std::ops::Fn() -> i32 + std::marker::Sync + std::panic::RefUnwindSafe, i32>
                               at /home/r/src/rust/rustc.3/library/std/src/panic.rs:142:14
  27:           0x14189b - std::rt::lang_start_internal::{closure#2}
                               at /home/r/src/rust/rustc.3/library/std/src/rt.rs:148:48
  28:           0x146481 - std::panicking::try::do_call::<[closure@std::rt::lang_start_internal::{closure#2}], isize>
                               at /home/r/src/rust/rustc.3/library/std/src/panicking.rs:524:40
  29:           0x145e2c - std::panicking::try::<isize, [closure@std::rt::lang_start_internal::{closure#2}]>
                               at /home/r/src/rust/rustc.3/library/std/src/panicking.rs:488:19
  30:            0x7b0d5 - std::panic::catch_unwind::<[closure@std::rt::lang_start_internal::{closure#2}], isize>
                               at /home/r/src/rust/rustc.3/library/std/src/panic.rs:142:14
  31:           0x1418b0 - std::rt::lang_start_internal
                               at /home/r/src/rust/rustc.3/library/std/src/rt.rs:148:20
  32:           0x141a97 - std::rt::lang_start::<()>
                               at /home/r/src/rust/rustc.3/library/std/src/rt.rs:165:17
thread 'main' panicked at /home/r/src/rust/rustc.3/library/core/src/panicking.rs:126:5:
panic in a destructor during cleanup
stack backtrace:
   0:           0xe9f6d7 - std::backtrace_rs::backtrace::miri::trace_unsynchronized::<&mut [closure@std::sys_common::backtrace::_print_fmt::{closure#1}]>
                               at /home/r/src/rust/rustc.3/library/std/src/../../backtrace/src/backtrace/miri.rs:99:5
   1:           0xe9f27d - std::backtrace_rs::backtrace::miri::trace::<&mut [closure@std::sys_common::backtrace::_print_fmt::{closure#1}]>
                               at /home/r/src/rust/rustc.3/library/std/src/../../backtrace/src/backtrace/miri.rs:62:14
   2:           0xe9e016 - std::backtrace_rs::backtrace::trace_unsynchronized::<[closure@std::sys_common::backtrace::_print_fmt::{closure#1}]>
                               at /home/r/src/rust/rustc.3/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   3:           0xba3afd - std::sys_common::backtrace::_print_fmt
                               at /home/r/src/rust/rustc.3/library/std/src/sys_common/backtrace.rs:67:5
   4:           0xba2471 - <std::sys_common::backtrace::_print::DisplayBacktrace as std::fmt::Display>::fmt
                               at /home/r/src/rust/rustc.3/library/std/src/sys_common/backtrace.rs:44:22
   5:           0xbcf754 - core::fmt::rt::Argument::<'_>::fmt
                               at /home/r/src/rust/rustc.3/library/core/src/fmt/rt.rs:138:9
   6:           0x9b8f81 - std::fmt::write
                               at /home/r/src/rust/rustc.3/library/core/src/fmt/mod.rs:1094:17
   7:           0x4d0895 - <std::sys::unix::stdio::Stderr as std::io::Write>::write_fmt
                               at /home/r/src/rust/rustc.3/library/std/src/io/mod.rs:1714:15
   8:           0xba37b1 - std::sys_common::backtrace::_print
                               at /home/r/src/rust/rustc.3/library/std/src/sys_common/backtrace.rs:47:5
   9:           0xba365b - std::sys_common::backtrace::print
                               at /home/r/src/rust/rustc.3/library/std/src/sys_common/backtrace.rs:34:9
  10:           0x400bd4 - std::panic_hook_with_disk_dump::{closure#1}
                               at /home/r/src/rust/rustc.3/library/std/src/panicking.rs:278:22
  11:           0x144187 - std::panic_hook_with_disk_dump
                               at /home/r/src/rust/rustc.3/library/std/src/panicking.rs:312:9
  12:           0x143659 - std::panicking::default_hook
                               at /home/r/src/rust/rustc.3/library/std/src/panicking.rs:239:5
  13:           0x1482a7 - std::panicking::rust_panic_with_hook
                               at /home/r/src/rust/rustc.3/library/std/src/panicking.rs:729:13
  14:           0x40403b - std::panicking::begin_panic_handler::{closure#0}
                               at /home/r/src/rust/rustc.3/library/std/src/panicking.rs:619:13
  15:           0xe618b3 - std::sys_common::backtrace::__rust_end_short_backtrace::<[closure@std::panicking::begin_panic_handler::{closure#0}], !>
                               at /home/r/src/rust/rustc.3/library/std/src/sys_common/backtrace.rs:170:18
  16:           0x403fc8 - std::panicking::begin_panic_handler
                               at /home/r/src/rust/rustc.3/library/std/src/panicking.rs:617:5
  17:           0xee23e9 - core::panicking::panic_nounwind_fmt
                               at /home/r/src/rust/rustc.3/library/core/src/panicking.rs:96:14
  18:           0xee29e6 - core::panicking::panic_nounwind
                               at /home/r/src/rust/rustc.3/library/core/src/panicking.rs:126:5
  19:           0xee365e - core::panicking::panic_in_cleanup
                               at /home/r/src/rust/rustc.3/library/core/src/panicking.rs:206:5
  20:            0x2028a - main
                               at src/tools/miri/tests/fail/panic/double_panic.rs:13:1
  21:           0x3895ee - <fn() as std::ops::FnOnce<()>>::call_once - shim(fn())
                               at /home/r/src/rust/rustc.3/library/core/src/ops/function.rs:250:5
  22:           0xe61725 - std::sys_common::backtrace::__rust_begin_short_backtrace::<fn(), ()>
                               at /home/r/src/rust/rustc.3/library/std/src/sys_common/backtrace.rs:154:18
  23:           0x3fe9aa - std::rt::lang_start::<()>::{closure#0}
                               at /home/r/src/rust/rustc.3/library/std/src/rt.rs:166:18
  24:           0x389962 - std::ops::function::impls::<impl std::ops::FnOnce<()> for &dyn std::ops::Fn() -> i32 + std::marker::Sync + std::panic::RefUnwindSafe>::call_once
                               at /home/r/src/rust/rustc.3/library/core/src/ops/function.rs:284:13
  25:           0x4033b9 - std::panicking::try::do_call::<&dyn std::ops::Fn() -> i32 + std::marker::Sync + std::panic::RefUnwindSafe, i32>
                               at /home/r/src/rust/rustc.3/library/std/src/panicking.rs:524:40
  26:           0x402d58 - std::panicking::try::<i32, &dyn std::ops::Fn() -> i32 + std::marker::Sync + std::panic::RefUnwindSafe>
                               at /home/r/src/rust/rustc.3/library/std/src/panicking.rs:488:19
  27:           0x337ff7 - std::panic::catch_unwind::<&dyn std::ops::Fn() -> i32 + std::marker::Sync + std::panic::RefUnwindSafe, i32>
                               at /home/r/src/rust/rustc.3/library/std/src/panic.rs:142:14
  28:           0x3fe7e7 - std::rt::lang_start_internal::{closure#2}
                               at /home/r/src/rust/rustc.3/library/std/src/rt.rs:148:48
  29:           0x4033d6 - std::panicking::try::do_call::<[closure@std::rt::lang_start_internal::{closure#2}], isize>
                               at /home/r/src/rust/rustc.3/library/std/src/panicking.rs:524:40
  30:           0x402d7f - std::panicking::try::<isize, [closure@std::rt::lang_start_internal::{closure#2}]>
                               at /home/r/src/rust/rustc.3/library/std/src/panicking.rs:488:19
  31:           0x338028 - std::panic::catch_unwind::<[closure@std::rt::lang_start_internal::{closure#2}], isize>
                               at /home/r/src/rust/rustc.3/library/std/src/panic.rs:142:14
  32:           0x1418b0 - std::rt::lang_start_internal
                               at /home/r/src/rust/rustc.3/library/std/src/rt.rs:148:20
  33:           0x3fe9dc - std::rt::lang_start::<()>
                               at /home/r/src/rust/rustc.3/library/std/src/rt.rs:165:17
thread caused non-unwinding panic. aborting.
```
If we also land https://github.com/rust-lang/rust/pull/115020, the 2nd backtrace disappears, hopefully making the "panic in a destructor during cleanup" easier to see.

Fixes https://github.com/rust-lang/rust/issues/114954.
2023-08-25 08:47:18 +00:00
..
building make MIR less verbose 2023-08-24 14:26:26 +02:00
const_prop Propagate ScalarPair for any type. 2023-07-20 21:30:51 +00:00
copy-prop custom_mir: change Call() terminator syntax to something more readable 2023-08-19 22:41:33 +02:00
dataflow-const-prop Bless tests 2023-06-23 18:36:25 +01:00
dead-store-elimination Turn copy into moves during DSE. 2023-07-19 09:59:12 +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 make MIR less verbose 2023-08-24 14:26:26 +02:00
issues Revert "Implement references VarDebugInfo." 2023-08-17 17:02:04 +00:00
nll Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
pre-codegen Auto merge of #115045 - RalfJung:unwind-terminate-reason, r=davidtwco 2023-08-25 08:47:18 +00:00
sroa Rename adjustment::PointerCast and variants using it to PointerCoercion 2023-07-07 18:17:16 +02: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 Move /src/test to /tests 2023-01-11 09:32:08 +00:00
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 Move /src/test to /tests 2023-01-11 09:32:08 +00:00
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 Add needs-unwind 2023-03-03 16:33:12 +01:00
bool_compare.opt1.InstSimplify.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
bool_compare.opt2.InstSimplify.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
bool_compare.opt3.InstSimplify.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
bool_compare.opt4.InstSimplify.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04: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 Move /src/test to /tests 2023-01-11 09:32:08 +00:00
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 Move /src/test to /tests 2023-01-11 09:32:08 +00:00
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 Move /src/test to /tests 2023-01-11 09:32:08 +00:00
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 Move /src/test to /tests 2023-01-11 09:32:08 +00:00
const_debuginfo.main.ConstDebugInfo.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
const_debuginfo.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
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 Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
const_goto_storage.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
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 Move /src/test to /tests 2023-01-11 09:32:08 +00:00
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 Move /src/test to /tests 2023-01-11 09:32:08 +00:00
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 Make tests unit. 2023-01-27 18:22:44 +00:00
coverage_graphviz.bar.InstrumentCoverage.0.dot Make coverage counter IDs count up from 0, not 1 2023-08-01 11:29:55 +10:00
coverage_graphviz.main.InstrumentCoverage.0.dot Make coverage counter IDs count up from 0, not 1 2023-08-01 11:29:55 +10:00
coverage_graphviz.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
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 Move /src/test to /tests 2023-01-11 09:32:08 +00:00
derefer_test.main.Derefer.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
derefer_test.rs Move /src/test to /tests 2023-01-11 09:32:08 +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 Move /src/test to /tests 2023-01-11 09:32:08 +00:00
early_otherwise_branch_68867.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
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 Move /src/test to /tests 2023-01-11 09:32:08 +00:00
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 Move /src/test to /tests 2023-01-11 09:32:08 +00:00
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 Move /src/test to /tests 2023-01-11 09:32:08 +00:00
enum_opt.cand.EnumSizeOpt.32bit.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
enum_opt.cand.EnumSizeOpt.64bit.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04: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 Add de-init to destination place 2023-02-08 02:04:07 +00:00
enum_opt.trunc.EnumSizeOpt.32bit.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
enum_opt.trunc.EnumSizeOpt.64bit.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
enum_opt.unin.EnumSizeOpt.32bit.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
enum_opt.unin.EnumSizeOpt.64bit.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
equal_true.opt.InstSimplify.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04: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 Move /src/test to /tests 2023-01-11 09:32:08 +00:00
fn_ptr_shim.core.ops-function-Fn-call.AddMovesForPackedDrops.before.mir Auto merge of #112307 - lcnr:operand-ref, r=compiler-errors 2023-06-28 00:41:37 +00:00
fn_ptr_shim.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
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 properly mark tests that require panic=abort 2023-06-12 09:34:15 +02:00
generator_drop_cleanup.main-{closure#0}.generator_drop.0.panic-abort.mir Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
generator_drop_cleanup.main-{closure#0}.generator_drop.0.panic-unwind.mir Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04: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 Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
generator_tiny.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
graphviz.main.built.after.dot Move /src/test to /tests 2023-01-11 09:32:08 +00:00
graphviz.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
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 Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04: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 Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
if_condition_int.opt_i8.SimplifyComparisonIntegral.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
if_condition_int.opt_multiple_ifs.SimplifyComparisonIntegral.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
if_condition_int.opt_negative.SimplifyComparisonIntegral.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
if_condition_int.opt_u32.SimplifyComparisonIntegral.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
if_condition_int.rs Move /src/test to /tests 2023-01-11 09:32:08 +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 Move /src/test to /tests 2023-01-11 09:32:08 +00:00
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 Move /src/test to /tests 2023-01-11 09:32:08 +00:00
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 Move /src/test to /tests 2023-01-11 09:32:08 +00:00
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 Move /src/test to /tests 2023-01-11 09:32:08 +00:00
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 Move /src/test to /tests 2023-01-11 09:32:08 +00:00
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 Revert "Implement references VarDebugInfo." 2023-08-17 17:02:04 +00:00
issue_76432.test.SimplifyComparisonIntegral.panic-unwind.diff Revert "Implement references VarDebugInfo." 2023-08-17 17:02: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 Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue_99325.main.built.after.mir refactor(rustc_middle): Substs -> GenericArg 2023-07-14 13:27:35 +01:00
issue_99325.rs Move /src/test to /tests 2023-01-11 09:32:08 +00: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 Move /src/test to /tests 2023-01-11 09:32:08 +00:00
lower_array_len.array_bound_mut.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_bound_mut.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_bound.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_bound.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_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 Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
lower_intrinsics.read_via_copy_uninhabited.LowerIntrinsics.panic-unwind.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04: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 Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
lower_slice_len.bound.LowerSliceLenCalls.panic-unwind.diff Bless tests 2023-06-23 18:36:25 +01: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 Move /src/test to /tests 2023-01-11 09:32:08 +00:00
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 Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
matches_reduce_branches.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
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 Move /src/test to /tests 2023-01-11 09:32:08 +00:00
multiple_return_terminators.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
multiple_return_terminators.test.MultipleReturnTerminators.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
no_drop_for_inactive_variant.rs 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 Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04: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 Move /src/test to /tests 2023-01-11 09:32:08 +00:00
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 Change src/test to tests in source files, fix tidy and tests 2023-01-11 09:32:13 +00:00
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 Move /src/test to /tests 2023-01-11 09:32:08 +00:00
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 Rename adjustment::PointerCast and variants using it to PointerCoercion 2023-07-07 18:17:16 +02:00
retag.array_casts.SimplifyCfg-elaborate-drops.after.panic-unwind.mir Rename adjustment::PointerCast and variants using it to PointerCoercion 2023-07-07 18:17:16 +02: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 Move /src/test to /tests 2023-01-11 09:32:08 +00:00
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 Move /src/test to /tests 2023-01-11 09:32:08 +00:00
simplify_arm.id_try.SimplifyBranchSame.diff Move /src/test to /tests 2023-01-11 09:32:08 +00:00
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 Move /src/test to /tests 2023-01-11 09:32:08 +00:00
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 Remove duplicate unreachable blocks 2023-03-18 14:29:04 -04:00
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 Move /src/test to /tests 2023-01-11 09:32:08 +00:00
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 Move /src/test to /tests 2023-01-11 09:32:08 +00:00
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 Move /src/test to /tests 2023-01-11 09:32:08 +00:00
simplify_try_if_let.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
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 Move /src/test to /tests 2023-01-11 09:32:08 +00:00
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 Move /src/test to /tests 2023-01-11 09:32:08 +00:00
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 Move /src/test to /tests 2023-01-11 09:32:08 +00:00
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 Move /src/test to /tests 2023-01-11 09:32:08 +00:00
storage_ranges.main.nll.0.mir Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
storage_ranges.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
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 Move /src/test to /tests 2023-01-11 09:32:08 +00:00
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 Move /src/test to /tests 2023-01-11 09:32:08 +00:00
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 Move /src/test to /tests 2023-01-11 09:32:08 +00:00
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 Move /src/test to /tests 2023-01-11 09:32:08 +00:00
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 Move /src/test to /tests 2023-01-11 09:32:08 +00:00
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 Move /src/test to /tests 2023-01-11 09:32:08 +00:00
unusual_item_types.Test-X-{constructor#0}.built.after.mir Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
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