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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79538 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/docs/LangRef.html b/docs/LangRef.html
index 9ef7cce..384c120 100644
--- a/docs/LangRef.html
+++ b/docs/LangRef.html
@@ -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