OLD | NEW |
1 ============================== | 1 ============================== |
2 PNaCl Bitcode Reference Manual | 2 PNaCl Bitcode Reference Manual |
3 ============================== | 3 ============================== |
4 | 4 |
5 .. contents:: | 5 .. contents:: |
6 :local: | 6 :local: |
7 :backlinks: none | 7 :backlinks: none |
8 :depth: 3 | 8 :depth: 3 |
9 | 9 |
10 Introduction | 10 Introduction |
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
162 PNaCl bitcode does not support volatile memory accesses. The | 162 PNaCl bitcode does not support volatile memory accesses. The |
163 ``volatile`` attribute on loads and stores is not supported. See the | 163 ``volatile`` attribute on loads and stores is not supported. See the |
164 :doc:`pnacl-c-cpp-language-support` for more details. | 164 :doc:`pnacl-c-cpp-language-support` for more details. |
165 | 165 |
166 Memory Model for Concurrent Operations | 166 Memory Model for Concurrent Operations |
167 -------------------------------------- | 167 -------------------------------------- |
168 | 168 |
169 `LLVM LangRef: Memory Model for Concurrent Operations | 169 `LLVM LangRef: Memory Model for Concurrent Operations |
170 <http://llvm.org/releases/3.3/docs/LangRef.html#memmodel>`_ | 170 <http://llvm.org/releases/3.3/docs/LangRef.html#memmodel>`_ |
171 | 171 |
172 See the `PNaCl Developer's Guide <PNaClDeveloperGuide.html>`_ for more | 172 See the :doc:`PNaCl C/C++ Language Support <pnacl-c-cpp-language-support>` |
173 details. | 173 for details. |
174 | 174 |
175 Fast-Math Flags | 175 Fast-Math Flags |
176 --------------- | 176 --------------- |
177 | 177 |
178 `LLVM LangRef: Fast-Math Flags | 178 `LLVM LangRef: Fast-Math Flags |
179 <http://llvm.org/releases/3.3/docs/LangRef.html#fastmath>`_ | 179 <http://llvm.org/releases/3.3/docs/LangRef.html#fastmath>`_ |
180 | 180 |
181 Fast-math mode is not currently supported by the PNaCl bitcode. | 181 Fast-math mode is not currently supported by the PNaCl bitcode. |
182 | 182 |
183 Type System | 183 Type System |
(...skipping 383 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
567 | 567 |
568 declare i1 @llvm.nacl.atomic.is.lock.free(i32 <byte_size>, i8* <address>) | 568 declare i1 @llvm.nacl.atomic.is.lock.free(i32 <byte_size>, i8* <address>) |
569 | 569 |
570 The ``llvm.nacl.atomic.is.lock.free`` intrinsic is designed to | 570 The ``llvm.nacl.atomic.is.lock.free`` intrinsic is designed to |
571 determine at translation time whether atomic operations of a certain | 571 determine at translation time whether atomic operations of a certain |
572 ``byte_size`` (a compile-time constant), at a particular ``address``, | 572 ``byte_size`` (a compile-time constant), at a particular ``address``, |
573 are lock-free or not. This reflects the C11 ``atomic_is_lock_free`` | 573 are lock-free or not. This reflects the C11 ``atomic_is_lock_free`` |
574 function from header ``<stdatomic.h>`` and the C++11 ``is_lock_free`` | 574 function from header ``<stdatomic.h>`` and the C++11 ``is_lock_free`` |
575 member function in header ``<atomic>``. It can be used through the | 575 member function in header ``<atomic>``. It can be used through the |
576 ``__nacl_atomic_is_lock_free`` builtin. | 576 ``__nacl_atomic_is_lock_free`` builtin. |
OLD | NEW |