[llvm-dev] RFC: Adding Register Calling Convention Support

Ben Simhon, Oren via llvm-dev llvm-dev at lists.llvm.org
Thu Sep 22 00:07:37 PDT 2016


Hi All,

The Register Calling Convention (RegCall) was introduced by Intel to optimize parameter transfer on function call.
This calling convention ensures that as many values as possible are passed or returned in registers.

To use RegCall, place the keyword before a function declaration. For example:
__regcall int foo (int i, int j); // Windows OS
__attribute__((regcall)) foo (int I, int j); // Linux OS and Mac OS X)

The calling convention is described in more details here:
https://software.intel.com/en-us/node/693069

We are adding support for RegCall calling convention for Clang and LLVM IR.
The first step will include the implementation for LLVM IR.

I will appreciate your comments.

Thanks,
Oren

---------------------------------------------------------------------
Intel Israel (74) Limited

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160922/42d306e3/attachment.html>


More information about the llvm-dev mailing list