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

<body bgcolor=white>

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

<h3>NAME</h3>
<tt>analyze</tt>

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

<h3>DESCRIPTION</h3>

The <tt>analyze</tt> command performs various analysis of LLVM assembly code or
bytecode.  It will usually print the results on standard output, but in a few
cases, it will print output to standard error or generate a file with the
analysis output (which is usually done when the output is meant for another
program).
<p>
If filename is omitted or is -, <tt>analyze</tt> reads its input from standard
input.  It first attempts to interpret its input as LLVM bytecode.  If it
encounters an error, it then attempts to parse the input as LLVM assembly
language.

<h3>OPTIONS</h3>

<ul>
	<li> -help
	<br>
	Print a summary of command line options.
	<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> -q
	<br>
	Quiet mode.  With this option, analysis pass names are not printed.
	<p>

	<li> -load &lt;plugin.so&gt;
	<br>
	Load the specified dynamic object with name plugin.so.  This file
	should contain additional analysis passes that register themselves with
	the <tt>analyze</tt> program after being loaded.
	<p>

	After being loaded, additional command line options are made available
	for running the passes made available by plugin.so.  Use
	'<tt><tt>analyze</tt> -load &lt;plugin.so&gt; -help</tt>' to see the new
	list of available analysis passes.
	<p>
</ul>

<h3>EXIT STATUS</h3>

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

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

