1 ; These tests have an infinite trip count. We obviously shouldn't remove the
4 ; RUN: llvm-as < %s | opt -indvars -adce -simplifycfg | llvm-dis | grep set | wc -l > %t2
5 ; RUN: llvm-as < %s | llvm-dis | grep set | wc -l > %t1
8 int %infinite_linear() { ;; test for (i = 1; i != 100; i += 2)
12 %i = phi int [ 1, %entry ], [ %i.next, %loop ]
13 %i.next = add int %i, 2
14 %c = setne int %i, 100
15 br bool %c, label %loop, label %loopexit
20 int %infinite_quadratic() { ;; test for (i = 1; i*i != 63; ++i)
24 %i = phi int [ 1, %entry ], [ %i.next, %loop ]
25 %isquare = mul int %i, %i
26 %i.next = add int %i, 1
27 %c = setne int %isquare, 63
28 br bool %c, label %loop, label %loopexit