3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2025-09-30 21:19:30 +00:00

Merge pull request #5384 from rocallahan/simplify-opt-merge-logic

Move `OptMerge` cell filtering logic to happen while building the cell vector
This commit is contained in:
Emil J 2025-09-29 15:03:01 +02:00 committed by GitHub
commit 87c1a868d3
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -246,10 +246,15 @@ struct OptMergeWorker
// mem can have an excessively large parameter holding the init data
continue;
}
if (cell->type == ID($scopeinfo))
continue;
if (mode_keepdc && has_dont_care_initval(cell))
continue;
if (ct.cell_known(cell->type) || (mode_share_all && cell->known()))
cells.push_back(cell);
if (!cell->known())
continue;
if (!mode_share_all && !ct.cell_known(cell->type))
continue;
cells.push_back(cell);
}
did_something = false;
@ -278,12 +283,6 @@ struct OptMergeWorker
for (auto cell : cells)
{
if ((!mode_share_all && !ct.cell_known(cell->type)) || !cell->known())
continue;
if (cell->type == ID($scopeinfo))
continue;
auto [cell_in_map, inserted] = known_cells.insert(cell);
if (!inserted) {
// We've failed to insert since we already have an equivalent cell