mirror of
https://github.com/RPCS3/llvm.git
synced 2025-03-03 08:07:51 +00:00
Update per Bill's comments. Work in progress.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90271 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
9836a26da3
commit
0e97e799d7
@ -7263,22 +7263,22 @@ LLVM</a>.</p>
|
|||||||
|
|
||||||
<h5>Overview:</h5>
|
<h5>Overview:</h5>
|
||||||
<p>The <tt>llvm.objectsize</tt> intrinsic returns the constant number of bytes
|
<p>The <tt>llvm.objectsize</tt> intrinsic returns the constant number of bytes
|
||||||
from <tt>ptr</tt> to the end of the object <tt>ptr</tt> points to if it
|
from <tt>ptr</tt> to the end of the object <tt>ptr</tt> points to, if it
|
||||||
can deduce this at compile time. If there are any side-effects in evaluating
|
can deduce this at compile time. If there are any side-effects in evaluating
|
||||||
the argument or it cannot deduce which objects <tt>ptr</tt> points to at compile
|
the argument or it cannot deduce which objects <tt>ptr</tt> points to at compile
|
||||||
time the intrinsic returns <tt>(size_t) -1</tt> for <tt>type</tt> 0
|
time, the intrinsic returns <tt>i32/i64 -1</tt> for <tt>type</tt> 0
|
||||||
or 1 and <tt>(size_t) 0</tt> for <tt>type</tt> 2 or 3.</p>
|
or 1 and <tt>i32/i64 0</tt> for <tt>type</tt> 2 or 3.</p>
|
||||||
|
|
||||||
<h5>Arguments:</h5>
|
<h5>Arguments:</h5>
|
||||||
<p>The <tt>llvm.objectsize</tt> intrinsic takes two arguments. The first
|
<p>The <tt>llvm.objectsize</tt> intrinsic takes two arguments. The first
|
||||||
argument is a pointer to the object <tt>ptr</tt> and an integer <tt>type</tt>.
|
argument is a pointer to the object <tt>ptr</tt>. The second argument
|
||||||
<tt>type</tt> is an integer ranging from 0 to 3. The lsb corresponds to
|
is an integer <tt>type</tt> which ranges from 0 to 3. The first bit
|
||||||
a return value based on whole objects, the second bit whether or not we
|
corresponds to a return value based on whole objects, and the second bit
|
||||||
return the maximum or minimum remaining bytes computed.</p>
|
whether or not we return the maximum or minimum remaining bytes computed.</p>
|
||||||
|
|
||||||
<h5>Semantics:</h5>
|
<h5>Semantics:</h5>
|
||||||
<p>The <tt>llvm.objectsize</tt> intrinsic is lowered to either a constant
|
<p>The <tt>llvm.objectsize</tt> intrinsic is lowered to either a constant
|
||||||
representing the size of the object concerned or <tt>(size_t) -1</tt> if
|
representing the size of the object concerned or <tt>i32/i64 -1</tt> if
|
||||||
it cannot be determined at compile time.</p>
|
it cannot be determined at compile time.</p>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user