In some rare cases, the register allocator can spill registers but end up not utilizi...
[llvm/msp430.git] / test / Analysis / ScalarEvolution / 2008-11-02-QuadraticCrash.ll
blobc6cb87fca140c78b8c110da3707bc4b79dd68d35
1 ; RUN: llvm-as < %s | opt -analyze -scalar-evolution
2 ; PR1827
4 declare void @use(i32)
6 define void @foo() {
7 entry:
8         br label %loop_1
10 loop_1:         ; preds = %loop_1, %entry
11         %a = phi i32 [ 2, %entry ], [ %b, %loop_1 ]             ; <i32> [#uses=2]
12         %c = phi i32 [ 5, %entry ], [ %d, %loop_1 ]             ; <i32> [#uses=1]
13         %b = add i32 %a, 1              ; <i32> [#uses=1]
14         %d = add i32 %c, %a             ; <i32> [#uses=3]
15         %A = icmp ult i32 %d, 50                ; <i1> [#uses=1]
16         br i1 %A, label %loop_1, label %endloop
18 endloop:                ; preds = %loop_1
19         call void @use(i32 %d)
20         ret void