Skip to content

Commit 08835f4

Browse files
authored
cmake: Add spirv-dis lit feature (#2561)
Various tests already declare `REQUIRES: spirv-dis`, but this feature was never enabled so those tests were always skipped as "unsupported".
1 parent a6a0d4b commit 08835f4

File tree

3 files changed

+20
-0
lines changed

3 files changed

+20
-0
lines changed

test/CMakeLists.txt

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,11 @@ if(SPIRV_TOOLS_FOUND AND NOT SPIRV-Tools-tools_FOUND)
1515
set(SPIRV_TOOLS_SPIRV_AS_FOUND True)
1616
endif()
1717

18+
find_program(SPIRV_TOOLS_SPIRV_DIS NAMES spirv-dis PATHS ${SPIRV_TOOLS_PREFIX}/bin)
19+
if(SPIRV_TOOLS_SPIRV_DIS)
20+
set(SPIRV_TOOLS_SPIRV_DIS_FOUND True)
21+
endif()
22+
1823
find_program(SPIRV_TOOLS_SPIRV_LINK NAMES spirv-link PATHS ${SPIRV_TOOLS_PREFIX}/bin)
1924
if(SPIRV_TOOLS_SPIRV_LINK)
2025
set(SPIRV_TOOLS_SPIRV_LINK_FOUND True)
@@ -33,6 +38,10 @@ elseif(SPIRV-Tools-tools_FOUND)
3338
set(SPIRV_TOOLS_SPIRV_AS_FOUND True)
3439
endif()
3540

41+
if(TARGET spirv-dis)
42+
set(SPIRV_TOOLS_SPIRV_DIS_FOUND True)
43+
endif()
44+
3645
if(TARGET spirv-link)
3746
set(SPIRV_TOOLS_SPIRV_LINK_FOUND True)
3847
endif()
@@ -58,6 +67,11 @@ if(NOT SPIRV_TOOLS_SPIRV_AS_FOUND)
5867
set(SPIRV_TOOLS_SPIRV_AS_FOUND False)
5968
endif()
6069

70+
if(NOT SPIRV_TOOLS_SPIRV_DIS_FOUND)
71+
message(WARNING "spirv-as not found! SPIR-V disassembly tests will not be run.")
72+
set(SPIRV_TOOLS_SPIRV_DIS_FOUND False)
73+
endif()
74+
6175
if(NOT SPIRV_TOOLS_SPIRV_LINK_FOUND)
6276
message(WARNING "spirv-link not found! SPIR-V test involving the linker will not be run.")
6377
set(SPIRV_TOOLS_SPIRV_LINK_FOUND False)

test/lit.cfg.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,11 @@
6565
config.available_features.add('spirv-as')
6666
using_spirv_tools = True
6767

68+
if config.spirv_tools_have_spirv_dis:
69+
llvm_config.add_tool_substitutions(['spirv-dis'], [config.spirv_tools_bin_dir])
70+
config.available_features.add('spirv-dis')
71+
using_spirv_tools = True
72+
6873
if config.spirv_tools_have_spirv_link:
6974
llvm_config.add_tool_substitutions(['spirv-link'], [config.spirv_tools_bin_dir])
7075
config.available_features.add('spirv-link')

test/lit.site.cfg.py.in

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ config.python_executable = "@PYTHON_EXECUTABLE@"
2020
config.test_run_dir = "@CMAKE_CURRENT_BINARY_DIR@"
2121
config.spirv_tools_found = "@SPIRV_TOOLS_FOUND@"
2222
config.spirv_tools_have_spirv_as = @SPIRV_TOOLS_SPIRV_AS_FOUND@
23+
config.spirv_tools_have_spirv_dis = @SPIRV_TOOLS_SPIRV_DIS_FOUND@
2324
config.spirv_tools_have_spirv_link = @SPIRV_TOOLS_SPIRV_LINK_FOUND@
2425
config.spirv_tools_have_spirv_val = @SPIRV_TOOLS_SPIRV_VAL_FOUND@
2526
config.spirv_tools_bin_dir = "@SPIRV_TOOLS_BINDIR@"

0 commit comments

Comments
 (0)