diff options
Diffstat (limited to 'llvm/test/Analysis/ScalarEvolution/flattened-0.ll')
| -rw-r--r-- | llvm/test/Analysis/ScalarEvolution/flattened-0.ll | 22 |
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 +} |

