================
@@ -670,12 +670,21 @@ void SIFrameLowering::emitEntryFunctionFlatScratchInit(
}
// Note SGPRSpill stack IDs should only be used for SGPR spilling to VGPRs, not
-// memory. They should have been removed by now.
-static bool allStackObjectsAreDead(const MachineFrameInfo &MFI) {
- for (int I = MFI.getObjectIndexBegin(), E = MFI.getObjectIndexEnd();
- I != E; ++I) {
- if (!MFI.isDeadObjectIndex(I))
+// memory. They should have been removed by now, except CFI Saved Reg spills.
+static bool allStackObjectsAreDead(const MachineFunction &MF) {
+ const MachineFrameInfo &MFI = MF.getFrameInfo();
+ const SIMachineFunctionInfo *FuncInfo = MF.getInfo<SIMachineFunctionInfo>();
+ for (int I = MFI.getObjectIndexBegin(), E = MFI.getObjectIndexEnd(); I != E;
+ ++I) {
+ if (!MFI.isDeadObjectIndex(I)) {
+ // determineCalleeSaves() might have added the SGPRSpill stack IDs for
+ // CFI saves into scratch VGPR, ignore them
+ if (MFI.getStackID(I) == TargetStackID::SGPRSpill &&
----------------
slinder1 wrote:
Yes, I think I didn't go back and reconsider some of what amounts to
workarounds when preparing to upstream. I will clean these up
https://github.com/llvm/llvm-project/pull/183149
_______________________________________________
llvm-branch-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits