[Google] Adjust comdat-sharing-probability param for -Os

2013-09-27 Thread Easwaran Raman
This patch increases comdat-sharing-probability to 80 under -Os. This
reduces the amount of inlining and helps internal benchmarks.
Unfortunately, this causes slight regression on spec 2006. Ok for
google branches if all tests pass?

- Easwaran


comdat_sharing.patch
Description: Binary data


Re: [Google] Adjust comdat-sharing-probability param for -Os

2013-09-27 Thread Xinliang David Li
d.growth -= (info-size
* (100 - PARAM_VALUE (PARAM_COMDAT_SHARING_PROBABILITY))
+ 50) / 100;

What is the purpose of '50' here?

The patch is fine for Google branch.

Other tunings to think about -- I think the sharing probability should
not be a fixed value -- but depending on the function's charateristics
-- such as size, number of callsites etc. For instance, for small leaf
comdat functions, the sharing probability will be small.

David


On Fri, Sep 27, 2013 at 2:57 PM, Easwaran Raman era...@google.com wrote:
 This patch increases comdat-sharing-probability to 80 under -Os. This
 reduces the amount of inlining and helps internal benchmarks.
 Unfortunately, this causes slight regression on spec 2006. Ok for
 google branches if all tests pass?

 - Easwaran


Re: [Google] Adjust comdat-sharing-probability param for -Os

2013-09-27 Thread Easwaran Raman
On Fri, Sep 27, 2013 at 4:08 PM, Xinliang David Li davi...@google.com wrote:
 d.growth -= (info-size
 * (100 - PARAM_VALUE (PARAM_COMDAT_SHARING_PROBABILITY))
 + 50) / 100;

 What is the purpose of '50' here?

Rounding after division by 100.

 The patch is fine for Google branch.

 Other tunings to think about -- I think the sharing probability should
 not be a fixed value -- but depending on the function's charateristics
 -- such as size, number of callsites etc. For instance, for small leaf
 comdat functions, the sharing probability will be small.
 David


 On Fri, Sep 27, 2013 at 2:57 PM, Easwaran Raman era...@google.com wrote:
 This patch increases comdat-sharing-probability to 80 under -Os. This
 reduces the amount of inlining and helps internal benchmarks.
 Unfortunately, this causes slight regression on spec 2006. Ok for
 google branches if all tests pass?

 - Easwaran