################################################################################
# Autogenerated by build_tools/bazel_to_cmake/bazel_to_cmake.py from           #
# tests/e2e/encoding/BUILD.bazel                                               #
#                                                                              #
# Use iree_cmake_extra_content from iree/build_defs.oss.bzl to add arbitrary   #
# CMake-only content.                                                          #
#                                                                              #
# To disable autogeneration for this file entirely, delete this header.        #
################################################################################

iree_add_all_subdirs()

iree_check_single_backend_test_suite(
  NAME
    check_rocm_hip
  SRCS
    "encoding.mlir"
  TARGET_BACKEND
    "rocm"
  DRIVER
    "hip"
  COMPILER_FLAGS
    "--iree-global-opt-enable-early-materialization=false"
)

### BAZEL_TO_CMAKE_PRESERVES_ALL_CONTENT_BELOW_THIS_LINE ###

if(IREE_HAL_DRIVER_HIP AND IREE_ROCM_TEST_TARGET_CHIP MATCHES "^gfx1250")
  foreach(_TEST IN ITEMS
    "iree/tests/e2e/encoding/check_rocm_hip_encoding.mlir"
  )
    if(TEST "${_TEST}")
      set_property(TEST "${_TEST}" APPEND PROPERTY LABELS "very-expensive")
    endif()
  endforeach()
endif()
