=pod

=head1 NAME

llvm-bcanalyzer - LLVM bytecode analyzer

=head1 SYNOPSIS

B<llvm-bcanalyzer> [I<options>] [I<filename>]

=head1 DESCRIPTION

The B<llvm-bcanalyzer> command is a small utility for analyzing bytecode files.
The tool reads a bytecode file (such as generated with the B<llvm-as> tool) and
produces a statistical report on the contents of the byteocde file.  The tool
will also dump a low level but human readable version of the bytecode file. 
This tool is probably not of much interest or utility except for those working 
directly with the bytecode file format. Most LLVM users can just ignore
this tool.

If F<filename> is omitted or is C<->, then B<llvm-bcanalyzer> reads its input 
from standard input. This is useful for combining the tool into a pipeline.

Output is written to the standard output.

=head1 OPTIONS

=over

=item B<-nodetails>

Causes B<llvm-bcanalyzer> to abbreviate its output by writing out only a module 
level summary. The details for individual functions are not displayed.

=item B<-dump>

Causes B<llvm-bcanalyzer> to dump the bytecode in a human readable format. This 
format is significantly different from LLVM assembly and provides details about 
the encoding of the bytecode file. 

=item B<-verify>

Causes B<llvm-bcanalyzer> to verify the module produced by by reading the 
bytecode. This ensures that the statistics generated are based on a consistent
module.

=item B<--help>

Print a summary of command line options.

=back

=head1 EXIT STATUS

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

=head1 SEE ALSO

L<llvm-dis|llvm-dis>, L<http://llvm.cs.uiuc.edu/docs/BytecodeFormat.html>

=head1 AUTHORS

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

=cut
