Misha Brukman | f19aa2e | 2004-07-01 14:51:26 +0000 | [diff] [blame^] | 1 | |
| 2 | =pod |
| 3 | |
| 4 | =head1 NAME |
| 5 | |
| 6 | llvmgcc - LLVM C front-end |
| 7 | |
| 8 | =head1 SYNOPSIS |
| 9 | |
| 10 | llvmgcc [options] filename |
| 11 | |
| 12 | =head1 DESCRIPTION |
| 13 | |
| 14 | The B<llvmgcc> command is the LLVM C front end. It is a modified |
| 15 | version of gcc that takes C programs and compiles them into LLVM |
| 16 | bytecode or assembly language, depending upon the options. |
| 17 | |
| 18 | Unless the B<-S> option is specified, B<llvmgcc> will use the |
| 19 | L<gccas|gccas> program to perform some optimizations and create an |
| 20 | LLVM bytecode file. Unless the B<-c> option is specified, B<llvmgcc> |
| 21 | will also use the L<gccld|gccld> program to perform further |
| 22 | optimizations and link the resulting bytecode file(s) with support |
| 23 | libraries to create an executable program. |
| 24 | |
| 25 | Being derived from the GNU Compiler Collection, B<llvmgcc> has many |
| 26 | of gcc's features and accepts most of gcc's options. It handles a |
| 27 | number of gcc's extensions to the C programming language. |
| 28 | |
| 29 | =head1 OPTIONS |
| 30 | |
| 31 | =over |
| 32 | |
| 33 | =item B<--help> |
| 34 | |
| 35 | Print a summary of command line options. |
| 36 | |
| 37 | =item B<-S> |
| 38 | |
| 39 | Do not generate an LLVM bytecode file. Rather, compile the source |
| 40 | file into an LLVM assembly language file. |
| 41 | |
| 42 | =item B<-c> |
| 43 | |
| 44 | Do not generate a linked executable. Rather, compile the source |
| 45 | file into an LLVM bytecode file. This bytecode file can then be |
| 46 | linked with other bytecode files later on to generate a full LLVM |
| 47 | executable. |
| 48 | |
| 49 | =item B<-o> I<filename> |
| 50 | |
| 51 | Specify the output file to be I<filename>. |
| 52 | |
| 53 | =item B<-I> I<directory> |
| 54 | |
| 55 | Add a directory to the header file search path. This option can be |
| 56 | repeated. |
| 57 | |
| 58 | =item B<-L> I<directory> |
| 59 | |
| 60 | Add I<directory> to the library search path. This option can be |
| 61 | repeated. |
| 62 | |
| 63 | =item B<-l>I<name> |
| 64 | |
| 65 | Link in the library libI<name>.[bc | a | so]. This library should |
| 66 | be a bytecode library. |
| 67 | |
| 68 | =item B<-Wl,>I<option> |
| 69 | |
| 70 | Pass I<option> to the linker (usually gccld). |
| 71 | |
| 72 | =back |
| 73 | |
| 74 | =head1 EXIT STATUS |
| 75 | |
| 76 | If B<llvmgcc> succeeds, it will exit with 0. Otherwise, if an error |
| 77 | occurs, it will exit with a non-zero value. |
| 78 | |
| 79 | =head1 SEE ALSO |
| 80 | |
| 81 | L<llvmgxx>, L<gccas>, L<gccld> |
| 82 | |
| 83 | =head1 AUTHORS |
| 84 | |
| 85 | Maintained by the LLVM Team (L<http://llvm.cs.uiuc.edu>). |
| 86 | |
| 87 | =cut |
| 88 | |