[PATCH] D136361: [AArch64][SME] Disable GlobalISel/FastISel for SME functions.

Sander de Smalen via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Nov 8 09:09:22 PST 2022


sdesmalen added inline comments.


================
Comment at: llvm/lib/Target/AArch64/AArch64FastISel.cpp:5121
+  SMEAttrs CallerAttrs(*FuncInfo.Fn);
+  if (!CallerAttrs.hasStreamingInterface() && CallerAttrs.hasStreamingBody())
+    return nullptr;
----------------
sdesmalen wrote:
> david-arm wrote:
> > Should we also check for arm_new_za here too?
> I don't believe so, because the work for arm_new_za functions is done by the SMEABI pass at the LLVM IR level.
I found that this caused the discrepancy between FastISel and GlobalISel in that test, because it wouldn't try to set up a lazy-save buffer. So it turns out we do need that check for ZA state here.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D136361



More information about the llvm-commits mailing list