From: yroux Date: Thu, 12 Jun 2014 11:05:18 +0000 (+0000) Subject: 2014-05-23 Yvan Roux X-Git-Tag: upstream/4.9.2.0~227 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=09af7066312fd6df088b9bdf67068620ddfd6439;p=platform%2Fupstream%2Fgcc49.git 2014-05-23 Yvan Roux Backport from trunk r209627, 209636. 2014-04-22 Renlin Jiong Wang * config/aarch64/aarch64.h (aarch64_frame): Delete "fp_lr_offset". * config/aarch64/aarch64.c (aarch64_layout_frame) (aarch64_initial_elimination_offset): Likewise. 2014-04-22 Marcus Shawcroft * config/aarch64/aarch64.c (aarch64_initial_elimination_offset): Fix indentation. git-svn-id: svn://gcc.gnu.org/svn/gcc/branches/linaro/gcc-4_9-branch@211512 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog.linaro b/gcc/ChangeLog.linaro index 5ed85f6..c8cb107 100644 --- a/gcc/ChangeLog.linaro +++ b/gcc/ChangeLog.linaro @@ -1,5 +1,20 @@ 2014-05-23 Yvan Roux + Backport from trunk r209627, 209636. + 2014-04-22 Renlin + Jiong Wang + + * config/aarch64/aarch64.h (aarch64_frame): Delete "fp_lr_offset". + * config/aarch64/aarch64.c (aarch64_layout_frame) + (aarch64_initial_elimination_offset): Likewise. + + 2014-04-22 Marcus Shawcroft + + * config/aarch64/aarch64.c (aarch64_initial_elimination_offset): + Fix indentation. + +2014-05-23 Yvan Roux + Backport from trunk r209618. 2014-04-22 Renlin Li diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c index 10793dd..51a8a7d 100644 --- a/gcc/config/aarch64/aarch64.c +++ b/gcc/config/aarch64/aarch64.c @@ -1713,8 +1713,6 @@ aarch64_layout_frame (void) if (reload_completed && cfun->machine->frame.laid_out) return; - cfun->machine->frame.fp_lr_offset = 0; - /* First mark all the registers that really need to be saved... */ for (regno = R0_REGNUM; regno <= R30_REGNUM; regno++) cfun->machine->frame.reg_offset[regno] = -1; @@ -1764,14 +1762,12 @@ aarch64_layout_frame (void) { cfun->machine->frame.reg_offset[R29_REGNUM] = offset; offset += UNITS_PER_WORD; - cfun->machine->frame.fp_lr_offset = UNITS_PER_WORD; } if (cfun->machine->frame.reg_offset[R30_REGNUM] != -1) { cfun->machine->frame.reg_offset[R30_REGNUM] = offset; offset += UNITS_PER_WORD; - cfun->machine->frame.fp_lr_offset += UNITS_PER_WORD; } cfun->machine->frame.padding0 = @@ -4147,32 +4143,31 @@ aarch64_initial_elimination_offset (unsigned from, unsigned to) + crtl->outgoing_args_size + cfun->machine->saved_varargs_size); - frame_size = AARCH64_ROUND_UP (frame_size, STACK_BOUNDARY / BITS_PER_UNIT); - offset = frame_size; + frame_size = AARCH64_ROUND_UP (frame_size, STACK_BOUNDARY / BITS_PER_UNIT); + offset = frame_size; - if (to == HARD_FRAME_POINTER_REGNUM) - { - if (from == ARG_POINTER_REGNUM) - return offset - crtl->outgoing_args_size; + if (to == HARD_FRAME_POINTER_REGNUM) + { + if (from == ARG_POINTER_REGNUM) + return offset - crtl->outgoing_args_size; - if (from == FRAME_POINTER_REGNUM) - return cfun->machine->frame.saved_regs_size + get_frame_size (); - } + if (from == FRAME_POINTER_REGNUM) + return cfun->machine->frame.saved_regs_size + get_frame_size (); + } - if (to == STACK_POINTER_REGNUM) - { - if (from == FRAME_POINTER_REGNUM) - { - 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; - } - } + if (to == STACK_POINTER_REGNUM) + { + if (from == FRAME_POINTER_REGNUM) + { + HOST_WIDE_INT elim = crtl->outgoing_args_size + + cfun->machine->frame.saved_regs_size + + get_frame_size (); + elim = AARCH64_ROUND_UP (elim, STACK_BOUNDARY / BITS_PER_UNIT); + return elim; + } + } - return offset; + return offset; } diff --git a/gcc/config/aarch64/aarch64.h b/gcc/config/aarch64/aarch64.h index 2fd6df4..e2b6c8e 100644 --- a/gcc/config/aarch64/aarch64.h +++ b/gcc/config/aarch64/aarch64.h @@ -520,7 +520,6 @@ struct GTY (()) aarch64_frame been saved. */ HOST_WIDE_INT padding0; HOST_WIDE_INT hardfp_offset; /* HARD_FRAME_POINTER_REGNUM */ - HOST_WIDE_INT fp_lr_offset; /* Space needed for saving fp and/or lr */ bool laid_out; };