Skip to content

compiler-builtins subtree update - #162119

Merged
rust-bors[bot] merged 34 commits into
rust-lang:mainfrom
tgross35:update-builtins
Sep 2, 2026
Merged

compiler-builtins subtree update#162119
rust-bors[bot] merged 34 commits into
rust-lang:mainfrom
tgross35:update-builtins

Conversation

@tgross35

@tgross35 tgross35 commented Sep 1, 2026

Copy link
Copy Markdown
Member

tgross35 and others added 30 commits August 17, 2026 03:51
The git registry now takes long enough to download that the 10 minute
timeout is hit.
Since 1.97, linker warnings can be denied via rustc.
This is the first version with LLVM23.
This was added as part of the original test infrastructure at
8e161a791a89 ("Expand and refactor teting infrastructure") but there
doesn't seem to be any reason to keep this restriction; qemu should
handle the threads fine.
With LLVM 23, containing f128 abi fixes, this now works
Benchmarks are designed to run in release mode so these can be pretty
slow. Running once with `release-checked` is sufficient.
Fixes rust-lang/compiler-builtins#1271 by removing `#[aapcs_on_arm]`:
`compiler-rt` only does the equivalent on ARM soft-float targets where
the `"C"` ABI is already AAPCS.

[ add PR description to commit - Trevor ]
This updates the rust-version file to f7d782a.
Some PRs want to make use of newer features.
This reverts commit 4feca6f3e62151f5cedacf3a5877b6200fb5af43.

The patch has landed in the 23.1-2026-07-22 branch.
This should make it fall back to a system-wide cargo-nextest install or
running the tests without nextest, which is probably still faster than
building nextest from source.
This error started appearing in the latest nightly:

    error: the loop variable `i` is used to index `ret.0`
       --> builtins-test/tests/mem.rs:149:14
        |
    149 |     for i in 0..N {
        |              ^^^^
        |
    note: for this index operation
       --> builtins-test/tests/mem.rs:150:9
        |
    150 |         ret.0[i] = i as u8;
        |         ^^^^^^^^
        = help: for further information visit https://rust-lang.github.io/rust-clippy/main/index.html#needless_range_loop
        = note: `-D clippy::needless-range-loop` implied by `-D warnings`
        = help: to override `-D warnings` add `#[allow(clippy::needless_range_loop)]`
    help: consider using an iterator and `.enumerate()`
        |
    149 -     for i in 0..N {
    149 +     for (i, <item>) in ret.0.iter_mut().enumerate().take(N) {
        |
Remove a mostly redundant type. There are some minor differences in the
`memcmp` benches because the slices are now the same length (`let s2:
&[u8] = black_box(&v2[1..]);` was trimming one).
We'd like to this add new `s390x` runner to `compiler-builtins`.

This new runner is provided by Canonical. After some iteration alongside
with Canonical folks, the `large` runner offers hardware spec similar to
the existing s390x provided by IBM and [delivers similar build
times](https://github.com/rust-lang/compiler-builtins/actions/runs/31516313575/job/93862267593?pr=1227).

Moreover, it runs on ubuntu-26.04 rather than ubuntu-24.04, and it
features a Github integration more friendly to `t-infra`, since the
related Github App requires less permissions to run.

We don't need to remove the s390x IBM runners right now. We propose
having both s390x runners running side by side for a while and circle
back after a few PRs, sticking with the Canonical one afterwards if
everything goes well.
There doesn't seem to be a straightforward way to build and test this
target anymore. Disable it for now since CI is broken.

Link: rust-lang/compiler-builtins#1306
This updates the rust-version file to 45f215f.
Pull recent changes from https://github.com/rust-lang/rust via Josh.

Upstream ref: 45f215f
Filtered ref: 2e55b234943f43e4b52bbfba006744b9a4318124
Upstream diff: rust-lang/rust@f7d782a...45f215f

This merge was created using https://github.com/rust-lang/josh-sync.
@rustbot rustbot removed the S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. label Sep 1, 2026
@rustbot

rustbot commented Sep 1, 2026

Copy link
Copy Markdown
Collaborator

⚠️ Warning ⚠️

  • There are issue links (such as #123) in the commit messages of the following commits.
    Please move them to the PR description, to avoid spamming the issues with references to the commit, and so this bot can automatically canonicalize them to avoid issues with subtree.

@folkertdev

Copy link
Copy Markdown
Contributor

@bors r+ p=1

@rust-bors

rust-bors Bot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

📌 Commit d64ea7e has been approved by folkertdev

It is now in the queue for this repository.

@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 Sep 1, 2026
@tgross35

tgross35 commented Sep 1, 2026

Copy link
Copy Markdown
Member Author

@bors rollup=never

I've had annoying syncs back from the way Josh handles rollups. Hopefully resolved but may as well be cautious...

@rust-bors

This comment has been minimized.

rust-bors Bot pushed a commit that referenced this pull request Sep 1, 2026
@rust-log-analyzer

Copy link
Copy Markdown
Collaborator

The job dist-ohos-x86_64 failed! Check out the build log: (web) (plain enhanced) (plain)

Click to see the possible cause of the failure (guessed by this bot)

@rust-bors rust-bors Bot 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 Sep 2, 2026
@rust-bors

rust-bors Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

💔 Test for 523d280 failed: CI. Failed job:

@tgross35

tgross35 commented Sep 2, 2026

Copy link
Copy Markdown
Member Author

Can’t seem to see the logs, spurious?

@bors try jobs=dist-ohos-x86_64

@rust-bors

This comment has been minimized.

rust-bors Bot pushed a commit that referenced this pull request Sep 2, 2026
compiler-builtins subtree update


try-job: dist-ohos-x86_64
@tgross35

tgross35 commented Sep 2, 2026

Copy link
Copy Markdown
Member Author

Ah I see now

The hosted runner lost communication with the server.

@bors retry

@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 Sep 2, 2026
@rust-bors

rust-bors Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

☀️ Try build successful (CI)
Build commit: eaee6bb (eaee6bb6af8ab830b8861462810a0b3e44243734)
Base parent: 5db7f4b (5db7f4be8a36c1b8ae19299469e2be2b0f052c21)

@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 Sep 2, 2026
@rust-bors

rust-bors Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

☀️ Test successful - CI
Approved by: folkertdev
Duration: 3h 9m 7s
Pushing c25253f to main...

@rust-bors
rust-bors Bot merged commit c25253f into rust-lang:main Sep 2, 2026
15 checks passed
@rustbot rustbot added this to the 1.100.0 milestone Sep 2, 2026
@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor
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 edc52f8 (parent) -> c25253f (this PR)

Test differences

Show 4 test diffs

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

Test dashboard

Run

cargo run --manifest-path src/ci/citool/Cargo.toml -- \
    test-dashboard c25253fac451fff60fb5b6c0b2c64d60f628c7cd --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. x86_64-gnu: 1h 44m -> 2h 33m (+46.7%)
  2. dist-riscv64-linux-gnu: 1h 2m -> 1h 30m (+43.5%)
  3. i686-msvc-2: 1h 33m -> 2h 10m (+39.3%)
  4. x86_64-rust-for-linux: 38m 59s -> 54m 15s (+39.2%)
  5. x86_64-gnu-gcc-core-tests: 16m 35s -> 10m 25s (-37.2%)
  6. x86_64-gnu-stdlib-semver-check: 17m 2s -> 10m 45s (-36.9%)
  7. x86_64-gnu-miri: 1h 29m -> 1h 1m (-31.4%)
  8. dist-x86_64-musl: 1h 47m -> 2h 21m (+31.3%)
  9. dist-x86_64-freebsd: 1h 4m -> 1h 25m (+31.1%)
  10. dist-various-2: 38m 27s -> 50m 24s (+31.1%)
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
Copy Markdown
Collaborator

Finished benchmarking commit (c25253f): 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)
-0.2% [-0.2%, -0.1%] 2
All ❌✅ (primary) - - 0

Max RSS (memory usage)

Results (primary 1.1%, secondary 1.7%)

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

mean range count
Regressions ❌
(primary)
1.1% [0.9%, 1.3%] 5
Regressions ❌
(secondary)
1.7% [0.8%, 3.5%] 5
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 1.1% [0.9%, 1.3%] 5

Cycles

Results (primary -4.0%, secondary -3.0%)

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.3% [3.0%, 3.8%] 3
Improvements ✅
(primary)
-4.0% [-4.0%, -4.0%] 1
Improvements ✅
(secondary)
-4.9% [-7.4%, -3.1%] 10
All ❌✅ (primary) -4.0% [-4.0%, -4.0%] 1

Binary size

This perf run didn't have relevant results for this metric.

Bootstrap: 472.928s -> 497.549s (5.21%)
Artifact size: 401.53 MiB -> 400.67 MiB (-0.21%)

@tgross35
tgross35 deleted the update-builtins branch September 2, 2026 09:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-compiler-builtins Area: compiler-builtins (https://github.com/rust-lang/compiler-builtins) merged-by-bors This PR was explicitly merged by bors. 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.