mirror of
https://github.com/YosysHQ/yosys
synced 2026-01-05 18:42:46 +00:00
Parallelize opt_merge.
I'm not sure why but this is actually faster than existing `opt_merge` even with YOSYS_MAX_THREADS=1, for the jpeg synthesis test. 16.0s before, 15.5s after for end-to-end synthesis.
This commit is contained in:
parent
2833a44503
commit
3e8e9ee53f
3 changed files with 296 additions and 106 deletions
|
|
@ -1321,6 +1321,12 @@ public:
|
|||
return i < 0 ? 0 : 1;
|
||||
}
|
||||
|
||||
int lookup(const K &key) const
|
||||
{
|
||||
Hasher::hash_t hash = database.do_hash(key);
|
||||
return database.do_lookup_no_rehash(key, hash);
|
||||
}
|
||||
|
||||
void expect(const K &key, int i)
|
||||
{
|
||||
int j = (*this)(key);
|
||||
|
|
|
|||
|
|
@ -2140,6 +2140,8 @@ public:
|
|||
|
||||
RTLIL::ObjRange<RTLIL::Wire*> wires() { return RTLIL::ObjRange<RTLIL::Wire*>(&wires_, &refcount_wires_); }
|
||||
RTLIL::ObjRange<RTLIL::Cell*> cells() { return RTLIL::ObjRange<RTLIL::Cell*>(&cells_, &refcount_cells_); }
|
||||
int cells_size() const { return cells_.size(); }
|
||||
RTLIL::Cell* cell_at(int index) const { return cells_.element(index)->second; }
|
||||
|
||||
void add(RTLIL::Binding *binding);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue