[PATCH] D134599: [RISCV] Readjusting the framestack for Zcmp

Yeting Kuo via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun May 21 23:05:36 PDT 2023


fakepaper56 added inline comments.


================
Comment at: llvm/lib/Target/RISCV/RISCVFrameLowering.cpp:945
       Offset += StackOffset::get(getStackSizeWithRVVPadding(MF) +
                                  RVFI->getLibCallStackSize(),
                                  RVFI->getRVVStackSize());
----------------
Support getRVPushStackSize() here.


================
Comment at: llvm/lib/Target/RISCV/RISCVFrameLowering.cpp:954
     int ScalarLocalVarSize =
       MFI.getStackSize() - RVFI->getCalleeSavedStackSize() -
       RVFI->getVarArgsSaveSize() + RVFI->getRVVPadding();
----------------
Support getRVPushStackSize() here.


================
Comment at: llvm/lib/Target/RISCV/RISCVFrameLowering.cpp:1288
   // split the SP adjustment in this case.
   if (RVFI->getLibCallStackSize())
     return 0;
----------------
Support getRVPushStackSize() here?


================
Comment at: llvm/lib/Target/RISCV/RISCVFrameLowering.cpp:1322
+    Register MaxReg = getMaxPushPopReg(*MF, CSI, PushPopRegs);
+    RVFI->setRVPushStackSize((STI.getXLen() / 8) * PushPopRegs);
+
----------------
Maybe align the size for accurate stack size. And it can help you not to align for getRVPushStackSize().


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D134599



More information about the llvm-commits mailing list