On Sat, May 1, 2010 at 2:36 AM, Jan Hubicka <hubi...@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 >> > >