summaryrefslogtreecommitdiff
path: root/test/Analysis/ScalarEvolution/trip-count.ll
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2007-01-14 01:23:43 +0000
committerChris Lattner <sabre@nondot.org>2007-01-14 01:23:43 +0000
commitd8523aa5de3df25d03e1c90d5a489a322f366c29 (patch)
tree6a00be478ce903e097358255a7942d75e4b55c02 /test/Analysis/ScalarEvolution/trip-count.ll
parentfd92ec40a94f1233fb6733aff46af86851d5b8ce (diff)
downloadllvm-d8523aa5de3df25d03e1c90d5a489a322f366c29.tar.gz
llvm-d8523aa5de3df25d03e1c90d5a489a322f366c29.tar.bz2
llvm-d8523aa5de3df25d03e1c90d5a489a322f366c29.tar.xz
new testcase for pr1101
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33192 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Analysis/ScalarEvolution/trip-count.ll')
-rw-r--r--test/Analysis/ScalarEvolution/trip-count.ll31
1 files changed, 31 insertions, 0 deletions
diff --git a/test/Analysis/ScalarEvolution/trip-count.ll b/test/Analysis/ScalarEvolution/trip-count.ll
new file mode 100644
index 0000000000..347cffd4c8
--- /dev/null
+++ b/test/Analysis/ScalarEvolution/trip-count.ll
@@ -0,0 +1,31 @@
+; RUN: llvm-as < %s | opt -analyze -scalar-evolution 2>&1 | grep '10000 iterations'
+; PR1101
+
+%A = weak global [1000 x i32] zeroinitializer, align 32
+
+implementation ; Functions:
+
+define void %test(i32 %N) {
+entry:
+ "alloca point" = bitcast i32 0 to i32 ; <i32> [#uses=0]
+ br label %bb3
+
+bb: ; preds = %bb3
+ %tmp = getelementptr [1000 x i32]* %A, i32 0, i32 %i.0 ; <i32*> [#uses=1]
+ store i32 123, i32* %tmp
+ %tmp2 = add i32 %i.0, 1 ; <i32> [#uses=1]
+ br label %bb3
+
+bb3: ; preds = %bb, %entry
+ %i.0 = phi i32 [ 0, %entry ], [ %tmp2, %bb ] ; <i32> [#uses=3]
+ %tmp = icmp sle i32 %i.0, 9999 ; <i1> [#uses=1]
+ br i1 %tmp, label %bb, label %bb5
+
+bb5: ; preds = %bb3
+ br label %return
+
+return: ; preds = %bb5
+ ret void
+}
+
+