diff --git a/docs/ReleaseNotes.html b/docs/ReleaseNotes.html
index c6b9465..0a75008 100644
--- a/docs/ReleaseNotes.html
+++ b/docs/ReleaseNotes.html
@@ -29,10 +29,10 @@
 </div>
 
 <!--
-<h1 style="color:red">These are in-progress notes for the upcoming LLVM 2.7
+<h1 style="color:red">These are in-progress notes for the upcoming LLVM 2.8
 release.<br>
 You may prefer the
-<a href="http://llvm.org/releases/2.6/docs/ReleaseNotes.html">LLVM 2.6
+<a href="http://llvm.org/releases/2.6/docs/ReleaseNotes.html">LLVM 2.7
 Release Notes</a>.</h1>-->
 
 <!-- *********************************************************************** -->
@@ -383,7 +383,7 @@
 </p>
 
 <ul>
-<li>LLVM has a new <a href="http://llvm.org/Logo.html">official Logo</a>!</li>
+<li>LLVM has a new <a href="http://llvm.org/Logo.html">official logo</a>!</li>
 
 <li>Ted Kremenek and Doug Gregor have stepped forward as <a
  href="http://llvm.org/docs/DeveloperPolicy.html#owners">Code Owners</a> of the
@@ -396,7 +396,7 @@
 
 <li>The LLVM web pages are now checked into the SVN server, in the "www",
     "www-pubs" and "www-releases" SVN modules.  Previously they were hidden in a
-    largely inaccessible old CVS server.</p>
+    largely inaccessible old CVS server.</li>
 
 <li><a href="http://llvm.org">llvm.org</a> is now hosted on a new (and much
     faster) server.  It is still graciously hosted at the University of Illinois
@@ -414,11 +414,11 @@
 <p>LLVM 2.7 includes several major new capabilities:</p>
 
 <ul>
-<li>This release includes initial support for the <a
+<li>2.7 includes initial support for the <a
   href="http://en.wikipedia.org/wiki/MicroBlaze">MicroBlaze</a> target.
   MicroBlaze is a soft processor core designed for Xilinx FPGAs.</li>
 
-<li>LLVM 2.7 includes a new LLVM IR "extensible metadata" feature.  This feature
+<li>2.7 includes a new LLVM IR "extensible metadata" feature.  This feature
  supports many different use cases, including allowing front-end authors to
  encode source level information into LLVM IR, which is consumed by later
  language-specific passes.  This is a great way to do high-level optimizations
@@ -426,26 +426,26 @@
  href="http://blog.llvm.org/2010/04/extensible-metadata-in-llvm-ir.html">
  Extensible Metadata Blog Post</a> for more information.</li>
  
-<li>LLVM 2.7 encodes <a href="SourceLevelDebugging.html">debug information</a>
+<li>2.7 encodes <a href="SourceLevelDebugging.html">debug information</a>
 in a completely new way, built on extensible metadata.  The new implementation
 is much more memory efficient and paves the way for improvements to optimized
 code debugging experience.</li>
 
-<li>LLVM 2.7 now directly supports taking the address of a label and doing an
+<li>2.7 now directly supports taking the address of a label and doing an
     indirect branch through a pointer.  This is particularly useful for
     interpreter loops, and is used to implement the GCC "address of label"
     extension.  For more information, see the <a 
 href="http://blog.llvm.org/2010/01/address-of-label-and-indirect-branches.html">
 Address of Label and Indirect Branches in LLVM IR Blog Post</a>.
 
-<li>LLVM 2.7 is the first release to start supporting APIs for assembling and
+<li>2.7 is the first release to start supporting APIs for assembling and
     disassembling target machine code.  These APIs are useful for a variety of
     low level clients, and are surfaced in the new "enhanced disassembly" API.
     For more information see the <a 
     href="http://blog.llvm.org/2010/01/x86-disassembler.html">The X86
     Disassembler Blog Post</a> for more information.</li>
 
-<li>LLVM 2.7 includes major parts of the work required by the new MC Project,
+<li>2.7 includes major parts of the work required by the new MC Project,
     which aims to rework our handling of low-level machine code.  A few targets
     have been refactored to support it, and work is underway to support a native
     assembler in LLVM.  This work is not complete in LLVM 2.7, but you has made
@@ -468,17 +468,17 @@
 expose new optimization opportunities:</p>
 
 <ul>
-<li>LLVM IR now supports a 16-bit "half float" data type through two new <a
-    href="LangRef.html#int_fp16">intrinsics</a> and APFloat support.</li>
-<li>LLVM IR supports two <a href="LangRef.html#fnattrs">new function
+<li>LLVM IR now supports a 16-bit "half float" data type through <a
+   href="LangRef.html#int_fp16">two new intrinsics</a> and APFloat support.</li>
+<li>LLVM IR supports two new <a href="LangRef.html#fnattrs">function
     attributes</a>: inlinehint and alignstack(n).  The former is a hint to the
-    optimizer that a function was declared 'inline' and thus it might be useful
-    to increase the chances the the inliner actually inline it.  The later
+    optimizer that a function was declared 'inline' and thus the inliner should
+    weight it higher when considering inlining it.  The later
     indicates to the code generator that the function diverges from the platform
     ABI on stack alignment.</li>
 <li>The new <a href="LangRef.html#int_objectsize">llvm.objectsize</a> intrinsic
     allows the optimizer to infer the sizes of memory objects in some cases.
-    This intrinsic is used to implement the GCC __builtin_object_size
+    This intrinsic is used to implement the GCC <tt>__builtin_object_size</tt>
     extension.</li>
 <li>LLVM 2.7 has pre-alpha support for <a
   href="http://llvm.org/docs/LangRef.html#t_union">unions in LLVM IR</a>.
@@ -501,47 +501,50 @@
 
 <ul>
 
-<li>Inliner reuses arrays allocas when inlining multiple callers to reduce stack usage.</li>
-<li>Instcombine is now a library, has its own IRBuilder to simplify itself.</li>
-<li>Better code size analysis in loop unswitch, inliner code split out to a new 
-  CodeMetrics class for reuse.</li>
-<li>Many changes to the pass ordering for improved optimization
-   effectiveness.</li>
-<li>BasicAA improved to be less dependent on "type safe" pointers, it can now look
-  through bitcasts more aggressively.</li>
-<li>GVN PHI Translation improvements. blog post: http://blog.llvm.org/2009/12/advanced-topics-in-redundant-load.html</li>
-<li>New SCEV AA pass: -scev-aa</li>
-<li>Target data now has notion of 'native' integer data types which optimizations can use.</li>
-<li>Opt now works conservatively if no target data is set (is this fully working?)</li>
-<li>New Analysis/InstructionSimplify.h interface for simplifying instructions that don't exist.</li>
+<li>The inliner reuses now merges arrays stack objects in different callees when
+    inlining multiple call sites into one function.  This reduces the stack size
+    of the resultant function.</li>
+<li>The -basicaa alias analysis pass (which is the default) has been improved to
+    be less dependent on "type safe" pointers.  It can now look through bitcasts
+    and other constructs more aggressively, allowing better load/store
+    optimization.</li>
+<li>The load elimination optimization in the GVN Pass [<a
+href="http://blog.llvm.org/2009/12/introduction-to-load-elimination-in-gvn.html">intro
+ blog post</a>] has been substantially improved to be more aggressive about
+ partial redundancy elimination and do more aggressive phi translation.  Please
+ see the <a
+ href="http://blog.llvm.org/2009/12/advanced-topics-in-redundant-load.html">
+ Advanced Topics in Redundant Load Elimination with a Focus on PHI Translation
+ Blog Post</a> for more details.</li>
+<li>The module <a href="LangRef.html#datalayout">target data string</a> now
+    includes a notion of what the 'native' integer data types a for the target,
+    which allows various optimizations to use.  This helps mid-level
+    optimizations avoid promoting complex sequences of operations to data types
+    that are not natively supported (e.g. converting i32 operations to i64 on
+    a 32-bit chip).</li>
+<li>The mid-level optimizer is now conservative when operating on a module with
+    no target data.  Previously, it would default to SparcV9 settings, which is
+    not what most people expected.</li>
 <li>Jump threading is now much more aggressive at simplifying correlated
-   conditionals and threading blocks with otherwise complex logic. CondProp pass
-   removed (functionality merged into jump threading).</li>
-<li>New SSAUpdater and MachineSSAUpdater classes for unstructured ssa updating,
-  changed jump threading, GVN, etc to use it which simplified them and speed
-  them up.</li>
+   conditionals and threading blocks with otherwise complex logic. It has
+   subsumed the old "Conditional Propagation" pass, and -condprop has been
+   removed from LLVM 2.7.</li>
+<li>The -instcombine pass has been refactored from being one huge file to being
+    a library of its own.  Internally, it uses a customized IRBuilder to clean
+    it up and simplify it.</li>
 
+<li>The optimal edge profiling pass is reliable and much more complete than in
+    2.6.  It can be used with the llvm-prof tool but isn't wired up to the
+    llvm-gcc and clang command line options yet.</li>
 
-<li>
-The Optimal Edge Profiling implementation in 2.6 was more a proof of 
-concept. The current implementation (the one that will go into 2.7) is 
-now stable and (as far as my tests go) bug free.
+<li>A new experimental alias analysis implementation, -scev-aa, has been added.
+    It uses LLVM's Scalar Evolution implementation to do symbolic analysis of
+    pointer offset expressions to disambiguate pointers.  It can catch a few
+    cases that basicaa cannot, particularly in complex loop nests.</li>
 
-The profiling with instrumentation via "opt" and analysis via the tool 
-"llvm-prof" should Work As Expected (TM).
-
-Two things are missing:
-
-*) Still missing is the modification of all -std-compile-opt passes to 
-update the profiling information according to the changes made to the 
-CFG, I'm planning to do this after my master thesis is finished. This 
-will enable all passes to use the ProfileInfo if available and base 
-decisions on that information.
-
-*) GCC has the options "-pg", "-fprofile-arcs" and "--coverage" that 
-insert profiling code and "-fprofile-use" to use them the next time 
-during compilation. I guess this options should also work properly in 
-llvm-gcc and clang?</li>
+<li>As usual, there are countless minor optimization improvements and bug fixes,
+    and the default pass ordering has been tweaked for improved optimization
+    effectiveness.</li>
 
 </ul>
 
@@ -670,7 +673,25 @@
 </p>
 
 <ul>
-<li>The llvm/Support/Regex.h header exposes a platform independent regular
+<li>The optimizer uses the new CodeMetrics class to measure the size of code.
+    Various passes that use thing (like the inliner, loop unswitcher, etc) all
+    use this to make more accurate estimates of the code size impact of various
+    optimizations.</li>
+<li>A new <a href="http://llvm.org/doxygen/InstructionSimplify_8h-source.html">
+    llvm/Analysis/InstructionSimplify.h</a> interface available for doing
+    symbolic simplification of instructions (e.g. <tt>a+0</tt> -&gt; <tt>a</tt>)
+    without requiring the instruction to exist.  This centralizes a lot of
+    ad-hoc symbolic manipulation code scattered in various passes.</li>
+<li>The optimizer now uses a new <a
+    href="http://llvm.org/doxygen/SSAUpdater_8h-source.html">SSAUpdater</a>
+    class which efficiently supports
+    doing unstructured SSA update operations.  This centralized a bunch of code
+    scattered through various passes (e.g. jump threading, lcssa, loop rotate,
+    etc) for doing this sort of thing.  The code generator has an similar
+    <a href="http://llvm.org/doxygen/MachineSSAUpdater_8h-source.html">
+    MachineSSAUpdater</a> class.</li>
+<li>The <a href="http://llvm.org/doxygen/Regex_8h-source.html">
+    llvm/Support/Regex.h</a> header exposes a platform independent regular
     expression API.  Building on this, the <a
     href="TestingGuide.html#FileCheck">FileCheck</a> utility now supports
     regular exressions.</li>
