[PATCH] D128806: [RISCV] Fix wrong position of prologue_end

Jessica Clarke via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jun 29 07:52:10 PDT 2022


jrtc27 added a comment.

Isn't the problem just that spill/restoreCalleeSavedRegisters need to set FrameSetup/Destroy on their stores/loads (which is also a problem with the generic implementation that we used to use before implementing -msave-restore)?

Annoyingly storeRegToStackSlot/loadRegFromStackSlot don't take a Flags argument to pass it through. X86 hacks around this with:

  --MI;
  MI->setFlag(MachineInstr::FrameSetup);
  ++MI;

after the call to storeRegToStackSlot (and doesn't bother for FrameDestroy, I guess that matters less, or people care about it less when debugging). I believe we can do the same hack, but we should probably fix it properly by adding a Flags argument to them, and update the generic implementation too.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D128806



More information about the llvm-commits mailing list