95 lines · plain
1# Description:2# MLIR Tutorial3 4load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_library")5load("//mlir:tblgen.bzl", "gentbl_cc_library", "td_library")6 7licenses(["notice"])8 9package(default_visibility = ["//visibility:public"])10 11td_library(12 name = "TransformTdFiles",13 srcs = [14 "include/MyExtension.td",15 "include/MyExtensionTypes.td",16 ],17 includes = ["include"],18 deps = [19 "//mlir:OpBaseTdFiles",20 "//mlir:SideEffectInterfacesTdFiles",21 "//mlir:TransformDialectTdFiles",22 ],23)24 25gentbl_cc_library(26 name = "TransformIncGen",27 tbl_outs = [28 (29 ["-gen-op-decls"],30 "include/MyExtension.h.inc",31 ),32 (33 ["-gen-op-defs"],34 "include/MyExtension.cpp.inc",35 ),36 ],37 tblgen = "//mlir:mlir-tblgen",38 td_file = "include/MyExtension.td",39 deps = [":TransformTdFiles"],40)41 42gentbl_cc_library(43 name = "TransformTypesIncGen",44 tbl_outs = [45 (46 ["-gen-typedef-decls"],47 "include/MyExtensionTypes.h.inc",48 ),49 (50 ["-gen-typedef-defs"],51 "include/MyExtensionTypes.cpp.inc",52 ),53 ],54 tblgen = "//mlir:mlir-tblgen",55 td_file = "include/MyExtensionTypes.td",56 deps = [":TransformTdFiles"],57)58 59cc_library(60 name = "MyExtension",61 srcs = glob(["lib/*.cpp"]),62 hdrs = glob(["include/*.h"]),63 includes = ["include"],64 deps = [65 ":TransformIncGen",66 ":TransformTypesIncGen",67 "//llvm:Support",68 "//mlir:CallOpInterfaces",69 "//mlir:FuncDialect",70 "//mlir:IR",71 "//mlir:SCFDialect",72 "//mlir:Support",73 "//mlir:TransformDialect",74 "//mlir:TransformDialectInterfaces",75 ],76)77 78cc_binary(79 name = "transform-opt-ch3",80 srcs = glob(["transform-opt/*.cpp"]),81 local_defines = ["MLIR_INCLUDE_TESTS"],82 deps = [83 ":MyExtension",84 "//mlir:AllExtensions",85 "//mlir:AllPassesAndDialects",86 "//mlir:IR",87 "//mlir:MlirOptLib",88 "//mlir:RegisterAllDialects",89 "//mlir:RegisterAllExtensions",90 "//mlir:TransformDialectTransforms",91 "//mlir:Transforms",92 "//mlir/test:TestTransformDialect",93 ],94)95