|  | 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", | 
|  |  | 
|  | # 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: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", | 
|  | ], | 
|  | ) |