[clang] 00f263b - [HIP][SPIR-V] Enable -spirv-preserve-auxdata (#209520)

via cfe-commits cfe-commits at lists.llvm.org
Wed Jul 15 07:37:40 PDT 2026


Author: Marcos Maronas
Date: 2026-07-15T15:37:35+01:00
New Revision: 00f263b209a834eca2092d4a91d25b5413caea39

URL: https://github.com/llvm/llvm-project/commit/00f263b209a834eca2092d4a91d25b5413caea39
DIFF: https://github.com/llvm/llvm-project/commit/00f263b209a834eca2092d4a91d25b5413caea39.diff

LOG: [HIP][SPIR-V] Enable -spirv-preserve-auxdata (#209520)

Function attributes such as `convergent` are only kept through SPIRV if
`-spirv-preserve-auxdata` is enabled. This is important to keep the
translation as accurate as possible. Also, this aligns with the
translator path.

Added: 
    

Modified: 
    clang/lib/Driver/ToolChains/HIPAMD.cpp
    clang/test/Driver/spirv-amd-toolchain.c

Removed: 
    


################################################################################
diff  --git a/clang/lib/Driver/ToolChains/HIPAMD.cpp b/clang/lib/Driver/ToolChains/HIPAMD.cpp
index 9ceefe4f18f03..245cf642cf853 100644
--- a/clang/lib/Driver/ToolChains/HIPAMD.cpp
+++ b/clang/lib/Driver/ToolChains/HIPAMD.cpp
@@ -176,8 +176,8 @@ void AMDGCN::Linker::constructLinkAndEmitSpirvCommand(
     llvm::opt::ArgStringList CmdArgs;
 
     CmdArgs.append({"-cc1", "-triple=spirv64-amd-amdhsa", "-emit-obj",
-                    "-disable-llvm-optzns", LinkedBCFile.getFilename(), "-o",
-                    Output.getFilename()});
+                    "-disable-llvm-optzns", "-mllvm", "-spirv-preserve-auxdata",
+                    LinkedBCFile.getFilename(), "-o", Output.getFilename()});
 
     const Driver &Driver = getToolChain().getDriver();
     const char *Exec = Driver.getDriverProgramPath();

diff  --git a/clang/test/Driver/spirv-amd-toolchain.c b/clang/test/Driver/spirv-amd-toolchain.c
index edd142329c4d4..356440a308a23 100644
--- a/clang/test/Driver/spirv-amd-toolchain.c
+++ b/clang/test/Driver/spirv-amd-toolchain.c
@@ -29,4 +29,4 @@
 // RUN:   | FileCheck %s --check-prefix=INVOCATION-SPIRV-BACKEND
 // INVOCATION-SPIRV-BACKEND: "-cc1" "-triple" "spirv64-amd-amdhsa" {{.*}}"-flto=full" "-flto-unit"{{.*}}"-disable-llvm-optzns" {{.*}} "-o" "[[OUTPUT:.+]]" "-x" "c"
 // INVOCATION-SPIRV-BACKEND: "{{.*}}llvm-link" "-o" "[[LINKED_OUTPUT:.+]]" "[[OUTPUT]]"
-// INVOCATION-SPIRV-BACKEND: "-cc1" "-triple=spirv64-amd-amdhsa" "-emit-obj" {{.*}} "[[LINKED_OUTPUT]]" "-o" "a.out"
+// INVOCATION-SPIRV-BACKEND: "-cc1" "-triple=spirv64-amd-amdhsa" "-emit-obj" {{.*}} "-mllvm" "-spirv-preserve-auxdata" "[[LINKED_OUTPUT]]" "-o" "a.out"


        


More information about the cfe-commits mailing list