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

Chris Lattner sabre at nondot.org
Sun Jun 8 15:59:35 PDT 2008


Author: lattner
Date: Sun Jun  8 17:59:35 2008
New Revision: 52107

URL: http://llvm.org/viewvc/llvm-project?rev=52107&view=rev
Log:
several edits

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=52107&r1=52106&r2=52107&view=diff

==============================================================================
--- llvm/trunk/docs/ReleaseNotes.html (original)
+++ llvm/trunk/docs/ReleaseNotes.html Sun Jun  8 17:59:35 2008
@@ -195,6 +195,14 @@
 </div>
 <!-- *********************************************************************** -->
 
+<div class="doc_text">
+
+<p>LLVM 2.3 includes a huge number of bug fixes, performance tweaks and minor
+improvements.  Some of the major improvements and new features are listed in
+this section.
+</p>
+</div>
+
 <!--=========================================================================-->
 <div class="doc_subsection">
 <a name="majorfeatures">Major New Features</a>
@@ -261,15 +269,20 @@
 
 <div class="doc_text">
 
-<p>LLVM 2.3 fully supports the llvm-gcc 4.2 front-end.</p>
+<p>LLVM 2.3 fully supports the llvm-gcc 4.2 front-end, and includes support
+for the C, C++, Objective-C, Ada, and Fortran front-ends.</p>
 
-<p>llvm-gcc 4.2 includes numerous fixes to better support the Objective-C
-front-end.  Objective-C now works very well on Mac OS/X.</p>
+<p>
+<ul>
+<li>llvm-gcc 4.2 includes numerous fixes to better support the Objective-C
+front-end.  Objective-C now works very well on Mac OS/X.</li>
 
-<p>Fortran EQUIVALENCEs are now supported by the gfortran front-end.</p>
+<li>Fortran EQUIVALENCEs are now supported by the gfortran front-end.</li>
 
-<p>llvm-gcc 4.2 includes many other fixes which improve conformance with the
-relevant parts of the GCC testsuite.</p>
+<li>llvm-gcc 4.2 includes many other fixes which improve conformance with the
+relevant parts of the GCC testsuite.</li>
+
+</ul></p>
 
 </div>
 
@@ -283,16 +296,18 @@
 <p>New features include:
 </p>
 
-
-Common linkage?
-
-Atomic operation support, Alpha, X86, X86-64, PowerPC. "__sync_synchronize", 
-"__sync_val_compare_and_swap", etc
-
 <ul>
-<li>The C and Ocaml bindings have received additional improvements. The
-bindings now cover pass managers, several transformation passes, iteration
-over the LLVM IR, target data, and parameter attribute lists.</li>
+<li>LLVM IR now directly represents "common" linkage, instead of representing it
+as a form of weak linkage.</li>
+
+<li>LLVM IR now has support for atomic operations, and this functionality can
+be accessed through the llvm-gcc "__sync_synchronize",
+"__sync_val_compare_and_swap", and related builtins.  Support for atomics are
+available in the Alpha, X86, X86-64, and PowerPC backends.</li>
+
+<li>The C and Ocaml bindings have extended to cover pass managers, several
+transformation passes, iteration over the LLVM IR, target data, and parameter
+attribute lists.</li>
 </ul>
   
 </div>
@@ -309,15 +324,18 @@
 
 <ul>
 
-<li>Loop index set splitting on by default.<p>
-This transformation hoists conditions from loop bodies and reduces loop's
-iteration space to improve performance. For example, <p>
+<li><p>Loop index set splitting on by default.
+This transformation hoists conditions from loop bodies and reduces a loop's
+iteration space to improve performance. For example,</p>
+
 <pre>
 for (i = LB; i < UB; ++i)
   if (i <= NV)
     LOOP_BODY
 </pre>
-is transformed into
+
+<p>is transformed into:</p>
+
 <pre>
 NUB = min(NV+1, UB)
 for (i = LB; i < NUB; ++i)
@@ -325,7 +343,7 @@
 </pre>
 </li>
 
-<li>LLVM includes a new <tt>memcpy</tt> optimization pass which removes
+<li>LLVM now includes a new <tt>memcpy</tt> optimization pass which removes
 dead <tt>memcpy</tt> calls, unneeded copies of aggregates, and performs
 return slot optimization.  The LLVM optimizer now notices long sequences of
 consecutive stores and merges them into <tt>memcpy</tt>'s where profitable.</li>
@@ -333,14 +351,12 @@
 <li>Alignment detection for vector memory references and for <tt>memcpy</tt> and
 <tt>memset</tt> is now more aggressive.</li> 
 
-<li>The aggressive dead code elimination (ADCE) optimization has been rewritten
+<li>The Aggressive Dead Code Elimination (ADCE) optimization has been rewritten
 to make it both faster and safer in the presence of code containing infinite
 loops.  Some of its prior functionality has been factored out into the loop
-deletion pass, which <em>is</em> safe for infinite loops.</li>
+deletion pass, which <em>is</em> safe for infinite loops.  The new ADCE pass is
+no longer based on control dependence, making it run faster.</li>
 
-<li>Several optimizations have been sped up, leading to faster code generation
-    with the same code quality.</li>
-    
 <li>The 'SimplifyLibCalls' pass, which optimizes calls to libc and libm
     functions for C-based languages, has been rewritten to be a FunctionPass
     instead a ModulePass.  This allows it to be run more often and to be
@@ -354,6 +370,10 @@
     
 <li>Several corner case bugs which could lead to deleting volatile memory
     accesses have been fixed.</li>
+
+<li>Several optimizations have been sped up, leading to faster code generation
+    with the same code quality.</li>
+  
 </ul>
 
 </div>





More information about the llvm-commits mailing list