Skip to content

Reapply [Offload][lit] Link against SPIR-V DeviceRTL if present#180231

Merged
sarnex merged 1 commit intollvm:mainfrom
sarnex:litagainrtl
Feb 9, 2026
Merged

Reapply [Offload][lit] Link against SPIR-V DeviceRTL if present#180231
sarnex merged 1 commit intollvm:mainfrom
sarnex:litagainrtl

Conversation

@sarnex
Copy link
Copy Markdown
Member

@sarnex sarnex commented Feb 6, 2026

I'll merge this at the same time as some llvm-zorg changes that start building the DeviceRTL.

We only see one new test passing because everything still fails because of the issue described in #178980

Once a fix for that issue is merged we will see many new passes.

@sarnex sarnex marked this pull request as ready for review February 6, 2026 18:53
@llvmbot llvmbot added the offload label Feb 6, 2026
@llvmbot
Copy link
Copy Markdown
Member

llvmbot commented Feb 6, 2026

@llvm/pr-subscribers-offload

Author: Nick Sarnie (sarnex)

Changes

I'll merge this at the same time as some llvm-zorg changes that start building the DeviceRTL.

We only see one new test passing because everything still fails because of the issue described in #178980

Once a fix for that issue is merged we will see many new passes.


Full diff: https://github.com/llvm/llvm-project/pull/180231.diff

2 Files Affected:

  • (modified) offload/test/lit.cfg (+3-2)
  • (modified) offload/test/mapping/firstprivate_aligned.cpp (-1)
diff --git a/offload/test/lit.cfg b/offload/test/lit.cfg
index 0d5a9c95c1d95..898258f3e3cd0 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,7 @@ 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.
         return source
     if config.libomptarget_has_libc:
         return source + " -Xoffload-linker -lc " + \
diff --git a/offload/test/mapping/firstprivate_aligned.cpp b/offload/test/mapping/firstprivate_aligned.cpp
index bf09eb0b0f589..ae6be0f0c07f4 100644
--- a/offload/test/mapping/firstprivate_aligned.cpp
+++ b/offload/test/mapping/firstprivate_aligned.cpp
@@ -1,5 +1,4 @@
 // RUN: %libomptarget-compilexx-generic -O3 && %libomptarget-run-generic
-// XFAIL: intelgpu
 
 #include <stdio.h>
 

@sarnex sarnex requested a review from jhuber6 February 6, 2026 18:53
@sarnex sarnex merged commit 7fcc12c into llvm:main Feb 9, 2026
14 checks passed
@llvm-ci
Copy link
Copy Markdown

llvm-ci commented Feb 9, 2026

LLVM Buildbot has detected a new failure on builder intel-sycl-gpu running on intel-sycl-gpu-01 while building offload at step 6 "test-build-unified-tree-check-all".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/225/builds/2309

Here is the relevant piece of the build log for the reference
Step 6 (test-build-unified-tree-check-all) failure: test (failure)
******************** TEST 'libomptarget :: spirv64-intel :: mapping/declare_mapper_api.cpp' FAILED ********************
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 1
/home/test-user/llvm-buildbot-worker/intel-sycl-gpu/build/./bin/clang++ -fopenmp    -I /home/test-user/llvm-buildbot-worker/intel-sycl-gpu/llvm-project/offload/test -I /home/test-user/llvm-buildbot-worker/intel-sycl-gpu/build/runtimes/runtimes-bins/openmp/runtime/src -L /home/test-user/llvm-buildbot-worker/intel-sycl-gpu/build/runtimes/runtimes-bins/offload -L /home/test-user/llvm-buildbot-worker/intel-sycl-gpu/build/./lib -L /home/test-user/llvm-buildbot-worker/intel-sycl-gpu/build/./lib -L /home/test-user/llvm-buildbot-worker/intel-sycl-gpu/build/runtimes/runtimes-bins/openmp/runtime/src  -Wl,-rpath,/home/test-user/llvm-buildbot-worker/intel-sycl-gpu/build/runtimes/runtimes-bins/offload -Wl,-rpath,/home/test-user/llvm-buildbot-worker/intel-sycl-gpu/build/runtimes/runtimes-bins/openmp/runtime/src -Wl,-rpath,/home/test-user/llvm-buildbot-worker/intel-sycl-gpu/build/./lib -Wl,-rpath,/home/test-user/llvm-buildbot-worker/intel-sycl-gpu/build/./lib  -fopenmp-targets=spirv64-intel /home/test-user/llvm-buildbot-worker/intel-sycl-gpu/llvm-project/offload/test/mapping/declare_mapper_api.cpp -o /home/test-user/llvm-buildbot-worker/intel-sycl-gpu/build/runtimes/runtimes-bins/offload/test/spirv64-intel/mapping/Output/declare_mapper_api.cpp.tmp && /home/test-user/llvm-buildbot-worker/intel-sycl-gpu/build/runtimes/runtimes-bins/offload/test/spirv64-intel/mapping/Output/declare_mapper_api.cpp.tmp | /home/test-user/llvm-buildbot-worker/intel-sycl-gpu/build/./bin/FileCheck /home/test-user/llvm-buildbot-worker/intel-sycl-gpu/llvm-project/offload/test/mapping/declare_mapper_api.cpp
# executed command: /home/test-user/llvm-buildbot-worker/intel-sycl-gpu/build/./bin/clang++ -fopenmp -I /home/test-user/llvm-buildbot-worker/intel-sycl-gpu/llvm-project/offload/test -I /home/test-user/llvm-buildbot-worker/intel-sycl-gpu/build/runtimes/runtimes-bins/openmp/runtime/src -L /home/test-user/llvm-buildbot-worker/intel-sycl-gpu/build/runtimes/runtimes-bins/offload -L /home/test-user/llvm-buildbot-worker/intel-sycl-gpu/build/./lib -L /home/test-user/llvm-buildbot-worker/intel-sycl-gpu/build/./lib -L /home/test-user/llvm-buildbot-worker/intel-sycl-gpu/build/runtimes/runtimes-bins/openmp/runtime/src -Wl,-rpath,/home/test-user/llvm-buildbot-worker/intel-sycl-gpu/build/runtimes/runtimes-bins/offload -Wl,-rpath,/home/test-user/llvm-buildbot-worker/intel-sycl-gpu/build/runtimes/runtimes-bins/openmp/runtime/src -Wl,-rpath,/home/test-user/llvm-buildbot-worker/intel-sycl-gpu/build/./lib -Wl,-rpath,/home/test-user/llvm-buildbot-worker/intel-sycl-gpu/build/./lib -fopenmp-targets=spirv64-intel /home/test-user/llvm-buildbot-worker/intel-sycl-gpu/llvm-project/offload/test/mapping/declare_mapper_api.cpp -o /home/test-user/llvm-buildbot-worker/intel-sycl-gpu/build/runtimes/runtimes-bins/offload/test/spirv64-intel/mapping/Output/declare_mapper_api.cpp.tmp
# .---command stderr------------
# | clang++: error: no library 'libomptarget-spirv.bc' found in the default clang lib directory or in LIBRARY_PATH; use '--libomptarget-spirv-bc-path' to specify spirv bitcode library
# `-----------------------------
# error: command failed with exit status: 1

--

********************


@sarnex
Copy link
Copy Markdown
Member Author

sarnex commented Feb 9, 2026

Can ignore, just gotta wait for llvm-zorg change which i already merged to take effect

@sarnex
Copy link
Copy Markdown
Member Author

sarnex commented Feb 10, 2026

Reverting again, the buildbot infra seems to have not updated yet

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants