X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=docs%2FReleaseNotes.html;h=03d2db112fad6312dfa84e06cd9e004d762e7ae2;hb=418d360518811121ad9352af57fdd7ba58a4f917;hp=92ee75461d5b6aaeee92a326af29d6672be28d67;hpb=75008d88e944b81f2506fc5fe8acd298c9f89850;p=oota-llvm.git diff --git a/docs/ReleaseNotes.html b/docs/ReleaseNotes.html index 92ee75461d5..03d2db112fa 100644 --- a/docs/ReleaseNotes.html +++ b/docs/ReleaseNotes.html @@ -4,11 +4,11 @@
-This document contains the release notes for the LLVM compiler -infrastructure, release 1.5. Here we describe the status of LLVM, including any -known problems and improvements from the previous release. The most up-to-date -version of this document can be found on the LLVM 1.5 web site. If you are -not reading this on the LLVM web pages, you should probably go there because -this document may be updated after the release.
+infrastructure, release 2.0. 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.For more information about LLVM, including information about the latest -release, please check out the main LLVM +release, please check out the main LLVM 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, +
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 the current or previous releases, see the releases page.
+href="http://llvm.org/releases/">releases page.This is the sixth public release of the LLVM compiler infrastructure.
+This is the eleventh public release of the LLVM Compiler Infrastructure. +Being the first major release since 1.0, this release is different in several +ways from our previous releases:
-At this time, LLVM is known to correctly compile a broad range of C and -C++ programs, including the SPEC CPU95 & 2000 suite. TODO. It also includes -bug fixes for those problems found since the 1.4 release.
+Note that while this is a major version bump, this release has been + extensively tested on a wide range of software. It is easy to say that this + is our best release yet, in terms of both features and correctness. This is + the first LLVM release to correctly compile and optimize major software like + LLVM itself, Mozilla/Seamonkey, Qt 4.3rc1, kOffice, etc out of the box on + linux/x86. +
Changes to the LLVM IR itself:
+Major new features:
+ +New features include: +
-New features include: +
-+New features include: +
+ ++Other improvements include: +
+ +In addition, the LLVM target description format has itself been extended in + several ways:
+ +X86-specific Code Generator Enhancements: +
+ +ARM-specific Code Generator Enhancements:
+ +PowerPC-specific Code Generator Enhancements:
+ +More specific changes include:
+ +Bugs fixed in the LLVM Core:
+LLVM 2.0 contains a revamp of the type system and several other significant +internal changes. If you are programming to the C++ API, be aware of the +following major changes:
-+ Value *Ops[] = { Op1, Op2, Op3 }; + GEP = new GetElementPtrInst(BasePtr, Ops, 3); ++ + This avoids creation of a temporary vector (and a call to malloc/free). If + you have an std::vector, use code like this: +
+ std::vector<Value*> Ops = ...; + GEP = new GetElementPtrInst(BasePtr, &Ops[0], Ops.size()); ++ +
Bugs in the C/C++ front-end:
+LLVM is known to work on the following platforms:
The core LLVM infrastructure uses @@ -189,7 +511,7 @@ portability patches and reports of successful builds or error messages.
This section contains all known problems with the LLVM system, listed by component. As new problems are discovered, they will be added to these sections. If you run into a problem, please check the LLVM bug database and submit a bug if +href="http://llvm.org/bugs/">LLVM bug database and submit a bug if there isn't already one.
- for (i = 0; i != 1000000; ++i) { - int X[n]; - foo(X); - } -
The following GCC extensions are partially supported. An ignored - attribute means that the LLVM compiler ignores the presence of the attribute, - but the code should still work. An unsupported attribute is one which is - ignored by the LLVM compiler and will cause a different interpretation of - the program.
+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.
+ +"long double" is silently transformed by the front-end into "double". There +is no support for floating point data types of any size other than 32 and 64 +bits.
llvm-gcc does not support __builtin_apply yet. + See Constructing Calls: Dispatching a call to another function.
+llvm-gcc partially supports these GCC extensions:
+The following extensions are known to be supported:
+llvm-gcc supports the vast majority of GCC extensions, including:
typeof
: referring to the type of an expression.void
-pointers and function pointers.For this release, the C++ front-end is considered to be fully +
The C++ front-end is considered to be fully tested and works for a number of non-trivial programs, including LLVM -itself.
- -A wide variety of additional information is available on the LLVM web page, -including mailing lists and publications describing algorithms and components -implemented in LLVM. The web page also contains versions of the API -documentation which is up-to-date with the CVS version of the source code. You -can access versions of these documents specific to this release by going into -the "llvm/doc/" directory in the LLVM tree.
+A wide variety of additional information is available on the LLVM web page, in particular in the documentation section. The web page also +contains versions of the API documentation which is up-to-date with the +Subversion version of the source code. +You can access versions of these documents specific to this release by going +into the "llvm/doc/" directory in the LLVM tree.
If you have any questions or comments about LLVM, please feel free to contact -us via the mailing +us via the mailing lists.