[patch] Enable fmove-loop-invariants by default

Zdenek Dvorak rakdver@atrey.karlin.mff.cuni.cz
Mon Feb 13 23:23:00 GMT 2006


Hello,

> > The problem is that not all the things that loop.c implements have
> > been replaced yet, such as loop invariant code motion until today;
> > and loop reversal and loop array prefetching.
> 
> My opinion is that if removing loop.c doesn't cause any performance
> degradation, then it's failure to implement optimizations shouldn't be
> considered a problem.  The point of loop reversal and loop array
> prefetching is to improve performance; if those optimizations don't
> improve performance, then we shouldn't be sad to see them go.
> 
> The above is of course predicated on performance being measured over a
> wide enough set of platforms on a wide enough set of benchmarks; I'm not
> sure that SPEC alone is sufficient.
> 
> However, it might be reasonable to make a plan like the following:
> 
> 1. Test the performance impact of removing loop.c with SPEC on popular
> platforms, like, say, AMD64, ARM, PowerPC, and Itanium.  (A somewhat
> random set, certainly prejudiced by my own experience; the goal is to
> get a mix of workstation and embeded processors.)

I can get results from amd64 and ppc/ppc64-linux; maybe also from
ia64, but I am not sure about that.  I would be grateful to anyone
who could measure the effect of disabling loop.c on other architectures
(it suffices to compare say -O2 with -O2 -fno-loop-optimize).

Zdenek

> 2. Ask people to test their favorite applications with the patch you posted.
> 
> Assuming (1) shows no degradation, and nobody comes forward with a
> compelling example from (2), remove the code.
> 
> -- 
> Mark Mitchell
> CodeSourcery
> mark@codesourcery.com
> (650) 331-3385 x713



More information about the Gcc-patches mailing list