From 71a7f3fabd17f5f6966fc56aa3a89bcd6e8be6af Mon Sep 17 00:00:00 2001 From: Akash Levy Date: Wed, 14 Aug 2024 16:00:03 -0700 Subject: [PATCH] Fix for segfaulting --- passes/cmds/splitfanout.cc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/passes/cmds/splitfanout.cc b/passes/cmds/splitfanout.cc index 3fba251a0..1adaabec2 100644 --- a/passes/cmds/splitfanout.cc +++ b/passes/cmds/splitfanout.cc @@ -118,7 +118,9 @@ struct SplitfanoutWorker } else { 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); module->cell(std::get<0>(bit_user))->setPort(std::get<1>(bit_user), sig); new_cell->setPort(outport, new_wire);