2014-07-16 Yvan Roux <yvan.roux@linaro.org>
authoryroux <yroux@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 16 Jul 2014 16:46:48 +0000 (16:46 +0000)
committeryroux <yroux@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 16 Jul 2014 16:46:48 +0000 (16:46 +0000)
Backport from trunk r211268.
2014-06-05  Marcus Shawcroft  <marcus.shawcroft@arm.com>

* config/aarch64/aarch64.c (aarch64_expand_prologue): Update stack
layout comment.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/linaro/gcc-4_9-branch@212686 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog.linaro
gcc/config/aarch64/aarch64.c

index 6ffbb67..2e95148 100644 (file)
@@ -1,5 +1,13 @@
 2014-07-16  Yvan Roux  <yvan.roux@linaro.org>
 
+       Backport from trunk r211268.
+       2014-06-05  Marcus Shawcroft  <marcus.shawcroft@arm.com>
+
+       * config/aarch64/aarch64.c (aarch64_expand_prologue): Update stack
+       layout comment.
+
+2014-07-16  Yvan Roux  <yvan.roux@linaro.org>
+
        Backport from trunk r211129.
        2014-06-02  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
 
index 6168e01..fd9fb6f 100644 (file)
@@ -2088,37 +2088,35 @@ aarch64_save_or_restore_callee_save_registers (HOST_WIDE_INT offset,
        |                               |
        |  incoming stack arguments     |
        |                               |
-       +-------------------------------+ <-- arg_pointer_rtx
-       |                               |
+       +-------------------------------+
+       |                               | <-- incoming stack pointer (aligned)
        |  callee-allocated save area   |
        |  for register varargs         |
        |                               |
-       +-------------------------------+ <-- frame_pointer_rtx
-       |                               |
-       |  local variables              |
+       +-------------------------------+
+       |  local variables              | <-- frame_pointer_rtx
        |                               |
        +-------------------------------+
        |  padding0                     | \
        +-------------------------------+  |
-       |                               |  |
-       |                               |  |
        |  callee-saved registers       |  | frame.saved_regs_size
-       |                               |  |
        +-------------------------------+  |
        |  LR'                          |  |
        +-------------------------------+  |
-       |  FP'                          | /
-      P +-------------------------------+ <-- hard_frame_pointer_rtx
+       |  FP'                          | / <- hard_frame_pointer_rtx (aligned)
+        +-------------------------------+
        |  dynamic allocation           |
        +-------------------------------+
-       |                               |
-       |  outgoing stack arguments     |
-       |                               |
-       +-------------------------------+ <-- stack_pointer_rtx
+       |  padding                      |
+       +-------------------------------+
+       |  outgoing stack arguments     | <-- arg_pointer
+        |                               |
+       +-------------------------------+
+       |                               | <-- stack_pointer_rtx (aligned)
 
-   Dynamic stack allocations such as alloca insert data at point P.
-   They decrease stack_pointer_rtx but leave frame_pointer_rtx and
-   hard_frame_pointer_rtx unchanged.  */
+   Dynamic stack allocations via alloca() decrease stack_pointer_rtx
+   but leave frame_pointer_rtx and hard_frame_pointer_rtx
+   unchanged.  */
 
 /* Generate the prologue instructions for entry into a function.
    Establish the stack frame by decreasing the stack pointer with a