1; RUN: opt < %s -sccp -disable-output
2; END.
3target datalayout = "E-p:32:32"
4target triple = "powerpc-unknown-linux-gnu"
5	%struct.pat_list = type { i32, %struct.pat_list* }
6@JUMP = external global i32		; <i32*> [#uses=1]
7@old_D_pat = external global [16 x i8]		; <[16 x i8]*> [#uses=0]
8
9define void @asearch1(i32 %D) {
10entry:
11	%tmp80 = icmp ult i32 0, %D		; <i1> [#uses=1]
12	br i1 %tmp80, label %bb647.preheader, label %cond_true81.preheader
13cond_true81.preheader:		; preds = %entry
14	ret void
15bb647.preheader:		; preds = %entry
16	%tmp3.i = call i32 @read( )		; <i32> [#uses=1]
17	%tmp6.i = add i32 %tmp3.i, 0		; <i32> [#uses=1]
18	%tmp653 = icmp sgt i32 %tmp6.i, 0		; <i1> [#uses=1]
19	br i1 %tmp653, label %cond_true654, label %UnifiedReturnBlock
20cond_true612:		; preds = %cond_true654
21	ret void
22cond_next624:		; preds = %cond_true654
23	ret void
24cond_true654:		; preds = %bb647.preheader
25	br i1 undef, label %cond_true612, label %cond_next624
26UnifiedReturnBlock:		; preds = %bb647.preheader
27	ret void
28}
29
30define void @bitap(i32 %D) {
31entry:
32	%tmp29 = icmp eq i32 0, 0		; <i1> [#uses=1]
33	br i1 %tmp29, label %cond_next50, label %cond_next37
34cond_next37:		; preds = %entry
35	ret void
36cond_next50:		; preds = %entry
37	%tmp52 = icmp sgt i32 %D, 0		; <i1> [#uses=1]
38	br i1 %tmp52, label %cond_true53, label %cond_next71
39cond_true53:		; preds = %cond_next50
40	%tmp54 = load i32, i32* @JUMP		; <i32> [#uses=1]
41	%tmp55 = icmp eq i32 %tmp54, 1		; <i1> [#uses=1]
42	br i1 %tmp55, label %cond_true56, label %cond_next63
43cond_true56:		; preds = %cond_true53
44	%tmp57 = bitcast i32 %D to i32		; <i32> [#uses=1]
45	call void @asearch1( i32 %tmp57 )
46	ret void
47cond_next63:		; preds = %cond_true53
48	ret void
49cond_next71:		; preds = %cond_next50
50	ret void
51}
52
53declare i32 @read()
54
55define void @initial_value() {
56entry:
57	ret void
58}
59
60define void @main() {
61entry:
62	br label %cond_next252
63cond_next208:		; preds = %cond_true260
64	%tmp229 = call i32 @atoi( )		; <i32> [#uses=1]
65	br label %cond_next252
66bb217:		; preds = %cond_true260
67	ret void
68cond_next252:		; preds = %cond_next208, %entry
69	%D.0.0 = phi i32 [ 0, %entry ], [ %tmp229, %cond_next208 ]		; <i32> [#uses=1]
70	%tmp254 = getelementptr i8*, i8** null, i32 1		; <i8**> [#uses=1]
71	%tmp256 = load i8*, i8** %tmp254		; <i8*> [#uses=1]
72	%tmp258 = load i8, i8* %tmp256		; <i8> [#uses=1]
73	%tmp259 = icmp eq i8 %tmp258, 45		; <i1> [#uses=1]
74	br i1 %tmp259, label %cond_true260, label %bb263
75cond_true260:		; preds = %cond_next252
76	%tmp205818 = icmp sgt i8 0, -1		; <i1> [#uses=1]
77	br i1 %tmp205818, label %cond_next208, label %bb217
78bb263:		; preds = %cond_next252
79	%tmp265 = icmp eq i32 0, 0		; <i1> [#uses=1]
80	br i1 %tmp265, label %cond_next276, label %cond_true266
81cond_true266:		; preds = %bb263
82	ret void
83cond_next276:		; preds = %bb263
84	%tmp278 = icmp eq i32 0, 0		; <i1> [#uses=1]
85	br i1 %tmp278, label %cond_next298, label %cond_true279
86cond_true279:		; preds = %cond_next276
87	ret void
88cond_next298:		; preds = %cond_next276
89	call void @bitap( i32 %D.0.0 )
90	ret void
91}
92
93declare i32 @atoi()
94
95define void @subset_pset() {
96entry:
97	ret void
98}
99
100define void @strcmp() {
101entry:
102	ret void
103}
104