[llvm] Rebased save csr in ra (PR #131845)
Michael Maitland via llvm-commits
llvm-commits at lists.llvm.org
Tue Mar 18 10:26:56 PDT 2025
================
@@ -1418,6 +1605,17 @@ void RISCVFrameLowering::determineCalleeSaves(MachineFunction &MF,
SavedRegs.set(RISCV::X27);
}
+void RISCVFrameLowering::determineCalleeSaves(MachineFunction &MF,
+ BitVector &SavedRegs,
+ RegScavenger *RS) const {
+ const auto &ST = MF.getSubtarget<RISCVSubtarget>();
+ determineMustCalleeSaves(MF, SavedRegs);
----------------
michaelmaitland wrote:
It looks like we're doing additional logic that did not exist before in the case that `!ST.doCSRSavesInRA()`. All the logic before
```
if (hasFP(MF)) {
SavedRegs.set(RISCV::X1);
SavedRegs.set(RISCV::X8);
}
```
in `determineMustCalleeSaves` is new. Is all of that additional logic desired?
https://github.com/llvm/llvm-project/pull/131845
More information about the llvm-commits
mailing list