rust/tests/mir-opt/inline
Tomasz Miąsko 011b260cc8 Require target features to match exactly during inlining
In general it is not correct to inline a callee with a target features
that are subset of the callee. Require target features to match exactly
during inlining.

The exact match could be potentially relaxed, but this would require
identifying specific feature that are allowed to differ, those that need
to match, and those that can be present in caller but not in callee.

This resolves MIR part of #116573. For other concerns with respect to
the previous implementation also see areInlineCompatible in LLVM.
2023-10-24 22:49:15 +02:00
..
asm_unwind.main.Inline.panic-abort.diff make MIR less verbose 2023-08-24 14:26:26 +02:00
asm_unwind.main.Inline.panic-unwind.diff make MIR less verbose 2023-08-24 14:26:26 +02:00
asm_unwind.rs Allow to run filecheck in mir-opt tests. 2023-10-19 15:51:52 +00:00
caller_with_trivial_bound.foo.Inline.panic-unwind.diff
caller_with_trivial_bound.rs Allow to run filecheck in mir-opt tests. 2023-10-19 15:51:52 +00:00
cycle.f.Inline.panic-abort.diff
cycle.f.Inline.panic-unwind.diff make MIR less verbose 2023-08-24 14:26:26 +02:00
cycle.g.Inline.panic-abort.diff
cycle.g.Inline.panic-unwind.diff make MIR less verbose 2023-08-24 14:26:26 +02:00
cycle.main.Inline.panic-abort.diff
cycle.main.Inline.panic-unwind.diff make MIR less verbose 2023-08-24 14:26:26 +02:00
cycle.rs Allow to run filecheck in mir-opt tests. 2023-10-19 15:51:52 +00:00
dont_ice_on_generic_rust_call.call.Inline.panic-abort.diff
dont_ice_on_generic_rust_call.call.Inline.panic-unwind.diff make MIR less verbose 2023-08-24 14:26:26 +02:00
dont_ice_on_generic_rust_call.rs Allow to run filecheck in mir-opt tests. 2023-10-19 15:51:52 +00:00
dyn_trait.get_query.Inline.panic-abort.diff
dyn_trait.get_query.Inline.panic-unwind.diff
dyn_trait.mk_cycle.Inline.panic-abort.diff
dyn_trait.mk_cycle.Inline.panic-unwind.diff
dyn_trait.rs Allow to run filecheck in mir-opt tests. 2023-10-19 15:51:52 +00:00
dyn_trait.try_execute_query.Inline.panic-abort.diff
dyn_trait.try_execute_query.Inline.panic-unwind.diff
exponential_runtime.main.Inline.panic-abort.diff
exponential_runtime.main.Inline.panic-unwind.diff
exponential_runtime.rs Allow to run filecheck in mir-opt tests. 2023-10-19 15:51:52 +00:00
inline_any_operand.bar.Inline.after.mir
inline_any_operand.rs Allow to run filecheck in mir-opt tests. 2023-10-19 15:51:52 +00:00
inline_async.rs s/generator/coroutine/ 2023-10-20 21:14:01 +00:00
inline_box_fn.call.Inline.panic-abort.diff
inline_box_fn.call.Inline.panic-unwind.diff make MIR less verbose 2023-08-24 14:26:26 +02:00
inline_box_fn.rs Allow to run filecheck in mir-opt tests. 2023-10-19 15:51:52 +00:00
inline_closure_borrows_arg.foo.Inline.after.mir adjust how closure/generator types and rvalues are printed 2023-09-21 22:20:58 +02:00
inline_closure_borrows_arg.rs Allow to run filecheck in mir-opt tests. 2023-10-19 15:51:52 +00:00
inline_closure_captures.foo.Inline.after.mir Remove mir::LocalDecl::internal. 2023-10-04 17:55:15 +00:00
inline_closure_captures.rs Allow to run filecheck in mir-opt tests. 2023-10-19 15:51:52 +00:00
inline_closure.foo.Inline.after.mir adjust how closure/generator types and rvalues are printed 2023-09-21 22:20:58 +02:00
inline_closure.rs Allow to run filecheck in mir-opt tests. 2023-10-19 15:51:52 +00:00
inline_compatibility.rs Require target features to match exactly during inlining 2023-10-24 22:49:15 +02:00
inline_coroutine.main.Inline.panic-abort.diff s/generator/coroutine/ 2023-10-20 21:14:01 +00:00
inline_coroutine.main.Inline.panic-unwind.diff s/generator/coroutine/ 2023-10-20 21:14:01 +00:00
inline_coroutine.rs s/generator/coroutine/ 2023-10-20 21:14:01 +00:00
inline_cycle_generic.main.Inline.panic-abort.diff
inline_cycle_generic.main.Inline.panic-unwind.diff
inline_cycle_generic.rs Allow to run filecheck in mir-opt tests. 2023-10-19 15:51:52 +00:00
inline_cycle.one.Inline.panic-abort.diff
inline_cycle.one.Inline.panic-unwind.diff
inline_cycle.rs Allow to run filecheck in mir-opt tests. 2023-10-19 15:51:52 +00:00
inline_cycle.two.Inline.panic-abort.diff
inline_cycle.two.Inline.panic-unwind.diff
inline_diverging.f.Inline.panic-abort.diff
inline_diverging.f.Inline.panic-unwind.diff
inline_diverging.g.Inline.panic-abort.diff lower ExprKind::Use, LogicalOp::Or and UnOp::Not 2023-08-30 17:24:10 +08:00
inline_diverging.g.Inline.panic-unwind.diff lower ExprKind::Use, LogicalOp::Or and UnOp::Not 2023-08-30 17:24:10 +08:00
inline_diverging.h.Inline.panic-abort.diff Also consider call and yield as MIR SSA. 2023-10-08 16:05:26 +00:00
inline_diverging.h.Inline.panic-unwind.diff Also consider call and yield as MIR SSA. 2023-10-08 16:05:26 +00:00
inline_diverging.rs Allow to run filecheck in mir-opt tests. 2023-10-19 15:51:52 +00:00
inline_instruction_set.default.Inline.diff
inline_instruction_set.rs Allow to run filecheck in mir-opt tests. 2023-10-19 15:51:52 +00:00
inline_instruction_set.t32.Inline.diff
inline_into_box_place.main.Inline.panic-abort.diff Remove mir::LocalDecl::internal. 2023-10-04 17:55:15 +00:00
inline_into_box_place.main.Inline.panic-unwind.diff Remove mir::LocalDecl::internal. 2023-10-04 17:55:15 +00:00
inline_into_box_place.rs Allow to run filecheck in mir-opt tests. 2023-10-19 15:51:52 +00:00
inline_options.main.Inline.after.panic-abort.mir
inline_options.main.Inline.after.panic-unwind.mir
inline_options.rs Allow to run filecheck in mir-opt tests. 2023-10-19 15:51:52 +00:00
inline_retag.bar.Inline.after.mir
inline_retag.rs Allow to run filecheck in mir-opt tests. 2023-10-19 15:51:52 +00:00
inline_shims.clone.Inline.panic-abort.diff
inline_shims.clone.Inline.panic-unwind.diff
inline_shims.drop.Inline.panic-abort.diff
inline_shims.drop.Inline.panic-unwind.diff
inline_shims.rs FileCheck inline_shims. 2023-10-19 15:51:54 +00:00
inline_specialization.main.Inline.panic-abort.diff
inline_specialization.main.Inline.panic-unwind.diff
inline_specialization.rs Allow to run filecheck in mir-opt tests. 2023-10-19 15:51:52 +00:00
inline_trait_method_2.rs Allow to run filecheck in mir-opt tests. 2023-10-19 15:51:52 +00:00
inline_trait_method_2.test2.Inline.after.panic-abort.mir
inline_trait_method_2.test2.Inline.after.panic-unwind.mir
inline_trait_method.rs Allow to run filecheck in mir-opt tests. 2023-10-19 15:51:52 +00:00
inline_trait_method.test.Inline.after.panic-abort.mir
inline_trait_method.test.Inline.after.panic-unwind.mir
issue_58867_inline_as_ref_as_mut.a.Inline.after.mir
issue_58867_inline_as_ref_as_mut.b.Inline.after.mir Remove mir::LocalDecl::internal. 2023-10-04 17:55:15 +00:00
issue_58867_inline_as_ref_as_mut.c.Inline.after.mir
issue_58867_inline_as_ref_as_mut.d.Inline.after.mir Remove mir::LocalDecl::internal. 2023-10-04 17:55:15 +00:00
issue_58867_inline_as_ref_as_mut.rs Allow to run filecheck in mir-opt tests. 2023-10-19 15:51:52 +00:00
issue_76997_inline_scopes_parenting.main.Inline.after.mir Allow to run filecheck in mir-opt tests. 2023-10-19 15:51:52 +00:00
issue_76997_inline_scopes_parenting.rs Allow to run filecheck in mir-opt tests. 2023-10-19 15:51:52 +00:00
issue_78442.bar.Inline.panic-abort.diff Automatically enable cross-crate inlining for small functions 2023-10-17 19:53:51 -04:00
issue_78442.bar.Inline.panic-unwind.diff Automatically enable cross-crate inlining for small functions 2023-10-17 19:53:51 -04:00
issue_78442.bar.RevealAll.panic-abort.diff Unconditionally run RevealAll pass and run it earlier 2023-09-28 16:13:38 +00:00
issue_78442.bar.RevealAll.panic-unwind.diff Unconditionally run RevealAll pass and run it earlier 2023-09-28 16:13:38 +00:00
issue_78442.rs Allow to run filecheck in mir-opt tests. 2023-10-19 15:51:52 +00:00
issue_106141.outer.Inline.panic-abort.diff Remove mir::LocalDecl::internal. 2023-10-04 17:55:15 +00:00
issue_106141.outer.Inline.panic-unwind.diff Remove mir::LocalDecl::internal. 2023-10-04 17:55:15 +00:00
issue_106141.rs FileCheck issue_106141. 2023-10-19 15:51:54 +00:00
polymorphic_recursion.rs Allow to run filecheck in mir-opt tests. 2023-10-19 15:51:52 +00:00
unchecked_shifts.rs Allow to run filecheck in mir-opt tests. 2023-10-19 15:51:52 +00:00
unchecked_shifts.unchecked_shl_unsigned_bigger.Inline.panic-abort.diff
unchecked_shifts.unchecked_shl_unsigned_bigger.Inline.panic-unwind.diff
unchecked_shifts.unchecked_shl_unsigned_bigger.PreCodegen.after.panic-abort.mir
unchecked_shifts.unchecked_shl_unsigned_bigger.PreCodegen.after.panic-unwind.mir
unchecked_shifts.unchecked_shl_unsigned_smaller.Inline.panic-abort.diff
unchecked_shifts.unchecked_shl_unsigned_smaller.Inline.panic-unwind.diff
unchecked_shifts.unchecked_shl_unsigned_smaller.PreCodegen.after.panic-abort.mir
unchecked_shifts.unchecked_shl_unsigned_smaller.PreCodegen.after.panic-unwind.mir
unchecked_shifts.unchecked_shr_signed_bigger.Inline.panic-abort.diff
unchecked_shifts.unchecked_shr_signed_bigger.Inline.panic-unwind.diff
unchecked_shifts.unchecked_shr_signed_bigger.PreCodegen.after.panic-abort.mir
unchecked_shifts.unchecked_shr_signed_bigger.PreCodegen.after.panic-unwind.mir
unchecked_shifts.unchecked_shr_signed_smaller.Inline.panic-abort.diff
unchecked_shifts.unchecked_shr_signed_smaller.Inline.panic-unwind.diff
unchecked_shifts.unchecked_shr_signed_smaller.PreCodegen.after.panic-abort.mir
unchecked_shifts.unchecked_shr_signed_smaller.PreCodegen.after.panic-unwind.mir
unit_test.rs Only check in a single place if a pass is enabled. 2023-10-18 16:59:23 +00:00
unsized_argument.caller.Inline.diff Do not create move paths that do not need dropping. 2023-10-21 10:32:59 +00:00
unsized_argument.rs Allow to run filecheck in mir-opt tests. 2023-10-19 15:51:52 +00:00
unwrap_unchecked.rs Allow to run filecheck in mir-opt tests. 2023-10-19 15:51:52 +00:00
unwrap_unchecked.unwrap_unchecked.Inline.panic-abort.diff Remove mir::LocalDecl::internal. 2023-10-04 17:55:15 +00:00
unwrap_unchecked.unwrap_unchecked.Inline.panic-unwind.diff Remove mir::LocalDecl::internal. 2023-10-04 17:55:15 +00:00
unwrap_unchecked.unwrap_unchecked.PreCodegen.after.panic-abort.mir Remove mir::LocalDecl::internal. 2023-10-04 17:55:15 +00:00
unwrap_unchecked.unwrap_unchecked.PreCodegen.after.panic-unwind.mir Remove mir::LocalDecl::internal. 2023-10-04 17:55:15 +00:00