https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114736
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |ASSIGNED Assignee|unassigned at gcc dot gnu.org |rguenth at gcc dot gnu.org Last reconfirmed| |2024-04-16 Ever confirmed|0 |1 --- Comment #8 from Richard Biener <rguenth at gcc dot gnu.org> --- Confirmed. The missing node is t.f90:1:21: note: node 0x39e3a80 (max_nunits=1, refcnt=2) vector(2) real(kind=4) t.f90:1:21: note: op: VEC_PERM_EXPR t.f90:1:21: note: { } t.f90:1:21: note: lane permutation { 0[1] 0[0] } t.f90:1:21: note: children 0x39e37b0 23 (4) <- 22 -> 26 24 26 (-1) <- 23 -> 17 17 (6) <- 26 16 -> 19 18 and the edge making it backward reachable is marked as latch. Specifically those vertices we mark as leaf forcefully in build_vertices do not match those made unreachable by build_graph via ignoring latch edges. t.f90:1:21: note: node 0x39e37b0 (max_nunits=2, refcnt=2) vector(2) real(kind=4) t.f90:1:21: note: op template: a__I_IM_lsm0.22_6 = PHI <_12(20), _73(19)> t.f90:1:21: note: stmt 0 a__I_IM_lsm0.22_6 = PHI <_12(20), _73(19)> t.f90:1:21: note: stmt 1 a__I_RE_lsm0.23_18 = PHI <_11(20), _74(19)> t.f90:1:21: note: children 0x39e3840 0x39e38d0 and the issue is that the representative of the VEC_PERM node is a__I_IM_lsm0.22_6 = PHI <_12(20), _73(19)> (a NULL one is avoided for crashes).