Make the addressing modes smarter
[oota-llvm.git] / docs / CFEBuildInstrs.html
index e60adf068528374cf0917527b6aa7f6191026159..e10c70732b839b0dd82138c58481d87984e01b8a 100644 (file)
@@ -68,19 +68,20 @@ located in a top-level directory (like <tt>/cygdrive/c/llvm</tt> and
 and Settings" directory).  We welcome patches to fix this issue.
 </p>
 <p>It has been found that the GCC 3.3.3 compiler provided with recent Cygwin
-versions is incapable of compiling the LLVM CFE correctly. If your Cygwin
-installation includes GCC 3.3.3 we <i>strongly</i> recommend that you download
-GCC 3.4.3, build it separately, and use it for compiling LLVM CFE. This has been
+versions is incapable of compiling the LLVM GCC front-end correctly. If your
+Cygwin
+installation includes GCC 3.3.3, we <i>strongly</i> recommend that you download
+GCC 3.4.3, build it separately, and use it for compiling the LLVM GCC front-end. This has been
 shown to work correctly.</p>
 <p>Some versions of Cygwin utilize an experimental version of GNU binutils that
 will cause the GNU <tt>ld</tt> linker to fail an assertion when linking
 components of the libstdc++. It is recommended that you replace the entire
 binutils package with version 2.15 such that "<tt>ld --version</tt>" responds
-with<br/>
+with</p>
 <pre>GNU ld version 2.15</pre>
 not with:<br/>
 <pre>GNU ld version 2.15.91 20040725</pre>
-</p></div>
+</div>
 
 <!--=========================================================================-->
 <div class="doc_subsection"><a name="aix">Building under AIX</a></div>
@@ -101,8 +102,10 @@ invalid code.  Instead, use the system assembler and linker.
 <p>
 <ol>
 <li><p>Configure and build the LLVM libraries and tools. There are two ways to
-do this: either with <i>objdir</i> == <i>srcdir</i> or not. It is recommended 
-that <i>srcdir</i> not be the same as <i>objdir</i>:</p>
+do this: either with <i>objdir</i> == <i>srcdir</i> or
+<i>objdir</i> != <i>srcdir</i>. It is recommended 
+that <i>srcdir</i> be the same as <i>objdir</i> for your LLVM tree (but note
+that you should always use <i>srcdir</i> != <i>objdir</i> for llvm-gcc):</p>
 <ul>
   <li>With <i>objdir</i> != <i>srcdir</i>:<pre>
  % cd <i>objdir</i>
@@ -128,10 +131,10 @@ of permissions. Specify a path into which LLVM can be installed (e.g.
 </pre></li>
 
 <li><p>Unpack the C/C++ front-end source into cfrontend/src, either by
-       untar'ing an llvm-gcc.tar.gz file or checking out CVS into this
+       untar'ing a cfrontend.source.tar.gz file or checking out CVS into this
        directory.</p></li>
 
-<li><p>Make "build" and "install" directories as siblings of the "src" tree.</p>
+<li><p>Make "build" and "install" directories as siblings of the "src" tree:</p>
 <pre>
  % pwd
  /usr/local/example/cfrontend/src
@@ -145,6 +148,7 @@ of permissions. Specify a path into which LLVM can be installed (e.g.
 
 <p>
 <b>Linux/x86:</b><br>
+<b>Linux/IA-64:</b><br>
 <b>MacOS X/PowerPC</b> (requires dlcompat library):<br>
 <b>AIX/PowerPC:</b>
 </p>
@@ -169,8 +173,15 @@ of permissions. Specify a path into which LLVM can be installed (e.g.
 <p><b>Solaris/SPARC:</b></p>
 
 <p>
-For Solaris/SPARC, LLVM only supports the SPARC V9 architecture.  Therefore,
-the configure command line should specify sparcv9, as shown below. Also,
+The GCC front-end can be configured for either SPARC V8 (32 bit) or SPARC V9 (64
+bit).  This changes, among other things, the sizes of integer types and the
+macros defined for conditional compilation.
+</p>
+
+<p>
+The SPARC V8 backend is still beta quality software.  Unless you are working on
+the SPARC V8 backend, you should specify sparcv9 on the configure command line,
+as shown below. Also,
 note that Solaris has trouble with various wide (multibyte) character
 functions from C as referenced from C++, so we typically configure with
 --disable-c-mbchar (cf. <a href="http://llvm.cs.uiuc.edu/PR206">Bug 206</a>).
@@ -244,7 +255,7 @@ the newly built llvm-gcc and llvm-g++ executables. </p></li>
 <li><p>Rebuild your CVS tree.  This shouldn't cause the whole thing to be
   rebuilt, but it should build the runtime libraries.  After the tree is
   built, install the runtime libraries into your GCC front-end build tree.
-  These are the commands you need.</p>
+  These are the commands you need:</p>
 <pre>
  % gmake
  % gmake -C runtime install-bytecode
@@ -292,7 +303,7 @@ The software also has the following additional copyrights:
 
 <pre>
 
-Copyright (c) 2003, 2004 University of Illinois at Urbana-Champaign.
+Copyright (c) 2003, 2004, 2005 University of Illinois at Urbana-Champaign.
 All rights reserved.
 
 Developed by: