[Bug tree-optimization/50904] [4.7 regression] pessimization when -fno-protect-parens is enabled by -Ofast
rguenther at suse dot de
gcc-bugzilla@gcc.gnu.org
Thu Dec 1 08:51:00 GMT 2011
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50904
--- Comment #18 from rguenther at suse dot de <rguenther at suse dot de> 2011-12-01 08:51:07 UTC ---
On Sat, 12 Nov 2011, ebotcazou at gcc dot gnu.org wrote:
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50904
>
> Eric Botcazou <ebotcazou at gcc dot gnu.org> changed:
>
> What |Removed |Added
> ----------------------------------------------------------------------------
> Status|ASSIGNED |NEW
> CC| |rguenth at gcc dot gnu.org
> Component|rtl-optimization |tree-optimization
> AssignedTo|ebotcazou at gcc dot |unassigned at gcc dot
> |gnu.org |gnu.org
>
> --- Comment #15 from Eric Botcazou <ebotcazou at gcc dot gnu.org> 2011-11-12 16:45:13 UTC ---
> > I don't see why RTL invariant motion should move the one variant but not
> > the other. Of course this also shows that we should, after loop unrolling
> > on the tree level, also perform loop invariant motion again ...
>
> AFAICS we already do that (lim3 is run after cunroll). The problem is that
> lim3 considers that the loads cannot be hoisted because they are "dependent".
> And it looks like a ccp pass is missing after cunroll as there is a lot of
> cruft...
lim3 was added as a "hack", now yes, cunroll needs ccp after it (but it's
there in the form of DOM and VRP). It's a pass ordering issue that we
cannot ever solve.
> Recategorizing, at least temporarily, for further investigation. If nothing
> can be done at the Tree level, we could consider applying the RTL patch.
Please - it seems like a missed optimization there, too.
Richard.
More information about the Gcc-bugs
mailing list