aboutsummaryrefslogtreecommitdiffhomepage
path: root/tensorflow/core/grappler/optimizers/arithmetic_optimizer.cc
diff options
context:
space:
mode:
authorGravatar Piotr Padlewski <prazek@google.com>2018-07-25 13:37:16 -0700
committerGravatar TensorFlower Gardener <gardener@tensorflow.org>2018-07-25 13:41:05 -0700
commit45aa4e968ff743eea697c9fbc8778c33b2926a6a (patch)
treedebf0da8cc7a3094d2b847b2be1b40b9fc2fe9ec /tensorflow/core/grappler/optimizers/arithmetic_optimizer.cc
parentf0b189f3f24f5032642ff71338c1be66fbd446b5 (diff)
MutableGraphView and other graph utils
MutableGraphView was implemented so that the view could be updated when new nodes are added or connections changed. The current passes do not require it only because they do not do any optimization on already optimized nodes, but optimizations like MapFusion require it. PiperOrigin-RevId: 206046420
Diffstat (limited to 'tensorflow/core/grappler/optimizers/arithmetic_optimizer.cc')
-rw-r--r--tensorflow/core/grappler/optimizers/arithmetic_optimizer.cc9
1 files changed, 1 insertions, 8 deletions
diff --git a/tensorflow/core/grappler/optimizers/arithmetic_optimizer.cc b/tensorflow/core/grappler/optimizers/arithmetic_optimizer.cc
index 97862d1ed0..3ab2211694 100644
--- a/tensorflow/core/grappler/optimizers/arithmetic_optimizer.cc
+++ b/tensorflow/core/grappler/optimizers/arithmetic_optimizer.cc
@@ -3007,14 +3007,7 @@ void ArithmeticOptimizer::DedupComputations() {
// Delete duplicates
if (fetch_nodes_known_ && !duplicates.empty()) {
- int last = optimized_graph_->node_size() - 1;
- for (auto it = duplicates.rbegin(); it != duplicates.rend(); ++it) {
- int index = *it;
- optimized_graph_->mutable_node()->SwapElements(index, last);
- last--;
- }
- optimized_graph_->mutable_node()->DeleteSubrange(last + 1,
- duplicates.size());
+ EraseNodesFromGraph(duplicates, optimized_graph_);
// Rebuild the NodeMap which was invalidated by the node swapping above.
node_map_.reset(new NodeMap(optimized_graph_));
}