Re: [google] Increase inlining limits with FDO/LIPO

2011-05-20 Thread Xinliang David Li
Some code size and timing number (profile use compile) are collected. Summary: Compile time for profile-use compilation increase for all cases -- this is probably not a big issue as this is for peak performance. It is more interesting to look at the size numbers. C++ program size actually decreas

Re: [google] Increase inlining limits with FDO/LIPO

2011-05-20 Thread Xinliang David Li
On Fri, May 20, 2011 at 2:12 AM, Richard Guenther wrote: > On Thu, May 19, 2011 at 8:26 PM, Xinliang David Li wrote: >> I have done some SPEC testing evaluating the performance impact of >> your patch.  They look very positive.  LIPO got helped even more than >> FDO (I only did SPEC2k LIPO testin

Re: [google] Increase inlining limits with FDO/LIPO

2011-05-20 Thread Richard Guenther
On Thu, May 19, 2011 at 8:26 PM, Xinliang David Li wrote: > I have done some SPEC testing evaluating the performance impact of > your patch.  They look very positive.  LIPO got helped even more than > FDO (I only did SPEC2k LIPO testing). Did you also check impact on compile-time and code-size?

Re: [google] Increase inlining limits with FDO/LIPO

2011-05-19 Thread Xinliang David Li
I have done some SPEC testing evaluating the performance impact of your patch. They look very positive. LIPO got helped even more than FDO (I only did SPEC2k LIPO testing). Thanks, David 1. SPEC06 (C/C++) with FDO before after Improvement -

Re: [google] Increase inlining limits with FDO/LIPO

2011-05-18 Thread Mark Heffernan
Verified identical binaries created and submitted. Mark On Wed, May 18, 2011 at 11:37 AM, Xinliang David Li wrote: > Ok with that change to google/main with some retesting. > > David > > On Wed, May 18, 2011 at 11:34 AM, Mark Heffernan wrote: >> On Wed, May 18, 2011 at 10:52 AM, Xinliang David

Re: [google] Increase inlining limits with FDO/LIPO

2011-05-18 Thread Xinliang David Li
Ok with that change to google/main with some retesting. David On Wed, May 18, 2011 at 11:34 AM, Mark Heffernan wrote: > On Wed, May 18, 2011 at 10:52 AM, Xinliang David Li > wrote: >> The new change won't help those. Your original place will be ok if you >> test profile_arcs and branch_probabi

Re: [google] Increase inlining limits with FDO/LIPO

2011-05-18 Thread Mark Heffernan
On Wed, May 18, 2011 at 10:52 AM, Xinliang David Li wrote: > The new change won't help those. Your original place will be ok if you > test profile_arcs and branch_probability flags. Ah, yes. I see your point now. Reverted to the original change with condition profile_arc_flag and flag_branch_pro

Re: [google] Increase inlining limits with FDO/LIPO

2011-05-18 Thread Xinliang David Li
Though not common, people can do this: 1. for profile gen: gcc -fprofile-arcs ... 2. for profile use gcc -fbranch-probabilities ... The new change won't help those. Your original place will be ok if you test profile_arcs and branch_probability flags. David On Wed, May 18, 2011 at 10:39 AM, Ma

Re: [google] Increase inlining limits with FDO/LIPO

2011-05-18 Thread Mark Heffernan
On Tue, May 17, 2011 at 11:34 PM, Xinliang David Li wrote: > flag_profile_arcs and flag_branch_probabilities.  -fprofile-use > enables profile-arcs, and value profiling is enabled only when > edge/branch profiling is enabled (so no need to be checked). I changed the location where these parameter

Re: [google] Increase inlining limits with FDO/LIPO

2011-05-17 Thread Xinliang David Li
To make consistent inline decisions between profile-gen and profile-use, probably better to check these two: flag_profile_arcs and flag_branch_probabilities. -fprofile-use enables profile-arcs, and value profiling is enabled only when edge/branch profiling is enabled (so no need to be checked).

[google] Increase inlining limits with FDO/LIPO

2011-05-17 Thread Mark Heffernan
This small patch greatly expands the function size limits for inlining with FDO/LIPO. With profile information, the inliner is much more selective and precise and so the limits can be increased with less worry that functions and total code size will blow up. This speeds up x86-64 internal benchma