[PATCH] D125044: [SystemZ] [z/OS] Use assignCalleeSavedSpillSlots() to mark handle special registers in CSR list instead of determineCalleeSaves
Neumann Hon via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu May 5 14:26:17 PDT 2022
Everybody0523 created this revision.
Everybody0523 added reviewers: uweigand, Kai.
Herald added a subscriber: hiraditya.
Herald added a project: All.
Everybody0523 requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.
This PR moves the handling of special registers that need to be saved/restored in the prolog/epilog respectively from determineCalleeSaves to assignCalleeSavedSpillSlots. The documentation of the parent function of assignCalleeSavedSpillSlots explicitly allows the modification of the CSI hence adding the special registers (the stack pointer register, the return address register, and the entry point register) to the CSI list at that stage should be permissible.
This cleans up the code a bit and makes it so that we do not have to place registers that are not actually considered CSRs by the spec in the CSR list, which is something of a hack.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D125044
Files:
llvm/lib/Target/SystemZ/SystemZCallingConv.td
llvm/lib/Target/SystemZ/SystemZFrameLowering.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D125044.427450.patch
Type: text/x-patch
Size: 6675 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220505/1f3f44eb/attachment.bin>
More information about the llvm-commits
mailing list