-
-
Notifications
You must be signed in to change notification settings - Fork 14.4k
Use a hook to decouple rustc_mir_transform from rustc_mir_build
#150920
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
Some changes occurred to MIR optimizations cc @rust-lang/wg-mir-opt These commits modify the If this was unintentional then you should revert the changes before this PR is merged. |
|
r? @nnethercote rustbot has assigned @nnethercote. Use |
|
looks good! 👍 r? me |
Rollup of 8 pull requests Successful merges: - #150861 (Folding/`ReErased` cleanups) - #150869 (Emit error instead of delayed bug when meeting mismatch type for const tuple) - #150920 (Use a hook to decouple `rustc_mir_transform` from `rustc_mir_build`) - #150941 (rustc_parse_format: improve diagnostics for unsupported python numeric grouping) - #150972 (Rename EII attributes slightly (being consistent in naming things foreign items, not extern items)) - #150980 (Use updated indexes to build reverse map for delegation generics) - #150986 (std: Fix size returned by UEFI tcp4 read operations) - #150996 (Remove `S-waiting-on-bors` after a PR is merged) r? @ghost
Rollup of 8 pull requests Successful merges: - #150861 (Folding/`ReErased` cleanups) - #150869 (Emit error instead of delayed bug when meeting mismatch type for const tuple) - #150920 (Use a hook to decouple `rustc_mir_transform` from `rustc_mir_build`) - #150941 (rustc_parse_format: improve diagnostics for unsupported python numeric grouping) - #150972 (Rename EII attributes slightly (being consistent in naming things foreign items, not extern items)) - #150980 (Use updated indexes to build reverse map for delegation generics) - #150986 (std: Fix size returned by UEFI tcp4 read operations) - #150996 (Remove `S-waiting-on-bors` after a PR is merged) r? @ghost
Rollup merge of #150920 - hook-build-mir, r=tiif Use a hook to decouple `rustc_mir_transform` from `rustc_mir_build` I noticed that the only point of direct contact between the `rustc_mir_transform` and `rustc_mir_build` crates is a single `build_mir` function, which could easily be changed to a hook function instead. By making that function a hook, we can make `rustc_mir_transform` no longer have a dependency on `rustc_mir_build`, allowing them to be built/rebuilt independently. That should hopefully allow slightly more parallelism in clean builds and incremental rebuilds of the compiler.
Rollup of 8 pull requests Successful merges: - rust-lang/rust#150861 (Folding/`ReErased` cleanups) - rust-lang/rust#150869 (Emit error instead of delayed bug when meeting mismatch type for const tuple) - rust-lang/rust#150920 (Use a hook to decouple `rustc_mir_transform` from `rustc_mir_build`) - rust-lang/rust#150941 (rustc_parse_format: improve diagnostics for unsupported python numeric grouping) - rust-lang/rust#150972 (Rename EII attributes slightly (being consistent in naming things foreign items, not extern items)) - rust-lang/rust#150980 (Use updated indexes to build reverse map for delegation generics) - rust-lang/rust#150986 (std: Fix size returned by UEFI tcp4 read operations) - rust-lang/rust#150996 (Remove `S-waiting-on-bors` after a PR is merged) r? @ghost
I noticed that the only point of direct contact between the
rustc_mir_transformandrustc_mir_buildcrates is a singlebuild_mirfunction, which could easily be changed to a hook function instead.By making that function a hook, we can make
rustc_mir_transformno longer have a dependency onrustc_mir_build, allowing them to be built/rebuilt independently. That should hopefully allow slightly more parallelism in clean builds and incremental rebuilds of the compiler.