[middle-end, patch 0/9] Ipa-prop overhaul and indirect inlining (PR 9079)

Jan Hubicka jh@suse.cz
Sat Jul 5 10:16:00 GMT 2008


> Hi,

Hi,
Thanks for doing all the work and cleaning up IPCP on the way ;)

> The patch  set had the  biggest effect on libstdc++  performance tests
> where there were  122 discovered indirect calls with  know targets and
> 122 of  them were inlined  (these may not  necessarily be the  same as
> inlining can  duplicate these  edges, during regression  testing there
> are more  inlined indirect edges than discovered  ones).  The run-time
> data I  got for libstdc++  were a bit  noisy. Three of  the benchmarks
> showed speedup of 13-22% speedup that could not be attributed to noise
> and there  was a  few of others  like this with  performance increases
> just below 10%.  On the other hand there is also one 12% slowdown that
> also looks  like not  being caused by  any noise.  However,  all these
> numbers are preliminary, I will have to redo the measurements.
> 
> When compiling DLV there are 299 discovered indirect edges and 299 are
> inlined but there  is no apparent effect on  runtime.  13 instances of
> both occur on Tramp3D but that has no effect on runtime either.

This seems like expected result.  This feature was originally requested
by libstdc++ people (mainliny Paolo).  Benchmarks like tramp3d and DLV
rely on instantiating everything...

Little amount of inlining of indirect calls is also covered by early
inliner (just for very simple wrappers).

Honza



More information about the Gcc-patches mailing list