[llvm-commits] [release_20] CVS: llvm/docs/ReleaseNotes.html
Changes in directory llvm/docs: ReleaseNotes.html updated: 1.368.2.1 - 1.368.2.2 --- Log message: Merge from mainline --- Diffs of the changes: (+2 -2) ReleaseNotes.html |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) Index: llvm/docs/ReleaseNotes.html diff -u llvm/docs/ReleaseNotes.html:1.368.2.1 llvm/docs/ReleaseNotes.html:1.368.2.2 --- llvm/docs/ReleaseNotes.html:1.368.2.1 Fri May 18 01:39:06 2007 +++ llvm/docs/ReleaseNotes.html Tue May 22 01:23:12 2007 @@ -693,7 +693,7 @@ See a href=http://gcc.gnu.org/onlinedocs/gcc/Constructing-Calls.html#Constructing%20Calls;Constructing Calls/a: Dispatching a call to another function./p /li -lipllvm-gcc bpartially/b supports tthese GCC extensions:/p +lipllvm-gcc bpartially/b supports these GCC extensions:/p ol lia href=http://gcc.gnu.org/onlinedocs/gcc/Nested-Functions.html#Nested%20Functions;Nested Functions/a: As in Algol and Pascal, lexical scoping of functions.br Nested functions are supported, but llvm-gcc does not support non-local @@ -849,7 +849,7 @@ src=http://www.w3.org/Icons/valid-html401; alt=Valid HTML 4.01! //a a href=http://llvm.org/;LLVM Compiler Infrastructure/abr - Last modified: $Date: 2007/05/18 06:39:06 $ + Last modified: $Date: 2007/05/22 06:23:12 $ /address /body ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] [release_20] CVS: llvm/docs/ReleaseNotes.html
Changes in directory llvm/docs: ReleaseNotes.html updated: 1.368.2.2 - 1.368.2.3 --- Log message: final updates to release notes --- Diffs of the changes: (+46 -42) ReleaseNotes.html | 88 -- 1 files changed, 46 insertions(+), 42 deletions(-) Index: llvm/docs/ReleaseNotes.html diff -u llvm/docs/ReleaseNotes.html:1.368.2.2 llvm/docs/ReleaseNotes.html:1.368.2.3 --- llvm/docs/ReleaseNotes.html:1.368.2.2 Tue May 22 01:23:12 2007 +++ llvm/docs/ReleaseNotes.html Tue May 22 23:41:25 2007 @@ -32,10 +32,10 @@ div class=doc_text pThis 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.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 a href=http://llvm.org/releases/;LLVM -releases web site/a. +releases web site/a./p pFor more information about LLVM, including information about the latest release, please check out the a href=http://llvm.org/;main LLVM @@ -153,7 +153,7 @@ configure llvm-gcc on linux are no longer needed, and special hacks to build large C++ libraries like Qt are not needed./li -liLLVM now has a new MSIL backend. llc -march=msil will now turn LLVM +liLLVM now has a new MSIL backend. ttllc -march=msil/tt will now turn LLVM into MSIL (.net) bytecode. This is still fairly early development with a number of limitations./li @@ -202,30 +202,30 @@ ul liThe a href=WritingAnLLVMPass.htmlpass manager/a has been entirely rewritten, making it significantly smaller, simpler, and more extensible. -Support has been added to run FunctionPasses interlaced with -CallGraphSCCPasses, and we now support loop transformations explicitly with -LoopPass./li - -liThe tt-scalarrepl/tt pass can now promote unions containing FP values -into a register, it can also handle unions of vectors of the same -size./li +Support has been added to run ttFunctionPass/ttes interlaced with +ttCallGraphSCCPass/ttes, we now support loop transformations +explicitly with ttLoopPass/tt, and ttModulePass/ttes may now use the +result of ttFunctionPass/ttes./li liLLVM 2.0 includes a new loop rotation pass, which converts for loops into do/while loops, where the condition is at the bottom of the loop./li -liThe Loop Strength Reduction pass has been improved, and support added -for sinking expressions across blocks to reduce register pressure./li +liThe Loop Strength Reduction pass has been improved, and we now support +sinking expressions across blocks to reduce register pressure./li -liModulePasses may now use the result of FunctionPasses./li +liThe tt-scalarrepl/tt pass can now promote unions containing FP values +into a register, it can also handle unions of vectors of the same +size./li liThe [Post]DominatorSet classes have been removed from LLVM and clients -switched to use the far-more-efficient ETForest class instead./li +switched to use the more-efficient ETForest class instead./li liThe ImmediateDominator class has also been removed, and clients have been switched to use DominatorTree instead./li liThe predicate simplifier pass has been improved, making it able to do -simple value range propagation and eliminate more conditionals./li +simple value range propagation and eliminate more conditionals. However, +note that predsimplify is not enabled by default in llvm-gcc./li /ul @@ -242,7 +242,7 @@ ul -liSupport was added for software floating point, which allows LLVM to target +liLLVM now supports software floating point, which allows LLVM to target chips that don't have hardware FPUs (e.g. ARM thumb mode)./li liA new register scavenger has been implemented, which is useful for @@ -262,8 +262,8 @@ sparse switches that have dense subregions, and implemented support for the shift/and trick./li -liAdded support for tracking physreg sub-registers and super-registers -in the code generator, as well as extensive register +liLLVM now supports tracking physreg sub-registers and super-registers +in the code generator, and includes extensive register allocator changes to track them./li liThere is initial support for virtreg sub-registers @@ -306,7 +306,7 @@ several ways:/p ul -liExtended TargetData to support better target parameterization in +liTargetData now supports better target parameterization in the .ll/.bc files, eliminating the 'pointersize/endianness' attributes in the files (a href=http://llvm.org/PR761;PR761/a)./li @@ -338,7 +338,7 @@ liPIC support for linux/x86 has been added./li liThe X86 backend now supports the GCC regparm attribute./li liLLVM
[llvm-commits] [release_20] CVS: llvm/docs/ReleaseNotes.html
Changes in directory llvm/docs: ReleaseNotes.html updated: 1.368 - 1.368.2.1 --- Log message: first cut of llvm 2.0 release notes --- Diffs of the changes: (+411 -242) ReleaseNotes.html | 653 +- 1 files changed, 411 insertions(+), 242 deletions(-) Index: llvm/docs/ReleaseNotes.html diff -u llvm/docs/ReleaseNotes.html:1.368 llvm/docs/ReleaseNotes.html:1.368.2.1 --- llvm/docs/ReleaseNotes.html:1.368 Tue Apr 3 23:14:31 2007 +++ llvm/docs/ReleaseNotes.html Fri May 18 01:39:06 2007 @@ -4,11 +4,11 @@ head meta http-equiv=Content-Type content=text/html; charset=utf-8 link rel=stylesheet href=llvm.css type=text/css - titleLLVM 1.9 Release Notes/title + titleLLVM 2.0 Release Notes/title /head body -div class=doc_titleLLVM 1.9 Release Notes/div +div class=doc_titleLLVM 2.0 Release Notes/div ol lia href=#introIntroduction/a/li @@ -32,13 +32,10 @@ div class=doc_text pThis document contains the release notes for the LLVM compiler -infrastructure, release 1.9. Here we describe the status of LLVM, including any -known problems and major improvements from the previous release. The most -up-to-date version of this document (corresponding to LLVM CVS) can be found -on the a -href=http://llvm.org/releases/;LLVM releases web site/a. 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./p +infrastructure, release 2.0. Here we describe the status of LLVM, including any +known problems and major improvements from the previous release. All LLVM +releases may be downloaded from the a href=http://llvm.org/releases/;LLVM +releases web site/a. pFor more information about LLVM, including information about the latest release, please check out the a href=http://llvm.org/;main LLVM @@ -61,67 +58,175 @@ div class=doc_text -pThis is the tenth public release of the LLVM Compiler Infrastructure. This -release incorporates a large number of enhancements, new features, and bug -fixes. We recommend that all users of previous LLVM versions upgrade. -/p +pThis 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:/p + +ol +liWe 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 a href=#llvm-upgradellvm-upgrade/a +tool (which is included with 2.0). We intend to keep compatibility with .ll +and .bc formats within the 2.x release series, like we did within the 1.x +series./li +liThere are several significant change to the LLVM IR and internal APIs, such +as a major overhaul of the type system, the completely new bitcode file +format, etc (described below)./li +liWe designed the release around a 6 month release cycle instead of the usual +3-month cycle. This gave us extra time to develop and test some of the +more invasive features in this release./li +liLLVM 2.0 no longer supports the llvm-gcc3 front-end. Users are required to +upgrade to llvm-gcc4. llvm-gcc4 includes many features over +llvm-gcc3, is faster, and is a href=CFEBuildInstrs.htmlmuch easier to +build from source/a./li +/ol + +pNote 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. + /p /div !--=-- div class=doc_subsection -a name=newfeaturesNew Features in LLVM 1.9/a +a name=newfeaturesNew Features in LLVM 2.0/a /div !--_-- -div class=doc_subsubsectiona name=x86-64New X86-64 Backend/a/div +div class=doc_subsubsectiona name=majorchangesMajor Changes/a/div div class=doc_text -pLLVM 1.9 now fully supports the x86-64 instruction set on Mac OS/X, and -supports it on Linux (and other operating systems) when compiling in -static -mode. LLVM includes JIT support for X86-64, and supports both Intel EMT-64T -and AMD-64 architectures. The X86-64 instruction set permits addressing a -64-bit addressing space and provides the compiler with twice the -number of integer registers to use./p -/div -!--_-- -div class=doc_subsubsectiona name=ltoLink-Time Optimization integration -with native linkers/a/div -div class=doc_text -pLLVM now includes a href=LinkTimeOptimization.htmlliblto/a which can -be used to