X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=docs%2FLangRef.html;h=7b70c43831eb2d4d8e38ec42caf2b87f46f2e65f;hb=312a68c4ce08b7ce6e6312383bd1db4ed4cfefcb;hp=65cb4ea968d5c94e322bdb039fdc725c8faa1383;hpb=c29b125a9993793bd0a9b4a89b255a71a45371ad;p=oota-llvm.git diff --git a/docs/LangRef.html b/docs/LangRef.html index 65cb4ea968d..7b70c43831e 100644 --- a/docs/LangRef.html +++ b/docs/LangRef.html @@ -295,7 +295,7 @@ These different primitive types fall into a few useful classifications:

- + @@ -1193,9 +1193,10 @@ argument is unsigned, zero bits shall fill the empty positions.

Example:
   <result> = shr int 4, ubyte %var   ; yields {int}:result = 4 >> %var
-  <result> = shr int 4, ubyte 1      ; yields {int}:result = 2
+  <result> = shr uint 4, ubyte 1     ; yields {uint}:result = 2
   <result> = shr int 4, ubyte 2      ; yields {int}:result = 1
-  <result> = shr int 4, ubyte 3      ; yields {int}:result = 0
+  <result> = shr sbyte 4, ubyte 3    ; yields {sbyte}:result = 0
+  <result> = shr sbyte -2, ubyte 1   ; yields {sbyte}:result = -1
 
@@ -1697,7 +1698,7 @@ int %test(int %X, ...) { %aq = alloca sbyte* ; Initialize variable argument processing - call void (sbyte**, ...)* %llvm.va_start(sbyte** %ap, int %X) + call void (sbyte**)* %llvm.va_start(sbyte** %ap) ; Read a single integer argument %tmp = va_arg sbyte** %ap, int @@ -1718,7 +1719,7 @@ int %test(int %X, ...) {
Syntax:
-  call void (va_list*, ...)* %llvm.va_start(<va_list>* <arglist>, <argument>)
+  call void (va_list*)* %llvm.va_start(<va_list>* <arglist>)
 
Overview:
@@ -1730,18 +1731,16 @@ invoked.

Arguments:
-The first argument is a pointer to a va_list element to initialize. -The second argument is required to be the last LLVM argument before the -ellipsis. In the future, this restriction may be relaxed (to allow it to be -other arguments).

+The argument is a pointer to a va_list element to initialize.

Semantics:
The 'llvm.va_start' intrinsic works just like the va_start macro available in C. In a target-dependent way, it initializes the -va_list element the first argument points to, so that the next call to -va_arg will produce the first variable argument passed to the -function.

+va_list element the argument points to, so that the next call to +va_arg will produce the first variable argument passed to the function. +Unlike the C va_start macro, this intrinsic does not need to know the +last argument of the function, the compiler can figure that out.

@@ -1812,7 +1811,7 @@ arbitrarily complex and require memory allocation, for example.

Chris Lattner
-Last modified: Thu May 8 00:06:36 CDT 2003 +Last modified: Wed Jun 18 16:29:55 CDT 2003
signed sbyte, short, int, long, float, double
unsignedubyte, ushort, uint, ulong
integerubyte, sbyte, ushort, short, uint, int, ulong, long
integerubyte, sbyte, ushort, short, uint, int, ulong, long
integralbool, ubyte, sbyte, ushort, short, uint, int, ulong, long
floating pointfloat, double
first classbool, ubyte, sbyte, ushort, short,
uint, int, ulong, long, float, double, pointer