diff options
-rw-r--r-- | tensorflow/compiler/xla/service/hlo_computation.cc | 9 | ||||
-rw-r--r-- | tensorflow/compiler/xla/service/hlo_computation.h | 3 |
2 files changed, 10 insertions, 2 deletions
diff --git a/tensorflow/compiler/xla/service/hlo_computation.cc b/tensorflow/compiler/xla/service/hlo_computation.cc index a9c7fdc4e5..1677c77f2e 100644 --- a/tensorflow/compiler/xla/service/hlo_computation.cc +++ b/tensorflow/compiler/xla/service/hlo_computation.cc @@ -697,8 +697,9 @@ Status HloComputation::AcceptWithOperandOrder( /*call_finish_visit=*/true); } +template <typename HloInstructionPtr> Status HloComputation::AcceptOrdered( - DfsHloVisitor* visitor, + DfsHloVisitorBase<HloInstructionPtr>* visitor, const std::vector<const HloInstruction*>& order) const { VLOG(3) << "Accepting visitor with order."; for (HloInstruction* root : CollectUnreachableRoots()) { @@ -727,6 +728,12 @@ Status HloComputation::AcceptOrdered( return Status::OK(); } +// Explicit instantiations. +template Status HloComputation::AcceptOrdered( + DfsHloVisitor*, const std::vector<const HloInstruction*>&) const; +template Status HloComputation::AcceptOrdered( + ConstDfsHloVisitor*, const std::vector<const HloInstruction*>&) const; + Status HloComputation::Accept( const std::function<Status(HloInstruction*)>& visitor_func) { FunctionVisitor visitor(visitor_func); diff --git a/tensorflow/compiler/xla/service/hlo_computation.h b/tensorflow/compiler/xla/service/hlo_computation.h index f72a6e13c1..3208197f89 100644 --- a/tensorflow/compiler/xla/service/hlo_computation.h +++ b/tensorflow/compiler/xla/service/hlo_computation.h @@ -289,7 +289,8 @@ class HloComputation { // Visit every node in the computation in the given order. 'order' must // be a topological sort of all instructions in the computation. - Status AcceptOrdered(DfsHloVisitor* visitor, + template <typename HloInstructionPtr> + Status AcceptOrdered(DfsHloVisitorBase<HloInstructionPtr>* visitor, const std::vector<const HloInstruction*>& order) const; // Same as Accept() above, but the visitor is given as a function. |