vax.h (ELIMINABLE_REGS): Define.
authorBernd Edlinger <bernd.edlinger@hotmail.de>
Tue, 20 Sep 2016 15:28:02 +0000 (15:28 +0000)
committerBernd Edlinger <edlinger@gcc.gnu.org>
Tue, 20 Sep 2016 15:28:02 +0000 (15:28 +0000)
2016-09-20  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * config/var/vax.h (ELIMINABLE_REGS): Define.
        (INITIAL_ELIMINATION_OFFSET): Define.

From-SVN: r240269

gcc/ChangeLog
gcc/config/vax/vax.h

index fbc0724..73a439e 100644 (file)
@@ -1,3 +1,8 @@
+2016-09-20  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+       * config/var/vax.h (ELIMINABLE_REGS): Define.
+       (INITIAL_ELIMINATION_OFFSET): Define.
+
 2016-09-20  Jakub Jelinek  <jakub@redhat.com>
 
        PR middle-end/77624
index 77d9e7f..427c352 100644 (file)
@@ -333,6 +333,16 @@ enum reg_class { NO_REGS, ALL_REGS, LIM_REG_CLASSES };
     }                                                          \
   while (0)
 
+/* This macro specifies a table of register pairs used to eliminate
+   unneeded registers that point into the stack frame.  */
+#define ELIMINABLE_REGS {{FRAME_POINTER_REGNUM, STACK_POINTER_REGNUM}}
+
+/* On the VAX, FRAME_POINTER_REQUIRED is always 1, so the definition of this
+   macro doesn't matter for register eliminations, but it should still
+   give realistic data for rtx_addr_can_trap_p.  */
+#define INITIAL_ELIMINATION_OFFSET(FROM, TO, OFFSET) \
+  ((OFFSET) = get_frame_size ())
+
 /* EXIT_IGNORE_STACK should be nonzero if, when returning from a function,
    the stack pointer does not matter.  The value is tested only in
    functions that have frame pointers.