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.
This commit is contained in:
Szabolcs Nagy 2023-05-09 11:07:05 +01:00
parent 426fddcbda
commit aa2ad77a9b

View file

@ -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. */