[PATCH] D159186: [AArch64][SME] Enable TPIDR2 lazy-save for za_preserved

Matt Devereau via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 30 07:33:34 PDT 2023


MattDevereau added inline comments.


================
Comment at: llvm/lib/Target/AArch64/AArch64ISelLowering.cpp:7331
+                                 CalleeAttrs.hasPreservedZAInterface() &&
+                                 !CalleeAttrs.hasStreamingCompatibleInterface();
+  if (HasPreservedZAInterface) {
----------------
sdesmalen wrote:
> Streaming-properties are orthogonal to ZA, so don't belong in this condition.
It's possible for
```
if (RequiresSMChange)
  PStateSM = getPStateSM(DAG, Chain, CallerAttrs, DL, MVT::i64);
```
to call `LowerCall` an additional time and generate an extra redundant store into the TPIDR2 save slices parameter, which is why this is here. I will look for a better way of handling this though.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D159186



More information about the llvm-commits mailing list