[Openmp-commits] [llvm] [openmp] [Offload][lit] Link against SPIR-V DeviceRTL if present (PR #180030)

Nick Sarnie via Openmp-commits openmp-commits at lists.llvm.org
Thu Feb 5 12:55:28 PST 2026


https://github.com/sarnex updated https://github.com/llvm/llvm-project/pull/180030

>From 9d16d55d2dce092cce682ef2bc89ffdbed743504 Mon Sep 17 00:00:00 2001
From: Nick Sarnie <nick.sarnie at intel.com>
Date: Thu, 5 Feb 2026 12:50:02 -0800
Subject: [PATCH] [Offload][lit] Link against SPIR-V DeviceRTL if present

Signed-off-by: Nick Sarnie <nick.sarnie at intel.com>
---
 offload/test/lit.cfg                           | 6 ++++--
 offload/test/mapping/declare_mapper_target.cpp | 1 -
 openmp/device/src/LibC.cpp                     | 2 +-
 3 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/offload/test/lit.cfg b/offload/test/lit.cfg
index 0d5a9c95c1d95..5d7e0994df692 100644
--- a/offload/test/lit.cfg
+++ b/offload/test/lit.cfg
@@ -166,7 +166,8 @@ elif config.operating_system == 'Darwin':
     config.test_flags += " -Wl,-rpath," + config.library_dir
     config.test_flags += " -Wl,-rpath," + config.omp_host_rtl_directory
 else: # Unices
-    if config.libomptarget_current_target != "nvptx64-nvidia-cuda":
+    if config.libomptarget_current_target != "nvptx64-nvidia-cuda" and \
+       not config.libomptarget_current_target.startswith('spirv')":
         config.test_flags += " -nogpulib"
     config.test_flags += " -Wl,-rpath," + config.library_dir
     config.test_flags += " -Wl,-rpath," + config.omp_host_rtl_directory
@@ -214,7 +215,8 @@ def add_libraries(source):
     if "gpu" not in config.available_features:
         return source
     if "intelgpu" in config.available_features:
-        # There is no DeviceRTL for Intel yet and libc doesn't work.
+        # SPIR-V uses an out-of-tree linker
+        # and libc doesn't work yet.
         return source
     if config.libomptarget_has_libc:
         return source + " -Xoffload-linker -lc " + \
diff --git a/offload/test/mapping/declare_mapper_target.cpp b/offload/test/mapping/declare_mapper_target.cpp
index d1405c23892bf..4d7237e94657a 100644
--- a/offload/test/mapping/declare_mapper_target.cpp
+++ b/offload/test/mapping/declare_mapper_target.cpp
@@ -1,5 +1,4 @@
 // RUN: %libomptarget-compile-run-and-check-generic
-// XFAIL: intelgpu
 
 #include <cstdio>
 #include <cstdlib>
diff --git a/openmp/device/src/LibC.cpp b/openmp/device/src/LibC.cpp
index 83f9233d94803..9cbe4c329a815 100644
--- a/openmp/device/src/LibC.cpp
+++ b/openmp/device/src/LibC.cpp
@@ -8,7 +8,7 @@
 
 #include "LibC.h"
 
-#if defined(__AMDGPU__) && !defined(OMPTARGET_HAS_LIBC)
+#if !defined(OMPTARGET_HAS_LIBC)
 extern "C" int vprintf(const char *format, __builtin_va_list) { return -1; }
 #else
 extern "C" int vprintf(const char *format, __builtin_va_list);



More information about the Openmp-commits mailing list