sparc.h (CAN_ELMINIATE): Can only eliminate FP in favor of SP if FRAME_POINTER_REQUIRED is false.

* config/sparc/sparc.h (CAN_ELMINIATE): Can only eliminate FP
	in favor of SP if FRAME_POINTER_REQUIRED is false.

From-SVN: r51032
This commit is contained in:
Richard Kenner 2002-03-19 19:33:42 +00:00 committed by Richard Kenner
parent 2496c7bd5f
commit 91d4b3fd9a
2 changed files with 11 additions and 1 deletions

View File

@ -1,3 +1,8 @@
Tue Mar 19 14:12:32 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* config/sparc/sparc.h (CAN_ELMINIATE): Can only eliminate FP
in favor of SP if FRAME_POINTER_REQUIRED is false.
2002-03-19 Lars Brinkhoff <lars@nocrew.org>
* emit-rtl.c (gen_int_mode): New function.

View File

@ -1570,7 +1570,12 @@ extern const char leaf_reg_remap[];
{{ FRAME_POINTER_REGNUM, STACK_POINTER_REGNUM}, \
{ FRAME_POINTER_REGNUM, HARD_FRAME_POINTER_REGNUM} }
#define CAN_ELIMINATE(FROM, TO) 1
/* The way this is structured, we can't eliminate SFP in favor of SP
if the frame pointer is required: we want to use the SFP->HFP elimination
in that case. But the test in update_eliminables doesn't know we are
assuming below that we only do the former elimination. */
#define CAN_ELIMINATE(FROM, TO) \
((TO) == HARD_FRAME_POINTER_REGNUM || !FRAME_POINTER_REQUIRED)
#define INITIAL_ELIMINATION_OFFSET(FROM, TO, OFFSET) \
do { \