http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52448

--- Comment #5 from Michael Matz <matz at gcc dot gnu.org> 2012-03-01 16:08:18 
UTC ---
(In reply to comment #4)
> We can ignore back edges,
> hence the path between both accesses are acyclic, so we might still get away
> with a non-iterating algorithm.

Of course we cannot ignore back edges.  If we want to retain a non-iterating
algorithm we have to punt.  That wouldn't be too bad, as the situations
in which this helps usually is where the first access is in near proximity
to the second access.  If we punt in that way the following wouldn't
be handled anymore:

*X = a;
for ()
  if (cond)
    *X = b;

Reply via email to