Merge branch 'master' into msp430
[llvm/msp430.git] / test / Transforms / LoopStrengthReduce / pr2537.ll
blobe9be384e6f7a3a84ba8f56ef33f31859e5917b27
1 ; RUN: llvm-as < %s | opt -loop-reduce -disable-output
2 ; PR 2537
4 define void @a() {
5 entry:
6         br label %dobody
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
17 afterdo:                ; preds = %dobody
18         ret void
21 declare void @b(i128 %add)