* defaults.h (CAN_ELIMINATE): Provide default.
authoraesok <aesok@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 24 Jun 2009 21:16:25 +0000 (21:16 +0000)
committeraesok <aesok@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 24 Jun 2009 21:16:25 +0000 (21:16 +0000)
* 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

14 files changed:
gcc/ChangeLog
gcc/config/alpha/alpha.h
gcc/config/cris/cris.h
gcc/config/m32c/m32c.h
gcc/config/mmix/mmix.h
gcc/config/mn10300/mn10300.h
gcc/config/moxie/moxie.h
gcc/config/pa/pa-linux.h
gcc/config/pa/pa64-linux.h
gcc/config/picochip/picochip.h
gcc/config/spu/spu.h
gcc/config/xtensa/xtensa.h
gcc/defaults.h
gcc/doc/tm.texi

index 31e6a60..27d436c 100644 (file)
@@ -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.
index 3bfbd50..5b74fe1 100644 (file)
@@ -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)
 
index 47936d6..d908cfb 100644 (file)
@@ -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)
 
index 5c31305..691bc99 100644 (file)
@@ -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)
 
index fb3d301..03a747f 100644 (file)
@@ -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)
 
index 77be996..7d15e05 100644 (file)
@@ -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)
 
index 73a1a51..cbe8eed 100644 (file)
@@ -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
index 8af089a..f698f3f 100644 (file)
@@ -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.
index 3e0a30f..174d7c5 100644 (file)
@@ -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
index 0440001..c08b89d 100644 (file)
@@ -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);
 
index f994f37..6b56a45 100644 (file)
@@ -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)))
 
index ec5dde1..120ae75 100644 (file)
@@ -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 {                                                                 \
index a4b870e..0db07a9 100644 (file)
@@ -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).  */
index bc15583..a2c7562 100644 (file)
@@ -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})