rust/tests/mir-opt/inline
bors 915aa06700 Auto merge of #110705 - saethlin:ignore-locals-cost, r=cjgillot
Remove the size of locals heuristic in MIR inlining

This heuristic doesn't necessarily correlate to complexity of the MIR Body. In particular, a lot of straight-line code in MIR tends to never reuse a local, even though any optimizer would effectively reuse the storage or just put everything in registers. So it doesn't even necessarily make sense that this would be a stack size heuristic.

So... what happens if we just delete the heuristic? The benchmark suite improves significantly. Less heuristics better?

r? `@cjgillot`
2023-04-23 15:41:45 +00:00
..
asm_unwind.main.Inline.diff Bless tests 2023-04-06 09:34:17 +01:00
asm_unwind.rs
caller_with_trivial_bound.foo.Inline.diff
caller_with_trivial_bound.rs
cycle.f.Inline.diff Bless tests 2023-04-06 09:34:17 +01:00
cycle.g.Inline.diff Bless tests 2023-04-06 09:34:17 +01:00
cycle.main.Inline.diff Bless tests 2023-04-06 09:34:17 +01:00
cycle.rs
dyn_trait.get_query.Inline.diff Ignore many tests on wasm32 2023-04-06 10:08:07 +01:00
dyn_trait.mk_cycle.Inline.diff Ignore many tests on wasm32 2023-04-06 10:08:07 +01:00
dyn_trait.rs Ignore many tests on wasm32 2023-04-06 10:08:07 +01:00
dyn_trait.try_execute_query.Inline.diff Ignore many tests on wasm32 2023-04-06 10:08:07 +01:00
exponential_runtime.main.Inline.diff Ignore many tests on wasm32 2023-04-06 10:08:07 +01:00
exponential_runtime.rs Ignore many tests on wasm32 2023-04-06 10:08:07 +01:00
inline_any_operand.bar.Inline.after.mir
inline_any_operand.rs
inline_async.rs
inline_closure_borrows_arg.foo.Inline.after.mir Bless tests 2023-04-05 15:59:29 +00:00
inline_closure_borrows_arg.rs
inline_closure_captures.foo.Inline.after.mir Bless tests 2023-04-05 15:59:29 +00:00
inline_closure_captures.rs
inline_closure.foo.Inline.after.mir Bless tests 2023-04-05 15:59:29 +00:00
inline_closure.rs
inline_compatibility.inlined_no_sanitize.Inline.diff
inline_compatibility.inlined_target_feature.Inline.diff
inline_compatibility.not_inlined_c_variadic.Inline.diff
inline_compatibility.not_inlined_no_sanitize.Inline.diff
inline_compatibility.not_inlined_target_feature.Inline.diff
inline_compatibility.rs
inline_cycle_generic.main.Inline.diff Ignore many tests on wasm32 2023-04-06 10:08:07 +01:00
inline_cycle_generic.rs Ignore many tests on wasm32 2023-04-06 10:08:07 +01:00
inline_cycle.one.Inline.diff Ignore many tests on wasm32 2023-04-06 10:08:07 +01:00
inline_cycle.rs Ignore many tests on wasm32 2023-04-06 10:08:07 +01:00
inline_cycle.two.Inline.diff Ignore many tests on wasm32 2023-04-06 10:08:07 +01:00
inline_diverging.f.Inline.diff
inline_diverging.g.Inline.diff
inline_diverging.h.Inline.diff Bless tests 2023-04-06 09:34:17 +01:00
inline_diverging.rs
inline_generator.main.Inline.diff Bless tests 2023-04-05 15:59:29 +00:00
inline_generator.rs
inline_instruction_set.default.Inline.diff Bless tests 2023-04-06 09:34:17 +01:00
inline_instruction_set.rs
inline_instruction_set.t32.Inline.diff Bless tests 2023-04-06 09:34:17 +01:00
inline_into_box_place.main.Inline.diff Bless tests 2023-04-06 09:34:17 +01:00
inline_into_box_place.rs
inline_options.main.Inline.after.mir Ignore many tests on wasm32 2023-04-06 10:08:07 +01:00
inline_options.rs Ignore many tests on wasm32 2023-04-06 10:08:07 +01:00
inline_retag.bar.Inline.after.mir
inline_retag.rs
inline_shims.clone.Inline.diff
inline_shims.drop.Inline.diff
inline_shims.rs
inline_specialization.main.Inline.diff Ignore many tests on wasm32 2023-04-06 10:08:07 +01:00
inline_specialization.rs Ignore many tests on wasm32 2023-04-06 10:08:07 +01:00
inline_trait_method_2.rs Ignore many tests on wasm32 2023-04-06 10:08:07 +01:00
inline_trait_method_2.test2.Inline.after.mir Ignore many tests on wasm32 2023-04-06 10:08:07 +01:00
inline_trait_method.rs Ignore many tests on wasm32 2023-04-06 10:08:07 +01:00
inline_trait_method.test.Inline.after.mir Ignore many tests on wasm32 2023-04-06 10:08:07 +01:00
issue_58867_inline_as_ref_as_mut.a.Inline.after.mir
issue_58867_inline_as_ref_as_mut.b.Inline.after.mir
issue_58867_inline_as_ref_as_mut.c.Inline.after.mir
issue_58867_inline_as_ref_as_mut.d.Inline.after.mir
issue_58867_inline_as_ref_as_mut.rs
issue_76997_inline_scopes_parenting.main.Inline.after.mir Bless tests 2023-04-05 15:59:29 +00:00
issue_76997_inline_scopes_parenting.rs
issue_78442.bar.Inline.diff Bless tests 2023-04-06 09:34:17 +01:00
issue_78442.bar.RevealAll.diff Bless tests 2023-04-06 09:34:17 +01:00
issue_78442.rs
issue_106141.outer.Inline.diff Turn on ConstDebugInfo pass. 2023-04-22 23:41:48 +02:00
issue_106141.rs Ignore many tests on wasm32 2023-04-06 10:08:07 +01:00
polymorphic_recursion.rs
unchecked_shifts.rs Ignore many tests on wasm32 2023-04-06 10:08:07 +01:00
unchecked_shifts.unchecked_shl_unsigned_smaller.Inline.diff Remove the size of locals heuristic in MIR inlining 2023-04-22 19:17:11 -04:00
unchecked_shifts.unchecked_shl_unsigned_smaller.PreCodegen.after.mir Remove the size of locals heuristic in MIR inlining 2023-04-22 19:17:11 -04:00
unchecked_shifts.unchecked_shr_signed_smaller.Inline.diff Remove the size of locals heuristic in MIR inlining 2023-04-22 19:17:11 -04:00
unchecked_shifts.unchecked_shr_signed_smaller.PreCodegen.after.mir Remove the size of locals heuristic in MIR inlining 2023-04-22 19:17:11 -04:00
unwrap_unchecked.rs
unwrap_unchecked.unwrap_unchecked.Inline.diff Run combine_duplicate_switch_targets after the simplification that produces them 2023-04-20 20:40:01 -04:00
unwrap_unchecked.unwrap_unchecked.PreCodegen.after.mir