X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=docs%2FReleaseNotes.html;h=d2c61176fa67216220d37a5ee1b6f4cebb874bd4;hb=c80c23ff63a2c29ac5cd3ebb4e61c41ea278ddc0;hp=edcef564ce1961dd9cf8f2f7a3b5cefb0c9cb64c;hpb=caf0634d075f3993f96e39d4d49f3a8869649ce3;p=oota-llvm.git diff --git a/docs/ReleaseNotes.html b/docs/ReleaseNotes.html index edcef564ce1..d2c61176fa6 100644 --- a/docs/ReleaseNotes.html +++ b/docs/ReleaseNotes.html @@ -4,11 +4,11 @@ - LLVM 2.0 Release Notes + LLVM 2.1 Release Notes -
LLVM 2.0 Release Notes
+
LLVM 2.1 Release Notes
  1. Introduction
  2. @@ -32,10 +32,10 @@

    This document contains the release notes for the LLVM compiler -infrastructure, release 2.0. Here we describe the status of LLVM, including any -known problems and major improvements from the previous release. All LLVM +infrastructure, release 2.1. Here we describe the status of LLVM, including +major improvements from the previous release and any known problems. All LLVM releases may be downloaded from the LLVM -releases web site. +releases web site.

    For more information about LLVM, including information about the latest release, please check out the main LLVM @@ -43,10 +43,10 @@ web site. If you have questions or comments, the LLVM developer's mailing list is a good place to send them.

    -

    Note that if you are reading this file from CVS or the main LLVM web page, -this document applies to the next release, not the current one. To see -the release notes for the current or previous releases, see the releases page.

    +

    Note that if you are reading this file from a Subversion checkout or the +main LLVM web page, this document applies to the next release, not the +current one. To see the release notes for a specific releases, please see the +releases page.

    @@ -58,84 +58,234 @@ href="http://llvm.org/releases/">releases page.

    -

    This is the eleventh public release of the LLVM Compiler Infrastructure. -Being the first major release since 1.0, we took this as an opportunity to -break backwards compatibility with the LLVM 1.x bytecode and .ll file format. -If you have LLVM 1.9 .ll files that you would like to upgrade to LLVM 2.x, we -recommend the use of the stand alone llvm-upgrade -tool. We intend to keep compatibility with .ll and .bc formats within the 2.x -release series.

    - -

    Note that while - This -release -incorporates a large number of enhancements, new features, and bug -fixes. We recommend that all users of previous LLVM versions upgrade. -

    +

    This is the twelfth public release of the LLVM Compiler Infrastructure. +It includes many features and refinements from LLVM 2.0.

    -New Features in LLVM 2.0 +New Frontends
    - -
    Optimizer -Improvements
    -

    The mid-level optimizer is now faster and produces better code in many cases. - Significant changes include:

    + +

    LLVM 2.1 brings two new beta C front-ends. First, a new version of llvm-gcc +based on GCC 4.2, innovatively called "llvm-gcc-4.2". This promises to bring +FORTRAN and Ada support to LLVM as well as features like atomic builtins and +OpenMP. None of these actually work yet, but don't let that stop you checking +it out!

    + +

    Second, LLVM now includes its own native C and Objective-C front-end (C++ is +in progress, but is not very far along) code named "clang". This front-end has a number of great +features, primarily aimed at source-level analysis and speeding up compile-time. +At this point though, the LLVM Code Generator component is still very early in +development, so it's mostly useful for people looking to build source-level +analysis tools or source-to-source translators.

    + +
    + + +
    +Optimizer Improvements +
    + +
    + +

    Some of the most noticable feature improvements this release have been in the +optimizer, speeding it up and making it more aggressive. For example:

    - +
    - -
    Code -Generator Enhancements
    + +
    +Code Generator Improvements +
    -

    -The LLVM Target-Independent code generator now supports more target features and -optimizes many cases more aggressively. New features include: -

    + +

    One of the main focuses of this release was performance tuning and bug + fixing. In addition to these, several new major changes occurred:

    -

    In addition, the LLVM target description format has itself been extended in - several ways:

    - +
    + + + +
    +Target Specific Improvements +
    + +
    +

    New features include: +

    + + +
    -

    Further, several significant target-specific enhancements are included in -LLVM 2.0:

    + + +
    +llvm-gcc Improvements +
    + +
    +

    New features include: +

    + +
    + + +
    +LLVM Core Improvements
    - -
    Other Improvements
    -

    - -

    More specific changes include:

    +

    New features include: +

    + +
    + + +
    +Other Improvements
    +
    +

    New features include: +

    + + +
    @@ -148,14 +298,14 @@ LLVM 2.0:

    LLVM is known to work on the following platforms:

    @@ -198,11 +348,11 @@ useful to some people. In particular, if you would like to work on one of these components, please contact us on the LLVMdev list.

    @@ -219,6 +369,9 @@ components, please contact us on the inline assembly that uses the X86 floating point stack. +
  3. The X86 backend occasionally has alignment + problems on operating systems that don't require 16-byte stack alignment + (including most non-darwin OS's like linux).
  4. @@ -233,50 +386,41 @@ components, please contact us on the PowerPC backend does not correctly implement ordered FP comparisons. +
  5. The Linux PPC32/ABI support needs testing for the interpreter and static +compilation, and lacks support for debug information.
  6. - Known problems with the SPARC back-end + Known problems with the ARM back-end
    - Known problems with the C back-end + Known problems with the SPARC back-end
    @@ -329,30 +473,23 @@ programs.
    - Known problems with the ARM back-end + Known problems with the C back-end
    - -
    - Known problems with the LLVM Core -
    - -
    - - -
    @@ -364,15 +501,9 @@ ready for production use.
    -

    - -

    llvm-gcc4 is far more stable and produces better code than llvm-gcc3, but -does not currently support Link-Time -Optimization or C++ Exception Handling, -which llvm-gcc3 does.

    - -

    llvm-gcc4 does not support the GCC indirect -goto extension, but llvm-gcc3 does.

    +

    llvm-gcc4 does not currently support Link-Time +Optimization on most platforms "out-of-the-box". Please inquire on the +llvmdev mailing list if you are interested.

    @@ -382,86 +513,56 @@ goto extension, but llvm-gcc3 does.

    -