This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: GCC-4.5.0 comparison with previous releases and LLVM-2.7 on SPEC2000 for x86/x86_64
- From: Xinliang David Li <davidxl at google dot com>
- To: Jan Hubicka <hubicka at ucw dot cz>
- Cc: Vladimir Makarov <vmakarov at redhat dot com>, "gcc.gcc.gnu.org" <gcc at gcc dot gnu dot org>
- Date: Sun, 2 May 2010 00:04:13 -0700
- Subject: Re: GCC-4.5.0 comparison with previous releases and LLVM-2.7 on SPEC2000 for x86/x86_64
- References: <4BD9B2EB.9060207@redhat.com> <w2v522e93241004291117n7eb214ah55245e0209f3297e@mail.gmail.com> <4BD9D49E.1040200@redhat.com> <20100429212744.GH22195@atrey.karlin.mff.cuni.cz> <g2u522e93241004291434kbbad2896r3f01efa8befe6610@mail.gmail.com> <20100501093637.GD27613@atrey.karlin.mff.cuni.cz>
On Sat, May 1, 2010 at 2:36 AM, Jan Hubicka <hubicka@ucw.cz> wrote:
>>
>> Vortex needs -fno-strict-aliasing. ?It casts between two record types
>> with one record being a 'prefix' of another.
>
> So today runs are complette. ?Thanks to Richi who fixed ICE in symtab merging
> that affected perl and GCC. ?With vortex problem was that in addition to
> -fno-strict-aliasing it is writting to closed files that cause ICE depending on
> partiuclar glibc version.
>
> Comparing http://gcc.opensuse.org/SPEC/CINT/sb-frescobaldi.suse.de-fdo-64-FDO/recent.html
> vortex is 2036 with -O2 -flto, 2438 with -O2 -flto and FDO (so about 20% improvement)
> http://gcc.opensuse.org/SPEC/CINT/sb-frescobaldi.suse.de-head-64/list.html
> has -O2 runs without LTO that is 1859, so 31% for LTO+FDO, 10% LTO.
>
> Any idea if it is one of value transforms or just edge profile making the
> difference? ?There are some cases of write only globals we can constant
> propagate with -fwhole-program in SPEC, but I think it is parser.
>
I got the following number for O2, FDO, and LIPO : 2351, 2761 (17%), 3448 (24%).
The FDO improvement over O2 come from both edge profile and vpt
(div,rem). With FDO, one of the important loops in Part_Delete may get
tail duplicated which helps performance.
LIPO improvement mainly come from cross module ininling of hot
functions Mem_GetWord, Mem_GetAddr, Chunk_ChkGetChunk.
David
> Honza
>>
>> David
>>
>>
>>
>> > Honza
>> >
>