aarch64.h (FRAME_GROWS_DOWNWARD): Define to 1.
2013-11-13 Christophe Lyon <christophe.lyon@linaro.org> * config/aarch64/aarch64.h (FRAME_GROWS_DOWNWARD): Define to 1. * config/aarch64/aarch64.c (aarch64_initial_elimination_offset): Update offset calculations. From-SVN: r204737
This commit is contained in:
parent
bed36869f0
commit
6991c9774a
|
@ -1,3 +1,9 @@
|
|||
2013-11-13 Christophe Lyon <christophe.lyon@linaro.org>
|
||||
|
||||
* config/aarch64/aarch64.h (FRAME_GROWS_DOWNWARD): Define to 1.
|
||||
* config/aarch64/aarch64.c (aarch64_initial_elimination_offset):
|
||||
Update offset calculations.
|
||||
|
||||
2013-11-13 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
PR ada/35998
|
||||
|
|
|
@ -2010,7 +2010,7 @@ aarch64_save_or_restore_callee_save_registers (HOST_WIDE_INT offset,
|
|||
Establish the stack frame by decreasing the stack pointer with a
|
||||
properly calculated size and, if necessary, create a frame record
|
||||
filled with the values of LR and previous frame pointer. The
|
||||
current FP is also set up is it is in use. */
|
||||
current FP is also set up if it is in use. */
|
||||
|
||||
void
|
||||
aarch64_expand_prologue (void)
|
||||
|
@ -4143,7 +4143,7 @@ aarch64_initial_elimination_offset (unsigned from, unsigned to)
|
|||
return offset - crtl->outgoing_args_size;
|
||||
|
||||
if (from == FRAME_POINTER_REGNUM)
|
||||
return cfun->machine->frame.saved_regs_size;
|
||||
return cfun->machine->frame.saved_regs_size + get_frame_size ();
|
||||
}
|
||||
|
||||
if (to == STACK_POINTER_REGNUM)
|
||||
|
@ -4152,6 +4152,7 @@ aarch64_initial_elimination_offset (unsigned from, unsigned to)
|
|||
{
|
||||
HOST_WIDE_INT elim = crtl->outgoing_args_size
|
||||
+ cfun->machine->frame.saved_regs_size
|
||||
+ get_frame_size ()
|
||||
- cfun->machine->frame.fp_lr_offset;
|
||||
elim = AARCH64_ROUND_UP (elim, STACK_BOUNDARY / BITS_PER_UNIT);
|
||||
return elim;
|
||||
|
|
|
@ -443,7 +443,7 @@ enum reg_class
|
|||
#define INDEX_REG_CLASS CORE_REGS
|
||||
#define BASE_REG_CLASS POINTER_REGS
|
||||
|
||||
/* Register pairs used to eliminate unneeded registers that point intoi
|
||||
/* Register pairs used to eliminate unneeded registers that point into
|
||||
the stack frame. */
|
||||
#define ELIMINABLE_REGS \
|
||||
{ \
|
||||
|
@ -484,7 +484,7 @@ extern enum aarch64_processor aarch64_tune;
|
|||
/* Stack layout; function entry, exit and calling. */
|
||||
#define STACK_GROWS_DOWNWARD 1
|
||||
|
||||
#define FRAME_GROWS_DOWNWARD 0
|
||||
#define FRAME_GROWS_DOWNWARD 1
|
||||
|
||||
#define STARTING_FRAME_OFFSET 0
|
||||
|
||||
|
|
Loading…
Reference in New Issue