GCC-4.5.0 comparison with previous releases and LLVM-2.7 on SPEC2000 for x86/x86_64
Xinliang David Li
davidxl@google.com
Thu Apr 29 21:36:00 GMT 2010
On Thu, Apr 29, 2010 at 2:27 PM, Jan Hubicka <hubicka@ucw.cz> wrote:
>> Thanks for the comments. FDO will probably improve SPEC2000 score.
>> Although it is not obvious for some tests because the train data sets
>> for them are different from the reference data sets and it might
>> actually mislead the compiler.
>
> There are several studies on the topic and it is not that bad in practice.
> In wast majority of cases even pretty bad training runs gets significant
> portion of improvement you can get from training on the final benchmark
> data. In SPEC case FDO improves pretty much all benchmarks.
Agree.
>
> I think the FDO is relatively little used because it is relatively hard
> to use (i.e. user has to modify makefiles and learn how the feature works)
> and also because there is very little support for it (i.e. in automake and such)
>> As for vortex FDO improvement, vortex contains a moderate size loop in
>> which most of time is spent. The loop has if-then-else on the top loop
>> level. On all SPEC2000 data sets, one if-branch is taken practically
>> always (like 1 to 1,000,000). So it is not amazing for me that FDO
>> gives such improvement for vortex.
>
> It would be interesting to know if same improvement happens with LTO and if
> not what LIPO does. I will unbreak vortex on our tester.
>
Vortex needs -fno-strict-aliasing. It casts between two record types
with one record being a 'prefix' of another.
David
> Honza
>
More information about the Gcc
mailing list