https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109724
--- Comment #7 from Richard Biener <rguenth at gcc dot gnu.org> --- The real issue is probably that when value-numbering Value numbering stmt = iftmp.77_74 = PHI <iftmp.77_178(64), iftmp.77_177(65)> Setting value number of iftmp.77_74 to iftmp.77_177 (changed) iftmp.77_177 is available for iftmp.77_177 we have _177 available but for Value numbering stmt = _24 = &MEM <const struct SkDCubic> [(const struct SkDPoint &)iftmp.77_74].fPts[idx2_62].fX; Setting value number of _24 to iftmp.77_177 (changed) Making available beyond BB70 _24 for value iftmp.77_177 we appearantly have not, despite the _74 def dominating this stmt. Of course that's an inherent limitation of the dominated_by_p_w_unex tool that was patched with the offending revision.