blob: d3df4bd87511fcb00cd62c964ceb5017546d247f [file] [log] [blame]
load("@local_config_mlir//:tblgen.bzl", "gentbl")
load("//tensorflow:tensorflow.bzl", "tf_cc_test", "tf_native_cc_binary")
package(
default_visibility = [":friends"],
licenses = ["notice"], # Apache 2.0
)
package_group(
name = "friends",
includes = ["@local_config_mlir//:subpackages"],
packages = [
"//babelfish/device/...",
"//learning/brain/experimental/mlir/...",
"//tensorflow/compiler/mlir/...",
"//third_party/mlir_edge/...",
],
)
filegroup(
name = "xla_ops_td_files",
srcs = [
"ir/lxla_ops.td",
"ir/xla_ops.td",
"ir/xla_ops_base.td",
"@local_config_mlir//:OpBaseTdFiles",
],
)
gentbl(
name = "xla_ops_inc_gen",
tbl_outs = [
(
"-gen-op-decls",
"ir/xla_ops.h.inc",
),
(
"-gen-op-defs",
"ir/xla_ops.cc.inc",
),
],
tblgen = "@local_config_mlir//:mlir-tblgen",
td_file = "ir/xla_ops.td",
td_srcs = [
":xla_ops_td_files",
],
)
gentbl(
name = "xla_ops_base_inc_gen",
tbl_outs = [
(
"-gen-op-decls",
"ir/xla_ops_base.h.inc",
),
(
"-gen-op-defs",
"ir/xla_ops_base.cc.inc",
),
],
tblgen = "@local_config_mlir//:mlir-tblgen",
td_file = "ir/xla_ops_base.td",
td_srcs = [
":xla_ops_td_files",
],
)
gentbl(
name = "lxla_ops_inc_gen",
tbl_outs = [
(
"-gen-op-decls",
"ir/lxla_ops.h.inc",
),
(
"-gen-op-defs",
"ir/lxla_ops.cc.inc",
),
],
tblgen = "@local_config_mlir//:mlir-tblgen",
td_file = "ir/lxla_ops.td",
td_srcs = [
":xla_ops_td_files",
],
)
gentbl(
name = "xla_legalize_tf_inc_gen",
tbl_outs = [
(
"-gen-rewriters",
"transforms/generated_legalize_tf.inc",
),
],
tblgen = "@local_config_mlir//:mlir-tblgen",
td_file = "transforms/legalize_tf_patterns.td",
td_srcs = [
":xla_ops_td_files",
"@local_config_mlir//:StdOpsTdFiles",
"//tensorflow/compiler/mlir/tensorflow:tensorflow_ops_td_files",
],
)
cc_library(
name = "xla_legalize_tf",
srcs = [
"transforms/generated_legalize_tf.inc",
"transforms/legalize_tf.cc",
],
copts = ["-std=c++14"],
deps = [
":xla",
"//tensorflow/compiler/mlir/tensorflow",
"@llvm//:support",
"@local_config_mlir//:Analysis",
"@local_config_mlir//:IR",
"@local_config_mlir//:Pass",
"@local_config_mlir//:StandardOps",
"@local_config_mlir//:Support",
],
alwayslink = 1,
)
gentbl(
name = "xla_legalize_to_standard_inc_gen",
tbl_outs = [
(
"-gen-rewriters",
"transforms/generated_legalize_to_standard.inc",
),
],
tblgen = "@local_config_mlir//:mlir-tblgen",
td_file = "transforms/legalize_to_standard_patterns.td",
td_srcs = [
":xla_ops_td_files",
"@local_config_mlir//:StdOpsTdFiles",
],
)
cc_library(
name = "xla_legalize_control_flow",
srcs = [
"transforms/legalize_control_flow.cc",
],
copts = ["-std=c++14"],
deps = [
":xla",
"//tensorflow/compiler/mlir/tensorflow",
"@llvm//:support",
"@local_config_mlir//:Analysis",
"@local_config_mlir//:IR",
"@local_config_mlir//:Pass",
"@local_config_mlir//:StandardOps",
],
alwayslink = 1,
)
cc_library(
name = "xla_legalize_to_standard",
srcs = [
"transforms/legalize_to_standard.cc",
],
copts = ["-std=c++14"],
deps = [
":xla",
":xla_legalize_to_standard_inc_gen",
"//tensorflow/compiler/mlir/tensorflow",
"@llvm//:support",
"@local_config_mlir//:Analysis",
"@local_config_mlir//:IR",
"@local_config_mlir//:Pass",
"@local_config_mlir//:StandardOps",
],
alwayslink = 1,
)
cc_library(
name = "xla",
srcs = [
"ir/xla_ops.cc",
"ir/xla_ops.cc.inc",
"ir/xla_ops.h.inc",
],
hdrs = [
"ir/xla_ops.h",
"transforms/passes.h",
],
copts = ["-std=c++14"],
includes = ["include"],
deps = [
":xla_ops_base_inc_gen",
":xla_ops_inc_gen",
"@llvm//:support",
"@local_config_mlir//:Analysis",
"@local_config_mlir//:IR",
"@local_config_mlir//:Pass",
"@local_config_mlir//:StandardOps",
"@local_config_mlir//:Support",
"@local_config_mlir//:TransformUtils",
],
alwayslink = 1,
)
cc_library(
name = "lxla",
srcs = [
"ir/lxla_ops.cc",
"ir/lxla_ops.cc.inc",
"ir/lxla_ops.h.inc",
],
hdrs = [
"ir/lxla_ops.h",
"transforms/passes.h",
],
includes = ["include"],
deps = [
":lxla_ops_inc_gen",
":xla_ops_base_inc_gen",
"@llvm//:support",
"@local_config_mlir//:Analysis",
"@local_config_mlir//:IR",
"@local_config_mlir//:Pass",
"@local_config_mlir//:StandardOps",
"@local_config_mlir//:Support",
"@local_config_mlir//:TransformUtils",
],
alwayslink = 1,
)
# Library with XLA dialect static initialization.
cc_library(
name = "xla_dialect_registration",
srcs = ["ir/dialect_registration.cc"],
copts = ["-std=c++14"],
deps = [
":lxla",
":xla",
"@local_config_mlir//:IR",
],
alwayslink = 1,
)
cc_library(
name = "type_to_shape",
srcs = ["type_to_shape.cc"],
hdrs = ["type_to_shape.h"],
copts = ["-std=c++14"],
deps = [
"//tensorflow/compiler/xla:shape_util",
"//tensorflow/compiler/xla:xla_data_proto",
"//tensorflow/core:lib",
"@local_config_mlir//:IR",
"@local_config_mlir//:Support",
],
)
tf_cc_test(
name = "type_to_shape_test",
srcs = ["type_to_shape_test.cc"],
deps = [
":type_to_shape",
"//tensorflow/compiler/xla:shape_util",
"//tensorflow/compiler/xla:test",
"//tensorflow/compiler/xla:xla_data_proto",
"//tensorflow/core:lib",
"//tensorflow/core:test_main",
"@local_config_mlir//:IR",
],
)
cc_library(
name = "mlir_hlo_to_hlo",
srcs = [
"mlir_hlo_to_hlo.cc",
"operator_writers.inc",
],
hdrs = ["mlir_hlo_to_hlo.h"],
copts = ["-std=c++14"],
deps = [
":type_to_shape",
":xla",
"//tensorflow/compiler/mlir/tensorflow:error_util",
"//tensorflow/compiler/xla:comparison_util",
"//tensorflow/compiler/xla:status_macros",
"//tensorflow/compiler/xla:xla_data_proto",
"//tensorflow/compiler/xla/client:xla_builder",
"//tensorflow/compiler/xla/service:hlo",
"@llvm//:support",
"@local_config_mlir//:Analysis",
"@local_config_mlir//:IR",
"@local_config_mlir//:Pass",
"@local_config_mlir//:StandardOps",
"@local_config_mlir//:TransformUtils",
"@local_config_mlir//:Transforms",
],
)
cc_library(
name = "hlo_to_mlir_hlo",
srcs = [
"hlo_to_mlir_hlo.cc",
],
hdrs = [
"hlo_to_mlir_hlo.h",
],
copts = ["-std=c++14"],
deps = [
":hlo_module_importer",
"//tensorflow/compiler/mlir/tensorflow:error_util",
"//tensorflow/compiler/xla:status",
"//tensorflow/compiler/xla:status_macros",
"//tensorflow/core:lib",
],
)
cc_library(
name = "hlo_module_importer",
srcs = [
"hlo_function_importer.cc",
"hlo_module_importer.cc",
],
hdrs = [
"hlo_function_importer.h",
"hlo_module_importer.h",
],
copts = ["-std=c++14"],
deps = [
":xla",
"//tensorflow/compiler/mlir/tensorflow:error_util",
"//tensorflow/compiler/xla:protobuf_util",
"//tensorflow/compiler/xla:status",
"//tensorflow/compiler/xla:status_macros",
"//tensorflow/compiler/xla:statusor",
"//tensorflow/compiler/xla:xla_data_proto",
"//tensorflow/compiler/xla:xla_proto",
"//tensorflow/compiler/xla/service:hlo",
"//tensorflow/core:lib",
"@llvm//:support",
"@local_config_mlir//:IR",
"@local_config_mlir//:StandardOps",
],
)
cc_library(
name = "xla_mlir_translate",
srcs = [
"xla_mlir_translate.cc",
],
hdrs = [
"xla_mlir_translate.h",
],
copts = ["-std=c++14"],
deps = [
":hlo_to_mlir_hlo",
":mlir_hlo_to_hlo",
"//tensorflow/compiler/xla:debug_options_flags",
"//tensorflow/compiler/xla:statusor",
"//tensorflow/compiler/xla/service:hlo_parser",
"//tensorflow/compiler/xla/service:hlo_proto",
"//tensorflow/core:lib",
"@com_google_protobuf//:protobuf_headers",
"@llvm//:support",
"@local_config_mlir//:IR",
"@local_config_mlir//:Translation",
],
alwayslink = 1,
)
tf_native_cc_binary(
name = "operator_writer_gen",
srcs = [
"operator_writer_gen.cc",
],
deps = [
"@llvm//:support",
"@llvm//:tablegen",
"@local_config_mlir//:TableGen",
],
)
genrule(
name = "operator_writer_inc",
srcs = [
"@local_config_mlir//:include/mlir/IR/OpBase.td",
"//tensorflow/compiler/mlir/xla:ir/xla_ops.td",
"//tensorflow/compiler/mlir/xla:ir/xla_ops_base.td",
],
outs = [
"operator_writers.inc",
],
cmd = ("$(location :operator_writer_gen) " +
"-I external/local_config_mlir/include " +
"$(location //tensorflow/compiler/mlir/xla:ir/xla_ops.td) " +
" -o $@"),
tools = [":operator_writer_gen"],
)