comparison docs/BitCodeFormat.rst @ 95:afa8332a0e37 LLVM3.8

LLVM 3.8
author Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
date Tue, 13 Oct 2015 17:48:58 +0900
parents 60c9769439b8
children 7d135dc70f03
comparison
equal deleted inserted replaced
84:f3e34b893a5f 95:afa8332a0e37
739 .. _FUNCTION: 739 .. _FUNCTION:
740 740
741 MODULE_CODE_FUNCTION Record 741 MODULE_CODE_FUNCTION Record
742 ^^^^^^^^^^^^^^^^^^^^^^^^^^^ 742 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
743 743
744 ``[FUNCTION, type, callingconv, isproto, linkage, paramattr, alignment, section, visibility, gc, prologuedata, dllstorageclass, comdat, prefixdata]`` 744 ``[FUNCTION, type, callingconv, isproto, linkage, paramattr, alignment, section, visibility, gc, prologuedata, dllstorageclass, comdat, prefixdata, personalityfn]``
745 745
746 The ``FUNCTION`` record (code 8) marks the declaration or definition of a 746 The ``FUNCTION`` record (code 8) marks the declaration or definition of a
747 function. The operand fields are: 747 function. The operand fields are:
748 748
749 * *type*: The type index of the function type describing this function 749 * *type*: The type index of the function type describing this function
793 * *comdat*: An encoding of the COMDAT of this function 793 * *comdat*: An encoding of the COMDAT of this function
794 794
795 * *prefixdata*: If non-zero, the value index of the prefix data for this function, 795 * *prefixdata*: If non-zero, the value index of the prefix data for this function,
796 plus 1. 796 plus 1.
797 797
798 * *personalityfn*: If non-zero, the value index of the personality function for this function,
799 plus 1.
798 800
799 MODULE_CODE_ALIAS Record 801 MODULE_CODE_ALIAS Record
800 ^^^^^^^^^^^^^^^^^^^^^^^^ 802 ^^^^^^^^^^^^^^^^^^^^^^^^
801 803
802 ``[ALIAS, alias type, aliasee val#, linkage, visibility, dllstorageclass]`` 804 ``[ALIAS, alias type, aliasee val#, linkage, visibility, dllstorageclass]``
847 attributes of function parameters. These entries are referenced by 1-based index 849 attributes of function parameters. These entries are referenced by 1-based index
848 in the *paramattr* field of module block `FUNCTION`_ records, or within the 850 in the *paramattr* field of module block `FUNCTION`_ records, or within the
849 *attr* field of function block ``INST_INVOKE`` and ``INST_CALL`` records. 851 *attr* field of function block ``INST_INVOKE`` and ``INST_CALL`` records.
850 852
851 Entries within ``PARAMATTR_BLOCK`` are constructed to ensure that each is unique 853 Entries within ``PARAMATTR_BLOCK`` are constructed to ensure that each is unique
852 (i.e., no two indicies represent equivalent attribute lists). 854 (i.e., no two indices represent equivalent attribute lists).
853 855
854 .. _PARAMATTR_CODE_ENTRY: 856 .. _PARAMATTR_CODE_ENTRY:
855 857
856 PARAMATTR_CODE_ENTRY Record 858 PARAMATTR_CODE_ENTRY Record
857 ^^^^^^^^^^^^^^^^^^^^^^^^^^^ 859 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
900 module. Each record (with the exception of `NUMENTRY`_) generates a single type 902 module. Each record (with the exception of `NUMENTRY`_) generates a single type
901 table entry, which may be referenced by 0-based index from instructions, 903 table entry, which may be referenced by 0-based index from instructions,
902 constants, metadata, type symbol table entries, or other type operator records. 904 constants, metadata, type symbol table entries, or other type operator records.
903 905
904 Entries within ``TYPE_BLOCK`` are constructed to ensure that each entry is 906 Entries within ``TYPE_BLOCK`` are constructed to ensure that each entry is
905 unique (i.e., no two indicies represent structurally equivalent types). 907 unique (i.e., no two indices represent structurally equivalent types).
906 908
907 .. _TYPE_CODE_NUMENTRY: 909 .. _TYPE_CODE_NUMENTRY:
908 .. _NUMENTRY: 910 .. _NUMENTRY:
909 911
910 TYPE_CODE_NUMENTRY Record 912 TYPE_CODE_NUMENTRY Record