<html>
<title>LLVM: opt tool</title>

<body bgcolor=white>

<center><h1>LLVM: <tt>opt</tt> tool</h1></center>
<HR>

<h3>NAME</h3>
<tt>opt</tt>

<h3>SYNOPSIS</h3>
<tt>opt [options] [filename]</tt>

<h3>DESCRIPTION</h3>

The <tt>opt</tt> command is the modular LLVM optimizer.  It takes LLVM bytecode
as input, runs the specified optimizations on it, and then outputs the optimized
LLVM bytecode.
<p>

The optimizations available via <tt>opt</tt> depend upon what libraries were
linked into it as well as any additional libraries that have been loaded with
the <tt>-load</tt> option.  Use the <tt>-help</tt> option to determine what
optimizations you can use.
<p>

If no filename is specified on the command line, <tt>opt</tt> reads its input
from standard input.
<p>

If an output filename is not specified with the <tt>-o</tt> option, <tt>opt</tt>
writes its output to the standard output.


<h3>OPTIONS</h3>

<ul>
	<li> -f
	<br>
	Force overwrite.  Normally, <tt>opt</tt> will refuse to overwrite an
	output file that already exists.  With this option, <tt>opt</tt> will
	overwrite the output file and replace it with new bytecode.
	<p>

	<li> -help
	<br>
	Print a summary of command line options.
	<p>

	<li> -o &lt;filename&gt;
	<br>
	Specify the output filename.
	<p>

	<li> -profile-info-file &lt;filename&gt;
	<br>
	Specify the name of the file loaded by the -profile-loader option.
	<p>

	<li> -stats
	<br>
	Print statistics.
	<p>

	<li> -time-passes
	<br>
	Record the amount of time needed for each pass and print it to standard
	error.
	<p>

	<li> -debug
	<br>
	If this is a debug build, this option will enable debug printouts from
	passes which use the <tt>DEBUG</tt> macro.  See the <a
	href="../ProgrammersManual.html#DEBUG">Programmer's Manual</a> for more
	information.
	<p>
<!--
	<li> -internalize-public-api-file &lt;filename&gt;
	<br>
	Preserve the symbol names listed in the file filename.
	<p>

	<li> -internalize-public-api-list=&lt;list&gt;
	<br>
	Perserve the symbol names specified.
	<p>
-->

	<li> -q
	<br>
	Quiet mode.  Do not print messages on whether the program was modified.
	<p>

	<li> -load &lt;plugin&gt;
	<br>
	Load the dynamic object &lt;plugin&gt;.  This object should register new
	optimization passes.  Once loaded, the object will add new command line
	options to enable various optimizations.  To see the new complete list
	of optimizations, use the -help and -load options together:
	<p>
	<tt>opt -load  &lt;plugin&gt; -help</tt>
	<p>

	<li> -p
	<br>
	Print module after each transformation.
	<p>
</ul>

<h3>EXIT STATUS</h3>

If <tt>opt</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="analyze.html"><tt>analyze</tt></a>

<HR>
Maintained by the <a href="http://llvm.cs.uiuc.edu">LLVM Team</a>.
</body>
</html>

