From 551d36d384c587d3cee667d44255a055afcdc30e Mon Sep 17 00:00:00 2001 From: Carlo Alberto Ferraris Date: Thu, 3 Nov 2022 21:18:21 +0900 Subject: [PATCH] opt_muxtree: set iterations limit based on number of muxes --- passes/opt/opt_muxtree.cc | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/passes/opt/opt_muxtree.cc b/passes/opt/opt_muxtree.cc index 100b1b495..fc71dc8c5 100644 --- a/passes/opt/opt_muxtree.cc +++ b/passes/opt/opt_muxtree.cc @@ -36,7 +36,7 @@ struct OptMuxtreeWorker RTLIL::Module *module; SigMap assign_map; int removed_count; - int glob_abort_cnt = 100000; + int glob_abort_cnt; struct bitinfo_t { bool seen_non_mux; @@ -146,6 +146,10 @@ struct OptMuxtreeWorker log(" No muxes found in this module.\n"); return; } + + // Limit the number of iterations based on the number of muxes. + // The multiplier (100) is arbitrary. + glob_abort_cnt = GetSize(mux2info) * 100; // Populate mux2info[].ports[]: // .input_muxes