Skip to content

Conversation

matthiaskrgr
Copy link
Member

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

erikdesjardins and others added 20 commits March 15, 2024 15:53
Avoiding the naming didn't have any meaningful perf impact.
…RalfJung

Avoid various uses of `Option<Span>` in favor of using `DUMMY_SP` in the few cases that used `None`

based on rust-lang#122471

`DUMMY_SP` is already the sentinel value we have that says "no span". We don't need to wrap these `Span`s in a separate `Option`.
Remove fixme about LLVM basic block naming

~This may be a small perf win.~

Originally, this PR implemented the fixme, but it didn't have any measurable perf improvement.

r? ``@ghost``
…haelwoerister

less useless filter calls in imported_source_file

This reduces calls to `filter` greatly, giving 0.3% instructions win on some tests.
add_retag: ensure box-to-raw-ptr casts are preserved for Miri

In rust-lang#122233 I added `retag_box_to_raw` not realizing that we can already do `addr_of_mut!(*bx)` to turn a box into a raw pointer without an intermediate reference. We just need to ensure this information is preserved past the ElaborateBoxDerefs pass.

r? ``@oli-obk``
Update the minimum external LLVM to 17

With this change, we'll have stable support for LLVM 17 and 18.
For reference, the previous increase to LLVM 16 was rust-lang#117947.
…errors

Do not eat nested expressions' results in `MayContainYieldPoint` format args visitor

rust-lang#121563 unintentionally changed the `MayContainYieldPoint` format args visitor behavior, now missing yield points in nested expressions, as seen in rust-lang#122674.

The walk can find a yield point in an expression but it was ignored.

r? ``@petrochenkov`` as the reviewer of rust-lang#121563
cc ``@Jarcho`` as the author

Fixes rust-lang#122674.
We're in the 1.77 release week. rust-lang#121563 will land on 1.78 but beta is still 1.77.9: this PR will likely need to be backported soon after beta is cut.
add missing test: expected paren or brace in macro
@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. T-libs Relevant to the library team, which will review and decide on the PR/issue. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver) rollup A PR which is a rollup labels Mar 18, 2024
@matthiaskrgr
Copy link
Member Author

@bors r+ rollup=never p=8

@bors
Copy link
Collaborator

bors commented Mar 18, 2024

📌 Commit 9011e67 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 Mar 18, 2024
@bors
Copy link
Collaborator

bors commented Mar 18, 2024

⌛ Testing commit 9011e67 with merge d31b6fb...

@bors
Copy link
Collaborator

bors commented Mar 18, 2024

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

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Mar 18, 2024
@bors bors merged commit d31b6fb into rust-lang:master Mar 18, 2024
@rustbot rustbot added this to the 1.79.0 milestone Mar 18, 2024
@rust-timer
Copy link
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#122480 Avoid various uses of Option<Span> in favor of using `DUM… 7606dff4ad54cd2ed40b65ce6142b26fb0080408 (link)
#122567 Remove fixme about LLVM basic block naming c34ca87c5caa893c1ee4da7f5ccde4bc5f8ac50c (link)
#122588 less useless filter calls in imported_source_file 70a52b09d54b8158308544fdb155586062b93ad3 (link)
#122647 add_retag: ensure box-to-raw-ptr casts are preserved for Mi… 915e7d0711c716fb044f6274d89cc4b819b7423d (link)
#122649 Update the minimum external LLVM to 17 c8ceff84e6e307159869e554a357ac05b56d8d26 (link)
#122680 Do not eat nested expressions' results in `MayContainYieldP… 8ee3b7442e0a54f96b16c5b437219824c509e715 (link)
#122683 add missing test: expected paren or brace in macro aade5563fecb47bc1a9da7b7ca977d482840d96a (link)
#122689 Add missing try_visit calls in visitors. 72ebd202e6f3f7866191c43c7cb33acd6df563a1 (link)

previous master: 3cdcdaf31b

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-log-analyzer
Copy link
Collaborator

A job failed! Check out the build log: (web) (plain)

Click to see the possible cause of the failure (guessed by this bot)
##[endgroup]
Starting download for Cargo-lock
Directory structure has been setup for the artifact
Total number of files that will be downloaded: 1
Artifact Cargo-lock was downloaded to /home/runner/work/rust/rust
##[group]Run actions/download-artifact@v3
with:
  name: cargo-updates
---
##[endgroup]
Starting download for cargo-updates
Directory structure has been setup for the artifact
Total number of files that will be downloaded: 1
Skipping download validation.
Artifact cargo-updates was downloaded to /home/runner/work/rust/rust
##[group]Run echo "${COMMIT_MESSAGE}" > commit.txt
echo "${COMMIT_MESSAGE}" > commit.txt
echo "${COMMIT_MESSAGE}" > commit.txt
cat cargo_update.log >> commit.txt

echo "${PR_MESSAGE}" > body.md
echo '```txt' >> body.md
cat cargo_update.log >> body.md
echo '```' >> body.md
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
env:
  RUSTC_BOOTSTRAP: 1
  PR_TITLE: Weekly `cargo update`
  PR_MESSAGE: Automation to keep dependencies in `Cargo.lock` current.
following is the output from `cargo update`:
  COMMIT_MESSAGE: cargo update 
##[endgroup]
##[group]Run git config user.name github-actions
git config user.name github-actions
git config user.email [email protected]
git switch --force-create cargo_update
git add ./Cargo.lock
git commit --no-verify --file=commit.txt
---
##[endgroup]
Switched to a new branch 'cargo_update'
On branch cargo_update
Untracked files:
  (use "git add <file>..." to include in what will be committed)
 body.md
 commit.txt


nothing added to commit but untracked files present (use "git add" to track)
##[error]Process completed with exit code 1.

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (d31b6fb): comparison URL.

Overall result: ❌✅ regressions and improvements - 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% [0.2%, 5.3%] 2
Improvements ✅
(primary)
-0.2% [-0.3%, -0.2%] 7
Improvements ✅
(secondary)
-0.4% [-0.5%, -0.3%] 9
All ❌✅ (primary) -0.2% [-0.3%, -0.2%] 7

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)
- - 0
Improvements ✅
(primary)
-4.7% [-10.3%, -0.2%] 6
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) -4.7% [-10.3%, -0.2%] 6

Cycles

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)
6.8% [6.8%, 6.8%] 1
Improvements ✅
(primary)
-1.5% [-1.5%, -1.5%] 1
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) -1.5% [-1.5%, -1.5%] 1

Binary size

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.2% [0.1%, 0.4%] 6
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.3% [-0.8%, -0.0%] 45
Improvements ✅
(secondary)
-1.7% [-2.0%, -0.9%] 4
All ❌✅ (primary) -0.3% [-0.8%, 0.4%] 51

Bootstrap: 668.466s -> 667.419s (-0.16%)
Artifact size: 312.77 MiB -> 312.79 MiB (0.00%)

@rustbot rustbot added the perf-regression Performance regression. label Mar 18, 2024
@Kobzol
Copy link
Member

Kobzol commented Mar 19, 2024

The big regression on deep-vector looks like noise, it was partially reverted in the next commit.

@rustbot label: +perf-regression-triaged

@rustbot rustbot added the perf-regression-triaged The performance regression has been triaged. label Mar 19, 2024
@matthiaskrgr matthiaskrgr deleted the rollup-43fggl0 branch September 1, 2024 17:35
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. perf-regression Performance regression. perf-regression-triaged The performance regression has been triaged. 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. T-libs Relevant to the library team, which will review and decide on the PR/issue. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver)
Projects
None yet
Development

Successfully merging this pull request may close these issues.