[PATCH] Add two new calling conventions for runtime calls

Lang Hames lhames at gmail.com
Wed Jan 15 10:41:30 PST 2014


Hi Juergen,

If these calling conventions are intended to be generic, should a
description be added to the LangRef?

Otherwise LGTM.

- Lang.

On Tue, Jan 14, 2014 at 3:11 PM, Juergen Ributzka <juergen at apple.com> wrote:
> ping
>
> On Jan 10, 2014, at 7:45 PM, Juergen Ributzka <juergen at apple.com> wrote:
>
>> New rebased patch and a small fix to the label check in the unit test.
>>
>> Cheers,
>> Juergen
>>
>> <0002-Add-two-new-calling-conventions-for-runtime-calls.patch>
>> 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
>>
>
>
> _______________________________________________
> 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