=pod

=head1 NAME

analyze - LLVM program analyzer

=head1 SYNOPSIS

B<analyze> [I<options>] [I<filename>]

=head1 DESCRIPTION

The B<analyze> 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.

If filename is omitted or is I<->, B<analyze> 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.

=head1 OPTIONS

=over

=item B<-help>

Print a summary of command line options.

=item B<-q>

Quiet mode.  With this option, analysis pass names are not printed.

=item B<-load> I<plugin>

Load the specified dynamic object with name I<plugin>.  This file
should contain additional analysis passes that register themselves
with the B<analyze> program after being loaded.

After being loaded, additional command line options are made
available for running the passes made available by I<plugin>.  Use
B<analyze -load> I<plugin> B<-help> to see the new list of available
analysis passes.

=item B<-profile-info-file> I<filename>

Specify the name of the file loaded by the -profile-loader option.

=item B<-stats>

Print statistics.

=item B<-time-passes>

Record the amount of time needed for each pass and print it to standard
error.

=back

=head1 EXIT STATUS

If B<analyze> succeeds, it will exit with 0.  Otherwise, if an error
occurs, it will exit with a non-zero value.

=head1 SEE ALSO

L<opt|opt>

=head1 AUTHORS

Maintained by the LLVM Team (L<http://llvm.cs.uiuc.edu>).

=cut
