This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
r254112 - in /trunk/gcc: ChangeLog config/aarch...
- From: wilco at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: Thu, 26 Oct 2017 16:40:25 -0000
- Subject: r254112 - in /trunk/gcc: ChangeLog config/aarch...
Author: wilco
Date: Thu Oct 26 16:40:25 2017
New Revision: 254112
URL: https://gcc.gnu.org/viewcvs?rev=254112&root=gcc&view=rev
Log:
Simplify frame layout for stack probing
This patch makes some changes to the frame layout in order to simplify
stack probing. We want to use the save of LR as a probe in any non-leaf
function. With shrinkwrapping we may only save LR before a call, so it
is useful to define a fixed location in the callee-saves. So force LR at
the bottom of the callee-saves even with -fomit-frame-pointer.
Also remove a rarely used frame layout that saves the callee-saves first
with -fomit-frame-pointer. Doing so allows the store of LR to be used as
a valid stack probe in all frames.
gcc/
* config/aarch64/aarch64.c (aarch64_layout_frame):
Ensure LR is always stored at the bottom of the callee-saves.
Remove rarely used frame layout which saves callee-saves at top of
frame, so the store of LR can be used as a valid probe in all cases.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/aarch64/aarch64.c