Adding COMPILER_TARGET_DEVICE to iree_hal_cts_test_suite.
COMPILER_TARGET_BACKEND is something we should deprecate in the future.
diff --git a/build_tools/cmake/iree_hal_cts_test_suite.cmake b/build_tools/cmake/iree_hal_cts_test_suite.cmake
index ce229cb..7780922 100644
--- a/build_tools/cmake/iree_hal_cts_test_suite.cmake
+++ b/build_tools/cmake/iree_hal_cts_test_suite.cmake
@@ -19,10 +19,12 @@
# other parameters.
# DRIVER_REGISTRATION_HDR: The C #include path for `DRIVER_REGISTRATION_FN`.
# DRIVER_REGISTRATION_FN: The C function which registers `DRIVER_NAME`.
-# COMPILER_TARGET_BACKEND: Optional target backend name to pass to the
-# `-iree-hal-target-backends` option of `iree-compile` to use for
+# COMPILER_TARGET_BACKEND: Optional target backend name used for
# executable generation. If this is omitted, or the associated compiler
# target is not enabled, tests which use executables will be disabled.
+# COMPILER_TARGET_DEVICE: Optional target device name to pass to the
+# `--iree-hal-target-device` option of `iree-compile` used for
+# executable generation. If omitted the target backend name will be used.
# COMPILER_FLAGS: Additional compiler flags.
# Example: "--iree-llvmcpu-target-float-abi=hard --iree-llvmcpu-loop-unrolling"
# EXECUTABLE_FORMAT: Executable format identifier. Will be interpreted
@@ -47,7 +49,7 @@
cmake_parse_arguments(
_RULE
""
- "DRIVER_NAME;VARIANT_SUFFIX;DRIVER_REGISTRATION_HDR;DRIVER_REGISTRATION_FN;COMPILER_TARGET_BACKEND;EXECUTABLE_FORMAT"
+ "DRIVER_NAME;VARIANT_SUFFIX;DRIVER_REGISTRATION_HDR;DRIVER_REGISTRATION_FN;COMPILER_TARGET_BACKEND;COMPILER_TARGET_DEVICE;EXECUTABLE_FORMAT"
"DEPS;ARGS;COMPILER_FLAGS;INCLUDED_TESTS;EXCLUDED_TESTS;LABELS;"
${ARGN}
)
@@ -84,10 +86,15 @@
set(_TRANSLATE_FLAGS
"--compile-mode=hal-executable"
- "--iree-hal-target-backends=${_RULE_COMPILER_TARGET_BACKEND}"
${_RULE_COMPILER_FLAGS}
)
+ if(DEFINED _RULE_COMPILER_TARGET_DEVICE)
+ list(APPEND _TRANSLATE_FLAGS "--iree-hal-target-device=${_RULE_COMPILER_TARGET_DEVICE}")
+ else()
+ list(APPEND _TRANSLATE_FLAGS "--iree-hal-target-backends=${_RULE_COMPILER_TARGET_BACKEND}")
+ endif()
+
# Skip if already created (multiple suites using the same compiler setting).
iree_package_name(_PACKAGE_NAME)
if(NOT TARGET ${_PACKAGE_NAME}_${_EXECUTABLES_TESTDATA_NAME}_c)
@@ -183,6 +190,7 @@
set(IREE_CTS_DRIVER_REGISTRATION_FN "${_RULE_DRIVER_REGISTRATION_FN}")
set(IREE_CTS_DRIVER_NAME "${_RULE_DRIVER_NAME}")
set(IREE_CTS_TARGET_BACKEND "${_RULE_COMPILER_TARGET_BACKEND}")
+ set(IREE_CTS_TARGET_DEVICE "${_RULE_COMPILER_TARGET_DEVICE}")
configure_file(
"${IREE_ROOT_DIR}/runtime/src/iree/hal/cts/cts_test_template.cc.in"
diff --git a/runtime/src/iree/hal/cts/cts_test_template.cc.in b/runtime/src/iree/hal/cts/cts_test_template.cc.in
index 15fb53f..15ad6cc 100644
--- a/runtime/src/iree/hal/cts/cts_test_template.cc.in
+++ b/runtime/src/iree/hal/cts/cts_test_template.cc.in
@@ -12,6 +12,7 @@
#cmakedefine IREE_CTS_EXECUTABLE_FORMAT @IREE_CTS_EXECUTABLE_FORMAT@
#cmakedefine IREE_CTS_EXECUTABLES_TESTDATA_HDR "@IREE_CTS_EXECUTABLES_TESTDATA_HDR@"
#cmakedefine IREE_CTS_TARGET_BACKEND "@IREE_CTS_TARGET_BACKEND@"
+#cmakedefine IREE_CTS_TARGET_DEVICE "@IREE_CTS_TARGET_DEVICE@"
// clang-format on