Skip to content

Update to LLVM 20.1.4 #140502

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Merged
merged 1 commit into from
May 3, 2025
Merged

Update to LLVM 20.1.4 #140502

merged 1 commit into from
May 3, 2025

Conversation

nikic
Copy link
Contributor

@nikic nikic commented Apr 30, 2025

@rustbot
Copy link
Collaborator

rustbot commented Apr 30, 2025

r? @cuviper

rustbot has assigned @cuviper.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

@rustbot rustbot added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Apr 30, 2025
@rustbot
Copy link
Collaborator

rustbot commented Apr 30, 2025

⚠️ Warning ⚠️

  • Some commits in this PR modify submodules.

@dianqk
Copy link
Member

dianqk commented Apr 30, 2025

@bors r+ rollup=never

@bors
Copy link
Collaborator

bors commented Apr 30, 2025

📌 Commit 146d8b9 has been approved by dianqk

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 Apr 30, 2025
@dianqk dianqk added T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. 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-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Apr 30, 2025
@bors
Copy link
Collaborator

bors commented May 3, 2025

⌛ Testing commit 146d8b9 with merge d6a325d...

@bors
Copy link
Collaborator

bors commented May 3, 2025

☀️ Test successful - checks-actions
Approved by: dianqk
Pushing d6a325d to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label May 3, 2025
@bors bors merged commit d6a325d into rust-lang:master May 3, 2025
7 checks passed
@rustbot rustbot added this to the 1.88.0 milestone May 3, 2025
Copy link
Contributor

github-actions bot commented May 3, 2025

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 097cd98 (parent) -> d6a325d (this PR)

Test differences

Show 9 test diffs

Stage 2

  • [assembly] tests/assembly/riscv-soft-abi-with-float-features.rs#LLVM-PRE-20: ignore (ignored when the LLVM version (20.1.2) is newer than majorversion 19) -> ignore (ignored when the LLVM version (20.1.4) is newer than majorversion 19) (J0)
  • [assembly] tests/assembly/sanitizer/kcfi/emit-arity-indicator.rs#x86_64: ignore (ignored when the LLVM version 20.1.2 is older than 21.0.0) -> ignore (ignored when the LLVM version 20.1.4 is older than 21.0.0) (J0)
  • [assembly] tests/assembly/x86_64-bigint-helpers.rs#llvm-pre-20: ignore (ignored when the LLVM version (20.1.2) is newer than majorversion 19) -> ignore (ignored when the LLVM version (20.1.4) is newer than majorversion 19) (J0)
  • [codegen] tests/codegen/integer-cmp.rs#llvm-pre-20: ignore (ignored when the LLVM version (20.1.2) is newer than majorversion 19) -> ignore (ignored when the LLVM version (20.1.4) is newer than majorversion 19) (J0)
  • [codegen] tests/codegen/issues/issue-101082.rs#x86-64-v3: ignore (ignored when the LLVM version 20.1.2 is older than 21.0.0) -> ignore (ignored when the LLVM version 20.1.4 is older than 21.0.0) (J0)
  • [codegen] tests/codegen/sanitizer/kcfi/add-kcfi-arity-flag.rs#x86_64: ignore (ignored when the LLVM version 20.1.2 is older than 21.0.0) -> ignore (ignored when the LLVM version 20.1.4 is older than 21.0.0) (J0)
  • [run-make] tests/run-make/compressed-debuginfo-zstd: pass -> ignore (ignored if LLVM wasn't build with zstd for ELF section compression (we want LLVM/LLD to be built with zstd support)) (J1)
  • [assembly] tests/assembly/x86_64-cmp.rs#LLVM-PRE-20-DEBUG: ignore (ignored when the LLVM version (20.1.2) is newer than majorversion 19) -> ignore (ignored when the LLVM version (20.1.4) is newer than majorversion 19) (J2)
  • [assembly] tests/assembly/x86_64-cmp.rs#LLVM-PRE-20-OPTIM: ignore (ignored when the LLVM version (20.1.2) is newer than majorversion 19) -> ignore (ignored when the LLVM version (20.1.4) is newer than majorversion 19) (J2)

Job group index

Test dashboard

Run

cargo run --manifest-path src/ci/citool/Cargo.toml -- \
    test-dashboard d6a325d93a84077580c677f89affbe45682606c3 --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-x86_64-illumos: 5622.3s -> 14239.3s (153.3%)
  2. dist-arm-linux: 4808.6s -> 10000.7s (108.0%)
  3. dist-x86_64-musl: 7277.4s -> 15084.3s (107.3%)
  4. dist-x86_64-freebsd: 4845.2s -> 10023.2s (106.9%)
  5. dist-ohos: 10773.7s -> 20372.4s (89.1%)
  6. x86_64-gnu-debug: 5960.6s -> 11213.5s (88.1%)
  7. x86_64-rust-for-linux: 2748.7s -> 5104.2s (85.7%)
  8. dist-android: 2460.0s -> 4539.7s (84.5%)
  9. arm-android: 5348.5s -> 9217.1s (72.3%)
  10. mingw-check: 1295.3s -> 2222.6s (71.6%)
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 (d6a325d): comparison URL.

Overall result: ❌ regressions - no action needed

@rustbot label: -perf-regression

Instruction count

This is the most reliable metric that we have; it was used to determine the overall result at the top of this comment. However, even this metric can sometimes exhibit noise.

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

Max RSS (memory usage)

Results (primary -0.4%, secondary 4.3%)

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)
1.1% [0.4%, 3.8%] 9
Regressions ❌
(secondary)
4.3% [4.3%, 4.3%] 1
Improvements ✅
(primary)
-3.2% [-6.9%, -0.5%] 5
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) -0.4% [-6.9%, 3.8%] 14

Cycles

Results (primary -0.4%, secondary -1.7%)

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.5% [0.4%, 0.5%] 3
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.7% [-0.9%, -0.4%] 13
Improvements ✅
(secondary)
-1.7% [-1.7%, -1.7%] 1
All ❌✅ (primary) -0.4% [-0.9%, 0.5%] 16

Binary size

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

Bootstrap: 768.722s -> 768.719s (-0.00%)
Artifact size: 365.56 MiB -> 365.55 MiB (-0.00%)

Zalathar added a commit to Zalathar/rust that referenced this pull request May 4, 2025
Add the AVX10 target features

Parent rust-lang#138843

Adds the `avx10_target_feature` feature gate, and `avx10.1` and `avx10.2` target features.

It is confirmed that Intel is dropping AVX10/256 (see [this comment](rust-lang#111137 (comment))), so this should be safe to implement now.

The LLVM fix for llvm/llvm-project#135394 was merged, and has been backported to LLVM20, and the patch has also been propagated to rustc in rust-lang#140502

`@rustbot` label O-x86_64 O-x86_32 A-target-feature A-SIMD
rust-timer added a commit to rust-lang-ci/rust that referenced this pull request May 4, 2025
Rollup merge of rust-lang#139675 - sayantn:avx10, r=Amanieu

Add the AVX10 target features

Parent rust-lang#138843

Adds the `avx10_target_feature` feature gate, and `avx10.1` and `avx10.2` target features.

It is confirmed that Intel is dropping AVX10/256 (see [this comment](rust-lang#111137 (comment))), so this should be safe to implement now.

The LLVM fix for llvm/llvm-project#135394 was merged, and has been backported to LLVM20, and the patch has also been propagated to rustc in rust-lang#140502

`@rustbot` label O-x86_64 O-x86_32 A-target-feature A-SIMD
@workingjubilee workingjubilee added the A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. label May 26, 2025
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. 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.

7 participants