Changes in directory llvm/docs:
LangRef.html updated: 1.179 -> 1.180 --- Log message: Preview of new calling conventions: cextcc and csretextcc to handle explicit sign and zero extension in function calls. --- Diffs of the changes: (+27 -2) LangRef.html | 29 +++++++++++++++++++++++++++-- 1 files changed, 27 insertions(+), 2 deletions(-) Index: llvm/docs/LangRef.html diff -u llvm/docs/LangRef.html:1.179 llvm/docs/LangRef.html:1.180 --- llvm/docs/LangRef.html:1.179 Fri Dec 8 11:13:00 2006 +++ llvm/docs/LangRef.html Thu Dec 28 10:55:55 2006 @@ -519,9 +519,26 @@ <dd>This calling convention (the default if no other calling convention is specified) matches the target C calling conventions. This calling convention supports varargs function calls and tolerates some mismatch in the declared - prototype and implemented declaration of the function (as does normal C). + prototype and implemented declaration of the function (as does normal C). For + integer arguments less than 32-bits, the value will be sign-extended to + 32-bits before the call is made. If zero-extension is required, use the + <tt>cextcc</tt> calling convention. </dd> + <dt><b>"<tt>cextcc(bitmask)</tt>" - The C with explicit extend calling + convention </b>:</dt> + <dd>This calling convention is exactly like the C calling convention except + that it is parameterized to provide a <tt>bitmask</tt> that indicates how + integer arguments of less than 32-bits should be extended. A zero bit + indicates zero-extension while a 1-bit indicates sign-extension. The least + significant bit always corresponds to the return type of the function. The + bits in the <tt>bitmask</tt> are assigned to the integer parameters of the + function that are smaller than 32-bits. For example, a bitmask of value + 5 (0b0101) indicates that the return value is to be sign extended, the first + small integer argument is to be zero extended and the second small integer + argument is to be sign extended.</dd> + + <dt><b>"<tt>csretcc</tt>" - The C struct return calling convention</b>:</dt> <dd>This calling convention matches the target C calling conventions, except @@ -535,6 +552,14 @@ pointer to a struct as the first argument. </dd> + <dt><b>"<tt>csretextcc(bitmask)</tt>" - The C struct return with explicit + extend calling convention</b>:</dt> + <dd>This calling convention is exactly like the <tt>csret</tt> calling + convention except that it is parameterized to provide a <tt>bitmask</tt> + that indicates how integer arguments of less than 32-bits should be extended. + A zero bit indicates zero-extension while a 1-bit indicates sign-extension. + </dd> + <dt><b>"<tt>fastcc</tt>" - The fast calling convention</b>:</dt> <dd>This calling convention attempts to make calls as fast as possible @@ -4468,7 +4493,7 @@ <a href="mailto:[EMAIL PROTECTED]">Chris Lattner</a><br> <a href="http://llvm.org">The LLVM Compiler Infrastructure</a><br> - Last modified: $Date: 2006/12/08 17:13:00 $ + Last modified: $Date: 2006/12/28 16:55:55 $ </address> </body> </html> _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits