diff options
| author | aesok <aesok@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-06-24 21:16:25 +0000 |
|---|---|---|
| committer | aesok <aesok@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-06-24 21:16:25 +0000 |
| commit | 0e841940ebe4b02c16a2dccbed51d3445263a98a (patch) | |
| tree | 90090f3f1cb712cc6f22a6eff65e39c9ba91686f | |
| parent | d3721b5737faa7650a2c017016a5a0bf251494dc (diff) | |
| download | ppe42-gcc-0e841940ebe4b02c16a2dccbed51d3445263a98a.tar.gz ppe42-gcc-0e841940ebe4b02c16a2dccbed51d3445263a98a.zip | |
* 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
| -rw-r--r-- | gcc/ChangeLog | 14 | ||||
| -rw-r--r-- | gcc/config/alpha/alpha.h | 11 | ||||
| -rw-r--r-- | gcc/config/cris/cris.h | 8 | ||||
| -rw-r--r-- | gcc/config/m32c/m32c.h | 1 | ||||
| -rw-r--r-- | gcc/config/mmix/mmix.h | 6 | ||||
| -rw-r--r-- | gcc/config/mn10300/mn10300.h | 2 | ||||
| -rw-r--r-- | gcc/config/moxie/moxie.h | 8 | ||||
| -rw-r--r-- | gcc/config/pa/pa-linux.h | 2 | ||||
| -rw-r--r-- | gcc/config/pa/pa64-linux.h | 6 | ||||
| -rw-r--r-- | gcc/config/picochip/picochip.h | 2 | ||||
| -rw-r--r-- | gcc/config/spu/spu.h | 2 | ||||
| -rw-r--r-- | gcc/config/xtensa/xtensa.h | 4 | ||||
| -rw-r--r-- | gcc/defaults.h | 4 | ||||
| -rw-r--r-- | gcc/doc/tm.texi | 6 |
14 files changed, 29 insertions, 47 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 31e6a60d7e0..27d436cf98f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,17 @@ +2009-06-24 Anatoly Sokolov <aesok@post.ru> + + * 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 <dj@redhat.com> * mep-ext-cop.cpu: Fix copyright notice. diff --git a/gcc/config/alpha/alpha.h b/gcc/config/alpha/alpha.h index 3bfbd50e89e..5b74fe1a886 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 47936d6e73e..d908cfbc124 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 5c3130534a4..691bc994ca5 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 fb3d3019b29..03a747f8cfe 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 77be9962907..7d15e05810b 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 73a1a5101e0..cbe8eed0f61 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 8af089a4dea..f698f3fbe42 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 3e0a30fc0bf..174d7c54dec 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 04400016da2..c08b89d67eb 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 f994f3709c1..6b56a4546fb 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 ec5dde1726c..120ae75da70 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 a4b870ef45f..0db07a9f18a 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 bc15583bfb0..a2c756261b2 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}) |

