aboutsummaryrefslogtreecommitdiffstats
path: root/docs/ReleaseNotes.html
diff options
context:
space:
mode:
authorDevang Patel <dpatel@apple.com>2008-06-05 21:44:00 +0000
committerDevang Patel <dpatel@apple.com>2008-06-05 21:44:00 +0000
commit83a15d7209752bdcc9e37f93b69a4a1b9c21bb16 (patch)
tree8c7fee2bce11b28baa8ab4ef96ca0f89cb062fe7 /docs/ReleaseNotes.html
parent6e60ea42e8296265bcb03dc5064e40a927733ae5 (diff)
downloadexternal_llvm-83a15d7209752bdcc9e37f93b69a4a1b9c21bb16.zip
external_llvm-83a15d7209752bdcc9e37f93b69a4a1b9c21bb16.tar.gz
external_llvm-83a15d7209752bdcc9e37f93b69a4a1b9c21bb16.tar.bz2
Describe loop index split.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52021 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'docs/ReleaseNotes.html')
-rw-r--r--docs/ReleaseNotes.html16
1 files changed, 15 insertions, 1 deletions
diff --git a/docs/ReleaseNotes.html b/docs/ReleaseNotes.html
index a752e53..3ee762a 100644
--- a/docs/ReleaseNotes.html
+++ b/docs/ReleaseNotes.html
@@ -219,7 +219,21 @@ LLVM 2.3 optimizers support a few major enhancements:</p>
<ul>
-<li>Loop index set splitting on by default: describe me.</li>
+<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>
+<pre>
+for (i = LB; i < UB; ++i)
+ if (i <= NV)
+ LOOP_BODY
+</pre>
+is transformed into
+<pre>
+NUB = min(NV+1, UB)
+for (i = LB; i < NUB; ++i)
+ LOOP_BODY
+</pre>
+</li>
<li>LLVM includes a new <tt>memcpy</tt> optimization pass which optimizes out dead
<tt>memcpy</tt> calls, unneeded copies of aggregates, and handles the return slot
optimization. The LLVM optimizer now notices long sequences of consequtive