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: Convert inliner to new param infrastructure


Hi Jan,

> This patch adds opt_for_fn for all cross module params used by inliner
> so they can be modified at function granuality.  With inlining almost always
> there are three functions to consider (callee and caller of the inlined edge
> and the outer function caller is inlined to).
>
> I always use the outer function params since that is how local parameters
> behave.  I hope it is kind of what is also expected in most case: it is better
> to inline agressively into -O3 compiled code rather than inline agressively -O3
> functions into their callers.
>
> New params infrastructure is nice.  One drawback is that is very hard to
> search for individual param uses since they all occupy global namespace.
> With C++ world we had chance to do something like params.param_flag_name
> or params::param_flag_name instead...
>
> Bootstrapped/regtested x86_64-linux, comitted.

this patch introduced a regression (everywhere, it seems):

+FAIL: gcc.dg/winline-3.c  (test for warnings, line 5)
+FAIL: gcc.dg/winline-3.c (test for excess errors)

Excess errors:
/vol/gcc/src/hg/trunk/local/gcc/testsuite/gcc.dg/winline-3.c:5:12: warning: inlining failed in call to 'q': --param max-inline-insns-auto limit reached [-Winline]

I suspect you just forgot to adapt the expected warning message
((...-single -> ...-auto)?

	Rainer

-- 
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University


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