# 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 = [
        "attention.mlir",
        "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 = [
        "attention_codegen_spec.mlir",
        "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",
    ],
)
