Skip to content
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

Update to LLVM 20.1.1 #138695

Merged
merged 1 commit into from
Mar 20, 2025
Merged

Update to LLVM 20.1.1 #138695

merged 1 commit into from
Mar 20, 2025

Conversation

nikic
Copy link
Contributor

@nikic nikic commented Mar 19, 2025

Fixes #138212.
Fixes #137909.

@rustbot
Copy link
Collaborator

rustbot commented Mar 19, 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
Copy link
Collaborator

rustbot commented Mar 19, 2025

⚠️ Warning ⚠️

  • These commits modify submodules.

@rustbot rustbot added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Mar 19, 2025
@dianqk
Copy link
Member

dianqk commented Mar 19, 2025

@bors r+ rollup=never

@bors
Copy link
Contributor

bors commented Mar 19, 2025

📌 Commit 80f8f00 has been approved by dianqk

It is now in the queue for this repository.

@bors
Copy link
Contributor

bors commented Mar 19, 2025

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

@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 19, 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. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Mar 19, 2025
@dianqk dianqk assigned dianqk and unassigned cuviper Mar 19, 2025
@jieyouxu
Copy link
Member

This fixes two P-high regressions, so I'm bumping its priority for rollup scheduling.
@bors p=5

@tgross35
Copy link
Contributor

I think this should also fix #137873 (via llvm/llvm-project#129546)

@bors
Copy link
Contributor

bors commented Mar 20, 2025

⌛ Testing commit 80f8f00 with merge 87e60a7...

@bors
Copy link
Contributor

bors commented Mar 20, 2025

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

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Mar 20, 2025
@bors bors merged commit 87e60a7 into rust-lang:master Mar 20, 2025
7 checks passed
@rustbot rustbot added this to the 1.87.0 milestone Mar 20, 2025
Copy link

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 4e2b096 (parent) -> 87e60a7 (this PR)

Test differences

Show 12 test diffs
  • [assembly] tests/assembly/riscv-soft-abi-with-float-features.rs#LLVM-PRE-20 (stage 2): ignore (ignored when the LLVM version (20.1.0) is newer than majorversion 19) -> ignore (ignored when the LLVM version (20.1.1) is newer than majorversion 19) (J0)
  • [assembly] tests/assembly/x86_64-bigint-helpers.rs#llvm-pre-20 (stage 2): ignore (ignored when the LLVM version (20.1.0) is newer than majorversion 19) -> ignore (ignored when the LLVM version (20.1.1) is newer than majorversion 19) (J0)
  • [codegen] tests/codegen/branch-protection-old-llvm.rs#BKEY (stage 2): ignore (ignored when the LLVM version (20.1.0) is newer than majorversion 18) -> ignore (ignored when the LLVM version (20.1.1) is newer than majorversion 18) (J0)
  • [codegen] tests/codegen/branch-protection-old-llvm.rs#BTI (stage 2): ignore (ignored when the LLVM version (20.1.0) is newer than majorversion 18) -> ignore (ignored when the LLVM version (20.1.1) is newer than majorversion 18) (J0)
  • [codegen] tests/codegen/branch-protection-old-llvm.rs#LEAF (stage 2): ignore (ignored when the LLVM version (20.1.0) is newer than majorversion 18) -> ignore (ignored when the LLVM version (20.1.1) is newer than majorversion 18) (J0)
  • [codegen] tests/codegen/branch-protection-old-llvm.rs#NONE (stage 2): ignore (ignored when the LLVM version (20.1.0) is newer than majorversion 18) -> ignore (ignored when the LLVM version (20.1.1) is newer than majorversion 18) (J0)
  • [codegen] tests/codegen/branch-protection-old-llvm.rs#PACRET (stage 2): ignore (ignored when the LLVM version (20.1.0) is newer than majorversion 18) -> ignore (ignored when the LLVM version (20.1.1) is newer than majorversion 18) (J0)
  • [codegen] tests/codegen/call-metadata.rs (stage 2): ignore (ignored when the LLVM version (20.1.0) is newer than majorversion 18) -> ignore (ignored when the LLVM version (20.1.1) is newer than majorversion 18) (J0)
  • [codegen] tests/codegen/integer-cmp.rs#llvm-pre-20 (stage 2): ignore (ignored when the LLVM version (20.1.0) is newer than majorversion 19) -> ignore (ignored when the LLVM version (20.1.1) is newer than majorversion 19) (J0)
  • [codegen] tests/codegen/vec_pop_push_noop.rs#llvm-pre-19 (stage 2): ignore (ignored when the LLVM version (20.1.0) is newer than majorversion 18) -> ignore (ignored when the LLVM version (20.1.1) is newer than majorversion 18) (J0)
  • [assembly] tests/assembly/x86_64-cmp.rs#LLVM-PRE-20-OPTIM (stage 2): ignore (ignored when the LLVM version (20.1.0) is newer than majorversion 19) -> ignore (ignored when the LLVM version (20.1.1) is newer than majorversion 19) (J1)
  • [run-make] tests/run-make/compressed-debuginfo-zstd (stage 2): pass -> ignore (ignored if LLVM wasn't build with zstd for ELF section compression (we want LLVM/LLD to be built with zstd support)) (J2)

Job group index

  • J0: aarch64-apple, aarch64-gnu, arm-android, armhf-gnu, dist-i586-gnu-i586-i686-musl, i686-gnu-1, i686-gnu-nopt-1, i686-msvc-1, test-various, x86_64-apple-1, x86_64-gnu, x86_64-gnu-nopt, x86_64-gnu-stable, x86_64-mingw-1, x86_64-msvc-1
  • J1: test-various, x86_64-apple-1, x86_64-gnu, x86_64-gnu-nopt, x86_64-gnu-stable, x86_64-mingw-1, x86_64-msvc-1
  • J2: x86_64-gnu-nopt

@nikic
Copy link
Contributor Author

nikic commented Mar 20, 2025

@Kobzol Probably shouldn't show the cases where only the ignore message differs? (Or maybe normalize the version).

[run-make] tests/run-make/compressed-debuginfo-zstd (stage 2): pass -> ignore (ignored if LLVM wasn't build with zstd for ELF section compression (we want LLVM/LLD to be built with zstd support)) (J2)

This might be an issue with download-ci-llvm, where we get a different config (with/without zstd) depending on whether we download or build llvm.

@Kobzol
Copy link
Contributor

Kobzol commented Mar 20, 2025

Probably shouldn't show the cases where only the ignore message differs? (Or maybe normalize the version).

I think that seeing the difference in the ignore message is fine, it could be important sometimes (e.g. a test is now ignored for a completely different reason than before).

This might be an issue with download-ci-llvm, where we get a different config (with/without zstd) depending on whether we download or build llvm.

This sounds more worrying, tbh, we should ideally have exactly the same config when building or downloading LLVM 😅

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (87e60a7): comparison URL.

Overall result: ✅ improvements - 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
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-0.2% [-0.2%, -0.2%] 1
All ❌✅ (primary) - - 0

Max RSS (memory usage)

Results (secondary -2.1%)

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)
- - 0
Improvements ✅
(secondary)
-2.1% [-2.6%, -1.6%] 2
All ❌✅ (primary) - - 0

Cycles

Results (primary 3.1%)

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

Binary size

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

Bootstrap: 773.468s -> 773.84s (0.05%)
Artifact size: 365.48 MiB -> 365.50 MiB (0.01%)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
merged-by-bors This PR was explicitly merged by bors. S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
9 participants