bulletproofing against incremental updates with missing liberty

Signed-off-by: James Cherry <[email protected]>
This commit is contained in:
James Cherry
2021-09-16 21:35:52 -07:00
parent 5a765a7606
commit 41706e0db6
3 changed files with 27 additions and 21 deletions
+7 -5
View File
@@ -344,11 +344,13 @@ Graph::makeWireEdge(Pin *from_pin,
Vertex *from_vertex, *from_bidirect_drvr_vertex;
pinVertices(from_pin, from_vertex, from_bidirect_drvr_vertex);
Vertex *to_vertex = pinLoadVertex(to_pin);
// From and/or to can be bidirect, but edge is always from driver to load.
if (from_bidirect_drvr_vertex)
makeEdge(from_bidirect_drvr_vertex, to_vertex, arc_set);
else
makeEdge(from_vertex, to_vertex, arc_set);
if (from_vertex && to_vertex) {
// From and/or to can be bidirect, but edge is always from driver to load.
if (from_bidirect_drvr_vertex)
makeEdge(from_bidirect_drvr_vertex, to_vertex, arc_set);
else
makeEdge(from_vertex, to_vertex, arc_set);
}
}
////////////////////////////////////////////////////////////////