[all-commits] [llvm/llvm-project] c45ec5: [SystemZ] [z/OS] Use assignCalleeSavedSpillSlots()...
Neumann Hon via All-commits
all-commits at lists.llvm.org
Wed Jul 6 19:22:46 PDT 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: c45ec53e7b852c1d874b6ffac11ce71ca21415dd
https://github.com/llvm/llvm-project/commit/c45ec53e7b852c1d874b6ffac11ce71ca21415dd
Author: Neumann Hon <h.neukc at gmail.com>
Date: 2022-07-06 (Wed, 06 Jul 2022)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZCallingConv.td
M llvm/lib/Target/SystemZ/SystemZFrameLowering.cpp
Log Message:
-----------
[SystemZ] [z/OS] Use assignCalleeSavedSpillSlots() to mark handle special registers in CSR list instead of determineCalleeSave
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.
Reviewed By: uweigand
Differential Revision: https://reviews.llvm.org/D125044
More information about the All-commits
mailing list