rust/compiler/rustc_mir_transform/src
Dylan DPC d83abe8c12
Rollup merge of #100522 - cjgillot:inline-polymorphic-recursion, r=tmiasko
Only check the `DefId` for the recursion check in MIR inliner.

The current history check compares `Instance`s, so it cannot detect cases of polymorphic recursion where `Substs` change.
This PR makes it so we only compare `DefId`s, ignoring any change in `Substs`.

According to https://github.com/rust-lang/rust/pull/100522#issuecomment-1214769757, in practice only very few inlining decisions change.

Fixes https://github.com/rust-lang/rust/issues/100476
2022-08-19 12:26:43 +05:30
..
coverage Rename debugging_opts to unstable_opts 2022-07-13 17:47:06 -05:00
inline consistently use VTable over Vtable (matching stable stdlib API RawWakerVTable) 2022-07-20 17:12:07 -04:00
abort_unwinding_calls.rs Rename debugging_opts to unstable_opts 2022-07-13 17:47:06 -05:00
add_call_guards.rs
add_moves_for_packed_drops.rs
add_retag.rs has_deref: simpler comparison, ty fix 2022-07-22 17:35:28 +03:00
check_const_item_mutation.rs
check_packed_ref.rs Remove erroneous E0133 code from an error message. 2022-07-26 12:54:24 +10:00
check_unsafety.rs update comment 2022-08-02 18:55:43 -04:00
cleanup_post_borrowck.rs Add option to mir::MutVisitor to not invalidate CFG. 2022-08-09 01:51:10 -07:00
const_debuginfo.rs Rename debugging_opts to unstable_opts 2022-07-13 17:47:06 -05:00
const_goto.rs
const_prop_lint.rs Add bound_impl_subject and bound_return_ty 2022-08-03 01:02:46 -04:00
const_prop.rs Rollup merge of #100229 - RalfJung:extra-const-ub-checks, r=lcnr 2022-08-12 20:39:11 +05:30
dead_store_elimination.rs
deaggregator.rs
deduplicate_blocks.rs
deref_separator.rs Add option to mir::MutVisitor to not invalidate CFG. 2022-08-09 01:51:10 -07:00
dest_prop.rs Rename debugging_opts to unstable_opts 2022-07-13 17:47:06 -05:00
dump_mir.rs
early_otherwise_branch.rs Rename debugging_opts to unstable_opts 2022-07-13 17:47:06 -05:00
elaborate_box_derefs.rs Rollup merge of #100192 - tmiasko:rm-duplicated-locals, r=nagisa 2022-08-11 22:46:59 +05:30
elaborate_drops.rs optimize un_derefer 2022-07-24 14:40:43 +03:00
ffi_unwind_calls.rs
function_item_references.rs
generator.rs Rename debugging_opts to unstable_opts 2022-07-13 17:47:06 -05:00
inline.rs Ignore substs when checking inlining history. 2022-08-17 19:25:09 +02:00
instcombine.rs
lib.rs Adjust cfgs 2022-08-12 16:28:15 -04:00
lower_intrinsics.rs
lower_slice_len.rs lint: add bad opt access internal lint 2022-07-27 11:24:27 +01:00
marker.rs
match_branches.rs
multiple_return_terminators.rs
normalize_array_len.rs
nrvo.rs Add option to mir::MutVisitor to not invalidate CFG. 2022-08-09 01:51:10 -07:00
pass_manager.rs Rename debugging_opts to unstable_opts 2022-07-13 17:47:06 -05:00
remove_false_edges.rs
remove_noop_landing_pads.rs Avoid invalidating the CFG in MirPatch. 2022-08-02 18:57:54 -07:00
remove_storage_markers.rs
remove_uninit_drops.rs Auto merge of #99667 - ouz-a:some_branch, r=oli-obk 2022-07-29 07:11:50 +00:00
remove_unneeded_drops.rs
remove_zsts.rs
required_consts.rs
reveal_all.rs Add option to mir::MutVisitor to not invalidate CFG. 2022-08-09 01:51:10 -07:00
separate_const_switch.rs add new rval, pull deref early 2022-07-12 14:26:41 +03:00
shim.rs consistently use VTable over Vtable (matching stable stdlib API RawWakerVTable) 2022-07-20 17:12:07 -04:00
simplify_branches.rs
simplify_comparison_integral.rs
simplify_try.rs Rename debugging_opts to unstable_opts 2022-07-13 17:47:06 -05:00
simplify.rs Add option to mir::MutVisitor to not invalidate CFG. 2022-08-09 01:51:10 -07:00
uninhabited_enum_branching.rs Remove unused StableMap and StableSet types from rustc_data_structures 2022-07-20 13:11:39 +02:00
unreachable_prop.rs