Analyzing Optimization: What's New in 3.4?

Andrew Pinski pinskia@physics.uc.edu
Mon Aug 11 20:53:00 GMT 2003


On Monday, Aug 11, 2003, at 16:16 US/Eastern, Scott Robert Ladd wrote:

> I've just run some analyses of C and C++ optimization in gcc 3.4 
> (20030806). Given my use of a 3.4 snapshot, I added the 
> -funit-at-a-time option to my analysis. Before presenting my results, 
> I hope to receive answers to a couple of questions.
>
> What else is new in 3.4 that I should be aware of?

A new loop unroller (enabled by the old flag).
A new basic block reorder (enabled also by the old flag).
With the new loop unroller comes an option called -fpeel-loops which 
you might want to try.
Note: -funit-at-a-time is enabled by default at -O3 and above.

Another thing you want want to try is intermodule optimizations (only 
works for C code though).
To use it just run gcc with more than one file and list the output file:
gcc -c t.c t1.c -o test.o


> I note that the SSA switches are still listed as "experimental"; does 
> anyone recommend that I include those switches in my analysis or not?

No, but you can benchmark the tree-ssa branch which is replacing these 
options.

> What about -fnew-ra, -ftracer, and other options rarely discussed (and 
> probably unknown to most gcc users)?

-fnew-ra is a good option to benchmark (it might slow down the code 
though).
-ftracer is also sometimes a good option to use.

>
> It would be quite helpful if future documentation listed the default 
> values for the various --param switches; such values can often be 
> difficult to discern in the source code.
>
> Thank you in advance.
>
> -- 
> Scott Robert Ladd
> Coyote Gulch Productions (http://www.coyotegulch.com)
> Software Invention for High-Performance Computing
>
>
>



More information about the Gcc mailing list