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