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