[llvm-commits] [llvm] r45855 - /llvm/trunk/docs/LangRef.html
Chris Lattner
sabre at nondot.org
Thu Jan 10 22:20:50 PST 2008
Author: lattner
Date: Fri Jan 11 00:20:47 2008
New Revision: 45855
URL: http://llvm.org/viewvc/llvm-project?rev=45855&view=rev
Log:
document the byval parameter attribute.
Modified:
llvm/trunk/docs/LangRef.html
Modified: llvm/trunk/docs/LangRef.html
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/docs/LangRef.html?rev=45855&r1=45854&r2=45855&view=diff
==============================================================================
--- llvm/trunk/docs/LangRef.html (original)
+++ llvm/trunk/docs/LangRef.html Fri Jan 11 00:20:47 2008
@@ -799,27 +799,41 @@
<dt><tt>zeroext</tt></dt>
<dd>This indicates that the parameter should be zero extended just before
a call to this function.</dd>
+
<dt><tt>signext</tt></dt>
<dd>This indicates that the parameter should be sign extended just before
a call to this function.</dd>
+
<dt><tt>inreg</tt></dt>
<dd>This indicates that the parameter should be placed in register (if
possible) during assembling function call. Support for this attribute is
target-specific</dd>
+
+ <dt><tt>byval</tt></dt>
+ <dd>This indicates that the pointer parameter is really an aggregate that
+ was passed by value to the function. The attribute implies that a hidden
+ copy of the struct is made between the caller and the callee, so the
+ callee is unable to modify the struct in the callee. This attribute is only
+ valid on llvm pointer arguments.</dd>
+
<dt><tt>sret</tt></dt>
<dd>This indicates that the parameter specifies the address of a structure
that is the return value of the function in the source program.</dd>
+
<dt><tt>noalias</tt></dt>
<dd>This indicates that the parameter not alias any other object or any
other "noalias" objects during the function call.
+
<dt><tt>noreturn</tt></dt>
<dd>This function attribute indicates that the function never returns. This
indicates to LLVM that every call to this function should be treated as if
an <tt>unreachable</tt> instruction immediately followed the call.</dd>
+
<dt><tt>nounwind</tt></dt>
<dd>This function attribute indicates that the function type does not use
the unwind instruction and does not allow stack unwinding to propagate
through it.</dd>
+
<dt><tt>nest</tt></dt>
<dd>This indicates that the parameter can be excised using the
<a href="#int_trampoline">trampoline intrinsics</a>.</dd>
More information about the llvm-commits
mailing list