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...