Forbid arrays of function-type and structures with function-typed fields.
[llvm/avr.git] / test / Transforms / CondProp / phisimplify.ll
blobce33f1e59a65c481e043edd96f6c60d287b6cd01
1 ; RUN: opt < %s -condprop -S | not grep phi
3 define i32 @test(i32 %C, i1 %Val) {
4         switch i32 %C, label %T1 [
5                  i32 4, label %T2
6                  i32 17, label %T3
7         ]
9 T1:             ; preds = %0
10         call void @a( )
11         br label %Cont
13 T2:             ; preds = %0
14         call void @b( )
15         br label %Cont
17 T3:             ; preds = %0
18         call void @c( )
19         br label %Cont
21 Cont:           ; preds = %T3, %T2, %T1
22         ;; PHI becomes dead after threading T2
23         %C2 = phi i1 [ %Val, %T1 ], [ true, %T2 ], [ %Val, %T3 ]                ; <i1> [#uses=1]
24         br i1 %C2, label %L2, label %F2
26 L2:             ; preds = %Cont
27         call void @d( )
28         ret i32 17
30 F2:             ; preds = %Cont
31         call void @e( )
32         ret i32 1
35 declare void @a()
37 declare void @b()
39 declare void @c()
41 declare void @d()
43 declare void @e()