load("@llvm-project//mlir:tblgen.bzl", "gentbl_cc_library", "gentbl_filegroup", "td_library")

package(
    default_visibility = ["//visibility:public"],
    features = ["layering_check"],
    licenses = ["notice"],
)

exports_files(glob(["include/iree-dialects/Dialect/Input/*.td"]))

exports_files(glob(["python/*.cpp"]))

################################################################################
# Package-by-package filegroup exports.
# Some tools can make use of such non-nested groups.
################################################################################

filegroup(
    name = "python_dialects",
    srcs = glob(["python/iree/compiler/dialects/**/*.py"]) + [
        ":python/iree/compiler/dialects/_iree_ops_gen.py",
    ],
)

################################################################################
# Tablegen exports
################################################################################

filegroup(
    name = "TdFilegroup",
    srcs = glob([
        "include/iree-dialects/Dialect/Input/*.td",
        "include/iree-dialects/Dialect/LinalgExt/IR/*.td",
        "include/iree-dialects/Dialect/LinalgExt/Passes/*.td",
    ]),
)

td_library(
    name = "TdFiles",
    srcs = glob([
        "include/iree-dialects/Dialect/Input/*.td",
        "include/iree-dialects/Dialect/LinalgExt/IR/*.td",
        "include/iree-dialects/Dialect/LinalgExt/Passes/*.td",
        "include/iree-dialects/Dialect/LinalgTransform/*.td",
        "python/iree/compiler/dialects/*.td",
    ]) + [
        "@llvm-project//mlir:include/mlir/Bindings/Python/Attributes.td",
    ],
    includes = ["include"],
    deps = [
        "@llvm-project//mlir:BuiltinDialectTdFiles",
        "@llvm-project//mlir:InferTypeOpInterfaceTdFiles",
        "@llvm-project//mlir:OpBaseTdFiles",
        "@llvm-project//mlir:PDLDialectTdFiles",
        "@llvm-project//mlir:SideEffectInterfacesTdFiles",
        "@llvm-project//mlir:TransformDialectTdFiles",
    ],
)

################################################################################
# IREEInput dialect
################################################################################

gentbl_cc_library(
    name = "IREEInputIncGen",
    strip_include_prefix = "include",
    tbl_outs = [
        (
            ["--gen-dialect-decls"],
            "include/iree-dialects/Dialect/Input/InputDialect.h.inc",
        ),
        (
            ["--gen-dialect-defs"],
            "include/iree-dialects/Dialect/Input/InputDialect.cpp.inc",
        ),
        (
            ["--gen-op-decls"],
            "include/iree-dialects/Dialect/Input/InputOps.h.inc",
        ),
        (
            ["--gen-op-defs"],
            "include/iree-dialects/Dialect/Input/InputOps.cpp.inc",
        ),
        (
            ["--gen-typedef-decls"],
            "include/iree-dialects/Dialect/Input/InputTypes.h.inc",
        ),
        (
            ["--gen-typedef-defs"],
            "include/iree-dialects/Dialect/Input/InputTypes.cpp.inc",
        ),
    ],
    tblgen = "@llvm-project//mlir:mlir-tblgen",
    td_file = "include/iree-dialects/Dialect/Input/InputOps.td",
    deps = [":TdFiles"],
)

cc_library(
    name = "IREEInputDialect",
    srcs = glob([
        "lib/Dialect/Input/*.cpp",
    ]),
    hdrs = glob(["include/iree-dialects/Dialect/Input/*.h"]),
    includes = ["include"],
    deps = [
        ":IREEInputIncGen",
        "@llvm-project//llvm:Support",
        "@llvm-project//mlir:ArithDialect",
        "@llvm-project//mlir:IR",
        "@llvm-project//mlir:InferTypeOpInterface",
        "@llvm-project//mlir:Support",
    ],
)

gentbl_filegroup(
    name = "IREEInputDialectPyGen",
    tbl_outs = [
        (
            [
                "--gen-python-op-bindings",
                "--bind-dialect=iree",
            ],
            "python/iree/compiler/dialects/_iree_ops_gen.py",
        ),
    ],
    tblgen = "@llvm-project//mlir:mlir-tblgen",
    td_file = "python/iree/compiler/dialects/IreeInputBinding.td",
    deps = [
        ":TdFiles",
    ],
)

################################################################################
# IREELinalgExt Dialect
################################################################################

cc_library(
    name = "IREEDialectsTransforms",
    srcs = glob([
        "lib/Transforms/*.cpp",
    ]),
    hdrs = glob([
        "include/iree-dialects/Transforms/*.h",
    ]),
    includes = ["include"],
    deps = [
        "@llvm-project//llvm:Support",
        "@llvm-project//mlir:Analysis",
        "@llvm-project//mlir:ArithDialect",
        "@llvm-project//mlir:DialectUtils",
        "@llvm-project//mlir:FuncDialect",
        "@llvm-project//mlir:IR",
        "@llvm-project//mlir:LinalgDialect",
        "@llvm-project//mlir:MathDialect",
        "@llvm-project//mlir:Rewrite",
        "@llvm-project//mlir:SCFDialect",
        "@llvm-project//mlir:TensorDialect",
        "@llvm-project//mlir:TransformDialect",
        "@llvm-project//mlir:Transforms",
    ],
)

gentbl_cc_library(
    name = "IREELinalgExtIncGen",
    strip_include_prefix = "include",
    tbl_outs = [
        (
            [
                "--dialect=iree_linalg_ext",
                "--gen-dialect-decls",
            ],
            "include/iree-dialects/Dialect/LinalgExt/IR/LinalgExtDialect.h.inc",
        ),
        (
            [
                "--dialect=iree_linalg_ext",
                "--gen-dialect-defs",
            ],
            "include/iree-dialects/Dialect/LinalgExt/IR/LinalgExtDialect.cpp.inc",
        ),
        (
            ["--gen-attrdef-decls"],
            "include/iree-dialects/Dialect/LinalgExt/IR/LinalgExtAttrs.h.inc",
        ),
        (
            ["--gen-attrdef-defs"],
            "include/iree-dialects/Dialect/LinalgExt/IR/LinalgExtAttrs.cpp.inc",
        ),
        (
            ["--gen-enum-decls"],
            "include/iree-dialects/Dialect/LinalgExt/IR/LinalgExtEnums.h.inc",
        ),
        (
            ["--gen-enum-defs"],
            "include/iree-dialects/Dialect/LinalgExt/IR/LinalgExtEnums.cpp.inc",
        ),
        (
            ["--gen-op-decls"],
            "include/iree-dialects/Dialect/LinalgExt/IR/LinalgExtOps.h.inc",
        ),
        (
            ["--gen-op-defs"],
            "include/iree-dialects/Dialect/LinalgExt/IR/LinalgExtOps.cpp.inc",
        ),
        (
            ["--gen-typedef-decls"],
            "include/iree-dialects/Dialect/LinalgExt/IR/LinalgExtTypes.h.inc",
        ),
        (
            ["--gen-typedef-defs"],
            "include/iree-dialects/Dialect/LinalgExt/IR/LinalgExtTypes.cpp.inc",
        ),
    ],
    tblgen = "@llvm-project//mlir:mlir-tblgen",
    td_file = "include/iree-dialects/Dialect/LinalgExt/IR/LinalgExtOps.td",
    deps = [
        ":TdFiles",
        "@llvm-project//mlir:CallInterfacesTdFiles",
        "@llvm-project//mlir:ControlFlowInterfacesTdFiles",
        "@llvm-project//mlir:DestinationStyleOpInterfaceTdFiles",
        "@llvm-project//mlir:InferTypeOpInterfaceTdFiles",
        "@llvm-project//mlir:TilingInterfaceTdFiles",
        "@llvm-project//mlir:ViewLikeInterfaceTdFiles",
    ],
)

gentbl_cc_library(
    name = "IREELinalgExtInterfacesIncGen",
    strip_include_prefix = "include",
    tbl_outs = [
        (
            ["--gen-op-interface-decls"],
            "include/iree-dialects/Dialect/LinalgExt/IR/LinalgExtOpInterfaces.h.inc",
        ),
        (
            ["--gen-op-interface-defs"],
            "include/iree-dialects/Dialect/LinalgExt/IR/LinalgExtOpInterfaces.cpp.inc",
        ),
        (
            ["--gen-type-interface-decls"],
            "include/iree-dialects/Dialect/LinalgExt/IR/LinalgExtTypeInterfaces.h.inc",
        ),
        (
            ["--gen-type-interface-defs"],
            "include/iree-dialects/Dialect/LinalgExt/IR/LinalgExtTypeInterfaces.cpp.inc",
        ),
    ],
    tblgen = "@llvm-project//mlir:mlir-tblgen",
    td_file = "include/iree-dialects/Dialect/LinalgExt/IR/LinalgExtInterfaces.td",
    deps = [
        ":TdFiles",
    ],
)

gentbl_cc_library(
    name = "IREELinalgExtPassIncGen",
    strip_include_prefix = "include",
    tbl_outs = [
        (
            ["--gen-pass-decls"],
            "include/iree-dialects/Dialect/LinalgExt/Passes/Passes.h.inc",
        ),
        (
            ["--gen-pass-capi-header"],
            "include/iree-dialects/Dialect/LinalgExt/Passes/Passes.capi.h.inc",
        ),
        (
            ["--gen-pass-capi-impl"],
            "include/iree-dialects/Dialect/LinalgExt/Passes/Passes.capi.cpp.inc",
        ),
    ],
    tblgen = "@llvm-project//mlir:mlir-tblgen",
    td_file = "include/iree-dialects/Dialect/LinalgExt/Passes/Passes.td",
    deps = [
        ":TdFiles",
        "@llvm-project//mlir:PassBaseTdFiles",
    ],
)

cc_library(
    name = "IREELinalgExtUtils",
    srcs = glob([
        "lib/Dialect/LinalgExt/Utils/*.cpp",
    ]),
    hdrs = glob([
        "include/iree-dialects/Dialect/LinalgExt/Utils/*.h",
    ]),
    includes = ["include"],
    deps = [
        "@llvm-project//llvm:Support",
        "@llvm-project//mlir:ArithDialect",
        "@llvm-project//mlir:DialectUtils",
        "@llvm-project//mlir:IR",
        "@llvm-project//mlir:MemRefDialect",
        "@llvm-project//mlir:Support",
        "@llvm-project//mlir:TensorDialect",
        "@llvm-project//mlir:TensorUtils",
    ],
)

cc_library(
    name = "IREELinalgExtDialect",
    srcs = glob([
        "lib/Dialect/LinalgExt/IR/*.cpp",
    ]),
    hdrs = glob([
        "include/iree-dialects/Dialect/LinalgExt/IR/*.h",
    ]),
    includes = ["include"],
    deps = [
        ":IREELinalgExtIncGen",
        ":IREELinalgExtInterfacesIncGen",
        ":IREELinalgExtPassIncGen",
        ":IREELinalgExtUtils",
        "@llvm-project//llvm:Support",
        "@llvm-project//mlir:AffineDialect",
        "@llvm-project//mlir:AffineUtils",
        "@llvm-project//mlir:ArithDialect",
        "@llvm-project//mlir:ArithUtils",
        "@llvm-project//mlir:ControlFlowInterfaces",
        "@llvm-project//mlir:DestinationStyleOpInterface",
        "@llvm-project//mlir:DialectUtils",
        "@llvm-project//mlir:FuncDialect",
        "@llvm-project//mlir:IR",
        "@llvm-project//mlir:InferTypeOpInterface",
        "@llvm-project//mlir:LinalgDialect",
        "@llvm-project//mlir:LinalgUtils",
        "@llvm-project//mlir:MathDialect",
        "@llvm-project//mlir:MemRefDialect",
        "@llvm-project//mlir:Pass",
        "@llvm-project//mlir:SCFDialect",
        "@llvm-project//mlir:SideEffectInterfaces",
        "@llvm-project//mlir:Support",
        "@llvm-project//mlir:TensorDialect",
        "@llvm-project//mlir:TensorUtils",
        "@llvm-project//mlir:TilingInterface",
        "@llvm-project//mlir:ViewLikeInterface",
    ],
)

# TODO(#9827): Remove aliases and/or backref.
alias(
    name = "IREELinalgExtPasses",
    actual = ":IREELinalgExtPassesAndTransforms",
)

alias(
    name = "IREELinalgExtTransforms",
    actual = ":IREELinalgExtPassesAndTransforms",
)

gentbl_cc_library(
    name = "IREELinalgExtTransformOpsIncGen",
    strip_include_prefix = "include",
    tbl_outs = [
        (
            ["--gen-op-decls"],
            "include/iree-dialects/Dialect/LinalgExt/TransformOps/LinalgExtTransformOps.h.inc",
        ),
        (
            ["--gen-op-defs"],
            "include/iree-dialects/Dialect/LinalgExt/TransformOps/LinalgExtTransformOps.cpp.inc",
        ),
    ],
    tblgen = "@llvm-project//mlir:mlir-tblgen",
    td_file = "include/iree-dialects/Dialect/LinalgExt/TransformOps/LinalgExtTransformOps.td",
    deps = [
        ":TdFiles",
        "@llvm-project//mlir:SideEffectInterfacesTdFiles",
    ],
)

cc_library(
    name = "IREELinalgExtTransformOps",
    srcs = glob(["lib/Dialect/LinalgExt/TransformOps/*.cpp"]),
    hdrs = glob(["include/iree-dialects/Dialect/LinalgExt/TransformOps/*.h"]),
    deps = [
        ":IREEDialectsTransforms",
        ":IREELinalgExtDialect",
        ":IREELinalgExtPasses",
        ":IREELinalgExtTransformOpsIncGen",
        ":IREELinalgExtTransforms",
        ":IREELinalgTransformDialect",
        "@llvm-project//llvm:Support",
        "@llvm-project//mlir:AsyncDialect",
        "@llvm-project//mlir:DialectUtils",
        "@llvm-project//mlir:IR",
        "@llvm-project//mlir:LinalgDialect",
        "@llvm-project//mlir:PDLDialect",
        "@llvm-project//mlir:TransformDialect",
    ],
)

cc_library(
    name = "IREELinalgExtPassesAndTransforms",
    srcs = glob([
        "lib/Dialect/LinalgExt/Passes/*.cpp",
        "lib/Dialect/LinalgExt/Transforms/*.cpp",
    ]),
    hdrs = glob([
        "include/iree-dialects/Dialect/LinalgExt/Passes/*.h",
        "include/iree-dialects/Dialect/LinalgExt/Transforms/*.h",
    ]),
    deps = [
        ":IREEInputDialect",
        ":IREELinalgExtDialect",
        ":IREELinalgExtPassIncGen",
        ":IREELinalgExtUtils",
        "@llvm-project//llvm:Support",
        "@llvm-project//mlir:AffineDialect",
        "@llvm-project//mlir:AffineUtils",
        "@llvm-project//mlir:ArithDialect",
        "@llvm-project//mlir:ArithUtils",
        "@llvm-project//mlir:AsyncDialect",
        "@llvm-project//mlir:BufferizationDialect",
        "@llvm-project//mlir:DialectUtils",
        "@llvm-project//mlir:FuncDialect",
        "@llvm-project//mlir:IR",
        "@llvm-project//mlir:LinalgDialect",
        "@llvm-project//mlir:LinalgStructuredOpsIncGen",
        "@llvm-project//mlir:LinalgTransforms",
        "@llvm-project//mlir:LinalgUtils",
        "@llvm-project//mlir:MathDialect",
        "@llvm-project//mlir:MemRefDialect",
        "@llvm-project//mlir:MemRefTransforms",
        "@llvm-project//mlir:Parser",
        "@llvm-project//mlir:Pass",
        "@llvm-project//mlir:SCFDialect",
        "@llvm-project//mlir:SCFTransforms",
        "@llvm-project//mlir:Support",
        "@llvm-project//mlir:TensorDialect",
        "@llvm-project//mlir:TensorTransforms",
        "@llvm-project//mlir:TensorUtils",
        "@llvm-project//mlir:TilingInterface",
        "@llvm-project//mlir:TransformDialect",
        "@llvm-project//mlir:TransformUtils",
        "@llvm-project//mlir:Transforms",
        "@llvm-project//mlir:VectorDialect",
        "@llvm-project//mlir:VectorTransforms",
    ],
)

################################################################################
# IREELinalgTransform Dialect
################################################################################

gentbl_cc_library(
    name = "IREELinalgTransformIncGen",
    strip_include_prefix = "include",
    tbl_outs = [
        (
            [
                "--dialect=iree_linalg_transform",
                "--gen-dialect-decls",
            ],
            "include/iree-dialects/Dialect/LinalgTransform/LinalgTransformDialect.h.inc",
        ),
        (
            [
                "--dialect=iree_linalg_transform",
                "--gen-dialect-defs",
            ],
            "include/iree-dialects/Dialect/LinalgTransform/LinalgTransformDialect.cpp.inc",
        ),
        (
            ["--gen-op-decls"],
            "include/iree-dialects/Dialect/LinalgTransform/LinalgTransformOps.h.inc",
        ),
        (
            ["--gen-op-defs"],
            "include/iree-dialects/Dialect/LinalgTransform/LinalgTransformOps.cpp.inc",
        ),
    ],
    tblgen = "@llvm-project//mlir:mlir-tblgen",
    td_file = "include/iree-dialects/Dialect/LinalgTransform/LinalgTransformOps.td",
    deps = [
        ":TdFiles",
        "@llvm-project//mlir:ControlFlowInterfacesTdFiles",
    ],
)

gentbl_cc_library(
    name = "IREELinalgTransformStructuredIncGen",
    strip_include_prefix = "include",
    tbl_outs = [
        (
            ["--gen-op-decls"],
            "include/iree-dialects/Dialect/LinalgTransform/StructuredTransformOpsExt.h.inc",
        ),
        (
            ["--gen-op-defs"],
            "include/iree-dialects/Dialect/LinalgTransform/StructuredTransformOpsExt.cpp.inc",
        ),
    ],
    tblgen = "@llvm-project//mlir:mlir-tblgen",
    td_file = "include/iree-dialects/Dialect/LinalgTransform/StructuredTransformOpsExt.td",
    deps = [
        ":TdFiles",
    ],
)

cc_library(
    name = "IREELinalgTransformDialect",
    srcs = glob([
        "lib/Dialect/LinalgTransform/IR/*.cpp",
        "lib/Dialect/LinalgTransform/IR/*.h",
    ]),
    hdrs = glob([
        "include/iree-dialects/Dialect/LinalgTransform/*.h",
    ]),
    includes = ["include"],
    deps = [
        ":IREEDialectsTransforms",
        ":IREELinalgExtDialect",
        ":IREELinalgExtPasses",
        ":IREELinalgExtTransforms",
        ":IREELinalgTransformIncGen",
        ":IREELinalgTransformStructuredIncGen",
        "@llvm-project//llvm:Support",

        # Dialects
        "@llvm-project//mlir:AffineDialect",
        "@llvm-project//mlir:AffineUtils",
        "@llvm-project//mlir:AsyncDialect",
        "@llvm-project//mlir:ArithDialect",
        "@llvm-project//mlir:BufferizationDialect",
        "@llvm-project//mlir:BufferizationTransforms",
        "@llvm-project//mlir:FuncDialect",
        "@llvm-project//mlir:LinalgDialect",
        "@llvm-project//mlir:LLVMDialect",
        "@llvm-project//mlir:PDLDialect",
        "@llvm-project//mlir:SCFDialect",
        "@llvm-project//mlir:SCFUtils",
        "@llvm-project//mlir:Support",
        "@llvm-project//mlir:TensorDialect",
        "@llvm-project//mlir:TilingInterface",
        "@llvm-project//mlir:TransformDialect",
        "@llvm-project//mlir:TransformPDLExtension",

        # IR
        "@llvm-project//mlir:IR",
        "@llvm-project//mlir:Parser",
        "@llvm-project//mlir:Pass",
        "@llvm-project//mlir:Rewrite",

        # Interfaces
        "@llvm-project//mlir:ControlFlowInterfaces",

        # Transforms
        "@llvm-project//mlir:AffineToStandard",
        "@llvm-project//mlir:AsyncTransforms",
        "@llvm-project//mlir:LinalgTransforms",
        "@llvm-project//mlir:MemRefTransforms",
        "@llvm-project//mlir:ReconcileUnrealizedCasts",
        "@llvm-project//mlir:SCFTransforms",
        "@llvm-project//mlir:TensorTransformOps",
        "@llvm-project//mlir:Transforms",
        "@llvm-project//mlir:VectorToSCF",

        # Utils
        "@llvm-project//mlir:ArithUtils",
        "@llvm-project//mlir:DialectUtils",

        # Conversions
        "@llvm-project//mlir:AsyncToLLVM",
        "@llvm-project//mlir:FuncToLLVM",
        "@llvm-project//mlir:IndexToLLVM",
        "@llvm-project//mlir:LinalgToLLVM",
        "@llvm-project//mlir:LinalgToStandard",
        "@llvm-project//mlir:MathToLLVM",
        "@llvm-project//mlir:MemRefToLLVM",
        "@llvm-project//mlir:SCFToControlFlow",
        "@llvm-project//mlir:VectorToLLVM",
    ],
)

cc_library(
    name = "IREELinalgTransformDialectPasses",
    srcs = glob([
        "lib/Dialect/LinalgTransform/Passes/*.cpp",
    ]),
    deps = [
        ":IREEDialectsTransforms",
        ":IREELinalgExtDialect",
        ":IREELinalgTransformDialect",
        "@llvm-project//llvm:Support",
        "@llvm-project//mlir:AffineDialect",
        "@llvm-project//mlir:AffineUtils",
        "@llvm-project//mlir:ArithDialect",
        "@llvm-project//mlir:ArithTransforms",
        "@llvm-project//mlir:BufferizationDialect",
        "@llvm-project//mlir:BufferizationTransforms",
        "@llvm-project//mlir:DialectUtils",
        "@llvm-project//mlir:FuncDialect",
        "@llvm-project//mlir:IR",
        "@llvm-project//mlir:LLVMDialect",
        "@llvm-project//mlir:LinalgDialect",
        "@llvm-project//mlir:LinalgTransforms",
        "@llvm-project//mlir:MathDialect",
        "@llvm-project//mlir:MemRefDialect",
        "@llvm-project//mlir:PDLDialect",
        "@llvm-project//mlir:PDLInterpDialect",
        "@llvm-project//mlir:Parser",
        "@llvm-project//mlir:Pass",
        "@llvm-project//mlir:Rewrite",
        "@llvm-project//mlir:SCFDialect",
        "@llvm-project//mlir:SCFTransforms",
        "@llvm-project//mlir:SCFUtils",
        "@llvm-project//mlir:Support",
        "@llvm-project//mlir:TensorDialect",
        "@llvm-project//mlir:TensorTransforms",
        "@llvm-project//mlir:TensorUtils",
        "@llvm-project//mlir:TransformDialect",
        "@llvm-project//mlir:TransformDialectTransforms",
        "@llvm-project//mlir:TransformUtils",
        "@llvm-project//mlir:Transforms",
        "@llvm-project//mlir:VectorDialect",
        "@llvm-project//mlir:VectorToLLVM",
        "@llvm-project//mlir:VectorTransforms",
    ],
)

################################################################################
# CAPI
################################################################################

cc_library(
    name = "CAPI",
    srcs = glob(["lib/CAPI/*.cpp"]),
    hdrs = glob(["include/iree-dialects-c/*.h"]),
    includes = ["include"],
    deps = [
        ":IREEInputDialect",
        ":IREELinalgExtDialect",
        ":IREELinalgExtTransformOps",
        ":IREELinalgTransformDialect",
        ":IREELinalgTransformDialectPasses",
        "@llvm-project//mlir:CAPIIR",
        "@llvm-project//mlir:IR",
        "@llvm-project//mlir:LinalgTransformOps",
        "@llvm-project//mlir:Support",
        "@llvm-project//mlir:TransformDialect",
    ],
)

################################################################################
# Test lib
################################################################################

cc_library(
    name = "IREEDialectsTest",
    srcs = glob([
        "test/lib/**/*.cpp",
    ]),
    deps = [
        ":IREEDialectsTransforms",
        ":IREELinalgExtDialect",
        ":IREELinalgTransformDialect",
        ":IREELinalgTransformDialectPasses",
        "@llvm-project//mlir:IR",
        "@llvm-project//mlir:Pass",
        "@llvm-project//mlir:Rewrite",
        "@llvm-project//mlir:Transforms",
    ],
)

################################################################################
# Tools
################################################################################

cc_binary(
    name = "iree-dialects-opt",
    srcs = [
        "tools/iree-dialects-opt/iree-dialects-opt.cpp",
    ],
    tags = ["hostonly"],
    deps = [
        "IREELinalgExtTransforms",
        ":IREEDialectsTest",
        ":IREEInputDialect",
        ":IREELinalgExtDialect",
        ":IREELinalgExtPasses",
        ":IREELinalgExtTransformOps",
        ":IREELinalgTransformDialect",
        ":IREELinalgTransformDialectPasses",
        "@llvm-project//llvm:Support",
        "@llvm-project//mlir:AffineDialect",
        "@llvm-project//mlir:ArithDialect",
        "@llvm-project//mlir:AsyncDialect",
        "@llvm-project//mlir:BufferizationTransformOps",
        "@llvm-project//mlir:ControlFlowDialect",
        "@llvm-project//mlir:FuncDialect",
        "@llvm-project//mlir:IR",
        "@llvm-project//mlir:LinalgDialect",
        "@llvm-project//mlir:LinalgTransformOps",
        "@llvm-project//mlir:LinalgTransforms",
        "@llvm-project//mlir:MemRefDialect",
        "@llvm-project//mlir:MemRefTransforms",
        "@llvm-project//mlir:MlirOptLib",
        "@llvm-project//mlir:PDLDialect",
        "@llvm-project//mlir:PDLInterpDialect",
        "@llvm-project//mlir:SCFDialect",
        "@llvm-project//mlir:SCFTransformOps",
        "@llvm-project//mlir:SCFTransforms",
        "@llvm-project//mlir:Support",
        "@llvm-project//mlir:TensorDialect",
        "@llvm-project//mlir:TransformDialect",
        "@llvm-project//mlir:TransformPDLExtension",
        "@llvm-project//mlir:Transforms",
        "@llvm-project//mlir:VectorTransformOps",
    ],
)
