rust/compiler
bors 2f3f27bf79 Auto merge of #145541 - cjgillot:dest-prop-live-range, r=Amanieu
Reimplement DestinationPropagation according to live ranges.

This PR reimplements DestinationPropagation as a problem of merging live-ranges of locals. We merge locals that have disjoint live-ranges. This allows merging several locals in the same round by updating live range information.

Live ranges are mainly computed using the `MaybeLiveLocals` analysis. The subtlety is that we split each statement and terminator in 2 positions. The first position is the regular statement. The second position is a shadow, which is always more live. It encodes partial writes and dead writes as a local being live for half a statement. This half statement ensures that writes conflict with another local's writes and regular liveness.

r? `@Amanieu`
2025-09-07 23:36:21 +00:00
..
rustc rename stable_mir to rustc_public, and rustc_smir to rustc_public_bridge 2025-07-14 09:25:54 +00:00
rustc_abi Rollup merge of #144066 - RalfJung:extern-c-variadics, r=workingjubilee 2025-09-02 17:08:52 +02:00
rustc_arena Introduce Arena::try_alloc_from_iter. 2025-04-19 01:13:18 +00:00
rustc_ast Rollup merge of #146090 - Kobzol:invisible-origin-eq, r=petrochenkov 2025-09-04 10:01:58 +10:00
rustc_ast_ir turn pointer width into an integer in target.json 2025-08-27 23:44:49 +02:00
rustc_ast_lowering Rollup merge of #146102 - fmease:rm-dead-eff-code-iii, r=fee1-dead 2025-09-02 17:08:58 +02:00
rustc_ast_passes Rollup merge of #144066 - RalfJung:extern-c-variadics, r=workingjubilee 2025-09-02 17:08:52 +02:00
rustc_ast_pretty Revert introduction of [workspace.dependencies]. 2025-09-02 19:12:54 +10:00
rustc_attr_parsing Rollup merge of #146112 - scrabsha:push-utkysktvulto, r=WaffleLapkin 2025-09-04 10:01:59 +10:00
rustc_baked_icu_data Use default locale fallback data 2025-08-28 09:48:54 +00:00
rustc_borrowck identity uses are ok, even if there are no defining uses 2025-09-06 16:05:31 +02:00
rustc_builtin_macros Revert introduction of [workspace.dependencies]. 2025-09-02 19:12:54 +10:00
rustc_codegen_cranelift Auto merge of #146233 - jieyouxu:run-make-fission, r=Kobzol 2025-09-06 18:37:35 +00:00
rustc_codegen_gcc Rollup merge of #146209 - bjorn3:lto_refactors5, r=dianqk 2025-09-07 20:02:27 +02:00
rustc_codegen_llvm Rollup merge of #146209 - bjorn3:lto_refactors5, r=dianqk 2025-09-07 20:02:27 +02:00
rustc_codegen_ssa Rollup merge of #146209 - bjorn3:lto_refactors5, r=dianqk 2025-09-07 20:02:27 +02:00
rustc_const_eval Rollup merge of #146112 - scrabsha:push-utkysktvulto, r=WaffleLapkin 2025-09-04 10:01:59 +10:00
rustc_data_structures Revert introduction of [workspace.dependencies]. 2025-09-02 19:12:54 +10:00
rustc_driver Remove recursion_limit increases. 2025-04-02 16:25:27 +11:00
rustc_driver_impl Rollup merge of #146112 - scrabsha:push-utkysktvulto, r=WaffleLapkin 2025-09-04 10:01:59 +10:00
rustc_error_codes Changes to the uitests 2025-08-27 20:25:18 +02:00
rustc_error_messages Revert introduction of [workspace.dependencies]. 2025-09-02 19:12:54 +10:00
rustc_errors fix: Filter suggestion parts that match existing code 2025-09-04 17:42:13 -06:00
rustc_expand Rollup merge of #146090 - Kobzol:invisible-origin-eq, r=petrochenkov 2025-09-04 10:01:58 +10:00
rustc_feature Rollup merge of #145932 - JamieCunliffe:target-feature-inlining, r=jackh726 2025-09-04 10:01:55 +10:00
rustc_fluent_macro Revert introduction of [workspace.dependencies]. 2025-09-02 19:12:54 +10:00
rustc_fs_util Revert introduction of [workspace.dependencies]. 2025-09-02 19:12:54 +10:00
rustc_graphviz
rustc_hashes
rustc_hir Rollup merge of #146102 - fmease:rm-dead-eff-code-iii, r=fee1-dead 2025-09-02 17:08:58 +02:00
rustc_hir_analysis Rollup merge of #145690 - sayantn:integer-funnel-shift, r=tgross35 2025-09-04 01:43:21 -04:00
rustc_hir_id rustc_hir_id: Add a comment explaining why the crate exists 2025-08-20 15:04:00 -07:00
rustc_hir_pretty Rollup merge of #146102 - fmease:rm-dead-eff-code-iii, r=fee1-dead 2025-09-02 17:08:58 +02:00
rustc_hir_typeck Auto merge of #146044 - estebank:issue-88727, r=chenyukang 2025-09-05 12:23:58 +00:00
rustc_incremental Revert introduction of [workspace.dependencies]. 2025-09-02 19:12:54 +10:00
rustc_index Do not use prepend to avoid quadratic behaviour. 2025-09-07 16:36:30 +00:00
rustc_index_macros Revert introduction of [workspace.dependencies]. 2025-09-02 19:12:54 +10:00
rustc_infer rustc_infer: change top-level doc comment to inner 2025-09-05 12:43:47 +00:00
rustc_interface Disallow frontmatter in --cfg and --check-cfg arguments 2025-09-03 08:01:03 +02:00
rustc_lexer Rollup merge of #146106 - epage:whitespace, r=fee1-dead 2025-09-03 23:08:10 +10:00
rustc_lint ImproperCTypes: redo state tracking 2025-09-06 22:00:28 +02:00
rustc_lint_defs Rollup merge of #145932 - JamieCunliffe:target-feature-inlining, r=jackh726 2025-09-04 10:01:55 +10:00
rustc_llvm Rollup merge of #146209 - bjorn3:lto_refactors5, r=dianqk 2025-09-07 20:02:27 +02:00
rustc_log rustc_log: remove direct dep on tracing_core 2025-09-04 13:25:11 +03:00
rustc_macros Revert introduction of [workspace.dependencies]. 2025-09-02 19:12:54 +10:00
rustc_metadata Auto merge of #138736 - azhogin:azhogin/sanitizers-target-modificators, r=rcvalle 2025-09-04 22:51:33 +00:00
rustc_middle Rollup merge of #146297 - cjgillot:may-observe-address, r=saethlin 2025-09-07 20:02:29 +02:00
rustc_mir_build Revert introduction of [workspace.dependencies]. 2025-09-02 19:12:54 +10:00
rustc_mir_dataflow Auto merge of #145541 - cjgillot:dest-prop-live-range, r=Amanieu 2025-09-07 23:36:21 +00:00
rustc_mir_transform Auto merge of #145541 - cjgillot:dest-prop-live-range, r=Amanieu 2025-09-07 23:36:21 +00:00
rustc_monomorphize Revert introduction of [workspace.dependencies]. 2025-09-02 19:12:54 +10:00
rustc_next_trait_solver Don't require next-solver ProbeRef to be Copy 2025-09-04 02:09:59 +03:00
rustc_parse Make LetChainsPolicy public for rustfmt usage 2025-09-06 18:01:31 +02:00
rustc_parse_format Revert introduction of [workspace.dependencies]. 2025-09-02 19:12:54 +10:00
rustc_passes Rollup merge of #145827 - estebank:issue-51976, r=jackh726 2025-09-04 10:01:54 +10:00
rustc_pattern_analysis Revert introduction of [workspace.dependencies]. 2025-09-02 19:12:54 +10:00
rustc_privacy Revert introduction of [workspace.dependencies]. 2025-09-02 19:12:54 +10:00
rustc_proc_macro Revert introduction of [workspace.dependencies]. 2025-09-02 19:12:54 +10:00
rustc_public Rollup merge of #146102 - fmease:rm-dead-eff-code-iii, r=fee1-dead 2025-09-02 17:08:58 +02:00
rustc_public_bridge Remove useless lifetime parameter. 2025-07-23 23:54:37 +00:00
rustc_query_impl DynamicConfig: use canonical clone impl 2025-09-05 12:31:56 +00:00
rustc_query_system Rollup merge of #146112 - scrabsha:push-utkysktvulto, r=WaffleLapkin 2025-09-04 10:01:59 +10:00
rustc_resolve Rollup merge of #146254 - yotamofek:pr/itertools-all-equal-value, r=cjgillot 2025-09-07 08:18:59 +02:00
rustc_sanitizers Revert introduction of [workspace.dependencies]. 2025-09-02 19:12:54 +10:00
rustc_serialize Revert introduction of [workspace.dependencies]. 2025-09-02 19:12:54 +10:00
rustc_session Auto merge of #138736 - azhogin:azhogin/sanitizers-target-modificators, r=rcvalle 2025-09-04 22:51:33 +00:00
rustc_span Revert "Add LSX accelerated implementation for source file analysis" 2025-09-07 11:27:20 +08:00
rustc_symbol_mangling Rollup merge of #138944 - madsmtm:apple_os_version_check, r=tgross35 2025-09-05 22:47:17 +02:00
rustc_target Rollup merge of #145709 - heiher:issue-145692-1, r=jackh726 2025-09-05 01:53:20 -04:00
rustc_thread_pool Revert introduction of [workspace.dependencies]. 2025-09-02 19:12:54 +10:00
rustc_trait_selection Rollup merge of #144801 - estebank:issue-144734, r=spastorino 2025-09-06 13:03:15 +02:00
rustc_traits Revert introduction of [workspace.dependencies]. 2025-09-02 19:12:54 +10:00
rustc_transmute Revert introduction of [workspace.dependencies]. 2025-09-02 19:12:54 +10:00
rustc_ty_utils Revert introduction of [workspace.dependencies]. 2025-09-02 19:12:54 +10:00
rustc_type_ir Don't require next-solver ProbeRef to be Copy 2025-09-04 02:09:59 +03:00
rustc_type_ir_macros Revert introduction of [workspace.dependencies]. 2025-09-02 19:12:54 +10:00