https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99447
--- Comment #9 from Richard Biener <rguenth at gcc dot gnu.org> --- For the ICE in this bug it might be enough to, in cgraph_node::release_body, walk callees and zap ->call_stmt on the cgraph edges. But the more general issue remains - GC will still try to collect the now unreferenced stmts and follow the link to the ggc_free()ed basic-block.