AArch64: Expand on comment of stack-clash and implicit probing through LR.
authorTamar Christina <tamar.christina@arm.com>
Mon, 8 Jun 2020 08:23:10 +0000 (09:23 +0100)
committerTamar Christina <tamar.christina@arm.com>
Mon, 8 Jun 2020 08:23:10 +0000 (09:23 +0100)
This expands the comment on an assert we have in aarch64_layout_frame
and points to an existing comment somewhere else that has a much longer
explanation of what's going on.

Committed under the GCC Obvious rule.

gcc/ChangeLog:

* config/aarch64/aarch64.c (aarch64_layout_frame): Expand comments.

gcc/config/aarch64/aarch64.c

index 97da60762390db81df9cffaf316b909cd1609130..973c65aa4fb348450872036617362aa17310fb20 100644 (file)
@@ -6531,7 +6531,9 @@ aarch64_layout_frame (void)
        && !crtl->abi->clobbers_full_reg_p (regno))
       frame.reg_offset[regno] = SLOT_REQUIRED;
 
-  /* With stack-clash, LR must be saved in non-leaf functions.  */
+  /* With stack-clash, LR must be saved in non-leaf functions.  The saving of
+     LR counts as an implicit probe which allows us to maintain the invariant
+     described in the comment at expand_prologue.  */
   gcc_assert (crtl->is_leaf
              || maybe_ne (frame.reg_offset[R30_REGNUM], SLOT_NOT_REQUIRED));