[clang] [clang-linker-wrapper][lit] Fix SPIR-V ELF test when spirv-tools feature is available (PR #126756)

Nick Sarnie via cfe-commits cfe-commits at lists.llvm.org
Tue Feb 11 09:48:02 PST 2025


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

>From a758efe88d1e58a5b53dd7a4b7da6e174f645356 Mon Sep 17 00:00:00 2001
From: "Sarnie, Nick" <nick.sarnie at intel.com>
Date: Tue, 11 Feb 2025 07:57:11 -0800
Subject: [PATCH 1/2] [clang-linker-wrapper][lit] Fix SPIR-V ELF test when
 spirv-tools feature is available

Signed-off-by: Sarnie, Nick <nick.sarnie at intel.com>
---
 clang/test/CMakeLists.txt                             | 9 +++++++++
 clang/test/Tooling/clang-linker-wrapper-spirv-elf.cpp | 1 +
 clang/test/Tooling/lit.local.cfg                      | 6 ++++++
 3 files changed, 16 insertions(+)

diff --git a/clang/test/CMakeLists.txt b/clang/test/CMakeLists.txt
index e9eb54a67204c..b796a51ef600e 100644
--- a/clang/test/CMakeLists.txt
+++ b/clang/test/CMakeLists.txt
@@ -103,6 +103,15 @@ if(CLANG_BUILD_EXAMPLES AND CLANG_PLUGIN_SUPPORT)
     )
 endif ()
 
+if(LLVM_INCLUDE_SPIRV_TOOLS_TESTS)
+  list(APPEND CLANG_TEST_DEPS
+    spirv-dis
+    spirv-val
+    spirv-as
+    spirv-link
+    )
+endif()    
+
 set(CLANG_TEST_PARAMS
   USE_Z3_SOLVER=0
   )
diff --git a/clang/test/Tooling/clang-linker-wrapper-spirv-elf.cpp b/clang/test/Tooling/clang-linker-wrapper-spirv-elf.cpp
index 4f8658064e857..9b16727d74192 100644
--- a/clang/test/Tooling/clang-linker-wrapper-spirv-elf.cpp
+++ b/clang/test/Tooling/clang-linker-wrapper-spirv-elf.cpp
@@ -1,6 +1,7 @@
 // Verify the ELF packaging of OpenMP SPIR-V device images.
 // REQUIRES: system-linux
 // REQUIRES: spirv-tools
+// REQUIRES: llvm-spirv
 // RUN: mkdir -p %t_tmp
 // RUN: cd %t_tmp
 // RUN: %clangxx -fopenmp -fopenmp-targets=spirv64-intel -nogpulib -c -o %t_clang-linker-wrapper-spirv-elf.o %s
diff --git a/clang/test/Tooling/lit.local.cfg b/clang/test/Tooling/lit.local.cfg
index bc2a096c8f64f..9083a48c7bb2a 100644
--- a/clang/test/Tooling/lit.local.cfg
+++ b/clang/test/Tooling/lit.local.cfg
@@ -1,3 +1,5 @@
+import shutil
+
 if not config.root.clang_staticanalyzer:
     config.unsupported = True
 
@@ -6,3 +8,7 @@ if config.spirv_tools_tests:
     config.substitutions.append(("spirv-dis", os.path.join(config.llvm_tools_dir, "spirv-dis")))
     config.substitutions.append(("spirv-val", os.path.join(config.llvm_tools_dir, "spirv-val")))
     config.substitutions.append(("spirv-as", os.path.join(config.llvm_tools_dir, "spirv-as")))
+    config.substitutions.append(("spirv-link", os.path.join(config.llvm_tools_dir, "spirv-link")))
+
+if shutil.which("llvm-spirv"):
+    config.available_features.add("llvm-spirv")

>From 5f74d4e46942e8013f8a4ad709797c0fe333031a Mon Sep 17 00:00:00 2001
From: "Sarnie, Nick" <nick.sarnie at intel.com>
Date: Tue, 11 Feb 2025 09:47:39 -0800
Subject: [PATCH 2/2] use lit which

Signed-off-by: Sarnie, Nick <nick.sarnie at intel.com>
---
 clang/test/Tooling/lit.local.cfg | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/clang/test/Tooling/lit.local.cfg b/clang/test/Tooling/lit.local.cfg
index 9083a48c7bb2a..61f328c91e4d3 100644
--- a/clang/test/Tooling/lit.local.cfg
+++ b/clang/test/Tooling/lit.local.cfg
@@ -1,4 +1,4 @@
-import shutil
+import lit.util
 
 if not config.root.clang_staticanalyzer:
     config.unsupported = True
@@ -10,5 +10,5 @@ if config.spirv_tools_tests:
     config.substitutions.append(("spirv-as", os.path.join(config.llvm_tools_dir, "spirv-as")))
     config.substitutions.append(("spirv-link", os.path.join(config.llvm_tools_dir, "spirv-link")))
 
-if shutil.which("llvm-spirv"):
+if lit.util.which("llvm-spirv"):
     config.available_features.add("llvm-spirv")



More information about the cfe-commits mailing list