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