-
Notifications
You must be signed in to change notification settings - Fork 13.1k
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
rustc_target: ppc64 target string fixes for LLVM 20 #134115
Conversation
r? @davidtwco rustbot has assigned @davidtwco. Use |
These commits modify compiler targets. |
@rustbot label: +llvm-main |
This comment has been minimized.
This comment has been minimized.
074e6a7
to
e5d4518
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
r? jieyouxu @bors r+ rollup |
e5d4518
to
0680155
Compare
Actually let's wait for PR CI. r=me once PR CI is green. |
Looks like bors finished? Or am I missing something in the UI? |
It is indeed finished. @bors r+ rollup |
Thanks! |
Rollup of 9 pull requests Successful merges: - rust-lang#134042 (Add the `power8-crypto` target feature) - rust-lang#134070 (Some asm! diagnostic adjustments and a papercut fix) - rust-lang#134094 (Tweak wording of non-const traits used as const bounds) - rust-lang#134100 (Remove rustc_const_stable attribute on const NOOP) - rust-lang#134103 (Don't ICE when encountering never in range pattern) - rust-lang#134113 (run-make: Fix `assert_stderr_not_contains_regex`) - rust-lang#134115 (rustc_target: ppc64 target string fixes for LLVM 20) - rust-lang#134116 (stabilize const_nonnull_new) - rust-lang#134120 (Remove Felix from ping groups and review rotation) r? `@ghost` `@rustbot` modify labels: rollup
Rollup of 9 pull requests Successful merges: - rust-lang#133583 (Fix type (exit → exist)) - rust-lang#134042 (Add the `power8-crypto` target feature) - rust-lang#134094 (Tweak wording of non-const traits used as const bounds) - rust-lang#134100 (Remove rustc_const_stable attribute on const NOOP) - rust-lang#134103 (Don't ICE when encountering never in range pattern) - rust-lang#134113 (run-make: Fix `assert_stderr_not_contains_regex`) - rust-lang#134115 (rustc_target: ppc64 target string fixes for LLVM 20) - rust-lang#134116 (stabilize const_nonnull_new) - rust-lang#134120 (Remove Felix from ping groups and review rotation) r? `@ghost` `@rustbot` modify labels: rollup
Rollup of 9 pull requests Successful merges: - rust-lang#133583 (Fix type (exit → exist)) - rust-lang#134042 (Add the `power8-crypto` target feature) - rust-lang#134094 (Tweak wording of non-const traits used as const bounds) - rust-lang#134100 (Remove rustc_const_stable attribute on const NOOP) - rust-lang#134103 (Don't ICE when encountering never in range pattern) - rust-lang#134113 (run-make: Fix `assert_stderr_not_contains_regex`) - rust-lang#134115 (rustc_target: ppc64 target string fixes for LLVM 20) - rust-lang#134116 (stabilize const_nonnull_new) - rust-lang#134120 (Remove Felix from ping groups and review rotation) r? `@ghost` `@rustbot` modify labels: rollup
Corresponding LLVM change for reference llvm/llvm-project#118004 |
Rollup of 9 pull requests Successful merges: - rust-lang#133583 (Fix type (exit → exist)) - rust-lang#134042 (Add the `power8-crypto` target feature) - rust-lang#134094 (Tweak wording of non-const traits used as const bounds) - rust-lang#134100 (Remove rustc_const_stable attribute on const NOOP) - rust-lang#134103 (Don't ICE when encountering never in range pattern) - rust-lang#134113 (run-make: Fix `assert_stderr_not_contains_regex`) - rust-lang#134115 (rustc_target: ppc64 target string fixes for LLVM 20) - rust-lang#134116 (stabilize const_nonnull_new) - rust-lang#134120 (Remove Felix from ping groups and review rotation) r? `@ghost` `@rustbot` modify labels: rollup
Rollup merge of rust-lang#134115 - durin42:ppc64-target-string, r=jieyouxu rustc_target: ppc64 target string fixes for LLVM 20 LLVM continues to clean these up, and we continue to make this consistent. This is similar to 9caced7, e985396, and a10e744. ```@rustbot``` label: +llvm-main
Rust's 128-bit integers have historically been incompatible with C [1]. However, there have been a number of changes in Rust and LLVM that mean this is no longer the case: * Incorrect alignment of `i128` on x86 [1]: adjusting Rust's alignment proposed at rust-lang/compiler-team#683, implemented at rust-lang#116672. * LLVM version of the above: resolved in LLVM, including ABI fix. Present in LLVM18 (our minimum supported version). * Incorrect alignment of `i128` on 64-bit PowerPC, SPARC, and MIPS [2]: Rust's data layouts adjusted at rust-lang#132422, rust-lang#132741, rust-lang#134115. * LLVM version of the above: done in LLVM 20 llvm/llvm-project#102783. * Incorrect return convention of `i128` on Windows: adjusted to match GCC and Clang at rust-lang#134290. At [3], the lang team considered it acceptable to remove `i128` from `improper_ctypes_definitions` if the LLVM version is known to be compatible. Time has elapsed since then and we have dropped support for LLVM versions that do not have the x86 fixes, meaning a per-llvm-version lint should no longer be necessary. The PowerPC, SPARC, and MIPS changes only came in LLVM 20 but since Rust's datalayouts have also been updated to match, we will be using the correct alignment regardless of LLVM version. Closes: rust-lang#134288 Closes: rust-lang#128950 [1]: rust-lang#54341 [2]: rust-lang#128950 [3]: rust-lang/lang-team#255 (comment)
LLVM continues to clean these up, and we continue to make this consistent. This is similar to 9caced7, e985396, and
a10e744.
LLVM PR: llvm/llvm-project#118004
@rustbot
label: +llvm-main