From: Devang Patel
Date: Thu, 5 Jun 2008 21:44:00 +0000 (+0000)
Subject: Describe loop index split.
X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=83a15d7209752bdcc9e37f93b69a4a1b9c21bb16;p=oota-llvm.git
Describe loop index split.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52021 91177308-0d34-0410-b5e6-96231b3b80d8
---
diff --git a/docs/ReleaseNotes.html b/docs/ReleaseNotes.html
index a752e53bca1..3ee762a01ab 100644
--- a/docs/ReleaseNotes.html
+++ b/docs/ReleaseNotes.html
@@ -219,7 +219,21 @@ LLVM 2.3 optimizers support a few major enhancements:
-- Loop index set splitting on by default: describe me.
+- Loop index set splitting on by default.
+This transformation hoists conditions from loop bodies and reduces loop's
+iteration space to improve performance. For example,
+
+for (i = LB; i < UB; ++i)
+ if (i <= NV)
+ LOOP_BODY
+
+is transformed into
+
+NUB = min(NV+1, UB)
+for (i = LB; i < NUB; ++i)
+ LOOP_BODY
+
+
- LLVM includes a new memcpy optimization pass which optimizes out dead
memcpy calls, unneeded copies of aggregates, and handles the return slot
optimization. The LLVM optimizer now notices long sequences of consequtive