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 -mtriple=x86_64-unknown-freebsd7.2
; PR4478
%struct.sockaddr = type <{ i8, i8, [14 x i8] }>
define i32 @main(i32 %argc, ptr %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, ptr undef
%call281 = call i32 @bind(i32 undef, ptr undef, i32 16) nounwind ; <i32> [#uses=0]
unreachable
}
declare i32 @bind(i32, ptr, i32)
declare i32 @arc4random()
|