=pod

=head1 NAME

llvm-dis - LLVM disassembler

=head1 SYNOPSIS

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

=head1 DESCRIPTION

The B<llvm-dis> command is the LLVM disassembler.  It takes an LLVM
bitcode file and converts it into human-readable LLVM assembly language.

If filename is omitted or specified as C<->, B<llvm-dis> reads its
input from standard input.

If the input is being read from standard input, then B<llvm-dis>
will send its output to standard output by default.  Otherwise, the
output will be written to a file named after the input file, with
a C<.ll> suffix added (any existing C<.bc> suffix will first be
removed).  You can override the choice of output file using the
B<-o> option.

=head1 OPTIONS

=over

=item B<-f>

Force overwrite.  Normally, B<llvm-dis> will refuse to overwrite
an output file that already exists.  With this option, B<llvm-dis>
will overwrite the output file.

=item B<--help>

Print a summary of command line options.

=item B<-o> F<filename>

Specify the output file name.  If F<filename> is -, then the output is sent
to standard output.

=back

=head1 EXIT STATUS

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

=head1 SEE ALSO

L<llvm-as|llvm-as>

=head1 AUTHORS

Maintained by the LLVM Team (L<http://llvm.org>).

=cut
