forked from github/verilator
Internals: Add orderPreRanked. No functional change.
This commit is contained in:
parent
9f5a4c9b22
commit
efb2801eeb
@ -102,8 +102,13 @@ public:
|
|||||||
/// Order all vertices by rank and fanout, lowest first
|
/// Order all vertices by rank and fanout, lowest first
|
||||||
/// Sort all vertices by rank and fanout, lowest first
|
/// Sort all vertices by rank and fanout, lowest first
|
||||||
/// Sort all edges by weight, lowest first
|
/// Sort all edges by weight, lowest first
|
||||||
|
/// Side-effect: assigns ranks to every node.
|
||||||
void order();
|
void order();
|
||||||
|
|
||||||
|
// Similar to order() but does not assign ranks. Caller must
|
||||||
|
// ensure that the graph has been ranked ahead of the call.
|
||||||
|
void orderPreRanked();
|
||||||
|
|
||||||
/// Make acyclical (into a tree) by breaking a minimal subset of cutable edges.
|
/// Make acyclical (into a tree) by breaking a minimal subset of cutable edges.
|
||||||
void acyclic(V3EdgeFuncP edgeFuncp);
|
void acyclic(V3EdgeFuncP edgeFuncp);
|
||||||
|
|
||||||
|
@ -507,7 +507,10 @@ void V3Graph::order() {
|
|||||||
|
|
||||||
// Compute rankings again
|
// Compute rankings again
|
||||||
rank(&V3GraphEdge::followAlwaysTrue);
|
rank(&V3GraphEdge::followAlwaysTrue);
|
||||||
|
orderPreRanked();
|
||||||
|
}
|
||||||
|
|
||||||
|
void V3Graph::orderPreRanked() {
|
||||||
// Compute fanouts
|
// Compute fanouts
|
||||||
// Vertex::m_user begin: 1 indicates processing, 2 indicates completed
|
// Vertex::m_user begin: 1 indicates processing, 2 indicates completed
|
||||||
userClearVertices();
|
userClearVertices();
|
||||||
|
Loading…
Reference in New Issue
Block a user