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