[llvm] [ARM] Specifically delineate between different GPRCS2 positions (PR #116716)
Oliver Stannard via llvm-commits
llvm-commits at lists.llvm.org
Tue Nov 19 03:41:32 PST 2024
================
@@ -1211,11 +1217,18 @@ void ARMFrameLowering::emitPrologue(MachineFunction &MF,
FPOffsetAfterPush = MFI.getObjectOffset(FramePtrSpillFI) +
ArgRegsSaveSize + FPCXTSaveSize + GPRCS1Size +
sizeOfSPAdjustment(*FPPushInst);
- if (PushPopSplit == ARMSubtarget::SplitR11WindowsSEH)
- FPOffsetAfterPush += DPRCSSize + DPRGapSize;
LLVM_DEBUG(dbgs() << "Frame pointer in GPRCS2, offset "
<< FPOffsetAfterPush << " after that push\n");
break;
+ case SpillArea::GPRCS3:
+ FPPushInst = GPRCS3Push;
+ FPOffsetAfterPush = MFI.getObjectOffset(FramePtrSpillFI) +
+ ArgRegsSaveSize + FPCXTSaveSize + GPRCS1Size +
----------------
ostannard wrote:
I think it would be better to include `GPRCS2Size` here for consistency, or at least assert that it is zero, so that this will be correct of we ever start using GPRCS2 and GPRCS3 together.
https://github.com/llvm/llvm-project/pull/116716
More information about the llvm-commits
mailing list