<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:
<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>
<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>
<h3>
OPTIONS
</h3>
-
<ul>
- <li>-disable-fp-elim
- <br>
- Disable frame pointer elimination optimization.
- <p>
-
- <li>-disable-pattern-isel
+ <li>-f
<br>
- Use the 'simple' X86 instruction selector.
+ Overwrite output files
<p>
- <li>-disable-peephole
+ <li>-m<arch>
<br>
- Disable peephole optimization pass.
- <p>
+ Specify the architecture for which to generate assembly. Valid
+ architectures are:
- <li>-disable-preopt
- <br>
- Disable optimizations prior to instruction selection.
- <p>
+ <dl compact>
+ <di> x86
+ <dd>IA-32 (Pentium and above)</dd>
- <li>-disable-sched
- <br>
- Disable local scheduling pass.
+ <di> sparc
+ <dd>SPARC V9</dd>
+ </dl>
<p>
- <li>-disable-strip
+ <li>-o <filename>
<br>
- Do not strip the LLVM bytecode included in executable.
+ Specify the output filename.
<p>
- <li>-enable-maps
+ <li> -help
<br>
- Emit LLVM-to-MachineCode mapping info to assembly.
+ Print a summary of command line options.
<p>
- <li>-f
+ <li> -stats
<br>
- Overwrite output files
+ Print statistics.
<p>
- <li>-load=<plugin.so>
+ <li> -time-passes
<br>
- Load the specified plugin.
+ Record the amount of time needed for each pass and print it to standard
+ error.
<p>
- <li>-m<arch>
+</ul>
+<h4>X86 Specific Options</h4>
+<ul>
+ <li>-disable-fp-elim
<br>
- Specify the architecture for which to generate assembly. Valid
- architectures are:
-
- <dl compact>
- <di> x86
- <dd>IA-32 (Pentium and above)</dd>
-
- <di> sparc
- <dd>SPARC V9</dd>
- </dl>
+ Disable frame pointer elimination optimization.
<p>
- <li>-o <filename>
+ <li>-disable-pattern-isel
<br>
- Specify the output filename.
+ Use the 'simple' X86 instruction selector (the default).
<p>
- <li>-print-machineinstrs
+ <li>-print-machineinstrs
<br>
Print generated machine code.
<p>
<li>-regalloc=<ra>
<br>
- Specify the register allocator to use. The default is <i>simple<i>.
+ Specify the register allocator to use. The default is <i>simple</i>.
Valid register allocators are:
<dl compact>
<di> simple
</dl>
<p>
- <li> -help
+</ul>
+
+<h4>Sparc Specific Options</h4>
+<ul>
+ <li>-disable-peephole
<br>
- Print a summary of command line options.
+ Disable peephole optimization pass.
<p>
- <li> -stats
+ <li>-disable-preopt
<br>
- Print statistics.
+ Disable optimizations prior to instruction selection.
<p>
- <li> -time-passes
+ <li>-disable-sched
<br>
- Record the amount of time needed for each pass and print it to standard
- error.
+ Disable local scheduling pass.
+ <p>
+
+ <li>-disable-strip
+ <br>
+ Do not strip the LLVM bytecode included in executable.
+ <p>
+
+ <li>-enable-maps
+ <br>
+ 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>