about summary refs log tree commit diff
path: root/compiler/rustc_codegen_llvm/src
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2024-11-01 02:13:05 +0000
committerbors <bors@rust-lang.org>2024-11-01 02:13:05 +0000
commita8e1186e3c14a54f7a38cc1183117dc7e77f4f82 (patch)
tree66049976a0cecce82ef0fec07cdac670a37db049 /compiler/rustc_codegen_llvm/src
parent24254efb432739965c50c43c86b2eabbb947a31c (diff)
parentacd839d99258ca1a060882e79377c3e9a9528c30 (diff)
downloadrust-a8e1186e3c14a54f7a38cc1183117dc7e77f4f82.tar.gz
rust-a8e1186e3c14a54f7a38cc1183117dc7e77f4f82.zip
Auto merge of #132435 - workingjubilee:rollup-3mgogw9, r=workingjubilee
Rollup of 9 pull requests

Successful merges:

 - #131168 (Fix `target_os` for `mipsel-sony-psx`)
 - #132209 (Fix validation when lowering `?` trait bounds)
 - #132294 (Bump Fuchsia)
 - #132357 (Improve missing_abi lint)
 - #132385 (compiler: Move `rustc_target::spec::abi::Abi` to `rustc_abi::ExternAbi`)
 - #132403 (continue `TypingMode` refactor)
 - #132417 (macOS: Document the difference between Clang's `-darwin` and `-macosx` targets)
 - #132421 (Remove `""` case from RISC-V `llvm_abiname` match statement)
 - #132422 (llvm: Match new LLVM 128-bit integer alignment on sparc)

r? `@ghost`
`@rustbot` modify labels: rollup
Diffstat (limited to 'compiler/rustc_codegen_llvm/src')
-rw-r--r--compiler/rustc_codegen_llvm/src/context.rs5
1 files changed, 5 insertions, 0 deletions
diff --git a/compiler/rustc_codegen_llvm/src/context.rs b/compiler/rustc_codegen_llvm/src/context.rs
index 313957dda96..13428b109d9 100644
--- a/compiler/rustc_codegen_llvm/src/context.rs
+++ b/compiler/rustc_codegen_llvm/src/context.rs
@@ -148,6 +148,11 @@ pub(crate) unsafe fn create_module<'ll>(
             target_data_layout =
                 target_data_layout.replace("-p270:32:32-p271:32:32-p272:64:64", "");
         }
+        if sess.target.arch.starts_with("sparc") {
+            // LLVM 20 updates the sparc layout to correctly align 128 bit integers to 128 bit.
+            // See https://github.com/llvm/llvm-project/pull/106951
+            target_data_layout = target_data_layout.replace("-i128:128", "");
+        }
     }
 
     // Ensure the data-layout values hardcoded remain the defaults.