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?