This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
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