This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH][C++] Remove auto_var_in_fn langhook


On Tue, Aug 21, 2007 at 11:46:39AM +0200, Richard Guenther wrote:
> I didn't see this failure with the original testing.  This is caused by
> the disregard_inline_limits langhook removal where I changed the C 
> frontend to not disregard inline limits for extern inline functions.
> For -Os heuristics now decide that it is not profitable to inline this
> function.  As extern inline with gnu semantics says that there is an
> extern instance of this function we get a link time error for this
> testcase at -Os.
> 
> Considering foo with 23 insns
>  to be inlined into main
>  Estimated growth after inlined into all callees is +5 insns.
>  Estimated badness is 17, frequency 1.00.
>  inline_failed:call is unlikely.
> 
> (16 of the cost is because of our atm artificially high call cost
> which is accounted to the call to undef(), the rest is the single
> addition and the 3 conditionals with their comparisons)
> 
> I suppose we should disable the test for -Os or wait for the inliner
> tunings (we have another PR about the high call cost, experiments showed
> 8 is a more reasonable value which would fix this testcase as well, but
> the tuning waits for the early DSE work).

Guess
-#ifdef __OPTIMIZE__
+#if defined __OPTIMIZE__ && !defined __OPTIMIZE_SIZE__
could be used for now with a comment, better than adding *.x
and doing tcl hacks in it.

	Jakub


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]