Re: -O2 inliner retuning 3/n: make inline hints more systematic

2019-10-04 Thread Jan Hubicka
Hi, this is fix I commit as obvious. Index: ipa-inline.c === --- ipa-inline.c(revision 276564) +++ ipa-inline.c(working copy) @@ -396,7 +396,7 @@ can_inline_edge_p (struct cgraph_edge *e static int inline_insns_singl

Re: -O2 inliner retuning 3/n: make inline hints more systematic

2019-10-04 Thread Jan Hubicka
> On Fri, 4 Oct 2019, Jan Hubicka wrote: > > > > I don't really understand the purpose of having 2 params where one is used > > > for -O2 and the other for -O3 (I didn't check -Os), instead of a single > > > param whose default value depends on -On (what we had before?). Is it so > > > that we can

Re: -O2 inliner retuning 3/n: make inline hints more systematic

2019-10-04 Thread Marc Glisse
On Fri, 4 Oct 2019, Jan Hubicka wrote: I don't really understand the purpose of having 2 params where one is used for -O2 and the other for -O3 (I didn't check -Os), instead of a single param whose default value depends on -On (what we had before?). Is it so that we can more easily mix some func

Re: -O2 inliner retuning 3/n: make inline hints more systematic

2019-10-04 Thread Jan Hubicka
> On Thu, 3 Oct 2019, Jan Hubicka wrote: > > > -/* Return inlining_insns_single limit for function N */ > > +/* Return inlining_insns_single limit for function N. If HINT is true > > + scale up the bound. */ > > > > static int > > -inline_insns_single (cgraph_node *n) > > +inline_insns_single

Re: -O2 inliner retuning 3/n: make inline hints more systematic

2019-10-04 Thread Marc Glisse
On Thu, 3 Oct 2019, Jan Hubicka wrote: -/* Return inlining_insns_single limit for function N */ +/* Return inlining_insns_single limit for function N. If HINT is true + scale up the bound. */ static int -inline_insns_single (cgraph_node *n) +inline_insns_single (cgraph_node *n, bool hint) {

Re: -O2 inliner retuning 3/n: make inline hints more systematic

2019-10-03 Thread Jan Hubicka
2 @@ want_inline_small_function_p (struct cgr want_inline = false; } /* Do fast and conservative check if the function can be good - inline candidate. At the moment we allow inline hints to - promote non-inline functions to inline and we increase - MAX_INLINE_INSNS_SINGLE 16-fold

Re: -O2 inliner retuning 3/n: make inline hints more systematic

2019-10-03 Thread David Malcolm
On Thu, 2019-10-03 at 17:29 +0200, Jan Hubicka wrote: [...] > In this patch I however untangle it from the hinting mechanism. > [...] > Bootstrapped/regtested x86_64-linux. If I'm reading this right it looks like the patch is missing. Dave

-O2 inliner retuning 3/n: make inline hints more systematic

2019-10-03 Thread Jan Hubicka
single limit (6 times) It seems twe want to take those auto-generated inline hints less agressively at -O2 and bumping auto to single makes it hard to get consistent results. For this reason I added new parameter that sets the scale applied currently set to 200% for O2 and 1600% otherwise

Re: Inline hints

2012-08-29 Thread Martin Jambor
Hi, On Tue, Aug 28, 2012 at 06:05:27PM +0200, Jan Hubicka wrote: > > On Sun, Aug 19, 2012 at 07:43:45AM +0200, Jan Hubicka wrote: > > > > > > * gcc.dg/ipa/iinline-1.c: Update testcase to test inline hints. > > > > > > * ipa-inline.c (want_inlin

Re: Inline hints

2012-08-28 Thread Jan Hubicka
> Hi, > > On Sun, Aug 19, 2012 at 07:43:45AM +0200, Jan Hubicka wrote: > > > > * gcc.dg/ipa/iinline-1.c: Update testcase to test inline hints. > > > > * ipa-inline.c (want_inline_small_function_p): Bypass > > inline limits for hinted functi

Re: Inline hints

2012-08-27 Thread Martin Jambor
Hi, On Sun, Aug 19, 2012 at 07:43:45AM +0200, Jan Hubicka wrote: > > * gcc.dg/ipa/iinline-1.c: Update testcase to test inline hints. > > * ipa-inline.c (want_inline_small_function_p): Bypass > inline limits for hinted functions. > (edge_ba

Inline hints

2012-08-18 Thread Jan Hubicka
Hi, this patch implements infrastructure for inline hints. They provide way to pass info down from inline-analysis to the inline heuristic implementation that does not fit the current size/time model. Inline hints are simple bitmask of individual hints that are interprested by the heuristics