| 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"], |
| ) |