diff options
author | Reid Spencer <rspencer@reidspencer.com> | 2006-12-03 16:53:48 +0000 |
---|---|---|
committer | Reid Spencer <rspencer@reidspencer.com> | 2006-12-03 16:53:48 +0000 |
commit | c031269ee3069d836facafb3c6320cf497185c12 (patch) | |
tree | e4e6f787885a0cfe01a81cb317bd2b981192c603 | |
parent | fb6ce95002f737671a20133fed344e066d93128a (diff) | |
download | bcm5719-llvm-c031269ee3069d836facafb3c6320cf497185c12.tar.gz bcm5719-llvm-c031269ee3069d836facafb3c6320cf497185c12.zip |
Update for signless GEP semantics.
llvm-svn: 32159
-rw-r--r-- | llvm/docs/LangRef.html | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/llvm/docs/LangRef.html b/llvm/docs/LangRef.html index 5b7b1256efb..7f0353102fa 100644 --- a/llvm/docs/LangRef.html +++ b/llvm/docs/LangRef.html @@ -2491,9 +2491,9 @@ elements of the aggregate object to index to. The actual types of the arguments 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> <p>For example, let's consider a C code fragment and how it gets compiled to LLVM:</p> @@ -2534,9 +2534,10 @@ compiled to LLVM:</p> <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. <a href="#t_struct">Structure</a> types, require <tt>uint</tt> +<b>constants</b>.</p> <p>In the example above, the first index is indexing into the '<tt>%ST*</tt>' type, which is a pointer, yielding a '<tt>%ST</tt>' = '<tt>{ int, double, %RT |