<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
                      "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
  <title>LLVM Command Guide</title>
  <link rel="stylesheet" href="/docs/llvm.css" type="text/css">
</head>
<body>

<div class="doc_title">
  LLVM Command Guide
</div>

<div class="doc_text">

<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
<tt>-help</tt> (general options) or <tt>-help-hidden</tt> (general+debugging
options) arguments to the tool you are interested in.</p>

</div>

<!-- *********************************************************************** -->
<div class="doc_section">
  <a name="basic">Basic Commands</a>
</div>
<!-- *********************************************************************** -->

<div class="doc_text">

<ul>

<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> -
    disassemble a bytecode file into a human-readable .ll file</li>

<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> -
    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
    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> -
    archive bytecode files</li>

<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> -
    print out the names and types of symbols in a bytecode file</li>

<li><a href="/cmds/llvm-prof.html"><b>llvm-prof</b></a> -
    format raw `<tt>llvmprof.out</tt>' data into a human-readable report</li>

<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> -
    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>

<!-- *********************************************************************** -->
<div class="doc_section">
  <a name="frontend">C and C++ Front-end Commands</a>
</div>
<!-- *********************************************************************** -->

<div class="doc_text">
<ul>

<li><a href="/cmds/llvmgcc.html"><b>llvm-gcc</b></a> -
    GCC-based C front-end for LLVM

<li><a href="/cmds/llvmgxx.html"><b>llvm-g++</b></a> -
    GCC-based C++ front-end for LLVM</li>

</ul>

</div>

<!-- *********************************************************************** -->
<div class="doc_section">
  <a name="debug">Debugging Tools</a>
</div>
<!-- *********************************************************************** -->


<div class="doc_text">

<ul>

<li><a href="/cmds/bugpoint.html"><b>bugpoint</b></a> -
    automatic test-case reducer</li>

<li><a href="/cmds/llvm-extract.html"><b>llvm-extract</b></a> -
    extract a function from an LLVM bytecode file</li>

<li><a href="/cmds/llvm-bcanalyzer.html"><b>llvm-bcanalyzer</b></a> -
    bytecode analyzer (analyzes the binary encoding itself, not the program it
    represents)</li>

</ul>
</div>

<!-- *********************************************************************** -->
<div class="doc_section">
  <a name="internal">Internal Tools</a>
</div>
<!-- *********************************************************************** -->

<div class="doc_text">
<ul>

<li><a href="/cmds/FileCheck.html"><b>FileCheck</b></a> -
    Flexible file verifier used extensively by the testing harness</li>
<li><a href="/cmds/tblgen.html"><b>tblgen</b></a> -
    target description reader and generator</li>
<li><a href="/cmds/lit.html"><b>lit</b></a> -
    LLVM Integrated Tester, for running tests</li>

</ul>
</div>

<!-- *********************************************************************** -->

<hr>
<address>
  <a href="http://jigsaw.w3.org/css-validator/check/referer"><img
  src="http://jigsaw.w3.org/css-validator/images/vcss-blue" alt="Valid CSS"></a>
  <a href="http://validator.w3.org/check/referer"><img
  src="http://www.w3.org/Icons/valid-html401-blue" alt="Valid HTML 4.01"></a>

  <a href="http://llvm.org">LLVM Compiler Infrastructure</a><br>
  Last modified: $Date$
</address>

</body>
</html>
