gcc/
authorYvan Roux <yvan.roux@linaro.org>
Tue, 6 Sep 2016 12:28:23 +0000 (14:28 +0200)
committerYvan Roux <yvan.roux@linaro.org>
Wed, 7 Sep 2016 20:09:02 +0000 (22:09 +0200)
commit4825254bc87d4915a510c0d83dff86c0433fd947
tree5f1d1300d5833d4806534739e803d7e3db4d1e13
parente23342a302f457b8045e0ba70388ed9a816cda2c
gcc/
Backport from trunk r238960.
2016-08-01  Wilco Dijkstra  <wdijkstr@arm.com>

* config/aarch64/aarch64.h (aarch64_frame):
Remove padding0 and hardfp_offset.  Add locals_offset,
initial_adjust, callee_adjust, callee_offset and final_adjust.
* config/aarch64/aarch64.c (aarch64_layout_frame):
Remove unused padding0 and hardfp_offset initializations.
Choose frame layout and set frame variables accordingly.
Use INVALID_REGNUM instead of FIRST_PSEUDO_REGISTER.
(aarch64_push_regs): Use INVALID_REGNUM, not FIRST_PSEUDO_REGISTER.
(aarch64_pop_regs): Likewise.
(aarch64_expand_prologue): Remove all decision code, just emit
prolog according to frame variables.
(aarch64_expand_epilogue): Remove all decision code, just emit
epilog according to frame variables.
(aarch64_initial_elimination_offset): Use offset to local/arg area.

gcc/testsuite/
Backport from trunk r238960.
2016-08-01  Wilco Dijkstra  <wdijkstr@arm.com>

* gcc.target/aarch64/test_frame_10.c: Fix test to check for a
single stack adjustment, no writeback.
* gcc.target/aarch64/test_frame_12.c: Likewise.
* gcc.target/aarch64/test_frame_13.c: Likewise.
* gcc.target/aarch64/test_frame_15.c: Likewise.
* gcc.target/aarch64/test_frame_6.c: Likewise.
* gcc.target/aarch64/test_frame_7.c: Likewise.
* gcc.target/aarch64/test_frame_8.c: Likewise.
* gcc.target/aarch64/test_frame_16.c: New test.

Change-Id: Id4fbbe13420b85d8cd466c4ae673206b799e7adc
gcc/config/aarch64/aarch64.c
gcc/config/aarch64/aarch64.h
gcc/testsuite/gcc.target/aarch64/test_frame_10.c
gcc/testsuite/gcc.target/aarch64/test_frame_12.c
gcc/testsuite/gcc.target/aarch64/test_frame_13.c
gcc/testsuite/gcc.target/aarch64/test_frame_15.c
gcc/testsuite/gcc.target/aarch64/test_frame_16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/test_frame_6.c
gcc/testsuite/gcc.target/aarch64/test_frame_7.c
gcc/testsuite/gcc.target/aarch64/test_frame_8.c