diff --git a/docs/ReleaseNotes.html b/docs/ReleaseNotes.html
index 6f9d57424b0..9b1c5788ca7 100644
--- a/docs/ReleaseNotes.html
+++ b/docs/ReleaseNotes.html
@@ -886,74 +886,75 @@ it run faster:
on LLVM 2.7, this section lists some "gotchas" that you may run into upgrading
from the previous release.
-
- renamed "Release" -> "Release+Asserts"; "Release-Asserts" -> "Release etc.
-
-
-- .ll file doesn't produce #uses comments anymore, to get them, run a .bc file
- through "llvm-dis --show-annotations".
-- MSIL Backend removed.
-- ABCD and SSI passes removed.
-- 'Union' LLVM IR feature removed.
-- SCCVN pass removed.
+- 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").
+- The MSIL Backend was removed, it was unsupported and broken.
+- 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.
+- 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.
+- 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".
+
+
In addition, many APIs have changed in this release. Some of the major LLVM
API changes are:
-
- RegisterPass<> -> INTIALIZE_PASS()
-
-
-
- LLVM 2.8 changes the internal order of operands in InvokeInst
and CallInst.
- To be portable across releases, resort to CallSite and the
- high-level accessors, such as getCalledValue and setUnwindDest.
+ To be portable across releases, please use the CallSite class and the
+ high-level accessors, such as getCalledValue and
+ setUnwindDest.
-
- 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.
-
- 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.
-
SetCurrentDebugLocation takes a DebugLoc now instead of a MDNode.
Change your code to use
SetCurrentDebugLocation(DebugLoc::getFromDILocation(...)).
--
- VISIBILITY_HIDDEN is gone.
-
-
The RegisterPass and RegisterAnalysisGroup templates are
considered deprecated, but continue to function in LLVM 2.8. Clients are
strongly advised to use the upcoming INITIALIZE_PASS() and
INITIALIZE_AG_PASS() macros instead.
-
-
- SMDiagnostic takes different parameters now. //FIXME: how to upgrade?
-
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.
+
+
-
Some APIs got renamed:
- - llvm_report_error -> report_fatal_error
- - llvm_install_error_handler -> install_fatal_error_handler
- - llvm::DwarfExceptionHandling -> llvm::JITExceptionHandling
+ - llvm_report_error -> report_fatal_error
+ - llvm_install_error_handler -> install_fatal_error_handler
+ - llvm::DwarfExceptionHandling -> llvm::JITExceptionHandling
+ - VISIBILITY_HIDDEN -> LLVM_LIBRARY_VISIBILITY
@@ -992,8 +993,8 @@ components, please contact us on the LLVMdev list.
-- The Alpha, SPU, MIPS, PIC16, Blackfin, MSP430, SystemZ and MicroBlaze
- backends are experimental.
+- The Alpha, Blackfin, CellSPU, MicroBlaze, MSP430, MIPS, PIC16, SystemZ
+ and XCore backends are experimental.
- llc "-filetype=obj" is experimental on all targets
other than darwin-i386 and darwin-x86_64.