aboutsummaryrefslogtreecommitdiffstats
path: root/test/Transforms/LoopIndexSplit
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2009-08-28 00:43:14 +0000
committerChris Lattner <sabre@nondot.org>2009-08-28 00:43:14 +0000
commita8b647dc112f792cb21b0b675e6d2b300207a4fa (patch)
tree114607f5f97d4eb4bdd2e7c6ca135bb6eafa4c60 /test/Transforms/LoopIndexSplit
parent5e1d21856de4bf387cccf8365885c45c87642dfb (diff)
downloadexternal_llvm-a8b647dc112f792cb21b0b675e6d2b300207a4fa.tar.gz
external_llvm-a8b647dc112f792cb21b0b675e6d2b300207a4fa.tar.bz2
external_llvm-a8b647dc112f792cb21b0b675e6d2b300207a4fa.zip
Fix PR3913, patch by Jakub Staszak!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80327 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Transforms/LoopIndexSplit')
-rw-r--r--test/Transforms/LoopIndexSplit/PR3913.ll24
1 files changed, 24 insertions, 0 deletions
diff --git a/test/Transforms/LoopIndexSplit/PR3913.ll b/test/Transforms/LoopIndexSplit/PR3913.ll
new file mode 100644
index 0000000000..c4fc0d1c5e
--- /dev/null
+++ b/test/Transforms/LoopIndexSplit/PR3913.ll
@@ -0,0 +1,24 @@
+; RUN: llvm-as < %s | opt -loop-index-split | llvm-dis | not grep "icmp ne"
+
+define i32 @main() {
+entry:
+ br label %header
+
+header:
+ %r = phi i32 [ 0, %entry ], [ %r3, %skip ]
+ %i = phi i32 [ 0, %entry ], [ %i1, %skip ]
+ %cond = icmp eq i32 %i, 99
+ br i1 %cond, label %body, label %skip
+
+body:
+ br label %skip
+
+skip:
+ %r3 = phi i32 [ %r, %header ], [ 3, %body ]
+ %i1 = add i32 %i, 1
+ %exitcond = icmp eq i32 %i1, 10
+ br i1 %exitcond, label %exit, label %header
+
+exit:
+ ret i32 %r3
+}