Switch the SCEV expander and LoopStrengthReduce to use
[oota-llvm.git] / test / Transforms / LoopStrengthReduce / pr2537.ll
1 ; RUN: opt < %s -loop-reduce -disable-output
2 ; PR 2537
3
4 define void @a() {
5 entry:
6         br label %dobody
7
8 dobody:         ; preds = %dobody, %entry
9         %y.0 = phi i128 [ 0, %entry ], [ %add, %dobody ]
10         %x.0 = phi i128 [ 0, %entry ], [ %add2, %dobody ]
11         %add = add i128 %y.0, shl (i128 1, i128 64)
12         %add2 = add i128 %x.0, shl (i128 1, i128 48)
13         call void @b( i128 %add )
14         %cmp = icmp ult i128 %add2, shl (i128 1, i128 64)
15         br i1 %cmp, label %dobody, label %afterdo
16
17 afterdo:                ; preds = %dobody
18         ret void
19 }
20
21 declare void @b(i128 %add)