From: aesok Date: Wed, 24 Jun 2009 21:16:25 +0000 (+0000) Subject: * defaults.h (CAN_ELIMINATE): Provide default. X-Git-Tag: upstream/4.9.2~35226 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=0e841940ebe4b02c16a2dccbed51d3445263a98a;p=platform%2Fupstream%2Flinaro-gcc.git * defaults.h (CAN_ELIMINATE): Provide default. * doc/tm.texi (CAN_ELIMINATE): Revise documentation. * config/alpha/alpha.h (CAN_ELIMINATE): Delete. * config/m32c/m32c.h (CAN_ELIMINATE): Delete. * config/spu/spu.h (CAN_ELIMINATE): Delete. * config/xtensa/xtensa.h (CAN_ELIMINATE): Delete. * config/moxie/moxie.h (CAN_ELIMINATE): Delete. * config/cris/cris.h (CAN_ELIMINATE): Delete. * config/mn10300/mn10300.h (CAN_ELIMINATE): Delete. * config/pa/pa64-linux.h (CAN_ELIMINATE): Delete. * config/mmix/mmix.h (CAN_ELIMINATE): Delete. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@148919 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 31e6a60..27d436c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,17 @@ +2009-06-24 Anatoly Sokolov + + * defaults.h (CAN_ELIMINATE): Provide default. + * doc/tm.texi (CAN_ELIMINATE): Revise documentation. + * config/alpha/alpha.h (CAN_ELIMINATE): Delete. + * config/m32c/m32c.h (CAN_ELIMINATE): Delete. + * config/spu/spu.h (CAN_ELIMINATE): Delete. + * config/xtensa/xtensa.h (CAN_ELIMINATE): Delete. + * config/moxie/moxie.h (CAN_ELIMINATE): Delete. + * config/cris/cris.h (CAN_ELIMINATE): Delete. + * config/mn10300/mn10300.h (CAN_ELIMINATE): Delete. + * config/pa/pa64-linux.h (CAN_ELIMINATE): Delete. + * config/mmix/mmix.h (CAN_ELIMINATE): Delete. + 2009-06-24 DJ Delorie * mep-ext-cop.cpu: Fix copyright notice. diff --git a/gcc/config/alpha/alpha.h b/gcc/config/alpha/alpha.h index 3bfbd50..5b74fe1 100644 --- a/gcc/config/alpha/alpha.h +++ b/gcc/config/alpha/alpha.h @@ -1,6 +1,7 @@ /* Definitions of target machine for GNU compiler, for DEC Alpha. Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, - 2000, 2001, 2002, 2004, 2005, 2007, 2008 Free Software Foundation, Inc. + 2000, 2001, 2002, 2004, 2005, 2007, 2008, 2009 + Free Software Foundation, Inc. Contributed by Richard Kenner (kenner@vlsi1.ultra.nyu.edu) This file is part of GCC. @@ -690,14 +691,6 @@ extern int alpha_memory_latency; { FRAME_POINTER_REGNUM, STACK_POINTER_REGNUM}, \ { FRAME_POINTER_REGNUM, HARD_FRAME_POINTER_REGNUM}} -/* Given FROM and TO register numbers, say whether this elimination is allowed. - Frame pointer elimination is automatically handled. - - All eliminations are valid since the cases where FP can't be - eliminated are already handled. */ - -#define CAN_ELIMINATE(FROM, TO) 1 - /* Round up to a multiple of 16 bytes. */ #define ALPHA_ROUND(X) (((X) + 15) & ~ 15) diff --git a/gcc/config/cris/cris.h b/gcc/config/cris/cris.h index 47936d6..d908cfb 100644 --- a/gcc/config/cris/cris.h +++ b/gcc/config/cris/cris.h @@ -1,6 +1,6 @@ /* Definitions for GCC. Part of the machine description for CRIS. - Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008 - Free Software Foundation, Inc. + Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008, + 2009 Free Software Foundation, Inc. Contributed by Axis Communications. Written by Hans-Peter Nilsson. This file is part of GCC. @@ -860,10 +860,6 @@ enum reg_class {ARG_POINTER_REGNUM, FRAME_POINTER_REGNUM}, \ {FRAME_POINTER_REGNUM, STACK_POINTER_REGNUM}} -/* We need not worry about when the frame-pointer is required for other - reasons. */ -#define CAN_ELIMINATE(FROM, TO) 1 - #define INITIAL_ELIMINATION_OFFSET(FROM, TO, OFFSET) \ (OFFSET) = cris_initial_elimination_offset (FROM, TO) diff --git a/gcc/config/m32c/m32c.h b/gcc/config/m32c/m32c.h index 5c31305..691bc994 100644 --- a/gcc/config/m32c/m32c.h +++ b/gcc/config/m32c/m32c.h @@ -498,7 +498,6 @@ enum reg_class {AP_REGNO, FB_REGNO}, \ {FB_REGNO, SP_REGNO}} -#define CAN_ELIMINATE(FROM,TO) 1 #define INITIAL_ELIMINATION_OFFSET(FROM,TO,VAR) \ (VAR) = m32c_initial_elimination_offset(FROM,TO) diff --git a/gcc/config/mmix/mmix.h b/gcc/config/mmix/mmix.h index fb3d301..03a747f 100644 --- a/gcc/config/mmix/mmix.h +++ b/gcc/config/mmix/mmix.h @@ -1,5 +1,5 @@ /* Definitions of target machine for GNU compiler, for MMIX. - Copyright (C) 2000, 2001, 2002, 2004, 2005, 2007, 2008 + Copyright (C) 2000, 2001, 2002, 2004, 2005, 2007, 2008, 2009 Free Software Foundation, Inc. Contributed by Hans-Peter Nilsson (hp@bitrange.com) @@ -598,10 +598,6 @@ enum reg_class {ARG_POINTER_REGNUM, FRAME_POINTER_REGNUM}, \ {FRAME_POINTER_REGNUM, STACK_POINTER_REGNUM}} -/* We need not worry about when the frame-pointer is required for other - reasons; GCC takes care of those cases. */ -#define CAN_ELIMINATE(FROM, TO) 1 - #define INITIAL_ELIMINATION_OFFSET(FROM, TO, OFFSET) \ (OFFSET) = mmix_initial_elimination_offset (FROM, TO) diff --git a/gcc/config/mn10300/mn10300.h b/gcc/config/mn10300/mn10300.h index 77be996..7d15e05 100644 --- a/gcc/config/mn10300/mn10300.h +++ b/gcc/config/mn10300/mn10300.h @@ -484,8 +484,6 @@ enum reg_class { { ARG_POINTER_REGNUM, FRAME_POINTER_REGNUM}, \ { FRAME_POINTER_REGNUM, STACK_POINTER_REGNUM}} -#define CAN_ELIMINATE(FROM, TO) 1 - #define INITIAL_ELIMINATION_OFFSET(FROM, TO, OFFSET) \ OFFSET = initial_offset (FROM, TO) diff --git a/gcc/config/moxie/moxie.h b/gcc/config/moxie/moxie.h index 73a1a51..cbe8eed 100644 --- a/gcc/config/moxie/moxie.h +++ b/gcc/config/moxie/moxie.h @@ -460,14 +460,6 @@ do \ { ARG_POINTER_REGNUM, HARD_FRAME_POINTER_REGNUM }} #endif -/* A C expression that returns nonzero if the compiler is allowed to - try to replace register number FROM-REG with register number - TO-REG. This macro need only be defined if `ELIMINABLE_REGS' is - defined, and will usually be the constant 1, since most of the - cases preventing register elimination are things that the compiler - already knows about. */ -#define CAN_ELIMINATE(FROM, TO) 1 - /* This macro is similar to `INITIAL_FRAME_POINTER_OFFSET'. It specifies the initial difference between the specified pair of registers. This macro must be defined if `ELIMINABLE_REGS' is diff --git a/gcc/config/pa/pa-linux.h b/gcc/config/pa/pa-linux.h index 8af089a..f698f3f 100644 --- a/gcc/config/pa/pa-linux.h +++ b/gcc/config/pa/pa-linux.h @@ -1,5 +1,5 @@ /* Definitions for PA_RISC with ELF format - Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 + Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009 Free Software Foundation, Inc. This file is part of GCC. diff --git a/gcc/config/pa/pa64-linux.h b/gcc/config/pa/pa64-linux.h index 3e0a30f..174d7c5 100644 --- a/gcc/config/pa/pa64-linux.h +++ b/gcc/config/pa/pa64-linux.h @@ -28,12 +28,6 @@ along with GCC; see the file COPYING3. If not see {ARG_POINTER_REGNUM, FRAME_POINTER_REGNUM}, \ } -/* A C expression that returns nonzero if the compiler is allowed to try to - replace register number FROM with register number TO. The frame pointer - is automatically handled. */ - -#define CAN_ELIMINATE(FROM, TO) 1 - /* This macro is similar to `INITIAL_FRAME_POINTER_OFFSET'. It specifies the initial difference between the specified pair of registers. This macro must be defined if `ELIMINABLE_REGS' is diff --git a/gcc/config/picochip/picochip.h b/gcc/config/picochip/picochip.h index 0440001..c08b89d 100644 --- a/gcc/config/picochip/picochip.h +++ b/gcc/config/picochip/picochip.h @@ -413,8 +413,6 @@ extern const enum reg_class picochip_regno_reg_class[FIRST_PSEUDO_REGISTER]; {{ARG_POINTER_REGNUM, STACK_POINTER_REGNUM}, \ {FRAME_POINTER_REGNUM, STACK_POINTER_REGNUM}} -#define CAN_ELIMINATE(FROM, TO) 1 - #define INITIAL_ELIMINATION_OFFSET(FROM,TO,OFFSET) \ OFFSET = initial_elimination_offset(FROM, TO); diff --git a/gcc/config/spu/spu.h b/gcc/config/spu/spu.h index f994f37..6b56a45 100644 --- a/gcc/config/spu/spu.h +++ b/gcc/config/spu/spu.h @@ -320,8 +320,6 @@ targetm.resolve_overloaded_builtin = spu_resolve_overloaded_builtin; \ {FRAME_POINTER_REGNUM, STACK_POINTER_REGNUM}, \ {FRAME_POINTER_REGNUM, HARD_FRAME_POINTER_REGNUM}} -#define CAN_ELIMINATE(FROM,TO) 1 - #define INITIAL_ELIMINATION_OFFSET(FROM, TO, OFFSET) \ ((OFFSET) = spu_initial_elimination_offset((FROM),(TO))) diff --git a/gcc/config/xtensa/xtensa.h b/gcc/config/xtensa/xtensa.h index ec5dde1..120ae75 100644 --- a/gcc/config/xtensa/xtensa.h +++ b/gcc/config/xtensa/xtensa.h @@ -1,5 +1,5 @@ /* Definitions of Tensilica's Xtensa target machine for GNU compiler. - Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 + Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. Contributed by Bob Wilson (bwilson@tensilica.com) at Tensilica. @@ -530,8 +530,6 @@ extern const enum reg_class xtensa_regno_to_class[FIRST_PSEUDO_REGISTER]; { FRAME_POINTER_REGNUM, STACK_POINTER_REGNUM}, \ { FRAME_POINTER_REGNUM, HARD_FRAME_POINTER_REGNUM}} -#define CAN_ELIMINATE(FROM, TO) 1 - /* Specify the initial difference between the specified pair of registers. */ #define INITIAL_ELIMINATION_OFFSET(FROM, TO, OFFSET) \ do { \ diff --git a/gcc/defaults.h b/gcc/defaults.h index a4b870e..0db07a9 100644 --- a/gcc/defaults.h +++ b/gcc/defaults.h @@ -1143,6 +1143,10 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #define ATTRIBUTE_ALIGNED_VALUE BIGGEST_ALIGNMENT #endif +#ifndef CAN_ELIMINATE +#define CAN_ELIMINATE(FROM, TO) true +#endif + /* Many ports have no mode-dependent addresses (except possibly autoincrement and autodecrement addresses, which are handled by target-independent code in recog.c). */ diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi index bc15583..a2c7562 100644 --- a/gcc/doc/tm.texi +++ b/gcc/doc/tm.texi @@ -3804,12 +3804,14 @@ specified first since that is the preferred elimination. @end defmac @defmac CAN_ELIMINATE (@var{from-reg}, @var{to-reg}) -A C expression that returns nonzero if the compiler is allowed to try +A C expression that returns @code{true} if the compiler is allowed to try to replace register number @var{from-reg} with register number @var{to-reg}. This macro need only be defined if @code{ELIMINABLE_REGS} -is defined, and will usually be the constant 1, since most of the cases +is defined, and will usually be @code{true}, since most of the cases preventing register elimination are things that the compiler already knows about. + +Default value is @code{true}. @end defmac @defmac INITIAL_ELIMINATION_OFFSET (@var{from-reg}, @var{to-reg}, @var{offset-var})