aboutsummaryrefslogtreecommitdiffstats
path: root/passes/techmap/abc9.cc
diff options
context:
space:
mode:
authorEddie Hung <eddie@fpgeh.com>2020-01-06 11:50:55 -0800
committerEddie Hung <eddie@fpgeh.com>2020-01-06 11:50:55 -0800
commitd152fe961ffb3d7ed0493cde5c21f88fe78644e1 (patch)
tree9e4ece77a15793a0abb9194883140f731b3272cb /passes/techmap/abc9.cc
parent275e937fc16635edfd38c18ea9eb9f7cbbdd32c9 (diff)
downloadyosys-d152fe961ffb3d7ed0493cde5c21f88fe78644e1.tar.gz
yosys-d152fe961ffb3d7ed0493cde5c21f88fe78644e1.tar.bz2
yosys-d152fe961ffb3d7ed0493cde5c21f88fe78644e1.zip
Fixes
Diffstat (limited to 'passes/techmap/abc9.cc')
-rw-r--r--passes/techmap/abc9.cc8
1 files changed, 5 insertions, 3 deletions
diff --git a/passes/techmap/abc9.cc b/passes/techmap/abc9.cc
index 1806b2d53..3c781ca44 100644
--- a/passes/techmap/abc9.cc
+++ b/passes/techmap/abc9.cc
@@ -413,11 +413,13 @@ void abc9_module(RTLIL::Design *design, RTLIL::Module *module, std::string scrip
dict<IdString, bool> abc9_box;
vector<RTLIL::Cell*> boxes;
- for (auto cell : module->cells()) {
+ for (auto it = module->cells_.begin(); it != module->cells_.end(); ) {
+ auto cell = it->second;
if (cell->type.in(ID($_AND_), ID($_NOT_), ID($__ABC9_FF_))) {
- module->remove(cell);
+ it = module->cells_.erase(it);
continue;
}
+ ++it;
RTLIL::Module* box_module = design->module(cell->type);
auto jt = abc9_box.find(cell->type);
if (jt == abc9_box.end())
@@ -996,7 +998,7 @@ struct Abc9Pass : public Pass {
log_assert(!module->attributes.count(ID(abc9_box_id)));
if (!design->selected_whole_module(module))
- log_cmd_error("Can't handle partially selected module %s!\n", log_id(module));
+ log_error("Can't handle partially selected module %s!\n", log_id(module));
assign_map.set(module);