[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