blob: c5ee63b3c17b16c024b4ee69a8e709eb392a6d53 [file] [log] [blame]
Brian Gaekef36e2d52004-06-02 19:12:38 +00001
2=pod
3
4=head1 NAME
5
6gccas - optimizing LLVM assembler
7
8=head1 SYNOPSIS
9
10gccas [options] filename
11
12=head1 DESCRIPTION
13
14The B<gccas> utility takes an LLVM assembly file generated by the
Misha Brukman6aa3c742004-07-01 17:59:53 +000015L<llvmgcc|llvmgcc> or L<llvmg++|llvmgxx> front-ends and converts
Brian Gaekef36e2d52004-06-02 19:12:38 +000016it into an LLVM bytecode file. It is primarily used by the GCC
17front end, and as such, attempts to mimic the interface provided
18by the default system assembler so that it can act as a "drop-in"
19replacement.
20
21B<gccas> performs a number of optimizations on the input program,
22including but not limited to: promotion of stack values to SSA
23registers; elimination of dead globals, function arguments, code,
24and types; tail-call elimination; loop-invariant code motion; global
25common-subexpression elimination; and sparse conditional constant
26propagation.
27
28=head1 OPTIONS
29
30=over
31
32=item B<--help>
33
34Print a summary of command line options.
35
36=item B<-o> F<filename>
37
38Specify the name of the output file which will hold the assembled bytecode.
39
40=item B<--disable-inlining>
41
42Disable the inlining pass. By default, it is enabled.
43
44=item B<--disable-opt>
45
46Disable all assembler-time optimization passes.
47
Brian Gaekef36e2d52004-06-02 19:12:38 +000048=item B<--stats>
49
50Print statistics.
51
52=item B<--time-passes>
53
54Record the amount of time needed for each pass and print it to standard
55error.
56
57=item B<--verify>
58
59Verify each pass result.
60
61=back
62
63=head1 EXIT STATUS
64
65If B<gccas> succeeds, it will exit with an exit status of 0.
66Otherwise, if an error occurs, it will exit with a non-zero exit
67status.
68
69=head1 SEE ALSO
70
71L<llvm-as>, L<gccld>
72
73=head1 AUTHORS
74
75Maintained by the LLVM Team (L<http://llvm.cs.uiuc.edu>).
76
77=cut
78