This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Convert inliner to new param infrastructure
- From: Rainer Orth <ro at CeBiTec dot Uni-Bielefeld dot DE>
- To: Jan Hubicka <hubicka at ucw dot cz>
- Cc: gcc-patches at gcc dot gnu dot org, mliska at suse dot cz
- Date: Sun, 24 Nov 2019 17:37:45 +0100
- Subject: Re: Convert inliner to new param infrastructure
- References: <20191123131220.ivtblcgtwstd6gyr@kam.mff.cuni.cz>
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