[llvm] r194428 - Fix the recently added anyregcc convention to handle spilled operands.

Andrew Trick atrick at apple.com
Tue Nov 12 19:15:09 PST 2013


On Nov 12, 2013, at 6:50 PM, Filip Pizlo <fpizlo at apple.com> wrote:

>> , and it's not difficult to imagine a scenario where this number gets goofed via a typo, or across architectures, etc.; If it doesn't have one already, I would recommend making sure that JSC has a test that pushes up against the limit of this number)
> 
> JSC won't have any tests for this.  In JSC there is no such thing as an inline cache (i.e. patchpoint) that uses AnyRegCC and has a variable number of arguments.  I suspect that this can be generalized to other clients of patchpoints.  To me, the only reason why it's vararg on the LLVM side is to ensure that LLVM doesn't have to know anything about the source language construct that caused it.
> 

This is just a matter of generalizing the LLVM intrinsics so they aren’t WebKit specific. The frontend has to explicitly request a fixed number of arguments that must be in registers. Any remaining arguments do not need to be in registers. If the frontend requests more then a few register arguments, it’s doing something wrong.

-Andy 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20131112/ce3d3e5c/attachment.html>


More information about the llvm-commits mailing list