# Copyright 2022 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

load("//build_tools/bazel:iree_lit_test.bzl", "iree_lit_test_suite")

package(
    features = ["layering_check"],
    licenses = ["notice"],  # Apache 2.0
)

iree_lit_test_suite(
    name = "lit",
    srcs = [
        "contraction-packing.mlir",
        "contraction-packing-and-dispatch.mlir",
        # DISABLED: incorrectly assuming default flag values.
        # "eltwise_reduction_eltwise.mlir",
        "fold_tensor_slice_into_transfer.mlir",
        # DISABLED: incorrectly assuming default flag values.
        # "matmul.mlir",
        "matmul_library_call.mlir",
    ],
    cfg = "//tests:lit.cfg.py",
    # transform dialect spec files are MLIR files that specify a transformation,
    # they need to be included as data.
    data = [
        "matmul_codegen_default_spec.mlir",
        "transform_library.mlir",
    ],
    tags = [
        "hostonly",
        "noasan",
        "nomsan",
        "notsan",
        "noubsan",
    ],
    tools = [
        "//tools:iree-benchmark-module",
        "//tools:iree-compile",
        "//tools:iree-opt",
        "//tools:iree-run-module",
        "@llvm-project//lld",
        "@llvm-project//llvm:FileCheck",
    ],
)
