| 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: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", | 
 |  | 
 |         # 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: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: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:Transforms", | 
 |         "@llvm-project//mlir:VectorTransformOps", | 
 |     ], | 
 | ) |