Skip to content

Conversation

@jhpratt
Copy link
Member

@jhpratt jhpratt commented Feb 3, 2026

Successful merges:

Failed merges:

r? @ghost

Create a similar rollup

jonathanpallant and others added 30 commits January 27, 2026 14:06
This PR adds checks to the `aarch64v8r-unknown-none` target to verify that if the Cortex-R82 CPU is enabled (with `-Ctarget-cpu=cortex-r82`), that the appropriate additional AArch64 features are enabled.

This is important because Cortex-R82 is (currently) the only processor implementing Armv8-R AArch64 and it implements a number of Armv8 features over and above the baseline for the architecture. Many of these features are of interest to safety-critical firmware development (for example `FEAT_RASv1p1`, which adds support for the *RAS Common Fault Injection Model Extension*) and so we anticipate them being enabled when building such firmware.

We are offering these tests upstream in-lieu of a full Cortex-R82 specific target because we understand the Project has a preference for architecture-baseline targets over CPU-specific targets.

This PR builds on and requires rust-lang#150863, but we've pulled them out as a separate PR.

This PR was developed by Ferrous Systems on behalf of Arm. Arm is the owner of these changes.
This updates the rust-version file to 44e34e1.
It is awkward to continue a sentence after a code block
The term of "discard" is misleading. An error is not discarded but
converted to an `Option::None`.
external-rustc-drivers.md: some style improvements
Within a binding pattern match guard, only real reads of a bound local
impact its liveness analysis - not the fake read that is injected.
Co-authored-by: Nikita Popov <[email protected]>
@rustbot rustbot added A-attributes Area: Attributes (`#[…]`, `#![…]`) A-query-system Area: The rustc query system (https://rustc-dev-guide.rust-lang.org/query.html) A-rustc-dev-guide Area: rustc-dev-guide S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-clippy Relevant to the Clippy team. 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. labels Feb 3, 2026
@jhpratt
Copy link
Member Author

jhpratt commented Feb 3, 2026

@bors r+ rollup=never p=5

@rust-bors
Copy link
Contributor

rust-bors bot commented Feb 3, 2026

📌 Commit 3b8a503 has been approved by jhpratt

It is now in the queue for this repository.

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

@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 Feb 3, 2026
@rust-bors

This comment has been minimized.

@rust-bors rust-bors bot added merged-by-bors This PR was explicitly merged by bors. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Feb 3, 2026
@rust-bors
Copy link
Contributor

rust-bors bot commented Feb 3, 2026

☀️ Test successful - CI
Approved by: jhpratt
Duration: 3h 12m 46s
Pushing 46c86ae to main...

@rust-bors rust-bors bot merged commit 46c86ae into rust-lang:main Feb 3, 2026
12 checks passed
@rustbot rustbot added this to the 1.95.0 milestone Feb 3, 2026
@jhpratt jhpratt deleted the rollup-Kxb6k3Y branch February 3, 2026 07:57
@github-actions
Copy link
Contributor

github-actions bot commented Feb 3, 2026

What is this? This is an experimental post-merge analysis report that shows differences in test outcomes between the merged PR and its parent PR.

Comparing 5ac8ece (parent) -> 46c86ae (this PR)

Test differences

Show 52 test diffs

Stage 1

  • [codegen] tests/codegen-llvm/slp-vectorization-mul3.rs: [missing] -> ignore (ignored when the LLVM version 20.1.2 is older than 22.0.0) (J2)
  • [ui] tests/ui/asm/aarch64v8r.rs#r82: [missing] -> pass (J3)
  • [ui] tests/ui/asm/cortex-r82.rs: [missing] -> pass (J3)
  • [ui] tests/ui/lint/unused/match_with_guard.rs: [missing] -> pass (J3)
  • [codegen] tests/codegen-llvm/slp-vectorization-mul3.rs: [missing] -> ignore (ignored when the LLVM version 21.1.2 is older than 22.0.0) (J9)
  • [codegen] tests/codegen-llvm/slp-vectorization-mul3.rs: [missing] -> ignore (only executed when the architecture is x86_64) (J10)

Stage 2

  • [ui] tests/ui/asm/aarch64v8r.rs#r82: [missing] -> ignore (gcc backend is marked as ignore) (J0)
  • [ui] tests/ui/asm/cortex-r82.rs: [missing] -> ignore (gcc backend is marked as ignore) (J0)
  • [ui] tests/ui/asm/aarch64v8r.rs#r82: [missing] -> pass (J1)
  • [ui] tests/ui/asm/cortex-r82.rs: [missing] -> pass (J1)
  • [codegen] tests/codegen-llvm/slp-vectorization-mul3.rs: [missing] -> ignore (only executed when the architecture is x86_64) (J4)
  • [codegen] tests/codegen-llvm/slp-vectorization-mul3.rs: [missing] -> ignore (ignored when the LLVM version 20.1.2 is older than 22.0.0) (J5)
  • [codegen] tests/codegen-llvm/slp-vectorization-mul3.rs: [missing] -> ignore (ignored when the LLVM version 20.1.8 is older than 22.0.0) (J6)
  • [codegen] tests/codegen-llvm/slp-vectorization-mul3.rs: [missing] -> ignore (ignored when the LLVM version 21.1.2 is older than 22.0.0) (J7)
  • [codegen] tests/codegen-llvm/slp-vectorization-mul3.rs: [missing] -> pass (J8)
  • [ui] tests/ui/lint/unused/match_with_guard.rs: [missing] -> pass (J11)

Additionally, 36 doctest diffs were found. These are ignored, as they are noisy.

Job group index

Test dashboard

Run

cargo run --manifest-path src/ci/citool/Cargo.toml -- \
    test-dashboard 46c86aef65a8529b8c989077ade26d17d2b4c95d --output-dir test-dashboard

And then open test-dashboard/index.html in your browser to see an overview of all executed tests.

Job duration changes

  1. dist-apple-various: 3798.5s -> 5374.8s (+41.5%)
  2. dist-x86_64-apple: 7316.1s -> 8512.8s (+16.4%)
  3. dist-ohos-x86_64: 4261.0s -> 4788.5s (+12.4%)
  4. x86_64-gnu-llvm-20: 4147.1s -> 4639.5s (+11.9%)
  5. pr-check-1: 1947.6s -> 1724.8s (-11.4%)
  6. tidy: 157.2s -> 172.8s (+9.9%)
  7. armhf-gnu: 4963.7s -> 5434.5s (+9.5%)
  8. dist-aarch64-apple: 6870.4s -> 6246.5s (-9.1%)
  9. x86_64-gnu-llvm-21-3: 6322.6s -> 6896.5s (+9.1%)
  10. x86_64-gnu-llvm-21-1: 4142.4s -> 4514.0s (+9.0%)
How to interpret the job duration changes?

Job durations can vary a lot, based on the actual runner instance
that executed the job, system noise, invalidated caches, etc. The table above is provided
mostly for t-infra members, for simpler debugging of potential CI slow-downs.

@rust-timer
Copy link
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#151378 Codegen tests for Arm Cortex-R82 f488d070e3f1f9e966b233c898fdec46774e9994 (link)
#151936 Move the fingerprint_style special case into `DepKindVTab… 32791a16f7f1745085925e7c4711e3d8ca8dc73a (link)
#151958 Add codegen test for SLP vectorization ca3a6cf80d28dc858250213c745b3d743f2a8781 (link)
#151974 Update documentation for Result::ok() 9121ebd4b67c0dc5bd95b54a782d0a111e4a3b92 (link)
#151975 Work around rustfmt giving up on a large expression 5626e21a4bf87f0550b1e34c18eafcd5e1f466d4 (link)
#151990 Fix missing unused_variables lint when using a match guard 6e4569597958238cff97d85e1009de1907b1230f (link)
#151995 stabilize ptr_as_ref_unchecked 318fc310fbc9b056814d7e7f309e7b6a7f07178e (link)
#151999 attribute parsing: pass recovery mode to Parser. 63f1b91e2c91b720bcebd93ce4185dc66fe33205 (link)
#152009 Port rustc_preserve_ub_checks to attr parser ba3cc2ef856c332141c80f7221962a300b223c41 (link)
#152018 Move bigint helper tracking issues 5606cfd1fbb2345bdc70ba6dd70175abdfb6d275 (link)
#152022 rustc-dev-guide subtree update 9857c2a6260ebcd48696450676633a8ff7ed36e8 (link)

previous master: 5ac8ecea36

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 (46c86ae): comparison URL.

Overall result: ✅ improvements - no action needed

@rustbot label: -perf-regression

Instruction count

Our most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.

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

Max RSS (memory usage)

Results (primary 0.3%, secondary 2.2%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
1.5% [1.2%, 1.8%] 2
Regressions ❌
(secondary)
2.2% [2.2%, 2.2%] 1
Improvements ✅
(primary)
-2.0% [-2.0%, -2.0%] 1
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.3% [-2.0%, 1.8%] 3

Cycles

Results (secondary 3.6%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
3.6% [2.1%, 5.0%] 2
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) - - 0

Binary size

Results (primary 0.1%, secondary 0.2%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
0.1% [0.0%, 0.3%] 42
Regressions ❌
(secondary)
0.2% [0.0%, 0.3%] 66
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.1% [0.0%, 0.3%] 42

Bootstrap: 474.688s -> 474.728s (0.01%)
Artifact size: 397.75 MiB -> 397.84 MiB (0.02%)

JonathanBrouwer added a commit to JonathanBrouwer/rust that referenced this pull request Feb 3, 2026
Show largest job duration changes in hours and minutes in the post-merge report

This was suggested by... someone, somewhere. But it's a good idea.

See rust-lang#152025 (comment) - now instead of seconds it would show this:

# Job duration changes
1. [dist-apple-various](https://github.com/rust-lang/rust/actions/runs/21617345733#summary-62299011925): 1h 3m -> 1h 29m (+41.5%)
2. [dist-x86_64-apple](https://github.com/rust-lang/rust/actions/runs/21617345733#summary-62299011972): 2h 1m -> 2h 21m (+16.4%)
3. [dist-ohos-x86_64](https://github.com/rust-lang/rust/actions/runs/21617345733#summary-62299011829): 1h 11m -> 1h 19m (+12.4%)
4. [x86_64-gnu-llvm-20](https://github.com/rust-lang/rust/actions/runs/21617345733#summary-62299011909): 1h 9m -> 1h 17m (+11.9%)
5. [pr-check-1](https://github.com/rust-lang/rust/actions/runs/21617345733#summary-62299011862): 32m 27s -> 28m 44s (-11.4%)
6. [tidy](https://github.com/rust-lang/rust/actions/runs/21617345733#summary-62299011845): 2m 37s -> 2m 52s (+9.9%)
7. [armhf-gnu](https://github.com/rust-lang/rust/actions/runs/21617345733#summary-62299011763): 1h 22m -> 1h 30m (+9.5%)
8. [dist-aarch64-apple](https://github.com/rust-lang/rust/actions/runs/21617345733#summary-62299011941): 1h 54m -> 1h 44m (-9.1%)
9. [x86_64-gnu-llvm-21-3](https://github.com/rust-lang/rust/actions/runs/21617345733#summary-62299011924): 1h 45m -> 1h 54m (+9.1%)
10. [x86_64-gnu-llvm-21-1](https://github.com/rust-lang/rust/actions/runs/21617345733#summary-62299011923): 1h 9m -> 1h 15m (+9.0%)
JonathanBrouwer added a commit to JonathanBrouwer/rust that referenced this pull request Feb 3, 2026
Show largest job duration changes in hours and minutes in the post-merge report

This was suggested by... someone, somewhere. But it's a good idea.

See rust-lang#152025 (comment) - now instead of seconds it would show this:

# Job duration changes
1. [dist-apple-various](https://github.com/rust-lang/rust/actions/runs/21617345733#summary-62299011925): 1h 3m -> 1h 29m (+41.5%)
2. [dist-x86_64-apple](https://github.com/rust-lang/rust/actions/runs/21617345733#summary-62299011972): 2h 1m -> 2h 21m (+16.4%)
3. [dist-ohos-x86_64](https://github.com/rust-lang/rust/actions/runs/21617345733#summary-62299011829): 1h 11m -> 1h 19m (+12.4%)
4. [x86_64-gnu-llvm-20](https://github.com/rust-lang/rust/actions/runs/21617345733#summary-62299011909): 1h 9m -> 1h 17m (+11.9%)
5. [pr-check-1](https://github.com/rust-lang/rust/actions/runs/21617345733#summary-62299011862): 32m 27s -> 28m 44s (-11.4%)
6. [tidy](https://github.com/rust-lang/rust/actions/runs/21617345733#summary-62299011845): 2m 37s -> 2m 52s (+9.9%)
7. [armhf-gnu](https://github.com/rust-lang/rust/actions/runs/21617345733#summary-62299011763): 1h 22m -> 1h 30m (+9.5%)
8. [dist-aarch64-apple](https://github.com/rust-lang/rust/actions/runs/21617345733#summary-62299011941): 1h 54m -> 1h 44m (-9.1%)
9. [x86_64-gnu-llvm-21-3](https://github.com/rust-lang/rust/actions/runs/21617345733#summary-62299011924): 1h 45m -> 1h 54m (+9.1%)
10. [x86_64-gnu-llvm-21-1](https://github.com/rust-lang/rust/actions/runs/21617345733#summary-62299011923): 1h 9m -> 1h 15m (+9.0%)
JonathanBrouwer added a commit to JonathanBrouwer/rust that referenced this pull request Feb 3, 2026
Show largest job duration changes in hours and minutes in the post-merge report

This was suggested by... someone, somewhere. But it's a good idea.

See rust-lang#152025 (comment) - now instead of seconds it would show this:

# Job duration changes
1. [dist-apple-various](https://github.com/rust-lang/rust/actions/runs/21617345733#summary-62299011925): 1h 3m -> 1h 29m (+41.5%)
2. [dist-x86_64-apple](https://github.com/rust-lang/rust/actions/runs/21617345733#summary-62299011972): 2h 1m -> 2h 21m (+16.4%)
3. [dist-ohos-x86_64](https://github.com/rust-lang/rust/actions/runs/21617345733#summary-62299011829): 1h 11m -> 1h 19m (+12.4%)
4. [x86_64-gnu-llvm-20](https://github.com/rust-lang/rust/actions/runs/21617345733#summary-62299011909): 1h 9m -> 1h 17m (+11.9%)
5. [pr-check-1](https://github.com/rust-lang/rust/actions/runs/21617345733#summary-62299011862): 32m 27s -> 28m 44s (-11.4%)
6. [tidy](https://github.com/rust-lang/rust/actions/runs/21617345733#summary-62299011845): 2m 37s -> 2m 52s (+9.9%)
7. [armhf-gnu](https://github.com/rust-lang/rust/actions/runs/21617345733#summary-62299011763): 1h 22m -> 1h 30m (+9.5%)
8. [dist-aarch64-apple](https://github.com/rust-lang/rust/actions/runs/21617345733#summary-62299011941): 1h 54m -> 1h 44m (-9.1%)
9. [x86_64-gnu-llvm-21-3](https://github.com/rust-lang/rust/actions/runs/21617345733#summary-62299011924): 1h 45m -> 1h 54m (+9.1%)
10. [x86_64-gnu-llvm-21-1](https://github.com/rust-lang/rust/actions/runs/21617345733#summary-62299011923): 1h 9m -> 1h 15m (+9.0%)
JonathanBrouwer added a commit to JonathanBrouwer/rust that referenced this pull request Feb 3, 2026
Show largest job duration changes in hours and minutes in the post-merge report

This was suggested by... someone, somewhere. But it's a good idea.

See rust-lang#152025 (comment) - now instead of seconds it would show this:

# Job duration changes
1. [dist-apple-various](https://github.com/rust-lang/rust/actions/runs/21617345733#summary-62299011925): 1h 3m -> 1h 29m (+41.5%)
2. [dist-x86_64-apple](https://github.com/rust-lang/rust/actions/runs/21617345733#summary-62299011972): 2h 1m -> 2h 21m (+16.4%)
3. [dist-ohos-x86_64](https://github.com/rust-lang/rust/actions/runs/21617345733#summary-62299011829): 1h 11m -> 1h 19m (+12.4%)
4. [x86_64-gnu-llvm-20](https://github.com/rust-lang/rust/actions/runs/21617345733#summary-62299011909): 1h 9m -> 1h 17m (+11.9%)
5. [pr-check-1](https://github.com/rust-lang/rust/actions/runs/21617345733#summary-62299011862): 32m 27s -> 28m 44s (-11.4%)
6. [tidy](https://github.com/rust-lang/rust/actions/runs/21617345733#summary-62299011845): 2m 37s -> 2m 52s (+9.9%)
7. [armhf-gnu](https://github.com/rust-lang/rust/actions/runs/21617345733#summary-62299011763): 1h 22m -> 1h 30m (+9.5%)
8. [dist-aarch64-apple](https://github.com/rust-lang/rust/actions/runs/21617345733#summary-62299011941): 1h 54m -> 1h 44m (-9.1%)
9. [x86_64-gnu-llvm-21-3](https://github.com/rust-lang/rust/actions/runs/21617345733#summary-62299011924): 1h 45m -> 1h 54m (+9.1%)
10. [x86_64-gnu-llvm-21-1](https://github.com/rust-lang/rust/actions/runs/21617345733#summary-62299011923): 1h 9m -> 1h 15m (+9.0%)
rust-timer added a commit that referenced this pull request Feb 3, 2026
Rollup merge of #152034 - Kobzol:ci-analysis-time, r=marcoieni

Show largest job duration changes in hours and minutes in the post-merge report

This was suggested by... someone, somewhere. But it's a good idea.

See #152025 (comment) - now instead of seconds it would show this:

# Job duration changes
1. [dist-apple-various](https://github.com/rust-lang/rust/actions/runs/21617345733#summary-62299011925): 1h 3m -> 1h 29m (+41.5%)
2. [dist-x86_64-apple](https://github.com/rust-lang/rust/actions/runs/21617345733#summary-62299011972): 2h 1m -> 2h 21m (+16.4%)
3. [dist-ohos-x86_64](https://github.com/rust-lang/rust/actions/runs/21617345733#summary-62299011829): 1h 11m -> 1h 19m (+12.4%)
4. [x86_64-gnu-llvm-20](https://github.com/rust-lang/rust/actions/runs/21617345733#summary-62299011909): 1h 9m -> 1h 17m (+11.9%)
5. [pr-check-1](https://github.com/rust-lang/rust/actions/runs/21617345733#summary-62299011862): 32m 27s -> 28m 44s (-11.4%)
6. [tidy](https://github.com/rust-lang/rust/actions/runs/21617345733#summary-62299011845): 2m 37s -> 2m 52s (+9.9%)
7. [armhf-gnu](https://github.com/rust-lang/rust/actions/runs/21617345733#summary-62299011763): 1h 22m -> 1h 30m (+9.5%)
8. [dist-aarch64-apple](https://github.com/rust-lang/rust/actions/runs/21617345733#summary-62299011941): 1h 54m -> 1h 44m (-9.1%)
9. [x86_64-gnu-llvm-21-3](https://github.com/rust-lang/rust/actions/runs/21617345733#summary-62299011924): 1h 45m -> 1h 54m (+9.1%)
10. [x86_64-gnu-llvm-21-1](https://github.com/rust-lang/rust/actions/runs/21617345733#summary-62299011923): 1h 9m -> 1h 15m (+9.0%)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-attributes Area: Attributes (`#[…]`, `#![…]`) A-query-system Area: The rustc query system (https://rustc-dev-guide.rust-lang.org/query.html) A-rustc-dev-guide Area: rustc-dev-guide merged-by-bors This PR was explicitly merged by bors. rollup A PR which is a rollup T-clippy Relevant to the Clippy team. 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.

Projects

None yet

Development

Successfully merging this pull request may close these issues.