# Copyright 2024 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 = [
        "config_ukernel_argmax_gfx908.mlir",
        "config_ukernel_argmax_gfx942.mlir",
        "config_ukernel_data_tiled_mma_gfx942.mlir",
        "default_tuning_specs_amdgpu.mlir",
        "enable_tensor_ukernels.mlir",
        "gpu_encoding_attrs.mlir",
        "lower_rocm_tensor_ukernel_descriptor.mlir",
        "lower_rocm_ukernel_descriptor.mlir",
        "lowering_strategy_from_tuning_spec.mlir",
        "materialize_encoding_ukernel_gfx942.mlir",
        "ukernel_pipeline_transform.mlir",
    ],
    cfg = "//compiler:lit.cfg.py",
    data = [
        "tuning_spec_mmt_tile_and_fuse.mlir",
        "tuning_spec_mmt_tile_and_fuse_default.mlir",
    ],
    tools = [
        "//tools:iree-opt",
        "@llvm-project//llvm:FileCheck",
    ],
)
