forked from NUDT-compiler/nudt-compiler-cpp
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
4561 lines
133 KiB
4561 lines
133 KiB
@SHIFT_TABLE = global [16 x i32] zeroinitializer
|
|
|
|
declare i32 @getint()
|
|
declare float @getfloat()
|
|
declare i32 @getarray(i32* %arg.a)
|
|
declare i32 @getfarray(float* %arg.a)
|
|
declare i32 @getch()
|
|
declare void @putint(i32 %arg.x)
|
|
declare void @putfloat(float %arg.x)
|
|
declare void @putarray(i32 %arg.n, i32* %arg.a)
|
|
declare void @putfarray(i32 %arg.n, float* %arg.a)
|
|
declare void @putch(i32 %arg.x)
|
|
declare void @starttime()
|
|
declare void @stoptime()
|
|
define i32 @long_func() {
|
|
entry:
|
|
%t0 = alloca i32
|
|
store i32 0, i32* %t0
|
|
%t1 = alloca i32
|
|
store i32 0, i32* %t1
|
|
%t2 = alloca i32
|
|
store i32 0, i32* %t2
|
|
%t3 = alloca i32
|
|
store i32 0, i32* %t3
|
|
%t4 = alloca i32
|
|
store i32 0, i32* %t4
|
|
%t5 = alloca i32
|
|
store i32 2, i32* %t5
|
|
%t6 = alloca i32
|
|
store i32 0, i32* %t6
|
|
%t7 = alloca i32
|
|
store i32 1, i32* %t7
|
|
br label %while.cond.1
|
|
while.cond.1:
|
|
%t8 = load i32, i32* %t6
|
|
%t9 = icmp sgt i32 %t8, 0
|
|
%t10 = icmp ne i32 %t9, 0
|
|
br i1 %t10, label %while.body.2, label %while.end.3
|
|
while.body.2:
|
|
store i32 0, i32* %t0
|
|
store i32 0, i32* %t1
|
|
%t11 = load i32, i32* %t6
|
|
store i32 %t11, i32* %t2
|
|
store i32 1, i32* %t3
|
|
br label %while.cond.4
|
|
while.end.3:
|
|
%t557 = load i32, i32* %t7
|
|
store i32 %t557, i32* %t0
|
|
%t558 = load i32, i32* %t0
|
|
call void @putint(i32 %t558)
|
|
call void @putch(i32 10)
|
|
%t561 = alloca i32
|
|
store i32 2, i32* %t561
|
|
%t562 = alloca i32
|
|
store i32 1, i32* %t562
|
|
%t563 = alloca i32
|
|
store i32 1, i32* %t563
|
|
br label %while.cond.182
|
|
while.cond.4:
|
|
%t12 = load i32, i32* %t1
|
|
%t13 = icmp slt i32 %t12, 16
|
|
%t14 = icmp ne i32 %t13, 0
|
|
br i1 %t14, label %while.body.5, label %while.end.6
|
|
while.body.5:
|
|
%t15 = load i32, i32* %t2
|
|
%t16 = srem i32 %t15, 2
|
|
%t17 = icmp ne i32 %t16, 0
|
|
br i1 %t17, label %land.rhs.9, label %if.end.8
|
|
while.end.6:
|
|
%t32 = load i32, i32* %t0
|
|
%t33 = icmp ne i32 %t32, 0
|
|
br i1 %t33, label %if.then.10, label %if.end.11
|
|
if.then.7:
|
|
%t21 = load i32, i32* %t0
|
|
%t22 = load i32, i32* %t1
|
|
%t23 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t22
|
|
%t24 = load i32, i32* %t23
|
|
%t25 = add i32 %t21, %t24
|
|
store i32 %t25, i32* %t0
|
|
br label %if.end.8
|
|
if.end.8:
|
|
%t26 = load i32, i32* %t2
|
|
%t27 = sdiv i32 %t26, 2
|
|
store i32 %t27, i32* %t2
|
|
%t28 = load i32, i32* %t3
|
|
%t29 = sdiv i32 %t28, 2
|
|
store i32 %t29, i32* %t3
|
|
%t30 = load i32, i32* %t1
|
|
%t31 = add i32 %t30, 1
|
|
store i32 %t31, i32* %t1
|
|
br label %while.cond.4
|
|
land.rhs.9:
|
|
%t18 = load i32, i32* %t3
|
|
%t19 = srem i32 %t18, 2
|
|
%t20 = icmp ne i32 %t19, 0
|
|
br i1 %t20, label %if.then.7, label %if.end.8
|
|
if.then.10:
|
|
%t34 = alloca i32
|
|
%t35 = load i32, i32* %t7
|
|
store i32 %t35, i32* %t34
|
|
%t36 = alloca i32
|
|
%t37 = load i32, i32* %t5
|
|
store i32 %t37, i32* %t36
|
|
%t38 = alloca i32
|
|
store i32 0, i32* %t38
|
|
br label %while.cond.12
|
|
if.end.11:
|
|
%t279 = alloca i32
|
|
%t280 = load i32, i32* %t5
|
|
store i32 %t280, i32* %t279
|
|
%t281 = alloca i32
|
|
%t282 = load i32, i32* %t5
|
|
store i32 %t282, i32* %t281
|
|
%t283 = alloca i32
|
|
store i32 0, i32* %t283
|
|
br label %while.cond.91
|
|
while.cond.12:
|
|
%t39 = load i32, i32* %t36
|
|
%t40 = icmp ne i32 %t39, 0
|
|
br i1 %t40, label %while.body.13, label %while.end.14
|
|
while.body.13:
|
|
store i32 0, i32* %t0
|
|
store i32 0, i32* %t1
|
|
%t41 = load i32, i32* %t36
|
|
store i32 %t41, i32* %t2
|
|
store i32 1, i32* %t3
|
|
br label %while.cond.15
|
|
while.end.14:
|
|
%t277 = load i32, i32* %t38
|
|
store i32 %t277, i32* %t0
|
|
%t278 = load i32, i32* %t0
|
|
store i32 %t278, i32* %t7
|
|
br label %if.end.11
|
|
while.cond.15:
|
|
%t42 = load i32, i32* %t1
|
|
%t43 = icmp slt i32 %t42, 16
|
|
%t44 = icmp ne i32 %t43, 0
|
|
br i1 %t44, label %while.body.16, label %while.end.17
|
|
while.body.16:
|
|
%t45 = load i32, i32* %t2
|
|
%t46 = srem i32 %t45, 2
|
|
%t47 = icmp ne i32 %t46, 0
|
|
br i1 %t47, label %land.rhs.20, label %if.end.19
|
|
while.end.17:
|
|
%t62 = load i32, i32* %t0
|
|
%t63 = icmp ne i32 %t62, 0
|
|
br i1 %t63, label %if.then.21, label %if.end.22
|
|
if.then.18:
|
|
%t51 = load i32, i32* %t0
|
|
%t52 = load i32, i32* %t1
|
|
%t53 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t52
|
|
%t54 = load i32, i32* %t53
|
|
%t55 = add i32 %t51, %t54
|
|
store i32 %t55, i32* %t0
|
|
br label %if.end.19
|
|
if.end.19:
|
|
%t56 = load i32, i32* %t2
|
|
%t57 = sdiv i32 %t56, 2
|
|
store i32 %t57, i32* %t2
|
|
%t58 = load i32, i32* %t3
|
|
%t59 = sdiv i32 %t58, 2
|
|
store i32 %t59, i32* %t3
|
|
%t60 = load i32, i32* %t1
|
|
%t61 = add i32 %t60, 1
|
|
store i32 %t61, i32* %t1
|
|
br label %while.cond.15
|
|
land.rhs.20:
|
|
%t48 = load i32, i32* %t3
|
|
%t49 = srem i32 %t48, 2
|
|
%t50 = icmp ne i32 %t49, 0
|
|
br i1 %t50, label %if.then.18, label %if.end.19
|
|
if.then.21:
|
|
%t64 = alloca i32
|
|
%t65 = load i32, i32* %t38
|
|
store i32 %t65, i32* %t64
|
|
%t66 = alloca i32
|
|
%t67 = load i32, i32* %t34
|
|
store i32 %t67, i32* %t66
|
|
%t68 = alloca i32
|
|
store i32 0, i32* %t68
|
|
br label %while.cond.23
|
|
if.end.22:
|
|
%t154 = alloca i32
|
|
%t155 = load i32, i32* %t34
|
|
store i32 %t155, i32* %t154
|
|
%t156 = alloca i32
|
|
%t157 = load i32, i32* %t34
|
|
store i32 %t157, i32* %t156
|
|
%t158 = alloca i32
|
|
store i32 0, i32* %t158
|
|
br label %while.cond.51
|
|
while.cond.23:
|
|
%t69 = load i32, i32* %t66
|
|
%t70 = icmp ne i32 %t69, 0
|
|
br i1 %t70, label %while.body.24, label %while.end.25
|
|
while.body.24:
|
|
store i32 0, i32* %t0
|
|
store i32 0, i32* %t1
|
|
%t71 = load i32, i32* %t64
|
|
store i32 %t71, i32* %t2
|
|
%t72 = load i32, i32* %t66
|
|
store i32 %t72, i32* %t3
|
|
br label %while.cond.26
|
|
while.end.25:
|
|
%t152 = load i32, i32* %t64
|
|
store i32 %t152, i32* %t0
|
|
%t153 = load i32, i32* %t0
|
|
store i32 %t153, i32* %t38
|
|
br label %if.end.22
|
|
while.cond.26:
|
|
%t73 = load i32, i32* %t1
|
|
%t74 = icmp slt i32 %t73, 16
|
|
%t75 = icmp ne i32 %t74, 0
|
|
br i1 %t75, label %while.body.27, label %while.end.28
|
|
while.body.27:
|
|
%t76 = load i32, i32* %t2
|
|
%t77 = srem i32 %t76, 2
|
|
%t78 = icmp ne i32 %t77, 0
|
|
br i1 %t78, label %if.then.29, label %if.else.31
|
|
while.end.28:
|
|
%t102 = load i32, i32* %t0
|
|
store i32 %t102, i32* %t68
|
|
store i32 0, i32* %t0
|
|
store i32 0, i32* %t1
|
|
%t103 = load i32, i32* %t64
|
|
store i32 %t103, i32* %t2
|
|
%t104 = load i32, i32* %t66
|
|
store i32 %t104, i32* %t3
|
|
br label %while.cond.36
|
|
if.then.29:
|
|
%t79 = load i32, i32* %t3
|
|
%t80 = srem i32 %t79, 2
|
|
%t81 = icmp eq i32 %t80, 0
|
|
%t82 = icmp ne i32 %t81, 0
|
|
br i1 %t82, label %if.then.32, label %if.end.33
|
|
if.end.30:
|
|
%t96 = load i32, i32* %t2
|
|
%t97 = sdiv i32 %t96, 2
|
|
store i32 %t97, i32* %t2
|
|
%t98 = load i32, i32* %t3
|
|
%t99 = sdiv i32 %t98, 2
|
|
store i32 %t99, i32* %t3
|
|
%t100 = load i32, i32* %t1
|
|
%t101 = add i32 %t100, 1
|
|
store i32 %t101, i32* %t1
|
|
br label %while.cond.26
|
|
if.else.31:
|
|
%t88 = load i32, i32* %t3
|
|
%t89 = srem i32 %t88, 2
|
|
%t90 = icmp ne i32 %t89, 0
|
|
br i1 %t90, label %if.then.34, label %if.end.35
|
|
if.then.32:
|
|
%t83 = load i32, i32* %t0
|
|
%t84 = load i32, i32* %t1
|
|
%t85 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t84
|
|
%t86 = load i32, i32* %t85
|
|
%t87 = add i32 %t83, %t86
|
|
store i32 %t87, i32* %t0
|
|
br label %if.end.33
|
|
if.end.33:
|
|
br label %if.end.30
|
|
if.then.34:
|
|
%t91 = load i32, i32* %t0
|
|
%t92 = load i32, i32* %t1
|
|
%t93 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t92
|
|
%t94 = load i32, i32* %t93
|
|
%t95 = add i32 %t91, %t94
|
|
store i32 %t95, i32* %t0
|
|
br label %if.end.35
|
|
if.end.35:
|
|
br label %if.end.30
|
|
while.cond.36:
|
|
%t105 = load i32, i32* %t1
|
|
%t106 = icmp slt i32 %t105, 16
|
|
%t107 = icmp ne i32 %t106, 0
|
|
br i1 %t107, label %while.body.37, label %while.end.38
|
|
while.body.37:
|
|
%t108 = load i32, i32* %t2
|
|
%t109 = srem i32 %t108, 2
|
|
%t110 = icmp ne i32 %t109, 0
|
|
br i1 %t110, label %land.rhs.41, label %if.end.40
|
|
while.end.38:
|
|
%t125 = load i32, i32* %t0
|
|
store i32 %t125, i32* %t66
|
|
br i1 0, label %if.then.42, label %if.else.44
|
|
if.then.39:
|
|
%t114 = load i32, i32* %t0
|
|
%t115 = load i32, i32* %t1
|
|
%t116 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t115
|
|
%t117 = load i32, i32* %t116
|
|
%t118 = add i32 %t114, %t117
|
|
store i32 %t118, i32* %t0
|
|
br label %if.end.40
|
|
if.end.40:
|
|
%t119 = load i32, i32* %t2
|
|
%t120 = sdiv i32 %t119, 2
|
|
store i32 %t120, i32* %t2
|
|
%t121 = load i32, i32* %t3
|
|
%t122 = sdiv i32 %t121, 2
|
|
store i32 %t122, i32* %t3
|
|
%t123 = load i32, i32* %t1
|
|
%t124 = add i32 %t123, 1
|
|
store i32 %t124, i32* %t1
|
|
br label %while.cond.36
|
|
land.rhs.41:
|
|
%t111 = load i32, i32* %t3
|
|
%t112 = srem i32 %t111, 2
|
|
%t113 = icmp ne i32 %t112, 0
|
|
br i1 %t113, label %if.then.39, label %if.end.40
|
|
if.then.42:
|
|
store i32 0, i32* %t0
|
|
br label %if.end.43
|
|
if.end.43:
|
|
%t150 = load i32, i32* %t0
|
|
store i32 %t150, i32* %t66
|
|
%t151 = load i32, i32* %t68
|
|
store i32 %t151, i32* %t64
|
|
br label %while.cond.23
|
|
if.else.44:
|
|
store i32 0, i32* %t0
|
|
store i32 0, i32* %t1
|
|
%t126 = load i32, i32* %t66
|
|
%t127 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 1
|
|
%t128 = load i32, i32* %t127
|
|
%t129 = mul i32 %t126, %t128
|
|
store i32 %t129, i32* %t2
|
|
store i32 65535, i32* %t3
|
|
br label %while.cond.45
|
|
while.cond.45:
|
|
%t130 = load i32, i32* %t1
|
|
%t131 = icmp slt i32 %t130, 16
|
|
%t132 = icmp ne i32 %t131, 0
|
|
br i1 %t132, label %while.body.46, label %while.end.47
|
|
while.body.46:
|
|
%t133 = load i32, i32* %t2
|
|
%t134 = srem i32 %t133, 2
|
|
%t135 = icmp ne i32 %t134, 0
|
|
br i1 %t135, label %land.rhs.50, label %if.end.49
|
|
while.end.47:
|
|
br label %if.end.43
|
|
if.then.48:
|
|
%t139 = load i32, i32* %t0
|
|
%t140 = load i32, i32* %t1
|
|
%t141 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t140
|
|
%t142 = load i32, i32* %t141
|
|
%t143 = add i32 %t139, %t142
|
|
store i32 %t143, i32* %t0
|
|
br label %if.end.49
|
|
if.end.49:
|
|
%t144 = load i32, i32* %t2
|
|
%t145 = sdiv i32 %t144, 2
|
|
store i32 %t145, i32* %t2
|
|
%t146 = load i32, i32* %t3
|
|
%t147 = sdiv i32 %t146, 2
|
|
store i32 %t147, i32* %t3
|
|
%t148 = load i32, i32* %t1
|
|
%t149 = add i32 %t148, 1
|
|
store i32 %t149, i32* %t1
|
|
br label %while.cond.45
|
|
land.rhs.50:
|
|
%t136 = load i32, i32* %t3
|
|
%t137 = srem i32 %t136, 2
|
|
%t138 = icmp ne i32 %t137, 0
|
|
br i1 %t138, label %if.then.48, label %if.end.49
|
|
while.cond.51:
|
|
%t159 = load i32, i32* %t156
|
|
%t160 = icmp ne i32 %t159, 0
|
|
br i1 %t160, label %while.body.52, label %while.end.53
|
|
while.body.52:
|
|
store i32 0, i32* %t0
|
|
store i32 0, i32* %t1
|
|
%t161 = load i32, i32* %t154
|
|
store i32 %t161, i32* %t2
|
|
%t162 = load i32, i32* %t156
|
|
store i32 %t162, i32* %t3
|
|
br label %while.cond.54
|
|
while.end.53:
|
|
%t242 = load i32, i32* %t154
|
|
store i32 %t242, i32* %t0
|
|
%t243 = load i32, i32* %t0
|
|
store i32 %t243, i32* %t34
|
|
%t244 = load i32, i32* %t36
|
|
store i32 %t244, i32* %t2
|
|
store i32 1, i32* %t3
|
|
%t245 = load i32, i32* %t3
|
|
%t246 = icmp sge i32 %t245, 15
|
|
%t247 = icmp ne i32 %t246, 0
|
|
br i1 %t247, label %if.then.79, label %if.else.81
|
|
while.cond.54:
|
|
%t163 = load i32, i32* %t1
|
|
%t164 = icmp slt i32 %t163, 16
|
|
%t165 = icmp ne i32 %t164, 0
|
|
br i1 %t165, label %while.body.55, label %while.end.56
|
|
while.body.55:
|
|
%t166 = load i32, i32* %t2
|
|
%t167 = srem i32 %t166, 2
|
|
%t168 = icmp ne i32 %t167, 0
|
|
br i1 %t168, label %if.then.57, label %if.else.59
|
|
while.end.56:
|
|
%t192 = load i32, i32* %t0
|
|
store i32 %t192, i32* %t158
|
|
store i32 0, i32* %t0
|
|
store i32 0, i32* %t1
|
|
%t193 = load i32, i32* %t154
|
|
store i32 %t193, i32* %t2
|
|
%t194 = load i32, i32* %t156
|
|
store i32 %t194, i32* %t3
|
|
br label %while.cond.64
|
|
if.then.57:
|
|
%t169 = load i32, i32* %t3
|
|
%t170 = srem i32 %t169, 2
|
|
%t171 = icmp eq i32 %t170, 0
|
|
%t172 = icmp ne i32 %t171, 0
|
|
br i1 %t172, label %if.then.60, label %if.end.61
|
|
if.end.58:
|
|
%t186 = load i32, i32* %t2
|
|
%t187 = sdiv i32 %t186, 2
|
|
store i32 %t187, i32* %t2
|
|
%t188 = load i32, i32* %t3
|
|
%t189 = sdiv i32 %t188, 2
|
|
store i32 %t189, i32* %t3
|
|
%t190 = load i32, i32* %t1
|
|
%t191 = add i32 %t190, 1
|
|
store i32 %t191, i32* %t1
|
|
br label %while.cond.54
|
|
if.else.59:
|
|
%t178 = load i32, i32* %t3
|
|
%t179 = srem i32 %t178, 2
|
|
%t180 = icmp ne i32 %t179, 0
|
|
br i1 %t180, label %if.then.62, label %if.end.63
|
|
if.then.60:
|
|
%t173 = load i32, i32* %t0
|
|
%t174 = load i32, i32* %t1
|
|
%t175 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t174
|
|
%t176 = load i32, i32* %t175
|
|
%t177 = add i32 %t173, %t176
|
|
store i32 %t177, i32* %t0
|
|
br label %if.end.61
|
|
if.end.61:
|
|
br label %if.end.58
|
|
if.then.62:
|
|
%t181 = load i32, i32* %t0
|
|
%t182 = load i32, i32* %t1
|
|
%t183 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t182
|
|
%t184 = load i32, i32* %t183
|
|
%t185 = add i32 %t181, %t184
|
|
store i32 %t185, i32* %t0
|
|
br label %if.end.63
|
|
if.end.63:
|
|
br label %if.end.58
|
|
while.cond.64:
|
|
%t195 = load i32, i32* %t1
|
|
%t196 = icmp slt i32 %t195, 16
|
|
%t197 = icmp ne i32 %t196, 0
|
|
br i1 %t197, label %while.body.65, label %while.end.66
|
|
while.body.65:
|
|
%t198 = load i32, i32* %t2
|
|
%t199 = srem i32 %t198, 2
|
|
%t200 = icmp ne i32 %t199, 0
|
|
br i1 %t200, label %land.rhs.69, label %if.end.68
|
|
while.end.66:
|
|
%t215 = load i32, i32* %t0
|
|
store i32 %t215, i32* %t156
|
|
br i1 0, label %if.then.70, label %if.else.72
|
|
if.then.67:
|
|
%t204 = load i32, i32* %t0
|
|
%t205 = load i32, i32* %t1
|
|
%t206 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t205
|
|
%t207 = load i32, i32* %t206
|
|
%t208 = add i32 %t204, %t207
|
|
store i32 %t208, i32* %t0
|
|
br label %if.end.68
|
|
if.end.68:
|
|
%t209 = load i32, i32* %t2
|
|
%t210 = sdiv i32 %t209, 2
|
|
store i32 %t210, i32* %t2
|
|
%t211 = load i32, i32* %t3
|
|
%t212 = sdiv i32 %t211, 2
|
|
store i32 %t212, i32* %t3
|
|
%t213 = load i32, i32* %t1
|
|
%t214 = add i32 %t213, 1
|
|
store i32 %t214, i32* %t1
|
|
br label %while.cond.64
|
|
land.rhs.69:
|
|
%t201 = load i32, i32* %t3
|
|
%t202 = srem i32 %t201, 2
|
|
%t203 = icmp ne i32 %t202, 0
|
|
br i1 %t203, label %if.then.67, label %if.end.68
|
|
if.then.70:
|
|
store i32 0, i32* %t0
|
|
br label %if.end.71
|
|
if.end.71:
|
|
%t240 = load i32, i32* %t0
|
|
store i32 %t240, i32* %t156
|
|
%t241 = load i32, i32* %t158
|
|
store i32 %t241, i32* %t154
|
|
br label %while.cond.51
|
|
if.else.72:
|
|
store i32 0, i32* %t0
|
|
store i32 0, i32* %t1
|
|
%t216 = load i32, i32* %t156
|
|
%t217 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 1
|
|
%t218 = load i32, i32* %t217
|
|
%t219 = mul i32 %t216, %t218
|
|
store i32 %t219, i32* %t2
|
|
store i32 65535, i32* %t3
|
|
br label %while.cond.73
|
|
while.cond.73:
|
|
%t220 = load i32, i32* %t1
|
|
%t221 = icmp slt i32 %t220, 16
|
|
%t222 = icmp ne i32 %t221, 0
|
|
br i1 %t222, label %while.body.74, label %while.end.75
|
|
while.body.74:
|
|
%t223 = load i32, i32* %t2
|
|
%t224 = srem i32 %t223, 2
|
|
%t225 = icmp ne i32 %t224, 0
|
|
br i1 %t225, label %land.rhs.78, label %if.end.77
|
|
while.end.75:
|
|
br label %if.end.71
|
|
if.then.76:
|
|
%t229 = load i32, i32* %t0
|
|
%t230 = load i32, i32* %t1
|
|
%t231 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t230
|
|
%t232 = load i32, i32* %t231
|
|
%t233 = add i32 %t229, %t232
|
|
store i32 %t233, i32* %t0
|
|
br label %if.end.77
|
|
if.end.77:
|
|
%t234 = load i32, i32* %t2
|
|
%t235 = sdiv i32 %t234, 2
|
|
store i32 %t235, i32* %t2
|
|
%t236 = load i32, i32* %t3
|
|
%t237 = sdiv i32 %t236, 2
|
|
store i32 %t237, i32* %t3
|
|
%t238 = load i32, i32* %t1
|
|
%t239 = add i32 %t238, 1
|
|
store i32 %t239, i32* %t1
|
|
br label %while.cond.73
|
|
land.rhs.78:
|
|
%t226 = load i32, i32* %t3
|
|
%t227 = srem i32 %t226, 2
|
|
%t228 = icmp ne i32 %t227, 0
|
|
br i1 %t228, label %if.then.76, label %if.end.77
|
|
if.then.79:
|
|
%t248 = load i32, i32* %t2
|
|
%t249 = icmp slt i32 %t248, 0
|
|
%t250 = icmp ne i32 %t249, 0
|
|
br i1 %t250, label %if.then.82, label %if.else.84
|
|
if.end.80:
|
|
%t276 = load i32, i32* %t0
|
|
store i32 %t276, i32* %t36
|
|
br label %while.cond.12
|
|
if.else.81:
|
|
%t251 = load i32, i32* %t3
|
|
%t252 = icmp sgt i32 %t251, 0
|
|
%t253 = icmp ne i32 %t252, 0
|
|
br i1 %t253, label %if.then.85, label %if.else.87
|
|
if.then.82:
|
|
store i32 65535, i32* %t0
|
|
br label %if.end.83
|
|
if.end.83:
|
|
br label %if.end.80
|
|
if.else.84:
|
|
store i32 0, i32* %t0
|
|
br label %if.end.83
|
|
if.then.85:
|
|
%t254 = load i32, i32* %t2
|
|
%t255 = icmp sgt i32 %t254, 32767
|
|
%t256 = icmp ne i32 %t255, 0
|
|
br i1 %t256, label %if.then.88, label %if.else.90
|
|
if.end.86:
|
|
br label %if.end.80
|
|
if.else.87:
|
|
%t275 = load i32, i32* %t2
|
|
store i32 %t275, i32* %t0
|
|
br label %if.end.86
|
|
if.then.88:
|
|
%t257 = load i32, i32* %t2
|
|
%t258 = load i32, i32* %t3
|
|
%t259 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t258
|
|
%t260 = load i32, i32* %t259
|
|
%t261 = sdiv i32 %t257, %t260
|
|
store i32 %t261, i32* %t2
|
|
%t262 = load i32, i32* %t2
|
|
%t263 = add i32 %t262, 65536
|
|
%t264 = load i32, i32* %t3
|
|
%t265 = sub i32 15, %t264
|
|
%t266 = add i32 %t265, 1
|
|
%t267 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t266
|
|
%t268 = load i32, i32* %t267
|
|
%t269 = sub i32 %t263, %t268
|
|
store i32 %t269, i32* %t0
|
|
br label %if.end.89
|
|
if.end.89:
|
|
br label %if.end.86
|
|
if.else.90:
|
|
%t270 = load i32, i32* %t2
|
|
%t271 = load i32, i32* %t3
|
|
%t272 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t271
|
|
%t273 = load i32, i32* %t272
|
|
%t274 = sdiv i32 %t270, %t273
|
|
store i32 %t274, i32* %t0
|
|
br label %if.end.89
|
|
while.cond.91:
|
|
%t284 = load i32, i32* %t281
|
|
%t285 = icmp ne i32 %t284, 0
|
|
br i1 %t285, label %while.body.92, label %while.end.93
|
|
while.body.92:
|
|
store i32 0, i32* %t0
|
|
store i32 0, i32* %t1
|
|
%t286 = load i32, i32* %t281
|
|
store i32 %t286, i32* %t2
|
|
store i32 1, i32* %t3
|
|
br label %while.cond.94
|
|
while.end.93:
|
|
%t522 = load i32, i32* %t283
|
|
store i32 %t522, i32* %t0
|
|
%t523 = load i32, i32* %t0
|
|
store i32 %t523, i32* %t5
|
|
%t524 = load i32, i32* %t6
|
|
store i32 %t524, i32* %t2
|
|
store i32 1, i32* %t3
|
|
%t525 = load i32, i32* %t3
|
|
%t526 = icmp sge i32 %t525, 15
|
|
%t527 = icmp ne i32 %t526, 0
|
|
br i1 %t527, label %if.then.170, label %if.else.172
|
|
while.cond.94:
|
|
%t287 = load i32, i32* %t1
|
|
%t288 = icmp slt i32 %t287, 16
|
|
%t289 = icmp ne i32 %t288, 0
|
|
br i1 %t289, label %while.body.95, label %while.end.96
|
|
while.body.95:
|
|
%t290 = load i32, i32* %t2
|
|
%t291 = srem i32 %t290, 2
|
|
%t292 = icmp ne i32 %t291, 0
|
|
br i1 %t292, label %land.rhs.99, label %if.end.98
|
|
while.end.96:
|
|
%t307 = load i32, i32* %t0
|
|
%t308 = icmp ne i32 %t307, 0
|
|
br i1 %t308, label %if.then.100, label %if.end.101
|
|
if.then.97:
|
|
%t296 = load i32, i32* %t0
|
|
%t297 = load i32, i32* %t1
|
|
%t298 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t297
|
|
%t299 = load i32, i32* %t298
|
|
%t300 = add i32 %t296, %t299
|
|
store i32 %t300, i32* %t0
|
|
br label %if.end.98
|
|
if.end.98:
|
|
%t301 = load i32, i32* %t2
|
|
%t302 = sdiv i32 %t301, 2
|
|
store i32 %t302, i32* %t2
|
|
%t303 = load i32, i32* %t3
|
|
%t304 = sdiv i32 %t303, 2
|
|
store i32 %t304, i32* %t3
|
|
%t305 = load i32, i32* %t1
|
|
%t306 = add i32 %t305, 1
|
|
store i32 %t306, i32* %t1
|
|
br label %while.cond.94
|
|
land.rhs.99:
|
|
%t293 = load i32, i32* %t3
|
|
%t294 = srem i32 %t293, 2
|
|
%t295 = icmp ne i32 %t294, 0
|
|
br i1 %t295, label %if.then.97, label %if.end.98
|
|
if.then.100:
|
|
%t309 = alloca i32
|
|
%t310 = load i32, i32* %t283
|
|
store i32 %t310, i32* %t309
|
|
%t311 = alloca i32
|
|
%t312 = load i32, i32* %t279
|
|
store i32 %t312, i32* %t311
|
|
%t313 = alloca i32
|
|
store i32 0, i32* %t313
|
|
br label %while.cond.102
|
|
if.end.101:
|
|
%t399 = alloca i32
|
|
%t400 = load i32, i32* %t279
|
|
store i32 %t400, i32* %t399
|
|
%t401 = alloca i32
|
|
%t402 = load i32, i32* %t279
|
|
store i32 %t402, i32* %t401
|
|
%t403 = alloca i32
|
|
store i32 0, i32* %t403
|
|
br label %while.cond.130
|
|
while.cond.102:
|
|
%t314 = load i32, i32* %t311
|
|
%t315 = icmp ne i32 %t314, 0
|
|
br i1 %t315, label %while.body.103, label %while.end.104
|
|
while.body.103:
|
|
store i32 0, i32* %t0
|
|
store i32 0, i32* %t1
|
|
%t316 = load i32, i32* %t309
|
|
store i32 %t316, i32* %t2
|
|
%t317 = load i32, i32* %t311
|
|
store i32 %t317, i32* %t3
|
|
br label %while.cond.105
|
|
while.end.104:
|
|
%t397 = load i32, i32* %t309
|
|
store i32 %t397, i32* %t0
|
|
%t398 = load i32, i32* %t0
|
|
store i32 %t398, i32* %t283
|
|
br label %if.end.101
|
|
while.cond.105:
|
|
%t318 = load i32, i32* %t1
|
|
%t319 = icmp slt i32 %t318, 16
|
|
%t320 = icmp ne i32 %t319, 0
|
|
br i1 %t320, label %while.body.106, label %while.end.107
|
|
while.body.106:
|
|
%t321 = load i32, i32* %t2
|
|
%t322 = srem i32 %t321, 2
|
|
%t323 = icmp ne i32 %t322, 0
|
|
br i1 %t323, label %if.then.108, label %if.else.110
|
|
while.end.107:
|
|
%t347 = load i32, i32* %t0
|
|
store i32 %t347, i32* %t313
|
|
store i32 0, i32* %t0
|
|
store i32 0, i32* %t1
|
|
%t348 = load i32, i32* %t309
|
|
store i32 %t348, i32* %t2
|
|
%t349 = load i32, i32* %t311
|
|
store i32 %t349, i32* %t3
|
|
br label %while.cond.115
|
|
if.then.108:
|
|
%t324 = load i32, i32* %t3
|
|
%t325 = srem i32 %t324, 2
|
|
%t326 = icmp eq i32 %t325, 0
|
|
%t327 = icmp ne i32 %t326, 0
|
|
br i1 %t327, label %if.then.111, label %if.end.112
|
|
if.end.109:
|
|
%t341 = load i32, i32* %t2
|
|
%t342 = sdiv i32 %t341, 2
|
|
store i32 %t342, i32* %t2
|
|
%t343 = load i32, i32* %t3
|
|
%t344 = sdiv i32 %t343, 2
|
|
store i32 %t344, i32* %t3
|
|
%t345 = load i32, i32* %t1
|
|
%t346 = add i32 %t345, 1
|
|
store i32 %t346, i32* %t1
|
|
br label %while.cond.105
|
|
if.else.110:
|
|
%t333 = load i32, i32* %t3
|
|
%t334 = srem i32 %t333, 2
|
|
%t335 = icmp ne i32 %t334, 0
|
|
br i1 %t335, label %if.then.113, label %if.end.114
|
|
if.then.111:
|
|
%t328 = load i32, i32* %t0
|
|
%t329 = load i32, i32* %t1
|
|
%t330 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t329
|
|
%t331 = load i32, i32* %t330
|
|
%t332 = add i32 %t328, %t331
|
|
store i32 %t332, i32* %t0
|
|
br label %if.end.112
|
|
if.end.112:
|
|
br label %if.end.109
|
|
if.then.113:
|
|
%t336 = load i32, i32* %t0
|
|
%t337 = load i32, i32* %t1
|
|
%t338 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t337
|
|
%t339 = load i32, i32* %t338
|
|
%t340 = add i32 %t336, %t339
|
|
store i32 %t340, i32* %t0
|
|
br label %if.end.114
|
|
if.end.114:
|
|
br label %if.end.109
|
|
while.cond.115:
|
|
%t350 = load i32, i32* %t1
|
|
%t351 = icmp slt i32 %t350, 16
|
|
%t352 = icmp ne i32 %t351, 0
|
|
br i1 %t352, label %while.body.116, label %while.end.117
|
|
while.body.116:
|
|
%t353 = load i32, i32* %t2
|
|
%t354 = srem i32 %t353, 2
|
|
%t355 = icmp ne i32 %t354, 0
|
|
br i1 %t355, label %land.rhs.120, label %if.end.119
|
|
while.end.117:
|
|
%t370 = load i32, i32* %t0
|
|
store i32 %t370, i32* %t311
|
|
br i1 0, label %if.then.121, label %if.else.123
|
|
if.then.118:
|
|
%t359 = load i32, i32* %t0
|
|
%t360 = load i32, i32* %t1
|
|
%t361 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t360
|
|
%t362 = load i32, i32* %t361
|
|
%t363 = add i32 %t359, %t362
|
|
store i32 %t363, i32* %t0
|
|
br label %if.end.119
|
|
if.end.119:
|
|
%t364 = load i32, i32* %t2
|
|
%t365 = sdiv i32 %t364, 2
|
|
store i32 %t365, i32* %t2
|
|
%t366 = load i32, i32* %t3
|
|
%t367 = sdiv i32 %t366, 2
|
|
store i32 %t367, i32* %t3
|
|
%t368 = load i32, i32* %t1
|
|
%t369 = add i32 %t368, 1
|
|
store i32 %t369, i32* %t1
|
|
br label %while.cond.115
|
|
land.rhs.120:
|
|
%t356 = load i32, i32* %t3
|
|
%t357 = srem i32 %t356, 2
|
|
%t358 = icmp ne i32 %t357, 0
|
|
br i1 %t358, label %if.then.118, label %if.end.119
|
|
if.then.121:
|
|
store i32 0, i32* %t0
|
|
br label %if.end.122
|
|
if.end.122:
|
|
%t395 = load i32, i32* %t0
|
|
store i32 %t395, i32* %t311
|
|
%t396 = load i32, i32* %t313
|
|
store i32 %t396, i32* %t309
|
|
br label %while.cond.102
|
|
if.else.123:
|
|
store i32 0, i32* %t0
|
|
store i32 0, i32* %t1
|
|
%t371 = load i32, i32* %t311
|
|
%t372 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 1
|
|
%t373 = load i32, i32* %t372
|
|
%t374 = mul i32 %t371, %t373
|
|
store i32 %t374, i32* %t2
|
|
store i32 65535, i32* %t3
|
|
br label %while.cond.124
|
|
while.cond.124:
|
|
%t375 = load i32, i32* %t1
|
|
%t376 = icmp slt i32 %t375, 16
|
|
%t377 = icmp ne i32 %t376, 0
|
|
br i1 %t377, label %while.body.125, label %while.end.126
|
|
while.body.125:
|
|
%t378 = load i32, i32* %t2
|
|
%t379 = srem i32 %t378, 2
|
|
%t380 = icmp ne i32 %t379, 0
|
|
br i1 %t380, label %land.rhs.129, label %if.end.128
|
|
while.end.126:
|
|
br label %if.end.122
|
|
if.then.127:
|
|
%t384 = load i32, i32* %t0
|
|
%t385 = load i32, i32* %t1
|
|
%t386 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t385
|
|
%t387 = load i32, i32* %t386
|
|
%t388 = add i32 %t384, %t387
|
|
store i32 %t388, i32* %t0
|
|
br label %if.end.128
|
|
if.end.128:
|
|
%t389 = load i32, i32* %t2
|
|
%t390 = sdiv i32 %t389, 2
|
|
store i32 %t390, i32* %t2
|
|
%t391 = load i32, i32* %t3
|
|
%t392 = sdiv i32 %t391, 2
|
|
store i32 %t392, i32* %t3
|
|
%t393 = load i32, i32* %t1
|
|
%t394 = add i32 %t393, 1
|
|
store i32 %t394, i32* %t1
|
|
br label %while.cond.124
|
|
land.rhs.129:
|
|
%t381 = load i32, i32* %t3
|
|
%t382 = srem i32 %t381, 2
|
|
%t383 = icmp ne i32 %t382, 0
|
|
br i1 %t383, label %if.then.127, label %if.end.128
|
|
while.cond.130:
|
|
%t404 = load i32, i32* %t401
|
|
%t405 = icmp ne i32 %t404, 0
|
|
br i1 %t405, label %while.body.131, label %while.end.132
|
|
while.body.131:
|
|
store i32 0, i32* %t0
|
|
store i32 0, i32* %t1
|
|
%t406 = load i32, i32* %t399
|
|
store i32 %t406, i32* %t2
|
|
%t407 = load i32, i32* %t401
|
|
store i32 %t407, i32* %t3
|
|
br label %while.cond.133
|
|
while.end.132:
|
|
%t487 = load i32, i32* %t399
|
|
store i32 %t487, i32* %t0
|
|
%t488 = load i32, i32* %t0
|
|
store i32 %t488, i32* %t279
|
|
%t489 = load i32, i32* %t281
|
|
store i32 %t489, i32* %t2
|
|
store i32 1, i32* %t3
|
|
%t490 = load i32, i32* %t3
|
|
%t491 = icmp sge i32 %t490, 15
|
|
%t492 = icmp ne i32 %t491, 0
|
|
br i1 %t492, label %if.then.158, label %if.else.160
|
|
while.cond.133:
|
|
%t408 = load i32, i32* %t1
|
|
%t409 = icmp slt i32 %t408, 16
|
|
%t410 = icmp ne i32 %t409, 0
|
|
br i1 %t410, label %while.body.134, label %while.end.135
|
|
while.body.134:
|
|
%t411 = load i32, i32* %t2
|
|
%t412 = srem i32 %t411, 2
|
|
%t413 = icmp ne i32 %t412, 0
|
|
br i1 %t413, label %if.then.136, label %if.else.138
|
|
while.end.135:
|
|
%t437 = load i32, i32* %t0
|
|
store i32 %t437, i32* %t403
|
|
store i32 0, i32* %t0
|
|
store i32 0, i32* %t1
|
|
%t438 = load i32, i32* %t399
|
|
store i32 %t438, i32* %t2
|
|
%t439 = load i32, i32* %t401
|
|
store i32 %t439, i32* %t3
|
|
br label %while.cond.143
|
|
if.then.136:
|
|
%t414 = load i32, i32* %t3
|
|
%t415 = srem i32 %t414, 2
|
|
%t416 = icmp eq i32 %t415, 0
|
|
%t417 = icmp ne i32 %t416, 0
|
|
br i1 %t417, label %if.then.139, label %if.end.140
|
|
if.end.137:
|
|
%t431 = load i32, i32* %t2
|
|
%t432 = sdiv i32 %t431, 2
|
|
store i32 %t432, i32* %t2
|
|
%t433 = load i32, i32* %t3
|
|
%t434 = sdiv i32 %t433, 2
|
|
store i32 %t434, i32* %t3
|
|
%t435 = load i32, i32* %t1
|
|
%t436 = add i32 %t435, 1
|
|
store i32 %t436, i32* %t1
|
|
br label %while.cond.133
|
|
if.else.138:
|
|
%t423 = load i32, i32* %t3
|
|
%t424 = srem i32 %t423, 2
|
|
%t425 = icmp ne i32 %t424, 0
|
|
br i1 %t425, label %if.then.141, label %if.end.142
|
|
if.then.139:
|
|
%t418 = load i32, i32* %t0
|
|
%t419 = load i32, i32* %t1
|
|
%t420 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t419
|
|
%t421 = load i32, i32* %t420
|
|
%t422 = add i32 %t418, %t421
|
|
store i32 %t422, i32* %t0
|
|
br label %if.end.140
|
|
if.end.140:
|
|
br label %if.end.137
|
|
if.then.141:
|
|
%t426 = load i32, i32* %t0
|
|
%t427 = load i32, i32* %t1
|
|
%t428 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t427
|
|
%t429 = load i32, i32* %t428
|
|
%t430 = add i32 %t426, %t429
|
|
store i32 %t430, i32* %t0
|
|
br label %if.end.142
|
|
if.end.142:
|
|
br label %if.end.137
|
|
while.cond.143:
|
|
%t440 = load i32, i32* %t1
|
|
%t441 = icmp slt i32 %t440, 16
|
|
%t442 = icmp ne i32 %t441, 0
|
|
br i1 %t442, label %while.body.144, label %while.end.145
|
|
while.body.144:
|
|
%t443 = load i32, i32* %t2
|
|
%t444 = srem i32 %t443, 2
|
|
%t445 = icmp ne i32 %t444, 0
|
|
br i1 %t445, label %land.rhs.148, label %if.end.147
|
|
while.end.145:
|
|
%t460 = load i32, i32* %t0
|
|
store i32 %t460, i32* %t401
|
|
br i1 0, label %if.then.149, label %if.else.151
|
|
if.then.146:
|
|
%t449 = load i32, i32* %t0
|
|
%t450 = load i32, i32* %t1
|
|
%t451 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t450
|
|
%t452 = load i32, i32* %t451
|
|
%t453 = add i32 %t449, %t452
|
|
store i32 %t453, i32* %t0
|
|
br label %if.end.147
|
|
if.end.147:
|
|
%t454 = load i32, i32* %t2
|
|
%t455 = sdiv i32 %t454, 2
|
|
store i32 %t455, i32* %t2
|
|
%t456 = load i32, i32* %t3
|
|
%t457 = sdiv i32 %t456, 2
|
|
store i32 %t457, i32* %t3
|
|
%t458 = load i32, i32* %t1
|
|
%t459 = add i32 %t458, 1
|
|
store i32 %t459, i32* %t1
|
|
br label %while.cond.143
|
|
land.rhs.148:
|
|
%t446 = load i32, i32* %t3
|
|
%t447 = srem i32 %t446, 2
|
|
%t448 = icmp ne i32 %t447, 0
|
|
br i1 %t448, label %if.then.146, label %if.end.147
|
|
if.then.149:
|
|
store i32 0, i32* %t0
|
|
br label %if.end.150
|
|
if.end.150:
|
|
%t485 = load i32, i32* %t0
|
|
store i32 %t485, i32* %t401
|
|
%t486 = load i32, i32* %t403
|
|
store i32 %t486, i32* %t399
|
|
br label %while.cond.130
|
|
if.else.151:
|
|
store i32 0, i32* %t0
|
|
store i32 0, i32* %t1
|
|
%t461 = load i32, i32* %t401
|
|
%t462 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 1
|
|
%t463 = load i32, i32* %t462
|
|
%t464 = mul i32 %t461, %t463
|
|
store i32 %t464, i32* %t2
|
|
store i32 65535, i32* %t3
|
|
br label %while.cond.152
|
|
while.cond.152:
|
|
%t465 = load i32, i32* %t1
|
|
%t466 = icmp slt i32 %t465, 16
|
|
%t467 = icmp ne i32 %t466, 0
|
|
br i1 %t467, label %while.body.153, label %while.end.154
|
|
while.body.153:
|
|
%t468 = load i32, i32* %t2
|
|
%t469 = srem i32 %t468, 2
|
|
%t470 = icmp ne i32 %t469, 0
|
|
br i1 %t470, label %land.rhs.157, label %if.end.156
|
|
while.end.154:
|
|
br label %if.end.150
|
|
if.then.155:
|
|
%t474 = load i32, i32* %t0
|
|
%t475 = load i32, i32* %t1
|
|
%t476 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t475
|
|
%t477 = load i32, i32* %t476
|
|
%t478 = add i32 %t474, %t477
|
|
store i32 %t478, i32* %t0
|
|
br label %if.end.156
|
|
if.end.156:
|
|
%t479 = load i32, i32* %t2
|
|
%t480 = sdiv i32 %t479, 2
|
|
store i32 %t480, i32* %t2
|
|
%t481 = load i32, i32* %t3
|
|
%t482 = sdiv i32 %t481, 2
|
|
store i32 %t482, i32* %t3
|
|
%t483 = load i32, i32* %t1
|
|
%t484 = add i32 %t483, 1
|
|
store i32 %t484, i32* %t1
|
|
br label %while.cond.152
|
|
land.rhs.157:
|
|
%t471 = load i32, i32* %t3
|
|
%t472 = srem i32 %t471, 2
|
|
%t473 = icmp ne i32 %t472, 0
|
|
br i1 %t473, label %if.then.155, label %if.end.156
|
|
if.then.158:
|
|
%t493 = load i32, i32* %t2
|
|
%t494 = icmp slt i32 %t493, 0
|
|
%t495 = icmp ne i32 %t494, 0
|
|
br i1 %t495, label %if.then.161, label %if.else.163
|
|
if.end.159:
|
|
%t521 = load i32, i32* %t0
|
|
store i32 %t521, i32* %t281
|
|
br label %while.cond.91
|
|
if.else.160:
|
|
%t496 = load i32, i32* %t3
|
|
%t497 = icmp sgt i32 %t496, 0
|
|
%t498 = icmp ne i32 %t497, 0
|
|
br i1 %t498, label %if.then.164, label %if.else.166
|
|
if.then.161:
|
|
store i32 65535, i32* %t0
|
|
br label %if.end.162
|
|
if.end.162:
|
|
br label %if.end.159
|
|
if.else.163:
|
|
store i32 0, i32* %t0
|
|
br label %if.end.162
|
|
if.then.164:
|
|
%t499 = load i32, i32* %t2
|
|
%t500 = icmp sgt i32 %t499, 32767
|
|
%t501 = icmp ne i32 %t500, 0
|
|
br i1 %t501, label %if.then.167, label %if.else.169
|
|
if.end.165:
|
|
br label %if.end.159
|
|
if.else.166:
|
|
%t520 = load i32, i32* %t2
|
|
store i32 %t520, i32* %t0
|
|
br label %if.end.165
|
|
if.then.167:
|
|
%t502 = load i32, i32* %t2
|
|
%t503 = load i32, i32* %t3
|
|
%t504 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t503
|
|
%t505 = load i32, i32* %t504
|
|
%t506 = sdiv i32 %t502, %t505
|
|
store i32 %t506, i32* %t2
|
|
%t507 = load i32, i32* %t2
|
|
%t508 = add i32 %t507, 65536
|
|
%t509 = load i32, i32* %t3
|
|
%t510 = sub i32 15, %t509
|
|
%t511 = add i32 %t510, 1
|
|
%t512 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t511
|
|
%t513 = load i32, i32* %t512
|
|
%t514 = sub i32 %t508, %t513
|
|
store i32 %t514, i32* %t0
|
|
br label %if.end.168
|
|
if.end.168:
|
|
br label %if.end.165
|
|
if.else.169:
|
|
%t515 = load i32, i32* %t2
|
|
%t516 = load i32, i32* %t3
|
|
%t517 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t516
|
|
%t518 = load i32, i32* %t517
|
|
%t519 = sdiv i32 %t515, %t518
|
|
store i32 %t519, i32* %t0
|
|
br label %if.end.168
|
|
if.then.170:
|
|
%t528 = load i32, i32* %t2
|
|
%t529 = icmp slt i32 %t528, 0
|
|
%t530 = icmp ne i32 %t529, 0
|
|
br i1 %t530, label %if.then.173, label %if.else.175
|
|
if.end.171:
|
|
%t556 = load i32, i32* %t0
|
|
store i32 %t556, i32* %t6
|
|
br label %while.cond.1
|
|
if.else.172:
|
|
%t531 = load i32, i32* %t3
|
|
%t532 = icmp sgt i32 %t531, 0
|
|
%t533 = icmp ne i32 %t532, 0
|
|
br i1 %t533, label %if.then.176, label %if.else.178
|
|
if.then.173:
|
|
store i32 65535, i32* %t0
|
|
br label %if.end.174
|
|
if.end.174:
|
|
br label %if.end.171
|
|
if.else.175:
|
|
store i32 0, i32* %t0
|
|
br label %if.end.174
|
|
if.then.176:
|
|
%t534 = load i32, i32* %t2
|
|
%t535 = icmp sgt i32 %t534, 32767
|
|
%t536 = icmp ne i32 %t535, 0
|
|
br i1 %t536, label %if.then.179, label %if.else.181
|
|
if.end.177:
|
|
br label %if.end.171
|
|
if.else.178:
|
|
%t555 = load i32, i32* %t2
|
|
store i32 %t555, i32* %t0
|
|
br label %if.end.177
|
|
if.then.179:
|
|
%t537 = load i32, i32* %t2
|
|
%t538 = load i32, i32* %t3
|
|
%t539 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t538
|
|
%t540 = load i32, i32* %t539
|
|
%t541 = sdiv i32 %t537, %t540
|
|
store i32 %t541, i32* %t2
|
|
%t542 = load i32, i32* %t2
|
|
%t543 = add i32 %t542, 65536
|
|
%t544 = load i32, i32* %t3
|
|
%t545 = sub i32 15, %t544
|
|
%t546 = add i32 %t545, 1
|
|
%t547 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t546
|
|
%t548 = load i32, i32* %t547
|
|
%t549 = sub i32 %t543, %t548
|
|
store i32 %t549, i32* %t0
|
|
br label %if.end.180
|
|
if.end.180:
|
|
br label %if.end.177
|
|
if.else.181:
|
|
%t550 = load i32, i32* %t2
|
|
%t551 = load i32, i32* %t3
|
|
%t552 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t551
|
|
%t553 = load i32, i32* %t552
|
|
%t554 = sdiv i32 %t550, %t553
|
|
store i32 %t554, i32* %t0
|
|
br label %if.end.180
|
|
while.cond.182:
|
|
%t564 = load i32, i32* %t562
|
|
%t565 = icmp sgt i32 %t564, 0
|
|
%t566 = icmp ne i32 %t565, 0
|
|
br i1 %t566, label %while.body.183, label %while.end.184
|
|
while.body.183:
|
|
store i32 0, i32* %t0
|
|
store i32 0, i32* %t1
|
|
%t567 = load i32, i32* %t562
|
|
store i32 %t567, i32* %t2
|
|
store i32 1, i32* %t3
|
|
br label %while.cond.185
|
|
while.end.184:
|
|
%t1113 = load i32, i32* %t563
|
|
store i32 %t1113, i32* %t0
|
|
%t1114 = load i32, i32* %t0
|
|
call void @putint(i32 %t1114)
|
|
call void @putch(i32 10)
|
|
store i32 2, i32* %t4
|
|
br label %while.cond.363
|
|
while.cond.185:
|
|
%t568 = load i32, i32* %t1
|
|
%t569 = icmp slt i32 %t568, 16
|
|
%t570 = icmp ne i32 %t569, 0
|
|
br i1 %t570, label %while.body.186, label %while.end.187
|
|
while.body.186:
|
|
%t571 = load i32, i32* %t2
|
|
%t572 = srem i32 %t571, 2
|
|
%t573 = icmp ne i32 %t572, 0
|
|
br i1 %t573, label %land.rhs.190, label %if.end.189
|
|
while.end.187:
|
|
%t588 = load i32, i32* %t0
|
|
%t589 = icmp ne i32 %t588, 0
|
|
br i1 %t589, label %if.then.191, label %if.end.192
|
|
if.then.188:
|
|
%t577 = load i32, i32* %t0
|
|
%t578 = load i32, i32* %t1
|
|
%t579 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t578
|
|
%t580 = load i32, i32* %t579
|
|
%t581 = add i32 %t577, %t580
|
|
store i32 %t581, i32* %t0
|
|
br label %if.end.189
|
|
if.end.189:
|
|
%t582 = load i32, i32* %t2
|
|
%t583 = sdiv i32 %t582, 2
|
|
store i32 %t583, i32* %t2
|
|
%t584 = load i32, i32* %t3
|
|
%t585 = sdiv i32 %t584, 2
|
|
store i32 %t585, i32* %t3
|
|
%t586 = load i32, i32* %t1
|
|
%t587 = add i32 %t586, 1
|
|
store i32 %t587, i32* %t1
|
|
br label %while.cond.185
|
|
land.rhs.190:
|
|
%t574 = load i32, i32* %t3
|
|
%t575 = srem i32 %t574, 2
|
|
%t576 = icmp ne i32 %t575, 0
|
|
br i1 %t576, label %if.then.188, label %if.end.189
|
|
if.then.191:
|
|
%t590 = alloca i32
|
|
%t591 = load i32, i32* %t563
|
|
store i32 %t591, i32* %t590
|
|
%t592 = alloca i32
|
|
%t593 = load i32, i32* %t561
|
|
store i32 %t593, i32* %t592
|
|
%t594 = alloca i32
|
|
store i32 0, i32* %t594
|
|
br label %while.cond.193
|
|
if.end.192:
|
|
%t835 = alloca i32
|
|
%t836 = load i32, i32* %t561
|
|
store i32 %t836, i32* %t835
|
|
%t837 = alloca i32
|
|
%t838 = load i32, i32* %t561
|
|
store i32 %t838, i32* %t837
|
|
%t839 = alloca i32
|
|
store i32 0, i32* %t839
|
|
br label %while.cond.272
|
|
while.cond.193:
|
|
%t595 = load i32, i32* %t592
|
|
%t596 = icmp ne i32 %t595, 0
|
|
br i1 %t596, label %while.body.194, label %while.end.195
|
|
while.body.194:
|
|
store i32 0, i32* %t0
|
|
store i32 0, i32* %t1
|
|
%t597 = load i32, i32* %t592
|
|
store i32 %t597, i32* %t2
|
|
store i32 1, i32* %t3
|
|
br label %while.cond.196
|
|
while.end.195:
|
|
%t833 = load i32, i32* %t594
|
|
store i32 %t833, i32* %t0
|
|
%t834 = load i32, i32* %t0
|
|
store i32 %t834, i32* %t563
|
|
br label %if.end.192
|
|
while.cond.196:
|
|
%t598 = load i32, i32* %t1
|
|
%t599 = icmp slt i32 %t598, 16
|
|
%t600 = icmp ne i32 %t599, 0
|
|
br i1 %t600, label %while.body.197, label %while.end.198
|
|
while.body.197:
|
|
%t601 = load i32, i32* %t2
|
|
%t602 = srem i32 %t601, 2
|
|
%t603 = icmp ne i32 %t602, 0
|
|
br i1 %t603, label %land.rhs.201, label %if.end.200
|
|
while.end.198:
|
|
%t618 = load i32, i32* %t0
|
|
%t619 = icmp ne i32 %t618, 0
|
|
br i1 %t619, label %if.then.202, label %if.end.203
|
|
if.then.199:
|
|
%t607 = load i32, i32* %t0
|
|
%t608 = load i32, i32* %t1
|
|
%t609 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t608
|
|
%t610 = load i32, i32* %t609
|
|
%t611 = add i32 %t607, %t610
|
|
store i32 %t611, i32* %t0
|
|
br label %if.end.200
|
|
if.end.200:
|
|
%t612 = load i32, i32* %t2
|
|
%t613 = sdiv i32 %t612, 2
|
|
store i32 %t613, i32* %t2
|
|
%t614 = load i32, i32* %t3
|
|
%t615 = sdiv i32 %t614, 2
|
|
store i32 %t615, i32* %t3
|
|
%t616 = load i32, i32* %t1
|
|
%t617 = add i32 %t616, 1
|
|
store i32 %t617, i32* %t1
|
|
br label %while.cond.196
|
|
land.rhs.201:
|
|
%t604 = load i32, i32* %t3
|
|
%t605 = srem i32 %t604, 2
|
|
%t606 = icmp ne i32 %t605, 0
|
|
br i1 %t606, label %if.then.199, label %if.end.200
|
|
if.then.202:
|
|
%t620 = alloca i32
|
|
%t621 = load i32, i32* %t594
|
|
store i32 %t621, i32* %t620
|
|
%t622 = alloca i32
|
|
%t623 = load i32, i32* %t590
|
|
store i32 %t623, i32* %t622
|
|
%t624 = alloca i32
|
|
store i32 0, i32* %t624
|
|
br label %while.cond.204
|
|
if.end.203:
|
|
%t710 = alloca i32
|
|
%t711 = load i32, i32* %t590
|
|
store i32 %t711, i32* %t710
|
|
%t712 = alloca i32
|
|
%t713 = load i32, i32* %t590
|
|
store i32 %t713, i32* %t712
|
|
%t714 = alloca i32
|
|
store i32 0, i32* %t714
|
|
br label %while.cond.232
|
|
while.cond.204:
|
|
%t625 = load i32, i32* %t622
|
|
%t626 = icmp ne i32 %t625, 0
|
|
br i1 %t626, label %while.body.205, label %while.end.206
|
|
while.body.205:
|
|
store i32 0, i32* %t0
|
|
store i32 0, i32* %t1
|
|
%t627 = load i32, i32* %t620
|
|
store i32 %t627, i32* %t2
|
|
%t628 = load i32, i32* %t622
|
|
store i32 %t628, i32* %t3
|
|
br label %while.cond.207
|
|
while.end.206:
|
|
%t708 = load i32, i32* %t620
|
|
store i32 %t708, i32* %t0
|
|
%t709 = load i32, i32* %t0
|
|
store i32 %t709, i32* %t594
|
|
br label %if.end.203
|
|
while.cond.207:
|
|
%t629 = load i32, i32* %t1
|
|
%t630 = icmp slt i32 %t629, 16
|
|
%t631 = icmp ne i32 %t630, 0
|
|
br i1 %t631, label %while.body.208, label %while.end.209
|
|
while.body.208:
|
|
%t632 = load i32, i32* %t2
|
|
%t633 = srem i32 %t632, 2
|
|
%t634 = icmp ne i32 %t633, 0
|
|
br i1 %t634, label %if.then.210, label %if.else.212
|
|
while.end.209:
|
|
%t658 = load i32, i32* %t0
|
|
store i32 %t658, i32* %t624
|
|
store i32 0, i32* %t0
|
|
store i32 0, i32* %t1
|
|
%t659 = load i32, i32* %t620
|
|
store i32 %t659, i32* %t2
|
|
%t660 = load i32, i32* %t622
|
|
store i32 %t660, i32* %t3
|
|
br label %while.cond.217
|
|
if.then.210:
|
|
%t635 = load i32, i32* %t3
|
|
%t636 = srem i32 %t635, 2
|
|
%t637 = icmp eq i32 %t636, 0
|
|
%t638 = icmp ne i32 %t637, 0
|
|
br i1 %t638, label %if.then.213, label %if.end.214
|
|
if.end.211:
|
|
%t652 = load i32, i32* %t2
|
|
%t653 = sdiv i32 %t652, 2
|
|
store i32 %t653, i32* %t2
|
|
%t654 = load i32, i32* %t3
|
|
%t655 = sdiv i32 %t654, 2
|
|
store i32 %t655, i32* %t3
|
|
%t656 = load i32, i32* %t1
|
|
%t657 = add i32 %t656, 1
|
|
store i32 %t657, i32* %t1
|
|
br label %while.cond.207
|
|
if.else.212:
|
|
%t644 = load i32, i32* %t3
|
|
%t645 = srem i32 %t644, 2
|
|
%t646 = icmp ne i32 %t645, 0
|
|
br i1 %t646, label %if.then.215, label %if.end.216
|
|
if.then.213:
|
|
%t639 = load i32, i32* %t0
|
|
%t640 = load i32, i32* %t1
|
|
%t641 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t640
|
|
%t642 = load i32, i32* %t641
|
|
%t643 = add i32 %t639, %t642
|
|
store i32 %t643, i32* %t0
|
|
br label %if.end.214
|
|
if.end.214:
|
|
br label %if.end.211
|
|
if.then.215:
|
|
%t647 = load i32, i32* %t0
|
|
%t648 = load i32, i32* %t1
|
|
%t649 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t648
|
|
%t650 = load i32, i32* %t649
|
|
%t651 = add i32 %t647, %t650
|
|
store i32 %t651, i32* %t0
|
|
br label %if.end.216
|
|
if.end.216:
|
|
br label %if.end.211
|
|
while.cond.217:
|
|
%t661 = load i32, i32* %t1
|
|
%t662 = icmp slt i32 %t661, 16
|
|
%t663 = icmp ne i32 %t662, 0
|
|
br i1 %t663, label %while.body.218, label %while.end.219
|
|
while.body.218:
|
|
%t664 = load i32, i32* %t2
|
|
%t665 = srem i32 %t664, 2
|
|
%t666 = icmp ne i32 %t665, 0
|
|
br i1 %t666, label %land.rhs.222, label %if.end.221
|
|
while.end.219:
|
|
%t681 = load i32, i32* %t0
|
|
store i32 %t681, i32* %t622
|
|
br i1 0, label %if.then.223, label %if.else.225
|
|
if.then.220:
|
|
%t670 = load i32, i32* %t0
|
|
%t671 = load i32, i32* %t1
|
|
%t672 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t671
|
|
%t673 = load i32, i32* %t672
|
|
%t674 = add i32 %t670, %t673
|
|
store i32 %t674, i32* %t0
|
|
br label %if.end.221
|
|
if.end.221:
|
|
%t675 = load i32, i32* %t2
|
|
%t676 = sdiv i32 %t675, 2
|
|
store i32 %t676, i32* %t2
|
|
%t677 = load i32, i32* %t3
|
|
%t678 = sdiv i32 %t677, 2
|
|
store i32 %t678, i32* %t3
|
|
%t679 = load i32, i32* %t1
|
|
%t680 = add i32 %t679, 1
|
|
store i32 %t680, i32* %t1
|
|
br label %while.cond.217
|
|
land.rhs.222:
|
|
%t667 = load i32, i32* %t3
|
|
%t668 = srem i32 %t667, 2
|
|
%t669 = icmp ne i32 %t668, 0
|
|
br i1 %t669, label %if.then.220, label %if.end.221
|
|
if.then.223:
|
|
store i32 0, i32* %t0
|
|
br label %if.end.224
|
|
if.end.224:
|
|
%t706 = load i32, i32* %t0
|
|
store i32 %t706, i32* %t622
|
|
%t707 = load i32, i32* %t624
|
|
store i32 %t707, i32* %t620
|
|
br label %while.cond.204
|
|
if.else.225:
|
|
store i32 0, i32* %t0
|
|
store i32 0, i32* %t1
|
|
%t682 = load i32, i32* %t622
|
|
%t683 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 1
|
|
%t684 = load i32, i32* %t683
|
|
%t685 = mul i32 %t682, %t684
|
|
store i32 %t685, i32* %t2
|
|
store i32 65535, i32* %t3
|
|
br label %while.cond.226
|
|
while.cond.226:
|
|
%t686 = load i32, i32* %t1
|
|
%t687 = icmp slt i32 %t686, 16
|
|
%t688 = icmp ne i32 %t687, 0
|
|
br i1 %t688, label %while.body.227, label %while.end.228
|
|
while.body.227:
|
|
%t689 = load i32, i32* %t2
|
|
%t690 = srem i32 %t689, 2
|
|
%t691 = icmp ne i32 %t690, 0
|
|
br i1 %t691, label %land.rhs.231, label %if.end.230
|
|
while.end.228:
|
|
br label %if.end.224
|
|
if.then.229:
|
|
%t695 = load i32, i32* %t0
|
|
%t696 = load i32, i32* %t1
|
|
%t697 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t696
|
|
%t698 = load i32, i32* %t697
|
|
%t699 = add i32 %t695, %t698
|
|
store i32 %t699, i32* %t0
|
|
br label %if.end.230
|
|
if.end.230:
|
|
%t700 = load i32, i32* %t2
|
|
%t701 = sdiv i32 %t700, 2
|
|
store i32 %t701, i32* %t2
|
|
%t702 = load i32, i32* %t3
|
|
%t703 = sdiv i32 %t702, 2
|
|
store i32 %t703, i32* %t3
|
|
%t704 = load i32, i32* %t1
|
|
%t705 = add i32 %t704, 1
|
|
store i32 %t705, i32* %t1
|
|
br label %while.cond.226
|
|
land.rhs.231:
|
|
%t692 = load i32, i32* %t3
|
|
%t693 = srem i32 %t692, 2
|
|
%t694 = icmp ne i32 %t693, 0
|
|
br i1 %t694, label %if.then.229, label %if.end.230
|
|
while.cond.232:
|
|
%t715 = load i32, i32* %t712
|
|
%t716 = icmp ne i32 %t715, 0
|
|
br i1 %t716, label %while.body.233, label %while.end.234
|
|
while.body.233:
|
|
store i32 0, i32* %t0
|
|
store i32 0, i32* %t1
|
|
%t717 = load i32, i32* %t710
|
|
store i32 %t717, i32* %t2
|
|
%t718 = load i32, i32* %t712
|
|
store i32 %t718, i32* %t3
|
|
br label %while.cond.235
|
|
while.end.234:
|
|
%t798 = load i32, i32* %t710
|
|
store i32 %t798, i32* %t0
|
|
%t799 = load i32, i32* %t0
|
|
store i32 %t799, i32* %t590
|
|
%t800 = load i32, i32* %t592
|
|
store i32 %t800, i32* %t2
|
|
store i32 1, i32* %t3
|
|
%t801 = load i32, i32* %t3
|
|
%t802 = icmp sge i32 %t801, 15
|
|
%t803 = icmp ne i32 %t802, 0
|
|
br i1 %t803, label %if.then.260, label %if.else.262
|
|
while.cond.235:
|
|
%t719 = load i32, i32* %t1
|
|
%t720 = icmp slt i32 %t719, 16
|
|
%t721 = icmp ne i32 %t720, 0
|
|
br i1 %t721, label %while.body.236, label %while.end.237
|
|
while.body.236:
|
|
%t722 = load i32, i32* %t2
|
|
%t723 = srem i32 %t722, 2
|
|
%t724 = icmp ne i32 %t723, 0
|
|
br i1 %t724, label %if.then.238, label %if.else.240
|
|
while.end.237:
|
|
%t748 = load i32, i32* %t0
|
|
store i32 %t748, i32* %t714
|
|
store i32 0, i32* %t0
|
|
store i32 0, i32* %t1
|
|
%t749 = load i32, i32* %t710
|
|
store i32 %t749, i32* %t2
|
|
%t750 = load i32, i32* %t712
|
|
store i32 %t750, i32* %t3
|
|
br label %while.cond.245
|
|
if.then.238:
|
|
%t725 = load i32, i32* %t3
|
|
%t726 = srem i32 %t725, 2
|
|
%t727 = icmp eq i32 %t726, 0
|
|
%t728 = icmp ne i32 %t727, 0
|
|
br i1 %t728, label %if.then.241, label %if.end.242
|
|
if.end.239:
|
|
%t742 = load i32, i32* %t2
|
|
%t743 = sdiv i32 %t742, 2
|
|
store i32 %t743, i32* %t2
|
|
%t744 = load i32, i32* %t3
|
|
%t745 = sdiv i32 %t744, 2
|
|
store i32 %t745, i32* %t3
|
|
%t746 = load i32, i32* %t1
|
|
%t747 = add i32 %t746, 1
|
|
store i32 %t747, i32* %t1
|
|
br label %while.cond.235
|
|
if.else.240:
|
|
%t734 = load i32, i32* %t3
|
|
%t735 = srem i32 %t734, 2
|
|
%t736 = icmp ne i32 %t735, 0
|
|
br i1 %t736, label %if.then.243, label %if.end.244
|
|
if.then.241:
|
|
%t729 = load i32, i32* %t0
|
|
%t730 = load i32, i32* %t1
|
|
%t731 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t730
|
|
%t732 = load i32, i32* %t731
|
|
%t733 = add i32 %t729, %t732
|
|
store i32 %t733, i32* %t0
|
|
br label %if.end.242
|
|
if.end.242:
|
|
br label %if.end.239
|
|
if.then.243:
|
|
%t737 = load i32, i32* %t0
|
|
%t738 = load i32, i32* %t1
|
|
%t739 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t738
|
|
%t740 = load i32, i32* %t739
|
|
%t741 = add i32 %t737, %t740
|
|
store i32 %t741, i32* %t0
|
|
br label %if.end.244
|
|
if.end.244:
|
|
br label %if.end.239
|
|
while.cond.245:
|
|
%t751 = load i32, i32* %t1
|
|
%t752 = icmp slt i32 %t751, 16
|
|
%t753 = icmp ne i32 %t752, 0
|
|
br i1 %t753, label %while.body.246, label %while.end.247
|
|
while.body.246:
|
|
%t754 = load i32, i32* %t2
|
|
%t755 = srem i32 %t754, 2
|
|
%t756 = icmp ne i32 %t755, 0
|
|
br i1 %t756, label %land.rhs.250, label %if.end.249
|
|
while.end.247:
|
|
%t771 = load i32, i32* %t0
|
|
store i32 %t771, i32* %t712
|
|
br i1 0, label %if.then.251, label %if.else.253
|
|
if.then.248:
|
|
%t760 = load i32, i32* %t0
|
|
%t761 = load i32, i32* %t1
|
|
%t762 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t761
|
|
%t763 = load i32, i32* %t762
|
|
%t764 = add i32 %t760, %t763
|
|
store i32 %t764, i32* %t0
|
|
br label %if.end.249
|
|
if.end.249:
|
|
%t765 = load i32, i32* %t2
|
|
%t766 = sdiv i32 %t765, 2
|
|
store i32 %t766, i32* %t2
|
|
%t767 = load i32, i32* %t3
|
|
%t768 = sdiv i32 %t767, 2
|
|
store i32 %t768, i32* %t3
|
|
%t769 = load i32, i32* %t1
|
|
%t770 = add i32 %t769, 1
|
|
store i32 %t770, i32* %t1
|
|
br label %while.cond.245
|
|
land.rhs.250:
|
|
%t757 = load i32, i32* %t3
|
|
%t758 = srem i32 %t757, 2
|
|
%t759 = icmp ne i32 %t758, 0
|
|
br i1 %t759, label %if.then.248, label %if.end.249
|
|
if.then.251:
|
|
store i32 0, i32* %t0
|
|
br label %if.end.252
|
|
if.end.252:
|
|
%t796 = load i32, i32* %t0
|
|
store i32 %t796, i32* %t712
|
|
%t797 = load i32, i32* %t714
|
|
store i32 %t797, i32* %t710
|
|
br label %while.cond.232
|
|
if.else.253:
|
|
store i32 0, i32* %t0
|
|
store i32 0, i32* %t1
|
|
%t772 = load i32, i32* %t712
|
|
%t773 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 1
|
|
%t774 = load i32, i32* %t773
|
|
%t775 = mul i32 %t772, %t774
|
|
store i32 %t775, i32* %t2
|
|
store i32 65535, i32* %t3
|
|
br label %while.cond.254
|
|
while.cond.254:
|
|
%t776 = load i32, i32* %t1
|
|
%t777 = icmp slt i32 %t776, 16
|
|
%t778 = icmp ne i32 %t777, 0
|
|
br i1 %t778, label %while.body.255, label %while.end.256
|
|
while.body.255:
|
|
%t779 = load i32, i32* %t2
|
|
%t780 = srem i32 %t779, 2
|
|
%t781 = icmp ne i32 %t780, 0
|
|
br i1 %t781, label %land.rhs.259, label %if.end.258
|
|
while.end.256:
|
|
br label %if.end.252
|
|
if.then.257:
|
|
%t785 = load i32, i32* %t0
|
|
%t786 = load i32, i32* %t1
|
|
%t787 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t786
|
|
%t788 = load i32, i32* %t787
|
|
%t789 = add i32 %t785, %t788
|
|
store i32 %t789, i32* %t0
|
|
br label %if.end.258
|
|
if.end.258:
|
|
%t790 = load i32, i32* %t2
|
|
%t791 = sdiv i32 %t790, 2
|
|
store i32 %t791, i32* %t2
|
|
%t792 = load i32, i32* %t3
|
|
%t793 = sdiv i32 %t792, 2
|
|
store i32 %t793, i32* %t3
|
|
%t794 = load i32, i32* %t1
|
|
%t795 = add i32 %t794, 1
|
|
store i32 %t795, i32* %t1
|
|
br label %while.cond.254
|
|
land.rhs.259:
|
|
%t782 = load i32, i32* %t3
|
|
%t783 = srem i32 %t782, 2
|
|
%t784 = icmp ne i32 %t783, 0
|
|
br i1 %t784, label %if.then.257, label %if.end.258
|
|
if.then.260:
|
|
%t804 = load i32, i32* %t2
|
|
%t805 = icmp slt i32 %t804, 0
|
|
%t806 = icmp ne i32 %t805, 0
|
|
br i1 %t806, label %if.then.263, label %if.else.265
|
|
if.end.261:
|
|
%t832 = load i32, i32* %t0
|
|
store i32 %t832, i32* %t592
|
|
br label %while.cond.193
|
|
if.else.262:
|
|
%t807 = load i32, i32* %t3
|
|
%t808 = icmp sgt i32 %t807, 0
|
|
%t809 = icmp ne i32 %t808, 0
|
|
br i1 %t809, label %if.then.266, label %if.else.268
|
|
if.then.263:
|
|
store i32 65535, i32* %t0
|
|
br label %if.end.264
|
|
if.end.264:
|
|
br label %if.end.261
|
|
if.else.265:
|
|
store i32 0, i32* %t0
|
|
br label %if.end.264
|
|
if.then.266:
|
|
%t810 = load i32, i32* %t2
|
|
%t811 = icmp sgt i32 %t810, 32767
|
|
%t812 = icmp ne i32 %t811, 0
|
|
br i1 %t812, label %if.then.269, label %if.else.271
|
|
if.end.267:
|
|
br label %if.end.261
|
|
if.else.268:
|
|
%t831 = load i32, i32* %t2
|
|
store i32 %t831, i32* %t0
|
|
br label %if.end.267
|
|
if.then.269:
|
|
%t813 = load i32, i32* %t2
|
|
%t814 = load i32, i32* %t3
|
|
%t815 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t814
|
|
%t816 = load i32, i32* %t815
|
|
%t817 = sdiv i32 %t813, %t816
|
|
store i32 %t817, i32* %t2
|
|
%t818 = load i32, i32* %t2
|
|
%t819 = add i32 %t818, 65536
|
|
%t820 = load i32, i32* %t3
|
|
%t821 = sub i32 15, %t820
|
|
%t822 = add i32 %t821, 1
|
|
%t823 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t822
|
|
%t824 = load i32, i32* %t823
|
|
%t825 = sub i32 %t819, %t824
|
|
store i32 %t825, i32* %t0
|
|
br label %if.end.270
|
|
if.end.270:
|
|
br label %if.end.267
|
|
if.else.271:
|
|
%t826 = load i32, i32* %t2
|
|
%t827 = load i32, i32* %t3
|
|
%t828 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t827
|
|
%t829 = load i32, i32* %t828
|
|
%t830 = sdiv i32 %t826, %t829
|
|
store i32 %t830, i32* %t0
|
|
br label %if.end.270
|
|
while.cond.272:
|
|
%t840 = load i32, i32* %t837
|
|
%t841 = icmp ne i32 %t840, 0
|
|
br i1 %t841, label %while.body.273, label %while.end.274
|
|
while.body.273:
|
|
store i32 0, i32* %t0
|
|
store i32 0, i32* %t1
|
|
%t842 = load i32, i32* %t837
|
|
store i32 %t842, i32* %t2
|
|
store i32 1, i32* %t3
|
|
br label %while.cond.275
|
|
while.end.274:
|
|
%t1078 = load i32, i32* %t839
|
|
store i32 %t1078, i32* %t0
|
|
%t1079 = load i32, i32* %t0
|
|
store i32 %t1079, i32* %t561
|
|
%t1080 = load i32, i32* %t562
|
|
store i32 %t1080, i32* %t2
|
|
store i32 1, i32* %t3
|
|
%t1081 = load i32, i32* %t3
|
|
%t1082 = icmp sge i32 %t1081, 15
|
|
%t1083 = icmp ne i32 %t1082, 0
|
|
br i1 %t1083, label %if.then.351, label %if.else.353
|
|
while.cond.275:
|
|
%t843 = load i32, i32* %t1
|
|
%t844 = icmp slt i32 %t843, 16
|
|
%t845 = icmp ne i32 %t844, 0
|
|
br i1 %t845, label %while.body.276, label %while.end.277
|
|
while.body.276:
|
|
%t846 = load i32, i32* %t2
|
|
%t847 = srem i32 %t846, 2
|
|
%t848 = icmp ne i32 %t847, 0
|
|
br i1 %t848, label %land.rhs.280, label %if.end.279
|
|
while.end.277:
|
|
%t863 = load i32, i32* %t0
|
|
%t864 = icmp ne i32 %t863, 0
|
|
br i1 %t864, label %if.then.281, label %if.end.282
|
|
if.then.278:
|
|
%t852 = load i32, i32* %t0
|
|
%t853 = load i32, i32* %t1
|
|
%t854 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t853
|
|
%t855 = load i32, i32* %t854
|
|
%t856 = add i32 %t852, %t855
|
|
store i32 %t856, i32* %t0
|
|
br label %if.end.279
|
|
if.end.279:
|
|
%t857 = load i32, i32* %t2
|
|
%t858 = sdiv i32 %t857, 2
|
|
store i32 %t858, i32* %t2
|
|
%t859 = load i32, i32* %t3
|
|
%t860 = sdiv i32 %t859, 2
|
|
store i32 %t860, i32* %t3
|
|
%t861 = load i32, i32* %t1
|
|
%t862 = add i32 %t861, 1
|
|
store i32 %t862, i32* %t1
|
|
br label %while.cond.275
|
|
land.rhs.280:
|
|
%t849 = load i32, i32* %t3
|
|
%t850 = srem i32 %t849, 2
|
|
%t851 = icmp ne i32 %t850, 0
|
|
br i1 %t851, label %if.then.278, label %if.end.279
|
|
if.then.281:
|
|
%t865 = alloca i32
|
|
%t866 = load i32, i32* %t839
|
|
store i32 %t866, i32* %t865
|
|
%t867 = alloca i32
|
|
%t868 = load i32, i32* %t835
|
|
store i32 %t868, i32* %t867
|
|
%t869 = alloca i32
|
|
store i32 0, i32* %t869
|
|
br label %while.cond.283
|
|
if.end.282:
|
|
%t955 = alloca i32
|
|
%t956 = load i32, i32* %t835
|
|
store i32 %t956, i32* %t955
|
|
%t957 = alloca i32
|
|
%t958 = load i32, i32* %t835
|
|
store i32 %t958, i32* %t957
|
|
%t959 = alloca i32
|
|
store i32 0, i32* %t959
|
|
br label %while.cond.311
|
|
while.cond.283:
|
|
%t870 = load i32, i32* %t867
|
|
%t871 = icmp ne i32 %t870, 0
|
|
br i1 %t871, label %while.body.284, label %while.end.285
|
|
while.body.284:
|
|
store i32 0, i32* %t0
|
|
store i32 0, i32* %t1
|
|
%t872 = load i32, i32* %t865
|
|
store i32 %t872, i32* %t2
|
|
%t873 = load i32, i32* %t867
|
|
store i32 %t873, i32* %t3
|
|
br label %while.cond.286
|
|
while.end.285:
|
|
%t953 = load i32, i32* %t865
|
|
store i32 %t953, i32* %t0
|
|
%t954 = load i32, i32* %t0
|
|
store i32 %t954, i32* %t839
|
|
br label %if.end.282
|
|
while.cond.286:
|
|
%t874 = load i32, i32* %t1
|
|
%t875 = icmp slt i32 %t874, 16
|
|
%t876 = icmp ne i32 %t875, 0
|
|
br i1 %t876, label %while.body.287, label %while.end.288
|
|
while.body.287:
|
|
%t877 = load i32, i32* %t2
|
|
%t878 = srem i32 %t877, 2
|
|
%t879 = icmp ne i32 %t878, 0
|
|
br i1 %t879, label %if.then.289, label %if.else.291
|
|
while.end.288:
|
|
%t903 = load i32, i32* %t0
|
|
store i32 %t903, i32* %t869
|
|
store i32 0, i32* %t0
|
|
store i32 0, i32* %t1
|
|
%t904 = load i32, i32* %t865
|
|
store i32 %t904, i32* %t2
|
|
%t905 = load i32, i32* %t867
|
|
store i32 %t905, i32* %t3
|
|
br label %while.cond.296
|
|
if.then.289:
|
|
%t880 = load i32, i32* %t3
|
|
%t881 = srem i32 %t880, 2
|
|
%t882 = icmp eq i32 %t881, 0
|
|
%t883 = icmp ne i32 %t882, 0
|
|
br i1 %t883, label %if.then.292, label %if.end.293
|
|
if.end.290:
|
|
%t897 = load i32, i32* %t2
|
|
%t898 = sdiv i32 %t897, 2
|
|
store i32 %t898, i32* %t2
|
|
%t899 = load i32, i32* %t3
|
|
%t900 = sdiv i32 %t899, 2
|
|
store i32 %t900, i32* %t3
|
|
%t901 = load i32, i32* %t1
|
|
%t902 = add i32 %t901, 1
|
|
store i32 %t902, i32* %t1
|
|
br label %while.cond.286
|
|
if.else.291:
|
|
%t889 = load i32, i32* %t3
|
|
%t890 = srem i32 %t889, 2
|
|
%t891 = icmp ne i32 %t890, 0
|
|
br i1 %t891, label %if.then.294, label %if.end.295
|
|
if.then.292:
|
|
%t884 = load i32, i32* %t0
|
|
%t885 = load i32, i32* %t1
|
|
%t886 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t885
|
|
%t887 = load i32, i32* %t886
|
|
%t888 = add i32 %t884, %t887
|
|
store i32 %t888, i32* %t0
|
|
br label %if.end.293
|
|
if.end.293:
|
|
br label %if.end.290
|
|
if.then.294:
|
|
%t892 = load i32, i32* %t0
|
|
%t893 = load i32, i32* %t1
|
|
%t894 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t893
|
|
%t895 = load i32, i32* %t894
|
|
%t896 = add i32 %t892, %t895
|
|
store i32 %t896, i32* %t0
|
|
br label %if.end.295
|
|
if.end.295:
|
|
br label %if.end.290
|
|
while.cond.296:
|
|
%t906 = load i32, i32* %t1
|
|
%t907 = icmp slt i32 %t906, 16
|
|
%t908 = icmp ne i32 %t907, 0
|
|
br i1 %t908, label %while.body.297, label %while.end.298
|
|
while.body.297:
|
|
%t909 = load i32, i32* %t2
|
|
%t910 = srem i32 %t909, 2
|
|
%t911 = icmp ne i32 %t910, 0
|
|
br i1 %t911, label %land.rhs.301, label %if.end.300
|
|
while.end.298:
|
|
%t926 = load i32, i32* %t0
|
|
store i32 %t926, i32* %t867
|
|
br i1 0, label %if.then.302, label %if.else.304
|
|
if.then.299:
|
|
%t915 = load i32, i32* %t0
|
|
%t916 = load i32, i32* %t1
|
|
%t917 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t916
|
|
%t918 = load i32, i32* %t917
|
|
%t919 = add i32 %t915, %t918
|
|
store i32 %t919, i32* %t0
|
|
br label %if.end.300
|
|
if.end.300:
|
|
%t920 = load i32, i32* %t2
|
|
%t921 = sdiv i32 %t920, 2
|
|
store i32 %t921, i32* %t2
|
|
%t922 = load i32, i32* %t3
|
|
%t923 = sdiv i32 %t922, 2
|
|
store i32 %t923, i32* %t3
|
|
%t924 = load i32, i32* %t1
|
|
%t925 = add i32 %t924, 1
|
|
store i32 %t925, i32* %t1
|
|
br label %while.cond.296
|
|
land.rhs.301:
|
|
%t912 = load i32, i32* %t3
|
|
%t913 = srem i32 %t912, 2
|
|
%t914 = icmp ne i32 %t913, 0
|
|
br i1 %t914, label %if.then.299, label %if.end.300
|
|
if.then.302:
|
|
store i32 0, i32* %t0
|
|
br label %if.end.303
|
|
if.end.303:
|
|
%t951 = load i32, i32* %t0
|
|
store i32 %t951, i32* %t867
|
|
%t952 = load i32, i32* %t869
|
|
store i32 %t952, i32* %t865
|
|
br label %while.cond.283
|
|
if.else.304:
|
|
store i32 0, i32* %t0
|
|
store i32 0, i32* %t1
|
|
%t927 = load i32, i32* %t867
|
|
%t928 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 1
|
|
%t929 = load i32, i32* %t928
|
|
%t930 = mul i32 %t927, %t929
|
|
store i32 %t930, i32* %t2
|
|
store i32 65535, i32* %t3
|
|
br label %while.cond.305
|
|
while.cond.305:
|
|
%t931 = load i32, i32* %t1
|
|
%t932 = icmp slt i32 %t931, 16
|
|
%t933 = icmp ne i32 %t932, 0
|
|
br i1 %t933, label %while.body.306, label %while.end.307
|
|
while.body.306:
|
|
%t934 = load i32, i32* %t2
|
|
%t935 = srem i32 %t934, 2
|
|
%t936 = icmp ne i32 %t935, 0
|
|
br i1 %t936, label %land.rhs.310, label %if.end.309
|
|
while.end.307:
|
|
br label %if.end.303
|
|
if.then.308:
|
|
%t940 = load i32, i32* %t0
|
|
%t941 = load i32, i32* %t1
|
|
%t942 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t941
|
|
%t943 = load i32, i32* %t942
|
|
%t944 = add i32 %t940, %t943
|
|
store i32 %t944, i32* %t0
|
|
br label %if.end.309
|
|
if.end.309:
|
|
%t945 = load i32, i32* %t2
|
|
%t946 = sdiv i32 %t945, 2
|
|
store i32 %t946, i32* %t2
|
|
%t947 = load i32, i32* %t3
|
|
%t948 = sdiv i32 %t947, 2
|
|
store i32 %t948, i32* %t3
|
|
%t949 = load i32, i32* %t1
|
|
%t950 = add i32 %t949, 1
|
|
store i32 %t950, i32* %t1
|
|
br label %while.cond.305
|
|
land.rhs.310:
|
|
%t937 = load i32, i32* %t3
|
|
%t938 = srem i32 %t937, 2
|
|
%t939 = icmp ne i32 %t938, 0
|
|
br i1 %t939, label %if.then.308, label %if.end.309
|
|
while.cond.311:
|
|
%t960 = load i32, i32* %t957
|
|
%t961 = icmp ne i32 %t960, 0
|
|
br i1 %t961, label %while.body.312, label %while.end.313
|
|
while.body.312:
|
|
store i32 0, i32* %t0
|
|
store i32 0, i32* %t1
|
|
%t962 = load i32, i32* %t955
|
|
store i32 %t962, i32* %t2
|
|
%t963 = load i32, i32* %t957
|
|
store i32 %t963, i32* %t3
|
|
br label %while.cond.314
|
|
while.end.313:
|
|
%t1043 = load i32, i32* %t955
|
|
store i32 %t1043, i32* %t0
|
|
%t1044 = load i32, i32* %t0
|
|
store i32 %t1044, i32* %t835
|
|
%t1045 = load i32, i32* %t837
|
|
store i32 %t1045, i32* %t2
|
|
store i32 1, i32* %t3
|
|
%t1046 = load i32, i32* %t3
|
|
%t1047 = icmp sge i32 %t1046, 15
|
|
%t1048 = icmp ne i32 %t1047, 0
|
|
br i1 %t1048, label %if.then.339, label %if.else.341
|
|
while.cond.314:
|
|
%t964 = load i32, i32* %t1
|
|
%t965 = icmp slt i32 %t964, 16
|
|
%t966 = icmp ne i32 %t965, 0
|
|
br i1 %t966, label %while.body.315, label %while.end.316
|
|
while.body.315:
|
|
%t967 = load i32, i32* %t2
|
|
%t968 = srem i32 %t967, 2
|
|
%t969 = icmp ne i32 %t968, 0
|
|
br i1 %t969, label %if.then.317, label %if.else.319
|
|
while.end.316:
|
|
%t993 = load i32, i32* %t0
|
|
store i32 %t993, i32* %t959
|
|
store i32 0, i32* %t0
|
|
store i32 0, i32* %t1
|
|
%t994 = load i32, i32* %t955
|
|
store i32 %t994, i32* %t2
|
|
%t995 = load i32, i32* %t957
|
|
store i32 %t995, i32* %t3
|
|
br label %while.cond.324
|
|
if.then.317:
|
|
%t970 = load i32, i32* %t3
|
|
%t971 = srem i32 %t970, 2
|
|
%t972 = icmp eq i32 %t971, 0
|
|
%t973 = icmp ne i32 %t972, 0
|
|
br i1 %t973, label %if.then.320, label %if.end.321
|
|
if.end.318:
|
|
%t987 = load i32, i32* %t2
|
|
%t988 = sdiv i32 %t987, 2
|
|
store i32 %t988, i32* %t2
|
|
%t989 = load i32, i32* %t3
|
|
%t990 = sdiv i32 %t989, 2
|
|
store i32 %t990, i32* %t3
|
|
%t991 = load i32, i32* %t1
|
|
%t992 = add i32 %t991, 1
|
|
store i32 %t992, i32* %t1
|
|
br label %while.cond.314
|
|
if.else.319:
|
|
%t979 = load i32, i32* %t3
|
|
%t980 = srem i32 %t979, 2
|
|
%t981 = icmp ne i32 %t980, 0
|
|
br i1 %t981, label %if.then.322, label %if.end.323
|
|
if.then.320:
|
|
%t974 = load i32, i32* %t0
|
|
%t975 = load i32, i32* %t1
|
|
%t976 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t975
|
|
%t977 = load i32, i32* %t976
|
|
%t978 = add i32 %t974, %t977
|
|
store i32 %t978, i32* %t0
|
|
br label %if.end.321
|
|
if.end.321:
|
|
br label %if.end.318
|
|
if.then.322:
|
|
%t982 = load i32, i32* %t0
|
|
%t983 = load i32, i32* %t1
|
|
%t984 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t983
|
|
%t985 = load i32, i32* %t984
|
|
%t986 = add i32 %t982, %t985
|
|
store i32 %t986, i32* %t0
|
|
br label %if.end.323
|
|
if.end.323:
|
|
br label %if.end.318
|
|
while.cond.324:
|
|
%t996 = load i32, i32* %t1
|
|
%t997 = icmp slt i32 %t996, 16
|
|
%t998 = icmp ne i32 %t997, 0
|
|
br i1 %t998, label %while.body.325, label %while.end.326
|
|
while.body.325:
|
|
%t999 = load i32, i32* %t2
|
|
%t1000 = srem i32 %t999, 2
|
|
%t1001 = icmp ne i32 %t1000, 0
|
|
br i1 %t1001, label %land.rhs.329, label %if.end.328
|
|
while.end.326:
|
|
%t1016 = load i32, i32* %t0
|
|
store i32 %t1016, i32* %t957
|
|
br i1 0, label %if.then.330, label %if.else.332
|
|
if.then.327:
|
|
%t1005 = load i32, i32* %t0
|
|
%t1006 = load i32, i32* %t1
|
|
%t1007 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1006
|
|
%t1008 = load i32, i32* %t1007
|
|
%t1009 = add i32 %t1005, %t1008
|
|
store i32 %t1009, i32* %t0
|
|
br label %if.end.328
|
|
if.end.328:
|
|
%t1010 = load i32, i32* %t2
|
|
%t1011 = sdiv i32 %t1010, 2
|
|
store i32 %t1011, i32* %t2
|
|
%t1012 = load i32, i32* %t3
|
|
%t1013 = sdiv i32 %t1012, 2
|
|
store i32 %t1013, i32* %t3
|
|
%t1014 = load i32, i32* %t1
|
|
%t1015 = add i32 %t1014, 1
|
|
store i32 %t1015, i32* %t1
|
|
br label %while.cond.324
|
|
land.rhs.329:
|
|
%t1002 = load i32, i32* %t3
|
|
%t1003 = srem i32 %t1002, 2
|
|
%t1004 = icmp ne i32 %t1003, 0
|
|
br i1 %t1004, label %if.then.327, label %if.end.328
|
|
if.then.330:
|
|
store i32 0, i32* %t0
|
|
br label %if.end.331
|
|
if.end.331:
|
|
%t1041 = load i32, i32* %t0
|
|
store i32 %t1041, i32* %t957
|
|
%t1042 = load i32, i32* %t959
|
|
store i32 %t1042, i32* %t955
|
|
br label %while.cond.311
|
|
if.else.332:
|
|
store i32 0, i32* %t0
|
|
store i32 0, i32* %t1
|
|
%t1017 = load i32, i32* %t957
|
|
%t1018 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 1
|
|
%t1019 = load i32, i32* %t1018
|
|
%t1020 = mul i32 %t1017, %t1019
|
|
store i32 %t1020, i32* %t2
|
|
store i32 65535, i32* %t3
|
|
br label %while.cond.333
|
|
while.cond.333:
|
|
%t1021 = load i32, i32* %t1
|
|
%t1022 = icmp slt i32 %t1021, 16
|
|
%t1023 = icmp ne i32 %t1022, 0
|
|
br i1 %t1023, label %while.body.334, label %while.end.335
|
|
while.body.334:
|
|
%t1024 = load i32, i32* %t2
|
|
%t1025 = srem i32 %t1024, 2
|
|
%t1026 = icmp ne i32 %t1025, 0
|
|
br i1 %t1026, label %land.rhs.338, label %if.end.337
|
|
while.end.335:
|
|
br label %if.end.331
|
|
if.then.336:
|
|
%t1030 = load i32, i32* %t0
|
|
%t1031 = load i32, i32* %t1
|
|
%t1032 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1031
|
|
%t1033 = load i32, i32* %t1032
|
|
%t1034 = add i32 %t1030, %t1033
|
|
store i32 %t1034, i32* %t0
|
|
br label %if.end.337
|
|
if.end.337:
|
|
%t1035 = load i32, i32* %t2
|
|
%t1036 = sdiv i32 %t1035, 2
|
|
store i32 %t1036, i32* %t2
|
|
%t1037 = load i32, i32* %t3
|
|
%t1038 = sdiv i32 %t1037, 2
|
|
store i32 %t1038, i32* %t3
|
|
%t1039 = load i32, i32* %t1
|
|
%t1040 = add i32 %t1039, 1
|
|
store i32 %t1040, i32* %t1
|
|
br label %while.cond.333
|
|
land.rhs.338:
|
|
%t1027 = load i32, i32* %t3
|
|
%t1028 = srem i32 %t1027, 2
|
|
%t1029 = icmp ne i32 %t1028, 0
|
|
br i1 %t1029, label %if.then.336, label %if.end.337
|
|
if.then.339:
|
|
%t1049 = load i32, i32* %t2
|
|
%t1050 = icmp slt i32 %t1049, 0
|
|
%t1051 = icmp ne i32 %t1050, 0
|
|
br i1 %t1051, label %if.then.342, label %if.else.344
|
|
if.end.340:
|
|
%t1077 = load i32, i32* %t0
|
|
store i32 %t1077, i32* %t837
|
|
br label %while.cond.272
|
|
if.else.341:
|
|
%t1052 = load i32, i32* %t3
|
|
%t1053 = icmp sgt i32 %t1052, 0
|
|
%t1054 = icmp ne i32 %t1053, 0
|
|
br i1 %t1054, label %if.then.345, label %if.else.347
|
|
if.then.342:
|
|
store i32 65535, i32* %t0
|
|
br label %if.end.343
|
|
if.end.343:
|
|
br label %if.end.340
|
|
if.else.344:
|
|
store i32 0, i32* %t0
|
|
br label %if.end.343
|
|
if.then.345:
|
|
%t1055 = load i32, i32* %t2
|
|
%t1056 = icmp sgt i32 %t1055, 32767
|
|
%t1057 = icmp ne i32 %t1056, 0
|
|
br i1 %t1057, label %if.then.348, label %if.else.350
|
|
if.end.346:
|
|
br label %if.end.340
|
|
if.else.347:
|
|
%t1076 = load i32, i32* %t2
|
|
store i32 %t1076, i32* %t0
|
|
br label %if.end.346
|
|
if.then.348:
|
|
%t1058 = load i32, i32* %t2
|
|
%t1059 = load i32, i32* %t3
|
|
%t1060 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1059
|
|
%t1061 = load i32, i32* %t1060
|
|
%t1062 = sdiv i32 %t1058, %t1061
|
|
store i32 %t1062, i32* %t2
|
|
%t1063 = load i32, i32* %t2
|
|
%t1064 = add i32 %t1063, 65536
|
|
%t1065 = load i32, i32* %t3
|
|
%t1066 = sub i32 15, %t1065
|
|
%t1067 = add i32 %t1066, 1
|
|
%t1068 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1067
|
|
%t1069 = load i32, i32* %t1068
|
|
%t1070 = sub i32 %t1064, %t1069
|
|
store i32 %t1070, i32* %t0
|
|
br label %if.end.349
|
|
if.end.349:
|
|
br label %if.end.346
|
|
if.else.350:
|
|
%t1071 = load i32, i32* %t2
|
|
%t1072 = load i32, i32* %t3
|
|
%t1073 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1072
|
|
%t1074 = load i32, i32* %t1073
|
|
%t1075 = sdiv i32 %t1071, %t1074
|
|
store i32 %t1075, i32* %t0
|
|
br label %if.end.349
|
|
if.then.351:
|
|
%t1084 = load i32, i32* %t2
|
|
%t1085 = icmp slt i32 %t1084, 0
|
|
%t1086 = icmp ne i32 %t1085, 0
|
|
br i1 %t1086, label %if.then.354, label %if.else.356
|
|
if.end.352:
|
|
%t1112 = load i32, i32* %t0
|
|
store i32 %t1112, i32* %t562
|
|
br label %while.cond.182
|
|
if.else.353:
|
|
%t1087 = load i32, i32* %t3
|
|
%t1088 = icmp sgt i32 %t1087, 0
|
|
%t1089 = icmp ne i32 %t1088, 0
|
|
br i1 %t1089, label %if.then.357, label %if.else.359
|
|
if.then.354:
|
|
store i32 65535, i32* %t0
|
|
br label %if.end.355
|
|
if.end.355:
|
|
br label %if.end.352
|
|
if.else.356:
|
|
store i32 0, i32* %t0
|
|
br label %if.end.355
|
|
if.then.357:
|
|
%t1090 = load i32, i32* %t2
|
|
%t1091 = icmp sgt i32 %t1090, 32767
|
|
%t1092 = icmp ne i32 %t1091, 0
|
|
br i1 %t1092, label %if.then.360, label %if.else.362
|
|
if.end.358:
|
|
br label %if.end.352
|
|
if.else.359:
|
|
%t1111 = load i32, i32* %t2
|
|
store i32 %t1111, i32* %t0
|
|
br label %if.end.358
|
|
if.then.360:
|
|
%t1093 = load i32, i32* %t2
|
|
%t1094 = load i32, i32* %t3
|
|
%t1095 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1094
|
|
%t1096 = load i32, i32* %t1095
|
|
%t1097 = sdiv i32 %t1093, %t1096
|
|
store i32 %t1097, i32* %t2
|
|
%t1098 = load i32, i32* %t2
|
|
%t1099 = add i32 %t1098, 65536
|
|
%t1100 = load i32, i32* %t3
|
|
%t1101 = sub i32 15, %t1100
|
|
%t1102 = add i32 %t1101, 1
|
|
%t1103 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1102
|
|
%t1104 = load i32, i32* %t1103
|
|
%t1105 = sub i32 %t1099, %t1104
|
|
store i32 %t1105, i32* %t0
|
|
br label %if.end.361
|
|
if.end.361:
|
|
br label %if.end.358
|
|
if.else.362:
|
|
%t1106 = load i32, i32* %t2
|
|
%t1107 = load i32, i32* %t3
|
|
%t1108 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1107
|
|
%t1109 = load i32, i32* %t1108
|
|
%t1110 = sdiv i32 %t1106, %t1109
|
|
store i32 %t1110, i32* %t0
|
|
br label %if.end.361
|
|
while.cond.363:
|
|
%t1117 = load i32, i32* %t4
|
|
%t1118 = icmp slt i32 %t1117, 16
|
|
%t1119 = icmp ne i32 %t1118, 0
|
|
br i1 %t1119, label %while.body.364, label %while.end.365
|
|
while.body.364:
|
|
%t1120 = alloca i32
|
|
store i32 2, i32* %t1120
|
|
%t1121 = alloca i32
|
|
%t1122 = load i32, i32* %t4
|
|
store i32 %t1122, i32* %t1121
|
|
%t1123 = alloca i32
|
|
store i32 1, i32* %t1123
|
|
br label %while.cond.366
|
|
while.end.365:
|
|
store i32 0, i32* %t4
|
|
br label %while.cond.547
|
|
while.cond.366:
|
|
%t1124 = load i32, i32* %t1121
|
|
%t1125 = icmp sgt i32 %t1124, 0
|
|
%t1126 = icmp ne i32 %t1125, 0
|
|
br i1 %t1126, label %while.body.367, label %while.end.368
|
|
while.body.367:
|
|
store i32 0, i32* %t0
|
|
store i32 0, i32* %t1
|
|
%t1127 = load i32, i32* %t1121
|
|
store i32 %t1127, i32* %t2
|
|
store i32 1, i32* %t3
|
|
br label %while.cond.369
|
|
while.end.368:
|
|
%t1673 = load i32, i32* %t1123
|
|
store i32 %t1673, i32* %t0
|
|
%t1674 = load i32, i32* %t0
|
|
call void @putint(i32 %t1674)
|
|
call void @putch(i32 10)
|
|
%t1677 = load i32, i32* %t4
|
|
%t1678 = add i32 %t1677, 1
|
|
store i32 %t1678, i32* %t4
|
|
br label %while.cond.363
|
|
while.cond.369:
|
|
%t1128 = load i32, i32* %t1
|
|
%t1129 = icmp slt i32 %t1128, 16
|
|
%t1130 = icmp ne i32 %t1129, 0
|
|
br i1 %t1130, label %while.body.370, label %while.end.371
|
|
while.body.370:
|
|
%t1131 = load i32, i32* %t2
|
|
%t1132 = srem i32 %t1131, 2
|
|
%t1133 = icmp ne i32 %t1132, 0
|
|
br i1 %t1133, label %land.rhs.374, label %if.end.373
|
|
while.end.371:
|
|
%t1148 = load i32, i32* %t0
|
|
%t1149 = icmp ne i32 %t1148, 0
|
|
br i1 %t1149, label %if.then.375, label %if.end.376
|
|
if.then.372:
|
|
%t1137 = load i32, i32* %t0
|
|
%t1138 = load i32, i32* %t1
|
|
%t1139 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1138
|
|
%t1140 = load i32, i32* %t1139
|
|
%t1141 = add i32 %t1137, %t1140
|
|
store i32 %t1141, i32* %t0
|
|
br label %if.end.373
|
|
if.end.373:
|
|
%t1142 = load i32, i32* %t2
|
|
%t1143 = sdiv i32 %t1142, 2
|
|
store i32 %t1143, i32* %t2
|
|
%t1144 = load i32, i32* %t3
|
|
%t1145 = sdiv i32 %t1144, 2
|
|
store i32 %t1145, i32* %t3
|
|
%t1146 = load i32, i32* %t1
|
|
%t1147 = add i32 %t1146, 1
|
|
store i32 %t1147, i32* %t1
|
|
br label %while.cond.369
|
|
land.rhs.374:
|
|
%t1134 = load i32, i32* %t3
|
|
%t1135 = srem i32 %t1134, 2
|
|
%t1136 = icmp ne i32 %t1135, 0
|
|
br i1 %t1136, label %if.then.372, label %if.end.373
|
|
if.then.375:
|
|
%t1150 = alloca i32
|
|
%t1151 = load i32, i32* %t1123
|
|
store i32 %t1151, i32* %t1150
|
|
%t1152 = alloca i32
|
|
%t1153 = load i32, i32* %t1120
|
|
store i32 %t1153, i32* %t1152
|
|
%t1154 = alloca i32
|
|
store i32 0, i32* %t1154
|
|
br label %while.cond.377
|
|
if.end.376:
|
|
%t1395 = alloca i32
|
|
%t1396 = load i32, i32* %t1120
|
|
store i32 %t1396, i32* %t1395
|
|
%t1397 = alloca i32
|
|
%t1398 = load i32, i32* %t1120
|
|
store i32 %t1398, i32* %t1397
|
|
%t1399 = alloca i32
|
|
store i32 0, i32* %t1399
|
|
br label %while.cond.456
|
|
while.cond.377:
|
|
%t1155 = load i32, i32* %t1152
|
|
%t1156 = icmp ne i32 %t1155, 0
|
|
br i1 %t1156, label %while.body.378, label %while.end.379
|
|
while.body.378:
|
|
store i32 0, i32* %t0
|
|
store i32 0, i32* %t1
|
|
%t1157 = load i32, i32* %t1152
|
|
store i32 %t1157, i32* %t2
|
|
store i32 1, i32* %t3
|
|
br label %while.cond.380
|
|
while.end.379:
|
|
%t1393 = load i32, i32* %t1154
|
|
store i32 %t1393, i32* %t0
|
|
%t1394 = load i32, i32* %t0
|
|
store i32 %t1394, i32* %t1123
|
|
br label %if.end.376
|
|
while.cond.380:
|
|
%t1158 = load i32, i32* %t1
|
|
%t1159 = icmp slt i32 %t1158, 16
|
|
%t1160 = icmp ne i32 %t1159, 0
|
|
br i1 %t1160, label %while.body.381, label %while.end.382
|
|
while.body.381:
|
|
%t1161 = load i32, i32* %t2
|
|
%t1162 = srem i32 %t1161, 2
|
|
%t1163 = icmp ne i32 %t1162, 0
|
|
br i1 %t1163, label %land.rhs.385, label %if.end.384
|
|
while.end.382:
|
|
%t1178 = load i32, i32* %t0
|
|
%t1179 = icmp ne i32 %t1178, 0
|
|
br i1 %t1179, label %if.then.386, label %if.end.387
|
|
if.then.383:
|
|
%t1167 = load i32, i32* %t0
|
|
%t1168 = load i32, i32* %t1
|
|
%t1169 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1168
|
|
%t1170 = load i32, i32* %t1169
|
|
%t1171 = add i32 %t1167, %t1170
|
|
store i32 %t1171, i32* %t0
|
|
br label %if.end.384
|
|
if.end.384:
|
|
%t1172 = load i32, i32* %t2
|
|
%t1173 = sdiv i32 %t1172, 2
|
|
store i32 %t1173, i32* %t2
|
|
%t1174 = load i32, i32* %t3
|
|
%t1175 = sdiv i32 %t1174, 2
|
|
store i32 %t1175, i32* %t3
|
|
%t1176 = load i32, i32* %t1
|
|
%t1177 = add i32 %t1176, 1
|
|
store i32 %t1177, i32* %t1
|
|
br label %while.cond.380
|
|
land.rhs.385:
|
|
%t1164 = load i32, i32* %t3
|
|
%t1165 = srem i32 %t1164, 2
|
|
%t1166 = icmp ne i32 %t1165, 0
|
|
br i1 %t1166, label %if.then.383, label %if.end.384
|
|
if.then.386:
|
|
%t1180 = alloca i32
|
|
%t1181 = load i32, i32* %t1154
|
|
store i32 %t1181, i32* %t1180
|
|
%t1182 = alloca i32
|
|
%t1183 = load i32, i32* %t1150
|
|
store i32 %t1183, i32* %t1182
|
|
%t1184 = alloca i32
|
|
store i32 0, i32* %t1184
|
|
br label %while.cond.388
|
|
if.end.387:
|
|
%t1270 = alloca i32
|
|
%t1271 = load i32, i32* %t1150
|
|
store i32 %t1271, i32* %t1270
|
|
%t1272 = alloca i32
|
|
%t1273 = load i32, i32* %t1150
|
|
store i32 %t1273, i32* %t1272
|
|
%t1274 = alloca i32
|
|
store i32 0, i32* %t1274
|
|
br label %while.cond.416
|
|
while.cond.388:
|
|
%t1185 = load i32, i32* %t1182
|
|
%t1186 = icmp ne i32 %t1185, 0
|
|
br i1 %t1186, label %while.body.389, label %while.end.390
|
|
while.body.389:
|
|
store i32 0, i32* %t0
|
|
store i32 0, i32* %t1
|
|
%t1187 = load i32, i32* %t1180
|
|
store i32 %t1187, i32* %t2
|
|
%t1188 = load i32, i32* %t1182
|
|
store i32 %t1188, i32* %t3
|
|
br label %while.cond.391
|
|
while.end.390:
|
|
%t1268 = load i32, i32* %t1180
|
|
store i32 %t1268, i32* %t0
|
|
%t1269 = load i32, i32* %t0
|
|
store i32 %t1269, i32* %t1154
|
|
br label %if.end.387
|
|
while.cond.391:
|
|
%t1189 = load i32, i32* %t1
|
|
%t1190 = icmp slt i32 %t1189, 16
|
|
%t1191 = icmp ne i32 %t1190, 0
|
|
br i1 %t1191, label %while.body.392, label %while.end.393
|
|
while.body.392:
|
|
%t1192 = load i32, i32* %t2
|
|
%t1193 = srem i32 %t1192, 2
|
|
%t1194 = icmp ne i32 %t1193, 0
|
|
br i1 %t1194, label %if.then.394, label %if.else.396
|
|
while.end.393:
|
|
%t1218 = load i32, i32* %t0
|
|
store i32 %t1218, i32* %t1184
|
|
store i32 0, i32* %t0
|
|
store i32 0, i32* %t1
|
|
%t1219 = load i32, i32* %t1180
|
|
store i32 %t1219, i32* %t2
|
|
%t1220 = load i32, i32* %t1182
|
|
store i32 %t1220, i32* %t3
|
|
br label %while.cond.401
|
|
if.then.394:
|
|
%t1195 = load i32, i32* %t3
|
|
%t1196 = srem i32 %t1195, 2
|
|
%t1197 = icmp eq i32 %t1196, 0
|
|
%t1198 = icmp ne i32 %t1197, 0
|
|
br i1 %t1198, label %if.then.397, label %if.end.398
|
|
if.end.395:
|
|
%t1212 = load i32, i32* %t2
|
|
%t1213 = sdiv i32 %t1212, 2
|
|
store i32 %t1213, i32* %t2
|
|
%t1214 = load i32, i32* %t3
|
|
%t1215 = sdiv i32 %t1214, 2
|
|
store i32 %t1215, i32* %t3
|
|
%t1216 = load i32, i32* %t1
|
|
%t1217 = add i32 %t1216, 1
|
|
store i32 %t1217, i32* %t1
|
|
br label %while.cond.391
|
|
if.else.396:
|
|
%t1204 = load i32, i32* %t3
|
|
%t1205 = srem i32 %t1204, 2
|
|
%t1206 = icmp ne i32 %t1205, 0
|
|
br i1 %t1206, label %if.then.399, label %if.end.400
|
|
if.then.397:
|
|
%t1199 = load i32, i32* %t0
|
|
%t1200 = load i32, i32* %t1
|
|
%t1201 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1200
|
|
%t1202 = load i32, i32* %t1201
|
|
%t1203 = add i32 %t1199, %t1202
|
|
store i32 %t1203, i32* %t0
|
|
br label %if.end.398
|
|
if.end.398:
|
|
br label %if.end.395
|
|
if.then.399:
|
|
%t1207 = load i32, i32* %t0
|
|
%t1208 = load i32, i32* %t1
|
|
%t1209 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1208
|
|
%t1210 = load i32, i32* %t1209
|
|
%t1211 = add i32 %t1207, %t1210
|
|
store i32 %t1211, i32* %t0
|
|
br label %if.end.400
|
|
if.end.400:
|
|
br label %if.end.395
|
|
while.cond.401:
|
|
%t1221 = load i32, i32* %t1
|
|
%t1222 = icmp slt i32 %t1221, 16
|
|
%t1223 = icmp ne i32 %t1222, 0
|
|
br i1 %t1223, label %while.body.402, label %while.end.403
|
|
while.body.402:
|
|
%t1224 = load i32, i32* %t2
|
|
%t1225 = srem i32 %t1224, 2
|
|
%t1226 = icmp ne i32 %t1225, 0
|
|
br i1 %t1226, label %land.rhs.406, label %if.end.405
|
|
while.end.403:
|
|
%t1241 = load i32, i32* %t0
|
|
store i32 %t1241, i32* %t1182
|
|
br i1 0, label %if.then.407, label %if.else.409
|
|
if.then.404:
|
|
%t1230 = load i32, i32* %t0
|
|
%t1231 = load i32, i32* %t1
|
|
%t1232 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1231
|
|
%t1233 = load i32, i32* %t1232
|
|
%t1234 = add i32 %t1230, %t1233
|
|
store i32 %t1234, i32* %t0
|
|
br label %if.end.405
|
|
if.end.405:
|
|
%t1235 = load i32, i32* %t2
|
|
%t1236 = sdiv i32 %t1235, 2
|
|
store i32 %t1236, i32* %t2
|
|
%t1237 = load i32, i32* %t3
|
|
%t1238 = sdiv i32 %t1237, 2
|
|
store i32 %t1238, i32* %t3
|
|
%t1239 = load i32, i32* %t1
|
|
%t1240 = add i32 %t1239, 1
|
|
store i32 %t1240, i32* %t1
|
|
br label %while.cond.401
|
|
land.rhs.406:
|
|
%t1227 = load i32, i32* %t3
|
|
%t1228 = srem i32 %t1227, 2
|
|
%t1229 = icmp ne i32 %t1228, 0
|
|
br i1 %t1229, label %if.then.404, label %if.end.405
|
|
if.then.407:
|
|
store i32 0, i32* %t0
|
|
br label %if.end.408
|
|
if.end.408:
|
|
%t1266 = load i32, i32* %t0
|
|
store i32 %t1266, i32* %t1182
|
|
%t1267 = load i32, i32* %t1184
|
|
store i32 %t1267, i32* %t1180
|
|
br label %while.cond.388
|
|
if.else.409:
|
|
store i32 0, i32* %t0
|
|
store i32 0, i32* %t1
|
|
%t1242 = load i32, i32* %t1182
|
|
%t1243 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 1
|
|
%t1244 = load i32, i32* %t1243
|
|
%t1245 = mul i32 %t1242, %t1244
|
|
store i32 %t1245, i32* %t2
|
|
store i32 65535, i32* %t3
|
|
br label %while.cond.410
|
|
while.cond.410:
|
|
%t1246 = load i32, i32* %t1
|
|
%t1247 = icmp slt i32 %t1246, 16
|
|
%t1248 = icmp ne i32 %t1247, 0
|
|
br i1 %t1248, label %while.body.411, label %while.end.412
|
|
while.body.411:
|
|
%t1249 = load i32, i32* %t2
|
|
%t1250 = srem i32 %t1249, 2
|
|
%t1251 = icmp ne i32 %t1250, 0
|
|
br i1 %t1251, label %land.rhs.415, label %if.end.414
|
|
while.end.412:
|
|
br label %if.end.408
|
|
if.then.413:
|
|
%t1255 = load i32, i32* %t0
|
|
%t1256 = load i32, i32* %t1
|
|
%t1257 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1256
|
|
%t1258 = load i32, i32* %t1257
|
|
%t1259 = add i32 %t1255, %t1258
|
|
store i32 %t1259, i32* %t0
|
|
br label %if.end.414
|
|
if.end.414:
|
|
%t1260 = load i32, i32* %t2
|
|
%t1261 = sdiv i32 %t1260, 2
|
|
store i32 %t1261, i32* %t2
|
|
%t1262 = load i32, i32* %t3
|
|
%t1263 = sdiv i32 %t1262, 2
|
|
store i32 %t1263, i32* %t3
|
|
%t1264 = load i32, i32* %t1
|
|
%t1265 = add i32 %t1264, 1
|
|
store i32 %t1265, i32* %t1
|
|
br label %while.cond.410
|
|
land.rhs.415:
|
|
%t1252 = load i32, i32* %t3
|
|
%t1253 = srem i32 %t1252, 2
|
|
%t1254 = icmp ne i32 %t1253, 0
|
|
br i1 %t1254, label %if.then.413, label %if.end.414
|
|
while.cond.416:
|
|
%t1275 = load i32, i32* %t1272
|
|
%t1276 = icmp ne i32 %t1275, 0
|
|
br i1 %t1276, label %while.body.417, label %while.end.418
|
|
while.body.417:
|
|
store i32 0, i32* %t0
|
|
store i32 0, i32* %t1
|
|
%t1277 = load i32, i32* %t1270
|
|
store i32 %t1277, i32* %t2
|
|
%t1278 = load i32, i32* %t1272
|
|
store i32 %t1278, i32* %t3
|
|
br label %while.cond.419
|
|
while.end.418:
|
|
%t1358 = load i32, i32* %t1270
|
|
store i32 %t1358, i32* %t0
|
|
%t1359 = load i32, i32* %t0
|
|
store i32 %t1359, i32* %t1150
|
|
%t1360 = load i32, i32* %t1152
|
|
store i32 %t1360, i32* %t2
|
|
store i32 1, i32* %t3
|
|
%t1361 = load i32, i32* %t3
|
|
%t1362 = icmp sge i32 %t1361, 15
|
|
%t1363 = icmp ne i32 %t1362, 0
|
|
br i1 %t1363, label %if.then.444, label %if.else.446
|
|
while.cond.419:
|
|
%t1279 = load i32, i32* %t1
|
|
%t1280 = icmp slt i32 %t1279, 16
|
|
%t1281 = icmp ne i32 %t1280, 0
|
|
br i1 %t1281, label %while.body.420, label %while.end.421
|
|
while.body.420:
|
|
%t1282 = load i32, i32* %t2
|
|
%t1283 = srem i32 %t1282, 2
|
|
%t1284 = icmp ne i32 %t1283, 0
|
|
br i1 %t1284, label %if.then.422, label %if.else.424
|
|
while.end.421:
|
|
%t1308 = load i32, i32* %t0
|
|
store i32 %t1308, i32* %t1274
|
|
store i32 0, i32* %t0
|
|
store i32 0, i32* %t1
|
|
%t1309 = load i32, i32* %t1270
|
|
store i32 %t1309, i32* %t2
|
|
%t1310 = load i32, i32* %t1272
|
|
store i32 %t1310, i32* %t3
|
|
br label %while.cond.429
|
|
if.then.422:
|
|
%t1285 = load i32, i32* %t3
|
|
%t1286 = srem i32 %t1285, 2
|
|
%t1287 = icmp eq i32 %t1286, 0
|
|
%t1288 = icmp ne i32 %t1287, 0
|
|
br i1 %t1288, label %if.then.425, label %if.end.426
|
|
if.end.423:
|
|
%t1302 = load i32, i32* %t2
|
|
%t1303 = sdiv i32 %t1302, 2
|
|
store i32 %t1303, i32* %t2
|
|
%t1304 = load i32, i32* %t3
|
|
%t1305 = sdiv i32 %t1304, 2
|
|
store i32 %t1305, i32* %t3
|
|
%t1306 = load i32, i32* %t1
|
|
%t1307 = add i32 %t1306, 1
|
|
store i32 %t1307, i32* %t1
|
|
br label %while.cond.419
|
|
if.else.424:
|
|
%t1294 = load i32, i32* %t3
|
|
%t1295 = srem i32 %t1294, 2
|
|
%t1296 = icmp ne i32 %t1295, 0
|
|
br i1 %t1296, label %if.then.427, label %if.end.428
|
|
if.then.425:
|
|
%t1289 = load i32, i32* %t0
|
|
%t1290 = load i32, i32* %t1
|
|
%t1291 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1290
|
|
%t1292 = load i32, i32* %t1291
|
|
%t1293 = add i32 %t1289, %t1292
|
|
store i32 %t1293, i32* %t0
|
|
br label %if.end.426
|
|
if.end.426:
|
|
br label %if.end.423
|
|
if.then.427:
|
|
%t1297 = load i32, i32* %t0
|
|
%t1298 = load i32, i32* %t1
|
|
%t1299 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1298
|
|
%t1300 = load i32, i32* %t1299
|
|
%t1301 = add i32 %t1297, %t1300
|
|
store i32 %t1301, i32* %t0
|
|
br label %if.end.428
|
|
if.end.428:
|
|
br label %if.end.423
|
|
while.cond.429:
|
|
%t1311 = load i32, i32* %t1
|
|
%t1312 = icmp slt i32 %t1311, 16
|
|
%t1313 = icmp ne i32 %t1312, 0
|
|
br i1 %t1313, label %while.body.430, label %while.end.431
|
|
while.body.430:
|
|
%t1314 = load i32, i32* %t2
|
|
%t1315 = srem i32 %t1314, 2
|
|
%t1316 = icmp ne i32 %t1315, 0
|
|
br i1 %t1316, label %land.rhs.434, label %if.end.433
|
|
while.end.431:
|
|
%t1331 = load i32, i32* %t0
|
|
store i32 %t1331, i32* %t1272
|
|
br i1 0, label %if.then.435, label %if.else.437
|
|
if.then.432:
|
|
%t1320 = load i32, i32* %t0
|
|
%t1321 = load i32, i32* %t1
|
|
%t1322 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1321
|
|
%t1323 = load i32, i32* %t1322
|
|
%t1324 = add i32 %t1320, %t1323
|
|
store i32 %t1324, i32* %t0
|
|
br label %if.end.433
|
|
if.end.433:
|
|
%t1325 = load i32, i32* %t2
|
|
%t1326 = sdiv i32 %t1325, 2
|
|
store i32 %t1326, i32* %t2
|
|
%t1327 = load i32, i32* %t3
|
|
%t1328 = sdiv i32 %t1327, 2
|
|
store i32 %t1328, i32* %t3
|
|
%t1329 = load i32, i32* %t1
|
|
%t1330 = add i32 %t1329, 1
|
|
store i32 %t1330, i32* %t1
|
|
br label %while.cond.429
|
|
land.rhs.434:
|
|
%t1317 = load i32, i32* %t3
|
|
%t1318 = srem i32 %t1317, 2
|
|
%t1319 = icmp ne i32 %t1318, 0
|
|
br i1 %t1319, label %if.then.432, label %if.end.433
|
|
if.then.435:
|
|
store i32 0, i32* %t0
|
|
br label %if.end.436
|
|
if.end.436:
|
|
%t1356 = load i32, i32* %t0
|
|
store i32 %t1356, i32* %t1272
|
|
%t1357 = load i32, i32* %t1274
|
|
store i32 %t1357, i32* %t1270
|
|
br label %while.cond.416
|
|
if.else.437:
|
|
store i32 0, i32* %t0
|
|
store i32 0, i32* %t1
|
|
%t1332 = load i32, i32* %t1272
|
|
%t1333 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 1
|
|
%t1334 = load i32, i32* %t1333
|
|
%t1335 = mul i32 %t1332, %t1334
|
|
store i32 %t1335, i32* %t2
|
|
store i32 65535, i32* %t3
|
|
br label %while.cond.438
|
|
while.cond.438:
|
|
%t1336 = load i32, i32* %t1
|
|
%t1337 = icmp slt i32 %t1336, 16
|
|
%t1338 = icmp ne i32 %t1337, 0
|
|
br i1 %t1338, label %while.body.439, label %while.end.440
|
|
while.body.439:
|
|
%t1339 = load i32, i32* %t2
|
|
%t1340 = srem i32 %t1339, 2
|
|
%t1341 = icmp ne i32 %t1340, 0
|
|
br i1 %t1341, label %land.rhs.443, label %if.end.442
|
|
while.end.440:
|
|
br label %if.end.436
|
|
if.then.441:
|
|
%t1345 = load i32, i32* %t0
|
|
%t1346 = load i32, i32* %t1
|
|
%t1347 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1346
|
|
%t1348 = load i32, i32* %t1347
|
|
%t1349 = add i32 %t1345, %t1348
|
|
store i32 %t1349, i32* %t0
|
|
br label %if.end.442
|
|
if.end.442:
|
|
%t1350 = load i32, i32* %t2
|
|
%t1351 = sdiv i32 %t1350, 2
|
|
store i32 %t1351, i32* %t2
|
|
%t1352 = load i32, i32* %t3
|
|
%t1353 = sdiv i32 %t1352, 2
|
|
store i32 %t1353, i32* %t3
|
|
%t1354 = load i32, i32* %t1
|
|
%t1355 = add i32 %t1354, 1
|
|
store i32 %t1355, i32* %t1
|
|
br label %while.cond.438
|
|
land.rhs.443:
|
|
%t1342 = load i32, i32* %t3
|
|
%t1343 = srem i32 %t1342, 2
|
|
%t1344 = icmp ne i32 %t1343, 0
|
|
br i1 %t1344, label %if.then.441, label %if.end.442
|
|
if.then.444:
|
|
%t1364 = load i32, i32* %t2
|
|
%t1365 = icmp slt i32 %t1364, 0
|
|
%t1366 = icmp ne i32 %t1365, 0
|
|
br i1 %t1366, label %if.then.447, label %if.else.449
|
|
if.end.445:
|
|
%t1392 = load i32, i32* %t0
|
|
store i32 %t1392, i32* %t1152
|
|
br label %while.cond.377
|
|
if.else.446:
|
|
%t1367 = load i32, i32* %t3
|
|
%t1368 = icmp sgt i32 %t1367, 0
|
|
%t1369 = icmp ne i32 %t1368, 0
|
|
br i1 %t1369, label %if.then.450, label %if.else.452
|
|
if.then.447:
|
|
store i32 65535, i32* %t0
|
|
br label %if.end.448
|
|
if.end.448:
|
|
br label %if.end.445
|
|
if.else.449:
|
|
store i32 0, i32* %t0
|
|
br label %if.end.448
|
|
if.then.450:
|
|
%t1370 = load i32, i32* %t2
|
|
%t1371 = icmp sgt i32 %t1370, 32767
|
|
%t1372 = icmp ne i32 %t1371, 0
|
|
br i1 %t1372, label %if.then.453, label %if.else.455
|
|
if.end.451:
|
|
br label %if.end.445
|
|
if.else.452:
|
|
%t1391 = load i32, i32* %t2
|
|
store i32 %t1391, i32* %t0
|
|
br label %if.end.451
|
|
if.then.453:
|
|
%t1373 = load i32, i32* %t2
|
|
%t1374 = load i32, i32* %t3
|
|
%t1375 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1374
|
|
%t1376 = load i32, i32* %t1375
|
|
%t1377 = sdiv i32 %t1373, %t1376
|
|
store i32 %t1377, i32* %t2
|
|
%t1378 = load i32, i32* %t2
|
|
%t1379 = add i32 %t1378, 65536
|
|
%t1380 = load i32, i32* %t3
|
|
%t1381 = sub i32 15, %t1380
|
|
%t1382 = add i32 %t1381, 1
|
|
%t1383 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1382
|
|
%t1384 = load i32, i32* %t1383
|
|
%t1385 = sub i32 %t1379, %t1384
|
|
store i32 %t1385, i32* %t0
|
|
br label %if.end.454
|
|
if.end.454:
|
|
br label %if.end.451
|
|
if.else.455:
|
|
%t1386 = load i32, i32* %t2
|
|
%t1387 = load i32, i32* %t3
|
|
%t1388 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1387
|
|
%t1389 = load i32, i32* %t1388
|
|
%t1390 = sdiv i32 %t1386, %t1389
|
|
store i32 %t1390, i32* %t0
|
|
br label %if.end.454
|
|
while.cond.456:
|
|
%t1400 = load i32, i32* %t1397
|
|
%t1401 = icmp ne i32 %t1400, 0
|
|
br i1 %t1401, label %while.body.457, label %while.end.458
|
|
while.body.457:
|
|
store i32 0, i32* %t0
|
|
store i32 0, i32* %t1
|
|
%t1402 = load i32, i32* %t1397
|
|
store i32 %t1402, i32* %t2
|
|
store i32 1, i32* %t3
|
|
br label %while.cond.459
|
|
while.end.458:
|
|
%t1638 = load i32, i32* %t1399
|
|
store i32 %t1638, i32* %t0
|
|
%t1639 = load i32, i32* %t0
|
|
store i32 %t1639, i32* %t1120
|
|
%t1640 = load i32, i32* %t1121
|
|
store i32 %t1640, i32* %t2
|
|
store i32 1, i32* %t3
|
|
%t1641 = load i32, i32* %t3
|
|
%t1642 = icmp sge i32 %t1641, 15
|
|
%t1643 = icmp ne i32 %t1642, 0
|
|
br i1 %t1643, label %if.then.535, label %if.else.537
|
|
while.cond.459:
|
|
%t1403 = load i32, i32* %t1
|
|
%t1404 = icmp slt i32 %t1403, 16
|
|
%t1405 = icmp ne i32 %t1404, 0
|
|
br i1 %t1405, label %while.body.460, label %while.end.461
|
|
while.body.460:
|
|
%t1406 = load i32, i32* %t2
|
|
%t1407 = srem i32 %t1406, 2
|
|
%t1408 = icmp ne i32 %t1407, 0
|
|
br i1 %t1408, label %land.rhs.464, label %if.end.463
|
|
while.end.461:
|
|
%t1423 = load i32, i32* %t0
|
|
%t1424 = icmp ne i32 %t1423, 0
|
|
br i1 %t1424, label %if.then.465, label %if.end.466
|
|
if.then.462:
|
|
%t1412 = load i32, i32* %t0
|
|
%t1413 = load i32, i32* %t1
|
|
%t1414 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1413
|
|
%t1415 = load i32, i32* %t1414
|
|
%t1416 = add i32 %t1412, %t1415
|
|
store i32 %t1416, i32* %t0
|
|
br label %if.end.463
|
|
if.end.463:
|
|
%t1417 = load i32, i32* %t2
|
|
%t1418 = sdiv i32 %t1417, 2
|
|
store i32 %t1418, i32* %t2
|
|
%t1419 = load i32, i32* %t3
|
|
%t1420 = sdiv i32 %t1419, 2
|
|
store i32 %t1420, i32* %t3
|
|
%t1421 = load i32, i32* %t1
|
|
%t1422 = add i32 %t1421, 1
|
|
store i32 %t1422, i32* %t1
|
|
br label %while.cond.459
|
|
land.rhs.464:
|
|
%t1409 = load i32, i32* %t3
|
|
%t1410 = srem i32 %t1409, 2
|
|
%t1411 = icmp ne i32 %t1410, 0
|
|
br i1 %t1411, label %if.then.462, label %if.end.463
|
|
if.then.465:
|
|
%t1425 = alloca i32
|
|
%t1426 = load i32, i32* %t1399
|
|
store i32 %t1426, i32* %t1425
|
|
%t1427 = alloca i32
|
|
%t1428 = load i32, i32* %t1395
|
|
store i32 %t1428, i32* %t1427
|
|
%t1429 = alloca i32
|
|
store i32 0, i32* %t1429
|
|
br label %while.cond.467
|
|
if.end.466:
|
|
%t1515 = alloca i32
|
|
%t1516 = load i32, i32* %t1395
|
|
store i32 %t1516, i32* %t1515
|
|
%t1517 = alloca i32
|
|
%t1518 = load i32, i32* %t1395
|
|
store i32 %t1518, i32* %t1517
|
|
%t1519 = alloca i32
|
|
store i32 0, i32* %t1519
|
|
br label %while.cond.495
|
|
while.cond.467:
|
|
%t1430 = load i32, i32* %t1427
|
|
%t1431 = icmp ne i32 %t1430, 0
|
|
br i1 %t1431, label %while.body.468, label %while.end.469
|
|
while.body.468:
|
|
store i32 0, i32* %t0
|
|
store i32 0, i32* %t1
|
|
%t1432 = load i32, i32* %t1425
|
|
store i32 %t1432, i32* %t2
|
|
%t1433 = load i32, i32* %t1427
|
|
store i32 %t1433, i32* %t3
|
|
br label %while.cond.470
|
|
while.end.469:
|
|
%t1513 = load i32, i32* %t1425
|
|
store i32 %t1513, i32* %t0
|
|
%t1514 = load i32, i32* %t0
|
|
store i32 %t1514, i32* %t1399
|
|
br label %if.end.466
|
|
while.cond.470:
|
|
%t1434 = load i32, i32* %t1
|
|
%t1435 = icmp slt i32 %t1434, 16
|
|
%t1436 = icmp ne i32 %t1435, 0
|
|
br i1 %t1436, label %while.body.471, label %while.end.472
|
|
while.body.471:
|
|
%t1437 = load i32, i32* %t2
|
|
%t1438 = srem i32 %t1437, 2
|
|
%t1439 = icmp ne i32 %t1438, 0
|
|
br i1 %t1439, label %if.then.473, label %if.else.475
|
|
while.end.472:
|
|
%t1463 = load i32, i32* %t0
|
|
store i32 %t1463, i32* %t1429
|
|
store i32 0, i32* %t0
|
|
store i32 0, i32* %t1
|
|
%t1464 = load i32, i32* %t1425
|
|
store i32 %t1464, i32* %t2
|
|
%t1465 = load i32, i32* %t1427
|
|
store i32 %t1465, i32* %t3
|
|
br label %while.cond.480
|
|
if.then.473:
|
|
%t1440 = load i32, i32* %t3
|
|
%t1441 = srem i32 %t1440, 2
|
|
%t1442 = icmp eq i32 %t1441, 0
|
|
%t1443 = icmp ne i32 %t1442, 0
|
|
br i1 %t1443, label %if.then.476, label %if.end.477
|
|
if.end.474:
|
|
%t1457 = load i32, i32* %t2
|
|
%t1458 = sdiv i32 %t1457, 2
|
|
store i32 %t1458, i32* %t2
|
|
%t1459 = load i32, i32* %t3
|
|
%t1460 = sdiv i32 %t1459, 2
|
|
store i32 %t1460, i32* %t3
|
|
%t1461 = load i32, i32* %t1
|
|
%t1462 = add i32 %t1461, 1
|
|
store i32 %t1462, i32* %t1
|
|
br label %while.cond.470
|
|
if.else.475:
|
|
%t1449 = load i32, i32* %t3
|
|
%t1450 = srem i32 %t1449, 2
|
|
%t1451 = icmp ne i32 %t1450, 0
|
|
br i1 %t1451, label %if.then.478, label %if.end.479
|
|
if.then.476:
|
|
%t1444 = load i32, i32* %t0
|
|
%t1445 = load i32, i32* %t1
|
|
%t1446 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1445
|
|
%t1447 = load i32, i32* %t1446
|
|
%t1448 = add i32 %t1444, %t1447
|
|
store i32 %t1448, i32* %t0
|
|
br label %if.end.477
|
|
if.end.477:
|
|
br label %if.end.474
|
|
if.then.478:
|
|
%t1452 = load i32, i32* %t0
|
|
%t1453 = load i32, i32* %t1
|
|
%t1454 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1453
|
|
%t1455 = load i32, i32* %t1454
|
|
%t1456 = add i32 %t1452, %t1455
|
|
store i32 %t1456, i32* %t0
|
|
br label %if.end.479
|
|
if.end.479:
|
|
br label %if.end.474
|
|
while.cond.480:
|
|
%t1466 = load i32, i32* %t1
|
|
%t1467 = icmp slt i32 %t1466, 16
|
|
%t1468 = icmp ne i32 %t1467, 0
|
|
br i1 %t1468, label %while.body.481, label %while.end.482
|
|
while.body.481:
|
|
%t1469 = load i32, i32* %t2
|
|
%t1470 = srem i32 %t1469, 2
|
|
%t1471 = icmp ne i32 %t1470, 0
|
|
br i1 %t1471, label %land.rhs.485, label %if.end.484
|
|
while.end.482:
|
|
%t1486 = load i32, i32* %t0
|
|
store i32 %t1486, i32* %t1427
|
|
br i1 0, label %if.then.486, label %if.else.488
|
|
if.then.483:
|
|
%t1475 = load i32, i32* %t0
|
|
%t1476 = load i32, i32* %t1
|
|
%t1477 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1476
|
|
%t1478 = load i32, i32* %t1477
|
|
%t1479 = add i32 %t1475, %t1478
|
|
store i32 %t1479, i32* %t0
|
|
br label %if.end.484
|
|
if.end.484:
|
|
%t1480 = load i32, i32* %t2
|
|
%t1481 = sdiv i32 %t1480, 2
|
|
store i32 %t1481, i32* %t2
|
|
%t1482 = load i32, i32* %t3
|
|
%t1483 = sdiv i32 %t1482, 2
|
|
store i32 %t1483, i32* %t3
|
|
%t1484 = load i32, i32* %t1
|
|
%t1485 = add i32 %t1484, 1
|
|
store i32 %t1485, i32* %t1
|
|
br label %while.cond.480
|
|
land.rhs.485:
|
|
%t1472 = load i32, i32* %t3
|
|
%t1473 = srem i32 %t1472, 2
|
|
%t1474 = icmp ne i32 %t1473, 0
|
|
br i1 %t1474, label %if.then.483, label %if.end.484
|
|
if.then.486:
|
|
store i32 0, i32* %t0
|
|
br label %if.end.487
|
|
if.end.487:
|
|
%t1511 = load i32, i32* %t0
|
|
store i32 %t1511, i32* %t1427
|
|
%t1512 = load i32, i32* %t1429
|
|
store i32 %t1512, i32* %t1425
|
|
br label %while.cond.467
|
|
if.else.488:
|
|
store i32 0, i32* %t0
|
|
store i32 0, i32* %t1
|
|
%t1487 = load i32, i32* %t1427
|
|
%t1488 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 1
|
|
%t1489 = load i32, i32* %t1488
|
|
%t1490 = mul i32 %t1487, %t1489
|
|
store i32 %t1490, i32* %t2
|
|
store i32 65535, i32* %t3
|
|
br label %while.cond.489
|
|
while.cond.489:
|
|
%t1491 = load i32, i32* %t1
|
|
%t1492 = icmp slt i32 %t1491, 16
|
|
%t1493 = icmp ne i32 %t1492, 0
|
|
br i1 %t1493, label %while.body.490, label %while.end.491
|
|
while.body.490:
|
|
%t1494 = load i32, i32* %t2
|
|
%t1495 = srem i32 %t1494, 2
|
|
%t1496 = icmp ne i32 %t1495, 0
|
|
br i1 %t1496, label %land.rhs.494, label %if.end.493
|
|
while.end.491:
|
|
br label %if.end.487
|
|
if.then.492:
|
|
%t1500 = load i32, i32* %t0
|
|
%t1501 = load i32, i32* %t1
|
|
%t1502 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1501
|
|
%t1503 = load i32, i32* %t1502
|
|
%t1504 = add i32 %t1500, %t1503
|
|
store i32 %t1504, i32* %t0
|
|
br label %if.end.493
|
|
if.end.493:
|
|
%t1505 = load i32, i32* %t2
|
|
%t1506 = sdiv i32 %t1505, 2
|
|
store i32 %t1506, i32* %t2
|
|
%t1507 = load i32, i32* %t3
|
|
%t1508 = sdiv i32 %t1507, 2
|
|
store i32 %t1508, i32* %t3
|
|
%t1509 = load i32, i32* %t1
|
|
%t1510 = add i32 %t1509, 1
|
|
store i32 %t1510, i32* %t1
|
|
br label %while.cond.489
|
|
land.rhs.494:
|
|
%t1497 = load i32, i32* %t3
|
|
%t1498 = srem i32 %t1497, 2
|
|
%t1499 = icmp ne i32 %t1498, 0
|
|
br i1 %t1499, label %if.then.492, label %if.end.493
|
|
while.cond.495:
|
|
%t1520 = load i32, i32* %t1517
|
|
%t1521 = icmp ne i32 %t1520, 0
|
|
br i1 %t1521, label %while.body.496, label %while.end.497
|
|
while.body.496:
|
|
store i32 0, i32* %t0
|
|
store i32 0, i32* %t1
|
|
%t1522 = load i32, i32* %t1515
|
|
store i32 %t1522, i32* %t2
|
|
%t1523 = load i32, i32* %t1517
|
|
store i32 %t1523, i32* %t3
|
|
br label %while.cond.498
|
|
while.end.497:
|
|
%t1603 = load i32, i32* %t1515
|
|
store i32 %t1603, i32* %t0
|
|
%t1604 = load i32, i32* %t0
|
|
store i32 %t1604, i32* %t1395
|
|
%t1605 = load i32, i32* %t1397
|
|
store i32 %t1605, i32* %t2
|
|
store i32 1, i32* %t3
|
|
%t1606 = load i32, i32* %t3
|
|
%t1607 = icmp sge i32 %t1606, 15
|
|
%t1608 = icmp ne i32 %t1607, 0
|
|
br i1 %t1608, label %if.then.523, label %if.else.525
|
|
while.cond.498:
|
|
%t1524 = load i32, i32* %t1
|
|
%t1525 = icmp slt i32 %t1524, 16
|
|
%t1526 = icmp ne i32 %t1525, 0
|
|
br i1 %t1526, label %while.body.499, label %while.end.500
|
|
while.body.499:
|
|
%t1527 = load i32, i32* %t2
|
|
%t1528 = srem i32 %t1527, 2
|
|
%t1529 = icmp ne i32 %t1528, 0
|
|
br i1 %t1529, label %if.then.501, label %if.else.503
|
|
while.end.500:
|
|
%t1553 = load i32, i32* %t0
|
|
store i32 %t1553, i32* %t1519
|
|
store i32 0, i32* %t0
|
|
store i32 0, i32* %t1
|
|
%t1554 = load i32, i32* %t1515
|
|
store i32 %t1554, i32* %t2
|
|
%t1555 = load i32, i32* %t1517
|
|
store i32 %t1555, i32* %t3
|
|
br label %while.cond.508
|
|
if.then.501:
|
|
%t1530 = load i32, i32* %t3
|
|
%t1531 = srem i32 %t1530, 2
|
|
%t1532 = icmp eq i32 %t1531, 0
|
|
%t1533 = icmp ne i32 %t1532, 0
|
|
br i1 %t1533, label %if.then.504, label %if.end.505
|
|
if.end.502:
|
|
%t1547 = load i32, i32* %t2
|
|
%t1548 = sdiv i32 %t1547, 2
|
|
store i32 %t1548, i32* %t2
|
|
%t1549 = load i32, i32* %t3
|
|
%t1550 = sdiv i32 %t1549, 2
|
|
store i32 %t1550, i32* %t3
|
|
%t1551 = load i32, i32* %t1
|
|
%t1552 = add i32 %t1551, 1
|
|
store i32 %t1552, i32* %t1
|
|
br label %while.cond.498
|
|
if.else.503:
|
|
%t1539 = load i32, i32* %t3
|
|
%t1540 = srem i32 %t1539, 2
|
|
%t1541 = icmp ne i32 %t1540, 0
|
|
br i1 %t1541, label %if.then.506, label %if.end.507
|
|
if.then.504:
|
|
%t1534 = load i32, i32* %t0
|
|
%t1535 = load i32, i32* %t1
|
|
%t1536 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1535
|
|
%t1537 = load i32, i32* %t1536
|
|
%t1538 = add i32 %t1534, %t1537
|
|
store i32 %t1538, i32* %t0
|
|
br label %if.end.505
|
|
if.end.505:
|
|
br label %if.end.502
|
|
if.then.506:
|
|
%t1542 = load i32, i32* %t0
|
|
%t1543 = load i32, i32* %t1
|
|
%t1544 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1543
|
|
%t1545 = load i32, i32* %t1544
|
|
%t1546 = add i32 %t1542, %t1545
|
|
store i32 %t1546, i32* %t0
|
|
br label %if.end.507
|
|
if.end.507:
|
|
br label %if.end.502
|
|
while.cond.508:
|
|
%t1556 = load i32, i32* %t1
|
|
%t1557 = icmp slt i32 %t1556, 16
|
|
%t1558 = icmp ne i32 %t1557, 0
|
|
br i1 %t1558, label %while.body.509, label %while.end.510
|
|
while.body.509:
|
|
%t1559 = load i32, i32* %t2
|
|
%t1560 = srem i32 %t1559, 2
|
|
%t1561 = icmp ne i32 %t1560, 0
|
|
br i1 %t1561, label %land.rhs.513, label %if.end.512
|
|
while.end.510:
|
|
%t1576 = load i32, i32* %t0
|
|
store i32 %t1576, i32* %t1517
|
|
br i1 0, label %if.then.514, label %if.else.516
|
|
if.then.511:
|
|
%t1565 = load i32, i32* %t0
|
|
%t1566 = load i32, i32* %t1
|
|
%t1567 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1566
|
|
%t1568 = load i32, i32* %t1567
|
|
%t1569 = add i32 %t1565, %t1568
|
|
store i32 %t1569, i32* %t0
|
|
br label %if.end.512
|
|
if.end.512:
|
|
%t1570 = load i32, i32* %t2
|
|
%t1571 = sdiv i32 %t1570, 2
|
|
store i32 %t1571, i32* %t2
|
|
%t1572 = load i32, i32* %t3
|
|
%t1573 = sdiv i32 %t1572, 2
|
|
store i32 %t1573, i32* %t3
|
|
%t1574 = load i32, i32* %t1
|
|
%t1575 = add i32 %t1574, 1
|
|
store i32 %t1575, i32* %t1
|
|
br label %while.cond.508
|
|
land.rhs.513:
|
|
%t1562 = load i32, i32* %t3
|
|
%t1563 = srem i32 %t1562, 2
|
|
%t1564 = icmp ne i32 %t1563, 0
|
|
br i1 %t1564, label %if.then.511, label %if.end.512
|
|
if.then.514:
|
|
store i32 0, i32* %t0
|
|
br label %if.end.515
|
|
if.end.515:
|
|
%t1601 = load i32, i32* %t0
|
|
store i32 %t1601, i32* %t1517
|
|
%t1602 = load i32, i32* %t1519
|
|
store i32 %t1602, i32* %t1515
|
|
br label %while.cond.495
|
|
if.else.516:
|
|
store i32 0, i32* %t0
|
|
store i32 0, i32* %t1
|
|
%t1577 = load i32, i32* %t1517
|
|
%t1578 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 1
|
|
%t1579 = load i32, i32* %t1578
|
|
%t1580 = mul i32 %t1577, %t1579
|
|
store i32 %t1580, i32* %t2
|
|
store i32 65535, i32* %t3
|
|
br label %while.cond.517
|
|
while.cond.517:
|
|
%t1581 = load i32, i32* %t1
|
|
%t1582 = icmp slt i32 %t1581, 16
|
|
%t1583 = icmp ne i32 %t1582, 0
|
|
br i1 %t1583, label %while.body.518, label %while.end.519
|
|
while.body.518:
|
|
%t1584 = load i32, i32* %t2
|
|
%t1585 = srem i32 %t1584, 2
|
|
%t1586 = icmp ne i32 %t1585, 0
|
|
br i1 %t1586, label %land.rhs.522, label %if.end.521
|
|
while.end.519:
|
|
br label %if.end.515
|
|
if.then.520:
|
|
%t1590 = load i32, i32* %t0
|
|
%t1591 = load i32, i32* %t1
|
|
%t1592 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1591
|
|
%t1593 = load i32, i32* %t1592
|
|
%t1594 = add i32 %t1590, %t1593
|
|
store i32 %t1594, i32* %t0
|
|
br label %if.end.521
|
|
if.end.521:
|
|
%t1595 = load i32, i32* %t2
|
|
%t1596 = sdiv i32 %t1595, 2
|
|
store i32 %t1596, i32* %t2
|
|
%t1597 = load i32, i32* %t3
|
|
%t1598 = sdiv i32 %t1597, 2
|
|
store i32 %t1598, i32* %t3
|
|
%t1599 = load i32, i32* %t1
|
|
%t1600 = add i32 %t1599, 1
|
|
store i32 %t1600, i32* %t1
|
|
br label %while.cond.517
|
|
land.rhs.522:
|
|
%t1587 = load i32, i32* %t3
|
|
%t1588 = srem i32 %t1587, 2
|
|
%t1589 = icmp ne i32 %t1588, 0
|
|
br i1 %t1589, label %if.then.520, label %if.end.521
|
|
if.then.523:
|
|
%t1609 = load i32, i32* %t2
|
|
%t1610 = icmp slt i32 %t1609, 0
|
|
%t1611 = icmp ne i32 %t1610, 0
|
|
br i1 %t1611, label %if.then.526, label %if.else.528
|
|
if.end.524:
|
|
%t1637 = load i32, i32* %t0
|
|
store i32 %t1637, i32* %t1397
|
|
br label %while.cond.456
|
|
if.else.525:
|
|
%t1612 = load i32, i32* %t3
|
|
%t1613 = icmp sgt i32 %t1612, 0
|
|
%t1614 = icmp ne i32 %t1613, 0
|
|
br i1 %t1614, label %if.then.529, label %if.else.531
|
|
if.then.526:
|
|
store i32 65535, i32* %t0
|
|
br label %if.end.527
|
|
if.end.527:
|
|
br label %if.end.524
|
|
if.else.528:
|
|
store i32 0, i32* %t0
|
|
br label %if.end.527
|
|
if.then.529:
|
|
%t1615 = load i32, i32* %t2
|
|
%t1616 = icmp sgt i32 %t1615, 32767
|
|
%t1617 = icmp ne i32 %t1616, 0
|
|
br i1 %t1617, label %if.then.532, label %if.else.534
|
|
if.end.530:
|
|
br label %if.end.524
|
|
if.else.531:
|
|
%t1636 = load i32, i32* %t2
|
|
store i32 %t1636, i32* %t0
|
|
br label %if.end.530
|
|
if.then.532:
|
|
%t1618 = load i32, i32* %t2
|
|
%t1619 = load i32, i32* %t3
|
|
%t1620 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1619
|
|
%t1621 = load i32, i32* %t1620
|
|
%t1622 = sdiv i32 %t1618, %t1621
|
|
store i32 %t1622, i32* %t2
|
|
%t1623 = load i32, i32* %t2
|
|
%t1624 = add i32 %t1623, 65536
|
|
%t1625 = load i32, i32* %t3
|
|
%t1626 = sub i32 15, %t1625
|
|
%t1627 = add i32 %t1626, 1
|
|
%t1628 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1627
|
|
%t1629 = load i32, i32* %t1628
|
|
%t1630 = sub i32 %t1624, %t1629
|
|
store i32 %t1630, i32* %t0
|
|
br label %if.end.533
|
|
if.end.533:
|
|
br label %if.end.530
|
|
if.else.534:
|
|
%t1631 = load i32, i32* %t2
|
|
%t1632 = load i32, i32* %t3
|
|
%t1633 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1632
|
|
%t1634 = load i32, i32* %t1633
|
|
%t1635 = sdiv i32 %t1631, %t1634
|
|
store i32 %t1635, i32* %t0
|
|
br label %if.end.533
|
|
if.then.535:
|
|
%t1644 = load i32, i32* %t2
|
|
%t1645 = icmp slt i32 %t1644, 0
|
|
%t1646 = icmp ne i32 %t1645, 0
|
|
br i1 %t1646, label %if.then.538, label %if.else.540
|
|
if.end.536:
|
|
%t1672 = load i32, i32* %t0
|
|
store i32 %t1672, i32* %t1121
|
|
br label %while.cond.366
|
|
if.else.537:
|
|
%t1647 = load i32, i32* %t3
|
|
%t1648 = icmp sgt i32 %t1647, 0
|
|
%t1649 = icmp ne i32 %t1648, 0
|
|
br i1 %t1649, label %if.then.541, label %if.else.543
|
|
if.then.538:
|
|
store i32 65535, i32* %t0
|
|
br label %if.end.539
|
|
if.end.539:
|
|
br label %if.end.536
|
|
if.else.540:
|
|
store i32 0, i32* %t0
|
|
br label %if.end.539
|
|
if.then.541:
|
|
%t1650 = load i32, i32* %t2
|
|
%t1651 = icmp sgt i32 %t1650, 32767
|
|
%t1652 = icmp ne i32 %t1651, 0
|
|
br i1 %t1652, label %if.then.544, label %if.else.546
|
|
if.end.542:
|
|
br label %if.end.536
|
|
if.else.543:
|
|
%t1671 = load i32, i32* %t2
|
|
store i32 %t1671, i32* %t0
|
|
br label %if.end.542
|
|
if.then.544:
|
|
%t1653 = load i32, i32* %t2
|
|
%t1654 = load i32, i32* %t3
|
|
%t1655 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1654
|
|
%t1656 = load i32, i32* %t1655
|
|
%t1657 = sdiv i32 %t1653, %t1656
|
|
store i32 %t1657, i32* %t2
|
|
%t1658 = load i32, i32* %t2
|
|
%t1659 = add i32 %t1658, 65536
|
|
%t1660 = load i32, i32* %t3
|
|
%t1661 = sub i32 15, %t1660
|
|
%t1662 = add i32 %t1661, 1
|
|
%t1663 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1662
|
|
%t1664 = load i32, i32* %t1663
|
|
%t1665 = sub i32 %t1659, %t1664
|
|
store i32 %t1665, i32* %t0
|
|
br label %if.end.545
|
|
if.end.545:
|
|
br label %if.end.542
|
|
if.else.546:
|
|
%t1666 = load i32, i32* %t2
|
|
%t1667 = load i32, i32* %t3
|
|
%t1668 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1667
|
|
%t1669 = load i32, i32* %t1668
|
|
%t1670 = sdiv i32 %t1666, %t1669
|
|
store i32 %t1670, i32* %t0
|
|
br label %if.end.545
|
|
while.cond.547:
|
|
%t1679 = load i32, i32* %t4
|
|
%t1680 = icmp slt i32 %t1679, 16
|
|
%t1681 = icmp ne i32 %t1680, 0
|
|
br i1 %t1681, label %while.body.548, label %while.end.549
|
|
while.body.548:
|
|
%t1682 = alloca i32
|
|
store i32 2, i32* %t1682
|
|
%t1683 = alloca i32
|
|
%t1684 = load i32, i32* %t4
|
|
store i32 %t1684, i32* %t1683
|
|
%t1685 = alloca i32
|
|
store i32 1, i32* %t1685
|
|
br label %while.cond.550
|
|
while.end.549:
|
|
ret i32 0
|
|
while.cond.550:
|
|
%t1686 = load i32, i32* %t1683
|
|
%t1687 = icmp sgt i32 %t1686, 0
|
|
%t1688 = icmp ne i32 %t1687, 0
|
|
br i1 %t1688, label %while.body.551, label %while.end.552
|
|
while.body.551:
|
|
store i32 0, i32* %t0
|
|
store i32 0, i32* %t1
|
|
%t1689 = load i32, i32* %t1683
|
|
store i32 %t1689, i32* %t2
|
|
store i32 1, i32* %t3
|
|
br label %while.cond.553
|
|
while.end.552:
|
|
%t2235 = load i32, i32* %t1685
|
|
store i32 %t2235, i32* %t0
|
|
%t2236 = load i32, i32* %t4
|
|
%t2237 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t2236
|
|
%t2238 = load i32, i32* %t2237
|
|
%t2239 = load i32, i32* %t0
|
|
%t2240 = icmp ne i32 %t2238, %t2239
|
|
%t2241 = icmp ne i32 %t2240, 0
|
|
br i1 %t2241, label %if.then.731, label %if.end.732
|
|
while.cond.553:
|
|
%t1690 = load i32, i32* %t1
|
|
%t1691 = icmp slt i32 %t1690, 16
|
|
%t1692 = icmp ne i32 %t1691, 0
|
|
br i1 %t1692, label %while.body.554, label %while.end.555
|
|
while.body.554:
|
|
%t1693 = load i32, i32* %t2
|
|
%t1694 = srem i32 %t1693, 2
|
|
%t1695 = icmp ne i32 %t1694, 0
|
|
br i1 %t1695, label %land.rhs.558, label %if.end.557
|
|
while.end.555:
|
|
%t1710 = load i32, i32* %t0
|
|
%t1711 = icmp ne i32 %t1710, 0
|
|
br i1 %t1711, label %if.then.559, label %if.end.560
|
|
if.then.556:
|
|
%t1699 = load i32, i32* %t0
|
|
%t1700 = load i32, i32* %t1
|
|
%t1701 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1700
|
|
%t1702 = load i32, i32* %t1701
|
|
%t1703 = add i32 %t1699, %t1702
|
|
store i32 %t1703, i32* %t0
|
|
br label %if.end.557
|
|
if.end.557:
|
|
%t1704 = load i32, i32* %t2
|
|
%t1705 = sdiv i32 %t1704, 2
|
|
store i32 %t1705, i32* %t2
|
|
%t1706 = load i32, i32* %t3
|
|
%t1707 = sdiv i32 %t1706, 2
|
|
store i32 %t1707, i32* %t3
|
|
%t1708 = load i32, i32* %t1
|
|
%t1709 = add i32 %t1708, 1
|
|
store i32 %t1709, i32* %t1
|
|
br label %while.cond.553
|
|
land.rhs.558:
|
|
%t1696 = load i32, i32* %t3
|
|
%t1697 = srem i32 %t1696, 2
|
|
%t1698 = icmp ne i32 %t1697, 0
|
|
br i1 %t1698, label %if.then.556, label %if.end.557
|
|
if.then.559:
|
|
%t1712 = alloca i32
|
|
%t1713 = load i32, i32* %t1685
|
|
store i32 %t1713, i32* %t1712
|
|
%t1714 = alloca i32
|
|
%t1715 = load i32, i32* %t1682
|
|
store i32 %t1715, i32* %t1714
|
|
%t1716 = alloca i32
|
|
store i32 0, i32* %t1716
|
|
br label %while.cond.561
|
|
if.end.560:
|
|
%t1957 = alloca i32
|
|
%t1958 = load i32, i32* %t1682
|
|
store i32 %t1958, i32* %t1957
|
|
%t1959 = alloca i32
|
|
%t1960 = load i32, i32* %t1682
|
|
store i32 %t1960, i32* %t1959
|
|
%t1961 = alloca i32
|
|
store i32 0, i32* %t1961
|
|
br label %while.cond.640
|
|
while.cond.561:
|
|
%t1717 = load i32, i32* %t1714
|
|
%t1718 = icmp ne i32 %t1717, 0
|
|
br i1 %t1718, label %while.body.562, label %while.end.563
|
|
while.body.562:
|
|
store i32 0, i32* %t0
|
|
store i32 0, i32* %t1
|
|
%t1719 = load i32, i32* %t1714
|
|
store i32 %t1719, i32* %t2
|
|
store i32 1, i32* %t3
|
|
br label %while.cond.564
|
|
while.end.563:
|
|
%t1955 = load i32, i32* %t1716
|
|
store i32 %t1955, i32* %t0
|
|
%t1956 = load i32, i32* %t0
|
|
store i32 %t1956, i32* %t1685
|
|
br label %if.end.560
|
|
while.cond.564:
|
|
%t1720 = load i32, i32* %t1
|
|
%t1721 = icmp slt i32 %t1720, 16
|
|
%t1722 = icmp ne i32 %t1721, 0
|
|
br i1 %t1722, label %while.body.565, label %while.end.566
|
|
while.body.565:
|
|
%t1723 = load i32, i32* %t2
|
|
%t1724 = srem i32 %t1723, 2
|
|
%t1725 = icmp ne i32 %t1724, 0
|
|
br i1 %t1725, label %land.rhs.569, label %if.end.568
|
|
while.end.566:
|
|
%t1740 = load i32, i32* %t0
|
|
%t1741 = icmp ne i32 %t1740, 0
|
|
br i1 %t1741, label %if.then.570, label %if.end.571
|
|
if.then.567:
|
|
%t1729 = load i32, i32* %t0
|
|
%t1730 = load i32, i32* %t1
|
|
%t1731 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1730
|
|
%t1732 = load i32, i32* %t1731
|
|
%t1733 = add i32 %t1729, %t1732
|
|
store i32 %t1733, i32* %t0
|
|
br label %if.end.568
|
|
if.end.568:
|
|
%t1734 = load i32, i32* %t2
|
|
%t1735 = sdiv i32 %t1734, 2
|
|
store i32 %t1735, i32* %t2
|
|
%t1736 = load i32, i32* %t3
|
|
%t1737 = sdiv i32 %t1736, 2
|
|
store i32 %t1737, i32* %t3
|
|
%t1738 = load i32, i32* %t1
|
|
%t1739 = add i32 %t1738, 1
|
|
store i32 %t1739, i32* %t1
|
|
br label %while.cond.564
|
|
land.rhs.569:
|
|
%t1726 = load i32, i32* %t3
|
|
%t1727 = srem i32 %t1726, 2
|
|
%t1728 = icmp ne i32 %t1727, 0
|
|
br i1 %t1728, label %if.then.567, label %if.end.568
|
|
if.then.570:
|
|
%t1742 = alloca i32
|
|
%t1743 = load i32, i32* %t1716
|
|
store i32 %t1743, i32* %t1742
|
|
%t1744 = alloca i32
|
|
%t1745 = load i32, i32* %t1712
|
|
store i32 %t1745, i32* %t1744
|
|
%t1746 = alloca i32
|
|
store i32 0, i32* %t1746
|
|
br label %while.cond.572
|
|
if.end.571:
|
|
%t1832 = alloca i32
|
|
%t1833 = load i32, i32* %t1712
|
|
store i32 %t1833, i32* %t1832
|
|
%t1834 = alloca i32
|
|
%t1835 = load i32, i32* %t1712
|
|
store i32 %t1835, i32* %t1834
|
|
%t1836 = alloca i32
|
|
store i32 0, i32* %t1836
|
|
br label %while.cond.600
|
|
while.cond.572:
|
|
%t1747 = load i32, i32* %t1744
|
|
%t1748 = icmp ne i32 %t1747, 0
|
|
br i1 %t1748, label %while.body.573, label %while.end.574
|
|
while.body.573:
|
|
store i32 0, i32* %t0
|
|
store i32 0, i32* %t1
|
|
%t1749 = load i32, i32* %t1742
|
|
store i32 %t1749, i32* %t2
|
|
%t1750 = load i32, i32* %t1744
|
|
store i32 %t1750, i32* %t3
|
|
br label %while.cond.575
|
|
while.end.574:
|
|
%t1830 = load i32, i32* %t1742
|
|
store i32 %t1830, i32* %t0
|
|
%t1831 = load i32, i32* %t0
|
|
store i32 %t1831, i32* %t1716
|
|
br label %if.end.571
|
|
while.cond.575:
|
|
%t1751 = load i32, i32* %t1
|
|
%t1752 = icmp slt i32 %t1751, 16
|
|
%t1753 = icmp ne i32 %t1752, 0
|
|
br i1 %t1753, label %while.body.576, label %while.end.577
|
|
while.body.576:
|
|
%t1754 = load i32, i32* %t2
|
|
%t1755 = srem i32 %t1754, 2
|
|
%t1756 = icmp ne i32 %t1755, 0
|
|
br i1 %t1756, label %if.then.578, label %if.else.580
|
|
while.end.577:
|
|
%t1780 = load i32, i32* %t0
|
|
store i32 %t1780, i32* %t1746
|
|
store i32 0, i32* %t0
|
|
store i32 0, i32* %t1
|
|
%t1781 = load i32, i32* %t1742
|
|
store i32 %t1781, i32* %t2
|
|
%t1782 = load i32, i32* %t1744
|
|
store i32 %t1782, i32* %t3
|
|
br label %while.cond.585
|
|
if.then.578:
|
|
%t1757 = load i32, i32* %t3
|
|
%t1758 = srem i32 %t1757, 2
|
|
%t1759 = icmp eq i32 %t1758, 0
|
|
%t1760 = icmp ne i32 %t1759, 0
|
|
br i1 %t1760, label %if.then.581, label %if.end.582
|
|
if.end.579:
|
|
%t1774 = load i32, i32* %t2
|
|
%t1775 = sdiv i32 %t1774, 2
|
|
store i32 %t1775, i32* %t2
|
|
%t1776 = load i32, i32* %t3
|
|
%t1777 = sdiv i32 %t1776, 2
|
|
store i32 %t1777, i32* %t3
|
|
%t1778 = load i32, i32* %t1
|
|
%t1779 = add i32 %t1778, 1
|
|
store i32 %t1779, i32* %t1
|
|
br label %while.cond.575
|
|
if.else.580:
|
|
%t1766 = load i32, i32* %t3
|
|
%t1767 = srem i32 %t1766, 2
|
|
%t1768 = icmp ne i32 %t1767, 0
|
|
br i1 %t1768, label %if.then.583, label %if.end.584
|
|
if.then.581:
|
|
%t1761 = load i32, i32* %t0
|
|
%t1762 = load i32, i32* %t1
|
|
%t1763 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1762
|
|
%t1764 = load i32, i32* %t1763
|
|
%t1765 = add i32 %t1761, %t1764
|
|
store i32 %t1765, i32* %t0
|
|
br label %if.end.582
|
|
if.end.582:
|
|
br label %if.end.579
|
|
if.then.583:
|
|
%t1769 = load i32, i32* %t0
|
|
%t1770 = load i32, i32* %t1
|
|
%t1771 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1770
|
|
%t1772 = load i32, i32* %t1771
|
|
%t1773 = add i32 %t1769, %t1772
|
|
store i32 %t1773, i32* %t0
|
|
br label %if.end.584
|
|
if.end.584:
|
|
br label %if.end.579
|
|
while.cond.585:
|
|
%t1783 = load i32, i32* %t1
|
|
%t1784 = icmp slt i32 %t1783, 16
|
|
%t1785 = icmp ne i32 %t1784, 0
|
|
br i1 %t1785, label %while.body.586, label %while.end.587
|
|
while.body.586:
|
|
%t1786 = load i32, i32* %t2
|
|
%t1787 = srem i32 %t1786, 2
|
|
%t1788 = icmp ne i32 %t1787, 0
|
|
br i1 %t1788, label %land.rhs.590, label %if.end.589
|
|
while.end.587:
|
|
%t1803 = load i32, i32* %t0
|
|
store i32 %t1803, i32* %t1744
|
|
br i1 0, label %if.then.591, label %if.else.593
|
|
if.then.588:
|
|
%t1792 = load i32, i32* %t0
|
|
%t1793 = load i32, i32* %t1
|
|
%t1794 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1793
|
|
%t1795 = load i32, i32* %t1794
|
|
%t1796 = add i32 %t1792, %t1795
|
|
store i32 %t1796, i32* %t0
|
|
br label %if.end.589
|
|
if.end.589:
|
|
%t1797 = load i32, i32* %t2
|
|
%t1798 = sdiv i32 %t1797, 2
|
|
store i32 %t1798, i32* %t2
|
|
%t1799 = load i32, i32* %t3
|
|
%t1800 = sdiv i32 %t1799, 2
|
|
store i32 %t1800, i32* %t3
|
|
%t1801 = load i32, i32* %t1
|
|
%t1802 = add i32 %t1801, 1
|
|
store i32 %t1802, i32* %t1
|
|
br label %while.cond.585
|
|
land.rhs.590:
|
|
%t1789 = load i32, i32* %t3
|
|
%t1790 = srem i32 %t1789, 2
|
|
%t1791 = icmp ne i32 %t1790, 0
|
|
br i1 %t1791, label %if.then.588, label %if.end.589
|
|
if.then.591:
|
|
store i32 0, i32* %t0
|
|
br label %if.end.592
|
|
if.end.592:
|
|
%t1828 = load i32, i32* %t0
|
|
store i32 %t1828, i32* %t1744
|
|
%t1829 = load i32, i32* %t1746
|
|
store i32 %t1829, i32* %t1742
|
|
br label %while.cond.572
|
|
if.else.593:
|
|
store i32 0, i32* %t0
|
|
store i32 0, i32* %t1
|
|
%t1804 = load i32, i32* %t1744
|
|
%t1805 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 1
|
|
%t1806 = load i32, i32* %t1805
|
|
%t1807 = mul i32 %t1804, %t1806
|
|
store i32 %t1807, i32* %t2
|
|
store i32 65535, i32* %t3
|
|
br label %while.cond.594
|
|
while.cond.594:
|
|
%t1808 = load i32, i32* %t1
|
|
%t1809 = icmp slt i32 %t1808, 16
|
|
%t1810 = icmp ne i32 %t1809, 0
|
|
br i1 %t1810, label %while.body.595, label %while.end.596
|
|
while.body.595:
|
|
%t1811 = load i32, i32* %t2
|
|
%t1812 = srem i32 %t1811, 2
|
|
%t1813 = icmp ne i32 %t1812, 0
|
|
br i1 %t1813, label %land.rhs.599, label %if.end.598
|
|
while.end.596:
|
|
br label %if.end.592
|
|
if.then.597:
|
|
%t1817 = load i32, i32* %t0
|
|
%t1818 = load i32, i32* %t1
|
|
%t1819 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1818
|
|
%t1820 = load i32, i32* %t1819
|
|
%t1821 = add i32 %t1817, %t1820
|
|
store i32 %t1821, i32* %t0
|
|
br label %if.end.598
|
|
if.end.598:
|
|
%t1822 = load i32, i32* %t2
|
|
%t1823 = sdiv i32 %t1822, 2
|
|
store i32 %t1823, i32* %t2
|
|
%t1824 = load i32, i32* %t3
|
|
%t1825 = sdiv i32 %t1824, 2
|
|
store i32 %t1825, i32* %t3
|
|
%t1826 = load i32, i32* %t1
|
|
%t1827 = add i32 %t1826, 1
|
|
store i32 %t1827, i32* %t1
|
|
br label %while.cond.594
|
|
land.rhs.599:
|
|
%t1814 = load i32, i32* %t3
|
|
%t1815 = srem i32 %t1814, 2
|
|
%t1816 = icmp ne i32 %t1815, 0
|
|
br i1 %t1816, label %if.then.597, label %if.end.598
|
|
while.cond.600:
|
|
%t1837 = load i32, i32* %t1834
|
|
%t1838 = icmp ne i32 %t1837, 0
|
|
br i1 %t1838, label %while.body.601, label %while.end.602
|
|
while.body.601:
|
|
store i32 0, i32* %t0
|
|
store i32 0, i32* %t1
|
|
%t1839 = load i32, i32* %t1832
|
|
store i32 %t1839, i32* %t2
|
|
%t1840 = load i32, i32* %t1834
|
|
store i32 %t1840, i32* %t3
|
|
br label %while.cond.603
|
|
while.end.602:
|
|
%t1920 = load i32, i32* %t1832
|
|
store i32 %t1920, i32* %t0
|
|
%t1921 = load i32, i32* %t0
|
|
store i32 %t1921, i32* %t1712
|
|
%t1922 = load i32, i32* %t1714
|
|
store i32 %t1922, i32* %t2
|
|
store i32 1, i32* %t3
|
|
%t1923 = load i32, i32* %t3
|
|
%t1924 = icmp sge i32 %t1923, 15
|
|
%t1925 = icmp ne i32 %t1924, 0
|
|
br i1 %t1925, label %if.then.628, label %if.else.630
|
|
while.cond.603:
|
|
%t1841 = load i32, i32* %t1
|
|
%t1842 = icmp slt i32 %t1841, 16
|
|
%t1843 = icmp ne i32 %t1842, 0
|
|
br i1 %t1843, label %while.body.604, label %while.end.605
|
|
while.body.604:
|
|
%t1844 = load i32, i32* %t2
|
|
%t1845 = srem i32 %t1844, 2
|
|
%t1846 = icmp ne i32 %t1845, 0
|
|
br i1 %t1846, label %if.then.606, label %if.else.608
|
|
while.end.605:
|
|
%t1870 = load i32, i32* %t0
|
|
store i32 %t1870, i32* %t1836
|
|
store i32 0, i32* %t0
|
|
store i32 0, i32* %t1
|
|
%t1871 = load i32, i32* %t1832
|
|
store i32 %t1871, i32* %t2
|
|
%t1872 = load i32, i32* %t1834
|
|
store i32 %t1872, i32* %t3
|
|
br label %while.cond.613
|
|
if.then.606:
|
|
%t1847 = load i32, i32* %t3
|
|
%t1848 = srem i32 %t1847, 2
|
|
%t1849 = icmp eq i32 %t1848, 0
|
|
%t1850 = icmp ne i32 %t1849, 0
|
|
br i1 %t1850, label %if.then.609, label %if.end.610
|
|
if.end.607:
|
|
%t1864 = load i32, i32* %t2
|
|
%t1865 = sdiv i32 %t1864, 2
|
|
store i32 %t1865, i32* %t2
|
|
%t1866 = load i32, i32* %t3
|
|
%t1867 = sdiv i32 %t1866, 2
|
|
store i32 %t1867, i32* %t3
|
|
%t1868 = load i32, i32* %t1
|
|
%t1869 = add i32 %t1868, 1
|
|
store i32 %t1869, i32* %t1
|
|
br label %while.cond.603
|
|
if.else.608:
|
|
%t1856 = load i32, i32* %t3
|
|
%t1857 = srem i32 %t1856, 2
|
|
%t1858 = icmp ne i32 %t1857, 0
|
|
br i1 %t1858, label %if.then.611, label %if.end.612
|
|
if.then.609:
|
|
%t1851 = load i32, i32* %t0
|
|
%t1852 = load i32, i32* %t1
|
|
%t1853 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1852
|
|
%t1854 = load i32, i32* %t1853
|
|
%t1855 = add i32 %t1851, %t1854
|
|
store i32 %t1855, i32* %t0
|
|
br label %if.end.610
|
|
if.end.610:
|
|
br label %if.end.607
|
|
if.then.611:
|
|
%t1859 = load i32, i32* %t0
|
|
%t1860 = load i32, i32* %t1
|
|
%t1861 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1860
|
|
%t1862 = load i32, i32* %t1861
|
|
%t1863 = add i32 %t1859, %t1862
|
|
store i32 %t1863, i32* %t0
|
|
br label %if.end.612
|
|
if.end.612:
|
|
br label %if.end.607
|
|
while.cond.613:
|
|
%t1873 = load i32, i32* %t1
|
|
%t1874 = icmp slt i32 %t1873, 16
|
|
%t1875 = icmp ne i32 %t1874, 0
|
|
br i1 %t1875, label %while.body.614, label %while.end.615
|
|
while.body.614:
|
|
%t1876 = load i32, i32* %t2
|
|
%t1877 = srem i32 %t1876, 2
|
|
%t1878 = icmp ne i32 %t1877, 0
|
|
br i1 %t1878, label %land.rhs.618, label %if.end.617
|
|
while.end.615:
|
|
%t1893 = load i32, i32* %t0
|
|
store i32 %t1893, i32* %t1834
|
|
br i1 0, label %if.then.619, label %if.else.621
|
|
if.then.616:
|
|
%t1882 = load i32, i32* %t0
|
|
%t1883 = load i32, i32* %t1
|
|
%t1884 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1883
|
|
%t1885 = load i32, i32* %t1884
|
|
%t1886 = add i32 %t1882, %t1885
|
|
store i32 %t1886, i32* %t0
|
|
br label %if.end.617
|
|
if.end.617:
|
|
%t1887 = load i32, i32* %t2
|
|
%t1888 = sdiv i32 %t1887, 2
|
|
store i32 %t1888, i32* %t2
|
|
%t1889 = load i32, i32* %t3
|
|
%t1890 = sdiv i32 %t1889, 2
|
|
store i32 %t1890, i32* %t3
|
|
%t1891 = load i32, i32* %t1
|
|
%t1892 = add i32 %t1891, 1
|
|
store i32 %t1892, i32* %t1
|
|
br label %while.cond.613
|
|
land.rhs.618:
|
|
%t1879 = load i32, i32* %t3
|
|
%t1880 = srem i32 %t1879, 2
|
|
%t1881 = icmp ne i32 %t1880, 0
|
|
br i1 %t1881, label %if.then.616, label %if.end.617
|
|
if.then.619:
|
|
store i32 0, i32* %t0
|
|
br label %if.end.620
|
|
if.end.620:
|
|
%t1918 = load i32, i32* %t0
|
|
store i32 %t1918, i32* %t1834
|
|
%t1919 = load i32, i32* %t1836
|
|
store i32 %t1919, i32* %t1832
|
|
br label %while.cond.600
|
|
if.else.621:
|
|
store i32 0, i32* %t0
|
|
store i32 0, i32* %t1
|
|
%t1894 = load i32, i32* %t1834
|
|
%t1895 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 1
|
|
%t1896 = load i32, i32* %t1895
|
|
%t1897 = mul i32 %t1894, %t1896
|
|
store i32 %t1897, i32* %t2
|
|
store i32 65535, i32* %t3
|
|
br label %while.cond.622
|
|
while.cond.622:
|
|
%t1898 = load i32, i32* %t1
|
|
%t1899 = icmp slt i32 %t1898, 16
|
|
%t1900 = icmp ne i32 %t1899, 0
|
|
br i1 %t1900, label %while.body.623, label %while.end.624
|
|
while.body.623:
|
|
%t1901 = load i32, i32* %t2
|
|
%t1902 = srem i32 %t1901, 2
|
|
%t1903 = icmp ne i32 %t1902, 0
|
|
br i1 %t1903, label %land.rhs.627, label %if.end.626
|
|
while.end.624:
|
|
br label %if.end.620
|
|
if.then.625:
|
|
%t1907 = load i32, i32* %t0
|
|
%t1908 = load i32, i32* %t1
|
|
%t1909 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1908
|
|
%t1910 = load i32, i32* %t1909
|
|
%t1911 = add i32 %t1907, %t1910
|
|
store i32 %t1911, i32* %t0
|
|
br label %if.end.626
|
|
if.end.626:
|
|
%t1912 = load i32, i32* %t2
|
|
%t1913 = sdiv i32 %t1912, 2
|
|
store i32 %t1913, i32* %t2
|
|
%t1914 = load i32, i32* %t3
|
|
%t1915 = sdiv i32 %t1914, 2
|
|
store i32 %t1915, i32* %t3
|
|
%t1916 = load i32, i32* %t1
|
|
%t1917 = add i32 %t1916, 1
|
|
store i32 %t1917, i32* %t1
|
|
br label %while.cond.622
|
|
land.rhs.627:
|
|
%t1904 = load i32, i32* %t3
|
|
%t1905 = srem i32 %t1904, 2
|
|
%t1906 = icmp ne i32 %t1905, 0
|
|
br i1 %t1906, label %if.then.625, label %if.end.626
|
|
if.then.628:
|
|
%t1926 = load i32, i32* %t2
|
|
%t1927 = icmp slt i32 %t1926, 0
|
|
%t1928 = icmp ne i32 %t1927, 0
|
|
br i1 %t1928, label %if.then.631, label %if.else.633
|
|
if.end.629:
|
|
%t1954 = load i32, i32* %t0
|
|
store i32 %t1954, i32* %t1714
|
|
br label %while.cond.561
|
|
if.else.630:
|
|
%t1929 = load i32, i32* %t3
|
|
%t1930 = icmp sgt i32 %t1929, 0
|
|
%t1931 = icmp ne i32 %t1930, 0
|
|
br i1 %t1931, label %if.then.634, label %if.else.636
|
|
if.then.631:
|
|
store i32 65535, i32* %t0
|
|
br label %if.end.632
|
|
if.end.632:
|
|
br label %if.end.629
|
|
if.else.633:
|
|
store i32 0, i32* %t0
|
|
br label %if.end.632
|
|
if.then.634:
|
|
%t1932 = load i32, i32* %t2
|
|
%t1933 = icmp sgt i32 %t1932, 32767
|
|
%t1934 = icmp ne i32 %t1933, 0
|
|
br i1 %t1934, label %if.then.637, label %if.else.639
|
|
if.end.635:
|
|
br label %if.end.629
|
|
if.else.636:
|
|
%t1953 = load i32, i32* %t2
|
|
store i32 %t1953, i32* %t0
|
|
br label %if.end.635
|
|
if.then.637:
|
|
%t1935 = load i32, i32* %t2
|
|
%t1936 = load i32, i32* %t3
|
|
%t1937 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1936
|
|
%t1938 = load i32, i32* %t1937
|
|
%t1939 = sdiv i32 %t1935, %t1938
|
|
store i32 %t1939, i32* %t2
|
|
%t1940 = load i32, i32* %t2
|
|
%t1941 = add i32 %t1940, 65536
|
|
%t1942 = load i32, i32* %t3
|
|
%t1943 = sub i32 15, %t1942
|
|
%t1944 = add i32 %t1943, 1
|
|
%t1945 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1944
|
|
%t1946 = load i32, i32* %t1945
|
|
%t1947 = sub i32 %t1941, %t1946
|
|
store i32 %t1947, i32* %t0
|
|
br label %if.end.638
|
|
if.end.638:
|
|
br label %if.end.635
|
|
if.else.639:
|
|
%t1948 = load i32, i32* %t2
|
|
%t1949 = load i32, i32* %t3
|
|
%t1950 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1949
|
|
%t1951 = load i32, i32* %t1950
|
|
%t1952 = sdiv i32 %t1948, %t1951
|
|
store i32 %t1952, i32* %t0
|
|
br label %if.end.638
|
|
while.cond.640:
|
|
%t1962 = load i32, i32* %t1959
|
|
%t1963 = icmp ne i32 %t1962, 0
|
|
br i1 %t1963, label %while.body.641, label %while.end.642
|
|
while.body.641:
|
|
store i32 0, i32* %t0
|
|
store i32 0, i32* %t1
|
|
%t1964 = load i32, i32* %t1959
|
|
store i32 %t1964, i32* %t2
|
|
store i32 1, i32* %t3
|
|
br label %while.cond.643
|
|
while.end.642:
|
|
%t2200 = load i32, i32* %t1961
|
|
store i32 %t2200, i32* %t0
|
|
%t2201 = load i32, i32* %t0
|
|
store i32 %t2201, i32* %t1682
|
|
%t2202 = load i32, i32* %t1683
|
|
store i32 %t2202, i32* %t2
|
|
store i32 1, i32* %t3
|
|
%t2203 = load i32, i32* %t3
|
|
%t2204 = icmp sge i32 %t2203, 15
|
|
%t2205 = icmp ne i32 %t2204, 0
|
|
br i1 %t2205, label %if.then.719, label %if.else.721
|
|
while.cond.643:
|
|
%t1965 = load i32, i32* %t1
|
|
%t1966 = icmp slt i32 %t1965, 16
|
|
%t1967 = icmp ne i32 %t1966, 0
|
|
br i1 %t1967, label %while.body.644, label %while.end.645
|
|
while.body.644:
|
|
%t1968 = load i32, i32* %t2
|
|
%t1969 = srem i32 %t1968, 2
|
|
%t1970 = icmp ne i32 %t1969, 0
|
|
br i1 %t1970, label %land.rhs.648, label %if.end.647
|
|
while.end.645:
|
|
%t1985 = load i32, i32* %t0
|
|
%t1986 = icmp ne i32 %t1985, 0
|
|
br i1 %t1986, label %if.then.649, label %if.end.650
|
|
if.then.646:
|
|
%t1974 = load i32, i32* %t0
|
|
%t1975 = load i32, i32* %t1
|
|
%t1976 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1975
|
|
%t1977 = load i32, i32* %t1976
|
|
%t1978 = add i32 %t1974, %t1977
|
|
store i32 %t1978, i32* %t0
|
|
br label %if.end.647
|
|
if.end.647:
|
|
%t1979 = load i32, i32* %t2
|
|
%t1980 = sdiv i32 %t1979, 2
|
|
store i32 %t1980, i32* %t2
|
|
%t1981 = load i32, i32* %t3
|
|
%t1982 = sdiv i32 %t1981, 2
|
|
store i32 %t1982, i32* %t3
|
|
%t1983 = load i32, i32* %t1
|
|
%t1984 = add i32 %t1983, 1
|
|
store i32 %t1984, i32* %t1
|
|
br label %while.cond.643
|
|
land.rhs.648:
|
|
%t1971 = load i32, i32* %t3
|
|
%t1972 = srem i32 %t1971, 2
|
|
%t1973 = icmp ne i32 %t1972, 0
|
|
br i1 %t1973, label %if.then.646, label %if.end.647
|
|
if.then.649:
|
|
%t1987 = alloca i32
|
|
%t1988 = load i32, i32* %t1961
|
|
store i32 %t1988, i32* %t1987
|
|
%t1989 = alloca i32
|
|
%t1990 = load i32, i32* %t1957
|
|
store i32 %t1990, i32* %t1989
|
|
%t1991 = alloca i32
|
|
store i32 0, i32* %t1991
|
|
br label %while.cond.651
|
|
if.end.650:
|
|
%t2077 = alloca i32
|
|
%t2078 = load i32, i32* %t1957
|
|
store i32 %t2078, i32* %t2077
|
|
%t2079 = alloca i32
|
|
%t2080 = load i32, i32* %t1957
|
|
store i32 %t2080, i32* %t2079
|
|
%t2081 = alloca i32
|
|
store i32 0, i32* %t2081
|
|
br label %while.cond.679
|
|
while.cond.651:
|
|
%t1992 = load i32, i32* %t1989
|
|
%t1993 = icmp ne i32 %t1992, 0
|
|
br i1 %t1993, label %while.body.652, label %while.end.653
|
|
while.body.652:
|
|
store i32 0, i32* %t0
|
|
store i32 0, i32* %t1
|
|
%t1994 = load i32, i32* %t1987
|
|
store i32 %t1994, i32* %t2
|
|
%t1995 = load i32, i32* %t1989
|
|
store i32 %t1995, i32* %t3
|
|
br label %while.cond.654
|
|
while.end.653:
|
|
%t2075 = load i32, i32* %t1987
|
|
store i32 %t2075, i32* %t0
|
|
%t2076 = load i32, i32* %t0
|
|
store i32 %t2076, i32* %t1961
|
|
br label %if.end.650
|
|
while.cond.654:
|
|
%t1996 = load i32, i32* %t1
|
|
%t1997 = icmp slt i32 %t1996, 16
|
|
%t1998 = icmp ne i32 %t1997, 0
|
|
br i1 %t1998, label %while.body.655, label %while.end.656
|
|
while.body.655:
|
|
%t1999 = load i32, i32* %t2
|
|
%t2000 = srem i32 %t1999, 2
|
|
%t2001 = icmp ne i32 %t2000, 0
|
|
br i1 %t2001, label %if.then.657, label %if.else.659
|
|
while.end.656:
|
|
%t2025 = load i32, i32* %t0
|
|
store i32 %t2025, i32* %t1991
|
|
store i32 0, i32* %t0
|
|
store i32 0, i32* %t1
|
|
%t2026 = load i32, i32* %t1987
|
|
store i32 %t2026, i32* %t2
|
|
%t2027 = load i32, i32* %t1989
|
|
store i32 %t2027, i32* %t3
|
|
br label %while.cond.664
|
|
if.then.657:
|
|
%t2002 = load i32, i32* %t3
|
|
%t2003 = srem i32 %t2002, 2
|
|
%t2004 = icmp eq i32 %t2003, 0
|
|
%t2005 = icmp ne i32 %t2004, 0
|
|
br i1 %t2005, label %if.then.660, label %if.end.661
|
|
if.end.658:
|
|
%t2019 = load i32, i32* %t2
|
|
%t2020 = sdiv i32 %t2019, 2
|
|
store i32 %t2020, i32* %t2
|
|
%t2021 = load i32, i32* %t3
|
|
%t2022 = sdiv i32 %t2021, 2
|
|
store i32 %t2022, i32* %t3
|
|
%t2023 = load i32, i32* %t1
|
|
%t2024 = add i32 %t2023, 1
|
|
store i32 %t2024, i32* %t1
|
|
br label %while.cond.654
|
|
if.else.659:
|
|
%t2011 = load i32, i32* %t3
|
|
%t2012 = srem i32 %t2011, 2
|
|
%t2013 = icmp ne i32 %t2012, 0
|
|
br i1 %t2013, label %if.then.662, label %if.end.663
|
|
if.then.660:
|
|
%t2006 = load i32, i32* %t0
|
|
%t2007 = load i32, i32* %t1
|
|
%t2008 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t2007
|
|
%t2009 = load i32, i32* %t2008
|
|
%t2010 = add i32 %t2006, %t2009
|
|
store i32 %t2010, i32* %t0
|
|
br label %if.end.661
|
|
if.end.661:
|
|
br label %if.end.658
|
|
if.then.662:
|
|
%t2014 = load i32, i32* %t0
|
|
%t2015 = load i32, i32* %t1
|
|
%t2016 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t2015
|
|
%t2017 = load i32, i32* %t2016
|
|
%t2018 = add i32 %t2014, %t2017
|
|
store i32 %t2018, i32* %t0
|
|
br label %if.end.663
|
|
if.end.663:
|
|
br label %if.end.658
|
|
while.cond.664:
|
|
%t2028 = load i32, i32* %t1
|
|
%t2029 = icmp slt i32 %t2028, 16
|
|
%t2030 = icmp ne i32 %t2029, 0
|
|
br i1 %t2030, label %while.body.665, label %while.end.666
|
|
while.body.665:
|
|
%t2031 = load i32, i32* %t2
|
|
%t2032 = srem i32 %t2031, 2
|
|
%t2033 = icmp ne i32 %t2032, 0
|
|
br i1 %t2033, label %land.rhs.669, label %if.end.668
|
|
while.end.666:
|
|
%t2048 = load i32, i32* %t0
|
|
store i32 %t2048, i32* %t1989
|
|
br i1 0, label %if.then.670, label %if.else.672
|
|
if.then.667:
|
|
%t2037 = load i32, i32* %t0
|
|
%t2038 = load i32, i32* %t1
|
|
%t2039 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t2038
|
|
%t2040 = load i32, i32* %t2039
|
|
%t2041 = add i32 %t2037, %t2040
|
|
store i32 %t2041, i32* %t0
|
|
br label %if.end.668
|
|
if.end.668:
|
|
%t2042 = load i32, i32* %t2
|
|
%t2043 = sdiv i32 %t2042, 2
|
|
store i32 %t2043, i32* %t2
|
|
%t2044 = load i32, i32* %t3
|
|
%t2045 = sdiv i32 %t2044, 2
|
|
store i32 %t2045, i32* %t3
|
|
%t2046 = load i32, i32* %t1
|
|
%t2047 = add i32 %t2046, 1
|
|
store i32 %t2047, i32* %t1
|
|
br label %while.cond.664
|
|
land.rhs.669:
|
|
%t2034 = load i32, i32* %t3
|
|
%t2035 = srem i32 %t2034, 2
|
|
%t2036 = icmp ne i32 %t2035, 0
|
|
br i1 %t2036, label %if.then.667, label %if.end.668
|
|
if.then.670:
|
|
store i32 0, i32* %t0
|
|
br label %if.end.671
|
|
if.end.671:
|
|
%t2073 = load i32, i32* %t0
|
|
store i32 %t2073, i32* %t1989
|
|
%t2074 = load i32, i32* %t1991
|
|
store i32 %t2074, i32* %t1987
|
|
br label %while.cond.651
|
|
if.else.672:
|
|
store i32 0, i32* %t0
|
|
store i32 0, i32* %t1
|
|
%t2049 = load i32, i32* %t1989
|
|
%t2050 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 1
|
|
%t2051 = load i32, i32* %t2050
|
|
%t2052 = mul i32 %t2049, %t2051
|
|
store i32 %t2052, i32* %t2
|
|
store i32 65535, i32* %t3
|
|
br label %while.cond.673
|
|
while.cond.673:
|
|
%t2053 = load i32, i32* %t1
|
|
%t2054 = icmp slt i32 %t2053, 16
|
|
%t2055 = icmp ne i32 %t2054, 0
|
|
br i1 %t2055, label %while.body.674, label %while.end.675
|
|
while.body.674:
|
|
%t2056 = load i32, i32* %t2
|
|
%t2057 = srem i32 %t2056, 2
|
|
%t2058 = icmp ne i32 %t2057, 0
|
|
br i1 %t2058, label %land.rhs.678, label %if.end.677
|
|
while.end.675:
|
|
br label %if.end.671
|
|
if.then.676:
|
|
%t2062 = load i32, i32* %t0
|
|
%t2063 = load i32, i32* %t1
|
|
%t2064 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t2063
|
|
%t2065 = load i32, i32* %t2064
|
|
%t2066 = add i32 %t2062, %t2065
|
|
store i32 %t2066, i32* %t0
|
|
br label %if.end.677
|
|
if.end.677:
|
|
%t2067 = load i32, i32* %t2
|
|
%t2068 = sdiv i32 %t2067, 2
|
|
store i32 %t2068, i32* %t2
|
|
%t2069 = load i32, i32* %t3
|
|
%t2070 = sdiv i32 %t2069, 2
|
|
store i32 %t2070, i32* %t3
|
|
%t2071 = load i32, i32* %t1
|
|
%t2072 = add i32 %t2071, 1
|
|
store i32 %t2072, i32* %t1
|
|
br label %while.cond.673
|
|
land.rhs.678:
|
|
%t2059 = load i32, i32* %t3
|
|
%t2060 = srem i32 %t2059, 2
|
|
%t2061 = icmp ne i32 %t2060, 0
|
|
br i1 %t2061, label %if.then.676, label %if.end.677
|
|
while.cond.679:
|
|
%t2082 = load i32, i32* %t2079
|
|
%t2083 = icmp ne i32 %t2082, 0
|
|
br i1 %t2083, label %while.body.680, label %while.end.681
|
|
while.body.680:
|
|
store i32 0, i32* %t0
|
|
store i32 0, i32* %t1
|
|
%t2084 = load i32, i32* %t2077
|
|
store i32 %t2084, i32* %t2
|
|
%t2085 = load i32, i32* %t2079
|
|
store i32 %t2085, i32* %t3
|
|
br label %while.cond.682
|
|
while.end.681:
|
|
%t2165 = load i32, i32* %t2077
|
|
store i32 %t2165, i32* %t0
|
|
%t2166 = load i32, i32* %t0
|
|
store i32 %t2166, i32* %t1957
|
|
%t2167 = load i32, i32* %t1959
|
|
store i32 %t2167, i32* %t2
|
|
store i32 1, i32* %t3
|
|
%t2168 = load i32, i32* %t3
|
|
%t2169 = icmp sge i32 %t2168, 15
|
|
%t2170 = icmp ne i32 %t2169, 0
|
|
br i1 %t2170, label %if.then.707, label %if.else.709
|
|
while.cond.682:
|
|
%t2086 = load i32, i32* %t1
|
|
%t2087 = icmp slt i32 %t2086, 16
|
|
%t2088 = icmp ne i32 %t2087, 0
|
|
br i1 %t2088, label %while.body.683, label %while.end.684
|
|
while.body.683:
|
|
%t2089 = load i32, i32* %t2
|
|
%t2090 = srem i32 %t2089, 2
|
|
%t2091 = icmp ne i32 %t2090, 0
|
|
br i1 %t2091, label %if.then.685, label %if.else.687
|
|
while.end.684:
|
|
%t2115 = load i32, i32* %t0
|
|
store i32 %t2115, i32* %t2081
|
|
store i32 0, i32* %t0
|
|
store i32 0, i32* %t1
|
|
%t2116 = load i32, i32* %t2077
|
|
store i32 %t2116, i32* %t2
|
|
%t2117 = load i32, i32* %t2079
|
|
store i32 %t2117, i32* %t3
|
|
br label %while.cond.692
|
|
if.then.685:
|
|
%t2092 = load i32, i32* %t3
|
|
%t2093 = srem i32 %t2092, 2
|
|
%t2094 = icmp eq i32 %t2093, 0
|
|
%t2095 = icmp ne i32 %t2094, 0
|
|
br i1 %t2095, label %if.then.688, label %if.end.689
|
|
if.end.686:
|
|
%t2109 = load i32, i32* %t2
|
|
%t2110 = sdiv i32 %t2109, 2
|
|
store i32 %t2110, i32* %t2
|
|
%t2111 = load i32, i32* %t3
|
|
%t2112 = sdiv i32 %t2111, 2
|
|
store i32 %t2112, i32* %t3
|
|
%t2113 = load i32, i32* %t1
|
|
%t2114 = add i32 %t2113, 1
|
|
store i32 %t2114, i32* %t1
|
|
br label %while.cond.682
|
|
if.else.687:
|
|
%t2101 = load i32, i32* %t3
|
|
%t2102 = srem i32 %t2101, 2
|
|
%t2103 = icmp ne i32 %t2102, 0
|
|
br i1 %t2103, label %if.then.690, label %if.end.691
|
|
if.then.688:
|
|
%t2096 = load i32, i32* %t0
|
|
%t2097 = load i32, i32* %t1
|
|
%t2098 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t2097
|
|
%t2099 = load i32, i32* %t2098
|
|
%t2100 = add i32 %t2096, %t2099
|
|
store i32 %t2100, i32* %t0
|
|
br label %if.end.689
|
|
if.end.689:
|
|
br label %if.end.686
|
|
if.then.690:
|
|
%t2104 = load i32, i32* %t0
|
|
%t2105 = load i32, i32* %t1
|
|
%t2106 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t2105
|
|
%t2107 = load i32, i32* %t2106
|
|
%t2108 = add i32 %t2104, %t2107
|
|
store i32 %t2108, i32* %t0
|
|
br label %if.end.691
|
|
if.end.691:
|
|
br label %if.end.686
|
|
while.cond.692:
|
|
%t2118 = load i32, i32* %t1
|
|
%t2119 = icmp slt i32 %t2118, 16
|
|
%t2120 = icmp ne i32 %t2119, 0
|
|
br i1 %t2120, label %while.body.693, label %while.end.694
|
|
while.body.693:
|
|
%t2121 = load i32, i32* %t2
|
|
%t2122 = srem i32 %t2121, 2
|
|
%t2123 = icmp ne i32 %t2122, 0
|
|
br i1 %t2123, label %land.rhs.697, label %if.end.696
|
|
while.end.694:
|
|
%t2138 = load i32, i32* %t0
|
|
store i32 %t2138, i32* %t2079
|
|
br i1 0, label %if.then.698, label %if.else.700
|
|
if.then.695:
|
|
%t2127 = load i32, i32* %t0
|
|
%t2128 = load i32, i32* %t1
|
|
%t2129 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t2128
|
|
%t2130 = load i32, i32* %t2129
|
|
%t2131 = add i32 %t2127, %t2130
|
|
store i32 %t2131, i32* %t0
|
|
br label %if.end.696
|
|
if.end.696:
|
|
%t2132 = load i32, i32* %t2
|
|
%t2133 = sdiv i32 %t2132, 2
|
|
store i32 %t2133, i32* %t2
|
|
%t2134 = load i32, i32* %t3
|
|
%t2135 = sdiv i32 %t2134, 2
|
|
store i32 %t2135, i32* %t3
|
|
%t2136 = load i32, i32* %t1
|
|
%t2137 = add i32 %t2136, 1
|
|
store i32 %t2137, i32* %t1
|
|
br label %while.cond.692
|
|
land.rhs.697:
|
|
%t2124 = load i32, i32* %t3
|
|
%t2125 = srem i32 %t2124, 2
|
|
%t2126 = icmp ne i32 %t2125, 0
|
|
br i1 %t2126, label %if.then.695, label %if.end.696
|
|
if.then.698:
|
|
store i32 0, i32* %t0
|
|
br label %if.end.699
|
|
if.end.699:
|
|
%t2163 = load i32, i32* %t0
|
|
store i32 %t2163, i32* %t2079
|
|
%t2164 = load i32, i32* %t2081
|
|
store i32 %t2164, i32* %t2077
|
|
br label %while.cond.679
|
|
if.else.700:
|
|
store i32 0, i32* %t0
|
|
store i32 0, i32* %t1
|
|
%t2139 = load i32, i32* %t2079
|
|
%t2140 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 1
|
|
%t2141 = load i32, i32* %t2140
|
|
%t2142 = mul i32 %t2139, %t2141
|
|
store i32 %t2142, i32* %t2
|
|
store i32 65535, i32* %t3
|
|
br label %while.cond.701
|
|
while.cond.701:
|
|
%t2143 = load i32, i32* %t1
|
|
%t2144 = icmp slt i32 %t2143, 16
|
|
%t2145 = icmp ne i32 %t2144, 0
|
|
br i1 %t2145, label %while.body.702, label %while.end.703
|
|
while.body.702:
|
|
%t2146 = load i32, i32* %t2
|
|
%t2147 = srem i32 %t2146, 2
|
|
%t2148 = icmp ne i32 %t2147, 0
|
|
br i1 %t2148, label %land.rhs.706, label %if.end.705
|
|
while.end.703:
|
|
br label %if.end.699
|
|
if.then.704:
|
|
%t2152 = load i32, i32* %t0
|
|
%t2153 = load i32, i32* %t1
|
|
%t2154 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t2153
|
|
%t2155 = load i32, i32* %t2154
|
|
%t2156 = add i32 %t2152, %t2155
|
|
store i32 %t2156, i32* %t0
|
|
br label %if.end.705
|
|
if.end.705:
|
|
%t2157 = load i32, i32* %t2
|
|
%t2158 = sdiv i32 %t2157, 2
|
|
store i32 %t2158, i32* %t2
|
|
%t2159 = load i32, i32* %t3
|
|
%t2160 = sdiv i32 %t2159, 2
|
|
store i32 %t2160, i32* %t3
|
|
%t2161 = load i32, i32* %t1
|
|
%t2162 = add i32 %t2161, 1
|
|
store i32 %t2162, i32* %t1
|
|
br label %while.cond.701
|
|
land.rhs.706:
|
|
%t2149 = load i32, i32* %t3
|
|
%t2150 = srem i32 %t2149, 2
|
|
%t2151 = icmp ne i32 %t2150, 0
|
|
br i1 %t2151, label %if.then.704, label %if.end.705
|
|
if.then.707:
|
|
%t2171 = load i32, i32* %t2
|
|
%t2172 = icmp slt i32 %t2171, 0
|
|
%t2173 = icmp ne i32 %t2172, 0
|
|
br i1 %t2173, label %if.then.710, label %if.else.712
|
|
if.end.708:
|
|
%t2199 = load i32, i32* %t0
|
|
store i32 %t2199, i32* %t1959
|
|
br label %while.cond.640
|
|
if.else.709:
|
|
%t2174 = load i32, i32* %t3
|
|
%t2175 = icmp sgt i32 %t2174, 0
|
|
%t2176 = icmp ne i32 %t2175, 0
|
|
br i1 %t2176, label %if.then.713, label %if.else.715
|
|
if.then.710:
|
|
store i32 65535, i32* %t0
|
|
br label %if.end.711
|
|
if.end.711:
|
|
br label %if.end.708
|
|
if.else.712:
|
|
store i32 0, i32* %t0
|
|
br label %if.end.711
|
|
if.then.713:
|
|
%t2177 = load i32, i32* %t2
|
|
%t2178 = icmp sgt i32 %t2177, 32767
|
|
%t2179 = icmp ne i32 %t2178, 0
|
|
br i1 %t2179, label %if.then.716, label %if.else.718
|
|
if.end.714:
|
|
br label %if.end.708
|
|
if.else.715:
|
|
%t2198 = load i32, i32* %t2
|
|
store i32 %t2198, i32* %t0
|
|
br label %if.end.714
|
|
if.then.716:
|
|
%t2180 = load i32, i32* %t2
|
|
%t2181 = load i32, i32* %t3
|
|
%t2182 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t2181
|
|
%t2183 = load i32, i32* %t2182
|
|
%t2184 = sdiv i32 %t2180, %t2183
|
|
store i32 %t2184, i32* %t2
|
|
%t2185 = load i32, i32* %t2
|
|
%t2186 = add i32 %t2185, 65536
|
|
%t2187 = load i32, i32* %t3
|
|
%t2188 = sub i32 15, %t2187
|
|
%t2189 = add i32 %t2188, 1
|
|
%t2190 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t2189
|
|
%t2191 = load i32, i32* %t2190
|
|
%t2192 = sub i32 %t2186, %t2191
|
|
store i32 %t2192, i32* %t0
|
|
br label %if.end.717
|
|
if.end.717:
|
|
br label %if.end.714
|
|
if.else.718:
|
|
%t2193 = load i32, i32* %t2
|
|
%t2194 = load i32, i32* %t3
|
|
%t2195 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t2194
|
|
%t2196 = load i32, i32* %t2195
|
|
%t2197 = sdiv i32 %t2193, %t2196
|
|
store i32 %t2197, i32* %t0
|
|
br label %if.end.717
|
|
if.then.719:
|
|
%t2206 = load i32, i32* %t2
|
|
%t2207 = icmp slt i32 %t2206, 0
|
|
%t2208 = icmp ne i32 %t2207, 0
|
|
br i1 %t2208, label %if.then.722, label %if.else.724
|
|
if.end.720:
|
|
%t2234 = load i32, i32* %t0
|
|
store i32 %t2234, i32* %t1683
|
|
br label %while.cond.550
|
|
if.else.721:
|
|
%t2209 = load i32, i32* %t3
|
|
%t2210 = icmp sgt i32 %t2209, 0
|
|
%t2211 = icmp ne i32 %t2210, 0
|
|
br i1 %t2211, label %if.then.725, label %if.else.727
|
|
if.then.722:
|
|
store i32 65535, i32* %t0
|
|
br label %if.end.723
|
|
if.end.723:
|
|
br label %if.end.720
|
|
if.else.724:
|
|
store i32 0, i32* %t0
|
|
br label %if.end.723
|
|
if.then.725:
|
|
%t2212 = load i32, i32* %t2
|
|
%t2213 = icmp sgt i32 %t2212, 32767
|
|
%t2214 = icmp ne i32 %t2213, 0
|
|
br i1 %t2214, label %if.then.728, label %if.else.730
|
|
if.end.726:
|
|
br label %if.end.720
|
|
if.else.727:
|
|
%t2233 = load i32, i32* %t2
|
|
store i32 %t2233, i32* %t0
|
|
br label %if.end.726
|
|
if.then.728:
|
|
%t2215 = load i32, i32* %t2
|
|
%t2216 = load i32, i32* %t3
|
|
%t2217 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t2216
|
|
%t2218 = load i32, i32* %t2217
|
|
%t2219 = sdiv i32 %t2215, %t2218
|
|
store i32 %t2219, i32* %t2
|
|
%t2220 = load i32, i32* %t2
|
|
%t2221 = add i32 %t2220, 65536
|
|
%t2222 = load i32, i32* %t3
|
|
%t2223 = sub i32 15, %t2222
|
|
%t2224 = add i32 %t2223, 1
|
|
%t2225 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t2224
|
|
%t2226 = load i32, i32* %t2225
|
|
%t2227 = sub i32 %t2221, %t2226
|
|
store i32 %t2227, i32* %t0
|
|
br label %if.end.729
|
|
if.end.729:
|
|
br label %if.end.726
|
|
if.else.730:
|
|
%t2228 = load i32, i32* %t2
|
|
%t2229 = load i32, i32* %t3
|
|
%t2230 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t2229
|
|
%t2231 = load i32, i32* %t2230
|
|
%t2232 = sdiv i32 %t2228, %t2231
|
|
store i32 %t2232, i32* %t0
|
|
br label %if.end.729
|
|
if.then.731:
|
|
ret i32 1
|
|
if.end.732:
|
|
%t2242 = load i32, i32* %t4
|
|
%t2243 = add i32 %t2242, 1
|
|
store i32 %t2243, i32* %t4
|
|
br label %while.cond.547
|
|
}
|
|
define i32 @main() {
|
|
entry:
|
|
%t2244 = call i32 @long_func()
|
|
ret i32 %t2244
|
|
}
|