Commit 3be639f7 by Anatoly Sokolov Committed by Anatoly Sokolov

defaults.h (CAN_ELIMINATE): Provide default.

	* 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
parent 70b28664
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.
......@@ -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)
......
/* 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)
......
......@@ -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)
......
/* 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)
......
......@@ -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)
......
......@@ -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
......
/* 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.
......
......@@ -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
......
......@@ -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);
......
......@@ -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)))
......
/* 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 { \
......
......@@ -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). */
......
......@@ -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})
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment