cgraph based inlining heuristics

Jan Hubicka jh@suse.cz
Wed Jul 2 11:13:00 GMT 2003


> Hi,
> the attached patch implements callgraph based inlining heuristics.  For
> SPEC2000 it makes little difference (about 5% compilation time/code size
> savings for eon, but I am still running the test), but for template
> heavy inlining code it can save quite a lot of compilation time.

Here are the promised SPEC scores relative to mainline.
eon is 14% smaller and still slightly faster.
Also the bootstrap times with -funit-at-a-time enabled by default are
now few seconds shorter than bootstrap times without it.

Size of binaries:
 164.gzip: Base: 59720 bytes
 164.gzip: Peak: 59656 bytes
 175.vpr: Base: 158808 bytes
 175.vpr: Peak: 158456 bytes
 176.gcc: Base: 1727744 bytes
 176.gcc: Peak: 1674240 bytes
 181.mcf: Base: 20816 bytes
 181.mcf: Peak: 20816 bytes
 186.crafty: Base: 206048 bytes
 186.crafty: Peak: 206016 bytes
 197.parser: Base: 136608 bytes
 197.parser: Peak: 154560 bytes
 252.eon: Base: 572800 bytes
 252.eon: Peak: 501024 bytes
 253.perlbmk: Base: 667992 bytes
 253.perlbmk: Peak: 700632 bytes
 254.gap: Base: 537464 bytes
 254.gap: Peak: 551768 bytes
 255.vortex: Base: 638120 bytes
 255.vortex: Peak: 630952 bytes
 256.bzip2: Base: 58216 bytes
 256.bzip2: Peak: 58216 bytes
 300.twolf: Base: 201488 bytes
 300.twolf: Peak: 206640 bytes
 =============================
 Total: Base: 4985824 bytes
 Total: Peak: 4922976 bytes

Total time for base compilation: 376 s
Total time for peak compilation: 374 s

   164.gzip          1400     205         682*     1400     199         705*
   175.vpr           1400     183         767*     1400     186         753*
   176.gcc           1100     131         841*     1100     132         833*
   181.mcf           1800     351         513*     1800     352         511*
   186.crafty        1000      80.8      1238*     1000      80.7      1239*
   197.parser        1800     336         535*     1800     330         545*
   252.eon           1300     138         940*     1300     136         957*
   253.perlbmk       1800     218         827*     1800     217         830*
   254.gap           1100     157         702*     1100     157         701*
   255.vortex        1900     173        1095*     1900     176        1081*
   256.bzip2         1500     200         751*     1500     200         750*
   300.twolf         3000     386         776*     3000     374         802*
   Est. SPECint_base2000                  782
   Est. SPECint2000                                                     785

Honza



More information about the Gcc-patches mailing list