[clang] [AMDGPU][SPIR-V] Fix treating SPIR-V input as LLVM-IR (PR #202986)
via cfe-commits
cfe-commits at lists.llvm.org
Wed Jun 10 07:09:15 PDT 2026
llvmorg-github-actions[bot] wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-clang
Author: Joseph Huber (jhuber6)
<details>
<summary>Changes</summary>
Summary:
This hack is intended for non-RDC AMDGCN.
---
Full diff: https://github.com/llvm/llvm-project/pull/202986.diff
2 Files Affected:
- (modified) clang/lib/Driver/ToolChains/Clang.cpp (+1-1)
- (modified) clang/test/Driver/hip-toolchain-no-rdc.hip (+8)
``````````diff
diff --git a/clang/lib/Driver/ToolChains/Clang.cpp b/clang/lib/Driver/ToolChains/Clang.cpp
index 5b124ed9f9832..c3ccee7f19653 100644
--- a/clang/lib/Driver/ToolChains/Clang.cpp
+++ b/clang/lib/Driver/ToolChains/Clang.cpp
@@ -9706,7 +9706,7 @@ void LinkerWrapper::ConstructJob(Compilation &C, const JobAction &JA,
options::OPT_fprofile_instr_generate_EQ);
if (!Args.hasArg(options::OPT_foffload_lto_EQ,
options::OPT_fno_offload_lto) &&
- !UsesProfileGenerate)
+ !UsesProfileGenerate && !TC->getTriple().isSPIRV())
CmdArgs.push_back("--no-lto");
}
}
diff --git a/clang/test/Driver/hip-toolchain-no-rdc.hip b/clang/test/Driver/hip-toolchain-no-rdc.hip
index 591342df3839c..dbea253dc75d1 100644
--- a/clang/test/Driver/hip-toolchain-no-rdc.hip
+++ b/clang/test/Driver/hip-toolchain-no-rdc.hip
@@ -47,6 +47,14 @@
// RUN: %s -nogpuinc -nogpulib \
// RUN: 2>&1 | FileCheck -check-prefixes=AMDGCNSPIRV-NEW %s
+// SPIR-V requires the LTO pipeline; --no-lto must not be passed.
+// RUN: %clang -### --target=x86_64-linux-gnu -fno-gpu-rdc \
+// RUN: --offload-arch=amdgcnspirv -nogpuinc -nogpulib \
+// RUN: %s 2>&1 | FileCheck -check-prefixes=SPIRV-NO-LTO %s
+// SPIRV-NO-LTO: {{".*clang-linker-wrapper}}
+// SPIRV-NO-LTO-NOT: "--no-lto"
+// SPIRV-NO-LTO-SAME: "--emit-fatbin-only"
+
// Profile generation needs LTO, so the linker wrapper must not get --no-lto.
// RUN: %clang -### --target=x86_64-linux-gnu -fno-gpu-rdc -fprofile-generate \
// RUN: -x hip --cuda-gpu-arch=gfx900 -nogpuinc -nogpulib --offload-new-driver \
``````````
</details>
https://github.com/llvm/llvm-project/pull/202986
More information about the cfe-commits
mailing list