| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
 | ; RUN: llc < %s -march=x86 -mtriple=x86_64-unknown-freebsd7.2
; PR4478
	%struct.sockaddr = type <{ i8, i8, [14 x i8] }>
define i32 @main(i32 %argc, i8** %argv) nounwind {
entry:
	br label %while.cond
while.cond:		; preds = %sw.bb6, %entry
	switch i32 undef, label %sw.default [
		i32 -1, label %while.end
		i32 119, label %sw.bb6
	]
sw.bb6:		; preds = %while.cond
	br i1 undef, label %if.then, label %while.cond
if.then:		; preds = %sw.bb6
	ret i32 1
sw.default:		; preds = %while.cond
	ret i32 1
while.end:		; preds = %while.cond
	br i1 undef, label %if.then15, label %if.end16
if.then15:		; preds = %while.end
	ret i32 1
if.end16:		; preds = %while.end
	br i1 undef, label %lor.lhs.false, label %if.then21
lor.lhs.false:		; preds = %if.end16
	br i1 undef, label %if.end22, label %if.then21
if.then21:		; preds = %lor.lhs.false, %if.end16
	ret i32 1
if.end22:		; preds = %lor.lhs.false
	br i1 undef, label %lor.lhs.false27, label %if.then51
lor.lhs.false27:		; preds = %if.end22
	br i1 undef, label %lor.lhs.false39, label %if.then51
lor.lhs.false39:		; preds = %lor.lhs.false27
	br i1 undef, label %if.end52, label %if.then51
if.then51:		; preds = %lor.lhs.false39, %lor.lhs.false27, %if.end22
	ret i32 1
if.end52:		; preds = %lor.lhs.false39
	br i1 undef, label %if.then57, label %if.end58
if.then57:		; preds = %if.end52
	ret i32 1
if.end58:		; preds = %if.end52
	br i1 undef, label %if.then64, label %if.end65
if.then64:		; preds = %if.end58
	ret i32 1
if.end65:		; preds = %if.end58
	br i1 undef, label %if.then71, label %if.end72
if.then71:		; preds = %if.end65
	ret i32 1
if.end72:		; preds = %if.end65
	br i1 undef, label %if.then83, label %if.end84
if.then83:		; preds = %if.end72
	ret i32 1
if.end84:		; preds = %if.end72
	br i1 undef, label %if.then101, label %if.end102
if.then101:		; preds = %if.end84
	ret i32 1
if.end102:		; preds = %if.end84
	br i1 undef, label %if.then113, label %if.end114
if.then113:		; preds = %if.end102
	ret i32 1
if.end114:		; preds = %if.end102
	br i1 undef, label %if.then209, label %if.end210
if.then209:		; preds = %if.end114
	ret i32 1
if.end210:		; preds = %if.end114
	br i1 undef, label %if.then219, label %if.end220
if.then219:		; preds = %if.end210
	ret i32 1
if.end220:		; preds = %if.end210
	br i1 undef, label %if.end243, label %lor.lhs.false230
lor.lhs.false230:		; preds = %if.end220
	unreachable
if.end243:		; preds = %if.end220
	br i1 undef, label %if.then249, label %if.end250
if.then249:		; preds = %if.end243
	ret i32 1
if.end250:		; preds = %if.end243
	br i1 undef, label %if.end261, label %if.then260
if.then260:		; preds = %if.end250
	ret i32 1
if.end261:		; preds = %if.end250
	br i1 undef, label %if.then270, label %if.end271
if.then270:		; preds = %if.end261
	ret i32 1
if.end271:		; preds = %if.end261
	%call.i = call i32 @arc4random() nounwind		; <i32> [#uses=1]
	%rem.i = urem i32 %call.i, 16383		; <i32> [#uses=1]
	%rem1.i = trunc i32 %rem.i to i16		; <i16> [#uses=1]
	%conv2.i = or i16 %rem1.i, -16384		; <i16> [#uses=1]
	%0 = call i16 asm "xchgb ${0:h}, ${0:b}", "=Q,0,~{dirflag},~{fpsr},~{flags}"(i16 %conv2.i) nounwind		; <i16> [#uses=1]
	store i16 %0, i16* undef
	%call281 = call i32 @bind(i32 undef, %struct.sockaddr* undef, i32 16) nounwind		; <i32> [#uses=0]
	unreachable
}
declare i32 @bind(i32, %struct.sockaddr*, i32)
declare i32 @arc4random()
 |