<div dir="ltr">Changes to the IR must be accompanied by changes to LangRef.<div><br></div><div>-- Sean Silva</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Jan 10, 2014 at 6:47 PM, Juergen Ributzka <span dir="ltr"><<a href="mailto:juergen@apple.com" target="_blank">juergen@apple.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi @ll,<br>
<br>
this patch adds two new target-independent calling conventions for runtime calls - Runtime and FastRuntime.<br>
<br>
The target-specific implementation for X86-64 is defined as following:<br>
        - Arguments are passed as for the default C calling convention<br>
        - The same applies for the return value(s)<br>
        - for runtimecc the callee preserves all GPRs - except R11<br>
        - for fastruntimecc the callee preserves all GPRs and all XMMs - except R11<br>
<br>
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.<br>

<br>
The FastRuntime CC is intended to be used for small codes that don’t call any other functions at all.<br>
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.<br>
<br>
Cheers,<br>
Juergen<br>
<br>
<br><br>
<br>
<br>_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
<br></blockquote></div><br></div>