Change tests from "opt %s" to "opt < %s" so that opt doesn't see the
[llvm/avr.git] / test / Transforms / CondProp / phisimplify2.ll
blob4ecbd8856b789cdf1ecc8476270b06ce99932e7c
1 ; RUN: opt < %s -condprop -S | not grep phi
3 declare i1 @foo()
5 define i32 @test(i32 %C) {
6         %Val = call i1 @foo( )          ; <i1> [#uses=2]
7         switch i32 %C, label %T1 [
8                  i32 4, label %T2
9                  i32 17, label %T3
10         ]
12 T1:             ; preds = %0
13         call void @a( )
14         br label %Cont
16 T2:             ; preds = %0
17         call void @b( )
18         br label %Cont
20 T3:             ; preds = %0
21         call void @c( )
22         br label %Cont
24 Cont:           ; preds = %T3, %T2, %T1
25         ;; PHI becomes dead after threading T2
26         %C2 = phi i1 [ %Val, %T1 ], [ true, %T2 ], [ %Val, %T3 ]                ; <i1> [#uses=1]
27         br i1 %C2, label %L2, label %F2
29 L2:             ; preds = %Cont
30         call void @d( )
31         ret i32 17
33 F2:             ; preds = %Cont
34         call void @e( )
35         ret i32 1
38 declare void @a()
40 declare void @b()
42 declare void @c()
44 declare void @d()
46 declare void @e()