################################################################################
# Autogenerated by build_tools/bazel_to_cmake/bazel_to_cmake.py from           #
# tests/e2e/models/BUILD                                                       #
#                                                                              #
# 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_lit_test_suite(
  NAME
    lit
  SRCS
    "collatz.mlir"
    "edge_detection.mlir"
    "fragment_000.mlir"
    "fullyconnected.mlir"
    "mnist_fake_weights.mlir"
    "resnet50_fake_weights.mlir"
    "unidirectional_lstm.mlir"
  TOOLS
    ${IREE_LLD_TARGET}
    FileCheck
    iree-run-mlir
  LABELS
    "driver=local-task"
    "driver=vulkan"
    "hostonly"
    "optonly"
  TIMEOUT
    900
)

iree_check_single_backend_test_suite(
  NAME
    check_llvm-cpu_local-task
  SRCS
    "bert_encoder_unrolled_fake_weights.mlir"
    "mobilenetv3_fake_weights.mlir"
  TARGET_BACKEND
    "llvm-cpu"
  DRIVER
    "local-task"
  COMPILER_FLAGS
    "--iree-input-type=mhlo"
)

iree_check_single_backend_test_suite(
  NAME
    check_vulkan-spirv_vulkan
  SRCS
    "bert_encoder_unrolled_fake_weights.mlir"
    "mobilenetv3_fake_weights.mlir"
  TARGET_BACKEND
    "vulkan-spirv"
  DRIVER
    "vulkan"
  COMPILER_FLAGS
    "--iree-input-type=mhlo"
  TIMEOUT
    900
)

iree_check_single_backend_test_suite(
  NAME
    check_cuda_cuda
  SRCS
    "bert_encoder_unrolled_fake_weights.mlir"
    "mobilenetv3_fake_weights.mlir"
  TARGET_BACKEND
    "cuda"
  DRIVER
    "cuda"
  COMPILER_FLAGS
    "--iree-input-type=mhlo"
  LABELS
    "noasan"
    "nomsan"
    "notsan"
    "noubsan"
    "requires-gpu-nvidia"
  TIMEOUT
    900
)

### BAZEL_TO_CMAKE_PRESERVES_ALL_CONTENT_BELOW_THIS_LINE ###

iree_static_linker_test(
  NAME
    mnist_fake_weights_llvm_cpu_static_bytecode_test
  SRC
    "mnist_fake_weights.mlir"
  STATIC_LIB_PREFIX
    mnist_fake_weights_linked_llvm_cpu
  ENTRY_FUNCTION
    "predict"
  FUNCTION_INPUTS
    "1x28x28x1xf32"
  COMPILER_FLAGS
    "--iree-input-type=mhlo"
)

iree_static_linker_test(
  NAME
    mnist_fake_weights_llvm_cpu_static_c_test
  SRC
    "mnist_fake_weights.mlir"
  STATIC_LIB_PREFIX
    mnist_fake_weights_linked_llvm_cpu
  ENTRY_FUNCTION
    "predict"
  FUNCTION_INPUTS
    "1x28x28x1xf32"
  COMPILER_FLAGS
    "--iree-input-type=mhlo"
    "--iree-vm-target-index-bits=32"
  EMITC
)

iree_static_linker_test(
  NAME
    simple_mul_llvm_cpu_static_bytecode_test
  SRC
    "${IREE_ROOT_DIR}/samples/static_library/simple_mul.mlir"
  STATIC_LIB_PREFIX
    simple_mul_dispatch_0
  ENTRY_FUNCTION
    "simple_mul"
  FUNCTION_INPUTS
    "4xf32,4xf32"
)

iree_static_linker_test(
  NAME
    simple_mul_llvm_cpu_static_c_test
  SRC
    "${IREE_ROOT_DIR}/samples/static_library/simple_mul.mlir"
  STATIC_LIB_PREFIX
    simple_mul_dispatch_0
  ENTRY_FUNCTION
    "simple_mul"
  FUNCTION_INPUTS
    "4xf32,4xf32"
  COMPILER_FLAGS
    "--iree-vm-target-index-bits=32"
  EMITC
)

include(generated_e2e_model_tests.cmake)
