blob: 9b731d2c912e2ad6906a988d059dbb964f0f75d6 [file] [log] [blame]
load("//third_party/mlir:tblgen.bzl", "gentbl")
package(
default_visibility = ["//visibility:public"],
licenses = ["notice"], # Apache 2.0
)
filegroup(
name = "tfjs_ops_td_files",
srcs = [
"ir/tfjs_ops.td",
"@llvm-project//mlir:OpBaseTdFiles",
],
)
gentbl(
name = "tfjs_inc_gen",
tbl_outs = [
(
"-gen-op-decls",
"ir/tfjs_ops.h.inc",
),
(
"-gen-op-defs",
"ir/tfjs_ops.cc.inc",
),
(
"-gen-dialect-decls",
"ir/tfjs_dialect.h.inc",
),
(
"-gen-dialect-doc",
"g3doc/tfjs_dialect.md",
),
],
tblgen = "@llvm-project//mlir:mlir-tblgen",
td_file = "ir/tfjs_ops.td",
td_srcs = [
"ir/tfjs_ops.td",
"@llvm-project//mlir:OpBaseTdFiles",
"@llvm-project//mlir:include/mlir/Interfaces/LoopLikeInterface.td",
"@llvm-project//mlir:include/mlir/Interfaces/SideEffects.td",
],
)
cc_library(
name = "tensorflow_js",
srcs = [
"ir/tfjs_dialect.h.inc",
"ir/tfjs_ops.cc",
"ir/tfjs_ops.cc.inc",
"ir/tfjs_ops.h.inc",
],
hdrs = [
"ir/tfjs_ops.h",
],
deps = [
":tfjs_inc_gen",
"@llvm-project//llvm:support",
"@llvm-project//mlir:Dialect",
"@llvm-project//mlir:IR",
"@llvm-project//mlir:SideEffects",
"@llvm-project//mlir:StandardOps",
"@llvm-project//mlir:Support",
"@llvm-project//mlir:TransformUtils",
],
alwayslink = 1,
)
cc_library(
name = "tensorflow_js_dialect_registration",
srcs = [
"ir/dialect_registration.cc",
],
deps = [
":tensorflow_js",
],
alwayslink = 1,
)
gentbl(
name = "tfjs_optimize_inc_gen",
tbl_outs = [
(
"-gen-rewriters",
"transforms/generated_optimize.inc",
),
],
tblgen = "@llvm-project//mlir:mlir-tblgen",
td_file = "transforms/optimize_pattern.td",
td_srcs = [
":tfjs_ops_td_files",
"@llvm-project//mlir:StdOpsTdFiles",
"//tensorflow/compiler/mlir/tensorflow:tensorflow_ops_td_files",
],
)
cc_library(
name = "tfjs_optimize",
srcs = [
"transforms/generated_optimize.inc",
"transforms/optimize.cc",
],
hdrs = [
"transforms/passes.h",
],
deps = [
":tensorflow_js",
":tensorflow_js_dialect_registration",
"//tensorflow/compiler/mlir/tensorflow",
"@llvm-project//llvm:support",
"@llvm-project//mlir:Analysis",
"@llvm-project//mlir:IR",
"@llvm-project//mlir:Pass",
"@llvm-project//mlir:StandardOps",
"@llvm-project//mlir:Support",
],
alwayslink = 1,
)
cc_library(
name = "tensorflow_js_passes",
srcs = ["tf_tfjs_passes.cc"],
hdrs = [
"tf_tfjs_passes.h",
],
deps = [
":tfjs_optimize",
"//tensorflow/compiler/mlir/tensorflow",
"//tensorflow/compiler/mlir/tensorflow:decode_constant_pass",
"//tensorflow/compiler/mlir/tensorflow:tensorflow_dialect_registration",
"//tensorflow/compiler/mlir/tensorflow:tensorflow_passes",
"//tensorflow/compiler/mlir/tensorflow:tf_graph_optimization_pass",
"//tensorflow/compiler/mlir/tensorflow:translate_lib",
"@llvm-project//mlir:Analysis",
"@llvm-project//mlir:IR",
"@llvm-project//mlir:Pass",
"@llvm-project//mlir:Transforms",
],
)