<p>These documents are HTML versions of the <a href="man/man1/">man pages</a>
for all of the LLVM tools. These pages describe how to use the LLVM commands
-and what their options are. Note that these pages do not describe all of the
-options available for all tools. To get a complete listing, pass the
+and what their options are. Note that these pages do not describe all of the
+options available for all tools. To get a complete listing, pass the
<tt>--help</tt> (general options) or <tt>--help-hidden</tt> (general+debugging
options) arguments to the tool you are interested in.</p>
<ul>
-<li><a href="/cmds/llvm-as.html"><b>llvm-as</b></a> -
+<li><a href="/cmds/llvm-as.html"><b>llvm-as</b></a> -
assemble a human-readable .ll file into bytecode</li>
<li><a href="/cmds/llvm-dis.html"><b>llvm-dis</b></a> -
<li><a href="/cmds/opt.html"><b>opt</b></a> -
run a series of LLVM-to-LLVM optimizations on a bytecode file</li>
-<li><a href="/cmds/llc.html"><b>llc</b></a> -
+<li><a href="/cmds/llc.html"><b>llc</b></a> -
generate native machine code for a bytecode file</li>
-<li><a href="/cmds/lli.html"><b>lli</b></a> -
- directly run a program compiled to bytecode using a JIT compiler or
+<li><a href="/cmds/lli.html"><b>lli</b></a> -
+ directly run a program compiled to bytecode using a JIT compiler or
interpreter</li>
<li><a href="/cmds/llvm-link.html"><b>llvm-link</b></a> -
link several bytecode files into one</li>
-<li><a href="/cmds/llvm-ar.html"><b>llvm-ar</b></a> -
+<li><a href="/cmds/llvm-ar.html"><b>llvm-ar</b></a> -
archive bytecode files</li>
-<li><a href="/cmds/llvm-ranlib.html"><b>llvm-ranlib</b></a> -
+<li><a href="/cmds/llvm-ranlib.html"><b>llvm-ranlib</b></a> -
create an index for archives made with llvm-ar</li>
<li><a href="/cmds/llvm-nm.html"><b>llvm-nm</b></a> -
<li><a href="/cmds/llvm-ld.html"><b>llvm-ld</b></a> -
general purpose linker with loadable runtime optimization support</li>
-<li><a href="/cmds/llvm-config.html"><b>llvm-config</b></a> -
+<li><a href="/cmds/llvm-config.html"><b>llvm-config</b></a> -
print out LLVM compilation options, libraries, etc. as configured.</li>
+<li><a href="/cmds/llvmc.html"><b>llvmc</b></a> - a generic
+customizable compiler driver.</li>
+
</ul>
</div>
--- /dev/null
+=pod
+
+=head1 NAME
+
+llvmc - The LLVM Compiler Driver (WIP)
+
+=head1 SYNOPSIS
+
+B<llvmc> [I<options>] I<filenames...>
+
+=head1 DESCRIPTION
+
+B<llvmc> is a configurable driver for invoking other LLVM (and non-LLVM) tools
+in order to compile, optimize and link software for multiple languages. For
+those familiar with FSF's B<gcc> tool, it is very similar. Please note that
+B<llvmc> is considered an experimental tool.
+
+=head1 OPTIONS
+
+=over
+
+=item B<--help>
+
+Print a summary of command line options.
+
+=item B<-o> I<filename>
+
+Specify the output file to be I<filename>.
+
+=item B<-I> I<directory>
+
+Add a directory to the header file search path. This option can be
+repeated.
+
+=item B<-L> I<directory>
+
+Add I<directory> to the library search path. This option can be
+repeated.
+
+=item B<-l>I<name>
+
+Link in the library libI<name>.[bc | a | so]. This library should
+be a bitcode library.
+
+=item B<-emit-llvm>
+
+Make the output be LLVM bitcode (with B<-c>) or assembly (with B<-s>) instead
+of native object (or assembly). If B<-emit-llvm> is given without either B<-c>
+or B<-S> it has no effect.
+
+=back
+
+=head1 EXIT STATUS
+
+If B<llvmc> succeeds, it will exit with 0. Otherwise, if an error
+occurs, it will exit with a non-zero value. If one of the compilation
+tools returns a non-zero status, pending actions will be discarded and
+B<llvmc> will return the same result code as the failing compilation
+tool.
+
+=head1 SEE ALSO
+
+L<llvm-gcc|llvmgcc>, L<llvm-g++|llvmgxx>, L<llvm-as|llvm-as>,
+L<llvm-dis|llvm-dis>, L<llc|llc>, L<llvm-link|llvm-link>
+
+=head1 AUTHORS
+
+Maintained by the LLVM Team (L<http://llvm.org>).
+
+=cut