=pod

=head1 NAME

gccas - optimizing LLVM assembler

=head1 SYNOPSIS

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

=head1 DESCRIPTION

The B<gccas> utility takes an LLVM assembly file generated by the
L<llvmgcc|llvmgcc> or L<llvmg++|llvmgxx> front-ends and converts
it into an LLVM bytecode file.  It is primarily used by the GCC
front end, and as such, attempts to mimic the interface provided
by the default system assembler so that it can act as a "drop-in"
replacement.

B<gccas> performs a number of optimizations on the input program,
including but not limited to: promotion of stack values to SSA
registers; elimination of dead globals, function arguments, code,
and types; tail-call elimination; loop-invariant code motion; global
common-subexpression elimination; and sparse conditional constant
propagation.

=head1 OPTIONS

=over

=item B<--help>

Print a summary of command line options.

=item B<-o> F<filename>

Specify the name of the output file which will hold the assembled bytecode.

=item B<--disable-inlining>

Disable the inlining pass.  By default, it is enabled.

=item B<--disable-opt>

Disable all assembler-time optimization passes.

=item B<--stats>

Print statistics.

=item B<--time-passes>

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

=item B<--verify>

Verify each pass result.

=back

=head1 EXIT STATUS

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

=head1 SEE ALSO

L<llvm-as|llvm-as>, L<gccld|gccld>

=head1 AUTHORS

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

=cut
