rust/tests/mir-opt/building
bors 2420bd34ba Auto merge of #106428 - saethlin:inline-diverging-functions, r=cjgillot
Permit the MIR inliner to inline diverging functions

This heuristic prevents inlining of `hint::unreachable_unchecked`, which in turn makes `Option/Result::unwrap_unchecked` a bad inlining candidate. I looked through the changes to `core`, `alloc`, `std`, and `hashbrown` by hand and they all seem reasonable. Let's see how this looks in perf...

---

Based on rustc-perf it looks like this regresses ctfe-stress, and the cachegrind diff indicates that this regression is in `InterpCx::statement`. I don't know how to do any deeper analysis because that function is _enormous_ in the try toolchain, which has no debuginfo in it. And a local build produces significantly different codegen for that function, even with LTO.
2023-03-26 05:55:32 +00:00
..
custom Rollup merge of #109392 - cbeuw:composite-ret, r=JakobDegen 2023-03-22 20:08:01 +01:00
async_await.a-{closure#0}.generator_resume.0.mir Stop deaggregating enums in MIR. 2023-02-02 23:20:27 +00:00
async_await.b-{closure#0}.generator_resume.0.mir Remove duplicate unreachable blocks 2023-03-18 14:29:04 -04:00
async_await.rs Transform async ResumeTy in generator transform 2023-01-19 09:03:05 +01:00
enum_cast.bar.built.after.mir Move /src/test to /tests 2023-01-11 09:32:08 +00:00
enum_cast.boo.built.after.mir Move /src/test to /tests 2023-01-11 09:32:08 +00:00
enum_cast.droppy.built.after.mir Move /src/test to /tests 2023-01-11 09:32:08 +00:00
enum_cast.foo.built.after.mir Move /src/test to /tests 2023-01-11 09:32:08 +00:00
enum_cast.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue_49232.main.built.after.mir Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue_49232.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue_101867.main.built.after.mir Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue_101867.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
match_false_edges.full_tested_match.built.after.mir Introduce a no-op PlaceMention statement for `let _ =`. 2023-03-09 17:45:13 +00:00
match_false_edges.full_tested_match2.built.after.mir Introduce a no-op PlaceMention statement for `let _ =`. 2023-03-09 17:45:13 +00:00
match_false_edges.main.built.after.mir Introduce a no-op PlaceMention statement for `let _ =`. 2023-03-09 17:45:13 +00:00
match_false_edges.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
receiver_ptr_mutability.main.built.after.mir Move /src/test to /tests 2023-01-11 09:32:08 +00:00
receiver_ptr_mutability.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
shifts.rs Demonstration test for MIR building of checked shift operators 2023-03-22 01:37:11 -07:00
shifts.shift_signed.built.after.mir Generate simpler MIR for shifts 2023-03-22 13:32:12 -07:00
shifts.shift_unsigned.built.after.mir Generate simpler MIR for shifts 2023-03-22 13:32:12 -07:00
simple_match.match_bool.built.after.mir Move /src/test to /tests 2023-01-11 09:32:08 +00:00
simple_match.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
storage_live_dead_in_statics.XXX.built.after.mir Move /src/test to /tests 2023-01-11 09:32:08 +00:00
storage_live_dead_in_statics.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
uniform_array_move_out.move_out_by_subslice.built.after.mir Remove uses of `box_syntax` in rustc and tools 2023-03-12 13:19:46 +00:00
uniform_array_move_out.move_out_from_end.built.after.mir Remove uses of `box_syntax` in rustc and tools 2023-03-12 13:19:46 +00:00
uniform_array_move_out.rs Remove uses of `box_syntax` in rustc and tools 2023-03-12 13:19:46 +00:00