Use the llvm-upgrade program to upgrade llvm assembly.
[oota-llvm.git] / test / Transforms / IndVarsSimplify / tripcount_infinite.llx
1 ; These tests have an infinite trip count.  We obviously shouldn't remove the 
2 ; loops!  :)
3 ;
4 ; RUN: llvm-upgrade < %s | llvm-as | opt -indvars -adce -simplifycfg | llvm-dis | grep set | wc -l > %t2
5 ; RUN: llvm-upgrade < %s | llvm-as | llvm-dis | grep set | wc -l > %t1
6 ; RUN: diff %t1 %t2
7
8 int %infinite_linear() {   ;; test for (i = 1; i != 100; i += 2)
9 entry:
10         br label %loop
11 loop:
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
16 loopexit:
17         ret int %i
18 }
19
20 int %infinite_quadratic() {   ;; test for (i = 1; i*i != 63; ++i)
21 entry:
22         br label %loop
23 loop:
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
29 loopexit:
30         ret int %i
31 }
32