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

Reply via email to