[PATCH] Add two new calling conventions for runtime calls
Juergen Ributzka
juergen at apple.com
Fri Jan 10 19:45:30 PST 2014
New rebased patch and a small fix to the label check in the unit test.
Cheers,
Juergen
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0002-Add-two-new-calling-conventions-for-runtime-calls.patch
Type: application/octet-stream
Size: 15125 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140110/bb81726e/attachment.obj>
-------------- next part --------------
On Jan 10, 2014, at 3:47 PM, Juergen Ributzka <juergen at apple.com> wrote:
> Hi @ll,
>
> this patch adds two new target-independent calling conventions for runtime calls - Runtime and FastRuntime.
>
> The target-specific implementation for X86-64 is defined as following:
> - Arguments are passed as for the default C calling convention
> - The same applies for the return value(s)
> - for runtimecc the callee preserves all GPRs - except R11
> - for fastruntimecc the callee preserves all GPRs and all XMMs - except R11
>
> The idea is to provide calling conventions for calls to very hot runtime functions that are normally just a few lines of assembly code and don’t require a lot of registers. This could be used by the ObjectiveC runtime, or any other runtime that provides performance critical functions.
>
> The FastRuntime CC is intended to be used for small codes that don’t call any other functions at all.
> The Runtime CC is also intended for small codes that usually don’t call other functions on the fast path, but might have to on the slow path.
>
> Cheers,
> Juergen
>
> <0001-Add-two-new-calling-conventions-for-runtime-calls.patch>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
More information about the llvm-commits
mailing list