Lines Matching +full:os +full:- +full:code +full:- +full:offset

1 //===-- MachineFrameInfo.cpp ---------------------------------------------===//
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
11 //===----------------------------------------------------------------------===//
22 #include "llvm/Config/llvm-config.h"
59 int Index = (int)Objects.size() - NumFixedObjects - 1; in CreateStackObject()
69 int Index = (int)Objects.size() - NumFixedObjects - 1; in CreateSpillStackObject()
80 return (int)Objects.size()-NumFixedObjects-1; in CreateVariableSizedObject()
86 // The alignment of the frame index can be determined from its offset from in CreateFixedObject()
87 // the incoming frame position. If the frame object is at offset 32 and in CreateFixedObject()
88 // the stack is guaranteed to be 16-byte aligned, then we know that the in CreateFixedObject()
89 // object is 16-byte aligned. Note that unlike the non-fixed case, if the in CreateFixedObject()
99 return -++NumFixedObjects; in CreateFixedObject()
112 return -++NumFixedObjects; in CreateFixedSpillStackObject()
117 BitVector BV(TRI->getNumRegs()); in getPristineRegs()
131 for (MCPhysReg S : TRI->subregs_inclusive(I.getReg())) in getPristineRegs()
141 int64_t Offset = 0; in estimateStackSize() local
143 // This code is very, very similar to PEI::calculateFrameObjectOffsets(). in estimateStackSize()
144 // It really should be refactored to share code. Until then, changes in estimateStackSize()
151 int64_t FixedOff = -getObjectOffset(i); in estimateStackSize()
152 if (FixedOff > Offset) Offset = FixedOff; in estimateStackSize()
158 Offset += getObjectSize(i); in estimateStackSize()
161 Offset = alignTo(Offset, Alignment); in estimateStackSize()
166 if (adjustsStack() && TFI->hasReservedCallFrame(MF)) in estimateStackSize()
167 Offset += getMaxCallFrameSize(); in estimateStackSize()
176 (RegInfo->hasStackRealignment(MF) && getObjectIndexEnd() != 0)) in estimateStackSize()
177 StackAlign = TFI->getStackAlign(); in estimateStackSize()
179 StackAlign = TFI->getTransientStackAlign(); in estimateStackSize()
184 return alignTo(Offset, StackAlign); in estimateStackSize()
203 FrameSDOps->push_back(&MI); in computeMaxCallFrameSize()
209 void MachineFrameInfo::print(const MachineFunction &MF, raw_ostream &OS) const{ in print()
213 int ValOffset = (FI ? FI->getOffsetOfLocalArea() : 0); in print()
215 OS << "Frame Objects:\n"; in print()
219 OS << " fi#" << (int)(i-NumFixedObjects) << ": "; in print()
222 OS << "id=" << static_cast<unsigned>(SO.StackID) << ' '; in print()
225 OS << "dead\n"; in print()
229 OS << "variable sized"; in print()
231 OS << "size=" << SO.Size; in print()
232 OS << ", align=" << SO.Alignment.value(); in print()
235 OS << ", fixed"; in print()
236 if (i < NumFixedObjects || SO.SPOffset != -1) { in print()
237 int64_t Off = SO.SPOffset - ValOffset; in print()
238 OS << ", at location [SP"; in print()
240 OS << "+" << Off; in print()
242 OS << Off; in print()
243 OS << "]"; in print()
245 OS << "\n"; in print()