This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug tree-optimization/52448] [4.4/4.5/4.6/4.7 Regression] cselim broken with calls


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;


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]