<li>Read the documentation.</li>
<li>Read the documentation.</li>
<li>Remember that you were warned twice about reading the documentation.</li>
- <li>Install the llvm-gcc4.2 front end if you intend to compile C or C++:
+ <li>Install the llvm-gcc-4.2 front end if you intend to compile C or C++:
<ol>
<li><tt>cd <i>where-you-want-the-C-front-end-to-live</i></tt></li>
- <li><tt>gunzip --stdout llvm-gcc.<i>platform</i>.tar.gz | tar -xvf -</tt>
+ <li><tt>gunzip --stdout llvm-gcc-4.2-<i>version</i>-<i>platform</i>.tar.gz | tar -xvf -</tt>
</li>
- <ul><li>If the binary extension is ".bz" use bunzip2 instead of gunzip.</li>
- </ul>
+ <li>Note: If the binary extension is ".bz" use bunzip2 instead of gunzip.</li>
<li>Add llvm-gcc's "bin" directory to your PATH variable.</li>
</ol></li>
</tr>
<tr>
<td>Linux</td>
- <td>amd64<sup><a href="#pf_3">3</a></sup></td>
+ <td>amd64</td>
<td>GCC</td>
</tr>
</table>
<tr>
<td>Windows</td>
<td>x86<sup><a href="#pf_1">1</a></sup></td>
- <td>Visual Studio .NET<sup><a href="#pf_4">4</a>,<a href="#pf_5">5</a></sup></td>
+ <td>Visual Studio 2005 SP1 or higher<sup><a href="#pf_4">4</a>,<a href="#pf_5">5</a></sup></td>
<tr>
<td>AIX<sup><a href="#pf_3">3</a>,<a href="#pf_4">4</a></sup></td>
<td>PowerPC</td>
up</a></li>
<li><a name="pf_2">Code generation supported for 32-bit ABI only</a></li>
<li><a name="pf_3">No native code generation</a></li>
-<li><a name="pf_4">Build is not complete: one or more tools don't link</a></li>
+<li><a name="pf_4">Build is not complete: one or more tools do not link or function</a></li>
<li><a name="pf_5">The GCC-based C/C++ frontend does not build</a></li>
-<li><a name="pf_6">The port is done using the MSYS shell.</a>
-<a href="http://www.mingw.org/MinGWiki/">Download</a> and install
-bison (excl. M4.exe) and flex in that order. Build binutils-2.15 from source,
-if necessary. Bison & flex can be also grabbed from GNUWin32 sf.net
-project.</li>
+<li><a name="pf_6">The port is done using the MSYS shell.</a></li>
<li><a name="pf_7">Native code generation exists but is not complete.</a></li>
<li><a name="pf_8">Binutils</a> up to post-2.17 has bug in bfd/cofflink.c
preventing LLVM from building correctly. Several workarounds have been
future. We highly recommend that you rebuild your current binutils with the
patch from <a href="http://sourceware.org/bugzilla/show_bug.cgi?id=2659">
Binutils bugzilla</a>, if it wasn't already applied.</li>
-<li><a name="pf_9">XCode 2.5 and gcc 4.0.1 (Apple Build 5370) will trip
+<li><a name="pf_9">XCode 2.5 and gcc 4.0.1</a> (Apple Build 5370) will trip
internal LLVM assert messages when compiled for Release at optimization
- levels greater than 0 (i.e., <i>“-O1”</i> and higher).
- Add <i>OPTIMIZE_OPTION="-O0"</i> to the build command line
+ levels greater than 0 (i.e., <i>"-O1"</i> and higher).
+ Add <i>OPTIMIZE_OPTION="-O0"</i> to the build command line
if compiling for LLVM Release or bootstrapping the LLVM toolchain.</li>
</ol>
</div>
<td>For building the CFE</td>
</tr>
- <tr>
- <td><a href="http://www.gnu.org/software/flex">Flex</a></td>
- <td>2.5.4</td>
- <td>LEX compiler</td>
- </tr>
-
- <tr>
- <td><a href="http://www.gnu.org/software/bison/bison.html">Bison</a></td>
- <td>1.28, 1.35, 1.75, 1.875d, 2.0, or 2.1<br>(not 1.85 or 1.875)</td>
- <td>YACC compiler</td>
- </tr>
-
<tr>
<td><a href="http://subversion.tigris.org/project_packages.html">SVN</a></td>
<td>≥1.3</td>
portions of its testsuite.</p>
<p><b>GCC 4.1.2 on OpenSUSE</b>: Seg faults during libstdc++ build and on x86_64
platforms compiling md5.c gets a mangled constant.</p>
+<p><b>GCC 4.1.2 (20061115 (prerelease) (Debian 4.1.1-21)) on Debian</b>: Appears
+to miscompile parts of LLVM 2.4. One symptom is ValueSymbolTable complaining
+about symbols remaining in the table on destruction.</p>
+<p><b>GCC 4.1.2 20071124 (Red Hat 4.1.2-42)</b>: Suffers from the same symptoms
+as the previous one. It appears to work with ENABLE_OPTIMIZED=0 (the default).</p>
+
<p><b>GNU ld 2.16.X</b>. Some 2.16.X versions of the ld linker will produce very
long warning messages complaining that some ".gnu.linkonce.t.*" symbol was
defined in a discarded section. You can safely ignore these messages as they are
<p>The files are as follows, with <em>x.y</em> marking the version number:
<dl>
<dt><tt>llvm-x.y.tar.gz</tt></dt>
- <dd>Source release for the LLVM libraries and tools.<br/></dd>
+ <dd>Source release for the LLVM libraries and tools.<br></dd>
<dt><tt>llvm-test-x.y.tar.gz</tt></dt>
<dd>Source release for the LLVM test suite.</dd>
- <dt><tt>llvm-gcc4-x.y.source.tar.gz</tt></dt>
- <dd>Source release of the llvm-gcc4 front end. See README.LLVM in the root
- directory for build instructions.<br/></dd>
+ <dt><tt>llvm-gcc-4.2-x.y.source.tar.gz</tt></dt>
+ <dd>Source release of the llvm-gcc-4.2 front end. See README.LLVM in the root
+ directory for build instructions.<br></dd>
- <dt><tt>llvm-gcc4-x.y-platform.tar.gz</tt></dt>
- <dd>Binary release of the llvm-gcc4 front end for a specific platform.<br/></dd>
+ <dt><tt>llvm-gcc-4.2-x.y-platform.tar.gz</tt></dt>
+ <dd>Binary release of the llvm-gcc-4.2 front end for a specific platform.<br></dd>
</dl>
-<p>It is also possible to download the sources of the llvm-gcc4 front end from a
-read-only subversion mirror at
-svn://anonsvn.opensource.apple.com/svn/llvm/trunk. </p>
-
</div>
<!-- ======================================================================= -->
<p>If you want to get a specific release (as opposed to the most recent
revision), you can checkout it from the '<tt>tags</tt>' directory (instead of
'<tt>trunk</tt>'). The following releases are located in the following
- subdirectories of the '<tt>tags</tt>' directory:</p>
+subdirectories of the '<tt>tags</tt>' directory:</p>
<ul>
+<li>Release 2.4: <b>RELEASE_24</b></li>
+<li>Release 2.3: <b>RELEASE_23</b></li>
<li>Release 2.2: <b>RELEASE_22</b></li>
<li>Release 2.1: <b>RELEASE_21</b></li>
<li>Release 2.0: <b>RELEASE_20</b></li>
<ol>
<li><tt>cd <i>where-you-want-the-front-end-to-live</i></tt></li>
- <li><tt>gunzip --stdout llvmgcc-<i>version</i>.<i>platform</i>.tar.gz | tar -xvf
+ <li><tt>gunzip --stdout llvm-gcc-4.2-<i>version</i>-<i>platform</i>.tar.gz | tar -xvf
-</tt></li>
</ol>
native compiler (no cross-compiler targets available). The "native" target is
selected as the target of the build host. You can also specify a comma
separated list of target names that you want available in llc. The target
- names use all lower case. The current set of targets is: <br/>
+ names use all lower case. The current set of targets is: <br>
<tt>alpha, ia64, powerpc, skeleton, sparc, x86</tt>.
<br><br></dd>
<dt><i>--enable-doxygen</i></dt>
<p>This directory contains projects that are not strictly part of LLVM but are
shipped with LLVM. This is also the directory where you should create your own
LLVM-based projects. See <tt>llvm/projects/sample</tt> for an example of how
- to set up your own project. See <tt>llvm/projects/Stacker</tt> for a fully
- functional example of a compiler front end.</p>
+ to set up your own project.</p>
</div>
<!-- ======================================================================= -->
<dd><tt>opt</tt> reads LLVM bitcode, applies a series of LLVM to LLVM
transformations (which are specified on the command line), and then outputs
the resultant bitcode. The '<tt>opt --help</tt>' command is a good way to
- get a list of the program transformations available in LLVM.<br/>
+ get a list of the program transformations available in LLVM.<br>
<dd><tt>opt</tt> can also be used to run a specific analysis on an input
LLVM bitcode file and print out the results. It is primarily useful for
debugging analyses, or familiarizing yourself with what an analysis does.</dd>
<div class="doc_text">
-<p>This document is just an <b>introduction</b> to how to use LLVM to do
+<p>This document is just an <b>introduction</b> on how to use LLVM to do
some simple things... there are many more interesting and complicated things
that you can do that aren't documented here (but we'll gladly accept a patch
if you want to write something up!). For more information about LLVM, check
<hr>
<address>
<a href="http://jigsaw.w3.org/css-validator/check/referer"><img
- src="http://jigsaw.w3.org/css-validator/images/vcss" alt="Valid CSS!"></a>
+ src="http://jigsaw.w3.org/css-validator/images/vcss-blue" alt="Valid CSS"></a>
<a href="http://validator.w3.org/check/referer"><img
- src="http://www.w3.org/Icons/valid-html401" alt="Valid HTML 4.01!" /></a>
+ src="http://www.w3.org/Icons/valid-html401-blue" alt="Valid HTML 4.01"></a>
<a href="mailto:sabre@nondot.org">Chris Lattner</a><br>
<a href="http://llvm.x10sys.com/rspencer/">Reid Spencer</a><br>