[llvm-commits] [ARM] Extra frame for non-VA byval parameter
Stepan Dyatkovskiy
stpworld at narod.ru
Tue Oct 9 12:24:39 PDT 2012
Hi Manman,
> The stack object created in VarArgStyleRegisters is for the first part of the struct,
> the stack object created in LowerFormalArguments is for the remainder part and these two parts do not overlap.
> So I do not think we need dependencies between these two frames.
>
> Can you attach a testing case with this patch so I can take a deeper look at this?
"byval" registers are stored in FixedStack "A". As I found FixedStack
"B" is assigned to the *entire* parameter but with size of remained
part. Just look at ARMTargetLowering::LowerFormalArguments, string
"InVals.push_back(DAG.getFrameIndex(FI, getPointerTy()));"
Stack object for byval registers stay alone, no farther references to it.
I try to present testcase tomorrow.
-Stepan.
More information about the llvm-commits
mailing list