mips.h (CAN_ELIMINATE): Don't eliminate rap to $fp (s8), but rather HARD_FRAME_POINTER_REGNUM.

* config/mips/mips.h (CAN_ELIMINATE): Don't eliminate rap to $fp
(s8), but rather HARD_FRAME_POINTER_REGNUM.  Add parentheses
where appropriate.  Make the second reference to
leaf_function_p a function call, as intended.  Reindented.

From-SVN: r50899
This commit is contained in:
Alexandre Oliva 2002-03-17 00:02:30 +00:00 committed by Alexandre Oliva
parent 4dffef52e8
commit cfb773f910
2 changed files with 16 additions and 8 deletions

View File

@ -1,5 +1,10 @@
2002-03-16 Alexandre Oliva <aoliva@redhat.com>
* config/mips/mips.h (CAN_ELIMINATE): Don't eliminate rap to $fp
(s8), but rather HARD_FRAME_POINTER_REGNUM. Add parentheses
where appropriate. Make the second reference to
leaf_function_p a function call, as intended. Reindented.
* config/mips/mips.h (ISA_HAS_COND_TRAP): Not available on MIPS16.
* config/mips/mips.md (trap) [TARGET_MIPS16]: Emit `break 0'.

View File

@ -2509,14 +2509,17 @@ extern struct mips_frame_info current_frame_info;
*/
#define CAN_ELIMINATE(FROM, TO) \
(((FROM) == RETURN_ADDRESS_POINTER_REGNUM && (! leaf_function_p () \
|| (TO == GP_REG_FIRST + 31 && leaf_function_p))) \
|| ((FROM) != RETURN_ADDRESS_POINTER_REGNUM \
&& ((TO) == HARD_FRAME_POINTER_REGNUM \
|| ((TO) == STACK_POINTER_REGNUM && ! frame_pointer_needed \
&& ! (TARGET_MIPS16 && TARGET_64BIT) \
&& (! TARGET_MIPS16 \
|| compute_frame_size (get_frame_size ()) < 32768)))))
(((FROM) == RETURN_ADDRESS_POINTER_REGNUM \
&& ((! leaf_function_p () \
&& ((TO) == STACK_POINTER_REGNUM \
|| (TO) == HARD_FRAME_POINTER_REGNUM)) \
|| ((TO) == GP_REG_FIRST + 31 && leaf_function_p ()))) \
|| ((FROM) != RETURN_ADDRESS_POINTER_REGNUM \
&& ((TO) == HARD_FRAME_POINTER_REGNUM \
|| ((TO) == STACK_POINTER_REGNUM && ! frame_pointer_needed \
&& ! (TARGET_MIPS16 && TARGET_64BIT) \
&& (! TARGET_MIPS16 \
|| compute_frame_size (get_frame_size ()) < 32768)))))
/* This macro is similar to `INITIAL_FRAME_POINTER_OFFSET'. It
specifies the initial difference between the specified pair of