[PATCH] D131579: [AArch64][SME] Disable tail-call optimization when streaming mode change or lazy-save may be required.

Amara Emerson via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Sep 16 13:52:10 PDT 2022


aemerson accepted this revision.
aemerson added inline comments.
This revision is now accepted and ready to land.


================
Comment at: llvm/test/CodeGen/AArch64/sme-shared-za-interface.ll:8-10
+; FIXME: The code below if obviously not yet correct, because it should set up
+; a lazy-save buffer before doing the call, and (conditionally) restore it after
+; the call. But this functionality will follow in a future patch.
----------------
sdesmalen wrote:
> aemerson wrote:
> > This is correct as long as you have the shared-za attribute right?
> Sorry, I missed this comment. The code below is only correct if `@private_za_callee` also has `aarch64_pstate_za_shared`, but in this case it isn't, which means that the call to `@private_za_callee` could clobber ZA. It would need the lazy-save mechanism (implemented in D133900)
Right, of course.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D131579/new/

https://reviews.llvm.org/D131579



More information about the llvm-commits mailing list