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?