aboutsummaryrefslogtreecommitdiffhomepage
path: root/tensorflow/compiler/xla/service/tuple_points_to_analysis.cc
diff options
context:
space:
mode:
authorGravatar Justin Lebar <jlebar@google.com>2017-09-29 14:02:29 -0700
committerGravatar TensorFlower Gardener <gardener@tensorflow.org>2017-09-29 14:13:20 -0700
commit7ec44b7541faabe781bb9b6113534452cda7598c (patch)
treef35a3a706553bd2b044a3944c4f0368bd34fa736 /tensorflow/compiler/xla/service/tuple_points_to_analysis.cc
parentb1f00fc15047967698618a8e9218fac6c2278414 (diff)
[XLA] Make HloModule::computations() return raw pointers.
Like HloComputation::instructions(), HloModule::computations() used to return a list of unique_ptrs. But this is an implementation detail that shouldn't be leaked into the public API. This patch also adds HloModule::MakeNonFusionComputations(), because many of the callers of computations() went on to filter out all the fusion computations. It would be possible to implement MakeNonFusionComputations() "in place" using a filtering iterator, but I don't think it's necessary -- we never have *that* many computations, and since many callers go on to copy the list of non-fusion computations, making it unconditionally a copy is simpler and avoids a footgun. PiperOrigin-RevId: 170529051
Diffstat (limited to 'tensorflow/compiler/xla/service/tuple_points_to_analysis.cc')
-rw-r--r--tensorflow/compiler/xla/service/tuple_points_to_analysis.cc12
1 files changed, 3 insertions, 9 deletions
diff --git a/tensorflow/compiler/xla/service/tuple_points_to_analysis.cc b/tensorflow/compiler/xla/service/tuple_points_to_analysis.cc
index 5eb8fbdc38..f7dee93aad 100644
--- a/tensorflow/compiler/xla/service/tuple_points_to_analysis.cc
+++ b/tensorflow/compiler/xla/service/tuple_points_to_analysis.cc
@@ -137,10 +137,7 @@ Status TuplePointsToAnalysis::Analyze() {
logical_buffer_aliases_.resize(
logical_buffer_analysis_->num_logical_buffers());
- for (auto& computation : module_->computations()) {
- if (computation->IsFusionComputation()) {
- continue;
- }
+ for (auto* computation : module_->MakeNonfusionComputations()) {
TF_RETURN_IF_ERROR(computation->Accept(this));
TF_RETURN_IF_ERROR(
PopulateDefinedBuffersAndAliases(computation->instructions()));
@@ -452,12 +449,9 @@ PointsToSet& TuplePointsToAnalysis::CreateCopiedPointsToSet(
string TuplePointsToAnalysis::ToString() const {
string output = tensorflow::strings::Printf(
"TuplePointsToSet for module %s:\n", module_->name().c_str());
- for (const auto& computation : module_->computations()) {
- if (computation->IsFusionComputation()) {
- continue;
- }
+ for (const auto* computation : module_->MakeNonfusionComputations()) {
const char* entry =
- computation.get() == module_->entry_computation() ? "entry " : "";
+ computation == module_->entry_computation() ? "entry " : "";
tensorflow::strings::StrAppend(&output, entry, "computation ",
computation->name(), ":\n");
for (const HloInstruction* instruction :