[PATCH] AAPCS: Cannot split argument between GPRs and the stack after a CPRC has been allocated to the stack
Oliver Stannard
oliver.stannard at arm.com
Sat Feb 8 14:10:03 PST 2014
olista01 added you to the CC list for the revision "AAPCS: Cannot split argument between GPRs and the stack after a CPRC has been allocated to the stack".
Hi rengolin,
According to the AAPCS, arguments can only be split between GPRs and the stack if no prior arguments have been allocated to the stack. This situation can occur if there a large number of floating-point arguments, not all of which can be allocated to VFP registers. Currently, llvm/clang does not understand this.
Unfortunately, since the llvm backend does not know about structs, this has to be fixed in clang. The attached patch extends a similar mechanism currently used for homogeneous aggregates, to insert dummy arguments to prevent the general-purpose registers being used incorrectly.
http://llvm-reviews.chandlerc.com/D2726
Files:
lib/CodeGen/TargetInfo.cpp
test/CodeGen/arm-aapcs-vfp.c
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D2726.1.patch
Type: text/x-patch
Size: 13237 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20140208/905a3fd8/attachment.bin>
More information about the cfe-commits
mailing list