Add one-past-the-end language to the inbounds keyword.

llvm-svn: 77460
This commit is contained in:
Dan Gohman 2009-07-29 16:00:30 +00:00
parent a3af79a5c3
commit 394863c49d

View File

@ -3998,10 +3998,13 @@ entry:
</pre> </pre>
<p>If the <tt>inbounds</tt> keyword is present, the result value of the <p>If the <tt>inbounds</tt> keyword is present, the result value of the
<tt>getelementptr</tt> is undefined if the base pointer is not pointing <tt>getelementptr</tt> is undefined if the base pointer is not an
into an allocated object, or if any of the addresses formed by successive <i>in bounds</i> address of an allocated object, or if any of the addresses
addition of the offsets implied by the indices to the base address is formed by successive addition of the offsets implied by the indices to
outside of the allocated object into which the base pointer points.</p> the base address are not an <i>in bounds</i> address of that allocated
object.
The <i>in bounds</i> addresses for an allocated object are all the addresses
that point into the object, plus the address one past the end.</p>
<p>If the <tt>inbounds</tt> keyword is not present, the offsets are added to <p>If the <tt>inbounds</tt> keyword is not present, the offsets are added to
the base address with silently-wrapping two's complement arithmetic, and the base address with silently-wrapping two's complement arithmetic, and