rust/compiler
bors 2a4b00beaa Auto merge of #106908 - cjgillot:copyprop-ssa, r=oli-obk
Implement simple CopyPropagation based on SSA analysis

This PR extracts the "copy propagation" logic from https://github.com/rust-lang/rust/pull/106285.

MIR may produce chains of assignment between locals, like `_x = move? _y`.
This PR attempts to remove such chains by unifying locals.

The current implementation is a bit overzealous in turning moves into copies, and in removing storage statements.
2023-01-29 13:01:06 +00:00
..
rustc
rustc_abi abi: add AddressSpace field to Primitive::Pointer 2023-01-22 23:41:39 -05:00
rustc_apfloat compiler: remove unnecessary imports and qualified paths 2022-12-10 18:45:34 +01:00
rustc_arena compiler: remove unnecessary imports and qualified paths 2022-12-10 18:45:34 +01:00
rustc_ast Rollup merge of #107194 - xfix:remove-slice-internals-dependency-in-rustc-ast, r=Nilstrieb 2023-01-28 00:23:12 +09:00
rustc_ast_lowering Remove HirId -> LocalDefId map from HIR. 2023-01-28 09:55:26 +00:00
rustc_ast_passes Autoderive ExternBlockSuggestion 2023-01-19 13:52:15 +01:00
rustc_ast_pretty Replace format flags u32 by enums and bools. 2023-01-27 08:53:39 +01:00
rustc_attr Fix uninlined_format_args for some compiler crates 2023-01-05 19:01:12 +01:00
rustc_baked_icu_data
rustc_borrowck Auto merge of #107435 - matthiaskrgr:rollup-if5h6yu, r=matthiaskrgr 2023-01-29 07:01:58 +00:00
rustc_builtin_macros Auto merge of #103659 - clubby789:improve-partialord-derive, r=nagisa 2023-01-28 22:11:11 +00:00
rustc_codegen_cranelift Auto merge of #106227 - bryangarza:ctfe-limit, r=oli-obk 2023-01-29 04:11:27 +00:00
rustc_codegen_gcc create and use GlobalAlloc::address_space 2023-01-25 01:46:19 -05:00
rustc_codegen_llvm make more pleasant to read 2023-01-28 16:35:07 +02:00
rustc_codegen_ssa Auto merge of #107435 - matthiaskrgr:rollup-if5h6yu, r=matthiaskrgr 2023-01-29 07:01:58 +00:00
rustc_const_eval Auto merge of #106227 - bryangarza:ctfe-limit, r=oli-obk 2023-01-29 04:11:27 +00:00
rustc_data_structures Auto merge of #106227 - bryangarza:ctfe-limit, r=oli-obk 2023-01-29 04:11:27 +00:00
rustc_driver Store the gctxt instead of fetching it twice. 2023-01-23 10:35:21 +00:00
rustc_error_codes compiler: Fix E0587 explanation 2023-01-27 10:59:51 +01:00
rustc_error_messages Auto merge of #106253 - nbdd0121:upcast, r=compiler-errors 2023-01-29 10:20:25 +00:00
rustc_errors add debug assertion for suggestions with overlapping parts 2023-01-20 20:16:37 +01:00
rustc_expand preserve delim spans during macro_rules! expansion if able 2023-01-20 20:16:37 +01:00
rustc_feature Reintroduce multiple_supertrait_upcastable lint 2023-01-28 15:08:07 +00:00
rustc_fs_util Remove useless borrows and derefs 2022-12-01 17:34:43 +00:00
rustc_graphviz Fix uninlined_format_args for some compiler crates 2023-01-05 19:01:12 +01:00
rustc_hir Remove HirId -> LocalDefId map from HIR. 2023-01-28 09:55:26 +00:00
rustc_hir_analysis Auto merge of #106253 - nbdd0121:upcast, r=compiler-errors 2023-01-29 10:20:25 +00:00
rustc_hir_pretty parse const closures 2023-01-12 02:28:37 +00:00
rustc_hir_typeck Auto merge of #106253 - nbdd0121:upcast, r=compiler-errors 2023-01-29 10:20:25 +00:00
rustc_incremental Remove HirId -> LocalDefId map from HIR. 2023-01-28 09:55:26 +00:00
rustc_index Fix IndexVec::drain_enumerated 2023-01-19 15:25:33 +00:00
rustc_infer Auto merge of #107303 - compiler-errors:intern-canonical-var-values, r=lcnr 2023-01-28 19:41:21 +00:00
rustc_interface Auto merge of #106227 - bryangarza:ctfe-limit, r=oli-obk 2023-01-29 04:11:27 +00:00
rustc_lexer Remove double spaces after dots in comments 2023-01-17 08:09:33 +00:00
rustc_lint Auto merge of #106253 - nbdd0121:upcast, r=compiler-errors 2023-01-29 10:20:25 +00:00
rustc_lint_defs Auto merge of #107185 - compiler-errors:rollup-wkomjma, r=compiler-errors 2023-01-22 06:53:36 +00:00
rustc_llvm Rollup merge of #106113 - krasimirgg:llvm-16-ext-tyid, r=nikic 2023-01-21 23:20:58 -05:00
rustc_log Add log-backtrace option to show backtraces along with logging 2023-01-12 00:17:48 +09:00
rustc_macros Detect references to non-existant messages in Fluent resources 2023-01-27 11:27:22 +00:00
rustc_metadata Auto merge of #107406 - cjgillot:eliminate-witnesses, r=compiler-errors 2023-01-29 01:27:11 +00:00
rustc_middle Auto merge of #106253 - nbdd0121:upcast, r=compiler-errors 2023-01-29 10:20:25 +00:00
rustc_mir_build Remove HirId -> LocalDefId map from HIR. 2023-01-28 09:55:26 +00:00
rustc_mir_dataflow Create stable metric to measure long computation in Const Eval 2023-01-23 23:56:22 +00:00
rustc_mir_transform Auto merge of #106908 - cjgillot:copyprop-ssa, r=oli-obk 2023-01-29 13:01:06 +00:00
rustc_monomorphize add EarlyBinder::no_bound_vars 2023-01-26 20:28:31 -07:00
rustc_parse Migrate some range parsing diagnostics 2023-01-28 21:57:35 +00:00
rustc_parse_format Replace format flags u32 by enums and bools. 2023-01-27 08:53:39 +01:00
rustc_passes Remove HirId -> LocalDefId map from HIR. 2023-01-28 09:55:26 +00:00
rustc_plugin_impl
rustc_privacy Remove HirId -> LocalDefId map from HIR. 2023-01-28 09:55:26 +00:00
rustc_query_impl Fix uninlined_format_args for some compiler crates 2023-01-05 19:01:12 +01:00
rustc_query_system Remove double spaces after dots in comments 2023-01-17 08:09:33 +00:00
rustc_resolve suggest qualifying bare associated constants 2023-01-25 08:58:27 -05:00
rustc_save_analysis Remove HirId -> LocalDefId map from HIR. 2023-01-28 09:55:26 +00:00
rustc_serialize compiler: remove unnecessary imports and qualified paths 2022-12-10 18:45:34 +01:00
rustc_session Auto merge of #106227 - bryangarza:ctfe-limit, r=oli-obk 2023-01-29 04:11:27 +00:00
rustc_smir
rustc_span Reintroduce multiple_supertrait_upcastable lint 2023-01-28 15:08:07 +00:00
rustc_symbol_mangling Introduce GeneratorWitnessMIR. 2023-01-27 18:58:44 +00:00
rustc_target Rollup merge of #107248 - erikdesjardins:addrspace, r=oli-obk 2023-01-26 06:15:27 +01:00
rustc_trait_selection Auto merge of #106253 - nbdd0121:upcast, r=compiler-errors 2023-01-29 10:20:25 +00:00
rustc_traits Auto merge of #106253 - nbdd0121:upcast, r=compiler-errors 2023-01-29 10:20:25 +00:00
rustc_transmute Also remove #![feature(control_flow_enum)] where possible 2023-01-18 10:22:21 -08:00
rustc_ty_utils Pacify tidy. 2023-01-27 22:01:25 +00:00
rustc_type_ir Separate witness type computation from the generator transform. 2023-01-27 19:00:26 +00:00