From fbac644835c332885595d443f524e3e93bcbb904 Mon Sep 17 00:00:00 2001 From: Prakalp Srivastava Date: Thu, 9 Apr 2020 08:44:51 -0700 Subject: [PATCH] Set visibility of outlined function as private during ClusterOutliningPass. PiperOrigin-RevId: 305691287 Change-Id: Ib53ed2aaacdb6b95a8e2b5a5013b413931913adb --- .../compiler/mlir/tensorflow/tests/cluster_outlining.mlir | 1 + .../compiler/mlir/tensorflow/transforms/cluster_outlining.cc | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/tensorflow/compiler/mlir/tensorflow/tests/cluster_outlining.mlir b/tensorflow/compiler/mlir/tensorflow/tests/cluster_outlining.mlir index 5f11ad25848..1866879c465 100644 --- a/tensorflow/compiler/mlir/tensorflow/tests/cluster_outlining.mlir +++ b/tensorflow/compiler/mlir/tensorflow/tests/cluster_outlining.mlir @@ -27,6 +27,7 @@ module { // CHECK-LABEL: func @tpu0_func // CHECK-SAME: (%[[TPU0_FUNC_ARG_0:[a-z0-9]*]]: tensor) -> tensor +// CHECK-SAME: sym_visibility = "private" // CHECK: %[[TPU0_FUNC_B_OUTPUT:[0-9]*]] = "tf.B"(%[[TPU0_FUNC_ARG_0]]) // CHECK: return %[[TPU0_FUNC_B_OUTPUT]] } diff --git a/tensorflow/compiler/mlir/tensorflow/transforms/cluster_outlining.cc b/tensorflow/compiler/mlir/tensorflow/transforms/cluster_outlining.cc index d2af683757b..aa4c071abdf 100644 --- a/tensorflow/compiler/mlir/tensorflow/transforms/cluster_outlining.cc +++ b/tensorflow/compiler/mlir/tensorflow/transforms/cluster_outlining.cc @@ -66,6 +66,10 @@ FuncOp BuildFunction(StringRef device, llvm::ArrayRef live_ins, FuncOp outlined_func = FuncOp::create(launch_op.getLoc(), func_name_prefix, func_type); + // This function is not externally visible and marking it private would allow + // symbol-dce pass to remove it when it is not referenced anymore. + outlined_func.setVisibility(FuncOp::Visibility::Private); + // Create function body. Block* outlined_func_block = outlined_func.addEntryBlock();