aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/aarch64/aarch64.cc
diff options
context:
space:
mode:
authorSzabolcs Nagy <szabolcs.nagy@arm.com>2023-05-09 11:07:05 +0100
committerSzabolcs Nagy <szabolcs.nagy@arm.com>2023-11-27 15:52:48 +0000
commitaa2ad77a9b3994fb679e5295d9570f6f8696540d (patch)
tree017258156669af90d87228a528056df3be937f0a /gcc/config/aarch64/aarch64.cc
parent426fddcbdad6746fe70e031f707fb07f55dfb405 (diff)
downloadgcc-aa2ad77a9b3994fb679e5295d9570f6f8696540d.zip
gcc-aa2ad77a9b3994fb679e5295d9570f6f8696540d.tar.gz
gcc-aa2ad77a9b3994fb679e5295d9570f6f8696540d.tar.bz2
aarch64: Do not force a stack frame for EH returns
EH returns no longer rely on clobbering the return address on the stack so forcing a stack frame is not necessary. This does not actually change the code gen for the unwinder since there are calls before the EH return. gcc/ChangeLog: * config/aarch64/aarch64.cc (aarch64_needs_frame_chain): Do not force frame chain for eh_return.
Diffstat (limited to 'gcc/config/aarch64/aarch64.cc')
-rw-r--r--gcc/config/aarch64/aarch64.cc3
1 files changed, 1 insertions, 2 deletions
diff --git a/gcc/config/aarch64/aarch64.cc b/gcc/config/aarch64/aarch64.cc
index 7ccadf9..b209343 100644
--- a/gcc/config/aarch64/aarch64.cc
+++ b/gcc/config/aarch64/aarch64.cc
@@ -6137,8 +6137,7 @@ aarch64_output_probe_sve_stack_clash (rtx base, rtx adjustment,
static bool
aarch64_needs_frame_chain (void)
{
- /* Force a frame chain for EH returns so the return address is at FP+8. */
- if (frame_pointer_needed || crtl->calls_eh_return)
+ if (frame_pointer_needed)
return true;
/* A leaf function cannot have calls or write LR. */