summaryrefslogtreecommitdiffstats
path: root/llvm/test/Analysis/ScalarEvolution/flattened-0.ll
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/Analysis/ScalarEvolution/flattened-0.ll')
-rw-r--r--llvm/test/Analysis/ScalarEvolution/flattened-0.ll22
1 files changed, 22 insertions, 0 deletions
diff --git a/llvm/test/Analysis/ScalarEvolution/flattened-0.ll b/llvm/test/Analysis/ScalarEvolution/flattened-0.ll
new file mode 100644
index 00000000000..e6614ffd646
--- /dev/null
+++ b/llvm/test/Analysis/ScalarEvolution/flattened-0.ll
@@ -0,0 +1,22 @@
+; RUN: opt < %s -scalar-evolution -analyze | FileCheck %s
+
+define void @foo([7 x i8]* %a) {
+; CHECK-LABEL: @foo
+entry:
+ br label %bb
+
+bb:
+ %idx = phi i64 [ 0, %entry ], [ %idx.incr, %bb ]
+ %i = udiv i64 %idx, 7
+ %j = urem i64 %idx, 7
+ %a.ptr = getelementptr [7 x i8], [7 x i8]* %a, i64 %i, i64 %j
+; CHECK: %a.ptr = getelementptr [7 x i8], [7 x i8]* %a, i64 %i, i64 %j
+; CHECK-NEXT: --> {%a,+,1}<nw><%bb>
+ %val = load i8, i8* %a.ptr
+ %idx.incr = add i64 %idx, 1
+ %test = icmp ne i64 %idx.incr, 35
+ br i1 %test, label %bb, label %exit
+
+exit:
+ ret void
+}
OpenPOWER on IntegriCloud