From 4bf3338e1eab1cb8c24c69106540d362297ce434 Mon Sep 17 00:00:00 2001 From: Akash Levy Date: Mon, 17 Mar 2025 02:29:12 -0700 Subject: [PATCH] Muxpack until not possible --- passes/opt/muxpack.cc | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/passes/opt/muxpack.cc b/passes/opt/muxpack.cc index fe60d5404..bb3fffff2 100644 --- a/passes/opt/muxpack.cc +++ b/passes/opt/muxpack.cc @@ -436,9 +436,15 @@ struct MuxpackPass : public Pass { int pmux_count = 0; for (auto module : design->selected_modules()) { - MuxpackWorker worker(module, assume_excl, make_excl); - mux_count += worker.mux_count; - pmux_count += worker.pmux_count; + int worker_mux_count = 0; + int worker_pmux_count = 0; + do { + MuxpackWorker worker(module, assume_excl, make_excl); + mux_count += worker.mux_count; + pmux_count += worker.pmux_count; + worker_mux_count = worker.mux_count; + worker_pmux_count = worker.pmux_count; + } while (worker_mux_count + worker_pmux_count > 0); } log("Converted %d (p)mux cells into %d pmux cells.\n", mux_count, pmux_count);