Release Notes: add a description of -enable-iv-rewrite.
authorAndrew Trick <atrick@apple.com>
Sun, 6 Nov 2011 17:59:24 +0000 (17:59 +0000)
committerAndrew Trick <atrick@apple.com>
Sun, 6 Nov 2011 17:59:24 +0000 (17:59 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143878 91177308-0d34-0410-b5e6-96231b3b80d8

docs/ReleaseNotes.html

index 73cbcf81b69f1e8b9e45b1b2528b6439326da362..3c7673e34ec42f62881939aa6b375a6ed3708592 100644 (file)
@@ -834,6 +834,29 @@ Builder.CreateResume(UnwindData);
 
 </div>
 
+<!--=========================================================================-->
+<h3>
+<a name="loopoptimization">Loop Optimization Improvements</a>
+</h3>
+
+<div>
+<p>The induction variable simplification pass in 3.0 only modifies
+   induction variables when profitable. Sign and zero extension
+   elimination, linear function test replacement, loop unrolling, and
+   other simplifications that require induction variable analysis have
+   been generalized so they no longer require loops to be rewritten in a
+   typically suboptimal form prior to optimization. This new design
+   preserves more IR level information, avoids undoing earlier loop
+   optimizations (particularly hand-optimized loops), and no longer
+   strongly depends on the code generator rewriting loops a second time
+   in a now optimal form--an intractable problem.</p>
+
+<p>The original behavior can be restored with -mllvm -enable-iv-rewrite;
+   however, support for this mode will be short lived. As such, bug
+   reports should be filed for any significant performance regressions
+   when moving from -mllvm -enable-iv-rewrite to the 3.0 default mode.</p>
+</div>
+
 <!--=========================================================================-->
 <h3>
 <a name="optimizer">Optimizer Improvements</a>