Created
May 5, 2018 23:21
-
-
Save regehr/0271e1060f791d7d813c000fa5596c8e to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
----------------------------------------------------------- | |
; start LHS (in $_lua_settop) | |
%0:i32 = var | |
; (i32.le_s(get_local $1)(i32.const -1)) | |
%1 = sle %0, -1:i32 | |
%2:i32 = zext %1 | |
infer %2 | |
; RHS inferred successfully | |
%3:i32 = lshr %0, 31:i32 | |
result %3 | |
----------------------------------------------------------- | |
; start LHS (in $_lua_type) | |
%0:i32 = var | |
; (i32.le_s(i32.const 0)(get_local $1)) | |
%1 = sle 0:i32, %0 | |
%2:i32 = zext %1 | |
; (i32.eq(unreachable)(unreachable)) | |
%3 = eq %2, 0:i32 | |
infer %3 | |
; RHS inferred successfully | |
%4:i32 = ashr %0, 31:i32 | |
%5:i1 = trunc %4 | |
result %5 | |
----------------------------------------------------------- | |
; start LHS (in $_luaL_error) | |
%0:i32 = var | |
; (i32.add(get_local $3)(i32.const 24)) | |
%1 = add %0, 24:i32 | |
; (i32.add(get_local $4)(i32.const 36)) | |
%2 = add %1, 36:i32 | |
%3:i32 = var | |
; (i32.le_s(i32.const 0)(get_local $2)) | |
%4 = sle 0:i32, %3 | |
%5:i32 = var | |
; (i32.ne(unreachable)(unreachable)) | |
%6 = ne %5, 0:i32 | |
pc %4 1:i1 | |
pc %6 1:i1 | |
infer %2 | |
; RHS inferred successfully | |
%7:i32 = sub %0, 4294967236:i32 | |
result %7 | |
----------------------------------------------------------- | |
; start LHS (in $_luaL_error) | |
%0:i32 = var | |
; (i32.le_s(i32.const 0)(get_local $2)) | |
%1 = sle 0:i32, %0 | |
%2:i32 = zext %1 | |
; (i32.eq(unreachable)(unreachable)) | |
%3 = eq %2, 0:i32 | |
infer %3 | |
; RHS inferred successfully | |
%4:i32 = ashr %0, 31:i32 | |
%5:i1 = trunc %4 | |
result %5 | |
----------------------------------------------------------- | |
; start LHS (in $_lua_pushvalue) | |
%0:i32 = var | |
; (i32.le_s(i32.const 0)(get_local $1)) | |
%1 = sle 0:i32, %0 | |
%2:i32 = zext %1 | |
; (i32.eq(unreachable)(unreachable)) | |
%3 = eq %2, 0:i32 | |
infer %3 | |
; RHS inferred successfully | |
%4:i32 = ashr %0, 31:i32 | |
%5:i1 = trunc %4 | |
result %5 | |
----------------------------------------------------------- | |
; start LHS (in $_lua_setfield) | |
%0:i32 = var | |
; (i32.le_s(i32.const 0)(get_local $1)) | |
%1 = sle 0:i32, %0 | |
%2:i32 = zext %1 | |
; (i32.eq(unreachable)(unreachable)) | |
%3 = eq %2, 0:i32 | |
infer %3 | |
; RHS inferred successfully | |
%4:i32 = ashr %0, 31:i32 | |
%5:i1 = trunc %4 | |
result %5 | |
----------------------------------------------------------- | |
; start LHS (in $_lua_tolstring) | |
%0:i32 = var | |
; (i32.le_s(i32.const 0)(get_local $1)) | |
%1 = sle 0:i32, %0 | |
%2:i32 = zext %1 | |
; (i32.eq(unreachable)(unreachable)) | |
%3 = eq %2, 0:i32 | |
infer %3 | |
; RHS inferred successfully | |
%4:i32 = ashr %0, 31:i32 | |
%5:i1 = trunc %4 | |
result %5 | |
----------------------------------------------------------- | |
; start LHS (in $_lua_tolstring) | |
%0:i32 = var | |
; (i32.le_s(i32.const 0)(get_local $68)) | |
%1 = sle 0:i32, %0 | |
%2:i32 = zext %1 | |
; (i32.eq(unreachable)(unreachable)) | |
%3 = eq %2, 0:i32 | |
infer %3 | |
; RHS inferred successfully | |
%4:i32 = ashr %0, 31:i32 | |
%5:i1 = trunc %4 | |
result %5 | |
----------------------------------------------------------- | |
; start LHS (in $_lua_tolstring) | |
%0:i32 = var | |
; (i32.le_s(i32.const 0)(get_local $1)) | |
%1 = sle 0:i32, %0 | |
%2:i32 = zext %1 | |
; (i32.eq(unreachable)(unreachable)) | |
%3 = eq %2, 0:i32 | |
infer %3 | |
; RHS inferred successfully | |
%4:i32 = ashr %0, 31:i32 | |
%5:i1 = trunc %4 | |
result %5 | |
----------------------------------------------------------- | |
; start LHS (in $_lua_pushlstring) | |
%0:i32 = var | |
; (i32.le_s(i32.const 0)(get_local $5)) | |
%1 = sle 0:i32, %0 | |
%2:i32 = zext %1 | |
; (i32.eq(unreachable)(unreachable)) | |
%3 = eq %2, 0:i32 | |
infer %3 | |
; RHS inferred successfully | |
%4:i32 = ashr %0, 31:i32 | |
%5:i1 = trunc %4 | |
result %5 | |
----------------------------------------------------------- | |
; start LHS (in $_luaL_argerror) | |
%0:i32 = var | |
; (i32.add(get_local $5)(i32.const 28)) | |
%1 = add %0, 28:i32 | |
; (i32.add(get_local $3)(i32.const 4)) | |
%2 = add %1, 4:i32 | |
%3:i32 = var | |
; (i32.eq(unreachable)(unreachable)) | |
%4 = eq %3, 0:i32 | |
pc %4 1:i1 | |
infer %2 | |
; RHS inferred successfully | |
%5:i32 = sub %0, 4294967264:i32 | |
result %5 | |
----------------------------------------------------------- | |
; start LHS (in $_memcpy) | |
%0:i32 = var | |
; (i32.and(get_local $0)(i32.const 3)) | |
%1 = and %0, 3:i32 | |
%2:i32 = var | |
; (i32.and(get_local $1)(i32.const 3)) | |
%3 = and %2, 3:i32 | |
; (i32.eq(get_local $17)(get_local $19)) | |
%4 = eq %1, %3 | |
%5:i32 = zext %4 | |
; (i32.eq(unreachable)(unreachable)) | |
%6 = eq %5, 0:i32 | |
infer %6 | |
; RHS inferred successfully | |
%7:i32 = xor %0, %2 | |
%8:i32 = lshr %7, 1:i32 | |
%9:i32 = or %7, %8 | |
%10:i1 = trunc %9 | |
result %10 | |
----------------------------------------------------------- | |
; start LHS (in $_lua_pushstring) | |
%0:i32 = var | |
; (i32.le_s(i32.const 0)(get_local $15)) | |
%1 = sle 0:i32, %0 | |
%2:i32 = zext %1 | |
; (i32.eq(unreachable)(unreachable)) | |
%3 = eq %2, 0:i32 | |
infer %3 | |
; RHS inferred successfully | |
%4:i32 = ashr %0, 31:i32 | |
%5:i1 = trunc %4 | |
result %5 | |
----------------------------------------------------------- | |
; start LHS (in $_luaK_code) | |
%0:i32 = var | |
%1:i32 = var | |
; (i32.xor(get_local $2)(i32.const -1)) | |
%2 = xor %1, -1:i32 | |
; (i32.add(get_local $10)(get_local $60)) | |
%3 = add %0, %2 | |
; (i32.sub(i32.const 0)(get_local $3)) | |
%4 = sub 0:i32, %3 | |
; (i32.le_s(i32.const -1)(get_local $3)) | |
%5 = sle -1:i32, %3 | |
%6:i32 = zext %5 | |
; (i32.eq(unreachable)(unreachable)) | |
%7 = eq %6, 0:i32 | |
%8 = block 2 | |
%9:i32 = var | |
%10:i32 = var | |
%11 = phi %8, %9, %10 | |
; (i32.and(get_local $3)(i32.const 63)) | |
%12 = and %11, 63:i32 | |
; (i32.eq(get_local $48)(i32.const 28)) | |
%13 = eq %12, 28:i32 | |
%14:i32 = var | |
; (i32.eq(get_local $2)(i32.const -1)) | |
%15 = eq %14, -1:i32 | |
%16:i32 = zext %15 | |
; (i32.eq(unreachable)(unreachable)) | |
%17 = eq %16, 0:i32 | |
pc %7 1:i1 | |
pc %13 1:i1 | |
pc %17 1:i1 | |
infer %4 | |
; RHS inferred successfully | |
%18:i32 = add 1:i32, %1 | |
%19:i32 = sub %18, %0 | |
result %19 | |
----------------------------------------------------------- | |
; start LHS (in $_luaK_code) | |
%0:i32 = var | |
%1:i32 = var | |
; (i32.xor(get_local $2)(i32.const -1)) | |
%2 = xor %1, -1:i32 | |
; (i32.add(get_local $10)(get_local $77)) | |
%3 = add %0, %2 | |
; (i32.sub(i32.const 0)(get_local $3)) | |
%4 = sub 0:i32, %3 | |
; (i32.le_s(i32.const -1)(get_local $3)) | |
%5 = sle -1:i32, %3 | |
%6:i32 = zext %5 | |
; (i32.eq(unreachable)(unreachable)) | |
%7 = eq %6, 0:i32 | |
%8 = block 2 | |
%9:i32 = var | |
%10:i32 = var | |
%11 = phi %8, %9, %10 | |
; (i32.and(get_local $3)(i32.const 63)) | |
%12 = and %11, 63:i32 | |
; (i32.eq(get_local $48)(i32.const 28)) | |
%13 = eq %12, 28:i32 | |
%14:i32 = zext %13 | |
; (i32.eq(unreachable)(unreachable)) | |
%15 = eq %14, 0:i32 | |
%16:i32 = var | |
; (i32.eq(get_local $2)(i32.const -1)) | |
%17 = eq %16, -1:i32 | |
%18:i32 = zext %17 | |
; (i32.eq(unreachable)(unreachable)) | |
%19 = eq %18, 0:i32 | |
pc %7 1:i1 | |
pc %15 1:i1 | |
pc %19 1:i1 | |
infer %4 | |
; RHS inferred successfully | |
%20:i32 = add 1:i32, %1 | |
%21:i32 = sub %20, %0 | |
result %21 | |
----------------------------------------------------------- | |
; start LHS (in $___shgetc) | |
%0:i32 = var | |
; (i32.lt_s(get_local $4)(i32.const 0)) | |
%1 = slt %0, 0:i32 | |
%2:i32 = zext %1 | |
infer %2 | |
; RHS inferred successfully | |
%3:i32 = lshr %0, 31:i32 | |
result %3 | |
----------------------------------------------------------- | |
; start LHS (in $___shgetc) | |
%0:i32 = var | |
; (i32.lt_s(get_local $4)(i32.const 0)) | |
%1 = slt %0, 0:i32 | |
%2:i32 = zext %1 | |
infer %2 | |
; RHS inferred successfully | |
%3:i32 = lshr %0, 31:i32 | |
result %3 | |
----------------------------------------------------------- | |
; start LHS (in $_lua_remove) | |
%0:i32 = var | |
; (i32.le_s(i32.const 0)(get_local $1)) | |
%1 = sle 0:i32, %0 | |
%2:i32 = zext %1 | |
; (i32.eq(unreachable)(unreachable)) | |
%3 = eq %2, 0:i32 | |
infer %3 | |
; RHS inferred successfully | |
%4:i32 = ashr %0, 31:i32 | |
%5:i1 = trunc %4 | |
result %5 | |
----------------------------------------------------------- | |
; start LHS (in $_lua_pushfstring) | |
%0:i32 = var | |
; (i32.le_s(i32.const 0)(get_local $9)) | |
%1 = sle 0:i32, %0 | |
%2:i32 = zext %1 | |
; (i32.eq(unreachable)(unreachable)) | |
%3 = eq %2, 0:i32 | |
infer %3 | |
; RHS inferred successfully | |
%4:i32 = ashr %0, 31:i32 | |
%5:i1 = trunc %4 | |
result %5 | |
----------------------------------------------------------- | |
; start LHS (in $_lua_getfield) | |
%0:i32 = var | |
; (i32.le_s(i32.const 0)(get_local $1)) | |
%1 = sle 0:i32, %0 | |
%2:i32 = zext %1 | |
; (i32.eq(unreachable)(unreachable)) | |
%3 = eq %2, 0:i32 | |
infer %3 | |
; RHS inferred successfully | |
%4:i32 = ashr %0, 31:i32 | |
%5:i1 = trunc %4 | |
result %5 | |
----------------------------------------------------------- | |
; start LHS (in $_fflush) | |
%0:i32 = var | |
; (i32.le_s(get_local $4)(i32.const -1)) | |
%1 = sle %0, -1:i32 | |
%2:i32 = zext %1 | |
infer %2 | |
; RHS inferred successfully | |
%3:i32 = lshr %0, 31:i32 | |
result %3 | |
----------------------------------------------------------- | |
; start LHS (in $_fflush) | |
%0:i32 = var | |
; (i32.le_s(get_local $4)(i32.const -1)) | |
%1 = sle %0, -1:i32 | |
%2:i32 = zext %1 | |
infer %2 | |
; RHS inferred successfully | |
%3:i32 = lshr %0, 31:i32 | |
result %3 | |
----------------------------------------------------------- | |
; start LHS (in $_fflush) | |
%0:i32 = var | |
; (i32.le_s(get_local $4)(i32.const -1)) | |
%1 = sle %0, -1:i32 | |
%2:i32 = zext %1 | |
infer %2 | |
; RHS inferred successfully | |
%3:i32 = lshr %0, 31:i32 | |
result %3 | |
----------------------------------------------------------- | |
; start LHS (in $_lua_rawgeti) | |
%0:i32 = var | |
; (i32.le_s(i32.const 0)(get_local $1)) | |
%1 = sle 0:i32, %0 | |
%2:i32 = zext %1 | |
; (i32.eq(unreachable)(unreachable)) | |
%3 = eq %2, 0:i32 | |
infer %3 | |
; RHS inferred successfully | |
%4:i32 = ashr %0, 31:i32 | |
%5:i1 = trunc %4 | |
result %5 | |
----------------------------------------------------------- | |
; start LHS (in $_luaS_newlstr) | |
%0:i32 = var | |
%1:i32 = var | |
; (i32.xor(get_local $41)(get_local $2)) | |
%2 = xor %0, %1 | |
; (i32.shr_u(get_local $2)(i32.const 5)) | |
%3 = lshr %1, 5:i32 | |
; (i32.lt_u(get_local $5)(get_local $2)) | |
%4 = ult %3, %1 | |
%5:i32 = zext %4 | |
; (i32.eq(unreachable)(unreachable)) | |
%6 = eq %5, 0:i32 | |
pc %6 1:i1 | |
infer %2 | |
; RHS inferred successfully | |
result %0 | |
----------------------------------------------------------- | |
; start LHS (in $_luaG_runerror) | |
%0:i32 = var | |
; (i32.and(get_local $20)(i32.const 1)) | |
%1 = and %0, 1:i32 | |
; (i32.eq(unreachable)(unreachable)) | |
%2 = eq %1, 0:i32 | |
%3:i32 = zext %2 | |
; (i32.eq(unreachable)(unreachable)) | |
%4 = eq %3, 0:i32 | |
infer %4 | |
; RHS inferred successfully | |
%5:i1 = trunc %0 | |
result %5 | |
----------------------------------------------------------- | |
; start LHS (in $_luaG_runerror) | |
%0:i32 = var | |
; (i32.and(get_local $20)(i32.const 1)) | |
%1 = and %0, 1:i32 | |
; (i32.eq(unreachable)(unreachable)) | |
%2 = eq %1, 0:i32 | |
%3:i32 = zext %2 | |
infer %3 | |
; RHS inferred successfully | |
%4:i32 = sub %0, 1:i32 | |
%5:i32 = and 1:i32, %4 | |
result %5 | |
----------------------------------------------------------- | |
; start LHS (in $_luaG_runerror) | |
%0:i32 = var | |
%1:i32 = var | |
; (i32.sub(get_local $33)(get_local $35)) | |
%2 = sub %0, %1 | |
; (i32.shr_s(get_local $36)(i32.const 2)) | |
%3 = ashr %2, 2:i32 | |
; (i32.add(get_local $37)(i32.const -1)) | |
%4 = add %3, -1:i32 | |
; (i32.shl(get_local $38)(i32.const 2)) | |
%5 = shl %4, 2:i32 | |
%6:i32 = var | |
; (i32.ne(unreachable)(unreachable)) | |
%7 = ne %6, 0:i32 | |
pc %7 1:i1 | |
infer %5 | |
; RHS inferred successfully | |
%8:i32 = add 4294967292:i32, %0 | |
%9:i32 = sub %8, %1 | |
%10:i32 = and 4294967292:i32, %9 | |
result %10 | |
----------------------------------------------------------- | |
; start LHS (in $_subexpr) | |
%0:i32 = var | |
; (i32.add(get_local $30)(i32.const 1)) | |
%1 = add %0, 1:i32 | |
; (i32.shl(get_local $31)(i32.const 16)) | |
%2 = shl %1, 16:i32 | |
; (i32.shr_s(get_local $32)(i32.const 16)) | |
%3 = ashr %2, 16:i32 | |
; (i32.and(get_local $4)(i32.const 65535)) | |
%4 = and %3, 65535:i32 | |
infer %4 | |
; RHS inferred successfully | |
%5:i32 = sub %0, 65535:i32 | |
%6:i32 = and 65535:i32, %5 | |
result %6 | |
----------------------------------------------------------- | |
; start LHS (in $_lua_rawseti) | |
%0:i32 = var | |
; (i32.le_s(i32.const 0)(get_local $1)) | |
%1 = sle 0:i32, %0 | |
%2:i32 = zext %1 | |
; (i32.eq(unreachable)(unreachable)) | |
%3 = eq %2, 0:i32 | |
infer %3 | |
; RHS inferred successfully | |
%4:i32 = ashr %0, 31:i32 | |
%5:i1 = trunc %4 | |
result %5 | |
----------------------------------------------------------- | |
; start LHS (in $_lua_insert) | |
%0:i32 = var | |
; (i32.le_s(i32.const 0)(get_local $1)) | |
%1 = sle 0:i32, %0 | |
%2:i32 = zext %1 | |
; (i32.eq(unreachable)(unreachable)) | |
%3 = eq %2, 0:i32 | |
infer %3 | |
; RHS inferred successfully | |
%4:i32 = ashr %0, 31:i32 | |
%5:i1 = trunc %4 | |
result %5 | |
----------------------------------------------------------- | |
; start LHS (in $_lua_pushcclosure) | |
%0:i32 = var | |
; (i32.le_s(i32.const 0)(get_local $19)) | |
%1 = sle 0:i32, %0 | |
%2:i32 = zext %1 | |
; (i32.eq(unreachable)(unreachable)) | |
%3 = eq %2, 0:i32 | |
infer %3 | |
; RHS inferred successfully | |
%4:i32 = ashr %0, 31:i32 | |
%5:i1 = trunc %4 | |
result %5 | |
----------------------------------------------------------- | |
; start LHS (in $_lua_pushcclosure) | |
%0:i32 = var | |
; (i32.sub(i32.const 0)(get_local $2)) | |
%1 = sub 0:i32, %0 | |
; (i32.shl(get_local $36)(i32.const 4)) | |
%2 = shl %1, 4:i32 | |
infer %2 | |
; RHS inferred successfully | |
%3:i32 = mul 4294967280:i32, %0 | |
result %3 | |
----------------------------------------------------------- | |
; start LHS (in $_lua_pushcclosure) | |
%0:i32 = var | |
%1:i32 = var | |
; (i32.sub(i32.const 0)(get_local $2)) | |
%2 = sub 0:i32, %1 | |
; (i32.shl(get_local $36)(i32.const 4)) | |
%3 = shl %2, 4:i32 | |
; (i32.add(get_local $34)(get_local $37)) | |
%4 = add %0, %3 | |
infer %4 | |
; RHS inferred successfully | |
%5:i32 = mul 16:i32, %1 | |
%6:i32 = sub %0, %5 | |
result %6 | |
----------------------------------------------------------- | |
; start LHS (in $_lua_pushcclosure) | |
%0:i32 = var | |
; (i32.add(get_local $3)(i32.const 16)) | |
%1 = add %0, 16:i32 | |
%2:i32 = var | |
; (i32.add(get_local $2)(i32.const -1)) | |
%3 = add %2, -1:i32 | |
; (i32.shl(get_local $2)(i32.const 4)) | |
%4 = shl %3, 4:i32 | |
; (i32.add(get_local $42)(get_local $46)) | |
%5 = add %1, %4 | |
infer %5 | |
; RHS inferred successfully | |
%6:i32 = mul 16:i32, %2 | |
%7:i32 = add %0, %6 | |
result %7 | |
----------------------------------------------------------- | |
; start LHS (in $_lua_createtable) | |
%0:i32 = var | |
; (i32.le_s(i32.const 0)(get_local $8)) | |
%1 = sle 0:i32, %0 | |
%2:i32 = zext %1 | |
; (i32.eq(unreachable)(unreachable)) | |
%3 = eq %2, 0:i32 | |
infer %3 | |
; RHS inferred successfully | |
%4:i32 = ashr %0, 31:i32 | |
%5:i1 = trunc %4 | |
result %5 | |
----------------------------------------------------------- | |
; start LHS (in $_lua_createtable) | |
%0:i32 = var | |
; (i32.le_s(i32.const 0)(get_local $1)) | |
%1 = sle 0:i32, %0 | |
%2:i32 = zext %1 | |
%3:i32 = var | |
; (i32.le_s(i32.const 0)(get_local $2)) | |
%4 = sle 0:i32, %3 | |
%5:i32 = zext %4 | |
; (i32.or(get_local $25)(get_local $27)) | |
%6 = or %2, %5 | |
; (i32.eq(unreachable)(unreachable)) | |
%7 = eq %6, 0:i32 | |
infer %7 | |
; RHS inferred successfully | |
%8:i32 = and %0, %3 | |
%9:i32 = lshr %8, 31:i32 | |
%10:i1 = trunc %9 | |
result %10 | |
----------------------------------------------------------- | |
; start LHS (in $_lua_createtable) | |
%0:i32 = var | |
; (i32.le_s(i32.const 0)(get_local $1)) | |
%1 = sle 0:i32, %0 | |
%2:i32 = zext %1 | |
%3:i32 = var | |
; (i32.le_s(i32.const 0)(get_local $2)) | |
%4 = sle 0:i32, %3 | |
%5:i32 = zext %4 | |
; (i32.or(get_local $25)(get_local $27)) | |
%6 = or %2, %5 | |
; (i32.eq(unreachable)(unreachable)) | |
%7 = eq %6, 0:i32 | |
%8:i32 = zext %7 | |
; (i32.eq(unreachable)(unreachable)) | |
%9 = eq %8, 0:i32 | |
infer %9 | |
; RHS inferred successfully | |
%10:i32 = and %0, %3 | |
%11:i32 = ashr %10, 31:i32 | |
%12:i32 = add 31:i32, %11 | |
%13:i1 = trunc %12 | |
result %13 | |
----------------------------------------------------------- | |
; start LHS (in $_lua_createtable) | |
%0:i32 = var | |
; (i32.le_s(i32.const 0)(get_local $1)) | |
%1 = sle 0:i32, %0 | |
%2:i32 = zext %1 | |
%3:i32 = var | |
; (i32.le_s(i32.const 0)(get_local $2)) | |
%4 = sle 0:i32, %3 | |
%5:i32 = zext %4 | |
; (i32.or(get_local $25)(get_local $27)) | |
%6 = or %2, %5 | |
; (i32.eq(unreachable)(unreachable)) | |
%7 = eq %6, 0:i32 | |
%8:i32 = zext %7 | |
infer %8 | |
; RHS inferred successfully | |
%9:i32 = and %0, %3 | |
%10:i32 = lshr %9, 31:i32 | |
result %10 | |
----------------------------------------------------------- | |
; start LHS (in $_out_789) | |
%0:i32 = var | |
; (i32.and(get_local $4)(i32.const 32)) | |
%1 = and %0, 32:i32 | |
; (i32.eq(unreachable)(unreachable)) | |
%2 = eq %1, 0:i32 | |
%3:i32 = zext %2 | |
; (i32.eq(unreachable)(unreachable)) | |
%4 = eq %3, 0:i32 | |
infer %4 | |
; RHS inferred successfully | |
%5:i32 = lshr %0, 5:i32 | |
%6:i1 = trunc %5 | |
result %6 | |
----------------------------------------------------------- | |
; start LHS (in $_pad_795) | |
%0 = block 2 | |
%1:i32 = var | |
%2:i32 = var | |
; (i32.sub(get_local $2)(get_local $3)) | |
%3 = sub %1, %2 | |
; (i32.le_u(i32.const 255)(get_local $1)) | |
%4 = ule 255:i32, %3 | |
blockpc %0 0 %4 1:i1 | |
%5:i32 = zext %4 | |
; (i32.eq(unreachable)(unreachable)) | |
%6 = eq %5, 0:i32 | |
blockpc %0 1 %6 1:i1 | |
; (i32.sub(get_local $2)(get_local $3)) | |
%7 = sub %1, %2 | |
; (i32.and(get_local $2)(i32.const 255)) | |
%8 = and %7, 255:i32 | |
%9 = phi %0, %3, %8 | |
infer %9 | |
; RHS inferred successfully | |
result %7 | |
----------------------------------------------------------- | |
; start LHS (in $_luaL_checkudata) | |
%0:i32 = var | |
; (i32.eq(unreachable)(unreachable)) | |
%1 = eq %0, 0:i32 | |
%2:i32 = zext %1 | |
; (i32.eq(unreachable)(unreachable)) | |
%3 = eq %2, 0:i32 | |
%4:i32 = zext %3 | |
; (i32.eq(unreachable)(unreachable)) | |
%5 = eq %4, 0:i32 | |
infer %5 | |
; RHS inferred successfully | |
result %1 | |
----------------------------------------------------------- | |
; start LHS (in $_lua_newuserdata) | |
%0:i32 = var | |
; (i32.le_s(i32.const 0)(get_local $5)) | |
%1 = sle 0:i32, %0 | |
%2:i32 = zext %1 | |
; (i32.eq(unreachable)(unreachable)) | |
%3 = eq %2, 0:i32 | |
infer %3 | |
; RHS inferred successfully | |
%4:i32 = ashr %0, 31:i32 | |
%5:i1 = trunc %4 | |
result %5 | |
----------------------------------------------------------- | |
; start LHS (in $_luaL_prepbuffsize) | |
%0 = block 2 | |
%1:i32 = var | |
; (i32.shl(get_local $6)(i32.const 1)) | |
%2 = shl %1, 1:i32 | |
%3:i32 = var | |
; (i32.sub(get_local $6)(get_local $2)) | |
%4 = sub %2, %3 | |
%5:i32 = var | |
; (i32.lt_u(get_local $40)(get_local $1)) | |
%6 = ult %4, %5 | |
blockpc %0 0 %6 1:i1 | |
%7:i32 = zext %6 | |
; (i32.eq(unreachable)(unreachable)) | |
%8 = eq %7, 0:i32 | |
blockpc %0 1 %8 1:i1 | |
; (i32.add(get_local $2)(get_local $1)) | |
%9 = add %3, %5 | |
%10 = phi %0, %9, %2 | |
; (i32.sub(get_local $3)(get_local $2)) | |
%11 = sub %10, %3 | |
; (i32.lt_u(get_local $52)(get_local $1)) | |
%12 = ult %11, %5 | |
infer %12 | |
; RHS inferred successfully | |
result 0:i1 | |
----------------------------------------------------------- | |
; start LHS (in $_luaL_prepbuffsize) | |
%0 = block 2 | |
%1:i32 = var | |
; (i32.shl(get_local $6)(i32.const 1)) | |
%2 = shl %1, 1:i32 | |
%3:i32 = var | |
; (i32.sub(get_local $6)(get_local $2)) | |
%4 = sub %2, %3 | |
%5:i32 = var | |
; (i32.lt_u(get_local $40)(get_local $1)) | |
%6 = ult %4, %5 | |
blockpc %0 0 %6 1:i1 | |
%7:i32 = zext %6 | |
; (i32.eq(unreachable)(unreachable)) | |
%8 = eq %7, 0:i32 | |
blockpc %0 1 %8 1:i1 | |
; (i32.add(get_local $2)(get_local $1)) | |
%9 = add %3, %5 | |
%10 = phi %0, %9, %2 | |
; (i32.sub(get_local $3)(get_local $2)) | |
%11 = sub %10, %3 | |
; (i32.lt_u(get_local $52)(get_local $1)) | |
%12 = ult %11, %5 | |
%13:i32 = zext %12 | |
infer %13 | |
; RHS inferred successfully | |
result 0:i32 | |
----------------------------------------------------------- | |
; start LHS (in $_luaL_prepbuffsize) | |
%0 = block 2 | |
%1:i32 = var | |
; (i32.shl(get_local $6)(i32.const 1)) | |
%2 = shl %1, 1:i32 | |
%3:i32 = var | |
; (i32.sub(get_local $6)(get_local $2)) | |
%4 = sub %2, %3 | |
%5:i32 = var | |
; (i32.lt_u(get_local $40)(get_local $1)) | |
%6 = ult %4, %5 | |
blockpc %0 0 %6 1:i1 | |
%7:i32 = zext %6 | |
; (i32.eq(unreachable)(unreachable)) | |
%8 = eq %7, 0:i32 | |
blockpc %0 1 %8 1:i1 | |
; (i32.add(get_local $2)(get_local $1)) | |
%9 = add %3, %5 | |
%10 = phi %0, %9, %2 | |
; (i32.lt_u(get_local $46)(get_local $2)) | |
%11 = ult %10, %3 | |
%12:i32 = zext %11 | |
%13 = phi %0, %9, %2 | |
; (i32.sub(get_local $3)(get_local $2)) | |
%14 = sub %13, %3 | |
; (i32.lt_u(get_local $52)(get_local $1)) | |
%15 = ult %14, %5 | |
%16:i32 = zext %15 | |
; (i32.or(get_local $49)(get_local $54)) | |
%17 = or %12, %16 | |
infer %17 | |
; RHS inferred successfully | |
result %12 | |
----------------------------------------------------------- | |
; start LHS (in $_luaL_prepbuffsize) | |
%0 = block 2 | |
%1:i32 = var | |
; (i32.shl(get_local $6)(i32.const 1)) | |
%2 = shl %1, 1:i32 | |
%3:i32 = var | |
; (i32.sub(get_local $6)(get_local $2)) | |
%4 = sub %2, %3 | |
%5:i32 = var | |
; (i32.lt_u(get_local $40)(get_local $1)) | |
%6 = ult %4, %5 | |
blockpc %0 0 %6 1:i1 | |
%7:i32 = zext %6 | |
; (i32.eq(unreachable)(unreachable)) | |
%8 = eq %7, 0:i32 | |
blockpc %0 1 %8 1:i1 | |
; (i32.add(get_local $2)(get_local $1)) | |
%9 = add %3, %5 | |
%10 = phi %0, %9, %2 | |
; (i32.lt_u(get_local $46)(get_local $2)) | |
%11 = ult %10, %3 | |
%12:i32 = zext %11 | |
%13 = phi %0, %9, %2 | |
; (i32.sub(get_local $3)(get_local $2)) | |
%14 = sub %13, %3 | |
; (i32.lt_u(get_local $52)(get_local $1)) | |
%15 = ult %14, %5 | |
%16:i32 = zext %15 | |
; (i32.or(get_local $49)(get_local $54)) | |
%17 = or %12, %16 | |
; (i32.ne(unreachable)(unreachable)) | |
%18 = ne %17, 0:i32 | |
infer %18 | |
; RHS inferred successfully | |
result %11 | |
----------------------------------------------------------- | |
; start LHS (in $_luaK_exp2nextreg) | |
%0:i32 = var | |
; (i32.and(get_local $2)(i32.const 256)) | |
%1 = and %0, 256:i32 | |
; (i32.eq(unreachable)(unreachable)) | |
%2 = eq %1, 0:i32 | |
%3:i32 = zext %2 | |
; (i32.eq(unreachable)(unreachable)) | |
%4 = eq %3, 0:i32 | |
infer %4 | |
; RHS inferred successfully | |
%5:i32 = lshr %0, 8:i32 | |
%6:i1 = trunc %5 | |
result %6 | |
----------------------------------------------------------- | |
; start LHS (in $_luaK_exp2nextreg) | |
%0:i32 = var | |
; (i32.add(get_local $4)(i32.const 1)) | |
%1 = add %0, 1:i32 | |
; (i32.and(get_local $5)(i32.const 255)) | |
%2 = and %1, 255:i32 | |
; (i32.and(get_local $2)(i32.const 255)) | |
%3 = and %2, 255:i32 | |
%4:i32 = var | |
; (i32.lt_s(get_local $4)(get_local $37)) | |
%5 = slt %0, %4 | |
pc %5 1:i1 | |
infer %3 | |
; RHS inferred successfully | |
result %2 | |
----------------------------------------------------------- | |
; start LHS (in $_luaK_exp2nextreg) | |
%0:i32 = var | |
; (i32.add(get_local $4)(i32.const 1)) | |
%1 = add %0, 1:i32 | |
; (i32.and(get_local $5)(i32.const 255)) | |
%2 = and %1, 255:i32 | |
; (i32.and(get_local $2)(i32.const 255)) | |
%3 = and %2, 255:i32 | |
infer %3 | |
; RHS inferred successfully | |
result %2 | |
----------------------------------------------------------- | |
; start LHS (in $_luaD_call) | |
%0:i32 = var | |
; (i32.add(get_local $13)(i32.const 1)) | |
%1 = add %0, 1:i32 | |
; (i32.shl(get_local $14)(i32.const 16)) | |
%2 = shl %1, 16:i32 | |
; (i32.shr_s(get_local $15)(i32.const 16)) | |
%3 = ashr %2, 16:i32 | |
; (i32.and(get_local $4)(i32.const 65535)) | |
%4 = and %3, 65535:i32 | |
infer %4 | |
; RHS inferred successfully | |
%5:i32 = sub %0, 65535:i32 | |
%6:i32 = and 65535:i32, %5 | |
result %6 | |
----------------------------------------------------------- | |
; start LHS (in $_luaD_call) | |
%0:i32 = var | |
; (i32.add(get_local $13)(i32.const 1)) | |
%1 = add %0, 1:i32 | |
; (i32.shl(get_local $14)(i32.const 16)) | |
%2 = shl %1, 16:i32 | |
; (i32.shr_s(get_local $15)(i32.const 16)) | |
%3 = ashr %2, 16:i32 | |
; (i32.and(get_local $4)(i32.const 65535)) | |
%4 = and %3, 65535:i32 | |
; (i32.and(get_local $4)(i32.const 65535)) | |
%5 = and %3, 65535:i32 | |
; (i32.le_s(i32.const 199)(get_local $20)) | |
%6 = sle 199:i32, %5 | |
pc %6 1:i1 | |
infer %4 | |
; RHS inferred successfully | |
%6:i32 = sub %0, 65535:i32 | |
%7:i32 = and 65535:i32, %6 | |
result %7 | |
----------------------------------------------------------- | |
; start LHS (in $_luaD_call) | |
%0 = block 2 | |
%1:i32 = var | |
; (i32.add(get_local $13)(i32.const 1)) | |
%2 = add %1, 1:i32 | |
; (i32.shl(get_local $14)(i32.const 16)) | |
%3 = shl %2, 16:i32 | |
; (i32.shr_s(get_local $15)(i32.const 16)) | |
%4 = ashr %3, 16:i32 | |
; (i32.and(get_local $4)(i32.const 65535)) | |
%5 = and %4, 65535:i32 | |
; (i32.le_s(i32.const 199)(get_local $20)) | |
%6 = sle 199:i32, %5 | |
blockpc %0 0 %6 1:i1 | |
%7:i32 = zext %6 | |
; (i32.eq(unreachable)(unreachable)) | |
%8 = eq %7, 0:i32 | |
blockpc %0 1 %8 1:i1 | |
; (i32.eq(get_local $4)(i32.const 200)) | |
%9 = eq %4, 200:i32 | |
%10:i32 = zext %9 | |
%11 = phi %0, 0:i32, %10 | |
infer %11 | |
; RHS inferred successfully | |
result 0:i32 | |
----------------------------------------------------------- | |
; start LHS (in $_luaD_call) | |
%0 = block 2 | |
%1:i32 = var | |
; (i32.add(get_local $13)(i32.const 1)) | |
%2 = add %1, 1:i32 | |
; (i32.shl(get_local $14)(i32.const 16)) | |
%3 = shl %2, 16:i32 | |
; (i32.shr_s(get_local $15)(i32.const 16)) | |
%4 = ashr %3, 16:i32 | |
; (i32.and(get_local $4)(i32.const 65535)) | |
%5 = and %4, 65535:i32 | |
; (i32.le_s(i32.const 199)(get_local $20)) | |
%6 = sle 199:i32, %5 | |
blockpc %0 0 %6 1:i1 | |
%7:i32 = zext %6 | |
; (i32.eq(unreachable)(unreachable)) | |
%8 = eq %7, 0:i32 | |
blockpc %0 1 %8 1:i1 | |
; (i32.and(get_local $4)(i32.const 65535)) | |
%9 = and %4, 65535:i32 | |
; (i32.le_s(i32.const 224)(get_local $27)) | |
%10 = sle 224:i32, %9 | |
%11:i32 = zext %10 | |
%12 = phi %0, 0:i32, %11 | |
infer %12 | |
; RHS inferred successfully | |
result 0:i32 | |
----------------------------------------------------------- | |
; start LHS (in $_luaD_call) | |
%0:i32 = var | |
; (i32.ne(get_local $3)(i32.const 0)) | |
%1 = ne %0, 0:i32 | |
%2:i32 = zext %1 | |
; (i32.eq(unreachable)(unreachable)) | |
%3 = eq %2, 0:i32 | |
%4:i32 = zext %3 | |
; (i32.eq(unreachable)(unreachable)) | |
%5 = eq %4, 0:i32 | |
infer %5 | |
; RHS inferred successfully | |
result %1 | |
----------------------------------------------------------- | |
; start LHS (in $_lua_tointegerx) | |
%0:i32 = var | |
; (i32.le_s(i32.const 0)(get_local $1)) | |
%1 = sle 0:i32, %0 | |
%2:i32 = zext %1 | |
; (i32.eq(unreachable)(unreachable)) | |
%3 = eq %2, 0:i32 | |
infer %3 | |
; RHS inferred successfully | |
%4:i32 = ashr %0, 31:i32 | |
%5:i1 = trunc %4 | |
result %5 | |
----------------------------------------------------------- | |
; start LHS (in $_luaK_dischargevars) | |
%0:i32 = var | |
; (i32.and(get_local $2)(i32.const 256)) | |
%1 = and %0, 256:i32 | |
; (i32.eq(unreachable)(unreachable)) | |
%2 = eq %1, 0:i32 | |
%3:i32 = zext %2 | |
; (i32.eq(unreachable)(unreachable)) | |
%4 = eq %3, 0:i32 | |
infer %4 | |
; RHS inferred successfully | |
%5:i32 = lshr %0, 8:i32 | |
%6:i1 = trunc %5 | |
result %6 | |
----------------------------------------------------------- | |
; start LHS (in $_luaK_dischargevars) | |
%0:i32 = var | |
; (i32.add(get_local $1)(i32.const 8)) | |
%1 = add %0, 8:i32 | |
; (i32.add(get_local $3)(i32.const 2)) | |
%2 = add %1, 2:i32 | |
infer %2 | |
; RHS inferred successfully | |
%3:i32 = add 10:i32, %0 | |
result %3 | |
----------------------------------------------------------- | |
; start LHS (in $_lua_xmove) | |
%0:i32 = var | |
; (i32.sub(i32.const 0)(get_local $2)) | |
%1 = sub 0:i32, %0 | |
; (i32.shl(get_local $6)(i32.const 4)) | |
%2 = shl %1, 4:i32 | |
infer %2 | |
; RHS inferred successfully | |
%3:i32 = mul 4294967280:i32, %0 | |
result %3 | |
----------------------------------------------------------- | |
; start LHS (in $_lua_xmove) | |
%0:i32 = var | |
%1:i32 = var | |
; (i32.sub(i32.const 0)(get_local $2)) | |
%2 = sub 0:i32, %1 | |
; (i32.shl(get_local $6)(i32.const 4)) | |
%3 = shl %2, 4:i32 | |
; (i32.add(get_local $4)(get_local $18)) | |
%4 = add %0, %3 | |
infer %4 | |
; RHS inferred successfully | |
%5:i32 = mul 16:i32, %1 | |
%6:i32 = sub %0, %5 | |
result %6 | |
----------------------------------------------------------- | |
; start LHS (in $_lua_xmove) | |
%0:i32 = var | |
; (i32.sub(i32.const 0)(get_local $2)) | |
%1 = sub 0:i32, %0 | |
; (i32.shl(get_local $6)(i32.const 4)) | |
%2 = shl %1, 4:i32 | |
infer %2 | |
; RHS inferred successfully | |
%3:i32 = mul 4294967280:i32, %0 | |
result %3 | |
----------------------------------------------------------- | |
; start LHS (in $_lua_xmove) | |
%0:i32 = var | |
%1:i32 = var | |
; (i32.sub(i32.const 0)(get_local $2)) | |
%2 = sub 0:i32, %1 | |
; (i32.shl(get_local $6)(i32.const 4)) | |
%3 = shl %2, 4:i32 | |
; (i32.add(get_local $4)(get_local $37)) | |
%4 = add %0, %3 | |
infer %4 | |
; RHS inferred successfully | |
%5:i32 = mul 16:i32, %1 | |
%6:i32 = sub %0, %5 | |
result %6 | |
----------------------------------------------------------- | |
; start LHS (in $_luaD_reallocstack) | |
%0:i32 = var | |
%1:i32 = var | |
; (i32.sub(get_local $53)(get_local $3)) | |
%2 = sub %0, %1 | |
; (i32.shr_s(get_local $55)(i32.const 4)) | |
%3 = ashr %2, 4:i32 | |
; (i32.shl(get_local $56)(i32.const 4)) | |
%4 = shl %3, 4:i32 | |
infer %4 | |
; RHS inferred successfully | |
%5:i32 = and 4294967280:i32, %2 | |
result %5 | |
----------------------------------------------------------- | |
; start LHS (in $_luaD_reallocstack) | |
%0:i32 = var | |
%1:i32 = var | |
%2:i32 = var | |
; (i32.sub(get_local $53)(get_local $3)) | |
%3 = sub %1, %2 | |
; (i32.shr_s(get_local $55)(i32.const 4)) | |
%4 = ashr %3, 4:i32 | |
; (i32.shl(get_local $56)(i32.const 4)) | |
%5 = shl %4, 4:i32 | |
; (i32.add(get_local $4)(get_local $57)) | |
%6 = add %0, %5 | |
infer %6 | |
; RHS inferred successfully | |
%7:i32 = and 4294967280:i32, %3 | |
%8:i32 = add %0, %7 | |
result %8 | |
----------------------------------------------------------- | |
; start LHS (in $_luaD_reallocstack) | |
%0:i32 = var | |
%1:i32 = var | |
; (i32.sub(get_local $67)(get_local $3)) | |
%2 = sub %0, %1 | |
; (i32.shr_s(get_local $69)(i32.const 4)) | |
%3 = ashr %2, 4:i32 | |
; (i32.shl(get_local $70)(i32.const 4)) | |
%4 = shl %3, 4:i32 | |
%5:i32 = var | |
; (i32.ne(unreachable)(unreachable)) | |
%6 = ne %5, 0:i32 | |
pc %6 1:i1 | |
infer %4 | |
; RHS inferred successfully | |
%7:i32 = and 4294967280:i32, %2 | |
result %7 | |
----------------------------------------------------------- | |
; start LHS (in $_luaD_reallocstack) | |
%0:i32 = var | |
%1:i32 = var | |
%2:i32 = var | |
; (i32.sub(get_local $82)(get_local $3)) | |
%3 = sub %1, %2 | |
; (i32.shr_s(get_local $84)(i32.const 4)) | |
%4 = ashr %3, 4:i32 | |
; (i32.shl(get_local $85)(i32.const 4)) | |
%5 = shl %4, 4:i32 | |
; (i32.add(get_local $80)(get_local $86)) | |
%6 = add %0, %5 | |
%7:i32 = var | |
; (i32.ne(unreachable)(unreachable)) | |
%8 = ne %7, 0:i32 | |
%9:i32 = var | |
; (i32.ne(unreachable)(unreachable)) | |
%10 = ne %9, 0:i32 | |
pc %8 1:i1 | |
pc %10 1:i1 | |
infer %6 | |
; RHS inferred successfully | |
%11:i32 = and 4294967280:i32, %3 | |
%12:i32 = add %0, %11 | |
result %12 | |
----------------------------------------------------------- | |
; start LHS (in $_luaD_reallocstack) | |
%0:i32 = var | |
%1:i32 = var | |
; (i32.sub(get_local $102)(get_local $3)) | |
%2 = sub %0, %1 | |
; (i32.shr_s(get_local $104)(i32.const 4)) | |
%3 = ashr %2, 4:i32 | |
; (i32.shl(get_local $105)(i32.const 4)) | |
%4 = shl %3, 4:i32 | |
infer %4 | |
; RHS inferred successfully | |
%5:i32 = and 4294967280:i32, %2 | |
result %5 | |
----------------------------------------------------------- | |
; start LHS (in $_luaD_reallocstack) | |
%0:i32 = var | |
%1:i32 = var | |
%2:i32 = var | |
; (i32.sub(get_local $102)(get_local $3)) | |
%3 = sub %1, %2 | |
; (i32.shr_s(get_local $104)(i32.const 4)) | |
%4 = ashr %3, 4:i32 | |
; (i32.shl(get_local $105)(i32.const 4)) | |
%5 = shl %4, 4:i32 | |
; (i32.add(get_local $2)(get_local $106)) | |
%6 = add %0, %5 | |
infer %6 | |
; RHS inferred successfully | |
%7:i32 = and 4294967280:i32, %3 | |
%8:i32 = add %0, %7 | |
result %8 | |
----------------------------------------------------------- | |
; start LHS (in $_luaD_reallocstack) | |
%0:i32 = var | |
%1:i32 = var | |
; (i32.sub(get_local $111)(get_local $3)) | |
%2 = sub %0, %1 | |
; (i32.shr_s(get_local $113)(i32.const 4)) | |
%3 = ashr %2, 4:i32 | |
; (i32.shl(get_local $114)(i32.const 4)) | |
%4 = shl %3, 4:i32 | |
infer %4 | |
; RHS inferred successfully | |
%5:i32 = and 4294967280:i32, %2 | |
result %5 | |
----------------------------------------------------------- | |
; start LHS (in $_luaD_reallocstack) | |
%0:i32 = var | |
%1:i32 = var | |
%2:i32 = var | |
; (i32.sub(get_local $111)(get_local $3)) | |
%3 = sub %1, %2 | |
; (i32.shr_s(get_local $113)(i32.const 4)) | |
%4 = ashr %3, 4:i32 | |
; (i32.shl(get_local $114)(i32.const 4)) | |
%5 = shl %4, 4:i32 | |
; (i32.add(get_local $2)(get_local $115)) | |
%6 = add %0, %5 | |
infer %6 | |
; RHS inferred successfully | |
%7:i32 = and 4294967280:i32, %3 | |
%8:i32 = add %0, %7 | |
result %8 | |
----------------------------------------------------------- | |
; start LHS (in $_luaD_reallocstack) | |
%0:i32 = var | |
%1:i32 = var | |
; (i32.sub(get_local $125)(get_local $3)) | |
%2 = sub %0, %1 | |
; (i32.shr_s(get_local $127)(i32.const 4)) | |
%3 = ashr %2, 4:i32 | |
; (i32.shl(get_local $128)(i32.const 4)) | |
%4 = shl %3, 4:i32 | |
%5:i32 = var | |
; (i32.and(get_local $118)(i32.const 1)) | |
%6 = and %5, 1:i32 | |
; (i32.ne(unreachable)(unreachable)) | |
%7 = ne %6, 0:i32 | |
pc %7 1:i1 | |
infer %4 | |
; RHS inferred successfully | |
%8:i32 = and 4294967280:i32, %2 | |
result %8 | |
----------------------------------------------------------- | |
; start LHS (in $_luaD_reallocstack) | |
%0:i32 = var | |
; (i32.and(get_local $118)(i32.const 1)) | |
%1 = and %0, 1:i32 | |
; (i32.ne(unreachable)(unreachable)) | |
%2 = ne %1, 0:i32 | |
infer %2 | |
; RHS inferred successfully | |
%3:i1 = trunc %0 | |
result %3 | |
----------------------------------------------------------- | |
; start LHS (in $_lua_toboolean) | |
%0:i32 = var | |
; (i32.le_s(i32.const 0)(get_local $1)) | |
%1 = sle 0:i32, %0 | |
%2:i32 = zext %1 | |
; (i32.eq(unreachable)(unreachable)) | |
%3 = eq %2, 0:i32 | |
infer %3 | |
; RHS inferred successfully | |
%4:i32 = ashr %0, 31:i32 | |
%5:i1 = trunc %4 | |
result %5 | |
----------------------------------------------------------- | |
; start LHS (in $_lua_getstack) | |
%0:i32 = var | |
; (i32.lt_s(get_local $1)(i32.const 0)) | |
%1 = slt %0, 0:i32 | |
%2:i32 = zext %1 | |
infer %2 | |
; RHS inferred successfully | |
%3:i32 = lshr %0, 31:i32 | |
result %3 | |
----------------------------------------------------------- | |
; start LHS (in $_luaF_close) | |
%0:i32 = var | |
; (i32.add(get_local $2)(i32.const 16)) | |
%1 = add %0, 16:i32 | |
; (i32.add(get_local $3)(i32.const 4)) | |
%2 = add %1, 4:i32 | |
%3:i32 = var | |
; (i32.xor(get_local $33)(i32.const 3)) | |
%4 = xor %3, 3:i32 | |
%5:i32 = var | |
; (i32.xor(get_local $36)(i32.const 3)) | |
%6 = xor %5, 3:i32 | |
; (i32.and(get_local $34)(get_local $37)) | |
%7 = and %4, %6 | |
; (i32.and(get_local $38)(i32.const 255)) | |
%8 = and %7, 255:i32 | |
; (i32.ne(unreachable)(unreachable)) | |
%9 = ne %8, 0:i32 | |
pc %9 1:i1 | |
infer %2 | |
; RHS inferred successfully | |
%10:i32 = add 20:i32, %0 | |
result %10 | |
----------------------------------------------------------- | |
; start LHS (in $_luaF_close) | |
%0:i32 = var | |
; (i32.add(get_local $2)(i32.const 16)) | |
%1 = add %0, 16:i32 | |
; (i32.add(get_local $4)(i32.const 4)) | |
%2 = add %1, 4:i32 | |
%3:i32 = var | |
; (i32.add(get_local $2)(i32.const 16)) | |
%4 = add %0, 16:i32 | |
; (i32.ne(get_local $3)(get_local $73)) | |
%5 = ne %3, %4 | |
%6:i32 = var | |
; (i32.xor(get_local $33)(i32.const 3)) | |
%7 = xor %6, 3:i32 | |
%8:i32 = var | |
; (i32.xor(get_local $36)(i32.const 3)) | |
%9 = xor %8, 3:i32 | |
; (i32.and(get_local $34)(get_local $37)) | |
%10 = and %7, %9 | |
; (i32.and(get_local $38)(i32.const 255)) | |
%11 = and %10, 255:i32 | |
; (i32.eq(unreachable)(unreachable)) | |
%12 = eq %11, 0:i32 | |
pc %5 1:i1 | |
pc %12 1:i1 | |
infer %2 | |
; RHS inferred successfully | |
%12:i32 = add 20:i32, %0 | |
result %12 | |
----------------------------------------------------------- | |
; start LHS (in $_match) | |
%0:i32 = var | |
; (i32.eq(get_local $204)(i32.const 94)) | |
%1 = eq %0, 94:i32 | |
%2:i32 = zext %1 | |
; (i32.eq(unreachable)(unreachable)) | |
%3 = eq %2, 0:i32 | |
%4:i32 = zext %3 | |
; (i32.eq(unreachable)(unreachable)) | |
%5 = eq %4, 0:i32 | |
infer %5 | |
; RHS inferred successfully | |
result %1 | |
----------------------------------------------------------- | |
; start LHS (in $_match) | |
%0:i32 = var | |
; (i32.eq(get_local $204)(i32.const 94)) | |
%1 = eq %0, 94:i32 | |
%2:i32 = zext %1 | |
; (i32.xor(get_local $2)(i32.const 1)) | |
%3 = xor %2, 1:i32 | |
; (i32.and(get_local $210)(i32.const 1)) | |
%4 = and %3, 1:i32 | |
infer %4 | |
; RHS inferred successfully | |
result %3 | |
----------------------------------------------------------- | |
; start LHS (in $_match) | |
%0:i32 = var | |
; (i32.eq(get_local $204)(i32.const 94)) | |
%1 = eq %0, 94:i32 | |
%2:i32 = zext %1 | |
; (i32.xor(get_local $2)(i32.const 1)) | |
%3 = xor %2, 1:i32 | |
; (i32.and(get_local $210)(i32.const 1)) | |
%4 = and %3, 1:i32 | |
; (i32.xor(get_local $2)(i32.const 1)) | |
%5 = xor %4, 1:i32 | |
infer %5 | |
; RHS inferred successfully | |
result %2 | |
----------------------------------------------------------- | |
; start LHS (in $_match) | |
%0:i32 = var | |
; (i32.eq(get_local $394)(i32.const 94)) | |
%1 = eq %0, 94:i32 | |
%2:i32 = zext %1 | |
; (i32.xor(get_local $2)(i32.const 1)) | |
%3 = xor %2, 1:i32 | |
; (i32.and(get_local $402)(i32.const 1)) | |
%4 = and %3, 1:i32 | |
%5:i32 = var | |
%6:i32 = var | |
; (i32.le_u(get_local $1)(get_local $24)) | |
%7 = ule %5, %6 | |
pc %7 1:i1 | |
infer %4 | |
; RHS inferred successfully | |
result %3 | |
----------------------------------------------------------- | |
; start LHS (in $_match) | |
%0:i32 = var | |
; (i32.eq(get_local $394)(i32.const 94)) | |
%1 = eq %0, 94:i32 | |
%2:i32 = zext %1 | |
; (i32.xor(get_local $2)(i32.const 1)) | |
%3 = xor %2, 1:i32 | |
; (i32.and(get_local $402)(i32.const 1)) | |
%4 = and %3, 1:i32 | |
; (i32.xor(get_local $3)(i32.const 1)) | |
%5 = xor %4, 1:i32 | |
%6:i32 = var | |
%7:i32 = var | |
; (i32.le_u(get_local $1)(get_local $24)) | |
%8 = ule %6, %7 | |
pc %8 1:i1 | |
infer %5 | |
; RHS inferred successfully | |
result %2 | |
----------------------------------------------------------- | |
; start LHS (in $_match) | |
%0:i32 = var | |
; (i32.le_s(get_local $1)(i32.const -1)) | |
%1 = sle %0, -1:i32 | |
%2:i32 = zext %1 | |
infer %2 | |
; RHS inferred successfully | |
%3:i32 = lshr %0, 31:i32 | |
result %3 | |
----------------------------------------------------------- | |
; start LHS (in $_lua_pcallk) | |
%0:i32 = var | |
; (i32.le_s(i32.const 0)(get_local $3)) | |
%1 = sle 0:i32, %0 | |
%2:i32 = zext %1 | |
; (i32.eq(unreachable)(unreachable)) | |
%3 = eq %2, 0:i32 | |
infer %3 | |
; RHS inferred successfully | |
%4:i32 = ashr %0, 31:i32 | |
%5:i1 = trunc %4 | |
result %5 | |
----------------------------------------------------------- | |
; start LHS (in $_leaveblock) | |
%0:i32 = var | |
; (i32.and(get_local $1)(i32.const 255)) | |
%1 = and %0, 255:i32 | |
; (i32.add(get_local $200)(i32.const -1)) | |
%2 = add %1, -1:i32 | |
; (i32.shl(get_local $201)(i32.const 24)) | |
%3 = shl %2, 24:i32 | |
%4:i32 = var | |
; (i32.and(get_local $2)(i32.const 255)) | |
%5 = and %4, 255:i32 | |
%6:i32 = var | |
; (i32.and(get_local $1)(i32.const 255)) | |
%7 = and %6, 255:i32 | |
; (i32.lt_s(get_local $182)(get_local $184)) | |
%8 = slt %5, %7 | |
pc %8 1:i1 | |
infer %3 | |
; RHS inferred successfully | |
%9:i32 = mul 4278190080:i32, %0 | |
%10:i32 = xor 4278190080:i32, %9 | |
result %10 | |
----------------------------------------------------------- | |
; start LHS (in $_leaveblock) | |
%0:i32 = var | |
; (i32.and(get_local $1)(i32.const 255)) | |
%1 = and %0, 255:i32 | |
; (i32.add(get_local $200)(i32.const -1)) | |
%2 = add %1, -1:i32 | |
; (i32.shl(get_local $201)(i32.const 24)) | |
%3 = shl %2, 24:i32 | |
; (i32.shr_s(get_local $202)(i32.const 24)) | |
%4 = ashr %3, 24:i32 | |
%5:i32 = var | |
; (i32.and(get_local $2)(i32.const 255)) | |
%6 = and %5, 255:i32 | |
%7:i32 = var | |
; (i32.and(get_local $1)(i32.const 255)) | |
%8 = and %7, 255:i32 | |
; (i32.lt_s(get_local $182)(get_local $184)) | |
%9 = slt %6, %8 | |
pc %9 1:i1 | |
infer %4 | |
; RHS inferred successfully | |
%10:i32 = shl %0, 24:i32 | |
%11:i32 = sub %10, 24:i32 | |
%12:i32 = ashr %11, 24:i32 | |
result %12 | |
----------------------------------------------------------- | |
; start LHS (in $_leaveblock) | |
%0:i32 = var | |
; (i32.and(get_local $1)(i32.const 255)) | |
%1 = and %0, 255:i32 | |
; (i32.add(get_local $200)(i32.const -1)) | |
%2 = add %1, -1:i32 | |
; (i32.shl(get_local $201)(i32.const 24)) | |
%3 = shl %2, 24:i32 | |
; (i32.shr_s(get_local $202)(i32.const 24)) | |
%4 = ashr %3, 24:i32 | |
; (i32.and(get_local $3)(i32.const 255)) | |
%5 = and %4, 255:i32 | |
%6:i32 = var | |
; (i32.and(get_local $2)(i32.const 255)) | |
%7 = and %6, 255:i32 | |
%8:i32 = var | |
; (i32.and(get_local $1)(i32.const 255)) | |
%9 = and %8, 255:i32 | |
; (i32.lt_s(get_local $182)(get_local $184)) | |
%10 = slt %7, %9 | |
pc %10 1:i1 | |
infer %5 | |
; RHS inferred successfully | |
%11:i32 = add 255:i32, %0 | |
%12:i32 = and 255:i32, %11 | |
result %12 | |
----------------------------------------------------------- | |
; start LHS (in $_leaveblock) | |
%0:i32 = var | |
%1:i32 = var | |
; (i32.and(get_local $1)(i32.const 255)) | |
%2 = and %1, 255:i32 | |
; (i32.add(get_local $200)(i32.const -1)) | |
%3 = add %2, -1:i32 | |
; (i32.shl(get_local $201)(i32.const 24)) | |
%4 = shl %3, 24:i32 | |
; (i32.shr_s(get_local $202)(i32.const 24)) | |
%5 = ashr %4, 24:i32 | |
; (i32.and(get_local $3)(i32.const 255)) | |
%6 = and %5, 255:i32 | |
; (i32.add(get_local $11)(get_local $205)) | |
%7 = add %0, %6 | |
%8:i32 = var | |
; (i32.and(get_local $2)(i32.const 255)) | |
%9 = and %8, 255:i32 | |
%10:i32 = var | |
; (i32.and(get_local $1)(i32.const 255)) | |
%11 = and %10, 255:i32 | |
; (i32.lt_s(get_local $182)(get_local $184)) | |
%12 = slt %9, %11 | |
pc %12 1:i1 | |
infer %7 | |
; RHS inferred successfully | |
%13:i32 = mul 255:i32, %1 | |
%14:i32 = or 255:i32, %13 | |
%15:i32 = sub %14, %13 | |
%16:i32 = add %0, %15 | |
result %16 | |
----------------------------------------------------------- | |
; start LHS (in $_leaveblock) | |
%0:i32 = var | |
; (i32.and(get_local $1)(i32.const 255)) | |
%1 = and %0, 255:i32 | |
; (i32.add(get_local $200)(i32.const -1)) | |
%2 = add %1, -1:i32 | |
; (i32.shl(get_local $201)(i32.const 24)) | |
%3 = shl %2, 24:i32 | |
; (i32.shr_s(get_local $202)(i32.const 24)) | |
%4 = ashr %3, 24:i32 | |
; (i32.and(get_local $3)(i32.const 255)) | |
%5 = and %4, 255:i32 | |
%6:i32 = var | |
; (i32.and(get_local $2)(i32.const 255)) | |
%7 = and %6, 255:i32 | |
%8:i32 = var | |
; (i32.and(get_local $1)(i32.const 255)) | |
%9 = and %8, 255:i32 | |
; (i32.lt_s(get_local $182)(get_local $184)) | |
%10 = slt %7, %9 | |
pc %10 1:i1 | |
infer %5 | |
; RHS inferred successfully | |
%11:i32 = add 255:i32, %0 | |
%12:i32 = and 255:i32, %11 | |
result %12 | |
----------------------------------------------------------- | |
; start LHS (in $_statement) | |
%0:i32 = var | |
; (i32.add(get_local $42)(i32.const 1)) | |
%1 = add %0, 1:i32 | |
; (i32.shl(get_local $43)(i32.const 16)) | |
%2 = shl %1, 16:i32 | |
; (i32.shr_s(get_local $44)(i32.const 16)) | |
%3 = ashr %2, 16:i32 | |
; (i32.and(get_local $3)(i32.const 65535)) | |
%4 = and %3, 65535:i32 | |
infer %4 | |
; RHS inferred successfully | |
%5:i32 = sub %0, 65535:i32 | |
%6:i32 = and 65535:i32, %5 | |
result %6 | |
----------------------------------------------------------- | |
; start LHS (in $_statement) | |
%0:i32 = var | |
; (i32.add(get_local $5)(i32.const 1)) | |
%1 = add %0, 1:i32 | |
; (i32.shl(get_local $735)(i32.const 24)) | |
%2 = shl %1, 24:i32 | |
; (i32.shr_s(get_local $736)(i32.const 24)) | |
%3 = ashr %2, 24:i32 | |
; (i32.and(get_local $737)(i32.const 255)) | |
%4 = and %3, 255:i32 | |
%5:i32 = var | |
; (i32.eq(get_local $1)(i32.const 265)) | |
%6 = eq %5, 265:i32 | |
pc %6 1:i1 | |
infer %4 | |
; RHS inferred successfully | |
%7:i32 = sub %0, 255:i32 | |
%8:i32 = and 255:i32, %7 | |
result %8 | |
----------------------------------------------------------- | |
; start LHS (in $_statement) | |
%0:i32 = var | |
%1:i32 = var | |
; (i32.add(get_local $5)(i32.const 1)) | |
%2 = add %1, 1:i32 | |
; (i32.shl(get_local $735)(i32.const 24)) | |
%3 = shl %2, 24:i32 | |
; (i32.shr_s(get_local $736)(i32.const 24)) | |
%4 = ashr %3, 24:i32 | |
; (i32.and(get_local $737)(i32.const 255)) | |
%5 = and %4, 255:i32 | |
; (i32.add(get_local $733)(get_local $738)) | |
%6 = add %0, %5 | |
%7:i32 = var | |
; (i32.eq(get_local $1)(i32.const 265)) | |
%8 = eq %7, 265:i32 | |
pc %8 1:i1 | |
infer %6 | |
; RHS inferred successfully | |
%9:i32 = sub %1, 255:i32 | |
%10:i32 = and 255:i32, %9 | |
%11:i32 = add %0, %10 | |
result %11 | |
----------------------------------------------------------- | |
; start LHS (in $_statement) | |
%0:i32 = var | |
; (i32.add(get_local $2)(i32.const 48)) | |
%1 = add %0, 48:i32 | |
; (i32.add(get_local $3)(i32.const 8)) | |
%2 = add %1, 8:i32 | |
infer %2 | |
; RHS inferred successfully | |
%3:i32 = add 56:i32, %0 | |
result %3 | |
----------------------------------------------------------- | |
; start LHS (in $_lua_getinfo) | |
%0:i32 = var | |
; (i32.and(get_local $152)(i32.const 1)) | |
%1 = and %0, 1:i32 | |
; (i32.ne(unreachable)(unreachable)) | |
%2 = ne %1, 0:i32 | |
infer %2 | |
; RHS inferred successfully | |
%3:i1 = trunc %0 | |
result %3 | |
----------------------------------------------------------- | |
; start LHS (in $_lua_getinfo) | |
%0:i32 = var | |
%1:i32 = var | |
; (i32.sub(get_local $214)(get_local $7)) | |
%2 = sub %0, %1 | |
; (i32.shr_s(get_local $222)(i32.const 2)) | |
%3 = ashr %2, 2:i32 | |
; (i32.add(get_local $223)(i32.const -1)) | |
%4 = add %3, -1:i32 | |
; (i32.shl(get_local $3)(i32.const 2)) | |
%5 = shl %4, 2:i32 | |
%6:i32 = var | |
; (i32.ne(unreachable)(unreachable)) | |
%7 = ne %6, 0:i32 | |
pc %7 1:i1 | |
infer %5 | |
; RHS inferred successfully | |
%8:i32 = add 4294967292:i32, %0 | |
%9:i32 = sub %8, %1 | |
%10:i32 = and 4294967292:i32, %9 | |
result %10 | |
----------------------------------------------------------- | |
; start LHS (in $_lua_getinfo) | |
%0:i32 = var | |
; (i32.and(get_local $210)(i32.const 1)) | |
%1 = and %0, 1:i32 | |
; (i32.eq(unreachable)(unreachable)) | |
%2 = eq %1, 0:i32 | |
%3:i32 = zext %2 | |
infer %3 | |
; RHS inferred successfully | |
%4:i32 = sub %0, 1:i32 | |
%5:i32 = and 1:i32, %4 | |
result %5 | |
----------------------------------------------------------- | |
; start LHS (in $_lua_getinfo) | |
%0:i32 = var | |
; (i32.and(get_local $210)(i32.const 1)) | |
%1 = and %0, 1:i32 | |
; (i32.eq(unreachable)(unreachable)) | |
%2 = eq %1, 0:i32 | |
%3:i32 = zext %2 | |
infer %3 | |
; RHS inferred successfully | |
%4:i32 = sub %0, 1:i32 | |
%5:i32 = and 1:i32, %4 | |
result %5 | |
----------------------------------------------------------- | |
; start LHS (in $_lua_getinfo) | |
%0:i32 = var | |
; (i32.and(get_local $210)(i32.const 1)) | |
%1 = and %0, 1:i32 | |
; (i32.eq(unreachable)(unreachable)) | |
%2 = eq %1, 0:i32 | |
%3:i32 = zext %2 | |
infer %3 | |
; RHS inferred successfully | |
%4:i32 = sub %0, 1:i32 | |
%5:i32 = and 1:i32, %4 | |
result %5 | |
----------------------------------------------------------- | |
; start LHS (in $_lua_getinfo) | |
%0:i32 = var | |
; (i32.and(get_local $210)(i32.const 1)) | |
%1 = and %0, 1:i32 | |
; (i32.eq(unreachable)(unreachable)) | |
%2 = eq %1, 0:i32 | |
%3:i32 = zext %2 | |
infer %3 | |
; RHS inferred successfully | |
%4:i32 = sub %0, 1:i32 | |
%5:i32 = and 1:i32, %4 | |
result %5 | |
----------------------------------------------------------- | |
; start LHS (in $_lua_getinfo) | |
%0:i32 = var | |
; (i32.and(get_local $210)(i32.const 1)) | |
%1 = and %0, 1:i32 | |
; (i32.eq(unreachable)(unreachable)) | |
%2 = eq %1, 0:i32 | |
%3:i32 = zext %2 | |
infer %3 | |
; RHS inferred successfully | |
%4:i32 = sub %0, 1:i32 | |
%5:i32 = and 1:i32, %4 | |
result %5 | |
----------------------------------------------------------- | |
; start LHS (in $_lua_getinfo) | |
%0:i32 = var | |
; (i32.le_s(i32.const 0)(get_local $314)) | |
%1 = sle 0:i32, %0 | |
%2:i32 = zext %1 | |
; (i32.eq(unreachable)(unreachable)) | |
%3 = eq %2, 0:i32 | |
infer %3 | |
; RHS inferred successfully | |
%4:i32 = ashr %0, 31:i32 | |
%5:i1 = trunc %4 | |
result %5 | |
----------------------------------------------------------- | |
; start LHS (in $_luaK_exp2anyreg) | |
%0:i32 = var | |
; (i32.and(get_local $2)(i32.const 256)) | |
%1 = and %0, 256:i32 | |
; (i32.eq(unreachable)(unreachable)) | |
%2 = eq %1, 0:i32 | |
%3:i32 = zext %2 | |
; (i32.eq(unreachable)(unreachable)) | |
%4 = eq %3, 0:i32 | |
infer %4 | |
; RHS inferred successfully | |
%5:i32 = lshr %0, 8:i32 | |
%6:i1 = trunc %5 | |
result %6 | |
----------------------------------------------------------- | |
; start LHS (in $_singlestep) | |
%0:i32 = var | |
; (i32.add(get_local $1)(i32.const 1)) | |
%1 = add %0, 1:i32 | |
%2:i32 = var | |
; (i32.add(get_local $3)(i32.const 1)) | |
%3 = add %2, 1:i32 | |
; (i32.add(get_local $1)(get_local $3)) | |
%4 = add %1, %3 | |
infer %4 | |
; RHS inferred successfully | |
%5:i32 = sub %2, 4294967294:i32 | |
%6:i32 = add %0, %5 | |
result %6 | |
----------------------------------------------------------- | |
; start LHS (in $_scalbn) | |
%0:i32 = var | |
; (i32.le_s(i32.const 2046)(get_local $1)) | |
%1 = sle 2046:i32, %0 | |
%2:i32 = zext %1 | |
; (i32.eq(unreachable)(unreachable)) | |
%3 = eq %2, 0:i32 | |
%4:i32 = zext %3 | |
; (i32.eq(unreachable)(unreachable)) | |
%5 = eq %4, 0:i32 | |
infer %5 | |
; RHS inferred successfully | |
result %1 | |
----------------------------------------------------------- | |
; start LHS (in $_scalbn) | |
%0:i32 = var | |
; (i32.le_s(i32.const 2046)(get_local $1)) | |
%1 = sle 2046:i32, %0 | |
%2:i32 = zext %1 | |
; (i32.eq(unreachable)(unreachable)) | |
%3 = eq %2, 0:i32 | |
%4:i32 = zext %3 | |
; (i32.eq(unreachable)(unreachable)) | |
%5 = eq %4, 0:i32 | |
infer %5 | |
; RHS inferred successfully | |
result %1 | |
----------------------------------------------------------- | |
; start LHS (in $_scalbn) | |
%0:i32 = var | |
; (i32.lt_s(get_local $1)(i32.const -2044)) | |
%1 = slt %0, -2044:i32 | |
%2:i32 = zext %1 | |
; (i32.eq(unreachable)(unreachable)) | |
%3 = eq %2, 0:i32 | |
%4:i32 = zext %3 | |
; (i32.eq(unreachable)(unreachable)) | |
%5 = eq %4, 0:i32 | |
infer %5 | |
; RHS inferred successfully | |
result %1 | |
----------------------------------------------------------- | |
; start LHS (in $_scalbn) | |
%0:i32 = var | |
; (i32.lt_s(get_local $1)(i32.const -2044)) | |
%1 = slt %0, -2044:i32 | |
%2:i32 = zext %1 | |
; (i32.eq(unreachable)(unreachable)) | |
%3 = eq %2, 0:i32 | |
%4:i32 = zext %3 | |
; (i32.eq(unreachable)(unreachable)) | |
%5 = eq %4, 0:i32 | |
infer %5 | |
; RHS inferred successfully | |
result %1 | |
----------------------------------------------------------- | |
; start LHS (in $_scalbn) | |
%0 = block 2 | |
%1:i32 = var | |
; (i32.lt_s(get_local $1)(i32.const -1022)) | |
%2 = slt %1, -1022:i32 | |
blockpc %0 0 %2 1:i1 | |
%3:i32 = zext %2 | |
; (i32.eq(unreachable)(unreachable)) | |
%4 = eq %3, 0:i32 | |
blockpc %0 1 %4 1:i1 | |
; (i32.lt_s(get_local $1)(i32.const -2044)) | |
%5 = slt %1, -2044:i32 | |
%6:i32 = zext %5 | |
%7 = phi %0, 0:i32, %6 | |
infer %7 | |
; RHS inferred successfully | |
result 0:i32 | |
----------------------------------------------------------- | |
; start LHS (in $_scalbn) | |
%0 = block 2 | |
%1:i32 = var | |
; (i32.le_s(i32.const 1023)(get_local $1)) | |
%2 = sle 1023:i32, %1 | |
blockpc %0 0 %2 1:i1 | |
%3:i32 = zext %2 | |
; (i32.eq(unreachable)(unreachable)) | |
%4 = eq %3, 0:i32 | |
blockpc %0 1 %4 1:i1 | |
%5 = block 2 | |
; (i32.lt_s(get_local $1)(i32.const -1022)) | |
%6 = slt %1, -1022:i32 | |
blockpc %5 0 %6 1:i1 | |
%7:i32 = zext %6 | |
; (i32.eq(unreachable)(unreachable)) | |
%8 = eq %7, 0:i32 | |
blockpc %5 1 %8 1:i1 | |
; (i32.add(get_local $1)(i32.const 2044)) | |
%9 = add %1, 2044:i32 | |
; (i32.le_s(get_local $1)(i32.const -1022)) | |
%10 = sle %9, -1022:i32 | |
%11:i32 = zext %10 | |
%12 = phi %5, 0:i32, %11 | |
%13 = phi %0, 0:i32, %12 | |
infer %13 | |
; RHS inferred successfully | |
result 0:i32 | |
----------------------------------------------------------- | |
; start LHS (in $_memset) | |
%0:i32 = var | |
; (i32.and(get_local $1)(i32.const 255)) | |
%1 = and %0, 255:i32 | |
; (i32.shl(get_local $1)(i32.const 24)) | |
%2 = shl %1, 24:i32 | |
%3:i32 = var | |
; (i32.lt_s(i32.const 67)(get_local $2)) | |
%4 = slt 67:i32, %3 | |
pc %4 1:i1 | |
infer %2 | |
; RHS inferred successfully | |
%5:i32 = shl %0, 24:i32 | |
result %5 | |
----------------------------------------------------------- | |
; start LHS (in $_memset) | |
%0:i32 = var | |
%1:i32 = var | |
; (i32.add(get_local $0)(get_local $2)) | |
%2 = add %0, %1 | |
; (i32.sub(get_local $4)(get_local $2)) | |
%3 = sub %2, %1 | |
infer %3 | |
; RHS inferred successfully | |
result %0 | |
----------------------------------------------------------- | |
; start LHS (in $_malloc) | |
%0 = block 2 | |
%1:i32 = var | |
; (i32.lt_u(get_local $0)(i32.const 11)) | |
%2 = ult %1, 11:i32 | |
blockpc %0 0 %2 1:i1 | |
%3:i32 = zext %2 | |
; (i32.eq(unreachable)(unreachable)) | |
%4 = eq %3, 0:i32 | |
blockpc %0 1 %4 1:i1 | |
; (i32.add(get_local $0)(i32.const 11)) | |
%5 = add %1, 11:i32 | |
; (i32.and(get_local $20)(i32.const -8)) | |
%6 = and %5, -8:i32 | |
%7 = phi %0, 16:i32, %6 | |
; (i32.shr_u(get_local $28)(i32.const 3)) | |
%8 = lshr %7, 3:i32 | |
; (i32.shl(i32.const 2)(get_local $0)) | |
%9 = shl 2:i32, %8 | |
; (i32.sub(i32.const 0)(get_local $0)) | |
%10 = sub 0:i32, %9 | |
; (i32.or(get_local $0)(get_local $90)) | |
%11 = or %9, %10 | |
%12:i32 = var | |
; (i32.shr_u(get_local $23)(get_local $0)) | |
%13 = lshr %12, %8 | |
; (i32.ne(unreachable)(unreachable)) | |
%14 = ne %13, 0:i32 | |
%15:i32 = var | |
%16 = phi %0, 16:i32, %6 | |
; (i32.le_u(get_local $8)(get_local $2)) | |
%17 = ule %15, %16 | |
; (i32.lt_u(get_local $0)(i32.const 245)) | |
%18 = ult %1, 245:i32 | |
pc %14 1:i1 | |
pc %17 1:i1 | |
pc %18 1:i1 | |
infer %11 | |
; RHS inferred successfully | |
result %10 | |
----------------------------------------------------------- | |
; start LHS (in $_malloc) | |
%0:i32 = var | |
; (i32.or(get_local $3)(get_local $0)) | |
%1 = or %0, %0 | |
; (i32.and(get_local $114)(i32.const 4)) | |
%2 = and %0, 4:i32 | |
; (i32.or(get_local $109)(get_local $1)) | |
%3 = or %1, %2 | |
; (i32.shr_u(get_local $0)(i32.const 1)) | |
%4 = lshr %0, 1:i32 | |
; (i32.and(get_local $122)(i32.const 2)) | |
%5 = and %4, 2:i32 | |
; (i32.or(get_local $117)(get_local $1)) | |
%6 = or %3, %5 | |
; (i32.shr_u(get_local $0)(get_local $1)) | |
%7 = lshr %0, %5 | |
; (i32.shr_u(get_local $0)(i32.const 1)) | |
%8 = lshr %7, 1:i32 | |
; (i32.and(get_local $130)(i32.const 1)) | |
%9 = and %8, 1:i32 | |
; (i32.or(get_local $125)(get_local $1)) | |
%10 = or %6, %9 | |
; (i32.shr_u(get_local $0)(get_local $1)) | |
%11 = lshr %7, %9 | |
; (i32.add(get_local $133)(get_local $136)) | |
%12 = add %10, %11 | |
; (i32.shl(get_local $3)(i32.const 3)) | |
%13 = shl %12, 3:i32 | |
; (i32.add(get_local $139)(i32.const 15588)) | |
%14 = add %13, 15588:i32 | |
; (i32.eq(get_local $5)(get_local $0)) | |
%15 = eq %0, %14 | |
%16:i32 = zext %15 | |
infer %16 | |
; RHS inferred successfully | |
result 0:i32 | |
----------------------------------------------------------- | |
; start LHS (in $_malloc) | |
%0 = block 2 | |
%1:i32 = var | |
; (i32.ne(unreachable)(unreachable)) | |
%2 = ne %1, 0:i32 | |
blockpc %0 0 %2 1:i1 | |
; (i32.eq(unreachable)(unreachable)) | |
%3 = eq %1, 0:i32 | |
blockpc %0 1 %3 1:i1 | |
; (i32.shr_u(get_local $8)(i32.const 3)) | |
%4 = lshr %1, 3:i32 | |
; (i32.shl(get_local $2)(i32.const 3)) | |
%5 = shl %4, 3:i32 | |
%6 = phi %0, 0:i32, %5 | |
infer %6 | |
; RHS inferred successfully | |
result 0:i32 | |
----------------------------------------------------------- | |
; start LHS (in $_malloc) | |
%0:i32 = var | |
%1:i32 = var | |
; (i32.shr_u(get_local $8)(i32.const 3)) | |
%2 = lshr %1, 3:i32 | |
; (i32.shl(i32.const 1)(get_local $1)) | |
%3 = shl 1:i32, %2 | |
; (i32.and(get_local $6)(get_local $1)) | |
%4 = and %0, %3 | |
; (i32.ne(unreachable)(unreachable)) | |
%5 = ne %4, 0:i32 | |
infer %5 | |
; RHS inferred successfully | |
%6:i32 = ashr %0, %2 | |
%7:i1 = trunc %6 | |
result %7 | |
----------------------------------------------------------- | |
; start LHS (in $_malloc) | |
%0 = block 2 | |
%1:i32 = var | |
; (i32.ne(unreachable)(unreachable)) | |
%2 = ne %1, 0:i32 | |
blockpc %0 0 %2 1:i1 | |
; (i32.eq(unreachable)(unreachable)) | |
%3 = eq %1, 0:i32 | |
blockpc %0 1 %3 1:i1 | |
; (i32.shr_u(get_local $8)(i32.const 3)) | |
%4 = lshr %1, 3:i32 | |
; (i32.shl(get_local $1)(i32.const 3)) | |
%5 = shl %4, 3:i32 | |
%6 = phi %0, 0:i32, %5 | |
infer %6 | |
; RHS inferred successfully | |
result 0:i32 | |
----------------------------------------------------------- | |
; start LHS (in $_malloc) | |
%0:i32 = var | |
; (i32.add(get_local $4)(i32.const 8)) | |
%1 = add %0, 8:i32 | |
; (i32.sub(i32.const 0)(get_local $3)) | |
%2 = sub 0:i32, %1 | |
%3:i32 = var | |
; (i32.le_u(get_local $4)(get_local $1)) | |
%4 = ule %0, %3 | |
%5:i32 = zext %4 | |
%6:i32 = var | |
; (i32.le_u(get_local $5)(get_local $4)) | |
%7 = ule %6, %0 | |
%8:i32 = zext %7 | |
; (i32.and(get_local $1220)(get_local $1223)) | |
%9 = and %5, %8 | |
; (i32.ne(unreachable)(unreachable)) | |
%10 = ne %9, 0:i32 | |
%11:i32 = var | |
; (i32.and(get_local $1215)(i32.const 8)) | |
%12 = and %11, 8:i32 | |
; (i32.eq(unreachable)(unreachable)) | |
%13 = eq %12, 0:i32 | |
%14:i32 = var | |
; (i32.ne(unreachable)(unreachable)) | |
%15 = ne %14, 0:i32 | |
pc %10 1:i1 | |
pc %13 1:i1 | |
pc %15 1:i1 | |
infer %2 | |
; RHS inferred successfully | |
%16:i32 = sub 4294967288:i32, %0 | |
result %16 | |
----------------------------------------------------------- | |
; start LHS (in $_malloc) | |
%0:i32 = var | |
; (i32.add(get_local $4)(i32.const 8)) | |
%1 = add %0, 8:i32 | |
; (i32.sub(i32.const 0)(get_local $3)) | |
%2 = sub 0:i32, %1 | |
; (i32.and(get_local $1235)(i32.const 7)) | |
%3 = and %2, 7:i32 | |
; (i32.and(get_local $3)(i32.const 7)) | |
%4 = and %1, 7:i32 | |
; (i32.ne(unreachable)(unreachable)) | |
%5 = ne %4, 0:i32 | |
%6:i32 = var | |
; (i32.le_u(get_local $4)(get_local $1)) | |
%7 = ule %0, %6 | |
%8:i32 = zext %7 | |
%9:i32 = var | |
; (i32.le_u(get_local $5)(get_local $4)) | |
%10 = ule %9, %0 | |
%11:i32 = zext %10 | |
; (i32.and(get_local $1220)(get_local $1223)) | |
%12 = and %8, %11 | |
; (i32.ne(unreachable)(unreachable)) | |
%13 = ne %12, 0:i32 | |
%14:i32 = var | |
; (i32.and(get_local $1215)(i32.const 8)) | |
%15 = and %14, 8:i32 | |
; (i32.eq(unreachable)(unreachable)) | |
%16 = eq %15, 0:i32 | |
%17:i32 = var | |
; (i32.ne(unreachable)(unreachable)) | |
%18 = ne %17, 0:i32 | |
pc %5 1:i1 | |
pc %13 1:i1 | |
pc %16 1:i1 | |
pc %18 1:i1 | |
infer %3 | |
; RHS inferred successfully | |
%19:i32 = mul 7:i32, %0 | |
%20:i32 = and 7:i32, %19 | |
result %20 | |
----------------------------------------------------------- | |
; start LHS (in $_malloc) | |
%0:i32 = var | |
; (i32.add(get_local $4)(i32.const 8)) | |
%1 = add %0, 8:i32 | |
; (i32.and(get_local $3)(i32.const 7)) | |
%2 = and %1, 7:i32 | |
%3:i32 = var | |
; (i32.le_u(get_local $4)(get_local $1)) | |
%4 = ule %0, %3 | |
%5:i32 = zext %4 | |
%6:i32 = var | |
; (i32.le_u(get_local $5)(get_local $4)) | |
%7 = ule %6, %0 | |
%8:i32 = zext %7 | |
; (i32.and(get_local $1220)(get_local $1223)) | |
%9 = and %5, %8 | |
; (i32.ne(unreachable)(unreachable)) | |
%10 = ne %9, 0:i32 | |
%11:i32 = var | |
; (i32.and(get_local $1215)(i32.const 8)) | |
%12 = and %11, 8:i32 | |
; (i32.eq(unreachable)(unreachable)) | |
%13 = eq %12, 0:i32 | |
%14:i32 = var | |
; (i32.ne(unreachable)(unreachable)) | |
%15 = ne %14, 0:i32 | |
pc %10 1:i1 | |
pc %13 1:i1 | |
pc %15 1:i1 | |
infer %2 | |
; RHS inferred successfully | |
%16:i32 = and 7:i32, %0 | |
result %16 | |
----------------------------------------------------------- | |
; start LHS (in $_malloc) | |
%0:i32 = var | |
; (i32.and(get_local $1215)(i32.const 8)) | |
%1 = and %0, 8:i32 | |
; (i32.eq(unreachable)(unreachable)) | |
%2 = eq %1, 0:i32 | |
%3:i32 = zext %2 | |
; (i32.eq(unreachable)(unreachable)) | |
%4 = eq %3, 0:i32 | |
infer %4 | |
; RHS inferred successfully | |
%5:i32 = ashr %0, 3:i32 | |
%6:i1 = trunc %5 | |
result %6 | |
----------------------------------------------------------- | |
; start LHS (in $_malloc) | |
%0:i32 = var | |
; (i32.add(get_local $1)(i32.const 8)) | |
%1 = add %0, 8:i32 | |
; (i32.sub(i32.const 0)(get_local $2)) | |
%2 = sub 0:i32, %1 | |
%3:i32 = var | |
; (i32.and(get_local $1272)(i32.const 8)) | |
%4 = and %3, 8:i32 | |
; (i32.eq(unreachable)(unreachable)) | |
%5 = eq %4, 0:i32 | |
%6:i32 = var | |
; (i32.ne(unreachable)(unreachable)) | |
%7 = ne %6, 0:i32 | |
pc %5 1:i1 | |
pc %7 1:i1 | |
infer %2 | |
; RHS inferred successfully | |
%8:i32 = sub 4294967288:i32, %0 | |
result %8 | |
----------------------------------------------------------- | |
; start LHS (in $_malloc) | |
%0:i32 = var | |
; (i32.add(get_local $1)(i32.const 8)) | |
%1 = add %0, 8:i32 | |
; (i32.sub(i32.const 0)(get_local $2)) | |
%2 = sub 0:i32, %1 | |
; (i32.and(get_local $1286)(i32.const 7)) | |
%3 = and %2, 7:i32 | |
; (i32.and(get_local $2)(i32.const 7)) | |
%4 = and %1, 7:i32 | |
; (i32.ne(unreachable)(unreachable)) | |
%5 = ne %4, 0:i32 | |
%6:i32 = var | |
; (i32.and(get_local $1272)(i32.const 8)) | |
%7 = and %6, 8:i32 | |
; (i32.eq(unreachable)(unreachable)) | |
%8 = eq %7, 0:i32 | |
%9:i32 = var | |
; (i32.ne(unreachable)(unreachable)) | |
%10 = ne %9, 0:i32 | |
pc %5 1:i1 | |
pc %8 1:i1 | |
pc %10 1:i1 | |
infer %3 | |
; RHS inferred successfully | |
%11:i32 = mul 7:i32, %0 | |
%12:i32 = and 7:i32, %11 | |
result %12 | |
----------------------------------------------------------- | |
; start LHS (in $_malloc) | |
%0:i32 = var | |
; (i32.add(get_local $5)(i32.const 8)) | |
%1 = add %0, 8:i32 | |
; (i32.sub(i32.const 0)(get_local $7)) | |
%2 = sub 0:i32, %1 | |
%3:i32 = var | |
; (i32.and(get_local $1272)(i32.const 8)) | |
%4 = and %3, 8:i32 | |
; (i32.eq(unreachable)(unreachable)) | |
%5 = eq %4, 0:i32 | |
%6:i32 = var | |
; (i32.ne(unreachable)(unreachable)) | |
%7 = ne %6, 0:i32 | |
pc %5 1:i1 | |
pc %7 1:i1 | |
infer %2 | |
; RHS inferred successfully | |
%8:i32 = sub 4294967288:i32, %0 | |
result %8 | |
----------------------------------------------------------- | |
; start LHS (in $_malloc) | |
%0:i32 = var | |
; (i32.add(get_local $5)(i32.const 8)) | |
%1 = add %0, 8:i32 | |
; (i32.sub(i32.const 0)(get_local $7)) | |
%2 = sub 0:i32, %1 | |
; (i32.and(get_local $1291)(i32.const 7)) | |
%3 = and %2, 7:i32 | |
; (i32.and(get_local $7)(i32.const 7)) | |
%4 = and %1, 7:i32 | |
; (i32.ne(unreachable)(unreachable)) | |
%5 = ne %4, 0:i32 | |
%6:i32 = var | |
; (i32.and(get_local $1272)(i32.const 8)) | |
%7 = and %6, 8:i32 | |
; (i32.eq(unreachable)(unreachable)) | |
%8 = eq %7, 0:i32 | |
%9:i32 = var | |
; (i32.ne(unreachable)(unreachable)) | |
%10 = ne %9, 0:i32 | |
pc %5 1:i1 | |
pc %8 1:i1 | |
pc %10 1:i1 | |
infer %3 | |
; RHS inferred successfully | |
%11:i32 = mul 7:i32, %0 | |
%12:i32 = and 7:i32, %11 | |
result %12 | |
----------------------------------------------------------- | |
; start LHS (in $_malloc) | |
%0:i32 = var | |
; (i32.add(get_local $1)(i32.const 8)) | |
%1 = add %0, 8:i32 | |
; (i32.and(get_local $2)(i32.const 7)) | |
%2 = and %1, 7:i32 | |
%3:i32 = var | |
; (i32.and(get_local $1272)(i32.const 8)) | |
%4 = and %3, 8:i32 | |
; (i32.eq(unreachable)(unreachable)) | |
%5 = eq %4, 0:i32 | |
%6:i32 = var | |
; (i32.ne(unreachable)(unreachable)) | |
%7 = ne %6, 0:i32 | |
pc %5 1:i1 | |
pc %7 1:i1 | |
infer %2 | |
; RHS inferred successfully | |
%8:i32 = and 7:i32, %0 | |
result %8 | |
----------------------------------------------------------- | |
; start LHS (in $_malloc) | |
%0:i32 = var | |
; (i32.add(get_local $5)(i32.const 8)) | |
%1 = add %0, 8:i32 | |
; (i32.and(get_local $7)(i32.const 7)) | |
%2 = and %1, 7:i32 | |
%3:i32 = var | |
; (i32.and(get_local $1272)(i32.const 8)) | |
%4 = and %3, 8:i32 | |
; (i32.eq(unreachable)(unreachable)) | |
%5 = eq %4, 0:i32 | |
%6:i32 = var | |
; (i32.ne(unreachable)(unreachable)) | |
%7 = ne %6, 0:i32 | |
pc %5 1:i1 | |
pc %7 1:i1 | |
infer %2 | |
; RHS inferred successfully | |
%8:i32 = and 7:i32, %0 | |
result %8 | |
----------------------------------------------------------- | |
; start LHS (in $_malloc) | |
%0:i32 = var | |
%1:i32 = var | |
; (i32.add(get_local $5)(get_local $1659)) | |
%2 = add %0, %1 | |
; (i32.add(get_local $8)(i32.const -47)) | |
%3 = add %2, -47:i32 | |
; (i32.add(get_local $3)(i32.const 8)) | |
%4 = add %3, 8:i32 | |
%5:i32 = var | |
; (i32.ne(unreachable)(unreachable)) | |
%6 = ne %5, 0:i32 | |
pc %6 1:i1 | |
infer %4 | |
; RHS inferred successfully | |
%7:i32 = sub %2, 39:i32 | |
result %7 | |
----------------------------------------------------------- | |
; start LHS (in $_malloc) | |
%0:i32 = var | |
%1:i32 = var | |
; (i32.add(get_local $5)(get_local $1659)) | |
%2 = add %0, %1 | |
; (i32.add(get_local $8)(i32.const -47)) | |
%3 = add %2, -47:i32 | |
; (i32.add(get_local $3)(i32.const 8)) | |
%4 = add %3, 8:i32 | |
; (i32.sub(i32.const 0)(get_local $5)) | |
%5 = sub 0:i32, %4 | |
%6:i32 = var | |
; (i32.ne(unreachable)(unreachable)) | |
%7 = ne %6, 0:i32 | |
pc %7 1:i1 | |
infer %5 | |
; RHS inferred successfully | |
%8:i32 = sub 39:i32, %2 | |
result %8 | |
----------------------------------------------------------- | |
; start LHS (in $_malloc) | |
%0:i32 = var | |
%1:i32 = var | |
; (i32.add(get_local $5)(get_local $1659)) | |
%2 = add %0, %1 | |
; (i32.add(get_local $8)(i32.const -47)) | |
%3 = add %2, -47:i32 | |
; (i32.add(get_local $3)(i32.const 8)) | |
%4 = add %3, 8:i32 | |
; (i32.sub(i32.const 0)(get_local $5)) | |
%5 = sub 0:i32, %4 | |
; (i32.and(get_local $1671)(i32.const 7)) | |
%6 = and %5, 7:i32 | |
; (i32.and(get_local $5)(i32.const 7)) | |
%7 = and %4, 7:i32 | |
; (i32.ne(unreachable)(unreachable)) | |
%8 = ne %7, 0:i32 | |
%9:i32 = var | |
; (i32.ne(unreachable)(unreachable)) | |
%10 = ne %9, 0:i32 | |
pc %8 1:i1 | |
pc %10 1:i1 | |
infer %6 | |
; RHS inferred successfully | |
%11:i32 = and 7:i32, %2 | |
%12:i32 = xor 7:i32, %11 | |
result %12 | |
----------------------------------------------------------- | |
; start LHS (in $_malloc) | |
%0:i32 = var | |
%1:i32 = var | |
; (i32.add(get_local $5)(get_local $1659)) | |
%2 = add %0, %1 | |
; (i32.add(get_local $8)(i32.const -47)) | |
%3 = add %2, -47:i32 | |
; (i32.add(get_local $3)(i32.const 8)) | |
%4 = add %3, 8:i32 | |
; (i32.and(get_local $5)(i32.const 7)) | |
%5 = and %4, 7:i32 | |
%6:i32 = var | |
; (i32.ne(unreachable)(unreachable)) | |
%7 = ne %6, 0:i32 | |
pc %7 1:i1 | |
infer %5 | |
; RHS inferred successfully | |
%8:i32 = sub %1, 7:i32 | |
%9:i32 = add %0, %8 | |
%10:i32 = and 7:i32, %9 | |
result %10 | |
----------------------------------------------------------- | |
; start LHS (in $_lua_tothread) | |
%0:i32 = var | |
; (i32.le_s(i32.const 0)(get_local $1)) | |
%1 = sle 0:i32, %0 | |
%2:i32 = zext %1 | |
; (i32.eq(unreachable)(unreachable)) | |
%3 = eq %2, 0:i32 | |
infer %3 | |
; RHS inferred successfully | |
%4:i32 = ashr %0, 31:i32 | |
%5:i1 = trunc %4 | |
result %5 | |
----------------------------------------------------------- | |
; start LHS (in $_lua_replace) | |
%0:i32 = var | |
; (i32.le_s(i32.const 0)(get_local $1)) | |
%1 = sle 0:i32, %0 | |
%2:i32 = zext %1 | |
; (i32.eq(unreachable)(unreachable)) | |
%3 = eq %2, 0:i32 | |
infer %3 | |
; RHS inferred successfully | |
%4:i32 = ashr %0, 31:i32 | |
%5:i1 = trunc %4 | |
result %5 | |
----------------------------------------------------------- | |
; start LHS (in $_lua_concat) | |
%0:i32 = var | |
; (i32.le_s(i32.const 0)(get_local $7)) | |
%1 = sle 0:i32, %0 | |
%2:i32 = zext %1 | |
; (i32.eq(unreachable)(unreachable)) | |
%3 = eq %2, 0:i32 | |
infer %3 | |
; RHS inferred successfully | |
%4:i32 = ashr %0, 31:i32 | |
%5:i1 = trunc %4 | |
result %5 | |
----------------------------------------------------------- | |
; start LHS (in $_free) | |
%0:i32 = var | |
; (i32.and(get_local $0)(i32.const 3)) | |
%1 = and %0, 3:i32 | |
; (i32.eq(unreachable)(unreachable)) | |
%2 = eq %1, 0:i32 | |
%3:i32 = zext %2 | |
; (i32.eq(unreachable)(unreachable)) | |
%4 = eq %3, 0:i32 | |
infer %4 | |
; RHS inferred successfully | |
%5:i32 = lshr %0, 1:i32 | |
%6:i32 = or %0, %5 | |
%7:i1 = trunc %6 | |
result %7 | |
----------------------------------------------------------- | |
; start LHS (in $_free) | |
%0:i32 = var | |
; (i32.add(get_local $0)(i32.const -8)) | |
%1 = add %0, -8:i32 | |
%2:i32 = var | |
; (i32.sub(get_local $4)(get_local $3)) | |
%3 = sub %1, %2 | |
%4:i32 = var | |
; (i32.and(get_local $0)(i32.const -8)) | |
%5 = and %4, -8:i32 | |
; (i32.add(get_local $3)(get_local $1)) | |
%6 = add %2, %5 | |
; (i32.add(get_local $0)(get_local $1)) | |
%7 = add %3, %6 | |
%8:i32 = var | |
; (i32.eq(get_local $40)(get_local $0)) | |
%9 = eq %8, %3 | |
; (i32.and(get_local $0)(i32.const 1)) | |
%10 = and %4, 1:i32 | |
; (i32.eq(unreachable)(unreachable)) | |
%11 = eq %10, 0:i32 | |
pc %9 1:i1 | |
pc %11 1:i1 | |
infer %7 | |
; RHS inferred successfully | |
%12:i32 = sub %4, 7:i32 | |
%13:i32 = xor 7:i32, %12 | |
%14:i32 = and %12, %13 | |
%15:i32 = add %0, %14 | |
result %15 | |
----------------------------------------------------------- | |
; start LHS (in $_free) | |
%0:i32 = var | |
; (i32.add(get_local $0)(i32.const -8)) | |
%1 = add %0, -8:i32 | |
%2:i32 = var | |
; (i32.sub(get_local $4)(get_local $3)) | |
%3 = sub %1, %2 | |
; (i32.add(get_local $0)(i32.const 16)) | |
%4 = add %3, 16:i32 | |
%5:i32 = var | |
; (i32.ne(unreachable)(unreachable)) | |
%6 = ne %5, 0:i32 | |
%7:i32 = var | |
; (i32.eq(unreachable)(unreachable)) | |
%8 = eq %7, 0:i32 | |
%9:i32 = var | |
; (i32.eq(get_local $4)(get_local $0)) | |
%10 = eq %9, %3 | |
%11:i32 = var | |
; (i32.and(get_local $0)(i32.const 1)) | |
%12 = and %11, 1:i32 | |
; (i32.eq(unreachable)(unreachable)) | |
%13 = eq %12, 0:i32 | |
pc %6 1:i1 | |
pc %8 1:i1 | |
pc %10 1:i1 | |
pc %13 1:i1 | |
infer %4 | |
; RHS inferred successfully | |
%14:i32 = add 8:i32, %0 | |
%15:i32 = sub %14, %2 | |
result %15 | |
----------------------------------------------------------- | |
; start LHS (in $_free) | |
%0:i32 = var | |
; (i32.add(get_local $0)(i32.const -8)) | |
%1 = add %0, -8:i32 | |
%2:i32 = var | |
; (i32.sub(get_local $4)(get_local $3)) | |
%3 = sub %1, %2 | |
; (i32.add(get_local $0)(i32.const 16)) | |
%4 = add %3, 16:i32 | |
; (i32.add(get_local $3)(i32.const 4)) | |
%5 = add %4, 4:i32 | |
%6:i32 = var | |
; (i32.eq(get_local $4)(get_local $0)) | |
%7 = eq %6, %3 | |
%8:i32 = var | |
; (i32.and(get_local $0)(i32.const 1)) | |
%9 = and %8, 1:i32 | |
; (i32.eq(unreachable)(unreachable)) | |
%10 = eq %9, 0:i32 | |
pc %7 1:i1 | |
pc %10 1:i1 | |
infer %5 | |
; RHS inferred successfully | |
%11:i32 = add 12:i32, %0 | |
%12:i32 = sub %11, %2 | |
result %12 | |
----------------------------------------------------------- | |
; start LHS (in $_free) | |
%0:i32 = var | |
; (i32.add(get_local $0)(i32.const -8)) | |
%1 = add %0, -8:i32 | |
%2:i32 = var | |
; (i32.sub(get_local $4)(get_local $3)) | |
%3 = sub %1, %2 | |
; (i32.add(get_local $0)(i32.const 16)) | |
%4 = add %3, 16:i32 | |
%5:i32 = var | |
; (i32.ne(unreachable)(unreachable)) | |
%6 = ne %5, 0:i32 | |
%7:i32 = var | |
; (i32.and(get_local $0)(i32.const 1)) | |
%8 = and %7, 1:i32 | |
; (i32.eq(unreachable)(unreachable)) | |
%9 = eq %8, 0:i32 | |
pc %6 1:i1 | |
pc %9 1:i1 | |
infer %4 | |
; RHS inferred successfully | |
%10:i32 = add 8:i32, %0 | |
%11:i32 = sub %10, %2 | |
result %11 | |
----------------------------------------------------------- | |
; start LHS (in $_free) | |
%0:i32 = var | |
; (i32.and(get_local $0)(i32.const 1)) | |
%1 = and %0, 1:i32 | |
; (i32.ne(unreachable)(unreachable)) | |
%2 = ne %1, 0:i32 | |
infer %2 | |
; RHS inferred successfully | |
%3:i1 = trunc %0 | |
result %3 | |
----------------------------------------------------------- | |
; start LHS (in $_free) | |
%0:i32 = var | |
; (i32.and(get_local $3)(i32.const 1)) | |
%1 = and %0, 1:i32 | |
; (i32.eq(unreachable)(unreachable)) | |
%2 = eq %1, 0:i32 | |
%3:i32 = zext %2 | |
; (i32.eq(unreachable)(unreachable)) | |
%4 = eq %3, 0:i32 | |
infer %4 | |
; RHS inferred successfully | |
%5:i1 = trunc %0 | |
result %5 | |
----------------------------------------------------------- | |
; start LHS (in $_free) | |
%0:i32 = var | |
; (i32.and(get_local $3)(i32.const 1)) | |
%1 = and %0, 1:i32 | |
; (i32.eq(unreachable)(unreachable)) | |
%2 = eq %1, 0:i32 | |
%3:i32 = zext %2 | |
infer %3 | |
; RHS inferred successfully | |
%4:i32 = sub %0, 1:i32 | |
%5:i32 = and 1:i32, %4 | |
result %5 | |
----------------------------------------------------------- | |
; start LHS (in $_free) | |
%0:i32 = var | |
; (i32.add(get_local $0)(i32.const -8)) | |
%1 = add %0, -8:i32 | |
%2:i32 = var | |
; (i32.and(get_local $0)(i32.const -8)) | |
%3 = and %2, -8:i32 | |
; (i32.add(get_local $4)(get_local $1)) | |
%4 = add %1, %3 | |
; (i32.add(get_local $6)(i32.const 16)) | |
%5 = add %4, 16:i32 | |
%6:i32 = var | |
; (i32.ne(unreachable)(unreachable)) | |
%7 = ne %6, 0:i32 | |
%8:i32 = var | |
; (i32.eq(unreachable)(unreachable)) | |
%9 = eq %8, 0:i32 | |
%10:i32 = var | |
; (i32.eq(get_local $1)(get_local $6)) | |
%11 = eq %10, %4 | |
%12:i32 = var | |
; (i32.lt_u(get_local $3)(i32.const 256)) | |
%13 = ult %12, 256:i32 | |
%14:i32 = zext %13 | |
; (i32.eq(unreachable)(unreachable)) | |
%15 = eq %14, 0:i32 | |
; (i32.and(get_local $3)(i32.const 2)) | |
%16 = and %12, 2:i32 | |
; (i32.eq(unreachable)(unreachable)) | |
%17 = eq %16, 0:i32 | |
pc %7 1:i1 | |
pc %9 1:i1 | |
pc %11 1:i1 | |
pc %15 1:i1 | |
pc %17 1:i1 | |
infer %5 | |
; RHS inferred successfully | |
%18:i32 = sub %3, 4294967288:i32 | |
%19:i32 = add %0, %18 | |
result %19 | |
----------------------------------------------------------- | |
; start LHS (in $_free) | |
%0:i32 = var | |
; (i32.add(get_local $0)(i32.const -8)) | |
%1 = add %0, -8:i32 | |
%2:i32 = var | |
; (i32.and(get_local $0)(i32.const -8)) | |
%3 = and %2, -8:i32 | |
; (i32.add(get_local $4)(get_local $1)) | |
%4 = add %1, %3 | |
; (i32.add(get_local $6)(i32.const 16)) | |
%5 = add %4, 16:i32 | |
%6:i32 = var | |
; (i32.ne(unreachable)(unreachable)) | |
%7 = ne %6, 0:i32 | |
%8:i32 = var | |
; (i32.lt_u(get_local $3)(i32.const 256)) | |
%9 = ult %8, 256:i32 | |
%10:i32 = zext %9 | |
; (i32.eq(unreachable)(unreachable)) | |
%11 = eq %10, 0:i32 | |
; (i32.and(get_local $3)(i32.const 2)) | |
%12 = and %8, 2:i32 | |
; (i32.eq(unreachable)(unreachable)) | |
%13 = eq %12, 0:i32 | |
pc %7 1:i1 | |
pc %11 1:i1 | |
pc %13 1:i1 | |
infer %5 | |
; RHS inferred successfully | |
%14:i32 = sub %3, 4294967288:i32 | |
%15:i32 = add %0, %14 | |
result %15 | |
----------------------------------------------------------- | |
; start LHS (in $_free) | |
%0:i32 = var | |
; (i32.and(get_local $3)(i32.const 1)) | |
%1 = and %0, 1:i32 | |
; (i32.eq(unreachable)(unreachable)) | |
%2 = eq %1, 0:i32 | |
%3:i32 = zext %2 | |
infer %3 | |
; RHS inferred successfully | |
%4:i32 = sub %0, 1:i32 | |
%5:i32 = and 1:i32, %4 | |
result %5 | |
----------------------------------------------------------- | |
; start LHS (in $_free) | |
%0:i32 = var | |
; (i32.and(get_local $3)(i32.const 1)) | |
%1 = and %0, 1:i32 | |
; (i32.eq(unreachable)(unreachable)) | |
%2 = eq %1, 0:i32 | |
%3:i32 = zext %2 | |
infer %3 | |
; RHS inferred successfully | |
%4:i32 = sub %0, 1:i32 | |
%5:i32 = and 1:i32, %4 | |
result %5 | |
----------------------------------------------------------- | |
; start LHS (in $_propagatemark) | |
%0:i32 = var | |
; (i32.and(get_local $102)(i32.const 64)) | |
%1 = and %0, 64:i32 | |
; (i32.eq(unreachable)(unreachable)) | |
%2 = eq %1, 0:i32 | |
%3:i32 = zext %2 | |
; (i32.eq(unreachable)(unreachable)) | |
%4 = eq %3, 0:i32 | |
%5:i32 = var | |
; (i32.ne(unreachable)(unreachable)) | |
%6 = ne %5, 0:i32 | |
%7:i32 = var | |
; (i32.ne(get_local $3)(i32.const 31)) | |
%8 = ne %7, 31:i32 | |
pc %6 1:i1 | |
pc %8 1:i1 | |
infer %4 | |
; RHS inferred successfully | |
%9:i32 = ashr %0, 6:i32 | |
%10:i1 = trunc %9 | |
result %10 | |
----------------------------------------------------------- | |
; start LHS (in $_propagatemark) | |
%0:i32 = var | |
; (i32.and(get_local $102)(i32.const 64)) | |
%1 = and %0, 64:i32 | |
; (i32.eq(unreachable)(unreachable)) | |
%2 = eq %1, 0:i32 | |
%3:i32 = zext %2 | |
; (i32.eq(unreachable)(unreachable)) | |
%4 = eq %3, 0:i32 | |
%5:i32 = zext %4 | |
; (i32.eq(unreachable)(unreachable)) | |
%6 = eq %5, 0:i32 | |
infer %6 | |
; RHS inferred successfully | |
result %2 | |
----------------------------------------------------------- | |
; start LHS (in $_propagatemark) | |
%0:i32 = var | |
; (i32.and(get_local $102)(i32.const 64)) | |
%1 = and %0, 64:i32 | |
; (i32.eq(unreachable)(unreachable)) | |
%2 = eq %1, 0:i32 | |
%3:i32 = zext %2 | |
; (i32.eq(unreachable)(unreachable)) | |
%4 = eq %3, 0:i32 | |
%5:i32 = zext %4 | |
infer %5 | |
; RHS inferred successfully | |
%6:i32 = ashr %0, 4:i32 | |
%7:i32 = and 4:i32, %6 | |
%8:i32 = mul %7, %7 | |
%9:i32 = lshr %8, %7 | |
result %9 | |
----------------------------------------------------------- | |
; start LHS (in $_propagatemark) | |
%0:i32 = var | |
; (i32.and(get_local $102)(i32.const 64)) | |
%1 = and %0, 64:i32 | |
; (i32.eq(unreachable)(unreachable)) | |
%2 = eq %1, 0:i32 | |
%3:i32 = zext %2 | |
; (i32.eq(unreachable)(unreachable)) | |
%4 = eq %3, 0:i32 | |
%5:i32 = var | |
; (i32.eq(unreachable)(unreachable)) | |
%6 = eq %5, 0:i32 | |
%7:i32 = var | |
; (i32.ne(get_local $3)(i32.const 31)) | |
%8 = ne %7, 31:i32 | |
pc %6 1:i1 | |
pc %8 1:i1 | |
infer %4 | |
; RHS inferred successfully | |
%9:i32 = lshr %0, 6:i32 | |
%10:i1 = trunc %9 | |
result %10 | |
----------------------------------------------------------- | |
; start LHS (in $_propagatemark) | |
%0:i32 = var | |
; (i32.and(get_local $102)(i32.const 64)) | |
%1 = and %0, 64:i32 | |
; (i32.eq(unreachable)(unreachable)) | |
%2 = eq %1, 0:i32 | |
%3:i32 = zext %2 | |
; (i32.eq(unreachable)(unreachable)) | |
%4 = eq %3, 0:i32 | |
%5:i32 = zext %4 | |
; (i32.eq(unreachable)(unreachable)) | |
%6 = eq %5, 0:i32 | |
infer %6 | |
; RHS inferred successfully | |
result %2 | |
----------------------------------------------------------- | |
; start LHS (in $_propagatemark) | |
%0:i32 = var | |
; (i32.and(get_local $102)(i32.const 64)) | |
%1 = and %0, 64:i32 | |
; (i32.eq(unreachable)(unreachable)) | |
%2 = eq %1, 0:i32 | |
%3:i32 = zext %2 | |
; (i32.eq(unreachable)(unreachable)) | |
%4 = eq %3, 0:i32 | |
%5:i32 = zext %4 | |
infer %5 | |
; RHS inferred successfully | |
%6:i32 = ashr %0, 4:i32 | |
%7:i32 = and 4:i32, %6 | |
%8:i32 = mul %7, %7 | |
%9:i32 = lshr %8, %7 | |
result %9 | |
----------------------------------------------------------- | |
; start LHS (in $_propagatemark) | |
%0:i32 = var | |
; (i32.and(get_local $102)(i32.const 64)) | |
%1 = and %0, 64:i32 | |
; (i32.eq(unreachable)(unreachable)) | |
%2 = eq %1, 0:i32 | |
%3:i32 = zext %2 | |
; (i32.eq(unreachable)(unreachable)) | |
%4 = eq %3, 0:i32 | |
%5:i32 = zext %4 | |
infer %5 | |
; RHS inferred successfully | |
%6:i32 = ashr %0, 4:i32 | |
%7:i32 = and 4:i32, %6 | |
%8:i32 = mul %7, %7 | |
%9:i32 = lshr %8, %7 | |
result %9 | |
----------------------------------------------------------- | |
; start LHS (in $_propagatemark) | |
%0:i32 = var | |
; (i32.and(get_local $102)(i32.const 64)) | |
%1 = and %0, 64:i32 | |
; (i32.eq(unreachable)(unreachable)) | |
%2 = eq %1, 0:i32 | |
%3:i32 = zext %2 | |
; (i32.eq(unreachable)(unreachable)) | |
%4 = eq %3, 0:i32 | |
%5:i32 = zext %4 | |
infer %5 | |
; RHS inferred successfully | |
%6:i32 = ashr %0, 4:i32 | |
%7:i32 = and 4:i32, %6 | |
%8:i32 = mul %7, %7 | |
%9:i32 = lshr %8, %7 | |
result %9 | |
----------------------------------------------------------- | |
; start LHS (in $_propagatemark) | |
%0:i32 = var | |
; (i32.le_s(i32.const 0)(get_local $1)) | |
%1 = sle 0:i32, %0 | |
%2:i32 = zext %1 | |
; (i32.eq(unreachable)(unreachable)) | |
%3 = eq %2, 0:i32 | |
infer %3 | |
; RHS inferred successfully | |
%4:i32 = ashr %0, 31:i32 | |
%5:i1 = trunc %4 | |
result %5 | |
----------------------------------------------------------- | |
; start LHS (in $_propagatemark) | |
%0:i32 = var | |
; (i32.and(get_local $224)(i32.const 64)) | |
%1 = and %0, 64:i32 | |
; (i32.eq(unreachable)(unreachable)) | |
%2 = eq %1, 0:i32 | |
%3:i32 = zext %2 | |
; (i32.eq(unreachable)(unreachable)) | |
%4 = eq %3, 0:i32 | |
%5:i32 = zext %4 | |
; (i32.eq(unreachable)(unreachable)) | |
%6 = eq %5, 0:i32 | |
infer %6 | |
; RHS inferred successfully | |
result %2 | |
----------------------------------------------------------- | |
; start LHS (in $_propagatemark) | |
%0:i32 = var | |
; (i32.and(get_local $224)(i32.const 64)) | |
%1 = and %0, 64:i32 | |
; (i32.eq(unreachable)(unreachable)) | |
%2 = eq %1, 0:i32 | |
%3:i32 = zext %2 | |
; (i32.eq(unreachable)(unreachable)) | |
%4 = eq %3, 0:i32 | |
%5:i32 = zext %4 | |
infer %5 | |
; RHS inferred successfully | |
%6:i32 = ashr %0, 4:i32 | |
%7:i32 = and 4:i32, %6 | |
%8:i32 = mul %7, %7 | |
%9:i32 = lshr %8, %7 | |
result %9 | |
----------------------------------------------------------- | |
; start LHS (in $_propagatemark) | |
%0:i32 = var | |
; (i32.and(get_local $224)(i32.const 64)) | |
%1 = and %0, 64:i32 | |
; (i32.eq(unreachable)(unreachable)) | |
%2 = eq %1, 0:i32 | |
%3:i32 = zext %2 | |
; (i32.eq(unreachable)(unreachable)) | |
%4 = eq %3, 0:i32 | |
%5:i32 = zext %4 | |
; (i32.eq(unreachable)(unreachable)) | |
%6 = eq %5, 0:i32 | |
infer %6 | |
; RHS inferred successfully | |
result %2 | |
----------------------------------------------------------- | |
; start LHS (in $_propagatemark) | |
%0:i32 = var | |
; (i32.and(get_local $224)(i32.const 64)) | |
%1 = and %0, 64:i32 | |
; (i32.eq(unreachable)(unreachable)) | |
%2 = eq %1, 0:i32 | |
%3:i32 = zext %2 | |
; (i32.eq(unreachable)(unreachable)) | |
%4 = eq %3, 0:i32 | |
%5:i32 = zext %4 | |
infer %5 | |
; RHS inferred successfully | |
%6:i32 = ashr %0, 4:i32 | |
%7:i32 = and 4:i32, %6 | |
%8:i32 = mul %7, %7 | |
%9:i32 = lshr %8, %7 | |
result %9 | |
----------------------------------------------------------- | |
; start LHS (in $_propagatemark) | |
%0:i32 = var | |
; (i32.and(get_local $224)(i32.const 64)) | |
%1 = and %0, 64:i32 | |
; (i32.eq(unreachable)(unreachable)) | |
%2 = eq %1, 0:i32 | |
%3:i32 = zext %2 | |
; (i32.eq(unreachable)(unreachable)) | |
%4 = eq %3, 0:i32 | |
%5:i32 = zext %4 | |
infer %5 | |
; RHS inferred successfully | |
%6:i32 = ashr %0, 4:i32 | |
%7:i32 = and 4:i32, %6 | |
%8:i32 = mul %7, %7 | |
%9:i32 = lshr %8, %7 | |
result %9 | |
----------------------------------------------------------- | |
; start LHS (in $_propagatemark) | |
%0:i32 = var | |
; (i32.and(get_local $224)(i32.const 64)) | |
%1 = and %0, 64:i32 | |
; (i32.eq(unreachable)(unreachable)) | |
%2 = eq %1, 0:i32 | |
%3:i32 = zext %2 | |
; (i32.eq(unreachable)(unreachable)) | |
%4 = eq %3, 0:i32 | |
%5:i32 = zext %4 | |
infer %5 | |
; RHS inferred successfully | |
%6:i32 = ashr %0, 4:i32 | |
%7:i32 = and 4:i32, %6 | |
%8:i32 = mul %7, %7 | |
%9:i32 = lshr %8, %7 | |
result %9 | |
----------------------------------------------------------- | |
; start LHS (in $_propagatemark) | |
%0:i32 = var | |
; (i32.le_s(i32.const 0)(get_local $1)) | |
%1 = sle 0:i32, %0 | |
%2:i32 = zext %1 | |
; (i32.eq(unreachable)(unreachable)) | |
%3 = eq %2, 0:i32 | |
infer %3 | |
; RHS inferred successfully | |
%4:i32 = ashr %0, 31:i32 | |
%5:i1 = trunc %4 | |
result %5 | |
----------------------------------------------------------- | |
; start LHS (in $_propagatemark) | |
%0:i32 = var | |
; (i32.le_s(i32.const 0)(get_local $1)) | |
%1 = sle 0:i32, %0 | |
%2:i32 = zext %1 | |
; (i32.eq(unreachable)(unreachable)) | |
%3 = eq %2, 0:i32 | |
infer %3 | |
; RHS inferred successfully | |
%4:i32 = ashr %0, 31:i32 | |
%5:i1 = trunc %4 | |
result %5 | |
----------------------------------------------------------- | |
; start LHS (in $_propagatemark) | |
%0:i32 = var | |
; (i32.le_s(i32.const 0)(get_local $1)) | |
%1 = sle 0:i32, %0 | |
%2:i32 = zext %1 | |
; (i32.eq(unreachable)(unreachable)) | |
%3 = eq %2, 0:i32 | |
infer %3 | |
; RHS inferred successfully | |
%4:i32 = ashr %0, 31:i32 | |
%5:i1 = trunc %4 | |
result %5 | |
----------------------------------------------------------- | |
; start LHS (in $_propagatemark) | |
%0:i32 = var | |
; (i32.le_s(i32.const 0)(get_local $2)) | |
%1 = sle 0:i32, %0 | |
%2:i32 = zext %1 | |
; (i32.eq(unreachable)(unreachable)) | |
%3 = eq %2, 0:i32 | |
infer %3 | |
; RHS inferred successfully | |
%4:i32 = ashr %0, 31:i32 | |
%5:i1 = trunc %4 | |
result %5 | |
----------------------------------------------------------- | |
; start LHS (in $_match_class) | |
%0:i32 = var | |
; (i32.add(get_local $0)(i32.const -48)) | |
%1 = add %0, -48:i32 | |
; (i32.lt_u(get_local $39)(i32.const 10)) | |
%2 = ult %1, 10:i32 | |
%3:i32 = zext %2 | |
; (i32.ne(get_local $40)(i32.const 0)) | |
%4 = ne %3, 0:i32 | |
; (i32.or(get_local $0)(i32.const 32)) | |
%5 = or %0, 32:i32 | |
; (i32.add(get_local $35)(i32.const -97)) | |
%6 = add %5, -97:i32 | |
; (i32.lt_u(get_local $36)(i32.const 26)) | |
%7 = ult %6, 26:i32 | |
%8:i32 = zext %7 | |
; (i32.eq(unreachable)(unreachable)) | |
%9 = eq %8, 0:i32 | |
; (i32.add(get_local $0)(i32.const -33)) | |
%10 = add %0, -33:i32 | |
; (i32.lt_u(get_local $32)(i32.const 94)) | |
%11 = ult %10, 94:i32 | |
pc %9 1:i1 | |
pc %11 1:i1 | |
infer %4 | |
; RHS inferred successfully | |
result %2 | |
----------------------------------------------------------- | |
; start LHS (in $_match_class) | |
%0:i32 = var | |
; (i32.add(get_local $0)(i32.const -48)) | |
%1 = add %0, -48:i32 | |
; (i32.lt_u(get_local $39)(i32.const 10)) | |
%2 = ult %1, 10:i32 | |
%3:i32 = zext %2 | |
; (i32.ne(get_local $40)(i32.const 0)) | |
%4 = ne %3, 0:i32 | |
%5:i32 = zext %4 | |
infer %5 | |
; RHS inferred successfully | |
result %3 | |
----------------------------------------------------------- | |
; start LHS (in $_match_class) | |
%0:i32 = var | |
; (i32.add(get_local $0)(i32.const -48)) | |
%1 = add %0, -48:i32 | |
; (i32.lt_u(get_local $61)(i32.const 10)) | |
%2 = ult %1, 10:i32 | |
%3:i32 = zext %2 | |
; (i32.ne(get_local $62)(i32.const 0)) | |
%4 = ne %3, 0:i32 | |
; (i32.or(get_local $0)(i32.const 32)) | |
%5 = or %0, 32:i32 | |
; (i32.add(get_local $57)(i32.const -97)) | |
%6 = add %5, -97:i32 | |
; (i32.lt_u(get_local $58)(i32.const 26)) | |
%7 = ult %6, 26:i32 | |
%8:i32 = zext %7 | |
; (i32.eq(unreachable)(unreachable)) | |
%9 = eq %8, 0:i32 | |
pc %9 1:i1 | |
infer %4 | |
; RHS inferred successfully | |
result %2 | |
----------------------------------------------------------- | |
; start LHS (in $_match_class) | |
%0:i32 = var | |
; (i32.add(get_local $0)(i32.const -48)) | |
%1 = add %0, -48:i32 | |
; (i32.lt_u(get_local $61)(i32.const 10)) | |
%2 = ult %1, 10:i32 | |
%3:i32 = zext %2 | |
; (i32.ne(get_local $62)(i32.const 0)) | |
%4 = ne %3, 0:i32 | |
%5:i32 = zext %4 | |
infer %5 | |
; RHS inferred successfully | |
result %3 | |
----------------------------------------------------------- | |
; start LHS (in $_match_class) | |
%0:i32 = var | |
; (i32.add(get_local $0)(i32.const -48)) | |
%1 = add %0, -48:i32 | |
; (i32.lt_u(get_local $71)(i32.const 10)) | |
%2 = ult %1, 10:i32 | |
%3:i32 = zext %2 | |
; (i32.ne(get_local $72)(i32.const 0)) | |
%4 = ne %3, 0:i32 | |
infer %4 | |
; RHS inferred successfully | |
result %2 | |
----------------------------------------------------------- | |
; start LHS (in $_match_class) | |
%0:i32 = var | |
; (i32.add(get_local $0)(i32.const -48)) | |
%1 = add %0, -48:i32 | |
; (i32.lt_u(get_local $71)(i32.const 10)) | |
%2 = ult %1, 10:i32 | |
%3:i32 = zext %2 | |
; (i32.ne(get_local $72)(i32.const 0)) | |
%4 = ne %3, 0:i32 | |
%5:i32 = zext %4 | |
infer %5 | |
; RHS inferred successfully | |
result %3 | |
----------------------------------------------------------- | |
; start LHS (in $_match_class) | |
%0:i32 = var | |
; (i32.add(get_local $0)(i32.const -48)) | |
%1 = add %0, -48:i32 | |
; (i32.lt_u(get_local $71)(i32.const 10)) | |
%2 = ult %1, 10:i32 | |
%3:i32 = zext %2 | |
; (i32.ne(get_local $72)(i32.const 0)) | |
%4 = ne %3, 0:i32 | |
%5:i32 = zext %4 | |
infer %5 | |
; RHS inferred successfully | |
result %3 | |
----------------------------------------------------------- | |
; start LHS (in $_lua_touserdata) | |
%0:i32 = var | |
; (i32.le_s(i32.const 0)(get_local $1)) | |
%1 = sle 0:i32, %0 | |
%2:i32 = zext %1 | |
; (i32.eq(unreachable)(unreachable)) | |
%3 = eq %2, 0:i32 | |
infer %3 | |
; RHS inferred successfully | |
%4:i32 = ashr %0, 31:i32 | |
%5:i1 = trunc %4 | |
result %5 | |
----------------------------------------------------------- | |
; start LHS (in $_luaX_newstring) | |
%0:i32 = var | |
; (i32.le_s(i32.const 0)(get_local $42)) | |
%1 = sle 0:i32, %0 | |
%2:i32 = zext %1 | |
; (i32.eq(unreachable)(unreachable)) | |
%3 = eq %2, 0:i32 | |
infer %3 | |
; RHS inferred successfully | |
%4:i32 = ashr %0, 31:i32 | |
%5:i1 = trunc %4 | |
result %5 | |
----------------------------------------------------------- | |
; start LHS (in $_sbrk) | |
%0:i32 = var | |
%1:i32 = var | |
; (i32.add(get_local $1)(get_local $0)) | |
%2 = add %0, %1 | |
; (i32.lt_s(get_local $0)(i32.const 0)) | |
%3 = slt %2, 0:i32 | |
%4:i32 = zext %3 | |
infer %4 | |
; RHS inferred successfully | |
%5:i32 = lshr %2, 31:i32 | |
result %5 | |
----------------------------------------------------------- | |
; start LHS (in $_sbrk) | |
%0:i32 = var | |
; (i32.le_s(i32.const 0)(get_local $0)) | |
%1 = sle 0:i32, %0 | |
%2:i32 = zext %1 | |
%3:i32 = var | |
; (i32.add(get_local $1)(get_local $0)) | |
%4 = add %3, %0 | |
; (i32.lt_s(get_local $0)(get_local $1)) | |
%5 = slt %4, %3 | |
%6:i32 = zext %5 | |
; (i32.and(get_local $3)(get_local $11)) | |
%7 = and %2, %6 | |
; (i32.lt_s(get_local $0)(i32.const 0)) | |
%8 = slt %4, 0:i32 | |
%9:i32 = zext %8 | |
; (i32.or(get_local $12)(get_local $14)) | |
%10 = or %7, %9 | |
infer %10 | |
; RHS inferred successfully | |
result %9 | |
----------------------------------------------------------- | |
; start LHS (in $_sbrk) | |
%0:i32 = var | |
; (i32.le_s(i32.const 0)(get_local $0)) | |
%1 = sle 0:i32, %0 | |
%2:i32 = zext %1 | |
%3:i32 = var | |
; (i32.add(get_local $1)(get_local $0)) | |
%4 = add %3, %0 | |
; (i32.lt_s(get_local $0)(get_local $1)) | |
%5 = slt %4, %3 | |
%6:i32 = zext %5 | |
; (i32.and(get_local $3)(get_local $11)) | |
%7 = and %2, %6 | |
; (i32.lt_s(get_local $0)(i32.const 0)) | |
%8 = slt %4, 0:i32 | |
%9:i32 = zext %8 | |
; (i32.or(get_local $12)(get_local $14)) | |
%10 = or %7, %9 | |
; (i32.ne(unreachable)(unreachable)) | |
%11 = ne %10, 0:i32 | |
infer %11 | |
; RHS inferred successfully | |
result %8 | |
----------------------------------------------------------- | |
; start LHS (in $_sbrk) | |
%0:i32 = var | |
; (i32.le_s(i32.const 0)(get_local $0)) | |
%1 = sle 0:i32, %0 | |
%2:i32 = zext %1 | |
%3:i32 = var | |
; (i32.add(get_local $1)(get_local $0)) | |
%4 = add %3, %0 | |
; (i32.lt_s(get_local $0)(get_local $1)) | |
%5 = slt %4, %3 | |
%6:i32 = zext %5 | |
; (i32.and(get_local $3)(get_local $11)) | |
%7 = and %2, %6 | |
; (i32.lt_s(get_local $0)(i32.const 0)) | |
%8 = slt %4, 0:i32 | |
%9:i32 = zext %8 | |
; (i32.or(get_local $12)(get_local $14)) | |
%10 = or %7, %9 | |
; (i32.eq(unreachable)(unreachable)) | |
%11 = eq %10, 0:i32 | |
infer %11 | |
; RHS inferred successfully | |
%12:i32 = ashr %4, 31:i32 | |
%13:i32 = sub %12, 31:i32 | |
%14:i1 = trunc %13 | |
result %14 | |
----------------------------------------------------------- | |
; start LHS (in $_lua_setmetatable) | |
%0:i32 = var | |
; (i32.le_s(i32.const 0)(get_local $1)) | |
%1 = sle 0:i32, %0 | |
%2:i32 = zext %1 | |
; (i32.eq(unreachable)(unreachable)) | |
%3 = eq %2, 0:i32 | |
infer %3 | |
; RHS inferred successfully | |
%4:i32 = ashr %0, 31:i32 | |
%5:i1 = trunc %4 | |
result %5 | |
----------------------------------------------------------- | |
; start LHS (in $_lua_isstring) | |
%0:i32 = var | |
; (i32.le_s(i32.const 0)(get_local $1)) | |
%1 = sle 0:i32, %0 | |
%2:i32 = zext %1 | |
; (i32.eq(unreachable)(unreachable)) | |
%3 = eq %2, 0:i32 | |
infer %3 | |
; RHS inferred successfully | |
%4:i32 = ashr %0, 31:i32 | |
%5:i1 = trunc %4 | |
result %5 | |
----------------------------------------------------------- | |
; start LHS (in $_lua_getmetatable) | |
%0:i32 = var | |
; (i32.le_s(i32.const 0)(get_local $1)) | |
%1 = sle 0:i32, %0 | |
%2:i32 = zext %1 | |
; (i32.eq(unreachable)(unreachable)) | |
%3 = eq %2, 0:i32 | |
infer %3 | |
; RHS inferred successfully | |
%4:i32 = ashr %0, 31:i32 | |
%5:i1 = trunc %4 | |
result %5 | |
----------------------------------------------------------- | |
; start LHS (in $_luaL_addvalue) | |
%0 = block 2 | |
%1:i32 = var | |
; (i32.shl(get_local $1)(i32.const 1)) | |
%2 = shl %1, 1:i32 | |
%3:i32 = var | |
; (i32.sub(get_local $1)(get_local $3)) | |
%4 = sub %2, %3 | |
%5:i32 = var | |
; (i32.lt_u(get_local $55)(get_local $4)) | |
%6 = ult %4, %5 | |
blockpc %0 0 %6 1:i1 | |
%7:i32 = zext %6 | |
; (i32.eq(unreachable)(unreachable)) | |
%8 = eq %7, 0:i32 | |
blockpc %0 1 %8 1:i1 | |
; (i32.add(get_local $3)(get_local $4)) | |
%9 = add %3, %5 | |
%10 = phi %0, %9, %2 | |
; (i32.sub(get_local $2)(get_local $3)) | |
%11 = sub %10, %3 | |
; (i32.lt_u(get_local $67)(get_local $4)) | |
%12 = ult %11, %5 | |
; (i32.sub(get_local $1)(get_local $3)) | |
%13 = sub %1, %3 | |
; (i32.lt_u(get_local $43)(get_local $4)) | |
%14 = ult %13, %5 | |
pc %14 1:i1 | |
infer %12 | |
; RHS inferred successfully | |
result 0:i1 | |
----------------------------------------------------------- | |
; start LHS (in $_luaL_addvalue) | |
%0 = block 2 | |
%1:i32 = var | |
; (i32.shl(get_local $1)(i32.const 1)) | |
%2 = shl %1, 1:i32 | |
%3:i32 = var | |
; (i32.sub(get_local $1)(get_local $3)) | |
%4 = sub %2, %3 | |
%5:i32 = var | |
; (i32.lt_u(get_local $55)(get_local $4)) | |
%6 = ult %4, %5 | |
blockpc %0 0 %6 1:i1 | |
%7:i32 = zext %6 | |
; (i32.eq(unreachable)(unreachable)) | |
%8 = eq %7, 0:i32 | |
blockpc %0 1 %8 1:i1 | |
; (i32.add(get_local $3)(get_local $4)) | |
%9 = add %3, %5 | |
%10 = phi %0, %9, %2 | |
; (i32.sub(get_local $2)(get_local $3)) | |
%11 = sub %10, %3 | |
; (i32.lt_u(get_local $67)(get_local $4)) | |
%12 = ult %11, %5 | |
%13:i32 = zext %12 | |
infer %13 | |
; RHS inferred successfully | |
result 0:i32 | |
----------------------------------------------------------- | |
; start LHS (in $_luaL_addvalue) | |
%0 = block 2 | |
%1:i32 = var | |
; (i32.shl(get_local $1)(i32.const 1)) | |
%2 = shl %1, 1:i32 | |
%3:i32 = var | |
; (i32.sub(get_local $1)(get_local $3)) | |
%4 = sub %2, %3 | |
%5:i32 = var | |
; (i32.lt_u(get_local $55)(get_local $4)) | |
%6 = ult %4, %5 | |
blockpc %0 0 %6 1:i1 | |
%7:i32 = zext %6 | |
; (i32.eq(unreachable)(unreachable)) | |
%8 = eq %7, 0:i32 | |
blockpc %0 1 %8 1:i1 | |
; (i32.add(get_local $3)(get_local $4)) | |
%9 = add %3, %5 | |
%10 = phi %0, %9, %2 | |
; (i32.lt_u(get_local $61)(get_local $3)) | |
%11 = ult %10, %3 | |
%12:i32 = zext %11 | |
%13 = phi %0, %9, %2 | |
; (i32.sub(get_local $2)(get_local $3)) | |
%14 = sub %13, %3 | |
; (i32.lt_u(get_local $67)(get_local $4)) | |
%15 = ult %14, %5 | |
%16:i32 = zext %15 | |
; (i32.or(get_local $64)(get_local $69)) | |
%17 = or %12, %16 | |
; (i32.sub(get_local $1)(get_local $3)) | |
%18 = sub %1, %3 | |
; (i32.lt_u(get_local $43)(get_local $4)) | |
%19 = ult %18, %5 | |
pc %19 1:i1 | |
infer %17 | |
; RHS inferred successfully | |
result %12 | |
----------------------------------------------------------- | |
; start LHS (in $_luaL_addvalue) | |
%0 = block 2 | |
%1:i32 = var | |
; (i32.shl(get_local $1)(i32.const 1)) | |
%2 = shl %1, 1:i32 | |
%3:i32 = var | |
; (i32.sub(get_local $1)(get_local $3)) | |
%4 = sub %2, %3 | |
%5:i32 = var | |
; (i32.lt_u(get_local $55)(get_local $4)) | |
%6 = ult %4, %5 | |
blockpc %0 0 %6 1:i1 | |
%7:i32 = zext %6 | |
; (i32.eq(unreachable)(unreachable)) | |
%8 = eq %7, 0:i32 | |
blockpc %0 1 %8 1:i1 | |
; (i32.add(get_local $3)(get_local $4)) | |
%9 = add %3, %5 | |
%10 = phi %0, %9, %2 | |
; (i32.lt_u(get_local $61)(get_local $3)) | |
%11 = ult %10, %3 | |
%12:i32 = zext %11 | |
%13 = phi %0, %9, %2 | |
; (i32.sub(get_local $2)(get_local $3)) | |
%14 = sub %13, %3 | |
; (i32.lt_u(get_local $67)(get_local $4)) | |
%15 = ult %14, %5 | |
%16:i32 = zext %15 | |
; (i32.or(get_local $64)(get_local $69)) | |
%17 = or %12, %16 | |
; (i32.ne(unreachable)(unreachable)) | |
%18 = ne %17, 0:i32 | |
infer %18 | |
; RHS inferred successfully | |
result %11 | |
----------------------------------------------------------- | |
; start LHS (in $_luaL_addvalue) | |
%0 = block 2 | |
%1:i32 = var | |
%2:i32 = var | |
; (i32.sub(get_local $1)(get_local $3)) | |
%3 = sub %1, %2 | |
%4:i32 = var | |
; (i32.lt_u(get_local $43)(get_local $4)) | |
%5 = ult %3, %4 | |
blockpc %0 0 %5 1:i1 | |
%6:i32 = zext %5 | |
; (i32.eq(unreachable)(unreachable)) | |
%7 = eq %6, 0:i32 | |
blockpc %0 1 %7 1:i1 | |
%8 = block 2 | |
; (i32.shl(get_local $1)(i32.const 1)) | |
%9 = shl %1, 1:i32 | |
; (i32.sub(get_local $1)(get_local $3)) | |
%10 = sub %9, %2 | |
; (i32.lt_u(get_local $55)(get_local $4)) | |
%11 = ult %10, %4 | |
blockpc %8 0 %11 1:i1 | |
%12:i32 = zext %11 | |
; (i32.eq(unreachable)(unreachable)) | |
%13 = eq %12, 0:i32 | |
blockpc %8 1 %13 1:i1 | |
; (i32.add(get_local $3)(get_local $4)) | |
%14 = add %2, %4 | |
%15 = phi %8, %14, %9 | |
; (i32.sub(get_local $2)(get_local $3)) | |
%16 = sub %15, %2 | |
; (i32.lt_u(get_local $67)(get_local $4)) | |
%17 = ult %16, %4 | |
%18:i32 = zext %17 | |
%19 = phi %0, %18, 0:i32 | |
infer %19 | |
; RHS inferred successfully | |
result 0:i32 | |
----------------------------------------------------------- | |
; start LHS (in $_luaL_addvalue) | |
%0 = block 2 | |
%1:i32 = var | |
; (i32.shl(get_local $1)(i32.const 1)) | |
%2 = shl %1, 1:i32 | |
%3:i32 = var | |
; (i32.sub(get_local $1)(get_local $3)) | |
%4 = sub %2, %3 | |
%5:i32 = var | |
; (i32.lt_u(get_local $55)(get_local $4)) | |
%6 = ult %4, %5 | |
blockpc %0 0 %6 1:i1 | |
%7:i32 = zext %6 | |
; (i32.eq(unreachable)(unreachable)) | |
%8 = eq %7, 0:i32 | |
blockpc %0 1 %8 1:i1 | |
; (i32.add(get_local $3)(get_local $4)) | |
%9 = add %3, %5 | |
%10 = phi %0, %9, %2 | |
; (i32.sub(get_local $2)(get_local $3)) | |
%11 = sub %10, %3 | |
; (i32.lt_u(get_local $67)(get_local $4)) | |
%12 = ult %11, %5 | |
%13:i32 = zext %12 | |
infer %13 | |
; RHS inferred successfully | |
result 0:i32 | |
----------------------------------------------------------- | |
; start LHS (in $_exp2reg) | |
%0:i32 = var | |
%1:i32 = var | |
; (i32.xor(get_local $4)(i32.const -1)) | |
%2 = xor %1, -1:i32 | |
; (i32.add(get_local $7)(get_local $66)) | |
%3 = add %0, %2 | |
; (i32.sub(i32.const 0)(get_local $4)) | |
%4 = sub 0:i32, %3 | |
; (i32.le_s(i32.const -1)(get_local $4)) | |
%5 = sle -1:i32, %3 | |
%6:i32 = zext %5 | |
; (i32.eq(unreachable)(unreachable)) | |
%7 = eq %6, 0:i32 | |
pc %7 1:i1 | |
infer %4 | |
; RHS inferred successfully | |
%8:i32 = add 1:i32, %1 | |
%9:i32 = sub %8, %0 | |
result %9 | |
----------------------------------------------------------- | |
; start LHS (in $_exp2reg) | |
%0:i32 = var | |
%1:i32 = var | |
; (i32.xor(get_local $5)(i32.const -1)) | |
%2 = xor %1, -1:i32 | |
; (i32.add(get_local $7)(get_local $216)) | |
%3 = add %0, %2 | |
; (i32.sub(i32.const 0)(get_local $5)) | |
%4 = sub 0:i32, %3 | |
; (i32.le_s(i32.const -1)(get_local $5)) | |
%5 = sle -1:i32, %3 | |
%6:i32 = zext %5 | |
; (i32.eq(unreachable)(unreachable)) | |
%7 = eq %6, 0:i32 | |
%8:i32 = var | |
; (i32.eq(get_local $4)(i32.const -1)) | |
%9 = eq %8, -1:i32 | |
%10:i32 = zext %9 | |
; (i32.eq(unreachable)(unreachable)) | |
%11 = eq %10, 0:i32 | |
; (i32.eq(get_local $7)(i32.const -1)) | |
%12 = eq %0, -1:i32 | |
%13:i32 = zext %12 | |
; (i32.eq(unreachable)(unreachable)) | |
%14 = eq %13, 0:i32 | |
%15 = block 2 | |
%16:i32 = var | |
%17:i32 = var | |
%18 = phi %15, %16, %17 | |
; (i32.eq(unreachable)(unreachable)) | |
%19 = eq %18, 0:i32 | |
pc %7 1:i1 | |
pc %11 1:i1 | |
pc %14 1:i1 | |
pc %19 1:i1 | |
infer %4 | |
; RHS inferred successfully | |
%20:i32 = add 1:i32, %1 | |
%21:i32 = sub %20, %0 | |
result %21 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment