[llvm-commits] [PATCH] Add support for VarArg function calls

Jush Lu jush.msn at gmail.com
Wed Jul 11 06:02:23 PDT 2012


*Hi,*
*

This patch turns on VarArg function calls for ARMFastISel, and I only
modified few lines of code in this patch, because variadic function calls
use base standard calling convention to pass arguments and return results, that
means a variadic function call works as noraml function calls, all we need
to do is to avoid using co-processor registers to pass arguments and
results, then variadic function calls will work well.

I also update the test case “test/CodeGen/Thumb2/large-call.ll”, basically
I just replace the “str” with “vstr” in this testcase, becasue FastIsel
uses vfp instructions to handle double precision FP arguments, and I have
run several tests on my arm ios device for large call.

This patch will not give any compiler warning and it passes all test cases
on my mac air and ubuntu desktop. Please review this patch, thanks.*

*Jush*
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20120711/c55a8c61/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: fast-isel-vararg.patch
Type: application/octet-stream
Size: 11523 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20120711/c55a8c61/attachment.obj>


More information about the llvm-commits mailing list