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:
parent
4dffef52e8
commit
cfb773f910
@ -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'.
|
||||
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user