[PATCH] D67749: [AArch64] Stackframe accesses to SVE objects.

Cameron McInally via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Oct 7 07:34:47 PDT 2019


cameron.mcinally added inline comments.


================
Comment at: lib/Target/AArch64/AArch64InstrInfo.cpp:3366
+}
+
 int llvm::isAArch64FrameOffsetLegal(const MachineInstr &MI,
----------------
I'm not an LLVM coding standards expert, but does this need an llvm_unreachable()? I think it does...


================
Comment at: lib/Target/AArch64/AArch64InstrInfo.cpp:3453
+    SOffset = StackOffset(Offset, MVT::i8) +
+              StackOffset(SOffset.getScalableBytes(), MVT::nxv1i8);
   return AArch64FrameOffsetCanUpdate |
----------------
Would you shed some light on what this change is doing?

`IsMulVL` indicates there are scalable objects on the stack, right? What is the reason for the behavior change of the legacy code when `!IsMulVL`. I.e. the addition of `StackOffset(SOffset.getScalableBytes(), MVT::nxv1i8)` in the else block.


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

https://reviews.llvm.org/D67749





More information about the llvm-commits mailing list