* 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.
From-SVN: r148919
+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.
/* 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.
{ 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)
/* 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.
{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)
{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)
/* 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)
{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)
{ 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)
{ 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
/* 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.
{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
{{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);
{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)))
/* 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.
{ 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 { \
#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). */
@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})