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
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
