diff options
author | Anton Korobeynikov <asl@math.spbu.ru> | 2007-04-25 14:27:10 +0000 |
---|---|---|
committer | Anton Korobeynikov <asl@math.spbu.ru> | 2007-04-25 14:27:10 +0000 |
commit | 8b0a8c84da2030ee8f4440d5b60a8033de691222 (patch) | |
tree | 7b780ed0cf12403faeac0e65fb16bca29fda5dbf /docs/BytecodeFormat.html | |
parent | 24a3cc4c83e5edb25fadf7b8979a26b4451795c6 (diff) |
Implement aliases. This fixes PR1017 and it's dependent bugs. CFE part
will follow.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36435 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'docs/BytecodeFormat.html')
-rw-r--r-- | docs/BytecodeFormat.html | 67 |
1 files changed, 61 insertions, 6 deletions
diff --git a/docs/BytecodeFormat.html b/docs/BytecodeFormat.html index 56fc0afce9..396bf2f124 100644 --- a/docs/BytecodeFormat.html +++ b/docs/BytecodeFormat.html @@ -943,11 +943,11 @@ all functions. The format is shown in the table below:</p> target triple specified, i.e. a platform-independent module).</td> </tr> <tr> - <td><a href="#string">string</a></td> - <td class="td_left">The data layout string describing the endianness, - pointer size, and type alignments for which the module was written - (blank means no data layout specified, i.e. a platform-independent - module).</td> + <td><a href="#string">string</a></td> + <td class="td_left">The data layout string describing the endianness, + pointer size, and type alignments for which the module was written + (blank means no data layout specified, i.e. a platform-independent + module).</td> </tr> <tr> <td><a href="#llist">llist</a>(<a href="#string">string</a>)</td> @@ -959,6 +959,11 @@ all functions. The format is shown in the table below:</p> <td><a href="#string">string</a></td> <td class="td_left">The inline asm block for this module.</td> </tr> + <tr> + <td><a href="#zlist">zlist</a>(<a href="#alias">alias</a>)</td> + <td class="td_left">A zero terminated list of aliases occurring in the + module.</td> + </tr> </tbody> </table> </div> @@ -1123,7 +1128,7 @@ href="#uint32_vbr">uint32_vbr</a> that describes the function.</p> <td><a href="#bit">bit(5-30)</a></td> <td class="td_left">Type slot number of type for the function.</td> </tr> - <tr> + <tr> <td><a href="#bit">bit(31)</a></td> <td class="td_left">Indicates whether an extension word follows.</td> </tr> @@ -1186,6 +1191,56 @@ follows with the following fields:</p> </div> <!-- _______________________________________________________________________ --> +<div class="doc_subsubsection"><a name="alias">Alias Field</a> +</div> +<div class="doc_text"> +<p>Aliases are written using 3 <a href="#uint32_vbr">uint32_vbr</a> +that encode information about alias itself and aliasee.</p> + +<p>The table below provides the bit layout of +the first <a href="#uint32_vbr">uint32_vbr</a> which describes alias itself.</p> + +<table> + <tbody> + <tr> + <th><b>Type</b></th> + <th class="td_left"><b>Description</b></th> + </tr> + <tr> + <td><a href="#bit">bit(0-1)</a></td> + <td class="td_left">Alias linkage. 0 - External linkage, 1 - Internal + linkage, 2 - Weak linkage.</td> + </tr> + <tr> + <td><a href="#bit">bit(2-31)</a></td> + <td class="td_left">Type slot number of type for the alias itself.</td> + </tr> + </tbody> +</table> + + <p>The next two <a href="#uint32_vbr">uint32_vbr's</a> describes the + aliasee. </p> + +<table> + <tbody> + <tr> + <th><b>Type</b></th> + <th class="td_left"><b>Description</b></th> + </tr> + <tr> + <td><a href="#uint32_vbr">uint32_vbr</a></td> + <td class="td_left">Type slot number of type for the aliasee.</td> + </tr> + <tr> + <td><a href="#uint32_vbr">uint32_vbr</a></td> + <td class="td_left">Slot number of the aliasee.</td> + </tr> + </tbody> +</table> + +</div> + +<!-- _______________________________________________________________________ --> <div class="doc_subsection"><a name="constantpool">Constant Pool</a> </div> <div class="doc_text"> <p>A constant pool defines as set of constant values. There are |