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

Rollup of 7 pull requests #114116

Merged
merged 17 commits into from
Jul 27, 2023
Merged

Rollup of 7 pull requests #114116

merged 17 commits into from
Jul 27, 2023

Conversation

matthiaskrgr
Copy link
Member

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

nnethercote and others added 17 commits July 20, 2023 09:58
In `base.rs`, tweak how the CGU size interleaving works. Since rust-lang#113777,
it's much more common to have multiple CGUs with identical sizes. With
the existing code these same-sized items ended up in the
opposite-to-desired order due to the stable sorting. The code now starts
with a reverse sort (like is done in `partitioning.rs`) which gives the
behaviour we want. This doesn't matter much for perf, but makes profiles
in `samply` look more like what we expect.

In `partitioning.rs`, we can use `sort_by_key` instead of
`sort_by_cached_key` because `CGU::size_estimate()` is cheap. (There is
an identical CGU sort earlier in that function that already uses
`sort_by_key`.)
It's currently stored twice: once in `Parser`, once in the `TokenStream`
within `Parser`. We only need the latter.
It doesn't really matter what the `desugar_doc_comments` argument is
here, because in practice we never look ahead through doc comments.
Changing it to `cursor.desugar_doc_comments` will allow some follow-up
simplifications.
…}next`.

Because it's now always `self.desugar_doc_comments`.
Useful information that took me some time to discern.
…nkfelix

Tweak CGU sorting in a couple of places.

In `base.rs`, tweak how the CGU size interleaving works. Since rust-lang#113777, it's much more common to have multiple CGUs with identical sizes. With the existing code these same-sized items ended up in the opposite-to-desired order due to the stable sorting. The code now starts with a reverse sort (like is done in `partitioning.rs`) which gives the behaviour we want. This doesn't matter much for perf, but makes profiles in `samply` look more like what we expect.

In `partitioning.rs`, we can use `sort_by_key` instead of `sort_by_cached_key` because `CGU::size_estimate()` is cheap. (There is an identical CGU sort earlier in that function that already uses `sort_by_key`.)

r? `@pnkfelix`
CI: fix CMake installation for 32/64 bit `dist` Linux

Should hopefully fix LLVM 17 build (rust-lang#114048 (comment)).
…esleywiser

inline format!() args from rustc_codegen_llvm to the end (4)

r? `@WaffleLapkin`
…leanups, r=petrochenkov

`desugar_doc_comments` cleanups

r? `@petrochenkov`
…spastorino

add stable NullaryOp

r? `@spastorino`
replace atty crate with std's IsTerminal
…ck, r=pnkfelix

Dont pass `-Zwrite-long-types-to-disk=no` for `ui-fulldeps --stage=1`

Due to this hack:

https://github.com/rust-lang/rust/blob/601a34de8c10458b72a7781eb0b44a7981e4a2b1/src/bootstrap/test.rs#L1473-L1484

We use the stage 0 compiler to build the stage 1 fulldeps tests. That means that we don't have `-Zwrite-long-types-to-disk=no` which was added in rust-lang#113893.

Add a temporary hack to fix this (https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/Some.20tests.20failing.20with.20--stage.201) until the next beta bump.
@rustbot rustbot added A-testsuite Area: The testsuite used to check the correctness of rustc S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. 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-infra Relevant to the infrastructure team, which will review and decide on the PR/issue. rollup A PR which is a rollup labels Jul 27, 2023
@matthiaskrgr
Copy link
Member Author

@bors r+ rollup=never p=7

@bors
Copy link
Contributor

bors commented Jul 27, 2023

📌 Commit 8cae343 has been approved by matthiaskrgr

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 Jul 27, 2023
@bors
Copy link
Contributor

bors commented Jul 27, 2023

⌛ Testing commit 8cae343 with merge 3e11b22...

@bors
Copy link
Contributor

bors commented Jul 27, 2023

☀️ Test successful - checks-actions
Approved by: matthiaskrgr
Pushing 3e11b22 to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Jul 27, 2023
@bors bors merged commit 3e11b22 into rust-lang:master Jul 27, 2023
11 checks passed
@rustbot rustbot added this to the 1.73.0 milestone Jul 27, 2023
@rust-timer
Copy link
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#113872 Tweak CGU sorting in a couple of places. 61baeb5239ea326bc57335de6c9c1f618985c300 (link)
#114053 CI: fix CMake installation for 32/64 bit dist Linux 98a2766293e7a71f8e0de1ca83a8271598bc66a3 (link)
#114075 inline format!() args from rustc_codegen_llvm to the end (4) 5c6710e95f866f50e96958aaa6213930d022f2de (link)
#114081 desugar_doc_comments cleanups 0885818ab718a59a6dcd70b7782823b77fb516d8 (link)
#114082 add stable NullaryOp 9708b1ba27f5bbf189c46ece63f833ccbd8e54e1 (link)
#114098 replace atty crate with std's IsTerminal 50e9adb2817654a56cb5500fa381e3f0f810b7ff (link)
#114102 Dont pass -Zwrite-long-types-to-disk=no for `ui-fulldeps … 70f1e4658cb56e79e840b897b8cfe78ff5a39de7 (link)

previous master: d150dbb067

In the case of a perf regression, run the following command for each PR you suspect might be the cause: @rust-timer build $SHA

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (3e11b22): comparison URL.

Overall result: ✅ improvements - no action needed

@rustbot label: -perf-regression

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.0% [2.0%, 2.0%] 1
Improvements ✅
(primary)
-0.3% [-0.5%, -0.2%] 28
Improvements ✅
(secondary)
-0.4% [-0.5%, -0.3%] 10
All ❌✅ (primary) -0.3% [-0.5%, -0.2%] 28

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)
3.2% [1.7%, 5.5%] 3
Regressions ❌
(secondary)
2.9% [2.3%, 3.5%] 3
Improvements ✅
(primary)
-9.9% [-9.9%, -9.9%] 1
Improvements ✅
(secondary)
-3.9% [-3.9%, -3.9%] 1
All ❌✅ (primary) -0.0% [-9.9%, 5.5%] 4

Cycles

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

Binary size

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

Bootstrap: 653.837s -> 652.287s (-0.24%)

@matthiaskrgr matthiaskrgr deleted the rollup-dtdfk76 branch March 16, 2024 18:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-testsuite Area: The testsuite used to check the correctness of rustc merged-by-bors This PR was explicitly merged by bors. rollup A PR which is a rollup 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-infra Relevant to the infrastructure team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants