1# Description: 2# MLIR Tutorial 3 4load("//mlir:tblgen.bzl", "gentbl_cc_library", "td_library") 5 6licenses(["notice"]) 7 8package(default_visibility = ["//visibility:public"]) 9 10td_library( 11 name = "ToyOpsTdFiles", 12 srcs = [ 13 "include/toy/Ops.td", 14 ], 15 includes = ["include"], 16 deps = [ 17 "//mlir:FunctionInterfacesTdFiles", 18 "//mlir:OpBaseTdFiles", 19 "//mlir:SideEffectInterfacesTdFiles", 20 ], 21) 22 23gentbl_cc_library( 24 name = "ToyOpsIncGen", 25 tbl_outs = [ 26 ( 27 ["-gen-op-decls"], 28 "include/toy/Ops.h.inc", 29 ), 30 ( 31 ["-gen-op-defs"], 32 "include/toy/Ops.cpp.inc", 33 ), 34 ( 35 ["-gen-dialect-decls"], 36 "include/toy/Dialect.h.inc", 37 ), 38 ( 39 ["-gen-dialect-defs"], 40 "include/toy/Dialect.cpp.inc", 41 ), 42 ], 43 tblgen = "//mlir:mlir-tblgen", 44 td_file = "include/toy/Ops.td", 45 deps = [":ToyOpsTdFiles"], 46) 47 48cc_binary( 49 name = "toyc-ch2", 50 srcs = [ 51 "mlir/Dialect.cpp", 52 "mlir/MLIRGen.cpp", 53 "parser/AST.cpp", 54 "toyc.cpp", 55 ] + glob(["include/toy/*.h"]), 56 includes = ["include/"], 57 deps = [ 58 ":ToyOpsIncGen", 59 "//llvm:Support", 60 "//mlir:Analysis", 61 "//mlir:BytecodeReader", 62 "//mlir:FunctionInterfaces", 63 "//mlir:IR", 64 "//mlir:Parser", 65 "//mlir:SideEffectInterfaces", 66 "//mlir:Support", 67 ], 68) 69