X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=docs%2FReleaseNotes.html;h=56dd66a21aa53860577177cb78dd5c89a3456dc3;hb=95df6b3603e228cea714be21997fec82cb03011e;hp=82ba0c74b7e0ac65bfb4363136623db458e926dc;hpb=a6094be53321bf974903263743425622738c0995;p=oota-llvm.git diff --git a/docs/ReleaseNotes.html b/docs/ReleaseNotes.html index 82ba0c74b7e..56dd66a21aa 100644 --- a/docs/ReleaseNotes.html +++ b/docs/ReleaseNotes.html @@ -13,6 +13,7 @@
  1. Introduction
  2. +
  3. Major Changes and Sub-project Status
  4. What's New?
  5. Installation Instructions
  6. Portability and Supported Platforms
  7. @@ -55,7 +56,7 @@ current one. To see the release notes for a specific releases, please see the
    - What's New? + Major Changes and Sub-project Status
    @@ -79,68 +80,185 @@ It includes a large number of features and refinements from LLVM 2.2.

    -

    LLVM 2.2 was the last LLVM release to support llvm-gcc 4.0 and llvm-upgrade. -llvm-gcc 4.0 has been replaced with llvm-gcc 4.2. llvm-upgrade was useful for -upgrading LLVM 1.9 files to LLVM 2.x syntax, but you can always use a previous -LLVM release to do this. One nice impact of this is that the LLVM regression -test suite no longer depends on llvm-upgrade, which makes it run faster.

    +

    LLVM 2.3 no longer supports llvm-gcc 4.0, it has been replaced with + llvm-gcc 4.2.

    + +

    LLVM 2.3 no longer includes the llvm-upgrade tool. It was useful + for upgrading LLVM 1.9 files to LLVM 2.x syntax, but you can always use a + previous LLVM release to do this. One nice impact of this is that the LLVM + regression test suite no longer depends on llvm-upgrade, which makes it run + faster.

    + +

    The llvm2cpp tool has been folded into llc, use + llc -march=cpp instead of llvm2cpp.

    LLVM API Changes:

    -Major New Features +Other LLVM Sub-Projects
    +

    +The core LLVM 2.3 distribution currently consists of code from the core LLVM +repository (which roughly contains the LLVM optimizer, code generators and +supporting tools) and the llvm-gcc repository. In addition to this code, the +LLVM Project includes other sub-projects that are in development. The two which +are the most actively developed are the new vmkit Project +and the Clang Project. +

    +
    -

    LLVM 2.3 includes several major new capabilities:

    + +
    +vmkit +
    - @@ -352,8 +511,8 @@ faster:

    @@ -371,8 +530,9 @@ faster:

    @@ -439,7 +599,7 @@ href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev">LLVMdev list.

    @@ -457,13 +617,19 @@ href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev">LLVMdev list.

    all inline assembly that uses the X86 floating point stack. It supports the 'f' and 't' constraints, but not 'u'. -
  8. The X86 backend generates inefficient floating point code when configured to - generate code for systems that don't have SSE2.
  9. -
  10. Win64 codegeneration wasn't widely tested. Everything should work, but we +
  11. The X86 backend generates inefficient floating point code when configured + to generate code for systems that don't have SSE2.
  12. +
  13. Win64 code generation wasn't widely tested. Everything should work, but we expect small issues to happen. Also, llvm-gcc cannot build mingw64 runtime currently due to several - bugs in FP stackifier + bugs due to lack of support for the + 'u' inline assembly constraint and X87 floating point inline assembly.
  14. +
  15. The X86-64 backend does not yet support position-independent code (PIC) + generation on Linux targets.
  16. +
  17. The X86-64 backend does not yet support the LLVM IR instruction + va_arg. Currently, the llvm-gcc front-end supports variadic + argument constructs on X86-64 by lowering them manually.
  18. @@ -495,7 +661,8 @@ processors, thumb programs can crash or produce wrong results (PR1388).
  19. Compilation for ARM Linux OABI (old ABI) is supported, but not fully tested.
  20. -
  21. There is a bug in QEMU-ARM (<= 0.9.0) which causes it to incorrectly execute +
  22. There is a bug in QEMU-ARM (<= 0.9.0) which causes it to incorrectly + execute programs compiled with LLVM. Please use more recent versions of QEMU.
  23. @@ -538,25 +705,9 @@ appropriate nops inserted to ensure restartability.
    @@ -573,7 +724,7 @@ programs. inline assembly code.
  24. The C backend violates the ABI of common C++ programs, preventing intermixing between C++ compiled by the CBE and - C++ code compiled with LLC or native compilers.
  25. + C++ code compiled with llc or native compilers.
  26. The C backend does not support all exception handling constructs.
  27. @@ -585,9 +736,6 @@ programs. Known problems with the llvm-gcc C front-end - -
    Bugs
    -

    llvm-gcc does not currently support Link-Time @@ -597,8 +745,8 @@ llvmdev mailing list if you are interested.

    The only major language feature of GCC not supported by llvm-gcc is the __builtin_apply family of builtins. However, some extensions are only supported on some targets. For example, trampolines are only - supported on some targets, which are used when you take the address of a - nested function.

    + supported on some targets (these are used when you take the address of a + nested function).

    If you run into GCC extensions which are not supported, please let us know.

    @@ -618,8 +766,8 @@ itself, Qt, Mozilla, etc.

    • Exception handling works well on the X86 and PowerPC targets, including -x86-64 darwin. This works when linking to a libstdc++ compiled by GCC. It is -supported on x86-64 linux, but that is disabled by default in this release.
    • +X86-64 darwin. This works when linking to a libstdc++ compiled by GCC. It is +supported on X86-64 linux, but that is disabled by default in this release.
    @@ -634,15 +782,17 @@ supported on x86-64 linux, but that is disabled by default in this release. The llvm-gcc 4.2 Ada compiler works fairly well, however this is not a mature technology and problems should be expected.