Skip to content
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

Bump master bootstrap compiler #105741

Merged
merged 8 commits into from
Dec 29, 2022
Merged

Conversation

pietroalbini
Copy link
Member

This PR bumps the bootstrap compiler to the beta created earlier this week, cherry-picks the stabilization version number updates, and updates the cfg(bootstrap)s.

r? @Mark-Simulacrum

@pietroalbini pietroalbini marked this pull request as ready for review December 15, 2022 08:53
@rustbot
Copy link
Collaborator

rustbot commented Dec 15, 2022

Hey! It looks like you've submitted a new PR for the library teams!

If this PR contains changes to any rust-lang/rust public library APIs then please comment with @rustbot label +T-libs-api -T-libs to tag it appropriately. If this PR contains changes to any unstable APIs please edit the PR description to add a link to the relevant API Change Proposal or create one if you haven't already. If you're unsure where your change falls no worries, just leave it as is and the reviewer will take a look and make a decision to forward on if necessary.

Examples of T-libs-api changes:

  • Stabilizing library features
  • Introducing insta-stable changes such as new implementations of existing stable traits on existing stable types
  • Introducing new or changing existing unstable library APIs (excluding permanently unstable features / features without a tracking issue)
  • Changing public documentation in ways that create new stability guarantees
  • Changing observable runtime behavior of library APIs

@rustbot rustbot added T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) 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. T-libs Relevant to the library team, which will review and decide on the PR/issue. T-release Relevant to the release subteam, which will review and decide on the PR/issue. labels Dec 15, 2022
@@ -62,7 +62,7 @@ unsafe impl Sync for ResumeTy {}
/// better error messages (`impl Future` rather than `GenFuture<[closure.....]>`).
// This is `const` to avoid extra errors after we recover from `const async fn`
// FIXME(swatinem): This fn can be removed when bumping the bootstrap compiler
Copy link
Member

Choose a reason for hiding this comment

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

@Swatinem can the entire function be removed now?

Copy link
Member Author

Choose a reason for hiding this comment

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

Removed the unknown lang items for now, IMO it's fine to merge this if it builds and cleanup the functions (if needed) later.

Copy link
Contributor

Choose a reason for hiding this comment

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

Yes, the idea was that this whole function can be removed now, as it is now unused.

Copy link
Member

Choose a reason for hiding this comment

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

Happy to see a separate PR with more expansive cleanup, but I think minimal work as part of this PR is best.

@Mark-Simulacrum
Copy link
Member

r=me modulo CI

@rust-log-analyzer

This comment has been minimized.

@pietroalbini
Copy link
Member Author

@bors r=Mark-Simulacrum p=1

@bors
Copy link
Contributor

bors commented Dec 16, 2022

📌 Commit 8c30ada576d7ef079c666e6ff7f07b492f8359a3 has been approved by Mark-Simulacrum

It is now in the queue for this repository.

@bors bors 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 Dec 16, 2022
@bors
Copy link
Contributor

bors commented Dec 16, 2022

⌛ Testing commit 8c30ada576d7ef079c666e6ff7f07b492f8359a3 with merge a3fd12238cca733fe3e05880c2d13ab942af30bf...

@bors
Copy link
Contributor

bors commented Dec 16, 2022

💔 Test failed - checks-actions

@bors bors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Dec 16, 2022
@pietroalbini
Copy link
Member Author

@bors r=Mark-Simulacrum

@bors
Copy link
Contributor

bors commented Dec 16, 2022

📌 Commit 0191c5e13dc865e270741be2c942e58f75ebfbfb has been approved by Mark-Simulacrum

It is now in the queue for this repository.

@bors bors 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 Dec 16, 2022
@bors
Copy link
Contributor

bors commented Dec 16, 2022

⌛ Testing commit 0191c5e13dc865e270741be2c942e58f75ebfbfb with merge 9cc6ef7298ac57aa15ddfd8c444a24f395fd691a...

@bors
Copy link
Contributor

bors commented Dec 16, 2022

💔 Test failed - checks-actions

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

bors commented Dec 28, 2022

⌛ Testing commit fbe0450 with merge 0354138d267a6b4e3191a8b91bbd5e67df1455f5...

@bors
Copy link
Contributor

bors commented Dec 28, 2022

💔 Test failed - checks-actions

@bors bors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Dec 28, 2022
@lqd
Copy link
Member

lqd commented Dec 28, 2022

Apparently #105800 is still not enough to make rust.lto = thin work at stage0. Maybe we can take care of this later and not remove this cfg(bootstrap) for now ?

@rust-log-analyzer

This comment has been minimized.

@lukas-code
Copy link
Member

lukas-code commented Dec 28, 2022

Stage0 LTO seems to be fixed with this patch. I have no idea if that makes sense though, and it might be better to just disable stage0 LTO, because it takes forever for little benefit.

diff --git a/src/bootstrap/compile.rs b/src/bootstrap/compile.rs
index ae5dfdea19f..c8aa8c99163 100644
--- a/src/bootstrap/compile.rs
+++ b/src/bootstrap/compile.rs
@@ -362,12 +362,7 @@ pub fn std_cargo(builder: &Builder<'_>, target: TargetSelection, stage: u32, car
     // built with bitcode so that the produced rlibs can be used for both LTO
     // builds (which use bitcode) and non-LTO builds (which use object code).
     // So we override the override here!
-    //
-    // But we don't bother for the stage 0 compiler because it's never used
-    // with LTO.
-    if stage >= 1 {
-        cargo.rustflag("-Cembed-bitcode=yes");
-    }
+    cargo.rustflag("-Cembed-bitcode=yes");
 
     // By default, rustc does not include unwind tables unless they are required
     // for a particular target. They are not required by RISC-V targets, but

@Mark-Simulacrum
Copy link
Member

Restored the gate on stage 0, but also dropped an explicit cfg(bootstrap) in the comment. I'm not sure we actually want cfg(bootstrap) there -- doing LTO in stage 0 doesn't feel very helpful.

@bors r+ rollup=never

@bors
Copy link
Contributor

bors commented Dec 28, 2022

📌 Commit cc4e434 has been approved by Mark-Simulacrum

It is now in the queue for this repository.

@bors bors 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 Dec 28, 2022
@bors
Copy link
Contributor

bors commented Dec 29, 2022

⌛ Testing commit cc4e434 with merge b15ca66...

@bors
Copy link
Contributor

bors commented Dec 29, 2022

☀️ Test successful - checks-actions
Approved by: Mark-Simulacrum
Pushing b15ca66 to master...

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (b15ca66): comparison URL.

Overall result: ❌ regressions - ACTION NEEDED

Next Steps: If you can justify the regressions found in this perf run, please indicate this with @rustbot label: +perf-regression-triaged along with sufficient written justification. If you cannot justify the regressions please open an issue or create a new PR that fixes the regressions, add a comment linking to the newly created issue or PR, and then add the perf-regression-triaged label to this PR.

@rustbot label: +perf-regression
cc @rust-lang/wg-compiler-performance

Instruction count

This is a highly reliable metric that was used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
2.7% [1.3%, 4.2%] 2
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) - - 0

Max RSS (memory usage)

Results

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
2.3% [2.3%, 2.3%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-2.6% [-2.6%, -2.6%] 1
All ❌✅ (primary) - - 0

Cycles

This benchmark run did not return any relevant results for this metric.

@rustbot rustbot added the perf-regression Performance regression. label Dec 29, 2022
@Mark-Simulacrum
Copy link
Member

These benchmarks are historically prone to noise and this change is required regardless.

@Mark-Simulacrum Mark-Simulacrum added the perf-regression-triaged The performance regression has been triaged. label Dec 29, 2022
@lqd
Copy link
Member

lqd commented Dec 29, 2022

both benchmarks have even already reverted back to their steady-state by now

image

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
merged-by-bors This PR was explicitly merged by bors. perf-regression Performance regression. perf-regression-triaged The performance regression has been triaged. S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-release Relevant to the release subteam, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.