[PATCH] D156437: [RISCV] Fix the CFI offset for callee-saved registers stored by Zcmp push/pop.

Yeting Kuo via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 31 02:01:13 PDT 2023


fakepaper56 added inline comments.


================
Comment at: llvm/lib/Target/RISCV/RISCVFrameLowering.cpp:589
+        // .cfi_offset s0, -8 => .cfi_offset s0, -4
+        Offset = -(FrameIdx + RVFI->getRVPushRegs() + 1) *
+                 (int64_t)STI.getXLen() / 8;
----------------
The original code looks like we expect negative frame indices are related to their saved location.
If we want to reserve the behavior of negative frame indices, I think we should have specific `hasReservedSpillSlot` behavior for `Zcmp`?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D156437



More information about the llvm-commits mailing list