https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62004

--- Comment #2 from vries at gcc dot gnu.org ---
Created attachment 33242
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=33242&action=edit
patch to fix if-conversion

(In reply to Richard Biener from comment #1)
> Heh, interesting set of events ;)
> 
> Now it is interesting how much we desire to perform the tail-merging - we
> _could_
> change the alias sets of loads (and stores...) to a "common" one (either if
> they
> are "equal" or just zero otherwise).  Depends on how much we like this kind
> of pessimization.
> 
> Same for the RTL bits of course.
> 
> Btw, I still see the conditional execution after RTL expansion, just
> cfglayout mode doesn't have unconditonal gotos for the edges.

Right, when doing fdump-rtl-all, it looks like fallthrough, but it isn't, I
forgot. So it's just if-conversion that does the wrong thing.

Attached patch fixes 4.8 if-conversion in a conservative way (I suppose we want
a conservative fix for 4.8 and 4.9). OK for testing?

Reply via email to