From 978fc7d446e520481934ea675f006b88043c8d24 Mon Sep 17 00:00:00 2001 From: Bernd Edlinger Date: Tue, 20 Sep 2016 15:28:02 +0000 Subject: [PATCH] vax.h (ELIMINABLE_REGS): Define. 2016-09-20 Bernd Edlinger * config/var/vax.h (ELIMINABLE_REGS): Define. (INITIAL_ELIMINATION_OFFSET): Define. From-SVN: r240269 --- gcc/ChangeLog | 5 +++++ gcc/config/vax/vax.h | 10 ++++++++++ 2 files changed, 15 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index fbc0724fc2b..73a439e3233 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2016-09-20 Bernd Edlinger + + * config/var/vax.h (ELIMINABLE_REGS): Define. + (INITIAL_ELIMINATION_OFFSET): Define. + 2016-09-20 Jakub Jelinek PR middle-end/77624 diff --git a/gcc/config/vax/vax.h b/gcc/config/vax/vax.h index 77d9e7f0729..427c352bc22 100644 --- a/gcc/config/vax/vax.h +++ b/gcc/config/vax/vax.h @@ -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. -- 2.30.2