1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2025-01-31 20:51:52 +01:00

Updating documentation:

- Document visibility stuff
 - Fix gcc' supported attributes list
 - Document udis86 configure option

llvm-svn: 33462
This commit is contained in:
Anton Korobeynikov 2007-01-23 12:35:46 +00:00
parent 2079992c16
commit 6da3df75ec
3 changed files with 56 additions and 14 deletions

View File

@ -849,6 +849,11 @@ script to configure the build system:</p>
documentation from the source code. This is disabled by default because documentation from the source code. This is disabled by default because
generating the documentation can take a long time and producess 100s of generating the documentation can take a long time and producess 100s of
megabytes of output.</dd> megabytes of output.</dd>
<dt><i>--with-udis86</i></dt>
<dd>LLVM can use external disassembler library for various purposes (now it's
used only for examining code produced by JIT). This option will enable usage
of <a href="http://udis86.sourceforge.net/">udis86</a> x86 (both 32 and 64
bits) disassembler library.</dd>
</dl> </dl>
<p>To configure LLVM, follow these steps:</p> <p>To configure LLVM, follow these steps:</p>

View File

@ -578,6 +578,40 @@ convention.</p>
</div> </div>
<!-- ======================================================================= -->
<div class="doc_subsection">
<a name="visibility">Visibility Styles</a>
</div>
<div class="doc_text">
<p>
All Global Variables and Functions have one of the following visibility styles:
</p>
<dl>
<dt><b>"<tt>default</tt>" - Default style</b>:</dt>
<dd>On ELF, default visibility means that the declaration is visible to other
modules and, in shared libraries, means that the declared entity may be
overridden. On Darwin, default visibility means that the declaration is
visible to other modules. Default visibility corresponds to "external
linkage" in the language.
</dd>
<dt><b>"<tt>hidden</tt>" - Hidden style</b>:</dt>
<dd>Two declarations of an object with hidden visibility refer to the same
object if they are in the same shared object. Usually, hidden visibility
indicates that the symbol will not be placed into the dynamic symbol table,
so no other module (executable or shared library) can reference it
directly.
</dd>
</dl>
</div>
<!-- ======================================================================= --> <!-- ======================================================================= -->
<div class="doc_subsection"> <div class="doc_subsection">
<a name="globalvars">Global Variables</a> <a name="globalvars">Global Variables</a>
@ -638,14 +672,18 @@ a power of 2.</p>
<p>LLVM function definitions consist of the "<tt>define</tt>" keyord, <p>LLVM function definitions consist of the "<tt>define</tt>" keyord,
an optional <a href="#linkage">linkage type</a>, an optional an optional <a href="#linkage">linkage type</a>, an optional
<a href="#visibility">visibility style</a>, an optional
<a href="#callingconv">calling convention</a>, a return type, an optional <a href="#callingconv">calling convention</a>, a return type, an optional
<a href="#paramattrs">parameter attribute</a> for the return type, a function <a href="#paramattrs">parameter attribute</a> for the return type, a function
name, a (possibly empty) argument list (each with optional name, a (possibly empty) argument list (each with optional
<a href="#paramattrs">parameter attributes</a>), an optional section, an <a href="#paramattrs">parameter attributes</a>), an optional section, an
optional alignment, an opening curly brace, a list of basic blocks, and a optional alignment, an opening curly brace, a list of basic blocks, and a
closing curly brace. LLVM function declarations closing curly brace.
consist of the "<tt>declare</tt>" keyword, an optional <a
href="#callingconv">calling convention</a>, a return type, an optional LLVM function declarations consist of the "<tt>declare</tt>" keyword, an
optional <a href="#linkage">linkage type</a>, an optional
<a href="#visibility">visibility style</a>, an optional
<a href="#callingconv">calling convention</a>, a return type, an optional
<a href="#paramattrs">parameter attribute</a> for the return type, a function <a href="#paramattrs">parameter attribute</a> for the return type, a function
name, a possibly empty list of arguments, and an optional alignment.</p> name, a possibly empty list of arguments, and an optional alignment.</p>

View File

@ -510,27 +510,26 @@ bits.</li>
<b>Supported:</b> <tt>constructor</tt>, <tt>destructor</tt>, <b>Supported:</b> <tt>constructor</tt>, <tt>destructor</tt>,
<tt>deprecated</tt>, <tt>fastcall</tt>, <tt>format</tt>, <tt>deprecated</tt>, <tt>fastcall</tt>, <tt>format</tt>,
<tt>format_arg</tt>, <tt>non_null</tt>, <tt>noreturn</tt>, <tt>format_arg</tt>, <tt>non_null</tt>, <tt>noreturn</tt>,
<tt>stdcall</tt>, <tt>unused</tt>, <tt>used</tt>, <tt>section</tt>, <tt>stdcall</tt>, <tt>unused</tt>, <tt>used</tt>,
<tt>warn_unused_result</tt>, <tt>weak</tt><br> <tt>visibility</tt>, <tt>warn_unused_result</tt>, <tt>weak</tt><br>
<b>Ignored:</b> <tt>noinline</tt>, <b>Ignored:</b> <tt>noinline</tt>,
<tt>always_inline</tt>, <tt>pure</tt>, <tt>const</tt>, <tt>nothrow</tt>, <tt>always_inline</tt>, <tt>pure</tt>, <tt>const</tt>, <tt>nothrow</tt>,
<tt>malloc</tt>, <tt>no_instrument_function</tt>, <tt>cdecl</tt><br> <tt>malloc</tt>, <tt>no_instrument_function</tt>, <tt>cdecl</tt><br>
<b>Unsupported:</b> <tt>section</tt>, <tt>alias</tt>, <b>Unsupported:</b> <tt>alias</tt>, <tt>regparm</tt>, all other target specific
<tt>visibility</tt>, <tt>regparm</tt>, all other target specific
attributes</li> attributes</li>
<li><a href="http://gcc.gnu.org/onlinedocs/gcc/Variable-Attributes.html#Variable%20Attributes">Variable Attributes</a>: <li><a href="http://gcc.gnu.org/onlinedocs/gcc/Variable-Attributes.html#Variable%20Attributes">Variable Attributes</a>:
Specifying attributes of variables.<br> Specifying attributes of variables.<br>
<b>Supported:</b> <tt>cleanup</tt>, <tt>common</tt>, <tt>nocommon</tt>, <b>Supported:</b> <tt>cleanup</tt>, <tt>common</tt>, <tt>nocommon</tt>,
<tt>deprecated</tt>, <tt>dllimport</tt>, <tt>deprecated</tt>, <tt>dllimport</tt>, <tt>dllexport</tt>,
<tt>dllexport</tt>, <tt>transparent_union</tt>, <tt>section</tt>, <tt>transparent_union</tt>, <tt>unused</tt>,
<tt>unused</tt>, <tt>used</tt>, <tt>weak</tt><br> <tt>used</tt>, <tt>weak</tt><br>
<b>Unsupported:</b> <tt>aligned</tt>, <tt>mode</tt>, <tt>packed</tt>, <b>Unsupported:</b> <tt>aligned</tt>, <tt>mode</tt>, <tt>packed</tt>,
<tt>section</tt>, <tt>shared</tt>, <tt>tls_model</tt>, <tt>shared</tt>, <tt>tls_model</tt>,
<tt>vector_size</tt>, all target specific attributes. <tt>vector_size</tt>, all target specific attributes.
</li> </li>
<li><a href="http://gcc.gnu.org/onlinedocs/gcc/Type-Attributes.html#Type%20Attributes">Type Attributes</a>: Specifying attributes of types.<br> <li><a href="http://gcc.gnu.org/onlinedocs/gcc/Type-Attributes.html#Type%20Attributes">Type Attributes</a>: Specifying attributes of types.<br>