Displaying 2 results from an estimated 2 matches for "adjustsstack".
Did you mean:
adjust_stack
2012 Oct 26
1
[LLVMdev] Properly handling mem-loc arguments when prologue adjusts FP.
...}
...
[3] Example of prologue moving stack pointer (which the frame pointer is
then set to.)
...
if (VARegSaveSize) {
BuildMI(MBB, MBBI, dl, TII.get(ARC::SUBrsi), ARC::SP).addReg(ARC::SP)
.addImm(VARegSaveSize);
}
// Save the return address register, if necessary
if (MFI->adjustsStack()) {
BuildMI(MBB, MBBI, dl, TII.get(ARC::STrri_a)).addReg(ARC::SP)
.addImm(-UNITS_PER_WORD).addReg(ARC::BLINK);
}
// Save the caller's frame pointer (if required), and set new FP to this
// location.
BuildMI(MBB, MBBI, dl, TII.get(ARC::STrri_a)).addReg(ARC::SP)
.addIm...
2010 Aug 11
1
[LLVMdev] Unnecessary Win64 stack allocations...
...a then we do not need to adjust the
// stack pointer (we fit in the Red Zone).
if (Is64Bit && !Fn->hasFnAttr(Attribute::NoRedZone) &&
!needsStackRealignment(MF) &&
!MFI->hasVarSizedObjects() && // No dynamic alloca.
!MFI->adjustsStack() && // No calls.
!IsWin64) { // Win64 has no Red Zone
uint64_t MinSize = X86FI->getCalleeSavedFrameSize();
if (HasFP) MinSize += SlotSize;
StackSize = std::max(MinSize, StackSize > 128 ? StackSize - 128 : 0);...