aboutsummaryrefslogtreecommitdiffstats
path: root/passes/proc
diff options
context:
space:
mode:
authorClifford Wolf <clifford@clifford.at>2016-04-25 10:43:04 +0200
committerClifford Wolf <clifford@clifford.at>2016-04-25 10:43:04 +0200
commit93e107e455b506731d9114e0dc2644f78797cf0f (patch)
treeadd4b40ad49d65a3d962a7f40d4f320aff172133 /passes/proc
parentd086224a39fcd488062d7f75cc936cce5435069c (diff)
downloadyosys-93e107e455b506731d9114e0dc2644f78797cf0f.tar.gz
yosys-93e107e455b506731d9114e0dc2644f78797cf0f.tar.bz2
yosys-93e107e455b506731d9114e0dc2644f78797cf0f.zip
Fixed proc_mux performance bug
Diffstat (limited to 'passes/proc')
-rw-r--r--passes/proc/proc_mux.cc3
1 files changed, 3 insertions, 0 deletions
diff --git a/passes/proc/proc_mux.cc b/passes/proc/proc_mux.cc
index dcfa212b5..e52c5556e 100644
--- a/passes/proc/proc_mux.cc
+++ b/passes/proc/proc_mux.cc
@@ -250,6 +250,9 @@ void append_pmux(RTLIL::Module *mod, const RTLIL::SigSpec &signal, const std::ve
log_assert(last_mux_cell != NULL);
log_assert(when_signal.size() == last_mux_cell->getPort("\\A").size());
+ if (when_signal == last_mux_cell->getPort("\\A"))
+ return;
+
RTLIL::SigSpec ctrl_sig = gen_cmp(mod, signal, compare, sw);
log_assert(ctrl_sig.size() == 1);
last_mux_cell->type = "$pmux";