Update list of passes and buglist.
[oota-llvm.git] / docs / CommandGuide / llc.html
index 26e680342cd67ffe4f35fe9b688ea7f3fe16c15e..36226933f958c05ce8b3a3a5115ecb98e646f4a1 100644 (file)
@@ -1,33 +1,22 @@
 <html>
-<title>
-LLVM: llc tool
-</title>
+<title>LLVM: llc tool</title>
 
-<body>
+<body bgcolor=white>
 
-<center>
-<h1>LLVM: llc tool</h1>
-</center>
+<center><h1>LLVM: <tt>llc</tt> tool</h1></center>
 <HR>
 
-<h3>
-NAME
-</h3>
+<h3>NAME</h3>
+<tt>llc</tt>
 
-llc
+<h3>SYNOPSIS</h3>
+<tt>llc [options] [filename]</tt>
 
-<h3>
-SYNOPSIS
-</h3>
+<h3>DESCRIPTION</h3>
 
-llc [options] [filename]
-<h3>
-DESCRIPTION
-</h3>
-
-The llc command compiles LLVM bytecode into assembly language for a specified
-architecture.  The assembly language output can then be passed through a native
-assembler and linker to generate native code.
+The <tt>llc</tt> command compiles LLVM bytecode into assembly language for a
+specified architecture.  The assembly language output can then be passed through
+a native assembler and linker to generate native code.
 <p>
 The choice of architecture for the output assembly code is determined as
 follows:
@@ -53,8 +42,9 @@ follows:
        <p>
 
        <li>
-       If llc was compiled on an architecture for which it can generate code,
-       select the architecture upon which llc was compiled.
+       If <tt>llc</tt> was compiled on an architecture for which it can
+       generate code, select the architecture upon which <tt>llc</tt> was
+       compiled.
        <p>
 
        <li>
@@ -64,17 +54,17 @@ follows:
 
 <p>
 
-If filename is not specified, or if filename is -, llc reads its input from
-standard input.  Otherwise, it will read its input from filename.
+If filename is not specified, or if filename is -, <tt>llc</tt> reads its input
+from standard input.  Otherwise, it will read its input from filename.
 <p>
 
-If the -o option is left unspecified, then llc will send its output to standard
+If the -o option is left unspecified, then <tt>llc</tt> will send its output to standard
 output if the input is from standard input.  If the -o option specifies -, then
 the output will also be sent to standard output.
 <p>
 
 If no -o option is specified and an input file other than - is specified, then
-llc creates the output filename as follows:
+<tt>llc</tt> creates the output filename as follows:
 
 <ul>
        <li>
@@ -88,115 +78,121 @@ llc creates the output filename as follows:
 <h3>
 OPTIONS
 </h3>
-
 <ul>
-       <li>-disable-fp-elim     
+       <li>-f                   
        <br>
-       Disable frame pointer elimination optimization.
+       Overwrite output files
        <p>
 
-       <li>-disable-local-ra    
+       <li>-m&lt;arch&gt;
        <br>
-       Use Simple RA instead of Local RegAlloc.
-       <p>
+       Specify the architecture for which to generate assembly.  Valid
+       architectures are:
 
-       <li>-disable-pattern-isel
-       <br>
-       Use the 'simple' X86 instruction selector.
+       <dl compact>
+               <di> x86
+               <dd>IA-32 (Pentium and above)</dd>
+
+               <di> sparc
+               <dd>SPARC V9</dd>
+       </dl>
        <p>
 
-       <li>-disable-peephole    
+       <li>-o &lt;filename&gt;
        <br>
-       Disable peephole optimization pass.
+       Specify the output filename.
        <p>
 
-       <li>-disable-preopt      
+       <li> -help
        <br>
-       Disable optimizations prior to instruction selection.
+       Print a summary of command line options.
        <p>
 
-       <li>-disable-sched       
+       <li> -stats
        <br>
-       Disable local scheduling pass.
+       Print statistics.
        <p>
 
-       <li>-disable-strip       
+       <li> -time-passes
        <br>
-       Do not strip the LLVM bytecode included in executable.
+       Record the amount of time needed for each pass and print it to standard
+       error.
        <p>
 
-       <li>-enable-maps         
+</ul>
+<h4>X86 Specific Options</h4>
+<ul>
+       <li>-disable-fp-elim
        <br>
-       Emit LLVM-to-MachineCode mapping info to assembly.
+       Disable frame pointer elimination optimization.
        <p>
 
-       <li>-f                   
+       <li>-disable-pattern-isel
        <br>
-       Overwrite output files
+       Use the 'simple' X86 instruction selector (the default).
        <p>
 
-       <li>-load=&lt;plugin.so&gt;
+       <li>-print-machineinstrs
        <br>
-       Load the specified plugin.
+       Print generated machine code.
        <p>
 
-       <li>-m&lt;arch&gt;
+       <li>-regalloc=&lt;ra&gt;
        <br>
-       Specify the architecture for which to generate assembly.  Valid
-       architectures are:
-
+        Specify the register allocator to use. The default is <i>simple</i>.
+        Valid register allocators are:
        <dl compact>
-               <di> x86               
-               <dd>
-               IA-32 (Pentium and above)
-               <p>
+               <di> simple
+               <dd>Very simple register allocator</dd>
 
-               <di> sparc             
-               <dd>SPARC V9
+               <di> local
+               <dd>Local register allocator</dd>
        </dl>
        <p>
 
-       <li>-o &lt;filename&gt;
+</ul>
+
+<h4>Sparc Specific Options</h4>
+<ul>
+       <li>-disable-peephole
        <br>
-       Specify the output filename.
+       Disable peephole optimization pass.
        <p>
 
-       <li>-print-machineinstrs 
+       <li>-disable-preopt
        <br>
-       Print generated machine code.
+       Disable optimizations prior to instruction selection.
        <p>
 
-       <li> -help
+       <li>-disable-sched
        <br>
-       Print a summary of command line options.
+       Disable local scheduling pass.
        <p>
 
-       <li> -stats
+       <li>-disable-strip
        <br>
-       Print statistics.
+       Do not strip the LLVM bytecode included in executable.
        <p>
 
-       <li> -time-passes
+       <li>-enable-maps
        <br>
-       Record the amount of time needed for each pass and print it to standard
-       error.
+       Emit LLVM-to-MachineCode mapping info to assembly.
        <p>
 </ul>
 
-<h3>
-EXIT STATUS
-</h3>
 
-If llc succeeds, it will exit with 0.  Otherwise, if an error occurs, it
-will exit with a non-zero value.
+<h3>EXIT STATUS</h3>
+
+If <tt>llc</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, lli
+<a href="lli.html"><tt>lli</tt></a>
 
 <HR>
-<a href="http://llvm.cs.uiuc.edu">LLVM Team</a>
+Maintained by the <a href="http://llvm.cs.uiuc.edu">LLVM Team</a>.
 </body>
 </html>