diff --git a/search/Sta.cc b/search/Sta.cc index f7e650a6..843061df 100644 --- a/search/Sta.cc +++ b/search/Sta.cc @@ -4532,16 +4532,14 @@ Sta::replaceEquivCellBefore(const Instance *inst, VertexOutEdgeIterator edge_iter(vertex, graph_); while (edge_iter.hasNext()) { Edge *edge = edge_iter.next(); - Vertex *to_vertex = edge->to(graph_); - if (network_->instance(to_vertex->pin()) == inst) { + if (!edge->isWire()) { TimingArcSet *from_set = edge->timingArcSet(); // Find corresponding timing arc set. TimingArcSet *to_set = to_cell->findTimingArcSet(from_set); if (to_set) edge->setTimingArcSet(to_set); else - report_->critical( - 1556, "corresponding timing arc set not found in equiv cells"); + report_->critical(1563, "corresponding timing arc set not found in equiv cells"); } } } @@ -4637,8 +4635,7 @@ Sta::replaceCellBefore(const Instance *inst, VertexOutEdgeIterator edge_iter(vertex, graph_); while (edge_iter.hasNext()) { Edge *edge = edge_iter.next(); - Vertex *to_vertex = edge->to(graph_); - if (network_->instance(to_vertex->pin()) == inst) + if (!edge->isWire()) deleteEdge(edge); } }