New testcase distilled from SPEC MCF benchmark
[oota-llvm.git] / test / Transforms / CorrelatedExprs / 2002-09-23-PHIUpdateBug.ll
1 ; RUN: as < %s | opt -cee
2
3 implementation
4
5 declare void %foo(int)
6
7 void %test(int %A, bool %C) {
8         br bool %C, label %bb3, label %bb1
9 bb1:                                    ;[#uses=0]
10         %cond212 = setgt int %A, 9              ; <bool> [#uses=1]
11         br bool %cond212, label %bb2, label %bb3
12
13 bb2:                                    ;[#uses=1]
14         %cond = setgt int %A, 7
15         br bool %cond, label %bb3, label %bb7
16
17 bb3:                                    ;[#uses=1]
18         %X = phi int [ 0, %0], [ 12, %bb1]
19         call void %foo( int %X )
20         br label %bb7
21
22 bb7:                                    ;[#uses=2]
23         ret void
24 }
25