summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2019-02-26 16:15:04 -0800
committerGitHub <noreply@github.com>2019-02-26 16:15:04 -0800
commitc6237e8ea6236aa4a622cae64517cc3fd4f27b83 (patch)
tree0446fe737565914b63d2cf9cc56c29456ebe3f18
parent8b698a87ba2c7891a8c17c07744bf3fcfe49f691 (diff)
downloadbinaryen-c6237e8ea6236aa4a622cae64517cc3fd4f27b83.tar.gz
binaryen-c6237e8ea6236aa4a622cae64517cc3fd4f27b83.tar.bz2
binaryen-c6237e8ea6236aa4a622cae64517cc3fd4f27b83.zip
Dead return value elimination in DeadArgumentElimination (#1917)
* Finds functions whose return value is always dropped, and removes the return. * Run multiple iterations of the pass, as one can enable others. * Do not run DeadArgumentElimination at all if debug info is present (with these improvements, it became much more likely to destroy debug info). Saves 2.5% on hello world, because of some simple libc calls.
-rw-r--r--src/passes/DeadArgumentElimination.cpp104
-rw-r--r--src/passes/RemoveNonJSOps.cpp2
-rw-r--r--src/passes/pass.cpp17
-rw-r--r--test/emcc_O2_hello_world.fromasm327
-rw-r--r--test/emcc_O2_hello_world.fromasm.clamp327
-rw-r--r--test/emcc_O2_hello_world.fromasm.imprecise328
-rw-r--r--test/emcc_hello_world.fromasm2556
-rw-r--r--test/emcc_hello_world.fromasm.clamp2556
-rw-r--r--test/emcc_hello_world.fromasm.imprecise2547
-rw-r--r--test/memorygrowth.fromasm325
-rw-r--r--test/memorygrowth.fromasm.clamp325
-rw-r--r--test/memorygrowth.fromasm.imprecise328
-rw-r--r--test/passes/dae.txt75
-rw-r--r--test/passes/dae.wast50
-rw-r--r--test/unit.fromasm42
-rw-r--r--test/unit.fromasm.clamp109
-rw-r--r--test/unit.fromasm.imprecise42
-rw-r--r--test/wasm-only.fromasm324
-rw-r--r--test/wasm-only.fromasm.clamp324
-rw-r--r--test/wasm-only.fromasm.imprecise174
20 files changed, 5013 insertions, 5869 deletions
diff --git a/src/passes/DeadArgumentElimination.cpp b/src/passes/DeadArgumentElimination.cpp
index 434ea1ece..e4b8eef56 100644
--- a/src/passes/DeadArgumentElimination.cpp
+++ b/src/passes/DeadArgumentElimination.cpp
@@ -27,6 +27,7 @@
// If so, we can avoid even sending and receiving it. (Note how if
// the previous point was true for an argument, then the second
// must as well.)
+// * Find return values ("return arguments" ;) that are never used.
//
// This pass does not depend on flattening, but it may be more effective,
// as then call arguments never have side effects (which we need to
@@ -53,6 +54,9 @@ struct DAEFunctionInfo {
SortedVector unusedParams;
// Maps a function name to the calls going to it.
std::unordered_map<Name, std::vector<Call*>> calls;
+ // Map of all calls that are dropped, to their drops' locations (so that
+ // if we can optimize out the drop, we can replace the drop there).
+ std::unordered_map<Call*, Expression**> droppedCalls;
// Whether the function can be called from places that
// affect what we can do. For now, any call we don't
// see inhibits our optimizations, but TODO: an export
@@ -116,6 +120,12 @@ struct DAEScanner : public WalkerPass<CFGWalker<DAEScanner, Visitor<DAEScanner>,
}
}
+ void visitDrop(Drop* curr) {
+ if (auto* call = curr->value->dynCast<Call>()) {
+ info->droppedCalls[call] = getCurrentPointer();
+ }
+ }
+
// main entry point
void doWalkFunction(Function* func) {
@@ -197,6 +207,15 @@ struct DAE : public Pass {
bool optimize = false;
void run(PassRunner* runner, Module* module) override {
+ // Iterate to convergence.
+ while (1) {
+ if (!iteration(runner, module)) {
+ break;
+ }
+ }
+ }
+
+ bool iteration(PassRunner* runner, Module* module) {
DAEFunctionInfoMap infoMap;
// Ensure they all exist so the parallel threads don't modify the data structure.
ModuleUtils::iterDefinedFunctions(*module, [&](Function* func) {
@@ -230,6 +249,9 @@ struct DAE : public Pass {
auto& allCallsToName = allCalls[name];
allCallsToName.insert(allCallsToName.end(), calls.begin(), calls.end());
}
+ for (auto& pair : info.droppedCalls) {
+ allDroppedCalls[pair.first] = pair.second;
+ }
}
// We now have a mapping of all call sites for each function. Check which
// are always passed the same constant for a particular argument.
@@ -237,7 +259,9 @@ struct DAE : public Pass {
auto name = pair.first;
// We can only optimize if we see all the calls and can modify
// them.
- if (infoMap[name].hasUnseenCalls) continue;
+ if (infoMap[name].hasUnseenCalls) {
+ continue;
+ }
auto& calls = pair.second;
auto* func = module->getFunction(name);
auto numParams = func->getNumParams();
@@ -311,13 +335,48 @@ struct DAE : public Pass {
i--;
}
}
- if (optimize && changed.size() > 0) {
+ // We can also tell which calls have all their return values dropped. Note that we can't do this
+ // if we changed anything so far, as we may have modified allCalls (we can't modify a call site
+ // twice in one iteration, once to remove a param, once to drop the return value).
+ if (changed.empty()) {
+ for (auto& func : module->functions) {
+ if (func->result == none) {
+ continue;
+ }
+ auto name = func->name;
+ if (infoMap[name].hasUnseenCalls) {
+ continue;
+ }
+ auto iter = allCalls.find(name);
+ if (iter == allCalls.end()) {
+ continue;
+ }
+ auto& calls = iter->second;
+ bool allDropped = true;
+ for (auto* call : calls) {
+ if (!allDroppedCalls.count(call)) {
+ allDropped = false;
+ break;
+ }
+ }
+ if (!allDropped) {
+ continue;
+ }
+ removeReturnValue(func.get(), calls, module);
+ // TODO Removing a drop may also open optimization opportunities in the callers.
+ changed.insert(func.get());
+ }
+ }
+ if (optimize && !changed.empty()) {
OptUtils::optimizeAfterInlining(changed, module, runner);
}
+ return !changed.empty();
}
private:
- void removeParameter(Function* func, Index i, std::vector<Call*> calls) {
+ std::unordered_map<Call*, Expression**> allDroppedCalls;
+
+ void removeParameter(Function* func, Index i, std::vector<Call*>& calls) {
// Clear the type, which is no longer accurate.
func->type = Name();
// It's cumbersome to adjust local names - TODO don't clear them?
@@ -354,6 +413,45 @@ private:
call->operands.erase(call->operands.begin() + i);
}
}
+
+ void removeReturnValue(Function* func, std::vector<Call*>& calls, Module* module) {
+ // Clear the type, which is no longer accurate.
+ func->type = Name();
+ func->result = none;
+ Builder builder(*module);
+ // Remove any return values.
+ struct ReturnUpdater : public PostWalker<ReturnUpdater> {
+ Module* module;
+ ReturnUpdater(Function* func, Module* module) : module(module) {
+ walk(func->body);
+ }
+ void visitReturn(Return* curr) {
+ auto* value = curr->value;
+ assert(value);
+ curr->value = nullptr;
+ Builder builder(*module);
+ replaceCurrent(builder.makeSequence(
+ builder.makeDrop(value),
+ curr
+ ));
+ }
+ } returnUpdater(func, module);
+ // Remove any value flowing out.
+ if (isConcreteType(func->body->type)) {
+ func->body = builder.makeDrop(func->body);
+ }
+ // Remove the drops on the calls.
+ for (auto* call : calls) {
+ auto iter = allDroppedCalls.find(call);
+ assert(iter != allDroppedCalls.end());
+ Expression** location = iter->second;
+ *location = call;
+ // Update the call's type.
+ if (call->type != unreachable) {
+ call->type = none;
+ }
+ }
+ }
};
Pass *createDAEPass() {
diff --git a/src/passes/RemoveNonJSOps.cpp b/src/passes/RemoveNonJSOps.cpp
index ef8c7531c..cc9a40a1f 100644
--- a/src/passes/RemoveNonJSOps.cpp
+++ b/src/passes/RemoveNonJSOps.cpp
@@ -107,7 +107,7 @@ struct RemoveNonJSOpsPass : public WalkerPass<PostWalker<RemoveNonJSOpsPass>> {
auto function = m.getFunction(name);
FindAll<Call> calls(function->body);
- for (auto &call : calls.list) {
+ for (auto* call : calls.list) {
this->addNeededFunctions(m, call->target, needed);
}
}
diff --git a/src/passes/pass.cpp b/src/passes/pass.cpp
index 3eed059bb..4b14186fb 100644
--- a/src/passes/pass.cpp
+++ b/src/passes/pass.cpp
@@ -214,14 +214,15 @@ void PassRunner::addDefaultGlobalOptimizationPrePasses() {
}
void PassRunner::addDefaultGlobalOptimizationPostPasses() {
- if (options.optimizeLevel >= 2 || options.shrinkLevel >= 1) {
- add("dae-optimizing");
- }
- // inline when working hard, and when not preserving debug info
- // (inlining+optimizing can remove the annotations)
- if ((options.optimizeLevel >= 2 || options.shrinkLevel >= 2) &&
- !options.debugInfo) {
- add("inlining-optimizing");
+ // inlining/dae+optimizing can remove debug annotations
+ if (!options.debugInfo) {
+ if (options.optimizeLevel >= 2 || options.shrinkLevel >= 1) {
+ add("dae-optimizing");
+ }
+ // inline when working hard, and when not preserving debug info
+ if (options.optimizeLevel >= 2 || options.shrinkLevel >= 2) {
+ add("inlining-optimizing");
+ }
}
add("duplicate-function-elimination"); // optimizations show more functions as duplicate
add("remove-unused-module-elements");
diff --git a/test/emcc_O2_hello_world.fromasm b/test/emcc_O2_hello_world.fromasm
index aaa67c330..7ea5ff8d6 100644
--- a/test/emcc_O2_hello_world.fromasm
+++ b/test/emcc_O2_hello_world.fromasm
@@ -7998,52 +7998,52 @@
)
(local.get $15)
)
- (func $___fwritex (; 18 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
+ (func $___fwritex (; 18 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32)
+ (local $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
- (local $7 i32)
- (if
- (local.tee $4
- (i32.load
- (local.tee $3
- (i32.add
- (local.get $2)
- (i32.const 16)
+ (local.set $6
+ (i32.const 672)
+ )
+ (local.set $5
+ (if (result i32)
+ (local.tee $3
+ (i32.load
+ (local.tee $2
+ (i32.add
+ (local.get $1)
+ (i32.const 16)
+ )
)
)
)
- )
- (block
- (local.set $5
- (local.get $4)
- )
- (local.set $7
- (i32.const 5)
+ (block (result i32)
+ (local.set $4
+ (i32.const 5)
+ )
+ (local.get $3)
)
- )
- (if
- (i32.eqz
+ (if (result i32)
(call $___towrite
- (local.get $2)
+ (local.get $1)
)
- )
- (block
- (local.set $5
+ (local.get $5)
+ (block (result i32)
+ (local.set $4
+ (i32.const 5)
+ )
(i32.load
- (local.get $3)
+ (local.get $2)
)
)
- (local.set $7
- (i32.const 5)
- )
)
)
)
(if (result i32)
(i32.eq
- (local.get $7)
+ (local.get $4)
(i32.const 5)
)
(block $label$break$L5 (result i32)
@@ -8051,28 +8051,28 @@
(i32.lt_u
(i32.sub
(local.get $5)
- (local.tee $3
+ (local.tee $2
(i32.load
- (local.tee $4
+ (local.tee $3
(i32.add
- (local.get $2)
+ (local.get $1)
(i32.const 20)
)
)
)
)
)
- (local.get $1)
+ (local.get $0)
)
(br $label$break$L5
(call_indirect (type $FUNCSIG$iiii)
- (local.get $2)
- (local.get $0)
(local.get $1)
+ (i32.const 672)
+ (local.get $0)
(i32.add
(i32.and
(i32.load offset=36
- (local.get $2)
+ (local.get $1)
)
(i32.const 7)
)
@@ -8081,27 +8081,27 @@
)
)
)
- (local.set $6
- (local.get $3)
+ (local.set $4
+ (local.get $2)
)
(if
(i32.gt_s
(i32.load8_s offset=75
- (local.get $2)
+ (local.get $1)
)
(i32.const -1)
)
(block $label$break$L10
- (local.set $3
- (local.get $1)
+ (local.set $2
+ (local.get $0)
)
(loop $while-in
(if
(i32.eqz
- (local.get $3)
+ (local.get $2)
)
(block
- (local.set $3
+ (local.set $2
(i32.const 0)
)
(br $label$break$L10)
@@ -8111,19 +8111,19 @@
(i32.ne
(i32.load8_s
(i32.add
- (local.get $0)
(local.tee $5
(i32.add
- (local.get $3)
+ (local.get $2)
(i32.const -1)
)
)
+ (i32.const 672)
)
)
(i32.const 10)
)
(block
- (local.set $3
+ (local.set $2
(local.get $5)
)
(br $while-in)
@@ -8132,70 +8132,70 @@
)
(drop
(br_if $label$break$L5
- (local.get $3)
+ (local.get $2)
(i32.lt_u
(call_indirect (type $FUNCSIG$iiii)
+ (local.get $1)
+ (i32.const 672)
(local.get $2)
- (local.get $0)
- (local.get $3)
(i32.add
(i32.and
(i32.load offset=36
- (local.get $2)
+ (local.get $1)
)
(i32.const 7)
)
(i32.const 2)
)
)
- (local.get $3)
+ (local.get $2)
)
)
)
- (local.set $1
+ (local.set $0
(i32.sub
- (local.get $1)
- (local.get $3)
+ (local.get $0)
+ (local.get $2)
)
)
- (local.set $0
+ (local.set $6
(i32.add
- (local.get $0)
- (local.get $3)
+ (local.get $2)
+ (i32.const 672)
)
)
- (local.set $6
+ (local.set $4
(i32.load
- (local.get $4)
+ (local.get $3)
)
)
)
- (local.set $3
+ (local.set $2
(i32.const 0)
)
)
(drop
(call $_memcpy
+ (local.get $4)
(local.get $6)
(local.get $0)
- (local.get $1)
)
)
(i32.store
- (local.get $4)
+ (local.get $3)
(i32.add
- (local.get $1)
+ (local.get $0)
(i32.load
- (local.get $4)
+ (local.get $3)
)
)
)
(i32.add
- (local.get $1)
- (local.get $3)
+ (local.get $0)
+ (local.get $2)
)
)
- (local.get $6)
+ (i32.const 0)
)
)
(func $_fflush (; 19 ;) (; has Stack IR ;) (param $0 i32) (result i32)
@@ -8297,65 +8297,21 @@
)
(local.get $1)
)
- (func $_strlen (; 20 ;) (; has Stack IR ;) (param $0 i32) (result i32)
+ (func $_strlen (; 20 ;) (; has Stack IR ;) (result i32)
+ (local $0 i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
- (local $5 i32)
- (if
- (i32.and
- (local.tee $3
- (local.get $0)
- )
- (i32.const 3)
- )
- (block $label$break$L1
- (local.set $4
- (local.get $3)
- )
- (local.set $1
- (loop $while-in (result i32)
- (if
- (i32.eqz
- (i32.load8_s
- (local.get $0)
- )
- )
- (block
- (local.set $5
- (local.get $4)
- )
- (br $label$break$L1)
- )
- )
- (br_if $while-in
- (i32.and
- (local.tee $4
- (local.tee $0
- (i32.add
- (local.get $0)
- (i32.const 1)
- )
- )
- )
- (i32.const 3)
- )
- )
- (local.set $2
- (i32.const 4)
- )
- (local.get $0)
- )
- )
+ (local.set $0
+ (i32.const 672)
+ )
+ (block
+ (local.set $1
+ (i32.const 672)
)
- (block
- (local.set $1
- (local.get $0)
- )
- (local.set $2
- (i32.const 4)
- )
+ (local.set $2
+ (i32.const 4)
)
)
(i32.sub
@@ -8432,9 +8388,9 @@
)
(local.get $0)
)
- (local.get $5)
+ (local.get $4)
)
- (local.get $3)
+ (i32.const 672)
)
)
(func $___overflow (; 21 ;) (; has Stack IR ;) (param $0 i32) (result i32)
@@ -8988,7 +8944,7 @@
(local.get $2)
)
)
- (func $_puts (; 26 ;) (; has Stack IR ;) (result i32)
+ (func $_puts (; 26 ;) (; has Stack IR ;)
(local $0 i32)
(local $1 i32)
(local $2 i32)
@@ -9001,77 +8957,67 @@
)
)
)
- (i32.shr_s
- (i32.shl
- (if (result i32)
- (i32.lt_s
- (i32.add
- (call $_fwrite
- (i32.const 672)
- (call $_strlen
- (i32.const 672)
- )
- (local.get $0)
- )
- (i32.const -1)
+ (drop
+ (if (result i32)
+ (i32.lt_s
+ (i32.add
+ (call $_fwrite
+ (call $_strlen)
+ (local.get $0)
)
- (i32.const 0)
+ (i32.const -1)
)
- (i32.const 1)
- (block $do-once (result i32)
- (if
- (if (result i32)
- (i32.ne
- (i32.load8_s offset=75
- (local.get $0)
- )
- (i32.const 10)
+ (i32.const 0)
+ )
+ (i32.const 1)
+ (block $do-once (result i32)
+ (if
+ (if (result i32)
+ (i32.ne
+ (i32.load8_s offset=75
+ (local.get $0)
)
- (i32.lt_u
- (local.tee $1
- (i32.load
- (local.tee $2
- (i32.add
- (local.get $0)
- (i32.const 20)
- )
+ (i32.const 10)
+ )
+ (i32.lt_u
+ (local.tee $1
+ (i32.load
+ (local.tee $2
+ (i32.add
+ (local.get $0)
+ (i32.const 20)
)
)
)
- (i32.load offset=16
- (local.get $0)
- )
)
- (i32.const 0)
- )
- (block
- (i32.store
- (local.get $2)
- (i32.add
- (local.get $1)
- (i32.const 1)
- )
+ (i32.load offset=16
+ (local.get $0)
)
- (i32.store8
+ )
+ (i32.const 0)
+ )
+ (block
+ (i32.store
+ (local.get $2)
+ (i32.add
(local.get $1)
- (i32.const 10)
- )
- (br $do-once
- (i32.const 0)
+ (i32.const 1)
)
)
- )
- (i32.lt_s
- (call $___overflow
- (local.get $0)
+ (i32.store8
+ (local.get $1)
+ (i32.const 10)
+ )
+ (br $do-once
+ (i32.const 0)
)
- (i32.const 0)
)
)
+ (call $___overflow
+ (local.get $0)
+ )
)
- (i32.const 31)
)
- (i32.const 31)
)
)
(func $___stdio_seek (; 27 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
@@ -9219,34 +9165,33 @@
)
)
)
- (func $_fwrite (; 29 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
- (local $3 i32)
- (local.set $3
- (local.get $1)
+ (func $_fwrite (; 29 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32)
+ (local $2 i32)
+ (local.set $2
+ (local.get $0)
)
(if (result i32)
(block (result i32)
(drop
(i32.load offset=76
- (local.get $2)
+ (local.get $1)
)
)
(i32.ne
- (local.get $3)
- (local.tee $0
+ (local.get $2)
+ (local.tee $1
(call $___fwritex
- (local.get $0)
- (local.get $3)
(local.get $2)
+ (local.get $1)
)
)
)
)
(if (result i32)
- (local.get $1)
+ (local.get $0)
(i32.div_u
- (local.get $0)
(local.get $1)
+ (local.get $0)
)
(i32.const 0)
)
@@ -9495,9 +9440,7 @@
(global.get $tempRet0)
)
(func $_main (; 46 ;) (; has Stack IR ;) (result i32)
- (drop
- (call $_puts)
- )
+ (call $_puts)
(i32.const 0)
)
(func $stackSave (; 47 ;) (; has Stack IR ;) (result i32)
diff --git a/test/emcc_O2_hello_world.fromasm.clamp b/test/emcc_O2_hello_world.fromasm.clamp
index aaa67c330..7ea5ff8d6 100644
--- a/test/emcc_O2_hello_world.fromasm.clamp
+++ b/test/emcc_O2_hello_world.fromasm.clamp
@@ -7998,52 +7998,52 @@
)
(local.get $15)
)
- (func $___fwritex (; 18 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
+ (func $___fwritex (; 18 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32)
+ (local $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
- (local $7 i32)
- (if
- (local.tee $4
- (i32.load
- (local.tee $3
- (i32.add
- (local.get $2)
- (i32.const 16)
+ (local.set $6
+ (i32.const 672)
+ )
+ (local.set $5
+ (if (result i32)
+ (local.tee $3
+ (i32.load
+ (local.tee $2
+ (i32.add
+ (local.get $1)
+ (i32.const 16)
+ )
)
)
)
- )
- (block
- (local.set $5
- (local.get $4)
- )
- (local.set $7
- (i32.const 5)
+ (block (result i32)
+ (local.set $4
+ (i32.const 5)
+ )
+ (local.get $3)
)
- )
- (if
- (i32.eqz
+ (if (result i32)
(call $___towrite
- (local.get $2)
+ (local.get $1)
)
- )
- (block
- (local.set $5
+ (local.get $5)
+ (block (result i32)
+ (local.set $4
+ (i32.const 5)
+ )
(i32.load
- (local.get $3)
+ (local.get $2)
)
)
- (local.set $7
- (i32.const 5)
- )
)
)
)
(if (result i32)
(i32.eq
- (local.get $7)
+ (local.get $4)
(i32.const 5)
)
(block $label$break$L5 (result i32)
@@ -8051,28 +8051,28 @@
(i32.lt_u
(i32.sub
(local.get $5)
- (local.tee $3
+ (local.tee $2
(i32.load
- (local.tee $4
+ (local.tee $3
(i32.add
- (local.get $2)
+ (local.get $1)
(i32.const 20)
)
)
)
)
)
- (local.get $1)
+ (local.get $0)
)
(br $label$break$L5
(call_indirect (type $FUNCSIG$iiii)
- (local.get $2)
- (local.get $0)
(local.get $1)
+ (i32.const 672)
+ (local.get $0)
(i32.add
(i32.and
(i32.load offset=36
- (local.get $2)
+ (local.get $1)
)
(i32.const 7)
)
@@ -8081,27 +8081,27 @@
)
)
)
- (local.set $6
- (local.get $3)
+ (local.set $4
+ (local.get $2)
)
(if
(i32.gt_s
(i32.load8_s offset=75
- (local.get $2)
+ (local.get $1)
)
(i32.const -1)
)
(block $label$break$L10
- (local.set $3
- (local.get $1)
+ (local.set $2
+ (local.get $0)
)
(loop $while-in
(if
(i32.eqz
- (local.get $3)
+ (local.get $2)
)
(block
- (local.set $3
+ (local.set $2
(i32.const 0)
)
(br $label$break$L10)
@@ -8111,19 +8111,19 @@
(i32.ne
(i32.load8_s
(i32.add
- (local.get $0)
(local.tee $5
(i32.add
- (local.get $3)
+ (local.get $2)
(i32.const -1)
)
)
+ (i32.const 672)
)
)
(i32.const 10)
)
(block
- (local.set $3
+ (local.set $2
(local.get $5)
)
(br $while-in)
@@ -8132,70 +8132,70 @@
)
(drop
(br_if $label$break$L5
- (local.get $3)
+ (local.get $2)
(i32.lt_u
(call_indirect (type $FUNCSIG$iiii)
+ (local.get $1)
+ (i32.const 672)
(local.get $2)
- (local.get $0)
- (local.get $3)
(i32.add
(i32.and
(i32.load offset=36
- (local.get $2)
+ (local.get $1)
)
(i32.const 7)
)
(i32.const 2)
)
)
- (local.get $3)
+ (local.get $2)
)
)
)
- (local.set $1
+ (local.set $0
(i32.sub
- (local.get $1)
- (local.get $3)
+ (local.get $0)
+ (local.get $2)
)
)
- (local.set $0
+ (local.set $6
(i32.add
- (local.get $0)
- (local.get $3)
+ (local.get $2)
+ (i32.const 672)
)
)
- (local.set $6
+ (local.set $4
(i32.load
- (local.get $4)
+ (local.get $3)
)
)
)
- (local.set $3
+ (local.set $2
(i32.const 0)
)
)
(drop
(call $_memcpy
+ (local.get $4)
(local.get $6)
(local.get $0)
- (local.get $1)
)
)
(i32.store
- (local.get $4)
+ (local.get $3)
(i32.add
- (local.get $1)
+ (local.get $0)
(i32.load
- (local.get $4)
+ (local.get $3)
)
)
)
(i32.add
- (local.get $1)
- (local.get $3)
+ (local.get $0)
+ (local.get $2)
)
)
- (local.get $6)
+ (i32.const 0)
)
)
(func $_fflush (; 19 ;) (; has Stack IR ;) (param $0 i32) (result i32)
@@ -8297,65 +8297,21 @@
)
(local.get $1)
)
- (func $_strlen (; 20 ;) (; has Stack IR ;) (param $0 i32) (result i32)
+ (func $_strlen (; 20 ;) (; has Stack IR ;) (result i32)
+ (local $0 i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
- (local $5 i32)
- (if
- (i32.and
- (local.tee $3
- (local.get $0)
- )
- (i32.const 3)
- )
- (block $label$break$L1
- (local.set $4
- (local.get $3)
- )
- (local.set $1
- (loop $while-in (result i32)
- (if
- (i32.eqz
- (i32.load8_s
- (local.get $0)
- )
- )
- (block
- (local.set $5
- (local.get $4)
- )
- (br $label$break$L1)
- )
- )
- (br_if $while-in
- (i32.and
- (local.tee $4
- (local.tee $0
- (i32.add
- (local.get $0)
- (i32.const 1)
- )
- )
- )
- (i32.const 3)
- )
- )
- (local.set $2
- (i32.const 4)
- )
- (local.get $0)
- )
- )
+ (local.set $0
+ (i32.const 672)
+ )
+ (block
+ (local.set $1
+ (i32.const 672)
)
- (block
- (local.set $1
- (local.get $0)
- )
- (local.set $2
- (i32.const 4)
- )
+ (local.set $2
+ (i32.const 4)
)
)
(i32.sub
@@ -8432,9 +8388,9 @@
)
(local.get $0)
)
- (local.get $5)
+ (local.get $4)
)
- (local.get $3)
+ (i32.const 672)
)
)
(func $___overflow (; 21 ;) (; has Stack IR ;) (param $0 i32) (result i32)
@@ -8988,7 +8944,7 @@
(local.get $2)
)
)
- (func $_puts (; 26 ;) (; has Stack IR ;) (result i32)
+ (func $_puts (; 26 ;) (; has Stack IR ;)
(local $0 i32)
(local $1 i32)
(local $2 i32)
@@ -9001,77 +8957,67 @@
)
)
)
- (i32.shr_s
- (i32.shl
- (if (result i32)
- (i32.lt_s
- (i32.add
- (call $_fwrite
- (i32.const 672)
- (call $_strlen
- (i32.const 672)
- )
- (local.get $0)
- )
- (i32.const -1)
+ (drop
+ (if (result i32)
+ (i32.lt_s
+ (i32.add
+ (call $_fwrite
+ (call $_strlen)
+ (local.get $0)
)
- (i32.const 0)
+ (i32.const -1)
)
- (i32.const 1)
- (block $do-once (result i32)
- (if
- (if (result i32)
- (i32.ne
- (i32.load8_s offset=75
- (local.get $0)
- )
- (i32.const 10)
+ (i32.const 0)
+ )
+ (i32.const 1)
+ (block $do-once (result i32)
+ (if
+ (if (result i32)
+ (i32.ne
+ (i32.load8_s offset=75
+ (local.get $0)
)
- (i32.lt_u
- (local.tee $1
- (i32.load
- (local.tee $2
- (i32.add
- (local.get $0)
- (i32.const 20)
- )
+ (i32.const 10)
+ )
+ (i32.lt_u
+ (local.tee $1
+ (i32.load
+ (local.tee $2
+ (i32.add
+ (local.get $0)
+ (i32.const 20)
)
)
)
- (i32.load offset=16
- (local.get $0)
- )
)
- (i32.const 0)
- )
- (block
- (i32.store
- (local.get $2)
- (i32.add
- (local.get $1)
- (i32.const 1)
- )
+ (i32.load offset=16
+ (local.get $0)
)
- (i32.store8
+ )
+ (i32.const 0)
+ )
+ (block
+ (i32.store
+ (local.get $2)
+ (i32.add
(local.get $1)
- (i32.const 10)
- )
- (br $do-once
- (i32.const 0)
+ (i32.const 1)
)
)
- )
- (i32.lt_s
- (call $___overflow
- (local.get $0)
+ (i32.store8
+ (local.get $1)
+ (i32.const 10)
+ )
+ (br $do-once
+ (i32.const 0)
)
- (i32.const 0)
)
)
+ (call $___overflow
+ (local.get $0)
+ )
)
- (i32.const 31)
)
- (i32.const 31)
)
)
(func $___stdio_seek (; 27 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
@@ -9219,34 +9165,33 @@
)
)
)
- (func $_fwrite (; 29 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
- (local $3 i32)
- (local.set $3
- (local.get $1)
+ (func $_fwrite (; 29 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32)
+ (local $2 i32)
+ (local.set $2
+ (local.get $0)
)
(if (result i32)
(block (result i32)
(drop
(i32.load offset=76
- (local.get $2)
+ (local.get $1)
)
)
(i32.ne
- (local.get $3)
- (local.tee $0
+ (local.get $2)
+ (local.tee $1
(call $___fwritex
- (local.get $0)
- (local.get $3)
(local.get $2)
+ (local.get $1)
)
)
)
)
(if (result i32)
- (local.get $1)
+ (local.get $0)
(i32.div_u
- (local.get $0)
(local.get $1)
+ (local.get $0)
)
(i32.const 0)
)
@@ -9495,9 +9440,7 @@
(global.get $tempRet0)
)
(func $_main (; 46 ;) (; has Stack IR ;) (result i32)
- (drop
- (call $_puts)
- )
+ (call $_puts)
(i32.const 0)
)
(func $stackSave (; 47 ;) (; has Stack IR ;) (result i32)
diff --git a/test/emcc_O2_hello_world.fromasm.imprecise b/test/emcc_O2_hello_world.fromasm.imprecise
index f954e96f5..c493e11b2 100644
--- a/test/emcc_O2_hello_world.fromasm.imprecise
+++ b/test/emcc_O2_hello_world.fromasm.imprecise
@@ -7996,52 +7996,52 @@
)
)
)
- (func $___fwritex (; 18 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
+ (func $___fwritex (; 18 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32)
+ (local $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
- (local $7 i32)
- (if
- (local.tee $4
- (i32.load
- (local.tee $3
- (i32.add
- (local.get $2)
- (i32.const 16)
+ (local.set $6
+ (i32.const 672)
+ )
+ (local.set $5
+ (if (result i32)
+ (local.tee $3
+ (i32.load
+ (local.tee $2
+ (i32.add
+ (local.get $1)
+ (i32.const 16)
+ )
)
)
)
- )
- (block
- (local.set $5
- (local.get $4)
- )
- (local.set $7
- (i32.const 5)
+ (block (result i32)
+ (local.set $4
+ (i32.const 5)
+ )
+ (local.get $3)
)
- )
- (if
- (i32.eqz
+ (if (result i32)
(call $___towrite
- (local.get $2)
+ (local.get $1)
)
- )
- (block
- (local.set $5
+ (local.get $5)
+ (block (result i32)
+ (local.set $4
+ (i32.const 5)
+ )
(i32.load
- (local.get $3)
+ (local.get $2)
)
)
- (local.set $7
- (i32.const 5)
- )
)
)
)
(if (result i32)
(i32.eq
- (local.get $7)
+ (local.get $4)
(i32.const 5)
)
(block $label$break$L5 (result i32)
@@ -8049,28 +8049,28 @@
(i32.lt_u
(i32.sub
(local.get $5)
- (local.tee $3
+ (local.tee $2
(i32.load
- (local.tee $4
+ (local.tee $3
(i32.add
- (local.get $2)
+ (local.get $1)
(i32.const 20)
)
)
)
)
)
- (local.get $1)
+ (local.get $0)
)
(br $label$break$L5
(call_indirect (type $FUNCSIG$iiii)
- (local.get $2)
- (local.get $0)
(local.get $1)
+ (i32.const 672)
+ (local.get $0)
(i32.add
(i32.and
(i32.load offset=36
- (local.get $2)
+ (local.get $1)
)
(i32.const 7)
)
@@ -8079,27 +8079,27 @@
)
)
)
- (local.set $6
- (local.get $3)
+ (local.set $4
+ (local.get $2)
)
(if
(i32.gt_s
(i32.load8_s offset=75
- (local.get $2)
+ (local.get $1)
)
(i32.const -1)
)
(block $label$break$L10
- (local.set $3
- (local.get $1)
+ (local.set $2
+ (local.get $0)
)
(loop $while-in
(if
(i32.eqz
- (local.get $3)
+ (local.get $2)
)
(block
- (local.set $3
+ (local.set $2
(i32.const 0)
)
(br $label$break$L10)
@@ -8109,19 +8109,19 @@
(i32.ne
(i32.load8_s
(i32.add
- (local.get $0)
(local.tee $5
(i32.add
- (local.get $3)
+ (local.get $2)
(i32.const -1)
)
)
+ (i32.const 672)
)
)
(i32.const 10)
)
(block
- (local.set $3
+ (local.set $2
(local.get $5)
)
(br $while-in)
@@ -8130,70 +8130,70 @@
)
(drop
(br_if $label$break$L5
- (local.get $3)
+ (local.get $2)
(i32.lt_u
(call_indirect (type $FUNCSIG$iiii)
+ (local.get $1)
+ (i32.const 672)
(local.get $2)
- (local.get $0)
- (local.get $3)
(i32.add
(i32.and
(i32.load offset=36
- (local.get $2)
+ (local.get $1)
)
(i32.const 7)
)
(i32.const 2)
)
)
- (local.get $3)
+ (local.get $2)
)
)
)
- (local.set $1
+ (local.set $0
(i32.sub
- (local.get $1)
- (local.get $3)
+ (local.get $0)
+ (local.get $2)
)
)
- (local.set $0
+ (local.set $6
(i32.add
- (local.get $0)
- (local.get $3)
+ (local.get $2)
+ (i32.const 672)
)
)
- (local.set $6
+ (local.set $4
(i32.load
- (local.get $4)
+ (local.get $3)
)
)
)
- (local.set $3
+ (local.set $2
(i32.const 0)
)
)
(drop
(call $_memcpy
+ (local.get $4)
(local.get $6)
(local.get $0)
- (local.get $1)
)
)
(i32.store
- (local.get $4)
+ (local.get $3)
(i32.add
- (local.get $1)
+ (local.get $0)
(i32.load
- (local.get $4)
+ (local.get $3)
)
)
)
(i32.add
- (local.get $1)
- (local.get $3)
+ (local.get $0)
+ (local.get $2)
)
)
- (local.get $6)
+ (i32.const 0)
)
)
(func $_fflush (; 19 ;) (; has Stack IR ;) (param $0 i32) (result i32)
@@ -8290,65 +8290,21 @@
)
(local.get $1)
)
- (func $_strlen (; 20 ;) (; has Stack IR ;) (param $0 i32) (result i32)
+ (func $_strlen (; 20 ;) (; has Stack IR ;) (result i32)
+ (local $0 i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
- (local $5 i32)
- (if
- (i32.and
- (local.tee $3
- (local.get $0)
- )
- (i32.const 3)
- )
- (block $label$break$L1
- (local.set $4
- (local.get $3)
- )
- (local.set $1
- (loop $while-in (result i32)
- (if
- (i32.eqz
- (i32.load8_s
- (local.get $0)
- )
- )
- (block
- (local.set $5
- (local.get $4)
- )
- (br $label$break$L1)
- )
- )
- (br_if $while-in
- (i32.and
- (local.tee $4
- (local.tee $0
- (i32.add
- (local.get $0)
- (i32.const 1)
- )
- )
- )
- (i32.const 3)
- )
- )
- (local.set $2
- (i32.const 4)
- )
- (local.get $0)
- )
- )
+ (local.set $0
+ (i32.const 672)
+ )
+ (block
+ (local.set $1
+ (i32.const 672)
)
- (block
- (local.set $1
- (local.get $0)
- )
- (local.set $2
- (i32.const 4)
- )
+ (local.set $2
+ (i32.const 4)
)
)
(i32.sub
@@ -8425,9 +8381,9 @@
)
(local.get $0)
)
- (local.get $5)
+ (local.get $4)
)
- (local.get $3)
+ (i32.const 672)
)
)
(func $___overflow (; 21 ;) (; has Stack IR ;) (param $0 i32) (result i32)
@@ -8981,7 +8937,7 @@
(local.get $2)
)
)
- (func $_puts (; 26 ;) (; has Stack IR ;) (result i32)
+ (func $_puts (; 26 ;) (; has Stack IR ;)
(local $0 i32)
(local $1 i32)
(local $2 i32)
@@ -8997,93 +8953,83 @@
)
)
)
- (i32.shr_s
- (i32.shl
- (if (result i32)
- (i32.lt_s
- (i32.add
- (select
- (i32.div_u
- (local.tee $4
- (call $___fwritex
- (i32.const 672)
- (local.tee $3
- (local.tee $2
- (call $_strlen
- (i32.const 672)
- )
- )
+ (drop
+ (if (result i32)
+ (i32.lt_s
+ (i32.add
+ (select
+ (i32.div_u
+ (local.tee $4
+ (call $___fwritex
+ (local.tee $3
+ (local.tee $2
+ (call $_strlen)
)
- (local.get $0)
)
+ (local.get $0)
)
- (local.get $2)
- )
- (i32.const 1)
- (i32.ne
- (local.get $3)
- (local.get $4)
)
+ (local.get $2)
+ )
+ (i32.const 1)
+ (i32.ne
+ (local.get $3)
+ (local.get $4)
)
- (i32.const -1)
)
- (i32.const 0)
+ (i32.const -1)
)
- (i32.const 1)
- (block $do-once (result i32)
- (if
- (if (result i32)
- (i32.ne
- (i32.load8_s offset=75
- (local.get $0)
- )
- (i32.const 10)
+ (i32.const 0)
+ )
+ (i32.const 1)
+ (block $do-once (result i32)
+ (if
+ (if (result i32)
+ (i32.ne
+ (i32.load8_s offset=75
+ (local.get $0)
)
- (i32.lt_u
- (local.tee $1
- (i32.load
- (local.tee $5
- (i32.add
- (local.get $0)
- (i32.const 20)
- )
+ (i32.const 10)
+ )
+ (i32.lt_u
+ (local.tee $1
+ (i32.load
+ (local.tee $5
+ (i32.add
+ (local.get $0)
+ (i32.const 20)
)
)
)
- (i32.load offset=16
- (local.get $0)
- )
)
- (i32.const 0)
- )
- (block
- (i32.store
- (local.get $5)
- (i32.add
- (local.get $1)
- (i32.const 1)
- )
+ (i32.load offset=16
+ (local.get $0)
)
- (i32.store8
+ )
+ (i32.const 0)
+ )
+ (block
+ (i32.store
+ (local.get $5)
+ (i32.add
(local.get $1)
- (i32.const 10)
- )
- (br $do-once
- (i32.const 0)
+ (i32.const 1)
)
)
- )
- (i32.lt_s
- (call $___overflow
- (local.get $0)
+ (i32.store8
+ (local.get $1)
+ (i32.const 10)
+ )
+ (br $do-once
+ (i32.const 0)
)
- (i32.const 0)
)
)
+ (call $___overflow
+ (local.get $0)
+ )
)
- (i32.const 31)
)
- (i32.const 31)
)
)
(func $___stdio_seek (; 27 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
@@ -9469,9 +9415,7 @@
(global.get $tempRet0)
)
(func $_main (; 45 ;) (; has Stack IR ;) (result i32)
- (drop
- (call $_puts)
- )
+ (call $_puts)
(i32.const 0)
)
(func $stackSave (; 46 ;) (; has Stack IR ;) (result i32)
diff --git a/test/emcc_hello_world.fromasm b/test/emcc_hello_world.fromasm
index c560de2a3..16adc1457 100644
--- a/test/emcc_hello_world.fromasm
+++ b/test/emcc_hello_world.fromasm
@@ -149,10 +149,8 @@
)
(call $abort)
)
- (drop
- (call $_printf
- (local.get $0)
- )
+ (call $_printf
+ (local.get $0)
)
(global.set $STACKTOP
(local.get $0)
@@ -627,7 +625,7 @@
)
(local.get $0)
)
- (func $_printf (; 34 ;) (; has Stack IR ;) (param $0 i32) (result i32)
+ (func $_printf (; 34 ;) (; has Stack IR ;) (param $0 i32)
(local $1 i32)
(local.set $1
(global.get $STACKTOP)
@@ -649,19 +647,15 @@
(local.get $1)
(local.get $0)
)
- (local.set $0
- (call $_vfprintf
- (i32.load
- (i32.const 8)
- )
- (i32.const 672)
- (local.get $1)
+ (call $_vfprintf
+ (i32.load
+ (i32.const 8)
)
+ (local.get $1)
)
(global.set $STACKTOP
(local.get $1)
)
- (local.get $0)
)
(func $___stdio_write (; 35 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
@@ -1008,7 +1002,8 @@
)
(local.get $2)
)
- (func $_vfprintf (; 36 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
+ (func $_vfprintf (; 36 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32)
+ (local $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@@ -1019,8 +1014,7 @@
(local $10 i32)
(local $11 i32)
(local $12 i32)
- (local $13 i32)
- (local.set $3
+ (local.set $6
(global.get $STACKTOP)
)
(global.set $STACKTOP
@@ -1036,27 +1030,26 @@
)
(call $abort)
)
- (local.set $5
+ (local.set $3
(i32.add
- (local.get $3)
+ (local.get $6)
(i32.const 120)
)
)
- (local.set $7
- (local.get $3)
- )
- (local.set $6
+ (local.set $5
(i32.add
- (local.get $3)
+ (local.tee $4
+ (local.get $6)
+ )
(i32.const 136)
)
)
- (local.set $9
+ (local.set $8
(i32.add
- (local.tee $4
- (local.tee $8
+ (local.tee $2
+ (local.tee $7
(i32.add
- (local.get $3)
+ (local.get $4)
(i32.const 80)
)
)
@@ -1066,36 +1059,35 @@
)
(loop $do-in
(i32.store
- (local.get $4)
+ (local.get $2)
(i32.const 0)
)
(br_if $do-in
(i32.lt_s
- (local.tee $4
+ (local.tee $2
(i32.add
- (local.get $4)
+ (local.get $2)
(i32.const 4)
)
)
- (local.get $9)
+ (local.get $8)
)
)
)
(i32.store
- (local.get $5)
+ (local.get $3)
(i32.load
- (local.get $2)
+ (local.get $1)
)
)
- (local.set $0
+ (drop
(if (result i32)
(i32.lt_s
(call $_printf_core
(i32.const 0)
- (local.get $1)
- (local.get $5)
+ (local.get $3)
+ (local.get $4)
(local.get $7)
- (local.get $8)
)
(i32.const 0)
)
@@ -1106,7 +1098,7 @@
(local.get $0)
)
)
- (local.set $10
+ (local.set $9
(i32.load
(local.get $0)
)
@@ -1121,33 +1113,32 @@
(i32.store
(local.get $0)
(i32.and
- (local.get $10)
+ (local.get $9)
(i32.const -33)
)
)
)
(if
(i32.load
- (local.tee $11
+ (local.tee $1
(i32.add
(local.get $0)
(i32.const 48)
)
)
)
- (local.set $1
+ (drop
(call $_printf_core
(local.get $0)
- (local.get $1)
- (local.get $5)
+ (local.get $3)
+ (local.get $4)
(local.get $7)
- (local.get $8)
)
)
(block
- (local.set $13
+ (local.set $11
(i32.load
- (local.tee $12
+ (local.tee $10
(i32.add
(local.get $0)
(i32.const 44)
@@ -1156,54 +1147,53 @@
)
)
(i32.store
- (local.get $12)
- (local.get $6)
+ (local.get $10)
+ (local.get $5)
)
(i32.store
- (local.tee $4
+ (local.tee $2
(i32.add
(local.get $0)
(i32.const 28)
)
)
- (local.get $6)
+ (local.get $5)
)
(i32.store
- (local.tee $2
+ (local.tee $12
(i32.add
(local.get $0)
(i32.const 20)
)
)
- (local.get $6)
+ (local.get $5)
)
(i32.store
- (local.get $11)
+ (local.get $1)
(i32.const 80)
)
(i32.store
- (local.tee $9
+ (local.tee $8
(i32.add
(local.get $0)
(i32.const 16)
)
)
(i32.add
- (local.get $6)
+ (local.get $5)
(i32.const 80)
)
)
- (local.set $1
+ (drop
(call $_printf_core
(local.get $0)
- (local.get $1)
- (local.get $5)
+ (local.get $3)
+ (local.get $4)
(local.get $7)
- (local.get $8)
)
)
(if
- (local.get $13)
+ (local.get $11)
(block
(drop
(call_indirect (type $FUNCSIG$iiii)
@@ -1221,33 +1211,29 @@
)
)
)
- (local.set $1
- (select
- (local.get $1)
- (i32.const -1)
- (i32.load
- (local.get $2)
- )
+ (drop
+ (i32.load
+ (local.get $12)
)
)
(i32.store
- (local.get $12)
- (local.get $13)
+ (local.get $10)
+ (local.get $11)
)
(i32.store
- (local.get $11)
+ (local.get $1)
(i32.const 0)
)
(i32.store
- (local.get $9)
+ (local.get $8)
(i32.const 0)
)
(i32.store
- (local.get $4)
+ (local.get $2)
(i32.const 0)
)
(i32.store
- (local.get $2)
+ (local.get $12)
(i32.const 0)
)
)
@@ -1257,34 +1243,24 @@
(i32.store
(local.get $0)
(i32.or
- (local.tee $2
- (i32.load
- (local.get $0)
- )
+ (i32.load
+ (local.get $0)
)
(i32.and
- (local.get $10)
+ (local.get $9)
(i32.const 32)
)
)
)
- (select
- (i32.const -1)
- (local.get $1)
- (i32.and
- (local.get $2)
- (i32.const 32)
- )
- )
+ (i32.const 0)
)
)
)
(global.set $STACKTOP
- (local.get $3)
+ (local.get $6)
)
- (local.get $0)
)
- (func $___fwritex (; 37 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
+ (func $___fwritex (; 37 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@@ -1303,20 +1279,19 @@
)
)
)
- (local.set $3
- (if (result i32)
+ (if
+ (i32.eqz
(call $___towrite
(local.get $2)
)
- (i32.const 0)
- (block
- (local.set $3
- (i32.load
- (local.get $4)
- )
+ )
+ (block
+ (local.set $3
+ (i32.load
+ (local.get $4)
)
- (br $__rjti$0)
)
+ (br $__rjti$0)
)
)
(br $label$break$L5)
@@ -1339,19 +1314,16 @@
(local.get $1)
)
(block
- (local.set $3
- (i32.load offset=36
- (local.get $2)
- )
- )
- (local.set $3
+ (drop
(call_indirect (type $FUNCSIG$iiii)
(local.get $2)
(local.get $0)
(local.get $1)
(i32.add
(i32.and
- (local.get $3)
+ (i32.load offset=36
+ (local.get $2)
+ )
(i32.const 7)
)
(i32.const 2)
@@ -1361,7 +1333,7 @@
(br $label$break$L5)
)
)
- (local.set $2
+ (drop
(if (result i32)
(i32.gt_s
(i32.load8_s offset=75
@@ -1405,11 +1377,6 @@
)
)
)
- (local.set $4
- (i32.load offset=36
- (local.get $2)
- )
- )
(br_if $label$break$L5
(i32.lt_u
(call_indirect (type $FUNCSIG$iiii)
@@ -1418,7 +1385,9 @@
(local.get $3)
(i32.add
(i32.and
- (local.get $4)
+ (i32.load offset=36
+ (local.get $2)
+ )
(i32.const 7)
)
(i32.const 2)
@@ -1444,7 +1413,7 @@
(local.get $3)
)
)
- (local.get $3)
+ (i32.const 0)
)
(i32.const 0)
)
@@ -1465,14 +1434,7 @@
(local.get $1)
)
)
- (local.set $3
- (i32.add
- (local.get $1)
- (local.get $2)
- )
- )
)
- (local.get $3)
)
(func $___towrite (; 38 ;) (; has Stack IR ;) (param $0 i32) (result i32)
(local $1 i32)
@@ -2123,7 +2085,8 @@
(i32.const 0)
)
)
- (func $_printf_core (; 48 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32)
+ (func $_printf_core (; 48 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
+ (local $4 i32)
(local $5 i32)
(local $6 i32)
(local $7 i32)
@@ -2134,8 +2097,8 @@
(local $12 i32)
(local $13 i32)
(local $14 i32)
- (local $15 i32)
- (local $16 f64)
+ (local $15 f64)
+ (local $16 i32)
(local $17 i32)
(local $18 i32)
(local $19 i32)
@@ -2195,7 +2158,7 @@
)
(local.set $35
(i32.add
- (local.tee $14
+ (local.tee $13
(local.get $34)
)
(i32.const 528)
@@ -2210,9 +2173,9 @@
(local.set $38
(local.tee $25
(i32.add
- (local.tee $5
+ (local.tee $4
(i32.add
- (local.get $14)
+ (local.get $13)
(i32.const 536)
)
)
@@ -2222,7 +2185,7 @@
)
(local.set $39
(i32.add
- (local.get $5)
+ (local.get $4)
(i32.const 39)
)
)
@@ -2230,7 +2193,7 @@
(i32.add
(local.tee $40
(i32.add
- (local.get $14)
+ (local.get $13)
(i32.const 8)
)
)
@@ -2239,9 +2202,9 @@
)
(local.set $32
(i32.add
- (local.tee $5
+ (local.tee $4
(i32.add
- (local.get $14)
+ (local.get $13)
(i32.const 576)
)
)
@@ -2250,7 +2213,7 @@
)
(local.set $41
(i32.add
- (local.get $5)
+ (local.get $4)
(i32.const 11)
)
)
@@ -2262,7 +2225,7 @@
(local.tee $36
(local.tee $23
(i32.add
- (local.get $14)
+ (local.get $13)
(i32.const 588)
)
)
@@ -2285,7 +2248,7 @@
(i32.add
(local.tee $47
(i32.add
- (local.get $14)
+ (local.get $13)
(i32.const 24)
)
)
@@ -2306,11 +2269,8 @@
(i32.const 8)
)
)
- (local.set $5
- (local.get $1)
- )
- (local.set $1
- (i32.const 0)
+ (local.set $4
+ (i32.const 672)
)
(block $label$break$L343
(block $__rjti$9
@@ -2318,16 +2278,16 @@
(block $label$break$L1
(if
(i32.gt_s
- (local.get $17)
+ (local.get $16)
(i32.const -1)
)
- (local.set $17
+ (local.set $16
(if (result i32)
(i32.gt_s
- (local.get $10)
+ (local.get $9)
(i32.sub
(i32.const 2147483647)
- (local.get $17)
+ (local.get $16)
)
)
(block (result i32)
@@ -2338,23 +2298,23 @@
(i32.const -1)
)
(i32.add
- (local.get $10)
- (local.get $17)
+ (local.get $9)
+ (local.get $16)
)
)
)
)
(br_if $__rjti$9
(i32.eqz
- (local.tee $7
+ (local.tee $6
(i32.load8_s
- (local.get $5)
+ (local.get $4)
)
)
)
)
- (local.set $10
- (local.get $5)
+ (local.set $9
+ (local.get $4)
)
(block $label$break$L12
(block $__rjti$1
@@ -2362,10 +2322,10 @@
(block $label$break$L9
(block $switch
(if
- (local.tee $7
+ (local.tee $6
(i32.shr_s
(i32.shl
- (local.get $7)
+ (local.get $6)
(i32.const 24)
)
(i32.const 24)
@@ -2374,26 +2334,26 @@
(block
(br_if $switch
(i32.ne
- (local.get $7)
+ (local.get $6)
(i32.const 37)
)
)
- (local.set $6
- (local.get $10)
+ (local.set $5
+ (local.get $9)
)
(br $__rjti$1)
)
)
- (local.set $6
- (local.get $10)
+ (local.set $5
+ (local.get $9)
)
(br $label$break$L9)
)
- (local.set $7
+ (local.set $6
(i32.load8_s
- (local.tee $10
+ (local.tee $9
(i32.add
- (local.get $10)
+ (local.get $9)
(i32.const 1)
)
)
@@ -2408,23 +2368,23 @@
(br_if $label$break$L12
(i32.ne
(i32.load8_s offset=1
- (local.get $6)
+ (local.get $5)
)
(i32.const 37)
)
)
- (local.set $10
+ (local.set $9
(i32.add
- (local.get $10)
+ (local.get $9)
(i32.const 1)
)
)
(br_if $while-in
(i32.eq
(i32.load8_s
- (local.tee $6
+ (local.tee $5
(i32.add
- (local.get $6)
+ (local.get $5)
(i32.const 2)
)
)
@@ -2434,10 +2394,10 @@
)
)
)
- (local.set $7
+ (local.set $6
(i32.sub
- (local.get $10)
- (local.get $5)
+ (local.get $9)
+ (local.get $4)
)
)
(if
@@ -2451,40 +2411,38 @@
(i32.const 32)
)
)
- (drop
- (call $___fwritex
- (local.get $5)
- (local.get $7)
- (local.get $0)
- )
+ (call $___fwritex
+ (local.get $4)
+ (local.get $6)
+ (local.get $0)
)
)
)
(if
(i32.ne
- (local.get $5)
- (local.get $10)
+ (local.get $4)
+ (local.get $9)
)
(block
- (local.set $5
- (local.get $6)
+ (local.set $4
+ (local.get $5)
)
- (local.set $10
- (local.get $7)
+ (local.set $9
+ (local.get $6)
)
(br $label$continue$L1)
)
)
- (local.set $8
+ (local.set $7
(if (result i32)
(i32.lt_u
- (local.tee $8
+ (local.tee $7
(i32.add
- (local.tee $11
+ (local.tee $10
(i32.load8_s
- (local.tee $10
+ (local.tee $9
(i32.add
- (local.get $6)
+ (local.get $5)
(i32.const 1)
)
)
@@ -2496,19 +2454,19 @@
(i32.const 10)
)
(block (result i32)
- (local.set $6
+ (local.set $5
(i32.load8_s
- (local.tee $10
+ (local.tee $9
(select
(i32.add
- (local.get $6)
+ (local.get $5)
(i32.const 3)
)
- (local.get $10)
- (local.tee $11
+ (local.get $9)
+ (local.tee $10
(i32.eq
(i32.load8_s offset=2
- (local.get $6)
+ (local.get $5)
)
(i32.const 36)
)
@@ -2517,38 +2475,38 @@
)
)
)
- (local.set $18
+ (local.set $17
(select
- (local.get $8)
+ (local.get $7)
(i32.const -1)
- (local.get $11)
+ (local.get $10)
)
)
(select
(i32.const 1)
- (local.get $1)
- (local.get $11)
+ (local.get $19)
+ (local.get $10)
)
)
(block (result i32)
- (local.set $6
- (local.get $11)
+ (local.set $5
+ (local.get $10)
)
- (local.set $18
+ (local.set $17
(i32.const -1)
)
- (local.get $1)
+ (local.get $19)
)
)
)
- (local.set $1
+ (local.set $19
(if (result i32)
(i32.eq
(i32.and
- (local.tee $11
+ (local.tee $10
(i32.shr_s
(i32.shl
- (local.get $6)
+ (local.get $5)
(i32.const 24)
)
(i32.const 24)
@@ -2559,13 +2517,13 @@
(i32.const 32)
)
(block $label$break$L25 (result i32)
- (local.set $1
- (local.get $6)
+ (local.set $19
+ (local.get $5)
)
- (local.set $6
- (local.get $11)
+ (local.set $5
+ (local.get $10)
)
- (local.set $11
+ (local.set $10
(i32.const 0)
)
(loop $while-in4 (result i32)
@@ -2575,7 +2533,7 @@
(i32.shl
(i32.const 1)
(i32.add
- (local.get $6)
+ (local.get $5)
(i32.const -32)
)
)
@@ -2583,23 +2541,23 @@
)
)
(block
- (local.set $6
- (local.get $1)
+ (local.set $5
+ (local.get $19)
)
(br $label$break$L25
- (local.get $11)
+ (local.get $10)
)
)
)
- (local.set $11
+ (local.set $10
(i32.or
- (local.get $11)
+ (local.get $10)
(i32.shl
(i32.const 1)
(i32.add
(i32.shr_s
(i32.shl
- (local.get $1)
+ (local.get $19)
(i32.const 24)
)
(i32.const 24)
@@ -2612,12 +2570,12 @@
(br_if $while-in4
(i32.eq
(i32.and
- (local.tee $6
- (local.tee $1
+ (local.tee $5
+ (local.tee $19
(i32.load8_s
- (local.tee $10
+ (local.tee $9
(i32.add
- (local.get $10)
+ (local.get $9)
(i32.const 1)
)
)
@@ -2629,36 +2587,36 @@
(i32.const 32)
)
)
- (local.set $6
- (local.get $1)
+ (local.set $5
+ (local.get $19)
)
- (local.get $11)
+ (local.get $10)
)
)
(i32.const 0)
)
)
- (local.set $1
+ (local.set $19
(if (result i32)
(i32.eq
(i32.and
- (local.get $6)
+ (local.get $5)
(i32.const 255)
)
(i32.const 42)
)
(block $do-once5 (result i32)
- (local.set $10
+ (local.set $9
(block $__rjto$0 (result i32)
(block $__rjti$0
(br_if $__rjti$0
(i32.ge_u
- (local.tee $11
+ (local.tee $10
(i32.add
(i32.load8_s
- (local.tee $6
+ (local.tee $5
(i32.add
- (local.get $10)
+ (local.get $9)
(i32.const 1)
)
)
@@ -2672,7 +2630,7 @@
(br_if $__rjti$0
(i32.ne
(i32.load8_s offset=2
- (local.get $10)
+ (local.get $9)
)
(i32.const 36)
)
@@ -2680,50 +2638,50 @@
(i32.store
(i32.add
(i32.shl
- (local.get $11)
+ (local.get $10)
(i32.const 2)
)
- (local.get $4)
+ (local.get $3)
)
(i32.const 10)
)
(drop
(i32.load offset=4
- (local.tee $6
+ (local.tee $5
(i32.add
(i32.shl
(i32.add
(i32.load8_s
- (local.get $6)
+ (local.get $5)
)
(i32.const -48)
)
(i32.const 3)
)
- (local.get $3)
+ (local.get $2)
)
)
)
)
- (local.set $8
+ (local.set $7
(i32.const 1)
)
- (local.set $15
+ (local.set $14
(i32.load
- (local.get $6)
+ (local.get $5)
)
)
(br $__rjto$0
(i32.add
- (local.get $10)
+ (local.get $9)
(i32.const 3)
)
)
)
(if
- (local.get $8)
+ (local.get $7)
(block
- (local.set $17
+ (local.set $16
(i32.const -1)
)
(br $label$break$L1)
@@ -2734,13 +2692,13 @@
(local.get $28)
)
(block
- (local.set $11
- (local.get $1)
- )
(local.set $10
- (local.get $6)
+ (local.get $19)
+ )
+ (local.set $9
+ (local.get $5)
)
- (local.set $15
+ (local.set $14
(i32.const 0)
)
(br $do-once5
@@ -2748,13 +2706,13 @@
)
)
)
- (local.set $15
+ (local.set $14
(i32.load
- (local.tee $10
+ (local.tee $9
(i32.and
(i32.add
(i32.load
- (local.get $2)
+ (local.get $1)
)
(i32.const 3)
)
@@ -2764,48 +2722,48 @@
)
)
(i32.store
- (local.get $2)
+ (local.get $1)
(i32.add
- (local.get $10)
+ (local.get $9)
(i32.const 4)
)
)
- (local.set $8
+ (local.set $7
(i32.const 0)
)
- (local.get $6)
+ (local.get $5)
)
)
- (local.set $11
+ (local.set $10
(if (result i32)
(i32.lt_s
- (local.get $15)
+ (local.get $14)
(i32.const 0)
)
(block (result i32)
- (local.set $15
+ (local.set $14
(i32.sub
(i32.const 0)
- (local.get $15)
+ (local.get $14)
)
)
(i32.or
- (local.get $1)
+ (local.get $19)
(i32.const 8192)
)
)
- (local.get $1)
+ (local.get $19)
)
)
- (local.get $8)
+ (local.get $7)
)
(if (result i32)
(i32.lt_u
- (local.tee $6
+ (local.tee $5
(i32.add
(i32.shr_s
(i32.shl
- (local.get $6)
+ (local.get $5)
(i32.const 24)
)
(i32.const 24)
@@ -2816,27 +2774,27 @@
(i32.const 10)
)
(block (result i32)
- (local.set $11
+ (local.set $10
(i32.const 0)
)
(loop $while-in8
- (local.set $6
+ (local.set $5
(i32.add
- (local.get $6)
+ (local.get $5)
(i32.mul
- (local.get $11)
+ (local.get $10)
(i32.const 10)
)
)
)
(if
(i32.lt_u
- (local.tee $9
+ (local.tee $8
(i32.add
(i32.load8_s
- (local.tee $10
+ (local.tee $9
(i32.add
- (local.get $10)
+ (local.get $9)
(i32.const 1)
)
)
@@ -2847,11 +2805,11 @@
(i32.const 10)
)
(block
- (local.set $11
- (local.get $6)
+ (local.set $10
+ (local.get $5)
)
- (local.set $6
- (local.get $9)
+ (local.set $5
+ (local.get $8)
)
(br $while-in8)
)
@@ -2859,54 +2817,54 @@
)
(if (result i32)
(i32.lt_s
- (local.get $6)
+ (local.get $5)
(i32.const 0)
)
(block
- (local.set $17
+ (local.set $16
(i32.const -1)
)
(br $label$break$L1)
)
(block (result i32)
- (local.set $11
- (local.get $1)
+ (local.set $10
+ (local.get $19)
)
- (local.set $15
- (local.get $6)
+ (local.set $14
+ (local.get $5)
)
- (local.get $8)
+ (local.get $7)
)
)
)
(block (result i32)
- (local.set $11
- (local.get $1)
+ (local.set $10
+ (local.get $19)
)
- (local.set $15
+ (local.set $14
(i32.const 0)
)
- (local.get $8)
+ (local.get $7)
)
)
)
)
- (local.set $6
+ (local.set $5
(if (result i32)
(i32.eq
(i32.load8_s
- (local.get $10)
+ (local.get $9)
)
(i32.const 46)
)
(block $label$break$L46 (result i32)
(if
(i32.ne
- (local.tee $8
+ (local.tee $7
(i32.load8_s
- (local.tee $6
+ (local.tee $5
(i32.add
- (local.get $10)
+ (local.get $9)
(i32.const 1)
)
)
@@ -2915,29 +2873,29 @@
(i32.const 42)
)
(block
- (local.set $6
+ (local.set $5
(if (result i32)
(i32.lt_u
- (local.tee $9
+ (local.tee $8
(i32.add
- (local.get $8)
+ (local.get $7)
(i32.const -48)
)
)
(i32.const 10)
)
(block (result i32)
- (local.set $10
- (local.get $6)
+ (local.set $9
+ (local.get $5)
)
- (local.set $8
+ (local.set $7
(i32.const 0)
)
- (local.get $9)
+ (local.get $8)
)
(block
- (local.set $10
- (local.get $6)
+ (local.set $9
+ (local.get $5)
)
(br $label$break$L46
(i32.const 0)
@@ -2948,22 +2906,22 @@
(loop $while-in11
(drop
(br_if $label$break$L46
- (local.tee $6
+ (local.tee $5
(i32.add
- (local.get $6)
+ (local.get $5)
(i32.mul
- (local.get $8)
+ (local.get $7)
(i32.const 10)
)
)
)
(i32.ge_u
- (local.tee $9
+ (local.tee $8
(i32.add
(i32.load8_s
- (local.tee $10
+ (local.tee $9
(i32.add
- (local.get $10)
+ (local.get $9)
(i32.const 1)
)
)
@@ -2975,11 +2933,11 @@
)
)
)
- (local.set $8
- (local.get $6)
+ (local.set $7
+ (local.get $5)
)
- (local.set $6
- (local.get $9)
+ (local.set $5
+ (local.get $8)
)
(br $while-in11)
)
@@ -2987,12 +2945,12 @@
)
(if
(i32.lt_u
- (local.tee $8
+ (local.tee $7
(i32.add
(i32.load8_s
- (local.tee $6
+ (local.tee $5
(i32.add
- (local.get $10)
+ (local.get $9)
(i32.const 2)
)
)
@@ -3005,7 +2963,7 @@
(if
(i32.eq
(i32.load8_s offset=3
- (local.get $10)
+ (local.get $9)
)
(i32.const 36)
)
@@ -3013,49 +2971,49 @@
(i32.store
(i32.add
(i32.shl
- (local.get $8)
+ (local.get $7)
(i32.const 2)
)
- (local.get $4)
+ (local.get $3)
)
(i32.const 10)
)
(drop
(i32.load offset=4
- (local.tee $6
+ (local.tee $5
(i32.add
(i32.shl
(i32.add
(i32.load8_s
- (local.get $6)
+ (local.get $5)
)
(i32.const -48)
)
(i32.const 3)
)
- (local.get $3)
+ (local.get $2)
)
)
)
)
- (local.set $10
+ (local.set $9
(i32.add
- (local.get $10)
+ (local.get $9)
(i32.const 4)
)
)
(br $label$break$L46
(i32.load
- (local.get $6)
+ (local.get $5)
)
)
)
)
)
(if
- (local.get $1)
+ (local.get $19)
(block
- (local.set $17
+ (local.set $16
(i32.const -1)
)
(br $label$break$L1)
@@ -3064,13 +3022,13 @@
(if (result i32)
(local.get $28)
(block (result i32)
- (local.set $8
+ (local.set $7
(i32.load
- (local.tee $10
+ (local.tee $9
(i32.and
(i32.add
(i32.load
- (local.get $2)
+ (local.get $1)
)
(i32.const 3)
)
@@ -3080,20 +3038,20 @@
)
)
(i32.store
- (local.get $2)
+ (local.get $1)
(i32.add
- (local.get $10)
+ (local.get $9)
(i32.const 4)
)
)
- (local.set $10
- (local.get $6)
+ (local.set $9
+ (local.get $5)
)
- (local.get $8)
+ (local.get $7)
)
(block (result i32)
- (local.set $10
- (local.get $6)
+ (local.set $9
+ (local.get $5)
)
(i32.const 0)
)
@@ -3102,20 +3060,20 @@
(i32.const -1)
)
)
- (local.set $8
- (local.get $10)
+ (local.set $7
+ (local.get $9)
)
- (local.set $9
+ (local.set $8
(i32.const 0)
)
- (local.set $19
+ (local.set $18
(loop $while-in13 (result i32)
(if
(i32.gt_u
- (local.tee $12
+ (local.tee $11
(i32.add
(i32.load8_s
- (local.get $8)
+ (local.get $7)
)
(i32.const -65)
)
@@ -3123,30 +3081,30 @@
(i32.const 57)
)
(block
- (local.set $17
+ (local.set $16
(i32.const -1)
)
(br $label$break$L1)
)
)
- (local.set $10
+ (local.set $9
(i32.add
- (local.get $8)
+ (local.get $7)
(i32.const 1)
)
)
(if (result i32)
(i32.lt_u
(i32.add
- (local.tee $12
+ (local.tee $11
(i32.and
- (local.tee $13
+ (local.tee $12
(i32.load8_s
(i32.add
- (local.get $12)
+ (local.get $11)
(i32.add
(i32.mul
- (local.get $9)
+ (local.get $8)
(i32.const 58)
)
(i32.const 3611)
@@ -3162,35 +3120,35 @@
(i32.const 8)
)
(block
- (local.set $8
- (local.get $10)
+ (local.set $7
+ (local.get $9)
)
- (local.set $9
- (local.get $12)
+ (local.set $8
+ (local.get $11)
)
(br $while-in13)
)
- (local.get $8)
+ (local.get $7)
)
)
)
(if
(i32.eqz
(i32.and
- (local.get $13)
+ (local.get $12)
(i32.const 255)
)
)
(block
- (local.set $17
+ (local.set $16
(i32.const -1)
)
(br $label$break$L1)
)
)
- (local.set $8
+ (local.set $7
(i32.gt_s
- (local.get $18)
+ (local.get $17)
(i32.const -1)
)
)
@@ -3199,15 +3157,15 @@
(if
(i32.eq
(i32.and
- (local.get $13)
+ (local.get $12)
(i32.const 255)
)
(i32.const 19)
)
(if
- (local.get $8)
+ (local.get $7)
(block
- (local.set $17
+ (local.set $16
(i32.const -1)
)
(br $label$break$L1)
@@ -3216,40 +3174,40 @@
)
(block
(if
- (local.get $8)
+ (local.get $7)
(block
(i32.store
(i32.add
(i32.shl
- (local.get $18)
+ (local.get $17)
(i32.const 2)
)
- (local.get $4)
+ (local.get $3)
)
- (local.get $12)
+ (local.get $11)
)
- (local.set $12
+ (local.set $11
(i32.load offset=4
- (local.tee $8
+ (local.tee $7
(i32.add
(i32.shl
- (local.get $18)
+ (local.get $17)
(i32.const 3)
)
- (local.get $3)
+ (local.get $2)
)
)
)
)
(i32.store
- (local.get $14)
+ (local.get $13)
(i32.load
- (local.get $8)
+ (local.get $7)
)
)
(i32.store offset=4
- (local.get $14)
- (local.get $12)
+ (local.get $13)
+ (local.get $11)
)
(br $__rjti$2)
)
@@ -3259,16 +3217,16 @@
(local.get $28)
)
(block
- (local.set $17
+ (local.set $16
(i32.const 0)
)
(br $label$break$L1)
)
)
(call $_pop_arg_336
- (local.get $14)
- (local.get $12)
- (local.get $2)
+ (local.get $13)
+ (local.get $11)
+ (local.get $1)
)
)
)
@@ -3279,27 +3237,27 @@
(local.get $28)
)
(block
- (local.set $5
- (local.get $10)
+ (local.set $4
+ (local.get $9)
)
- (local.set $10
- (local.get $7)
+ (local.set $9
+ (local.get $6)
)
(br $label$continue$L1)
)
)
)
- (local.set $11
+ (local.set $10
(select
- (local.tee $8
+ (local.tee $7
(i32.and
- (local.get $11)
+ (local.get $10)
(i32.const -65537)
)
)
- (local.get $11)
+ (local.get $10)
(i32.and
- (local.get $11)
+ (local.get $10)
(i32.const 8192)
)
)
@@ -3307,21 +3265,21 @@
(call $_pad
(local.get $0)
(i32.const 32)
- (local.tee $7
+ (local.tee $6
(select
- (local.tee $6
+ (local.tee $5
(i32.add
- (local.tee $12
+ (local.tee $11
(select
- (local.tee $13
+ (local.tee $12
(i32.sub
(block $__rjto$8 (result i32)
(block $__rjti$8
(call $_pad
(local.get $0)
(i32.const 32)
- (local.get $15)
- (local.tee $7
+ (local.get $14)
+ (local.tee $6
(block $__rjti$7 (result i32)
(block $__rjti$6
(block $__rjti$5
@@ -3342,27 +3300,27 @@
(block $switch-case27
(br_table $switch-case119 $switch-default120 $switch-case40 $switch-default120 $switch-case119 $switch-case119 $switch-case119 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case41 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case30 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case119 $switch-default120 $switch-case37 $switch-case35 $switch-case119 $switch-case119 $switch-case119 $switch-default120 $switch-case35 $switch-default120 $switch-default120 $switch-default120 $switch-case38 $switch-case27 $switch-case33 $switch-case28 $switch-default120 $switch-default120 $switch-case39 $switch-default120 $switch-case36 $switch-default120 $switch-default120 $switch-case30 $switch-default120
(i32.sub
- (local.tee $19
+ (local.tee $18
(select
(i32.and
- (local.tee $12
+ (local.tee $11
(i32.load8_s
- (local.get $19)
+ (local.get $18)
)
)
(i32.const -33)
)
- (local.get $12)
+ (local.get $11)
(i32.and
(i32.eq
(i32.and
- (local.get $12)
+ (local.get $11)
(i32.const 15)
)
(i32.const 3)
)
(i32.ne
- (local.get $9)
+ (local.get $8)
(i32.const 0)
)
)
@@ -3381,51 +3339,51 @@
(block $switch-case20
(block $switch-case19
(br_table $switch-case19 $switch-case20 $switch-case21 $switch-case22 $switch-case23 $switch-default26 $switch-case24 $switch-case25 $switch-default26
- (local.get $9)
+ (local.get $8)
)
)
(i32.store
(i32.load
- (local.get $14)
+ (local.get $13)
)
- (local.get $17)
+ (local.get $16)
)
- (local.set $5
- (local.get $10)
+ (local.set $4
+ (local.get $9)
)
- (local.set $10
- (local.get $7)
+ (local.set $9
+ (local.get $6)
)
(br $label$continue$L1)
)
(i32.store
(i32.load
- (local.get $14)
+ (local.get $13)
)
- (local.get $17)
+ (local.get $16)
)
- (local.set $5
- (local.get $10)
+ (local.set $4
+ (local.get $9)
)
- (local.set $10
- (local.get $7)
+ (local.set $9
+ (local.get $6)
)
(br $label$continue$L1)
)
(i32.store
- (local.tee $5
+ (local.tee $4
(i32.load
- (local.get $14)
+ (local.get $13)
)
)
- (local.get $17)
+ (local.get $16)
)
(i32.store offset=4
- (local.get $5)
+ (local.get $4)
(i32.shr_s
(i32.shl
(i32.lt_s
- (local.get $17)
+ (local.get $16)
(i32.const 0)
)
(i32.const 31)
@@ -3433,70 +3391,70 @@
(i32.const 31)
)
)
- (local.set $5
- (local.get $10)
+ (local.set $4
+ (local.get $9)
)
- (local.set $10
- (local.get $7)
+ (local.set $9
+ (local.get $6)
)
(br $label$continue$L1)
)
(i32.store16
(i32.load
- (local.get $14)
+ (local.get $13)
)
- (local.get $17)
+ (local.get $16)
)
- (local.set $5
- (local.get $10)
+ (local.set $4
+ (local.get $9)
)
- (local.set $10
- (local.get $7)
+ (local.set $9
+ (local.get $6)
)
(br $label$continue$L1)
)
(i32.store8
(i32.load
- (local.get $14)
+ (local.get $13)
)
- (local.get $17)
+ (local.get $16)
)
- (local.set $5
- (local.get $10)
+ (local.set $4
+ (local.get $9)
)
- (local.set $10
- (local.get $7)
+ (local.set $9
+ (local.get $6)
)
(br $label$continue$L1)
)
(i32.store
(i32.load
- (local.get $14)
+ (local.get $13)
)
- (local.get $17)
+ (local.get $16)
)
- (local.set $5
- (local.get $10)
+ (local.set $4
+ (local.get $9)
)
- (local.set $10
- (local.get $7)
+ (local.set $9
+ (local.get $6)
)
(br $label$continue$L1)
)
(i32.store
- (local.tee $5
+ (local.tee $4
(i32.load
- (local.get $14)
+ (local.get $13)
)
)
- (local.get $17)
+ (local.get $16)
)
(i32.store offset=4
- (local.get $5)
+ (local.get $4)
(i32.shr_s
(i32.shl
(i32.lt_s
- (local.get $17)
+ (local.get $16)
(i32.const 0)
)
(i32.const 31)
@@ -3504,76 +3462,76 @@
(i32.const 31)
)
)
- (local.set $5
- (local.get $10)
+ (local.set $4
+ (local.get $9)
)
- (local.set $10
- (local.get $7)
+ (local.set $9
+ (local.get $6)
)
(br $label$continue$L1)
)
- (local.set $5
- (local.get $10)
+ (local.set $4
+ (local.get $9)
)
- (local.set $10
- (local.get $7)
+ (local.set $9
+ (local.get $6)
)
(br $label$continue$L1)
)
- (local.set $5
+ (local.set $4
(i32.or
- (local.get $11)
+ (local.get $10)
(i32.const 8)
)
)
- (local.set $6
+ (local.set $5
(select
- (local.get $6)
+ (local.get $5)
(i32.const 8)
(i32.gt_u
- (local.get $6)
+ (local.get $5)
(i32.const 8)
)
)
)
- (local.set $19
+ (local.set $18
(i32.const 120)
)
(br $__rjti$3)
)
- (local.set $5
- (local.get $11)
+ (local.set $4
+ (local.get $10)
)
(br $__rjti$3)
)
(if
(i32.or
- (local.tee $5
+ (local.tee $4
(i32.load
- (local.get $14)
+ (local.get $13)
)
)
- (local.tee $7
+ (local.tee $6
(i32.load offset=4
- (local.get $14)
+ (local.get $13)
)
)
)
(block
- (local.set $8
+ (local.set $7
(local.get $25)
)
(loop $while-in32
(i32.store8
- (local.tee $8
+ (local.tee $7
(i32.add
- (local.get $8)
+ (local.get $7)
(i32.const -1)
)
)
(i32.or
(i32.and
- (local.get $5)
+ (local.get $4)
(i32.const 7)
)
(i32.const 48)
@@ -3581,129 +3539,129 @@
)
(br_if $while-in32
(i32.or
- (local.tee $5
+ (local.tee $4
(call $_bitshift64Lshr
- (local.get $5)
- (local.get $7)
+ (local.get $4)
+ (local.get $6)
(i32.const 3)
)
)
- (local.tee $7
+ (local.tee $6
(global.get $tempRet0)
)
)
)
)
)
- (local.set $8
+ (local.set $7
(local.get $25)
)
)
(if
(i32.and
- (local.get $11)
+ (local.get $10)
(i32.const 8)
)
(block
- (local.set $5
- (local.get $11)
+ (local.set $4
+ (local.get $10)
)
- (local.set $6
+ (local.set $5
(select
- (local.tee $11
+ (local.tee $10
(i32.add
(i32.sub
(local.get $38)
- (local.tee $7
- (local.get $8)
+ (local.tee $6
+ (local.get $7)
)
)
(i32.const 1)
)
)
- (local.get $6)
+ (local.get $5)
(i32.lt_s
- (local.get $6)
- (local.get $11)
+ (local.get $5)
+ (local.get $10)
)
)
)
)
(block
- (local.set $7
- (local.get $8)
+ (local.set $6
+ (local.get $7)
)
- (local.set $5
- (local.get $11)
+ (local.set $4
+ (local.get $10)
)
)
)
- (local.set $8
+ (local.set $7
(i32.const 0)
)
- (local.set $9
+ (local.set $8
(i32.const 4091)
)
(br $__rjti$8)
)
- (local.set $5
+ (local.set $4
(i32.load
- (local.get $14)
+ (local.get $13)
)
)
(if
(i32.lt_s
- (local.tee $7
+ (local.tee $6
(i32.load offset=4
- (local.get $14)
+ (local.get $13)
)
)
(i32.const 0)
)
(block
(i32.store
- (local.get $14)
- (local.tee $5
+ (local.get $13)
+ (local.tee $4
(call $_i64Subtract
(i32.const 0)
(i32.const 0)
- (local.get $5)
- (local.get $7)
+ (local.get $4)
+ (local.get $6)
)
)
)
(i32.store offset=4
- (local.get $14)
- (local.tee $7
+ (local.get $13)
+ (local.tee $6
(global.get $tempRet0)
)
)
- (local.set $8
+ (local.set $7
(i32.const 1)
)
- (local.set $9
+ (local.set $8
(i32.const 4091)
)
(br $__rjti$4)
)
)
- (local.set $9
+ (local.set $8
(if (result i32)
(i32.and
- (local.get $11)
+ (local.get $10)
(i32.const 2048)
)
(block (result i32)
- (local.set $8
+ (local.set $7
(i32.const 1)
)
(i32.const 4092)
)
(block (result i32)
- (local.set $8
- (local.tee $9
+ (local.set $7
+ (local.tee $8
(i32.and
- (local.get $11)
+ (local.get $10)
(i32.const 1)
)
)
@@ -3711,62 +3669,62 @@
(select
(i32.const 4093)
(i32.const 4091)
- (local.get $9)
+ (local.get $8)
)
)
)
)
(br $__rjti$4)
)
- (local.set $5
+ (local.set $4
(i32.load
- (local.get $14)
+ (local.get $13)
)
)
- (local.set $7
+ (local.set $6
(i32.load offset=4
- (local.get $14)
+ (local.get $13)
)
)
- (local.set $8
+ (local.set $7
(i32.const 0)
)
- (local.set $9
+ (local.set $8
(i32.const 4091)
)
(br $__rjti$4)
)
(drop
(i32.load offset=4
- (local.get $14)
+ (local.get $13)
)
)
(i32.store8
(local.get $39)
(i32.load
- (local.get $14)
+ (local.get $13)
)
)
- (local.set $5
+ (local.set $4
(local.get $39)
)
- (local.set $11
- (local.get $8)
+ (local.set $10
+ (local.get $7)
)
- (local.set $12
+ (local.set $11
(i32.const 1)
)
- (local.set $8
+ (local.set $7
(i32.const 0)
)
- (local.set $9
+ (local.set $8
(i32.const 4091)
)
(br $__rjto$8
(local.get $25)
)
)
- (local.set $7
+ (local.set $6
(call $_strerror
(i32.load
(call $___errno_location)
@@ -3775,28 +3733,28 @@
)
(br $__rjti$5)
)
- (local.set $7
+ (local.set $6
(select
- (local.tee $5
+ (local.tee $4
(i32.load
- (local.get $14)
+ (local.get $13)
)
)
(i32.const 4101)
- (local.get $5)
+ (local.get $4)
)
)
(br $__rjti$5)
)
(drop
(i32.load offset=4
- (local.get $14)
+ (local.get $13)
)
)
(i32.store
(local.get $40)
(i32.load
- (local.get $14)
+ (local.get $13)
)
)
(i32.store
@@ -3804,19 +3762,19 @@
(i32.const 0)
)
(i32.store
- (local.get $14)
+ (local.get $13)
(local.get $40)
)
- (local.set $8
+ (local.set $7
(i32.const -1)
)
(br $__rjti$6)
)
(if
- (local.get $6)
+ (local.get $5)
(block
- (local.set $8
- (local.get $6)
+ (local.set $7
+ (local.get $5)
)
(br $__rjti$6)
)
@@ -3824,9 +3782,9 @@
(call $_pad
(local.get $0)
(i32.const 32)
- (local.get $15)
+ (local.get $14)
(i32.const 0)
- (local.get $11)
+ (local.get $10)
)
(br $__rjti$7
(i32.const 0)
@@ -3834,9 +3792,9 @@
)
)
)
- (local.set $16
+ (local.set $15
(f64.load
- (local.get $14)
+ (local.get $13)
)
)
(i32.store
@@ -3845,7 +3803,7 @@
)
(f64.store
(global.get $tempDoublePtr)
- (local.get $16)
+ (local.get $15)
)
(drop
(i32.load
@@ -3864,16 +3822,16 @@
(local.set $26
(i32.const 1)
)
- (local.set $16
+ (local.set $15
(f64.neg
- (local.get $16)
+ (local.get $15)
)
)
(i32.const 4108)
)
(if (result i32)
(i32.and
- (local.get $11)
+ (local.get $10)
(i32.const 2048)
)
(block (result i32)
@@ -3884,9 +3842,9 @@
)
(block (result i32)
(local.set $26
- (local.tee $5
+ (local.tee $4
(i32.and
- (local.get $11)
+ (local.get $10)
(i32.const 1)
)
)
@@ -3894,7 +3852,7 @@
(select
(i32.const 4114)
(i32.const 4109)
- (local.get $5)
+ (local.get $4)
)
)
)
@@ -3902,14 +3860,14 @@
)
(f64.store
(global.get $tempDoublePtr)
- (local.get $16)
+ (local.get $15)
)
(drop
(i32.load
(global.get $tempDoublePtr)
)
)
- (local.set $7
+ (local.set $6
(if (result i32)
(i32.lt_u
(i32.and
@@ -3922,12 +3880,12 @@
)
(block $do-once49 (result i32)
(if
- (local.tee $5
+ (local.tee $4
(f64.ne
(local.tee $22
(f64.mul
(call $_frexp
- (local.get $16)
+ (local.get $15)
(local.get $20)
)
(f64.const 2)
@@ -3950,60 +3908,60 @@
(i32.eq
(local.tee $24
(i32.or
- (local.get $19)
+ (local.get $18)
(i32.const 32)
)
)
(i32.const 97)
)
(block
- (local.set $9
+ (local.set $8
(select
(i32.add
(local.get $30)
(i32.const 9)
)
(local.get $30)
- (local.tee $13
+ (local.tee $12
(i32.and
- (local.get $19)
+ (local.get $18)
(i32.const 32)
)
)
)
)
- (local.set $16
+ (local.set $15
(if (result f64)
(i32.or
(i32.eqz
- (local.tee $5
+ (local.tee $4
(i32.sub
(i32.const 12)
- (local.get $6)
+ (local.get $5)
)
)
)
(i32.gt_u
- (local.get $6)
+ (local.get $5)
(i32.const 11)
)
)
(local.get $22)
(block (result f64)
- (local.set $16
+ (local.set $15
(f64.const 8)
)
(loop $while-in54
- (local.set $16
+ (local.set $15
(f64.mul
- (local.get $16)
+ (local.get $15)
(f64.const 16)
)
)
(br_if $while-in54
- (local.tee $5
+ (local.tee $4
(i32.add
- (local.get $5)
+ (local.get $4)
(i32.const -1)
)
)
@@ -4012,33 +3970,33 @@
(if (result f64)
(i32.eq
(i32.load8_s
- (local.get $9)
+ (local.get $8)
)
(i32.const 45)
)
(f64.neg
(f64.add
- (local.get $16)
+ (local.get $15)
(f64.sub
(f64.neg
(local.get $22)
)
- (local.get $16)
+ (local.get $15)
)
)
)
(f64.sub
(f64.add
(local.get $22)
- (local.get $16)
+ (local.get $15)
)
- (local.get $16)
+ (local.get $15)
)
)
)
)
)
- (local.set $12
+ (local.set $11
(i32.or
(local.get $26)
(i32.const 2)
@@ -4046,21 +4004,21 @@
)
(if
(i32.eq
- (local.tee $5
+ (local.tee $4
(call $_fmt_u
- (local.tee $5
+ (local.tee $4
(select
(i32.sub
(i32.const 0)
- (local.tee $7
+ (local.tee $6
(i32.load
(local.get $20)
)
)
)
- (local.get $7)
+ (local.get $6)
(i32.lt_s
- (local.get $7)
+ (local.get $6)
(i32.const 0)
)
)
@@ -4068,7 +4026,7 @@
(i32.shr_s
(i32.shl
(i32.lt_s
- (local.get $5)
+ (local.get $4)
(i32.const 0)
)
(i32.const 31)
@@ -4085,20 +4043,20 @@
(local.get $41)
(i32.const 48)
)
- (local.set $5
+ (local.set $4
(local.get $41)
)
)
)
(i32.store8
(i32.add
- (local.get $5)
+ (local.get $4)
(i32.const -1)
)
(i32.add
(i32.and
(i32.shr_s
- (local.get $7)
+ (local.get $6)
(i32.const 31)
)
(i32.const 2)
@@ -4107,44 +4065,44 @@
)
)
(i32.store8
- (local.tee $8
+ (local.tee $7
(i32.add
- (local.get $5)
+ (local.get $4)
(i32.const -2)
)
)
(i32.add
- (local.get $19)
+ (local.get $18)
(i32.const 15)
)
)
- (local.set $19
+ (local.set $18
(i32.lt_s
- (local.get $6)
+ (local.get $5)
(i32.const 1)
)
)
- (local.set $18
+ (local.set $17
(i32.eqz
(i32.and
- (local.get $11)
+ (local.get $10)
(i32.const 8)
)
)
)
- (local.set $5
+ (local.set $4
(local.get $23)
)
(loop $while-in56
(i32.store8
- (local.get $5)
+ (local.get $4)
(i32.or
- (local.get $13)
+ (local.get $12)
(i32.load8_u
(i32.add
- (local.tee $7
+ (local.tee $6
(call $f64-to-int
- (local.get $16)
+ (local.get $15)
)
)
(i32.const 4075)
@@ -4152,24 +4110,24 @@
)
)
)
- (local.set $16
+ (local.set $15
(f64.mul
(f64.sub
- (local.get $16)
+ (local.get $15)
(f64.convert_i32_s
- (local.get $7)
+ (local.get $6)
)
)
(f64.const 16)
)
)
- (local.set $5
+ (local.set $4
(if (result i32)
(i32.eq
(i32.sub
- (local.tee $7
+ (local.tee $6
(i32.add
- (local.get $5)
+ (local.get $4)
(i32.const 1)
)
)
@@ -4181,31 +4139,31 @@
(i32.and
(i32.and
(f64.eq
- (local.get $16)
+ (local.get $15)
(f64.const 0)
)
- (local.get $19)
+ (local.get $18)
)
- (local.get $18)
+ (local.get $17)
)
- (local.get $7)
+ (local.get $6)
(block (result i32)
(i32.store8
- (local.get $7)
+ (local.get $6)
(i32.const 46)
)
(i32.add
- (local.get $5)
+ (local.get $4)
(i32.const 2)
)
)
)
- (local.get $7)
+ (local.get $6)
)
)
(br_if $while-in56
(f64.ne
- (local.get $16)
+ (local.get $15)
(f64.const 0)
)
)
@@ -4213,44 +4171,44 @@
(call $_pad
(local.get $0)
(i32.const 32)
- (local.get $15)
- (local.tee $7
+ (local.get $14)
+ (local.tee $6
(i32.add
- (local.get $12)
- (local.tee $6
+ (local.get $11)
+ (local.tee $5
(select
(i32.sub
(i32.add
- (local.get $6)
+ (local.get $5)
(local.get $46)
)
- (local.get $8)
+ (local.get $7)
)
(i32.add
- (local.get $5)
+ (local.get $4)
(i32.sub
(local.get $44)
- (local.get $8)
+ (local.get $7)
)
)
(i32.and
(i32.ne
- (local.get $6)
+ (local.get $5)
(i32.const 0)
)
(i32.lt_s
(i32.add
- (local.get $5)
+ (local.get $4)
(local.get $45)
)
- (local.get $6)
+ (local.get $5)
)
)
)
)
)
)
- (local.get $11)
+ (local.get $10)
)
(if
(i32.eqz
@@ -4261,27 +4219,25 @@
(i32.const 32)
)
)
- (drop
- (call $___fwritex
- (local.get $9)
- (local.get $12)
- (local.get $0)
- )
+ (call $___fwritex
+ (local.get $8)
+ (local.get $11)
+ (local.get $0)
)
)
(call $_pad
(local.get $0)
(i32.const 48)
- (local.get $15)
- (local.get $7)
+ (local.get $14)
+ (local.get $6)
(i32.xor
- (local.get $11)
+ (local.get $10)
(i32.const 65536)
)
)
- (local.set $5
+ (local.set $4
(i32.sub
- (local.get $5)
+ (local.get $4)
(local.get $36)
)
)
@@ -4294,25 +4250,23 @@
(i32.const 32)
)
)
- (drop
- (call $___fwritex
- (local.get $23)
- (local.get $5)
- (local.get $0)
- )
+ (call $___fwritex
+ (local.get $23)
+ (local.get $4)
+ (local.get $0)
)
)
(call $_pad
(local.get $0)
(i32.const 48)
(i32.sub
- (local.get $6)
+ (local.get $5)
(i32.add
- (local.get $5)
- (local.tee $5
+ (local.get $4)
+ (local.tee $4
(i32.sub
(local.get $27)
- (local.get $8)
+ (local.get $7)
)
)
)
@@ -4329,43 +4283,41 @@
(i32.const 32)
)
)
- (drop
- (call $___fwritex
- (local.get $8)
- (local.get $5)
- (local.get $0)
- )
+ (call $___fwritex
+ (local.get $7)
+ (local.get $4)
+ (local.get $0)
)
)
(call $_pad
(local.get $0)
(i32.const 32)
- (local.get $15)
- (local.get $7)
+ (local.get $14)
+ (local.get $6)
(i32.xor
- (local.get $11)
+ (local.get $10)
(i32.const 8192)
)
)
(br $do-once49
(select
- (local.get $15)
- (local.get $7)
+ (local.get $14)
+ (local.get $6)
(i32.lt_s
- (local.get $7)
- (local.get $15)
+ (local.get $6)
+ (local.get $14)
)
)
)
)
)
- (local.set $16
+ (local.set $15
(if (result f64)
- (local.get $5)
+ (local.get $4)
(block (result f64)
(i32.store
(local.get $20)
- (local.tee $5
+ (local.tee $4
(i32.add
(i32.load
(local.get $20)
@@ -4380,7 +4332,7 @@
)
)
(block (result f64)
- (local.set $5
+ (local.set $4
(i32.load
(local.get $20)
)
@@ -4389,13 +4341,13 @@
)
)
)
- (local.set $7
- (local.tee $8
+ (local.set $6
+ (local.tee $7
(select
(local.get $47)
(local.get $48)
(i32.lt_s
- (local.get $5)
+ (local.get $4)
(i32.const 0)
)
)
@@ -4403,27 +4355,27 @@
)
(loop $while-in60
(i32.store
- (local.get $7)
- (local.tee $5
+ (local.get $6)
+ (local.tee $4
(call $f64-to-int
- (local.get $16)
+ (local.get $15)
)
)
)
- (local.set $7
+ (local.set $6
(i32.add
- (local.get $7)
+ (local.get $6)
(i32.const 4)
)
)
(br_if $while-in60
(f64.ne
- (local.tee $16
+ (local.tee $15
(f64.mul
(f64.sub
- (local.get $16)
+ (local.get $15)
(f64.convert_i32_u
- (local.get $5)
+ (local.get $4)
)
)
(f64.const 1e9)
@@ -4435,7 +4387,7 @@
)
(if
(i32.gt_s
- (local.tee $9
+ (local.tee $8
(i32.load
(local.get $20)
)
@@ -4443,113 +4395,113 @@
(i32.const 0)
)
(block
- (local.set $5
- (local.get $8)
+ (local.set $4
+ (local.get $7)
)
(loop $while-in62
- (local.set $13
+ (local.set $12
(select
(i32.const 29)
- (local.get $9)
+ (local.get $8)
(i32.gt_s
- (local.get $9)
+ (local.get $8)
(i32.const 29)
)
)
)
(if
(i32.ge_u
- (local.tee $9
+ (local.tee $8
(i32.add
- (local.get $7)
+ (local.get $6)
(i32.const -4)
)
)
- (local.get $5)
+ (local.get $4)
)
(block $do-once63
- (local.set $12
+ (local.set $11
(i32.const 0)
)
(loop $while-in66
(i32.store
- (local.get $9)
+ (local.get $8)
(call $___uremdi3
- (local.tee $12
+ (local.tee $11
(call $_i64Add
(call $_bitshift64Shl
(i32.load
- (local.get $9)
+ (local.get $8)
)
(i32.const 0)
- (local.get $13)
+ (local.get $12)
)
(global.get $tempRet0)
- (local.get $12)
+ (local.get $11)
(i32.const 0)
)
)
- (local.tee $18
+ (local.tee $17
(global.get $tempRet0)
)
(i32.const 1000000000)
)
)
- (local.set $12
+ (local.set $11
(call $___udivdi3
- (local.get $12)
- (local.get $18)
+ (local.get $11)
+ (local.get $17)
(i32.const 1000000000)
)
)
(br_if $while-in66
(i32.ge_u
- (local.tee $9
+ (local.tee $8
(i32.add
- (local.get $9)
+ (local.get $8)
(i32.const -4)
)
)
- (local.get $5)
+ (local.get $4)
)
)
)
(br_if $do-once63
(i32.eqz
- (local.get $12)
+ (local.get $11)
)
)
(i32.store
- (local.tee $5
+ (local.tee $4
(i32.add
- (local.get $5)
+ (local.get $4)
(i32.const -4)
)
)
- (local.get $12)
+ (local.get $11)
)
)
)
(loop $while-in68
(if
(i32.gt_u
- (local.get $7)
- (local.get $5)
+ (local.get $6)
+ (local.get $4)
)
(if
(i32.eqz
(i32.load
- (local.tee $9
+ (local.tee $8
(i32.add
- (local.get $7)
+ (local.get $6)
(i32.const -4)
)
)
)
)
(block
- (local.set $7
- (local.get $9)
+ (local.set $6
+ (local.get $8)
)
(br $while-in68)
)
@@ -4558,40 +4510,40 @@
)
(i32.store
(local.get $20)
- (local.tee $9
+ (local.tee $8
(i32.sub
(i32.load
(local.get $20)
)
- (local.get $13)
+ (local.get $12)
)
)
)
(br_if $while-in62
(i32.gt_s
- (local.get $9)
+ (local.get $8)
(i32.const 0)
)
)
)
)
- (local.set $5
- (local.get $8)
+ (local.set $4
+ (local.get $7)
)
)
- (local.set $18
+ (local.set $17
(select
(i32.const 6)
- (local.get $6)
+ (local.get $5)
(i32.lt_s
- (local.get $6)
+ (local.get $5)
(i32.const 0)
)
)
)
(if
(i32.lt_s
- (local.get $9)
+ (local.get $8)
(i32.const 0)
)
(block
@@ -4599,7 +4551,7 @@
(i32.add
(call $i32s-div
(i32.add
- (local.get $18)
+ (local.get $17)
(i32.const 25)
)
(i32.const 9)
@@ -4613,40 +4565,40 @@
(i32.const 102)
)
)
- (local.set $6
- (local.get $5)
- )
(local.set $5
- (local.get $7)
+ (local.get $4)
)
- (local.set $5
+ (local.set $4
+ (local.get $6)
+ )
+ (local.set $4
(loop $while-in70 (result i32)
- (local.set $13
+ (local.set $12
(select
(i32.const 9)
- (local.tee $7
+ (local.tee $6
(i32.sub
(i32.const 0)
- (local.get $9)
+ (local.get $8)
)
)
(i32.gt_s
- (local.get $7)
+ (local.get $6)
(i32.const 9)
)
)
)
(if
(i32.lt_u
- (local.get $6)
(local.get $5)
+ (local.get $4)
)
(block $do-once71
- (local.set $12
+ (local.set $11
(i32.add
(i32.shl
(i32.const 1)
- (local.get $13)
+ (local.get $12)
)
(i32.const -1)
)
@@ -4654,99 +4606,99 @@
(local.set $37
(i32.shr_u
(i32.const 1000000000)
- (local.get $13)
+ (local.get $12)
)
)
- (local.set $9
+ (local.set $8
(i32.const 0)
)
- (local.set $7
- (local.get $6)
+ (local.set $6
+ (local.get $5)
)
(loop $while-in74
(i32.store
- (local.get $7)
+ (local.get $6)
(i32.add
- (local.get $9)
+ (local.get $8)
(i32.shr_u
- (local.tee $9
+ (local.tee $8
(i32.load
- (local.get $7)
+ (local.get $6)
)
)
- (local.get $13)
+ (local.get $12)
)
)
)
- (local.set $9
+ (local.set $8
(i32.mul
(i32.and
- (local.get $9)
- (local.get $12)
+ (local.get $8)
+ (local.get $11)
)
(local.get $37)
)
)
(br_if $while-in74
(i32.lt_u
- (local.tee $7
+ (local.tee $6
(i32.add
- (local.get $7)
+ (local.get $6)
(i32.const 4)
)
)
- (local.get $5)
+ (local.get $4)
)
)
)
- (local.set $7
+ (local.set $6
(select
- (local.get $6)
+ (local.get $5)
(i32.add
- (local.get $6)
+ (local.get $5)
(i32.const 4)
)
(i32.load
- (local.get $6)
+ (local.get $5)
)
)
)
(br_if $do-once71
(i32.eqz
- (local.get $9)
+ (local.get $8)
)
)
(i32.store
- (local.get $5)
- (local.get $9)
+ (local.get $4)
+ (local.get $8)
)
- (local.set $5
+ (local.set $4
(i32.add
- (local.get $5)
+ (local.get $4)
(i32.const 4)
)
)
)
- (local.set $7
+ (local.set $6
(select
- (local.get $6)
+ (local.get $5)
(i32.add
- (local.get $6)
+ (local.get $5)
(i32.const 4)
)
(i32.load
- (local.get $6)
+ (local.get $5)
)
)
)
)
- (local.set $12
+ (local.set $11
(select
(i32.add
- (local.tee $6
+ (local.tee $5
(select
- (local.get $8)
(local.get $7)
+ (local.get $6)
(local.get $31)
)
)
@@ -4755,12 +4707,12 @@
(i32.const 2)
)
)
- (local.get $5)
+ (local.get $4)
(i32.gt_s
(i32.shr_s
(i32.sub
+ (local.get $4)
(local.get $5)
- (local.get $6)
)
(i32.const 2)
)
@@ -4770,58 +4722,58 @@
)
(i32.store
(local.get $20)
- (local.tee $9
+ (local.tee $8
(i32.add
(i32.load
(local.get $20)
)
- (local.get $13)
+ (local.get $12)
)
)
)
(if (result i32)
(i32.lt_s
- (local.get $9)
+ (local.get $8)
(i32.const 0)
)
(block
- (local.set $6
- (local.get $7)
- )
(local.set $5
- (local.get $12)
+ (local.get $6)
+ )
+ (local.set $4
+ (local.get $11)
)
(br $while-in70)
)
(block (result i32)
- (local.set $9
- (local.get $12)
+ (local.set $8
+ (local.get $11)
)
- (local.get $7)
+ (local.get $6)
)
)
)
)
)
- (local.set $9
- (local.get $7)
+ (local.set $8
+ (local.get $6)
)
)
(local.set $21
- (local.get $8)
+ (local.get $7)
)
(if
(i32.lt_u
- (local.get $5)
- (local.get $9)
+ (local.get $4)
+ (local.get $8)
)
(block $do-once75
- (local.set $7
+ (local.set $6
(i32.mul
(i32.shr_s
(i32.sub
(local.get $21)
- (local.get $5)
+ (local.get $4)
)
(i32.const 2)
)
@@ -4830,30 +4782,30 @@
)
(br_if $do-once75
(i32.lt_u
- (local.tee $12
+ (local.tee $11
(i32.load
- (local.get $5)
+ (local.get $4)
)
)
(i32.const 10)
)
)
- (local.set $6
+ (local.set $5
(i32.const 10)
)
(loop $while-in78
- (local.set $7
+ (local.set $6
(i32.add
- (local.get $7)
+ (local.get $6)
(i32.const 1)
)
)
(br_if $while-in78
(i32.ge_u
- (local.get $12)
- (local.tee $6
+ (local.get $11)
+ (local.tee $5
(i32.mul
- (local.get $6)
+ (local.get $5)
(i32.const 10)
)
)
@@ -4861,19 +4813,19 @@
)
)
)
- (local.set $7
+ (local.set $6
(i32.const 0)
)
)
- (local.set $5
+ (local.set $4
(if (result i32)
(i32.lt_s
- (local.tee $6
+ (local.tee $5
(i32.add
(i32.sub
- (local.get $18)
+ (local.get $17)
(select
- (local.get $7)
+ (local.get $6)
(i32.const 0)
(i32.ne
(local.get $24)
@@ -4892,7 +4844,7 @@
)
(local.tee $37
(i32.ne
- (local.get $18)
+ (local.get $17)
(i32.const 0)
)
)
@@ -4907,7 +4859,7 @@
(i32.mul
(i32.shr_s
(i32.sub
- (local.get $9)
+ (local.get $8)
(local.get $21)
)
(i32.const 2)
@@ -4918,11 +4870,11 @@
)
)
(block (result i32)
- (local.set $13
+ (local.set $12
(call $i32s-div
- (local.tee $6
+ (local.tee $5
(i32.add
- (local.get $6)
+ (local.get $5)
(i32.const 9216)
)
)
@@ -4931,10 +4883,10 @@
)
(if
(i32.lt_s
- (local.tee $6
+ (local.tee $5
(i32.add
(i32.rem_s
- (local.get $6)
+ (local.get $5)
(i32.const 9)
)
(i32.const 1)
@@ -4943,21 +4895,21 @@
(i32.const 9)
)
(block
- (local.set $12
+ (local.set $11
(i32.const 10)
)
(loop $while-in80
- (local.set $12
+ (local.set $11
(i32.mul
- (local.get $12)
+ (local.get $11)
(i32.const 10)
)
)
(br_if $while-in80
(i32.ne
- (local.tee $6
+ (local.tee $5
(i32.add
- (local.get $6)
+ (local.get $5)
(i32.const 1)
)
)
@@ -4966,29 +4918,29 @@
)
)
)
- (local.set $12
+ (local.set $11
(i32.const 10)
)
)
- (local.set $13
+ (local.set $12
(call $i32u-rem
(local.tee $24
(i32.load
- (local.tee $6
+ (local.tee $5
(i32.add
(i32.add
(i32.shl
- (local.get $13)
+ (local.get $12)
(i32.const 2)
)
- (local.get $8)
+ (local.get $7)
)
(i32.const -4092)
)
)
)
)
- (local.get $12)
+ (local.get $11)
)
)
(if
@@ -4997,14 +4949,14 @@
(local.tee $49
(i32.eq
(i32.add
- (local.get $6)
+ (local.get $5)
(i32.const 4)
)
- (local.get $9)
+ (local.get $8)
)
)
(i32.eqz
- (local.get $13)
+ (local.get $12)
)
)
)
@@ -5012,16 +4964,16 @@
(local.set $50
(call $i32u-div
(local.get $24)
- (local.get $12)
+ (local.get $11)
)
)
- (local.set $16
+ (local.set $15
(if (result f64)
(i32.lt_u
- (local.get $13)
+ (local.get $12)
(local.tee $51
(call $i32s-div
- (local.get $12)
+ (local.get $11)
(i32.const 2)
)
)
@@ -5033,7 +4985,7 @@
(i32.and
(local.get $49)
(i32.eq
- (local.get $13)
+ (local.get $12)
(local.get $51)
)
)
@@ -5060,9 +5012,9 @@
(i32.const 45)
)
(block
- (local.set $16
+ (local.set $15
(f64.neg
- (local.get $16)
+ (local.get $15)
)
)
(local.set $22
@@ -5074,11 +5026,11 @@
)
)
(i32.store
- (local.get $6)
- (local.tee $13
+ (local.get $5)
+ (local.tee $12
(i32.sub
(local.get $24)
- (local.get $13)
+ (local.get $12)
)
)
)
@@ -5086,44 +5038,44 @@
(f64.eq
(f64.add
(local.get $22)
- (local.get $16)
+ (local.get $15)
)
(local.get $22)
)
)
(i32.store
- (local.get $6)
- (local.tee $7
+ (local.get $5)
+ (local.tee $6
(i32.add
+ (local.get $11)
(local.get $12)
- (local.get $13)
)
)
)
(if
(i32.gt_u
- (local.get $7)
+ (local.get $6)
(i32.const 999999999)
)
(loop $while-in86
(i32.store
- (local.get $6)
+ (local.get $5)
(i32.const 0)
)
(if
(i32.lt_u
- (local.tee $6
+ (local.tee $5
(i32.add
- (local.get $6)
+ (local.get $5)
(i32.const -4)
)
)
- (local.get $5)
+ (local.get $4)
)
(i32.store
- (local.tee $5
+ (local.tee $4
(i32.add
- (local.get $5)
+ (local.get $4)
(i32.const -4)
)
)
@@ -5131,11 +5083,11 @@
)
)
(i32.store
- (local.get $6)
- (local.tee $7
+ (local.get $5)
+ (local.tee $6
(i32.add
(i32.load
- (local.get $6)
+ (local.get $5)
)
(i32.const 1)
)
@@ -5143,18 +5095,18 @@
)
(br_if $while-in86
(i32.gt_u
- (local.get $7)
+ (local.get $6)
(i32.const 999999999)
)
)
)
)
- (local.set $7
+ (local.set $6
(i32.mul
(i32.shr_s
(i32.sub
(local.get $21)
- (local.get $5)
+ (local.get $4)
)
(i32.const 2)
)
@@ -5163,30 +5115,30 @@
)
(br_if $do-once81
(i32.lt_u
- (local.tee $13
+ (local.tee $12
(i32.load
- (local.get $5)
+ (local.get $4)
)
)
(i32.const 10)
)
)
- (local.set $12
+ (local.set $11
(i32.const 10)
)
(loop $while-in88
- (local.set $7
+ (local.set $6
(i32.add
- (local.get $7)
+ (local.get $6)
(i32.const 1)
)
)
(br_if $while-in88
(i32.ge_u
- (local.get $13)
- (local.tee $12
+ (local.get $12)
+ (local.tee $11
(i32.mul
- (local.get $12)
+ (local.get $11)
(i32.const 10)
)
)
@@ -5195,59 +5147,59 @@
)
)
)
- (local.set $12
- (local.get $5)
+ (local.set $11
+ (local.get $4)
)
- (local.set $13
- (local.get $7)
+ (local.set $12
+ (local.get $6)
)
(select
- (local.tee $5
+ (local.tee $4
(i32.add
- (local.get $6)
+ (local.get $5)
(i32.const 4)
)
)
- (local.get $9)
+ (local.get $8)
(i32.gt_u
- (local.get $9)
- (local.get $5)
+ (local.get $8)
+ (local.get $4)
)
)
)
(block (result i32)
- (local.set $12
- (local.get $5)
+ (local.set $11
+ (local.get $4)
)
- (local.set $13
- (local.get $7)
+ (local.set $12
+ (local.get $6)
)
- (local.get $9)
+ (local.get $8)
)
)
)
- (local.set $9
+ (local.set $8
(loop $while-in90 (result i32)
(block $while-out89 (result i32)
(if
(i32.le_u
- (local.get $5)
- (local.get $12)
+ (local.get $4)
+ (local.get $11)
)
(block
(local.set $24
(i32.const 0)
)
(br $while-out89
- (local.get $5)
+ (local.get $4)
)
)
)
(if (result i32)
(i32.load
- (local.tee $7
+ (local.tee $6
(i32.add
- (local.get $5)
+ (local.get $4)
(i32.const -4)
)
)
@@ -5256,11 +5208,11 @@
(local.set $24
(i32.const 1)
)
- (local.get $5)
+ (local.get $4)
)
(block
- (local.set $5
- (local.get $7)
+ (local.set $4
+ (local.get $6)
)
(br $while-in90)
)
@@ -5268,72 +5220,72 @@
)
)
)
- (local.set $5
+ (local.set $4
(if (result i32)
(local.get $31)
(block $do-once91 (result i32)
- (local.set $7
+ (local.set $6
(if (result i32)
(i32.and
(i32.gt_s
- (local.tee $5
+ (local.tee $4
(i32.add
- (local.get $18)
+ (local.get $17)
(i32.xor
(local.get $37)
(i32.const 1)
)
)
)
- (local.get $13)
+ (local.get $12)
)
(i32.gt_s
- (local.get $13)
+ (local.get $12)
(i32.const -5)
)
)
(block (result i32)
- (local.set $18
+ (local.set $17
(i32.sub
(i32.add
- (local.get $5)
+ (local.get $4)
(i32.const -1)
)
- (local.get $13)
+ (local.get $12)
)
)
(i32.add
- (local.get $19)
+ (local.get $18)
(i32.const -1)
)
)
(block (result i32)
- (local.set $18
+ (local.set $17
(i32.add
- (local.get $5)
+ (local.get $4)
(i32.const -1)
)
)
(i32.add
- (local.get $19)
+ (local.get $18)
(i32.const -2)
)
)
)
)
(if
- (local.tee $5
+ (local.tee $4
(i32.and
- (local.get $11)
+ (local.get $10)
(i32.const 8)
)
)
(block
(local.set $21
- (local.get $5)
+ (local.get $4)
)
(br $do-once91
- (local.get $18)
+ (local.get $17)
)
)
)
@@ -5342,36 +5294,36 @@
(block $do-once93
(if
(i32.eqz
- (local.tee $19
+ (local.tee $18
(i32.load
(i32.add
- (local.get $9)
+ (local.get $8)
(i32.const -4)
)
)
)
)
(block
- (local.set $5
+ (local.set $4
(i32.const 9)
)
(br $do-once93)
)
)
- (local.set $5
+ (local.set $4
(if (result i32)
(call $i32u-rem
- (local.get $19)
+ (local.get $18)
(i32.const 10)
)
(block
- (local.set $5
+ (local.set $4
(i32.const 0)
)
(br $do-once93)
)
(block (result i32)
- (local.set $6
+ (local.set $5
(i32.const 10)
)
(i32.const 0)
@@ -5379,19 +5331,19 @@
)
)
(loop $while-in96
- (local.set $5
+ (local.set $4
(i32.add
- (local.get $5)
+ (local.get $4)
(i32.const 1)
)
)
(br_if $while-in96
(i32.eqz
(call $i32u-rem
- (local.get $19)
- (local.tee $6
+ (local.get $18)
+ (local.tee $5
(i32.mul
- (local.get $6)
+ (local.get $5)
(i32.const 10)
)
)
@@ -5400,16 +5352,16 @@
)
)
)
- (local.set $5
+ (local.set $4
(i32.const 9)
)
)
- (local.set $6
+ (local.set $5
(i32.add
(i32.mul
(i32.shr_s
(i32.sub
- (local.get $9)
+ (local.get $8)
(local.get $21)
)
(i32.const 2)
@@ -5422,7 +5374,7 @@
(if (result i32)
(i32.eq
(i32.or
- (local.get $7)
+ (local.get $6)
(i32.const 32)
)
(i32.const 102)
@@ -5432,25 +5384,25 @@
(i32.const 0)
)
(select
- (local.get $18)
- (local.tee $5
+ (local.get $17)
+ (local.tee $4
(select
(i32.const 0)
- (local.tee $5
+ (local.tee $4
(i32.sub
- (local.get $6)
(local.get $5)
+ (local.get $4)
)
)
(i32.lt_s
- (local.get $5)
+ (local.get $4)
(i32.const 0)
)
)
)
(i32.lt_s
- (local.get $18)
- (local.get $5)
+ (local.get $17)
+ (local.get $4)
)
)
)
@@ -5459,28 +5411,28 @@
(i32.const 0)
)
(select
- (local.get $18)
- (local.tee $5
+ (local.get $17)
+ (local.tee $4
(select
(i32.const 0)
- (local.tee $5
+ (local.tee $4
(i32.sub
(i32.add
- (local.get $6)
- (local.get $13)
+ (local.get $5)
+ (local.get $12)
)
- (local.get $5)
+ (local.get $4)
)
)
(i32.lt_s
- (local.get $5)
+ (local.get $4)
(i32.const 0)
)
)
)
(i32.lt_s
- (local.get $18)
- (local.get $5)
+ (local.get $17)
+ (local.get $4)
)
)
)
@@ -5489,48 +5441,48 @@
(block (result i32)
(local.set $21
(i32.and
- (local.get $11)
+ (local.get $10)
(i32.const 8)
)
)
- (local.set $7
- (local.get $19)
+ (local.set $6
+ (local.get $18)
)
- (local.get $18)
+ (local.get $17)
)
)
)
- (local.set $6
+ (local.set $5
(i32.sub
(i32.const 0)
- (local.get $13)
+ (local.get $12)
)
)
(call $_pad
(local.get $0)
(i32.const 32)
- (local.get $15)
- (local.tee $13
+ (local.get $14)
+ (local.tee $12
(i32.add
(if (result i32)
- (local.tee $18
+ (local.tee $17
(i32.eq
(i32.or
- (local.get $7)
+ (local.get $6)
(i32.const 32)
)
(i32.const 102)
)
)
(block (result i32)
- (local.set $19
+ (local.set $18
(i32.const 0)
)
(select
- (local.get $13)
+ (local.get $12)
(i32.const 0)
(i32.gt_s
- (local.get $13)
+ (local.get $12)
(i32.const 0)
)
)
@@ -5540,14 +5492,14 @@
(i32.lt_s
(i32.sub
(local.get $27)
- (local.tee $6
+ (local.tee $5
(call $_fmt_u
- (local.tee $6
+ (local.tee $5
(select
- (local.get $6)
- (local.get $13)
+ (local.get $5)
+ (local.get $12)
(i32.lt_s
- (local.get $13)
+ (local.get $12)
(i32.const 0)
)
)
@@ -5555,7 +5507,7 @@
(i32.shr_s
(i32.shl
(i32.lt_s
- (local.get $6)
+ (local.get $5)
(i32.const 0)
)
(i32.const 31)
@@ -5570,9 +5522,9 @@
)
(loop $while-in98
(i32.store8
- (local.tee $6
+ (local.tee $5
(i32.add
- (local.get $6)
+ (local.get $5)
(i32.const -1)
)
)
@@ -5582,7 +5534,7 @@
(i32.lt_s
(i32.sub
(local.get $27)
- (local.get $6)
+ (local.get $5)
)
(i32.const 2)
)
@@ -5591,13 +5543,13 @@
)
(i32.store8
(i32.add
- (local.get $6)
+ (local.get $5)
(i32.const -1)
)
(i32.add
(i32.and
(i32.shr_s
- (local.get $13)
+ (local.get $12)
(i32.const 31)
)
(i32.const 2)
@@ -5606,17 +5558,17 @@
)
)
(i32.store8
- (local.tee $19
+ (local.tee $18
(i32.add
- (local.get $6)
+ (local.get $5)
(i32.const -2)
)
)
- (local.get $7)
+ (local.get $6)
)
(i32.sub
(local.get $27)
- (local.get $19)
+ (local.get $18)
)
)
)
@@ -5626,12 +5578,12 @@
(local.get $26)
(i32.const 1)
)
- (local.get $5)
+ (local.get $4)
)
(i32.ne
(local.tee $31
(i32.or
- (local.get $5)
+ (local.get $4)
(local.get $21)
)
)
@@ -5640,7 +5592,7 @@
)
)
)
- (local.get $11)
+ (local.get $10)
)
(if
(i32.eqz
@@ -5651,44 +5603,42 @@
(i32.const 32)
)
)
- (drop
- (call $___fwritex
- (local.get $30)
- (local.get $26)
- (local.get $0)
- )
+ (call $___fwritex
+ (local.get $30)
+ (local.get $26)
+ (local.get $0)
)
)
(call $_pad
(local.get $0)
(i32.const 48)
- (local.get $15)
- (local.get $13)
+ (local.get $14)
+ (local.get $12)
(i32.xor
- (local.get $11)
+ (local.get $10)
(i32.const 65536)
)
)
(if
- (local.get $18)
+ (local.get $17)
(block
- (local.set $6
- (local.tee $12
+ (local.set $5
+ (local.tee $11
(select
- (local.get $8)
- (local.get $12)
+ (local.get $7)
+ (local.get $11)
(i32.gt_u
- (local.get $12)
- (local.get $8)
+ (local.get $11)
+ (local.get $7)
)
)
)
)
(loop $while-in102
- (local.set $7
+ (local.set $6
(call $_fmt_u
(i32.load
- (local.get $6)
+ (local.get $5)
)
(i32.const 0)
(local.get $29)
@@ -5697,13 +5647,13 @@
(block $do-once103
(if
(i32.eq
- (local.get $6)
- (local.get $12)
+ (local.get $5)
+ (local.get $11)
)
(block
(br_if $do-once103
(i32.ne
- (local.get $7)
+ (local.get $6)
(local.get $29)
)
)
@@ -5711,22 +5661,22 @@
(local.get $33)
(i32.const 48)
)
- (local.set $7
+ (local.set $6
(local.get $33)
)
)
(block
(br_if $do-once103
(i32.le_u
- (local.get $7)
+ (local.get $6)
(local.get $23)
)
)
(loop $while-in106
(i32.store8
- (local.tee $7
+ (local.tee $6
(i32.add
- (local.get $7)
+ (local.get $6)
(i32.const -1)
)
)
@@ -5734,7 +5684,7 @@
)
(br_if $while-in106
(i32.gt_u
- (local.get $7)
+ (local.get $6)
(local.get $23)
)
)
@@ -5751,30 +5701,28 @@
(i32.const 32)
)
)
- (drop
- (call $___fwritex
- (local.get $7)
- (i32.sub
- (local.get $42)
- (local.get $7)
- )
- (local.get $0)
+ (call $___fwritex
+ (local.get $6)
+ (i32.sub
+ (local.get $42)
+ (local.get $6)
)
+ (local.get $0)
)
)
(if
(i32.le_u
- (local.tee $7
+ (local.tee $6
(i32.add
- (local.get $6)
+ (local.get $5)
(i32.const 4)
)
)
- (local.get $8)
+ (local.get $7)
)
(block
- (local.set $6
- (local.get $7)
+ (local.set $5
+ (local.get $6)
)
(br $while-in102)
)
@@ -5791,12 +5739,10 @@
(i32.const 32)
)
)
- (drop
- (call $___fwritex
- (i32.const 4143)
- (i32.const 1)
- (local.get $0)
- )
+ (call $___fwritex
+ (i32.const 4143)
+ (i32.const 1)
+ (local.get $0)
)
)
)
@@ -5807,21 +5753,21 @@
(if (result i32)
(i32.and
(i32.lt_u
- (local.get $7)
- (local.get $9)
+ (local.get $6)
+ (local.get $8)
)
(i32.gt_s
- (local.get $5)
+ (local.get $4)
(i32.const 0)
)
)
(loop $while-in110 (result i32)
(if
(i32.gt_u
- (local.tee $6
+ (local.tee $5
(call $_fmt_u
(i32.load
- (local.get $7)
+ (local.get $6)
)
(i32.const 0)
(local.get $29)
@@ -5831,9 +5777,9 @@
)
(loop $while-in112
(i32.store8
- (local.tee $6
+ (local.tee $5
(i32.add
- (local.get $6)
+ (local.get $5)
(i32.const -1)
)
)
@@ -5841,7 +5787,7 @@
)
(br_if $while-in112
(i32.gt_u
- (local.get $6)
+ (local.get $5)
(local.get $23)
)
)
@@ -5856,53 +5802,51 @@
(i32.const 32)
)
)
- (drop
- (call $___fwritex
- (local.get $6)
- (select
+ (call $___fwritex
+ (local.get $5)
+ (select
+ (i32.const 9)
+ (local.get $4)
+ (i32.gt_s
+ (local.get $4)
(i32.const 9)
- (local.get $5)
- (i32.gt_s
- (local.get $5)
- (i32.const 9)
- )
)
- (local.get $0)
)
+ (local.get $0)
)
)
- (local.set $6
+ (local.set $5
(i32.add
- (local.get $5)
+ (local.get $4)
(i32.const -9)
)
)
(if (result i32)
(i32.and
(i32.lt_u
- (local.tee $7
+ (local.tee $6
(i32.add
- (local.get $7)
+ (local.get $6)
(i32.const 4)
)
)
- (local.get $9)
+ (local.get $8)
)
(i32.gt_s
- (local.get $5)
+ (local.get $4)
(i32.const 9)
)
)
(block
- (local.set $5
- (local.get $6)
+ (local.set $4
+ (local.get $5)
)
(br $while-in110)
)
- (local.get $6)
+ (local.get $5)
)
)
- (local.get $5)
+ (local.get $4)
)
(i32.const 9)
)
@@ -5911,11 +5855,11 @@
)
)
(block $do-once99
- (local.set $9
+ (local.set $8
(select
- (local.get $9)
+ (local.get $8)
(i32.add
- (local.get $12)
+ (local.get $11)
(i32.const 4)
)
(local.get $24)
@@ -5927,28 +5871,28 @@
(i32.add
(if (result i32)
(i32.gt_s
- (local.get $5)
+ (local.get $4)
(i32.const -1)
)
(block (result i32)
- (local.set $18
+ (local.set $17
(i32.eqz
(local.get $21)
)
)
- (local.set $6
- (local.get $12)
+ (local.set $5
+ (local.get $11)
)
- (local.set $7
- (local.get $5)
+ (local.set $6
+ (local.get $4)
)
(loop $while-in114 (result i32)
(if
(i32.eq
- (local.tee $5
+ (local.tee $4
(call $_fmt_u
(i32.load
- (local.get $6)
+ (local.get $5)
)
(i32.const 0)
(local.get $29)
@@ -5961,7 +5905,7 @@
(local.get $33)
(i32.const 48)
)
- (local.set $5
+ (local.set $4
(local.get $33)
)
)
@@ -5969,8 +5913,8 @@
(block $do-once115
(if
(i32.eq
- (local.get $6)
- (local.get $12)
+ (local.get $5)
+ (local.get $11)
)
(block
(if
@@ -5982,27 +5926,25 @@
(i32.const 32)
)
)
- (drop
- (call $___fwritex
- (local.get $5)
- (i32.const 1)
- (local.get $0)
- )
+ (call $___fwritex
+ (local.get $4)
+ (i32.const 1)
+ (local.get $0)
)
)
- (local.set $5
+ (local.set $4
(i32.add
- (local.get $5)
+ (local.get $4)
(i32.const 1)
)
)
(br_if $do-once115
(i32.and
(i32.lt_s
- (local.get $7)
+ (local.get $6)
(i32.const 1)
)
- (local.get $18)
+ (local.get $17)
)
)
(br_if $do-once115
@@ -6013,26 +5955,24 @@
(i32.const 32)
)
)
- (drop
- (call $___fwritex
- (i32.const 4143)
- (i32.const 1)
- (local.get $0)
- )
+ (call $___fwritex
+ (i32.const 4143)
+ (i32.const 1)
+ (local.get $0)
)
)
(block
(br_if $do-once115
(i32.le_u
- (local.get $5)
+ (local.get $4)
(local.get $23)
)
)
(loop $while-in118
(i32.store8
- (local.tee $5
+ (local.tee $4
(i32.add
- (local.get $5)
+ (local.get $4)
(i32.const -1)
)
)
@@ -6040,7 +5980,7 @@
)
(br_if $while-in118
(i32.gt_u
- (local.get $5)
+ (local.get $4)
(local.get $23)
)
)
@@ -6048,10 +5988,10 @@
)
)
)
- (local.set $8
+ (local.set $7
(i32.sub
(local.get $42)
- (local.get $5)
+ (local.get $4)
)
)
(if
@@ -6063,47 +6003,45 @@
(i32.const 32)
)
)
- (drop
- (call $___fwritex
- (local.get $5)
- (select
- (local.get $8)
+ (call $___fwritex
+ (local.get $4)
+ (select
+ (local.get $7)
+ (local.get $6)
+ (i32.gt_s
+ (local.get $6)
(local.get $7)
- (i32.gt_s
- (local.get $7)
- (local.get $8)
- )
)
- (local.get $0)
)
+ (local.get $0)
)
)
(br_if $while-in114
(i32.and
(i32.lt_u
- (local.tee $6
+ (local.tee $5
(i32.add
- (local.get $6)
+ (local.get $5)
(i32.const 4)
)
)
- (local.get $9)
+ (local.get $8)
)
(i32.gt_s
- (local.tee $7
+ (local.tee $6
(i32.sub
+ (local.get $6)
(local.get $7)
- (local.get $8)
)
)
(i32.const -1)
)
)
)
- (local.get $7)
+ (local.get $6)
)
)
- (local.get $5)
+ (local.get $4)
)
(i32.const 18)
)
@@ -6118,34 +6056,32 @@
(i32.const 32)
)
)
- (drop
- (call $___fwritex
- (local.get $19)
- (i32.sub
- (local.get $27)
- (local.get $19)
- )
- (local.get $0)
+ (call $___fwritex
+ (local.get $18)
+ (i32.sub
+ (local.get $27)
+ (local.get $18)
)
+ (local.get $0)
)
)
)
(call $_pad
(local.get $0)
(i32.const 32)
- (local.get $15)
- (local.get $13)
+ (local.get $14)
+ (local.get $12)
(i32.xor
- (local.get $11)
+ (local.get $10)
(i32.const 8192)
)
)
(select
- (local.get $15)
- (local.get $13)
+ (local.get $14)
+ (local.get $12)
(i32.lt_s
- (local.get $13)
- (local.get $15)
+ (local.get $12)
+ (local.get $14)
)
)
)
@@ -6153,17 +6089,17 @@
(call $_pad
(local.get $0)
(i32.const 32)
- (local.get $15)
- (local.tee $7
+ (local.get $14)
+ (local.tee $6
(i32.add
- (local.tee $9
+ (local.tee $8
(select
(i32.const 0)
(local.get $26)
- (local.tee $6
+ (local.tee $5
(f64.ne
- (local.get $16)
- (local.get $16)
+ (local.get $15)
+ (local.get $15)
)
)
)
@@ -6171,17 +6107,17 @@
(i32.const 3)
)
)
- (local.get $8)
+ (local.get $7)
)
- (local.set $6
+ (local.set $5
(select
(select
(i32.const 4135)
(i32.const 4139)
- (local.tee $8
+ (local.tee $7
(i32.ne
(i32.and
- (local.get $19)
+ (local.get $18)
(i32.const 32)
)
(i32.const 0)
@@ -6191,9 +6127,9 @@
(select
(i32.const 4127)
(i32.const 4131)
- (local.get $8)
+ (local.get $7)
)
- (local.get $6)
+ (local.get $5)
)
)
(if
@@ -6201,21 +6137,19 @@
(i32.and
(if (result i32)
(i32.and
- (local.tee $5
+ (local.tee $4
(i32.load
(local.get $0)
)
)
(i32.const 32)
)
- (local.get $5)
+ (local.get $4)
(block (result i32)
- (drop
- (call $___fwritex
- (local.get $30)
- (local.get $9)
- (local.get $0)
- )
+ (call $___fwritex
+ (local.get $30)
+ (local.get $8)
+ (local.get $0)
)
(i32.load
(local.get $0)
@@ -6225,149 +6159,147 @@
(i32.const 32)
)
)
- (drop
- (call $___fwritex
- (local.get $6)
- (i32.const 3)
- (local.get $0)
- )
+ (call $___fwritex
+ (local.get $5)
+ (i32.const 3)
+ (local.get $0)
)
)
(call $_pad
(local.get $0)
(i32.const 32)
- (local.get $15)
- (local.get $7)
+ (local.get $14)
+ (local.get $6)
(i32.xor
- (local.get $11)
+ (local.get $10)
(i32.const 8192)
)
)
(select
- (local.get $15)
- (local.get $7)
+ (local.get $14)
+ (local.get $6)
(i32.lt_s
- (local.get $7)
- (local.get $15)
+ (local.get $6)
+ (local.get $14)
)
)
)
)
)
- (local.set $5
- (local.get $10)
+ (local.set $4
+ (local.get $9)
)
- (local.set $10
- (local.get $7)
+ (local.set $9
+ (local.get $6)
)
(br $label$continue$L1)
)
- (local.set $12
- (local.get $6)
+ (local.set $11
+ (local.get $5)
)
- (local.set $8
+ (local.set $7
(i32.const 0)
)
- (local.set $9
+ (local.set $8
(i32.const 4091)
)
(br $__rjto$8
(local.get $25)
)
)
- (local.set $9
+ (local.set $8
(i32.and
- (local.get $19)
+ (local.get $18)
(i32.const 32)
)
)
- (if
- (i32.or
- (local.tee $7
- (i32.load
- (local.get $14)
+ (local.set $7
+ (if (result i32)
+ (i32.or
+ (local.tee $6
+ (i32.load
+ (local.get $13)
+ )
)
- )
- (local.tee $11
- (i32.load offset=4
- (local.get $14)
+ (local.tee $10
+ (i32.load offset=4
+ (local.get $13)
+ )
)
)
- )
- (block
- (local.set $8
- (local.get $25)
- )
- (local.set $7
- (loop $while-in123 (result i32)
- (i32.store8
- (local.tee $8
- (i32.add
- (local.get $8)
- (i32.const -1)
- )
- )
- (i32.or
- (local.get $9)
- (i32.load8_u
+ (block (result i32)
+ (local.set $7
+ (local.get $25)
+ )
+ (local.set $6
+ (loop $while-in123 (result i32)
+ (i32.store8
+ (local.tee $7
(i32.add
- (i32.and
- (local.get $7)
- (i32.const 15)
+ (local.get $7)
+ (i32.const -1)
+ )
+ )
+ (i32.or
+ (local.get $8)
+ (i32.load8_u
+ (i32.add
+ (i32.and
+ (local.get $6)
+ (i32.const 15)
+ )
+ (i32.const 4075)
)
- (i32.const 4075)
)
)
)
- )
- (br_if $while-in123
- (i32.or
- (local.tee $7
- (call $_bitshift64Lshr
- (local.get $7)
- (local.get $11)
- (i32.const 4)
+ (br_if $while-in123
+ (i32.or
+ (local.tee $6
+ (call $_bitshift64Lshr
+ (local.get $6)
+ (local.get $10)
+ (i32.const 4)
+ )
+ )
+ (local.tee $10
+ (global.get $tempRet0)
)
- )
- (local.tee $11
- (global.get $tempRet0)
)
)
+ (local.get $7)
)
- (local.get $8)
)
- )
- (local.set $8
(if (result i32)
(i32.or
(i32.eqz
(i32.or
(i32.load
- (local.get $14)
+ (local.get $13)
)
(i32.load offset=4
- (local.get $14)
+ (local.get $13)
)
)
)
(i32.eqz
(i32.and
- (local.get $5)
+ (local.get $4)
(i32.const 8)
)
)
)
(block (result i32)
- (local.set $9
+ (local.set $8
(i32.const 4091)
)
(i32.const 0)
)
(block (result i32)
- (local.set $9
+ (local.set $8
(i32.add
(i32.shr_s
- (local.get $19)
+ (local.get $18)
(i32.const 4)
)
(i32.const 4091)
@@ -6377,93 +6309,91 @@
)
)
)
- )
- (block
- (local.set $7
- (local.get $25)
- )
- (local.set $8
+ (block (result i32)
+ (local.set $6
+ (local.get $25)
+ )
+ (local.set $8
+ (i32.const 4091)
+ )
(i32.const 0)
)
- (local.set $9
- (i32.const 4091)
- )
)
)
(br $__rjti$8)
)
- (local.set $7
+ (local.set $6
(call $_fmt_u
- (local.get $5)
- (local.get $7)
+ (local.get $4)
+ (local.get $6)
(local.get $25)
)
)
- (local.set $5
- (local.get $11)
+ (local.set $4
+ (local.get $10)
)
(br $__rjti$8)
)
- (local.set $19
+ (local.set $18
(i32.eqz
- (local.tee $13
+ (local.tee $12
(call $_memchr
- (local.get $7)
(local.get $6)
+ (local.get $5)
)
)
)
)
- (local.set $11
- (local.get $8)
+ (local.set $10
+ (local.get $7)
)
- (local.set $12
+ (local.set $11
(select
- (local.get $6)
+ (local.get $5)
(i32.sub
- (local.get $13)
- (local.tee $5
- (local.get $7)
+ (local.get $12)
+ (local.tee $4
+ (local.get $6)
)
)
- (local.get $19)
+ (local.get $18)
)
)
- (local.set $8
+ (local.set $7
(i32.const 0)
)
- (local.set $9
+ (local.set $8
(i32.const 4091)
)
(br $__rjto$8
(select
(i32.add
+ (local.get $4)
(local.get $5)
- (local.get $6)
)
- (local.get $13)
- (local.get $19)
+ (local.get $12)
+ (local.get $18)
)
)
)
- (local.set $5
+ (local.set $4
(i32.const 0)
)
- (local.set $7
+ (local.set $6
(i32.const 0)
)
- (local.set $6
+ (local.set $5
(i32.load
- (local.get $14)
+ (local.get $13)
)
)
(loop $while-in125
(block $while-out124
(br_if $while-out124
(i32.eqz
- (local.tee $9
+ (local.tee $8
(i32.load
- (local.get $6)
+ (local.get $5)
)
)
)
@@ -6471,36 +6401,36 @@
(br_if $while-out124
(i32.or
(i32.lt_s
- (local.tee $7
+ (local.tee $6
(call $_wctomb
(local.get $35)
- (local.get $9)
+ (local.get $8)
)
)
(i32.const 0)
)
(i32.gt_u
- (local.get $7)
+ (local.get $6)
(i32.sub
- (local.get $8)
- (local.get $5)
+ (local.get $7)
+ (local.get $4)
)
)
)
)
- (local.set $6
+ (local.set $5
(i32.add
- (local.get $6)
+ (local.get $5)
(i32.const 4)
)
)
(br_if $while-in125
(i32.gt_u
- (local.get $8)
- (local.tee $5
+ (local.get $7)
+ (local.tee $4
(i32.add
- (local.get $5)
- (local.get $7)
+ (local.get $4)
+ (local.get $6)
)
)
)
@@ -6509,11 +6439,11 @@
)
(if
(i32.lt_s
- (local.get $7)
+ (local.get $6)
(i32.const 0)
)
(block
- (local.set $17
+ (local.set $16
(i32.const -1)
)
(br $label$break$L1)
@@ -6522,29 +6452,29 @@
(call $_pad
(local.get $0)
(i32.const 32)
- (local.get $15)
- (local.get $5)
- (local.get $11)
+ (local.get $14)
+ (local.get $4)
+ (local.get $10)
)
(if (result i32)
- (local.get $5)
+ (local.get $4)
(block (result i32)
- (local.set $6
+ (local.set $5
(i32.const 0)
)
- (local.set $7
+ (local.set $6
(i32.load
- (local.get $14)
+ (local.get $13)
)
)
(loop $while-in127 (result i32)
(drop
(br_if $__rjti$7
- (local.get $5)
+ (local.get $4)
(i32.eqz
- (local.tee $8
+ (local.tee $7
(i32.load
- (local.get $7)
+ (local.get $6)
)
)
)
@@ -6552,20 +6482,20 @@
)
(drop
(br_if $__rjti$7
- (local.get $5)
+ (local.get $4)
(i32.gt_s
- (local.tee $6
+ (local.tee $5
(i32.add
- (local.tee $8
+ (local.tee $7
(call $_wctomb
(local.get $35)
- (local.get $8)
+ (local.get $7)
)
)
- (local.get $6)
+ (local.get $5)
)
)
- (local.get $5)
+ (local.get $4)
)
)
)
@@ -6578,27 +6508,25 @@
(i32.const 32)
)
)
- (drop
- (call $___fwritex
- (local.get $35)
- (local.get $8)
- (local.get $0)
- )
+ (call $___fwritex
+ (local.get $35)
+ (local.get $7)
+ (local.get $0)
)
)
- (local.set $7
+ (local.set $6
(i32.add
- (local.get $7)
+ (local.get $6)
(i32.const 4)
)
)
(br_if $while-in127
(i32.lt_u
- (local.get $6)
(local.get $5)
+ (local.get $4)
)
)
- (local.get $5)
+ (local.get $4)
)
)
(i32.const 0)
@@ -6606,52 +6534,52 @@
)
)
(i32.xor
- (local.get $11)
+ (local.get $10)
(i32.const 8192)
)
)
- (local.set $5
- (local.get $10)
+ (local.set $4
+ (local.get $9)
)
- (local.set $10
+ (local.set $9
(select
- (local.get $15)
- (local.get $7)
+ (local.get $14)
+ (local.get $6)
(i32.gt_s
- (local.get $15)
- (local.get $7)
+ (local.get $14)
+ (local.get $6)
)
)
)
(br $label$continue$L1)
)
- (local.set $11
+ (local.set $10
(select
(i32.and
- (local.get $5)
+ (local.get $4)
(i32.const -65537)
)
- (local.get $5)
+ (local.get $4)
(i32.gt_s
- (local.get $6)
+ (local.get $5)
(i32.const -1)
)
)
)
(if (result i32)
(i32.or
- (local.get $6)
- (local.tee $5
+ (local.get $5)
+ (local.tee $4
(i32.or
(i32.ne
(i32.load
- (local.get $14)
+ (local.get $13)
)
(i32.const 0)
)
(i32.ne
(i32.load offset=4
- (local.get $14)
+ (local.get $13)
)
(i32.const 0)
)
@@ -6659,66 +6587,66 @@
)
)
(block (result i32)
- (local.set $12
+ (local.set $11
(select
- (local.get $6)
- (local.tee $7
+ (local.get $5)
+ (local.tee $6
(i32.add
(i32.xor
(i32.and
- (local.get $5)
+ (local.get $4)
(i32.const 1)
)
(i32.const 1)
)
(i32.sub
(local.get $38)
- (local.tee $5
- (local.get $7)
+ (local.tee $4
+ (local.get $6)
)
)
)
)
(i32.gt_s
+ (local.get $5)
(local.get $6)
- (local.get $7)
)
)
)
(local.get $25)
)
(block (result i32)
- (local.set $12
+ (local.set $11
(i32.const 0)
)
- (local.tee $5
+ (local.tee $4
(local.get $25)
)
)
)
)
- (local.get $5)
+ (local.get $4)
)
)
- (local.get $12)
+ (local.get $11)
(i32.lt_s
+ (local.get $11)
(local.get $12)
- (local.get $13)
)
)
)
- (local.get $8)
+ (local.get $7)
)
)
- (local.get $15)
+ (local.get $14)
(i32.lt_s
- (local.get $15)
- (local.get $6)
+ (local.get $14)
+ (local.get $5)
)
)
)
- (local.get $6)
- (local.get $11)
+ (local.get $5)
+ (local.get $10)
)
(if
(i32.eqz
@@ -6729,29 +6657,27 @@
(i32.const 32)
)
)
- (drop
- (call $___fwritex
- (local.get $9)
- (local.get $8)
- (local.get $0)
- )
+ (call $___fwritex
+ (local.get $8)
+ (local.get $7)
+ (local.get $0)
)
)
(call $_pad
(local.get $0)
(i32.const 48)
- (local.get $7)
(local.get $6)
+ (local.get $5)
(i32.xor
- (local.get $11)
+ (local.get $10)
(i32.const 65536)
)
)
(call $_pad
(local.get $0)
(i32.const 48)
+ (local.get $11)
(local.get $12)
- (local.get $13)
(i32.const 0)
)
(if
@@ -6763,29 +6689,27 @@
(i32.const 32)
)
)
- (drop
- (call $___fwritex
- (local.get $5)
- (local.get $13)
- (local.get $0)
- )
+ (call $___fwritex
+ (local.get $4)
+ (local.get $12)
+ (local.get $0)
)
)
(call $_pad
(local.get $0)
(i32.const 32)
- (local.get $7)
(local.get $6)
+ (local.get $5)
(i32.xor
- (local.get $11)
+ (local.get $10)
(i32.const 8192)
)
)
- (local.set $5
- (local.get $10)
+ (local.set $4
+ (local.get $9)
)
- (local.set $10
- (local.get $7)
+ (local.set $9
+ (local.get $6)
)
(br $label$continue$L1)
)
@@ -6796,23 +6720,23 @@
(i32.eqz
(local.get $0)
)
- (local.set $17
+ (local.set $16
(if (result i32)
- (local.get $1)
+ (local.get $19)
(block (result i32)
(local.set $0
(i32.const 1)
)
(loop $while-in130
(if
- (local.tee $1
+ (local.tee $19
(i32.load
(i32.add
(i32.shl
(local.get $0)
(i32.const 2)
)
- (local.get $4)
+ (local.get $3)
)
)
)
@@ -6823,10 +6747,10 @@
(local.get $0)
(i32.const 3)
)
- (local.get $3)
+ (local.get $2)
)
+ (local.get $19)
(local.get $1)
- (local.get $2)
)
(br_if $while-in130
(i32.lt_s
@@ -6839,7 +6763,7 @@
(i32.const 10)
)
)
- (local.set $17
+ (local.set $16
(i32.const 1)
)
(br $label$break$L343)
@@ -6859,11 +6783,11 @@
(local.get $0)
(i32.const 2)
)
- (local.get $4)
+ (local.get $3)
)
)
(block
- (local.set $17
+ (local.set $16
(i32.const -1)
)
(br $label$break$L343)
@@ -6893,7 +6817,7 @@
(global.set $STACKTOP
(local.get $34)
)
- (local.get $17)
+ (local.get $16)
)
(func $_pop_arg_336 (; 49 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
@@ -7489,12 +7413,10 @@
(if
(local.get $4)
(block
- (drop
- (call $___fwritex
- (local.get $6)
- (i32.const 256)
- (local.get $0)
- )
+ (call $___fwritex
+ (local.get $6)
+ (i32.const 256)
+ (local.get $0)
)
(local.set $1
(i32.load
@@ -7544,12 +7466,10 @@
)
)
)
- (drop
- (call $___fwritex
- (local.get $6)
- (local.get $5)
- (local.get $0)
- )
+ (call $___fwritex
+ (local.get $6)
+ (local.get $5)
+ (local.get $0)
)
)
)
diff --git a/test/emcc_hello_world.fromasm.clamp b/test/emcc_hello_world.fromasm.clamp
index 532943bbc..9a4aad57b 100644
--- a/test/emcc_hello_world.fromasm.clamp
+++ b/test/emcc_hello_world.fromasm.clamp
@@ -147,10 +147,8 @@
)
(call $abort)
)
- (drop
- (call $_printf
- (local.get $0)
- )
+ (call $_printf
+ (local.get $0)
)
(global.set $STACKTOP
(local.get $0)
@@ -625,7 +623,7 @@
)
(local.get $0)
)
- (func $_printf (; 33 ;) (; has Stack IR ;) (param $0 i32) (result i32)
+ (func $_printf (; 33 ;) (; has Stack IR ;) (param $0 i32)
(local $1 i32)
(local.set $1
(global.get $STACKTOP)
@@ -647,19 +645,15 @@
(local.get $1)
(local.get $0)
)
- (local.set $0
- (call $_vfprintf
- (i32.load
- (i32.const 8)
- )
- (i32.const 672)
- (local.get $1)
+ (call $_vfprintf
+ (i32.load
+ (i32.const 8)
)
+ (local.get $1)
)
(global.set $STACKTOP
(local.get $1)
)
- (local.get $0)
)
(func $___stdio_write (; 34 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
@@ -1006,7 +1000,8 @@
)
(local.get $2)
)
- (func $_vfprintf (; 35 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
+ (func $_vfprintf (; 35 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32)
+ (local $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@@ -1017,8 +1012,7 @@
(local $10 i32)
(local $11 i32)
(local $12 i32)
- (local $13 i32)
- (local.set $3
+ (local.set $6
(global.get $STACKTOP)
)
(global.set $STACKTOP
@@ -1034,27 +1028,26 @@
)
(call $abort)
)
- (local.set $5
+ (local.set $3
(i32.add
- (local.get $3)
+ (local.get $6)
(i32.const 120)
)
)
- (local.set $7
- (local.get $3)
- )
- (local.set $6
+ (local.set $5
(i32.add
- (local.get $3)
+ (local.tee $4
+ (local.get $6)
+ )
(i32.const 136)
)
)
- (local.set $9
+ (local.set $8
(i32.add
- (local.tee $4
- (local.tee $8
+ (local.tee $2
+ (local.tee $7
(i32.add
- (local.get $3)
+ (local.get $4)
(i32.const 80)
)
)
@@ -1064,36 +1057,35 @@
)
(loop $do-in
(i32.store
- (local.get $4)
+ (local.get $2)
(i32.const 0)
)
(br_if $do-in
(i32.lt_s
- (local.tee $4
+ (local.tee $2
(i32.add
- (local.get $4)
+ (local.get $2)
(i32.const 4)
)
)
- (local.get $9)
+ (local.get $8)
)
)
)
(i32.store
- (local.get $5)
+ (local.get $3)
(i32.load
- (local.get $2)
+ (local.get $1)
)
)
- (local.set $0
+ (drop
(if (result i32)
(i32.lt_s
(call $_printf_core
(i32.const 0)
- (local.get $1)
- (local.get $5)
+ (local.get $3)
+ (local.get $4)
(local.get $7)
- (local.get $8)
)
(i32.const 0)
)
@@ -1104,7 +1096,7 @@
(local.get $0)
)
)
- (local.set $10
+ (local.set $9
(i32.load
(local.get $0)
)
@@ -1119,33 +1111,32 @@
(i32.store
(local.get $0)
(i32.and
- (local.get $10)
+ (local.get $9)
(i32.const -33)
)
)
)
(if
(i32.load
- (local.tee $11
+ (local.tee $1
(i32.add
(local.get $0)
(i32.const 48)
)
)
)
- (local.set $1
+ (drop
(call $_printf_core
(local.get $0)
- (local.get $1)
- (local.get $5)
+ (local.get $3)
+ (local.get $4)
(local.get $7)
- (local.get $8)
)
)
(block
- (local.set $13
+ (local.set $11
(i32.load
- (local.tee $12
+ (local.tee $10
(i32.add
(local.get $0)
(i32.const 44)
@@ -1154,54 +1145,53 @@
)
)
(i32.store
- (local.get $12)
- (local.get $6)
+ (local.get $10)
+ (local.get $5)
)
(i32.store
- (local.tee $4
+ (local.tee $2
(i32.add
(local.get $0)
(i32.const 28)
)
)
- (local.get $6)
+ (local.get $5)
)
(i32.store
- (local.tee $2
+ (local.tee $12
(i32.add
(local.get $0)
(i32.const 20)
)
)
- (local.get $6)
+ (local.get $5)
)
(i32.store
- (local.get $11)
+ (local.get $1)
(i32.const 80)
)
(i32.store
- (local.tee $9
+ (local.tee $8
(i32.add
(local.get $0)
(i32.const 16)
)
)
(i32.add
- (local.get $6)
+ (local.get $5)
(i32.const 80)
)
)
- (local.set $1
+ (drop
(call $_printf_core
(local.get $0)
- (local.get $1)
- (local.get $5)
+ (local.get $3)
+ (local.get $4)
(local.get $7)
- (local.get $8)
)
)
(if
- (local.get $13)
+ (local.get $11)
(block
(drop
(call_indirect (type $FUNCSIG$iiii)
@@ -1219,33 +1209,29 @@
)
)
)
- (local.set $1
- (select
- (local.get $1)
- (i32.const -1)
- (i32.load
- (local.get $2)
- )
+ (drop
+ (i32.load
+ (local.get $12)
)
)
(i32.store
- (local.get $12)
- (local.get $13)
+ (local.get $10)
+ (local.get $11)
)
(i32.store
- (local.get $11)
+ (local.get $1)
(i32.const 0)
)
(i32.store
- (local.get $9)
+ (local.get $8)
(i32.const 0)
)
(i32.store
- (local.get $4)
+ (local.get $2)
(i32.const 0)
)
(i32.store
- (local.get $2)
+ (local.get $12)
(i32.const 0)
)
)
@@ -1255,34 +1241,24 @@
(i32.store
(local.get $0)
(i32.or
- (local.tee $2
- (i32.load
- (local.get $0)
- )
+ (i32.load
+ (local.get $0)
)
(i32.and
- (local.get $10)
+ (local.get $9)
(i32.const 32)
)
)
)
- (select
- (i32.const -1)
- (local.get $1)
- (i32.and
- (local.get $2)
- (i32.const 32)
- )
- )
+ (i32.const 0)
)
)
)
(global.set $STACKTOP
- (local.get $3)
+ (local.get $6)
)
- (local.get $0)
)
- (func $___fwritex (; 36 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
+ (func $___fwritex (; 36 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@@ -1301,20 +1277,19 @@
)
)
)
- (local.set $3
- (if (result i32)
+ (if
+ (i32.eqz
(call $___towrite
(local.get $2)
)
- (i32.const 0)
- (block
- (local.set $3
- (i32.load
- (local.get $4)
- )
+ )
+ (block
+ (local.set $3
+ (i32.load
+ (local.get $4)
)
- (br $__rjti$0)
)
+ (br $__rjti$0)
)
)
(br $label$break$L5)
@@ -1337,19 +1312,16 @@
(local.get $1)
)
(block
- (local.set $3
- (i32.load offset=36
- (local.get $2)
- )
- )
- (local.set $3
+ (drop
(call_indirect (type $FUNCSIG$iiii)
(local.get $2)
(local.get $0)
(local.get $1)
(i32.add
(i32.and
- (local.get $3)
+ (i32.load offset=36
+ (local.get $2)
+ )
(i32.const 7)
)
(i32.const 2)
@@ -1359,7 +1331,7 @@
(br $label$break$L5)
)
)
- (local.set $2
+ (drop
(if (result i32)
(i32.gt_s
(i32.load8_s offset=75
@@ -1403,11 +1375,6 @@
)
)
)
- (local.set $4
- (i32.load offset=36
- (local.get $2)
- )
- )
(br_if $label$break$L5
(i32.lt_u
(call_indirect (type $FUNCSIG$iiii)
@@ -1416,7 +1383,9 @@
(local.get $3)
(i32.add
(i32.and
- (local.get $4)
+ (i32.load offset=36
+ (local.get $2)
+ )
(i32.const 7)
)
(i32.const 2)
@@ -1442,7 +1411,7 @@
(local.get $3)
)
)
- (local.get $3)
+ (i32.const 0)
)
(i32.const 0)
)
@@ -1463,14 +1432,7 @@
(local.get $1)
)
)
- (local.set $3
- (i32.add
- (local.get $1)
- (local.get $2)
- )
- )
)
- (local.get $3)
)
(func $___towrite (; 37 ;) (; has Stack IR ;) (param $0 i32) (result i32)
(local $1 i32)
@@ -2173,7 +2135,8 @@
(i32.const 0)
)
)
- (func $_printf_core (; 49 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32)
+ (func $_printf_core (; 49 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
+ (local $4 i32)
(local $5 i32)
(local $6 i32)
(local $7 i32)
@@ -2184,8 +2147,8 @@
(local $12 i32)
(local $13 i32)
(local $14 i32)
- (local $15 i32)
- (local $16 f64)
+ (local $15 f64)
+ (local $16 i32)
(local $17 i32)
(local $18 i32)
(local $19 i32)
@@ -2245,7 +2208,7 @@
)
(local.set $35
(i32.add
- (local.tee $14
+ (local.tee $13
(local.get $34)
)
(i32.const 528)
@@ -2260,9 +2223,9 @@
(local.set $38
(local.tee $25
(i32.add
- (local.tee $5
+ (local.tee $4
(i32.add
- (local.get $14)
+ (local.get $13)
(i32.const 536)
)
)
@@ -2272,7 +2235,7 @@
)
(local.set $39
(i32.add
- (local.get $5)
+ (local.get $4)
(i32.const 39)
)
)
@@ -2280,7 +2243,7 @@
(i32.add
(local.tee $40
(i32.add
- (local.get $14)
+ (local.get $13)
(i32.const 8)
)
)
@@ -2289,9 +2252,9 @@
)
(local.set $32
(i32.add
- (local.tee $5
+ (local.tee $4
(i32.add
- (local.get $14)
+ (local.get $13)
(i32.const 576)
)
)
@@ -2300,7 +2263,7 @@
)
(local.set $41
(i32.add
- (local.get $5)
+ (local.get $4)
(i32.const 11)
)
)
@@ -2312,7 +2275,7 @@
(local.tee $36
(local.tee $23
(i32.add
- (local.get $14)
+ (local.get $13)
(i32.const 588)
)
)
@@ -2335,7 +2298,7 @@
(i32.add
(local.tee $47
(i32.add
- (local.get $14)
+ (local.get $13)
(i32.const 24)
)
)
@@ -2356,11 +2319,8 @@
(i32.const 8)
)
)
- (local.set $5
- (local.get $1)
- )
- (local.set $1
- (i32.const 0)
+ (local.set $4
+ (i32.const 672)
)
(block $label$break$L343
(block $__rjti$9
@@ -2368,16 +2328,16 @@
(block $label$break$L1
(if
(i32.gt_s
- (local.get $17)
+ (local.get $16)
(i32.const -1)
)
- (local.set $17
+ (local.set $16
(if (result i32)
(i32.gt_s
- (local.get $10)
+ (local.get $9)
(i32.sub
(i32.const 2147483647)
- (local.get $17)
+ (local.get $16)
)
)
(block (result i32)
@@ -2388,23 +2348,23 @@
(i32.const -1)
)
(i32.add
- (local.get $10)
- (local.get $17)
+ (local.get $9)
+ (local.get $16)
)
)
)
)
(br_if $__rjti$9
(i32.eqz
- (local.tee $7
+ (local.tee $6
(i32.load8_s
- (local.get $5)
+ (local.get $4)
)
)
)
)
- (local.set $10
- (local.get $5)
+ (local.set $9
+ (local.get $4)
)
(block $label$break$L12
(block $__rjti$1
@@ -2412,10 +2372,10 @@
(block $label$break$L9
(block $switch
(if
- (local.tee $7
+ (local.tee $6
(i32.shr_s
(i32.shl
- (local.get $7)
+ (local.get $6)
(i32.const 24)
)
(i32.const 24)
@@ -2424,26 +2384,26 @@
(block
(br_if $switch
(i32.ne
- (local.get $7)
+ (local.get $6)
(i32.const 37)
)
)
- (local.set $6
- (local.get $10)
+ (local.set $5
+ (local.get $9)
)
(br $__rjti$1)
)
)
- (local.set $6
- (local.get $10)
+ (local.set $5
+ (local.get $9)
)
(br $label$break$L9)
)
- (local.set $7
+ (local.set $6
(i32.load8_s
- (local.tee $10
+ (local.tee $9
(i32.add
- (local.get $10)
+ (local.get $9)
(i32.const 1)
)
)
@@ -2458,23 +2418,23 @@
(br_if $label$break$L12
(i32.ne
(i32.load8_s offset=1
- (local.get $6)
+ (local.get $5)
)
(i32.const 37)
)
)
- (local.set $10
+ (local.set $9
(i32.add
- (local.get $10)
+ (local.get $9)
(i32.const 1)
)
)
(br_if $while-in
(i32.eq
(i32.load8_s
- (local.tee $6
+ (local.tee $5
(i32.add
- (local.get $6)
+ (local.get $5)
(i32.const 2)
)
)
@@ -2484,10 +2444,10 @@
)
)
)
- (local.set $7
+ (local.set $6
(i32.sub
- (local.get $10)
- (local.get $5)
+ (local.get $9)
+ (local.get $4)
)
)
(if
@@ -2501,40 +2461,38 @@
(i32.const 32)
)
)
- (drop
- (call $___fwritex
- (local.get $5)
- (local.get $7)
- (local.get $0)
- )
+ (call $___fwritex
+ (local.get $4)
+ (local.get $6)
+ (local.get $0)
)
)
)
(if
(i32.ne
- (local.get $5)
- (local.get $10)
+ (local.get $4)
+ (local.get $9)
)
(block
- (local.set $5
- (local.get $6)
+ (local.set $4
+ (local.get $5)
)
- (local.set $10
- (local.get $7)
+ (local.set $9
+ (local.get $6)
)
(br $label$continue$L1)
)
)
- (local.set $8
+ (local.set $7
(if (result i32)
(i32.lt_u
- (local.tee $8
+ (local.tee $7
(i32.add
- (local.tee $11
+ (local.tee $10
(i32.load8_s
- (local.tee $10
+ (local.tee $9
(i32.add
- (local.get $6)
+ (local.get $5)
(i32.const 1)
)
)
@@ -2546,19 +2504,19 @@
(i32.const 10)
)
(block (result i32)
- (local.set $6
+ (local.set $5
(i32.load8_s
- (local.tee $10
+ (local.tee $9
(select
(i32.add
- (local.get $6)
+ (local.get $5)
(i32.const 3)
)
- (local.get $10)
- (local.tee $11
+ (local.get $9)
+ (local.tee $10
(i32.eq
(i32.load8_s offset=2
- (local.get $6)
+ (local.get $5)
)
(i32.const 36)
)
@@ -2567,38 +2525,38 @@
)
)
)
- (local.set $18
+ (local.set $17
(select
- (local.get $8)
+ (local.get $7)
(i32.const -1)
- (local.get $11)
+ (local.get $10)
)
)
(select
(i32.const 1)
- (local.get $1)
- (local.get $11)
+ (local.get $19)
+ (local.get $10)
)
)
(block (result i32)
- (local.set $6
- (local.get $11)
+ (local.set $5
+ (local.get $10)
)
- (local.set $18
+ (local.set $17
(i32.const -1)
)
- (local.get $1)
+ (local.get $19)
)
)
)
- (local.set $1
+ (local.set $19
(if (result i32)
(i32.eq
(i32.and
- (local.tee $11
+ (local.tee $10
(i32.shr_s
(i32.shl
- (local.get $6)
+ (local.get $5)
(i32.const 24)
)
(i32.const 24)
@@ -2609,13 +2567,13 @@
(i32.const 32)
)
(block $label$break$L25 (result i32)
- (local.set $1
- (local.get $6)
+ (local.set $19
+ (local.get $5)
)
- (local.set $6
- (local.get $11)
+ (local.set $5
+ (local.get $10)
)
- (local.set $11
+ (local.set $10
(i32.const 0)
)
(loop $while-in4 (result i32)
@@ -2625,7 +2583,7 @@
(i32.shl
(i32.const 1)
(i32.add
- (local.get $6)
+ (local.get $5)
(i32.const -32)
)
)
@@ -2633,23 +2591,23 @@
)
)
(block
- (local.set $6
- (local.get $1)
+ (local.set $5
+ (local.get $19)
)
(br $label$break$L25
- (local.get $11)
+ (local.get $10)
)
)
)
- (local.set $11
+ (local.set $10
(i32.or
- (local.get $11)
+ (local.get $10)
(i32.shl
(i32.const 1)
(i32.add
(i32.shr_s
(i32.shl
- (local.get $1)
+ (local.get $19)
(i32.const 24)
)
(i32.const 24)
@@ -2662,12 +2620,12 @@
(br_if $while-in4
(i32.eq
(i32.and
- (local.tee $6
- (local.tee $1
+ (local.tee $5
+ (local.tee $19
(i32.load8_s
- (local.tee $10
+ (local.tee $9
(i32.add
- (local.get $10)
+ (local.get $9)
(i32.const 1)
)
)
@@ -2679,36 +2637,36 @@
(i32.const 32)
)
)
- (local.set $6
- (local.get $1)
+ (local.set $5
+ (local.get $19)
)
- (local.get $11)
+ (local.get $10)
)
)
(i32.const 0)
)
)
- (local.set $1
+ (local.set $19
(if (result i32)
(i32.eq
(i32.and
- (local.get $6)
+ (local.get $5)
(i32.const 255)
)
(i32.const 42)
)
(block $do-once5 (result i32)
- (local.set $10
+ (local.set $9
(block $__rjto$0 (result i32)
(block $__rjti$0
(br_if $__rjti$0
(i32.ge_u
- (local.tee $11
+ (local.tee $10
(i32.add
(i32.load8_s
- (local.tee $6
+ (local.tee $5
(i32.add
- (local.get $10)
+ (local.get $9)
(i32.const 1)
)
)
@@ -2722,7 +2680,7 @@
(br_if $__rjti$0
(i32.ne
(i32.load8_s offset=2
- (local.get $10)
+ (local.get $9)
)
(i32.const 36)
)
@@ -2730,50 +2688,50 @@
(i32.store
(i32.add
(i32.shl
- (local.get $11)
+ (local.get $10)
(i32.const 2)
)
- (local.get $4)
+ (local.get $3)
)
(i32.const 10)
)
(drop
(i32.load offset=4
- (local.tee $6
+ (local.tee $5
(i32.add
(i32.shl
(i32.add
(i32.load8_s
- (local.get $6)
+ (local.get $5)
)
(i32.const -48)
)
(i32.const 3)
)
- (local.get $3)
+ (local.get $2)
)
)
)
)
- (local.set $8
+ (local.set $7
(i32.const 1)
)
- (local.set $15
+ (local.set $14
(i32.load
- (local.get $6)
+ (local.get $5)
)
)
(br $__rjto$0
(i32.add
- (local.get $10)
+ (local.get $9)
(i32.const 3)
)
)
)
(if
- (local.get $8)
+ (local.get $7)
(block
- (local.set $17
+ (local.set $16
(i32.const -1)
)
(br $label$break$L1)
@@ -2784,13 +2742,13 @@
(local.get $28)
)
(block
- (local.set $11
- (local.get $1)
- )
(local.set $10
- (local.get $6)
+ (local.get $19)
+ )
+ (local.set $9
+ (local.get $5)
)
- (local.set $15
+ (local.set $14
(i32.const 0)
)
(br $do-once5
@@ -2798,13 +2756,13 @@
)
)
)
- (local.set $15
+ (local.set $14
(i32.load
- (local.tee $10
+ (local.tee $9
(i32.and
(i32.add
(i32.load
- (local.get $2)
+ (local.get $1)
)
(i32.const 3)
)
@@ -2814,48 +2772,48 @@
)
)
(i32.store
- (local.get $2)
+ (local.get $1)
(i32.add
- (local.get $10)
+ (local.get $9)
(i32.const 4)
)
)
- (local.set $8
+ (local.set $7
(i32.const 0)
)
- (local.get $6)
+ (local.get $5)
)
)
- (local.set $11
+ (local.set $10
(if (result i32)
(i32.lt_s
- (local.get $15)
+ (local.get $14)
(i32.const 0)
)
(block (result i32)
- (local.set $15
+ (local.set $14
(i32.sub
(i32.const 0)
- (local.get $15)
+ (local.get $14)
)
)
(i32.or
- (local.get $1)
+ (local.get $19)
(i32.const 8192)
)
)
- (local.get $1)
+ (local.get $19)
)
)
- (local.get $8)
+ (local.get $7)
)
(if (result i32)
(i32.lt_u
- (local.tee $6
+ (local.tee $5
(i32.add
(i32.shr_s
(i32.shl
- (local.get $6)
+ (local.get $5)
(i32.const 24)
)
(i32.const 24)
@@ -2866,27 +2824,27 @@
(i32.const 10)
)
(block (result i32)
- (local.set $11
+ (local.set $10
(i32.const 0)
)
(loop $while-in8
- (local.set $6
+ (local.set $5
(i32.add
- (local.get $6)
+ (local.get $5)
(i32.mul
- (local.get $11)
+ (local.get $10)
(i32.const 10)
)
)
)
(if
(i32.lt_u
- (local.tee $9
+ (local.tee $8
(i32.add
(i32.load8_s
- (local.tee $10
+ (local.tee $9
(i32.add
- (local.get $10)
+ (local.get $9)
(i32.const 1)
)
)
@@ -2897,11 +2855,11 @@
(i32.const 10)
)
(block
- (local.set $11
- (local.get $6)
+ (local.set $10
+ (local.get $5)
)
- (local.set $6
- (local.get $9)
+ (local.set $5
+ (local.get $8)
)
(br $while-in8)
)
@@ -2909,54 +2867,54 @@
)
(if (result i32)
(i32.lt_s
- (local.get $6)
+ (local.get $5)
(i32.const 0)
)
(block
- (local.set $17
+ (local.set $16
(i32.const -1)
)
(br $label$break$L1)
)
(block (result i32)
- (local.set $11
- (local.get $1)
+ (local.set $10
+ (local.get $19)
)
- (local.set $15
- (local.get $6)
+ (local.set $14
+ (local.get $5)
)
- (local.get $8)
+ (local.get $7)
)
)
)
(block (result i32)
- (local.set $11
- (local.get $1)
+ (local.set $10
+ (local.get $19)
)
- (local.set $15
+ (local.set $14
(i32.const 0)
)
- (local.get $8)
+ (local.get $7)
)
)
)
)
- (local.set $6
+ (local.set $5
(if (result i32)
(i32.eq
(i32.load8_s
- (local.get $10)
+ (local.get $9)
)
(i32.const 46)
)
(block $label$break$L46 (result i32)
(if
(i32.ne
- (local.tee $8
+ (local.tee $7
(i32.load8_s
- (local.tee $6
+ (local.tee $5
(i32.add
- (local.get $10)
+ (local.get $9)
(i32.const 1)
)
)
@@ -2965,29 +2923,29 @@
(i32.const 42)
)
(block
- (local.set $6
+ (local.set $5
(if (result i32)
(i32.lt_u
- (local.tee $9
+ (local.tee $8
(i32.add
- (local.get $8)
+ (local.get $7)
(i32.const -48)
)
)
(i32.const 10)
)
(block (result i32)
- (local.set $10
- (local.get $6)
+ (local.set $9
+ (local.get $5)
)
- (local.set $8
+ (local.set $7
(i32.const 0)
)
- (local.get $9)
+ (local.get $8)
)
(block
- (local.set $10
- (local.get $6)
+ (local.set $9
+ (local.get $5)
)
(br $label$break$L46
(i32.const 0)
@@ -2998,22 +2956,22 @@
(loop $while-in11
(drop
(br_if $label$break$L46
- (local.tee $6
+ (local.tee $5
(i32.add
- (local.get $6)
+ (local.get $5)
(i32.mul
- (local.get $8)
+ (local.get $7)
(i32.const 10)
)
)
)
(i32.ge_u
- (local.tee $9
+ (local.tee $8
(i32.add
(i32.load8_s
- (local.tee $10
+ (local.tee $9
(i32.add
- (local.get $10)
+ (local.get $9)
(i32.const 1)
)
)
@@ -3025,11 +2983,11 @@
)
)
)
- (local.set $8
- (local.get $6)
+ (local.set $7
+ (local.get $5)
)
- (local.set $6
- (local.get $9)
+ (local.set $5
+ (local.get $8)
)
(br $while-in11)
)
@@ -3037,12 +2995,12 @@
)
(if
(i32.lt_u
- (local.tee $8
+ (local.tee $7
(i32.add
(i32.load8_s
- (local.tee $6
+ (local.tee $5
(i32.add
- (local.get $10)
+ (local.get $9)
(i32.const 2)
)
)
@@ -3055,7 +3013,7 @@
(if
(i32.eq
(i32.load8_s offset=3
- (local.get $10)
+ (local.get $9)
)
(i32.const 36)
)
@@ -3063,49 +3021,49 @@
(i32.store
(i32.add
(i32.shl
- (local.get $8)
+ (local.get $7)
(i32.const 2)
)
- (local.get $4)
+ (local.get $3)
)
(i32.const 10)
)
(drop
(i32.load offset=4
- (local.tee $6
+ (local.tee $5
(i32.add
(i32.shl
(i32.add
(i32.load8_s
- (local.get $6)
+ (local.get $5)
)
(i32.const -48)
)
(i32.const 3)
)
- (local.get $3)
+ (local.get $2)
)
)
)
)
- (local.set $10
+ (local.set $9
(i32.add
- (local.get $10)
+ (local.get $9)
(i32.const 4)
)
)
(br $label$break$L46
(i32.load
- (local.get $6)
+ (local.get $5)
)
)
)
)
)
(if
- (local.get $1)
+ (local.get $19)
(block
- (local.set $17
+ (local.set $16
(i32.const -1)
)
(br $label$break$L1)
@@ -3114,13 +3072,13 @@
(if (result i32)
(local.get $28)
(block (result i32)
- (local.set $8
+ (local.set $7
(i32.load
- (local.tee $10
+ (local.tee $9
(i32.and
(i32.add
(i32.load
- (local.get $2)
+ (local.get $1)
)
(i32.const 3)
)
@@ -3130,20 +3088,20 @@
)
)
(i32.store
- (local.get $2)
+ (local.get $1)
(i32.add
- (local.get $10)
+ (local.get $9)
(i32.const 4)
)
)
- (local.set $10
- (local.get $6)
+ (local.set $9
+ (local.get $5)
)
- (local.get $8)
+ (local.get $7)
)
(block (result i32)
- (local.set $10
- (local.get $6)
+ (local.set $9
+ (local.get $5)
)
(i32.const 0)
)
@@ -3152,20 +3110,20 @@
(i32.const -1)
)
)
- (local.set $8
- (local.get $10)
+ (local.set $7
+ (local.get $9)
)
- (local.set $9
+ (local.set $8
(i32.const 0)
)
- (local.set $19
+ (local.set $18
(loop $while-in13 (result i32)
(if
(i32.gt_u
- (local.tee $12
+ (local.tee $11
(i32.add
(i32.load8_s
- (local.get $8)
+ (local.get $7)
)
(i32.const -65)
)
@@ -3173,30 +3131,30 @@
(i32.const 57)
)
(block
- (local.set $17
+ (local.set $16
(i32.const -1)
)
(br $label$break$L1)
)
)
- (local.set $10
+ (local.set $9
(i32.add
- (local.get $8)
+ (local.get $7)
(i32.const 1)
)
)
(if (result i32)
(i32.lt_u
(i32.add
- (local.tee $12
+ (local.tee $11
(i32.and
- (local.tee $13
+ (local.tee $12
(i32.load8_s
(i32.add
- (local.get $12)
+ (local.get $11)
(i32.add
(i32.mul
- (local.get $9)
+ (local.get $8)
(i32.const 58)
)
(i32.const 3611)
@@ -3212,35 +3170,35 @@
(i32.const 8)
)
(block
- (local.set $8
- (local.get $10)
+ (local.set $7
+ (local.get $9)
)
- (local.set $9
- (local.get $12)
+ (local.set $8
+ (local.get $11)
)
(br $while-in13)
)
- (local.get $8)
+ (local.get $7)
)
)
)
(if
(i32.eqz
(i32.and
- (local.get $13)
+ (local.get $12)
(i32.const 255)
)
)
(block
- (local.set $17
+ (local.set $16
(i32.const -1)
)
(br $label$break$L1)
)
)
- (local.set $8
+ (local.set $7
(i32.gt_s
- (local.get $18)
+ (local.get $17)
(i32.const -1)
)
)
@@ -3249,15 +3207,15 @@
(if
(i32.eq
(i32.and
- (local.get $13)
+ (local.get $12)
(i32.const 255)
)
(i32.const 19)
)
(if
- (local.get $8)
+ (local.get $7)
(block
- (local.set $17
+ (local.set $16
(i32.const -1)
)
(br $label$break$L1)
@@ -3266,40 +3224,40 @@
)
(block
(if
- (local.get $8)
+ (local.get $7)
(block
(i32.store
(i32.add
(i32.shl
- (local.get $18)
+ (local.get $17)
(i32.const 2)
)
- (local.get $4)
+ (local.get $3)
)
- (local.get $12)
+ (local.get $11)
)
- (local.set $12
+ (local.set $11
(i32.load offset=4
- (local.tee $8
+ (local.tee $7
(i32.add
(i32.shl
- (local.get $18)
+ (local.get $17)
(i32.const 3)
)
- (local.get $3)
+ (local.get $2)
)
)
)
)
(i32.store
- (local.get $14)
+ (local.get $13)
(i32.load
- (local.get $8)
+ (local.get $7)
)
)
(i32.store offset=4
- (local.get $14)
- (local.get $12)
+ (local.get $13)
+ (local.get $11)
)
(br $__rjti$2)
)
@@ -3309,16 +3267,16 @@
(local.get $28)
)
(block
- (local.set $17
+ (local.set $16
(i32.const 0)
)
(br $label$break$L1)
)
)
(call $_pop_arg_336
- (local.get $14)
- (local.get $12)
- (local.get $2)
+ (local.get $13)
+ (local.get $11)
+ (local.get $1)
)
)
)
@@ -3329,27 +3287,27 @@
(local.get $28)
)
(block
- (local.set $5
- (local.get $10)
+ (local.set $4
+ (local.get $9)
)
- (local.set $10
- (local.get $7)
+ (local.set $9
+ (local.get $6)
)
(br $label$continue$L1)
)
)
)
- (local.set $11
+ (local.set $10
(select
- (local.tee $8
+ (local.tee $7
(i32.and
- (local.get $11)
+ (local.get $10)
(i32.const -65537)
)
)
- (local.get $11)
+ (local.get $10)
(i32.and
- (local.get $11)
+ (local.get $10)
(i32.const 8192)
)
)
@@ -3357,21 +3315,21 @@
(call $_pad
(local.get $0)
(i32.const 32)
- (local.tee $7
+ (local.tee $6
(select
- (local.tee $6
+ (local.tee $5
(i32.add
- (local.tee $12
+ (local.tee $11
(select
- (local.tee $13
+ (local.tee $12
(i32.sub
(block $__rjto$8 (result i32)
(block $__rjti$8
(call $_pad
(local.get $0)
(i32.const 32)
- (local.get $15)
- (local.tee $7
+ (local.get $14)
+ (local.tee $6
(block $__rjti$7 (result i32)
(block $__rjti$6
(block $__rjti$5
@@ -3392,27 +3350,27 @@
(block $switch-case27
(br_table $switch-case119 $switch-default120 $switch-case40 $switch-default120 $switch-case119 $switch-case119 $switch-case119 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case41 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case30 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case119 $switch-default120 $switch-case37 $switch-case35 $switch-case119 $switch-case119 $switch-case119 $switch-default120 $switch-case35 $switch-default120 $switch-default120 $switch-default120 $switch-case38 $switch-case27 $switch-case33 $switch-case28 $switch-default120 $switch-default120 $switch-case39 $switch-default120 $switch-case36 $switch-default120 $switch-default120 $switch-case30 $switch-default120
(i32.sub
- (local.tee $19
+ (local.tee $18
(select
(i32.and
- (local.tee $12
+ (local.tee $11
(i32.load8_s
- (local.get $19)
+ (local.get $18)
)
)
(i32.const -33)
)
- (local.get $12)
+ (local.get $11)
(i32.and
(i32.eq
(i32.and
- (local.get $12)
+ (local.get $11)
(i32.const 15)
)
(i32.const 3)
)
(i32.ne
- (local.get $9)
+ (local.get $8)
(i32.const 0)
)
)
@@ -3431,51 +3389,51 @@
(block $switch-case20
(block $switch-case19
(br_table $switch-case19 $switch-case20 $switch-case21 $switch-case22 $switch-case23 $switch-default26 $switch-case24 $switch-case25 $switch-default26
- (local.get $9)
+ (local.get $8)
)
)
(i32.store
(i32.load
- (local.get $14)
+ (local.get $13)
)
- (local.get $17)
+ (local.get $16)
)
- (local.set $5
- (local.get $10)
+ (local.set $4
+ (local.get $9)
)
- (local.set $10
- (local.get $7)
+ (local.set $9
+ (local.get $6)
)
(br $label$continue$L1)
)
(i32.store
(i32.load
- (local.get $14)
+ (local.get $13)
)
- (local.get $17)
+ (local.get $16)
)
- (local.set $5
- (local.get $10)
+ (local.set $4
+ (local.get $9)
)
- (local.set $10
- (local.get $7)
+ (local.set $9
+ (local.get $6)
)
(br $label$continue$L1)
)
(i32.store
- (local.tee $5
+ (local.tee $4
(i32.load
- (local.get $14)
+ (local.get $13)
)
)
- (local.get $17)
+ (local.get $16)
)
(i32.store offset=4
- (local.get $5)
+ (local.get $4)
(i32.shr_s
(i32.shl
(i32.lt_s
- (local.get $17)
+ (local.get $16)
(i32.const 0)
)
(i32.const 31)
@@ -3483,70 +3441,70 @@
(i32.const 31)
)
)
- (local.set $5
- (local.get $10)
+ (local.set $4
+ (local.get $9)
)
- (local.set $10
- (local.get $7)
+ (local.set $9
+ (local.get $6)
)
(br $label$continue$L1)
)
(i32.store16
(i32.load
- (local.get $14)
+ (local.get $13)
)
- (local.get $17)
+ (local.get $16)
)
- (local.set $5
- (local.get $10)
+ (local.set $4
+ (local.get $9)
)
- (local.set $10
- (local.get $7)
+ (local.set $9
+ (local.get $6)
)
(br $label$continue$L1)
)
(i32.store8
(i32.load
- (local.get $14)
+ (local.get $13)
)
- (local.get $17)
+ (local.get $16)
)
- (local.set $5
- (local.get $10)
+ (local.set $4
+ (local.get $9)
)
- (local.set $10
- (local.get $7)
+ (local.set $9
+ (local.get $6)
)
(br $label$continue$L1)
)
(i32.store
(i32.load
- (local.get $14)
+ (local.get $13)
)
- (local.get $17)
+ (local.get $16)
)
- (local.set $5
- (local.get $10)
+ (local.set $4
+ (local.get $9)
)
- (local.set $10
- (local.get $7)
+ (local.set $9
+ (local.get $6)
)
(br $label$continue$L1)
)
(i32.store
- (local.tee $5
+ (local.tee $4
(i32.load
- (local.get $14)
+ (local.get $13)
)
)
- (local.get $17)
+ (local.get $16)
)
(i32.store offset=4
- (local.get $5)
+ (local.get $4)
(i32.shr_s
(i32.shl
(i32.lt_s
- (local.get $17)
+ (local.get $16)
(i32.const 0)
)
(i32.const 31)
@@ -3554,76 +3512,76 @@
(i32.const 31)
)
)
- (local.set $5
- (local.get $10)
+ (local.set $4
+ (local.get $9)
)
- (local.set $10
- (local.get $7)
+ (local.set $9
+ (local.get $6)
)
(br $label$continue$L1)
)
- (local.set $5
- (local.get $10)
+ (local.set $4
+ (local.get $9)
)
- (local.set $10
- (local.get $7)
+ (local.set $9
+ (local.get $6)
)
(br $label$continue$L1)
)
- (local.set $5
+ (local.set $4
(i32.or
- (local.get $11)
+ (local.get $10)
(i32.const 8)
)
)
- (local.set $6
+ (local.set $5
(select
- (local.get $6)
+ (local.get $5)
(i32.const 8)
(i32.gt_u
- (local.get $6)
+ (local.get $5)
(i32.const 8)
)
)
)
- (local.set $19
+ (local.set $18
(i32.const 120)
)
(br $__rjti$3)
)
- (local.set $5
- (local.get $11)
+ (local.set $4
+ (local.get $10)
)
(br $__rjti$3)
)
(if
(i32.or
- (local.tee $5
+ (local.tee $4
(i32.load
- (local.get $14)
+ (local.get $13)
)
)
- (local.tee $7
+ (local.tee $6
(i32.load offset=4
- (local.get $14)
+ (local.get $13)
)
)
)
(block
- (local.set $8
+ (local.set $7
(local.get $25)
)
(loop $while-in32
(i32.store8
- (local.tee $8
+ (local.tee $7
(i32.add
- (local.get $8)
+ (local.get $7)
(i32.const -1)
)
)
(i32.or
(i32.and
- (local.get $5)
+ (local.get $4)
(i32.const 7)
)
(i32.const 48)
@@ -3631,129 +3589,129 @@
)
(br_if $while-in32
(i32.or
- (local.tee $5
+ (local.tee $4
(call $_bitshift64Lshr
- (local.get $5)
- (local.get $7)
+ (local.get $4)
+ (local.get $6)
(i32.const 3)
)
)
- (local.tee $7
+ (local.tee $6
(global.get $tempRet0)
)
)
)
)
)
- (local.set $8
+ (local.set $7
(local.get $25)
)
)
(if
(i32.and
- (local.get $11)
+ (local.get $10)
(i32.const 8)
)
(block
- (local.set $5
- (local.get $11)
+ (local.set $4
+ (local.get $10)
)
- (local.set $6
+ (local.set $5
(select
- (local.tee $11
+ (local.tee $10
(i32.add
(i32.sub
(local.get $38)
- (local.tee $7
- (local.get $8)
+ (local.tee $6
+ (local.get $7)
)
)
(i32.const 1)
)
)
- (local.get $6)
+ (local.get $5)
(i32.lt_s
- (local.get $6)
- (local.get $11)
+ (local.get $5)
+ (local.get $10)
)
)
)
)
(block
- (local.set $7
- (local.get $8)
+ (local.set $6
+ (local.get $7)
)
- (local.set $5
- (local.get $11)
+ (local.set $4
+ (local.get $10)
)
)
)
- (local.set $8
+ (local.set $7
(i32.const 0)
)
- (local.set $9
+ (local.set $8
(i32.const 4091)
)
(br $__rjti$8)
)
- (local.set $5
+ (local.set $4
(i32.load
- (local.get $14)
+ (local.get $13)
)
)
(if
(i32.lt_s
- (local.tee $7
+ (local.tee $6
(i32.load offset=4
- (local.get $14)
+ (local.get $13)
)
)
(i32.const 0)
)
(block
(i32.store
- (local.get $14)
- (local.tee $5
+ (local.get $13)
+ (local.tee $4
(call $_i64Subtract
(i32.const 0)
(i32.const 0)
- (local.get $5)
- (local.get $7)
+ (local.get $4)
+ (local.get $6)
)
)
)
(i32.store offset=4
- (local.get $14)
- (local.tee $7
+ (local.get $13)
+ (local.tee $6
(global.get $tempRet0)
)
)
- (local.set $8
+ (local.set $7
(i32.const 1)
)
- (local.set $9
+ (local.set $8
(i32.const 4091)
)
(br $__rjti$4)
)
)
- (local.set $9
+ (local.set $8
(if (result i32)
(i32.and
- (local.get $11)
+ (local.get $10)
(i32.const 2048)
)
(block (result i32)
- (local.set $8
+ (local.set $7
(i32.const 1)
)
(i32.const 4092)
)
(block (result i32)
- (local.set $8
- (local.tee $9
+ (local.set $7
+ (local.tee $8
(i32.and
- (local.get $11)
+ (local.get $10)
(i32.const 1)
)
)
@@ -3761,62 +3719,62 @@
(select
(i32.const 4093)
(i32.const 4091)
- (local.get $9)
+ (local.get $8)
)
)
)
)
(br $__rjti$4)
)
- (local.set $5
+ (local.set $4
(i32.load
- (local.get $14)
+ (local.get $13)
)
)
- (local.set $7
+ (local.set $6
(i32.load offset=4
- (local.get $14)
+ (local.get $13)
)
)
- (local.set $8
+ (local.set $7
(i32.const 0)
)
- (local.set $9
+ (local.set $8
(i32.const 4091)
)
(br $__rjti$4)
)
(drop
(i32.load offset=4
- (local.get $14)
+ (local.get $13)
)
)
(i32.store8
(local.get $39)
(i32.load
- (local.get $14)
+ (local.get $13)
)
)
- (local.set $5
+ (local.set $4
(local.get $39)
)
- (local.set $11
- (local.get $8)
+ (local.set $10
+ (local.get $7)
)
- (local.set $12
+ (local.set $11
(i32.const 1)
)
- (local.set $8
+ (local.set $7
(i32.const 0)
)
- (local.set $9
+ (local.set $8
(i32.const 4091)
)
(br $__rjto$8
(local.get $25)
)
)
- (local.set $7
+ (local.set $6
(call $_strerror
(i32.load
(call $___errno_location)
@@ -3825,28 +3783,28 @@
)
(br $__rjti$5)
)
- (local.set $7
+ (local.set $6
(select
- (local.tee $5
+ (local.tee $4
(i32.load
- (local.get $14)
+ (local.get $13)
)
)
(i32.const 4101)
- (local.get $5)
+ (local.get $4)
)
)
(br $__rjti$5)
)
(drop
(i32.load offset=4
- (local.get $14)
+ (local.get $13)
)
)
(i32.store
(local.get $40)
(i32.load
- (local.get $14)
+ (local.get $13)
)
)
(i32.store
@@ -3854,19 +3812,19 @@
(i32.const 0)
)
(i32.store
- (local.get $14)
+ (local.get $13)
(local.get $40)
)
- (local.set $8
+ (local.set $7
(i32.const -1)
)
(br $__rjti$6)
)
(if
- (local.get $6)
+ (local.get $5)
(block
- (local.set $8
- (local.get $6)
+ (local.set $7
+ (local.get $5)
)
(br $__rjti$6)
)
@@ -3874,9 +3832,9 @@
(call $_pad
(local.get $0)
(i32.const 32)
- (local.get $15)
+ (local.get $14)
(i32.const 0)
- (local.get $11)
+ (local.get $10)
)
(br $__rjti$7
(i32.const 0)
@@ -3884,9 +3842,9 @@
)
)
)
- (local.set $16
+ (local.set $15
(f64.load
- (local.get $14)
+ (local.get $13)
)
)
(i32.store
@@ -3895,7 +3853,7 @@
)
(f64.store
(global.get $tempDoublePtr)
- (local.get $16)
+ (local.get $15)
)
(drop
(i32.load
@@ -3914,16 +3872,16 @@
(local.set $26
(i32.const 1)
)
- (local.set $16
+ (local.set $15
(f64.neg
- (local.get $16)
+ (local.get $15)
)
)
(i32.const 4108)
)
(if (result i32)
(i32.and
- (local.get $11)
+ (local.get $10)
(i32.const 2048)
)
(block (result i32)
@@ -3934,9 +3892,9 @@
)
(block (result i32)
(local.set $26
- (local.tee $5
+ (local.tee $4
(i32.and
- (local.get $11)
+ (local.get $10)
(i32.const 1)
)
)
@@ -3944,7 +3902,7 @@
(select
(i32.const 4114)
(i32.const 4109)
- (local.get $5)
+ (local.get $4)
)
)
)
@@ -3952,14 +3910,14 @@
)
(f64.store
(global.get $tempDoublePtr)
- (local.get $16)
+ (local.get $15)
)
(drop
(i32.load
(global.get $tempDoublePtr)
)
)
- (local.set $7
+ (local.set $6
(if (result i32)
(i32.lt_u
(i32.and
@@ -3972,12 +3930,12 @@
)
(block $do-once49 (result i32)
(if
- (local.tee $5
+ (local.tee $4
(f64.ne
(local.tee $22
(f64.mul
(call $_frexp
- (local.get $16)
+ (local.get $15)
(local.get $20)
)
(f64.const 2)
@@ -4000,60 +3958,60 @@
(i32.eq
(local.tee $24
(i32.or
- (local.get $19)
+ (local.get $18)
(i32.const 32)
)
)
(i32.const 97)
)
(block
- (local.set $9
+ (local.set $8
(select
(i32.add
(local.get $30)
(i32.const 9)
)
(local.get $30)
- (local.tee $13
+ (local.tee $12
(i32.and
- (local.get $19)
+ (local.get $18)
(i32.const 32)
)
)
)
)
- (local.set $16
+ (local.set $15
(if (result f64)
(i32.or
(i32.eqz
- (local.tee $5
+ (local.tee $4
(i32.sub
(i32.const 12)
- (local.get $6)
+ (local.get $5)
)
)
)
(i32.gt_u
- (local.get $6)
+ (local.get $5)
(i32.const 11)
)
)
(local.get $22)
(block (result f64)
- (local.set $16
+ (local.set $15
(f64.const 8)
)
(loop $while-in54
- (local.set $16
+ (local.set $15
(f64.mul
- (local.get $16)
+ (local.get $15)
(f64.const 16)
)
)
(br_if $while-in54
- (local.tee $5
+ (local.tee $4
(i32.add
- (local.get $5)
+ (local.get $4)
(i32.const -1)
)
)
@@ -4062,33 +4020,33 @@
(if (result f64)
(i32.eq
(i32.load8_s
- (local.get $9)
+ (local.get $8)
)
(i32.const 45)
)
(f64.neg
(f64.add
- (local.get $16)
+ (local.get $15)
(f64.sub
(f64.neg
(local.get $22)
)
- (local.get $16)
+ (local.get $15)
)
)
)
(f64.sub
(f64.add
(local.get $22)
- (local.get $16)
+ (local.get $15)
)
- (local.get $16)
+ (local.get $15)
)
)
)
)
)
- (local.set $12
+ (local.set $11
(i32.or
(local.get $26)
(i32.const 2)
@@ -4096,21 +4054,21 @@
)
(if
(i32.eq
- (local.tee $5
+ (local.tee $4
(call $_fmt_u
- (local.tee $5
+ (local.tee $4
(select
(i32.sub
(i32.const 0)
- (local.tee $7
+ (local.tee $6
(i32.load
(local.get $20)
)
)
)
- (local.get $7)
+ (local.get $6)
(i32.lt_s
- (local.get $7)
+ (local.get $6)
(i32.const 0)
)
)
@@ -4118,7 +4076,7 @@
(i32.shr_s
(i32.shl
(i32.lt_s
- (local.get $5)
+ (local.get $4)
(i32.const 0)
)
(i32.const 31)
@@ -4135,20 +4093,20 @@
(local.get $41)
(i32.const 48)
)
- (local.set $5
+ (local.set $4
(local.get $41)
)
)
)
(i32.store8
(i32.add
- (local.get $5)
+ (local.get $4)
(i32.const -1)
)
(i32.add
(i32.and
(i32.shr_s
- (local.get $7)
+ (local.get $6)
(i32.const 31)
)
(i32.const 2)
@@ -4157,44 +4115,44 @@
)
)
(i32.store8
- (local.tee $8
+ (local.tee $7
(i32.add
- (local.get $5)
+ (local.get $4)
(i32.const -2)
)
)
(i32.add
- (local.get $19)
+ (local.get $18)
(i32.const 15)
)
)
- (local.set $19
+ (local.set $18
(i32.lt_s
- (local.get $6)
+ (local.get $5)
(i32.const 1)
)
)
- (local.set $18
+ (local.set $17
(i32.eqz
(i32.and
- (local.get $11)
+ (local.get $10)
(i32.const 8)
)
)
)
- (local.set $5
+ (local.set $4
(local.get $23)
)
(loop $while-in56
(i32.store8
- (local.get $5)
+ (local.get $4)
(i32.or
- (local.get $13)
+ (local.get $12)
(i32.load8_u
(i32.add
- (local.tee $7
+ (local.tee $6
(call $f64-to-int
- (local.get $16)
+ (local.get $15)
)
)
(i32.const 4075)
@@ -4202,24 +4160,24 @@
)
)
)
- (local.set $16
+ (local.set $15
(f64.mul
(f64.sub
- (local.get $16)
+ (local.get $15)
(f64.convert_i32_s
- (local.get $7)
+ (local.get $6)
)
)
(f64.const 16)
)
)
- (local.set $5
+ (local.set $4
(if (result i32)
(i32.eq
(i32.sub
- (local.tee $7
+ (local.tee $6
(i32.add
- (local.get $5)
+ (local.get $4)
(i32.const 1)
)
)
@@ -4231,31 +4189,31 @@
(i32.and
(i32.and
(f64.eq
- (local.get $16)
+ (local.get $15)
(f64.const 0)
)
- (local.get $19)
+ (local.get $18)
)
- (local.get $18)
+ (local.get $17)
)
- (local.get $7)
+ (local.get $6)
(block (result i32)
(i32.store8
- (local.get $7)
+ (local.get $6)
(i32.const 46)
)
(i32.add
- (local.get $5)
+ (local.get $4)
(i32.const 2)
)
)
)
- (local.get $7)
+ (local.get $6)
)
)
(br_if $while-in56
(f64.ne
- (local.get $16)
+ (local.get $15)
(f64.const 0)
)
)
@@ -4263,44 +4221,44 @@
(call $_pad
(local.get $0)
(i32.const 32)
- (local.get $15)
- (local.tee $7
+ (local.get $14)
+ (local.tee $6
(i32.add
- (local.get $12)
- (local.tee $6
+ (local.get $11)
+ (local.tee $5
(select
(i32.sub
(i32.add
- (local.get $6)
+ (local.get $5)
(local.get $46)
)
- (local.get $8)
+ (local.get $7)
)
(i32.add
- (local.get $5)
+ (local.get $4)
(i32.sub
(local.get $44)
- (local.get $8)
+ (local.get $7)
)
)
(i32.and
(i32.ne
- (local.get $6)
+ (local.get $5)
(i32.const 0)
)
(i32.lt_s
(i32.add
- (local.get $5)
+ (local.get $4)
(local.get $45)
)
- (local.get $6)
+ (local.get $5)
)
)
)
)
)
)
- (local.get $11)
+ (local.get $10)
)
(if
(i32.eqz
@@ -4311,27 +4269,25 @@
(i32.const 32)
)
)
- (drop
- (call $___fwritex
- (local.get $9)
- (local.get $12)
- (local.get $0)
- )
+ (call $___fwritex
+ (local.get $8)
+ (local.get $11)
+ (local.get $0)
)
)
(call $_pad
(local.get $0)
(i32.const 48)
- (local.get $15)
- (local.get $7)
+ (local.get $14)
+ (local.get $6)
(i32.xor
- (local.get $11)
+ (local.get $10)
(i32.const 65536)
)
)
- (local.set $5
+ (local.set $4
(i32.sub
- (local.get $5)
+ (local.get $4)
(local.get $36)
)
)
@@ -4344,25 +4300,23 @@
(i32.const 32)
)
)
- (drop
- (call $___fwritex
- (local.get $23)
- (local.get $5)
- (local.get $0)
- )
+ (call $___fwritex
+ (local.get $23)
+ (local.get $4)
+ (local.get $0)
)
)
(call $_pad
(local.get $0)
(i32.const 48)
(i32.sub
- (local.get $6)
+ (local.get $5)
(i32.add
- (local.get $5)
- (local.tee $5
+ (local.get $4)
+ (local.tee $4
(i32.sub
(local.get $27)
- (local.get $8)
+ (local.get $7)
)
)
)
@@ -4379,43 +4333,41 @@
(i32.const 32)
)
)
- (drop
- (call $___fwritex
- (local.get $8)
- (local.get $5)
- (local.get $0)
- )
+ (call $___fwritex
+ (local.get $7)
+ (local.get $4)
+ (local.get $0)
)
)
(call $_pad
(local.get $0)
(i32.const 32)
- (local.get $15)
- (local.get $7)
+ (local.get $14)
+ (local.get $6)
(i32.xor
- (local.get $11)
+ (local.get $10)
(i32.const 8192)
)
)
(br $do-once49
(select
- (local.get $15)
- (local.get $7)
+ (local.get $14)
+ (local.get $6)
(i32.lt_s
- (local.get $7)
- (local.get $15)
+ (local.get $6)
+ (local.get $14)
)
)
)
)
)
- (local.set $16
+ (local.set $15
(if (result f64)
- (local.get $5)
+ (local.get $4)
(block (result f64)
(i32.store
(local.get $20)
- (local.tee $5
+ (local.tee $4
(i32.add
(i32.load
(local.get $20)
@@ -4430,7 +4382,7 @@
)
)
(block (result f64)
- (local.set $5
+ (local.set $4
(i32.load
(local.get $20)
)
@@ -4439,13 +4391,13 @@
)
)
)
- (local.set $7
- (local.tee $8
+ (local.set $6
+ (local.tee $7
(select
(local.get $47)
(local.get $48)
(i32.lt_s
- (local.get $5)
+ (local.get $4)
(i32.const 0)
)
)
@@ -4453,27 +4405,27 @@
)
(loop $while-in60
(i32.store
- (local.get $7)
- (local.tee $5
+ (local.get $6)
+ (local.tee $4
(call $f64-to-uint
- (local.get $16)
+ (local.get $15)
)
)
)
- (local.set $7
+ (local.set $6
(i32.add
- (local.get $7)
+ (local.get $6)
(i32.const 4)
)
)
(br_if $while-in60
(f64.ne
- (local.tee $16
+ (local.tee $15
(f64.mul
(f64.sub
- (local.get $16)
+ (local.get $15)
(f64.convert_i32_u
- (local.get $5)
+ (local.get $4)
)
)
(f64.const 1e9)
@@ -4485,7 +4437,7 @@
)
(if
(i32.gt_s
- (local.tee $9
+ (local.tee $8
(i32.load
(local.get $20)
)
@@ -4493,113 +4445,113 @@
(i32.const 0)
)
(block
- (local.set $5
- (local.get $8)
+ (local.set $4
+ (local.get $7)
)
(loop $while-in62
- (local.set $13
+ (local.set $12
(select
(i32.const 29)
- (local.get $9)
+ (local.get $8)
(i32.gt_s
- (local.get $9)
+ (local.get $8)
(i32.const 29)
)
)
)
(if
(i32.ge_u
- (local.tee $9
+ (local.tee $8
(i32.add
- (local.get $7)
+ (local.get $6)
(i32.const -4)
)
)
- (local.get $5)
+ (local.get $4)
)
(block $do-once63
- (local.set $12
+ (local.set $11
(i32.const 0)
)
(loop $while-in66
(i32.store
- (local.get $9)
+ (local.get $8)
(call $___uremdi3
- (local.tee $12
+ (local.tee $11
(call $_i64Add
(call $_bitshift64Shl
(i32.load
- (local.get $9)
+ (local.get $8)
)
(i32.const 0)
- (local.get $13)
+ (local.get $12)
)
(global.get $tempRet0)
- (local.get $12)
+ (local.get $11)
(i32.const 0)
)
)
- (local.tee $18
+ (local.tee $17
(global.get $tempRet0)
)
(i32.const 1000000000)
)
)
- (local.set $12
+ (local.set $11
(call $___udivdi3
- (local.get $12)
- (local.get $18)
+ (local.get $11)
+ (local.get $17)
(i32.const 1000000000)
)
)
(br_if $while-in66
(i32.ge_u
- (local.tee $9
+ (local.tee $8
(i32.add
- (local.get $9)
+ (local.get $8)
(i32.const -4)
)
)
- (local.get $5)
+ (local.get $4)
)
)
)
(br_if $do-once63
(i32.eqz
- (local.get $12)
+ (local.get $11)
)
)
(i32.store
- (local.tee $5
+ (local.tee $4
(i32.add
- (local.get $5)
+ (local.get $4)
(i32.const -4)
)
)
- (local.get $12)
+ (local.get $11)
)
)
)
(loop $while-in68
(if
(i32.gt_u
- (local.get $7)
- (local.get $5)
+ (local.get $6)
+ (local.get $4)
)
(if
(i32.eqz
(i32.load
- (local.tee $9
+ (local.tee $8
(i32.add
- (local.get $7)
+ (local.get $6)
(i32.const -4)
)
)
)
)
(block
- (local.set $7
- (local.get $9)
+ (local.set $6
+ (local.get $8)
)
(br $while-in68)
)
@@ -4608,40 +4560,40 @@
)
(i32.store
(local.get $20)
- (local.tee $9
+ (local.tee $8
(i32.sub
(i32.load
(local.get $20)
)
- (local.get $13)
+ (local.get $12)
)
)
)
(br_if $while-in62
(i32.gt_s
- (local.get $9)
+ (local.get $8)
(i32.const 0)
)
)
)
)
- (local.set $5
- (local.get $8)
+ (local.set $4
+ (local.get $7)
)
)
- (local.set $18
+ (local.set $17
(select
(i32.const 6)
- (local.get $6)
+ (local.get $5)
(i32.lt_s
- (local.get $6)
+ (local.get $5)
(i32.const 0)
)
)
)
(if
(i32.lt_s
- (local.get $9)
+ (local.get $8)
(i32.const 0)
)
(block
@@ -4649,7 +4601,7 @@
(i32.add
(call $i32s-div
(i32.add
- (local.get $18)
+ (local.get $17)
(i32.const 25)
)
(i32.const 9)
@@ -4663,40 +4615,40 @@
(i32.const 102)
)
)
- (local.set $6
- (local.get $5)
- )
(local.set $5
- (local.get $7)
+ (local.get $4)
)
- (local.set $5
+ (local.set $4
+ (local.get $6)
+ )
+ (local.set $4
(loop $while-in70 (result i32)
- (local.set $13
+ (local.set $12
(select
(i32.const 9)
- (local.tee $7
+ (local.tee $6
(i32.sub
(i32.const 0)
- (local.get $9)
+ (local.get $8)
)
)
(i32.gt_s
- (local.get $7)
+ (local.get $6)
(i32.const 9)
)
)
)
(if
(i32.lt_u
- (local.get $6)
(local.get $5)
+ (local.get $4)
)
(block $do-once71
- (local.set $12
+ (local.set $11
(i32.add
(i32.shl
(i32.const 1)
- (local.get $13)
+ (local.get $12)
)
(i32.const -1)
)
@@ -4704,99 +4656,99 @@
(local.set $37
(i32.shr_u
(i32.const 1000000000)
- (local.get $13)
+ (local.get $12)
)
)
- (local.set $9
+ (local.set $8
(i32.const 0)
)
- (local.set $7
- (local.get $6)
+ (local.set $6
+ (local.get $5)
)
(loop $while-in74
(i32.store
- (local.get $7)
+ (local.get $6)
(i32.add
- (local.get $9)
+ (local.get $8)
(i32.shr_u
- (local.tee $9
+ (local.tee $8
(i32.load
- (local.get $7)
+ (local.get $6)
)
)
- (local.get $13)
+ (local.get $12)
)
)
)
- (local.set $9
+ (local.set $8
(i32.mul
(i32.and
- (local.get $9)
- (local.get $12)
+ (local.get $8)
+ (local.get $11)
)
(local.get $37)
)
)
(br_if $while-in74
(i32.lt_u
- (local.tee $7
+ (local.tee $6
(i32.add
- (local.get $7)
+ (local.get $6)
(i32.const 4)
)
)
- (local.get $5)
+ (local.get $4)
)
)
)
- (local.set $7
+ (local.set $6
(select
- (local.get $6)
+ (local.get $5)
(i32.add
- (local.get $6)
+ (local.get $5)
(i32.const 4)
)
(i32.load
- (local.get $6)
+ (local.get $5)
)
)
)
(br_if $do-once71
(i32.eqz
- (local.get $9)
+ (local.get $8)
)
)
(i32.store
- (local.get $5)
- (local.get $9)
+ (local.get $4)
+ (local.get $8)
)
- (local.set $5
+ (local.set $4
(i32.add
- (local.get $5)
+ (local.get $4)
(i32.const 4)
)
)
)
- (local.set $7
+ (local.set $6
(select
- (local.get $6)
+ (local.get $5)
(i32.add
- (local.get $6)
+ (local.get $5)
(i32.const 4)
)
(i32.load
- (local.get $6)
+ (local.get $5)
)
)
)
)
- (local.set $12
+ (local.set $11
(select
(i32.add
- (local.tee $6
+ (local.tee $5
(select
- (local.get $8)
(local.get $7)
+ (local.get $6)
(local.get $31)
)
)
@@ -4805,12 +4757,12 @@
(i32.const 2)
)
)
- (local.get $5)
+ (local.get $4)
(i32.gt_s
(i32.shr_s
(i32.sub
+ (local.get $4)
(local.get $5)
- (local.get $6)
)
(i32.const 2)
)
@@ -4820,58 +4772,58 @@
)
(i32.store
(local.get $20)
- (local.tee $9
+ (local.tee $8
(i32.add
(i32.load
(local.get $20)
)
- (local.get $13)
+ (local.get $12)
)
)
)
(if (result i32)
(i32.lt_s
- (local.get $9)
+ (local.get $8)
(i32.const 0)
)
(block
- (local.set $6
- (local.get $7)
- )
(local.set $5
- (local.get $12)
+ (local.get $6)
+ )
+ (local.set $4
+ (local.get $11)
)
(br $while-in70)
)
(block (result i32)
- (local.set $9
- (local.get $12)
+ (local.set $8
+ (local.get $11)
)
- (local.get $7)
+ (local.get $6)
)
)
)
)
)
- (local.set $9
- (local.get $7)
+ (local.set $8
+ (local.get $6)
)
)
(local.set $21
- (local.get $8)
+ (local.get $7)
)
(if
(i32.lt_u
- (local.get $5)
- (local.get $9)
+ (local.get $4)
+ (local.get $8)
)
(block $do-once75
- (local.set $7
+ (local.set $6
(i32.mul
(i32.shr_s
(i32.sub
(local.get $21)
- (local.get $5)
+ (local.get $4)
)
(i32.const 2)
)
@@ -4880,30 +4832,30 @@
)
(br_if $do-once75
(i32.lt_u
- (local.tee $12
+ (local.tee $11
(i32.load
- (local.get $5)
+ (local.get $4)
)
)
(i32.const 10)
)
)
- (local.set $6
+ (local.set $5
(i32.const 10)
)
(loop $while-in78
- (local.set $7
+ (local.set $6
(i32.add
- (local.get $7)
+ (local.get $6)
(i32.const 1)
)
)
(br_if $while-in78
(i32.ge_u
- (local.get $12)
- (local.tee $6
+ (local.get $11)
+ (local.tee $5
(i32.mul
- (local.get $6)
+ (local.get $5)
(i32.const 10)
)
)
@@ -4911,19 +4863,19 @@
)
)
)
- (local.set $7
+ (local.set $6
(i32.const 0)
)
)
- (local.set $5
+ (local.set $4
(if (result i32)
(i32.lt_s
- (local.tee $6
+ (local.tee $5
(i32.add
(i32.sub
- (local.get $18)
+ (local.get $17)
(select
- (local.get $7)
+ (local.get $6)
(i32.const 0)
(i32.ne
(local.get $24)
@@ -4942,7 +4894,7 @@
)
(local.tee $37
(i32.ne
- (local.get $18)
+ (local.get $17)
(i32.const 0)
)
)
@@ -4957,7 +4909,7 @@
(i32.mul
(i32.shr_s
(i32.sub
- (local.get $9)
+ (local.get $8)
(local.get $21)
)
(i32.const 2)
@@ -4968,11 +4920,11 @@
)
)
(block (result i32)
- (local.set $13
+ (local.set $12
(call $i32s-div
- (local.tee $6
+ (local.tee $5
(i32.add
- (local.get $6)
+ (local.get $5)
(i32.const 9216)
)
)
@@ -4981,10 +4933,10 @@
)
(if
(i32.lt_s
- (local.tee $6
+ (local.tee $5
(i32.add
(i32.rem_s
- (local.get $6)
+ (local.get $5)
(i32.const 9)
)
(i32.const 1)
@@ -4993,21 +4945,21 @@
(i32.const 9)
)
(block
- (local.set $12
+ (local.set $11
(i32.const 10)
)
(loop $while-in80
- (local.set $12
+ (local.set $11
(i32.mul
- (local.get $12)
+ (local.get $11)
(i32.const 10)
)
)
(br_if $while-in80
(i32.ne
- (local.tee $6
+ (local.tee $5
(i32.add
- (local.get $6)
+ (local.get $5)
(i32.const 1)
)
)
@@ -5016,29 +4968,29 @@
)
)
)
- (local.set $12
+ (local.set $11
(i32.const 10)
)
)
- (local.set $13
+ (local.set $12
(call $i32u-rem
(local.tee $24
(i32.load
- (local.tee $6
+ (local.tee $5
(i32.add
(i32.add
(i32.shl
- (local.get $13)
+ (local.get $12)
(i32.const 2)
)
- (local.get $8)
+ (local.get $7)
)
(i32.const -4092)
)
)
)
)
- (local.get $12)
+ (local.get $11)
)
)
(if
@@ -5047,14 +4999,14 @@
(local.tee $49
(i32.eq
(i32.add
- (local.get $6)
+ (local.get $5)
(i32.const 4)
)
- (local.get $9)
+ (local.get $8)
)
)
(i32.eqz
- (local.get $13)
+ (local.get $12)
)
)
)
@@ -5062,16 +5014,16 @@
(local.set $50
(call $i32u-div
(local.get $24)
- (local.get $12)
+ (local.get $11)
)
)
- (local.set $16
+ (local.set $15
(if (result f64)
(i32.lt_u
- (local.get $13)
+ (local.get $12)
(local.tee $51
(call $i32s-div
- (local.get $12)
+ (local.get $11)
(i32.const 2)
)
)
@@ -5083,7 +5035,7 @@
(i32.and
(local.get $49)
(i32.eq
- (local.get $13)
+ (local.get $12)
(local.get $51)
)
)
@@ -5110,9 +5062,9 @@
(i32.const 45)
)
(block
- (local.set $16
+ (local.set $15
(f64.neg
- (local.get $16)
+ (local.get $15)
)
)
(local.set $22
@@ -5124,11 +5076,11 @@
)
)
(i32.store
- (local.get $6)
- (local.tee $13
+ (local.get $5)
+ (local.tee $12
(i32.sub
(local.get $24)
- (local.get $13)
+ (local.get $12)
)
)
)
@@ -5136,44 +5088,44 @@
(f64.eq
(f64.add
(local.get $22)
- (local.get $16)
+ (local.get $15)
)
(local.get $22)
)
)
(i32.store
- (local.get $6)
- (local.tee $7
+ (local.get $5)
+ (local.tee $6
(i32.add
+ (local.get $11)
(local.get $12)
- (local.get $13)
)
)
)
(if
(i32.gt_u
- (local.get $7)
+ (local.get $6)
(i32.const 999999999)
)
(loop $while-in86
(i32.store
- (local.get $6)
+ (local.get $5)
(i32.const 0)
)
(if
(i32.lt_u
- (local.tee $6
+ (local.tee $5
(i32.add
- (local.get $6)
+ (local.get $5)
(i32.const -4)
)
)
- (local.get $5)
+ (local.get $4)
)
(i32.store
- (local.tee $5
+ (local.tee $4
(i32.add
- (local.get $5)
+ (local.get $4)
(i32.const -4)
)
)
@@ -5181,11 +5133,11 @@
)
)
(i32.store
- (local.get $6)
- (local.tee $7
+ (local.get $5)
+ (local.tee $6
(i32.add
(i32.load
- (local.get $6)
+ (local.get $5)
)
(i32.const 1)
)
@@ -5193,18 +5145,18 @@
)
(br_if $while-in86
(i32.gt_u
- (local.get $7)
+ (local.get $6)
(i32.const 999999999)
)
)
)
)
- (local.set $7
+ (local.set $6
(i32.mul
(i32.shr_s
(i32.sub
(local.get $21)
- (local.get $5)
+ (local.get $4)
)
(i32.const 2)
)
@@ -5213,30 +5165,30 @@
)
(br_if $do-once81
(i32.lt_u
- (local.tee $13
+ (local.tee $12
(i32.load
- (local.get $5)
+ (local.get $4)
)
)
(i32.const 10)
)
)
- (local.set $12
+ (local.set $11
(i32.const 10)
)
(loop $while-in88
- (local.set $7
+ (local.set $6
(i32.add
- (local.get $7)
+ (local.get $6)
(i32.const 1)
)
)
(br_if $while-in88
(i32.ge_u
- (local.get $13)
- (local.tee $12
+ (local.get $12)
+ (local.tee $11
(i32.mul
- (local.get $12)
+ (local.get $11)
(i32.const 10)
)
)
@@ -5245,59 +5197,59 @@
)
)
)
- (local.set $12
- (local.get $5)
+ (local.set $11
+ (local.get $4)
)
- (local.set $13
- (local.get $7)
+ (local.set $12
+ (local.get $6)
)
(select
- (local.tee $5
+ (local.tee $4
(i32.add
- (local.get $6)
+ (local.get $5)
(i32.const 4)
)
)
- (local.get $9)
+ (local.get $8)
(i32.gt_u
- (local.get $9)
- (local.get $5)
+ (local.get $8)
+ (local.get $4)
)
)
)
(block (result i32)
- (local.set $12
- (local.get $5)
+ (local.set $11
+ (local.get $4)
)
- (local.set $13
- (local.get $7)
+ (local.set $12
+ (local.get $6)
)
- (local.get $9)
+ (local.get $8)
)
)
)
- (local.set $9
+ (local.set $8
(loop $while-in90 (result i32)
(block $while-out89 (result i32)
(if
(i32.le_u
- (local.get $5)
- (local.get $12)
+ (local.get $4)
+ (local.get $11)
)
(block
(local.set $24
(i32.const 0)
)
(br $while-out89
- (local.get $5)
+ (local.get $4)
)
)
)
(if (result i32)
(i32.load
- (local.tee $7
+ (local.tee $6
(i32.add
- (local.get $5)
+ (local.get $4)
(i32.const -4)
)
)
@@ -5306,11 +5258,11 @@
(local.set $24
(i32.const 1)
)
- (local.get $5)
+ (local.get $4)
)
(block
- (local.set $5
- (local.get $7)
+ (local.set $4
+ (local.get $6)
)
(br $while-in90)
)
@@ -5318,72 +5270,72 @@
)
)
)
- (local.set $5
+ (local.set $4
(if (result i32)
(local.get $31)
(block $do-once91 (result i32)
- (local.set $7
+ (local.set $6
(if (result i32)
(i32.and
(i32.gt_s
- (local.tee $5
+ (local.tee $4
(i32.add
- (local.get $18)
+ (local.get $17)
(i32.xor
(local.get $37)
(i32.const 1)
)
)
)
- (local.get $13)
+ (local.get $12)
)
(i32.gt_s
- (local.get $13)
+ (local.get $12)
(i32.const -5)
)
)
(block (result i32)
- (local.set $18
+ (local.set $17
(i32.sub
(i32.add
- (local.get $5)
+ (local.get $4)
(i32.const -1)
)
- (local.get $13)
+ (local.get $12)
)
)
(i32.add
- (local.get $19)
+ (local.get $18)
(i32.const -1)
)
)
(block (result i32)
- (local.set $18
+ (local.set $17
(i32.add
- (local.get $5)
+ (local.get $4)
(i32.const -1)
)
)
(i32.add
- (local.get $19)
+ (local.get $18)
(i32.const -2)
)
)
)
)
(if
- (local.tee $5
+ (local.tee $4
(i32.and
- (local.get $11)
+ (local.get $10)
(i32.const 8)
)
)
(block
(local.set $21
- (local.get $5)
+ (local.get $4)
)
(br $do-once91
- (local.get $18)
+ (local.get $17)
)
)
)
@@ -5392,36 +5344,36 @@
(block $do-once93
(if
(i32.eqz
- (local.tee $19
+ (local.tee $18
(i32.load
(i32.add
- (local.get $9)
+ (local.get $8)
(i32.const -4)
)
)
)
)
(block
- (local.set $5
+ (local.set $4
(i32.const 9)
)
(br $do-once93)
)
)
- (local.set $5
+ (local.set $4
(if (result i32)
(call $i32u-rem
- (local.get $19)
+ (local.get $18)
(i32.const 10)
)
(block
- (local.set $5
+ (local.set $4
(i32.const 0)
)
(br $do-once93)
)
(block (result i32)
- (local.set $6
+ (local.set $5
(i32.const 10)
)
(i32.const 0)
@@ -5429,19 +5381,19 @@
)
)
(loop $while-in96
- (local.set $5
+ (local.set $4
(i32.add
- (local.get $5)
+ (local.get $4)
(i32.const 1)
)
)
(br_if $while-in96
(i32.eqz
(call $i32u-rem
- (local.get $19)
- (local.tee $6
+ (local.get $18)
+ (local.tee $5
(i32.mul
- (local.get $6)
+ (local.get $5)
(i32.const 10)
)
)
@@ -5450,16 +5402,16 @@
)
)
)
- (local.set $5
+ (local.set $4
(i32.const 9)
)
)
- (local.set $6
+ (local.set $5
(i32.add
(i32.mul
(i32.shr_s
(i32.sub
- (local.get $9)
+ (local.get $8)
(local.get $21)
)
(i32.const 2)
@@ -5472,7 +5424,7 @@
(if (result i32)
(i32.eq
(i32.or
- (local.get $7)
+ (local.get $6)
(i32.const 32)
)
(i32.const 102)
@@ -5482,25 +5434,25 @@
(i32.const 0)
)
(select
- (local.get $18)
- (local.tee $5
+ (local.get $17)
+ (local.tee $4
(select
(i32.const 0)
- (local.tee $5
+ (local.tee $4
(i32.sub
- (local.get $6)
(local.get $5)
+ (local.get $4)
)
)
(i32.lt_s
- (local.get $5)
+ (local.get $4)
(i32.const 0)
)
)
)
(i32.lt_s
- (local.get $18)
- (local.get $5)
+ (local.get $17)
+ (local.get $4)
)
)
)
@@ -5509,28 +5461,28 @@
(i32.const 0)
)
(select
- (local.get $18)
- (local.tee $5
+ (local.get $17)
+ (local.tee $4
(select
(i32.const 0)
- (local.tee $5
+ (local.tee $4
(i32.sub
(i32.add
- (local.get $6)
- (local.get $13)
+ (local.get $5)
+ (local.get $12)
)
- (local.get $5)
+ (local.get $4)
)
)
(i32.lt_s
- (local.get $5)
+ (local.get $4)
(i32.const 0)
)
)
)
(i32.lt_s
- (local.get $18)
- (local.get $5)
+ (local.get $17)
+ (local.get $4)
)
)
)
@@ -5539,48 +5491,48 @@
(block (result i32)
(local.set $21
(i32.and
- (local.get $11)
+ (local.get $10)
(i32.const 8)
)
)
- (local.set $7
- (local.get $19)
+ (local.set $6
+ (local.get $18)
)
- (local.get $18)
+ (local.get $17)
)
)
)
- (local.set $6
+ (local.set $5
(i32.sub
(i32.const 0)
- (local.get $13)
+ (local.get $12)
)
)
(call $_pad
(local.get $0)
(i32.const 32)
- (local.get $15)
- (local.tee $13
+ (local.get $14)
+ (local.tee $12
(i32.add
(if (result i32)
- (local.tee $18
+ (local.tee $17
(i32.eq
(i32.or
- (local.get $7)
+ (local.get $6)
(i32.const 32)
)
(i32.const 102)
)
)
(block (result i32)
- (local.set $19
+ (local.set $18
(i32.const 0)
)
(select
- (local.get $13)
+ (local.get $12)
(i32.const 0)
(i32.gt_s
- (local.get $13)
+ (local.get $12)
(i32.const 0)
)
)
@@ -5590,14 +5542,14 @@
(i32.lt_s
(i32.sub
(local.get $27)
- (local.tee $6
+ (local.tee $5
(call $_fmt_u
- (local.tee $6
+ (local.tee $5
(select
- (local.get $6)
- (local.get $13)
+ (local.get $5)
+ (local.get $12)
(i32.lt_s
- (local.get $13)
+ (local.get $12)
(i32.const 0)
)
)
@@ -5605,7 +5557,7 @@
(i32.shr_s
(i32.shl
(i32.lt_s
- (local.get $6)
+ (local.get $5)
(i32.const 0)
)
(i32.const 31)
@@ -5620,9 +5572,9 @@
)
(loop $while-in98
(i32.store8
- (local.tee $6
+ (local.tee $5
(i32.add
- (local.get $6)
+ (local.get $5)
(i32.const -1)
)
)
@@ -5632,7 +5584,7 @@
(i32.lt_s
(i32.sub
(local.get $27)
- (local.get $6)
+ (local.get $5)
)
(i32.const 2)
)
@@ -5641,13 +5593,13 @@
)
(i32.store8
(i32.add
- (local.get $6)
+ (local.get $5)
(i32.const -1)
)
(i32.add
(i32.and
(i32.shr_s
- (local.get $13)
+ (local.get $12)
(i32.const 31)
)
(i32.const 2)
@@ -5656,17 +5608,17 @@
)
)
(i32.store8
- (local.tee $19
+ (local.tee $18
(i32.add
- (local.get $6)
+ (local.get $5)
(i32.const -2)
)
)
- (local.get $7)
+ (local.get $6)
)
(i32.sub
(local.get $27)
- (local.get $19)
+ (local.get $18)
)
)
)
@@ -5676,12 +5628,12 @@
(local.get $26)
(i32.const 1)
)
- (local.get $5)
+ (local.get $4)
)
(i32.ne
(local.tee $31
(i32.or
- (local.get $5)
+ (local.get $4)
(local.get $21)
)
)
@@ -5690,7 +5642,7 @@
)
)
)
- (local.get $11)
+ (local.get $10)
)
(if
(i32.eqz
@@ -5701,44 +5653,42 @@
(i32.const 32)
)
)
- (drop
- (call $___fwritex
- (local.get $30)
- (local.get $26)
- (local.get $0)
- )
+ (call $___fwritex
+ (local.get $30)
+ (local.get $26)
+ (local.get $0)
)
)
(call $_pad
(local.get $0)
(i32.const 48)
- (local.get $15)
- (local.get $13)
+ (local.get $14)
+ (local.get $12)
(i32.xor
- (local.get $11)
+ (local.get $10)
(i32.const 65536)
)
)
(if
- (local.get $18)
+ (local.get $17)
(block
- (local.set $6
- (local.tee $12
+ (local.set $5
+ (local.tee $11
(select
- (local.get $8)
- (local.get $12)
+ (local.get $7)
+ (local.get $11)
(i32.gt_u
- (local.get $12)
- (local.get $8)
+ (local.get $11)
+ (local.get $7)
)
)
)
)
(loop $while-in102
- (local.set $7
+ (local.set $6
(call $_fmt_u
(i32.load
- (local.get $6)
+ (local.get $5)
)
(i32.const 0)
(local.get $29)
@@ -5747,13 +5697,13 @@
(block $do-once103
(if
(i32.eq
- (local.get $6)
- (local.get $12)
+ (local.get $5)
+ (local.get $11)
)
(block
(br_if $do-once103
(i32.ne
- (local.get $7)
+ (local.get $6)
(local.get $29)
)
)
@@ -5761,22 +5711,22 @@
(local.get $33)
(i32.const 48)
)
- (local.set $7
+ (local.set $6
(local.get $33)
)
)
(block
(br_if $do-once103
(i32.le_u
- (local.get $7)
+ (local.get $6)
(local.get $23)
)
)
(loop $while-in106
(i32.store8
- (local.tee $7
+ (local.tee $6
(i32.add
- (local.get $7)
+ (local.get $6)
(i32.const -1)
)
)
@@ -5784,7 +5734,7 @@
)
(br_if $while-in106
(i32.gt_u
- (local.get $7)
+ (local.get $6)
(local.get $23)
)
)
@@ -5801,30 +5751,28 @@
(i32.const 32)
)
)
- (drop
- (call $___fwritex
- (local.get $7)
- (i32.sub
- (local.get $42)
- (local.get $7)
- )
- (local.get $0)
+ (call $___fwritex
+ (local.get $6)
+ (i32.sub
+ (local.get $42)
+ (local.get $6)
)
+ (local.get $0)
)
)
(if
(i32.le_u
- (local.tee $7
+ (local.tee $6
(i32.add
- (local.get $6)
+ (local.get $5)
(i32.const 4)
)
)
- (local.get $8)
+ (local.get $7)
)
(block
- (local.set $6
- (local.get $7)
+ (local.set $5
+ (local.get $6)
)
(br $while-in102)
)
@@ -5841,12 +5789,10 @@
(i32.const 32)
)
)
- (drop
- (call $___fwritex
- (i32.const 4143)
- (i32.const 1)
- (local.get $0)
- )
+ (call $___fwritex
+ (i32.const 4143)
+ (i32.const 1)
+ (local.get $0)
)
)
)
@@ -5857,21 +5803,21 @@
(if (result i32)
(i32.and
(i32.lt_u
- (local.get $7)
- (local.get $9)
+ (local.get $6)
+ (local.get $8)
)
(i32.gt_s
- (local.get $5)
+ (local.get $4)
(i32.const 0)
)
)
(loop $while-in110 (result i32)
(if
(i32.gt_u
- (local.tee $6
+ (local.tee $5
(call $_fmt_u
(i32.load
- (local.get $7)
+ (local.get $6)
)
(i32.const 0)
(local.get $29)
@@ -5881,9 +5827,9 @@
)
(loop $while-in112
(i32.store8
- (local.tee $6
+ (local.tee $5
(i32.add
- (local.get $6)
+ (local.get $5)
(i32.const -1)
)
)
@@ -5891,7 +5837,7 @@
)
(br_if $while-in112
(i32.gt_u
- (local.get $6)
+ (local.get $5)
(local.get $23)
)
)
@@ -5906,53 +5852,51 @@
(i32.const 32)
)
)
- (drop
- (call $___fwritex
- (local.get $6)
- (select
+ (call $___fwritex
+ (local.get $5)
+ (select
+ (i32.const 9)
+ (local.get $4)
+ (i32.gt_s
+ (local.get $4)
(i32.const 9)
- (local.get $5)
- (i32.gt_s
- (local.get $5)
- (i32.const 9)
- )
)
- (local.get $0)
)
+ (local.get $0)
)
)
- (local.set $6
+ (local.set $5
(i32.add
- (local.get $5)
+ (local.get $4)
(i32.const -9)
)
)
(if (result i32)
(i32.and
(i32.lt_u
- (local.tee $7
+ (local.tee $6
(i32.add
- (local.get $7)
+ (local.get $6)
(i32.const 4)
)
)
- (local.get $9)
+ (local.get $8)
)
(i32.gt_s
- (local.get $5)
+ (local.get $4)
(i32.const 9)
)
)
(block
- (local.set $5
- (local.get $6)
+ (local.set $4
+ (local.get $5)
)
(br $while-in110)
)
- (local.get $6)
+ (local.get $5)
)
)
- (local.get $5)
+ (local.get $4)
)
(i32.const 9)
)
@@ -5961,11 +5905,11 @@
)
)
(block $do-once99
- (local.set $9
+ (local.set $8
(select
- (local.get $9)
+ (local.get $8)
(i32.add
- (local.get $12)
+ (local.get $11)
(i32.const 4)
)
(local.get $24)
@@ -5977,28 +5921,28 @@
(i32.add
(if (result i32)
(i32.gt_s
- (local.get $5)
+ (local.get $4)
(i32.const -1)
)
(block (result i32)
- (local.set $18
+ (local.set $17
(i32.eqz
(local.get $21)
)
)
- (local.set $6
- (local.get $12)
+ (local.set $5
+ (local.get $11)
)
- (local.set $7
- (local.get $5)
+ (local.set $6
+ (local.get $4)
)
(loop $while-in114 (result i32)
(if
(i32.eq
- (local.tee $5
+ (local.tee $4
(call $_fmt_u
(i32.load
- (local.get $6)
+ (local.get $5)
)
(i32.const 0)
(local.get $29)
@@ -6011,7 +5955,7 @@
(local.get $33)
(i32.const 48)
)
- (local.set $5
+ (local.set $4
(local.get $33)
)
)
@@ -6019,8 +5963,8 @@
(block $do-once115
(if
(i32.eq
- (local.get $6)
- (local.get $12)
+ (local.get $5)
+ (local.get $11)
)
(block
(if
@@ -6032,27 +5976,25 @@
(i32.const 32)
)
)
- (drop
- (call $___fwritex
- (local.get $5)
- (i32.const 1)
- (local.get $0)
- )
+ (call $___fwritex
+ (local.get $4)
+ (i32.const 1)
+ (local.get $0)
)
)
- (local.set $5
+ (local.set $4
(i32.add
- (local.get $5)
+ (local.get $4)
(i32.const 1)
)
)
(br_if $do-once115
(i32.and
(i32.lt_s
- (local.get $7)
+ (local.get $6)
(i32.const 1)
)
- (local.get $18)
+ (local.get $17)
)
)
(br_if $do-once115
@@ -6063,26 +6005,24 @@
(i32.const 32)
)
)
- (drop
- (call $___fwritex
- (i32.const 4143)
- (i32.const 1)
- (local.get $0)
- )
+ (call $___fwritex
+ (i32.const 4143)
+ (i32.const 1)
+ (local.get $0)
)
)
(block
(br_if $do-once115
(i32.le_u
- (local.get $5)
+ (local.get $4)
(local.get $23)
)
)
(loop $while-in118
(i32.store8
- (local.tee $5
+ (local.tee $4
(i32.add
- (local.get $5)
+ (local.get $4)
(i32.const -1)
)
)
@@ -6090,7 +6030,7 @@
)
(br_if $while-in118
(i32.gt_u
- (local.get $5)
+ (local.get $4)
(local.get $23)
)
)
@@ -6098,10 +6038,10 @@
)
)
)
- (local.set $8
+ (local.set $7
(i32.sub
(local.get $42)
- (local.get $5)
+ (local.get $4)
)
)
(if
@@ -6113,47 +6053,45 @@
(i32.const 32)
)
)
- (drop
- (call $___fwritex
- (local.get $5)
- (select
- (local.get $8)
+ (call $___fwritex
+ (local.get $4)
+ (select
+ (local.get $7)
+ (local.get $6)
+ (i32.gt_s
+ (local.get $6)
(local.get $7)
- (i32.gt_s
- (local.get $7)
- (local.get $8)
- )
)
- (local.get $0)
)
+ (local.get $0)
)
)
(br_if $while-in114
(i32.and
(i32.lt_u
- (local.tee $6
+ (local.tee $5
(i32.add
- (local.get $6)
+ (local.get $5)
(i32.const 4)
)
)
- (local.get $9)
+ (local.get $8)
)
(i32.gt_s
- (local.tee $7
+ (local.tee $6
(i32.sub
+ (local.get $6)
(local.get $7)
- (local.get $8)
)
)
(i32.const -1)
)
)
)
- (local.get $7)
+ (local.get $6)
)
)
- (local.get $5)
+ (local.get $4)
)
(i32.const 18)
)
@@ -6168,34 +6106,32 @@
(i32.const 32)
)
)
- (drop
- (call $___fwritex
- (local.get $19)
- (i32.sub
- (local.get $27)
- (local.get $19)
- )
- (local.get $0)
+ (call $___fwritex
+ (local.get $18)
+ (i32.sub
+ (local.get $27)
+ (local.get $18)
)
+ (local.get $0)
)
)
)
(call $_pad
(local.get $0)
(i32.const 32)
- (local.get $15)
- (local.get $13)
+ (local.get $14)
+ (local.get $12)
(i32.xor
- (local.get $11)
+ (local.get $10)
(i32.const 8192)
)
)
(select
- (local.get $15)
- (local.get $13)
+ (local.get $14)
+ (local.get $12)
(i32.lt_s
- (local.get $13)
- (local.get $15)
+ (local.get $12)
+ (local.get $14)
)
)
)
@@ -6203,17 +6139,17 @@
(call $_pad
(local.get $0)
(i32.const 32)
- (local.get $15)
- (local.tee $7
+ (local.get $14)
+ (local.tee $6
(i32.add
- (local.tee $9
+ (local.tee $8
(select
(i32.const 0)
(local.get $26)
- (local.tee $6
+ (local.tee $5
(f64.ne
- (local.get $16)
- (local.get $16)
+ (local.get $15)
+ (local.get $15)
)
)
)
@@ -6221,17 +6157,17 @@
(i32.const 3)
)
)
- (local.get $8)
+ (local.get $7)
)
- (local.set $6
+ (local.set $5
(select
(select
(i32.const 4135)
(i32.const 4139)
- (local.tee $8
+ (local.tee $7
(i32.ne
(i32.and
- (local.get $19)
+ (local.get $18)
(i32.const 32)
)
(i32.const 0)
@@ -6241,9 +6177,9 @@
(select
(i32.const 4127)
(i32.const 4131)
- (local.get $8)
+ (local.get $7)
)
- (local.get $6)
+ (local.get $5)
)
)
(if
@@ -6251,21 +6187,19 @@
(i32.and
(if (result i32)
(i32.and
- (local.tee $5
+ (local.tee $4
(i32.load
(local.get $0)
)
)
(i32.const 32)
)
- (local.get $5)
+ (local.get $4)
(block (result i32)
- (drop
- (call $___fwritex
- (local.get $30)
- (local.get $9)
- (local.get $0)
- )
+ (call $___fwritex
+ (local.get $30)
+ (local.get $8)
+ (local.get $0)
)
(i32.load
(local.get $0)
@@ -6275,149 +6209,147 @@
(i32.const 32)
)
)
- (drop
- (call $___fwritex
- (local.get $6)
- (i32.const 3)
- (local.get $0)
- )
+ (call $___fwritex
+ (local.get $5)
+ (i32.const 3)
+ (local.get $0)
)
)
(call $_pad
(local.get $0)
(i32.const 32)
- (local.get $15)
- (local.get $7)
+ (local.get $14)
+ (local.get $6)
(i32.xor
- (local.get $11)
+ (local.get $10)
(i32.const 8192)
)
)
(select
- (local.get $15)
- (local.get $7)
+ (local.get $14)
+ (local.get $6)
(i32.lt_s
- (local.get $7)
- (local.get $15)
+ (local.get $6)
+ (local.get $14)
)
)
)
)
)
- (local.set $5
- (local.get $10)
+ (local.set $4
+ (local.get $9)
)
- (local.set $10
- (local.get $7)
+ (local.set $9
+ (local.get $6)
)
(br $label$continue$L1)
)
- (local.set $12
- (local.get $6)
+ (local.set $11
+ (local.get $5)
)
- (local.set $8
+ (local.set $7
(i32.const 0)
)
- (local.set $9
+ (local.set $8
(i32.const 4091)
)
(br $__rjto$8
(local.get $25)
)
)
- (local.set $9
+ (local.set $8
(i32.and
- (local.get $19)
+ (local.get $18)
(i32.const 32)
)
)
- (if
- (i32.or
- (local.tee $7
- (i32.load
- (local.get $14)
+ (local.set $7
+ (if (result i32)
+ (i32.or
+ (local.tee $6
+ (i32.load
+ (local.get $13)
+ )
)
- )
- (local.tee $11
- (i32.load offset=4
- (local.get $14)
+ (local.tee $10
+ (i32.load offset=4
+ (local.get $13)
+ )
)
)
- )
- (block
- (local.set $8
- (local.get $25)
- )
- (local.set $7
- (loop $while-in123 (result i32)
- (i32.store8
- (local.tee $8
- (i32.add
- (local.get $8)
- (i32.const -1)
- )
- )
- (i32.or
- (local.get $9)
- (i32.load8_u
+ (block (result i32)
+ (local.set $7
+ (local.get $25)
+ )
+ (local.set $6
+ (loop $while-in123 (result i32)
+ (i32.store8
+ (local.tee $7
(i32.add
- (i32.and
- (local.get $7)
- (i32.const 15)
+ (local.get $7)
+ (i32.const -1)
+ )
+ )
+ (i32.or
+ (local.get $8)
+ (i32.load8_u
+ (i32.add
+ (i32.and
+ (local.get $6)
+ (i32.const 15)
+ )
+ (i32.const 4075)
)
- (i32.const 4075)
)
)
)
- )
- (br_if $while-in123
- (i32.or
- (local.tee $7
- (call $_bitshift64Lshr
- (local.get $7)
- (local.get $11)
- (i32.const 4)
+ (br_if $while-in123
+ (i32.or
+ (local.tee $6
+ (call $_bitshift64Lshr
+ (local.get $6)
+ (local.get $10)
+ (i32.const 4)
+ )
+ )
+ (local.tee $10
+ (global.get $tempRet0)
)
- )
- (local.tee $11
- (global.get $tempRet0)
)
)
+ (local.get $7)
)
- (local.get $8)
)
- )
- (local.set $8
(if (result i32)
(i32.or
(i32.eqz
(i32.or
(i32.load
- (local.get $14)
+ (local.get $13)
)
(i32.load offset=4
- (local.get $14)
+ (local.get $13)
)
)
)
(i32.eqz
(i32.and
- (local.get $5)
+ (local.get $4)
(i32.const 8)
)
)
)
(block (result i32)
- (local.set $9
+ (local.set $8
(i32.const 4091)
)
(i32.const 0)
)
(block (result i32)
- (local.set $9
+ (local.set $8
(i32.add
(i32.shr_s
- (local.get $19)
+ (local.get $18)
(i32.const 4)
)
(i32.const 4091)
@@ -6427,93 +6359,91 @@
)
)
)
- )
- (block
- (local.set $7
- (local.get $25)
- )
- (local.set $8
+ (block (result i32)
+ (local.set $6
+ (local.get $25)
+ )
+ (local.set $8
+ (i32.const 4091)
+ )
(i32.const 0)
)
- (local.set $9
- (i32.const 4091)
- )
)
)
(br $__rjti$8)
)
- (local.set $7
+ (local.set $6
(call $_fmt_u
- (local.get $5)
- (local.get $7)
+ (local.get $4)
+ (local.get $6)
(local.get $25)
)
)
- (local.set $5
- (local.get $11)
+ (local.set $4
+ (local.get $10)
)
(br $__rjti$8)
)
- (local.set $19
+ (local.set $18
(i32.eqz
- (local.tee $13
+ (local.tee $12
(call $_memchr
- (local.get $7)
(local.get $6)
+ (local.get $5)
)
)
)
)
- (local.set $11
- (local.get $8)
+ (local.set $10
+ (local.get $7)
)
- (local.set $12
+ (local.set $11
(select
- (local.get $6)
+ (local.get $5)
(i32.sub
- (local.get $13)
- (local.tee $5
- (local.get $7)
+ (local.get $12)
+ (local.tee $4
+ (local.get $6)
)
)
- (local.get $19)
+ (local.get $18)
)
)
- (local.set $8
+ (local.set $7
(i32.const 0)
)
- (local.set $9
+ (local.set $8
(i32.const 4091)
)
(br $__rjto$8
(select
(i32.add
+ (local.get $4)
(local.get $5)
- (local.get $6)
)
- (local.get $13)
- (local.get $19)
+ (local.get $12)
+ (local.get $18)
)
)
)
- (local.set $5
+ (local.set $4
(i32.const 0)
)
- (local.set $7
+ (local.set $6
(i32.const 0)
)
- (local.set $6
+ (local.set $5
(i32.load
- (local.get $14)
+ (local.get $13)
)
)
(loop $while-in125
(block $while-out124
(br_if $while-out124
(i32.eqz
- (local.tee $9
+ (local.tee $8
(i32.load
- (local.get $6)
+ (local.get $5)
)
)
)
@@ -6521,36 +6451,36 @@
(br_if $while-out124
(i32.or
(i32.lt_s
- (local.tee $7
+ (local.tee $6
(call $_wctomb
(local.get $35)
- (local.get $9)
+ (local.get $8)
)
)
(i32.const 0)
)
(i32.gt_u
- (local.get $7)
+ (local.get $6)
(i32.sub
- (local.get $8)
- (local.get $5)
+ (local.get $7)
+ (local.get $4)
)
)
)
)
- (local.set $6
+ (local.set $5
(i32.add
- (local.get $6)
+ (local.get $5)
(i32.const 4)
)
)
(br_if $while-in125
(i32.gt_u
- (local.get $8)
- (local.tee $5
+ (local.get $7)
+ (local.tee $4
(i32.add
- (local.get $5)
- (local.get $7)
+ (local.get $4)
+ (local.get $6)
)
)
)
@@ -6559,11 +6489,11 @@
)
(if
(i32.lt_s
- (local.get $7)
+ (local.get $6)
(i32.const 0)
)
(block
- (local.set $17
+ (local.set $16
(i32.const -1)
)
(br $label$break$L1)
@@ -6572,29 +6502,29 @@
(call $_pad
(local.get $0)
(i32.const 32)
- (local.get $15)
- (local.get $5)
- (local.get $11)
+ (local.get $14)
+ (local.get $4)
+ (local.get $10)
)
(if (result i32)
- (local.get $5)
+ (local.get $4)
(block (result i32)
- (local.set $6
+ (local.set $5
(i32.const 0)
)
- (local.set $7
+ (local.set $6
(i32.load
- (local.get $14)
+ (local.get $13)
)
)
(loop $while-in127 (result i32)
(drop
(br_if $__rjti$7
- (local.get $5)
+ (local.get $4)
(i32.eqz
- (local.tee $8
+ (local.tee $7
(i32.load
- (local.get $7)
+ (local.get $6)
)
)
)
@@ -6602,20 +6532,20 @@
)
(drop
(br_if $__rjti$7
- (local.get $5)
+ (local.get $4)
(i32.gt_s
- (local.tee $6
+ (local.tee $5
(i32.add
- (local.tee $8
+ (local.tee $7
(call $_wctomb
(local.get $35)
- (local.get $8)
+ (local.get $7)
)
)
- (local.get $6)
+ (local.get $5)
)
)
- (local.get $5)
+ (local.get $4)
)
)
)
@@ -6628,27 +6558,25 @@
(i32.const 32)
)
)
- (drop
- (call $___fwritex
- (local.get $35)
- (local.get $8)
- (local.get $0)
- )
+ (call $___fwritex
+ (local.get $35)
+ (local.get $7)
+ (local.get $0)
)
)
- (local.set $7
+ (local.set $6
(i32.add
- (local.get $7)
+ (local.get $6)
(i32.const 4)
)
)
(br_if $while-in127
(i32.lt_u
- (local.get $6)
(local.get $5)
+ (local.get $4)
)
)
- (local.get $5)
+ (local.get $4)
)
)
(i32.const 0)
@@ -6656,52 +6584,52 @@
)
)
(i32.xor
- (local.get $11)
+ (local.get $10)
(i32.const 8192)
)
)
- (local.set $5
- (local.get $10)
+ (local.set $4
+ (local.get $9)
)
- (local.set $10
+ (local.set $9
(select
- (local.get $15)
- (local.get $7)
+ (local.get $14)
+ (local.get $6)
(i32.gt_s
- (local.get $15)
- (local.get $7)
+ (local.get $14)
+ (local.get $6)
)
)
)
(br $label$continue$L1)
)
- (local.set $11
+ (local.set $10
(select
(i32.and
- (local.get $5)
+ (local.get $4)
(i32.const -65537)
)
- (local.get $5)
+ (local.get $4)
(i32.gt_s
- (local.get $6)
+ (local.get $5)
(i32.const -1)
)
)
)
(if (result i32)
(i32.or
- (local.get $6)
- (local.tee $5
+ (local.get $5)
+ (local.tee $4
(i32.or
(i32.ne
(i32.load
- (local.get $14)
+ (local.get $13)
)
(i32.const 0)
)
(i32.ne
(i32.load offset=4
- (local.get $14)
+ (local.get $13)
)
(i32.const 0)
)
@@ -6709,66 +6637,66 @@
)
)
(block (result i32)
- (local.set $12
+ (local.set $11
(select
- (local.get $6)
- (local.tee $7
+ (local.get $5)
+ (local.tee $6
(i32.add
(i32.xor
(i32.and
- (local.get $5)
+ (local.get $4)
(i32.const 1)
)
(i32.const 1)
)
(i32.sub
(local.get $38)
- (local.tee $5
- (local.get $7)
+ (local.tee $4
+ (local.get $6)
)
)
)
)
(i32.gt_s
+ (local.get $5)
(local.get $6)
- (local.get $7)
)
)
)
(local.get $25)
)
(block (result i32)
- (local.set $12
+ (local.set $11
(i32.const 0)
)
- (local.tee $5
+ (local.tee $4
(local.get $25)
)
)
)
)
- (local.get $5)
+ (local.get $4)
)
)
- (local.get $12)
+ (local.get $11)
(i32.lt_s
+ (local.get $11)
(local.get $12)
- (local.get $13)
)
)
)
- (local.get $8)
+ (local.get $7)
)
)
- (local.get $15)
+ (local.get $14)
(i32.lt_s
- (local.get $15)
- (local.get $6)
+ (local.get $14)
+ (local.get $5)
)
)
)
- (local.get $6)
- (local.get $11)
+ (local.get $5)
+ (local.get $10)
)
(if
(i32.eqz
@@ -6779,29 +6707,27 @@
(i32.const 32)
)
)
- (drop
- (call $___fwritex
- (local.get $9)
- (local.get $8)
- (local.get $0)
- )
+ (call $___fwritex
+ (local.get $8)
+ (local.get $7)
+ (local.get $0)
)
)
(call $_pad
(local.get $0)
(i32.const 48)
- (local.get $7)
(local.get $6)
+ (local.get $5)
(i32.xor
- (local.get $11)
+ (local.get $10)
(i32.const 65536)
)
)
(call $_pad
(local.get $0)
(i32.const 48)
+ (local.get $11)
(local.get $12)
- (local.get $13)
(i32.const 0)
)
(if
@@ -6813,29 +6739,27 @@
(i32.const 32)
)
)
- (drop
- (call $___fwritex
- (local.get $5)
- (local.get $13)
- (local.get $0)
- )
+ (call $___fwritex
+ (local.get $4)
+ (local.get $12)
+ (local.get $0)
)
)
(call $_pad
(local.get $0)
(i32.const 32)
- (local.get $7)
(local.get $6)
+ (local.get $5)
(i32.xor
- (local.get $11)
+ (local.get $10)
(i32.const 8192)
)
)
- (local.set $5
- (local.get $10)
+ (local.set $4
+ (local.get $9)
)
- (local.set $10
- (local.get $7)
+ (local.set $9
+ (local.get $6)
)
(br $label$continue$L1)
)
@@ -6846,23 +6770,23 @@
(i32.eqz
(local.get $0)
)
- (local.set $17
+ (local.set $16
(if (result i32)
- (local.get $1)
+ (local.get $19)
(block (result i32)
(local.set $0
(i32.const 1)
)
(loop $while-in130
(if
- (local.tee $1
+ (local.tee $19
(i32.load
(i32.add
(i32.shl
(local.get $0)
(i32.const 2)
)
- (local.get $4)
+ (local.get $3)
)
)
)
@@ -6873,10 +6797,10 @@
(local.get $0)
(i32.const 3)
)
- (local.get $3)
+ (local.get $2)
)
+ (local.get $19)
(local.get $1)
- (local.get $2)
)
(br_if $while-in130
(i32.lt_s
@@ -6889,7 +6813,7 @@
(i32.const 10)
)
)
- (local.set $17
+ (local.set $16
(i32.const 1)
)
(br $label$break$L343)
@@ -6909,11 +6833,11 @@
(local.get $0)
(i32.const 2)
)
- (local.get $4)
+ (local.get $3)
)
)
(block
- (local.set $17
+ (local.set $16
(i32.const -1)
)
(br $label$break$L343)
@@ -6943,7 +6867,7 @@
(global.set $STACKTOP
(local.get $34)
)
- (local.get $17)
+ (local.get $16)
)
(func $_pop_arg_336 (; 50 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
@@ -7539,12 +7463,10 @@
(if
(local.get $4)
(block
- (drop
- (call $___fwritex
- (local.get $6)
- (i32.const 256)
- (local.get $0)
- )
+ (call $___fwritex
+ (local.get $6)
+ (i32.const 256)
+ (local.get $0)
)
(local.set $1
(i32.load
@@ -7594,12 +7516,10 @@
)
)
)
- (drop
- (call $___fwritex
- (local.get $6)
- (local.get $5)
- (local.get $0)
- )
+ (call $___fwritex
+ (local.get $6)
+ (local.get $5)
+ (local.get $0)
)
)
)
diff --git a/test/emcc_hello_world.fromasm.imprecise b/test/emcc_hello_world.fromasm.imprecise
index 2247f4e33..e3feaa729 100644
--- a/test/emcc_hello_world.fromasm.imprecise
+++ b/test/emcc_hello_world.fromasm.imprecise
@@ -146,10 +146,8 @@
)
(call $abort)
)
- (drop
- (call $_printf
- (local.get $0)
- )
+ (call $_printf
+ (local.get $0)
)
(global.set $STACKTOP
(local.get $0)
@@ -619,7 +617,7 @@
)
(local.get $0)
)
- (func $_printf (; 33 ;) (; has Stack IR ;) (param $0 i32) (result i32)
+ (func $_printf (; 33 ;) (; has Stack IR ;) (param $0 i32)
(local $1 i32)
(local.set $1
(global.get $STACKTOP)
@@ -641,19 +639,15 @@
(local.get $1)
(local.get $0)
)
- (local.set $0
- (call $_vfprintf
- (i32.load
- (i32.const 8)
- )
- (i32.const 672)
- (local.get $1)
+ (call $_vfprintf
+ (i32.load
+ (i32.const 8)
)
+ (local.get $1)
)
(global.set $STACKTOP
(local.get $1)
)
- (local.get $0)
)
(func $___stdio_write (; 34 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
@@ -1000,7 +994,8 @@
)
(local.get $2)
)
- (func $_vfprintf (; 35 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
+ (func $_vfprintf (; 35 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32)
+ (local $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@@ -1011,8 +1006,7 @@
(local $10 i32)
(local $11 i32)
(local $12 i32)
- (local $13 i32)
- (local.set $3
+ (local.set $6
(global.get $STACKTOP)
)
(global.set $STACKTOP
@@ -1028,27 +1022,26 @@
)
(call $abort)
)
- (local.set $5
+ (local.set $3
(i32.add
- (local.get $3)
+ (local.get $6)
(i32.const 120)
)
)
- (local.set $7
- (local.get $3)
- )
- (local.set $6
+ (local.set $5
(i32.add
- (local.get $3)
+ (local.tee $4
+ (local.get $6)
+ )
(i32.const 136)
)
)
- (local.set $9
+ (local.set $8
(i32.add
- (local.tee $4
- (local.tee $8
+ (local.tee $2
+ (local.tee $7
(i32.add
- (local.get $3)
+ (local.get $4)
(i32.const 80)
)
)
@@ -1058,42 +1051,41 @@
)
(loop $do-in
(i32.store
- (local.get $4)
+ (local.get $2)
(i32.const 0)
)
(br_if $do-in
(i32.lt_s
- (local.tee $4
+ (local.tee $2
(i32.add
- (local.get $4)
+ (local.get $2)
(i32.const 4)
)
)
- (local.get $9)
+ (local.get $8)
)
)
)
(i32.store
- (local.get $5)
+ (local.get $3)
(i32.load
- (local.get $2)
+ (local.get $1)
)
)
- (local.set $0
+ (drop
(if (result i32)
(i32.lt_s
(call $_printf_core
(i32.const 0)
- (local.get $1)
- (local.get $5)
+ (local.get $3)
+ (local.get $4)
(local.get $7)
- (local.get $8)
)
(i32.const 0)
)
(i32.const -1)
(block (result i32)
- (local.set $10
+ (local.set $9
(i32.load
(local.get $0)
)
@@ -1108,33 +1100,32 @@
(i32.store
(local.get $0)
(i32.and
- (local.get $10)
+ (local.get $9)
(i32.const -33)
)
)
)
(if
(i32.load
- (local.tee $11
+ (local.tee $1
(i32.add
(local.get $0)
(i32.const 48)
)
)
)
- (local.set $1
+ (drop
(call $_printf_core
(local.get $0)
- (local.get $1)
- (local.get $5)
+ (local.get $3)
+ (local.get $4)
(local.get $7)
- (local.get $8)
)
)
(block
- (local.set $13
+ (local.set $11
(i32.load
- (local.tee $12
+ (local.tee $10
(i32.add
(local.get $0)
(i32.const 44)
@@ -1143,54 +1134,53 @@
)
)
(i32.store
- (local.get $12)
- (local.get $6)
+ (local.get $10)
+ (local.get $5)
)
(i32.store
- (local.tee $4
+ (local.tee $2
(i32.add
(local.get $0)
(i32.const 28)
)
)
- (local.get $6)
+ (local.get $5)
)
(i32.store
- (local.tee $2
+ (local.tee $12
(i32.add
(local.get $0)
(i32.const 20)
)
)
- (local.get $6)
+ (local.get $5)
)
(i32.store
- (local.get $11)
+ (local.get $1)
(i32.const 80)
)
(i32.store
- (local.tee $9
+ (local.tee $8
(i32.add
(local.get $0)
(i32.const 16)
)
)
(i32.add
- (local.get $6)
+ (local.get $5)
(i32.const 80)
)
)
- (local.set $1
+ (drop
(call $_printf_core
(local.get $0)
- (local.get $1)
- (local.get $5)
+ (local.get $3)
+ (local.get $4)
(local.get $7)
- (local.get $8)
)
)
(if
- (local.get $13)
+ (local.get $11)
(block
(drop
(call_indirect (type $FUNCSIG$iiii)
@@ -1208,33 +1198,24 @@
)
)
)
- (local.set $1
- (select
- (local.get $1)
- (i32.const -1)
- (i32.load
- (local.get $2)
- )
- )
- )
(i32.store
- (local.get $12)
- (local.get $13)
+ (local.get $10)
+ (local.get $11)
)
(i32.store
- (local.get $11)
+ (local.get $1)
(i32.const 0)
)
(i32.store
- (local.get $9)
+ (local.get $8)
(i32.const 0)
)
(i32.store
- (local.get $4)
+ (local.get $2)
(i32.const 0)
)
(i32.store
- (local.get $2)
+ (local.get $12)
(i32.const 0)
)
)
@@ -1244,34 +1225,24 @@
(i32.store
(local.get $0)
(i32.or
- (local.tee $2
- (i32.load
- (local.get $0)
- )
+ (i32.load
+ (local.get $0)
)
(i32.and
- (local.get $10)
+ (local.get $9)
(i32.const 32)
)
)
)
- (select
- (i32.const -1)
- (local.get $1)
- (i32.and
- (local.get $2)
- (i32.const 32)
- )
- )
+ (i32.const 0)
)
)
)
(global.set $STACKTOP
- (local.get $3)
+ (local.get $6)
)
- (local.get $0)
)
- (func $___fwritex (; 36 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
+ (func $___fwritex (; 36 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@@ -1290,20 +1261,19 @@
)
)
)
- (local.set $3
- (if (result i32)
+ (if
+ (i32.eqz
(call $___towrite
(local.get $2)
)
- (i32.const 0)
- (block
- (local.set $3
- (i32.load
- (local.get $4)
- )
+ )
+ (block
+ (local.set $3
+ (i32.load
+ (local.get $4)
)
- (br $__rjti$0)
)
+ (br $__rjti$0)
)
)
(br $label$break$L5)
@@ -1326,19 +1296,16 @@
(local.get $1)
)
(block
- (local.set $3
- (i32.load offset=36
- (local.get $2)
- )
- )
- (local.set $3
+ (drop
(call_indirect (type $FUNCSIG$iiii)
(local.get $2)
(local.get $0)
(local.get $1)
(i32.add
(i32.and
- (local.get $3)
+ (i32.load offset=36
+ (local.get $2)
+ )
(i32.const 7)
)
(i32.const 2)
@@ -1348,7 +1315,7 @@
(br $label$break$L5)
)
)
- (local.set $2
+ (drop
(if (result i32)
(i32.gt_s
(i32.load8_s offset=75
@@ -1392,11 +1359,6 @@
)
)
)
- (local.set $4
- (i32.load offset=36
- (local.get $2)
- )
- )
(br_if $label$break$L5
(i32.lt_u
(call_indirect (type $FUNCSIG$iiii)
@@ -1405,7 +1367,9 @@
(local.get $3)
(i32.add
(i32.and
- (local.get $4)
+ (i32.load offset=36
+ (local.get $2)
+ )
(i32.const 7)
)
(i32.const 2)
@@ -1431,7 +1395,7 @@
(local.get $3)
)
)
- (local.get $3)
+ (i32.const 0)
)
(i32.const 0)
)
@@ -1452,14 +1416,7 @@
(local.get $1)
)
)
- (local.set $3
- (i32.add
- (local.get $1)
- (local.get $2)
- )
- )
)
- (local.get $3)
)
(func $___towrite (; 37 ;) (; has Stack IR ;) (param $0 i32) (result i32)
(local $1 i32)
@@ -2063,7 +2020,8 @@
(func $_cleanup (; 43 ;) (; has Stack IR ;) (param $0 i32)
(nop)
)
- (func $_printf_core (; 44 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32)
+ (func $_printf_core (; 44 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
+ (local $4 i32)
(local $5 i32)
(local $6 i32)
(local $7 i32)
@@ -2074,8 +2032,8 @@
(local $12 i32)
(local $13 i32)
(local $14 i32)
- (local $15 i32)
- (local $16 f64)
+ (local $15 f64)
+ (local $16 i32)
(local $17 i32)
(local $18 i32)
(local $19 i32)
@@ -2134,7 +2092,7 @@
)
(local.set $35
(i32.add
- (local.tee $14
+ (local.tee $13
(local.get $34)
)
(i32.const 528)
@@ -2149,9 +2107,9 @@
(local.set $38
(local.tee $25
(i32.add
- (local.tee $5
+ (local.tee $4
(i32.add
- (local.get $14)
+ (local.get $13)
(i32.const 536)
)
)
@@ -2161,7 +2119,7 @@
)
(local.set $39
(i32.add
- (local.get $5)
+ (local.get $4)
(i32.const 39)
)
)
@@ -2169,7 +2127,7 @@
(i32.add
(local.tee $40
(i32.add
- (local.get $14)
+ (local.get $13)
(i32.const 8)
)
)
@@ -2178,9 +2136,9 @@
)
(local.set $32
(i32.add
- (local.tee $5
+ (local.tee $4
(i32.add
- (local.get $14)
+ (local.get $13)
(i32.const 576)
)
)
@@ -2189,7 +2147,7 @@
)
(local.set $41
(i32.add
- (local.get $5)
+ (local.get $4)
(i32.const 11)
)
)
@@ -2201,7 +2159,7 @@
(local.tee $36
(local.tee $23
(i32.add
- (local.get $14)
+ (local.get $13)
(i32.const 588)
)
)
@@ -2224,7 +2182,7 @@
(i32.add
(local.tee $47
(i32.add
- (local.get $14)
+ (local.get $13)
(i32.const 24)
)
)
@@ -2245,11 +2203,8 @@
(i32.const 8)
)
)
- (local.set $5
- (local.get $1)
- )
- (local.set $1
- (i32.const 0)
+ (local.set $4
+ (i32.const 672)
)
(block $label$break$L343
(block $__rjti$9
@@ -2257,16 +2212,16 @@
(block $label$break$L1
(if
(i32.gt_s
- (local.get $17)
+ (local.get $16)
(i32.const -1)
)
- (local.set $17
+ (local.set $16
(if (result i32)
(i32.gt_s
- (local.get $10)
+ (local.get $9)
(i32.sub
(i32.const 2147483647)
- (local.get $17)
+ (local.get $16)
)
)
(block (result i32)
@@ -2277,23 +2232,23 @@
(i32.const -1)
)
(i32.add
- (local.get $10)
- (local.get $17)
+ (local.get $9)
+ (local.get $16)
)
)
)
)
(br_if $__rjti$9
(i32.eqz
- (local.tee $7
+ (local.tee $6
(i32.load8_s
- (local.get $5)
+ (local.get $4)
)
)
)
)
- (local.set $10
- (local.get $5)
+ (local.set $9
+ (local.get $4)
)
(block $label$break$L12
(block $__rjti$1
@@ -2301,10 +2256,10 @@
(block $label$break$L9
(block $switch
(if
- (local.tee $7
+ (local.tee $6
(i32.shr_s
(i32.shl
- (local.get $7)
+ (local.get $6)
(i32.const 24)
)
(i32.const 24)
@@ -2313,26 +2268,26 @@
(block
(br_if $switch
(i32.ne
- (local.get $7)
+ (local.get $6)
(i32.const 37)
)
)
- (local.set $6
- (local.get $10)
+ (local.set $5
+ (local.get $9)
)
(br $__rjti$1)
)
)
- (local.set $6
- (local.get $10)
+ (local.set $5
+ (local.get $9)
)
(br $label$break$L9)
)
- (local.set $7
+ (local.set $6
(i32.load8_s
- (local.tee $10
+ (local.tee $9
(i32.add
- (local.get $10)
+ (local.get $9)
(i32.const 1)
)
)
@@ -2347,23 +2302,23 @@
(br_if $label$break$L12
(i32.ne
(i32.load8_s offset=1
- (local.get $6)
+ (local.get $5)
)
(i32.const 37)
)
)
- (local.set $10
+ (local.set $9
(i32.add
- (local.get $10)
+ (local.get $9)
(i32.const 1)
)
)
(br_if $while-in
(i32.eq
(i32.load8_s
- (local.tee $6
+ (local.tee $5
(i32.add
- (local.get $6)
+ (local.get $5)
(i32.const 2)
)
)
@@ -2373,10 +2328,10 @@
)
)
)
- (local.set $7
+ (local.set $6
(i32.sub
- (local.get $10)
- (local.get $5)
+ (local.get $9)
+ (local.get $4)
)
)
(if
@@ -2390,40 +2345,38 @@
(i32.const 32)
)
)
- (drop
- (call $___fwritex
- (local.get $5)
- (local.get $7)
- (local.get $0)
- )
+ (call $___fwritex
+ (local.get $4)
+ (local.get $6)
+ (local.get $0)
)
)
)
(if
(i32.ne
- (local.get $5)
- (local.get $10)
+ (local.get $4)
+ (local.get $9)
)
(block
- (local.set $5
- (local.get $6)
+ (local.set $4
+ (local.get $5)
)
- (local.set $10
- (local.get $7)
+ (local.set $9
+ (local.get $6)
)
(br $label$continue$L1)
)
)
- (local.set $8
+ (local.set $7
(if (result i32)
(i32.lt_u
- (local.tee $8
+ (local.tee $7
(i32.add
- (local.tee $11
+ (local.tee $10
(i32.load8_s
- (local.tee $10
+ (local.tee $9
(i32.add
- (local.get $6)
+ (local.get $5)
(i32.const 1)
)
)
@@ -2435,19 +2388,19 @@
(i32.const 10)
)
(block (result i32)
- (local.set $6
+ (local.set $5
(i32.load8_s
- (local.tee $10
+ (local.tee $9
(select
(i32.add
- (local.get $6)
+ (local.get $5)
(i32.const 3)
)
- (local.get $10)
- (local.tee $11
+ (local.get $9)
+ (local.tee $10
(i32.eq
(i32.load8_s offset=2
- (local.get $6)
+ (local.get $5)
)
(i32.const 36)
)
@@ -2456,38 +2409,38 @@
)
)
)
- (local.set $18
+ (local.set $17
(select
- (local.get $8)
+ (local.get $7)
(i32.const -1)
- (local.get $11)
+ (local.get $10)
)
)
(select
(i32.const 1)
- (local.get $1)
- (local.get $11)
+ (local.get $19)
+ (local.get $10)
)
)
(block (result i32)
- (local.set $6
- (local.get $11)
+ (local.set $5
+ (local.get $10)
)
- (local.set $18
+ (local.set $17
(i32.const -1)
)
- (local.get $1)
+ (local.get $19)
)
)
)
- (local.set $1
+ (local.set $19
(if (result i32)
(i32.eq
(i32.and
- (local.tee $11
+ (local.tee $10
(i32.shr_s
(i32.shl
- (local.get $6)
+ (local.get $5)
(i32.const 24)
)
(i32.const 24)
@@ -2498,13 +2451,13 @@
(i32.const 32)
)
(block $label$break$L25 (result i32)
- (local.set $1
- (local.get $6)
+ (local.set $19
+ (local.get $5)
)
- (local.set $6
- (local.get $11)
+ (local.set $5
+ (local.get $10)
)
- (local.set $11
+ (local.set $10
(i32.const 0)
)
(loop $while-in4 (result i32)
@@ -2514,7 +2467,7 @@
(i32.shl
(i32.const 1)
(i32.add
- (local.get $6)
+ (local.get $5)
(i32.const -32)
)
)
@@ -2522,23 +2475,23 @@
)
)
(block
- (local.set $6
- (local.get $1)
+ (local.set $5
+ (local.get $19)
)
(br $label$break$L25
- (local.get $11)
+ (local.get $10)
)
)
)
- (local.set $11
+ (local.set $10
(i32.or
- (local.get $11)
+ (local.get $10)
(i32.shl
(i32.const 1)
(i32.add
(i32.shr_s
(i32.shl
- (local.get $1)
+ (local.get $19)
(i32.const 24)
)
(i32.const 24)
@@ -2551,12 +2504,12 @@
(br_if $while-in4
(i32.eq
(i32.and
- (local.tee $6
- (local.tee $1
+ (local.tee $5
+ (local.tee $19
(i32.load8_s
- (local.tee $10
+ (local.tee $9
(i32.add
- (local.get $10)
+ (local.get $9)
(i32.const 1)
)
)
@@ -2568,43 +2521,43 @@
(i32.const 32)
)
)
- (local.set $6
- (local.get $1)
+ (local.set $5
+ (local.get $19)
)
- (local.get $11)
+ (local.get $10)
)
)
(i32.const 0)
)
)
- (local.set $1
+ (local.set $19
(if (result i32)
(i32.eq
(i32.and
- (local.get $6)
+ (local.get $5)
(i32.const 255)
)
(i32.const 42)
)
(block $do-once5 (result i32)
- (local.set $10
+ (local.set $9
(block $__rjto$0 (result i32)
(if
(i32.eqz
(i32.or
(i32.ne
(i32.load8_s offset=2
- (local.get $10)
+ (local.get $9)
)
(i32.const 36)
)
(i32.ge_u
- (local.tee $11
+ (local.tee $10
(i32.add
(i32.load8_s
- (local.tee $6
+ (local.tee $5
(i32.add
- (local.get $10)
+ (local.get $9)
(i32.const 1)
)
)
@@ -2620,51 +2573,51 @@
(i32.store
(i32.add
(i32.shl
- (local.get $11)
+ (local.get $10)
(i32.const 2)
)
- (local.get $4)
+ (local.get $3)
)
(i32.const 10)
)
(drop
(i32.load offset=4
- (local.tee $6
+ (local.tee $5
(i32.add
(i32.shl
(i32.add
(i32.load8_s
- (local.get $6)
+ (local.get $5)
)
(i32.const -48)
)
(i32.const 3)
)
- (local.get $3)
+ (local.get $2)
)
)
)
)
- (local.set $8
+ (local.set $7
(i32.const 1)
)
- (local.set $15
+ (local.set $14
(i32.load
- (local.get $6)
+ (local.get $5)
)
)
(br $__rjto$0
(i32.add
- (local.get $10)
+ (local.get $9)
(i32.const 3)
)
)
)
)
(if
- (local.get $8)
+ (local.get $7)
(block
- (local.set $17
+ (local.set $16
(i32.const -1)
)
(br $label$break$L1)
@@ -2675,13 +2628,13 @@
(local.get $28)
)
(block
- (local.set $11
- (local.get $1)
- )
(local.set $10
- (local.get $6)
+ (local.get $19)
+ )
+ (local.set $9
+ (local.get $5)
)
- (local.set $15
+ (local.set $14
(i32.const 0)
)
(br $do-once5
@@ -2689,13 +2642,13 @@
)
)
)
- (local.set $15
+ (local.set $14
(i32.load
- (local.tee $10
+ (local.tee $9
(i32.and
(i32.add
(i32.load
- (local.get $2)
+ (local.get $1)
)
(i32.const 3)
)
@@ -2705,48 +2658,48 @@
)
)
(i32.store
- (local.get $2)
+ (local.get $1)
(i32.add
- (local.get $10)
+ (local.get $9)
(i32.const 4)
)
)
- (local.set $8
+ (local.set $7
(i32.const 0)
)
- (local.get $6)
+ (local.get $5)
)
)
- (local.set $11
+ (local.set $10
(if (result i32)
(i32.lt_s
- (local.get $15)
+ (local.get $14)
(i32.const 0)
)
(block (result i32)
- (local.set $15
+ (local.set $14
(i32.sub
(i32.const 0)
- (local.get $15)
+ (local.get $14)
)
)
(i32.or
- (local.get $1)
+ (local.get $19)
(i32.const 8192)
)
)
- (local.get $1)
+ (local.get $19)
)
)
- (local.get $8)
+ (local.get $7)
)
(if (result i32)
(i32.lt_u
- (local.tee $6
+ (local.tee $5
(i32.add
(i32.shr_s
(i32.shl
- (local.get $6)
+ (local.get $5)
(i32.const 24)
)
(i32.const 24)
@@ -2757,27 +2710,27 @@
(i32.const 10)
)
(block (result i32)
- (local.set $11
+ (local.set $10
(i32.const 0)
)
(loop $while-in8
- (local.set $6
+ (local.set $5
(i32.add
- (local.get $6)
+ (local.get $5)
(i32.mul
- (local.get $11)
+ (local.get $10)
(i32.const 10)
)
)
)
(if
(i32.lt_u
- (local.tee $9
+ (local.tee $8
(i32.add
(i32.load8_s
- (local.tee $10
+ (local.tee $9
(i32.add
- (local.get $10)
+ (local.get $9)
(i32.const 1)
)
)
@@ -2788,11 +2741,11 @@
(i32.const 10)
)
(block
- (local.set $11
- (local.get $6)
+ (local.set $10
+ (local.get $5)
)
- (local.set $6
- (local.get $9)
+ (local.set $5
+ (local.get $8)
)
(br $while-in8)
)
@@ -2800,54 +2753,54 @@
)
(if (result i32)
(i32.lt_s
- (local.get $6)
+ (local.get $5)
(i32.const 0)
)
(block
- (local.set $17
+ (local.set $16
(i32.const -1)
)
(br $label$break$L1)
)
(block (result i32)
- (local.set $11
- (local.get $1)
+ (local.set $10
+ (local.get $19)
)
- (local.set $15
- (local.get $6)
+ (local.set $14
+ (local.get $5)
)
- (local.get $8)
+ (local.get $7)
)
)
)
(block (result i32)
- (local.set $11
- (local.get $1)
+ (local.set $10
+ (local.get $19)
)
- (local.set $15
+ (local.set $14
(i32.const 0)
)
- (local.get $8)
+ (local.get $7)
)
)
)
)
- (local.set $6
+ (local.set $5
(if (result i32)
(i32.eq
(i32.load8_s
- (local.get $10)
+ (local.get $9)
)
(i32.const 46)
)
(block $label$break$L46 (result i32)
(if
(i32.ne
- (local.tee $8
+ (local.tee $7
(i32.load8_s
- (local.tee $6
+ (local.tee $5
(i32.add
- (local.get $10)
+ (local.get $9)
(i32.const 1)
)
)
@@ -2856,29 +2809,29 @@
(i32.const 42)
)
(block
- (local.set $6
+ (local.set $5
(if (result i32)
(i32.lt_u
- (local.tee $9
+ (local.tee $8
(i32.add
- (local.get $8)
+ (local.get $7)
(i32.const -48)
)
)
(i32.const 10)
)
(block (result i32)
- (local.set $10
- (local.get $6)
+ (local.set $9
+ (local.get $5)
)
- (local.set $8
+ (local.set $7
(i32.const 0)
)
- (local.get $9)
+ (local.get $8)
)
(block
- (local.set $10
- (local.get $6)
+ (local.set $9
+ (local.get $5)
)
(br $label$break$L46
(i32.const 0)
@@ -2889,22 +2842,22 @@
(loop $while-in11
(drop
(br_if $label$break$L46
- (local.tee $6
+ (local.tee $5
(i32.add
- (local.get $6)
+ (local.get $5)
(i32.mul
- (local.get $8)
+ (local.get $7)
(i32.const 10)
)
)
)
(i32.ge_u
- (local.tee $9
+ (local.tee $8
(i32.add
(i32.load8_s
- (local.tee $10
+ (local.tee $9
(i32.add
- (local.get $10)
+ (local.get $9)
(i32.const 1)
)
)
@@ -2916,11 +2869,11 @@
)
)
)
- (local.set $8
- (local.get $6)
+ (local.set $7
+ (local.get $5)
)
- (local.set $6
- (local.get $9)
+ (local.set $5
+ (local.get $8)
)
(br $while-in11)
)
@@ -2928,12 +2881,12 @@
)
(if
(i32.lt_u
- (local.tee $8
+ (local.tee $7
(i32.add
(i32.load8_s
- (local.tee $6
+ (local.tee $5
(i32.add
- (local.get $10)
+ (local.get $9)
(i32.const 2)
)
)
@@ -2946,7 +2899,7 @@
(if
(i32.eq
(i32.load8_s offset=3
- (local.get $10)
+ (local.get $9)
)
(i32.const 36)
)
@@ -2954,49 +2907,49 @@
(i32.store
(i32.add
(i32.shl
- (local.get $8)
+ (local.get $7)
(i32.const 2)
)
- (local.get $4)
+ (local.get $3)
)
(i32.const 10)
)
(drop
(i32.load offset=4
- (local.tee $6
+ (local.tee $5
(i32.add
(i32.shl
(i32.add
(i32.load8_s
- (local.get $6)
+ (local.get $5)
)
(i32.const -48)
)
(i32.const 3)
)
- (local.get $3)
+ (local.get $2)
)
)
)
)
- (local.set $10
+ (local.set $9
(i32.add
- (local.get $10)
+ (local.get $9)
(i32.const 4)
)
)
(br $label$break$L46
(i32.load
- (local.get $6)
+ (local.get $5)
)
)
)
)
)
(if
- (local.get $1)
+ (local.get $19)
(block
- (local.set $17
+ (local.set $16
(i32.const -1)
)
(br $label$break$L1)
@@ -3005,13 +2958,13 @@
(if (result i32)
(local.get $28)
(block (result i32)
- (local.set $8
+ (local.set $7
(i32.load
- (local.tee $10
+ (local.tee $9
(i32.and
(i32.add
(i32.load
- (local.get $2)
+ (local.get $1)
)
(i32.const 3)
)
@@ -3021,20 +2974,20 @@
)
)
(i32.store
- (local.get $2)
+ (local.get $1)
(i32.add
- (local.get $10)
+ (local.get $9)
(i32.const 4)
)
)
- (local.set $10
- (local.get $6)
+ (local.set $9
+ (local.get $5)
)
- (local.get $8)
+ (local.get $7)
)
(block (result i32)
- (local.set $10
- (local.get $6)
+ (local.set $9
+ (local.get $5)
)
(i32.const 0)
)
@@ -3043,20 +2996,20 @@
(i32.const -1)
)
)
- (local.set $8
- (local.get $10)
+ (local.set $7
+ (local.get $9)
)
- (local.set $9
+ (local.set $8
(i32.const 0)
)
- (local.set $19
+ (local.set $18
(loop $while-in13 (result i32)
(if
(i32.gt_u
- (local.tee $12
+ (local.tee $11
(i32.add
(i32.load8_s
- (local.get $8)
+ (local.get $7)
)
(i32.const -65)
)
@@ -3064,30 +3017,30 @@
(i32.const 57)
)
(block
- (local.set $17
+ (local.set $16
(i32.const -1)
)
(br $label$break$L1)
)
)
- (local.set $10
+ (local.set $9
(i32.add
- (local.get $8)
+ (local.get $7)
(i32.const 1)
)
)
(if (result i32)
(i32.lt_u
(i32.add
- (local.tee $12
+ (local.tee $11
(i32.and
- (local.tee $13
+ (local.tee $12
(i32.load8_s
(i32.add
- (local.get $12)
+ (local.get $11)
(i32.add
(i32.mul
- (local.get $9)
+ (local.get $8)
(i32.const 58)
)
(i32.const 3611)
@@ -3103,35 +3056,35 @@
(i32.const 8)
)
(block
- (local.set $8
- (local.get $10)
+ (local.set $7
+ (local.get $9)
)
- (local.set $9
- (local.get $12)
+ (local.set $8
+ (local.get $11)
)
(br $while-in13)
)
- (local.get $8)
+ (local.get $7)
)
)
)
(if
(i32.eqz
(i32.and
- (local.get $13)
+ (local.get $12)
(i32.const 255)
)
)
(block
- (local.set $17
+ (local.set $16
(i32.const -1)
)
(br $label$break$L1)
)
)
- (local.set $8
+ (local.set $7
(i32.gt_s
- (local.get $18)
+ (local.get $17)
(i32.const -1)
)
)
@@ -3140,15 +3093,15 @@
(if
(i32.eq
(i32.and
- (local.get $13)
+ (local.get $12)
(i32.const 255)
)
(i32.const 19)
)
(if
- (local.get $8)
+ (local.get $7)
(block
- (local.set $17
+ (local.set $16
(i32.const -1)
)
(br $label$break$L1)
@@ -3157,40 +3110,40 @@
)
(block
(if
- (local.get $8)
+ (local.get $7)
(block
(i32.store
(i32.add
(i32.shl
- (local.get $18)
+ (local.get $17)
(i32.const 2)
)
- (local.get $4)
+ (local.get $3)
)
- (local.get $12)
+ (local.get $11)
)
- (local.set $12
+ (local.set $11
(i32.load offset=4
- (local.tee $8
+ (local.tee $7
(i32.add
(i32.shl
- (local.get $18)
+ (local.get $17)
(i32.const 3)
)
- (local.get $3)
+ (local.get $2)
)
)
)
)
(i32.store
- (local.get $14)
+ (local.get $13)
(i32.load
- (local.get $8)
+ (local.get $7)
)
)
(i32.store offset=4
- (local.get $14)
- (local.get $12)
+ (local.get $13)
+ (local.get $11)
)
(br $__rjti$2)
)
@@ -3200,16 +3153,16 @@
(local.get $28)
)
(block
- (local.set $17
+ (local.set $16
(i32.const 0)
)
(br $label$break$L1)
)
)
(call $_pop_arg_336
- (local.get $14)
- (local.get $12)
- (local.get $2)
+ (local.get $13)
+ (local.get $11)
+ (local.get $1)
)
)
)
@@ -3220,27 +3173,27 @@
(local.get $28)
)
(block
- (local.set $5
- (local.get $10)
+ (local.set $4
+ (local.get $9)
)
- (local.set $10
- (local.get $7)
+ (local.set $9
+ (local.get $6)
)
(br $label$continue$L1)
)
)
)
- (local.set $11
+ (local.set $10
(select
- (local.tee $8
+ (local.tee $7
(i32.and
- (local.get $11)
+ (local.get $10)
(i32.const -65537)
)
)
- (local.get $11)
+ (local.get $10)
(i32.and
- (local.get $11)
+ (local.get $10)
(i32.const 8192)
)
)
@@ -3248,21 +3201,21 @@
(call $_pad
(local.get $0)
(i32.const 32)
- (local.tee $7
+ (local.tee $6
(select
- (local.tee $6
+ (local.tee $5
(i32.add
- (local.tee $12
+ (local.tee $11
(select
- (local.tee $13
+ (local.tee $12
(i32.sub
(block $__rjto$8 (result i32)
(block $__rjti$8
(call $_pad
(local.get $0)
(i32.const 32)
- (local.get $15)
- (local.tee $7
+ (local.get $14)
+ (local.tee $6
(block $__rjti$7 (result i32)
(block $__rjti$6
(block $__rjti$5
@@ -3283,27 +3236,27 @@
(block $switch-case27
(br_table $switch-case119 $switch-default120 $switch-case40 $switch-default120 $switch-case119 $switch-case119 $switch-case119 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case41 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case30 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case119 $switch-default120 $switch-case37 $switch-case35 $switch-case119 $switch-case119 $switch-case119 $switch-default120 $switch-case35 $switch-default120 $switch-default120 $switch-default120 $switch-case38 $switch-case27 $switch-case33 $switch-case28 $switch-default120 $switch-default120 $switch-case39 $switch-default120 $switch-case36 $switch-default120 $switch-default120 $switch-case30 $switch-default120
(i32.sub
- (local.tee $19
+ (local.tee $18
(select
(i32.and
- (local.tee $12
+ (local.tee $11
(i32.load8_s
- (local.get $19)
+ (local.get $18)
)
)
(i32.const -33)
)
- (local.get $12)
+ (local.get $11)
(i32.and
(i32.eq
(i32.and
- (local.get $12)
+ (local.get $11)
(i32.const 15)
)
(i32.const 3)
)
(i32.ne
- (local.get $9)
+ (local.get $8)
(i32.const 0)
)
)
@@ -3322,51 +3275,51 @@
(block $switch-case20
(block $switch-case19
(br_table $switch-case19 $switch-case20 $switch-case21 $switch-case22 $switch-case23 $switch-default26 $switch-case24 $switch-case25 $switch-default26
- (local.get $9)
+ (local.get $8)
)
)
(i32.store
(i32.load
- (local.get $14)
+ (local.get $13)
)
- (local.get $17)
+ (local.get $16)
)
- (local.set $5
- (local.get $10)
+ (local.set $4
+ (local.get $9)
)
- (local.set $10
- (local.get $7)
+ (local.set $9
+ (local.get $6)
)
(br $label$continue$L1)
)
(i32.store
(i32.load
- (local.get $14)
+ (local.get $13)
)
- (local.get $17)
+ (local.get $16)
)
- (local.set $5
- (local.get $10)
+ (local.set $4
+ (local.get $9)
)
- (local.set $10
- (local.get $7)
+ (local.set $9
+ (local.get $6)
)
(br $label$continue$L1)
)
(i32.store
- (local.tee $5
+ (local.tee $4
(i32.load
- (local.get $14)
+ (local.get $13)
)
)
- (local.get $17)
+ (local.get $16)
)
(i32.store offset=4
- (local.get $5)
+ (local.get $4)
(i32.shr_s
(i32.shl
(i32.lt_s
- (local.get $17)
+ (local.get $16)
(i32.const 0)
)
(i32.const 31)
@@ -3374,70 +3327,70 @@
(i32.const 31)
)
)
- (local.set $5
- (local.get $10)
+ (local.set $4
+ (local.get $9)
)
- (local.set $10
- (local.get $7)
+ (local.set $9
+ (local.get $6)
)
(br $label$continue$L1)
)
(i32.store16
(i32.load
- (local.get $14)
+ (local.get $13)
)
- (local.get $17)
+ (local.get $16)
)
- (local.set $5
- (local.get $10)
+ (local.set $4
+ (local.get $9)
)
- (local.set $10
- (local.get $7)
+ (local.set $9
+ (local.get $6)
)
(br $label$continue$L1)
)
(i32.store8
(i32.load
- (local.get $14)
+ (local.get $13)
)
- (local.get $17)
+ (local.get $16)
)
- (local.set $5
- (local.get $10)
+ (local.set $4
+ (local.get $9)
)
- (local.set $10
- (local.get $7)
+ (local.set $9
+ (local.get $6)
)
(br $label$continue$L1)
)
(i32.store
(i32.load
- (local.get $14)
+ (local.get $13)
)
- (local.get $17)
+ (local.get $16)
)
- (local.set $5
- (local.get $10)
+ (local.set $4
+ (local.get $9)
)
- (local.set $10
- (local.get $7)
+ (local.set $9
+ (local.get $6)
)
(br $label$continue$L1)
)
(i32.store
- (local.tee $5
+ (local.tee $4
(i32.load
- (local.get $14)
+ (local.get $13)
)
)
- (local.get $17)
+ (local.get $16)
)
(i32.store offset=4
- (local.get $5)
+ (local.get $4)
(i32.shr_s
(i32.shl
(i32.lt_s
- (local.get $17)
+ (local.get $16)
(i32.const 0)
)
(i32.const 31)
@@ -3445,76 +3398,76 @@
(i32.const 31)
)
)
- (local.set $5
- (local.get $10)
+ (local.set $4
+ (local.get $9)
)
- (local.set $10
- (local.get $7)
+ (local.set $9
+ (local.get $6)
)
(br $label$continue$L1)
)
- (local.set $5
- (local.get $10)
+ (local.set $4
+ (local.get $9)
)
- (local.set $10
- (local.get $7)
+ (local.set $9
+ (local.get $6)
)
(br $label$continue$L1)
)
- (local.set $5
+ (local.set $4
(i32.or
- (local.get $11)
+ (local.get $10)
(i32.const 8)
)
)
- (local.set $6
+ (local.set $5
(select
- (local.get $6)
+ (local.get $5)
(i32.const 8)
(i32.gt_u
- (local.get $6)
+ (local.get $5)
(i32.const 8)
)
)
)
- (local.set $19
+ (local.set $18
(i32.const 120)
)
(br $__rjti$3)
)
- (local.set $5
- (local.get $11)
+ (local.set $4
+ (local.get $10)
)
(br $__rjti$3)
)
(if
(i32.or
- (local.tee $5
+ (local.tee $4
(i32.load
- (local.get $14)
+ (local.get $13)
)
)
- (local.tee $7
+ (local.tee $6
(i32.load offset=4
- (local.get $14)
+ (local.get $13)
)
)
)
(block
- (local.set $8
+ (local.set $7
(local.get $25)
)
(loop $while-in32
(i32.store8
- (local.tee $8
+ (local.tee $7
(i32.add
- (local.get $8)
+ (local.get $7)
(i32.const -1)
)
)
(i32.or
(i32.and
- (local.get $5)
+ (local.get $4)
(i32.const 7)
)
(i32.const 48)
@@ -3522,129 +3475,129 @@
)
(br_if $while-in32
(i32.or
- (local.tee $5
+ (local.tee $4
(call $_bitshift64Lshr
- (local.get $5)
- (local.get $7)
+ (local.get $4)
+ (local.get $6)
(i32.const 3)
)
)
- (local.tee $7
+ (local.tee $6
(global.get $tempRet0)
)
)
)
)
)
- (local.set $8
+ (local.set $7
(local.get $25)
)
)
(if
(i32.and
- (local.get $11)
+ (local.get $10)
(i32.const 8)
)
(block
- (local.set $5
- (local.get $11)
+ (local.set $4
+ (local.get $10)
)
- (local.set $6
+ (local.set $5
(select
- (local.tee $11
+ (local.tee $10
(i32.add
(i32.sub
(local.get $38)
- (local.tee $7
- (local.get $8)
+ (local.tee $6
+ (local.get $7)
)
)
(i32.const 1)
)
)
- (local.get $6)
+ (local.get $5)
(i32.lt_s
- (local.get $6)
- (local.get $11)
+ (local.get $5)
+ (local.get $10)
)
)
)
)
(block
- (local.set $7
- (local.get $8)
+ (local.set $6
+ (local.get $7)
)
- (local.set $5
- (local.get $11)
+ (local.set $4
+ (local.get $10)
)
)
)
- (local.set $8
+ (local.set $7
(i32.const 0)
)
- (local.set $9
+ (local.set $8
(i32.const 4091)
)
(br $__rjti$8)
)
- (local.set $5
+ (local.set $4
(i32.load
- (local.get $14)
+ (local.get $13)
)
)
(if
(i32.lt_s
- (local.tee $7
+ (local.tee $6
(i32.load offset=4
- (local.get $14)
+ (local.get $13)
)
)
(i32.const 0)
)
(block
(i32.store
- (local.get $14)
- (local.tee $5
+ (local.get $13)
+ (local.tee $4
(call $_i64Subtract
(i32.const 0)
(i32.const 0)
- (local.get $5)
- (local.get $7)
+ (local.get $4)
+ (local.get $6)
)
)
)
(i32.store offset=4
- (local.get $14)
- (local.tee $7
+ (local.get $13)
+ (local.tee $6
(global.get $tempRet0)
)
)
- (local.set $8
+ (local.set $7
(i32.const 1)
)
- (local.set $9
+ (local.set $8
(i32.const 4091)
)
(br $__rjti$4)
)
)
- (local.set $9
+ (local.set $8
(if (result i32)
(i32.and
- (local.get $11)
+ (local.get $10)
(i32.const 2048)
)
(block (result i32)
- (local.set $8
+ (local.set $7
(i32.const 1)
)
(i32.const 4092)
)
(block (result i32)
- (local.set $8
- (local.tee $9
+ (local.set $7
+ (local.tee $8
(i32.and
- (local.get $11)
+ (local.get $10)
(i32.const 1)
)
)
@@ -3652,27 +3605,27 @@
(select
(i32.const 4093)
(i32.const 4091)
- (local.get $9)
+ (local.get $8)
)
)
)
)
(br $__rjti$4)
)
- (local.set $5
+ (local.set $4
(i32.load
- (local.get $14)
+ (local.get $13)
)
)
- (local.set $7
+ (local.set $6
(i32.load offset=4
- (local.get $14)
+ (local.get $13)
)
)
- (local.set $8
+ (local.set $7
(i32.const 0)
)
- (local.set $9
+ (local.set $8
(i32.const 4091)
)
(br $__rjti$4)
@@ -3680,29 +3633,29 @@
(i32.store8
(local.get $39)
(i32.load
- (local.get $14)
+ (local.get $13)
)
)
- (local.set $5
+ (local.set $4
(local.get $39)
)
- (local.set $11
- (local.get $8)
+ (local.set $10
+ (local.get $7)
)
- (local.set $12
+ (local.set $11
(i32.const 1)
)
- (local.set $8
+ (local.set $7
(i32.const 0)
)
- (local.set $9
+ (local.set $8
(i32.const 4091)
)
(br $__rjto$8
(local.get $25)
)
)
- (local.set $7
+ (local.set $6
(call $_strerror
(i32.load
(call $___errno_location)
@@ -3711,15 +3664,15 @@
)
(br $__rjti$5)
)
- (local.set $7
+ (local.set $6
(select
- (local.tee $5
+ (local.tee $4
(i32.load
- (local.get $14)
+ (local.get $13)
)
)
(i32.const 4101)
- (local.get $5)
+ (local.get $4)
)
)
(br $__rjti$5)
@@ -3727,7 +3680,7 @@
(i32.store
(local.get $40)
(i32.load
- (local.get $14)
+ (local.get $13)
)
)
(i32.store
@@ -3735,19 +3688,19 @@
(i32.const 0)
)
(i32.store
- (local.get $14)
+ (local.get $13)
(local.get $40)
)
- (local.set $8
+ (local.set $7
(i32.const -1)
)
(br $__rjti$6)
)
(if
- (local.get $6)
+ (local.get $5)
(block
- (local.set $8
- (local.get $6)
+ (local.set $7
+ (local.get $5)
)
(br $__rjti$6)
)
@@ -3755,9 +3708,9 @@
(call $_pad
(local.get $0)
(i32.const 32)
- (local.get $15)
+ (local.get $14)
(i32.const 0)
- (local.get $11)
+ (local.get $10)
)
(br $__rjti$7
(i32.const 0)
@@ -3765,9 +3718,9 @@
)
)
)
- (local.set $16
+ (local.set $15
(f64.load
- (local.get $14)
+ (local.get $13)
)
)
(i32.store
@@ -3776,7 +3729,7 @@
)
(f64.store
(global.get $tempDoublePtr)
- (local.get $16)
+ (local.get $15)
)
(local.set $30
(if (result i32)
@@ -3790,16 +3743,16 @@
(local.set $26
(i32.const 1)
)
- (local.set $16
+ (local.set $15
(f64.neg
- (local.get $16)
+ (local.get $15)
)
)
(i32.const 4108)
)
(if (result i32)
(i32.and
- (local.get $11)
+ (local.get $10)
(i32.const 2048)
)
(block (result i32)
@@ -3810,9 +3763,9 @@
)
(block (result i32)
(local.set $26
- (local.tee $5
+ (local.tee $4
(i32.and
- (local.get $11)
+ (local.get $10)
(i32.const 1)
)
)
@@ -3820,7 +3773,7 @@
(select
(i32.const 4114)
(i32.const 4109)
- (local.get $5)
+ (local.get $4)
)
)
)
@@ -3828,9 +3781,9 @@
)
(f64.store
(global.get $tempDoublePtr)
- (local.get $16)
+ (local.get $15)
)
- (local.set $7
+ (local.set $6
(if (result i32)
(i32.lt_u
(i32.and
@@ -3843,12 +3796,12 @@
)
(block $do-once49 (result i32)
(if
- (local.tee $5
+ (local.tee $4
(f64.ne
(local.tee $22
(f64.mul
(call $_frexp
- (local.get $16)
+ (local.get $15)
(local.get $20)
)
(f64.const 2)
@@ -3871,60 +3824,60 @@
(i32.eq
(local.tee $24
(i32.or
- (local.get $19)
+ (local.get $18)
(i32.const 32)
)
)
(i32.const 97)
)
(block
- (local.set $9
+ (local.set $8
(select
(i32.add
(local.get $30)
(i32.const 9)
)
(local.get $30)
- (local.tee $13
+ (local.tee $12
(i32.and
- (local.get $19)
+ (local.get $18)
(i32.const 32)
)
)
)
)
- (local.set $16
+ (local.set $15
(if (result f64)
(i32.or
(i32.eqz
- (local.tee $5
+ (local.tee $4
(i32.sub
(i32.const 12)
- (local.get $6)
+ (local.get $5)
)
)
)
(i32.gt_u
- (local.get $6)
+ (local.get $5)
(i32.const 11)
)
)
(local.get $22)
(block (result f64)
- (local.set $16
+ (local.set $15
(f64.const 8)
)
(loop $while-in54
- (local.set $16
+ (local.set $15
(f64.mul
- (local.get $16)
+ (local.get $15)
(f64.const 16)
)
)
(br_if $while-in54
- (local.tee $5
+ (local.tee $4
(i32.add
- (local.get $5)
+ (local.get $4)
(i32.const -1)
)
)
@@ -3933,25 +3886,25 @@
(select
(f64.neg
(f64.add
- (local.get $16)
+ (local.get $15)
(f64.sub
(f64.neg
(local.get $22)
)
- (local.get $16)
+ (local.get $15)
)
)
)
(f64.sub
(f64.add
(local.get $22)
- (local.get $16)
+ (local.get $15)
)
- (local.get $16)
+ (local.get $15)
)
(i32.eq
(i32.load8_s
- (local.get $9)
+ (local.get $8)
)
(i32.const 45)
)
@@ -3959,7 +3912,7 @@
)
)
)
- (local.set $12
+ (local.set $11
(i32.or
(local.get $26)
(i32.const 2)
@@ -3967,21 +3920,21 @@
)
(if
(i32.eq
- (local.tee $5
+ (local.tee $4
(call $_fmt_u
- (local.tee $5
+ (local.tee $4
(select
(i32.sub
(i32.const 0)
- (local.tee $7
+ (local.tee $6
(i32.load
(local.get $20)
)
)
)
- (local.get $7)
+ (local.get $6)
(i32.lt_s
- (local.get $7)
+ (local.get $6)
(i32.const 0)
)
)
@@ -3989,7 +3942,7 @@
(i32.shr_s
(i32.shl
(i32.lt_s
- (local.get $5)
+ (local.get $4)
(i32.const 0)
)
(i32.const 31)
@@ -4006,20 +3959,20 @@
(local.get $41)
(i32.const 48)
)
- (local.set $5
+ (local.set $4
(local.get $41)
)
)
)
(i32.store8
(i32.add
- (local.get $5)
+ (local.get $4)
(i32.const -1)
)
(i32.add
(i32.and
(i32.shr_s
- (local.get $7)
+ (local.get $6)
(i32.const 31)
)
(i32.const 2)
@@ -4028,44 +3981,44 @@
)
)
(i32.store8
- (local.tee $8
+ (local.tee $7
(i32.add
- (local.get $5)
+ (local.get $4)
(i32.const -2)
)
)
(i32.add
- (local.get $19)
+ (local.get $18)
(i32.const 15)
)
)
- (local.set $19
+ (local.set $18
(i32.lt_s
- (local.get $6)
+ (local.get $5)
(i32.const 1)
)
)
- (local.set $18
+ (local.set $17
(i32.eqz
(i32.and
- (local.get $11)
+ (local.get $10)
(i32.const 8)
)
)
)
- (local.set $5
+ (local.set $4
(local.get $23)
)
(loop $while-in56
(i32.store8
- (local.get $5)
+ (local.get $4)
(i32.or
- (local.get $13)
+ (local.get $12)
(i32.load8_u
(i32.add
- (local.tee $7
+ (local.tee $6
(i32.trunc_f64_s
- (local.get $16)
+ (local.get $15)
)
)
(i32.const 4075)
@@ -4073,24 +4026,24 @@
)
)
)
- (local.set $16
+ (local.set $15
(f64.mul
(f64.sub
- (local.get $16)
+ (local.get $15)
(f64.convert_i32_s
- (local.get $7)
+ (local.get $6)
)
)
(f64.const 16)
)
)
- (local.set $5
+ (local.set $4
(if (result i32)
(i32.eq
(i32.sub
- (local.tee $7
+ (local.tee $6
(i32.add
- (local.get $5)
+ (local.get $4)
(i32.const 1)
)
)
@@ -4102,31 +4055,31 @@
(i32.and
(i32.and
(f64.eq
- (local.get $16)
+ (local.get $15)
(f64.const 0)
)
- (local.get $19)
+ (local.get $18)
)
- (local.get $18)
+ (local.get $17)
)
- (local.get $7)
+ (local.get $6)
(block (result i32)
(i32.store8
- (local.get $7)
+ (local.get $6)
(i32.const 46)
)
(i32.add
- (local.get $5)
+ (local.get $4)
(i32.const 2)
)
)
)
- (local.get $7)
+ (local.get $6)
)
)
(br_if $while-in56
(f64.ne
- (local.get $16)
+ (local.get $15)
(f64.const 0)
)
)
@@ -4134,44 +4087,44 @@
(call $_pad
(local.get $0)
(i32.const 32)
- (local.get $15)
- (local.tee $7
+ (local.get $14)
+ (local.tee $6
(i32.add
- (local.get $12)
- (local.tee $6
+ (local.get $11)
+ (local.tee $5
(select
(i32.sub
(i32.add
- (local.get $6)
+ (local.get $5)
(local.get $46)
)
- (local.get $8)
+ (local.get $7)
)
(i32.add
- (local.get $5)
+ (local.get $4)
(i32.sub
(local.get $44)
- (local.get $8)
+ (local.get $7)
)
)
(i32.and
(i32.ne
- (local.get $6)
+ (local.get $5)
(i32.const 0)
)
(i32.lt_s
(i32.add
- (local.get $5)
+ (local.get $4)
(local.get $45)
)
- (local.get $6)
+ (local.get $5)
)
)
)
)
)
)
- (local.get $11)
+ (local.get $10)
)
(if
(i32.eqz
@@ -4182,27 +4135,25 @@
(i32.const 32)
)
)
- (drop
- (call $___fwritex
- (local.get $9)
- (local.get $12)
- (local.get $0)
- )
+ (call $___fwritex
+ (local.get $8)
+ (local.get $11)
+ (local.get $0)
)
)
(call $_pad
(local.get $0)
(i32.const 48)
- (local.get $15)
- (local.get $7)
+ (local.get $14)
+ (local.get $6)
(i32.xor
- (local.get $11)
+ (local.get $10)
(i32.const 65536)
)
)
- (local.set $5
+ (local.set $4
(i32.sub
- (local.get $5)
+ (local.get $4)
(local.get $36)
)
)
@@ -4215,25 +4166,23 @@
(i32.const 32)
)
)
- (drop
- (call $___fwritex
- (local.get $23)
- (local.get $5)
- (local.get $0)
- )
+ (call $___fwritex
+ (local.get $23)
+ (local.get $4)
+ (local.get $0)
)
)
(call $_pad
(local.get $0)
(i32.const 48)
(i32.sub
- (local.get $6)
+ (local.get $5)
(i32.add
- (local.get $5)
- (local.tee $5
+ (local.get $4)
+ (local.tee $4
(i32.sub
(local.get $27)
- (local.get $8)
+ (local.get $7)
)
)
)
@@ -4250,43 +4199,41 @@
(i32.const 32)
)
)
- (drop
- (call $___fwritex
- (local.get $8)
- (local.get $5)
- (local.get $0)
- )
+ (call $___fwritex
+ (local.get $7)
+ (local.get $4)
+ (local.get $0)
)
)
(call $_pad
(local.get $0)
(i32.const 32)
- (local.get $15)
- (local.get $7)
+ (local.get $14)
+ (local.get $6)
(i32.xor
- (local.get $11)
+ (local.get $10)
(i32.const 8192)
)
)
(br $do-once49
(select
- (local.get $15)
- (local.get $7)
+ (local.get $14)
+ (local.get $6)
(i32.lt_s
- (local.get $7)
- (local.get $15)
+ (local.get $6)
+ (local.get $14)
)
)
)
)
)
- (local.set $16
+ (local.set $15
(if (result f64)
- (local.get $5)
+ (local.get $4)
(block (result f64)
(i32.store
(local.get $20)
- (local.tee $5
+ (local.tee $4
(i32.add
(i32.load
(local.get $20)
@@ -4301,7 +4248,7 @@
)
)
(block (result f64)
- (local.set $5
+ (local.set $4
(i32.load
(local.get $20)
)
@@ -4310,13 +4257,13 @@
)
)
)
- (local.set $7
- (local.tee $8
+ (local.set $6
+ (local.tee $7
(select
(local.get $47)
(local.get $48)
(i32.lt_s
- (local.get $5)
+ (local.get $4)
(i32.const 0)
)
)
@@ -4324,27 +4271,27 @@
)
(loop $while-in60
(i32.store
- (local.get $7)
- (local.tee $5
+ (local.get $6)
+ (local.tee $4
(i32.trunc_f64_u
- (local.get $16)
+ (local.get $15)
)
)
)
- (local.set $7
+ (local.set $6
(i32.add
- (local.get $7)
+ (local.get $6)
(i32.const 4)
)
)
(br_if $while-in60
(f64.ne
- (local.tee $16
+ (local.tee $15
(f64.mul
(f64.sub
- (local.get $16)
+ (local.get $15)
(f64.convert_i32_u
- (local.get $5)
+ (local.get $4)
)
)
(f64.const 1e9)
@@ -4356,7 +4303,7 @@
)
(if
(i32.gt_s
- (local.tee $9
+ (local.tee $8
(i32.load
(local.get $20)
)
@@ -4364,113 +4311,113 @@
(i32.const 0)
)
(block
- (local.set $5
- (local.get $8)
+ (local.set $4
+ (local.get $7)
)
(loop $while-in62
- (local.set $13
+ (local.set $12
(select
(i32.const 29)
- (local.get $9)
+ (local.get $8)
(i32.gt_s
- (local.get $9)
+ (local.get $8)
(i32.const 29)
)
)
)
(if
(i32.ge_u
- (local.tee $9
+ (local.tee $8
(i32.add
- (local.get $7)
+ (local.get $6)
(i32.const -4)
)
)
- (local.get $5)
+ (local.get $4)
)
(block $do-once63
- (local.set $12
+ (local.set $11
(i32.const 0)
)
(loop $while-in66
(i32.store
- (local.get $9)
+ (local.get $8)
(call $___uremdi3
- (local.tee $12
+ (local.tee $11
(call $_i64Add
(call $_bitshift64Shl
(i32.load
- (local.get $9)
+ (local.get $8)
)
(i32.const 0)
- (local.get $13)
+ (local.get $12)
)
(global.get $tempRet0)
- (local.get $12)
+ (local.get $11)
(i32.const 0)
)
)
- (local.tee $18
+ (local.tee $17
(global.get $tempRet0)
)
(i32.const 1000000000)
)
)
- (local.set $12
+ (local.set $11
(call $___udivdi3
- (local.get $12)
- (local.get $18)
+ (local.get $11)
+ (local.get $17)
(i32.const 1000000000)
)
)
(br_if $while-in66
(i32.ge_u
- (local.tee $9
+ (local.tee $8
(i32.add
- (local.get $9)
+ (local.get $8)
(i32.const -4)
)
)
- (local.get $5)
+ (local.get $4)
)
)
)
(br_if $do-once63
(i32.eqz
- (local.get $12)
+ (local.get $11)
)
)
(i32.store
- (local.tee $5
+ (local.tee $4
(i32.add
- (local.get $5)
+ (local.get $4)
(i32.const -4)
)
)
- (local.get $12)
+ (local.get $11)
)
)
)
(loop $while-in68
(if
(i32.gt_u
- (local.get $7)
- (local.get $5)
+ (local.get $6)
+ (local.get $4)
)
(if
(i32.eqz
(i32.load
- (local.tee $9
+ (local.tee $8
(i32.add
- (local.get $7)
+ (local.get $6)
(i32.const -4)
)
)
)
)
(block
- (local.set $7
- (local.get $9)
+ (local.set $6
+ (local.get $8)
)
(br $while-in68)
)
@@ -4479,40 +4426,40 @@
)
(i32.store
(local.get $20)
- (local.tee $9
+ (local.tee $8
(i32.sub
(i32.load
(local.get $20)
)
- (local.get $13)
+ (local.get $12)
)
)
)
(br_if $while-in62
(i32.gt_s
- (local.get $9)
+ (local.get $8)
(i32.const 0)
)
)
)
)
- (local.set $5
- (local.get $8)
+ (local.set $4
+ (local.get $7)
)
)
- (local.set $18
+ (local.set $17
(select
(i32.const 6)
- (local.get $6)
+ (local.get $5)
(i32.lt_s
- (local.get $6)
+ (local.get $5)
(i32.const 0)
)
)
)
(if
(i32.lt_s
- (local.get $9)
+ (local.get $8)
(i32.const 0)
)
(block
@@ -4520,7 +4467,7 @@
(i32.add
(i32.div_s
(i32.add
- (local.get $18)
+ (local.get $17)
(i32.const 25)
)
(i32.const 9)
@@ -4534,40 +4481,40 @@
(i32.const 102)
)
)
- (local.set $6
- (local.get $5)
- )
(local.set $5
- (local.get $7)
+ (local.get $4)
)
- (local.set $5
+ (local.set $4
+ (local.get $6)
+ )
+ (local.set $4
(loop $while-in70 (result i32)
- (local.set $13
+ (local.set $12
(select
(i32.const 9)
- (local.tee $7
+ (local.tee $6
(i32.sub
(i32.const 0)
- (local.get $9)
+ (local.get $8)
)
)
(i32.gt_s
- (local.get $7)
+ (local.get $6)
(i32.const 9)
)
)
)
(if
(i32.lt_u
- (local.get $6)
(local.get $5)
+ (local.get $4)
)
(block $do-once71
- (local.set $12
+ (local.set $11
(i32.add
(i32.shl
(i32.const 1)
- (local.get $13)
+ (local.get $12)
)
(i32.const -1)
)
@@ -4575,99 +4522,99 @@
(local.set $37
(i32.shr_u
(i32.const 1000000000)
- (local.get $13)
+ (local.get $12)
)
)
- (local.set $9
+ (local.set $8
(i32.const 0)
)
- (local.set $7
- (local.get $6)
+ (local.set $6
+ (local.get $5)
)
(loop $while-in74
(i32.store
- (local.get $7)
+ (local.get $6)
(i32.add
- (local.get $9)
+ (local.get $8)
(i32.shr_u
- (local.tee $9
+ (local.tee $8
(i32.load
- (local.get $7)
+ (local.get $6)
)
)
- (local.get $13)
+ (local.get $12)
)
)
)
- (local.set $9
+ (local.set $8
(i32.mul
(i32.and
- (local.get $9)
- (local.get $12)
+ (local.get $8)
+ (local.get $11)
)
(local.get $37)
)
)
(br_if $while-in74
(i32.lt_u
- (local.tee $7
+ (local.tee $6
(i32.add
- (local.get $7)
+ (local.get $6)
(i32.const 4)
)
)
- (local.get $5)
+ (local.get $4)
)
)
)
- (local.set $7
+ (local.set $6
(select
- (local.get $6)
+ (local.get $5)
(i32.add
- (local.get $6)
+ (local.get $5)
(i32.const 4)
)
(i32.load
- (local.get $6)
+ (local.get $5)
)
)
)
(br_if $do-once71
(i32.eqz
- (local.get $9)
+ (local.get $8)
)
)
(i32.store
- (local.get $5)
- (local.get $9)
+ (local.get $4)
+ (local.get $8)
)
- (local.set $5
+ (local.set $4
(i32.add
- (local.get $5)
+ (local.get $4)
(i32.const 4)
)
)
)
- (local.set $7
+ (local.set $6
(select
- (local.get $6)
+ (local.get $5)
(i32.add
- (local.get $6)
+ (local.get $5)
(i32.const 4)
)
(i32.load
- (local.get $6)
+ (local.get $5)
)
)
)
)
- (local.set $12
+ (local.set $11
(select
(i32.add
- (local.tee $6
+ (local.tee $5
(select
- (local.get $8)
(local.get $7)
+ (local.get $6)
(local.get $31)
)
)
@@ -4676,12 +4623,12 @@
(i32.const 2)
)
)
- (local.get $5)
+ (local.get $4)
(i32.gt_s
(i32.shr_s
(i32.sub
+ (local.get $4)
(local.get $5)
- (local.get $6)
)
(i32.const 2)
)
@@ -4691,58 +4638,58 @@
)
(i32.store
(local.get $20)
- (local.tee $9
+ (local.tee $8
(i32.add
(i32.load
(local.get $20)
)
- (local.get $13)
+ (local.get $12)
)
)
)
(if (result i32)
(i32.lt_s
- (local.get $9)
+ (local.get $8)
(i32.const 0)
)
(block
- (local.set $6
- (local.get $7)
- )
(local.set $5
- (local.get $12)
+ (local.get $6)
+ )
+ (local.set $4
+ (local.get $11)
)
(br $while-in70)
)
(block (result i32)
- (local.set $9
- (local.get $12)
+ (local.set $8
+ (local.get $11)
)
- (local.get $7)
+ (local.get $6)
)
)
)
)
)
- (local.set $9
- (local.get $7)
+ (local.set $8
+ (local.get $6)
)
)
(local.set $21
- (local.get $8)
+ (local.get $7)
)
(if
(i32.lt_u
- (local.get $5)
- (local.get $9)
+ (local.get $4)
+ (local.get $8)
)
(block $do-once75
- (local.set $7
+ (local.set $6
(i32.mul
(i32.shr_s
(i32.sub
(local.get $21)
- (local.get $5)
+ (local.get $4)
)
(i32.const 2)
)
@@ -4751,30 +4698,30 @@
)
(br_if $do-once75
(i32.lt_u
- (local.tee $12
+ (local.tee $11
(i32.load
- (local.get $5)
+ (local.get $4)
)
)
(i32.const 10)
)
)
- (local.set $6
+ (local.set $5
(i32.const 10)
)
(loop $while-in78
- (local.set $7
+ (local.set $6
(i32.add
- (local.get $7)
+ (local.get $6)
(i32.const 1)
)
)
(br_if $while-in78
(i32.ge_u
- (local.get $12)
- (local.tee $6
+ (local.get $11)
+ (local.tee $5
(i32.mul
- (local.get $6)
+ (local.get $5)
(i32.const 10)
)
)
@@ -4782,19 +4729,19 @@
)
)
)
- (local.set $7
+ (local.set $6
(i32.const 0)
)
)
- (local.set $5
+ (local.set $4
(if (result i32)
(i32.lt_s
- (local.tee $6
+ (local.tee $5
(i32.add
(i32.sub
- (local.get $18)
+ (local.get $17)
(select
- (local.get $7)
+ (local.get $6)
(i32.const 0)
(i32.ne
(local.get $24)
@@ -4813,7 +4760,7 @@
)
(local.tee $37
(i32.ne
- (local.get $18)
+ (local.get $17)
(i32.const 0)
)
)
@@ -4828,7 +4775,7 @@
(i32.mul
(i32.shr_s
(i32.sub
- (local.get $9)
+ (local.get $8)
(local.get $21)
)
(i32.const 2)
@@ -4841,12 +4788,12 @@
(block (result i32)
(if
(i32.lt_s
- (local.tee $6
+ (local.tee $5
(i32.add
(i32.rem_s
- (local.tee $13
+ (local.tee $12
(i32.add
- (local.get $6)
+ (local.get $5)
(i32.const 9216)
)
)
@@ -4858,21 +4805,21 @@
(i32.const 9)
)
(block
- (local.set $12
+ (local.set $11
(i32.const 10)
)
(loop $while-in80
- (local.set $12
+ (local.set $11
(i32.mul
- (local.get $12)
+ (local.get $11)
(i32.const 10)
)
)
(br_if $while-in80
(i32.ne
- (local.tee $6
+ (local.tee $5
(i32.add
- (local.get $6)
+ (local.get $5)
(i32.const 1)
)
)
@@ -4881,32 +4828,32 @@
)
)
)
- (local.set $12
+ (local.set $11
(i32.const 10)
)
)
- (local.set $13
+ (local.set $12
(i32.rem_u
(local.tee $24
(i32.load
- (local.tee $6
+ (local.tee $5
(i32.add
(i32.add
(i32.shl
(i32.div_s
- (local.get $13)
+ (local.get $12)
(i32.const 9)
)
(i32.const 2)
)
- (local.get $8)
+ (local.get $7)
)
(i32.const -4092)
)
)
)
)
- (local.get $12)
+ (local.get $11)
)
)
(if
@@ -4915,25 +4862,25 @@
(local.tee $49
(i32.eq
(i32.add
- (local.get $6)
+ (local.get $5)
(i32.const 4)
)
- (local.get $9)
+ (local.get $8)
)
)
(i32.eqz
- (local.get $13)
+ (local.get $12)
)
)
)
(block $do-once81
- (local.set $16
+ (local.set $15
(if (result f64)
(i32.lt_u
- (local.get $13)
+ (local.get $12)
(local.tee $50
(i32.div_s
- (local.get $12)
+ (local.get $11)
(i32.const 2)
)
)
@@ -4945,7 +4892,7 @@
(i32.and
(local.get $49)
(i32.eq
- (local.get $13)
+ (local.get $12)
(local.get $50)
)
)
@@ -4959,7 +4906,7 @@
(i32.and
(i32.div_u
(local.get $24)
- (local.get $12)
+ (local.get $11)
)
(i32.const 1)
)
@@ -4975,9 +4922,9 @@
(i32.const 45)
)
(block
- (local.set $16
+ (local.set $15
(f64.neg
- (local.get $16)
+ (local.get $15)
)
)
(local.set $22
@@ -4989,11 +4936,11 @@
)
)
(i32.store
- (local.get $6)
- (local.tee $13
+ (local.get $5)
+ (local.tee $12
(i32.sub
(local.get $24)
- (local.get $13)
+ (local.get $12)
)
)
)
@@ -5001,44 +4948,44 @@
(f64.eq
(f64.add
(local.get $22)
- (local.get $16)
+ (local.get $15)
)
(local.get $22)
)
)
(i32.store
- (local.get $6)
- (local.tee $7
+ (local.get $5)
+ (local.tee $6
(i32.add
+ (local.get $11)
(local.get $12)
- (local.get $13)
)
)
)
(if
(i32.gt_u
- (local.get $7)
+ (local.get $6)
(i32.const 999999999)
)
(loop $while-in86
(i32.store
- (local.get $6)
+ (local.get $5)
(i32.const 0)
)
(if
(i32.lt_u
- (local.tee $6
+ (local.tee $5
(i32.add
- (local.get $6)
+ (local.get $5)
(i32.const -4)
)
)
- (local.get $5)
+ (local.get $4)
)
(i32.store
- (local.tee $5
+ (local.tee $4
(i32.add
- (local.get $5)
+ (local.get $4)
(i32.const -4)
)
)
@@ -5046,11 +4993,11 @@
)
)
(i32.store
- (local.get $6)
- (local.tee $7
+ (local.get $5)
+ (local.tee $6
(i32.add
(i32.load
- (local.get $6)
+ (local.get $5)
)
(i32.const 1)
)
@@ -5058,18 +5005,18 @@
)
(br_if $while-in86
(i32.gt_u
- (local.get $7)
+ (local.get $6)
(i32.const 999999999)
)
)
)
)
- (local.set $7
+ (local.set $6
(i32.mul
(i32.shr_s
(i32.sub
(local.get $21)
- (local.get $5)
+ (local.get $4)
)
(i32.const 2)
)
@@ -5078,30 +5025,30 @@
)
(br_if $do-once81
(i32.lt_u
- (local.tee $13
+ (local.tee $12
(i32.load
- (local.get $5)
+ (local.get $4)
)
)
(i32.const 10)
)
)
- (local.set $12
+ (local.set $11
(i32.const 10)
)
(loop $while-in88
- (local.set $7
+ (local.set $6
(i32.add
- (local.get $7)
+ (local.get $6)
(i32.const 1)
)
)
(br_if $while-in88
(i32.ge_u
- (local.get $13)
- (local.tee $12
+ (local.get $12)
+ (local.tee $11
(i32.mul
- (local.get $12)
+ (local.get $11)
(i32.const 10)
)
)
@@ -5110,59 +5057,59 @@
)
)
)
- (local.set $12
- (local.get $5)
+ (local.set $11
+ (local.get $4)
)
- (local.set $13
- (local.get $7)
+ (local.set $12
+ (local.get $6)
)
(select
- (local.tee $5
+ (local.tee $4
(i32.add
- (local.get $6)
+ (local.get $5)
(i32.const 4)
)
)
- (local.get $9)
+ (local.get $8)
(i32.gt_u
- (local.get $9)
- (local.get $5)
+ (local.get $8)
+ (local.get $4)
)
)
)
(block (result i32)
- (local.set $12
- (local.get $5)
+ (local.set $11
+ (local.get $4)
)
- (local.set $13
- (local.get $7)
+ (local.set $12
+ (local.get $6)
)
- (local.get $9)
+ (local.get $8)
)
)
)
- (local.set $9
+ (local.set $8
(loop $while-in90 (result i32)
(block $while-out89 (result i32)
(if
(i32.le_u
- (local.get $5)
- (local.get $12)
+ (local.get $4)
+ (local.get $11)
)
(block
(local.set $24
(i32.const 0)
)
(br $while-out89
- (local.get $5)
+ (local.get $4)
)
)
)
(if (result i32)
(i32.load
- (local.tee $7
+ (local.tee $6
(i32.add
- (local.get $5)
+ (local.get $4)
(i32.const -4)
)
)
@@ -5171,11 +5118,11 @@
(local.set $24
(i32.const 1)
)
- (local.get $5)
+ (local.get $4)
)
(block
- (local.set $5
- (local.get $7)
+ (local.set $4
+ (local.get $6)
)
(br $while-in90)
)
@@ -5183,72 +5130,72 @@
)
)
)
- (local.set $5
+ (local.set $4
(if (result i32)
(local.get $31)
(block $do-once91 (result i32)
- (local.set $7
+ (local.set $6
(if (result i32)
(i32.and
(i32.gt_s
- (local.tee $5
+ (local.tee $4
(i32.add
- (local.get $18)
+ (local.get $17)
(i32.xor
(local.get $37)
(i32.const 1)
)
)
)
- (local.get $13)
+ (local.get $12)
)
(i32.gt_s
- (local.get $13)
+ (local.get $12)
(i32.const -5)
)
)
(block (result i32)
- (local.set $18
+ (local.set $17
(i32.sub
(i32.add
- (local.get $5)
+ (local.get $4)
(i32.const -1)
)
- (local.get $13)
+ (local.get $12)
)
)
(i32.add
- (local.get $19)
+ (local.get $18)
(i32.const -1)
)
)
(block (result i32)
- (local.set $18
+ (local.set $17
(i32.add
- (local.get $5)
+ (local.get $4)
(i32.const -1)
)
)
(i32.add
- (local.get $19)
+ (local.get $18)
(i32.const -2)
)
)
)
)
(if
- (local.tee $5
+ (local.tee $4
(i32.and
- (local.get $11)
+ (local.get $10)
(i32.const 8)
)
)
(block
(local.set $21
- (local.get $5)
+ (local.get $4)
)
(br $do-once91
- (local.get $18)
+ (local.get $17)
)
)
)
@@ -5257,36 +5204,36 @@
(block $do-once93
(if
(i32.eqz
- (local.tee $19
+ (local.tee $18
(i32.load
(i32.add
- (local.get $9)
+ (local.get $8)
(i32.const -4)
)
)
)
)
(block
- (local.set $5
+ (local.set $4
(i32.const 9)
)
(br $do-once93)
)
)
- (local.set $5
+ (local.set $4
(if (result i32)
(i32.rem_u
- (local.get $19)
+ (local.get $18)
(i32.const 10)
)
(block
- (local.set $5
+ (local.set $4
(i32.const 0)
)
(br $do-once93)
)
(block (result i32)
- (local.set $6
+ (local.set $5
(i32.const 10)
)
(i32.const 0)
@@ -5294,19 +5241,19 @@
)
)
(loop $while-in96
- (local.set $5
+ (local.set $4
(i32.add
- (local.get $5)
+ (local.get $4)
(i32.const 1)
)
)
(br_if $while-in96
(i32.eqz
(i32.rem_u
- (local.get $19)
- (local.tee $6
+ (local.get $18)
+ (local.tee $5
(i32.mul
- (local.get $6)
+ (local.get $5)
(i32.const 10)
)
)
@@ -5315,16 +5262,16 @@
)
)
)
- (local.set $5
+ (local.set $4
(i32.const 9)
)
)
- (local.set $6
+ (local.set $5
(i32.add
(i32.mul
(i32.shr_s
(i32.sub
- (local.get $9)
+ (local.get $8)
(local.get $21)
)
(i32.const 2)
@@ -5337,7 +5284,7 @@
(if (result i32)
(i32.eq
(i32.or
- (local.get $7)
+ (local.get $6)
(i32.const 32)
)
(i32.const 102)
@@ -5347,25 +5294,25 @@
(i32.const 0)
)
(select
- (local.get $18)
- (local.tee $5
+ (local.get $17)
+ (local.tee $4
(select
(i32.const 0)
- (local.tee $5
+ (local.tee $4
(i32.sub
- (local.get $6)
(local.get $5)
+ (local.get $4)
)
)
(i32.lt_s
- (local.get $5)
+ (local.get $4)
(i32.const 0)
)
)
)
(i32.lt_s
- (local.get $18)
- (local.get $5)
+ (local.get $17)
+ (local.get $4)
)
)
)
@@ -5374,28 +5321,28 @@
(i32.const 0)
)
(select
- (local.get $18)
- (local.tee $5
+ (local.get $17)
+ (local.tee $4
(select
(i32.const 0)
- (local.tee $5
+ (local.tee $4
(i32.sub
(i32.add
- (local.get $6)
- (local.get $13)
+ (local.get $5)
+ (local.get $12)
)
- (local.get $5)
+ (local.get $4)
)
)
(i32.lt_s
- (local.get $5)
+ (local.get $4)
(i32.const 0)
)
)
)
(i32.lt_s
- (local.get $18)
- (local.get $5)
+ (local.get $17)
+ (local.get $4)
)
)
)
@@ -5404,48 +5351,48 @@
(block (result i32)
(local.set $21
(i32.and
- (local.get $11)
+ (local.get $10)
(i32.const 8)
)
)
- (local.set $7
- (local.get $19)
+ (local.set $6
+ (local.get $18)
)
- (local.get $18)
+ (local.get $17)
)
)
)
- (local.set $6
+ (local.set $5
(i32.sub
(i32.const 0)
- (local.get $13)
+ (local.get $12)
)
)
(call $_pad
(local.get $0)
(i32.const 32)
- (local.get $15)
- (local.tee $13
+ (local.get $14)
+ (local.tee $12
(i32.add
(if (result i32)
- (local.tee $18
+ (local.tee $17
(i32.eq
(i32.or
- (local.get $7)
+ (local.get $6)
(i32.const 32)
)
(i32.const 102)
)
)
(block (result i32)
- (local.set $19
+ (local.set $18
(i32.const 0)
)
(select
- (local.get $13)
+ (local.get $12)
(i32.const 0)
(i32.gt_s
- (local.get $13)
+ (local.get $12)
(i32.const 0)
)
)
@@ -5455,14 +5402,14 @@
(i32.lt_s
(i32.sub
(local.get $27)
- (local.tee $6
+ (local.tee $5
(call $_fmt_u
- (local.tee $6
+ (local.tee $5
(select
- (local.get $6)
- (local.get $13)
+ (local.get $5)
+ (local.get $12)
(i32.lt_s
- (local.get $13)
+ (local.get $12)
(i32.const 0)
)
)
@@ -5470,7 +5417,7 @@
(i32.shr_s
(i32.shl
(i32.lt_s
- (local.get $6)
+ (local.get $5)
(i32.const 0)
)
(i32.const 31)
@@ -5485,9 +5432,9 @@
)
(loop $while-in98
(i32.store8
- (local.tee $6
+ (local.tee $5
(i32.add
- (local.get $6)
+ (local.get $5)
(i32.const -1)
)
)
@@ -5497,7 +5444,7 @@
(i32.lt_s
(i32.sub
(local.get $27)
- (local.get $6)
+ (local.get $5)
)
(i32.const 2)
)
@@ -5506,13 +5453,13 @@
)
(i32.store8
(i32.add
- (local.get $6)
+ (local.get $5)
(i32.const -1)
)
(i32.add
(i32.and
(i32.shr_s
- (local.get $13)
+ (local.get $12)
(i32.const 31)
)
(i32.const 2)
@@ -5521,17 +5468,17 @@
)
)
(i32.store8
- (local.tee $19
+ (local.tee $18
(i32.add
- (local.get $6)
+ (local.get $5)
(i32.const -2)
)
)
- (local.get $7)
+ (local.get $6)
)
(i32.sub
(local.get $27)
- (local.get $19)
+ (local.get $18)
)
)
)
@@ -5541,12 +5488,12 @@
(local.get $26)
(i32.const 1)
)
- (local.get $5)
+ (local.get $4)
)
(i32.ne
(local.tee $31
(i32.or
- (local.get $5)
+ (local.get $4)
(local.get $21)
)
)
@@ -5555,7 +5502,7 @@
)
)
)
- (local.get $11)
+ (local.get $10)
)
(if
(i32.eqz
@@ -5566,44 +5513,42 @@
(i32.const 32)
)
)
- (drop
- (call $___fwritex
- (local.get $30)
- (local.get $26)
- (local.get $0)
- )
+ (call $___fwritex
+ (local.get $30)
+ (local.get $26)
+ (local.get $0)
)
)
(call $_pad
(local.get $0)
(i32.const 48)
- (local.get $15)
- (local.get $13)
+ (local.get $14)
+ (local.get $12)
(i32.xor
- (local.get $11)
+ (local.get $10)
(i32.const 65536)
)
)
(if
- (local.get $18)
+ (local.get $17)
(block
- (local.set $6
- (local.tee $12
+ (local.set $5
+ (local.tee $11
(select
- (local.get $8)
- (local.get $12)
+ (local.get $7)
+ (local.get $11)
(i32.gt_u
- (local.get $12)
- (local.get $8)
+ (local.get $11)
+ (local.get $7)
)
)
)
)
(loop $while-in102
- (local.set $7
+ (local.set $6
(call $_fmt_u
(i32.load
- (local.get $6)
+ (local.get $5)
)
(i32.const 0)
(local.get $29)
@@ -5612,13 +5557,13 @@
(block $do-once103
(if
(i32.eq
- (local.get $6)
- (local.get $12)
+ (local.get $5)
+ (local.get $11)
)
(block
(br_if $do-once103
(i32.ne
- (local.get $7)
+ (local.get $6)
(local.get $29)
)
)
@@ -5626,22 +5571,22 @@
(local.get $33)
(i32.const 48)
)
- (local.set $7
+ (local.set $6
(local.get $33)
)
)
(block
(br_if $do-once103
(i32.le_u
- (local.get $7)
+ (local.get $6)
(local.get $23)
)
)
(loop $while-in106
(i32.store8
- (local.tee $7
+ (local.tee $6
(i32.add
- (local.get $7)
+ (local.get $6)
(i32.const -1)
)
)
@@ -5649,7 +5594,7 @@
)
(br_if $while-in106
(i32.gt_u
- (local.get $7)
+ (local.get $6)
(local.get $23)
)
)
@@ -5666,30 +5611,28 @@
(i32.const 32)
)
)
- (drop
- (call $___fwritex
- (local.get $7)
- (i32.sub
- (local.get $42)
- (local.get $7)
- )
- (local.get $0)
+ (call $___fwritex
+ (local.get $6)
+ (i32.sub
+ (local.get $42)
+ (local.get $6)
)
+ (local.get $0)
)
)
(if
(i32.le_u
- (local.tee $7
+ (local.tee $6
(i32.add
- (local.get $6)
+ (local.get $5)
(i32.const 4)
)
)
- (local.get $8)
+ (local.get $7)
)
(block
- (local.set $6
- (local.get $7)
+ (local.set $5
+ (local.get $6)
)
(br $while-in102)
)
@@ -5706,12 +5649,10 @@
(i32.const 32)
)
)
- (drop
- (call $___fwritex
- (i32.const 4143)
- (i32.const 1)
- (local.get $0)
- )
+ (call $___fwritex
+ (i32.const 4143)
+ (i32.const 1)
+ (local.get $0)
)
)
)
@@ -5722,21 +5663,21 @@
(if (result i32)
(i32.and
(i32.lt_u
- (local.get $7)
- (local.get $9)
+ (local.get $6)
+ (local.get $8)
)
(i32.gt_s
- (local.get $5)
+ (local.get $4)
(i32.const 0)
)
)
(loop $while-in110 (result i32)
(if
(i32.gt_u
- (local.tee $6
+ (local.tee $5
(call $_fmt_u
(i32.load
- (local.get $7)
+ (local.get $6)
)
(i32.const 0)
(local.get $29)
@@ -5746,9 +5687,9 @@
)
(loop $while-in112
(i32.store8
- (local.tee $6
+ (local.tee $5
(i32.add
- (local.get $6)
+ (local.get $5)
(i32.const -1)
)
)
@@ -5756,7 +5697,7 @@
)
(br_if $while-in112
(i32.gt_u
- (local.get $6)
+ (local.get $5)
(local.get $23)
)
)
@@ -5771,53 +5712,51 @@
(i32.const 32)
)
)
- (drop
- (call $___fwritex
- (local.get $6)
- (select
+ (call $___fwritex
+ (local.get $5)
+ (select
+ (i32.const 9)
+ (local.get $4)
+ (i32.gt_s
+ (local.get $4)
(i32.const 9)
- (local.get $5)
- (i32.gt_s
- (local.get $5)
- (i32.const 9)
- )
)
- (local.get $0)
)
+ (local.get $0)
)
)
- (local.set $6
+ (local.set $5
(i32.add
- (local.get $5)
+ (local.get $4)
(i32.const -9)
)
)
(if (result i32)
(i32.and
(i32.lt_u
- (local.tee $7
+ (local.tee $6
(i32.add
- (local.get $7)
+ (local.get $6)
(i32.const 4)
)
)
- (local.get $9)
+ (local.get $8)
)
(i32.gt_s
- (local.get $5)
+ (local.get $4)
(i32.const 9)
)
)
(block
- (local.set $5
- (local.get $6)
+ (local.set $4
+ (local.get $5)
)
(br $while-in110)
)
- (local.get $6)
+ (local.get $5)
)
)
- (local.get $5)
+ (local.get $4)
)
(i32.const 9)
)
@@ -5826,11 +5765,11 @@
)
)
(block $do-once99
- (local.set $9
+ (local.set $8
(select
- (local.get $9)
+ (local.get $8)
(i32.add
- (local.get $12)
+ (local.get $11)
(i32.const 4)
)
(local.get $24)
@@ -5842,28 +5781,28 @@
(i32.add
(if (result i32)
(i32.gt_s
- (local.get $5)
+ (local.get $4)
(i32.const -1)
)
(block (result i32)
- (local.set $18
+ (local.set $17
(i32.eqz
(local.get $21)
)
)
- (local.set $6
- (local.get $12)
+ (local.set $5
+ (local.get $11)
)
- (local.set $7
- (local.get $5)
+ (local.set $6
+ (local.get $4)
)
(loop $while-in114 (result i32)
(if
(i32.eq
- (local.tee $5
+ (local.tee $4
(call $_fmt_u
(i32.load
- (local.get $6)
+ (local.get $5)
)
(i32.const 0)
(local.get $29)
@@ -5876,7 +5815,7 @@
(local.get $33)
(i32.const 48)
)
- (local.set $5
+ (local.set $4
(local.get $33)
)
)
@@ -5884,8 +5823,8 @@
(block $do-once115
(if
(i32.eq
- (local.get $6)
- (local.get $12)
+ (local.get $5)
+ (local.get $11)
)
(block
(if
@@ -5897,17 +5836,15 @@
(i32.const 32)
)
)
- (drop
- (call $___fwritex
- (local.get $5)
- (i32.const 1)
- (local.get $0)
- )
+ (call $___fwritex
+ (local.get $4)
+ (i32.const 1)
+ (local.get $0)
)
)
- (local.set $5
+ (local.set $4
(i32.add
- (local.get $5)
+ (local.get $4)
(i32.const 1)
)
)
@@ -5921,33 +5858,31 @@
)
(i32.and
(i32.lt_s
- (local.get $7)
+ (local.get $6)
(i32.const 1)
)
- (local.get $18)
+ (local.get $17)
)
)
)
- (drop
- (call $___fwritex
- (i32.const 4143)
- (i32.const 1)
- (local.get $0)
- )
+ (call $___fwritex
+ (i32.const 4143)
+ (i32.const 1)
+ (local.get $0)
)
)
(block
(br_if $do-once115
(i32.le_u
- (local.get $5)
+ (local.get $4)
(local.get $23)
)
)
(loop $while-in118
(i32.store8
- (local.tee $5
+ (local.tee $4
(i32.add
- (local.get $5)
+ (local.get $4)
(i32.const -1)
)
)
@@ -5955,7 +5890,7 @@
)
(br_if $while-in118
(i32.gt_u
- (local.get $5)
+ (local.get $4)
(local.get $23)
)
)
@@ -5963,10 +5898,10 @@
)
)
)
- (local.set $8
+ (local.set $7
(i32.sub
(local.get $42)
- (local.get $5)
+ (local.get $4)
)
)
(if
@@ -5978,47 +5913,45 @@
(i32.const 32)
)
)
- (drop
- (call $___fwritex
- (local.get $5)
- (select
- (local.get $8)
+ (call $___fwritex
+ (local.get $4)
+ (select
+ (local.get $7)
+ (local.get $6)
+ (i32.gt_s
+ (local.get $6)
(local.get $7)
- (i32.gt_s
- (local.get $7)
- (local.get $8)
- )
)
- (local.get $0)
)
+ (local.get $0)
)
)
(br_if $while-in114
(i32.and
(i32.lt_u
- (local.tee $6
+ (local.tee $5
(i32.add
- (local.get $6)
+ (local.get $5)
(i32.const 4)
)
)
- (local.get $9)
+ (local.get $8)
)
(i32.gt_s
- (local.tee $7
+ (local.tee $6
(i32.sub
+ (local.get $6)
(local.get $7)
- (local.get $8)
)
)
(i32.const -1)
)
)
)
- (local.get $7)
+ (local.get $6)
)
)
- (local.get $5)
+ (local.get $4)
)
(i32.const 18)
)
@@ -6033,34 +5966,32 @@
(i32.const 32)
)
)
- (drop
- (call $___fwritex
- (local.get $19)
- (i32.sub
- (local.get $27)
- (local.get $19)
- )
- (local.get $0)
+ (call $___fwritex
+ (local.get $18)
+ (i32.sub
+ (local.get $27)
+ (local.get $18)
)
+ (local.get $0)
)
)
)
(call $_pad
(local.get $0)
(i32.const 32)
- (local.get $15)
- (local.get $13)
+ (local.get $14)
+ (local.get $12)
(i32.xor
- (local.get $11)
+ (local.get $10)
(i32.const 8192)
)
)
(select
- (local.get $15)
- (local.get $13)
+ (local.get $14)
+ (local.get $12)
(i32.lt_s
- (local.get $13)
- (local.get $15)
+ (local.get $12)
+ (local.get $14)
)
)
)
@@ -6068,17 +5999,17 @@
(call $_pad
(local.get $0)
(i32.const 32)
- (local.get $15)
- (local.tee $7
+ (local.get $14)
+ (local.tee $6
(i32.add
- (local.tee $9
+ (local.tee $8
(select
(i32.const 0)
(local.get $26)
- (local.tee $6
+ (local.tee $5
(f64.ne
- (local.get $16)
- (local.get $16)
+ (local.get $15)
+ (local.get $15)
)
)
)
@@ -6086,17 +6017,17 @@
(i32.const 3)
)
)
- (local.get $8)
+ (local.get $7)
)
- (local.set $6
+ (local.set $5
(select
(select
(i32.const 4135)
(i32.const 4139)
- (local.tee $8
+ (local.tee $7
(i32.ne
(i32.and
- (local.get $19)
+ (local.get $18)
(i32.const 32)
)
(i32.const 0)
@@ -6106,9 +6037,9 @@
(select
(i32.const 4127)
(i32.const 4131)
- (local.get $8)
+ (local.get $7)
)
- (local.get $6)
+ (local.get $5)
)
)
(if
@@ -6116,21 +6047,19 @@
(i32.and
(if (result i32)
(i32.and
- (local.tee $5
+ (local.tee $4
(i32.load
(local.get $0)
)
)
(i32.const 32)
)
- (local.get $5)
+ (local.get $4)
(block (result i32)
- (drop
- (call $___fwritex
- (local.get $30)
- (local.get $9)
- (local.get $0)
- )
+ (call $___fwritex
+ (local.get $30)
+ (local.get $8)
+ (local.get $0)
)
(i32.load
(local.get $0)
@@ -6140,149 +6069,147 @@
(i32.const 32)
)
)
- (drop
- (call $___fwritex
- (local.get $6)
- (i32.const 3)
- (local.get $0)
- )
+ (call $___fwritex
+ (local.get $5)
+ (i32.const 3)
+ (local.get $0)
)
)
(call $_pad
(local.get $0)
(i32.const 32)
- (local.get $15)
- (local.get $7)
+ (local.get $14)
+ (local.get $6)
(i32.xor
- (local.get $11)
+ (local.get $10)
(i32.const 8192)
)
)
(select
- (local.get $15)
- (local.get $7)
+ (local.get $14)
+ (local.get $6)
(i32.lt_s
- (local.get $7)
- (local.get $15)
+ (local.get $6)
+ (local.get $14)
)
)
)
)
)
- (local.set $5
- (local.get $10)
+ (local.set $4
+ (local.get $9)
)
- (local.set $10
- (local.get $7)
+ (local.set $9
+ (local.get $6)
)
(br $label$continue$L1)
)
- (local.set $12
- (local.get $6)
+ (local.set $11
+ (local.get $5)
)
- (local.set $8
+ (local.set $7
(i32.const 0)
)
- (local.set $9
+ (local.set $8
(i32.const 4091)
)
(br $__rjto$8
(local.get $25)
)
)
- (local.set $9
+ (local.set $8
(i32.and
- (local.get $19)
+ (local.get $18)
(i32.const 32)
)
)
- (if
- (i32.or
- (local.tee $7
- (i32.load
- (local.get $14)
+ (local.set $7
+ (if (result i32)
+ (i32.or
+ (local.tee $6
+ (i32.load
+ (local.get $13)
+ )
)
- )
- (local.tee $11
- (i32.load offset=4
- (local.get $14)
+ (local.tee $10
+ (i32.load offset=4
+ (local.get $13)
+ )
)
)
- )
- (block
- (local.set $8
- (local.get $25)
- )
- (local.set $7
- (loop $while-in123 (result i32)
- (i32.store8
- (local.tee $8
- (i32.add
- (local.get $8)
- (i32.const -1)
- )
- )
- (i32.or
- (local.get $9)
- (i32.load8_u
+ (block (result i32)
+ (local.set $7
+ (local.get $25)
+ )
+ (local.set $6
+ (loop $while-in123 (result i32)
+ (i32.store8
+ (local.tee $7
(i32.add
- (i32.and
- (local.get $7)
- (i32.const 15)
+ (local.get $7)
+ (i32.const -1)
+ )
+ )
+ (i32.or
+ (local.get $8)
+ (i32.load8_u
+ (i32.add
+ (i32.and
+ (local.get $6)
+ (i32.const 15)
+ )
+ (i32.const 4075)
)
- (i32.const 4075)
)
)
)
- )
- (br_if $while-in123
- (i32.or
- (local.tee $7
- (call $_bitshift64Lshr
- (local.get $7)
- (local.get $11)
- (i32.const 4)
+ (br_if $while-in123
+ (i32.or
+ (local.tee $6
+ (call $_bitshift64Lshr
+ (local.get $6)
+ (local.get $10)
+ (i32.const 4)
+ )
+ )
+ (local.tee $10
+ (global.get $tempRet0)
)
- )
- (local.tee $11
- (global.get $tempRet0)
)
)
+ (local.get $7)
)
- (local.get $8)
)
- )
- (local.set $8
(if (result i32)
(i32.or
(i32.eqz
(i32.or
(i32.load
- (local.get $14)
+ (local.get $13)
)
(i32.load offset=4
- (local.get $14)
+ (local.get $13)
)
)
)
(i32.eqz
(i32.and
- (local.get $5)
+ (local.get $4)
(i32.const 8)
)
)
)
(block (result i32)
- (local.set $9
+ (local.set $8
(i32.const 4091)
)
(i32.const 0)
)
(block (result i32)
- (local.set $9
+ (local.set $8
(i32.add
(i32.shr_s
- (local.get $19)
+ (local.get $18)
(i32.const 4)
)
(i32.const 4091)
@@ -6292,93 +6219,91 @@
)
)
)
- )
- (block
- (local.set $7
- (local.get $25)
- )
- (local.set $8
+ (block (result i32)
+ (local.set $6
+ (local.get $25)
+ )
+ (local.set $8
+ (i32.const 4091)
+ )
(i32.const 0)
)
- (local.set $9
- (i32.const 4091)
- )
)
)
(br $__rjti$8)
)
- (local.set $7
+ (local.set $6
(call $_fmt_u
- (local.get $5)
- (local.get $7)
+ (local.get $4)
+ (local.get $6)
(local.get $25)
)
)
- (local.set $5
- (local.get $11)
+ (local.set $4
+ (local.get $10)
)
(br $__rjti$8)
)
- (local.set $19
+ (local.set $18
(i32.eqz
- (local.tee $13
+ (local.tee $12
(call $_memchr
- (local.get $7)
(local.get $6)
+ (local.get $5)
)
)
)
)
- (local.set $11
- (local.get $8)
+ (local.set $10
+ (local.get $7)
)
- (local.set $12
+ (local.set $11
(select
- (local.get $6)
+ (local.get $5)
(i32.sub
- (local.get $13)
- (local.tee $5
- (local.get $7)
+ (local.get $12)
+ (local.tee $4
+ (local.get $6)
)
)
- (local.get $19)
+ (local.get $18)
)
)
- (local.set $8
+ (local.set $7
(i32.const 0)
)
- (local.set $9
+ (local.set $8
(i32.const 4091)
)
(br $__rjto$8
(select
(i32.add
+ (local.get $4)
(local.get $5)
- (local.get $6)
)
- (local.get $13)
- (local.get $19)
+ (local.get $12)
+ (local.get $18)
)
)
)
- (local.set $5
+ (local.set $4
(i32.const 0)
)
- (local.set $7
+ (local.set $6
(i32.const 0)
)
- (local.set $6
+ (local.set $5
(i32.load
- (local.get $14)
+ (local.get $13)
)
)
(loop $while-in125
(block $while-out124
(br_if $while-out124
(i32.eqz
- (local.tee $9
+ (local.tee $8
(i32.load
- (local.get $6)
+ (local.get $5)
)
)
)
@@ -6386,36 +6311,36 @@
(br_if $while-out124
(i32.or
(i32.lt_s
- (local.tee $7
+ (local.tee $6
(call $_wctomb
(local.get $35)
- (local.get $9)
+ (local.get $8)
)
)
(i32.const 0)
)
(i32.gt_u
- (local.get $7)
+ (local.get $6)
(i32.sub
- (local.get $8)
- (local.get $5)
+ (local.get $7)
+ (local.get $4)
)
)
)
)
- (local.set $6
+ (local.set $5
(i32.add
- (local.get $6)
+ (local.get $5)
(i32.const 4)
)
)
(br_if $while-in125
(i32.gt_u
- (local.get $8)
- (local.tee $5
+ (local.get $7)
+ (local.tee $4
(i32.add
- (local.get $5)
- (local.get $7)
+ (local.get $4)
+ (local.get $6)
)
)
)
@@ -6424,11 +6349,11 @@
)
(if
(i32.lt_s
- (local.get $7)
+ (local.get $6)
(i32.const 0)
)
(block
- (local.set $17
+ (local.set $16
(i32.const -1)
)
(br $label$break$L1)
@@ -6437,29 +6362,29 @@
(call $_pad
(local.get $0)
(i32.const 32)
- (local.get $15)
- (local.get $5)
- (local.get $11)
+ (local.get $14)
+ (local.get $4)
+ (local.get $10)
)
(if (result i32)
- (local.get $5)
+ (local.get $4)
(block (result i32)
- (local.set $6
+ (local.set $5
(i32.const 0)
)
- (local.set $7
+ (local.set $6
(i32.load
- (local.get $14)
+ (local.get $13)
)
)
(loop $while-in127 (result i32)
(drop
(br_if $__rjti$7
- (local.get $5)
+ (local.get $4)
(i32.eqz
- (local.tee $8
+ (local.tee $7
(i32.load
- (local.get $7)
+ (local.get $6)
)
)
)
@@ -6467,20 +6392,20 @@
)
(drop
(br_if $__rjti$7
- (local.get $5)
+ (local.get $4)
(i32.gt_s
- (local.tee $6
+ (local.tee $5
(i32.add
- (local.tee $8
+ (local.tee $7
(call $_wctomb
(local.get $35)
- (local.get $8)
+ (local.get $7)
)
)
- (local.get $6)
+ (local.get $5)
)
)
- (local.get $5)
+ (local.get $4)
)
)
)
@@ -6493,27 +6418,25 @@
(i32.const 32)
)
)
- (drop
- (call $___fwritex
- (local.get $35)
- (local.get $8)
- (local.get $0)
- )
+ (call $___fwritex
+ (local.get $35)
+ (local.get $7)
+ (local.get $0)
)
)
- (local.set $7
+ (local.set $6
(i32.add
- (local.get $7)
+ (local.get $6)
(i32.const 4)
)
)
(br_if $while-in127
(i32.lt_u
- (local.get $6)
(local.get $5)
+ (local.get $4)
)
)
- (local.get $5)
+ (local.get $4)
)
)
(i32.const 0)
@@ -6521,52 +6444,52 @@
)
)
(i32.xor
- (local.get $11)
+ (local.get $10)
(i32.const 8192)
)
)
- (local.set $5
- (local.get $10)
+ (local.set $4
+ (local.get $9)
)
- (local.set $10
+ (local.set $9
(select
- (local.get $15)
- (local.get $7)
+ (local.get $14)
+ (local.get $6)
(i32.gt_s
- (local.get $15)
- (local.get $7)
+ (local.get $14)
+ (local.get $6)
)
)
)
(br $label$continue$L1)
)
- (local.set $11
+ (local.set $10
(select
(i32.and
- (local.get $5)
+ (local.get $4)
(i32.const -65537)
)
- (local.get $5)
+ (local.get $4)
(i32.gt_s
- (local.get $6)
+ (local.get $5)
(i32.const -1)
)
)
)
(if (result i32)
(i32.or
- (local.get $6)
- (local.tee $5
+ (local.get $5)
+ (local.tee $4
(i32.or
(i32.ne
(i32.load
- (local.get $14)
+ (local.get $13)
)
(i32.const 0)
)
(i32.ne
(i32.load offset=4
- (local.get $14)
+ (local.get $13)
)
(i32.const 0)
)
@@ -6574,66 +6497,66 @@
)
)
(block (result i32)
- (local.set $12
+ (local.set $11
(select
- (local.get $6)
- (local.tee $7
+ (local.get $5)
+ (local.tee $6
(i32.add
(i32.xor
(i32.and
- (local.get $5)
+ (local.get $4)
(i32.const 1)
)
(i32.const 1)
)
(i32.sub
(local.get $38)
- (local.tee $5
- (local.get $7)
+ (local.tee $4
+ (local.get $6)
)
)
)
)
(i32.gt_s
+ (local.get $5)
(local.get $6)
- (local.get $7)
)
)
)
(local.get $25)
)
(block (result i32)
- (local.set $12
+ (local.set $11
(i32.const 0)
)
- (local.tee $5
+ (local.tee $4
(local.get $25)
)
)
)
)
- (local.get $5)
+ (local.get $4)
)
)
- (local.get $12)
+ (local.get $11)
(i32.lt_s
+ (local.get $11)
(local.get $12)
- (local.get $13)
)
)
)
- (local.get $8)
+ (local.get $7)
)
)
- (local.get $15)
+ (local.get $14)
(i32.lt_s
- (local.get $15)
- (local.get $6)
+ (local.get $14)
+ (local.get $5)
)
)
)
- (local.get $6)
- (local.get $11)
+ (local.get $5)
+ (local.get $10)
)
(if
(i32.eqz
@@ -6644,29 +6567,27 @@
(i32.const 32)
)
)
- (drop
- (call $___fwritex
- (local.get $9)
- (local.get $8)
- (local.get $0)
- )
+ (call $___fwritex
+ (local.get $8)
+ (local.get $7)
+ (local.get $0)
)
)
(call $_pad
(local.get $0)
(i32.const 48)
- (local.get $7)
(local.get $6)
+ (local.get $5)
(i32.xor
- (local.get $11)
+ (local.get $10)
(i32.const 65536)
)
)
(call $_pad
(local.get $0)
(i32.const 48)
+ (local.get $11)
(local.get $12)
- (local.get $13)
(i32.const 0)
)
(if
@@ -6678,29 +6599,27 @@
(i32.const 32)
)
)
- (drop
- (call $___fwritex
- (local.get $5)
- (local.get $13)
- (local.get $0)
- )
+ (call $___fwritex
+ (local.get $4)
+ (local.get $12)
+ (local.get $0)
)
)
(call $_pad
(local.get $0)
(i32.const 32)
- (local.get $7)
(local.get $6)
+ (local.get $5)
(i32.xor
- (local.get $11)
+ (local.get $10)
(i32.const 8192)
)
)
- (local.set $5
- (local.get $10)
+ (local.set $4
+ (local.get $9)
)
- (local.set $10
- (local.get $7)
+ (local.set $9
+ (local.get $6)
)
(br $label$continue$L1)
)
@@ -6711,23 +6630,23 @@
(i32.eqz
(local.get $0)
)
- (local.set $17
+ (local.set $16
(if (result i32)
- (local.get $1)
+ (local.get $19)
(block (result i32)
(local.set $0
(i32.const 1)
)
(loop $while-in130
(if
- (local.tee $1
+ (local.tee $19
(i32.load
(i32.add
(i32.shl
(local.get $0)
(i32.const 2)
)
- (local.get $4)
+ (local.get $3)
)
)
)
@@ -6738,10 +6657,10 @@
(local.get $0)
(i32.const 3)
)
- (local.get $3)
+ (local.get $2)
)
+ (local.get $19)
(local.get $1)
- (local.get $2)
)
(br_if $while-in130
(i32.lt_s
@@ -6754,7 +6673,7 @@
(i32.const 10)
)
)
- (local.set $17
+ (local.set $16
(i32.const 1)
)
(br $label$break$L343)
@@ -6774,11 +6693,11 @@
(local.get $0)
(i32.const 2)
)
- (local.get $4)
+ (local.get $3)
)
)
(block
- (local.set $17
+ (local.set $16
(i32.const -1)
)
(br $label$break$L343)
@@ -6808,7 +6727,7 @@
(global.set $STACKTOP
(local.get $34)
)
- (local.get $17)
+ (local.get $16)
)
(func $_pop_arg_336 (; 45 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
@@ -7404,12 +7323,10 @@
(if
(local.get $4)
(block
- (drop
- (call $___fwritex
- (local.get $6)
- (i32.const 256)
- (local.get $0)
- )
+ (call $___fwritex
+ (local.get $6)
+ (i32.const 256)
+ (local.get $0)
)
(local.set $1
(i32.load
@@ -7459,12 +7376,10 @@
)
)
)
- (drop
- (call $___fwritex
- (local.get $6)
- (local.get $5)
- (local.get $0)
- )
+ (call $___fwritex
+ (local.get $6)
+ (local.get $5)
+ (local.get $0)
)
)
)
diff --git a/test/memorygrowth.fromasm b/test/memorygrowth.fromasm
index 0bc8c30ca..6a67b7fc0 100644
--- a/test/memorygrowth.fromasm
+++ b/test/memorygrowth.fromasm
@@ -8044,52 +8044,52 @@
)
(local.get $15)
)
- (func $Wa (; 16 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
+ (func $Wa (; 16 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32)
+ (local $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
- (local $7 i32)
- (if
- (local.tee $4
- (i32.load
- (local.tee $3
- (i32.add
- (local.get $2)
- (i32.const 16)
+ (local.set $6
+ (i32.const 1144)
+ )
+ (local.set $5
+ (if (result i32)
+ (local.tee $3
+ (i32.load
+ (local.tee $2
+ (i32.add
+ (local.get $1)
+ (i32.const 16)
+ )
)
)
)
- )
- (block
- (local.set $5
- (local.get $4)
- )
- (local.set $7
- (i32.const 5)
+ (block (result i32)
+ (local.set $4
+ (i32.const 5)
+ )
+ (local.get $3)
)
- )
- (if
- (i32.eqz
+ (if (result i32)
(call $Xa
- (local.get $2)
+ (local.get $1)
)
- )
- (block
- (local.set $5
+ (local.get $5)
+ (block (result i32)
+ (local.set $4
+ (i32.const 5)
+ )
(i32.load
- (local.get $3)
+ (local.get $2)
)
)
- (local.set $7
- (i32.const 5)
- )
)
)
)
(if (result i32)
(i32.eq
- (local.get $7)
+ (local.get $4)
(i32.const 5)
)
(block $label$break$a (result i32)
@@ -8097,28 +8097,28 @@
(i32.lt_u
(i32.sub
(local.get $5)
- (local.tee $3
+ (local.tee $2
(i32.load
- (local.tee $4
+ (local.tee $3
(i32.add
- (local.get $2)
+ (local.get $1)
(i32.const 20)
)
)
)
)
)
- (local.get $1)
+ (local.get $0)
)
(br $label$break$a
(call_indirect (type $FUNCSIG$iiii)
- (local.get $2)
- (local.get $0)
(local.get $1)
+ (i32.const 1144)
+ (local.get $0)
(i32.add
(i32.and
(i32.load offset=36
- (local.get $2)
+ (local.get $1)
)
(i32.const 3)
)
@@ -8127,27 +8127,27 @@
)
)
)
- (local.set $6
- (local.get $3)
+ (local.set $4
+ (local.get $2)
)
(if
(i32.gt_s
(i32.load8_s offset=75
- (local.get $2)
+ (local.get $1)
)
(i32.const -1)
)
(block $label$break$b
- (local.set $3
- (local.get $1)
+ (local.set $2
+ (local.get $0)
)
(loop $while-in
(if
(i32.eqz
- (local.get $3)
+ (local.get $2)
)
(block
- (local.set $3
+ (local.set $2
(i32.const 0)
)
(br $label$break$b)
@@ -8157,19 +8157,19 @@
(i32.ne
(i32.load8_s
(i32.add
- (local.get $0)
(local.tee $5
(i32.add
- (local.get $3)
+ (local.get $2)
(i32.const -1)
)
)
+ (i32.const 1144)
)
)
(i32.const 10)
)
(block
- (local.set $3
+ (local.set $2
(local.get $5)
)
(br $while-in)
@@ -8178,131 +8178,87 @@
)
(drop
(br_if $label$break$a
- (local.get $3)
+ (local.get $2)
(i32.lt_u
(call_indirect (type $FUNCSIG$iiii)
+ (local.get $1)
+ (i32.const 1144)
(local.get $2)
- (local.get $0)
- (local.get $3)
(i32.add
(i32.and
(i32.load offset=36
- (local.get $2)
+ (local.get $1)
)
(i32.const 3)
)
(i32.const 2)
)
)
- (local.get $3)
+ (local.get $2)
)
)
)
- (local.set $1
+ (local.set $0
(i32.sub
- (local.get $1)
- (local.get $3)
+ (local.get $0)
+ (local.get $2)
)
)
- (local.set $0
+ (local.set $6
(i32.add
- (local.get $0)
- (local.get $3)
+ (local.get $2)
+ (i32.const 1144)
)
)
- (local.set $6
+ (local.set $4
(i32.load
- (local.get $4)
+ (local.get $3)
)
)
)
- (local.set $3
+ (local.set $2
(i32.const 0)
)
)
(drop
(call $jb
+ (local.get $4)
(local.get $6)
(local.get $0)
- (local.get $1)
)
)
(i32.store
- (local.get $4)
+ (local.get $3)
(i32.add
- (local.get $1)
+ (local.get $0)
(i32.load
- (local.get $4)
+ (local.get $3)
)
)
)
(i32.add
- (local.get $1)
- (local.get $3)
+ (local.get $0)
+ (local.get $2)
)
)
- (local.get $6)
+ (i32.const 0)
)
)
- (func $Za (; 17 ;) (; has Stack IR ;) (param $0 i32) (result i32)
+ (func $Za (; 17 ;) (; has Stack IR ;) (result i32)
+ (local $0 i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
- (local $5 i32)
- (if
- (i32.and
- (local.tee $3
- (local.get $0)
- )
- (i32.const 3)
- )
- (block $label$break$a
- (local.set $4
- (local.get $3)
- )
- (local.set $1
- (loop $while-in (result i32)
- (if
- (i32.eqz
- (i32.load8_s
- (local.get $0)
- )
- )
- (block
- (local.set $5
- (local.get $4)
- )
- (br $label$break$a)
- )
- )
- (br_if $while-in
- (i32.and
- (local.tee $4
- (local.tee $0
- (i32.add
- (local.get $0)
- (i32.const 1)
- )
- )
- )
- (i32.const 3)
- )
- )
- (local.set $2
- (i32.const 4)
- )
- (local.get $0)
- )
- )
+ (local.set $0
+ (i32.const 1144)
+ )
+ (block
+ (local.set $1
+ (i32.const 1144)
)
- (block
- (local.set $1
- (local.get $0)
- )
- (local.set $2
- (i32.const 4)
- )
+ (local.set $2
+ (i32.const 4)
)
)
(i32.sub
@@ -8379,9 +8335,9 @@
)
(local.get $0)
)
- (local.get $5)
+ (local.get $4)
)
- (local.get $3)
+ (i32.const 1144)
)
)
(func $_a (; 18 ;) (; has Stack IR ;) (param $0 i32) (result i32)
@@ -9040,7 +8996,7 @@
(local.get $2)
)
)
- (func $db (; 24 ;) (; has Stack IR ;) (result i32)
+ (func $db (; 24 ;) (; has Stack IR ;)
(local $0 i32)
(local $1 i32)
(local $2 i32)
@@ -9053,76 +9009,66 @@
)
)
)
- (i32.shr_s
- (i32.shl
- (if (result i32)
- (i32.lt_s
- (i32.add
- (call $bb
- (i32.const 1144)
- (call $Za
- (i32.const 1144)
- )
+ (drop
+ (if (result i32)
+ (i32.lt_s
+ (i32.add
+ (call $bb
+ (call $Za)
+ (local.get $0)
+ )
+ (i32.const -1)
+ )
+ (i32.const 0)
+ )
+ (i32.const 1)
+ (block $do-once (result i32)
+ (if
+ (i32.ne
+ (i32.load8_s offset=75
(local.get $0)
)
- (i32.const -1)
+ (i32.const 10)
)
- (i32.const 0)
- )
- (i32.const 1)
- (block $do-once (result i32)
(if
- (i32.ne
- (i32.load8_s offset=75
- (local.get $0)
- )
- (i32.const 10)
- )
- (if
- (i32.lt_u
- (local.tee $1
- (i32.load
- (local.tee $2
- (i32.add
- (local.get $0)
- (i32.const 20)
- )
+ (i32.lt_u
+ (local.tee $1
+ (i32.load
+ (local.tee $2
+ (i32.add
+ (local.get $0)
+ (i32.const 20)
)
)
)
- (i32.load offset=16
- (local.get $0)
- )
)
- (block
- (i32.store
- (local.get $2)
- (i32.add
- (local.get $1)
- (i32.const 1)
- )
- )
- (i32.store8
+ (i32.load offset=16
+ (local.get $0)
+ )
+ )
+ (block
+ (i32.store
+ (local.get $2)
+ (i32.add
(local.get $1)
- (i32.const 10)
- )
- (br $do-once
- (i32.const 0)
+ (i32.const 1)
)
)
+ (i32.store8
+ (local.get $1)
+ (i32.const 10)
+ )
+ (br $do-once
+ (i32.const 0)
+ )
)
)
- (i32.lt_s
- (call $ab
- (local.get $0)
- )
- (i32.const 0)
- )
+ )
+ (call $ab
+ (local.get $0)
)
)
- (i32.const 31)
)
- (i32.const 31)
)
)
(func $Xa (; 25 ;) (; has Stack IR ;) (param $0 i32) (result i32)
@@ -9201,34 +9147,33 @@
)
)
)
- (func $bb (; 26 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
- (local $3 i32)
- (local.set $3
- (local.get $1)
+ (func $bb (; 26 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32)
+ (local $2 i32)
+ (local.set $2
+ (local.get $0)
)
(if (result i32)
(block (result i32)
(drop
(i32.load offset=76
- (local.get $2)
+ (local.get $1)
)
)
(i32.ne
- (local.get $3)
- (local.tee $0
+ (local.get $2)
+ (local.tee $1
(call $Wa
- (local.get $0)
- (local.get $3)
(local.get $2)
+ (local.get $1)
)
)
)
)
(if (result i32)
- (local.get $1)
+ (local.get $0)
(i32.div_u
- (local.get $0)
(local.get $1)
+ (local.get $0)
)
(i32.const 0)
)
@@ -9534,9 +9479,7 @@
(i32.const 0)
)
(func $Na (; 41 ;) (; has Stack IR ;) (result i32)
- (drop
- (call $db)
- )
+ (call $db)
(i32.const 0)
)
(func $pb (; 42 ;) (; has Stack IR ;) (param $0 i32)
diff --git a/test/memorygrowth.fromasm.clamp b/test/memorygrowth.fromasm.clamp
index 0bc8c30ca..6a67b7fc0 100644
--- a/test/memorygrowth.fromasm.clamp
+++ b/test/memorygrowth.fromasm.clamp
@@ -8044,52 +8044,52 @@
)
(local.get $15)
)
- (func $Wa (; 16 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
+ (func $Wa (; 16 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32)
+ (local $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
- (local $7 i32)
- (if
- (local.tee $4
- (i32.load
- (local.tee $3
- (i32.add
- (local.get $2)
- (i32.const 16)
+ (local.set $6
+ (i32.const 1144)
+ )
+ (local.set $5
+ (if (result i32)
+ (local.tee $3
+ (i32.load
+ (local.tee $2
+ (i32.add
+ (local.get $1)
+ (i32.const 16)
+ )
)
)
)
- )
- (block
- (local.set $5
- (local.get $4)
- )
- (local.set $7
- (i32.const 5)
+ (block (result i32)
+ (local.set $4
+ (i32.const 5)
+ )
+ (local.get $3)
)
- )
- (if
- (i32.eqz
+ (if (result i32)
(call $Xa
- (local.get $2)
+ (local.get $1)
)
- )
- (block
- (local.set $5
+ (local.get $5)
+ (block (result i32)
+ (local.set $4
+ (i32.const 5)
+ )
(i32.load
- (local.get $3)
+ (local.get $2)
)
)
- (local.set $7
- (i32.const 5)
- )
)
)
)
(if (result i32)
(i32.eq
- (local.get $7)
+ (local.get $4)
(i32.const 5)
)
(block $label$break$a (result i32)
@@ -8097,28 +8097,28 @@
(i32.lt_u
(i32.sub
(local.get $5)
- (local.tee $3
+ (local.tee $2
(i32.load
- (local.tee $4
+ (local.tee $3
(i32.add
- (local.get $2)
+ (local.get $1)
(i32.const 20)
)
)
)
)
)
- (local.get $1)
+ (local.get $0)
)
(br $label$break$a
(call_indirect (type $FUNCSIG$iiii)
- (local.get $2)
- (local.get $0)
(local.get $1)
+ (i32.const 1144)
+ (local.get $0)
(i32.add
(i32.and
(i32.load offset=36
- (local.get $2)
+ (local.get $1)
)
(i32.const 3)
)
@@ -8127,27 +8127,27 @@
)
)
)
- (local.set $6
- (local.get $3)
+ (local.set $4
+ (local.get $2)
)
(if
(i32.gt_s
(i32.load8_s offset=75
- (local.get $2)
+ (local.get $1)
)
(i32.const -1)
)
(block $label$break$b
- (local.set $3
- (local.get $1)
+ (local.set $2
+ (local.get $0)
)
(loop $while-in
(if
(i32.eqz
- (local.get $3)
+ (local.get $2)
)
(block
- (local.set $3
+ (local.set $2
(i32.const 0)
)
(br $label$break$b)
@@ -8157,19 +8157,19 @@
(i32.ne
(i32.load8_s
(i32.add
- (local.get $0)
(local.tee $5
(i32.add
- (local.get $3)
+ (local.get $2)
(i32.const -1)
)
)
+ (i32.const 1144)
)
)
(i32.const 10)
)
(block
- (local.set $3
+ (local.set $2
(local.get $5)
)
(br $while-in)
@@ -8178,131 +8178,87 @@
)
(drop
(br_if $label$break$a
- (local.get $3)
+ (local.get $2)
(i32.lt_u
(call_indirect (type $FUNCSIG$iiii)
+ (local.get $1)
+ (i32.const 1144)
(local.get $2)
- (local.get $0)
- (local.get $3)
(i32.add
(i32.and
(i32.load offset=36
- (local.get $2)
+ (local.get $1)
)
(i32.const 3)
)
(i32.const 2)
)
)
- (local.get $3)
+ (local.get $2)
)
)
)
- (local.set $1
+ (local.set $0
(i32.sub
- (local.get $1)
- (local.get $3)
+ (local.get $0)
+ (local.get $2)
)
)
- (local.set $0
+ (local.set $6
(i32.add
- (local.get $0)
- (local.get $3)
+ (local.get $2)
+ (i32.const 1144)
)
)
- (local.set $6
+ (local.set $4
(i32.load
- (local.get $4)
+ (local.get $3)
)
)
)
- (local.set $3
+ (local.set $2
(i32.const 0)
)
)
(drop
(call $jb
+ (local.get $4)
(local.get $6)
(local.get $0)
- (local.get $1)
)
)
(i32.store
- (local.get $4)
+ (local.get $3)
(i32.add
- (local.get $1)
+ (local.get $0)
(i32.load
- (local.get $4)
+ (local.get $3)
)
)
)
(i32.add
- (local.get $1)
- (local.get $3)
+ (local.get $0)
+ (local.get $2)
)
)
- (local.get $6)
+ (i32.const 0)
)
)
- (func $Za (; 17 ;) (; has Stack IR ;) (param $0 i32) (result i32)
+ (func $Za (; 17 ;) (; has Stack IR ;) (result i32)
+ (local $0 i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
- (local $5 i32)
- (if
- (i32.and
- (local.tee $3
- (local.get $0)
- )
- (i32.const 3)
- )
- (block $label$break$a
- (local.set $4
- (local.get $3)
- )
- (local.set $1
- (loop $while-in (result i32)
- (if
- (i32.eqz
- (i32.load8_s
- (local.get $0)
- )
- )
- (block
- (local.set $5
- (local.get $4)
- )
- (br $label$break$a)
- )
- )
- (br_if $while-in
- (i32.and
- (local.tee $4
- (local.tee $0
- (i32.add
- (local.get $0)
- (i32.const 1)
- )
- )
- )
- (i32.const 3)
- )
- )
- (local.set $2
- (i32.const 4)
- )
- (local.get $0)
- )
- )
+ (local.set $0
+ (i32.const 1144)
+ )
+ (block
+ (local.set $1
+ (i32.const 1144)
)
- (block
- (local.set $1
- (local.get $0)
- )
- (local.set $2
- (i32.const 4)
- )
+ (local.set $2
+ (i32.const 4)
)
)
(i32.sub
@@ -8379,9 +8335,9 @@
)
(local.get $0)
)
- (local.get $5)
+ (local.get $4)
)
- (local.get $3)
+ (i32.const 1144)
)
)
(func $_a (; 18 ;) (; has Stack IR ;) (param $0 i32) (result i32)
@@ -9040,7 +8996,7 @@
(local.get $2)
)
)
- (func $db (; 24 ;) (; has Stack IR ;) (result i32)
+ (func $db (; 24 ;) (; has Stack IR ;)
(local $0 i32)
(local $1 i32)
(local $2 i32)
@@ -9053,76 +9009,66 @@
)
)
)
- (i32.shr_s
- (i32.shl
- (if (result i32)
- (i32.lt_s
- (i32.add
- (call $bb
- (i32.const 1144)
- (call $Za
- (i32.const 1144)
- )
+ (drop
+ (if (result i32)
+ (i32.lt_s
+ (i32.add
+ (call $bb
+ (call $Za)
+ (local.get $0)
+ )
+ (i32.const -1)
+ )
+ (i32.const 0)
+ )
+ (i32.const 1)
+ (block $do-once (result i32)
+ (if
+ (i32.ne
+ (i32.load8_s offset=75
(local.get $0)
)
- (i32.const -1)
+ (i32.const 10)
)
- (i32.const 0)
- )
- (i32.const 1)
- (block $do-once (result i32)
(if
- (i32.ne
- (i32.load8_s offset=75
- (local.get $0)
- )
- (i32.const 10)
- )
- (if
- (i32.lt_u
- (local.tee $1
- (i32.load
- (local.tee $2
- (i32.add
- (local.get $0)
- (i32.const 20)
- )
+ (i32.lt_u
+ (local.tee $1
+ (i32.load
+ (local.tee $2
+ (i32.add
+ (local.get $0)
+ (i32.const 20)
)
)
)
- (i32.load offset=16
- (local.get $0)
- )
)
- (block
- (i32.store
- (local.get $2)
- (i32.add
- (local.get $1)
- (i32.const 1)
- )
- )
- (i32.store8
+ (i32.load offset=16
+ (local.get $0)
+ )
+ )
+ (block
+ (i32.store
+ (local.get $2)
+ (i32.add
(local.get $1)
- (i32.const 10)
- )
- (br $do-once
- (i32.const 0)
+ (i32.const 1)
)
)
+ (i32.store8
+ (local.get $1)
+ (i32.const 10)
+ )
+ (br $do-once
+ (i32.const 0)
+ )
)
)
- (i32.lt_s
- (call $ab
- (local.get $0)
- )
- (i32.const 0)
- )
+ )
+ (call $ab
+ (local.get $0)
)
)
- (i32.const 31)
)
- (i32.const 31)
)
)
(func $Xa (; 25 ;) (; has Stack IR ;) (param $0 i32) (result i32)
@@ -9201,34 +9147,33 @@
)
)
)
- (func $bb (; 26 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
- (local $3 i32)
- (local.set $3
- (local.get $1)
+ (func $bb (; 26 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32)
+ (local $2 i32)
+ (local.set $2
+ (local.get $0)
)
(if (result i32)
(block (result i32)
(drop
(i32.load offset=76
- (local.get $2)
+ (local.get $1)
)
)
(i32.ne
- (local.get $3)
- (local.tee $0
+ (local.get $2)
+ (local.tee $1
(call $Wa
- (local.get $0)
- (local.get $3)
(local.get $2)
+ (local.get $1)
)
)
)
)
(if (result i32)
- (local.get $1)
+ (local.get $0)
(i32.div_u
- (local.get $0)
(local.get $1)
+ (local.get $0)
)
(i32.const 0)
)
@@ -9534,9 +9479,7 @@
(i32.const 0)
)
(func $Na (; 41 ;) (; has Stack IR ;) (result i32)
- (drop
- (call $db)
- )
+ (call $db)
(i32.const 0)
)
(func $pb (; 42 ;) (; has Stack IR ;) (param $0 i32)
diff --git a/test/memorygrowth.fromasm.imprecise b/test/memorygrowth.fromasm.imprecise
index 9816d91e7..075614f71 100644
--- a/test/memorygrowth.fromasm.imprecise
+++ b/test/memorygrowth.fromasm.imprecise
@@ -8039,52 +8039,52 @@
)
)
)
- (func $Wa (; 16 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
+ (func $Wa (; 16 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32)
+ (local $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
- (local $7 i32)
- (if
- (local.tee $4
- (i32.load
- (local.tee $3
- (i32.add
- (local.get $2)
- (i32.const 16)
+ (local.set $6
+ (i32.const 1144)
+ )
+ (local.set $5
+ (if (result i32)
+ (local.tee $3
+ (i32.load
+ (local.tee $2
+ (i32.add
+ (local.get $1)
+ (i32.const 16)
+ )
)
)
)
- )
- (block
- (local.set $5
- (local.get $4)
- )
- (local.set $7
- (i32.const 5)
+ (block (result i32)
+ (local.set $4
+ (i32.const 5)
+ )
+ (local.get $3)
)
- )
- (if
- (i32.eqz
+ (if (result i32)
(call $Xa
- (local.get $2)
+ (local.get $1)
)
- )
- (block
- (local.set $5
+ (local.get $5)
+ (block (result i32)
+ (local.set $4
+ (i32.const 5)
+ )
(i32.load
- (local.get $3)
+ (local.get $2)
)
)
- (local.set $7
- (i32.const 5)
- )
)
)
)
(if (result i32)
(i32.eq
- (local.get $7)
+ (local.get $4)
(i32.const 5)
)
(block $label$break$a (result i32)
@@ -8092,28 +8092,28 @@
(i32.lt_u
(i32.sub
(local.get $5)
- (local.tee $3
+ (local.tee $2
(i32.load
- (local.tee $4
+ (local.tee $3
(i32.add
- (local.get $2)
+ (local.get $1)
(i32.const 20)
)
)
)
)
)
- (local.get $1)
+ (local.get $0)
)
(br $label$break$a
(call_indirect (type $FUNCSIG$iiii)
- (local.get $2)
- (local.get $0)
(local.get $1)
+ (i32.const 1144)
+ (local.get $0)
(i32.add
(i32.and
(i32.load offset=36
- (local.get $2)
+ (local.get $1)
)
(i32.const 3)
)
@@ -8122,27 +8122,27 @@
)
)
)
- (local.set $6
- (local.get $3)
+ (local.set $4
+ (local.get $2)
)
(if
(i32.gt_s
(i32.load8_s offset=75
- (local.get $2)
+ (local.get $1)
)
(i32.const -1)
)
(block $label$break$b
- (local.set $3
- (local.get $1)
+ (local.set $2
+ (local.get $0)
)
(loop $while-in
(if
(i32.eqz
- (local.get $3)
+ (local.get $2)
)
(block
- (local.set $3
+ (local.set $2
(i32.const 0)
)
(br $label$break$b)
@@ -8152,19 +8152,19 @@
(i32.ne
(i32.load8_s
(i32.add
- (local.get $0)
(local.tee $5
(i32.add
- (local.get $3)
+ (local.get $2)
(i32.const -1)
)
)
+ (i32.const 1144)
)
)
(i32.const 10)
)
(block
- (local.set $3
+ (local.set $2
(local.get $5)
)
(br $while-in)
@@ -8173,131 +8173,87 @@
)
(drop
(br_if $label$break$a
- (local.get $3)
+ (local.get $2)
(i32.lt_u
(call_indirect (type $FUNCSIG$iiii)
+ (local.get $1)
+ (i32.const 1144)
(local.get $2)
- (local.get $0)
- (local.get $3)
(i32.add
(i32.and
(i32.load offset=36
- (local.get $2)
+ (local.get $1)
)
(i32.const 3)
)
(i32.const 2)
)
)
- (local.get $3)
+ (local.get $2)
)
)
)
- (local.set $1
+ (local.set $0
(i32.sub
- (local.get $1)
- (local.get $3)
+ (local.get $0)
+ (local.get $2)
)
)
- (local.set $0
+ (local.set $6
(i32.add
- (local.get $0)
- (local.get $3)
+ (local.get $2)
+ (i32.const 1144)
)
)
- (local.set $6
+ (local.set $4
(i32.load
- (local.get $4)
+ (local.get $3)
)
)
)
- (local.set $3
+ (local.set $2
(i32.const 0)
)
)
(drop
(call $jb
+ (local.get $4)
(local.get $6)
(local.get $0)
- (local.get $1)
)
)
(i32.store
- (local.get $4)
+ (local.get $3)
(i32.add
- (local.get $1)
+ (local.get $0)
(i32.load
- (local.get $4)
+ (local.get $3)
)
)
)
(i32.add
- (local.get $1)
- (local.get $3)
+ (local.get $0)
+ (local.get $2)
)
)
- (local.get $6)
+ (i32.const 0)
)
)
- (func $Za (; 17 ;) (; has Stack IR ;) (param $0 i32) (result i32)
+ (func $Za (; 17 ;) (; has Stack IR ;) (result i32)
+ (local $0 i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
- (local $5 i32)
- (if
- (i32.and
- (local.tee $3
- (local.get $0)
- )
- (i32.const 3)
- )
- (block $label$break$a
- (local.set $4
- (local.get $3)
- )
- (local.set $1
- (loop $while-in (result i32)
- (if
- (i32.eqz
- (i32.load8_s
- (local.get $0)
- )
- )
- (block
- (local.set $5
- (local.get $4)
- )
- (br $label$break$a)
- )
- )
- (br_if $while-in
- (i32.and
- (local.tee $4
- (local.tee $0
- (i32.add
- (local.get $0)
- (i32.const 1)
- )
- )
- )
- (i32.const 3)
- )
- )
- (local.set $2
- (i32.const 4)
- )
- (local.get $0)
- )
- )
+ (local.set $0
+ (i32.const 1144)
+ )
+ (block
+ (local.set $1
+ (i32.const 1144)
)
- (block
- (local.set $1
- (local.get $0)
- )
- (local.set $2
- (i32.const 4)
- )
+ (local.set $2
+ (i32.const 4)
)
)
(i32.sub
@@ -8374,9 +8330,9 @@
)
(local.get $0)
)
- (local.get $5)
+ (local.get $4)
)
- (local.get $3)
+ (i32.const 1144)
)
)
(func $_a (; 18 ;) (; has Stack IR ;) (param $0 i32) (result i32)
@@ -9030,7 +8986,7 @@
(local.get $2)
)
)
- (func $db (; 24 ;) (; has Stack IR ;) (result i32)
+ (func $db (; 24 ;) (; has Stack IR ;)
(local $0 i32)
(local $1 i32)
(local $2 i32)
@@ -9044,92 +9000,82 @@
)
)
)
- (i32.shr_s
- (i32.shl
- (if (result i32)
- (i32.lt_s
- (i32.add
- (select
- (i32.div_u
- (local.tee $3
- (call $Wa
- (i32.const 1144)
- (local.tee $2
- (local.tee $1
- (call $Za
- (i32.const 1144)
- )
- )
+ (drop
+ (if (result i32)
+ (i32.lt_s
+ (i32.add
+ (select
+ (i32.div_u
+ (local.tee $2
+ (call $Wa
+ (local.tee $1
+ (local.tee $3
+ (call $Za)
)
- (local.get $0)
)
+ (local.get $0)
)
- (local.get $1)
- )
- (i32.const 1)
- (i32.ne
- (local.get $2)
- (local.get $3)
)
+ (local.get $3)
+ )
+ (i32.const 1)
+ (i32.ne
+ (local.get $1)
+ (local.get $2)
)
- (i32.const -1)
)
- (i32.const 0)
+ (i32.const -1)
)
- (i32.const 1)
- (block $do-once (result i32)
- (if
- (i32.ne
- (i32.load8_s offset=75
- (local.get $0)
- )
- (i32.const 10)
+ (i32.const 0)
+ )
+ (i32.const 1)
+ (block $do-once (result i32)
+ (if
+ (i32.ne
+ (i32.load8_s offset=75
+ (local.get $0)
)
- (if
- (i32.lt_u
- (local.tee $1
- (i32.load
- (local.tee $2
- (i32.add
- (local.get $0)
- (i32.const 20)
- )
+ (i32.const 10)
+ )
+ (if
+ (i32.lt_u
+ (local.tee $1
+ (i32.load
+ (local.tee $2
+ (i32.add
+ (local.get $0)
+ (i32.const 20)
)
)
)
- (i32.load offset=16
- (local.get $0)
- )
)
- (block
- (i32.store
- (local.get $2)
- (i32.add
- (local.get $1)
- (i32.const 1)
- )
- )
- (i32.store8
+ (i32.load offset=16
+ (local.get $0)
+ )
+ )
+ (block
+ (i32.store
+ (local.get $2)
+ (i32.add
(local.get $1)
- (i32.const 10)
- )
- (br $do-once
- (i32.const 0)
+ (i32.const 1)
)
)
+ (i32.store8
+ (local.get $1)
+ (i32.const 10)
+ )
+ (br $do-once
+ (i32.const 0)
+ )
)
)
- (i32.lt_s
- (call $ab
- (local.get $0)
- )
- (i32.const 0)
- )
+ )
+ (call $ab
+ (local.get $0)
)
)
- (i32.const 31)
)
- (i32.const 31)
)
)
(func $Xa (; 25 ;) (; has Stack IR ;) (param $0 i32) (result i32)
@@ -9503,9 +9449,7 @@
(i32.const 0)
)
(func $Na (; 40 ;) (; has Stack IR ;) (result i32)
- (drop
- (call $db)
- )
+ (call $db)
(i32.const 0)
)
(func $pb (; 41 ;) (; has Stack IR ;) (param $0 i32)
diff --git a/test/passes/dae.txt b/test/passes/dae.txt
index 697f57b0e..4c483e888 100644
--- a/test/passes/dae.txt
+++ b/test/passes/dae.txt
@@ -2,8 +2,10 @@
(type $0 (func (param i32)))
(type $1 (func))
(type $2 (func (param i32 f64)))
- (table $0 1 1 funcref)
- (elem (i32.const 0) $a9)
+ (type $3 (func (result i32)))
+ (type $4 (func (param i32) (result i32)))
+ (table $0 2 2 funcref)
+ (elem (i32.const 0) $a9 $c8)
(export "a8" (func $a8))
(func $a (; 0 ;)
(local $0 i32)
@@ -171,4 +173,73 @@
(i32.const 2)
)
)
+ (func $c1 (; 27 ;) (type $1)
+ (local $x i32)
+ (call $c2)
+ (call $c3)
+ (call $c3)
+ (drop
+ (call $c4)
+ )
+ (local.set $x
+ (call $c4)
+ )
+ (call $c5
+ (unreachable)
+ )
+ (call $c6)
+ (call $c7)
+ (drop
+ (call $c8)
+ )
+ )
+ (func $c2 (; 28 ;)
+ (drop
+ (i32.const 1)
+ )
+ )
+ (func $c3 (; 29 ;)
+ (drop
+ (i32.const 2)
+ )
+ )
+ (func $c4 (; 30 ;) (type $3) (result i32)
+ (i32.const 3)
+ )
+ (func $c5 (; 31 ;) (param $x i32)
+ (drop
+ (local.get $x)
+ )
+ )
+ (func $c6 (; 32 ;)
+ (unreachable)
+ )
+ (func $c7 (; 33 ;)
+ (drop
+ (i32.const 4)
+ )
+ (return)
+ )
+ (func $c8 (; 34 ;) (type $3) (result i32)
+ (i32.const 5)
+ )
+)
+(module
+ (type $0 (func))
+ (type $1 (func (param i32) (result i32)))
+ (export "a" (func $0))
+ (func $0 (; 0 ;) (type $0)
+ (call $b)
+ )
+ (func $b (; 1 ;)
+ (local $0 i32)
+ (drop
+ (block (result i32)
+ (local.set $0
+ (i32.const 1)
+ )
+ (local.get $0)
+ )
+ )
+ )
)
diff --git a/test/passes/dae.wast b/test/passes/dae.wast
index 25fe52c52..2fdf6958d 100644
--- a/test/passes/dae.wast
+++ b/test/passes/dae.wast
@@ -1,7 +1,7 @@
(module
(export "a8" (func $a8))
- (table 1 1 funcref)
- (elem (i32.const 0) $a9)
+ (table 2 2 funcref)
+ (elem (i32.const 0) $a9 $c8)
(func $a (param $x i32))
(func $b
(call $a (i32.const 1)) ;; best case scenario
@@ -83,5 +83,51 @@
(call $a12 (i32.const 1))
(call $a12 (i32.const 2))
)
+ ;; return values
+ (func $c1
+ (local $x i32)
+ (drop (call $c2))
+ (drop (call $c3))
+ (drop (call $c3))
+ (drop (call $c4))
+ (local.set $x (call $c4))
+ (drop (call $c5 (unreachable)))
+ (drop (call $c6))
+ (drop (call $c7))
+ (drop (call $c8))
+ )
+ (func $c2 (result i32)
+ (i32.const 1)
+ )
+ (func $c3 (result i32)
+ (i32.const 2)
+ )
+ (func $c4 (result i32)
+ (i32.const 3)
+ )
+ (func $c5 (param $x i32) (result i32)
+ (local.get $x)
+ )
+ (func $c6 (result i32)
+ (unreachable)
+ )
+ (func $c7 (result i32)
+ (return (i32.const 4))
+ )
+ (func $c8 (result i32)
+ (i32.const 5)
+ )
+)
+(module ;; both operations at once: remove params and return value
+ (func "a"
+ (drop
+ (call $b
+ (i32.const 1)
+ )
+ )
+ )
+ (func $b (param $x i32) (result i32)
+ (local.get $x)
+ )
)
diff --git a/test/unit.fromasm b/test/unit.fromasm
index c9e20da52..575013dbb 100644
--- a/test/unit.fromasm
+++ b/test/unit.fromasm
@@ -1087,31 +1087,7 @@
(i32.const 30)
)
)
- (func $sqrts (; 53 ;) (; has Stack IR ;) (param $0 f64) (result f64)
- (f64.add
- (f64.sqrt
- (local.get $0)
- )
- (f64.promote_f32
- (f32.sqrt
- (f32.demote_f64
- (local.get $0)
- )
- )
- )
- )
- )
- (func $keepAlive (; 54 ;) (; has Stack IR ;)
- (drop
- (call $sqrts
- (f64.const 3.14159)
- )
- )
- (drop
- (call $sqrts
- (f64.const 2.18281)
- )
- )
+ (func $keepAlive (; 53 ;) (; has Stack IR ;)
(drop
(call $f64-to-int
(f64.const 100)
@@ -1170,13 +1146,13 @@
)
)
)
- (func $vi (; 55 ;) (; has Stack IR ;) (param $0 i32)
+ (func $vi (; 54 ;) (; has Stack IR ;) (param $0 i32)
(nop)
)
- (func $ii (; 56 ;) (; has Stack IR ;) (param $0 i32) (result i32)
+ (func $ii (; 55 ;) (; has Stack IR ;) (param $0 i32) (result i32)
(local.get $0)
)
- (func $legalstub$conversions (; 57 ;) (; has Stack IR ;) (param $0 i32) (param $1 f64) (param $2 f64)
+ (func $legalstub$conversions (; 56 ;) (; has Stack IR ;) (param $0 i32) (param $1 f64) (param $2 f64)
(drop
(call $f64-to-int
(local.get $1)
@@ -1192,7 +1168,7 @@
)
)
)
- (func $legalstub$frem_float (; 58 ;) (; has Stack IR ;) (result f64)
+ (func $legalstub$frem_float (; 57 ;) (; has Stack IR ;) (result f64)
(f64.promote_f32
(f32.demote_f64
(call $f64-rem
@@ -1202,16 +1178,16 @@
)
)
)
- (func $legalstub$fr (; 59 ;) (; has Stack IR ;) (param $0 f64)
+ (func $legalstub$fr (; 58 ;) (; has Stack IR ;) (param $0 f64)
(nop)
)
- (func $legalstub$ceiling_32_64 (; 60 ;) (; has Stack IR ;) (param $0 f64) (param $1 f64)
+ (func $legalstub$ceiling_32_64 (; 59 ;) (; has Stack IR ;) (param $0 f64) (param $1 f64)
(nop)
)
- (func $legalstub$bitcasts (; 61 ;) (; has Stack IR ;) (param $0 i32) (param $1 f64)
+ (func $legalstub$bitcasts (; 60 ;) (; has Stack IR ;) (param $0 i32) (param $1 f64)
(nop)
)
- (func $legalstub$exported_f32_user (; 62 ;) (; has Stack IR ;) (param $0 i32) (param $1 f64) (param $2 f64) (result f64)
+ (func $legalstub$exported_f32_user (; 61 ;) (; has Stack IR ;) (param $0 i32) (param $1 f64) (param $2 f64) (result f64)
(f64.promote_f32
(f32.demote_f64
(local.get $1)
diff --git a/test/unit.fromasm.clamp b/test/unit.fromasm.clamp
index deec92f97..73fe3f4a1 100644
--- a/test/unit.fromasm.clamp
+++ b/test/unit.fromasm.clamp
@@ -170,27 +170,29 @@
)
)
)
- (func $f32-to-int (; 12 ;) (; has Stack IR ;) (param $0 f32) (result i32)
- (if (result i32)
- (f32.ne
- (local.get $0)
- (local.get $0)
- )
- (i32.const -2147483648)
+ (func $f32-to-int (; 12 ;) (; has Stack IR ;) (param $0 f32)
+ (drop
(if (result i32)
- (f32.ge
+ (f32.ne
+ (local.get $0)
(local.get $0)
- (f32.const 2147483648)
)
(i32.const -2147483648)
(if (result i32)
- (f32.le
+ (f32.ge
(local.get $0)
- (f32.const -2147483648)
+ (f32.const 2147483648)
)
(i32.const -2147483648)
- (i32.trunc_f32_s
- (local.get $0)
+ (if (result i32)
+ (f32.le
+ (local.get $0)
+ (f32.const -2147483648)
+ )
+ (i32.const -2147483648)
+ (i32.trunc_f32_s
+ (local.get $0)
+ )
)
)
)
@@ -1137,62 +1139,7 @@
(i32.const 30)
)
)
- (func $sqrts (; 54 ;) (; has Stack IR ;) (param $0 f64) (result f64)
- (f64.add
- (f64.sqrt
- (local.get $0)
- )
- (f64.promote_f32
- (f32.sqrt
- (f32.demote_f64
- (local.get $0)
- )
- )
- )
- )
- )
- (func $f64-to-uint (; 55 ;) (; has Stack IR ;) (param $0 f64) (result i32)
- (if (result i32)
- (f64.ne
- (local.get $0)
- (local.get $0)
- )
- (i32.const 0)
- (if (result i32)
- (f64.ge
- (local.get $0)
- (f64.const 4294967296)
- )
- (i32.const 0)
- (if (result i32)
- (f64.le
- (local.get $0)
- (f64.const -1)
- )
- (i32.const 0)
- (i32.trunc_f64_u
- (local.get $0)
- )
- )
- )
- )
- )
- (func $keepAlive (; 56 ;) (; has Stack IR ;)
- (drop
- (call $sqrts
- (f64.const 3.14159)
- )
- )
- (drop
- (call $sqrts
- (f64.const 2.18281)
- )
- )
- (drop
- (call $f64-to-uint
- (f64.const 100)
- )
- )
+ (func $keepAlive (; 54 ;) (; has Stack IR ;)
(drop
(call $f64-to-int
(f64.const 100)
@@ -1246,27 +1193,25 @@
)
)
)
- (func $vi (; 57 ;) (; has Stack IR ;) (param $0 i32)
+ (func $vi (; 55 ;) (; has Stack IR ;) (param $0 i32)
(nop)
)
- (func $ii (; 58 ;) (; has Stack IR ;) (param $0 i32) (result i32)
+ (func $ii (; 56 ;) (; has Stack IR ;) (param $0 i32) (result i32)
(local.get $0)
)
- (func $legalstub$conversions (; 59 ;) (; has Stack IR ;) (param $0 i32) (param $1 f64) (param $2 f64)
+ (func $legalstub$conversions (; 57 ;) (; has Stack IR ;) (param $0 i32) (param $1 f64) (param $2 f64)
(drop
(call $f64-to-int
(local.get $1)
)
)
- (drop
- (call $f32-to-int
- (f32.demote_f64
- (local.get $2)
- )
+ (call $f32-to-int
+ (f32.demote_f64
+ (local.get $2)
)
)
)
- (func $legalstub$frem_float (; 60 ;) (; has Stack IR ;) (result f64)
+ (func $legalstub$frem_float (; 58 ;) (; has Stack IR ;) (result f64)
(f64.promote_f32
(f32.demote_f64
(call $f64-rem
@@ -1276,16 +1221,16 @@
)
)
)
- (func $legalstub$fr (; 61 ;) (; has Stack IR ;) (param $0 f64)
+ (func $legalstub$fr (; 59 ;) (; has Stack IR ;) (param $0 f64)
(nop)
)
- (func $legalstub$ceiling_32_64 (; 62 ;) (; has Stack IR ;) (param $0 f64) (param $1 f64)
+ (func $legalstub$ceiling_32_64 (; 60 ;) (; has Stack IR ;) (param $0 f64) (param $1 f64)
(nop)
)
- (func $legalstub$bitcasts (; 63 ;) (; has Stack IR ;) (param $0 i32) (param $1 f64)
+ (func $legalstub$bitcasts (; 61 ;) (; has Stack IR ;) (param $0 i32) (param $1 f64)
(nop)
)
- (func $legalstub$exported_f32_user (; 64 ;) (; has Stack IR ;) (param $0 i32) (param $1 f64) (param $2 f64) (result f64)
+ (func $legalstub$exported_f32_user (; 62 ;) (; has Stack IR ;) (param $0 i32) (param $1 f64) (param $2 f64) (result f64)
(f64.promote_f32
(f32.demote_f64
(local.get $1)
diff --git a/test/unit.fromasm.imprecise b/test/unit.fromasm.imprecise
index 7ff7a4c18..bf5a9ae22 100644
--- a/test/unit.fromasm.imprecise
+++ b/test/unit.fromasm.imprecise
@@ -1086,31 +1086,7 @@
(i32.const 30)
)
)
- (func $sqrts (; 52 ;) (; has Stack IR ;) (param $0 f64) (result f64)
- (f64.add
- (f64.sqrt
- (local.get $0)
- )
- (f64.promote_f32
- (f32.sqrt
- (f32.demote_f64
- (local.get $0)
- )
- )
- )
- )
- )
- (func $keepAlive (; 53 ;) (; has Stack IR ;)
- (drop
- (call $sqrts
- (f64.const 3.14159)
- )
- )
- (drop
- (call $sqrts
- (f64.const 2.18281)
- )
- )
+ (func $keepAlive (; 52 ;) (; has Stack IR ;)
(call_indirect (type $FUNCSIG$vi)
(i32.const 0)
(i32.const 17)
@@ -1149,16 +1125,16 @@
)
)
)
- (func $vi (; 54 ;) (; has Stack IR ;) (param $0 i32)
+ (func $vi (; 53 ;) (; has Stack IR ;) (param $0 i32)
(nop)
)
- (func $ii (; 55 ;) (; has Stack IR ;) (param $0 i32) (result i32)
+ (func $ii (; 54 ;) (; has Stack IR ;) (param $0 i32) (result i32)
(local.get $0)
)
- (func $legalstub$conversions (; 56 ;) (; has Stack IR ;) (param $0 i32) (param $1 f64) (param $2 f64)
+ (func $legalstub$conversions (; 55 ;) (; has Stack IR ;) (param $0 i32) (param $1 f64) (param $2 f64)
(nop)
)
- (func $legalstub$frem_float (; 57 ;) (; has Stack IR ;) (result f64)
+ (func $legalstub$frem_float (; 56 ;) (; has Stack IR ;) (result f64)
(f64.promote_f32
(f32.demote_f64
(call $f64-rem
@@ -1168,16 +1144,16 @@
)
)
)
- (func $legalstub$fr (; 58 ;) (; has Stack IR ;) (param $0 f64)
+ (func $legalstub$fr (; 57 ;) (; has Stack IR ;) (param $0 f64)
(nop)
)
- (func $legalstub$ceiling_32_64 (; 59 ;) (; has Stack IR ;) (param $0 f64) (param $1 f64)
+ (func $legalstub$ceiling_32_64 (; 58 ;) (; has Stack IR ;) (param $0 f64) (param $1 f64)
(nop)
)
- (func $legalstub$bitcasts (; 60 ;) (; has Stack IR ;) (param $0 i32) (param $1 f64)
+ (func $legalstub$bitcasts (; 59 ;) (; has Stack IR ;) (param $0 i32) (param $1 f64)
(nop)
)
- (func $legalstub$exported_f32_user (; 61 ;) (; has Stack IR ;) (param $0 i32) (param $1 f64) (param $2 f64) (result f64)
+ (func $legalstub$exported_f32_user (; 60 ;) (; has Stack IR ;) (param $0 i32) (param $1 f64) (param $2 f64) (result f64)
(f64.promote_f32
(f32.demote_f64
(local.get $1)
diff --git a/test/wasm-only.fromasm b/test/wasm-only.fromasm
index f3e2c2817..36611ca94 100644
--- a/test/wasm-only.fromasm
+++ b/test/wasm-only.fromasm
@@ -249,105 +249,113 @@
)
)
)
- (func $f32-to-int64 (; 9 ;) (; has Stack IR ;) (param $0 f32) (result i64)
- (if (result i64)
- (f32.ne
- (local.get $0)
- (local.get $0)
- )
- (i64.const -9223372036854775808)
+ (func $f32-to-int64 (; 9 ;) (; has Stack IR ;) (param $0 f32)
+ (drop
(if (result i64)
- (f32.ge
+ (f32.ne
+ (local.get $0)
(local.get $0)
- (f32.const 9223372036854775808)
)
(i64.const -9223372036854775808)
(if (result i64)
- (f32.le
+ (f32.ge
(local.get $0)
- (f32.const -9223372036854775808)
+ (f32.const 9223372036854775808)
)
(i64.const -9223372036854775808)
- (i64.trunc_f32_s
- (local.get $0)
+ (if (result i64)
+ (f32.le
+ (local.get $0)
+ (f32.const -9223372036854775808)
+ )
+ (i64.const -9223372036854775808)
+ (i64.trunc_f32_s
+ (local.get $0)
+ )
)
)
)
)
)
- (func $f64-to-int64 (; 10 ;) (; has Stack IR ;) (param $0 f64) (result i64)
- (if (result i64)
- (f64.ne
- (local.get $0)
- (local.get $0)
- )
- (i64.const -9223372036854775808)
+ (func $f64-to-int64 (; 10 ;) (; has Stack IR ;) (param $0 f64)
+ (drop
(if (result i64)
- (f64.ge
+ (f64.ne
+ (local.get $0)
(local.get $0)
- (f64.const 9223372036854775808)
)
(i64.const -9223372036854775808)
(if (result i64)
- (f64.le
+ (f64.ge
(local.get $0)
- (f64.const -9223372036854775808)
+ (f64.const 9223372036854775808)
)
(i64.const -9223372036854775808)
- (i64.trunc_f64_s
- (local.get $0)
+ (if (result i64)
+ (f64.le
+ (local.get $0)
+ (f64.const -9223372036854775808)
+ )
+ (i64.const -9223372036854775808)
+ (i64.trunc_f64_s
+ (local.get $0)
+ )
)
)
)
)
)
- (func $f32-to-uint64 (; 11 ;) (; has Stack IR ;) (param $0 f32) (result i64)
- (if (result i64)
- (f32.ne
- (local.get $0)
- (local.get $0)
- )
- (i64.const 0)
+ (func $f32-to-uint64 (; 11 ;) (; has Stack IR ;) (param $0 f32)
+ (drop
(if (result i64)
- (f32.ge
+ (f32.ne
+ (local.get $0)
(local.get $0)
- (f32.const 18446744073709551615)
)
(i64.const 0)
(if (result i64)
- (f32.le
+ (f32.ge
(local.get $0)
- (f32.const -1)
+ (f32.const 18446744073709551615)
)
(i64.const 0)
- (i64.trunc_f32_u
- (local.get $0)
+ (if (result i64)
+ (f32.le
+ (local.get $0)
+ (f32.const -1)
+ )
+ (i64.const 0)
+ (i64.trunc_f32_u
+ (local.get $0)
+ )
)
)
)
)
)
- (func $f64-to-uint64 (; 12 ;) (; has Stack IR ;) (param $0 f64) (result i64)
- (if (result i64)
- (f64.ne
- (local.get $0)
- (local.get $0)
- )
- (i64.const 0)
+ (func $f64-to-uint64 (; 12 ;) (; has Stack IR ;) (param $0 f64)
+ (drop
(if (result i64)
- (f64.ge
+ (f64.ne
+ (local.get $0)
(local.get $0)
- (f64.const 18446744073709551615)
)
(i64.const 0)
(if (result i64)
- (f64.le
+ (f64.ge
(local.get $0)
- (f64.const -1)
+ (f64.const 18446744073709551615)
)
(i64.const 0)
- (i64.trunc_f64_u
- (local.get $0)
+ (if (result i64)
+ (f64.le
+ (local.get $0)
+ (f64.const -1)
+ )
+ (i64.const 0)
+ (i64.trunc_f64_u
+ (local.get $0)
+ )
)
)
)
@@ -413,56 +421,50 @@
(i32.const 120)
(local.get $0)
)
- (drop
- (call $f32-to-int64
- (local.tee $1
- (f32.convert_i64_u
- (local.tee $0
- (i64.extend_i32_u
- (i32.wrap_i64
- (local.get $0)
- )
+ (call $f32-to-int64
+ (local.tee $1
+ (f32.convert_i64_u
+ (local.tee $0
+ (i64.extend_i32_u
+ (i32.wrap_i64
+ (local.get $0)
)
)
)
)
)
)
- (drop
- (call $f64-to-int64
- (local.tee $2
- (f64.convert_i64_u
- (local.get $0)
- )
+ (call $f64-to-int64
+ (local.tee $2
+ (f64.convert_i64_u
+ (local.get $0)
)
)
)
- (drop
- (call $f32-to-uint64
- (local.get $1)
- )
+ (call $f32-to-uint64
+ (local.get $1)
)
- (drop
- (call $f64-to-uint64
- (local.get $2)
- )
+ (call $f64-to-uint64
+ (local.get $2)
)
)
- (func $imports (; 14 ;) (; has Stack IR ;) (result i64)
+ (func $imports (; 14 ;) (; has Stack IR ;)
(call $legalfunc$illegalImport
(f64.const -3.13159)
(i64.const 94489280523)
(i32.const -33)
)
- (i64.or
- (i64.extend_i32_u
- (call $legalimport$illegalImportResult)
- )
- (i64.shl
+ (drop
+ (i64.or
(i64.extend_i32_u
- (call $getTempRet0)
+ (call $legalimport$illegalImportResult)
+ )
+ (i64.shl
+ (i64.extend_i32_u
+ (call $getTempRet0)
+ )
+ (i64.const 32)
)
- (i64.const 32)
)
)
)
@@ -509,151 +511,32 @@
)
(i64.const 245127260211081)
)
- (func $ifValue32 (; 19 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32)
+ (func $ifValue64 (; 19 ;) (; has Stack IR ;)
+ (drop
+ (call $call2
+ (i64.const 0)
+ )
+ )
+ )
+ (func $ifValue32 (; 20 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32)
(call $ifValue32
(local.get $0)
(local.get $1)
)
)
- (func $unreachable_leftovers (; 20 ;) (; has Stack IR ;)
+ (func $unreachable_leftovers (; 21 ;) (; has Stack IR ;)
(i32.store
(i32.const 0)
(i32.const -2)
)
)
- (func $_memchr (; 21 ;) (; has Stack IR ;) (result i32)
- (local $0 i32)
- (local $1 i32)
- (local $2 i32)
- (block $label$break$L8
- (block $__rjti$2
- (br_if $__rjti$2
- (local.get $0)
- )
- (local.set $0
- (i32.const 0)
- )
- (br $label$break$L8)
- )
- (local.set $0
- (local.get $2)
- )
- (if
- (i32.load8_u
- (local.get $1)
- )
- (block
- (block $__rjto$0
- (block $__rjti$0
- (br_if $__rjti$0
- (i32.le_u
- (local.get $0)
- (i32.const 3)
- )
- )
- (loop $while-in3
- (if
- (i32.eqz
- (i32.and
- (i32.xor
- (i32.and
- (local.tee $2
- (i32.load
- (local.get $1)
- )
- )
- (i32.const -2139062144)
- )
- (i32.const -2139062144)
- )
- (i32.add
- (local.get $2)
- (i32.const -16843009)
- )
- )
- )
- (block
- (local.set $1
- (i32.add
- (local.get $1)
- (i32.const 4)
- )
- )
- (br_if $while-in3
- (i32.gt_u
- (local.tee $0
- (i32.add
- (local.get $0)
- (i32.const -4)
- )
- )
- (i32.const 3)
- )
- )
- (br $__rjti$0)
- )
- )
- )
- (br $__rjto$0)
- )
- (if
- (i32.eqz
- (local.get $0)
- )
- (block
- (local.set $0
- (i32.const 0)
- )
- (br $label$break$L8)
- )
- )
- )
- (local.set $0
- (loop $while-in5 (result i32)
- (br_if $label$break$L8
- (i32.eqz
- (i32.load8_u
- (local.get $1)
- )
- )
- )
- (local.set $1
- (i32.add
- (local.get $1)
- (i32.const 1)
- )
- )
- (br_if $while-in5
- (local.tee $0
- (i32.add
- (local.get $0)
- (i32.const -1)
- )
- )
- )
- (i32.const 0)
- )
- )
- )
- )
- )
- (select
- (local.get $1)
- (i32.const 0)
- (local.get $0)
- )
- )
(func $keepAlive (; 22 ;) (; has Stack IR ;)
(call $loads)
(call $loads)
(call $stores)
(call $stores)
- (drop
- (call $imports)
- )
- (drop
- (call $imports)
- )
+ (call $imports)
+ (call $imports)
(call $arg
(i64.const 0)
)
@@ -680,16 +563,8 @@
(i64.const 0)
)
)
- (drop
- (call $call2
- (i64.const 0)
- )
- )
- (drop
- (call $call2
- (i64.const 0)
- )
- )
+ (call $ifValue64)
+ (call $ifValue64)
(drop
(call $ifValue32
(i32.const 0)
@@ -704,9 +579,6 @@
)
(call $unreachable_leftovers)
(call $unreachable_leftovers)
- (drop
- (call $_memchr)
- )
)
(func $legalstub$illegalParam (; 23 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 f64)
(call $illegalParam
diff --git a/test/wasm-only.fromasm.clamp b/test/wasm-only.fromasm.clamp
index f3e2c2817..36611ca94 100644
--- a/test/wasm-only.fromasm.clamp
+++ b/test/wasm-only.fromasm.clamp
@@ -249,105 +249,113 @@
)
)
)
- (func $f32-to-int64 (; 9 ;) (; has Stack IR ;) (param $0 f32) (result i64)
- (if (result i64)
- (f32.ne
- (local.get $0)
- (local.get $0)
- )
- (i64.const -9223372036854775808)
+ (func $f32-to-int64 (; 9 ;) (; has Stack IR ;) (param $0 f32)
+ (drop
(if (result i64)
- (f32.ge
+ (f32.ne
+ (local.get $0)
(local.get $0)
- (f32.const 9223372036854775808)
)
(i64.const -9223372036854775808)
(if (result i64)
- (f32.le
+ (f32.ge
(local.get $0)
- (f32.const -9223372036854775808)
+ (f32.const 9223372036854775808)
)
(i64.const -9223372036854775808)
- (i64.trunc_f32_s
- (local.get $0)
+ (if (result i64)
+ (f32.le
+ (local.get $0)
+ (f32.const -9223372036854775808)
+ )
+ (i64.const -9223372036854775808)
+ (i64.trunc_f32_s
+ (local.get $0)
+ )
)
)
)
)
)
- (func $f64-to-int64 (; 10 ;) (; has Stack IR ;) (param $0 f64) (result i64)
- (if (result i64)
- (f64.ne
- (local.get $0)
- (local.get $0)
- )
- (i64.const -9223372036854775808)
+ (func $f64-to-int64 (; 10 ;) (; has Stack IR ;) (param $0 f64)
+ (drop
(if (result i64)
- (f64.ge
+ (f64.ne
+ (local.get $0)
(local.get $0)
- (f64.const 9223372036854775808)
)
(i64.const -9223372036854775808)
(if (result i64)
- (f64.le
+ (f64.ge
(local.get $0)
- (f64.const -9223372036854775808)
+ (f64.const 9223372036854775808)
)
(i64.const -9223372036854775808)
- (i64.trunc_f64_s
- (local.get $0)
+ (if (result i64)
+ (f64.le
+ (local.get $0)
+ (f64.const -9223372036854775808)
+ )
+ (i64.const -9223372036854775808)
+ (i64.trunc_f64_s
+ (local.get $0)
+ )
)
)
)
)
)
- (func $f32-to-uint64 (; 11 ;) (; has Stack IR ;) (param $0 f32) (result i64)
- (if (result i64)
- (f32.ne
- (local.get $0)
- (local.get $0)
- )
- (i64.const 0)
+ (func $f32-to-uint64 (; 11 ;) (; has Stack IR ;) (param $0 f32)
+ (drop
(if (result i64)
- (f32.ge
+ (f32.ne
+ (local.get $0)
(local.get $0)
- (f32.const 18446744073709551615)
)
(i64.const 0)
(if (result i64)
- (f32.le
+ (f32.ge
(local.get $0)
- (f32.const -1)
+ (f32.const 18446744073709551615)
)
(i64.const 0)
- (i64.trunc_f32_u
- (local.get $0)
+ (if (result i64)
+ (f32.le
+ (local.get $0)
+ (f32.const -1)
+ )
+ (i64.const 0)
+ (i64.trunc_f32_u
+ (local.get $0)
+ )
)
)
)
)
)
- (func $f64-to-uint64 (; 12 ;) (; has Stack IR ;) (param $0 f64) (result i64)
- (if (result i64)
- (f64.ne
- (local.get $0)
- (local.get $0)
- )
- (i64.const 0)
+ (func $f64-to-uint64 (; 12 ;) (; has Stack IR ;) (param $0 f64)
+ (drop
(if (result i64)
- (f64.ge
+ (f64.ne
+ (local.get $0)
(local.get $0)
- (f64.const 18446744073709551615)
)
(i64.const 0)
(if (result i64)
- (f64.le
+ (f64.ge
(local.get $0)
- (f64.const -1)
+ (f64.const 18446744073709551615)
)
(i64.const 0)
- (i64.trunc_f64_u
- (local.get $0)
+ (if (result i64)
+ (f64.le
+ (local.get $0)
+ (f64.const -1)
+ )
+ (i64.const 0)
+ (i64.trunc_f64_u
+ (local.get $0)
+ )
)
)
)
@@ -413,56 +421,50 @@
(i32.const 120)
(local.get $0)
)
- (drop
- (call $f32-to-int64
- (local.tee $1
- (f32.convert_i64_u
- (local.tee $0
- (i64.extend_i32_u
- (i32.wrap_i64
- (local.get $0)
- )
+ (call $f32-to-int64
+ (local.tee $1
+ (f32.convert_i64_u
+ (local.tee $0
+ (i64.extend_i32_u
+ (i32.wrap_i64
+ (local.get $0)
)
)
)
)
)
)
- (drop
- (call $f64-to-int64
- (local.tee $2
- (f64.convert_i64_u
- (local.get $0)
- )
+ (call $f64-to-int64
+ (local.tee $2
+ (f64.convert_i64_u
+ (local.get $0)
)
)
)
- (drop
- (call $f32-to-uint64
- (local.get $1)
- )
+ (call $f32-to-uint64
+ (local.get $1)
)
- (drop
- (call $f64-to-uint64
- (local.get $2)
- )
+ (call $f64-to-uint64
+ (local.get $2)
)
)
- (func $imports (; 14 ;) (; has Stack IR ;) (result i64)
+ (func $imports (; 14 ;) (; has Stack IR ;)
(call $legalfunc$illegalImport
(f64.const -3.13159)
(i64.const 94489280523)
(i32.const -33)
)
- (i64.or
- (i64.extend_i32_u
- (call $legalimport$illegalImportResult)
- )
- (i64.shl
+ (drop
+ (i64.or
(i64.extend_i32_u
- (call $getTempRet0)
+ (call $legalimport$illegalImportResult)
+ )
+ (i64.shl
+ (i64.extend_i32_u
+ (call $getTempRet0)
+ )
+ (i64.const 32)
)
- (i64.const 32)
)
)
)
@@ -509,151 +511,32 @@
)
(i64.const 245127260211081)
)
- (func $ifValue32 (; 19 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32)
+ (func $ifValue64 (; 19 ;) (; has Stack IR ;)
+ (drop
+ (call $call2
+ (i64.const 0)
+ )
+ )
+ )
+ (func $ifValue32 (; 20 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32)
(call $ifValue32
(local.get $0)
(local.get $1)
)
)
- (func $unreachable_leftovers (; 20 ;) (; has Stack IR ;)
+ (func $unreachable_leftovers (; 21 ;) (; has Stack IR ;)
(i32.store
(i32.const 0)
(i32.const -2)
)
)
- (func $_memchr (; 21 ;) (; has Stack IR ;) (result i32)
- (local $0 i32)
- (local $1 i32)
- (local $2 i32)
- (block $label$break$L8
- (block $__rjti$2
- (br_if $__rjti$2
- (local.get $0)
- )
- (local.set $0
- (i32.const 0)
- )
- (br $label$break$L8)
- )
- (local.set $0
- (local.get $2)
- )
- (if
- (i32.load8_u
- (local.get $1)
- )
- (block
- (block $__rjto$0
- (block $__rjti$0
- (br_if $__rjti$0
- (i32.le_u
- (local.get $0)
- (i32.const 3)
- )
- )
- (loop $while-in3
- (if
- (i32.eqz
- (i32.and
- (i32.xor
- (i32.and
- (local.tee $2
- (i32.load
- (local.get $1)
- )
- )
- (i32.const -2139062144)
- )
- (i32.const -2139062144)
- )
- (i32.add
- (local.get $2)
- (i32.const -16843009)
- )
- )
- )
- (block
- (local.set $1
- (i32.add
- (local.get $1)
- (i32.const 4)
- )
- )
- (br_if $while-in3
- (i32.gt_u
- (local.tee $0
- (i32.add
- (local.get $0)
- (i32.const -4)
- )
- )
- (i32.const 3)
- )
- )
- (br $__rjti$0)
- )
- )
- )
- (br $__rjto$0)
- )
- (if
- (i32.eqz
- (local.get $0)
- )
- (block
- (local.set $0
- (i32.const 0)
- )
- (br $label$break$L8)
- )
- )
- )
- (local.set $0
- (loop $while-in5 (result i32)
- (br_if $label$break$L8
- (i32.eqz
- (i32.load8_u
- (local.get $1)
- )
- )
- )
- (local.set $1
- (i32.add
- (local.get $1)
- (i32.const 1)
- )
- )
- (br_if $while-in5
- (local.tee $0
- (i32.add
- (local.get $0)
- (i32.const -1)
- )
- )
- )
- (i32.const 0)
- )
- )
- )
- )
- )
- (select
- (local.get $1)
- (i32.const 0)
- (local.get $0)
- )
- )
(func $keepAlive (; 22 ;) (; has Stack IR ;)
(call $loads)
(call $loads)
(call $stores)
(call $stores)
- (drop
- (call $imports)
- )
- (drop
- (call $imports)
- )
+ (call $imports)
+ (call $imports)
(call $arg
(i64.const 0)
)
@@ -680,16 +563,8 @@
(i64.const 0)
)
)
- (drop
- (call $call2
- (i64.const 0)
- )
- )
- (drop
- (call $call2
- (i64.const 0)
- )
- )
+ (call $ifValue64)
+ (call $ifValue64)
(drop
(call $ifValue32
(i32.const 0)
@@ -704,9 +579,6 @@
)
(call $unreachable_leftovers)
(call $unreachable_leftovers)
- (drop
- (call $_memchr)
- )
)
(func $legalstub$illegalParam (; 23 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 f64)
(call $illegalParam
diff --git a/test/wasm-only.fromasm.imprecise b/test/wasm-only.fromasm.imprecise
index 6f0cdef47..87e328ab1 100644
--- a/test/wasm-only.fromasm.imprecise
+++ b/test/wasm-only.fromasm.imprecise
@@ -143,21 +143,23 @@
)
)
)
- (func $imports (; 8 ;) (; has Stack IR ;) (result i64)
+ (func $imports (; 8 ;) (; has Stack IR ;)
(call $legalfunc$illegalImport
(f64.const -3.13159)
(i64.const 94489280523)
(i32.const -33)
)
- (i64.or
- (i64.extend_i32_u
- (call $legalimport$illegalImportResult)
- )
- (i64.shl
+ (drop
+ (i64.or
(i64.extend_i32_u
- (call $getTempRet0)
+ (call $legalimport$illegalImportResult)
+ )
+ (i64.shl
+ (i64.extend_i32_u
+ (call $getTempRet0)
+ )
+ (i64.const 32)
)
- (i64.const 32)
)
)
)
@@ -204,149 +206,30 @@
)
(i64.const 245127260211081)
)
- (func $ifValue32 (; 13 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32)
+ (func $ifValue64 (; 13 ;) (; has Stack IR ;)
+ (drop
+ (call $call2
+ (i64.const 0)
+ )
+ )
+ )
+ (func $ifValue32 (; 14 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32)
(call $ifValue32
(local.get $0)
(local.get $1)
)
)
- (func $unreachable_leftovers (; 14 ;) (; has Stack IR ;)
+ (func $unreachable_leftovers (; 15 ;) (; has Stack IR ;)
(i32.store
(i32.const 0)
(i32.const -2)
)
)
- (func $_memchr (; 15 ;) (; has Stack IR ;) (result i32)
- (local $0 i32)
- (local $1 i32)
- (local $2 i32)
- (block $label$break$L8
- (block $__rjti$2
- (br_if $__rjti$2
- (local.get $0)
- )
- (local.set $0
- (i32.const 0)
- )
- (br $label$break$L8)
- )
- (local.set $0
- (local.get $2)
- )
- (if
- (i32.load8_u
- (local.get $1)
- )
- (block
- (block $__rjto$0
- (block $__rjti$0
- (br_if $__rjti$0
- (i32.le_u
- (local.get $0)
- (i32.const 3)
- )
- )
- (loop $while-in3
- (if
- (i32.eqz
- (i32.and
- (i32.xor
- (i32.and
- (local.tee $2
- (i32.load
- (local.get $1)
- )
- )
- (i32.const -2139062144)
- )
- (i32.const -2139062144)
- )
- (i32.add
- (local.get $2)
- (i32.const -16843009)
- )
- )
- )
- (block
- (local.set $1
- (i32.add
- (local.get $1)
- (i32.const 4)
- )
- )
- (br_if $while-in3
- (i32.gt_u
- (local.tee $0
- (i32.add
- (local.get $0)
- (i32.const -4)
- )
- )
- (i32.const 3)
- )
- )
- (br $__rjti$0)
- )
- )
- )
- (br $__rjto$0)
- )
- (if
- (i32.eqz
- (local.get $0)
- )
- (block
- (local.set $0
- (i32.const 0)
- )
- (br $label$break$L8)
- )
- )
- )
- (local.set $0
- (loop $while-in5 (result i32)
- (br_if $label$break$L8
- (i32.eqz
- (i32.load8_u
- (local.get $1)
- )
- )
- )
- (local.set $1
- (i32.add
- (local.get $1)
- (i32.const 1)
- )
- )
- (br_if $while-in5
- (local.tee $0
- (i32.add
- (local.get $0)
- (i32.const -1)
- )
- )
- )
- (i32.const 0)
- )
- )
- )
- )
- )
- (select
- (local.get $1)
- (i32.const 0)
- (local.get $0)
- )
- )
(func $keepAlive (; 16 ;) (; has Stack IR ;)
(call $stores)
(call $stores)
- (drop
- (call $imports)
- )
- (drop
- (call $imports)
- )
+ (call $imports)
+ (call $imports)
(call $arg
(i64.const 0)
)
@@ -373,16 +256,8 @@
(i64.const 0)
)
)
- (drop
- (call $call2
- (i64.const 0)
- )
- )
- (drop
- (call $call2
- (i64.const 0)
- )
- )
+ (call $ifValue64)
+ (call $ifValue64)
(drop
(call $ifValue32
(i32.const 0)
@@ -397,9 +272,6 @@
)
(call $unreachable_leftovers)
(call $unreachable_leftovers)
- (drop
- (call $_memchr)
- )
)
(func $legalstub$illegalParam (; 17 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 f64)
(call $illegalParam