|  | <html> | 
|  | <title> | 
|  | LLVM: llvmgcc tool | 
|  | </title> | 
|  |  | 
|  | <body bgcolor=white> | 
|  |  | 
|  | <center> | 
|  | <h1>LLVM: <tt>llvmgcc</tt> tool</h1> | 
|  | </center> | 
|  | <HR> | 
|  |  | 
|  | <h3>NAME</h3> | 
|  | <tt>llvmgcc</tt> | 
|  |  | 
|  | <h3> | 
|  | SYNOPSIS | 
|  | </h3> | 
|  |  | 
|  | <tt>llvmgcc [options] filename</tt> | 
|  | <h3> | 
|  | DESCRIPTION | 
|  | </h3> | 
|  |  | 
|  | The <tt>llvmgcc</tt> command is the LLVM C front end.  It is a modified version | 
|  | of the <a href="http://gcc.gnu.org">GNU Compiler Collection</a> (GCC) that takes | 
|  | C programs and compiles them into LLVM bytecode or assembly language, depending | 
|  | upon the options. | 
|  | <p> | 
|  |  | 
|  | Unless the <tt>-S</tt> option is specified, <tt>llvmgcc</tt> will use the | 
|  | <a href="gccas.html"><tt>gccas</tt></a> program to perform some optimizations | 
|  | and create an LLVM bytecode file. Unless the <tt>-c</tt> option is specified, | 
|  | <tt>llvmgcc</tt> will also use the <a href="gccld.html"><tt>gccld</tt></a> | 
|  | program to perform further optimizations and link the resulting bytecode | 
|  | file(s) with support libraries to create an executable program. | 
|  | <p> | 
|  |  | 
|  | Being derived from GCC, llvmgcc has many of GCC's features and accepts most of | 
|  | GCC's options.  It handles a number of GCC's extensions to the C programming | 
|  | language. | 
|  | <p> | 
|  |  | 
|  | Below you will find several commonly used options: | 
|  |  | 
|  | <h3> | 
|  | OPTIONS | 
|  | </h3> | 
|  |  | 
|  | <ul> | 
|  | <li> -S | 
|  | <br> | 
|  | Do not generate an LLVM bytecode file.  Rather, compile the source file | 
|  | into an LLVM assembly language file. | 
|  | <p> | 
|  |  | 
|  | <li> -c | 
|  | <br> | 
|  | Do not generate a linked bytecode executable.  Rather, compile the source | 
|  | file into an LLVM bytecode file.  This bytecode file can then be linked | 
|  | with other bytecode files later to generate a full LLVM executable. | 
|  | <p> | 
|  |  | 
|  | <li> -o <i>filename</i> | 
|  | <br> | 
|  | Specify the output file to be <i>filename</i>. | 
|  | <p> | 
|  |  | 
|  | <li> -I <i>directory</i> | 
|  | <br> | 
|  | Add a directory to the header file search path.  This option can be | 
|  | repeated. | 
|  | <p> | 
|  |  | 
|  | <li> -L <i>directory</i> | 
|  | <br> | 
|  | Add <i>directory</i> to the library search path.  This option can be | 
|  | repeated. | 
|  | <p> | 
|  |  | 
|  | <li> -l<i>name</i> | 
|  | <br> | 
|  | Link in the library lib<i>name</i>.[bc | a | so].  This library should | 
|  | be a bytecode library. | 
|  | <p> | 
|  |  | 
|  | <li>-Wl,<i>option</i> | 
|  | <br> | 
|  | Pass <i>option</i> to the linker program, <a | 
|  | href="gccld.html"><tt>gccld</tt></a>. | 
|  | <p> | 
|  | </ul> | 
|  |  | 
|  | <h3> | 
|  | EXIT STATUS | 
|  | </h3> | 
|  |  | 
|  | If <tt>llvmgcc</tt> succeeds, it will exit with 0.  Otherwise, if an error | 
|  | occurs, it will exit with a non-zero value. | 
|  |  | 
|  | <h3> | 
|  | SEE ALSO | 
|  | </h3> | 
|  | <A HREF="llvmgxx.html"><tt>llvmg++</tt></A>, | 
|  | <A HREF="gccas.html"><tt>gccas</tt></A>, | 
|  | <A HREF="gccld.html"><tt>gccld</tt></A>, | 
|  | and the Info documentation for <tt>gcc</tt>. | 
|  |  | 
|  | <HR> | 
|  | Maintained by the <a href="http://llvm.cs.uiuc.edu">LLVM Team</a>. | 
|  | </body> | 
|  | </html> | 
|  |  |