http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52459
Richard Guenther <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |matz at gcc dot gnu.org Summary|PPRE performs stupid |PRE performs stupid inserts |inserts | --- Comment #4 from Richard Guenther <rguenth at gcc dot gnu.org> 2012-03-21 10:41:04 UTC --- I have a patch. The issue is we inhibit PHI insertion for the builtin call at -O3 (when -ftree-vectorize is on), not partial-PRE. The stupid inserts are really caused because of the inhibited PRE insertion will cause only part of the dependent expressions to be available but some uses get eliminated so the still inserted PHI node is not removed ... which means that limiting 'PHI insertion' is bougs - we should really limit what we PHI translate, to not cause dependent expressions to be partially available. Not sure if we know at that point whether we'd need a PHI node, but at least the edges we want to eventually restrict translation are easy to spot - the latch edges.