aboutsummaryrefslogtreecommitdiffhomepage
path: root/tensorflow/compiler/xla/service/hlo_alias_analysis.cc
diff options
context:
space:
mode:
authorGravatar A. Unique TensorFlower <gardener@tensorflow.org>2018-06-21 17:31:36 -0700
committerGravatar TensorFlower Gardener <gardener@tensorflow.org>2018-06-21 17:34:27 -0700
commita350f66ed250c3dee43cc27b0778c3759f07e810 (patch)
tree6416b984ae6ffb1147937ce0a61f376176680c01 /tensorflow/compiler/xla/service/hlo_alias_analysis.cc
parentc7776b996d88c83e0e94aa0fde0f32c4fb23144b (diff)
Add backend specific lambda to decide whether a fusion instruction can share buffer with its operand.
PiperOrigin-RevId: 201615582
Diffstat (limited to 'tensorflow/compiler/xla/service/hlo_alias_analysis.cc')
-rw-r--r--tensorflow/compiler/xla/service/hlo_alias_analysis.cc11
1 files changed, 6 insertions, 5 deletions
diff --git a/tensorflow/compiler/xla/service/hlo_alias_analysis.cc b/tensorflow/compiler/xla/service/hlo_alias_analysis.cc
index 0a948cc390..e8a4b034b4 100644
--- a/tensorflow/compiler/xla/service/hlo_alias_analysis.cc
+++ b/tensorflow/compiler/xla/service/hlo_alias_analysis.cc
@@ -452,15 +452,16 @@ string HloAliasAnalysis::ToString() const {
/* static */
StatusOr<std::unique_ptr<HloAliasAnalysis>> HloAliasAnalysis::Run(
- HloModule* module) {
+ HloModule* module, const HloDataflowAnalysis::FusionCanShareBufferFunction&
+ fusion_can_share_buffer) {
VLOG(2) << "HloAliasAnalysis::Run on module " << module->name();
XLA_VLOG_LINES(2, module->ToString());
auto alias_analysis = WrapUnique(new HloAliasAnalysis(module));
- TF_ASSIGN_OR_RETURN(
- alias_analysis->dataflow_analysis_,
- HloDataflowAnalysis::Run(*module, /*ssa_form=*/true,
- /*bitcast_defines_value=*/false));
+ TF_ASSIGN_OR_RETURN(alias_analysis->dataflow_analysis_,
+ HloDataflowAnalysis::Run(*module, /*ssa_form=*/true,
+ /*bitcast_defines_value=*/false,
+ fusion_can_share_buffer));
BufferValueMap buffer_map(alias_analysis->dataflow_analysis());
buffer_map.MergeAliasedBuffers();