[llvm] [CodeGen] Replace (Min,Max)CSFrameIndex with flag on frame object [NFCI] (PR #170905)
Philip Reames via llvm-commits
llvm-commits at lists.llvm.org
Fri Dec 5 11:02:16 PST 2025
================
@@ -923,20 +911,28 @@ void PEIImpl::calculateFrameObjectOffsets(MachineFunction &MF) {
Align MaxAlign = MFI.getMaxAlign();
// First assign frame offsets to stack objects that are used to spill
// callee saved registers.
- if (MaxCSFrameIndex >= MinCSFrameIndex) {
- for (unsigned i = 0; i <= MaxCSFrameIndex - MinCSFrameIndex; ++i) {
- unsigned FrameIndex =
- StackGrowsDown ? MinCSFrameIndex + i : MaxCSFrameIndex - i;
-
+ if (StackGrowsDown) {
+ for (int FI = MFI.getObjectIndexBegin(); FI < MFI.getObjectIndexEnd();
+ FI++) {
+ // Only allocate objects on the default stack.
+ if (!MFI.isCalleeSavedObjectIndex(FI) ||
+ MFI.getStackID(FI) != TargetStackID::Default)
+ continue;
+ AdjustStackOffset(MFI, FI, StackGrowsDown, Offset, MaxAlign);
+ }
+ } else {
+ for (int FI = MFI.getObjectIndexEnd() - 1; FI >= MFI.getObjectIndexBegin();
+ FI--) {
// Only allocate objects on the default stack.
- if (MFI.getStackID(FrameIndex) != TargetStackID::Default)
+ if (!MFI.isCalleeSavedObjectIndex(FI) ||
+ MFI.getStackID(FI) != TargetStackID::Default)
continue;
- // TODO: should this just be if (MFI.isDeadObjectIndex(FrameIndex))
- if (!StackGrowsDown && MFI.isDeadObjectIndex(FrameIndex))
+ // TODO: should this just be if (MFI.isDeadObjectIndex(FI))
+ if (MFI.isDeadObjectIndex(FI))
----------------
preames wrote:
Where should it move to? I wasn't clear on what the TODO was actually saying, so I kept it with the code it'd been near.
https://github.com/llvm/llvm-project/pull/170905
More information about the llvm-commits
mailing list