[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