On 18/08/14 15:48, Kito Cheng wrote: > Hi all: > > This patch clean up CALLER_SAVE_PROFITABLE marco include doc since > seem nobody use it. > > Bootstrap and regression testing running on x86_64-unknown-linux-gnu :) > > ChangLog > 2014-08-18 Kito Cheng <k...@0xlab.org> > > * doc/tm.texi.in (CALLER_SAVE_PROFITABLE): Remove. > * gcc/doc/tm.texi: Regenerate. > * gcc/regs.h (CALLER_SAVE_PROFITABLE): Remove. > >
Hmm, I'm not sure about this. It might not be used at present, but on AArch64, with more call-clobbered registers than call-saved registers, I would expect this ought to be a win. The fact that it isn't on today may say more about the way it works than the concept that it's the wrong thing to do in principle. R. > 0001-Remove-CALLER_SAVE_PROFITABLE-since-nobody-use-it-no.patch > > > From c8aeb654e6eaaeb07a1cde9a83a6340a901a4d3c Mon Sep 17 00:00:00 2001 > From: Kito Cheng <k...@0xlab.org> > Date: Mon, 18 Aug 2014 22:09:22 +0800 > Subject: [PATCH] Remove CALLER_SAVE_PROFITABLE since nobody use it now. > > --- > gcc/doc/tm.texi | 10 ---------- > gcc/doc/tm.texi.in | 10 ---------- > gcc/regs.h | 8 -------- > 3 files changed, 28 deletions(-) > > diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi > index 9dd8d68..4d6492b 100644 > --- a/gcc/doc/tm.texi > +++ b/gcc/doc/tm.texi > @@ -4528,16 +4528,6 @@ If you enable it, GCC can save registers around > function calls. This > makes it possible to use call-clobbered registers to hold variables that > must live across calls. > > -@defmac CALLER_SAVE_PROFITABLE (@var{refs}, @var{calls}) > -A C expression to determine whether it is worthwhile to consider placing > -a pseudo-register in a call-clobbered hard register and saving and > -restoring it around each function call. The expression should be 1 when > -this is worth doing, and 0 otherwise. > - > -If you don't define this macro, a default is used which is good on most > -machines: @code{4 * @var{calls} < @var{refs}}. > -@end defmac > - > @defmac HARD_REGNO_CALLER_SAVE_MODE (@var{regno}, @var{nregs}) > A C expression specifying which mode is required for saving @var{nregs} > of a pseudo-register in call-clobbered hard register @var{regno}. If > diff --git a/gcc/doc/tm.texi.in b/gcc/doc/tm.texi.in > index dd72b98..7a63353 100644 > --- a/gcc/doc/tm.texi.in > +++ b/gcc/doc/tm.texi.in > @@ -3683,16 +3683,6 @@ If you enable it, GCC can save registers around > function calls. This > makes it possible to use call-clobbered registers to hold variables that > must live across calls. > > -@defmac CALLER_SAVE_PROFITABLE (@var{refs}, @var{calls}) > -A C expression to determine whether it is worthwhile to consider placing > -a pseudo-register in a call-clobbered hard register and saving and > -restoring it around each function call. The expression should be 1 when > -this is worth doing, and 0 otherwise. > - > -If you don't define this macro, a default is used which is good on most > -machines: @code{4 * @var{calls} < @var{refs}}. > -@end defmac > - > @defmac HARD_REGNO_CALLER_SAVE_MODE (@var{regno}, @var{nregs}) > A C expression specifying which mode is required for saving @var{nregs} > of a pseudo-register in call-clobbered hard register @var{regno}. If > diff --git a/gcc/regs.h b/gcc/regs.h > index be81db4..36e803d 100644 > --- a/gcc/regs.h > +++ b/gcc/regs.h > @@ -214,14 +214,6 @@ extern short *reg_renumber; > > extern int caller_save_needed; > > -/* Predicate to decide whether to give a hard reg to a pseudo which > - is referenced REFS times and would need to be saved and restored > - around a call CALLS times. */ > - > -#ifndef CALLER_SAVE_PROFITABLE > -#define CALLER_SAVE_PROFITABLE(REFS, CALLS) (4 * (CALLS) < (REFS)) > -#endif > - > /* Select a register mode required for caller save of hard regno REGNO. */ > #ifndef HARD_REGNO_CALLER_SAVE_MODE > #define HARD_REGNO_CALLER_SAVE_MODE(REGNO, NREGS, MODE) \ >