[PATCH] D61437: [AArch64] Static (de)allocation of SVE stack objects.

Sander de Smalen via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Aug 2 06:26:27 PDT 2019


sdesmalen added inline comments.


================
Comment at: lib/Target/AArch64/AArch64FrameLowering.cpp:1281
 
+  MachineBasicBlock::iterator FirstTerminator = MBB.getFirstTerminator();
+
----------------
greened wrote:
> Maybe this and the uses below are better as a separate NFC patch?
This change is no longer in my updated patch.


================
Comment at: lib/Target/AArch64/AArch64FrameLowering.cpp:1436
                     MachineInstr::FrameDestroy, false, NeedsWinCFI);
-    if (Done) {
+    if (!SVEStackSize && Done) {
       if (NeedsWinCFI)
----------------
greened wrote:
> It would be helpful to have a comment here explaining why we are not `Done` if `SVEStackSize` is non-zero.
This change is no longer in my updated patch.


================
Comment at: lib/Target/AArch64/AArch64FrameLowering.cpp:1486
+
+  emitFrameOffset(MBB, FirstTerminator, DL, AArch64::SP, AArch64::SP,
+                  {SVEStackSize, MVT::nxv1i8}, TII,
----------------
greened wrote:
> Add a comment here explaining what this is doing.
This change is no longer in my updated patch.


================
Comment at: lib/Target/AArch64/AArch64InstrInfo.cpp:3052
                            bool NeedsWinCFI) {
-  int64_t Bytes;
-  Offset.getForFrameOffset(Bytes);
+  int64_t Bytes, PLSized, VLSized;
+  Offset.getForFrameOffset(Bytes, PLSized, VLSized);
----------------
greened wrote:
> It's not clear to me what these are.  Could you name them a bit more clearly, specifically without acronyms?
Good point, I see how this is unclear. I've renamed the variables in my latest revision!


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

https://reviews.llvm.org/D61437





More information about the llvm-commits mailing list