diff options
author | Justin Lebar <jlebar@google.com> | 2017-09-29 14:02:29 -0700 |
---|---|---|
committer | TensorFlower Gardener <gardener@tensorflow.org> | 2017-09-29 14:13:20 -0700 |
commit | 7ec44b7541faabe781bb9b6113534452cda7598c (patch) | |
tree | f35a3a706553bd2b044a3944c4f0368bd34fa736 /tensorflow/compiler/xla/service/reshape_mover.cc | |
parent | b1f00fc15047967698618a8e9218fac6c2278414 (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/reshape_mover.cc')
-rw-r--r-- | tensorflow/compiler/xla/service/reshape_mover.cc | 9 |
1 files changed, 1 insertions, 8 deletions
diff --git a/tensorflow/compiler/xla/service/reshape_mover.cc b/tensorflow/compiler/xla/service/reshape_mover.cc index a480236ceb..404fd3e6d7 100644 --- a/tensorflow/compiler/xla/service/reshape_mover.cc +++ b/tensorflow/compiler/xla/service/reshape_mover.cc @@ -312,14 +312,7 @@ StatusOr<bool> TrySinkReshapeOrTranspose(HloComputation* computation, StatusOr<bool> ReshapeMover::Run(HloModule* module) { bool changed = false; - std::vector<HloComputation*> computations; - for (auto& computation : module->computations()) { - if (computation->IsFusionComputation()) { - continue; - } - computations.push_back(computation.get()); - } - for (const auto& comp : computations) { + for (auto* comp : module->MakeNonfusionComputations()) { for (HloInstruction* instruction : comp->MakeInstructionPostOrder()) { TF_ASSIGN_OR_RETURN(bool did_change, TrySinkReshapeOrTranspose(comp, instruction)); |