[llvm-commits] CVS: llvm/docs/LangRef.html
Chris Lattner
clattner at apple.com
Mon Dec 4 10:29:32 PST 2006
> Index: llvm/docs/LangRef.html
> diff -u llvm/docs/LangRef.html:1.174 llvm/docs/LangRef.html:1.175
> --- llvm/docs/LangRef.html:1.174 Mon Nov 27 15:53:28 2006
> +++ llvm/docs/LangRef.html Sun Dec 3 10:53:48 2006
> @@ -2491,9 +2491,9 @@
> provided depend on the type of the first pointer argument. The
> '<tt>getelementptr</tt>' instruction is used to index down through
> the type
> levels of a structure or to a specific index in an array. When
> indexing into a
> -structure, only <tt>uint</tt>
> -integer constants are allowed. When indexing into an array or
> pointer,
> -<tt>int</tt> and <tt>long</tt> and <tt>ulong</tt> indexes are
> allowed.</p>
> +structure, only <tt>uint</tt> integer constants are allowed. When
> indexing
> +into an array or pointer, integers of any size are allowed, and
> will be sign
> +extended to 64-bit values.</p>
I thought only 32- and 64-bit integers were allowed?
> <p>For example, let's consider a C code fragment and how it gets
> compiled to LLVM:</p>
> @@ -2534,9 +2534,10 @@
>
> <p>The index types specified for the '<tt>getelementptr</tt>'
> instruction depend
> on the pointer type that is being indexed into. <a
> href="#t_pointer">Pointer</a>
> -and <a href="#t_array">array</a> types require <tt>int</tt>,
> -<tt>ulong</tt>, or <tt>long</tt> values, and <a
> href="#t_struct">structure</a>
> -types require <tt>uint</tt> <b>constants</b>.</p>
> +and <a href="#t_array">array</a> types can use any
> +<a href="#t_integer">integer</a> type but the value will always be
> sign extended
> +to 64-bits.
Likewise. Also, please add 'packed' to the list.
Thanks,
-Chris
More information about the llvm-commits
mailing list