aboutsummaryrefslogtreecommitdiffhomepage
path: root/tensorflow/compiler/xla/service/BUILD
diff options
context:
space:
mode:
Diffstat (limited to 'tensorflow/compiler/xla/service/BUILD')
-rw-r--r--tensorflow/compiler/xla/service/BUILD1216
1 files changed, 1216 insertions, 0 deletions
diff --git a/tensorflow/compiler/xla/service/BUILD b/tensorflow/compiler/xla/service/BUILD
new file mode 100644
index 0000000000..fb36443801
--- /dev/null
+++ b/tensorflow/compiler/xla/service/BUILD
@@ -0,0 +1,1216 @@
+# Description:
+# XLA service implementation.
+
+licenses(["notice"]) # Apache 2.0
+
+package(default_visibility = [":friends"])
+
+package_group(
+ name = "friends",
+ includes = [
+ "//tensorflow/compiler/xla:friends",
+ ],
+)
+
+load("//tensorflow/compiler/xla:xla.bzl", "xla_proto_library")
+
+xla_proto_library(
+ name = "session_proto",
+ srcs = ["session.proto"],
+ visibility = ["//visibility:public"],
+ deps = ["//tensorflow/compiler/xla:xla_data_proto"],
+)
+
+# Filegroup used to collect source files for dependency checking.
+filegroup(
+ name = "c_srcs",
+ data = glob([
+ "**/*.cc",
+ "**/*.h",
+ ]),
+)
+
+cc_library(
+ name = "shape_inference",
+ srcs = ["shape_inference.cc"],
+ hdrs = ["shape_inference.h"],
+ deps = [
+ "//tensorflow/compiler/xla:shape_util",
+ "//tensorflow/compiler/xla:status_macros",
+ "//tensorflow/compiler/xla:statusor",
+ "//tensorflow/compiler/xla:types",
+ "//tensorflow/compiler/xla:util",
+ "//tensorflow/compiler/xla:window_util",
+ "//tensorflow/compiler/xla:xla_data_proto",
+ "//tensorflow/core:lib",
+ ],
+)
+
+cc_test(
+ name = "shape_inference_test",
+ srcs = ["shape_inference_test.cc"],
+ deps = [
+ ":shape_inference",
+ "//tensorflow/compiler/xla:shape_util",
+ "//tensorflow/compiler/xla:test_helpers",
+ "//tensorflow/compiler/xla:types",
+ "//tensorflow/compiler/xla:xla_data_proto",
+ "//tensorflow/core:test_main",
+ ],
+)
+
+cc_test(
+ name = "hlo_opcode_test",
+ srcs = ["hlo_opcode_test.cc"],
+ deps = [
+ ":hlo",
+ "//tensorflow/compiler/xla:types",
+ "//tensorflow/core:test",
+ "//tensorflow/core:test_main",
+ ],
+)
+
+cc_library(
+ name = "hlo",
+ srcs = [
+ "dfs_hlo_visitor.cc",
+ "hlo_computation.cc",
+ "hlo_instruction.cc",
+ "hlo_module.cc",
+ "hlo_opcode.cc",
+ ],
+ hdrs = [
+ "dfs_hlo_visitor.h",
+ "dfs_hlo_visitor_with_default.h",
+ "hlo_computation.h",
+ "hlo_instruction.h",
+ "hlo_module.h",
+ "hlo_opcode.h",
+ ],
+ deps = [
+ ":name_uniquer",
+ ":versioned_computation_handle",
+ "//tensorflow/compiler/xla:literal_util",
+ "//tensorflow/compiler/xla:protobuf_util",
+ "//tensorflow/compiler/xla:shape_util",
+ "//tensorflow/compiler/xla:status",
+ "//tensorflow/compiler/xla:status_macros",
+ "//tensorflow/compiler/xla:statusor",
+ "//tensorflow/compiler/xla:types",
+ "//tensorflow/compiler/xla:util",
+ "//tensorflow/compiler/xla:window_util",
+ "//tensorflow/compiler/xla:xla_data_proto",
+ "//tensorflow/core:lib",
+ "//tensorflow/core:lib_internal",
+ ],
+)
+
+cc_library(
+ name = "versioned_computation_handle",
+ hdrs = ["versioned_computation_handle.h"],
+ deps = [
+ "//tensorflow/compiler/xla:xla_data_proto",
+ "//tensorflow/core:lib",
+ ],
+)
+
+cc_test(
+ name = "hlo_instruction_test",
+ srcs = ["hlo_instruction_test.cc"],
+ deps = [
+ ":hlo",
+ "//tensorflow/compiler/xla:literal_util",
+ "//tensorflow/compiler/xla:shape_util",
+ "//tensorflow/compiler/xla:test_helpers",
+ "//tensorflow/compiler/xla:util",
+ "//tensorflow/core:test_main",
+ ],
+)
+
+cc_library(
+ name = "user_computation",
+ srcs = ["user_computation.cc"],
+ hdrs = ["user_computation.h"],
+ deps = [
+ ":hlo",
+ ":session_proto",
+ ":shape_inference",
+ ":versioned_computation_handle",
+ "//tensorflow/compiler/xla:literal_util",
+ "//tensorflow/compiler/xla:shape_util",
+ "//tensorflow/compiler/xla:status_macros",
+ "//tensorflow/compiler/xla:statusor",
+ "//tensorflow/compiler/xla:types",
+ "//tensorflow/compiler/xla:util",
+ "//tensorflow/compiler/xla:xla_data_proto",
+ "//tensorflow/core:lib",
+ ],
+)
+
+cc_library(
+ name = "platform_util",
+ srcs = ["platform_util.cc"],
+ hdrs = ["platform_util.h"],
+ deps = [
+ ":compiler",
+ "//tensorflow/compiler/xla:status_macros",
+ "//tensorflow/compiler/xla:statusor",
+ "//tensorflow/compiler/xla:types",
+ "//tensorflow/compiler/xla:util",
+ "//tensorflow/core:lib",
+ "//tensorflow/core:stream_executor_no_cuda",
+ ],
+)
+
+cc_library(
+ name = "backend",
+ srcs = ["backend.cc"],
+ hdrs = ["backend.h"],
+ deps = [
+ ":compiler",
+ ":device_memory_allocator",
+ ":platform_util",
+ ":transfer_manager",
+ "//tensorflow/compiler/xla:status_macros",
+ "//tensorflow/compiler/xla:statusor",
+ "//tensorflow/compiler/xla:types",
+ "//tensorflow/compiler/xla:util",
+ "//tensorflow/compiler/xla/legacy_flags:backend_flags",
+ "//tensorflow/core:core_cpu_internal",
+ "//tensorflow/core:lib",
+ "//tensorflow/core:stream_executor_no_cuda",
+ "//third_party/eigen3",
+ ],
+)
+
+cc_library(
+ name = "service",
+ srcs = ["service.cc"],
+ hdrs = ["service.h"],
+ deps = [
+ ":allocation_tracker",
+ ":backend",
+ ":channel_tracker",
+ ":compilation_cache",
+ ":compiler",
+ ":computation_layout",
+ ":computation_tracker",
+ ":cpu_transfer_manager",
+ ":device_memory_allocator",
+ ":executable",
+ ":execution_tracker",
+ ":hlo",
+ ":hlo_cost_analysis",
+ ":hlo_execution_profile",
+ ":hlo_graph_dumper",
+ ":hlo_module_config",
+ ":platform_util",
+ ":session_proto",
+ ":transfer_manager",
+ ":user_computation",
+ ":versioned_computation_handle",
+ "//tensorflow/compiler/xla:executable_run_options",
+ "//tensorflow/compiler/xla:service_interface",
+ "//tensorflow/compiler/xla:shape_layout",
+ "//tensorflow/compiler/xla:shape_util",
+ "//tensorflow/compiler/xla:status_macros",
+ "//tensorflow/compiler/xla:statusor",
+ "//tensorflow/compiler/xla:types",
+ "//tensorflow/compiler/xla:util",
+ "//tensorflow/compiler/xla:xla_data_proto",
+ "//tensorflow/compiler/xla:xla_proto",
+ "//tensorflow/compiler/xla/legacy_flags:service_flags",
+ "//tensorflow/compiler/xla/service/cpu:cpu_compiler",
+ "//tensorflow/core:lib",
+ "//tensorflow/core:regexp_internal",
+ "//tensorflow/core:stream_executor_no_cuda",
+ ],
+ alwayslink = 1,
+)
+
+cc_library(
+ name = "local_service",
+ srcs = ["local_service.cc"],
+ hdrs = ["local_service.h"],
+ deps = [
+ ":backend",
+ ":compiler",
+ ":computation_layout",
+ ":computation_tracker",
+ ":device_memory_allocator",
+ ":executable",
+ ":hlo",
+ ":hlo_execution_profile",
+ ":hlo_module_config",
+ ":platform_util",
+ ":service",
+ ":shaped_buffer",
+ ":user_computation",
+ ":versioned_computation_handle",
+ "//tensorflow/compiler/xla:shape_layout",
+ "//tensorflow/compiler/xla:shape_util",
+ "//tensorflow/compiler/xla:status_macros",
+ "//tensorflow/compiler/xla:statusor",
+ "//tensorflow/compiler/xla:types",
+ "//tensorflow/compiler/xla:util",
+ "//tensorflow/compiler/xla:xla_data_proto",
+ "//tensorflow/core:lib",
+ "//tensorflow/core:stream_executor_no_cuda",
+ ],
+)
+
+cc_library(
+ name = "cpu_plugin",
+ deps = [
+ ":cpu_transfer_manager",
+ ":service",
+ "//tensorflow/compiler/xla/service/cpu:cpu_compiler",
+ "//tensorflow/core:stream_executor_no_cuda",
+ ],
+)
+
+cc_library(
+ name = "gpu_plugin",
+ deps = [
+ ":generic_transfer_manager",
+ ":service",
+ "//tensorflow/compiler/xla/service/gpu:gpu_compiler",
+ "//tensorflow/core:stream_executor_no_cuda",
+ "//tensorflow/core/platform/default/build_config:stream_executor_cuda",
+ ],
+)
+
+cc_library(
+ name = "shaped_buffer",
+ srcs = ["shaped_buffer.cc"],
+ hdrs = ["shaped_buffer.h"],
+ deps = [
+ ":device_memory_allocator",
+ "//tensorflow/compiler/xla:shape_tree",
+ "//tensorflow/compiler/xla:shape_util",
+ "//tensorflow/compiler/xla:status_macros",
+ "//tensorflow/compiler/xla:statusor",
+ "//tensorflow/compiler/xla:types",
+ "//tensorflow/compiler/xla:util",
+ "//tensorflow/compiler/xla:xla_data_proto",
+ "//tensorflow/core:lib",
+ "//tensorflow/core:stream_executor_no_cuda",
+ ],
+)
+
+cc_library(
+ name = "executable",
+ srcs = ["executable.cc"],
+ hdrs = ["executable.h"],
+ deps = [
+ ":computation_layout",
+ ":device_memory_allocator",
+ ":hlo",
+ ":hlo_execution_profile",
+ ":hlo_module_config",
+ ":session_proto",
+ ":shaped_buffer",
+ ":versioned_computation_handle",
+ "//tensorflow/compiler/xla:executable_run_options",
+ "//tensorflow/compiler/xla:status_macros",
+ "//tensorflow/compiler/xla:statusor",
+ "//tensorflow/compiler/xla:xla_data_proto",
+ "//tensorflow/compiler/xla/legacy_flags:service_flags",
+ "//tensorflow/core:lib",
+ "//tensorflow/core:stream_executor_no_cuda",
+ ],
+)
+
+cc_library(
+ name = "compiler",
+ srcs = ["compiler.cc"],
+ hdrs = ["compiler.h"],
+ deps = [
+ ":executable",
+ ":hlo",
+ ":hlo_module_config",
+ "//tensorflow/compiler/xla:statusor",
+ "//tensorflow/compiler/xla:types",
+ "//tensorflow/compiler/xla:util",
+ "//tensorflow/core:lib",
+ "//tensorflow/core:stream_executor_no_cuda",
+ ],
+)
+
+cc_library(
+ name = "transfer_manager",
+ srcs = ["transfer_manager.cc"],
+ hdrs = ["transfer_manager.h"],
+ deps = [
+ "//tensorflow/compiler/xla:shape_util",
+ "//tensorflow/compiler/xla:status_macros",
+ "//tensorflow/compiler/xla:statusor",
+ "//tensorflow/compiler/xla:types",
+ "//tensorflow/compiler/xla:util",
+ "//tensorflow/compiler/xla:xla_data_proto",
+ "//tensorflow/core:lib",
+ "//tensorflow/core:stream_executor_no_cuda",
+ ],
+)
+
+cc_library(
+ name = "allocation_tracker",
+ srcs = ["allocation_tracker.cc"],
+ hdrs = ["allocation_tracker.h"],
+ deps = [
+ ":backend",
+ ":device_memory_allocator",
+ ":transfer_manager",
+ "//tensorflow/compiler/xla:shape_util",
+ "//tensorflow/compiler/xla:status_macros",
+ "//tensorflow/compiler/xla:statusor",
+ "//tensorflow/compiler/xla:types",
+ "//tensorflow/compiler/xla:util",
+ "//tensorflow/compiler/xla:xla_data_proto",
+ "//tensorflow/core:lib",
+ "//tensorflow/core:stream_executor_no_cuda",
+ ],
+)
+
+cc_library(
+ name = "execution_tracker",
+ srcs = ["execution_tracker.cc"],
+ hdrs = ["execution_tracker.h"],
+ deps = [
+ ":backend",
+ "//tensorflow/compiler/xla:executable_run_options",
+ "//tensorflow/compiler/xla:statusor",
+ "//tensorflow/compiler/xla:util",
+ "//tensorflow/compiler/xla:xla_data_proto",
+ "//tensorflow/core:lib",
+ "//tensorflow/core:stream_executor_no_cuda",
+ ],
+)
+
+cc_library(
+ name = "computation_tracker",
+ srcs = ["computation_tracker.cc"],
+ hdrs = ["computation_tracker.h"],
+ deps = [
+ ":hlo",
+ ":session_proto",
+ ":user_computation",
+ ":versioned_computation_handle",
+ "//tensorflow/compiler/xla:status_macros",
+ "//tensorflow/compiler/xla:statusor",
+ "//tensorflow/compiler/xla:types",
+ "//tensorflow/compiler/xla:util",
+ "//tensorflow/compiler/xla:xla_data_proto",
+ "//tensorflow/core:lib",
+ ],
+)
+
+cc_library(
+ name = "channel_tracker",
+ srcs = ["channel_tracker.cc"],
+ hdrs = ["channel_tracker.h"],
+ deps = [
+ ":hlo",
+ ":session_proto",
+ ":user_computation",
+ ":versioned_computation_handle",
+ "//tensorflow/compiler/xla:status",
+ "//tensorflow/compiler/xla:status_macros",
+ "//tensorflow/compiler/xla:statusor",
+ "//tensorflow/compiler/xla:types",
+ "//tensorflow/compiler/xla:util",
+ "//tensorflow/compiler/xla:xla_data_proto",
+ "//tensorflow/core:lib",
+ "//tensorflow/core:lib_internal",
+ ],
+)
+
+cc_library(
+ name = "name_uniquer",
+ srcs = ["name_uniquer.cc"],
+ hdrs = ["name_uniquer.h"],
+ deps = [
+ "//tensorflow/compiler/xla:types",
+ "//tensorflow/core:lib",
+ ],
+)
+
+cc_library(
+ name = "buffer_liveness",
+ srcs = [
+ "buffer_liveness.cc",
+ ],
+ hdrs = [
+ "buffer_liveness.h",
+ ],
+ deps = [
+ ":hlo",
+ ":logical_buffer",
+ ":tuple_points_to_analysis",
+ "//tensorflow/compiler/xla:shape_util",
+ "//tensorflow/compiler/xla:status_macros",
+ "//tensorflow/compiler/xla:statusor",
+ "//tensorflow/compiler/xla:types",
+ "//tensorflow/compiler/xla:util",
+ "//tensorflow/core:lib",
+ ],
+)
+
+cc_test(
+ name = "buffer_liveness_test",
+ srcs = ["buffer_liveness_test.cc"],
+ deps = [
+ ":buffer_liveness",
+ ":cpu_plugin",
+ ":hlo",
+ "//tensorflow/compiler/xla:shape_util",
+ "//tensorflow/compiler/xla:types",
+ "//tensorflow/compiler/xla:util",
+ "//tensorflow/compiler/xla:xla_data_proto",
+ "//tensorflow/compiler/xla/tests:hlo_test_base",
+ "//tensorflow/core:test_main",
+ ],
+)
+
+cc_library(
+ name = "buffer_assignment",
+ srcs = [
+ "buffer_assignment.cc",
+ ],
+ hdrs = [
+ "buffer_assignment.h",
+ ],
+ deps = [
+ ":buffer_liveness",
+ ":hlo",
+ ":logical_buffer",
+ ":tuple_points_to_analysis",
+ "//tensorflow/compiler/xla:shape_util",
+ "//tensorflow/compiler/xla:status_macros",
+ "//tensorflow/compiler/xla:statusor",
+ "//tensorflow/compiler/xla:types",
+ "//tensorflow/compiler/xla:util",
+ "//tensorflow/compiler/xla:xla_data_proto",
+ "//tensorflow/compiler/xla/legacy_flags:buffer_assignment_flags",
+ "//tensorflow/core:lib",
+ ],
+)
+
+cc_test(
+ name = "buffer_assignment_test",
+ srcs = ["buffer_assignment_test.cc"],
+ deps = [
+ ":buffer_assignment",
+ ":computation_tracker",
+ ":cpu_plugin",
+ ":hlo",
+ "//tensorflow/compiler/xla:literal_util",
+ "//tensorflow/compiler/xla:shape_util",
+ "//tensorflow/compiler/xla:types",
+ "//tensorflow/compiler/xla:util",
+ "//tensorflow/compiler/xla:xla_data_proto",
+ "//tensorflow/compiler/xla/tests:hlo_test_base",
+ "//tensorflow/core:lib",
+ "//tensorflow/core:test_main",
+ ],
+)
+
+cc_library(
+ name = "hlo_query",
+ srcs = ["hlo_query.cc"],
+ hdrs = ["hlo_query.h"],
+ deps = [
+ ":hlo",
+ "//tensorflow/compiler/xla:literal_util",
+ "//tensorflow/compiler/xla:shape_util",
+ ],
+)
+
+cc_library(
+ name = "instruction_fusion",
+ srcs = ["instruction_fusion.cc"],
+ hdrs = ["instruction_fusion.h"],
+ deps = [
+ ":hlo",
+ ":hlo_pass",
+ "//tensorflow/compiler/xla:util",
+ "//tensorflow/core:lib",
+ ],
+)
+
+cc_test(
+ name = "instruction_fusion_test",
+ srcs = ["instruction_fusion_test.cc"],
+ deps = [
+ ":instruction_fusion",
+ "//tensorflow/compiler/xla/tests:hlo_test_base",
+ "//tensorflow/core:test_main",
+ ],
+)
+
+cc_library(
+ name = "algebraic_simplifier",
+ srcs = ["algebraic_simplifier.cc"],
+ hdrs = ["algebraic_simplifier.h"],
+ deps = [
+ ":hlo",
+ ":hlo_pass",
+ ":hlo_query",
+ "//tensorflow/compiler/xla:literal_util",
+ "//tensorflow/compiler/xla:shape_util",
+ "//tensorflow/compiler/xla:status_macros",
+ "//tensorflow/compiler/xla:types",
+ "//tensorflow/compiler/xla:util",
+ "//tensorflow/compiler/xla:window_util",
+ "//tensorflow/compiler/xla:xla_data_proto",
+ "//tensorflow/core:lib",
+ ],
+)
+
+cc_test(
+ name = "algebraic_simplifier_test",
+ srcs = ["algebraic_simplifier_test.cc"],
+ deps = [
+ ":algebraic_simplifier",
+ ":cpu_plugin",
+ ":hlo",
+ "//tensorflow/compiler/xla:literal_util",
+ "//tensorflow/compiler/xla:shape_util",
+ "//tensorflow/compiler/xla:test_helpers",
+ "//tensorflow/compiler/xla:types",
+ "//tensorflow/compiler/xla:util",
+ "//tensorflow/compiler/xla:xla_data_proto",
+ "//tensorflow/compiler/xla/tests:hlo_test_base",
+ "//tensorflow/core:lib",
+ "//tensorflow/core:test_main",
+ ],
+)
+
+cc_library(
+ name = "reshape_mover",
+ srcs = ["reshape_mover.cc"],
+ hdrs = ["reshape_mover.h"],
+ deps = [
+ ":hlo_pass",
+ "//tensorflow/compiler/xla:shape_util",
+ "//tensorflow/compiler/xla:util",
+ ],
+)
+
+cc_test(
+ name = "reshape_mover_test",
+ srcs = ["reshape_mover_test.cc"],
+ deps = [
+ ":hlo",
+ ":reshape_mover",
+ "//tensorflow/compiler/xla:literal_util",
+ "//tensorflow/compiler/xla:shape_util",
+ "//tensorflow/compiler/xla:test_helpers",
+ "//tensorflow/compiler/xla:types",
+ "//tensorflow/compiler/xla:util",
+ "//tensorflow/compiler/xla:xla_data_proto",
+ "//tensorflow/compiler/xla/tests:hlo_test_base",
+ "//tensorflow/core:lib",
+ "//tensorflow/core:test_main",
+ ],
+)
+
+cc_library(
+ name = "inliner",
+ srcs = ["inliner.cc"],
+ hdrs = ["inliner.h"],
+ deps = [
+ ":hlo",
+ ":hlo_pass",
+ ":hlo_query",
+ "//tensorflow/compiler/xla:status_macros",
+ "//tensorflow/compiler/xla:types",
+ "//tensorflow/core:lib",
+ ],
+)
+
+cc_test(
+ name = "inliner_test",
+ srcs = ["inliner_test.cc"],
+ deps = [
+ ":cpu_plugin",
+ ":hlo",
+ ":inliner",
+ "//tensorflow/compiler/xla:literal_util",
+ "//tensorflow/compiler/xla:shape_util",
+ "//tensorflow/compiler/xla:test_helpers",
+ "//tensorflow/compiler/xla:util",
+ "//tensorflow/compiler/xla:xla_data_proto",
+ "//tensorflow/compiler/xla/tests:hlo_test_base",
+ "//tensorflow/compiler/xla/tests:literal_test_util",
+ "//tensorflow/core:test_main",
+ ],
+)
+
+cc_library(
+ name = "generic_transfer_manager",
+ srcs = ["generic_transfer_manager.cc"],
+ hdrs = ["generic_transfer_manager.h"],
+ deps = [
+ ":transfer_manager",
+ "//tensorflow/compiler/xla:literal_util",
+ "//tensorflow/compiler/xla:shape_util",
+ "//tensorflow/compiler/xla:status_macros",
+ "//tensorflow/compiler/xla:statusor",
+ "//tensorflow/compiler/xla:types",
+ "//tensorflow/compiler/xla:util",
+ "//tensorflow/compiler/xla:xla_data_proto",
+ "//tensorflow/core:lib",
+ "//tensorflow/core:stream_executor_no_cuda",
+ ],
+ alwayslink = True, # Contains per-platform transfer manager registration
+)
+
+cc_library(
+ name = "cpu_transfer_manager",
+ srcs = ["cpu_transfer_manager.cc"],
+ hdrs = ["cpu_transfer_manager.h"],
+ deps = [
+ ":generic_transfer_manager",
+ ":transfer_manager",
+ "//tensorflow/compiler/xla:literal_util",
+ "//tensorflow/compiler/xla:shape_util",
+ "//tensorflow/compiler/xla:status_macros",
+ "//tensorflow/compiler/xla:statusor",
+ "//tensorflow/compiler/xla:types",
+ "//tensorflow/compiler/xla:util",
+ "//tensorflow/compiler/xla:xla_data_proto",
+ "//tensorflow/compiler/xla/service/cpu:cpu_runtime",
+ "//tensorflow/core:lib",
+ "//tensorflow/core:stream_executor_no_cuda",
+ ],
+ alwayslink = True, # Contains per-platform transfer manager registration
+)
+
+cc_test(
+ name = "transfer_manager_test",
+ srcs = ["transfer_manager_test.cc"],
+ deps = [
+ ":cpu_transfer_manager",
+ ":generic_transfer_manager",
+ "//tensorflow/compiler/xla:literal_util",
+ "//tensorflow/compiler/xla:shape_util",
+ "//tensorflow/compiler/xla:statusor",
+ "//tensorflow/compiler/xla:types",
+ "//tensorflow/compiler/xla:xla_data_proto",
+ "//tensorflow/compiler/xla/tests:literal_test_util",
+ "//tensorflow/core:lib",
+ "//tensorflow/core:stream_executor_no_cuda",
+ "//tensorflow/core:test_main",
+ ],
+)
+
+cc_library(
+ name = "hlo_cost_analysis",
+ srcs = [
+ "hlo_cost_analysis.cc",
+ ],
+ hdrs = [
+ "hlo_cost_analysis.h",
+ ],
+ deps = [
+ ":hlo",
+ "//tensorflow/compiler/xla:shape_util",
+ "//tensorflow/compiler/xla:status_macros",
+ "//tensorflow/compiler/xla:statusor",
+ "//tensorflow/compiler/xla:util",
+ "//tensorflow/compiler/xla:xla_data_proto",
+ "//tensorflow/core:lib",
+ ],
+)
+
+cc_test(
+ name = "hlo_cost_analysis_test",
+ srcs = ["hlo_cost_analysis_test.cc"],
+ deps = [
+ ":computation_tracker",
+ ":hlo",
+ ":hlo_cost_analysis",
+ ":local_service",
+ ":service",
+ ":user_computation",
+ ":versioned_computation_handle",
+ "//tensorflow/compiler/xla:shape_util",
+ "//tensorflow/compiler/xla:statusor",
+ "//tensorflow/compiler/xla:test_helpers",
+ "//tensorflow/compiler/xla/client",
+ "//tensorflow/compiler/xla/client:client_library",
+ "//tensorflow/compiler/xla/client:computation",
+ "//tensorflow/compiler/xla/client:computation_builder",
+ "//tensorflow/compiler/xla/client:local_client",
+ "//tensorflow/compiler/xla/client:padding",
+ "//tensorflow/core:lib",
+ "//tensorflow/core:test_main",
+ ],
+)
+
+cc_library(
+ name = "hlo_execution_profile",
+ srcs = ["hlo_execution_profile.cc"],
+ hdrs = ["hlo_execution_profile.h"],
+ deps = [
+ ":hlo",
+ ":hlo_cost_analysis",
+ "//tensorflow/compiler/xla:types",
+ "//tensorflow/compiler/xla:util",
+ "//tensorflow/core:lib",
+ "//tensorflow/core:stream_executor_no_cuda",
+ ],
+)
+
+cc_test(
+ name = "hlo_computation_test",
+ srcs = ["hlo_computation_test.cc"],
+ deps = [
+ ":cpu_plugin",
+ ":hlo",
+ "//tensorflow/compiler/xla:literal_util",
+ "//tensorflow/compiler/xla:shape_util",
+ "//tensorflow/compiler/xla:test_helpers",
+ "//tensorflow/compiler/xla/tests:hlo_test_base",
+ "//tensorflow/core:test_main",
+ ],
+)
+
+cc_binary(
+ name = "graphviz_example",
+ srcs = ["graphviz_example.cc"],
+ deps = [
+ ":hlo",
+ ":hlo_graph_dumper",
+ "//tensorflow/compiler/xla:literal_util",
+ "//tensorflow/compiler/xla:shape_util",
+ "//tensorflow/compiler/xla:types",
+ "//tensorflow/compiler/xla:util",
+ "//tensorflow/compiler/xla:xla_data_proto",
+ "//tensorflow/core:lib",
+ ],
+)
+
+cc_test(
+ name = "hlo_module_test",
+ srcs = ["hlo_module_test.cc"],
+ deps = [
+ ":cpu_plugin",
+ ":hlo",
+ "//tensorflow/compiler/xla:literal_util",
+ "//tensorflow/compiler/xla:shape_util",
+ "//tensorflow/compiler/xla:test_helpers",
+ "//tensorflow/compiler/xla:util",
+ "//tensorflow/compiler/xla:xla_data_proto",
+ "//tensorflow/compiler/xla/tests:hlo_test_base",
+ "//tensorflow/core:lib",
+ "//tensorflow/core:test_main",
+ ],
+)
+
+cc_library(
+ name = "logical_buffer",
+ srcs = [
+ "logical_buffer.cc",
+ ],
+ hdrs = [
+ "logical_buffer.h",
+ ],
+ deps = [
+ ":hlo",
+ "//tensorflow/compiler/xla:shape_util",
+ "//tensorflow/compiler/xla:types",
+ "//tensorflow/compiler/xla:xla_data_proto",
+ "//tensorflow/core:lib",
+ ],
+)
+
+cc_library(
+ name = "tuple_points_to_analysis",
+ srcs = [
+ "tuple_points_to_analysis.cc",
+ ],
+ hdrs = [
+ "tuple_points_to_analysis.h",
+ ],
+ deps = [
+ ":hlo",
+ ":logical_buffer",
+ "//tensorflow/compiler/xla:shape_tree",
+ "//tensorflow/compiler/xla:shape_util",
+ "//tensorflow/compiler/xla:statusor",
+ "//tensorflow/compiler/xla:types",
+ "//tensorflow/compiler/xla:util",
+ "//tensorflow/compiler/xla:xla_data_proto",
+ "//tensorflow/core:lib",
+ ],
+)
+
+cc_test(
+ name = "tuple_points_to_analysis_test",
+ srcs = ["tuple_points_to_analysis_test.cc"],
+ deps = [
+ ":hlo",
+ ":tuple_points_to_analysis",
+ "//tensorflow/compiler/xla:literal_util",
+ "//tensorflow/compiler/xla:shape_util",
+ "//tensorflow/compiler/xla:test_helpers",
+ "//tensorflow/compiler/xla:xla_data_proto",
+ "//tensorflow/compiler/xla/tests:hlo_test_base",
+ "//tensorflow/core:lib",
+ "//tensorflow/core:test",
+ "//tensorflow/core:test_main",
+ ],
+)
+
+cc_library(
+ name = "compilation_cache",
+ srcs = [
+ "compilation_cache.cc",
+ ],
+ hdrs = [
+ "compilation_cache.h",
+ ],
+ deps = [
+ ":executable",
+ ":hlo_module_config",
+ ":versioned_computation_handle",
+ "//tensorflow/compiler/xla:types",
+ "//tensorflow/compiler/xla:xla_data_proto",
+ "//tensorflow/core:lib",
+ ],
+)
+
+cc_library(
+ name = "layout_assignment",
+ srcs = [
+ "layout_assignment.cc",
+ ],
+ hdrs = [
+ "layout_assignment.h",
+ ],
+ deps = [
+ ":computation_layout",
+ ":hlo",
+ ":hlo_graph_dumper",
+ ":hlo_pass",
+ ":logical_buffer",
+ ":tuple_points_to_analysis",
+ "//tensorflow/compiler/xla:shape_layout",
+ "//tensorflow/compiler/xla:shape_util",
+ "//tensorflow/compiler/xla:status_macros",
+ "//tensorflow/compiler/xla:statusor",
+ "//tensorflow/compiler/xla:types",
+ "//tensorflow/compiler/xla:util",
+ "//tensorflow/compiler/xla:xla_data_proto",
+ "//tensorflow/core:lib",
+ ],
+)
+
+cc_library(
+ name = "copy_insertion",
+ srcs = ["copy_insertion.cc"],
+ hdrs = ["copy_insertion.h"],
+ deps = [
+ ":buffer_liveness",
+ ":hlo",
+ ":hlo_pass",
+ ":logical_buffer",
+ ":tuple_points_to_analysis",
+ "//tensorflow/compiler/xla:status_macros",
+ "//tensorflow/compiler/xla:statusor",
+ "//tensorflow/compiler/xla:types",
+ "//tensorflow/compiler/xla:util",
+ "//tensorflow/core:lib",
+ ],
+)
+
+cc_test(
+ name = "copy_insertion_test",
+ srcs = ["copy_insertion_test.cc"],
+ deps = [
+ ":buffer_liveness",
+ ":copy_insertion",
+ ":cpu_plugin",
+ ":hlo",
+ ":tuple_points_to_analysis",
+ "//tensorflow/compiler/xla:literal_util",
+ "//tensorflow/compiler/xla:shape_util",
+ "//tensorflow/compiler/xla:test_helpers",
+ "//tensorflow/compiler/xla:xla_data_proto",
+ "//tensorflow/compiler/xla/tests:hlo_test_base",
+ "//tensorflow/core:test_main",
+ ],
+)
+
+cc_library(
+ name = "hlo_dce",
+ srcs = ["hlo_dce.cc"],
+ hdrs = ["hlo_dce.h"],
+ deps = [
+ ":hlo",
+ ":hlo_pass",
+ "//tensorflow/compiler/xla:status",
+ "//tensorflow/compiler/xla:status_macros",
+ "//tensorflow/compiler/xla:statusor",
+ "//tensorflow/compiler/xla:types",
+ "//tensorflow/compiler/xla:util",
+ "//tensorflow/core:lib",
+ ],
+)
+
+cc_test(
+ name = "hlo_dce_test",
+ srcs = ["hlo_dce_test.cc"],
+ deps = [
+ ":cpu_plugin",
+ ":hlo",
+ ":hlo_dce",
+ "//tensorflow/compiler/xla:literal_util",
+ "//tensorflow/compiler/xla:shape_util",
+ "//tensorflow/compiler/xla:types",
+ "//tensorflow/compiler/xla:util",
+ "//tensorflow/compiler/xla:xla_data_proto",
+ "//tensorflow/compiler/xla/tests:hlo_test_base",
+ "//tensorflow/compiler/xla/tests:literal_test_util",
+ "//tensorflow/compiler/xla/tests:test_utils",
+ "//tensorflow/core:lib",
+ "//tensorflow/core:test_main",
+ ],
+)
+
+cc_test(
+ name = "layout_assignment_test",
+ srcs = ["layout_assignment_test.cc"],
+ deps = [
+ ":algebraic_simplifier",
+ ":computation_layout",
+ ":cpu_plugin",
+ ":hlo",
+ ":layout_assignment",
+ "//tensorflow/compiler/xla:literal_util",
+ "//tensorflow/compiler/xla:shape_layout",
+ "//tensorflow/compiler/xla:shape_util",
+ "//tensorflow/compiler/xla:test_helpers",
+ "//tensorflow/compiler/xla:util",
+ "//tensorflow/compiler/xla:xla_data_proto",
+ "//tensorflow/compiler/xla/tests:hlo_test_base",
+ "//tensorflow/compiler/xla/tests:test_utils",
+ "//tensorflow/core:lib",
+ "//tensorflow/core:test_main",
+ ],
+)
+
+cc_library(
+ name = "hlo_pass",
+ hdrs = ["hlo_pass.h"],
+ deps = [
+ ":hlo",
+ "//tensorflow/compiler/xla:status_macros",
+ "//tensorflow/compiler/xla:statusor",
+ "//tensorflow/compiler/xla:types",
+ "//tensorflow/core:lib",
+ ],
+)
+
+cc_library(
+ name = "hlo_pass_pipeline",
+ srcs = [
+ "hlo_pass_pipeline.cc",
+ ],
+ hdrs = [
+ "hlo_pass_pipeline.h",
+ ],
+ deps = [
+ ":compiler",
+ ":hlo",
+ ":hlo_pass",
+ "//tensorflow/compiler/xla:status_macros",
+ "//tensorflow/compiler/xla:statusor",
+ "//tensorflow/compiler/xla:types",
+ "//tensorflow/compiler/xla:util",
+ "//tensorflow/compiler/xla/legacy_flags:hlo_pass_pipeline_flags",
+ "//tensorflow/core:lib",
+ ],
+)
+
+cc_library(
+ name = "hlo_cse",
+ srcs = ["hlo_cse.cc"],
+ hdrs = ["hlo_cse.h"],
+ deps = [
+ ":hlo",
+ ":hlo_pass",
+ "//tensorflow/compiler/xla:literal_util",
+ "//tensorflow/compiler/xla:shape_util",
+ "//tensorflow/compiler/xla:types",
+ "//tensorflow/compiler/xla:xla_data_proto",
+ ],
+)
+
+cc_test(
+ name = "hlo_cse_test",
+ srcs = ["hlo_cse_test.cc"],
+ deps = [
+ ":cpu_plugin",
+ ":hlo",
+ ":hlo_cse",
+ "//tensorflow/compiler/xla:literal_util",
+ "//tensorflow/compiler/xla:shape_util",
+ "//tensorflow/compiler/xla:types",
+ "//tensorflow/compiler/xla:util",
+ "//tensorflow/compiler/xla:xla_data_proto",
+ "//tensorflow/compiler/xla/tests:hlo_test_base",
+ "//tensorflow/compiler/xla/tests:literal_test_util",
+ "//tensorflow/compiler/xla/tests:test_utils",
+ "//tensorflow/core:lib",
+ "//tensorflow/core:test_main",
+ ],
+)
+
+cc_library(
+ name = "device_memory_allocator",
+ srcs = ["device_memory_allocator.cc"],
+ hdrs = ["device_memory_allocator.h"],
+ deps = [
+ "//tensorflow/compiler/xla:status_macros",
+ "//tensorflow/compiler/xla:statusor",
+ "//tensorflow/compiler/xla:types",
+ "//tensorflow/compiler/xla:util",
+ "//tensorflow/core:lib",
+ "//tensorflow/core:stream_executor_no_cuda",
+ ],
+)
+
+cc_library(
+ name = "elemental_ir_emitter",
+ srcs = ["elemental_ir_emitter.cc"],
+ hdrs = ["elemental_ir_emitter.h"],
+ deps = [
+ ":hlo",
+ ":hlo_module_config",
+ "//tensorflow/compiler/xla:shape_util",
+ "//tensorflow/compiler/xla:status_macros",
+ "//tensorflow/compiler/xla:statusor",
+ "//tensorflow/compiler/xla:types",
+ "//tensorflow/compiler/xla:util",
+ "//tensorflow/compiler/xla:xla_data_proto",
+ "//tensorflow/compiler/xla/service/llvm_ir:ir_array",
+ "//tensorflow/compiler/xla/service/llvm_ir:llvm_util",
+ "//tensorflow/compiler/xla/service/llvm_ir:loop_emitter",
+ "//tensorflow/core:lib",
+ "//tensorflow/core:lib_internal",
+ "@llvm//:core",
+ "@llvm//:transform_utils",
+ ],
+)
+
+cc_library(
+ name = "hlo_module_config",
+ srcs = ["hlo_module_config.cc"],
+ hdrs = ["hlo_module_config.h"],
+ deps = [
+ ":computation_layout",
+ "//tensorflow/compiler/xla:shape_layout",
+ "//tensorflow/compiler/xla:types",
+ "//tensorflow/compiler/xla:xla_data_proto",
+ "//tensorflow/core:lib",
+ ],
+)
+
+cc_library(
+ name = "computation_layout",
+ srcs = ["computation_layout.cc"],
+ hdrs = ["computation_layout.h"],
+ deps = [
+ "//tensorflow/compiler/xla:shape_layout",
+ "//tensorflow/compiler/xla:types",
+ "//tensorflow/compiler/xla:xla_data_proto",
+ "//tensorflow/core:lib",
+ ],
+)
+
+cc_library(
+ name = "hlo_subcomputation_unification",
+ srcs = ["hlo_subcomputation_unification.cc"],
+ hdrs = ["hlo_subcomputation_unification.h"],
+ deps = [
+ ":hlo_pass",
+ ],
+)
+
+cc_test(
+ name = "hlo_subcomputation_unification_test",
+ srcs = ["hlo_subcomputation_unification_test.cc"],
+ deps = [
+ ":hlo",
+ ":hlo_graph_dumper",
+ ":hlo_subcomputation_unification",
+ "//tensorflow/compiler/xla:shape_util",
+ "//tensorflow/compiler/xla/tests:hlo_test_base",
+ "//tensorflow/compiler/xla/tests:test_utils",
+ "//tensorflow/core:test_main",
+ ],
+)
+
+cc_library(
+ name = "hlo_graph_dumper",
+ srcs = [
+ "hlo_graph_dumper.cc",
+ ],
+ hdrs = ["hlo_graph_dumper.h"],
+ deps = [
+ ":hlo",
+ ":hlo_execution_profile",
+ "//tensorflow/compiler/xla:literal_util",
+ "//tensorflow/compiler/xla:shape_util",
+ "//tensorflow/compiler/xla:types",
+ "//tensorflow/compiler/xla/legacy_flags:hlo_graph_dumper_flags",
+ "//tensorflow/core:lib",
+ ],
+ alwayslink = 1,
+)
+
+cc_library(
+ name = "transpose_folding",
+ srcs = ["transpose_folding.cc"],
+ hdrs = ["transpose_folding.h"],
+ deps = [
+ ":hlo",
+ ":hlo_pass",
+ "//tensorflow/compiler/xla:status_macros",
+ "//tensorflow/compiler/xla/service/gpu:ir_emission_utils",
+ "//tensorflow/core:lib",
+ ],
+)
+
+cc_test(
+ name = "transpose_folding_test",
+ srcs = ["transpose_folding_test.cc"],
+ deps = [
+ ":hlo",
+ ":transpose_folding",
+ "//tensorflow/compiler/xla:literal_util",
+ "//tensorflow/compiler/xla:shape_util",
+ "//tensorflow/compiler/xla:test_helpers",
+ "//tensorflow/compiler/xla:xla_data_proto",
+ "//tensorflow/compiler/xla/service/gpu:ir_emission_utils",
+ "//tensorflow/core:lib",
+ "//tensorflow/core:test_main",
+ ],
+)
+
+# -----------------------------------------------------------------------------
+
+filegroup(
+ name = "all_files",
+ srcs = glob(
+ ["**/*"],
+ exclude = [
+ "**/METADATA",
+ "**/OWNERS",
+ ],
+ ),
+ visibility = ["//tensorflow:__subpackages__"],
+)