=head1 NAME
-gccas - optimizing LLVM assembler
+gccas - convenience script to run B<llvm-as> and B<opt>
=head1 SYNOPSIS
=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.
+The B<gccas> shell script passes an LLVM assembly file through the B<llvm-as>
+and B<opt> programs to generate an optimized bytecode file. Its name is an
+historical artifact from when it was a full executable used to process LLVM
+assembly generated by the L<llvmgcc|llvmgcc> or L<llvmg++|llvmgxx> front-ends.
+Currently this is a shell script that simulates what the old B<gccas> executable
+once did.
-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.
+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. It accomplishes this by using the
+B<-std-compile-opts> option to the B<opt> tool.
=head1 OPTIONS
=head1 SEE ALSO
-L<llvm-as|llvm-as>, L<gccld|gccld>
+L<llvm-as|llvm-as>, L<opt|opt>, L<gccld|gccld>
=head1 AUTHORS