blob: e80f7f415e8964c03c23e3560ba794c04f5754a0 [file] [log] [blame]
John Criswell408128d2003-09-11 19:58:03 +00001<html>
2<title>
Chris Lattner29793072003-09-25 19:50:05 +00003LLVM: analyze tool
John Criswell408128d2003-09-11 19:58:03 +00004</title>
5
Chris Lattner7c2b1262003-10-07 20:12:05 +00006<body bgcolor=white>
John Criswell408128d2003-09-11 19:58:03 +00007
Chris Lattnerd49ee882003-10-07 20:36:00 +00008<center><h1>LLVM: <tt>analyze</tt> tool</h1></center>
John Criswell408128d2003-09-11 19:58:03 +00009<HR>
10
Chris Lattnerd49ee882003-10-07 20:36:00 +000011<h3>NAME</h3>
12<tt>analyze</tt>
John Criswell408128d2003-09-11 19:58:03 +000013
Chris Lattnerd49ee882003-10-07 20:36:00 +000014<h3>SYNOPSIS</h3>
15<tt>analyze [options] [filename]</tt>
John Criswell408128d2003-09-11 19:58:03 +000016
Chris Lattnerd49ee882003-10-07 20:36:00 +000017<h3>DESCRIPTION</h3>
John Criswell408128d2003-09-11 19:58:03 +000018
Chris Lattnerd49ee882003-10-07 20:36:00 +000019The <tt>analyze</tt> command performs various analysis of LLVM assembly code or
John Criswell1cab4fb2003-09-29 14:05:08 +000020bytecode. It will usually print the results on standard output, but in a few
21cases, it will print output to standard error or generate a file with the
22analysis output (which is usually done when the output is meant for another
23program).
24<p>
Chris Lattnerd49ee882003-10-07 20:36:00 +000025If filename is omitted or is -, <tt>analyze</tt> reads its input from standard
26input. It first attempts to interpret its input as LLVM bytecode. If it
27encounters an error, it then attempts to parse the input as LLVM assembly
28language.
29
30<h3>OPTIONS</h3>
John Criswell408128d2003-09-11 19:58:03 +000031
32<ul>
33 <li> -help
34 <br>
35 Print a summary of command line options.
36 <p>
37
38 <li> -stats
39 <br>
40 Print statistics.
41 <p>
42
43 <li> -time-passes
44 <br>
45 Record the amount of time needed for each pass and print it to standard
46 error.
47 <p>
48
49 <li> -q
50 <br>
51 Quiet mode. With this option, analysis pass names are not printed.
52 <p>
53
54 <li> -load &lt;plugin.so&gt;
55 <br>
56 Load the specified dynamic object with name plugin.so. This file
57 should contain additional analysis passes that register themselves with
Chris Lattnerd49ee882003-10-07 20:36:00 +000058 the <tt>analyze</tt> program after being loaded.
John Criswell408128d2003-09-11 19:58:03 +000059 <p>
Chris Lattnerd49ee882003-10-07 20:36:00 +000060
John Criswell408128d2003-09-11 19:58:03 +000061 After being loaded, additional command line options are made available
Chris Lattnerd49ee882003-10-07 20:36:00 +000062 for running the passes made available by plugin.so. Use
63 '<tt><tt>analyze</tt> -load &lt;plugin.so&gt; -help</tt>' to see the new
64 list of available analysis passes.
John Criswell408128d2003-09-11 19:58:03 +000065 <p>
66</ul>
67
Chris Lattnerd49ee882003-10-07 20:36:00 +000068<h3>EXIT STATUS</h3>
John Criswell408128d2003-09-11 19:58:03 +000069
Chris Lattnerd49ee882003-10-07 20:36:00 +000070If <tt>analyze</tt> succeeds, it will exit with 0. Otherwise, if an error
71occurs, it will exit with a non-zero value.
John Criswell408128d2003-09-11 19:58:03 +000072
Chris Lattnerd49ee882003-10-07 20:36:00 +000073<h3>SEE ALSO</h3>
74
75<a href="opt.html"><tt>opt</tt></a>
John Criswell408128d2003-09-11 19:58:03 +000076
77<HR>
Chris Lattner7c2b1262003-10-07 20:12:05 +000078Maintained by the <a href="http://llvm.cs.uiuc.edu">LLVM Team</a>.
John Criswell408128d2003-09-11 19:58:03 +000079</body>
80</html>
81