<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>

