aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/sigtools.h
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/sigtools.h')
-rw-r--r--kernel/sigtools.h13
1 files changed, 8 insertions, 5 deletions
diff --git a/kernel/sigtools.h b/kernel/sigtools.h
index 3ef87199e..d73c5623d 100644
--- a/kernel/sigtools.h
+++ b/kernel/sigtools.h
@@ -253,18 +253,21 @@ struct SigMap
for (int i = 0; i < GetSize(from); i++)
{
- RTLIL::SigBit bf = database.find(from[i]);
- RTLIL::SigBit bt = database.find(to[i]);
+ int bfi = database.lookup(from[i]);
+ int bti = database.lookup(to[i]);
+
+ const RTLIL::SigBit &bf = database[bfi];
+ const RTLIL::SigBit &bt = database[bti];
if (bf.wire || bt.wire)
{
- database.merge(bf, bt);
+ database.imerge(bfi, bti);
if (bf.wire == nullptr)
- database.promote(bf);
+ database.ipromote(bfi);
if (bt.wire == nullptr)
- database.promote(bt);
+ database.ipromote(bti);
}
}
}