diff --git a/docs/ReleaseNotes-2.6.html b/docs/ReleaseNotes-2.6.html index ceb7e97838a..31ac97a3fad 100644 --- a/docs/ReleaseNotes-2.6.html +++ b/docs/ReleaseNotes-2.6.html @@ -92,11 +92,10 @@ Almost dead code.

The LLVM 2.6 distribution currently consists of code from the core LLVM -repository —which roughly includes the LLVM optimizers, 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 Clang -Project and the VMKit Project. +repository (which roughly includes the LLVM optimizers, code generators +and supporting tools), the Clang repository and the llvm-gcc repository. In +addition to this code, the LLVM Project includes other sub-projects that are in +development. Here we include updates on these subprojects.

@@ -112,8 +111,12 @@ Project and the VMKit Project.

The Clang project is an effort to build a set of new 'LLVM native' front-end technologies for the C family of languages. LLVM 2.6 is the first release to officially include Clang, and it provides a -production quality C and Objective-C compiler. If you are interested in fast -compiles and good diagnostics, we encourage you to try it out.

+production quality C and Objective-C compiler. If you are interested in fast compiles and +good diagnostics, we +encourage you to try it out. Clang currently compiles typical Objective-C code +3x faster than GCC and compiles C code about 30% faster than GCC at -O0 -g +(which is when the most pressure is on the frontend).

In addition to supporting these languages, C++ support is also well under way, and mainline @@ -127,7 +130,7 @@ list.

@@ -201,8 +204,9 @@ is a simple library that provides an implementation of the low-level target-specific hooks required by code generation and other runtime components. For example, when compiling for a 32-bit target, converting a double to a 64-bit unsigned integer is compiling into a runtime call to the "__fixunsdfdi" -function. The compiler-rt library provides optimized implementations of this and -other low-level routines.

+function. The compiler-rt library provides highly optimized implementations of +this and other low-level routines (some are 3x faster than the equivalent +libgcc routines).

All of the code in the compiler-rt project is available under the standard LLVM @@ -282,6 +286,14 @@ other situations. +

+ +

An exciting aspect of LLVM is that it is used as an enabling technology for + a lot of other language and tools projects. This section lists some of the + projects that have already been updated to work with LLVM 2.6.

+
+ +
Rubinius @@ -440,16 +452,14 @@ in this section. enables support for transparent link-time optimization on ELF targets when used with the Gold binutils linker. -
  • LLVM now supports doing optimization and code generation on multiple threads - by allowing multiple "LLVMContext" objects to exist. Please see the threading entry in the Programmer's - Manual for more information.
  • +
  • LLVM now supports doing optimization and code generation on multiple + threads. Please see the LLVM + Programmer's Manual for more information.
  • LLVM now has experimental support for embedded metadata in LLVM IR, though the implementation is not guaranteed to be final and the .bc file format may change in future releases. Debug info - does not yet use this format in LLVM 2.6.

    - + does not yet use this format in LLVM 2.6.
  • @@ -460,18 +470,54 @@ in this section.
    -

    LLVM IR has several new features that are used by our existing front-ends and -can be useful if you are writing a front-end for LLVM:

    +

    LLVM IR has several new features for better support of new targets and that +expose new optimization opportunities:

    @@ -492,6 +538,8 @@ release includes a few major enhancements and additions to the optimizers:

  • Inliner reuse stack space when inlining arrays?
  • Enabled GVN Load PRE.
  • New Static Single Information (SSI) construction pass (not used by anything yet, experimental).
  • +
  • LSR promotes int induction variables to 64-bit on 64-bit targets, major perf boost for numerical code.
  • +
  • LSR now analyzes pointer expressions (e.g. getelementptrs), not just integers.