Skip to content

Conversation

@Zalathar
Copy link
Member

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.

@rustbot
Copy link
Collaborator

rustbot commented Jan 10, 2026

Some changes occurred to MIR optimizations

cc @rust-lang/wg-mir-opt

These commits modify the Cargo.lock file. Unintentional changes to Cargo.lock can be introduced when switching branches and rebasing PRs.

If this was unintentional then you should revert the changes before this PR is merged.
Otherwise, you can ignore this comment.

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Jan 10, 2026
@rustbot
Copy link
Collaborator

rustbot commented Jan 10, 2026

r? @nnethercote

rustbot has assigned @nnethercote.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

@tiif
Copy link
Member

tiif commented Jan 12, 2026

looks good! 👍

r? me
@bors r+ rollup

@rust-bors rust-bors bot added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jan 12, 2026
@rust-bors
Copy link
Contributor

rust-bors bot commented Jan 12, 2026

📌 Commit 539e855 has been approved by tiif

It is now in the queue for this repository.

rust-bors bot pushed a commit that referenced this pull request Jan 12, 2026
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
rust-bors bot pushed a commit that referenced this pull request Jan 12, 2026
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
@rust-bors rust-bors bot merged commit 12b1f3f into rust-lang:main Jan 12, 2026
11 checks passed
@rustbot rustbot added this to the 1.94.0 milestone Jan 12, 2026
@Zalathar Zalathar deleted the hook-build-mir branch January 12, 2026 20:08
rust-timer added a commit that referenced this pull request Jan 12, 2026
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.
github-actions bot pushed a commit to rust-lang/rust-analyzer that referenced this pull request Jan 15, 2026
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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants