# Copyright 2020 The IREE Authors
#
# Licensed under the Apache License v2.0 with LLVM Exceptions.
# See https://llvm.org/LICENSE.txt for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

iree_add_all_subdirs()

if (NOT ${IREE_BUILD_COMPILER} OR NOT ${IREE_BUILD_TESTS})
  return()
endif()

iree_bytecode_module(
  NAME
    add_dynamic
  SRC
    "add_dynamic.mlir"
  C_IDENTIFIER
    "iree_tflite_testdata_add_dynamic"
  FLAGS
    "-iree-input-type=mhlo"
    "-iree-native-bindings-support=false"
    "-iree-tflite-bindings-support"
    "-iree-mlir-to-vm-bytecode-module"
    "-iree-hal-target-backends=vmvx"
  PUBLIC
  TESTONLY
)

iree_bytecode_module(
  NAME
    add_multi
  SRC
    "add_multi.mlir"
  C_IDENTIFIER
    "iree_tflite_testdata_add_multi"
  FLAGS
    "-iree-input-type=mhlo"
    "-iree-native-bindings-support=false"
    "-iree-tflite-bindings-support"
    "-iree-mlir-to-vm-bytecode-module"
    "-iree-hal-target-backends=vmvx"
  PUBLIC
  TESTONLY
)

iree_bytecode_module(
  NAME
    add_static
  SRC
    "add_static.mlir"
  C_IDENTIFIER
    "iree_tflite_testdata_add_static"
  FLAGS
    "-iree-input-type=mhlo"
    "-iree-native-bindings-support=false"
    "-iree-tflite-bindings-support"
    "-iree-mlir-to-vm-bytecode-module"
    "-iree-hal-target-backends=vmvx"
  PUBLIC
  TESTONLY
)
