[llvm-commits] [llvm] r41785 - /llvm/trunk/docs/LangRef.html
Nick Lewycky
nicholas at mxc.ca
Sat Sep 8 06:57:51 PDT 2007
Author: nicholas
Date: Sat Sep 8 08:57:50 2007
New Revision: 41785
URL: http://llvm.org/viewvc/llvm-project?rev=41785&view=rev
Log:
Fix description of the call instruction. There are two types, with one being
optional.
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=41785&r1=41784&r2=41785&view=diff
==============================================================================
--- llvm/trunk/docs/LangRef.html (original)
+++ llvm/trunk/docs/LangRef.html Sat Sep 8 08:57:50 2007
@@ -3581,7 +3581,7 @@
<h5>Syntax:</h5>
<pre>
- <result> = [tail] call [<a href="#callingconv">cconv</a>] <ty>* <fnptrval>(<param list>)
+ <result> = [tail] call [<a href="#callingconv">cconv</a>] <ty> [<fnty>*] <fnptrval>(<param list>)
</pre>
<h5>Overview:</h5>
@@ -3606,10 +3606,15 @@
to using C calling conventions.
</li>
<li>
- <p>'<tt>ty</tt>': shall be the signature of the pointer to function value
- being invoked. The argument types must match the types implied by this
- signature. This type can be omitted if the function is not varargs and
- if the function type does not return a pointer to a function.</p>
+ <p>'<tt>ty</tt>': the type of the call instruction itself which is also
+ the type of the return value. Functions that return no value are marked
+ <tt><a href="#t_void">void</a></tt>.</p>
+ </li>
+ <li>
+ <p>'<tt>fnty</tt>': shall be the signature of the pointer to function
+ value being invoked. The argument types must match the types implied by
+ this signature. This type can be omitted if the function is not varargs
+ and if the function type does not return a pointer to a function.</p>
</li>
<li>
<p>'<tt>fnptrval</tt>': An LLVM value containing a pointer to a function to
@@ -3639,10 +3644,11 @@
<h5>Example:</h5>
<pre>
- %retval = call i32 %test(i32 %argc)
- call i32(i8 *, ...) *%printf(i8 * %msg, i32 12, i8 42);
- %X = tail call i32 %foo()
- %Y = tail call <a href="#callingconv">fastcc</a> i32 %foo()
+ %retval = call i32 @test(i32 %argc)
+ call i32 (i8 *, ...)* @printf(i8 * %msg, i32 12, i8 42);
+ %X = tail call i32 @foo()
+ %Y = tail call <a href="#callingconv">fastcc</a> i32 @foo()
+ %Z = call void %foo(i8 97 signext)
</pre>
</div>
More information about the llvm-commits
mailing list