On Dec 25, 2007, at 5:02 PM, Vladimir N. Makarov wrote:
Here is mine benchmarking of the current LTO branch on 2.66Ghz Core2
under RHEL 5 in 64- and 32-bits mode. The vortex violates type
aliasing rules, therefore it should be compiled with
-fno-strict-aliasing. Perlbmk crashed in tree.c::build2_stat in
32-bits mode when LTO used. LTO currently generates wrong code for
176.gcc. I've also checked Specfp2000 benchmarks written in C.
In brief,
o the code size (text segment) with LTO is much smaller (2.7% and
2.4% for SpecInt and 0.16% and 0.6% for SpecFp correspondingly in
64-
and 32-bit mode). That is very promising.
o the compilation is 2 times slower with LTO.
o The generated code is slower 3.6% and 2.2% for SPECint2000 and
SpecFp2000 in 64-bit mode. It is also 6.7% slower for SpecInt2000
in
32-bit mode. But SpecFp2000 in 32-bit mode code generated with LTO
is 20% faster! It is because art is almost 2.5 times faster with
LTO.
Wow, nice numbers! Is it possible to compare this to -combine, or does
-combine work anymore? In theory, lto and IMA should yield the same
codegen, lto should just be usable with normal makefiles.
-Chris