Skip to content

Update the compiler-builtins subtree #143405

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

Merged
merged 14 commits into from
Jul 10, 2025
Merged

Conversation

tgross35
Copy link
Contributor

@tgross35 tgross35 commented Jul 3, 2025

Update the Josh subtree to rust-lang/compiler-builtins@8aba4c899ee8.

r? @ghost

folkertdev and others added 9 commits June 14, 2025 13:10
This PR adds a minimal `triagebot.toml` config to make contributions to
this repository respect upstream rust-lang/rust conventions and avoid
issues when syncing this subtree.
Rather than re-opening the archive file for each check, add a wrapper
that keeps the data in memory. Additionally, collect the `--target`
argument so it can be used within this crate.
Often our short summaries will pick up a Bors "Auto merge of #xxxx ...`
commit message. Replace these with something like `rust-lang#1234`
to avoid broken links when going between repositories.
…i256 and u256

`i256` and `u256`
- operators now use the same overflow convention as primitives
- implement `<<` and `-` (previously just `>>` and `+`)
- implement `Ord` correctly (the previous `PartialOrd` was broken)
- correct `i256::SIGNED` to `true`

The `Int`-trait is extended with `trailing_zeros`, `carrying_add`, and
`borrowing_sub`.
Currently we whether or not to build and test `f16` and `f128` support
mostly based on the target triple. This isn't always accurate, however,
since support also varies by backend and the backend version.

Since recently, `rustc` is aware of this with the unstable config option
`target_has_reliable_{f16,f128}`, which better represents when the types
are actually expected to be available and usable. Switch our
compiler-builtins and libm configuration to use this by probing `rustc`
for the target's settings.

A few small `cfg` fixes are needed with this.
@rustbot rustbot added A-compiler-builtins Area: compiler-builtins (https://github.com/rust-lang/compiler-builtins) S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jul 3, 2025
@tgross35
Copy link
Contributor Author

tgross35 commented Jul 3, 2025

@bors r+ rollup=never

@bors
Copy link
Collaborator

bors commented Jul 3, 2025

📌 Commit be35d37 has been approved by tgross35

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 3, 2025
bors added a commit that referenced this pull request Jul 4, 2025
Update the `compiler-builtins` subtree

Update the Josh subtree to rust-lang/compiler-builtins@ed17b95715dd.

r? `@ghost`
@bors
Copy link
Collaborator

bors commented Jul 4, 2025

⌛ Testing commit be35d37 with merge a6503b1...

@rust-log-analyzer

This comment has been minimized.

@bors
Copy link
Collaborator

bors commented Jul 4, 2025

💔 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 Jul 4, 2025
tgross35 added 5 commits July 4, 2025 16:53
This makes it more obvious what we intend to check rather than looking
for `--target`.
Rather than printing the entire JSON dump, use the rendered version.
8521530f4938 ("Fix __divsi3 and __udivsi3 on thumbv6m targets") removed
tests that use these `thumb*-linux` target files in favor of tests that
use the `thumb*-none` targets, which are available via Rustup. The JSON
files haven't been used since then and are outdated, so remove them.
The `rustc` probe done in our build scripts needs to pass `--target` to
get the correct configuration, which usually comes from the `TARGET`
environment variable. However, for targets specified via a `target.json`
file, `TARGET` gets set to the file name without an extension or path.
`rustc` will check a search path to attempt to locate the file, but this
is likely to fail since the directory where Cargo invokes build scripts
(and hence where those scripts invoke `rustc`) might not have any
relation to the JSON spec file.

Resolve this for now by leaving `f16` and `f128` disabled if the `rustc`
command fails. Result of the discussion at CARGO-14208 may eventually
provide a better solution.

A CI test is also added since custom JSON files are an edge case that
could fail in other ways. I verified this fails without the fix here.
The JSON file is the output for `thumbv7em-none-eabi`, just renamed so
`rustc` doesn't identify it.
@tgross35
Copy link
Contributor Author

tgross35 commented Jul 5, 2025

@bors r+

@bors
Copy link
Collaborator

bors commented Jul 5, 2025

📌 Commit 016bc61 has been approved by tgross35

It is now in the queue for this repository.

@bors bors removed the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Jul 5, 2025
@rust-bors
Copy link

rust-bors bot commented Jul 5, 2025

☀️ Try build successful (CI)
Build commit: 4b5fb38 (4b5fb38fd87852634931b0ddfa4ca9dd7895c842, parent: 733b47ea4b1b86216f14ef56e49440c33933f230)

@tgross35
Copy link
Contributor Author

tgross35 commented Jul 9, 2025

MinGW fix merged in #143475
@bors r+

@bors
Copy link
Collaborator

bors commented Jul 9, 2025

📌 Commit 016bc61 has been approved by tgross35

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 9, 2025
@bors
Copy link
Collaborator

bors commented Jul 9, 2025

⌛ Testing commit 016bc61 with merge fd2e8b9...

bors added a commit that referenced this pull request Jul 9, 2025
Update the `compiler-builtins` subtree

Update the Josh subtree to rust-lang/compiler-builtins@8aba4c899ee8.

r? `@ghost`
@rust-log-analyzer
Copy link
Collaborator

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

Click to see the possible cause of the failure (guessed by this bot)
[2025-07-09T14:47:55Z DEBUG collector::compile::benchmark] Benchmark iteration 1/1
[2025-07-09T14:47:55Z INFO  collector::compile::execute] run_rustc with incremental=false, profile=Check, scenario=Some(Full), patch=None, backend=Llvm, target=X86_64UnknownLinuxGnu, phase=benchmark
[2025-07-09T14:47:55Z DEBUG collector::compile::execute] "\\\\?\\C:\\a\\rust\\rust\\build\\x86_64-pc-windows-msvc\\stage0\\bin\\cargo.exe" "rustc" "--manifest-path" "Cargo.toml" "-p" "path+file:///C:/Users/RUNNER~1/AppData/Local/Temp/.tmpgTtMxH#[email protected]" "--profile" "check" "--" "--wrap-rustc-with" "Eprintln"
[2025-07-09T14:47:56Z INFO  collector::compile::execute] run_rustc with incremental=true, profile=Check, scenario=Some(IncrFull), patch=None, backend=Llvm, target=X86_64UnknownLinuxGnu, phase=benchmark
[2025-07-09T14:47:56Z DEBUG collector::compile::execute] "\\\\?\\C:\\a\\rust\\rust\\build\\x86_64-pc-windows-msvc\\stage0\\bin\\cargo.exe" "rustc" "--manifest-path" "Cargo.toml" "-p" "path+file:///C:/Users/RUNNER~1/AppData/Local/Temp/.tmpgTtMxH#[email protected]" "--profile" "check" "--" "--wrap-rustc-with" "Eprintln" "-C" "incremental=C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\.tmpgTtMxH\\incremental-state"
[2025-07-09T14:47:57Z INFO  collector::compile::execute] run_rustc with incremental=true, profile=Check, scenario=Some(IncrUnchanged), patch=None, backend=Llvm, target=X86_64UnknownLinuxGnu, phase=benchmark
[2025-07-09T14:47:57Z DEBUG collector::compile::execute] "\\\\?\\C:\\a\\rust\\rust\\build\\x86_64-pc-windows-msvc\\stage0\\bin\\cargo.exe" "rustc" "--manifest-path" "Cargo.toml" "-p" "path+file:///C:/Users/RUNNER~1/AppData/Local/Temp/.tmpgTtMxH#[email protected]" "--profile" "check" "--" "--wrap-rustc-with" "Eprintln" "-C" "incremental=C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\.tmpgTtMxH\\incremental-state"
[2025-07-09T14:47:58Z DEBUG collector::compile::benchmark] applying patch println
[2025-07-09T14:47:58Z DEBUG collector::compile::benchmark::patch] applying println to "C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\.tmpgTtMxH"
[2025-07-09T14:47:58Z INFO  collector::compile::execute] run_rustc with incremental=true, profile=Check, scenario=Some(IncrPatched), patch=Some(Patch { index: 0, name: PatchName("println"), path: "0-println.patch" }), backend=Llvm, target=X86_64UnknownLinuxGnu, phase=benchmark
[2025-07-09T14:47:58Z DEBUG collector::compile::execute] "\\\\?\\C:\\a\\rust\\rust\\build\\x86_64-pc-windows-msvc\\stage0\\bin\\cargo.exe" "rustc" "--manifest-path" "Cargo.toml" "-p" "path+file:///C:/Users/RUNNER~1/AppData/Local/Temp/.tmpgTtMxH#[email protected]" "--profile" "check" "--" "--wrap-rustc-with" "Eprintln" "-C" "incremental=C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\.tmpgTtMxH\\incremental-state"
Running bitmaps-3.2.1: Debug + [Full, IncrFull, IncrUnchanged, IncrPatched] + Llvm + X86_64UnknownLinuxGnu
[2025-07-09T14:47:59Z DEBUG collector::compile::benchmark] Benchmark iteration 1/1
[2025-07-09T14:47:59Z INFO  collector::compile::execute] run_rustc with incremental=false, profile=Debug, scenario=Some(Full), patch=None, backend=Llvm, target=X86_64UnknownLinuxGnu, phase=benchmark
[2025-07-09T14:47:59Z DEBUG collector::compile::execute] "\\\\?\\C:\\a\\rust\\rust\\build\\x86_64-pc-windows-msvc\\stage0\\bin\\cargo.exe" "rustc" "--manifest-path" "Cargo.toml" "-p" "path+file:///C:/Users/RUNNER~1/AppData/Local/Temp/.tmpF6eo83#[email protected]" "--" "--wrap-rustc-with" "Eprintln"
[2025-07-09T14:48:00Z INFO  collector::compile::execute] run_rustc with incremental=true, profile=Debug, scenario=Some(IncrFull), patch=None, backend=Llvm, target=X86_64UnknownLinuxGnu, phase=benchmark

@bors
Copy link
Collaborator

bors commented Jul 9, 2025

💔 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 Jul 9, 2025
@Kobzol
Copy link
Member

Kobzol commented Jul 9, 2025

@bors treeclosed-

@tgross35
Copy link
Contributor Author

tgross35 commented Jul 9, 2025

@bors2 try jobs=dist-x86_64-msvc

@rust-bors
Copy link

rust-bors bot commented Jul 9, 2025

⌛ Trying commit 016bc61 with merge 608083e

To cancel the try build, run the command @bors2 try cancel.

rust-bors bot added a commit that referenced this pull request Jul 9, 2025
Update the `compiler-builtins` subtree

Update the Josh subtree to rust-lang/compiler-builtins@8aba4c899ee8.

r? `@ghost`
try-job: dist-x86_64-msvc
@rust-bors
Copy link

rust-bors bot commented Jul 9, 2025

☀️ Try build successful (CI)
Build commit: 608083e (608083e5747ea65e66b16789ff905aeb5280a427, parent: 6b3ae3f6e45a33c2d95fa0362c9b2593e567fd34)

@tgross35
Copy link
Contributor Author

tgross35 commented Jul 9, 2025

Spurious?
@bors r+

@bors
Copy link
Collaborator

bors commented Jul 9, 2025

💡 This pull request was already approved, no need to approve it again.

@bors
Copy link
Collaborator

bors commented Jul 9, 2025

📌 Commit 016bc61 has been approved by tgross35

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 9, 2025
@bors
Copy link
Collaborator

bors commented Jul 9, 2025

⌛ Testing commit 016bc61 with merge 607fbd8...

@bors
Copy link
Collaborator

bors commented Jul 10, 2025

☀️ Test successful - checks-actions
Approved by: tgross35
Pushing 607fbd8 to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Jul 10, 2025
@bors bors merged commit 607fbd8 into rust-lang:master Jul 10, 2025
24 checks passed
@rustbot rustbot added this to the 1.90.0 milestone Jul 10, 2025
@tgross35 tgross35 deleted the update-builtins branch July 10, 2025 01:45
Copy link
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 e43d139 (parent) -> 607fbd8 (this PR)

Test differences

No test diffs found

Test dashboard

Run

cargo run --manifest-path src/ci/citool/Cargo.toml -- \
    test-dashboard 607fbd8d3e25997737a0bf25b215e581b922f1b0 --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-apple-1: 8089.3s -> 5716.5s (-29.3%)
  2. x86_64-apple-2: 4041.6s -> 5222.1s (29.2%)
  3. pr-check-2: 2496.4s -> 2113.3s (-15.3%)
  4. x86_64-gnu-tools: 3632.7s -> 3298.4s (-9.2%)
  5. x86_64-gnu-llvm-20-1: 3664.6s -> 3364.8s (-8.2%)
  6. x86_64-rust-for-linux: 2750.6s -> 2527.0s (-8.1%)
  7. x86_64-gnu-debug: 5892.1s -> 5444.0s (-7.6%)
  8. x86_64-gnu-distcheck: 8228.7s -> 7605.5s (-7.6%)
  9. dist-apple-various: 5813.2s -> 6251.7s (7.5%)
  10. i686-msvc-1: 9884.7s -> 9155.8s (-7.4%)
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

Finished benchmarking commit (607fbd8): 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.1% [-0.1%, -0.0%] 3
All ❌✅ (primary) - - 0

Max RSS (memory usage)

Results (primary -1.0%, secondary 2.4%)

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

mean range count
Regressions ❌
(primary)
2.0% [2.0%, 2.0%] 1
Regressions ❌
(secondary)
4.1% [1.8%, 6.0%] 6
Improvements ✅
(primary)
-2.0% [-3.5%, -1.1%] 3
Improvements ✅
(secondary)
-2.9% [-3.5%, -2.3%] 2
All ❌✅ (primary) -1.0% [-3.5%, 2.0%] 4

Cycles

Results (secondary -3.7%)

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

Binary size

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

Bootstrap: 464.828s -> 464.395s (-0.09%)
Artifact size: 374.47 MiB -> 374.48 MiB (0.00%)

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. S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-compiler Relevant to the compiler 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