blob: 56a1749df74323bacc859eb1b9250cf604358ae6 [file] [log] [blame]
Brian Gaekef36e2d52004-06-02 19:12:38 +00001=pod
2
3=head1 NAME
4
Reid Spencer776b16d2007-02-03 00:44:47 +00005gccas - convenience script to run B<llvm-as> and B<opt>
Brian Gaekef36e2d52004-06-02 19:12:38 +00006
7=head1 SYNOPSIS
8
Misha Brukmanc08937a2004-07-02 16:06:19 +00009B<gccas> [I<options>] I<filename>
Brian Gaekef36e2d52004-06-02 19:12:38 +000010
11=head1 DESCRIPTION
12
Reid Spencer776b16d2007-02-03 00:44:47 +000013The B<gccas> shell script passes an LLVM assembly file through the B<llvm-as>
14and B<opt> programs to generate an optimized bytecode file. Its name is an
15historical artifact from when it was a full executable used to process LLVM
16assembly generated by the L<llvmgcc|llvmgcc> or L<llvmg++|llvmgxx> front-ends.
17Currently this is a shell script that simulates what the old B<gccas> executable
18once did.
Brian Gaekef36e2d52004-06-02 19:12:38 +000019
Reid Spencer776b16d2007-02-03 00:44:47 +000020B<gccas> performs a number of optimizations on the input program, including but
21not limited to: promotion of stack values to SSA registers; elimination of dead
22globals, function arguments, code, and types; tail-call elimination;
23loop-invariant code motion; global common-subexpression elimination; and
24sparse conditional constant propagation. It accomplishes this by using the
25B<-std-compile-opts> option to the B<opt> tool.
Brian Gaekef36e2d52004-06-02 19:12:38 +000026
27=head1 OPTIONS
28
29=over
30
31=item B<--help>
32
33Print a summary of command line options.
34
35=item B<-o> F<filename>
36
37Specify the name of the output file which will hold the assembled bytecode.
38
39=item B<--disable-inlining>
40
41Disable the inlining pass. By default, it is enabled.
42
43=item B<--disable-opt>
44
45Disable all assembler-time optimization passes.
46
John Criswellb52818e2006-11-21 22:53:12 +000047=item B<-disable-compression>
48
49Do not compress the generated bytecode.
50
Brian Gaekef36e2d52004-06-02 19:12:38 +000051=item B<--stats>
52
53Print statistics.
54
55=item B<--time-passes>
56
57Record the amount of time needed for each pass and print it to standard
58error.
59
60=item B<--verify>
61
62Verify each pass result.
63
64=back
65
66=head1 EXIT STATUS
67
68If B<gccas> succeeds, it will exit with an exit status of 0.
69Otherwise, if an error occurs, it will exit with a non-zero exit
70status.
71
72=head1 SEE ALSO
73
Reid Spencer776b16d2007-02-03 00:44:47 +000074L<llvm-as|llvm-as>, L<opt|opt>, L<gccld|gccld>
Brian Gaekef36e2d52004-06-02 19:12:38 +000075
76=head1 AUTHORS
77
Reid Spencercd143fc2006-03-14 05:42:07 +000078Maintained by the LLVM Team (L<http://llvm.org>).
Brian Gaekef36e2d52004-06-02 19:12:38 +000079
80=cut