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