| =pod |
| |
| =head1 NAME |
| |
| gccas - convenience script to run B<llvm-as> and B<opt> |
| |
| =head1 SYNOPSIS |
| |
| B<gccas> [I<options>] I<filename> |
| |
| =head1 DESCRIPTION |
| |
| 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. It accomplishes this by using the |
| B<-std-compile-opts> option to the B<opt> tool. |
| |
| =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<-disable-compression> |
| |
| Do not compress the generated bytecode. |
| |
| =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<opt|opt>, L<gccld|gccld> |
| |
| =head1 AUTHORS |
| |
| Maintained by the LLVM Team (L<http://llvm.org>). |
| |
| =cut |