blob: a4728eb191d92a8f78047fb3034a0d759ee7990b [file] [log] [blame]
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001; RUN: llvm-upgrade < %s | llvm-as | opt -condprop | llvm-dis | not grep phi
2
3int %test(uint %C, bool %Val) {
4 switch uint %C, label %T1 [
5 uint 4, label %T2
6 uint 17, label %T3
7 ]
8T1:
9 call void %a()
10 br label %Cont
11T2:
12 call void %b()
13 br label %Cont
14T3:
15 call void %c()
16 br label %Cont
17
18Cont:
19 ;; PHI becomes dead after threading T2
20 %C2 = phi bool [%Val, %T1], [true, %T2], [%Val, %T3]
21 br bool %C2, label %L2, label %F2
22L2:
23 call void %d()
24 ret int 17
25F2:
26 call void %e()
27 ret int 1
28}
29declare void %a()
30declare void %b()
31declare void %c()
32declare void %d()
33declare void %e()