Split the init.trampoline intrinsic, which currently combines GCC's
[oota-llvm.git] / docs / ReleaseNotes.html
index 9649d87b0d33f68f3e1b89634a87dbeec3588568..4feb907d367fef5bf476e37fc4a678670ccf4135 100644 (file)
@@ -576,16 +576,29 @@ it run faster:</p>
 
 <div>
 
-<p>If you're already an LLVM user or developer with out-of-tree changes based
-on LLVM 2.9, this section lists some "gotchas" that you may run into upgrading
-from the previous release.</p>
+<p>If you're already an LLVM user or developer with out-of-tree changes based on
+   LLVM 2.9, this section lists some "gotchas" that you may run into upgrading
+   from the previous release.</p>
 
 <ul>
-<!--
-<li></li>
--->
+  <li>The <code>LowerSetJmp</code> pass wasn't used effectively by any
+      target and has been removed.</li>
+  <li>The old <code>TailDup</code> pass was not used in the standard pipeline
+      and was unable to update ssa form, so it has been removed.
+  <li>The syntax of volatile loads and stores in IR has been changed to
+      "<code>load volatile</code>"/"<code>store volatile</code>".  The old
+      syntax ("<code>volatile load</code>"/"<code>volatile store</code>")
+      is still accepted, but is now considered deprecated.</li>
 </ul>
 
+<h4>Windows (32-bit)</h4>
+<div>
+<ul>
+  <li>On Win32(MinGW32 and MSVC), Windows 2000 will not be supported.
+      Windows XP or higher is required.</li>
+</ul>
+</div>
+
 </div>
 
 <!--=========================================================================-->
@@ -596,7 +609,7 @@ from the previous release.</p>
 <div>
 
 <p>In addition, many APIs have changed in this release.  Some of the major
-  LLVM API changes are:</p>
+   LLVM API changes are:</p>
 
 <ul>
 <li>The biggest and most pervasive change is that llvm::Type's are no longer
@@ -639,6 +652,9 @@ from the previous release.</p>
 <li><code>FindInsertedValue</code> (in <code>llvm/Analysis/ValueTracking.h</code>)</li>
 <li><code>gep_type_begin</code> (in <code>llvm/Support/GetElementPtrTypeIterator.h</code>)</li>
 <li><code>gep_type_end</code> (in <code>llvm/Support/GetElementPtrTypeIterator.h</code>)</li>
+<li><code>GetElementPtrInst::Create</code></li>
+<li><code>GetElementPtrInst::CreateInBounds</code></li>
+<li><code>GetElementPtrInst::getIndexedType</code></li>
 <li><code>InsertValueInst::Create</code></li>
 <li><code>InsertValueInst::getIndices</code></li>
 <li><code>InvokeInst::Create</code></li>
@@ -659,6 +675,18 @@ from the previous release.</p>
 <li>All forms of <code>StringMap::getOrCreateValue</code> have been remove
   except for the one which takes a <code>StringRef</code>.</li>
 
+<li>The <code>LLVMBuildUnwind</code> function from the C API was removed. The
+    LLVM <code>unwind</code> instruction has been deprecated for a long time and
+    isn't used by the current front-ends. So this was removed during the
+    exception handling rewrite.</li>
+
+<li>The <code>LLVMAddLowerSetJmpPass</code> function from the C API was removed
+    because the <code>LowerSetJmp</code> pass was removed.</li>
+
+<li>The <code>DIBuilder</code> interface used by front ends to encode debugging 
+    information in the LLVM IR now expects clients to use <code>DIBuilder::finalize()</code>
+    at the end of translation unit to complete debugging information encoding.</li>
+
 </ul>
 </div>