blob: 0c491a21dec3c7c89704ea5c160469f714745a57 [file] [log] [blame]
Brian Gaekef36e2d52004-06-02 19:12:38 +00001=pod
2
3=head1 NAME
4
5gccas - optimizing LLVM assembler
6
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
13The B<gccas> utility takes an LLVM assembly file generated by the
Misha Brukman6aa3c742004-07-01 17:59:53 +000014L<llvmgcc|llvmgcc> or L<llvmg++|llvmgxx> front-ends and converts
Brian Gaekef36e2d52004-06-02 19:12:38 +000015it into an LLVM bytecode file. It is primarily used by the GCC
16front end, and as such, attempts to mimic the interface provided
17by the default system assembler so that it can act as a "drop-in"
18replacement.
19
20B<gccas> performs a number of optimizations on the input program,
21including but not limited to: promotion of stack values to SSA
22registers; elimination of dead globals, function arguments, code,
23and types; tail-call elimination; loop-invariant code motion; global
24common-subexpression elimination; and sparse conditional constant
25propagation.
26
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
Brian Gaekef36e2d52004-06-02 19:12:38 +000047=item B<--stats>
48
49Print statistics.
50
51=item B<--time-passes>
52
53Record the amount of time needed for each pass and print it to standard
54error.
55
56=item B<--verify>
57
58Verify each pass result.
59
60=back
61
62=head1 EXIT STATUS
63
64If B<gccas> succeeds, it will exit with an exit status of 0.
65Otherwise, if an error occurs, it will exit with a non-zero exit
66status.
67
68=head1 SEE ALSO
69
Misha Brukmanc08937a2004-07-02 16:06:19 +000070L<llvm-as|llvm-as>, L<gccld|gccld>
Brian Gaekef36e2d52004-06-02 19:12:38 +000071
72=head1 AUTHORS
73
74Maintained by the LLVM Team (L<http://llvm.cs.uiuc.edu>).
75
76=cut