diff --git a/llvm/docs/ReleaseNotes.html b/llvm/docs/ReleaseNotes.html
index 6f9d574..9b1c578 100644
--- a/llvm/docs/ReleaseNotes.html
+++ b/llvm/docs/ReleaseNotes.html
@@ -886,46 +886,49 @@
 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&lt;&gt; (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 @@
   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 -&gt; report_fatal_error</li>
-      <li>llvm_install_error_handler -&gt; install_fatal_error_handler</li>
-      <li>llvm::DwarfExceptionHandling -&gt; llvm::JITExceptionHandling</li>
+  <li>llvm_report_error -&gt; report_fatal_error</li>
+  <li>llvm_install_error_handler -&gt; install_fatal_error_handler</li>
+  <li>llvm::DwarfExceptionHandling -&gt; llvm::JITExceptionHandling</li>
+  <li>VISIBILITY_HIDDEN -&gt; LLVM_LIBRARY_VISIBILITY</li>
   </ul>
 </li>
 
@@ -992,8 +993,8 @@
 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>
