Merge branch 'master' into msp430
[llvm/msp430.git] / test / Analysis / ScalarEvolution / avoid-smax-0.ll
blobdf39cc0af0841c7894efd29b21c970bfea8a95b9
1 ; RUN: llvm-as < %s | opt -scalar-evolution -analyze | grep {Loop bb3: backedge-taken count is (-1 + %n)}
3 ; We don't want to use a max in the trip count expression in
4 ; this testcase.
6 define void @foo(i32 %n, i32* %p, i32* %q) nounwind {
7 entry:
8         icmp sgt i32 %n, 0
9         br i1 %0, label %bb, label %return
11 bb:
12         load i32* %q, align 4
13         icmp eq i32 %1, 0
14         br i1 %2, label %return, label %bb3.preheader
16 bb3.preheader:
17         br label %bb3
19 bb3:
20         %i.0 = phi i32 [ %7, %bb3 ], [ 0, %bb3.preheader ]
21         getelementptr i32* %p, i32 %i.0
22         load i32* %3, align 4
23         add i32 %4, 1
24         getelementptr i32* %p, i32 %i.0
25         store i32 %5, i32* %6, align 4
26         add i32 %i.0, 1
27         icmp slt i32 %7, %n
28         br i1 %8, label %bb3, label %return.loopexit
30 return.loopexit:
31         br label %return
33 return:
34         ret void