Skip to content

Split coroutine layout computation to its own file - #157294

Merged
rust-bors[bot] merged 5 commits into
rust-lang:mainfrom
cjgillot:split-coroutine-layout
Jun 3, 2026
Merged

Split coroutine layout computation to its own file#157294
rust-bors[bot] merged 5 commits into
rust-lang:mainfrom
cjgillot:split-coroutine-layout

Conversation

@cjgillot

Copy link
Copy Markdown
Contributor

coroutine.rs is getting too large, and mixes MIR analyses for trait solving and runtime transformations.

We already have a vector of `CoroutineSavedTy`, no need to have a separate
one just for debuginfo.
Avoid complicated loops just for an optimization.
`coroutine.rs` was getting too large, and mixing MIR analyses for trait
solving and runtime transformations.
@rustbot

Copy link
Copy Markdown
Collaborator

Some changes occurred to MIR optimizations

cc @rust-lang/wg-mir-opt

@rustbotrustbot added A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. 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 Jun 2, 2026
@rustbot

Copy link
Copy Markdown
Collaborator

r? @davidtwco

rustbot has assigned @davidtwco.
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

Why was this reviewer chosen?

The reviewer was selected based on:

  • Owners of files modified in this PR: compiler, mir, mir-opt
  • compiler, mir, mir-opt expanded to 73 candidates
  • Random selection from 17 candidates

@rust-log-analyzer

This comment has been minimized.

@oli-obkoli-obk left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@rust-bors

rust-borsBot commented Jun 3, 2026

Copy link
Copy Markdown
Contributor

📌 Commit ac63a3e has been approved by oli-obk

It is now in the queue for this repository.

🌲 The tree is currently closed for pull requests below priority 5. This pull request will be tested once the tree is reopened.

@rust-borsrust-borsBot added the S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. label Jun 3, 2026
@rust-borsrust-borsBot removed the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Jun 3, 2026
jhpratt added a commit to jhpratt/rust that referenced this pull request Jun 3, 2026
…=oli-obk
Split coroutine layout computation to its own file
`coroutine.rs` is getting too large, and mixes MIR analyses for trait solving and runtime transformations.
@jhprattjhpratt mentioned this pull request Jun 3, 2026
rust-borsBot pushed a commit that referenced this pull request Jun 3, 2026
Rollup of 7 pull requests
Successful merges:
- #155763 (Promotes 5 Thumb-mode bare-metal Arm targets to Tier 2)
- #156928 (Remove -Zemscripten-wasm-eh)
- #157236 (Reorganize `tests/ui/issues` [3/N])
- #157294 (Split coroutine layout computation to its own file)
- #157328 (windows: Elide division-by-zero checks in Instant::now())
- #157331 (Rewrite target checking for `#[link]`)
- #157336 (Enable `clippy::mem_replace_with_default`)
JonathanBrouwer added a commit to JonathanBrouwer/rust that referenced this pull request Jun 3, 2026
…=oli-obk
Split coroutine layout computation to its own file
`coroutine.rs` is getting too large, and mixes MIR analyses for trait solving and runtime transformations.
JonathanBrouwer added a commit to JonathanBrouwer/rust that referenced this pull request Jun 3, 2026
…=oli-obk
Split coroutine layout computation to its own file
`coroutine.rs` is getting too large, and mixes MIR analyses for trait solving and runtime transformations.
This was referenced Jun 3, 2026
rust-borsBot pushed a commit that referenced this pull request Jun 3, 2026
…uwer
Rollup of 15 pull requests
Successful merges:
- #155763 (Promotes 5 Thumb-mode bare-metal Arm targets to Tier 2)
- #156953 (delegation: emit error when there is an infer lifetime in user-specified args)
- #157248 (delegation: move statements out of the first arg)
- #157263 (rustc_codegen_ssa: Refactor `ArchiveEntry` to include entry kind)
- #157311 (Use weak linkage for EII defaults)
- #156089 (Fix unused_parens for pinned reference patterns)
- #156928 (Remove -Zemscripten-wasm-eh)
- #157236 (Reorganize `tests/ui/issues` [3/N])
- #157287 (Const generics: remove AliasTerm::kind(), and small fixes)
- #157294 (Split coroutine layout computation to its own file)
- #157328 (windows: Elide division-by-zero checks in Instant::now())
- #157331 (Rewrite target checking for `#[link]`)
- #157336 (Enable `clippy::mem_replace_with_default`)
- #157362 (Fix trivial wf module argument/doc comment name mismatches)
- #157364 (Rewrite target checking of `rustc_dummy`)
Failed merges:
- #157332 (Rewrite target checking for `#[sanitize]`)
@rust-bors
rust-borsBot merged commit cf688f2 into rust-lang:mainJun 3, 2026
12 checks passed
@rustbotrustbot added this to the 1.98.0 milestone Jun 3, 2026
rust-timer added a commit that referenced this pull request Jun 3, 2026
Rollup merge of #157294 - cjgillot:split-coroutine-layout, r=oli-obk
Split coroutine layout computation to its own file
`coroutine.rs` is getting too large, and mixes MIR analyses for trait solving and runtime transformations.
@cjgillot
cjgillot deleted the split-coroutine-layout branch June 3, 2026 16:46
flip1995 pushed a commit to flip1995/rust-clippy that referenced this pull request Aug 17, 2026
…uwer
Rollup of 15 pull requests
Successful merges:
- rust-lang/rust#155763 (Promotes 5 Thumb-mode bare-metal Arm targets to Tier 2)
- rust-lang/rust#156953 (delegation: emit error when there is an infer lifetime in user-specified args)
- rust-lang/rust#157248 (delegation: move statements out of the first arg)
- rust-lang/rust#157263 (rustc_codegen_ssa: Refactor `ArchiveEntry` to include entry kind)
- rust-lang/rust#157311 (Use weak linkage for EII defaults)
- rust-lang/rust#156089 (Fix unused_parens for pinned reference patterns)
- rust-lang/rust#156928 (Remove -Zemscripten-wasm-eh)
- rust-lang/rust#157236 (Reorganize `tests/ui/issues` [3/N])
- rust-lang/rust#157287 (Const generics: remove AliasTerm::kind(), and small fixes)
- rust-lang/rust#157294 (Split coroutine layout computation to its own file)
- rust-lang/rust#157328 (windows: Elide division-by-zero checks in Instant::now())
- rust-lang/rust#157331 (Rewrite target checking for `#[link]`)
- rust-lang/rust#157336 (Enable `clippy::mem_replace_with_default`)
- rust-lang/rust#157362 (Fix trivial wf module argument/doc comment name mismatches)
- rust-lang/rust#157364 (Rewrite target checking of `rustc_dummy`)
Failed merges:
- rust-lang/rust#157332 (Rewrite target checking for `#[sanitize]`)
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-LLVMArea: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues.S-waiting-on-borsStatus: Waiting on bors to run and complete tests. Bors will change the label on completion.T-compilerRelevant 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

@cjgillot@rustbot@rust-log-analyzer@oli-obk@davidtwco