[llvm-commits] [llvm] r79538 - /llvm/trunk/docs/LangRef.html

Dan Gohman gohman at apple.com
Thu Aug 20 10:08:17 PDT 2009


Author: djg
Date: Thu Aug 20 12:08:17 2009
New Revision: 79538

URL: http://llvm.org/viewvc/llvm-project?rev=79538&view=rev
Log:
Clarify a few things in the inbounds description.

Describing inbounds in terms of infinitely precise arithmetic prohibits
the assumption address-space-sized integer arithmetic will wrap, with
a wrapped-around value landing within the same object.

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=79538&r1=79537&r2=79538&view=diff

==============================================================================
--- llvm/trunk/docs/LangRef.html (original)
+++ llvm/trunk/docs/LangRef.html Thu Aug 20 12:08:17 2009
@@ -4004,11 +4004,11 @@
 <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 an
    <i>in bounds</i> address of an allocated object, or if any of the addresses
-   formed by successive addition of the offsets implied by the indices to
-   the base address are not an <i>in bounds</i> address of that allocated
-   object.
+   that would be formed by successive addition of the offsets implied by the
+   indices to the base address with infinitely precise arithmetic 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>
+   that point into the object, plus the address one byte past the end.</p>
 
 <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





More information about the llvm-commits mailing list