| load("//tensorflow/core/platform:rules_cc.bzl", "cc_library") |
| load("@llvm-project//mlir:tblgen.bzl", "gentbl_cc_library", "td_library") |
| load("//tensorflow:tensorflow.bzl", "tf_cc_binary", "tf_cc_test", "tf_native_cc_binary") |
| load("//tensorflow:tensorflow.bzl", "get_compatible_with_cloud") |
| |
| package( |
| default_visibility = ["//visibility:public"], |
| licenses = ["notice"], |
| ) |
| |
| gentbl_cc_library( |
| name = "legalize_tf_patterns_inc_gen", |
| compatible_with = get_compatible_with_cloud(), |
| tbl_outs = [ |
| ( |
| ["-gen-rewriters"], |
| "transforms/generated_legalize_tf.inc", |
| ), |
| ], |
| tblgen = "@llvm-project//mlir:mlir-tblgen", |
| td_file = "transforms/legalize_tf_patterns.td", |
| deps = [ |
| "//tensorflow/compiler/mlir/tensorflow:tensorflow_ops_td_files", |
| "//tensorflow/compiler/xla/mlir_hlo:hlo_ops_td_files", |
| "@llvm-project//llvm:Support", |
| "@llvm-project//mlir:FuncTdFiles", |
| "@llvm-project//mlir:TensorOpsTdFiles", |
| ], |
| ) |
| |
| gentbl_cc_library( |
| name = "xla_legalize_tf_passes_inc_gen", |
| compatible_with = get_compatible_with_cloud(), |
| tbl_outs = [ |
| ( |
| [ |
| "-gen-pass-decls", |
| "-name=LegalizeTf", |
| ], |
| "transforms/xla_legalize_tf_passes.h.inc", |
| ), |
| ], |
| tblgen = "@llvm-project//mlir:mlir-tblgen", |
| td_file = "transforms/xla_legalize_tf_passes.td", |
| deps = [ |
| "@llvm-project//mlir:PassBaseTdFiles", |
| ], |
| ) |
| |
| gentbl_cc_library( |
| name = "xla_passes_inc_gen", |
| compatible_with = get_compatible_with_cloud(), |
| tbl_outs = [ |
| ( |
| [ |
| "-gen-pass-decls", |
| "-name=Xla", |
| ], |
| "transforms/xla_passes.h.inc", |
| ), |
| ], |
| tblgen = "@llvm-project//mlir:mlir-tblgen", |
| td_file = "transforms/xla_passes.td", |
| deps = [ |
| "//tensorflow/compiler/mlir/tensorflow:tensorflow_ops_td_files", |
| "//tensorflow/compiler/xla/mlir_hlo:hlo_ops_td_files", |
| "@llvm-project//llvm:Support", |
| "@llvm-project//mlir:FuncTdFiles", |
| "@llvm-project//mlir:PassBaseTdFiles", |
| "@llvm-project//mlir:TensorOpsTdFiles", |
| ], |
| ) |
| |
| gentbl_cc_library( |
| name = "tf_xla_passes_inc_gen", |
| compatible_with = get_compatible_with_cloud(), |
| tbl_outs = [ |
| ( |
| [ |
| "-gen-pass-decls", |
| "-name=TfXla", |
| ], |
| "transforms/tf_xla_passes.h.inc", |
| ), |
| ], |
| tblgen = "@llvm-project//mlir:mlir-tblgen", |
| td_file = "transforms/tf_xla_passes.td", |
| deps = [ |
| "//tensorflow/compiler/mlir/tensorflow:tensorflow_ops_td_files", |
| "//tensorflow/compiler/xla/mlir_hlo:hlo_ops_td_files", |
| "@llvm-project//llvm:Support", |
| "@llvm-project//mlir:FuncTdFiles", |
| "@llvm-project//mlir:PassBaseTdFiles", |
| "@llvm-project//mlir:TensorOpsTdFiles", |
| ], |
| ) |
| |
| cc_library( |
| name = "xla_passes", |
| srcs = [ |
| "transforms/outline_with_xla_framework.cc", |
| "transforms/prepare_for_export.cc", |
| "transforms/xla_framework_to_llvm_pass.cc", |
| "transforms/xla_passes_detail.h", |
| ], |
| hdrs = [ |
| "transforms/xla_passes.h", |
| ], |
| deps = [ |
| ":xla_framework", |
| ":xla_passes_inc_gen", |
| "//tensorflow/compiler/xla/mlir_hlo", |
| "@llvm-project//llvm:Core", |
| "@llvm-project//llvm:Support", |
| "@llvm-project//mlir:ArithmeticDialect", |
| "@llvm-project//mlir:ArithmeticToLLVM", |
| "@llvm-project//mlir:FuncDialect", |
| "@llvm-project//mlir:FuncToLLVM", |
| "@llvm-project//mlir:FuncTransforms", |
| "@llvm-project//mlir:IR", |
| "@llvm-project//mlir:LLVMCommonConversion", |
| "@llvm-project//mlir:LLVMDialect", |
| "@llvm-project//mlir:MathToLLVM", |
| "@llvm-project//mlir:MemRefToLLVM", |
| "@llvm-project//mlir:Pass", |
| "@llvm-project//mlir:ReconcileUnrealizedCasts", |
| "@llvm-project//mlir:SCFToControlFlow", |
| "@llvm-project//mlir:Support", |
| "@llvm-project//mlir:TransformUtils", |
| ], |
| ) |
| |
| cc_library( |
| name = "tf_xla_passes", |
| srcs = [ |
| "transforms/tf_xla_passes_detail.h", |
| "transforms/xla_legalize_tf_passes.h.inc", |
| ], |
| hdrs = [ |
| "transforms/passes.h", |
| ], |
| deps = [ |
| ":tf_xla_passes_inc_gen", |
| ":xla_legalize_tf", |
| "//tensorflow/compiler/xla/mlir_hlo", |
| "@llvm-project//llvm:Support", |
| "@llvm-project//mlir:FuncDialect", |
| "@llvm-project//mlir:IR", |
| "@llvm-project//mlir:Pass", |
| "@llvm-project//mlir:Support", |
| ], |
| ) |
| |
| cc_library( |
| name = "legalize_utils", |
| srcs = ["transforms/utils.cc"], |
| hdrs = ["transforms/utils.h"], |
| deps = [ |
| "//tensorflow/compiler/xla/mlir_hlo", |
| "@llvm-project//llvm:Support", |
| "@llvm-project//mlir:IR", |
| ], |
| ) |
| |
| cc_library( |
| name = "legalize_tf", |
| srcs = [ |
| "transforms/generated_legalize_tf.inc", |
| "transforms/legalize_tf.cc", |
| ], |
| hdrs = [ |
| "transforms/passes.h", |
| ], |
| deps = [ |
| ":attribute_importer", |
| ":legalize_tf_patterns_inc_gen", |
| ":legalize_utils", |
| ":tf_xla_passes_inc_gen", |
| ":type_to_shape", |
| ":xla_legalize_tf_passes_inc_gen", |
| "//tensorflow/compiler/mlir/tensorflow", |
| "//tensorflow/compiler/xla:xla_data_proto_cc", |
| "//tensorflow/compiler/xla/client:padding", |
| "//tensorflow/compiler/xla/client:sharding_builder", |
| "//tensorflow/compiler/xla/client/lib:conv_grad_size_util", |
| "//tensorflow/compiler/xla/mlir_hlo", |
| "//tensorflow/compiler/xla/mlir_hlo:convert_op_folder", |
| "//tensorflow/core:framework", |
| "//tensorflow/core/kernels:conv_grad_shape_utils", |
| "//tensorflow/core/platform:bfloat16", |
| "@llvm-project//llvm:Support", |
| "@llvm-project//mlir:ArithmeticDialect", |
| "@llvm-project//mlir:Dialect", |
| "@llvm-project//mlir:FuncDialect", |
| "@llvm-project//mlir:IR", |
| "@llvm-project//mlir:Pass", |
| "@llvm-project//mlir:ShapeDialect", |
| "@llvm-project//mlir:Support", |
| "@llvm-project//mlir:TensorDialect", |
| ], |
| ) |
| |
| cc_library( |
| name = "adjust_layout", |
| srcs = [ |
| "transforms/adjust_layout.cc", |
| "transforms/tf_xla_passes_detail.h", |
| ], |
| hdrs = [ |
| "transforms/adjust_layout.h", |
| ], |
| deps = [ |
| ":attribute_importer", |
| ":tf_xla_passes_inc_gen", |
| ":type_to_shape", |
| "//tensorflow/compiler/mlir/tensorflow", |
| "//tensorflow/compiler/xla:shape_util", |
| "//tensorflow/compiler/xla:xla_data_proto_cc", |
| "//tensorflow/compiler/xla/client:padding", |
| "//tensorflow/compiler/xla/client:sharding_builder", |
| "//tensorflow/compiler/xla/client/lib:conv_grad_size_util", |
| "//tensorflow/compiler/xla/mlir_hlo", |
| "//tensorflow/compiler/xla/mlir_hlo:convert_op_folder", |
| "//tensorflow/core:framework", |
| "//tensorflow/core/kernels:conv_grad_shape_utils", |
| "//tensorflow/core/platform:bfloat16", |
| "//tensorflow/core/tpu:tpu_api", |
| "//tensorflow/stream_executor/tpu:c_api_conversions", |
| "//tensorflow/stream_executor/tpu:c_api_decl", |
| "//tensorflow/stream_executor/tpu:tpu_executor_c_api_hdrs", |
| "@com_google_absl//absl/types:span", |
| "@llvm-project//llvm:Support", |
| "@llvm-project//mlir:Dialect", |
| "@llvm-project//mlir:FuncDialect", |
| "@llvm-project//mlir:IR", |
| "@llvm-project//mlir:Pass", |
| "@llvm-project//mlir:ShapeDialect", |
| "@llvm-project//mlir:Support", |
| "@llvm-project//mlir:TensorDialect", |
| ], |
| ) |
| |
| cc_library( |
| name = "xla_legalize_tf", |
| srcs = [ |
| "transforms/legalize_tf_collective.cc", |
| "transforms/legalize_tf_communication.cc", |
| "transforms/legalize_tf_control_flow.cc", |
| "transforms/legalize_tf_types.cc", |
| "transforms/tf_xla_passes.h.inc", |
| "transforms/tf_xla_passes_detail.h", |
| "transforms/xla_legalize_tf.cc", |
| "transforms/xla_legalize_tf_passes.h.inc", |
| "transforms/xla_legalize_tf_passes_detail.h", |
| ], |
| hdrs = [ |
| "transforms/passes.h", |
| ], |
| deps = [ |
| ":legalize_tf", |
| ":legalize_utils", |
| ":type_to_shape", |
| ":xla_legalize_tf_passes_inc_gen", |
| ":xla_legalize_tf_with_tf2xla", |
| "//tensorflow/compiler/mlir/tensorflow", |
| "//tensorflow/compiler/mlir/tensorflow:lower_tf_lib", |
| "//tensorflow/compiler/mlir/tensorflow:tensorflow_types", |
| "//tensorflow/compiler/xla:shape_util", |
| "//tensorflow/compiler/xla:side_effect_util", |
| "//tensorflow/compiler/xla:xla_data_proto_cc", |
| "//tensorflow/compiler/xla/client:padding", |
| "//tensorflow/compiler/xla/client:sharding_builder", |
| "//tensorflow/compiler/xla/mlir_hlo", |
| "//tensorflow/compiler/xla/mlir_hlo:chlo_legalize_to_hlo", |
| "//tensorflow/compiler/xla/mlir_hlo:convert_op_folder", |
| "@llvm-project//llvm:Support", |
| "@llvm-project//mlir:ArithmeticDialect", |
| "@llvm-project//mlir:FuncDialect", |
| "@llvm-project//mlir:IR", |
| "@llvm-project//mlir:MemRefDialect", |
| "@llvm-project//mlir:Pass", |
| "@llvm-project//mlir:ShapeDialect", |
| "@llvm-project//mlir:Support", |
| "@llvm-project//mlir:TensorDialect", |
| "@llvm-project//mlir:Transforms", |
| ], |
| ) |
| |
| cc_library( |
| name = "xla_legalize_tf_no_fallback", |
| srcs = [ |
| "transforms/xla_legalize_tf_no_fallback.cc", |
| "transforms/xla_legalize_tf_passes.h.inc", |
| "transforms/xla_legalize_tf_passes_detail.h", |
| ], |
| hdrs = [ |
| "transforms/passes.h", |
| ], |
| deps = [ |
| ":legalize_tf", |
| ":tf_xla_passes_inc_gen", |
| ":xla_legalize_tf_passes_inc_gen", |
| "//tensorflow/compiler/mlir/tensorflow", |
| "//tensorflow/compiler/mlir/tensorflow:lower_tf_lib", |
| "//tensorflow/compiler/xla/mlir_hlo", |
| "@llvm-project//llvm:Support", |
| "@llvm-project//mlir:ArithmeticDialect", |
| "@llvm-project//mlir:FuncDialect", |
| "@llvm-project//mlir:IR", |
| "@llvm-project//mlir:MemRefDialect", |
| "@llvm-project//mlir:Pass", |
| "@llvm-project//mlir:ShapeDialect", |
| "@llvm-project//mlir:Support", |
| "@llvm-project//mlir:TensorDialect", |
| "@llvm-project//mlir:Transforms", |
| ], |
| ) |
| |
| cc_library( |
| name = "xla_legalize_tf_with_tf2xla", |
| srcs = [ |
| "transforms/legalize_tf_with_tf2xla.cc", |
| "transforms/tf_xla_passes_detail.h", |
| ], |
| deps = [ |
| ":mlir_hlo_builder", |
| ":tf_xla_passes_inc_gen", |
| "//tensorflow/compiler/mlir:op_or_arg_name_mapper", |
| "//tensorflow/compiler/mlir/tensorflow", |
| "//tensorflow/compiler/mlir/tensorflow:convert_tensor", |
| "//tensorflow/compiler/mlir/tensorflow:convert_type", |
| "//tensorflow/compiler/mlir/tensorflow:export_tf_dialect_op", |
| "//tensorflow/compiler/mlir/tensorflow:lower_tf_lib", |
| "//tensorflow/compiler/mlir/tensorflow:tensorflow_ops", |
| "//tensorflow/compiler/mlir/tensorflow:translate_utils", |
| "//tensorflow/compiler/tf2xla:xla_compilation_device", |
| "//tensorflow/compiler/tf2xla:xla_context", |
| "//tensorflow/compiler/tf2xla:xla_expression", |
| "//tensorflow/compiler/tf2xla:xla_helpers", |
| "//tensorflow/compiler/tf2xla:xla_op_registry", |
| "//tensorflow/compiler/xla/client:xla_builder", |
| "//tensorflow/compiler/xla/mlir_hlo", |
| "//tensorflow/core:core_cpu_lib", |
| "//tensorflow/core:framework", |
| "//tensorflow/core:lib", |
| "//tensorflow/core:lib_internal", |
| "//tensorflow/core:protos_all_cc", |
| "//tensorflow/core:session_options", |
| "//tensorflow/stream_executor:timer", |
| "//tensorflow/stream_executor/lib", |
| "@com_google_absl//absl/container:inlined_vector", |
| "@com_google_absl//absl/memory", |
| "@com_google_absl//absl/strings", |
| "@llvm-project//llvm:Support", |
| "@llvm-project//mlir:FuncDialect", |
| "@llvm-project//mlir:IR", |
| "@llvm-project//mlir:Pass", |
| "@llvm-project//mlir:Support", |
| "@llvm-project//mlir:TensorDialect", |
| "@llvm-project//mlir:TransformUtils", |
| ], |
| ) |
| |
| cc_library( |
| name = "mhlo_to_lhlo_with_xla", |
| srcs = ["transforms/mhlo_to_lhlo_with_xla.cc"], |
| hdrs = ["transforms/mhlo_to_lhlo_with_xla.h"], |
| deps = [ |
| ":attribute_importer", |
| ":hlo_module_importer", |
| ":hlo_utils", |
| ":mlir_hlo_to_hlo", |
| ":type_to_shape", |
| "//tensorflow/compiler/mlir/tensorflow:error_util", |
| "//tensorflow/compiler/xla:debug_options_flags", |
| "//tensorflow/compiler/xla:shape_util", |
| "//tensorflow/compiler/xla:statusor", |
| "//tensorflow/compiler/xla:util", |
| "//tensorflow/compiler/xla:window_util", |
| "//tensorflow/compiler/xla:xla_data_proto_cc", |
| "//tensorflow/compiler/xla/mlir_hlo", |
| "//tensorflow/compiler/xla/mlir_hlo:lhlo", |
| "//tensorflow/compiler/xla/mlir_hlo:lhlo_gpu", |
| "//tensorflow/compiler/xla/service:backend", |
| "//tensorflow/compiler/xla/service:buffer_assignment", |
| "//tensorflow/compiler/xla/service:hlo", |
| "//tensorflow/compiler/xla/service:hlo_parser", |
| "//tensorflow/compiler/xla/service/gpu:backend_configs_cc", |
| "//tensorflow/compiler/xla/service/gpu:cublas_cudnn", |
| "//tensorflow/compiler/xla/service/gpu:ir_emission_utils", |
| "//tensorflow/compiler/xla/service/llvm_ir:buffer_assignment_util", |
| "@com_google_absl//absl/algorithm:container", |
| "@com_google_absl//absl/cleanup", |
| "@com_google_absl//absl/types:optional", |
| "@llvm-project//llvm:Support", |
| "@llvm-project//mlir:ArithmeticDialect", |
| "@llvm-project//mlir:BufferizationDialect", |
| "@llvm-project//mlir:FuncDialect", |
| "@llvm-project//mlir:IR", |
| "@llvm-project//mlir:MemRefDialect", |
| "@llvm-project//mlir:Pass", |
| "@llvm-project//mlir:TranslateLib", |
| ], |
| ) |
| |
| cc_library( |
| name = "mlir_hlo_builder", |
| srcs = ["ir/mlir_hlo_builder.cc"], |
| hdrs = ["ir/mlir_hlo_builder.h"], |
| deps = [ |
| ":attribute_importer", |
| ":hlo_module_importer", |
| ":hlo_utils", |
| ":type_to_shape", |
| "//tensorflow/compiler/xla:comparison_util", |
| "//tensorflow/compiler/xla:shape_util", |
| "//tensorflow/compiler/xla:types", |
| "//tensorflow/compiler/xla:util", |
| "//tensorflow/compiler/xla/client:xla_builder", |
| "//tensorflow/compiler/xla/mlir_hlo", |
| "//tensorflow/compiler/xla/service:hlo", |
| "//tensorflow/compiler/xla/service:shape_inference", |
| "//tensorflow/core/platform:types", |
| "//tensorflow/stream_executor/lib", |
| "@com_google_absl//absl/container:flat_hash_map", |
| "@llvm-project//llvm:Support", |
| "@llvm-project//mlir:FuncDialect", |
| "@llvm-project//mlir:IR", |
| ], |
| ) |
| |
| cc_library( |
| name = "hlo_utils", |
| srcs = ["hlo_utils.cc"], |
| hdrs = ["hlo_utils.h"], |
| includes = ["include"], |
| deps = [ |
| "//tensorflow/compiler/xla:literal", |
| "//tensorflow/compiler/xla/mlir_hlo", |
| "//tensorflow/compiler/xla/mlir_hlo:convert_op_folder", |
| "//tensorflow/compiler/xla/mlir_hlo:lhlo", |
| "//tensorflow/compiler/xla/service:hlo", |
| "//tensorflow/core:lib", |
| "@llvm-project//llvm:Support", |
| "@llvm-project//mlir:IR", |
| ], |
| ) |
| |
| tf_cc_test( |
| name = "hlo_utils_test", |
| srcs = ["hlo_utils_test.cc"], |
| deps = [ |
| ":hlo_utils", |
| "//tensorflow/compiler/xla:shape_util", |
| "//tensorflow/compiler/xla:test", |
| "//tensorflow/core:test_main", |
| "//tensorflow/core/protobuf:error_codes_proto_impl_cc", |
| "@llvm-project//mlir:IR", |
| "@llvm-project//mlir:Support", |
| ], |
| ) |
| |
| cc_library( |
| name = "type_to_shape", |
| srcs = ["type_to_shape.cc"], |
| hdrs = ["type_to_shape.h"], |
| deps = [ |
| "//tensorflow/compiler/mlir/tensorflow:convert_tensor", |
| "//tensorflow/compiler/mlir/tensorflow:convert_type", |
| "//tensorflow/compiler/xla:shape_util", |
| "//tensorflow/compiler/xla:statusor", |
| "//tensorflow/compiler/xla:xla_data_proto_cc", |
| "//tensorflow/compiler/xla/mlir_hlo", |
| "//tensorflow/core:framework", |
| "//tensorflow/core/platform:logging", |
| "//tensorflow/core/platform:types", |
| "@llvm-project//llvm:Support", |
| "@llvm-project//mlir:IR", |
| "@llvm-project//mlir:Support", |
| ], |
| ) |
| |
| tf_cc_test( |
| name = "type_to_shape_test", |
| srcs = ["type_to_shape_test.cc"], |
| deps = [ |
| ":hlo_utils", |
| ":type_to_shape", |
| "//tensorflow/compiler/xla:shape_util", |
| "//tensorflow/compiler/xla:test", |
| "//tensorflow/compiler/xla:xla_data_proto_cc", |
| "//tensorflow/core:lib", |
| "//tensorflow/core:protos_all_cc", |
| "//tensorflow/core:test_main", |
| "@llvm-project//mlir:IR", |
| ], |
| ) |
| |
| cc_library( |
| name = "mlir_hlo_to_hlo", |
| srcs = [ |
| "mlir_hlo_to_hlo.cc", |
| "operator_writers.inc", |
| ], |
| hdrs = ["mlir_hlo_to_hlo.h"], |
| deps = [ |
| ":attribute_exporter", |
| ":type_to_shape", |
| ":xla_passes", |
| "//tensorflow/compiler/mlir:name_utils", |
| "//tensorflow/compiler/mlir/tensorflow:convert_type", |
| "//tensorflow/compiler/mlir/tensorflow:error_util", |
| "//tensorflow/compiler/tf2xla:common", |
| "//tensorflow/compiler/tf2xla:layout_util", |
| "//tensorflow/compiler/tf2xla:xla_helpers", |
| "//tensorflow/compiler/xla:comparison_util", |
| "//tensorflow/compiler/xla:literal_util", |
| "//tensorflow/compiler/xla:shape_util", |
| "//tensorflow/compiler/xla:status_macros", |
| "//tensorflow/compiler/xla:xla_data_proto_cc", |
| "//tensorflow/compiler/xla/client:xla_builder", |
| "//tensorflow/compiler/xla/client/lib:matrix", |
| "//tensorflow/compiler/xla/client/lib:quantize", |
| "//tensorflow/compiler/xla/client/lib:slicing", |
| "//tensorflow/compiler/xla/mlir_hlo", |
| "//tensorflow/compiler/xla/service:hlo", |
| "//tensorflow/compiler/xla/service:hlo_parser", |
| "//tensorflow/compiler/xla/service/gpu:backend_configs_cc", |
| "//tensorflow/core:framework", |
| "//tensorflow/core:lib", |
| "//tensorflow/core:protos_all_cc", |
| "//tensorflow/stream_executor/lib", |
| "@llvm-project//llvm:Support", |
| "@llvm-project//mlir:Analysis", |
| "@llvm-project//mlir:ArithmeticDialect", |
| "@llvm-project//mlir:FuncDialect", |
| "@llvm-project//mlir:IR", |
| "@llvm-project//mlir:MemRefDialect", |
| "@llvm-project//mlir:Pass", |
| "@llvm-project//mlir:Support", |
| "@llvm-project//mlir:TensorDialect", |
| "@llvm-project//mlir:TransformUtils", |
| "@llvm-project//mlir:Transforms", |
| ], |
| ) |
| |
| cc_library( |
| name = "hlo_to_mlir_hlo", |
| srcs = ["hlo_to_mlir_hlo.cc"], |
| hdrs = ["hlo_to_mlir_hlo.h"], |
| 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", |
| ], |
| deps = [ |
| ":attribute_importer", |
| ":hlo_utils", |
| "//tensorflow/compiler/mlir/tensorflow:error_util", |
| "//tensorflow/compiler/xla:comparison_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_cc", |
| "//tensorflow/compiler/xla:xla_proto_cc", |
| "//tensorflow/compiler/xla/mlir_hlo", |
| "//tensorflow/compiler/xla/service:hlo", |
| "//tensorflow/core:lib", |
| "@com_google_absl//absl/algorithm:container", |
| "@com_google_absl//absl/types:optional", |
| "@llvm-project//llvm:Support", |
| "@llvm-project//mlir:ArithmeticDialect", |
| "@llvm-project//mlir:FuncDialect", |
| "@llvm-project//mlir:IR", |
| ], |
| ) |
| |
| cc_library( |
| name = "attribute_importer", |
| srcs = ["attribute_importer.cc"], |
| hdrs = ["attribute_importer.h"], |
| deps = [ |
| "//tensorflow/compiler/xla:shape_util", |
| "//tensorflow/compiler/xla:statusor", |
| "//tensorflow/compiler/xla:util", |
| "//tensorflow/compiler/xla:xla_data_proto_cc", |
| "//tensorflow/compiler/xla/mlir_hlo", |
| "//tensorflow/compiler/xla/service:hlo_proto_cc", |
| "//tensorflow/core/platform:types", |
| "@llvm-project//mlir:IR", |
| ], |
| ) |
| |
| cc_library( |
| name = "attribute_exporter", |
| srcs = ["attribute_exporter.cc"], |
| hdrs = ["attribute_exporter.h"], |
| deps = [ |
| "//tensorflow/compiler/xla:statusor", |
| "//tensorflow/compiler/xla:types", |
| "//tensorflow/compiler/xla:util", |
| "//tensorflow/compiler/xla:xla_data_proto_cc", |
| "//tensorflow/compiler/xla/mlir_hlo", |
| "//tensorflow/compiler/xla/mlir_hlo:lhlo_gpu", |
| "//tensorflow/compiler/xla/service:hlo_proto_cc", |
| "//tensorflow/stream_executor:dnn", |
| "@llvm-project//mlir:IR", |
| ], |
| ) |
| |
| cc_library( |
| name = "translate_cl_registration", |
| testonly = True, |
| srcs = ["xla_mlir_translate_registration.cc"], |
| deps = [ |
| ":mhlo_to_lhlo_with_xla", |
| ":mlir_hlo_to_hlo", |
| ":type_to_shape", |
| ":xla_mlir_translate", |
| "//tensorflow/compiler/xla/service:hlo_proto_cc", |
| "@llvm-project//llvm:Support", |
| "@llvm-project//mlir:ArithmeticDialect", |
| "@llvm-project//mlir:FuncDialect", |
| "@llvm-project//mlir:IR", |
| "@llvm-project//mlir:TensorDialect", |
| "@llvm-project//mlir:TranslateLib", |
| ], |
| alwayslink = 1, |
| ) |
| |
| cc_library( |
| name = "xla_mlir_translate", |
| srcs = ["xla_mlir_translate.cc"], |
| hdrs = ["xla_mlir_translate.h"], |
| deps = [ |
| ":hlo_to_mlir_hlo", |
| ":mhlo_to_lhlo_with_xla", |
| ":mlir_hlo_to_hlo", |
| ":type_to_shape", |
| "//tensorflow/compiler/jit:xla_cpu_jit", |
| "//tensorflow/compiler/jit:xla_gpu_jit", |
| "//tensorflow/compiler/xla:debug_options_flags", |
| "//tensorflow/compiler/xla:status", |
| "//tensorflow/compiler/xla:statusor", |
| "//tensorflow/compiler/xla/mlir_hlo", |
| "//tensorflow/compiler/xla/service:hlo_parser", |
| "//tensorflow/compiler/xla/service:hlo_proto_cc", |
| "//tensorflow/core:lib", |
| "@llvm-project//llvm:Support", |
| "@llvm-project//mlir:ArithmeticDialect", |
| "@llvm-project//mlir:FuncDialect", |
| "@llvm-project//mlir:IR", |
| "@llvm-project//mlir:TensorDialect", |
| ], |
| ) |
| |
| tf_native_cc_binary( |
| name = "operator_writer_gen", |
| srcs = ["operator_writer_gen.cc"], |
| deps = [ |
| "@llvm-project//llvm:Support", |
| "@llvm-project//llvm:TableGen", |
| "@llvm-project//mlir:Support", |
| "@llvm-project//mlir:TableGen", |
| ], |
| ) |
| |
| gentbl_cc_library( |
| name = "operator_writer_inc", |
| compatible_with = get_compatible_with_cloud(), |
| tbl_outs = [([], "operator_writers.inc")], |
| tblgen = ":operator_writer_gen", |
| td_file = "//tensorflow/compiler/xla/mlir_hlo:include/mlir-hlo/Dialect/mhlo/IR/hlo_ops.td", |
| deps = [ |
| "//tensorflow/compiler/xla/mlir_hlo:hlo_ops_td_files", |
| "@llvm-project//mlir:InferTypeOpInterfaceTdFiles", |
| "@llvm-project//mlir:OpBaseTdFiles", |
| "@llvm-project//mlir:SideEffectInterfacesTdFiles", |
| ], |
| ) |
| |
| tf_cc_binary( |
| name = "xla-opt", |
| testonly = True, |
| srcs = ["xla_opt_main.cc"], |
| deps = [ |
| ":adjust_layout", # buildcleaner: keep |
| ":mhlo_to_lhlo_with_xla", # buildcleaner: keep |
| ":tf_xla_passes", # buildcleaner: keep |
| ":xla_framework", |
| ":xla_legalize_tf", # buildcleaner: keep |
| ":xla_legalize_tf_no_fallback", # buildcleaner: keep |
| ":xla_passes", # buildcleaner: keep |
| "//tensorflow/compiler/mlir:init_mlir", |
| "//tensorflow/compiler/mlir/tensorflow:tensorflow_types", |
| "//tensorflow/compiler/mlir/tensorflow:tf_dialect_passes", |
| "//tensorflow/compiler/xla/mlir_hlo:all_passes", |
| "//tensorflow/compiler/xla/mlir_hlo:hlo_dialect_registration", |
| "//tensorflow/compiler/xla/service:cpu_plugin", |
| "//tensorflow/core/ir/types:Dialect", |
| "@llvm-project//mlir:AllPassesAndDialects", |
| "@llvm-project//mlir:MlirOptLib", |
| ], |
| ) |
| |
| tf_cc_binary( |
| name = "xla-opt-gpu", |
| testonly = True, |
| srcs = ["xla_opt_main.cc"], |
| deps = [ |
| ":adjust_layout", # buildcleaner: keep |
| ":mhlo_to_lhlo_with_xla", # buildcleaner: keep |
| ":tf_xla_passes", # buildcleaner: keep |
| ":xla_framework", # buildcleaner: keep |
| ":xla_legalize_tf", # buildcleaner: keep |
| ":xla_legalize_tf_no_fallback", # buildcleaner: keep |
| ":xla_passes", # buildcleaner: keep |
| "//tensorflow/compiler/mlir:init_mlir", |
| "//tensorflow/compiler/mlir/tensorflow:tensorflow_types", |
| "//tensorflow/compiler/mlir/tensorflow:tf_dialect_passes", |
| "//tensorflow/compiler/xla/mlir_hlo:all_passes", |
| "//tensorflow/compiler/xla/mlir_hlo:hlo_dialect_registration", |
| "//tensorflow/compiler/xla/service:gpu_plugin", |
| "//tensorflow/core/ir/types:Dialect", |
| "@llvm-project//mlir:AllPassesAndDialects", |
| "@llvm-project//mlir:MlirOptLib", |
| ], |
| ) |
| |
| td_library( |
| name = "td_files", |
| srcs = [ |
| "ir/xla_framework_ops.td", |
| ], |
| compatible_with = get_compatible_with_cloud(), |
| deps = [ |
| "@llvm-project//mlir:ControlFlowInterfacesTdFiles", |
| "@llvm-project//mlir:OpBaseTdFiles", |
| "@llvm-project//mlir:SideEffectInterfacesTdFiles", |
| ], |
| ) |
| |
| gentbl_cc_library( |
| name = "xla_framework_inc_gen", |
| compatible_with = get_compatible_with_cloud(), |
| tbl_outs = [ |
| ( |
| ["-gen-op-decls"], |
| "ir/xla_framework.h.inc", |
| ), |
| ( |
| ["-gen-op-defs"], |
| "ir/xla_framework.cc.inc", |
| ), |
| ( |
| ["-gen-dialect-decls"], |
| "ir/xla_framework_dialect.h.inc", |
| ), |
| ( |
| ["-gen-dialect-defs"], |
| "ir/xla_framework_dialect.cc.inc", |
| ), |
| ( |
| ["-gen-typedef-decls"], |
| "ir/xla_framework_types.h.inc", |
| ), |
| ( |
| ["-gen-typedef-defs"], |
| "ir/xla_framework_types.cc.inc", |
| ), |
| ], |
| tblgen = "@llvm-project//mlir:mlir-tblgen", |
| td_file = "ir/xla_framework_ops.td", |
| deps = [":td_files"], |
| ) |
| |
| cc_library( |
| name = "xla_framework", |
| srcs = [ |
| "ir/xla_framework.cc", |
| "ir/xla_framework.cc.inc", |
| "ir/xla_framework.h.inc", |
| ], |
| hdrs = ["ir/xla_framework.h"], |
| deps = [ |
| ":xla_framework_inc_gen", |
| "@llvm-project//llvm:Support", |
| "@llvm-project//mlir:DialectUtils", |
| "@llvm-project//mlir:IR", |
| "@llvm-project//mlir:MemRefDialect", |
| "@llvm-project//mlir:Support", |
| ], |
| ) |