From 83a15d7209752bdcc9e37f93b69a4a1b9c21bb16 Mon Sep 17 00:00:00 2001
From: Devang Patel
Date: Thu, 5 Jun 2008 21:44:00 +0000
Subject: [PATCH] Describe loop index split.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52021 91177308-0d34-0410-b5e6-96231b3b80d8
---
docs/ReleaseNotes.html | 16 +++++++++++++++-
1 file changed, 15 insertions(+), 1 deletion(-)
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