projects
/
oota-llvm.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
R600: Replace dyn_cast + assert with cast
[oota-llvm.git]
/
docs
/
BitCodeFormat.rst
diff --git
a/docs/BitCodeFormat.rst
b/docs/BitCodeFormat.rst
index 64c08f0e348e9d7489507a61db94fcaf9964f9fa..86436ff6334b934f3cf212f4dc5deb0f41aea0bd 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:
@@
-564,7
+562,7
@@
MODULE_CODE_VERSION Record
``[VERSION, version#]``
The ``VERSION`` record (code 1) contains a single value indicating the format
``[VERSION, version#]``
The ``VERSION`` record (code 1) contains a single value indicating the format
-version. Version 0 and 1 are supported at this time. The difference between
+version. Version
s
0 and 1 are supported at this time. The difference between
version 0 and 1 is in the encoding of instruction operands in
each `FUNCTION_BLOCK`_.
version 0 and 1 is in the encoding of instruction operands in
each `FUNCTION_BLOCK`_.
@@
-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:
@@
-690,7
+688,8
@@
global variable. The operand fields are:
* ``weak_odr``: code 10
* ``linkonce_odr``: code 11
* ``available_externally``: code 12
* ``weak_odr``: code 10
* ``linkonce_odr``: code 11
* ``available_externally``: code 12
- * ``linker_private``: code 13
+ * deprecated : code 13
+ * deprecated : code 14
* alignment*: The logarithm base 2 of the variable's requested alignment, plus 1
* alignment*: The logarithm base 2 of the variable's requested alignment, plus 1
@@
-715,12
+714,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,11
+738,17
@@
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
* ``arm_aapcscc``: code 67
* ``arm_aapcs_vfpcc``: code 68
* ``x86_stdcallcc``: code 64
* ``x86_fastcallcc``: code 65
* ``arm_apcscc``: code 66
* ``arm_aapcscc``: code 67
* ``arm_aapcs_vfpcc``: code 68
+ * ``x86_thiscallcc``: code 70
+ * ``x86_cdeclmethodcc``: code 80
* isproto*: Non-zero if this entry represents a declaration rather than a
definition
* isproto*: Non-zero if this entry represents a declaration rather than a
definition
@@
-759,10
+772,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
+793,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
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@
-1075,7
+1095,7
@@
named type.
VALUE_SYMTAB_BLOCK Contents
---------------------------
VALUE_SYMTAB_BLOCK Contents
---------------------------
-The ``VALUE_SYMTAB_BLOCK`` block (id 14) ...
+The ``VALUE_SYMTAB_BLOCK`` block (id 14) ...
.. _METADATA_BLOCK:
.. _METADATA_BLOCK: