More changes and updates

llvm-svn: 8935
This commit is contained in:
Chris Lattner 2003-10-07 20:01:09 +00:00
parent a81a6d7190
commit fc294d15c6
3 changed files with 108 additions and 131 deletions

View File

@ -1,34 +1,28 @@
<html>
<title>
LLVM: gccas tool
</title>
<title>LLVM: gccas tool</title>
<body>
<center>
<h1>LLVM: gccas tool</h1>
<h1>LLVM: <tt>gccas</tt> tool</h1>
</center>
<HR>
<h3>
NAME
</h3>
<h3>NAME</h3>
<tt>gccas</tt>
gccas
<h3>SYNOPSIS</h3>
<tt>gccas [options] &lt; filename&gt;</tt>
<h3>
SYNOPSIS
</h3>
<h3>DESCRIPTION</h3>
gccas [options] &lt; filename&gt;
<h3>
DESCRIPTION
</h3>
The <tt>gccas</tt> utility takes an LLVM assembly file generated by the <a
href="llvmgcc.html">C</a> or <a href="llvmgxx.html">C++</a> frontends and
converts it into an LLVM bytecode file. It is primarily used by the GCC front
end, and as such, attempts to mimic the interface provided by the default system
assembler so that it can act as a "drop-in" replacement.<p>
The gccas utility takes an LLVM assembly file generated by GCC and converts it
into an LLVM bytecode file. It is primarily used by the GCC front end, and as
such, attempts to mimic the interface provided by the default system assembler
so that it can act as a "drop-in" replacement.
<tt>gccas</tt> performs a number of optimizations on the input program.<p>
<h3>
OPTIONS
@ -66,13 +60,12 @@ OPTIONS
EXIT STATUS
</h3>
If gccas succeeds, it will exit with 0. Otherwise, if an error occurs, it
will exit with a non-zero value.
If <tt>gccas</tt> succeeds, it will exit with 0. Otherwise, if an error occurs,
it will exit with a non-zero value.
<h3>
SEE ALSO
</h3>
llvm-dis
<h3>SEE ALSO</h3>
<a href="llvm-as.html"><tt>llvm-as</tt></a>
<a href="gccld.html"><tt>gccld</tt></a>
<HR>
<a href="http://llvm.cs.uiuc.edu">LLVM Team</a>

View File

@ -1,69 +1,64 @@
<html>
<title>
LLVM: gccld tool
</title>
<title>LLVM: gccld tool</title>
<body>
<body bgcolor=white>
<center>
<h1>LLVM: gccld tool</h1>
</center>
<center><h1>LLVM: <tt>gccld</tt> tool</h1></center>
<HR>
<h3>
NAME
</h3>
<h3>NAME</h3>
<tt>gccld</tt>
gccld
<h3>SYNOPSIS</h3>
<tt>gccld [options] &lt; filename&gt; [ filename ...]</tt>
<h3>
SYNOPSIS
</h3>
<h3>DESCRIPTION</h3>
gccld [options] &lt; filename&gt; [ filename ...]
<h3>
DESCRIPTION
</h3>
The gccld utility takes a set of LLVM bytecode files and links them together
into a single LLVM bytecode file. The output bytecode file can be another
bytecode library or an executable bytecode program. Using additional options,
gccld is able to produce native code executables.
The <tt>gccld</tt> utility takes a set of LLVM bytecode files and links them
together into a single LLVM bytecode file. The output bytecode file can be
another bytecode library or an executable bytecode program. Using additional
options, <tt>gccld</tt> is able to produce native code executables.
<p>
The gccld utility is primarily used by the GCC front end, and as such, attempts
to mimic the interface provided by the default system linker so that it can act
as a "drop-in" replacement.
<h4>
Search Order
</h4>
When looking for objects specified on the command line, gccld will search for
the object first in the current directory and then in the directory specified
by LLVM_LIB_SEARCH_PATH. If it cannot find the object, it fails.
The <tt>gccld</tt> utility is primarily used by the <a href="llvmgcc.html">C</a>
and <a href="llvmgxx.html">C++</a> front-ends, and as such, attempts to mimic
the interface provided by the default system linker so that it can act as a
"drop-in" replacement.
<p>
When looking for a library specified with the -l option, gccld first attempts
to load a file with that name from the current directory. If that fails, it
looks for lib&lt;library&gt;.bc, lib&lt;library&gt;.a, or
The <tt>gccld</tt> tool performs a small set of interprocedural, post-link,
optimizations on the program.
<h4>Search Order</h4>
When looking for objects specified on the command line, <tt>gccld</tt> will
search for the object first in the current directory and then in the directory
specified by the <tt>LLVM_LIB_SEARCH_PATH</tt> environment variable. If it
cannot find the object, it fails.
<p>
When looking for a library specified with the -l option, <tt>gccld</tt> first
attempts to load a file with that name from the current directory. If that
fails, it looks for lib&lt;library&gt;.bc, lib&lt;library&gt;.a, or
lib&lt;library&gt;.so, in that order, in each directory added to the library
search path with the -L option. These directories are searched in order they
were specified. If the library cannot be located, then gccld looks in the
directory specified by the LLVM_LIB_SEARCH_PATH environment variable. If it
does not find lib&lt;library&gt;.[bc | a | so] there, it fails.
were specified. If the library cannot be located, then <tt>gccld</tt> looks in
the directory specified by the <tt>LLVM_LIB_SEARCH_PATH</tt> environment
variable. If it does not find lib&lt;library&gt;.[bc | a | so] there, it fails.
The -L option is global. It does not matter where it is specified in the list
of command line arguments; the directory is simply added to the search path and
is applied to all libraries, preceding or succeeding, in the command line.
<h4>
Link order
</h4>
<h4>Link order</h4>
All object files are linked first in the order they were specified on the
command line. All library files are linked next. Some libraries may not be
linked into the object program; see below.
<h4>
Library Linkage
</h4>
<h4>Library Linkage</h4>
Object files and static bytecode objects are always linked into the output
file. Library archives (.a files) load only the objects within the archive
that define symbols needed by the output file. Hence, libraries should be
@ -71,13 +66,13 @@ listed after the object files and libraries which need them; otherwise, the
library may not be linked in, and the dependent library will not have its
undefined symbols defined.
<h4>
Native code generation
</h4>
The gccld program has limited support for native code generation.
<h3>
OPTIONS
</h3>
<h4>Native code generation</h4>
The <tt>gccld</tt> program has limited support for native code generation, when
using the -native option.
<h3>OPTIONS</h3>
<ul>
<li> -help
@ -129,10 +124,11 @@ OPTIONS
<li> -l=&lt;library&gt;
<br>
Specify libraries to include when linking the output file. When linking,
gccld will first attempt to load a file with the pathname library. If that
fails, it will then attempt to load lib&lt;library&gt;.bc,
lib&lt;library&gt;.a, and lib&lt;library&gt;.so, in that order.
Specify libraries to include when linking the output file. When
linking, <tt>gccld</tt> will first attempt to load a file with the
pathname library. If that fails, it will then attempt to load
lib&lt;library&gt;.bc, lib&lt;library&gt;.a, and lib&lt;library&gt;.so,
in that order.
<p>
<li> -link-as-library
@ -144,13 +140,14 @@ OPTIONS
<br>
Generate a native, machine code executable.
<p>
When generating native executables, gccld first checks for a bytecode version
of the library and links it in, if necessary. If the library is missing,
gccld skips it. Then, gccld links in the same libraries as native code.
When generating native executables, <tt>gccld</tt> first checks for a bytecode
version of the library and links it in, if necessary. If the library is
missing, <tt>gccld</tt> skips it. Then, <tt>gccld</tt> links in the same
libraries as native code.
<p>
In this way, gccld should be able to link in optimized bytecode subsets of
common libraries and then link in any part of the library that hasn't been
converted to bytecode.
In this way, <tt>gccld</tt> should be able to link in optimized bytecode
subsets of common libraries and then link in any part of the library that
hasn't been converted to bytecode.
<p>
<li> -s
@ -163,21 +160,16 @@ OPTIONS
Print information about actions taken.
</ul>
<h3>
EXIT STATUS
</h3>
<h3>EXIT STATUS</h3>
If gccld succeeds, it will exit with 0. Otherwise, if an error occurs, it
will exit with a non-zero value.
If <tt>gccld</tt> succeeds, it will exit with 0. Otherwise, if an error occurs,
it will exit with a non-zero value.
<h3>
SEE ALSO
</h3>
gccas
<h3>SEE ALSO</h3>
<a href="llvm-link.html"><tt>llvm-link</tt></a>
<a href="gccas.html"><tt>gccas</tt></a>
<h3>
BUGS
</h3>
<h3>BUGS</h3>
The -L option cannot be used for find native code libraries when using the
-native option.

View File

@ -6,37 +6,30 @@ LLVM: llvmg++ tool
<body>
<center>
<h1>LLVM: llvmg++ tool</h1>
<h1>LLVM: <tt>llvmg++</tt> tool</h1>
</center>
<HR>
<h3>
NAME
</h3>
<h3>NAME</h3>
<tt>llvmg++</tt>
llvmg++
<h3>SYNOPSIS</h3>
<tt>llvmg++ [options] filename</tt>
<h3>
SYNOPSIS
</h3>
<h3>DESCRIPTION</h3>
llvmg++ [options] filename
<h3>
DESCRIPTION
</h3>
The llvmg++ command is the LLVM C++ front end. It is a modified version of g++
that takes C++ programs and compiles them into LLVM bytecode or assembly
language, depending upon the options.
The <tt>llvmg++</tt> command is the LLVM C++ front end. It is a modified
version of g++ that takes C++ programs and compiles them into LLVM bytecode or
assembly language, depending upon the options.
<p>
The llvmg++ program uses the LLVM assembler gccas and the LLVM linker gccld to
do the work of creating complete programs.
The <tt>llvmg++</tt> program uses the <tt>gccas</tt> and <tt>gccld</tt> to
assist with the creation of complete programs.
<p>
Being derived from the GNU Compiler Collection, llvmg++ has many of g++'s
features and accepts most of g++'s options. It handles a number of g++'s
extensions to the C++ programming language.
Being derived from the <a href="http://gcc.gnu.org">GNU Compiler Collection</a>,
<tt>llvmg++</tt> has many of g++'s features and accepts most of g++'s options.
It handles a number of g++'s extensions to the C++ programming language.
<p>
Below you will find several commonly used options:
@ -54,15 +47,14 @@ OPTIONS
<li> -c
<br>
Do not generate a linked executable. Rather, compile the source file into
an LLVM bytecode file. This bytecode file can then be linked with other
bytecode files later on to generate a full LLVM executable.
Do not generate a linked executable. Rather, compile the source file
into an LLVM bytecode file. This bytecode file can then be linked with
other bytecode files later on to generate a full LLVM executable.
<p>
<li> -o <i>filename</i>
<br>
Specify the output file to be <i>filename</i>. If <i>filename</i> is -,
then llvmgcc sends its output to standard output.
Specify the output file to be <i>filename</i>.
<p>
<li> -I <i>directory</i>
@ -79,8 +71,8 @@ OPTIONS
<li> -l<i>name</i>
<br>
Link in the library lib<i>name</i>.[bc | a | so]. This library should be
a bytecode library.
Link in the library lib<i>name</i>.[bc | a | so]. This library should
be a bytecode library.
<p>
<li>-Wl,<i>option</i>
@ -94,15 +86,15 @@ OPTIONS
EXIT STATUS
</h3>
If llvmg++ succeeds, it will exit with 0. Otherwise, if an error occurs, it
will exit with a non-zero value.
If <tt>llvmg++</tt> succeeds, it will exit with 0. Otherwise, if an error
occurs, it will exit with a non-zero value.
<h3>
SEE ALSO
</h3>
<A HREF="llvmgcc.html">llvmg++</A>,
<A HREF="gccas.html">gccas</A>,
<A HREF="gccld.html">gccld</A>
<A HREF="llvmgcc.html"><tt>llvmg++</tt></A>,
<A HREF="gccas.html"><tt>gccas</tt></A>,
<A HREF="gccld.html"><tt>gccld</tt></A>
<HR>
<a href="http://llvm.cs.uiuc.edu">LLVM Team</a>