Separate out passes and ops from tensorflow/compiler/mlir/tensorflow:tensorflow target (NFC).
This alleviates cyclic dependencies between passes and utils that depend on the tensorflow target for ops or types.
Also SwitchFoldPass is added to the passes target instead of its own target.
PiperOrigin-RevId: 267659747
diff --git a/tensorflow/compiler/mlir/BUILD b/tensorflow/compiler/mlir/BUILD
index dbe0d66..64e2282 100644
--- a/tensorflow/compiler/mlir/BUILD
+++ b/tensorflow/compiler/mlir/BUILD
@@ -45,7 +45,7 @@
"//tensorflow/compiler/mlir/lite:tensorflow_lite_quantize",
"//tensorflow/compiler/mlir/tensorflow",
"//tensorflow/compiler/mlir/tensorflow:tensorflow_dialect_registration",
- "//tensorflow/compiler/mlir/tensorflow:tensorflow_fold_switch",
+ "//tensorflow/compiler/mlir/tensorflow:tensorflow_passes",
"//tensorflow/compiler/mlir/tensorflow:tf_dialect_passes",
"//tensorflow/compiler/mlir/xla:hlo",
"//tensorflow/compiler/mlir/xla:lhlo",
diff --git a/tensorflow/compiler/mlir/lite/BUILD b/tensorflow/compiler/mlir/lite/BUILD
index 225fd39..d43922b 100644
--- a/tensorflow/compiler/mlir/lite/BUILD
+++ b/tensorflow/compiler/mlir/lite/BUILD
@@ -523,7 +523,7 @@
":tensorflow_lite_quantize",
"//tensorflow/compiler/mlir/tensorflow",
"//tensorflow/compiler/mlir/tensorflow:error_util",
- "//tensorflow/compiler/mlir/tensorflow:tensorflow_fold_switch",
+ "//tensorflow/compiler/mlir/tensorflow:tensorflow_passes",
"//tensorflow/compiler/mlir/tensorflow:tf_dialect_lib",
"//tensorflow/compiler/mlir/tensorflow:tf_dialect_passes",
"//tensorflow/compiler/mlir/tensorflow:translate_lib",
diff --git a/tensorflow/compiler/mlir/tensorflow/BUILD b/tensorflow/compiler/mlir/tensorflow/BUILD
index 1a3535a..32bc99d 100644
--- a/tensorflow/compiler/mlir/tensorflow/BUILD
+++ b/tensorflow/compiler/mlir/tensorflow/BUILD
@@ -123,21 +123,6 @@
"ir/tf_ops.cc.inc",
"ir/tf_ops.h.inc",
"ir/tf_types.cc",
- "transforms/bridge.cc",
- "transforms/bridge_pass.cc",
- "transforms/cluster_formation.cc",
- "transforms/cluster_outlining.cc",
- "transforms/executor_island_coarsening.cc",
- "transforms/functional_control_flow_to_cfg.cc",
- "transforms/generated_canonicalize.inc",
- "transforms/generated_optimize.inc",
- "transforms/graph_pruning.cc",
- "transforms/optimize.cc",
- "transforms/raise_control_flow.cc",
- "transforms/tpu_cluster_formation.cc",
- "transforms/tpu_rewrite_pass.cc",
- "translate/control_to_executor_dialect.cc",
- "translate/executor_to_control_dialect.cc",
],
hdrs = [
"ir/control_flow_ops.h",
@@ -157,7 +142,6 @@
":tensorflow_device_ops_inc_gen",
":tensorflow_executor_inc_gen",
":tensorflow_ops_inc_gen",
- ":tensorflow_optimize_inc_gen",
"//tensorflow/compiler/mlir/lite:validators",
"//tensorflow/core:lib",
"@llvm//:support",
@@ -175,12 +159,58 @@
alwayslink = 1,
)
+cc_library(
+ name = "tensorflow_passes",
+ srcs = [
+ "transforms/bridge.cc",
+ "transforms/bridge_pass.cc",
+ "transforms/cluster_formation.cc",
+ "transforms/cluster_outlining.cc",
+ "transforms/executor_island_coarsening.cc",
+ "transforms/fold_switch.cc",
+ "transforms/functional_control_flow_to_cfg.cc",
+ "transforms/generated_canonicalize.inc",
+ "transforms/generated_optimize.inc",
+ "transforms/graph_pruning.cc",
+ "transforms/optimize.cc",
+ "transforms/raise_control_flow.cc",
+ "transforms/tpu_cluster_formation.cc",
+ "transforms/tpu_rewrite_pass.cc",
+ "translate/control_to_executor_dialect.cc",
+ "translate/executor_to_control_dialect.cc",
+ ],
+ hdrs = [
+ "transforms/bridge.h",
+ "transforms/passes.h",
+ ],
+ includes = ["include"],
+ deps = [
+ ":error_util",
+ ":tensorflow",
+ ":tensorflow_optimize_inc_gen",
+ "//tensorflow/compiler/mlir/lite:validators",
+ "//tensorflow/core:lib",
+ "//tensorflow/core/platform:logging",
+ "@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",
+ "@local_config_mlir//:Transforms",
+ ],
+ # TODO(jpienaar): Merge in the dialect registration.
+ alwayslink = 1,
+)
+
# Library with TensorFlow dialect static initialization.
cc_library(
name = "tensorflow_dialect_registration",
srcs = ["ir/dialect_registration.cc"],
deps = [
":tensorflow",
+ ":tensorflow_passes",
"@local_config_mlir//:IR",
],
alwayslink = 1,
@@ -204,6 +234,7 @@
":mangling_util",
":mlir_roundtrip_flags",
":tensorflow",
+ ":tensorflow_passes",
"//tensorflow/cc/saved_model:loader_lite",
"//tensorflow/compiler/jit:shape_inference_helpers",
"//tensorflow/compiler/xla:status_macros",
@@ -639,35 +670,9 @@
)
cc_library(
- name = "tensorflow_fold_switch",
- srcs = [
- "transforms/fold_switch.cc",
- ],
- hdrs = [
- "transforms/passes.h",
- ],
- copts = ["-std=c++14"],
- deps = [
- ":tensorflow",
- "//tensorflow/core:framework",
- "//tensorflow/core:lib",
- "@com_google_absl//absl/memory",
- "@llvm//:support",
- "@local_config_mlir//:Analysis",
- "@local_config_mlir//:IR",
- "@local_config_mlir//:Pass",
- "@local_config_mlir//:QuantOps",
- "@local_config_mlir//:StandardOps",
- "@local_config_mlir//:Support",
- ],
- alwayslink = 1,
-)
-
-cc_library(
name = "compile_mlir_util",
srcs = ["utils/compile_mlir_util.cc"],
hdrs = ["utils/compile_mlir_util.h"],
- copts = ["-std=c++14"],
deps = [
":convert_type",
":error_util",