diff --git a/docs/ReleaseNotes.html b/docs/ReleaseNotes.html index b0309ef1203..6ec9f84a2a7 100644 --- a/docs/ReleaseNotes.html +++ b/docs/ReleaseNotes.html @@ -69,20 +69,28 @@ href="http://llvm.cs.uiuc.edu/releases/">releases page.

-

This is the third public release of the LLVM compiler infrastructure. +

+This is the third public release of the LLVM compiler infrastructure. This +release incorporates several new features (including +exception handling support for the native code generators, the start of a +source-level debugger, and profile guided optimizer components), many speedups and code quality +improvements, documentation improvements, and a small collection of important bug fixes. Overall, this is our highest quality release to +date, and we encourage you to upgrade if you are using LLVM 1.0 or 1.1.

-

At this time, LLVM is known to correctly compile and run all C +

FIXME: UPDATE: +At this time, LLVM is known to correctly compile and run all C & C++ SPEC CPU2000 benchmarks, the Olden benchmarks, and the Ptrdist benchmarks. It has also been used to compile many other programs. LLVM now also works with a broad variety of C++ programs, though it has still received less testing than the C front-end.

-
-This release implements the following new features: +This release implements the following new features:
    @@ -90,8 +98,23 @@ This release implements the following new features:
  1. LLVM 1.2 encodes bytecode files for large programs in 10-30% less space.
  2. LLVM can now feed profile information back into optimizers for Profile Guided Optimization, and includes a simple basic block reordering pass.
  3. The LLVM JIT lazily initializes global variables, reducing startup time for programs with lots of globals (like C++ programs).
  4. + +
  5. The build and installation infrastructure in this release is dramatically +improved. There is now an autoconf/AutoRegen.sh script +that you can run to rebuild the configure script and its associated +files as well as beta support for "make install" and RPM package generation.
  6. +
  7. The "tblgen" tool is now documented.
  8. +
  9. The LLVM code generator can now fold spill code into instructions on targets +that support it.
  10. LLVM now no longer depends on the boost library.
  11. +
  12. The X86 backend now generates substantially better native code, and is faster.
  13. +
  14. The C backend has been turned moved from the "llvm-dis" tool to the "llc" +tool. You can activate it with "llc -march=c foo.bc -o foo.c".
@@ -110,7 +133,7 @@ In this release, the following missing features were implemented:
-In this release, the following Quality of Implementation issues were fixed: +In this release, the following Quality of Implementation issues were fixed:
    @@ -123,20 +146,13 @@ In this release, the following Quality of Implementation issues were fixed:
  1. [loadvn/inline/scalarrepl] Slow optimizations with extremely large basic blocks
  2. [asmparser] Really slow parsing of types with complex upreferences
  3. [llvmgcc] C front-end does not emit 'zeroinitializer' when possible
  4. +
  5. [llvmgcc] Structure copies result in a LOT of code
  6. LLVM is now much more memory efficient when handling large zero initialized arrays
-LLVM gained several improvements to its build and installation -infrastructure in this release. There is now -a autoconf/AutoRegen.sh script that you can run to rebuild the -configure script and its associated files -(Bug 105) as well as beta support -for "make install" (Bug 208 and -Bug 220) and RPM package generation -(Bug 203). -Additionally, in this release, the following build problems were fixed: +In this release, the following build problems were fixed:
    @@ -147,20 +163,22 @@ Additionally, in this release, the following build problems were fixed:
    -In this release, the following Code Quality issues were fixed: +In this release, the following Code Quality issues were fixed:
    1. [loopsimplify] Many pointless phi nodes are created
    2. -
    3. The X86 backend didn't generate fchs to negate floating point numbers
    4. -
    5. The X86 backend didn't expand memcpy() into the rep movs instruction
    6. [x86] wierd stack/frame pointer manipulation
    7. + +
    8. The X86 backend now generate fchs to negate floating point numbers, +compiles memcpy() into the rep movs instruction, and makes much better +use of powerful addressing modes and instructions.
    -In this release, the following bugs in the previous release were fixed: +In this release, the following bugs in the previous release were fixed:

    Bugs in the LLVM Core:

    @@ -197,7 +215,6 @@ management functions in libc runtime to allow them to be overriden
  1. [llvmg++] Dynamically initialized constants cannot be marked 'constant'
  2. [llvmgcc] floating-point unary minus is incorrect for +0.0
  3. [llvm-gcc] miscompilation of 'X = Y = Z' with aggregate values
  4. -
  5. [llvmgcc] Structure copies result in a LOT of code
  6. [llvm-gcc] miscompilation when a function is re-declared as static