https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68417

--- Comment #5 from vekumar at gcc dot gnu.org ---
Richard,

STMT: m1 = p1->x - m;

While hashing p1->x being a component ref,  we are hashing operand 0 part 
ie TREE_OPERAND (ref, 0). This is unconditionally read and written.

STMT: p3->y = (m1 >= m2) ? p1->y : p2->y;
Now for p1->y master DR is what we hashed previously for p1->x since p1->y is
alos a component ref. 

Fix for PR 68583
https://gcc.gnu.org/viewcvs?rev=231444&root=gcc&view=rev

Checks if candidate DR is unconditional accessed outside and also is a read
only.

 /* If a is unconditionally accessed then ... */
  if (DR_RW_UNCONDITIONALLY (*master_dr))
    {
      /* an unconditional read won't trap.  */
      if (DR_IS_READ (a))
        return true;

This holds true now and hence does if conversion.

Since this is expected can we close this PR as fixed?

Reply via email to