-
Notifications
You must be signed in to change notification settings - Fork 12.7k
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 18.1.6 #125288
Update to LLVM 18.1.6 #125288
Conversation
|
@bors r+ rollup=never |
☀️ Test successful - checks-actions |
Nominating for backport, as this fixes multiple miscompilations known to affect Rust code. |
Maybe we can cherry-pick some commits to |
Finished benchmarking commit (20483b6): comparison URL. Overall result: ✅ improvements - no action needed@rustbot label: -perf-regression Instruction countThis is a highly reliable metric that was used to determine the overall result at the top of this comment.
Max RSS (memory usage)Results (primary -0.4%)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 (secondary -4.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 sizeThis benchmark run did not return any relevant results for this metric. Bootstrap: 670.375s -> 670.193s (-0.03%) |
This is just a summary of the changes made in this update. The aim is to quickly understand what changes have been made. I am not able to review these changes for potential issues here. We should trust that these changes have undergone two rounds of reviews by upstream experts (merging into the main branch and backporting to release/18.x). From my personal perspective, this update fixes many issues on the T1 and T2 platforms, and I believe we should backport this PR. The only thing to note is that there is a regression issue with PowerPC (T2), see: llvm/llvm-project#92991, but this should be fixed and updated soon. The relevant changes are as follows, which I generated using the script Details
|
[beta] backports - Add `#[inline]` to float `Debug` fallback used by `cfg(no_fp_fmt_parse)` rust-lang#125252 - Add v0 symbol mangling for `f16` and `f128` rust-lang#123816 - Only make GAT ambiguous in `match_projection_projections` considering shallow resolvability rust-lang#125214 - Update to LLVM 18.1.6 rust-lang#125288 r? cuviper
[beta] backports - Add `#[inline]` to float `Debug` fallback used by `cfg(no_fp_fmt_parse)` rust-lang#125252 - Add v0 symbol mangling for `f16` and `f128` rust-lang#123816 - Only make GAT ambiguous in `match_projection_projections` considering shallow resolvability rust-lang#125214 - Update to LLVM 18.1.6 rust-lang#125288 r? cuviper
This rebases our LLVM fork on top of LLVM 18.1.6, which is planned to be the last release of the 18.x series.
Fixes #123695 (miscompile with wrapping pointer arithmetic).
Fixes #125053 (compiler crash on M1).
Also fixes https://bugzilla.redhat.com/show_bug.cgi?id=2226905 (crypto miscompile on s390x).
r? @cuviper