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