From: Clifford Wolf Date: Sat, 5 Nov 2016 23:03:35 +0000 (+0100) Subject: Bugfix in "scc" command X-Git-Tag: yosys-0.8~597 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=914aa8a5d3c884df0eafbef87fdeb9c3594ebd5f;p=yosys.git Bugfix in "scc" command --- diff --git a/passes/cmds/scc.cc b/passes/cmds/scc.cc index bb6d74474..6b8f3f512 100644 --- a/passes/cmds/scc.cc +++ b/passes/cmds/scc.cc @@ -163,16 +163,8 @@ struct SccWorker } for (auto cell : workQueue) - cellToNextCell[cell] = sigToNextCells.find(cellToNextSig[cell]); - - labelCounter = 0; - cellLabels.clear(); - - while (workQueue.size() > 0) { - RTLIL::Cell *cell = *workQueue.begin(); - log_assert(cellStack.size() == 0); - cellDepth.clear(); + cellToNextCell[cell] = sigToNextCells.find(cellToNextSig[cell]); if (!nofeedbackMode && cellToNextCell[cell].count(cell)) { log("Found an SCC:"); @@ -183,6 +175,16 @@ struct SccWorker sccList.push_back(scc); log("\n"); } + } + + labelCounter = 0; + cellLabels.clear(); + + while (!workQueue.empty()) + { + RTLIL::Cell *cell = *workQueue.begin(); + log_assert(cellStack.size() == 0); + cellDepth.clear(); run(cell, 0, maxDepth); }