aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEddie Hung <eddie@fpgeh.com>2020-01-10 10:46:06 -0800
committerEddie Hung <eddie@fpgeh.com>2020-01-10 10:46:06 -0800
commit1f7893bd8c8d88f2a84b9bcba67acf43cee0430f (patch)
tree0ff5005f2c08208262950876934216413cfd29dc
parentccc83d99bafc74f7ec62111bf61d962ca0a0771d (diff)
downloadyosys-1f7893bd8c8d88f2a84b9bcba67acf43cee0430f.tar.gz
yosys-1f7893bd8c8d88f2a84b9bcba67acf43cee0430f.tar.bz2
yosys-1f7893bd8c8d88f2a84b9bcba67acf43cee0430f.zip
abc9: fix memory leak
-rw-r--r--passes/techmap/abc9.cc6
1 files changed, 2 insertions, 4 deletions
diff --git a/passes/techmap/abc9.cc b/passes/techmap/abc9.cc
index 8cb34e523..3fc6ed2c2 100644
--- a/passes/techmap/abc9.cc
+++ b/passes/techmap/abc9.cc
@@ -416,13 +416,11 @@ void abc9_module(RTLIL::Design *design, RTLIL::Module *module, std::string scrip
dict<IdString, bool> abc9_box;
vector<RTLIL::Cell*> boxes;
- for (auto it = module->cells_.begin(); it != module->cells_.end(); ) {
- auto cell = it->second;
+ for (auto cell : module->cells().to_vector()) {
if (cell->type.in(ID($_AND_), ID($_NOT_), ID($__ABC9_FF_))) {
- it = module->cells_.erase(it);
+ module->remove(cell);
continue;
}
- ++it;
RTLIL::Module* box_module = design->module(cell->type);
auto jt = abc9_box.find(cell->type);
if (jt == abc9_box.end())