aboutsummaryrefslogtreecommitdiffstats
path: root/passes/opt/opt_reduce.cc
diff options
context:
space:
mode:
Diffstat (limited to 'passes/opt/opt_reduce.cc')
-rw-r--r--passes/opt/opt_reduce.cc8
1 files changed, 6 insertions, 2 deletions
diff --git a/passes/opt/opt_reduce.cc b/passes/opt/opt_reduce.cc
index f947e9724..5f3c4d29e 100644
--- a/passes/opt/opt_reduce.cc
+++ b/passes/opt/opt_reduce.cc
@@ -368,8 +368,12 @@ struct OptReducePass : public Pass {
for (auto &mod_it : design->modules_) {
if (!design->selected(mod_it.second))
continue;
- OptReduceWorker worker(design, mod_it.second, do_fine);
- total_count += worker.total_count;
+ do {
+ OptReduceWorker worker(design, mod_it.second, do_fine);
+ total_count += worker.total_count;
+ if (worker.total_count == 0)
+ break;
+ } while (1);
}
log("Performed a total of %d changes.\n", total_count);