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 +...