From: Chris Lattner Date: Tue, 18 Apr 2006 06:18:36 +0000 (+0000) Subject: add a bunch of stuff, pieces still missing X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=44c933ec9a9534a624d13f66b3f0b04cddb37492;p=oota-llvm.git add a bunch of stuff, pieces still missing git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27796 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/docs/ReleaseNotes.html b/docs/ReleaseNotes.html index dc2af9c06da..13d41257e56 100644 --- a/docs/ReleaseNotes.html +++ b/docs/ReleaseNotes.html @@ -4,7 +4,7 @@ - LLVM 1.7cvs Release Notes + LLVM 1.7 Release Notes @@ -60,38 +60,152 @@ href="http://llvm.org/releases/">releases page.

-

This is the seventh public release of the LLVM Compiler Infrastructure. This -release incorporates a large number of enhancements and additions (primarily in -the code generator), which combine to improve the quality of the code generated -by LLVM by up to 30% in some cases. This release is also the first release to -have first-class support for Mac OS X: all of the major bugs have been shaken -out and it is now as well supported as Linux on X86.

+

This is the eighth public release of the LLVM Compiler Infrastructure. This +release incorporates a large number of enhancements and new features, +including vector support (Intel SSE and Altivec), a new GCC4.0-based +C/C++ front-end, Objective C/C++ support, inline assembly support, and many +other big features. +

-New Features in LLVM 1.7cvs +New Features in LLVM 1.7
+ +
GCC4.0-based llvm-gcc +front-end
+ +
+ +

LLVM 1.8 includes a brand new llvm-gcc, based on GCC 4.0.1. This version +of llvm-gcc solves many serious long-standing problems with llvm-gcc, including +all of those blocked by the llvm-gcc 4 meta +bug. In addition, llvm-gcc4 implements support for many new features, +including GCC inline assembly, generic vector support, SSE and Altivec +intrinsics, and several new GCC attributes. In addition, llvm-gcc4 is +significantly faster than llvm-gcc3, respects -O options, its -c/-S options +correspond to GCC's (they emit native code).

+ +

If you can use it, llvm-gcc4 is offers significant new functionality, and we +hope that it will replace llvm-gcc3 completely in a future release. +Unfortunately, it does not currently support C++ exception handling at all, and +it only works on Apple Mac OS/X machines with X86 or PowerPC processors. +

+ +
+ + +
Inline Assembly +Support
+ +
+ +

The LLVM IR and llvm-gcc4 front-end now fully support arbitrary GCC inline assembly. The LLVM X86 and PowerPC +code generators have initial support for it, +being able to compile basic statements, but are missing some features. Please +report any inline asm statements that crash the compiler or that are miscompiled +as bugs.

+ +
+ + +
New SPARC backend
+ +
+ +

LLVM 1.7 includes a new, fully functional, SPARC backend built in the +target-independent code generator. This SPARC backend includes support for +SPARC V8 and SPARC V9 subtargets (controlling whether V9 features can be used), +and targets the 32-bit SPARC ABI.

+ +

The LLVM 1.7 release is the last release that will include the LLVM "SparcV9" +backend, which was the very first LLVM native code generator. In 1.8, it will +be removed, replaced with the new SPARC backend.

+ +
+ + +
Generic Vector Support +
+ +
+ +

LLVM now includes significantly extended support for SIMD vectors in its +core instruction set. It now includes three new instructions for manipulating +vectors: extractelement, +insertelement, and +shufflevector. Further, +many bugs in vector handling have been fixed, and vectors are now supported by +the target-independent code generator. For example, if a vector operation is +not supported by a particular target, it will be correctly broken down and +executed as scalar operations.

+ +

Because llvm-gcc3 does not support GCC generic vectors or vector intrinsics, +so llvm-gcc4 must be used.

+
+ + + +
Intel SSE and PowerPC +Altivec support +
+ +
+ +

The LLVM X86 backend now supports Intel SSE 1, 2, and 3, and now uses scalar +SSE operations to implement scalar floating point math when the target supports +SSE1 (for floats) or SSE2 (for doubles). Vector SSE instructions are generated +by llvm-gcc4 when the generic vector mechanism or specific SSE intrinsics are +used. +

+ +

The LLVM PowerPC backend now supports the Altivec instruction set, including +both GCC -maltivec and -faltivec modes. Altivec instructions are generated +by llvm-gcc4 when the generic vector mechanism or specific Altivec intrinsics +are used. +

+ +
+ + + +
Other New Features
+
+
-Significant changes in LLVM 1.7cvs +Significant Changes in LLVM 1.7
@@ -155,12 +269,12 @@ useful to some people. In particular, if you would like to work on one of these components, please contact us on the llvmdev list.

@@ -201,11 +315,14 @@ components, please contact us on the llvmdev list.

-These bugs are known for the old front-end. The new GCC-4-based C front-end -suffers from none of these. +

+llvm-gcc3 has many significant problems that are fixed by llvm-gcc4. See + those blocked on the llvm-gcc4 meta bug. +Two signicant ones include:

@@ -398,11 +515,6 @@ itself.

@@ -454,7 +572,8 @@ frontends.
@@ -467,21 +586,8 @@ frontends.
- -
- - -
- Known problems with the SparcV9 back-end -
- -
- -
@@ -534,14 +640,32 @@ programs.
- Known problems with the SPARC back-end + Known problems with the SPARC back-end +
+ +
+ + + +
+ + + +
+ Known problems with the SparcV9 back-end
+