diff options
author | Chris Lattner <sabre@nondot.org> | 2010-10-04 01:29:06 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2010-10-04 01:29:06 +0000 |
commit | bb11771eb6ffaf6867486f47719c3d52c4a0d63e (patch) | |
tree | 605f2b3ebfeab548d30a39be3fa1172dcd2a7158 | |
parent | 7554771d504f6f8f52a1e567fbe17f0c0d7857fd (diff) | |
download | external_llvm-bb11771eb6ffaf6867486f47719c3d52c4a0d63e.zip external_llvm-bb11771eb6ffaf6867486f47719c3d52c4a0d63e.tar.gz external_llvm-bb11771eb6ffaf6867486f47719c3d52c4a0d63e.tar.bz2 |
write Major Changes and Removed Features.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115486 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | docs/ReleaseNotes.html | 73 |
1 files changed, 37 insertions, 36 deletions
diff --git a/docs/ReleaseNotes.html b/docs/ReleaseNotes.html index 6f9d574..9b1c578 100644 --- a/docs/ReleaseNotes.html +++ b/docs/ReleaseNotes.html @@ -886,46 +886,49 @@ it run faster:</p> on LLVM 2.7, this section lists some "gotchas" that you may run into upgrading from the previous release.</p> - - renamed "Release" -> "Release+Asserts"; "Release-Asserts" -> "Release etc. - - <ul> -<li>.ll file doesn't produce #uses comments anymore, to get them, run a .bc file - through "llvm-dis --show-annotations".</li> -<li>MSIL Backend removed.</li> -<li>ABCD and SSI passes removed.</li> -<li>'Union' LLVM IR feature removed.</li> -<li>SCCVN pass removed.</li> +<li>The build configuration machinery changed the output directory names. It + wasn't clear to many people that "Release-Asserts" build was a release build + without asserts. To make this more clear, "Release" does not include + assertions and "Release+Asserts" does (likewise, "Debug" and + "Debug+Asserts").</li> +<li>The MSIL Backend was removed, it was unsupported and broken.</li> +<li>The ABCD, SSI, and SCCVN passes were removed. These were not fully + functional and their behavior has been or will be subsumed by the + LazyValueInfo pass.</li> +<li>The LLVM IR 'Union' feature was removed. While this is a desirable feature + for LLVM IR to support, the existing implementation was half baked and + barely useful. We'd really like anyone interested to resurrect the work and + finish it for a future release.</li> +<li>If you're used to reading .ll files, you'll probably notice that .ll file + dumps don't produce #uses comments anymore. To get them, run a .bc file + through "llvm-dis --show-annotations".</li> </ul> + + <p>In addition, many APIs have changed in this release. Some of the major LLVM API changes are:</p> <ul> - - RegisterPass<> -> INTIALIZE_PASS() - - - <li>LLVM 2.8 changes the internal order of operands in <a href="http://llvm.org/doxygen/classllvm_1_1InvokeInst.html"><tt>InvokeInst</tt></a> and <a href="http://llvm.org/doxygen/classllvm_1_1CallInst.html"><tt>CallInst</tt></a>. - To be portable across releases, resort to <tt>CallSite</tt> and the - high-level accessors, such as <tt>getCalledValue</tt> and <tt>setUnwindDest</tt>. + To be portable across releases, please use the <tt>CallSite</tt> class and the + high-level accessors, such as <tt>getCalledValue</tt> and + <tt>setUnwindDest</tt>. </li> <li> - You can no longer pass use_iterators directly to cast<> (and similar), because - these routines tend to perform costly dereference operations more than once. You - have to dereference the iterators yourself and pass them in. + You can no longer pass use_iterators directly to cast<> (and similar), + because these routines tend to perform costly dereference operations more + than once. You have to dereference the iterators yourself and pass them in. </li> <li> - llvm.memcpy.*, llvm.memset.*, llvm.memmove.* (and possibly other?) intrinsics - take an extra parameter now (i1 isVolatile), totaling 5 parameters. + llvm.memcpy.*, llvm.memset.*, llvm.memmove.* intrinsics take an extra + parameter now ("i1 isVolatile"), totaling 5 parameters, and the pointer + operands are now address-space qualified. If you were creating these intrinsic calls and prototypes yourself (as opposed - to using Intrinsic::getDeclaration), you can use UpgradeIntrinsicFunction/UpgradeIntrinsicCall - to be portable accross releases. - Note that you cannot use Intrinsic::getDeclaration() in a backwards compatible - way (needs 2/3 types now, in 2.7 it needed just 1). + to using Intrinsic::getDeclaration), you can use + UpgradeIntrinsicFunction/UpgradeIntrinsicCall to be portable accross releases. </li> <li> SetCurrentDebugLocation takes a DebugLoc now instead of a MDNode. @@ -933,27 +936,25 @@ API changes are:</p> SetCurrentDebugLocation(DebugLoc::getFromDILocation(...)). </li> <li> - VISIBILITY_HIDDEN is gone. -</li> -<li> The <tt>RegisterPass</tt> and <tt>RegisterAnalysisGroup</tt> templates are considered deprecated, but continue to function in LLVM 2.8. Clients are strongly advised to use the upcoming <tt>INITIALIZE_PASS()</tt> and <tt>INITIALIZE_AG_PASS()</tt> macros instead. -<li> - SMDiagnostic takes different parameters now. //FIXME: how to upgrade? </li> <li> The constructor for the Triple class no longer tries to understand odd triple specifications. Frontends should ensure that they only pass valid triples to LLVM. The Triple::normalize utility method has been added to help front-ends deal with funky triples. +</li> + <li> Some APIs got renamed: <ul> - <li>llvm_report_error -> report_fatal_error</li> - <li>llvm_install_error_handler -> install_fatal_error_handler</li> - <li>llvm::DwarfExceptionHandling -> llvm::JITExceptionHandling</li> + <li>llvm_report_error -> report_fatal_error</li> + <li>llvm_install_error_handler -> install_fatal_error_handler</li> + <li>llvm::DwarfExceptionHandling -> llvm::JITExceptionHandling</li> + <li>VISIBILITY_HIDDEN -> LLVM_LIBRARY_VISIBILITY</li> </ul> </li> @@ -992,8 +993,8 @@ components, please contact us on the <a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev">LLVMdev list</a>.</p> <ul> -<li>The Alpha, SPU, MIPS, PIC16, Blackfin, MSP430, SystemZ and MicroBlaze - backends are experimental.</li> +<li>The Alpha, Blackfin, CellSPU, MicroBlaze, MSP430, MIPS, PIC16, SystemZ + and XCore backends are experimental.</li> <li><tt>llc</tt> "<tt>-filetype=obj</tt>" is experimental on all targets other than darwin-i386 and darwin-x86_64.</li> </ul> |