From b32ba6f56802b7cb8bb6098ee895d4ad37438ff8 Mon Sep 17 00:00:00 2001 From: Clifford Wolf Date: Sat, 17 Jan 2015 12:04:40 +0100 Subject: [PATCH] Optimizing no-op cell->setPort() --- kernel/rtlil.cc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/kernel/rtlil.cc b/kernel/rtlil.cc index d396d6c24..b35cbc3d1 100644 --- a/kernel/rtlil.cc +++ b/kernel/rtlil.cc @@ -1839,7 +1839,9 @@ void RTLIL::Cell::setPort(RTLIL::IdString portname, RTLIL::SigSpec signal) connections_[portname] = RTLIL::SigSpec(); conn_it = connections_.find(portname); log_assert(conn_it != connections_.end()); - } + } else + if (conn_it->second == signal) + return; for (auto mon : module->monitors) mon->notify_connect(this, conn_it->first, conn_it->second, signal);