[clang] 6fb36db - [LinkerWrapper] Fix 'save-temps' when targeting SPIR-V (#144605)

via cfe-commits cfe-commits at lists.llvm.org
Tue Jun 17 14:16:40 PDT 2025


Author: Joseph Huber
Date: 2025-06-17T16:16:37-05:00
New Revision: 6fb36db4818abde56e5da47899dcdaacd8293903

URL: https://github.com/llvm/llvm-project/commit/6fb36db4818abde56e5da47899dcdaacd8293903
DIFF: https://github.com/llvm/llvm-project/commit/6fb36db4818abde56e5da47899dcdaacd8293903.diff

LOG: [LinkerWrapper] Fix 'save-temps' when targeting SPIR-V (#144605)

Summary:
The logic here is flawed, it was only intended to apply to the CPU case
where we use the linker passed in on the command line. This was falsely
applying to SPIR-V which caused issues.

Added: 
    

Modified: 
    clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp

Removed: 
    


################################################################################
diff  --git a/clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp b/clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
index 7a1007d03737e..0f1fa8b329fd6 100644
--- a/clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
+++ b/clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
@@ -268,7 +268,8 @@ Expected<std::string> findProgram(StringRef Name, ArrayRef<StringRef> Paths) {
 bool linkerSupportsLTO(const ArgList &Args) {
   llvm::Triple Triple(Args.getLastArgValue(OPT_triple_EQ));
   return Triple.isNVPTX() || Triple.isAMDGPU() ||
-         Args.getLastArgValue(OPT_linker_path_EQ).ends_with("lld");
+         (!Triple.isGPU() &&
+          Args.getLastArgValue(OPT_linker_path_EQ).ends_with("lld"));
 }
 
 /// Returns the hashed value for a constant string.


        


More information about the cfe-commits mailing list