https://github.com/fineg74 updated 
https://github.com/llvm/llvm-project/pull/180066

>From f4498e94beeb8ace874bb931ff7f6517e4ef6940 Mon Sep 17 00:00:00 2001
From: "Fine, Gregory" <[email protected]>
Date: Thu, 5 Feb 2026 15:19:56 -0800
Subject: [PATCH 1/2] Make linker to link Device RTL  when built for SPIRV

---
 clang/lib/Driver/ToolChains/Clang.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/clang/lib/Driver/ToolChains/Clang.cpp 
b/clang/lib/Driver/ToolChains/Clang.cpp
index 5575b644c6814..a455ad56d4f72 100644
--- a/clang/lib/Driver/ToolChains/Clang.cpp
+++ b/clang/lib/Driver/ToolChains/Clang.cpp
@@ -9283,7 +9283,7 @@ void LinkerWrapper::ConstructJob(Compilation &C, const 
JobAction &JA,
 
       // If this is OpenMP the device linker will need `-lompdevice`.
       if (Kind == Action::OFK_OpenMP && !Args.hasArg(OPT_no_offloadlib) &&
-          (TC->getTriple().isAMDGPU() || TC->getTriple().isNVPTX()))
+          TC->getTriple().isGPU())
         LinkerArgs.emplace_back("-lompdevice");
 
       // Forward all of these to the appropriate toolchain.

>From 397cba6fda3ee6c95d9fabcb614d0483b16fea53 Mon Sep 17 00:00:00 2001
From: "Fine, Gregory" <[email protected]>
Date: Fri, 13 Feb 2026 15:03:54 -0800
Subject: [PATCH 2/2] Add a test

---
 clang/test/Driver/openmp-offload-gpu.c | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/clang/test/Driver/openmp-offload-gpu.c 
b/clang/test/Driver/openmp-offload-gpu.c
index fb1bc9ffdbbd4..f12e79868fca2 100644
--- a/clang/test/Driver/openmp-offload-gpu.c
+++ b/clang/test/Driver/openmp-offload-gpu.c
@@ -410,3 +410,20 @@
 // RUN:   | FileCheck --check-prefix=SHOULD-EXTRACT %s
 //
 // SHOULD-EXTRACT: clang-linker-wrapper{{.*}}"--should-extract=gfx906"
+
+//
+// Check ompdevice is linked.
+//
+// RUN:   %clang -###  -fopenmp -fopenmp-targets=nvptx64 --offload-arch=sm_52 \
+// RUN:     --cuda-path=%S/Inputs/CUDA_102/usr/local/cuda \
+// RUN:     
--libomptarget-nvptx-bc-path=%S/Inputs/libomptarget/libomptarget-nvptx-test.bc 
%s 2>&1 \
+// RUN:   | FileCheck --check-prefix=OMPDEVICE %s
+//
+// RUN:   %clang -###  -fopenmp -fopenmp-targets=amdgcn --offload-arch=gfx908 \
+// RUN:     --rocm-device-lib-path=%S/Inputs/rocm/amdgcn/bitcode %s 2>&1 \
+// RUN:   | FileCheck --check-prefix=OMPDEVICE %s
+//
+// RUN:   %clang -###  -fopenmp -fopenmp-targets=spirv64 \
+// RUN:     
--libomptarget-spirv-bc-path=%S/Inputs/spirv-openmp/lib/libomptarget-spirv.bc 
%s 2>&1 \
+// RUN:   | FileCheck --check-prefix=OMPDEVICE %s
+// OMPDEVICE: clang-linker-wrapper{{.*}}--device-linker{{.*}}-lompdevice

_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to