Merge pull request #1889 from boqwxp/cleanup_memory_unpack

Clean up `passes/memory/memory_unpack.cc`.
This commit is contained in:
N. Engelhardt 2020-04-09 14:00:44 +02:00 committed by GitHub
commit ed738b8ddb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 6 additions and 7 deletions

View File

@ -118,11 +118,11 @@ void handle_memory(RTLIL::Module *module, RTLIL::Cell *memory)
void handle_module(RTLIL::Design *design, RTLIL::Module *module)
{
std::vector<RTLIL::IdString> memcells;
for (auto &cell_it : module->cells_)
if (cell_it.second->type == ID($mem) && design->selected(module, cell_it.second))
memcells.push_back(cell_it.first);
for (auto cell : module->cells())
if (cell->type == ID($mem) && design->selected(module, cell))
memcells.push_back(cell->name);
for (auto &it : memcells)
handle_memory(module, module->cells_.at(it));
handle_memory(module, module->cell(it));
}
struct MemoryUnpackPass : public Pass {
@ -140,9 +140,8 @@ struct MemoryUnpackPass : public Pass {
void execute(std::vector<std::string> args, RTLIL::Design *design) YS_OVERRIDE {
log_header(design, "Executing MEMORY_UNPACK pass (generating $memrd/$memwr cells form $mem cells).\n");
extra_args(args, 1, design);
for (auto &mod_it : design->modules_)
if (design->selected(mod_it.second))
handle_module(design, mod_it.second);
for (auto module : design->selected_modules())
handle_module(design, module);
}
} MemoryUnpackPass;