https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69547
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED Assignee|unassigned at gcc dot gnu.org |rguenth at gcc dot gnu.org --- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> --- Hmm, so we have <bb 3>: # _1 = PHI <&a(2), _9(4)> # _2 = PHI <63(2), _10(4)> if (_2 == -1) goto <bb 5>; else goto <bb 4>; <bb 4>: MEM[(struct &)_1] ={v} {CLOBBER}; _9 = _1 + 1; _10 = _2 + -1; goto <bb 3>; in CDDCE and do processing: foo (&a, 64); marking necessary through .MEM_15 stmt MEM[(struct &)_1] ={v} {CLOBBER}; processing: MEM[(struct &)_1] ={v} {CLOBBER}; I'm trying a patch to fix that.