* config/mips/mips.h (CAN_ELIMINATE): Don't eliminate rap to $fp
authoraoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 17 Mar 2002 00:02:30 +0000 (00:02 +0000)
committeraoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 17 Mar 2002 00:02:30 +0000 (00:02 +0000)
(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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@50899 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/mips/mips.h

index cf1b7bd..e7c4efa 100644 (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'.
 
index 644592d..d72e851 100644 (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