3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2025-04-28 11:25:53 +00:00

Fix for segfaulting

This commit is contained in:
Akash Levy 2024-08-14 16:00:03 -07:00
parent 8118380726
commit 71a7f3fabd

View file

@ -118,7 +118,9 @@ struct SplitfanoutWorker
} }
else { else {
Wire *new_wire = module->addWire(NEW_ID, GetSize(outsig)); Wire *new_wire = module->addWire(NEW_ID, GetSize(outsig));
SigSpec sig = module->cell(std::get<0>(bit_user))->getPort(std::get<1>(bit_user)); Cell *target_cell = module->cell(std::get<0>(bit_user));
if (!target_cell) continue; // cell might no longer exist
SigSpec sig = target_cell->getPort(std::get<1>(bit_user));
sig.replace(std::get<2>(bit_user), new_wire); sig.replace(std::get<2>(bit_user), new_wire);
module->cell(std::get<0>(bit_user))->setPort(std::get<1>(bit_user), sig); module->cell(std::get<0>(bit_user))->setPort(std::get<1>(bit_user), sig);
new_cell->setPort(outport, new_wire); new_cell->setPort(outport, new_wire);