fix PR4963: folding insertvalue would sometimes turn a packed struct into
[llvm/avr.git] / test / Transforms / LoopStrengthReduce / pr2537.ll
blob73c3152d30e7505e8d927859952591c4c1c5a03b
1 ; RUN: opt < %s -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)