Displaying 6 results from an estimated 6 matches for "setstacksize".
Did you mean:
getstacksize
2010 Aug 11
1
[LLVMdev] Unnecessary Win64 stack allocations...
...amp; // 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);
MFI->setStackSize(StackSize);
} else if (IsWin64) {
// We need to always allocate 32 bytes as register spill area.
// FIXME: We might reuse these 32 bytes for leaf functions.
StackSize += 32;
MFI->setStackSize(StackSize);
}
Why is it always allocating the register spill area? In a simple lit...
2006 Oct 06
0
[LLVMdev] should PEI::calculateFrameObjectOffsets align the stack?
On Fri, 6 Oct 2006, [UTF-8] Rafael Esp?ndola wrote:
> In ARM the stack should be 8 bytes aligned during function calls. A
> function that has at least one function call then has a stack size of
> 8 bytes. PEI::calculateFrameObjectOffsets corretly computes this
> correctly.
>
> The problem is that the alignment is computed before adding space for
> the call frame size. This is
2006 Oct 06
2
[LLVMdev] should PEI::calculateFrameObjectOffsets align the stack?
In ARM the stack should be 8 bytes aligned during function calls. A
function that has at least one function call then has a stack size of
8 bytes. PEI::calculateFrameObjectOffsets corretly computes this
correctly.
The problem is that the alignment is computed before adding space for
the call frame size. This is done in emitProlog. Currently the ARM
backend has a bug in that it doesn't align
2006 Oct 07
2
[LLVMdev] should PEI::calculateFrameObjectOffsets align the stack?
...e:
----------------------------------------------------------------------
if (MFI->hasCalls()) {
NumBytes += MFI->getMaxCallFrameSize();
}
if ((NumBytes == 0) || (NumBytes <= 224 && !HasFP && !MFI->hasCalls()
&& MaxAlign <= TargetAlign)) {
MFI->setStackSize(0);
return;
}
unsigned Align = std::max(TargetAlign, MaxAlign);
unsigned GPRSize = 4;
unsigned Size = HasFP ? GPRSize + GPRSize : GPRSize;
NumBytes = (NumBytes+Size+Align-1)/Align*Align;
-----------------------------------------------------------------------------------
Numbytes was c...
2017 Apr 27
4
-msave-args backend support for x86_64
...se
+ // MOV64mr Reg, -SaveSize(%rbp)
+ addRegOffset(BuildMI(MBB, MBBI, DL, TII.get(X86::MOV64mr)),
+ FramePtr, true, -SaveSize)
+ .addReg(Reg)
+ .setMIFlag(MachineInstr::FrameSetup);
+#endif
+ }
+
+ StackSize += SaveSize;
+ MFI.setStackSize(StackSize);
+ }
}
// Mark the FramePtr as live-in in every block. Don't do this again for
Index: lib/Target/X86/X86FrameLowering.h
===================================================================
--- lib/Target/X86/X86FrameLowering.h (revision 301500)
+++ lib/Target/X86/X86F...
2008 Jul 25
1
[LLVMdev] llvm svn trunk rev54012 does not compile
...ffset(int, int)':
/usr/src/Lang/llvm/include/llvm/CodeGen/MachineFrameInfo.h:254: error:
'struct llvm::MachineFrameInfo::StackObject' has no member named 'SPOffset'
/usr/src/Lang/llvm/include/llvm/CodeGen/MachineFrameInfo.h: In member
function 'void llvm::MachineFrameInfo::setStackSize(int)':
/usr/src/Lang/llvm/include/llvm/CodeGen/MachineFrameInfo.h:265: error:
'StackSize' was not declared in this scope
/usr/src/Lang/llvm/include/llvm/CodeGen/MachineFrameInfo.h: In member
function 'bool llvm::MachineFrameInfo::isDeadObjectIndex(int) const':
/usr/src/Lang/ll...