Skip to content

Conversation

dianqk
Copy link
Member

@dianqk dianqk commented Jun 13, 2025

Closes #141306, closes #140686, closes #141737, closes #140933.

@rustbot
Copy link
Collaborator

rustbot commented Jun 13, 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 A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jun 13, 2025
@rustbot
Copy link
Collaborator

rustbot commented Jun 13, 2025

⚠️ Warning ⚠️

  • Some commits in this PR modify submodules.

@dianqk
Copy link
Member Author

dianqk commented Jun 13, 2025

@bors p=1

@nikic
Copy link
Contributor

nikic commented Jun 13, 2025

@bors r+ rollup=never

@bors
Copy link
Collaborator

bors commented Jun 13, 2025

📌 Commit 4b2e77b has been approved by nikic

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 Jun 13, 2025
bors added a commit that referenced this pull request Jun 13, 2025
Update to LLVM 20.1.7

Closes #141306, closes #140686, closes #141737, closes #140933.
@bors
Copy link
Collaborator

bors commented Jun 13, 2025

⌛ Testing commit 4b2e77b with merge 5a64ee7...

@rust-log-analyzer
Copy link
Collaborator

The job x86_64-gnu-nopt failed! Check out the build log: (web) (plain)

Click to see the possible cause of the failure (guessed by this bot)
   Compiling rustc_driver v0.0.0 (/checkout/compiler/rustc_driver)
[RUSTC-TIMING] rustc_driver test:false 13.682
error: linking with `cc` failed: exit status: 1
  |
  = note:  "cc" "-m64" "/tmp/rustcQeqaKB/symbols.o" "<1 object files omitted>" "-Wl,--as-needed" "-Wl,-Bdynamic" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/librustc_driver-788ba4279e0f4b2c.so" "-Wl,-Bstatic" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib/{libcompiler_builtins-*}.rlib" "-Wl,-Bdynamic" "-lrt" "-ldl" "-lm" "-lstdc++" "-ldl" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-L" "/tmp/rustcQeqaKB/raw-dylibs" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/build/psm-333143ff6fcbb6a0/out" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/build/blake3-c8ecf418975a8dbd/out" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/build/blake3-c8ecf418975a8dbd/out" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/build/rustc_llvm-40d55c9b90cb9de2/out" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/lib" "-L" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/rustc_main-940eb4e3ed3321b0" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-Wl,-O1" "-nodefaultlibs" "-Wl,-z,origin" "-Wl,-rpath,$ORIGIN/../lib"
  = note: some arguments are omitted. use `--verbose` to show all linker arguments
  = note: /usr/bin/ld: /checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/librustc_driver-788ba4279e0f4b2c.so: undefined reference to `llvm::EnableABIBreakingChecks'
          /usr/bin/ld: /checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/librustc_driver-788ba4279e0f4b2c.so: undefined reference to `llvm::Error::fatalUncheckedError() const'
          collect2: error: ld returned 1 exit status
          

@bors
Copy link
Collaborator

bors commented Jun 13, 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 Jun 13, 2025
@dianqk
Copy link
Member Author

dianqk commented Jun 14, 2025

@bors retry

@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 Jun 14, 2025
bors added a commit that referenced this pull request Jun 14, 2025
Update to LLVM 20.1.7

Closes #141306, closes #140686, closes #141737, closes #140933.
@bors
Copy link
Collaborator

bors commented Jun 14, 2025

⌛ Testing commit 4b2e77b with merge b940ffb...

@rust-log-analyzer
Copy link
Collaborator

The job x86_64-gnu-nopt failed! Check out the build log: (web) (plain)

Click to see the possible cause of the failure (guessed by this bot)
   Compiling rustc_driver v0.0.0 (/checkout/compiler/rustc_driver)
[RUSTC-TIMING] rustc_driver test:false 13.737
error: linking with `cc` failed: exit status: 1
  |
  = note:  "cc" "-m64" "/tmp/rustcutyBmU/symbols.o" "<1 object files omitted>" "-Wl,--as-needed" "-Wl,-Bdynamic" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/librustc_driver-e248548c82f77832.so" "-Wl,-Bstatic" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib/{libcompiler_builtins-*}.rlib" "-Wl,-Bdynamic" "-lrt" "-ldl" "-lm" "-lstdc++" "-ldl" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-L" "/tmp/rustcutyBmU/raw-dylibs" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/build/psm-333143ff6fcbb6a0/out" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/build/blake3-c8ecf418975a8dbd/out" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/build/blake3-c8ecf418975a8dbd/out" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/build/rustc_llvm-40d55c9b90cb9de2/out" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/lib" "-L" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/rustc_main-6d2f3c57c15fe6d9" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-Wl,-O1" "-nodefaultlibs" "-Wl,-z,origin" "-Wl,-rpath,$ORIGIN/../lib"
  = note: some arguments are omitted. use `--verbose` to show all linker arguments
  = note: /usr/bin/ld: /checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/librustc_driver-e248548c82f77832.so: undefined reference to `llvm::EnableABIBreakingChecks'
          /usr/bin/ld: /checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/librustc_driver-e248548c82f77832.so: undefined reference to `llvm::Error::fatalUncheckedError() const'
          collect2: error: ld returned 1 exit status
          

@bors
Copy link
Collaborator

bors commented Jun 14, 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 Jun 14, 2025
@nikic
Copy link
Contributor

nikic commented Jun 14, 2025

The build is configured with --enable-llvm-assertions, but then we pass "-DLLVM_ENABLE_ASSERTIONS=OFF" to cmake...

We end up with rustc thinking LLVM was build with assertions even though it wasn't.

@nikic
Copy link
Contributor

nikic commented Jun 14, 2025

I'm gonna guess it's related to this extra config file

ENV SCRIPT python3 ../x.py test --stage 1 --config /config/nopt-std-config.toml library/std \
and the stage redesign in some way... (cc @Kobzol @onur-ozkan)

@jieyouxu
Copy link
Member

Looking into that.

@rustbot rustbot added the beta-nominated Nominated for backporting to the compiler in the beta channel. label Jun 16, 2025
@apiraino apiraino added T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. beta-nominated Nominated for backporting to the compiler in the beta channel. and removed beta-nominated Nominated for backporting to the compiler in the beta channel. labels Jun 16, 2025
Kobzol added a commit to Kobzol/rust that referenced this pull request Jun 16, 2025
Fix `-nopt` CI jobs

They were using `--config` instead of `--set`, which overrides too much stuff after recent changes to config merging.

Should hopefully unblock rust-lang#142447.

r? `@jieyouxu`
rust-timer added a commit that referenced this pull request Jun 16, 2025
Rollup merge of #142566 - Kobzol:ci-nopt-fix, r=jieyouxu

Fix `-nopt` CI jobs

They were using `--config` instead of `--set`, which overrides too much stuff after recent changes to config merging.

Should hopefully unblock #142447.

r? `@jieyouxu`
@Kobzol
Copy link
Member

Kobzol commented Jun 16, 2025

@bors2 try jobs=x86_64-gnu-nopt

@rust-bors
Copy link

rust-bors bot commented Jun 16, 2025

⌛ Trying commit 4b2e77b with merge 7a7ff85

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

rust-bors bot added a commit that referenced this pull request Jun 16, 2025
Update to LLVM 20.1.7

Closes #141306, closes #140686, closes #141737, closes #140933.
try-job: x86_64-gnu-nopt
@rust-bors
Copy link

rust-bors bot commented Jun 16, 2025

☀️ Try build successful (CI)
Build commit: 7a7ff85 (7a7ff8516a217ff3896efcf8c3462c3e9b9799bd, parent: 3bc767e1a215c4bf8f099b32e84edb85780591b1)

@nikic
Copy link
Contributor

nikic commented Jun 16, 2025

@bors r+

@bors
Copy link
Collaborator

bors commented Jun 16, 2025

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

  • This pull request previously failed. You should add more commits to fix the bug, or use retry to trigger a build again.
  • There's another pull request that is currently being tested, blocking this pull request: Rollup of 8 pull requests #142589

@bors
Copy link
Collaborator

bors commented Jun 16, 2025

📌 Commit 4b2e77b has been approved by nikic

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 Jun 16, 2025
@jieyouxu
Copy link
Member

@bors p=5 (rollup scheduling; fixes a P-critical)

@bors
Copy link
Collaborator

bors commented Jun 16, 2025

⌛ Testing commit 4b2e77b with merge 55d4364...

@bors
Copy link
Collaborator

bors commented Jun 17, 2025

☀️ Test successful - checks-actions
Approved by: nikic
Pushing 55d4364 to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Jun 17, 2025
@bors bors merged commit 55d4364 into rust-lang:master Jun 17, 2025
11 checks passed
@rustbot rustbot added this to the 1.89.0 milestone Jun 17, 2025
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 45acf54 (parent) -> 55d4364 (this PR)

Test differences

Show 10 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.5) is newer than majorversion 19) -> ignore (ignored when the LLVM version (20.1.7) 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.5 is older than 21.0.0) -> ignore (ignored when the LLVM version 20.1.7 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.5) is newer than majorversion 19) -> ignore (ignored when the LLVM version (20.1.7) is newer than majorversion 19) (J0)
  • [codegen] tests/codegen/integer-cmp.rs#llvm-pre-20: ignore (ignored when the LLVM version (20.1.5) is newer than majorversion 19) -> ignore (ignored when the LLVM version (20.1.7) is newer than majorversion 19) (J0)
  • [codegen] tests/codegen/issues/issue-101082.rs#x86-64-v3: ignore (ignored when the LLVM version 20.1.5 is older than 21.0.0) -> ignore (ignored when the LLVM version 20.1.7 is older than 21.0.0) (J0)
  • [codegen] tests/codegen/option-niche-eq.rs#LLVM21: ignore (ignored when the LLVM version 20.1.5 is older than 21.0.0) -> ignore (ignored when the LLVM version 20.1.7 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.5 is older than 21.0.0) -> ignore (ignored when the LLVM version 20.1.7 is older than 21.0.0) (J0)
  • [assembly] tests/assembly/x86_64-cmp.rs#LLVM-PRE-20-DEBUG: ignore (ignored when the LLVM version (20.1.5) is newer than majorversion 19) -> ignore (ignored when the LLVM version (20.1.7) is newer than majorversion 19) (J1)
  • [assembly] tests/assembly/x86_64-cmp.rs#LLVM-PRE-20-OPTIM: ignore (ignored when the LLVM version (20.1.5) is newer than majorversion 19) -> ignore (ignored when the LLVM version (20.1.7) is newer than majorversion 19) (J1)
  • [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)) (J2)

Job group index

Test dashboard

Run

cargo run --manifest-path src/ci/citool/Cargo.toml -- \
    test-dashboard 55d436467c351b56253deeba209ae2553d1c243f --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-apple: 7363.1s -> 10192.3s (38.4%)
  2. mingw-check-tidy: 70.5s -> 52.7s (-25.2%)
  3. test-various: 4629.6s -> 5666.1s (22.4%)
  4. mingw-check-2: 2102.7s -> 2510.8s (19.4%)
  5. mingw-check-1: 1960.0s -> 2314.9s (18.1%)
  6. x86_64-rust-for-linux: 2994.3s -> 3532.9s (18.0%)
  7. armhf-gnu: 4819.8s -> 5575.6s (15.7%)
  8. dist-apple-various: 8256.2s -> 6977.3s (-15.5%)
  9. x86_64-gnu: 7018.8s -> 8011.8s (14.1%)
  10. x86_64-apple-2: 6380.3s -> 5524.1s (-13.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.

@dianqk dianqk deleted the llvm-20.1.7 branch June 17, 2025 03:02
@rust-timer
Copy link
Collaborator

Finished benchmarking commit (55d4364): comparison URL.

Overall result: no relevant changes - no action needed

@rustbot label: -perf-regression

Instruction count

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

Max RSS (memory usage)

Results (secondary 2.8%)

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

Cycles

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

Binary size

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

Bootstrap: 756.938s -> 756.784s (-0.02%)
Artifact size: 372.14 MiB -> 372.10 MiB (-0.01%)

github-actions bot pushed a commit to rust-lang/miri that referenced this pull request Jun 17, 2025
Fix `-nopt` CI jobs

They were using `--config` instead of `--set`, which overrides too much stuff after recent changes to config merging.

Should hopefully unblock rust-lang/rust#142447.

r? `@jieyouxu`
lnicola pushed a commit to lnicola/rust-analyzer that referenced this pull request Jun 18, 2025
Fix `-nopt` CI jobs

They were using `--config` instead of `--set`, which overrides too much stuff after recent changes to config merging.

Should hopefully unblock rust-lang/rust#142447.

r? `@jieyouxu`
@apiraino
Copy link
Contributor

Beta backport declined as per compiler team on Zulip. We are a bit close to the release, let's let this bake for a bit more.

@rustbot label -beta-nominated

Sign up for free to join this conversation on GitHub. Already have an account? Sign in 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
10 participants