-
Notifications
You must be signed in to change notification settings - Fork 13.2k
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 #135763
Update to LLVM 20 #135763
Conversation
@bors try @rust-timer queue |
This comment has been minimized.
This comment has been minimized.
Update to LLVM 20 r? `@ghost`
☀️ Try build successful - checks-actions |
This comment has been minimized.
This comment has been minimized.
Finished benchmarking commit (79efb5f): comparison URL. Overall result: ❌✅ regressions and improvements - please read the text belowBenchmarking this pull request likely means that it is perf-sensitive, so we're automatically marking it as not fit for rolling up. While you can manually mark this PR as fit for rollup, we strongly recommend not doing so since this PR may lead to changes in compiler perf. Next Steps: If you can justify the regressions found in this try perf run, please indicate this with @bors rollup=never Instruction countThis 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.
Max RSS (memory usage)Results (primary -1.5%, secondary -1.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.
CyclesResults (primary -1.8%, secondary -5.0%)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.
Binary sizeResults (primary -1.2%, secondary -3.0%)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.
Bootstrap: 765.63s -> 749.726s (-2.08%) |
This comment has been minimized.
This comment has been minimized.
The compiler-rt build (via compiler-builtins) for aarch64-unknown-uefi on test-various fails with:
The compilation command is:
Related upstream change: llvm/llvm-project#116706 |
What's wrong with version? |
Testing host-aarch64. @bors try |
Update to LLVM 20 LLVM 20 GA is scheduled for March 11th. Rust 1.86 will be stable on April 3rd. * [x] rust-lang#135764 * [x] rust-lang#136134 * [x] rust-lang/compiler-builtins#752 * [ ] Update compiler-builtins Tested: arm-android, test-various, x86_64-rust-for-linux, x86_64-fuchsia, dist-various-1, dist-various-2, dist-s390x-linux, dist-riscv64-linux, dist-loongarch64-musl try-job: aarch64-gnu try-job: aarch64-gnu-debug try-job: dist-aarch64-linux
☀️ Try build successful - checks-actions |
Testing macos. @bors try |
Update to LLVM 20 LLVM 20 GA is scheduled for March 11th. Rust 1.86 will be stable on April 3rd. * [x] rust-lang#135764 * [x] rust-lang#136134 * [x] rust-lang/compiler-builtins#752 * [ ] Update compiler-builtins Tested: arm-android, test-various, x86_64-rust-for-linux, x86_64-fuchsia, dist-various-1, dist-various-2, dist-s390x-linux, dist-riscv64-linux, dist-loongarch64-musl try-job: dist-x86_64-apple try-job: dist-apple-various try-job: x86_64-apple-1 try-job: x86_64-apple-2 try-job: dist-aarch64-apple try-job: aarch64-apple
☀️ Try build successful - checks-actions |
Testing mingw. @bors try |
Update to LLVM 20 LLVM 20 GA is scheduled for March 11th. Rust 1.86 will be stable on April 3rd. * [x] rust-lang#135764 * [x] rust-lang#136134 * [x] rust-lang/compiler-builtins#752 * [ ] Update compiler-builtins Tested: arm-android, test-various, x86_64-rust-for-linux, x86_64-fuchsia, dist-various-1, dist-various-2, dist-s390x-linux, dist-riscv64-linux, dist-loongarch64-musl try-job: i686-mingw try-job: x86_64-mingw-1 try-job: x86_64-mingw-2 try-job: dist-i686-mingw try-job: dist-x86_64-mingw
This comment has been minimized.
This comment has been minimized.
💔 Test failed - checks-actions |
Looks like crosstool-ng for loongarch was updated since I last tested it, possibly related? cc @heiher |
This seems similar to the issue reported at https://bugs-devel.debian.org/cgi-bin/bugreport.cgi?bug=1089921. Should add |
I believe it is unrelated to updating crosstool-ng.
I also think it's an issue with the small code model, where changes in the C code or changes in the order of symbols during linking have caused the relevant symbols to become more distant from each other. |
Could you try building with this patch? |
Thanks, I'll try that. I also noticed that the default code model in the target docs is outdated. Updated in #137166. |
Thanks. |
It seems that the overflow symbols are in the pre-compiled object files of the |
Patch: heiher@2d875c3 |
The medium code model is already the default on the Rust side. Make sure that linked in C objects (e.g. from glibc) also use medium code model.
Confirmed that the second variant works for both dist-loongarch64-linux and dist-loongarch64-musl. @bors r=cuviper |
☀️ Test successful - checks-actions |
Finished benchmarking commit (ce36a96): comparison URL. Overall result: ❌✅ regressions and improvements - please read the text belowOur benchmarks found a performance regression caused by this PR. Next Steps:
@rustbot label: +perf-regression Instruction countThis 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.
Max RSS (memory usage)Results (primary 0.3%, secondary 2.9%)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.
CyclesResults (primary -1.5%, secondary -5.2%)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.
Binary sizeResults (primary -1.3%, secondary -3.0%)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.
Bootstrap: 787.551s -> 774.698s (-1.63%) |
Wins dominate the small regressions. The only large regression is on an @rustbot label: +perf-regression-triaged |
LLVM 20 GA is scheduled for March 11th. Rust 1.87 will be stable on May 15th.
compiler-builtins
to 0.1.145 #136537Tested: host-x86_64, host-aarch64, apple, mingw, msvc