diff options
author | Szabolcs Nagy <szabolcs.nagy@arm.com> | 2023-05-09 11:07:05 +0100 |
---|---|---|
committer | Szabolcs Nagy <szabolcs.nagy@arm.com> | 2023-11-27 15:52:48 +0000 |
commit | aa2ad77a9b3994fb679e5295d9570f6f8696540d (patch) | |
tree | 017258156669af90d87228a528056df3be937f0a /gcc/config/aarch64/aarch64.cc | |
parent | 426fddcbdad6746fe70e031f707fb07f55dfb405 (diff) | |
download | gcc-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.cc | 3 |
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. */ |