[PATCH] alpha: don't delete a caller's gp reload after a call
Alan Modra
amodra@gmail.com
Wed Aug 26 01:48:50 GMT 2026
On Fri, Aug 14, 2026 at 03:27:12PM -0400, Matt Turner wrote:
> Recovering the optimization needs proof that the callee returns with gp
> intact. A callee containing no tail call, direct or indirect, always
> does, but establishing that requires scanning the target function here.
A scan can be avoided if the target function advertises that
information somehow, for example, via callee st_other bits. Just
saying, I don't expect you to implement any such scheme.
> * elf64-alpha.c (elf64_alpha_relax_with_lituse): Don't turn the
> GPDISP ldah/lda pair into unops when the callee shares our gp.
>
> ld/
> * testsuite/ld-alpha/relax-gpdisp.s: New test.
> * testsuite/ld-alpha/relax-gpdisp.d: New test.
OK.
--
Alan Modra
More information about the Binutils
mailing list