rust/compiler/rustc_mir_transform/src
Matthias Krüger 0ac8ebdf11
Rollup merge of #110826 - cjgillot:place-mention-use, r=JakobDegen,lcnr
Make PlaceMention a non-mutating use.

Fixes https://github.com/rust-lang/rust/issues/110781

r? `@JakobDegen`

I don't agree with your statement in https://github.com/rust-lang/rust/issues/110781#issuecomment-1520841434. I suggest that we start fixing `PlaceContext` to be accurate enough for optimizations to use it. This structure is very convenient to use in visitors, and we perhaps have an opportunity to make it less of a footgun.
2023-05-04 19:18:19 +02:00
..
coverage Auto merge of #97368 - tmandry:coverage-underflow, r=jyn514 2023-04-26 12:03:13 +00:00
inline rename needs_subst to has_param 2023-04-27 08:35:19 +01:00
abort_unwinding_calls.rs Add UnwindAction::Terminate 2023-04-06 09:34:16 +01:00
add_call_guards.rs Split {Idx, IndexVec, IndexSlice} into their own modules 2023-04-24 13:53:35 +00:00
add_moves_for_packed_drops.rs Spelling - compiler 2023-04-17 16:09:18 -04:00
add_retag.rs Spelling - compiler 2023-04-17 16:09:18 -04:00
check_alignment.rs Box AssertKind 2023-05-01 23:12:41 -04:00
check_const_item_mutation.rs Move some utils out of rustc_const_eval 2023-04-16 12:05:54 +02:00
check_packed_ref.rs improve error notes for packed struct reference diagnostic 2023-04-28 20:28:56 -05:00
check_unsafety.rs Remove WithOptconstParam. 2023-04-20 17:48:32 +00:00
cleanup_post_borrowck.rs Actually keep PlaceMention if requested. 2023-04-21 21:34:59 +00:00
const_debuginfo.rs Split {Idx, IndexVec, IndexSlice} into their own modules 2023-04-24 13:53:35 +00:00
const_goto.rs Disable ConstGoto opt in cleanup blocks 2023-01-26 03:50:37 -08:00
const_prop_lint.rs rename needs_subst to has_param 2023-04-27 08:35:19 +01:00
const_prop.rs Rollup merge of #110826 - cjgillot:place-mention-use, r=JakobDegen,lcnr 2023-05-04 19:18:19 +02:00
copy_prop.rs Split {Idx, IndexVec, IndexSlice} into their own modules 2023-04-24 13:53:35 +00:00
ctfe_limit.rs don't into self 2023-02-16 18:30:25 +01:00
dataflow_const_prop.rs Rollup merge of #110685 - cjgillot:clean-dcp, r=oli-obk 2023-04-25 02:33:30 +09:00
dead_store_elimination.rs Actually keep PlaceMention if requested. 2023-04-21 21:34:59 +00:00
deduce_param_attrs.rs Check freeze with right param-env 2023-04-16 23:09:57 +00:00
deduplicate_blocks.rs Replace Body::basic_blocks() with field access 2022-08-26 14:27:08 +02:00
deref_separator.rs Split {Idx, IndexVec, IndexSlice} into their own modules 2023-04-24 13:53:35 +00:00
dest_prop.rs Actually keep PlaceMention if requested. 2023-04-21 21:34:59 +00:00
dump_mir.rs Auto merge of #105220 - oli-obk:feeding, r=cjgillot 2022-12-06 03:47:41 +00:00
early_otherwise_branch.rs Remove unneeded field from SwitchTargets 2022-12-09 04:53:10 -08:00
elaborate_box_derefs.rs Split {Idx, IndexVec, IndexSlice} into their own modules 2023-04-24 13:53:35 +00:00
elaborate_drops.rs Restrict From<S> for {D,Subd}iagnosticMessage. 2023-05-03 08:44:39 +10:00
ffi_unwind_calls.rs Remove WithOptconstParam. 2023-04-20 17:48:32 +00:00
function_item_references.rs Move GenericArgKind::as_{type,const,region} to GenericArg 2023-04-19 17:59:30 +00:00
generator.rs Restrict From<S> for {D,Subd}iagnosticMessage. 2023-05-03 08:44:39 +10:00
inline.rs Split {Idx, IndexVec, IndexSlice} into their own modules 2023-04-24 13:53:35 +00:00
instcombine.rs Run combine_duplicate_switch_targets after the simplification that produces them 2023-04-20 20:40:01 -04:00
large_enums.rs Use param_env_reveal_all_normalized in MIR opts. 2023-04-23 10:04:41 +00:00
lib.rs Leave promoteds untainted by errors when borrowck fails 2023-04-30 23:57:47 +02:00
lower_intrinsics.rs Codegen fewer instructions in mem::replace 2023-04-30 22:33:04 -07:00
lower_slice_len.rs Split {Idx, IndexVec, IndexSlice} into their own modules 2023-04-24 13:53:35 +00:00
match_branches.rs Use param_env_reveal_all_normalized in MIR opts. 2023-04-23 10:04:41 +00:00
multiple_return_terminators.rs Replace Body::basic_blocks() with field access 2022-08-26 14:27:08 +02:00
normalize_array_len.rs Split {Idx, IndexVec, IndexSlice} into their own modules 2023-04-24 13:53:35 +00:00
nrvo.rs Remove LocalKind::Var. 2023-03-14 20:52:42 +01:00
pass_manager.rs Use zero based indexing for pass_count 2022-12-02 15:55:24 +00:00
remove_noop_landing_pads.rs Rename Abort terminator to Terminate 2023-04-06 09:34:16 +01:00
remove_place_mention.rs Actually keep PlaceMention if requested. 2023-04-21 21:34:59 +00:00
remove_storage_markers.rs Make MIR basic blocks field public 2022-07-07 08:11:49 +02:00
remove_uninit_drops.rs Move mir::Fieldabi::FieldIdx 2023-03-28 22:22:37 -07:00
remove_unneeded_drops.rs Make MIR basic blocks field public 2022-07-07 08:11:49 +02:00
remove_zsts.rs Generalize operation. 2023-03-13 18:22:55 +00:00
required_consts.rs Don't ICE when encountering ConstKind::Error in RequiredConstsVisitor 2022-11-10 05:14:04 +00:00
reveal_all.rs Also reveal constants before MIR opts. 2023-04-23 10:04:41 +00:00
separate_const_switch.rs offset_of 2023-04-21 02:14:02 -07:00
shim.rs Split {Idx, IndexVec, IndexSlice} into their own modules 2023-04-24 13:53:35 +00:00
simplify_branches.rs Use param_env_reveal_all_normalized in MIR opts. 2023-04-23 10:04:41 +00:00
simplify_comparison_integral.rs Use param_env_reveal_all_normalized in MIR opts. 2023-04-23 10:04:41 +00:00
simplify.rs Split {Idx, IndexVec, IndexSlice} into their own modules 2023-04-24 13:53:35 +00:00
sroa.rs Split {Idx, IndexVec, IndexSlice} into their own modules 2023-04-24 13:53:35 +00:00
ssa.rs Split {Idx, IndexVec, IndexSlice} into their own modules 2023-04-24 13:53:35 +00:00
uninhabited_enum_branching.rs Use param_env_reveal_all_normalized in MIR opts. 2023-04-23 10:04:41 +00:00
unreachable_prop.rs Fix typos in compiler 2023-04-10 22:02:52 +02:00