When removing a function from the function set and adding it to deferred, we
[llvm.git] / test / ExecutionEngine / test-phi.ll
blobc5848a8b5cce9368ffc431b4a269e0e8732935f4
1 ; RUN: lli %s > /dev/null
3 ; test phi node
4 @Y = global i32 6               ; <i32*> [#uses=1]
6 define void @blah(i32* %X) {
7 ; <label>:0
8         br label %T
9 T:              ; preds = %Dead, %0
10         phi i32* [ %X, %0 ], [ @Y, %Dead ]              ; <i32*>:1 [#uses=0]
11         ret void
12 Dead:           ; No predecessors!
13         br label %T
16 define i32 @test(i1 %C) {
17 ; <label>:0
18         br i1 %C, label %T, label %T
19 T:              ; preds = %0, %0
20         %X = phi i32 [ 123, %0 ], [ 123, %0 ]           ; <i32> [#uses=1]
21         ret i32 %X
24 define i32 @main() {
25 ; <label>:0
26         br label %Test
27 Test:           ; preds = %Dead, %0
28         %X = phi i32 [ 0, %0 ], [ %Y, %Dead ]           ; <i32> [#uses=1]
29         ret i32 %X
30 Dead:           ; No predecessors!
31         %Y = ashr i32 12, 4             ; <i32> [#uses=1]
32         br label %Test