[llvm-commits] [llvm] r115486 - /llvm/trunk/docs/ReleaseNotes.html

Chris Lattner sabre at nondot.org
Sun Oct 3 18:29:06 PDT 2010


Author: lattner
Date: Sun Oct  3 20:29:06 2010
New Revision: 115486

URL: http://llvm.org/viewvc/llvm-project?rev=115486&view=rev
Log:
write Major Changes and Removed Features.

Modified:
    llvm/trunk/docs/ReleaseNotes.html

Modified: llvm/trunk/docs/ReleaseNotes.html
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/docs/ReleaseNotes.html?rev=115486&r1=115485&r2=115486&view=diff
==============================================================================
--- llvm/trunk/docs/ReleaseNotes.html (original)
+++ llvm/trunk/docs/ReleaseNotes.html Sun Oct  3 20:29:06 2010
@@ -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<> (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 -> 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 @@
 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>





More information about the llvm-commits mailing list