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

Yeting Kuo via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri May 12 01:04:48 PDT 2023


fakepaper56 added inline comments.


================
Comment at: llvm/lib/Target/RISCV/RISCVFrameLowering.cpp:395
+static SmallVector<CalleeSavedInfo, 8>
+getNonPushPopCSI(const MachineFunction &MF,
+                 const TargetRegisterInfo *TRI,
----------------
Is it better to support Zcmp for `RISCVRegisterInfo::hasReservedSpillSlot` and use a more general name for `getNonLibcallCSI`.


================
Comment at: llvm/lib/Target/RISCV/RISCVRegisterInfo.td:187
+// Registers saveable by PUSH/POP instruction in Zcmp extension
+def PGPR : RegisterClass<"RISCV", [XLenVT], 32, (add
+    (sequence "X%u", 8, 9),
----------------
I suggest to add X26 to PGPR to make Zcmp work for spill register are {ra, s0 - 10}.


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