Fix PR15293: ARM codegen ice - expected larger existing stack allocation
Stepan Dyatkovskiy
stpworld at narod.ru
Fri Apr 5 05:24:57 PDT 2013
Hi all!
Please find new patch in attachment.
Patch adds support for multiple small byval parameters that are enough
small to be stored in register. It replaces the term of
"FirstByValRegister" and friends with collection of ByValInfo structure
instances.
ByValInfo contains information about single byval parameter that is
stored in registers.
Patch also introduces the difference between actions:
allocate-stack-frame-for-byval-param and allocate-stack-frame for
var-arg registers.
In this patch you can also see how different use-cases of
ARMFunctionInfo::VarArgsRegSaveSize and ARMFunctionInfo::VarArgsFrameIndex.
I propose to rename the first one to "ByValRegSaveSize", since main role
of this property is to generate prologue and epilogue properly, Since,
while prologue or epilogue are emitted this field answers on question
"how much registers are used for byval parameters?".
Patch also fixes PR15293, so regression test is included.
-Stepan.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pr15293-2013-04-05-3.patch
Type: text/x-diff
Size: 18780 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130405/e867e06f/attachment.patch>
More information about the llvm-commits
mailing list