1; RUN: opt < %s -adce -disable-output
2target datalayout = "e-p:32:32"
3	%struct..CppObjTypeDesc = type { i32, i16, i16 }
4	%struct..TypeToken = type { i32, i16, i16 }
5
6define i32 @C_ReFaxToDb() {
7entry:
8	br i1 false, label %endif.0, label %then.0
9
10then.0:		; preds = %entry
11	ret i32 0
12
13endif.0:		; preds = %entry
14	br i1 false, label %then.11, label %then.4
15
16then.4:		; preds = %endif.0
17	ret i32 0
18
19then.11:		; preds = %endif.0
20	br i1 false, label %loopentry.0, label %else.2
21
22loopentry.0:		; preds = %loopentry.1, %endif.14, %then.11
23	br i1 false, label %endif.14, label %loopexit.0
24
25endif.14:		; preds = %loopentry.0
26	br i1 false, label %loopentry.1, label %loopentry.0
27
28loopentry.1:		; preds = %then.53, %endif.14
29	%SubArrays.10 = phi i32* [ %SubArrays.8, %then.53 ], [ null, %endif.14 ]		; <i32*> [#uses=3]
30	br i1 false, label %no_exit.1, label %loopentry.0
31
32no_exit.1:		; preds = %loopentry.1
33	switch i32 0, label %label.17 [
34		 i32 2, label %label.11
35		 i32 19, label %label.10
36	]
37
38label.10:		; preds = %no_exit.1
39	br i1 false, label %then.43, label %endif.43
40
41then.43:		; preds = %label.10
42	br i1 false, label %then.44, label %endif.44
43
44then.44:		; preds = %then.43
45	br i1 false, label %shortcirc_next.4, label %endif.45
46
47shortcirc_next.4:		; preds = %then.44
48	br i1 false, label %no_exit.2, label %loopexit.2
49
50no_exit.2:		; preds = %shortcirc_next.4
51	%tmp.897 = getelementptr i32* %SubArrays.10, i64 0		; <i32*> [#uses=1]
52	%tmp.899 = load i32* %tmp.897		; <i32> [#uses=1]
53	store i32 %tmp.899, i32* null
54	ret i32 0
55
56loopexit.2:		; preds = %shortcirc_next.4
57	ret i32 0
58
59endif.45:		; preds = %then.44
60	ret i32 0
61
62endif.44:		; preds = %then.43
63	ret i32 0
64
65endif.43:		; preds = %label.10
66	ret i32 0
67
68label.11:		; preds = %no_exit.1
69	ret i32 0
70
71label.17:		; preds = %no_exit.1
72	br i1 false, label %then.53, label %shortcirc_next.7
73
74shortcirc_next.7:		; preds = %label.17
75	br i1 false, label %then.53, label %shortcirc_next.8
76
77shortcirc_next.8:		; preds = %shortcirc_next.7
78	ret i32 0
79
80then.53:		; preds = %shortcirc_next.7, %label.17
81	%SubArrays.8 = phi i32* [ %SubArrays.10, %shortcirc_next.7 ], [ %SubArrays.10, %label.17 ]		; <i32*> [#uses=1]
82	%tmp.1023 = load i32* null		; <i32> [#uses=1]
83	switch i32 %tmp.1023, label %loopentry.1 [
84	]
85
86loopexit.0:		; preds = %loopentry.0
87	ret i32 0
88
89else.2:		; preds = %then.11
90	ret i32 0
91}
92