search for: maxcallframesize

Displaying 7 results from an estimated 7 matches for "maxcallframesize".

2015 Nov 17
3
asan for allocas on powerpc64
...tackrestore is the new > native sp register value to restore, and this code is assuming that > that will be a higher address than all the allocas that are being > unallocated. But on PowerPC64, the native sp is always lower than the > address of the most recent alloca by MaxCallFrameSize bytes, to leave > space for outgoing call arguments. So I think the second argument to > __asan_allocas_unpoison needs to be SaveRestoreInst->getOperand(0) + > MaxCallFrameSize, but I don't know how to implement that. > > Thoughts? > Yeah, you are right, we...
2015 Nov 23
2
asan for allocas on powerpc64
...native sp register value to restore, and this code is assuming that >>> that will be a higher address than all the allocas that are being >>> unallocated. But on PowerPC64, the native sp is always lower than the >>> address of the most recent alloca by MaxCallFrameSize bytes, to leave >>> space for outgoing call arguments. So I think the second argument to >>> __asan_allocas_unpoison needs to be SaveRestoreInst->getOperand(0) + >>> MaxCallFrameSize, but I don't know how to implement that. >>> >>>...
2015 Nov 12
4
Fwd: asan for allocas on powerpc64
...the problem is that the operand to stackrestore is the new native sp register value to restore, and this code is assuming that that will be a higher address than all the allocas that are being unallocated. But on PowerPC64, the native sp is always lower than the address of the most recent alloca by MaxCallFrameSize bytes, to leave space for outgoing call arguments. So I think the second argument to __asan_allocas_unpoison needs to be SaveRestoreInst->getOperand(0) + MaxCallFrameSize, but I don't know how to implement that. Thoughts? Thanks, Jay.
2006 Oct 08
1
[LLVMdev] should PEI::calculateFrameObjectOffsets align the stack?
...The PEI code needs to know how much stack space is > required for each call to allocate and align the stack frame properly. It > gets this info from the ADJCALLSTACK instructions. I see. Looking at PEI::calculateCalleeSavedRegisters shows that the ADJCALLSTACK instructions is used to set up MaxCallFrameSize. Adding debug prints also show that in the example code the ADJCALLSTACK argument is 4. I believe that this is the correct argument for only a 32bit integer is passed on the stack. The problem is that MaxCallFrameSize is **not** used in PEI::calculateFrameObjectOffsets and it must then be used in...
2015 Nov 23
2
asan for allocas on powerpc64
In LowerGET_DYNAMIC_AREA_OFFSET() you're calling MFI->getMaxCallFrameSize(), but it looks like that doesn't return useful information until after the PrologEpilogInserter's PEI::calculateCallsInformation() has run. So maybe the lowering has to be done as part of frame index elimination? (I'm not too familiar with this code.) Jay. On 23 November 2015 at 13:...
2006 Oct 07
0
[LLVMdev] should PEI::calculateFrameObjectOffsets align the stack?
On Sat, 7 Oct 2006, [UTF-8] Rafael Esp?ndola wrote: >> This sounds like the ADJCALLSTACK DOWN/UP 'instructions' around the call >> aren't set right, or you have declared a SP offset. It doesn't look like >> the ARM backend does this, so this is probably the problem. > The ARM backend currently doesn't use a frame pointer. It uses the > same technique
2006 Oct 07
2
[LLVMdev] should PEI::calculateFrameObjectOffsets align the stack?
...problem. The ARM backend currently doesn't use a frame pointer. It uses the same technique of the PPC backend to avoid add/subs around calls. In the PPC backend we have: ---------------------------------------------------------------------- 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 +...