https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84057
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Priority|P4 |P2 Status|NEW |ASSIGNED Assignee|unassigned at gcc dot gnu.org |rguenth at gcc dot gnu.org --- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> --- A latent issue somewhere I would guess. Program received signal SIGSEGV, Segmentation fault. 0x00000000009eba5e in can_remove_branch_p (e=0x7ffff6a04a80) at /space/rguenther/src/svn/early-lto-debug/gcc/cfghooks.c:389 389 if (EDGE_COUNT (e->src->succs) != 2) (gdb) p e $1 = (const_edge) 0x7ffff6a04a80 (gdb) p e->src $2 = <error reading variable: Cannot access memory at address 0xa5a5a5a5a5a5a5f9> ok, so we end up queueing a lot of edges in edges_to_remove and then end up removing a path disconnecting a CFG region that another edge to be removed is queued in. Before the rev. this all just happened in a different order which was fine. I've patched this logic in the unroller quite some times already for similar issues...