OLD | NEW |
1 {{+bindTo:partials.standard_nacl_article}} | 1 {{+bindTo:partials.standard_nacl_article}} |
2 | 2 |
3 <section id="pnacl-bitcode-reference-manual"> | 3 <section id="pnacl-bitcode-reference-manual"> |
4 <h1 id="pnacl-bitcode-reference-manual">PNaCl Bitcode Reference Manual</h1> | 4 <h1 id="pnacl-bitcode-reference-manual">PNaCl Bitcode Reference Manual</h1> |
5 <div class="contents local" id="contents" style="display: none"> | 5 <div class="contents local" id="contents" style="display: none"> |
6 <ul class="small-gap"> | 6 <ul class="small-gap"> |
7 <li><a class="reference internal" href="#introduction" id="id1">Introduction</a>
</li> | 7 <li><a class="reference internal" href="#introduction" id="id1">Introduction</a>
</li> |
8 <li><p class="first"><a class="reference internal" href="#high-level-structure"
id="id2">High Level Structure</a></p> | 8 <li><p class="first"><a class="reference internal" href="#high-level-structure"
id="id2">High Level Structure</a></p> |
9 <ul class="small-gap"> | 9 <ul class="small-gap"> |
10 <li><a class="reference internal" href="#data-model" id="id3">Data Model</a></li
> | 10 <li><a class="reference internal" href="#data-model" id="id3">Data Model</a></li
> |
(...skipping 289 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
300 </li> | 300 </li> |
301 <li><p class="first"><code>bitcast</code></p> | 301 <li><p class="first"><code>bitcast</code></p> |
302 <p>The pointer argument of a <code>bitcast</code> instruction must be a <em>inhe
rent</em> pointer | 302 <p>The pointer argument of a <code>bitcast</code> instruction must be a <em>inhe
rent</em> pointer |
303 (see <a class="reference internal" href="#bitcode-pointertypes"><em>pointer type
s</em></a>).</p> | 303 (see <a class="reference internal" href="#bitcode-pointertypes"><em>pointer type
s</em></a>).</p> |
304 </li> | 304 </li> |
305 <li><code>icmp</code></li> | 305 <li><code>icmp</code></li> |
306 <li><code>fcmp</code></li> | 306 <li><code>fcmp</code></li> |
307 <li><code>phi</code></li> | 307 <li><code>phi</code></li> |
308 <li><code>select</code></li> | 308 <li><code>select</code></li> |
309 <li><code>call</code></li> | 309 <li><code>call</code></li> |
| 310 <li><code>unreachable</code></li> |
310 </ul> | 311 </ul> |
311 </section><section id="alloca"> | 312 </section><section id="alloca"> |
312 <span id="bitcode-allocainst"></span><h3 id="alloca"><span id="bitcode-allocains
t"></span><code>alloca</code></h3> | 313 <span id="bitcode-allocainst"></span><h3 id="alloca"><span id="bitcode-allocains
t"></span><code>alloca</code></h3> |
313 <p>The only allowed type for <code>alloca</code> instructions in PNaCl bitcode i
s i8. The | 314 <p>The only allowed type for <code>alloca</code> instructions in PNaCl bitcode i
s i8. The |
314 size argument must be an i32. For example:</p> | 315 size argument must be an i32. For example:</p> |
315 <pre> | 316 <pre> |
316 %buf = alloca i8, i32 8, align 4 | 317 %buf = alloca i8, i32 8, align 4 |
317 </pre> | 318 </pre> |
318 </section></section><section id="intrinsic-functions"> | 319 </section></section><section id="intrinsic-functions"> |
319 <h2 id="intrinsic-functions">Intrinsic Functions</h2> | 320 <h2 id="intrinsic-functions">Intrinsic Functions</h2> |
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
446 <p>The <code>llvm.nacl.atomic.is.lock.free</code> intrinsic is designed to | 447 <p>The <code>llvm.nacl.atomic.is.lock.free</code> intrinsic is designed to |
447 determine at translation time whether atomic operations of a certain | 448 determine at translation time whether atomic operations of a certain |
448 <code>byte_size</code> (a compile-time constant), at a particular <code>address<
/code>, | 449 <code>byte_size</code> (a compile-time constant), at a particular <code>address<
/code>, |
449 are lock-free or not. This reflects the C11 <code>atomic_is_lock_free</code> | 450 are lock-free or not. This reflects the C11 <code>atomic_is_lock_free</code> |
450 function from header <code><stdatomic.h></code> and the C++11 <code>is_loc
k_free</code> | 451 function from header <code><stdatomic.h></code> and the C++11 <code>is_loc
k_free</code> |
451 member function in header <code><atomic></code>. It can be used through th
e | 452 member function in header <code><atomic></code>. It can be used through th
e |
452 <code>__nacl_atomic_is_lock_free</code> builtin.</p> | 453 <code>__nacl_atomic_is_lock_free</code> builtin.</p> |
453 </section></section></section> | 454 </section></section></section> |
454 | 455 |
455 {{/partials.standard_nacl_article}} | 456 {{/partials.standard_nacl_article}} |
OLD | NEW |