Hi,

 

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.

 

Oliver

Attachment: gpr-stack-split-after-cprc-on-stack.patch
Description: Binary data

_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to