=pod

=head1 NAME

llvm-as - LLVM assembler

=head1 SYNOPSIS

B<llvm-as> [I<options>] [I<filename>]

=head1 DESCRIPTION

B<llvm-as> is the LLVM assembler.  It reads a file containing human-readable
LLVM assembly language, translates it to LLVM bitcode, and writes the result
into a file or to standard output.

If F<filename> is omitted or is C<->, then B<llvm-as> reads its input from
standard input.

If an output file is not specified with the B<-o> option, then
B<llvm-as> sends its output to a file or standard output by following
these rules:

=over 

=item *

If the input is standard input, then the output is standard output.

=item *

If the input is a file that ends with C<.ll>, then the output file is of
the same name, except that the suffix is changed to C<.bc>.

=item *

If the input is a file that does not end with the C<.ll> suffix, then the
output file has the same name as the input file, except that the C<.bc>
suffix is appended.

=back

=head1 OPTIONS

=over

=item B<-f>

Enable binary output on terminals.  Normally, B<llvm-as> will refuse to
write raw bitcode output if the output stream is a terminal. With this option,
B<llvm-as> will write raw bitcode regardless of the output device.

=item B<-help>

Print a summary of command line options.

=item B<-o> F<filename>

Specify the output file name.  If F<filename> is C<->, then B<llvm-as>
sends its output to standard output.

=back

=head1 EXIT STATUS

If B<llvm-as> succeeds, it will exit with 0.  Otherwise, if an error
occurs, it will exit with a non-zero value.

=head1 SEE ALSO

L<llvm-dis|llvm-dis>, L<gccas|gccas>

=head1 AUTHORS

Maintained by the LLVM Team (L<http://llvm.org/>).

=cut
