From d6430e3cccb37bec6c5604dffe48c52016509013 Mon Sep 17 00:00:00 2001 From: Tamar Christina Date: Mon, 8 Jun 2020 09:23:10 +0100 Subject: [PATCH] AArch64: Expand on comment of stack-clash and implicit probing through LR. 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 | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c index 97da6076239..973c65aa4fb 100644 --- a/gcc/config/aarch64/aarch64.c +++ b/gcc/config/aarch64/aarch64.c @@ -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));