rust/tests/mir-opt/pre-codegen
bors c720a9cd12 Auto merge of #113344 - scottmcm:alt-slice-zst-handing, r=the8472
Get `!nonnull` metadata on slice iterators, without `assume`s

This updates the non-ZST paths to read the end pointer through a pointer-to-`NonNull`, so that they all get `!nonnull` metadata.

That means that the last `assume(!ptr.is_null())` can be deleted, without impacting codegen -- the codegen tests confirm the LLVM-IR ends up exactly the same as before.
2023-07-21 00:11:41 +00:00
..
chained_comparison.bitand.PreCodegen.after.mir Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
chained_comparison.naive.PreCodegen.after.mir Disable two mir opts that are known to be unsound 2023-06-21 07:41:09 +00:00
chained_comparison.returning.PreCodegen.after.mir Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
chained_comparison.rs Remove spurious comments. 2023-06-01 21:41:58 +00:00
checked_ops.checked_shl.PreCodegen.after.mir Always propagate into operands. 2023-07-20 21:30:51 +00:00
checked_ops.rs Remove brittle test. 2023-06-01 21:41:58 +00:00
checked_ops.step_forward.PreCodegen.after.mir Enable by default. 2023-07-10 16:01:18 +00:00
duplicate_switch_targets.rs
duplicate_switch_targets.ub_if_b.PreCodegen.after.mir Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
intrinsics.f_u64.PreCodegen.after.mir Always propagate into operands. 2023-07-20 21:30:51 +00:00
intrinsics.f_unit.PreCodegen.after.mir Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
intrinsics.rs
loops.filter_mapped.PreCodegen.after.mir Enable by default. 2023-07-10 16:01:18 +00:00
loops.int_range.PreCodegen.after.mir Turn copy into moves during DSE. 2023-07-19 09:59:12 +00:00
loops.mapped.PreCodegen.after.mir Perform reference propagation earlier. 2023-07-10 16:01:18 +00:00
loops.rs Annotate needs-unwind. 2023-06-01 21:41:58 +00:00
loops.vec_move.PreCodegen.after.mir Perform reference propagation earlier. 2023-07-10 16:01:18 +00:00
mem_replace.manual_replace.PreCodegen.after.mir Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
mem_replace.mem_replace.PreCodegen.after.mir Enable by default. 2023-07-10 16:01:18 +00:00
mem_replace.rs MIR pre-codegen test for mem::replace 2023-04-30 11:59:24 -07:00
optimizes_into_variable.main.ConstProp.32bit.panic-abort.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
optimizes_into_variable.main.ConstProp.32bit.panic-unwind.diff Bless tests 2023-06-23 18:36:25 +01:00
optimizes_into_variable.main.ConstProp.64bit.panic-abort.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
optimizes_into_variable.main.ConstProp.64bit.panic-unwind.diff Bless tests 2023-06-23 18:36:25 +01:00
optimizes_into_variable.main.PreCodegen.after.32bit.panic-abort.mir Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
optimizes_into_variable.main.PreCodegen.after.32bit.panic-unwind.mir Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
optimizes_into_variable.main.PreCodegen.after.64bit.panic-abort.mir Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
optimizes_into_variable.main.PreCodegen.after.64bit.panic-unwind.mir Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
optimizes_into_variable.main.ScalarReplacementOfAggregates.32bit.panic-abort.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
optimizes_into_variable.main.ScalarReplacementOfAggregates.32bit.panic-unwind.diff Bless tests 2023-06-23 18:36:25 +01:00
optimizes_into_variable.main.ScalarReplacementOfAggregates.64bit.panic-abort.diff Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
optimizes_into_variable.main.ScalarReplacementOfAggregates.64bit.panic-unwind.diff Bless tests 2023-06-23 18:36:25 +01:00
optimizes_into_variable.main.SimplifyLocals-final.after.32bit.panic-abort.mir Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
optimizes_into_variable.main.SimplifyLocals-final.after.32bit.panic-unwind.mir Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
optimizes_into_variable.main.SimplifyLocals-final.after.64bit.panic-abort.mir Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
optimizes_into_variable.main.SimplifyLocals-final.after.64bit.panic-unwind.mir Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
optimizes_into_variable.rs properly mark tests that require panic=abort 2023-06-12 09:34:15 +02:00
range_iter.forward_loop.PreCodegen.after.panic-abort.mir Call super for debuginfo. 2023-07-10 16:01:19 +00:00
range_iter.forward_loop.PreCodegen.after.panic-unwind.mir Call super for debuginfo. 2023-07-10 16:01:19 +00:00
range_iter.inclusive_loop.PreCodegen.after.panic-abort.mir Turn copy into moves during DSE. 2023-07-19 09:59:12 +00:00
range_iter.inclusive_loop.PreCodegen.after.panic-unwind.mir Turn copy into moves during DSE. 2023-07-19 09:59:12 +00:00
range_iter.range_inclusive_iter_next.PreCodegen.after.panic-abort.mir Turn copy into moves during DSE. 2023-07-19 09:59:12 +00:00
range_iter.range_inclusive_iter_next.PreCodegen.after.panic-unwind.mir Turn copy into moves during DSE. 2023-07-19 09:59:12 +00:00
range_iter.range_iter_next.PreCodegen.after.panic-abort.mir Enable by default. 2023-07-10 16:01:18 +00:00
range_iter.range_iter_next.PreCodegen.after.panic-unwind.mir Enable by default. 2023-07-10 16:01:18 +00:00
range_iter.rs properly mark tests that require panic=abort 2023-06-12 09:34:15 +02:00
README.md
simple_option_map.ezmap.PreCodegen.after.mir Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
simple_option_map.rs
slice_filter.rs Make slice_filter a pre-codegen test. 2023-06-01 21:41:58 +00:00
slice_filter.variant_a-{closure#0}.PreCodegen.after.mir Enable by default. 2023-07-10 16:01:18 +00:00
slice_filter.variant_b-{closure#0}.PreCodegen.after.mir Disable two mir opts that are known to be unsound 2023-06-21 07:41:09 +00:00
slice_index.rs properly mark tests that require panic=abort 2023-06-12 09:34:15 +02:00
slice_index.slice_get_mut_usize.PreCodegen.after.panic-abort.mir Perform reference propagation earlier. 2023-07-10 16:01:18 +00:00
slice_index.slice_get_mut_usize.PreCodegen.after.panic-unwind.mir Perform reference propagation earlier. 2023-07-10 16:01:18 +00:00
slice_index.slice_get_unchecked_mut_range.PreCodegen.after.panic-abort.mir Perform reference propagation earlier. 2023-07-10 16:01:18 +00:00
slice_index.slice_get_unchecked_mut_range.PreCodegen.after.panic-unwind.mir Perform reference propagation earlier. 2023-07-10 16:01:18 +00:00
slice_index.slice_index_range.PreCodegen.after.panic-abort.mir Turn copy into moves during DSE. 2023-07-19 09:59:12 +00:00
slice_index.slice_index_range.PreCodegen.after.panic-unwind.mir Turn copy into moves during DSE. 2023-07-19 09:59:12 +00:00
slice_index.slice_index_usize.PreCodegen.after.panic-abort.mir Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
slice_index.slice_index_usize.PreCodegen.after.panic-unwind.mir Bless tests 2023-06-23 18:36:25 +01:00
slice_iter.enumerated_loop.PreCodegen.after.panic-abort.mir Get !nonnull metadata consistently in slice iterators, without needing assumes 2023-07-20 11:33:49 -07:00
slice_iter.enumerated_loop.PreCodegen.after.panic-unwind.mir Get !nonnull metadata consistently in slice iterators, without needing assumes 2023-07-20 11:33:49 -07:00
slice_iter.forward_loop.PreCodegen.after.panic-abort.mir Get !nonnull metadata consistently in slice iterators, without needing assumes 2023-07-20 11:33:49 -07:00
slice_iter.forward_loop.PreCodegen.after.panic-unwind.mir Get !nonnull metadata consistently in slice iterators, without needing assumes 2023-07-20 11:33:49 -07:00
slice_iter.range_loop.PreCodegen.after.panic-abort.mir Call super for debuginfo. 2023-07-10 16:01:19 +00:00
slice_iter.range_loop.PreCodegen.after.panic-unwind.mir Call super for debuginfo. 2023-07-10 16:01:19 +00:00
slice_iter.reverse_loop.PreCodegen.after.panic-abort.mir Get !nonnull metadata consistently in slice iterators, without needing assumes 2023-07-20 11:33:49 -07:00
slice_iter.reverse_loop.PreCodegen.after.panic-unwind.mir Get !nonnull metadata consistently in slice iterators, without needing assumes 2023-07-20 11:33:49 -07:00
slice_iter.rs properly mark tests that require panic=abort 2023-06-12 09:34:15 +02:00
slice_iter.slice_iter_mut_next_back.PreCodegen.after.panic-abort.mir Turn copy into moves during DSE. 2023-07-19 09:59:12 +00:00
slice_iter.slice_iter_mut_next_back.PreCodegen.after.panic-unwind.mir Turn copy into moves during DSE. 2023-07-19 09:59:12 +00:00
slice_iter.slice_iter_next.PreCodegen.after.panic-abort.mir Turn copy into moves during DSE. 2023-07-19 09:59:12 +00:00
slice_iter.slice_iter_next.PreCodegen.after.panic-unwind.mir Turn copy into moves during DSE. 2023-07-19 09:59:12 +00:00
spans.outer.PreCodegen.after.panic-abort.mir Perform reference propagation earlier. 2023-07-10 16:01:18 +00:00
spans.outer.PreCodegen.after.panic-unwind.mir Perform reference propagation earlier. 2023-07-10 16:01:18 +00:00
spans.rs Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
try_identity.new.PreCodegen.after.mir Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
try_identity.old.PreCodegen.after.mir Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
try_identity.rs

The goal of this directory is to track the quality of MIR that is given to codegen in a standard -O condiguration.

As such, feel free to --bless whatever changes you get here, so long as doing so doesn't add substantially more MIR.