mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-17 21:29:20 +00:00
Document llvm.prefetch, patch contributed by Justin Wick!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20373 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
e699e95571
commit
9a9d7ac835
@ -125,6 +125,7 @@
|
||||
<ol>
|
||||
<li><a href="#i_returnaddress">'<tt>llvm.returnaddress</tt>' Intrinsic</a></li>
|
||||
<li><a href="#i_frameaddress">'<tt>llvm.frameaddress</tt>' Intrinsic</a></li>
|
||||
<li><a href="#i_prefetch">'<tt>llvm.prefetch</tt>' Intrinsic</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
<li><a href="#int_os">Operating System Intrinsics</a>
|
||||
@ -2499,6 +2500,52 @@ source-language caller.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<!-- _______________________________________________________________________ -->
|
||||
<div class="doc_subsubsection">
|
||||
<a name="i_prefetch">'<tt>llvm.prefetch</tt>' Intrinsic</a>
|
||||
</div>
|
||||
|
||||
<div class="doc_text">
|
||||
|
||||
<h5>Syntax:</h5>
|
||||
<pre>
|
||||
call void (sbyte *, uint, uint)* %llvm.prefetch(sbyte * <address>,
|
||||
uint <rw>,
|
||||
uint <locality>)
|
||||
</pre>
|
||||
|
||||
<h5>Overview:</h5>
|
||||
|
||||
|
||||
<p>
|
||||
The '<tt>llvm.prefetch</tt>' intrinsic is a hint to the code generator to insert
|
||||
a prefetch instruction if supported, otherwise it is a noop. Prefetches have no
|
||||
behavior affect on the program, but can change the performance characteristics
|
||||
of the code.
|
||||
</p>
|
||||
|
||||
<h5>Arguments:</h5>
|
||||
|
||||
<p>
|
||||
<tt>address</tt> is the address to be prefetched, <tt>rw</tt> is the specifier
|
||||
determining if the fetch should be for a read (0) or write (1), and
|
||||
<tt>locality</tt> is a temporal locality specifier ranging from (0) - no
|
||||
locality, to (3) - exteremely local keep in cache. The <tt>rw</tt> and
|
||||
<tt>locality</tt> arguments must be constant integers.
|
||||
</p>
|
||||
|
||||
<h5>Semantics:</h5>
|
||||
|
||||
<p>
|
||||
This intrinsic does not modify the behavior of the program. In particular,
|
||||
prefetches cannot trap and do not produce a value. On targets that support this
|
||||
intrinsic, the prefetch can provide hints to the processor cache for better
|
||||
performance.
|
||||
</p>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<!-- ======================================================================= -->
|
||||
<div class="doc_subsection">
|
||||
<a name="int_os">Operating System Intrinsics</a>
|
||||
|
Loading…
Reference in New Issue
Block a user