aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--passes/opt/opt_ffinv.cc9
1 files changed, 6 insertions, 3 deletions
diff --git a/passes/opt/opt_ffinv.cc b/passes/opt/opt_ffinv.cc
index fe5b59fa5..5d989dafd 100644
--- a/passes/opt/opt_ffinv.cc
+++ b/passes/opt/opt_ffinv.cc
@@ -201,10 +201,13 @@ struct OptFfInvWorker
{
log("Discovering LUTs.\n");
- for (Cell *cell : module->selected_cells()) {
- if (!RTLIL::builtin_ff_cell_types().count(cell->type))
- continue;
+ std::vector<Cell *> ffs;
+
+ for (Cell *cell : module->selected_cells())
+ if (RTLIL::builtin_ff_cell_types().count(cell->type))
+ ffs.push_back(cell);
+ for (Cell *cell : ffs) {
FfData ff(&initvals, cell);
if (ff.has_sr)
continue;