Re: New parameters to control stringop expansion libcall strategy

2013-08-09 Thread Xinliang David Li
Is this version ok for trunk? thanks, David On Thu, Aug 8, 2013 at 9:31 AM, Xinliang David Li davi...@google.com wrote: Updated. thanks, David On Thu, Aug 8, 2013 at 8:18 AM, Joseph S. Myers jos...@codesourcery.com wrote: On Wed, 7 Aug 2013, Xinliang David Li wrote: Updated patch

Re: New parameters to control stringop expansion libcall strategy

2013-08-09 Thread Jan Hubicka
Is this version ok for trunk? It looks resonable, but I still do not like much the removal of const for tables. Doing so will push them all into David Malcom's per-thread global universe. Currently the algorithm is selected based on cost-memset/cost-memcpy. Instead of removing the const of all

Re: New parameters to control stringop expansion libcall strategy

2013-08-09 Thread Xinliang David Li
On Fri, Aug 9, 2013 at 11:33 AM, Jan Hubicka hubi...@ucw.cz wrote: Is this version ok for trunk? It looks resonable, but I still do not like much the removal of const for tables. Doing so will push them all into David Malcom's per-thread global universe. Currently the algorithm is selected

Re: New parameters to control stringop expansion libcall strategy

2013-08-09 Thread Jan Hubicka
On Fri, Aug 9, 2013 at 11:33 AM, Jan Hubicka hubi...@ucw.cz wrote: Is this version ok for trunk? It looks resonable, but I still do not like much the removal of const for tables. Doing so will push them all into David Malcom's per-thread global universe. Currently the algorithm is

Re: New parameters to control stringop expansion libcall strategy

2013-08-08 Thread Xinliang David Li
Updated patch attached (fixed header, buffer overflow, and warning -- error problems). Ok for trunk? thanks, David On Wed, Aug 7, 2013 at 6:04 PM, Joseph S. Myers jos...@codesourcery.com wrote: On Wed, 7 Aug 2013, Xinliang David Li wrote: Why the exception? This should only be used on the

Re: New parameters to control stringop expansion libcall strategy

2013-08-08 Thread Joseph S. Myers
On Wed, 7 Aug 2013, Xinliang David Li wrote: Updated patch attached (fixed header, buffer overflow, and warning -- error problems). You still have diagnostics starting with a capital letter, contrary to the GNU Coding Standards. -- Joseph S. Myers jos...@codesourcery.com

Re: New parameters to control stringop expansion libcall strategy

2013-08-08 Thread Xinliang David Li
Updated. thanks, David On Thu, Aug 8, 2013 at 8:18 AM, Joseph S. Myers jos...@codesourcery.com wrote: On Wed, 7 Aug 2013, Xinliang David Li wrote: Updated patch attached (fixed header, buffer overflow, and warning -- error problems). You still have diagnostics starting with a capital

Re: New parameters to control stringop expansion libcall strategy

2013-08-07 Thread Michael Zolotukhin
the option is designed for purpose like this. That's great, thanks! Michael David On 6 August 2013 20:42, Xinliang David Li davi...@google.com wrote: Corrected two small problems reported by the style checker (The warnings about the EnumValue for options in stringopt.opt are not valid).

Re: New parameters to control stringop expansion libcall strategy

2013-08-07 Thread Xinliang David Li
Fixed the do while formatting. Ok for trunk with this version? thanks, David On Tue, Aug 6, 2013 at 2:42 AM, Jan Hubicka hubi...@ucw.cz wrote: 2013-08-02 Xinliang David Li davi...@google.com * config/i386/stringop.def: New file. * config/i386/stringop.opt: New file.

Re: New parameters to control stringop expansion libcall strategy

2013-08-07 Thread Joseph S. Myers
On Wed, 7 Aug 2013, Xinliang David Li wrote: Index: config/i386/stringop.def === --- config/i386/stringop.def (revision 0) +++ config/i386/stringop.def (revision 0) @@ -0,0 +1,42 @@ +/* Definitions for option handling for

Re: New parameters to control stringop expansion libcall strategy

2013-08-07 Thread Xinliang David Li
On Wed, Aug 7, 2013 at 5:23 PM, Joseph S. Myers jos...@codesourcery.com wrote: On Wed, 7 Aug 2013, Xinliang David Li wrote: Index: config/i386/stringop.def === --- config/i386/stringop.def (revision 0) +++

Re: New parameters to control stringop expansion libcall strategy

2013-08-07 Thread Joseph S. Myers
On Wed, 7 Aug 2013, Xinliang David Li wrote: Why the exception? This should only be used on the host, not the target. Sorry, I copied the boiler-plate header from i386.h -- is it wrong there too? tm.h gets included in target code because we haven't finished separating target macros used

Re: New parameters to control stringop expansion libcall strategy

2013-08-06 Thread Michael Zolotukhin
There are still some formatting issues (like 8 spaces instead of a tab, wrong indentation of do-loop and some other places) - to reveal some of them you could use contrib/check_GNU_style.sh script. But that was a nitpicking again:) Actually I wanted to ask whether you're going to use this option

Re: New parameters to control stringop expansion libcall strategy

2013-08-06 Thread Jan Hubicka
2013-08-02 Xinliang David Li davi...@google.com * config/i386/stringop.def: New file. * config/i386/stringop.opt: New file. * config/i386/i386-opts.h: Include stringopt.def. * config/i386/i386.opt: Include stringopt.opt. * config/i386/i386.c

Re: New parameters to control stringop expansion libcall strategy

2013-08-06 Thread Xinliang David Li
On Tue, Aug 6, 2013 at 2:42 AM, Jan Hubicka hubi...@ucw.cz wrote: 2013-08-02 Xinliang David Li davi...@google.com * config/i386/stringop.def: New file. * config/i386/stringop.opt: New file. * config/i386/i386-opts.h: Include stringopt.def. *

Re: New parameters to control stringop expansion libcall strategy

2013-08-06 Thread Xinliang David Li
Corrected two small problems reported by the style checker (The warnings about the EnumValue for options in stringopt.opt are not valid). On Tue, Aug 6, 2013 at 1:46 AM, Michael Zolotukhin michael.v.zolotuk...@gmail.com wrote: There are still some formatting issues (like 8 spaces instead of a

Re: New parameters to control stringop expansion libcall strategy

2013-08-06 Thread Xinliang David Li
Forgot the patch. David On Tue, Aug 6, 2013 at 9:42 AM, Xinliang David Li davi...@google.com wrote: Corrected two small problems reported by the style checker (The warnings about the EnumValue for options in stringopt.opt are not valid). On Tue, Aug 6, 2013 at 1:46 AM, Michael Zolotukhin

Re: New parameters to control stringop expansion libcall strategy

2013-08-05 Thread Michael V. Zolotukhin
Hi, This is a really convenient option, thanks for working on it. I can't approve it as I'm not a maintainer, but it looks ok to me, except fot a small nitpicking: afair, comments should end with dot-space-space. Michael On 04 Aug 20:01, Xinliang David Li wrote: The attached is a new patch

Re: New parameters to control stringop expansion libcall strategy

2013-08-05 Thread Xinliang David Li
thanks. Updated patch attached. David On Mon, Aug 5, 2013 at 3:57 AM, Michael V. Zolotukhin michael.v.zolotuk...@gmail.com wrote: Hi, This is a really convenient option, thanks for working on it. I can't approve it as I'm not a maintainer, but it looks ok to me, except fot a small

Re: New parameters to control stringop expansion libcall strategy

2013-08-04 Thread Xinliang David Li
The attached is a new patch implementing the stringop inline strategy control using two new -m options: -mmemcpy-strategy= -mmemset-strategy= See changes in doc/invoke.texi for description of the new options. Example:

Backend specific params.def? (Was Re: New parameters to control stringop expansion libcall strategy)

2013-08-03 Thread Jan Hubicka
On x86_64, when the expected size of memcpy/memset is known (e.g, with FDO), libcall strategy is used with the size is 8192. This value is hard coded, which makes it hard to do performance tuning. This patch adds two new parameters to do that. Potential usage includes per-application libcall

Re: Backend specific params.def? (Was Re: New parameters to control stringop expansion libcall strategy)

2013-08-03 Thread Xinliang David Li
On Sat, Aug 3, 2013 at 1:06 AM, Jan Hubicka hubi...@ucw.cz wrote: On x86_64, when the expected size of memcpy/memset is known (e.g, with FDO), libcall strategy is used with the size is 8192. This value is hard coded, which makes it hard to do performance tuning. This patch adds two new