From: Wilco Dijkstra Date: Fri, 3 Nov 2017 16:29:47 +0000 (+0000) Subject: re PR c++/82768 (ICE in synthesize_implicit_template_parm, at cp/parser.c:39338) X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=33a2e348a58a51101f0cce11f87ff693f09e0bea;p=gcc.git re PR c++/82768 (ICE in synthesize_implicit_template_parm, at cp/parser.c:39338) Fix PR82768 Forcing LR at the bottom of the frame caused a few test failures. Since there are some cases that generate worse code, revert this part, and the frame tests pass again. gcc/ PR target/82786 * config/aarch64/aarch64.c (aarch64_layout_frame): Undo forcing of LR at bottom of frame. From-SVN: r254384 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 2fc7db44f7b..949f3cb5a6f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2017-11-03 Wilco Dijkstra + + PR target/82786 + * config/aarch64/aarch64.c (aarch64_layout_frame): + Undo forcing of LR at bottom of frame. + 2017-11-03 Jeff Law * cfganal.c (single_pred_edge_ignoring_loop_edges): New function diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c index 1e12645cdd2..12f247d7c05 100644 --- a/gcc/config/aarch64/aarch64.c +++ b/gcc/config/aarch64/aarch64.c @@ -2908,8 +2908,7 @@ aarch64_frame_pointer_required (void) /* Mark the registers that need to be saved by the callee and calculate the size of the callee-saved registers area and frame record (both FP - and LR may be omitted). If the function is not a leaf, ensure LR is - saved at the bottom of the callee-save area. */ + and LR may be omitted). */ static void aarch64_layout_frame (void) { @@ -2966,13 +2965,6 @@ aarch64_layout_frame (void) cfun->machine->frame.wb_candidate2 = R30_REGNUM; offset = 2 * UNITS_PER_WORD; } - else if (!crtl->is_leaf) - { - /* Ensure LR is saved at the bottom of the callee-saves. */ - cfun->machine->frame.reg_offset[R30_REGNUM] = 0; - cfun->machine->frame.wb_candidate1 = R30_REGNUM; - offset = UNITS_PER_WORD; - } /* Now assign stack slots for them. */ for (regno = R0_REGNUM; regno <= R30_REGNUM; regno++)