projects
/
oota-llvm.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[x86] Allow address-size overrides for STOS[BWLQ] (PR9385)
[oota-llvm.git]
/
docs
/
BitCodeFormat.rst
diff --git
a/docs/BitCodeFormat.rst
b/docs/BitCodeFormat.rst
index bd26f7b1502e294d1e37971f1a9df1f869886cc9..38b4010483a13b084b43cc3e12f13d822f057e6e 100644
(file)
--- a/
docs/BitCodeFormat.rst
+++ b/
docs/BitCodeFormat.rst
@@
-1,5
+1,3
@@
-.. _bitcode_format:
-
.. role:: raw-html(raw)
:format: html
.. role:: raw-html(raw)
:format: html
@@
-54,8
+52,8
@@
structure. This structure consists of the following concepts:
* Abbreviations, which specify compression optimizations for the file.
* Abbreviations, which specify compression optimizations for the file.
-Note that the
`llvm-bcanalyzer <CommandGuide/html/llvm-bcanalyzer.html>`_ tool
-
can be
used to dump and inspect arbitrary bitstreams, which is very useful for
+Note that the
:doc:`llvm-bcanalyzer <CommandGuide/llvm-bcanalyzer>` tool can be
+used to dump and inspect arbitrary bitstreams, which is very useful for
understanding the encoding.
.. _magic number:
understanding the encoding.
.. _magic number:
@@
-660,7
+658,7
@@
for each library name referenced.
MODULE_CODE_GLOBALVAR Record
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
MODULE_CODE_GLOBALVAR Record
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-``[GLOBALVAR, pointer type, isconst, initid, linkage, alignment, section, visibility, threadlocal, unnamed_addr]``
+``[GLOBALVAR, pointer type, isconst, initid, linkage, alignment, section, visibility, threadlocal, unnamed_addr
, dllstorageclass
]``
The ``GLOBALVAR`` record (code 7) marks the declaration or definition of a
global variable. The operand fields are:
The ``GLOBALVAR`` record (code 7) marks the declaration or definition of a
global variable. The operand fields are:
@@
-715,12
+713,20
@@
global variable. The operand fields are:
* *unnamed_addr*: If present and non-zero, indicates that the variable has
``unnamed_addr``
* *unnamed_addr*: If present and non-zero, indicates that the variable has
``unnamed_addr``
+.. _dllstorageclass:
+
+* *dllstorageclass*: If present, an encoding of the DLL storage class of this variable:
+
+ * ``default``: code 0
+ * ``dllimport``: code 1
+ * ``dllexport``: code 2
+
.. _FUNCTION:
MODULE_CODE_FUNCTION Record
^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. _FUNCTION:
MODULE_CODE_FUNCTION Record
^^^^^^^^^^^^^^^^^^^^^^^^^^^
-``[FUNCTION, type, callingconv, isproto, linkage, paramattr, alignment, section, visibility, gc]``
+``[FUNCTION, type, callingconv, isproto, linkage, paramattr, alignment, section, visibility, gc
, prefix, dllstorageclass
]``
The ``FUNCTION`` record (code 8) marks the declaration or definition of a
function. The operand fields are:
The ``FUNCTION`` record (code 8) marks the declaration or definition of a
function. The operand fields are:
@@
-731,6
+737,10
@@
function. The operand fields are:
* ``ccc``: code 0
* ``fastcc``: code 8
* ``coldcc``: code 9
* ``ccc``: code 0
* ``fastcc``: code 8
* ``coldcc``: code 9
+ * ``webkit_jscc``: code 12
+ * ``anyregcc``: code 13
+ * ``preserve_mostcc``: code 14
+ * ``preserve_allcc``: code 15
* ``x86_stdcallcc``: code 64
* ``x86_fastcallcc``: code 65
* ``arm_apcscc``: code 66
* ``x86_stdcallcc``: code 64
* ``x86_fastcallcc``: code 65
* ``arm_apcscc``: code 66
@@
-759,10
+769,15
@@
function. The operand fields are:
* *unnamed_addr*: If present and non-zero, indicates that the function has
``unnamed_addr``
* *unnamed_addr*: If present and non-zero, indicates that the function has
``unnamed_addr``
+* *prefix*: If non-zero, the value index of the prefix data for this function,
+ plus 1.
+
+* *dllstorageclass*: An encoding of the `dllstorageclass`_ of this function
+
MODULE_CODE_ALIAS Record
^^^^^^^^^^^^^^^^^^^^^^^^
MODULE_CODE_ALIAS Record
^^^^^^^^^^^^^^^^^^^^^^^^
-``[ALIAS, alias type, aliasee val#, linkage, visibility]``
+``[ALIAS, alias type, aliasee val#, linkage, visibility
, dllstorageclass
]``
The ``ALIAS`` record (code 9) marks the definition of an alias. The operand
fields are
The ``ALIAS`` record (code 9) marks the definition of an alias. The operand
fields are
@@
-775,6
+790,8
@@
fields are
* *visibility*: If present, an encoding of the `visibility`_ of the alias
* *visibility*: If present, an encoding of the `visibility`_ of the alias
+* *dllstorageclass*: If present, an encoding of the `dllstorageclass`_ of the alias
+
MODULE_CODE_PURGEVALS Record
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
MODULE_CODE_PURGEVALS Record
^^^^^^^^^^^^^^^^^^^^^^^^^^^^