[mlir][int-range] Limit xor int range inference to i1 (#116968)
[llvm-project.git] / llvm / test / Analysis / ScalarEvolution / flattened-0.ll
blob9a0c7c4f84d2574d29f464863b7101ab58a9475e
1 ; RUN: opt < %s "-passes=print<scalar-evolution>" -disable-output 2>&1 | FileCheck %s
3 define void @foo(ptr %a) {
4 ; CHECK-LABEL: @foo
5 entry:
6         br label %bb
8 bb:
9         %idx = phi i64 [ 0, %entry ], [ %idx.incr, %bb ]
10         %i = udiv i64 %idx, 7
11         %j = urem i64 %idx, 7
12         %a.ptr = getelementptr [7 x i8], ptr %a, i64 %i, i64 %j
13 ; CHECK: %a.ptr = getelementptr [7 x i8], ptr %a, i64 %i, i64 %j
14 ; CHECK-NEXT: -->  {%a,+,1}<nw><%bb>
15         %val = load i8, ptr %a.ptr
16         %idx.incr = add i64 %idx, 1
17         %test = icmp ne i64 %idx.incr, 35
18         br i1 %test, label %bb, label %exit
20 exit:
21         ret void