3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2025-04-23 09:05:32 +00:00

More hashtable finetuning

This commit is contained in:
Clifford Wolf 2014-12-27 03:04:50 +01:00
parent 88d08e8f24
commit 66ab88d7b0
9 changed files with 40 additions and 18 deletions

View file

@ -91,8 +91,8 @@ struct DeletePass : public Pass {
continue;
}
pool<RTLIL::Wire*, hash_ptr_ops> delete_wires;
pool<RTLIL::Cell*, hash_ptr_ops> delete_cells;
pool<RTLIL::Wire*, hash_obj_ops> delete_wires;
pool<RTLIL::Cell*, hash_obj_ops> delete_cells;
pool<RTLIL::IdString> delete_procs;
pool<RTLIL::IdString> delete_mems;

View file

@ -176,7 +176,7 @@ struct SplitnetsPass : public Pass {
module->rewrite_sigspecs(worker);
pool<RTLIL::Wire*, hash_ptr_ops> delete_wires;
pool<RTLIL::Wire*, hash_obj_ops> delete_wires;
for (auto &it : worker.splitmap)
delete_wires.insert(it.first);
module->remove(delete_wires);

View file

@ -262,7 +262,7 @@ void rmunused_module_signals(RTLIL::Module *module, bool purge_mode, bool verbos
}
pool<RTLIL::Wire*, hash_ptr_ops> del_wires;
pool<RTLIL::Wire*, hash_obj_ops> del_wires;
int del_wires_count = 0;
for (auto wire : maybe_del_wires)

View file

@ -199,7 +199,7 @@ void replace_const_cells(RTLIL::Design *design, RTLIL::Module *module, bool cons
dict<RTLIL::SigSpec, RTLIL::SigSpec> invert_map;
TopoSort<RTLIL::Cell*, RTLIL::IdString::compare_ptr_by_name<RTLIL::Cell>> cells;
dict<RTLIL::Cell*, std::set<RTLIL::SigBit>, hash_ptr_ops> cell_to_inbit;
dict<RTLIL::Cell*, std::set<RTLIL::SigBit>, hash_obj_ops> cell_to_inbit;
dict<RTLIL::SigBit, std::set<RTLIL::Cell*>> outbit_to_cell;
for (auto cell : module->cells())

View file

@ -41,7 +41,7 @@ struct OptShareWorker
CellTypes ct;
int total_count;
#ifdef USE_CELL_HASH_CACHE
dict<const RTLIL::Cell*, std::string, hash_ptr_ops> cell_hash_cache;
dict<const RTLIL::Cell*, std::string, hash_obj_ops> cell_hash_cache;
#endif
#ifdef USE_CELL_HASH_CACHE