| 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", | |
| ]), | |
| ) | |
| td_library( | |
| name = "TdFiles", | |
| srcs = glob([ | |
| "include/iree-dialects/Dialect/Input/*.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", | |
| ], | |
| ) | |
| ################################################################################ | |
| # CAPI | |
| ################################################################################ | |
| cc_library( | |
| name = "CAPI", | |
| srcs = glob(["lib/CAPI/*.cpp"]), | |
| hdrs = glob(["include/iree-dialects-c/*.h"]), | |
| includes = ["include"], | |
| deps = [ | |
| ":IREEInputDialect", | |
| "@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 = [ | |
| "@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 = [ | |
| ":IREEDialectsTest", | |
| ":IREEInputDialect", | |
| "@llvm-project//llvm:Support", | |
| "@llvm-project//mlir:AffineDialect", | |
| "@llvm-project//mlir:ArithDialect", | |
| "@llvm-project//mlir:AsyncDialect", | |
| "@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", | |
| ], | |
| ) |