Bug fix
[oota-llvm.git] / docs / ReleaseNotes.html
index c7640ec9925a98566681169ba89bd0008371a261..09245885c268e3ca80b67838fa82cabecef7e59a 100644 (file)
@@ -72,20 +72,11 @@ href="http://llvm.cs.uiuc.edu/releases/">releases page</a>.</p>
 <p>This is the third public release of the LLVM compiler infrastructure.
 </p>
 
-<p>At this time, LLVM is known to correctly compile and run all non-unwinding C
+<p>At this time, LLVM is known to correctly compile and run all C
 &amp; C++ SPEC CPU2000 benchmarks, the Olden benchmarks, and the Ptrdist
 benchmarks.  It has also been used to compile <b>many</b> other programs.  LLVM
 now also works with a broad variety of C++ programs, though it has still
-received much less testing than the C front-end.
-</p>
-
-<p>
-The LLVM native code generators are very stable but do not currently support
-unwinding (exception throwing or <tt>longjmp</tt>ing), which prevent them from
-working with programs like the <tt>253.perlbmk</tt> in SPEC CPU2000.  The C
-backend and the rest of LLVM supports these programs, so you can
-still use LLVM with them.  Support for unwinding will be added in a future
-release.
+received less testing than the C front-end.
 </p>
 
 
@@ -95,7 +86,7 @@ This release implements the following new features:
 </div>
 
 <ol>
-<li></li>
+<li><a href="SourceLevelDebugging.html">A new LLVM source-level debugger has been started.</a></li>
 <li></li>
 </ol>
 
@@ -106,8 +97,8 @@ In this release, the following missing features were implemented:
 </div>
 
 <ol>
-<li></li>
-<li></li>
+<li><a href="http://llvm.cs.uiuc.edu/PR16">Exception handling support in the X86
+&amp; Sparc native code generators</a></li>
 </ol>
 
 
@@ -123,16 +114,27 @@ In this release, the following Quality of Implementation issues were fixed:
 <li><a href="http://llvm.cs.uiuc.edu/PR196">[vmcore] OpaqueType objects memory leak</a></li>
 <li><a href="http://llvm.cs.uiuc.edu/PR182">[llvmgcc] C front-end does not compile "extern inline" into linkonce</a></li>
 <li><a href="http://llvm.cs.uiuc.edu/PR73">Bytecode format inconsistent</a></li>
+<li><a href="http://llvm.cs.uiuc.edu/PR209">[loadvn/inline/scalarrepl] Slow optimizations with extremely large basic blocks</a></li>
+<li><a href="http://llvm.cs.uiuc.edu/PR224">[asmparser] Really slow parsing of types with complex upreferences</a></li>
 </ol>
 
 <!--=========================================================================-->
 <div class="doc_subsubsection">
-In this release, the following build problems were fixed:
+LLVM gained several improvements to its build and installation
+infrastructure in this release. There is now
+a <tt>autoconf/AutoRegen.sh</tt> script that you can run to rebuild the
+<tt>configure</tt> script and its associated files
+(<a href="http://llvm.cs.uiuc.edu/PR105">Bug 105</a>) as well as beta support
+for "make install" (<a href="http://llvm.cs.uiuc.edu/PR208">Bug 208</a> and
+<a href="http://llvm.cs.uiuc.edu/PR220">Bug 220</a>) and RPM package generation
+(<a href="http://llvm.cs.uiuc.edu/PR203">Bug 203</a>).
+Additionally, in this release, the following build problems were fixed:
 </div>
 
 <ol>
 <li><a href="http://llvm.cs.uiuc.edu/PR210">[build] Makefiles break if C frontend target string has unexpected value</a></li>
 <li><a href="http://llvm.cs.uiuc.edu/PR214">[build] hard-wired assumption that shared-library extension is ".so"</a></li>
+<li><A href="http://llvm.cs.uiuc.edu/PR222">make tools-only doesn't make lib/Support</a></li>
 </ol>
 
 <!--=========================================================================-->
@@ -143,6 +145,7 @@ In this release, the following Code Quality issues were fixed:
 <ol>
 <li><a href="http://llvm.cs.uiuc.edu/PR187">[loopsimplify] Many pointless phi nodes are created</a></li>
 <li>The X86 backend didn't generate <tt>fchs</tt> to negate floating point numbers</li>
+<li>The X86 backend didn't expand memcpy() into the <tt>rep movs</tt> instruction</li> 
 </ol>
 
 
@@ -163,11 +166,17 @@ canonicalization always makes 32-bit indvars</a></li>
 <li><a href="http://llvm.cs.uiuc.edu/PR193">[constantmerge] Merging globals can
 cause use of invalid pointers!</a></li>
 <li><a href="http://llvm.cs.uiuc.edu/PR212">[bcreader] Bytecode reader misreads 'long -9223372036854775808'!</a></li>
+<li><a href="http://llvm.cs.uiuc.edu/bugs/show_bug.cgi?id=174">Tail duplication does not update SSA form correctly.</a></li>
 <li><a href="http://llvm.cs.uiuc.edu/PR218">VMCore mishandles double -0.0</a></li>
 <li><a href="http://llvm.cs.uiuc.edu/PR219">[X86] X86 backend code generates -0.0 as +0.0</a></li>
+<li><a href="http://llvm.cs.uiuc.edu/PR223">[loopsimplify] Loopsimplify incorrectly updates dominator information</a></li>
+<li><a href="http://llvm.cs.uiuc.edu/PR225">[pruneeh] -pruneeh pass removes invoke instructions it shouldn't</a></li>
+<li><a href="http://llvm.cs.uiuc.edu/PR228">[sparc] Boolean constants are emitted as true and false</a></li>
+<li><a href="http://llvm.cs.uiuc.edu/PR235">Tablegen aborts on errors</a></li>
 </ol>
 
 
+
 <p>Bugs in the C/C++ front-end:</p>
 
 <ol>
@@ -176,6 +185,8 @@ management functions in libc runtime to allow them to be overriden</a></li>
 <li><a href="http://llvm.cs.uiuc.edu/PR202">[llvm-gcc] asserts when an extern inline function is redefined</a></li>
 <li><a href="http://llvm.cs.uiuc.edu/PR204">[llvmg++] Dynamically initialized constants cannot be marked 'constant'</a></li>
 <li><a href="http://llvm.cs.uiuc.edu/PR216">[llvmgcc] floating-point unary minus is incorrect for +0.0</a></li>
+<li><a href="http://llvm.cs.uiuc.edu/PR221">[llvm-gcc] miscompilation of 'X = Y = Z' with aggregate values</a></li>
+<li><a href="http://llvm.cs.uiuc.edu/PR233">[llvmgcc] Structure copies result in a LOT of code</a></li>
 </ol>
 
 </div>
@@ -252,18 +263,7 @@ The gccld program
 does not link objects/archives in the order specified on the command line.
 </a>
 </li>
-
-<li>
-<a href="http://llvm.cs.uiuc.edu/bugs/show_bug.cgi?id=174">
-Tail duplication does not update SSA form correctly.
-</a>
-</li>
-
-<li><a href="http://llvm.cs.uiuc.edu/PR16">[lowerinvoke] The -lowerinvoke pass
-does not insert calls to setjmp/longjmp</a>.</li>
-
 </ul>
-
 </div>
 
 <!-- ======================================================================= -->
@@ -290,21 +290,6 @@ Initialization of global union variables can only be done
 <a href="http://llvm.cs.uiuc.edu/bugs/show_bug.cgi?id=162">with the largest
 union member</a>.
 </li>
-
-<li>
-<a href="http://llvm.cs.uiuc.edu/bugs/show_bug.cgi?id=182">
-Functions marked "extern inline" are not compiled into LLVM with linkonce
-linkage.
-</a>
-</li>
-
-
-<li>
-The memory management functions in the libc runtime
-<a href="http://llvm.cs.uiuc.edu/PR186">need weak linkage so that they can be
-overridden.
-</a>
-</li>
 </ul>
 </div>
 
@@ -473,12 +458,6 @@ Please report any bugs or problems.</p>
 <ul>
 <li>The C++ front-end inherits all problems afflicting the <a href="#c-fe">C
     front-end</a>.</li>
-
-<li>
-<a href="http://llvm.cs.uiuc.edu/bugs/show_bug.cgi?id=137">
-Code is generated for empty classes.
-</a>
-</li>
 </ul>
 </div>
 
@@ -525,12 +504,7 @@ href="http://gcc.gnu.org/gcc-3.4/changes.html">GCC 3.4 release notes</a>.</li>
 <div class="doc_text">
 
 <ul>
-
-<li>The X86 code generator <a
-href="http://llvm.cs.uiuc.edu/PR16">does not currently
-support the <tt>unwind</tt> instruction</a>, so code that throws a C++ exception
-or calls the C <tt>longjmp</tt> function will abort.</li>
-
+<li>None so far.
 </ul>
 
 </div>
@@ -543,17 +517,7 @@ or calls the C <tt>longjmp</tt> function will abort.</li>
 <div class="doc_text">
 
 <ul>
-
-<li>The Sparc code generator <a
-href="http://llvm.cs.uiuc.edu/PR16">does not currently
-support the <tt>unwind</tt> instruction</a>, so code that throws a C++ exception
-or calls the C <tt>longjmp</tt> function will abort.</li>
-
-<li>
-<a href="http://llvm.cs.uiuc.edu/bugs/show_bug.cgi?id=167">
-The llc program can crash on legal code.
-</a>
-</li>
+<li>None so far.
 </ul>
 
 </div>