about summary refs log tree commit diff
path: root/compiler/rustc_codegen_llvm/src/context.rs
diff options
context:
space:
mode:
authorAugie Fackler <augie@google.com>2025-02-04 10:35:05 -0500
committerAugie Fackler <augie@google.com>2025-02-04 10:37:07 -0500
commite9cb36bd0f86bc79587ecf840ff6b2fa7cc94d17 (patch)
tree4da6fa22c96ef392c64b0dc1d239fb2ba0d0a1af /compiler/rustc_codegen_llvm/src/context.rs
parent7b31983d5506e975801963b88b36c504eb2cecd8 (diff)
downloadrust-e9cb36bd0f86bc79587ecf840ff6b2fa7cc94d17.tar.gz
rust-e9cb36bd0f86bc79587ecf840ff6b2fa7cc94d17.zip
nvptx64: update default alignment to match LLVM 21
This changed in llvm/llvm-project@91cb8f5d3202870602c6bef807bc4c7ae8a32790.
The commit itself is mostly about some intrinsic instructions, but as an
aside it also mentions something about addrspace for tensor memory,
which I believe is what this string is telling us.

@rustbot label: +llvm-main
Diffstat (limited to 'compiler/rustc_codegen_llvm/src/context.rs')
-rw-r--r--compiler/rustc_codegen_llvm/src/context.rs6
1 files changed, 6 insertions, 0 deletions
diff --git a/compiler/rustc_codegen_llvm/src/context.rs b/compiler/rustc_codegen_llvm/src/context.rs
index ba4fd75fb94..ebb4b421ad0 100644
--- a/compiler/rustc_codegen_llvm/src/context.rs
+++ b/compiler/rustc_codegen_llvm/src/context.rs
@@ -194,6 +194,12 @@ pub(crate) unsafe fn create_module<'ll>(
             target_data_layout = target_data_layout.replace("-i128:128", "");
         }
     }
+    if llvm_version < (21, 0, 0) {
+        if sess.target.arch == "nvptx64" {
+            // LLVM 21 updated the default layout on nvptx: https://github.com/llvm/llvm-project/pull/124961
+            target_data_layout = target_data_layout.replace("e-p6:32:32-i64", "e-i64");
+        }
+    }
 
     // Ensure the data-layout values hardcoded remain the defaults.
     {