summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/asm2wasm.h55
-rw-r--r--src/asm_v_wasm.h4
-rw-r--r--src/ast_utils.h8
-rw-r--r--src/binaryen-shell.cpp4
-rw-r--r--src/passes/NameManager.cpp10
-rw-r--r--src/passes/Print.cpp24
-rw-r--r--src/passes/ReorderLocals.cpp87
-rw-r--r--src/passes/SimplifyLocals.cpp26
-rw-r--r--src/s2wasm.h23
-rw-r--r--src/wasm-binary.h72
-rw-r--r--src/wasm-builder.h75
-rw-r--r--src/wasm-interpreter.h29
-rw-r--r--src/wasm-s-parser.h74
-rw-r--r--src/wasm.h74
-rw-r--r--src/wasm2asm.h61
-rw-r--r--test/emcc_O2_hello_world.fromasm184
-rw-r--r--test/emcc_O2_hello_world.fromasm.imprecise184
-rw-r--r--test/emcc_hello_world.fromasm2376
-rw-r--r--test/emcc_hello_world.fromasm.imprecise2376
-rw-r--r--test/memorygrowth.fromasm192
-rw-r--r--test/memorygrowth.fromasm.imprecise192
-rw-r--r--test/unit.fromasm2
-rw-r--r--test/unit.fromasm.imprecise2
23 files changed, 3167 insertions, 2967 deletions
diff --git a/src/asm2wasm.h b/src/asm2wasm.h
index 8fcb1fb64..da97d7580 100644
--- a/src/asm2wasm.h
+++ b/src/asm2wasm.h
@@ -742,16 +742,18 @@ void Asm2WasmBuilder::processAsm(Ref ast) {
// apply memory growth, if relevant
if (memoryGrowth) {
// create and export a function that just calls memory growth
- auto growWasmMemory = allocator.alloc<Function>();
- growWasmMemory->name = GROW_WASM_MEMORY;
- growWasmMemory->params.emplace_back(NEW_SIZE, i32); // the new size
- auto get = allocator.alloc<GetLocal>();
- get->name = NEW_SIZE;
- auto grow = allocator.alloc<Host>();
- grow->op = GrowMemory;
- grow->operands.push_back(get);
- growWasmMemory->body = grow;
- wasm.addFunction(growWasmMemory);
+ Builder builder(wasm);
+ wasm.addFunction(builder.makeFunction(
+ GROW_WASM_MEMORY,
+ { { NEW_SIZE, i32 } },
+ none,
+ {},
+ builder.makeHost(
+ GrowMemory,
+ Name(),
+ { builder.makeGetLocal(0, i32) }
+ )
+ ));
auto export_ = allocator.alloc<Export>();
export_->name = export_->value = GROW_WASM_MEMORY;
wasm.addExport(export_);
@@ -777,17 +779,16 @@ void Asm2WasmBuilder::processAsm(Ref ast) {
// returns x / y
auto* func = wasm.getFunction(udivmoddi4);
assert(!func->type.is());
- Name xl = func->params[0].name,
- xh = func->params[1].name,
- yl = func->params[2].name,
- yh = func->params[3].name,
- r = func->params[4].name;
- func->vars.clear();
- Name x64("x64"), y64("y64");
- func->vars.emplace_back(x64, i64);
- func->vars.emplace_back(y64, i64);
+ Builder::clearLocals(func);
+ Index xl = Builder::addParam(func, "xl", i32),
+ xh = Builder::addParam(func, "xh", i32),
+ yl = Builder::addParam(func, "yl", i32),
+ yh = Builder::addParam(func, "yh", i32),
+ r = Builder::addParam(func, "r", i32),
+ x64 = Builder::addVar(func, "x64", i64),
+ y64 = Builder::addVar(func, "y64", i64);
auto* body = allocator.alloc<Block>();
- auto recreateI64 = [&](Name target, Name low, Name high) {
+ auto recreateI64 = [&](Index target, Index low, Index high) {
return builder.makeSetLocal(
target,
builder.makeBinary(
@@ -899,7 +900,7 @@ Function* Asm2WasmBuilder::processFunction(Ref ast) {
assert(curr[0] == ASSIGN && curr[2][0] == NAME);
IString name = curr[2][1]->getIString();
AsmType asmType = detectType(curr[3], nullptr, false, Math_fround);
- function->params.emplace_back(name, asmToWasmType(asmType));
+ Builder::addParam(function, name, asmToWasmType(asmType));
functionVariables.insert(name);
asmData.addParam(name, asmType);
}
@@ -910,7 +911,7 @@ Function* Asm2WasmBuilder::processFunction(Ref ast) {
Ref pair = curr[1][j];
IString name = pair[0]->getIString();
AsmType asmType = detectType(pair[1], nullptr, true, Math_fround);
- function->vars.emplace_back(name, asmToWasmType(asmType));
+ Builder::addVar(function, name, asmToWasmType(asmType));
functionVariables.insert(name);
asmData.addVar(name, asmType);
}
@@ -921,7 +922,7 @@ Function* Asm2WasmBuilder::processFunction(Ref ast) {
auto ensureI32Temp = [&]() {
if (addedI32Temp) return;
addedI32Temp = true;
- function->vars.emplace_back(I32_TEMP, i32);
+ Builder::addVar(function, I32_TEMP, i32);
functionVariables.insert(I32_TEMP);
asmData.addVar(I32_TEMP, ASM_INT);
};
@@ -946,7 +947,7 @@ Function* Asm2WasmBuilder::processFunction(Ref ast) {
IString name = ast[2][1]->getIString();
if (functionVariables.has(name)) {
auto ret = allocator.alloc<SetLocal>();
- ret->name = ast[2][1]->getIString();
+ ret->index = function->getLocalIndex(ast[2][1]->getIString());
ret->value = process(ast[3]);
ret->type = ret->value->type;
return ret;
@@ -1041,7 +1042,7 @@ Function* Asm2WasmBuilder::processFunction(Ref ast) {
if (functionVariables.has(name)) {
// var in scope
auto ret = allocator.alloc<GetLocal>();
- ret->name = name;
+ ret->index = function->getLocalIndex(name);
ret->type = asmToWasmType(asmData.getType(name));
return ret;
}
@@ -1248,12 +1249,12 @@ Function* Asm2WasmBuilder::processFunction(Ref ast) {
// No wasm support, so use a temp local
ensureI32Temp();
auto set = allocator.alloc<SetLocal>();
- set->name = I32_TEMP;
+ set->index = function->getLocalIndex(I32_TEMP);
set->value = value;
set->type = i32;
auto get = [&]() {
auto ret = allocator.alloc<GetLocal>();
- ret->name = I32_TEMP;
+ ret->index = function->getLocalIndex(I32_TEMP);
ret->type = i32;
return ret;
};
diff --git a/src/asm_v_wasm.h b/src/asm_v_wasm.h
index 6a279a2a7..440c9ec89 100644
--- a/src/asm_v_wasm.h
+++ b/src/asm_v_wasm.h
@@ -67,8 +67,8 @@ std::string getSig(FunctionType *type) {
std::string getSig(Function *func) {
std::string ret;
ret += getSig(func->result);
- for (auto param : func->params) {
- ret += getSig(param.type);
+ for (auto type : func->params) {
+ ret += getSig(type);
}
return ret;
}
diff --git a/src/ast_utils.h b/src/ast_utils.h
index f97697265..3fe4ee17a 100644
--- a/src/ast_utils.h
+++ b/src/ast_utils.h
@@ -45,8 +45,8 @@ struct BreakSeeker : public PostWalker<BreakSeeker> {
struct EffectAnalyzer : public PostWalker<EffectAnalyzer> {
bool branches = false;
bool calls = false;
- std::set<Name> localsRead;
- std::set<Name> localsWritten;
+ std::set<Index> localsRead;
+ std::set<Index> localsWritten;
bool readsMemory = false;
bool writesMemory = false;
@@ -98,10 +98,10 @@ struct EffectAnalyzer : public PostWalker<EffectAnalyzer> {
void visitCallImport(CallImport *curr) { calls = true; }
void visitCallIndirect(CallIndirect *curr) { calls = true; }
void visitGetLocal(GetLocal *curr) {
- localsRead.insert(curr->name);
+ localsRead.insert(curr->index);
}
void visitSetLocal(SetLocal *curr) {
- localsWritten.insert(curr->name);
+ localsWritten.insert(curr->index);
}
void visitLoad(Load *curr) { readsMemory = true; }
void visitStore(Store *curr) { writesMemory = true; }
diff --git a/src/binaryen-shell.cpp b/src/binaryen-shell.cpp
index 6e3cc8af2..82094a697 100644
--- a/src/binaryen-shell.cpp
+++ b/src/binaryen-shell.cpp
@@ -89,8 +89,8 @@ static void run_asserts(size_t* i, bool* checked, AllocatingModule* wasm,
std::cerr << "Unknown entry " << entry << std::endl;
} else {
ModuleInstance::LiteralList arguments;
- for (NameType param : function->params) {
- arguments.push_back(Literal(param.type));
+ for (WasmType param : function->params) {
+ arguments.push_back(Literal(param));
}
try {
instance->callExport(entry, arguments);
diff --git a/src/passes/NameManager.cpp b/src/passes/NameManager.cpp
index 6a07de4c7..2f20979b8 100644
--- a/src/passes/NameManager.cpp
+++ b/src/passes/NameManager.cpp
@@ -60,11 +60,11 @@ void NameManager::visitFunctionType(FunctionType* curr) {
}
void NameManager::visitFunction(Function* curr) {
names.insert(curr->name);
- for (auto& param : curr->params) {
- names.insert(param.name);
- }
- for (auto& var : curr->vars) {
- names.insert(var.name);
+ for (Index i = 0; i < curr->getNumLocals(); i++) {
+ Name name = curr->tryLocalName(i);
+ if (name.is()) {
+ names.insert(name);
+ }
}
}
void NameManager::visitImport(Import* curr) {
diff --git a/src/passes/Print.cpp b/src/passes/Print.cpp
index d791e5377..aa533849f 100644
--- a/src/passes/Print.cpp
+++ b/src/passes/Print.cpp
@@ -35,6 +35,8 @@ struct PrintSExpression : public Visitor<PrintSExpression> {
bool fullAST = false; // whether to not elide nodes in output when possible
// (like implicit blocks)
+ Function* currFunction = nullptr;
+
PrintSExpression(std::ostream& o) : o(o) {
setMinify(false);
}
@@ -64,6 +66,15 @@ struct PrintSExpression : public Visitor<PrintSExpression> {
visit(expression);
o << maybeNewLine;
}
+
+ Name printableLocal(Index index) {
+ Name name = currFunction->tryLocalName(index);
+ if (!name.is()) {
+ name = Name::fromInt(index);
+ }
+ return name;
+ }
+
void visitBlock(Block *curr) {
// special-case Block, because Block nesting (in their first element) can be incredibly deep
std::vector<Block*> stack;
@@ -205,10 +216,10 @@ struct PrintSExpression : public Visitor<PrintSExpression> {
decIndent();
}
void visitGetLocal(GetLocal *curr) {
- printOpening(o, "get_local ") << curr->name << ')';
+ printOpening(o, "get_local ") << printableLocal(curr->index) << ')';
}
void visitSetLocal(SetLocal *curr) {
- printOpening(o, "set_local ") << curr->name;
+ printOpening(o, "set_local ") << printableLocal(curr->index);
incIndent();
printFullLine(curr->value);
decIndent();
@@ -423,14 +434,15 @@ struct PrintSExpression : public Visitor<PrintSExpression> {
printText(o, curr->name.str) << ' ' << curr->value << ')';
}
void visitFunction(Function *curr) {
+ currFunction = curr;
printOpening(o, "func ", true) << curr->name;
if (curr->type.is()) {
o << maybeSpace << "(type " << curr->type << ')';
}
if (curr->params.size() > 0) {
- for (auto& param : curr->params) {
+ for (size_t i = 0; i < curr->params.size(); i++) {
o << maybeSpace;
- printMinorOpening(o, "param ") << param.name << ' ' << printWasmType(param.type) << ")";
+ printMinorOpening(o, "param ") << printableLocal(i) << ' ' << printWasmType(curr->getLocalType(i)) << ")";
}
}
if (curr->result != none) {
@@ -438,9 +450,9 @@ struct PrintSExpression : public Visitor<PrintSExpression> {
printMinorOpening(o, "result ") << printWasmType(curr->result) << ")";
}
incIndent();
- for (auto& local : curr->vars) {
+ for (size_t i = curr->getVarIndexBase(); i < curr->getNumLocals(); i++) {
doIndent(o, indent);
- printMinorOpening(o, "local ") << local.name << ' ' << printWasmType(local.type) << ")";
+ printMinorOpening(o, "local ") << printableLocal(i) << ' ' << printWasmType(curr->getLocalType(i)) << ")";
o << maybeNewLine;
}
// It is ok to emit a block here, as a function can directly contain a list, even if our
diff --git a/src/passes/ReorderLocals.cpp b/src/passes/ReorderLocals.cpp
index 66ea131de..22295dc1a 100644
--- a/src/passes/ReorderLocals.cpp
+++ b/src/passes/ReorderLocals.cpp
@@ -29,29 +29,94 @@ namespace wasm {
struct ReorderLocals : public WalkerPass<PostWalker<ReorderLocals>> {
bool isFunctionParallel() { return true; }
- std::map<Name, uint32_t> counts;
+ std::map<Index, uint32_t> counts;
void visitFunction(Function *curr) {
- auto& vars = curr->vars;
- sort(vars.begin(), vars.end(), [this](NameType a, NameType b) -> bool {
- if (this->counts[a.name] == this->counts[b.name]) {
- return strcmp(a.name.str, b.name.str) > 0;
+ Index num = curr->getNumLocals();
+ std::vector<Index> newToOld;
+ for (size_t i = 0; i < num; i++) {
+ newToOld.push_back(i);
+ }
+ // sort, keeping params in front (where they will not be moved)
+ sort(newToOld.begin(), newToOld.end(), [this, curr, &newToOld](Index a, Index b) -> bool {
+ if (curr->isParam(a) && !curr->isParam(b)) return true;
+ if (curr->isParam(b) && !curr->isParam(a)) return false;
+ if (curr->isParam(b) && curr->isParam(a)) {
+ return a < b;
+ }
+ if (this->counts[a] == this->counts[b]) {
+ return a < b;
}
- return this->counts[a.name] > this->counts[b.name];
+ return this->counts[a] > this->counts[b];
});
- // drop completely unused vars
- while (vars.size() > 0 && counts[vars.back().name] == 0) {
- vars.pop_back();
+ // sorting left params in front, perhaps slightly reordered. verify and fix.
+ for (size_t i = 0; i < curr->params.size(); i++) {
+ assert(newToOld[i] < curr->params.size());
+ }
+ for (size_t i = 0; i < curr->params.size(); i++) {
+ newToOld[i] = i;
+ }
+ // sort vars, and drop unused ones
+ auto oldVars = curr->vars;
+ curr->vars.clear();
+ for (size_t i = curr->getVarIndexBase(); i < newToOld.size(); i++) {
+ Index index = newToOld[i];
+ if (counts[index] > 0) {
+ curr->vars.push_back(oldVars[index - curr->getVarIndexBase()]);
+ } else {
+ newToOld.resize(i);
+ break;
+ }
}
counts.clear();
+ std::vector<Index> oldToNew;
+ oldToNew.resize(num);
+ for (size_t i = 0; i < newToOld.size(); i++) {
+ if (curr->isParam(i)) {
+ oldToNew[i] = i;
+ } else {
+ oldToNew[newToOld[i]] = i;
+ }
+ }
+ // apply the renaming to AST nodes
+ struct ReIndexer : public PostWalker<ReIndexer> {
+ Function* func;
+ std::vector<Index>& oldToNew;
+
+ ReIndexer(Function* func, std::vector<Index>& oldToNew) : func(func), oldToNew(oldToNew) {}
+
+ void visitGetLocal(GetLocal *curr) {
+ if (func->isVar(curr->index)) {
+ curr->index = oldToNew[curr->index];
+ }
+ }
+
+ void visitSetLocal(SetLocal *curr) {
+ if (func->isVar(curr->index)) {
+ curr->index = oldToNew[curr->index];
+ }
+ }
+ };
+ ReIndexer reIndexer(curr, oldToNew);
+ reIndexer.walk(curr->body);
+ // apply to the names
+ auto oldLocalNames = curr->localNames;
+ auto oldLocalIndices = curr->localIndices;
+ curr->localNames.clear();
+ curr->localNames.resize(newToOld.size());
+ curr->localIndices.clear();
+ for (size_t i = 0; i < newToOld.size(); i++) {
+ curr->localNames[i] = oldLocalNames[newToOld[i]];
+ curr->localIndices[oldLocalNames[newToOld[i]]] = i;
+ }
}
void visitGetLocal(GetLocal *curr) {
- counts[curr->name]++;
+ counts[curr->index]++;
}
void visitSetLocal(SetLocal *curr) {
- counts[curr->name]++;
+ counts[curr->index]++;
}
};
diff --git a/src/passes/SimplifyLocals.cpp b/src/passes/SimplifyLocals.cpp
index 6220d0780..ddb3bccae 100644
--- a/src/passes/SimplifyLocals.cpp
+++ b/src/passes/SimplifyLocals.cpp
@@ -45,12 +45,12 @@ struct SimplifyLocals : public WalkerPass<LinearExecutionWalker<SimplifyLocals>>
};
// locals in current linear execution trace, which we try to sink
- std::map<Name, SinkableInfo> sinkables;
+ std::map<Index, SinkableInfo> sinkables;
bool sunk;
- // name => # of get_locals for it
- std::map<Name, int> numGetLocals;
+ // local => # of get_locals for it
+ std::map<Index, int> numGetLocals;
// for each set_local, its origin pointer
std::map<SetLocal*, Expression**> setLocalOrigins;
@@ -60,7 +60,7 @@ struct SimplifyLocals : public WalkerPass<LinearExecutionWalker<SimplifyLocals>>
}
void visitGetLocal(GetLocal *curr) {
- auto found = sinkables.find(curr->name);
+ auto found = sinkables.find(curr->index);
if (found != sinkables.end()) {
// sink it, and nop the origin TODO: clean up nops
replaceCurrent(*found->second.item);
@@ -70,7 +70,7 @@ struct SimplifyLocals : public WalkerPass<LinearExecutionWalker<SimplifyLocals>>
sinkables.erase(found);
sunk = true;
} else {
- numGetLocals[curr->name]++;
+ numGetLocals[curr->index]++;
}
}
@@ -78,7 +78,7 @@ struct SimplifyLocals : public WalkerPass<LinearExecutionWalker<SimplifyLocals>>
// if we are a potentially-sinkable thing, forget it - this
// write overrides the last TODO: optimizable
// TODO: if no get_locals left, can remove the set as well (== expressionizer in emscripten optimizer)
- auto found = sinkables.find(curr->name);
+ auto found = sinkables.find(curr->index);
if (found != sinkables.end()) {
sinkables.erase(found);
}
@@ -86,14 +86,14 @@ struct SimplifyLocals : public WalkerPass<LinearExecutionWalker<SimplifyLocals>>
void checkInvalidations(EffectAnalyzer& effects) {
// TODO: this is O(bad)
- std::vector<Name> invalidated;
+ std::vector<Index> invalidated;
for (auto& sinkable : sinkables) {
if (effects.invalidates(sinkable.second.effects)) {
invalidated.push_back(sinkable.first);
}
}
- for (auto name : invalidated) {
- sinkables.erase(name);
+ for (auto index : invalidated) {
+ sinkables.erase(index);
}
}
@@ -125,9 +125,9 @@ struct SimplifyLocals : public WalkerPass<LinearExecutionWalker<SimplifyLocals>>
static void tryMarkSinkable(SimplifyLocals* self, Expression** currp) {
auto* curr = (*currp)->dynCast<SetLocal>();
if (curr) {
- Name name = curr->name;
- assert(self->sinkables.count(name) == 0);
- self->sinkables.emplace(std::make_pair(name, SinkableInfo(currp)));
+ Index index = curr->index;
+ assert(self->sinkables.count(index) == 0);
+ self->sinkables.emplace(std::make_pair(index, SinkableInfo(currp)));
}
}
@@ -175,7 +175,7 @@ struct SimplifyLocals : public WalkerPass<LinearExecutionWalker<SimplifyLocals>>
std::vector<SetLocal*> optimizables;
for (auto pair : setLocalOrigins) {
SetLocal* curr = pair.first;
- if (numGetLocals[curr->name] == 0) {
+ if (numGetLocals[curr->index] == 0) {
// no gets, can remove the set and leave just the value
optimizables.push_back(curr);
}
diff --git a/src/s2wasm.h b/src/s2wasm.h
index 1edbb7b6b..4cfb4a20d 100644
--- a/src/s2wasm.h
+++ b/src/s2wasm.h
@@ -638,8 +638,8 @@ class S2WasmBuilder {
inputs[i] = nullptr;
} else {
auto curr = allocator.alloc<GetLocal>();
- curr->name = getStrToSep();
- curr->type = localTypes[curr->name];
+ curr->index = func->getLocalIndex(getStrToSep());
+ curr->type = func->getLocalType(curr->index);
inputs[i] = curr;
}
if (*s == ')') s++; // tolerate 0(argument) syntax, where we started at the 'a'
@@ -664,7 +664,7 @@ class S2WasmBuilder {
push(curr);
} else { // set to a local
auto set = allocator.alloc<SetLocal>();
- set->name = assign;
+ set->index = func->getLocalIndex(assign);
set->value = curr;
set->type = curr->type;
addToBlock(set);
@@ -1056,7 +1056,7 @@ class S2WasmBuilder {
Name assign = getAssign();
skipComma();
auto curr = allocator.alloc<SetLocal>();
- curr->name = getAssign();
+ curr->index = func->getLocalIndex(getAssign());
skipComma();
curr->value = getInput();
curr->type = curr->value->type;
@@ -1261,10 +1261,10 @@ class S2WasmBuilder {
int p = 0;
for (const auto& ty : funcType->params) params.emplace_back("$" + std::to_string(p++), ty);
Function* f = wasmBuilder.makeFunction(std::string("dynCall_") + sig, std::move(params), funcType->result, {});
- Expression* fptr = wasmBuilder.makeGetLocal("fptr", i32);
+ Expression* fptr = wasmBuilder.makeGetLocal(0, i32);
std::vector<Expression*> args;
for (unsigned i = 0; i < funcType->params.size(); ++i) {
- args.push_back(wasmBuilder.makeGetLocal("$" + std::to_string(i), funcType->params[i]));
+ args.push_back(wasmBuilder.makeGetLocal(i + 1, funcType->params[i]));
}
Expression* call = wasmBuilder.makeCallIndirect(funcType, fptr, std::move(args));
f->body = funcType->result == none ? call : wasmBuilder.makeReturn(call);
@@ -1344,17 +1344,18 @@ class S2WasmBuilder {
wasm.addStart(start);
auto* block = allocator.alloc<Block>();
func->body = block;
- { // Create the call, matching its parameters.
+ {
+ // Create the call, matching its parameters.
// TODO allow calling with non-default values.
auto* call = allocator.alloc<Call>();
call->target = startFunction;
size_t paramNum = 0;
- for (const NameType& nt : target->params) {
+ for (WasmType type : target->params) {
Name name = Name::fromInt(paramNum++);
- func->vars.emplace_back(name, nt.type);
+ Builder::addVar(func, name, type);
auto* param = allocator.alloc<GetLocal>();
- param->name = name;
- param->type = nt.type;
+ param->index = func->getLocalIndex(name);
+ param->type = type;
call->operands.push_back(param);
}
block->list.push_back(call);
diff --git a/src/wasm-binary.h b/src/wasm-binary.h
index 6b77500bf..0af60600d 100644
--- a/src/wasm-binary.h
+++ b/src/wasm-binary.h
@@ -28,6 +28,7 @@
#include "wasm-traversal.h"
#include "shared-constants.h"
#include "asm_v_wasm.h"
+#include "wasm-builder.h"
namespace wasm {
@@ -550,40 +551,39 @@ public:
finishSection(start);
}
- std::map<Name, size_t> mappedLocals; // local name => index in compact form of [all int32s][all int64s]etc
+ std::map<Index, size_t> mappedLocals; // local index => index in compact form of [all int32s][all int64s]etc
std::map<WasmType, size_t> numLocalsByType; // type => number of locals of that type in the compact form
void mapLocals(Function* function) {
- for (auto& param : function->params) {
+ for (Index i = 0; i < function->getNumParams(); i++) {
size_t curr = mappedLocals.size();
- mappedLocals[param.name] = curr;
+ mappedLocals[i] = curr;
}
- for (auto& var : function->vars) {
- numLocalsByType[var.type]++;
+ for (auto type : function->vars) {
+ numLocalsByType[type]++;
}
std::map<WasmType, size_t> currLocalsByType;
- for (auto& var : function->vars) {
- size_t index = function->params.size();
- Name name = var.name;
- WasmType type = var.type;
+ for (Index i = function->getVarIndexBase(); i < function->getNumLocals(); i++) {
+ size_t index = function->getVarIndexBase();
+ WasmType type = function->getLocalType(i);
currLocalsByType[type]++; // increment now for simplicity, must decrement it in returns
if (type == i32) {
- mappedLocals[name] = index + currLocalsByType[i32] - 1;
+ mappedLocals[i] = index + currLocalsByType[i32] - 1;
continue;
}
index += numLocalsByType[i32];
if (type == i64) {
- mappedLocals[name] = index + currLocalsByType[i64] - 1;
+ mappedLocals[i] = index + currLocalsByType[i64] - 1;
continue;
}
index += numLocalsByType[i64];
if (type == f32) {
- mappedLocals[name] = index + currLocalsByType[f32] - 1;
+ mappedLocals[i] = index + currLocalsByType[f32] - 1;
continue;
}
index += numLocalsByType[f32];
if (type == f64) {
- mappedLocals[name] = index + currLocalsByType[f64] - 1;
+ mappedLocals[i] = index + currLocalsByType[f64] - 1;
continue;
}
abort();
@@ -879,12 +879,12 @@ public:
}
void visitGetLocal(GetLocal *curr) {
if (debug) std::cerr << "zz node: GetLocal " << (o.size() + 1) << std::endl;
- o << int8_t(BinaryConsts::GetLocal) << U32LEB(mappedLocals[curr->name]);
+ o << int8_t(BinaryConsts::GetLocal) << U32LEB(mappedLocals[curr->index]);
}
void visitSetLocal(SetLocal *curr) {
if (debug) std::cerr << "zz node: SetLocal" << std::endl;
recurse(curr->value);
- o << int8_t(BinaryConsts::SetLocal) << U32LEB(mappedLocals[curr->name]);
+ o << int8_t(BinaryConsts::SetLocal) << U32LEB(mappedLocals[curr->index]);
}
void emitMemoryAccess(size_t alignment, size_t bytes, uint32_t offset) {
@@ -1390,6 +1390,7 @@ public:
std::vector<Function*> functions; // we store functions here before wasm.addFunction after we know their names
std::map<size_t, std::vector<Call*>> functionCalls; // at index i we have all calls to i
+ Function* currFunction = nullptr;
void readFunctions() {
if (debug) std::cerr << "== readFunctions" << std::endl;
@@ -1400,41 +1401,36 @@ public:
assert(size > 0); // we could also check it matches the seen size
auto type = functionTypes[i];
if (debug) std::cerr << "reading" << i << std::endl;
- auto func = allocator.alloc<Function>();
- func->type = type->name;
- func->result = type->result;
size_t nextVar = 0;
auto addVar = [&]() {
Name name = cashew::IString(("var$" + std::to_string(nextVar++)).c_str(), false);
return name;
};
+ std::vector<NameType> params, vars;
for (size_t j = 0; j < type->params.size(); j++) {
- func->params.emplace_back(addVar(), type->params[j]);
+ params.emplace_back(addVar(), type->params[j]);
}
size_t numLocalTypes = getU32LEB();
for (size_t t = 0; t < numLocalTypes; t++) {
auto num = getU32LEB();
auto type = getWasmType();
while (num > 0) {
- func->vars.emplace_back(addVar(), type);
+ vars.emplace_back(addVar(), type);
num--;
}
}
+ auto func = Builder(wasm).makeFunction(
+ Name("TODO"),
+ std::move(params),
+ type->result,
+ std::move(vars)
+ );
+ func->type = type->name;
+ currFunction = func;
{
// process the function body
if (debug) std::cerr << "processing function: " << i << std::endl;
nextLabel = 0;
- // prepare locals
- mappedLocals.clear();
- localTypes.clear();
- for (size_t i = 0; i < func->params.size(); i++) {
- mappedLocals.push_back(func->params[i].name);
- localTypes[func->params[i].name] = func->params[i].type;
- }
- for (size_t i = 0; i < func->vars.size(); i++) {
- mappedLocals.push_back(func->vars[i].name);
- localTypes[func->vars[i].name] = func->vars[i].type;
- }
// process body
assert(breakStack.empty());
assert(expressionStack.empty());
@@ -1446,6 +1442,7 @@ public:
assert(breakStack.empty());
assert(expressionStack.empty());
}
+ currFunction = nullptr;
functions.push_back(func);
}
}
@@ -1466,9 +1463,6 @@ public:
}
}
- std::vector<Name> mappedLocals; // index => local name
- std::map<Name, WasmType> localTypes; // TODO: optimize
-
std::vector<Name> breakStack;
std::vector<Expression*> expressionStack;
@@ -1745,14 +1739,14 @@ public:
}
void visitGetLocal(GetLocal *curr) {
if (debug) std::cerr << "zz node: GetLocal " << pos << std::endl;
- curr->name = mappedLocals[getU32LEB()];
- assert(curr->name.is());
- curr->type = localTypes[curr->name];
+ curr->index = getU32LEB();
+ assert(curr->index < currFunction->getNumLocals());
+ curr->type = currFunction->getLocalType(curr->index);
}
void visitSetLocal(SetLocal *curr) {
if (debug) std::cerr << "zz node: SetLocal" << std::endl;
- curr->name = mappedLocals[getU32LEB()];
- assert(curr->name.is());
+ curr->index = getU32LEB();
+ assert(curr->index < currFunction->getNumLocals());
curr->value = popExpression();
curr->type = curr->value->type;
}
diff --git a/src/wasm-builder.h b/src/wasm-builder.h
index 362f1a871..0d6ba30cd 100644
--- a/src/wasm-builder.h
+++ b/src/wasm-builder.h
@@ -21,21 +21,46 @@
namespace wasm {
+// Useful data structures
+
+struct NameType {
+ Name name;
+ WasmType type;
+ NameType() : name(nullptr), type(none) {}
+ NameType(Name name, WasmType type) : name(name), type(type) {}
+};
+
+// General AST node builder
+
class Builder {
MixedArena &allocator;
public:
Builder(AllocatingModule& wasm) : allocator(wasm.allocator) {}
+ // make* functions, create nodes
+
Function* makeFunction(Name name,
std::vector<NameType>&& params,
WasmType resultType,
- std::vector<NameType>&& vars) {
+ std::vector<NameType>&& vars,
+ Expression* body = nullptr) {
auto* func = allocator.alloc<Function>();
func->name = name;
- func->params = params;
func->result = resultType;
- func->vars = vars;
+ func->body = body;
+
+ for (auto& param : params) {
+ func->params.push_back(param.type);
+ func->localIndices[param.name] = func->localNames.size();
+ func->localNames.push_back(param.name);
+ }
+ for (auto& var : vars) {
+ func->vars.push_back(var.type);
+ func->localIndices[var.name] = func->localNames.size();
+ func->localNames.push_back(var.name);
+ }
+
return func;
}
@@ -63,15 +88,15 @@ public:
return call;
}
// FunctionType
- GetLocal* makeGetLocal(Name name, WasmType type) {
+ GetLocal* makeGetLocal(Index index, WasmType type) {
auto* ret = allocator.alloc<GetLocal>();
- ret->name = name;
+ ret->index = index;
ret->type = type;
return ret;
}
- SetLocal* makeSetLocal(Name name, Expression* value) {
+ SetLocal* makeSetLocal(Index index, Expression* value) {
auto* ret = allocator.alloc<SetLocal>();
- ret->name = name;
+ ret->index = index;
ret->value = value;
ret->type = value->type;
return ret;
@@ -130,9 +155,43 @@ public:
ret->value = value;
return ret;
}
- // Host
+ Host* makeHost(HostOp op, Name nameOperand, ExpressionList&& operands) {
+ auto* ret = allocator.alloc<Host>();
+ ret->op = op;
+ ret->nameOperand = nameOperand;
+ ret->operands = operands;
+ return ret;
+ }
// Unreachable
+ // Additional utility functions for building on top of nodes
+
+ static Index addParam(Function* func, Name name, WasmType type) {
+ // only ok to add a param if no vars, otherwise indices are invalidated
+ assert(func->localIndices.size() == func->params.size());
+ func->params.push_back(type);
+ Index index = func->localNames.size();
+ func->localIndices[name] = index;
+ func->localNames.push_back(name);
+ return index;
+ }
+
+ static Index addVar(Function* func, Name name, WasmType type) {
+ // always ok to add a var, it does not affect other indices
+ assert(func->localIndices.size() == func->params.size() + func->vars.size());
+ func->vars.emplace_back(type);
+ Index index = func->localNames.size();
+ func->localIndices[name] = index;
+ func->localNames.push_back(name);
+ return index;
+ }
+
+ static void clearLocals(Function* func) {
+ func->params.clear();
+ func->vars.clear();
+ func->localNames.clear();
+ func->localIndices.clear();
+ }
};
} // namespace wasm
diff --git a/src/wasm-interpreter.h b/src/wasm-interpreter.h
index 528f812d0..8f3f09ed1 100644
--- a/src/wasm-interpreter.h
+++ b/src/wasm-interpreter.h
@@ -156,18 +156,21 @@ private:
<< arguments.size() << " arguments." << std::endl;
abort();
}
- for (size_t i = 0; i < arguments.size(); i++) {
- if (function->params[i].type != arguments[i].type) {
- std::cerr << "Function `" << function->name << "` expects type "
- << printWasmType(function->params[i].type)
- << " for parameter " << i << ", got "
- << printWasmType(arguments[i].type) << "." << std::endl;
- abort();
+ for (size_t i = 0; i < function->getNumLocals(); i++) {
+ if (i < arguments.size()) {
+ assert(function->isParam(i));
+ if (function->params[i] != arguments[i].type) {
+ std::cerr << "Function `" << function->name << "` expects type "
+ << printWasmType(function->params[i])
+ << " for parameter " << i << ", got "
+ << printWasmType(arguments[i].type) << "." << std::endl;
+ abort();
+ }
+ locals[function->getLocalName(i)] = arguments[i];
+ } else {
+ assert(function->isVar(i));
+ locals[function->getLocalName(i)].type = function->getLocalType(i);
}
- locals[function->params[i].name] = arguments[i];
- }
- for (auto& local : function->vars) {
- locals[local.name].type = local.type;
}
}
};
@@ -356,14 +359,14 @@ private:
Flow visitGetLocal(GetLocal *curr) {
NOTE_ENTER("GetLocal");
- IString name = curr->name;
+ IString name = scope.function->getLocalName(curr->index);
NOTE_NAME(name);
NOTE_EVAL1(scope.locals[name]);
return scope.locals[name];
}
Flow visitSetLocal(SetLocal *curr) {
NOTE_ENTER("SetLocal");
- IString name = curr->name;
+ IString name = scope.function->getLocalName(curr->index);
Flow flow = visit(curr->value);
if (flow.breaking()) return flow;
NOTE_NAME(name);
diff --git a/src/wasm-s-parser.h b/src/wasm-s-parser.h
index a85899c6a..994aac4da 100644
--- a/src/wasm-s-parser.h
+++ b/src/wasm-s-parser.h
@@ -32,6 +32,7 @@
#include "parsing.h"
#include "asm_v_wasm.h"
#include "ast_utils.h"
+#include "wasm-builder.h"
namespace wasm {
@@ -341,21 +342,33 @@ private:
}
void parseFunction(Element& s) {
- auto func = currFunction = allocator.alloc<Function>();
size_t i = 1;
+ Name name;
if (s[i]->isStr()) {
- func->name = s[i]->str();
+ name = s[i]->str();
i++;
} else {
// unnamed, use an index
- func->name = Name::fromInt(functionCounter);
+ name = Name::fromInt(functionCounter);
}
functionCounter++;
- func->body = nullptr;
+ Expression* body = nullptr;
localIndex = 0;
otherIndex = 0;
std::vector<NameType> typeParams; // we may have both params and a type. store the type info here
+ std::vector<NameType> params;
+ std::vector<NameType> vars;
+ WasmType result = none;
+ Name type;
Block* autoBlock = nullptr; // we may need to add a block for the very top level
+ auto makeFunction = [&]() {
+ currFunction = Builder(wasm).makeFunction(
+ name,
+ std::move(params),
+ result,
+ std::move(vars)
+ );
+ };
for (;i < s.size(); i++) {
Element& curr = *s[i];
IString id = curr[0]->str();
@@ -377,21 +390,21 @@ private:
}
j++;
if (id == PARAM) {
- func->params.emplace_back(name, type);
+ params.emplace_back(name, type);
} else {
- func->vars.emplace_back(name, type);
+ vars.emplace_back(name, type);
}
localIndex++;
currLocalTypes[name] = type;
}
} else if (id == RESULT) {
- func->result = stringToWasmType(curr[1]->str());
+ result = stringToWasmType(curr[1]->str());
} else if (id == TYPE) {
Name name = curr[1]->str();
- func->type = name;
+ type = name;
if (!wasm.checkFunctionType(name)) onError();
FunctionType* type = wasm.getFunctionType(name);
- func->result = type->result;
+ result = type->result;
for (size_t j = 0; j < type->params.size(); j++) {
IString name = Name::fromInt(j);
WasmType currType = type->params[j];
@@ -400,25 +413,32 @@ private:
}
} else {
// body
- if (typeParams.size() > 0 && func->params.size() == 0) {
- func->params = typeParams;
+ if (typeParams.size() > 0 && params.size() == 0) {
+ params = typeParams;
}
+ if (!currFunction) makeFunction();
Expression* ex = parseExpression(curr);
- if (!func->body) {
- func->body = ex;
+ if (!body) {
+ body = ex;
} else {
if (!autoBlock) {
autoBlock = allocator.alloc<Block>();
- autoBlock->list.push_back(func->body);
+ autoBlock->list.push_back(body);
autoBlock->finalize();
- func->body = autoBlock;
+ body = autoBlock;
}
autoBlock->list.push_back(ex);
}
}
}
- if (!func->body) func->body = allocator.alloc<Nop>();
- wasm.addFunction(func);
+ if (!currFunction) {
+ makeFunction();
+ body = allocator.alloc<Nop>();
+ }
+ assert(currFunction->result == result);
+ currFunction->body = body;
+ currFunction->type = type;
+ wasm.addFunction(currFunction);
currLocalTypes.clear();
labelStack.clear();
currFunction = nullptr;
@@ -701,30 +721,24 @@ private:
return ret;
}
- Name getLocalName(Element& s) {
- if (s.dollared()) return s.str();
+ Index getLocalIndex(Element& s) {
+ if (s.dollared()) return currFunction->getLocalIndex(s.str());
// this is a numeric index
- size_t i = atoi(s.c_str());
- size_t numParams = currFunction->params.size();
- if (i < numParams) {
- return currFunction->params[i].name;
- } else {
- return currFunction->vars[i - currFunction->params.size()].name;
- }
+ return atoi(s.c_str());
}
Expression* makeGetLocal(Element& s) {
auto ret = allocator.alloc<GetLocal>();
- ret->name = getLocalName(*s[1]);
- ret->type = currLocalTypes[ret->name];
+ ret->index = getLocalIndex(*s[1]);
+ ret->type = currFunction->getLocalType(ret->index);
return ret;
}
Expression* makeSetLocal(Element& s) {
auto ret = allocator.alloc<SetLocal>();
- ret->name = getLocalName(*s[1]);
+ ret->index = getLocalIndex(*s[1]);
ret->value = parseExpression(s[2]);
- ret->type = currLocalTypes[ret->name];
+ ret->type = currFunction->getLocalType(ret->index);
return ret;
}
diff --git a/src/wasm.h b/src/wasm.h
index d9c36d878..d62d4fcab 100644
--- a/src/wasm.h
+++ b/src/wasm.h
@@ -64,7 +64,11 @@ namespace wasm {
// We use a Name for all of the identifiers. These are IStrings, so they are
// all interned - comparisons etc are just pointer comparisons, so there is no
-// perf loss. Having names everywhere makes using the AST much nicer.
+// perf loss. Having names everywhere makes using the AST much nicer (for
+// example, block names are strings and not offsets, which makes composition
+// - adding blocks, removing blocks - easy). One exception is local variables,
+// where we do use indices, as they are a large proportion of the AST,
+// perf matters a lot there, and compositionality is not a problem.
// TODO: as an optimization, IString values < some threshold could be considered
// numerical indices directly.
@@ -84,6 +88,10 @@ struct Name : public cashew::IString {
}
};
+// An index in a wasm module
+
+typedef uint32_t Index;
+
// Types
enum WasmType {
@@ -924,14 +932,14 @@ class GetLocal : public Expression {
public:
GetLocal() : Expression(GetLocalId) {}
- Name name;
+ Index index;
};
class SetLocal : public Expression {
public:
SetLocal() : Expression(SetLocalId) {}
- Name name;
+ Index index;
Expression *value;
};
@@ -1055,23 +1063,65 @@ public:
// Globals
-struct NameType {
- Name name;
- WasmType type;
- NameType() : name(nullptr), type(none) {}
- NameType(Name name, WasmType type) : name(name), type(type) {}
-};
-
class Function {
public:
Name name;
WasmType result;
- std::vector<NameType> params; // function locals are params
- std::vector<NameType> vars; // plus vars
+ std::vector<WasmType> params; // function locals are
+ std::vector<WasmType> vars; // params plus vars
Name type; // if null, it is implicit in params and result
Expression *body;
+ // local names. these are optional.
+ std::vector<Name> localNames;
+ std::map<Name, Index> localIndices;
+
Function() : result(none) {}
+
+ size_t getNumParams() {
+ return params.size();
+ }
+ size_t getNumVars() {
+ return vars.size();
+ }
+ size_t getNumLocals() {
+ return params.size() + vars.size();
+ }
+
+ bool isParam(Index index) {
+ return index < params.size();
+ }
+ bool isVar(Index index) {
+ return index >= params.size();
+ }
+
+ Name getLocalName(Index index) {
+ assert(index < localNames.size() && localNames[index].is());
+ return localNames[index];
+ }
+ Name tryLocalName(Index index) {
+ if (index < localNames.size() && localNames[index].is()) {
+ return localNames[index];
+ }
+ // this is an unnamed local
+ return Name();
+ }
+ Index getLocalIndex(Name name) {
+ assert(localIndices.count(name) > 0);
+ return localIndices[name];
+ }
+ Index getVarIndexBase() {
+ return params.size();
+ }
+ WasmType getLocalType(Index index) {
+ if (isParam(index)) {
+ return params[index];
+ } else if (isVar(index)) {
+ return vars[index - getVarIndexBase()];
+ } else {
+ WASM_UNREACHABLE();
+ }
+ }
};
class Import {
diff --git a/src/wasm2asm.h b/src/wasm2asm.h
index 0e244a932..9ccbb4f19 100644
--- a/src/wasm2asm.h
+++ b/src/wasm2asm.h
@@ -119,7 +119,7 @@ public:
// @param result Whether the context we are in receives a value,
// and its type, or if not, then we can drop our return,
// if we have one.
- Ref processFunctionBody(Expression* curr, IString result);
+ Ref processFunctionBody(Function* func, IString result);
// Get a temp var.
IString getTemp(WasmType type) {
@@ -333,14 +333,14 @@ Ref Wasm2AsmBuilder::processFunction(Function* func) {
temps.resize(std::max(i32, std::max(f32, f64)) + 1);
temps[i32] = temps[f32] = temps[f64] = 0;
// arguments
- for (auto& param : func->params) {
- IString name = fromName(param.name);
+ for (Index i = 0; i < func->getNumParams(); i++) {
+ IString name = fromName(func->getLocalName(i));
ValueBuilder::appendArgumentToFunction(ret, name);
ret[3]->push_back(
ValueBuilder::makeStatement(
ValueBuilder::makeAssign(
ValueBuilder::makeName(name),
- makeAsmCoercion(ValueBuilder::makeName(name), wasmToAsmType(param.type))
+ makeAsmCoercion(ValueBuilder::makeName(name), wasmToAsmType(func->getLocalType(i)))
)
)
);
@@ -352,7 +352,7 @@ Ref Wasm2AsmBuilder::processFunction(Function* func) {
scanFunctionBody(func->body);
if (isStatement(func->body)) {
IString result = func->result != none ? getTemp(func->result) : NO_RESULT;
- flattenAppend(ret, ValueBuilder::makeStatement(processFunctionBody(func->body, result)));
+ flattenAppend(ret, ValueBuilder::makeStatement(processFunctionBody(func, result)));
if (func->result != none) {
// do the actual return
ret[3]->push_back(ValueBuilder::makeStatement(ValueBuilder::makeReturn(makeAsmCoercion(ValueBuilder::makeName(result), wasmToAsmType(func->result)))));
@@ -361,14 +361,14 @@ Ref Wasm2AsmBuilder::processFunction(Function* func) {
} else {
// whole thing is an expression, just do a return
if (func->result != none) {
- ret[3]->push_back(ValueBuilder::makeStatement(ValueBuilder::makeReturn(makeAsmCoercion(processFunctionBody(func->body, EXPRESSION_RESULT), wasmToAsmType(func->result)))));
+ ret[3]->push_back(ValueBuilder::makeStatement(ValueBuilder::makeReturn(makeAsmCoercion(processFunctionBody(func, EXPRESSION_RESULT), wasmToAsmType(func->result)))));
} else {
- flattenAppend(ret, processFunctionBody(func->body, NO_RESULT));
+ flattenAppend(ret, processFunctionBody(func, NO_RESULT));
}
}
// vars, including new temp vars
- for (auto& var : func->vars) {
- ValueBuilder::appendToVar(theVar, fromName(var.name), makeAsmCoercedZero(wasmToAsmType(var.type)));
+ for (Index i = func->getVarIndexBase(); i < func->getNumLocals(); i++) {
+ ValueBuilder::appendToVar(theVar, fromName(func->getLocalName(i)), makeAsmCoercedZero(wasmToAsmType(func->getLocalType(i))));
}
for (auto f : frees[i32]) {
ValueBuilder::appendToVar(theVar, f, makeAsmCoercedZero(ASM_INT));
@@ -482,11 +482,12 @@ void Wasm2AsmBuilder::scanFunctionBody(Expression* curr) {
ExpressionScanner(this).walk(curr);
}
-Ref Wasm2AsmBuilder::processFunctionBody(Expression* curr, IString result) {
+Ref Wasm2AsmBuilder::processFunctionBody(Function* func, IString result) {
struct ExpressionProcessor : public Visitor<ExpressionProcessor, Ref> {
Wasm2AsmBuilder* parent;
IString result;
- ExpressionProcessor(Wasm2AsmBuilder* parent) : parent(parent) {}
+ Function* func;
+ ExpressionProcessor(Wasm2AsmBuilder* parent, Function* func) : parent(parent), func(func) {}
// A scoped temporary variable.
struct ScopedTemp {
@@ -735,23 +736,23 @@ Ref Wasm2AsmBuilder::processFunctionBody(Expression* curr, IString result) {
return makeStatementizedCall(curr->operands, ret, theCall, result, curr->type);
}
Ref visitGetLocal(GetLocal *curr) {
- return ValueBuilder::makeName(fromName(curr->name));
+ return ValueBuilder::makeName(fromName(func->getLocalName(curr->index)));
}
Ref visitSetLocal(SetLocal *curr) {
if (!isStatement(curr)) {
- return ValueBuilder::makeAssign(ValueBuilder::makeName(fromName(curr->name)), visit(curr->value, EXPRESSION_RESULT));
+ return ValueBuilder::makeAssign(ValueBuilder::makeName(fromName(func->getLocalName(curr->index))), visit(curr->value, EXPRESSION_RESULT));
}
ScopedTemp temp(curr->type, parent, result); // if result was provided, our child can just assign there. otherwise, allocate a temp for it to assign to.
Ref ret = blockify(visit(curr->value, temp));
// the output was assigned to result, so we can just assign it to our target
- ret[1]->push_back(ValueBuilder::makeStatement(ValueBuilder::makeAssign(ValueBuilder::makeName(fromName(curr->name)), temp.getAstName())));
+ ret[1]->push_back(ValueBuilder::makeStatement(ValueBuilder::makeAssign(ValueBuilder::makeName(fromName(func->getLocalName(curr->index))), temp.getAstName())));
return ret;
}
Ref visitLoad(Load *curr) {
if (isStatement(curr)) {
ScopedTemp temp(i32, parent);
GetLocal fakeLocal;
- fakeLocal.name = temp.getName();
+ fakeLocal.index = func->getLocalIndex(temp.getName());
Load fakeLoad = *curr;
fakeLoad.ptr = &fakeLocal;
Ref ret = blockify(visitAndAssign(curr->ptr, temp));
@@ -762,11 +763,11 @@ Ref Wasm2AsmBuilder::processFunctionBody(Expression* curr, IString result) {
// set the pointer to a local
ScopedTemp temp(i32, parent);
SetLocal set;
- set.name = temp.getName();
+ set.index = func->getLocalIndex(temp.getName());
set.value = curr->ptr;
Ref ptrSet = visit(&set, NO_RESULT);
GetLocal get;
- get.name = temp.getName();
+ get.index = func->getLocalIndex(temp.getName());
// fake loads
Load load = *curr;
load.ptr = &get;
@@ -814,9 +815,9 @@ Ref Wasm2AsmBuilder::processFunctionBody(Expression* curr, IString result) {
ScopedTemp tempPtr(i32, parent);
ScopedTemp tempValue(curr->type, parent);
GetLocal fakeLocalPtr;
- fakeLocalPtr.name = tempPtr.getName();
+ fakeLocalPtr.index = func->getLocalIndex(tempPtr.getName());
GetLocal fakeLocalValue;
- fakeLocalValue.name = tempValue.getName();
+ fakeLocalValue.index = func->getLocalIndex(tempValue.getName());
Store fakeStore = *curr;
fakeStore.ptr = &fakeLocalPtr;
fakeStore.value = &fakeLocalValue;
@@ -829,19 +830,19 @@ Ref Wasm2AsmBuilder::processFunctionBody(Expression* curr, IString result) {
// set the pointer to a local
ScopedTemp temp(i32, parent);
SetLocal set;
- set.name = temp.getName();
+ set.index = func->getLocalIndex(temp.getName());
set.value = curr->ptr;
Ref ptrSet = visit(&set, NO_RESULT);
GetLocal get;
- get.name = temp.getName();
+ get.index = func->getLocalIndex(temp.getName());
// set the value to a local
ScopedTemp tempValue(curr->value->type, parent);
SetLocal setValue;
- setValue.name = tempValue.getName();
+ setValue.index = func->getLocalIndex(tempValue.getName());
setValue.value = curr->value;
Ref valueSet = visit(&setValue, NO_RESULT);
GetLocal getValue;
- getValue.name = tempValue.getName();
+ getValue.index = func->getLocalIndex(tempValue.getName());
// fake stores
Store store = *curr;
store.ptr = &get;
@@ -929,7 +930,7 @@ Ref Wasm2AsmBuilder::processFunctionBody(Expression* curr, IString result) {
if (isStatement(curr)) {
ScopedTemp temp(curr->value->type, parent);
GetLocal fakeLocal;
- fakeLocal.name = temp.getName();
+ fakeLocal.index = func->getLocalIndex(temp.getName());
Unary fakeUnary = *curr;
fakeUnary.value = &fakeLocal;
Ref ret = blockify(visitAndAssign(curr->value, temp));
@@ -977,10 +978,10 @@ Ref Wasm2AsmBuilder::processFunctionBody(Expression* curr, IString result) {
if (isStatement(curr)) {
ScopedTemp tempLeft(curr->left->type, parent);
GetLocal fakeLocalLeft;
- fakeLocalLeft.name = tempLeft.getName();
+ fakeLocalLeft.index = func->getLocalIndex(tempLeft.getName());
ScopedTemp tempRight(curr->right->type, parent);
GetLocal fakeLocalRight;
- fakeLocalRight.name = tempRight.getName();
+ fakeLocalRight.index = func->getLocalIndex(tempRight.getName());
Binary fakeBinary = *curr;
fakeBinary.left = &fakeLocalLeft;
fakeBinary.right = &fakeLocalRight;
@@ -1050,13 +1051,13 @@ Ref Wasm2AsmBuilder::processFunctionBody(Expression* curr, IString result) {
if (isStatement(curr)) {
ScopedTemp tempIfTrue(curr->ifTrue->type, parent);
GetLocal fakeLocalIfTrue;
- fakeLocalIfTrue.name = tempIfTrue.getName();
+ fakeLocalIfTrue.index = func->getLocalIndex(tempIfTrue.getName());
ScopedTemp tempIfFalse(curr->ifFalse->type, parent);
GetLocal fakeLocalIfFalse;
- fakeLocalIfFalse.name = tempIfFalse.getName();
+ fakeLocalIfFalse.index = func->getLocalIndex(tempIfFalse.getName());
ScopedTemp tempCondition(i32, parent);
GetLocal fakeCondition;
- fakeCondition.name = tempCondition.getName();
+ fakeCondition.index = func->getLocalIndex(tempCondition.getName());
Select fakeSelect = *curr;
fakeSelect.ifTrue = &fakeLocalIfTrue;
fakeSelect.ifFalse = &fakeLocalIfFalse;
@@ -1099,7 +1100,7 @@ Ref Wasm2AsmBuilder::processFunctionBody(Expression* curr, IString result) {
return ValueBuilder::makeCall(ABORT_FUNC);
}
};
- return ExpressionProcessor(this).visit(curr, result);
+ return ExpressionProcessor(this, func).visit(func->body, result);
}
} // namespace wasm
diff --git a/test/emcc_O2_hello_world.fromasm b/test/emcc_O2_hello_world.fromasm
index ef166e465..de6dfd4b8 100644
--- a/test/emcc_O2_hello_world.fromasm
+++ b/test/emcc_O2_hello_world.fromasm
@@ -50,17 +50,17 @@
(local $i62 i32)
(local $i8 i32)
(local $i15 i32)
- (local $i45 i32)
(local $i44 i32)
+ (local $i45 i32)
(local $i60 i32)
(local $i3 i32)
(local $i4 i32)
(local $i50 i32)
(local $i36 i32)
(local $i14 i32)
- (local $i61 i32)
- (local $i53 i32)
(local $i2 i32)
+ (local $i53 i32)
+ (local $i61 i32)
(local $i52 i32)
(local $i12 i32)
(local $i17 i32)
@@ -73,66 +73,66 @@
(local $i59 i32)
(local $i54 i32)
(local $i11 i32)
- (local $i72 i32)
- (local $i56 i32)
(local $i24 i32)
+ (local $i56 i32)
+ (local $i72 i32)
(local $i16 i32)
(local $i9 i32)
(local $i79 i32)
- (local $i89 i32)
- (local $i82 i32)
- (local $i51 i32)
(local $i38 i32)
- (local $i73 i32)
- (local $i46 i32)
- (local $i32 i32)
- (local $i25 i32)
+ (local $i51 i32)
+ (local $i82 i32)
+ (local $i89 i32)
(local $i21 i32)
- (local $i71 i32)
- (local $i68 i32)
+ (local $i25 i32)
+ (local $i32 i32)
+ (local $i46 i32)
+ (local $i73 i32)
(local $i37 i32)
- (local $i74 i32)
- (local $i47 i32)
- (local $i39 i32)
- (local $i35 i32)
- (local $i26 i32)
+ (local $i68 i32)
+ (local $i71 i32)
(local $i23 i32)
- (local $i90 i32)
- (local $i88 i32)
- (local $i83 i32)
- (local $i81 i32)
- (local $i42 i32)
- (local $i41 i32)
- (local $i40 i32)
- (local $i34 i32)
- (local $i33 i32)
- (local $i30 i32)
- (local $i20 i32)
+ (local $i26 i32)
+ (local $i35 i32)
+ (local $i39 i32)
+ (local $i47 i32)
+ (local $i74 i32)
(local $i18 i32)
- (local $i91 i32)
- (local $i87 i32)
- (local $i86 i32)
- (local $i84 i32)
- (local $i80 i32)
- (local $i78 i32)
- (local $i77 i32)
- (local $i76 i32)
- (local $i70 i32)
+ (local $i20 i32)
+ (local $i30 i32)
+ (local $i33 i32)
+ (local $i34 i32)
+ (local $i40 i32)
+ (local $i41 i32)
+ (local $i42 i32)
+ (local $i81 i32)
+ (local $i83 i32)
+ (local $i88 i32)
+ (local $i90 i32)
(local $i6 i32)
- (local $i49 i32)
- (local $i29 i32)
- (local $i28 i32)
(local $i19 i32)
- (local $i92 i32)
- (local $i85 i32)
- (local $i75 i32)
- (local $i69 i32)
- (local $i67 i32)
- (local $i66 i32)
- (local $i65 i32)
- (local $i64 i32)
- (local $i48 i32)
+ (local $i28 i32)
+ (local $i29 i32)
+ (local $i49 i32)
+ (local $i70 i32)
+ (local $i76 i32)
+ (local $i77 i32)
+ (local $i78 i32)
+ (local $i80 i32)
+ (local $i84 i32)
+ (local $i86 i32)
+ (local $i87 i32)
+ (local $i91 i32)
(local $i27 i32)
+ (local $i48 i32)
+ (local $i64 i32)
+ (local $i65 i32)
+ (local $i66 i32)
+ (local $i67 i32)
+ (local $i69 i32)
+ (local $i75 i32)
+ (local $i85 i32)
+ (local $i92 i32)
(block $do-once$0
(if
(i32.lt_u
@@ -6149,23 +6149,23 @@
(local $i21 i32)
(local $i15 i32)
(local $i20 i32)
- (local $i30 i32)
(local $i3 i32)
(local $i29 i32)
- (local $i32 i32)
+ (local $i30 i32)
(local $i16 i32)
- (local $i28 i32)
+ (local $i32 i32)
(local $i24 i32)
+ (local $i28 i32)
(local $i25 i32)
- (local $i34 i32)
(local $i33 i32)
+ (local $i34 i32)
(local $i4 i32)
- (local $i37 i32)
- (local $i35 i32)
(local $i27 i32)
- (local $i36 i32)
- (local $i26 i32)
+ (local $i35 i32)
+ (local $i37 i32)
(local $i17 i32)
+ (local $i26 i32)
+ (local $i36 i32)
(if
(i32.eqz
(get_local $i1)
@@ -8040,26 +8040,26 @@
)
(func $___stdio_write (param $i1 i32) (param $i2 i32) (param $i3 i32) (result i32)
(local $i7 i32)
- (local $i14 i32)
(local $i12 i32)
+ (local $i14 i32)
(local $i9 i32)
(local $i21 i32)
(local $i8 i32)
- (local $i13 i32)
(local $i11 i32)
- (local $i6 i32)
- (local $i5 i32)
+ (local $i13 i32)
(local $i4 i32)
+ (local $i5 i32)
+ (local $i6 i32)
(local $i20 i32)
- (local $i24 i32)
- (local $i22 i32)
- (local $i19 i32)
- (local $i18 i32)
- (local $i15 i32)
(local $i10 i32)
- (local $i23 i32)
- (local $i17 i32)
+ (local $i15 i32)
+ (local $i18 i32)
+ (local $i19 i32)
+ (local $i22 i32)
+ (local $i24 i32)
(local $i16 i32)
+ (local $i17 i32)
+ (local $i23 i32)
(set_local $i4
(i32.load
(i32.const 8)
@@ -8460,12 +8460,12 @@
(local $i5 i32)
(local $i10 i32)
(local $i8 i32)
- (local $i13 i32)
- (local $i12 i32)
(local $i11 i32)
- (local $i9 i32)
- (local $i7 i32)
+ (local $i12 i32)
+ (local $i13 i32)
(local $i6 i32)
+ (local $i7 i32)
+ (local $i9 i32)
(local $i14 i32)
(if
(set_local $i5
@@ -8705,10 +8705,10 @@
(local $i3 i32)
(local $i4 i32)
(local $i2 i32)
- (local $i8 i32)
(local $i5 i32)
- (local $i7 i32)
+ (local $i8 i32)
(local $i6 i32)
+ (local $i7 i32)
(block $do-once$0
(if
(get_local $i1)
@@ -8875,10 +8875,10 @@
(local $i10 i32)
(local $i9 i32)
(local $i5 i32)
- (local $i8 i32)
- (local $i7 i32)
- (local $i6 i32)
(local $i2 i32)
+ (local $i6 i32)
+ (local $i7 i32)
+ (local $i8 i32)
(local $i11 i32)
(block $label$break$L1
(if
@@ -9051,10 +9051,10 @@
(local $i6 i32)
(local $i10 i32)
(local $i7 i32)
- (local $i9 i32)
- (local $i8 i32)
- (local $i4 i32)
(local $i3 i32)
+ (local $i4 i32)
+ (local $i8 i32)
+ (local $i9 i32)
(local $i5 i32)
(local $i11 i32)
(set_local $i3
@@ -9212,13 +9212,13 @@
)
)
(func $___fflush_unlocked (param $i1 i32) (result i32)
- (local $i4 i32)
(local $i2 i32)
- (local $i8 i32)
- (local $i7 i32)
- (local $i6 i32)
- (local $i5 i32)
+ (local $i4 i32)
(local $i3 i32)
+ (local $i5 i32)
+ (local $i6 i32)
+ (local $i7 i32)
+ (local $i8 i32)
(if
(if
(i32.gt_u
@@ -9488,8 +9488,8 @@
(func $_memset (param $i1 i32) (param $i2 i32) (param $i3 i32) (result i32)
(local $i5 i32)
(local $i4 i32)
- (local $i7 i32)
(local $i6 i32)
+ (local $i7 i32)
(set_local $i4
(i32.add
(get_local $i1)
@@ -9625,8 +9625,8 @@
(func $_puts (param $i1 i32) (result i32)
(local $i2 i32)
(local $i4 i32)
- (local $i6 i32)
(local $i3 i32)
+ (local $i6 i32)
(local $i5 i32)
(if
(i32.gt_s
@@ -9735,8 +9735,8 @@
(func $___stdio_seek (param $i1 i32) (param $i2 i32) (param $i3 i32) (result i32)
(local $i5 i32)
(local $i4 i32)
- (local $i7 i32)
(local $i6 i32)
+ (local $i7 i32)
(set_local $i4
(i32.load
(i32.const 8)
@@ -9814,8 +9814,8 @@
)
)
(func $___towrite (param $i1 i32) (result i32)
- (local $i3 i32)
(local $i2 i32)
+ (local $i3 i32)
(local $i4 i32)
(set_local $i3
(i32.load8_s
@@ -9900,8 +9900,8 @@
(func $_fwrite (param $i1 i32) (param $i2 i32) (param $i3 i32) (param $i4 i32) (result i32)
(local $i8 i32)
(local $i5 i32)
- (local $i9 i32)
(local $i7 i32)
+ (local $i9 i32)
(local $i6 i32)
(set_local $i5
(i32.mul
diff --git a/test/emcc_O2_hello_world.fromasm.imprecise b/test/emcc_O2_hello_world.fromasm.imprecise
index ef166e465..de6dfd4b8 100644
--- a/test/emcc_O2_hello_world.fromasm.imprecise
+++ b/test/emcc_O2_hello_world.fromasm.imprecise
@@ -50,17 +50,17 @@
(local $i62 i32)
(local $i8 i32)
(local $i15 i32)
- (local $i45 i32)
(local $i44 i32)
+ (local $i45 i32)
(local $i60 i32)
(local $i3 i32)
(local $i4 i32)
(local $i50 i32)
(local $i36 i32)
(local $i14 i32)
- (local $i61 i32)
- (local $i53 i32)
(local $i2 i32)
+ (local $i53 i32)
+ (local $i61 i32)
(local $i52 i32)
(local $i12 i32)
(local $i17 i32)
@@ -73,66 +73,66 @@
(local $i59 i32)
(local $i54 i32)
(local $i11 i32)
- (local $i72 i32)
- (local $i56 i32)
(local $i24 i32)
+ (local $i56 i32)
+ (local $i72 i32)
(local $i16 i32)
(local $i9 i32)
(local $i79 i32)
- (local $i89 i32)
- (local $i82 i32)
- (local $i51 i32)
(local $i38 i32)
- (local $i73 i32)
- (local $i46 i32)
- (local $i32 i32)
- (local $i25 i32)
+ (local $i51 i32)
+ (local $i82 i32)
+ (local $i89 i32)
(local $i21 i32)
- (local $i71 i32)
- (local $i68 i32)
+ (local $i25 i32)
+ (local $i32 i32)
+ (local $i46 i32)
+ (local $i73 i32)
(local $i37 i32)
- (local $i74 i32)
- (local $i47 i32)
- (local $i39 i32)
- (local $i35 i32)
- (local $i26 i32)
+ (local $i68 i32)
+ (local $i71 i32)
(local $i23 i32)
- (local $i90 i32)
- (local $i88 i32)
- (local $i83 i32)
- (local $i81 i32)
- (local $i42 i32)
- (local $i41 i32)
- (local $i40 i32)
- (local $i34 i32)
- (local $i33 i32)
- (local $i30 i32)
- (local $i20 i32)
+ (local $i26 i32)
+ (local $i35 i32)
+ (local $i39 i32)
+ (local $i47 i32)
+ (local $i74 i32)
(local $i18 i32)
- (local $i91 i32)
- (local $i87 i32)
- (local $i86 i32)
- (local $i84 i32)
- (local $i80 i32)
- (local $i78 i32)
- (local $i77 i32)
- (local $i76 i32)
- (local $i70 i32)
+ (local $i20 i32)
+ (local $i30 i32)
+ (local $i33 i32)
+ (local $i34 i32)
+ (local $i40 i32)
+ (local $i41 i32)
+ (local $i42 i32)
+ (local $i81 i32)
+ (local $i83 i32)
+ (local $i88 i32)
+ (local $i90 i32)
(local $i6 i32)
- (local $i49 i32)
- (local $i29 i32)
- (local $i28 i32)
(local $i19 i32)
- (local $i92 i32)
- (local $i85 i32)
- (local $i75 i32)
- (local $i69 i32)
- (local $i67 i32)
- (local $i66 i32)
- (local $i65 i32)
- (local $i64 i32)
- (local $i48 i32)
+ (local $i28 i32)
+ (local $i29 i32)
+ (local $i49 i32)
+ (local $i70 i32)
+ (local $i76 i32)
+ (local $i77 i32)
+ (local $i78 i32)
+ (local $i80 i32)
+ (local $i84 i32)
+ (local $i86 i32)
+ (local $i87 i32)
+ (local $i91 i32)
(local $i27 i32)
+ (local $i48 i32)
+ (local $i64 i32)
+ (local $i65 i32)
+ (local $i66 i32)
+ (local $i67 i32)
+ (local $i69 i32)
+ (local $i75 i32)
+ (local $i85 i32)
+ (local $i92 i32)
(block $do-once$0
(if
(i32.lt_u
@@ -6149,23 +6149,23 @@
(local $i21 i32)
(local $i15 i32)
(local $i20 i32)
- (local $i30 i32)
(local $i3 i32)
(local $i29 i32)
- (local $i32 i32)
+ (local $i30 i32)
(local $i16 i32)
- (local $i28 i32)
+ (local $i32 i32)
(local $i24 i32)
+ (local $i28 i32)
(local $i25 i32)
- (local $i34 i32)
(local $i33 i32)
+ (local $i34 i32)
(local $i4 i32)
- (local $i37 i32)
- (local $i35 i32)
(local $i27 i32)
- (local $i36 i32)
- (local $i26 i32)
+ (local $i35 i32)
+ (local $i37 i32)
(local $i17 i32)
+ (local $i26 i32)
+ (local $i36 i32)
(if
(i32.eqz
(get_local $i1)
@@ -8040,26 +8040,26 @@
)
(func $___stdio_write (param $i1 i32) (param $i2 i32) (param $i3 i32) (result i32)
(local $i7 i32)
- (local $i14 i32)
(local $i12 i32)
+ (local $i14 i32)
(local $i9 i32)
(local $i21 i32)
(local $i8 i32)
- (local $i13 i32)
(local $i11 i32)
- (local $i6 i32)
- (local $i5 i32)
+ (local $i13 i32)
(local $i4 i32)
+ (local $i5 i32)
+ (local $i6 i32)
(local $i20 i32)
- (local $i24 i32)
- (local $i22 i32)
- (local $i19 i32)
- (local $i18 i32)
- (local $i15 i32)
(local $i10 i32)
- (local $i23 i32)
- (local $i17 i32)
+ (local $i15 i32)
+ (local $i18 i32)
+ (local $i19 i32)
+ (local $i22 i32)
+ (local $i24 i32)
(local $i16 i32)
+ (local $i17 i32)
+ (local $i23 i32)
(set_local $i4
(i32.load
(i32.const 8)
@@ -8460,12 +8460,12 @@
(local $i5 i32)
(local $i10 i32)
(local $i8 i32)
- (local $i13 i32)
- (local $i12 i32)
(local $i11 i32)
- (local $i9 i32)
- (local $i7 i32)
+ (local $i12 i32)
+ (local $i13 i32)
(local $i6 i32)
+ (local $i7 i32)
+ (local $i9 i32)
(local $i14 i32)
(if
(set_local $i5
@@ -8705,10 +8705,10 @@
(local $i3 i32)
(local $i4 i32)
(local $i2 i32)
- (local $i8 i32)
(local $i5 i32)
- (local $i7 i32)
+ (local $i8 i32)
(local $i6 i32)
+ (local $i7 i32)
(block $do-once$0
(if
(get_local $i1)
@@ -8875,10 +8875,10 @@
(local $i10 i32)
(local $i9 i32)
(local $i5 i32)
- (local $i8 i32)
- (local $i7 i32)
- (local $i6 i32)
(local $i2 i32)
+ (local $i6 i32)
+ (local $i7 i32)
+ (local $i8 i32)
(local $i11 i32)
(block $label$break$L1
(if
@@ -9051,10 +9051,10 @@
(local $i6 i32)
(local $i10 i32)
(local $i7 i32)
- (local $i9 i32)
- (local $i8 i32)
- (local $i4 i32)
(local $i3 i32)
+ (local $i4 i32)
+ (local $i8 i32)
+ (local $i9 i32)
(local $i5 i32)
(local $i11 i32)
(set_local $i3
@@ -9212,13 +9212,13 @@
)
)
(func $___fflush_unlocked (param $i1 i32) (result i32)
- (local $i4 i32)
(local $i2 i32)
- (local $i8 i32)
- (local $i7 i32)
- (local $i6 i32)
- (local $i5 i32)
+ (local $i4 i32)
(local $i3 i32)
+ (local $i5 i32)
+ (local $i6 i32)
+ (local $i7 i32)
+ (local $i8 i32)
(if
(if
(i32.gt_u
@@ -9488,8 +9488,8 @@
(func $_memset (param $i1 i32) (param $i2 i32) (param $i3 i32) (result i32)
(local $i5 i32)
(local $i4 i32)
- (local $i7 i32)
(local $i6 i32)
+ (local $i7 i32)
(set_local $i4
(i32.add
(get_local $i1)
@@ -9625,8 +9625,8 @@
(func $_puts (param $i1 i32) (result i32)
(local $i2 i32)
(local $i4 i32)
- (local $i6 i32)
(local $i3 i32)
+ (local $i6 i32)
(local $i5 i32)
(if
(i32.gt_s
@@ -9735,8 +9735,8 @@
(func $___stdio_seek (param $i1 i32) (param $i2 i32) (param $i3 i32) (result i32)
(local $i5 i32)
(local $i4 i32)
- (local $i7 i32)
(local $i6 i32)
+ (local $i7 i32)
(set_local $i4
(i32.load
(i32.const 8)
@@ -9814,8 +9814,8 @@
)
)
(func $___towrite (param $i1 i32) (result i32)
- (local $i3 i32)
(local $i2 i32)
+ (local $i3 i32)
(local $i4 i32)
(set_local $i3
(i32.load8_s
@@ -9900,8 +9900,8 @@
(func $_fwrite (param $i1 i32) (param $i2 i32) (param $i3 i32) (param $i4 i32) (result i32)
(local $i8 i32)
(local $i5 i32)
- (local $i9 i32)
(local $i7 i32)
+ (local $i9 i32)
(local $i6 i32)
(set_local $i5
(i32.mul
diff --git a/test/emcc_hello_world.fromasm b/test/emcc_hello_world.fromasm
index ce5bd76e0..3f72ff7a6 100644
--- a/test/emcc_hello_world.fromasm
+++ b/test/emcc_hello_world.fromasm
@@ -293,13 +293,13 @@
)
(func $_frexp (param $$x f64) (param $$e i32) (result f64)
(local $$retval$0 f64)
- (local $$x$addr$0 f64)
(local $$storemerge i32)
- (local $$conv i32)
- (local $$call f64)
- (local $$2 i32)
- (local $$1 i32)
+ (local $$x$addr$0 f64)
(local $$0 i32)
+ (local $$1 i32)
+ (local $$2 i32)
+ (local $$call f64)
+ (local $$conv i32)
(i32.load
(i32.const 8)
)
@@ -450,15 +450,15 @@
(func $_strerror (param $$e i32) (result i32)
(local $label i32)
(local $$i$012 i32)
- (local $$s$1 i32)
- (local $$s$010 i32)
(local $$i$111 i32)
- (local $$s$0$lcssa i32)
- (local $$incdec$ptr$lcssa i32)
- (local $$incdec$ptr i32)
+ (local $$s$010 i32)
+ (local $$s$1 i32)
(local $$i$012$lcssa i32)
- (local $$inc i32)
+ (local $$incdec$ptr i32)
+ (local $$incdec$ptr$lcssa i32)
+ (local $$s$0$lcssa i32)
(local $$dec i32)
+ (local $$inc i32)
(i32.load
(i32.const 8)
)
@@ -646,8 +646,8 @@
)
(func $___stdio_close (param $$f i32) (result i32)
(local $sp i32)
- (local $$vararg_buffer i32)
(local $$call1 i32)
+ (local $$vararg_buffer i32)
(set_local $sp
(i32.load
(i32.const 8)
@@ -700,8 +700,8 @@
(func $___stdout_write (param $$f i32) (param $$buf i32) (param $$len i32) (result i32)
(local $$vararg_buffer i32)
(local $sp i32)
- (local $$tio i32)
(local $$call3 i32)
+ (local $$tio i32)
(set_local $sp
(i32.load
(i32.const 8)
@@ -800,8 +800,8 @@
(func $___stdio_seek (param $$f i32) (param $$off i32) (param $$whence i32) (result i32)
(local $$vararg_buffer i32)
(local $sp i32)
- (local $$ret i32)
(local $$1 i32)
+ (local $$ret i32)
(set_local $sp
(i32.load
(i32.const 8)
@@ -892,15 +892,15 @@
(func $_fflush (param $$f i32) (result i32)
(local $$f$addr$022 i32)
(local $$retval$0 i32)
- (local $$r$1 i32)
- (local $$r$021 i32)
(local $$cond10 i32)
- (local $$r$0$lcssa i32)
- (local $$cond19 i32)
+ (local $$r$021 i32)
+ (local $$r$1 i32)
(local $$call1 i32)
- (local $$phitmp i32)
- (local $$f$addr$0$19 i32)
+ (local $$cond19 i32)
+ (local $$r$0$lcssa i32)
(local $$f$addr$0 i32)
+ (local $$f$addr$0$19 i32)
+ (local $$phitmp i32)
(i32.load
(i32.const 8)
)
@@ -1090,8 +1090,8 @@
)
(func $_printf (param $$fmt i32) (param $$varargs i32) (result i32)
(local $sp i32)
- (local $$call i32)
(local $$ap i32)
+ (local $$call i32)
(set_local $sp
(i32.load
(i32.const 8)
@@ -1155,34 +1155,34 @@
(return)
)
(func $___stdio_write (param $$f i32) (param $$buf i32) (param $$len i32) (result i32)
- (local $$iov$0 i32)
(local $$cnt$0 i32)
+ (local $$iov$0 i32)
(local $$iovcnt$0 i32)
(local $$iov$1 i32)
(local $$wbase i32)
- (local $sp i32)
- (local $$vararg_buffer3 i32)
- (local $$vararg_buffer i32)
- (local $$iovs i32)
(local $$cnt$1 i32)
- (local $label i32)
- (local $$wpos i32)
- (local $$retval$0 i32)
- (local $$rem$0 i32)
- (local $$iovcnt$1 i32)
- (local $$14 i32)
+ (local $$iovs i32)
+ (local $$vararg_buffer i32)
+ (local $$vararg_buffer3 i32)
+ (local $sp i32)
(local $$10 i32)
- (local $$fd8 i32)
+ (local $$14 i32)
+ (local $$iovcnt$1 i32)
+ (local $$rem$0 i32)
+ (local $$retval$0 i32)
+ (local $$wpos i32)
+ (local $label i32)
(local $$buf31 i32)
- (local $$sub26 i32)
- (local $$sub$ptr$sub i32)
- (local $$iovcnt$0$lcssa58 i32)
- (local $$iov$0$lcssa57 i32)
- (local $$call7 i32)
- (local $$7 i32)
- (local $$5 i32)
- (local $$11 i32)
+ (local $$fd8 i32)
(local $$0 i32)
+ (local $$11 i32)
+ (local $$5 i32)
+ (local $$7 i32)
+ (local $$call7 i32)
+ (local $$iov$0$lcssa57 i32)
+ (local $$iovcnt$0$lcssa58 i32)
+ (local $$sub$ptr$sub i32)
+ (local $$sub26 i32)
(set_local $sp
(i32.load
(i32.const 8)
@@ -1593,27 +1593,27 @@
)
(func $_vfprintf (param $$f i32) (param $$fmt i32) (param $$ap i32) (result i32)
(local $sp i32)
- (local $$internal_buf i32)
(local $$ap2 i32)
- (local $dest i32)
- (local $$ret$1 i32)
- (local $$nl_type i32)
+ (local $$internal_buf i32)
(local $$nl_arg i32)
- (local $$wpos i32)
- (local $$retval$0 i32)
- (local $$cond i32)
- (local $$call21 i32)
- (local $$buf_size i32)
- (local $$buf i32)
+ (local $$nl_type i32)
+ (local $$ret$1 i32)
+ (local $dest i32)
(local $$4 i32)
- (local $stop i32)
- (local $$wend i32)
- (local $$wbase i32)
- (local $$ret$1$ i32)
- (local $$and i32)
- (local $$7 i32)
- (local $$1 i32)
+ (local $$buf i32)
+ (local $$buf_size i32)
+ (local $$call21 i32)
+ (local $$cond i32)
+ (local $$retval$0 i32)
+ (local $$wpos i32)
(local $$$call21 i32)
+ (local $$1 i32)
+ (local $$7 i32)
+ (local $$and i32)
+ (local $$ret$1$ i32)
+ (local $$wbase i32)
+ (local $$wend i32)
+ (local $stop i32)
(set_local $sp
(i32.load
(i32.const 8)
@@ -1944,20 +1944,20 @@
(func $___fwritex (param $$s i32) (param $$l i32) (param $$f i32) (result i32)
(local $$i$0$lcssa36 i32)
(local $$l$addr$0 i32)
- (local $$retval$0 i32)
(local $$i$0 i32)
- (local $$wpos i32)
- (local $$s$addr$0 i32)
- (local $$i$1 i32)
+ (local $$retval$0 i32)
(local $$9 i32)
- (local $label i32)
- (local $$4 i32)
+ (local $$i$1 i32)
+ (local $$s$addr$0 i32)
+ (local $$wpos i32)
(local $$3 i32)
- (local $$wend i32)
- (local $$sub i32)
- (local $$cmp i32)
- (local $$2 i32)
+ (local $$4 i32)
+ (local $label i32)
(local $$0 i32)
+ (local $$2 i32)
+ (local $$cmp i32)
+ (local $$sub i32)
+ (local $$wend i32)
(i32.load
(i32.const 8)
)
@@ -2218,12 +2218,12 @@
)
)
(func $___towrite (param $$f i32) (result i32)
- (local $$retval$0 i32)
(local $$2 i32)
- (local $$mode i32)
- (local $$conv3 i32)
- (local $$conv i32)
+ (local $$retval$0 i32)
(local $$1 i32)
+ (local $$conv i32)
+ (local $$conv3 i32)
+ (local $$mode i32)
(i32.load
(i32.const 8)
)
@@ -2573,37 +2573,37 @@
)
(func $_memchr (param $$src i32) (param $$c i32) (param $$n i32) (result i32)
(local $label i32)
- (local $$s$2 i32)
- (local $$s$128 i32)
- (local $$s$0$lcssa60 i32)
- (local $$n$addr$3 i32)
(local $$n$addr$0$lcssa61 i32)
- (local $$w$034 i32)
- (local $$s$044 i32)
+ (local $$n$addr$3 i32)
+ (local $$s$0$lcssa60 i32)
+ (local $$s$128 i32)
+ (local $$s$2 i32)
(local $$n$addr$227 i32)
- (local $$w$0$lcssa i32)
- (local $$s$0$lcssa i32)
- (local $$n$addr$133 i32)
- (local $$n$addr$1$lcssa i32)
+ (local $$s$044 i32)
+ (local $$w$034 i32)
(local $$n$addr$043 i32)
- (local $$tobool2$lcssa i32)
- (local $$sub22 i32)
- (local $$n$addr$0$lcssa i32)
- (local $$incdec$ptr33 i32)
- (local $$incdec$ptr21 i32)
- (local $$incdec$ptr i32)
+ (local $$n$addr$1$lcssa i32)
+ (local $$n$addr$133 i32)
+ (local $$s$0$lcssa i32)
+ (local $$w$0$lcssa i32)
(local $$dec i32)
- (local $$xor i32)
- (local $$w$034$lcssa i32)
- (local $$tobool2$41 i32)
- (local $$tobool2 i32)
- (local $$sub i32)
- (local $$n$addr$133$lcssa i32)
- (local $$mul i32)
- (local $$dec34 i32)
- (local $$conv1 i32)
- (local $$5 i32)
+ (local $$incdec$ptr i32)
+ (local $$incdec$ptr21 i32)
+ (local $$incdec$ptr33 i32)
+ (local $$n$addr$0$lcssa i32)
+ (local $$sub22 i32)
+ (local $$tobool2$lcssa i32)
(local $$1 i32)
+ (local $$5 i32)
+ (local $$conv1 i32)
+ (local $$dec34 i32)
+ (local $$mul i32)
+ (local $$n$addr$133$lcssa i32)
+ (local $$sub i32)
+ (local $$tobool2 i32)
+ (local $$tobool2$41 i32)
+ (local $$w$034$lcssa i32)
+ (local $$xor i32)
(i32.load
(i32.const 8)
)
@@ -3071,14 +3071,14 @@
)
)
(func $___fflush_unlocked (param $$f i32) (result i32)
- (local $label i32)
- (local $$wpos i32)
(local $$retval$0 i32)
- (local $$wbase i32)
- (local $$rpos i32)
- (local $$rend i32)
- (local $$5 i32)
+ (local $$wpos i32)
+ (local $label i32)
(local $$4 i32)
+ (local $$5 i32)
+ (local $$rend i32)
+ (local $$rpos i32)
+ (local $$wbase i32)
(i32.load
(i32.const 8)
)
@@ -3231,476 +3231,476 @@
(func $_printf_core (param $$f i32) (param $$fmt i32) (param $$ap i32) (param $$nl_arg i32) (param $$nl_type i32) (result i32)
(local $label i32)
(local $$p$0 i32)
- (local $$w$1 i32)
(local $$cnt$1 i32)
+ (local $$w$1 i32)
(local $$fl$1$and219 i32)
(local $$arg i32)
(local $$incdec$ptr169275 i32)
- (local $$l10n$3 i32)
- (local $$l10n$0 i32)
(local $$cnt$0 i32)
+ (local $$l10n$0 i32)
+ (local $$l10n$3 i32)
(local $$l$0 i32)
(local $$retval$0 i32)
(local $$e2$i i32)
(local $$incdec$ptr169$lcssa i32)
- (local $$sub$ptr$sub i32)
- (local $$p$addr$3$i i32)
(local $$e$5$ph$i i32)
- (local $$incdec$ptr169269 i32)
- (local $$buf$i i32)
+ (local $$p$addr$3$i i32)
+ (local $$sub$ptr$sub i32)
(local $$add$ptr205 i32)
- (local $sp i32)
- (local $$t$0 i32)
- (local $$p$2 i32)
- (local $$i$0$lcssa i32)
- (local $$a$3539$i i32)
+ (local $$buf$i i32)
+ (local $$incdec$ptr169269 i32)
(local $$a$3$lcssa$i i32)
- (local $$arraydecay208$add$ptr213$i i32)
+ (local $$a$3539$i i32)
+ (local $$i$0$lcssa i32)
+ (local $$p$2 i32)
+ (local $$t$0 i32)
+ (local $sp i32)
(local $$add$ptr358$i i32)
- (local $$z$3538$i i32)
- (local $$z$3$lcssa$i i32)
- (local $$storemerge$186282 i32)
- (local $$prefix$1 i32)
- (local $$prefix$0$i i32)
- (local $$pl$1 i32)
- (local $$pl$0$i i32)
- (local $$i$0$lcssa368 i32)
- (local $$fl$6 i32)
- (local $$fl$4 i32)
- (local $$fl$1 i32)
- (local $$fl$0284 i32)
- (local $$a$9$ph$i i32)
+ (local $$arraydecay208$add$ptr213$i i32)
(local $$a$0 i32)
- (local $$z$7$i$lcssa i32)
- (local $$y$addr$0$i f64)
- (local $$sub$ptr$lhs$cast160$i i32)
- (local $$s753$2$i i32)
- (local $$s753$0$i i32)
- (local $$pl$2 i32)
- (local $$p$addr$2$i i32)
- (local $$p$5 i32)
- (local $$incdec$ptr169276$lcssa i32)
- (local $$incdec$ptr169274 i32)
- (local $$incdec$ptr169272 i32)
- (local $$e$1$i i32)
- (local $$a$2 i32)
+ (local $$a$9$ph$i i32)
+ (local $$fl$0284 i32)
+ (local $$fl$1 i32)
+ (local $$fl$4 i32)
+ (local $$fl$6 i32)
+ (local $$i$0$lcssa368 i32)
+ (local $$pl$0$i i32)
+ (local $$pl$1 i32)
+ (local $$prefix$0$i i32)
+ (local $$prefix$1 i32)
+ (local $$storemerge$186282 i32)
+ (local $$z$3$lcssa$i i32)
+ (local $$z$3538$i i32)
(local $$a$1549$i i32)
- (local $$z$7$i i32)
- (local $$z$2$i i32)
- (local $$z$2 i32)
- (local $$tobool25 i32)
- (local $$t$addr$1$i i32)
- (local $$t$addr$0$i i32)
- (local $$s668$1$i i32)
- (local $$prefix$2 i32)
- (local $$p$addr$5501$i i32)
- (local $$p$addr$4489$i i32)
- (local $$mul$i$240 f64)
- (local $$j$2$i i32)
- (local $$incdec$ptr292$a$3573$i i32)
- (local $$i$2299 i32)
- (local $$i$1$lcssa$i i32)
- (local $$i$0316 i32)
- (local $$fl$3 i32)
- (local $$call384 i32)
- (local $$and610$pre$phi$iZ2D i32)
- (local $$add165$i i32)
- (local $$add$ptr671$i i32)
- (local $$a$5$lcssa$i i32)
- (local $$a$2$ph$i i32)
- (local $$a$1 i32)
- (local $$249 i32)
+ (local $$a$2 i32)
+ (local $$e$1$i i32)
+ (local $$incdec$ptr169272 i32)
+ (local $$incdec$ptr169274 i32)
+ (local $$incdec$ptr169276$lcssa i32)
+ (local $$p$5 i32)
+ (local $$p$addr$2$i i32)
+ (local $$pl$2 i32)
+ (local $$s753$0$i i32)
+ (local $$s753$2$i i32)
+ (local $$sub$ptr$lhs$cast160$i i32)
+ (local $$y$addr$0$i f64)
+ (local $$z$7$i$lcssa i32)
(local $$$p$i i32)
- (local $$z$4$i i32)
- (local $$z$0$lcssa i32)
- (local $$w$2 i32)
- (local $$w$0 i32)
- (local $$sub$ptr$rhs$cast345$i i32)
- (local $$small$0$i f64)
- (local $$s$addr$0$lcssa$i$229 i32)
- (local $$s$1$i i32)
- (local $$s$0$i i32)
- (local $$round377$1$i f64)
- (local $$prefix$0 i32)
- (local $$pl$0 i32)
- (local $$p$1 i32)
- (local $$mul80$i$lcssa f64)
- (local $$l10n$1 i32)
- (local $$incdec$ptr689$i i32)
- (local $$incdec$ptr419$i i32)
- (local $$incdec$ptr169276301 i32)
- (local $$incdec$ptr169271 i32)
- (local $$incdec$ptr115$i i32)
- (local $$e$4$i i32)
- (local $$d$7500$i i32)
- (local $$d$5494$i i32)
- (local $$d$4$i i32)
- (local $$d$1534$i i32)
- (local $$d$0545$i i32)
- (local $$cond271$i i32)
- (local $$arrayidx$i$236 i32)
- (local $$argpos$0 i32)
- (local $$and219 i32)
- (local $$add653$i i32)
- (local $$add441 i32)
- (local $$a$8$i i32)
- (local $$a$5521$i i32)
- (local $$7 i32)
- (local $$181 f64)
- (local $$149 i32)
- (local $$148 i32)
+ (local $$249 i32)
+ (local $$a$1 i32)
+ (local $$a$2$ph$i i32)
+ (local $$a$5$lcssa$i i32)
+ (local $$add$ptr671$i i32)
+ (local $$add165$i i32)
+ (local $$and610$pre$phi$iZ2D i32)
+ (local $$call384 i32)
+ (local $$fl$3 i32)
+ (local $$i$0316 i32)
+ (local $$i$1$lcssa$i i32)
+ (local $$i$2299 i32)
+ (local $$incdec$ptr292$a$3573$i i32)
+ (local $$j$2$i i32)
+ (local $$mul$i$240 f64)
+ (local $$p$addr$4489$i i32)
+ (local $$p$addr$5501$i i32)
+ (local $$prefix$2 i32)
+ (local $$s668$1$i i32)
+ (local $$t$addr$0$i i32)
+ (local $$t$addr$1$i i32)
+ (local $$tobool25 i32)
+ (local $$z$2 i32)
+ (local $$z$2$i i32)
+ (local $$z$7$i i32)
(local $$12 i32)
- (local $$z$2$i$lcssa i32)
- (local $$z$1548$i i32)
- (local $$z$1$lcssa$i i32)
- (local $$z$0302 i32)
- (local $$z$0$i i32)
- (local $$y$addr$4$i f64)
- (local $$y$addr$2$i f64)
- (local $$y$addr$1$i f64)
- (local $$ws$1326 i32)
- (local $$ws$0317 i32)
- (local $$t$1 i32)
- (local $$sub256$i i32)
- (local $$sub$ptr$sub789$i i32)
- (local $$sub$ptr$sub433 i32)
- (local $$sub$ptr$rhs$cast$i i32)
- (local $$storemerge$191 i32)
- (local $$storemerge$186309 i32)
- (local $$storemerge i32)
- (local $$st$0 i32)
- (local $$small$1$i f64)
- (local $$retval$0$i i32)
- (local $$rem370$i i32)
- (local $$p$4365 i32)
- (local $$or$i$241 i32)
- (local $$mul125$i f64)
- (local $$mb i32)
- (local $$l10n$2 i32)
- (local $$l$2 i32)
- (local $$incdec$ptr776$i i32)
- (local $$incdec$ptr773$i i32)
- (local $$incdec$ptr725$i i32)
- (local $$incdec$ptr681$i i32)
- (local $$incdec$ptr639$i i32)
- (local $$incdec$ptr122$i i32)
- (local $$i$3296 i32)
- (local $$fl$0310 i32)
- (local $$estr$2$i i32)
- (local $$estr$1$lcssa$i i32)
- (local $$estr$0$i i32)
- (local $$d$6488$i i32)
- (local $$d$2520$i i32)
- (local $$d$2$lcssa$i i32)
- (local $$cmp450$lcssa$i i32)
- (local $$arrayidx68 i32)
- (local $$arrayidx119 i32)
- (local $$add$i$239 i32)
- (local $$a$6$i i32)
- (local $$a$1$lcssa$i i32)
- (local $$99 i32)
- (local $$9 i32)
- (local $$211 i32)
- (local $$198 i32)
- (local $$140 i32)
- (local $$137 i32)
- (local $$126 i32)
- (local $$$pr477$i i32)
+ (local $$148 i32)
+ (local $$149 i32)
+ (local $$181 f64)
+ (local $$7 i32)
+ (local $$a$5521$i i32)
+ (local $$a$8$i i32)
+ (local $$add441 i32)
+ (local $$add653$i i32)
+ (local $$and219 i32)
+ (local $$argpos$0 i32)
+ (local $$arrayidx$i$236 i32)
+ (local $$cond271$i i32)
+ (local $$d$0545$i i32)
+ (local $$d$1534$i i32)
+ (local $$d$4$i i32)
+ (local $$d$5494$i i32)
+ (local $$d$7500$i i32)
+ (local $$e$4$i i32)
+ (local $$incdec$ptr115$i i32)
+ (local $$incdec$ptr169271 i32)
+ (local $$incdec$ptr169276301 i32)
+ (local $$incdec$ptr419$i i32)
+ (local $$incdec$ptr689$i i32)
+ (local $$l10n$1 i32)
+ (local $$mul80$i$lcssa f64)
+ (local $$p$1 i32)
+ (local $$pl$0 i32)
+ (local $$prefix$0 i32)
+ (local $$round377$1$i f64)
+ (local $$s$0$i i32)
+ (local $$s$1$i i32)
+ (local $$s$addr$0$lcssa$i$229 i32)
+ (local $$small$0$i f64)
+ (local $$sub$ptr$rhs$cast345$i i32)
+ (local $$w$0 i32)
+ (local $$w$2 i32)
+ (local $$z$0$lcssa i32)
+ (local $$z$4$i i32)
(local $$$396$i f64)
- (local $$z$7$ph$i i32)
- (local $$y$addr$3$i f64)
- (local $$wc i32)
- (local $$tobool357 i32)
- (local $$sub806$i i32)
- (local $$sub735$i i32)
- (local $$sub$ptr$sub650$pn$i i32)
- (local $$sub$ptr$sub433$p$5 i32)
- (local $$sub$ptr$sub172$i i32)
- (local $$sub$ptr$lhs$cast694$i i32)
- (local $$sub$ptr$lhs$cast317 i32)
- (local $$st$0$lcssa415 i32)
- (local $$s753$1496$i i32)
- (local $$s715$0484$i i32)
- (local $$s715$0$lcssa$i i32)
- (local $$s668$0492$i i32)
- (local $$s$addr$06$i$221 i32)
- (local $$s$addr$06$i i32)
- (local $$round$0481$i f64)
- (local $$re$1482$i i32)
- (local $$prefix$0$add$ptr65$i i32)
- (local $$pl$1$i i32)
- (local $$p$addr$5$lcssa$i i32)
- (local $$p$addr$4$lcssa$i i32)
- (local $$or i32)
- (local $$mul80$i f64)
- (local $$mul513$i i32)
- (local $$mul431$i i32)
- (local $$mul367$i i32)
- (local $$mul322$i i32)
- (local $$mul286$i$lcssa i32)
- (local $$mul286$i i32)
- (local $$l$1315 i32)
- (local $$j$1513$i i32)
- (local $$j$0527$i i32)
- (local $$isdigittmp8$i$200 i32)
- (local $$isdigittmp8$i i32)
- (local $$incdec$ptr698$i$lcssa i32)
- (local $$incdec$ptr698$i i32)
- (local $$incdec$ptr647$i i32)
- (local $$incdec$ptr62 i32)
- (local $$incdec$ptr292$a$3$i i32)
- (local $$incdec$ptr23 i32)
- (local $$incdec$ptr217$i$lcssa i32)
- (local $$incdec$ptr217$i i32)
- (local $$incdec$ptr169 i32)
- (local $$incdec$ptr106$i i32)
- (local $$incdec$ptr$i$225 i32)
- (local $$incdec$ptr$i$212$lcssa i32)
- (local $$incdec$ptr$i$212 i32)
- (local $$incdec$ptr$i$204 i32)
- (local $$incdec$ptr$i i32)
- (local $$inc500$i i32)
- (local $$inc488 i32)
- (local $$inc438$i i32)
- (local $$inc$i i32)
- (local $$i$3512$i i32)
- (local $$i$2516$i i32)
- (local $$i$2299$lcssa i32)
- (local $$i$1526$i i32)
- (local $$i$1325 i32)
- (local $$i$07$i$201 i32)
- (local $$i$07$i i32)
- (local $$i$0530$i i32)
- (local $$estr$1507$i i32)
- (local $$e$2517$i i32)
- (local $$e$0531$i i32)
- (local $$conv48311 i32)
- (local $$conv242$i$lcssa i32)
- (local $$conv207 i32)
- (local $$conv174$lcssa i32)
- (local $$conv174 i32)
- (local $$cond233$i i32)
- (local $$cmp38$i i32)
- (local $$cmp37 i32)
- (local $$cmp184 i32)
- (local $$carry262$0535$i i32)
- (local $$carry$0544$i i32)
- (local $$call356 i32)
- (local $$arrayidx31 i32)
- (local $$arrayidx114 i32)
- (local $$and309$fl$4 i32)
- (local $$add67$i i32)
- (local $$add412 i32)
- (local $$add395 i32)
- (local $$add313$i i32)
- (local $$add275$i i32)
- (local $$add$ptr43$arrayidx31 i32)
- (local $$add$ptr340 i32)
- (local $$add$ptr311$z$4$i i32)
- (local $$add$ptr i32)
- (local $$add$i$lcssa i32)
- (local $$add$i$203 i32)
- (local $$add$i i32)
- (local $$49 i32)
- (local $$29 i32)
- (local $$255 i32)
- (local $$243 i32)
- (local $$237 i32)
- (local $$231 i32)
- (local $$223 i32)
- (local $$219 i32)
- (local $$210 i32)
- (local $$194 i32)
- (local $$143 i32)
- (local $$142 i32)
- (local $$129 i32)
- (local $$101 i32)
- (local $$10 i32)
- (local $$1 i32)
- (local $$$sub562$i i32)
- (local $$$sub514$i i32)
- (local $$$pre566$i i32)
- (local $$$pr$i i32)
- (local $$$p$inc468$i i32)
+ (local $$$pr477$i i32)
+ (local $$126 i32)
+ (local $$137 i32)
+ (local $$140 i32)
+ (local $$198 i32)
+ (local $$211 i32)
+ (local $$9 i32)
+ (local $$99 i32)
+ (local $$a$1$lcssa$i i32)
+ (local $$a$6$i i32)
+ (local $$add$i$239 i32)
+ (local $$arrayidx119 i32)
+ (local $$arrayidx68 i32)
+ (local $$cmp450$lcssa$i i32)
+ (local $$d$2$lcssa$i i32)
+ (local $$d$2520$i i32)
+ (local $$d$6488$i i32)
+ (local $$estr$0$i i32)
+ (local $$estr$1$lcssa$i i32)
+ (local $$estr$2$i i32)
+ (local $$fl$0310 i32)
+ (local $$i$3296 i32)
+ (local $$incdec$ptr122$i i32)
+ (local $$incdec$ptr639$i i32)
+ (local $$incdec$ptr681$i i32)
+ (local $$incdec$ptr725$i i32)
+ (local $$incdec$ptr773$i i32)
+ (local $$incdec$ptr776$i i32)
+ (local $$l$2 i32)
+ (local $$l10n$2 i32)
+ (local $$mb i32)
+ (local $$mul125$i f64)
+ (local $$or$i$241 i32)
+ (local $$p$4365 i32)
+ (local $$rem370$i i32)
+ (local $$retval$0$i i32)
+ (local $$small$1$i f64)
+ (local $$st$0 i32)
+ (local $$storemerge i32)
+ (local $$storemerge$186309 i32)
+ (local $$storemerge$191 i32)
+ (local $$sub$ptr$rhs$cast$i i32)
+ (local $$sub$ptr$sub433 i32)
+ (local $$sub$ptr$sub789$i i32)
+ (local $$sub256$i i32)
+ (local $$t$1 i32)
+ (local $$ws$0317 i32)
+ (local $$ws$1326 i32)
+ (local $$y$addr$1$i f64)
+ (local $$y$addr$2$i f64)
+ (local $$y$addr$4$i f64)
+ (local $$z$0$i i32)
+ (local $$z$0302 i32)
+ (local $$z$1$lcssa$i i32)
+ (local $$z$1548$i i32)
+ (local $$z$2$i$lcssa i32)
(local $$$lcssa i32)
- (local $$z$7$add$ptr742$i i32)
- (local $$z$1 i32)
- (local $$tobool781$i i32)
- (local $$tobool56$i i32)
- (local $$tobool37$i i32)
- (local $$tobool341$i i32)
- (local $$tobool135$i i32)
- (local $$sub97$i i32)
- (local $$sub74$i i32)
- (local $$sub626$le$i i32)
- (local $$sub562$i i32)
- (local $$sub514$i i32)
- (local $$sub409$i i32)
- (local $$sub343$i i32)
- (local $$sub281$i i32)
- (local $$sub264$i i32)
- (local $$sub203$i i32)
- (local $$sub164 i32)
- (local $$sub$ptr$sub363 i32)
- (local $$sub$ptr$sub175$i i32)
- (local $$sub$ptr$sub159$i i32)
- (local $$sub$ptr$sub153$i i32)
- (local $$sub$ptr$sub145$i i32)
- (local $$shr285$i i32)
- (local $$s35$0$i i32)
- (local $$s$1$i$lcssa i32)
- (local $$r$0$a$9$i i32)
- (local $$p$addr$2$$sub562399$i i32)
- (local $$p$addr$2$$sub514398$i i32)
- (local $$p$3 i32)
- (local $$p$2$add322 i32)
- (local $$or$cond384 i32)
- (local $$or$cond192 i32)
- (local $$notrhs$i i32)
- (local $$mul499$i i32)
- (local $$mul437$i i32)
- (local $$mul335$i i32)
- (local $$mul328$i i32)
- (local $$mul220$i f64)
- (local $$lor$ext$i i32)
- (local $$l10n$0$lcssa i32)
- (local $$l$0$i i32)
- (local $$j$0$i i32)
- (local $$j$0$524$i i32)
- (local $$isdigittmp189 i32)
- (local $$isdigittmp187 i32)
- (local $$isdigittmp$i$206 i32)
- (local $$isdigittmp$i i32)
- (local $$isdigittmp$5$i$198 i32)
- (local $$isdigittmp$5$i i32)
- (local $$isdigittmp$ i32)
- (local $$isdigittmp i32)
- (local $$incdec$ptr808$i i32)
- (local $$incdec$ptr734$i i32)
- (local $$incdec$ptr423$i i32)
- (local $$incdec$ptr410 i32)
- (local $$incdec$ptr383 i32)
- (local $$incdec$ptr292$i i32)
- (local $$incdec$ptr292$570$i i32)
- (local $$incdec$ptr288$i i32)
- (local $$incdec$ptr246$i i32)
- (local $$incdec$ptr169271$lcssa414 i32)
- (local $$incdec$ptr$i$lcssa i32)
- (local $$incdec$ptr i32)
- (local $$inc425$i i32)
- (local $$inc i32)
- (local $$ebuf0$i i32)
- (local $$div384$i i32)
- (local $$dec78$i i32)
- (local $$d$0$i i32)
- (local $$d$0$542$i i32)
- (local $$conv48$307 i32)
- (local $$conv48 i32)
- (local $$conv216$i i32)
- (local $$conv116$i i32)
- (local $$cond800$i i32)
- (local $$cond732$i i32)
- (local $$cond629$i i32)
- (local $$cond43$i i32)
- (local $$cond426 i32)
- (local $$cond304$i i32)
- (local $$cond245 i32)
- (local $$cond100$i i32)
- (local $$cond$i i32)
- (local $$cnt$1$lcssa i32)
- (local $$cmp94$i i32)
- (local $$cmp614$i i32)
- (local $$cmp374$i i32)
- (local $$cmp338$i i32)
- (local $$cmp299$i i32)
- (local $$call411 i32)
- (local $$buf i32)
- (local $$big$i i32)
- (local $$arrayidx453$i i32)
- (local $$arrayidx370 i32)
- (local $$arrayidx251$i i32)
- (local $$and62$i i32)
- (local $$and483$i i32)
- (local $$and309 i32)
- (local $$and294 i32)
- (local $$and282$i i32)
- (local $$and249 i32)
- (local $$and214 i32)
- (local $$and12$i i32)
- (local $$add620$i i32)
- (local $$add414$i i32)
- (local $$add355$i i32)
- (local $$add322 i32)
- (local $$add269$p$0 i32)
- (local $$add269 i32)
- (local $$add163$i i32)
- (local $$add154$i i32)
- (local $$add$ptr742$i i32)
- (local $$add$ptr65$i i32)
- (local $$add$ptr442$z$3$i i32)
- (local $$add$ptr442$i i32)
- (local $$add$ptr43 i32)
- (local $$add$ptr359 i32)
- (local $$add$ptr311$i i32)
- (local $$add$ptr213$i i32)
- (local $$95 i32)
- (local $$92 i32)
- (local $$90 i32)
- (local $$86 i32)
- (local $$76 i32)
- (local $$65 i32)
- (local $$60 i32)
- (local $$59 i32)
- (local $$56 i32)
- (local $$54 i32)
- (local $$52 i32)
- (local $$5 i32)
- (local $$48 i32)
- (local $$47 i32)
- (local $$38 i32)
- (local $$36 i32)
- (local $$32 i32)
- (local $$28 i32)
- (local $$27 i32)
- (local $$267 i32)
- (local $$259 i32)
- (local $$242 i32)
- (local $$239 i32)
- (local $$234 i32)
- (local $$228 i32)
- (local $$225 i32)
- (local $$217 i32)
- (local $$216 i32)
- (local $$215 i32)
- (local $$201 i32)
- (local $$200 i32)
- (local $$193 i32)
- (local $$187 i32)
- (local $$18 i32)
- (local $$179 i32)
- (local $$177 i32)
- (local $$172 i32)
- (local $$170 i32)
- (local $$169 i32)
- (local $$163 i32)
- (local $$161 i32)
- (local $$16 i32)
- (local $$159 i32)
- (local $$151 i32)
- (local $$144 i32)
- (local $$135 i32)
- (local $$131 i32)
- (local $$130 i32)
- (local $$121 i32)
- (local $$118 i32)
- (local $$116 i32)
- (local $$107 i32)
- (local $$103 i32)
- (local $$102 i32)
- (local $$0 i32)
- (local $$$l10n$0 i32)
- (local $$$$i i32)
+ (local $$$p$inc468$i i32)
+ (local $$$pr$i i32)
+ (local $$$pre566$i i32)
+ (local $$$sub514$i i32)
+ (local $$$sub562$i i32)
+ (local $$1 i32)
+ (local $$10 i32)
+ (local $$101 i32)
+ (local $$129 i32)
+ (local $$142 i32)
+ (local $$143 i32)
+ (local $$194 i32)
+ (local $$210 i32)
+ (local $$219 i32)
+ (local $$223 i32)
+ (local $$231 i32)
+ (local $$237 i32)
+ (local $$243 i32)
+ (local $$255 i32)
+ (local $$29 i32)
+ (local $$49 i32)
+ (local $$add$i i32)
+ (local $$add$i$203 i32)
+ (local $$add$i$lcssa i32)
+ (local $$add$ptr i32)
+ (local $$add$ptr311$z$4$i i32)
+ (local $$add$ptr340 i32)
+ (local $$add$ptr43$arrayidx31 i32)
+ (local $$add275$i i32)
+ (local $$add313$i i32)
+ (local $$add395 i32)
+ (local $$add412 i32)
+ (local $$add67$i i32)
+ (local $$and309$fl$4 i32)
+ (local $$arrayidx114 i32)
+ (local $$arrayidx31 i32)
+ (local $$call356 i32)
+ (local $$carry$0544$i i32)
+ (local $$carry262$0535$i i32)
+ (local $$cmp184 i32)
+ (local $$cmp37 i32)
+ (local $$cmp38$i i32)
+ (local $$cond233$i i32)
+ (local $$conv174 i32)
+ (local $$conv174$lcssa i32)
+ (local $$conv207 i32)
+ (local $$conv242$i$lcssa i32)
+ (local $$conv48311 i32)
+ (local $$e$0531$i i32)
+ (local $$e$2517$i i32)
+ (local $$estr$1507$i i32)
+ (local $$i$0530$i i32)
+ (local $$i$07$i i32)
+ (local $$i$07$i$201 i32)
+ (local $$i$1325 i32)
+ (local $$i$1526$i i32)
+ (local $$i$2299$lcssa i32)
+ (local $$i$2516$i i32)
+ (local $$i$3512$i i32)
+ (local $$inc$i i32)
+ (local $$inc438$i i32)
+ (local $$inc488 i32)
+ (local $$inc500$i i32)
+ (local $$incdec$ptr$i i32)
+ (local $$incdec$ptr$i$204 i32)
+ (local $$incdec$ptr$i$212 i32)
+ (local $$incdec$ptr$i$212$lcssa i32)
+ (local $$incdec$ptr$i$225 i32)
+ (local $$incdec$ptr106$i i32)
+ (local $$incdec$ptr169 i32)
+ (local $$incdec$ptr217$i i32)
+ (local $$incdec$ptr217$i$lcssa i32)
+ (local $$incdec$ptr23 i32)
+ (local $$incdec$ptr292$a$3$i i32)
+ (local $$incdec$ptr62 i32)
+ (local $$incdec$ptr647$i i32)
+ (local $$incdec$ptr698$i i32)
+ (local $$incdec$ptr698$i$lcssa i32)
+ (local $$isdigittmp8$i i32)
+ (local $$isdigittmp8$i$200 i32)
+ (local $$j$0527$i i32)
+ (local $$j$1513$i i32)
+ (local $$l$1315 i32)
+ (local $$mul286$i i32)
+ (local $$mul286$i$lcssa i32)
+ (local $$mul322$i i32)
+ (local $$mul367$i i32)
+ (local $$mul431$i i32)
+ (local $$mul513$i i32)
+ (local $$mul80$i f64)
+ (local $$or i32)
+ (local $$p$addr$4$lcssa$i i32)
+ (local $$p$addr$5$lcssa$i i32)
+ (local $$pl$1$i i32)
+ (local $$prefix$0$add$ptr65$i i32)
+ (local $$re$1482$i i32)
+ (local $$round$0481$i f64)
+ (local $$s$addr$06$i i32)
+ (local $$s$addr$06$i$221 i32)
+ (local $$s668$0492$i i32)
+ (local $$s715$0$lcssa$i i32)
+ (local $$s715$0484$i i32)
+ (local $$s753$1496$i i32)
+ (local $$st$0$lcssa415 i32)
+ (local $$sub$ptr$lhs$cast317 i32)
+ (local $$sub$ptr$lhs$cast694$i i32)
+ (local $$sub$ptr$sub172$i i32)
+ (local $$sub$ptr$sub433$p$5 i32)
+ (local $$sub$ptr$sub650$pn$i i32)
+ (local $$sub735$i i32)
+ (local $$sub806$i i32)
+ (local $$tobool357 i32)
+ (local $$wc i32)
+ (local $$y$addr$3$i f64)
+ (local $$z$7$ph$i i32)
(local $$$ i32)
+ (local $$$$i i32)
+ (local $$$l10n$0 i32)
+ (local $$0 i32)
+ (local $$102 i32)
+ (local $$103 i32)
+ (local $$107 i32)
+ (local $$116 i32)
+ (local $$118 i32)
+ (local $$121 i32)
+ (local $$130 i32)
+ (local $$131 i32)
+ (local $$135 i32)
+ (local $$144 i32)
+ (local $$151 i32)
+ (local $$159 i32)
+ (local $$16 i32)
+ (local $$161 i32)
+ (local $$163 i32)
+ (local $$169 i32)
+ (local $$170 i32)
+ (local $$172 i32)
+ (local $$177 i32)
+ (local $$179 i32)
+ (local $$18 i32)
+ (local $$187 i32)
+ (local $$193 i32)
+ (local $$200 i32)
+ (local $$201 i32)
+ (local $$215 i32)
+ (local $$216 i32)
+ (local $$217 i32)
+ (local $$225 i32)
+ (local $$228 i32)
+ (local $$234 i32)
+ (local $$239 i32)
+ (local $$242 i32)
+ (local $$259 i32)
+ (local $$267 i32)
+ (local $$27 i32)
+ (local $$28 i32)
+ (local $$32 i32)
+ (local $$36 i32)
+ (local $$38 i32)
+ (local $$47 i32)
+ (local $$48 i32)
+ (local $$5 i32)
+ (local $$52 i32)
+ (local $$54 i32)
+ (local $$56 i32)
+ (local $$59 i32)
+ (local $$60 i32)
+ (local $$65 i32)
+ (local $$76 i32)
+ (local $$86 i32)
+ (local $$90 i32)
+ (local $$92 i32)
+ (local $$95 i32)
+ (local $$add$ptr213$i i32)
+ (local $$add$ptr311$i i32)
+ (local $$add$ptr359 i32)
+ (local $$add$ptr43 i32)
+ (local $$add$ptr442$i i32)
+ (local $$add$ptr442$z$3$i i32)
+ (local $$add$ptr65$i i32)
+ (local $$add$ptr742$i i32)
+ (local $$add154$i i32)
+ (local $$add163$i i32)
+ (local $$add269 i32)
+ (local $$add269$p$0 i32)
+ (local $$add322 i32)
+ (local $$add355$i i32)
+ (local $$add414$i i32)
+ (local $$add620$i i32)
+ (local $$and12$i i32)
+ (local $$and214 i32)
+ (local $$and249 i32)
+ (local $$and282$i i32)
+ (local $$and294 i32)
+ (local $$and309 i32)
+ (local $$and483$i i32)
+ (local $$and62$i i32)
+ (local $$arrayidx251$i i32)
+ (local $$arrayidx370 i32)
+ (local $$arrayidx453$i i32)
+ (local $$big$i i32)
+ (local $$buf i32)
+ (local $$call411 i32)
+ (local $$cmp299$i i32)
+ (local $$cmp338$i i32)
+ (local $$cmp374$i i32)
+ (local $$cmp614$i i32)
+ (local $$cmp94$i i32)
+ (local $$cnt$1$lcssa i32)
+ (local $$cond$i i32)
+ (local $$cond100$i i32)
+ (local $$cond245 i32)
+ (local $$cond304$i i32)
+ (local $$cond426 i32)
+ (local $$cond43$i i32)
+ (local $$cond629$i i32)
+ (local $$cond732$i i32)
+ (local $$cond800$i i32)
+ (local $$conv116$i i32)
+ (local $$conv216$i i32)
+ (local $$conv48 i32)
+ (local $$conv48$307 i32)
+ (local $$d$0$542$i i32)
+ (local $$d$0$i i32)
+ (local $$dec78$i i32)
+ (local $$div384$i i32)
+ (local $$ebuf0$i i32)
+ (local $$inc i32)
+ (local $$inc425$i i32)
+ (local $$incdec$ptr i32)
+ (local $$incdec$ptr$i$lcssa i32)
+ (local $$incdec$ptr169271$lcssa414 i32)
+ (local $$incdec$ptr246$i i32)
+ (local $$incdec$ptr288$i i32)
+ (local $$incdec$ptr292$570$i i32)
+ (local $$incdec$ptr292$i i32)
+ (local $$incdec$ptr383 i32)
+ (local $$incdec$ptr410 i32)
+ (local $$incdec$ptr423$i i32)
+ (local $$incdec$ptr734$i i32)
+ (local $$incdec$ptr808$i i32)
+ (local $$isdigittmp i32)
+ (local $$isdigittmp$ i32)
+ (local $$isdigittmp$5$i i32)
+ (local $$isdigittmp$5$i$198 i32)
+ (local $$isdigittmp$i i32)
+ (local $$isdigittmp$i$206 i32)
+ (local $$isdigittmp187 i32)
+ (local $$isdigittmp189 i32)
+ (local $$j$0$524$i i32)
+ (local $$j$0$i i32)
+ (local $$l$0$i i32)
+ (local $$l10n$0$lcssa i32)
+ (local $$lor$ext$i i32)
+ (local $$mul220$i f64)
+ (local $$mul328$i i32)
+ (local $$mul335$i i32)
+ (local $$mul437$i i32)
+ (local $$mul499$i i32)
+ (local $$notrhs$i i32)
+ (local $$or$cond192 i32)
+ (local $$or$cond384 i32)
+ (local $$p$2$add322 i32)
+ (local $$p$3 i32)
+ (local $$p$addr$2$$sub514398$i i32)
+ (local $$p$addr$2$$sub562399$i i32)
+ (local $$r$0$a$9$i i32)
+ (local $$s$1$i$lcssa i32)
+ (local $$s35$0$i i32)
+ (local $$shr285$i i32)
+ (local $$sub$ptr$sub145$i i32)
+ (local $$sub$ptr$sub153$i i32)
+ (local $$sub$ptr$sub159$i i32)
+ (local $$sub$ptr$sub175$i i32)
+ (local $$sub$ptr$sub363 i32)
+ (local $$sub164 i32)
+ (local $$sub203$i i32)
+ (local $$sub264$i i32)
+ (local $$sub281$i i32)
+ (local $$sub343$i i32)
+ (local $$sub409$i i32)
+ (local $$sub514$i i32)
+ (local $$sub562$i i32)
+ (local $$sub626$le$i i32)
+ (local $$sub74$i i32)
+ (local $$sub97$i i32)
+ (local $$tobool135$i i32)
+ (local $$tobool341$i i32)
+ (local $$tobool37$i i32)
+ (local $$tobool56$i i32)
+ (local $$tobool781$i i32)
+ (local $$z$1 i32)
+ (local $$z$7$add$ptr742$i i32)
(set_local $sp
(i32.load
(i32.const 8)
@@ -10337,38 +10337,38 @@
)
(func $_pop_arg_336 (param $$arg i32) (param $$type i32) (param $$ap i32)
(local $$13 i32)
- (local $$93 i32)
- (local $$92 i32)
- (local $$91 i32)
- (local $$82 i32)
- (local $$81 i32)
- (local $$79 i32)
- (local $$78 i32)
- (local $$77 i32)
- (local $$68 i32)
- (local $$67 i32)
- (local $$66 i32)
- (local $$6 i32)
- (local $$57 i32)
- (local $$56 i32)
- (local $$54 i32)
- (local $$53 i32)
- (local $$52 i32)
- (local $$5 i32)
- (local $$43 i32)
- (local $$42 i32)
- (local $$39 i32)
- (local $$37 i32)
- (local $$36 i32)
- (local $$27 i32)
- (local $$26 i32)
- (local $$25 i32)
- (local $$16 i32)
- (local $$12 i32)
- (local $$110 f64)
- (local $$109 i32)
- (local $$103 f64)
(local $$102 i32)
+ (local $$103 f64)
+ (local $$109 i32)
+ (local $$110 f64)
+ (local $$12 i32)
+ (local $$16 i32)
+ (local $$25 i32)
+ (local $$26 i32)
+ (local $$27 i32)
+ (local $$36 i32)
+ (local $$37 i32)
+ (local $$39 i32)
+ (local $$42 i32)
+ (local $$43 i32)
+ (local $$5 i32)
+ (local $$52 i32)
+ (local $$53 i32)
+ (local $$54 i32)
+ (local $$56 i32)
+ (local $$57 i32)
+ (local $$6 i32)
+ (local $$66 i32)
+ (local $$67 i32)
+ (local $$68 i32)
+ (local $$77 i32)
+ (local $$78 i32)
+ (local $$79 i32)
+ (local $$81 i32)
+ (local $$82 i32)
+ (local $$91 i32)
+ (local $$92 i32)
+ (local $$93 i32)
(i32.load
(i32.const 8)
)
@@ -10959,21 +10959,21 @@
)
(func $_fmt_u (param $$0 i32) (param $$1 i32) (param $$s i32) (result i32)
(local $$8 i32)
- (local $$y$010 i32)
(local $$7 i32)
- (local $$x$addr$0$lcssa$off0 i32)
+ (local $$y$010 i32)
(local $$s$addr$0$lcssa i32)
- (local $$s$addr$19 i32)
- (local $$s$addr$1$lcssa i32)
- (local $$s$addr$013 i32)
- (local $$incdec$ptr7 i32)
- (local $$incdec$ptr i32)
- (local $$14 i32)
+ (local $$x$addr$0$lcssa$off0 i32)
(local $$13 i32)
- (local $$incdec$ptr$lcssa i32)
- (local $$div9 i32)
- (local $$9 i32)
+ (local $$14 i32)
+ (local $$incdec$ptr i32)
+ (local $$incdec$ptr7 i32)
+ (local $$s$addr$013 i32)
+ (local $$s$addr$1$lcssa i32)
+ (local $$s$addr$19 i32)
(local $$21 i32)
+ (local $$9 i32)
+ (local $$div9 i32)
+ (local $$incdec$ptr$lcssa i32)
(i32.load
(i32.const 8)
)
@@ -11177,20 +11177,20 @@
)
(func $_pad (param $$f i32) (param $$c i32) (param $$w i32) (param $$l i32) (param $$fl i32)
(local $$sub i32)
- (local $$pad i32)
(local $$2 i32)
- (local $sp i32)
- (local $$tobool$i18 i32)
- (local $$tobool$i$16 i32)
- (local $$tobool$i i32)
- (local $$l$addr$017 i32)
- (local $$l$addr$0$lcssa21 i32)
+ (local $$pad i32)
(local $$4 i32)
- (local $$sub5 i32)
- (local $$cond i32)
- (local $$3 i32)
- (local $$1 i32)
+ (local $$l$addr$0$lcssa21 i32)
+ (local $$l$addr$017 i32)
+ (local $$tobool$i i32)
+ (local $$tobool$i$16 i32)
+ (local $$tobool$i18 i32)
+ (local $sp i32)
(local $$0 i32)
+ (local $$1 i32)
+ (local $$3 i32)
+ (local $$cond i32)
+ (local $$sub5 i32)
(set_local $sp
(i32.load
(i32.const 8)
@@ -11385,473 +11385,473 @@
(local $$nb$0 i32)
(local $$add$ptr$i$161 i32)
(local $$v$4$lcssa$i i32)
- (local $$v$0$i$lcssa i32)
- (local $$tbase$796$i i32)
(local $$add$ptr16$i$i i32)
+ (local $$tbase$796$i i32)
+ (local $$v$0$i$lcssa i32)
(local $$and145 i32)
(local $$rsize$4$lcssa$i i32)
- (local $$R$3$i$i i32)
- (local $$R$3$i$171 i32)
(local $$R$3$i i32)
+ (local $$R$3$i$171 i32)
+ (local $$R$3$i$i i32)
(local $$tsize$795$i i32)
- (local $$qsize$0$i$i i32)
(local $$cond i32)
- (local $$sub$ptr$sub$i$i i32)
+ (local $$qsize$0$i$i i32)
(local $$ssize$2$ph$i i32)
- (local $$t$48$i i32)
- (local $$t$0$i$151 i32)
- (local $$ssize$0$i i32)
- (local $$I57$0$i$i i32)
- (local $$I316$0$i i32)
+ (local $$sub$ptr$sub$i$i i32)
(local $$I252$0$i$i i32)
- (local $$rsize$0$i$lcssa i32)
- (local $$idx$0$i i32)
- (local $$R$1$i$i i32)
- (local $$R$1$i$168 i32)
- (local $$R$1$i i32)
+ (local $$I316$0$i i32)
+ (local $$I57$0$i$i i32)
+ (local $$ssize$0$i i32)
+ (local $$t$0$i$151 i32)
+ (local $$t$48$i i32)
(local $$149 i32)
- (local $$sp$1107$i i32)
- (local $$sp$0108$i i32)
- (local $$sp$0$i$i$i i32)
- (local $$sp$0$i$i i32)
- (local $$rsize$49$i i32)
- (local $$cond13$i$i i32)
- (local $$and11$i i32)
- (local $$add$ptr14$i$i i32)
- (local $$T$0$i$i i32)
- (local $$T$0$i$58$i i32)
- (local $$T$0$i i32)
- (local $$95 i32)
- (local $$63 i32)
- (local $$26 i32)
- (local $$154 i32)
- (local $$150 i32)
+ (local $$R$1$i i32)
+ (local $$R$1$i$168 i32)
+ (local $$R$1$i$i i32)
+ (local $$idx$0$i i32)
+ (local $$rsize$0$i$lcssa i32)
(local $$148 i32)
- (local $$v$410$i i32)
- (local $$v$3$i i32)
- (local $$sub18$i$i i32)
- (local $$sub160 i32)
- (local $$shr i32)
- (local $$rsize$0$i i32)
- (local $$cond4$i i32)
- (local $$br$2$ph$i i32)
- (local $$arrayidx289$i i32)
- (local $$arrayidx223$i$i i32)
- (local $$arrayidx196$i i32)
- (local $$arrayidx103 i32)
- (local $$arrayidx$i$20$i i32)
- (local $$add$ptr4$i$37$i i32)
- (local $$RP$1$i$i i32)
- (local $$RP$1$i$167 i32)
- (local $$RP$1$i i32)
- (local $$46 i32)
- (local $$3 i32)
- (local $$14 i32)
+ (local $$150 i32)
+ (local $$154 i32)
+ (local $$26 i32)
+ (local $$63 i32)
+ (local $$95 i32)
+ (local $$T$0$i i32)
+ (local $$T$0$i$58$i i32)
+ (local $$T$0$i$i i32)
+ (local $$add$ptr14$i$i i32)
+ (local $$and11$i i32)
+ (local $$cond13$i$i i32)
+ (local $$rsize$49$i i32)
+ (local $$sp$0$i$i i32)
+ (local $$sp$0$i$i$i i32)
+ (local $$sp$0108$i i32)
+ (local $$sp$1107$i i32)
(local $$10 i32)
- (local $$v$1$i i32)
- (local $$v$0$i i32)
- (local $$t$4$v$4$i i32)
- (local $$t$4$ph$i i32)
- (local $$t$2$i i32)
- (local $$t$0$i i32)
- (local $$sub91 i32)
- (local $$sub101$rsize$4$i i32)
- (local $$ssize$5$i i32)
- (local $$sizebits$0$i i32)
- (local $$shr3 i32)
- (local $$rsize$3$i i32)
- (local $$rsize$1$i i32)
- (local $$rsize$0$i$152 i32)
- (local $$i$01$i$i i32)
- (local $$call83$i i32)
- (local $$call37$i i32)
- (local $$call131$i i32)
- (local $$call$i$i i32)
- (local $$arrayidx91$i$i i32)
- (local $$arrayidx355$i i32)
- (local $$arrayidx287$i$i i32)
- (local $$arrayidx$i$i i32)
- (local $$and80$i i32)
- (local $$add26$i$i i32)
- (local $$add$ptr227$i i32)
- (local $$add$ptr$i i32)
- (local $$T$0$i$lcssa i32)
- (local $$T$0$i$i$lcssa i32)
- (local $$T$0$i$58$i$lcssa i32)
- (local $$K373$0$i i32)
- (local $$K305$0$i$i i32)
- (local $$K105$0$i$i i32)
- (local $$F290$0$i i32)
- (local $$F224$0$i$i i32)
- (local $$F197$0$i i32)
- (local $$F104$0 i32)
- (local $$F$0$i$i i32)
- (local $$94 i32)
- (local $$9 i32)
- (local $$79 i32)
- (local $$78 i32)
- (local $$64 i32)
- (local $$42 i32)
- (local $$41 i32)
- (local $$27 i32)
- (local $$2 i32)
- (local $$170 i32)
- (local $$169 i32)
- (local $$155 i32)
- (local $$147 i32)
+ (local $$14 i32)
+ (local $$3 i32)
+ (local $$46 i32)
+ (local $$RP$1$i i32)
+ (local $$RP$1$i$167 i32)
+ (local $$RP$1$i$i i32)
+ (local $$add$ptr4$i$37$i i32)
+ (local $$arrayidx$i$20$i i32)
+ (local $$arrayidx103 i32)
+ (local $$arrayidx196$i i32)
+ (local $$arrayidx223$i$i i32)
+ (local $$arrayidx289$i i32)
+ (local $$br$2$ph$i i32)
+ (local $$cond4$i i32)
+ (local $$rsize$0$i i32)
+ (local $$shr i32)
+ (local $$sub160 i32)
+ (local $$sub18$i$i i32)
+ (local $$v$3$i i32)
+ (local $$v$410$i i32)
(local $$13 i32)
- (local $$v$0$i$153 i32)
- (local $$sub5$i$i$i i32)
- (local $$sub5$i$i i32)
- (local $$sub5$i$27$i i32)
- (local $$sub33$i i32)
- (local $$sub$i$138 i32)
- (local $$sp$1107$i$lcssa i32)
- (local $$shr58$i$i i32)
- (local $$shr318$i i32)
- (local $$shr283$i i32)
- (local $$shr253$i$i i32)
- (local $$shr214$i$i i32)
- (local $$shr$i$i i32)
- (local $$shr$i$45$i i32)
- (local $$shr$i$139 i32)
- (local $$rst$1$i i32)
- (local $$rst$0$i i32)
- (local $$p$0$i$i i32)
- (local $$oldfirst$0$i$i i32)
- (local $$head$i$17$i i32)
- (local $$fd68$pre$phi$i$iZ2D i32)
- (local $$cond$i$i$i i32)
- (local $$cond$i$i i32)
- (local $$cond$i$25$i i32)
- (local $$child$i$i i32)
- (local $$call132$i i32)
- (local $$arrayidx66 i32)
- (local $$arrayidx394$i$lcssa i32)
- (local $$arrayidx325$i$i$lcssa i32)
- (local $$arrayidx126$i$i$lcssa i32)
- (local $$arrayidx i32)
- (local $$and73$i i32)
- (local $$and64$i i32)
- (local $$and46 i32)
- (local $$and37$i$i i32)
- (local $$and3$i i32)
- (local $$and104$i i32)
- (local $$add8 i32)
- (local $$add64 i32)
- (local $$add54$i i32)
- (local $$add150$i i32)
- (local $$add$ptr95 i32)
- (local $$add$ptr4$i$i$i i32)
- (local $$add$ptr4$i$i i32)
- (local $$add$ptr4$i$26$i i32)
- (local $$add$ptr24$i$i i32)
- (local $$add$ptr166 i32)
- (local $$add$ptr$i$i$i$lcssa i32)
- (local $$RP$1$i$lcssa i32)
- (local $$RP$1$i$i$lcssa i32)
- (local $$RP$1$i$167$lcssa i32)
- (local $$98 i32)
- (local $$91 i32)
- (local $$65 i32)
- (local $$62 i32)
- (local $$55 i32)
- (local $$54 i32)
- (local $$28 i32)
- (local $$25 i32)
- (local $$208 i32)
- (local $$204 i32)
- (local $$20 i32)
- (local $$19 i32)
- (local $$182 i32)
- (local $$156 i32)
- (local $$108 i32)
- (local $$104 i32)
- (local $$0 i32)
- (local $$$pre$phiZ2D i32)
- (local $$$pre$phi$iZ2D i32)
- (local $$$pre$phi$i$iZ2D i32)
- (local $$$pre$phi$i$57$iZ2D i32)
+ (local $$147 i32)
+ (local $$155 i32)
+ (local $$169 i32)
+ (local $$170 i32)
+ (local $$2 i32)
+ (local $$27 i32)
+ (local $$41 i32)
+ (local $$42 i32)
+ (local $$64 i32)
+ (local $$78 i32)
+ (local $$79 i32)
+ (local $$9 i32)
+ (local $$94 i32)
+ (local $$F$0$i$i i32)
+ (local $$F104$0 i32)
+ (local $$F197$0$i i32)
+ (local $$F224$0$i$i i32)
+ (local $$F290$0$i i32)
+ (local $$K105$0$i$i i32)
+ (local $$K305$0$i$i i32)
+ (local $$K373$0$i i32)
+ (local $$T$0$i$58$i$lcssa i32)
+ (local $$T$0$i$i$lcssa i32)
+ (local $$T$0$i$lcssa i32)
+ (local $$add$ptr$i i32)
+ (local $$add$ptr227$i i32)
+ (local $$add26$i$i i32)
+ (local $$and80$i i32)
+ (local $$arrayidx$i$i i32)
+ (local $$arrayidx287$i$i i32)
+ (local $$arrayidx355$i i32)
+ (local $$arrayidx91$i$i i32)
+ (local $$call$i$i i32)
+ (local $$call131$i i32)
+ (local $$call37$i i32)
+ (local $$call83$i i32)
+ (local $$i$01$i$i i32)
+ (local $$rsize$0$i$152 i32)
+ (local $$rsize$1$i i32)
+ (local $$rsize$3$i i32)
+ (local $$shr3 i32)
+ (local $$sizebits$0$i i32)
+ (local $$ssize$5$i i32)
+ (local $$sub101$rsize$4$i i32)
+ (local $$sub91 i32)
+ (local $$t$0$i i32)
+ (local $$t$2$i i32)
+ (local $$t$4$ph$i i32)
+ (local $$t$4$v$4$i i32)
+ (local $$v$0$i i32)
+ (local $$v$1$i i32)
(local $$$pre$phi$i$178Z2D i32)
- (local $$sub70$i i32)
- (local $$sub63$i i32)
- (local $$sub44 i32)
- (local $$sub42 i32)
- (local $$sub41$i i32)
- (local $$sub381$i i32)
- (local $$sub313$i$i i32)
- (local $$sub31$rsize$0$i i32)
- (local $$sub31$i i32)
- (local $$sub30$i i32)
- (local $$sub260$i i32)
- (local $$sub2$i i32)
- (local $$sub190 i32)
- (local $$sub172$i i32)
- (local $$sub16$i$i i32)
- (local $$sub113$i$i i32)
- (local $$sub112$i i32)
- (local $$sub101$i i32)
- (local $$sub$ptr$sub$i i32)
- (local $$sub$i$181 i32)
- (local $$sub i32)
- (local $$sp$0108$i$lcssa i32)
- (local $$sizebits$0$shl52$i i32)
- (local $$size245$i i32)
- (local $$size188$i$lcssa i32)
- (local $$size188$i i32)
- (local $$size$i$i$lcssa i32)
- (local $$size$i$i i32)
- (local $$shr87$i i32)
- (local $$shr83$i i32)
- (local $$shr79$i i32)
- (local $$shr75$i i32)
- (local $$shr7$i i32)
- (local $$shr59 i32)
- (local $$shr55 i32)
- (local $$shr51 i32)
- (local $$shr47 i32)
- (local $$shr4$i i32)
- (local $$shr194$i i32)
- (local $$shr15$i i32)
- (local $$shr11$i i32)
- (local $$shr101 i32)
- (local $$shl95$i$i i32)
- (local $$shl9$i i32)
- (local $$shl84$i$i i32)
- (local $$shl75$i$i i32)
- (local $$shl70$i$i i32)
- (local $$shl60$i i32)
- (local $$shl395$i i32)
- (local $$shl39$i$i i32)
- (local $$shl37 i32)
- (local $$shl362$i i32)
- (local $$shl347$i i32)
- (local $$shl338$i i32)
- (local $$shl333$i i32)
- (local $$shl326$i$i i32)
- (local $$shl294$i$i i32)
- (local $$shl291$i i32)
- (local $$shl279$i$i i32)
- (local $$shl270$i$i i32)
- (local $$shl265$i$i i32)
- (local $$shl226$i$i i32)
- (local $$shl22 i32)
- (local $$shl198$i i32)
- (local $$shl18$i i32)
- (local $$shl127$i$i i32)
- (local $$shl105 i32)
- (local $$shl$i$144 i32)
- (local $$or275$i i32)
- (local $$or26 i32)
- (local $$or183$i i32)
- (local $$or180 i32)
- (local $$or$cond4$i i32)
- (local $$neg$i$182 i32)
- (local $$inc$i$i i32)
- (local $$head274$i i32)
- (local $$head25 i32)
- (local $$head208$i$i i32)
- (local $$head182$i i32)
- (local $$head179 i32)
- (local $$fd9 i32)
- (local $$fd85$i$i i32)
- (local $$fd69 i32)
- (local $$fd59$i$i i32)
- (local $$fd50$i i32)
- (local $$fd416$i i32)
- (local $$fd344$i$i i32)
- (local $$fd148$i$i i32)
- (local $$fd139$i i32)
- (local $$cond383$i i32)
- (local $$cond315$i$i i32)
- (local $$cond15$i$i i32)
- (local $$cond115$i$i i32)
- (local $$cond$v$0$i i32)
- (local $$cond$i$36$i i32)
- (local $$cond$i$16$i i32)
- (local $$cond$i i32)
- (local $$cmp7$i$i i32)
- (local $$cmp49$i i32)
- (local $$cmp32$i i32)
- (local $$cmp102$i i32)
- (local $$cmp$i$34$i i32)
- (local $$cmp$i$23$i i32)
- (local $$cmp$i$2$i$i i32)
- (local $$cmp$i$15$i i32)
- (local $$cmp$i$13$i i32)
- (local $$child357$i i32)
- (local $$child289$i$i i32)
- (local $$child166$i$i i32)
- (local $$call68$i i32)
- (local $$bk82$i$i i32)
- (local $$bk78 i32)
- (local $$bk47$i i32)
- (local $$bk136$i i32)
- (local $$bk i32)
- (local $$base226$i$lcssa i32)
- (local $$base$i$i$lcssa i32)
- (local $$arrayidx96$i$i i32)
- (local $$arrayidx94$i i32)
- (local $$arrayidx75$i i32)
- (local $$arrayidx71$i i32)
- (local $$arrayidx65$i i32)
- (local $$arrayidx61$i i32)
- (local $$arrayidx394$i i32)
- (local $$arrayidx325$i$i i32)
- (local $$arrayidx204$i i32)
- (local $$arrayidx184$i i32)
- (local $$arrayidx165$i$169 i32)
- (local $$arrayidx161$i i32)
- (local $$arrayidx155$i i32)
- (local $$arrayidx151$i i32)
- (local $$arrayidx143$i$i i32)
- (local $$arrayidx126$i$i i32)
- (local $$arrayidx123$i$i i32)
- (local $$arrayidx113$i i32)
- (local $$arrayidx107$i$i i32)
- (local $$arrayidx103$i$i i32)
- (local $$arrayidx$i$48$i i32)
- (local $$and9$i i32)
- (local $$and89$i i32)
- (local $$and85$i i32)
- (local $$and81$i i32)
- (local $$and8$i i32)
- (local $$and78$i$i i32)
- (local $$and77$i i32)
- (local $$and73$i$i i32)
- (local $$and69$i$i i32)
- (local $$and61 i32)
- (local $$and6$i$i i32)
- (local $$and6$i i32)
- (local $$and57 i32)
- (local $$and53 i32)
- (local $$and49 i32)
- (local $$and41 i32)
- (local $$and341$i i32)
- (local $$and336$i i32)
- (local $$and331$i i32)
- (local $$and32$i i32)
- (local $$and3$i$i$i i32)
- (local $$and3$i$i i32)
- (local $$and3$i$35$i i32)
- (local $$and3$i$24$i i32)
- (local $$and273$i$i i32)
- (local $$and268$i$i i32)
- (local $$and264$i$i i32)
- (local $$and209$i$i i32)
- (local $$and17$i i32)
- (local $$and13$i$i i32)
- (local $$and13$i i32)
- (local $$and12$i i32)
- (local $$and$i$143 i32)
- (local $$and i32)
- (local $$add9$i i32)
- (local $$add83$i$i i32)
- (local $$add346$i i32)
- (local $$add278$i$i i32)
- (local $$add268$i i32)
- (local $$add246$i i32)
- (local $$add177$i i32)
- (local $$add17$i$183 i32)
- (local $$add17$i i32)
- (local $$add144 i32)
- (local $$add$ptr8$i122$i i32)
- (local $$add$ptr7$i$i i32)
- (local $$add$ptr262$i i32)
- (local $$add$ptr2$i$i i32)
- (local $$add$ptr193 i32)
- (local $$add$ptr15$i$i i32)
- (local $$add$ptr$i$i$i i32)
- (local $$add$i$i i32)
- (local $$add$i$180 i32)
- (local $$T$0$i$lcssa293 i32)
- (local $$T$0$i$i$lcssa284 i32)
- (local $$T$0$i$58$i$lcssa283 i32)
- (local $$R$1$i$lcssa i32)
- (local $$R$1$i$i$lcssa i32)
- (local $$R$1$i$168$lcssa i32)
- (local $$97 i32)
- (local $$92 i32)
- (local $$89 i32)
- (local $$87 i32)
- (local $$86 i32)
- (local $$84 i32)
- (local $$83 i32)
- (local $$82 i32)
- (local $$8 i32)
- (local $$77 i32)
- (local $$72 i32)
- (local $$71 i32)
- (local $$70 i32)
- (local $$7 i32)
- (local $$69 i32)
- (local $$68 i32)
- (local $$60 i32)
- (local $$59 i32)
- (local $$52 i32)
- (local $$51 i32)
- (local $$49 i32)
- (local $$48 i32)
- (local $$47 i32)
- (local $$45 i32)
- (local $$40 i32)
- (local $$35 i32)
- (local $$34 i32)
- (local $$33 i32)
- (local $$32 i32)
- (local $$31 i32)
- (local $$23 i32)
- (local $$22 i32)
- (local $$207 i32)
- (local $$205 i32)
- (local $$202 i32)
- (local $$200 i32)
- (local $$199 i32)
- (local $$197 i32)
- (local $$196 i32)
- (local $$195 i32)
- (local $$190 i32)
- (local $$188 i32)
- (local $$185 i32)
- (local $$183 i32)
- (local $$180 i32)
- (local $$178 i32)
- (local $$177 i32)
- (local $$175 i32)
- (local $$174 i32)
- (local $$173 i32)
- (local $$17 i32)
- (local $$168 i32)
- (local $$163 i32)
- (local $$162 i32)
- (local $$161 i32)
- (local $$160 i32)
- (local $$16 i32)
- (local $$159 i32)
- (local $$15 i32)
- (local $$142 i32)
- (local $$140 i32)
- (local $$137 i32)
- (local $$135 i32)
- (local $$132 i32)
- (local $$131 i32)
- (local $$129 i32)
- (local $$128 i32)
- (local $$127 i32)
- (local $$124 i32)
- (local $$120 i32)
- (local $$115 i32)
- (local $$111 i32)
- (local $$110 i32)
- (local $$109 i32)
- (local $$107 i32)
- (local $$105 i32)
- (local $$102 i32)
- (local $$101 i32)
- (local $$100 i32)
- (local $$1 i32)
- (local $$$lcssa290 i32)
+ (local $$$pre$phi$i$57$iZ2D i32)
+ (local $$$pre$phi$i$iZ2D i32)
+ (local $$$pre$phi$iZ2D i32)
+ (local $$$pre$phiZ2D i32)
+ (local $$0 i32)
+ (local $$104 i32)
+ (local $$108 i32)
+ (local $$156 i32)
+ (local $$182 i32)
+ (local $$19 i32)
+ (local $$20 i32)
+ (local $$204 i32)
+ (local $$208 i32)
+ (local $$25 i32)
+ (local $$28 i32)
+ (local $$54 i32)
+ (local $$55 i32)
+ (local $$62 i32)
+ (local $$65 i32)
+ (local $$91 i32)
+ (local $$98 i32)
+ (local $$RP$1$i$167$lcssa i32)
+ (local $$RP$1$i$i$lcssa i32)
+ (local $$RP$1$i$lcssa i32)
+ (local $$add$ptr$i$i$i$lcssa i32)
+ (local $$add$ptr166 i32)
+ (local $$add$ptr24$i$i i32)
+ (local $$add$ptr4$i$26$i i32)
+ (local $$add$ptr4$i$i i32)
+ (local $$add$ptr4$i$i$i i32)
+ (local $$add$ptr95 i32)
+ (local $$add150$i i32)
+ (local $$add54$i i32)
+ (local $$add64 i32)
+ (local $$add8 i32)
+ (local $$and104$i i32)
+ (local $$and3$i i32)
+ (local $$and37$i$i i32)
+ (local $$and46 i32)
+ (local $$and64$i i32)
+ (local $$and73$i i32)
+ (local $$arrayidx i32)
+ (local $$arrayidx126$i$i$lcssa i32)
+ (local $$arrayidx325$i$i$lcssa i32)
+ (local $$arrayidx394$i$lcssa i32)
+ (local $$arrayidx66 i32)
+ (local $$call132$i i32)
+ (local $$child$i$i i32)
+ (local $$cond$i$25$i i32)
+ (local $$cond$i$i i32)
+ (local $$cond$i$i$i i32)
+ (local $$fd68$pre$phi$i$iZ2D i32)
+ (local $$head$i$17$i i32)
+ (local $$oldfirst$0$i$i i32)
+ (local $$p$0$i$i i32)
+ (local $$rst$0$i i32)
+ (local $$rst$1$i i32)
+ (local $$shr$i$139 i32)
+ (local $$shr$i$45$i i32)
+ (local $$shr$i$i i32)
+ (local $$shr214$i$i i32)
+ (local $$shr253$i$i i32)
+ (local $$shr283$i i32)
+ (local $$shr318$i i32)
+ (local $$shr58$i$i i32)
+ (local $$sp$1107$i$lcssa i32)
+ (local $$sub$i$138 i32)
+ (local $$sub33$i i32)
+ (local $$sub5$i$27$i i32)
+ (local $$sub5$i$i i32)
+ (local $$sub5$i$i$i i32)
+ (local $$v$0$i$153 i32)
(local $$$lcssa i32)
+ (local $$$lcssa290 i32)
+ (local $$1 i32)
+ (local $$100 i32)
+ (local $$101 i32)
+ (local $$102 i32)
+ (local $$105 i32)
+ (local $$107 i32)
+ (local $$109 i32)
+ (local $$110 i32)
+ (local $$111 i32)
+ (local $$115 i32)
+ (local $$120 i32)
+ (local $$124 i32)
+ (local $$127 i32)
+ (local $$128 i32)
+ (local $$129 i32)
+ (local $$131 i32)
+ (local $$132 i32)
+ (local $$135 i32)
+ (local $$137 i32)
+ (local $$140 i32)
+ (local $$142 i32)
+ (local $$15 i32)
+ (local $$159 i32)
+ (local $$16 i32)
+ (local $$160 i32)
+ (local $$161 i32)
+ (local $$162 i32)
+ (local $$163 i32)
+ (local $$168 i32)
+ (local $$17 i32)
+ (local $$173 i32)
+ (local $$174 i32)
+ (local $$175 i32)
+ (local $$177 i32)
+ (local $$178 i32)
+ (local $$180 i32)
+ (local $$183 i32)
+ (local $$185 i32)
+ (local $$188 i32)
+ (local $$190 i32)
+ (local $$195 i32)
+ (local $$196 i32)
+ (local $$197 i32)
+ (local $$199 i32)
+ (local $$200 i32)
+ (local $$202 i32)
+ (local $$205 i32)
+ (local $$207 i32)
+ (local $$22 i32)
+ (local $$23 i32)
+ (local $$31 i32)
+ (local $$32 i32)
+ (local $$33 i32)
+ (local $$34 i32)
+ (local $$35 i32)
+ (local $$40 i32)
+ (local $$45 i32)
+ (local $$47 i32)
+ (local $$48 i32)
+ (local $$49 i32)
+ (local $$51 i32)
+ (local $$52 i32)
+ (local $$59 i32)
+ (local $$60 i32)
+ (local $$68 i32)
+ (local $$69 i32)
+ (local $$7 i32)
+ (local $$70 i32)
+ (local $$71 i32)
+ (local $$72 i32)
+ (local $$77 i32)
+ (local $$8 i32)
+ (local $$82 i32)
+ (local $$83 i32)
+ (local $$84 i32)
+ (local $$86 i32)
+ (local $$87 i32)
+ (local $$89 i32)
+ (local $$92 i32)
+ (local $$97 i32)
+ (local $$R$1$i$168$lcssa i32)
+ (local $$R$1$i$i$lcssa i32)
+ (local $$R$1$i$lcssa i32)
+ (local $$T$0$i$58$i$lcssa283 i32)
+ (local $$T$0$i$i$lcssa284 i32)
+ (local $$T$0$i$lcssa293 i32)
+ (local $$add$i$180 i32)
+ (local $$add$i$i i32)
+ (local $$add$ptr$i$i$i i32)
+ (local $$add$ptr15$i$i i32)
+ (local $$add$ptr193 i32)
+ (local $$add$ptr2$i$i i32)
+ (local $$add$ptr262$i i32)
+ (local $$add$ptr7$i$i i32)
+ (local $$add$ptr8$i122$i i32)
+ (local $$add144 i32)
+ (local $$add17$i i32)
+ (local $$add17$i$183 i32)
+ (local $$add177$i i32)
+ (local $$add246$i i32)
+ (local $$add268$i i32)
+ (local $$add278$i$i i32)
+ (local $$add346$i i32)
+ (local $$add83$i$i i32)
+ (local $$add9$i i32)
+ (local $$and i32)
+ (local $$and$i$143 i32)
+ (local $$and12$i i32)
+ (local $$and13$i i32)
+ (local $$and13$i$i i32)
+ (local $$and17$i i32)
+ (local $$and209$i$i i32)
+ (local $$and264$i$i i32)
+ (local $$and268$i$i i32)
+ (local $$and273$i$i i32)
+ (local $$and3$i$24$i i32)
+ (local $$and3$i$35$i i32)
+ (local $$and3$i$i i32)
+ (local $$and3$i$i$i i32)
+ (local $$and32$i i32)
+ (local $$and331$i i32)
+ (local $$and336$i i32)
+ (local $$and341$i i32)
+ (local $$and41 i32)
+ (local $$and49 i32)
+ (local $$and53 i32)
+ (local $$and57 i32)
+ (local $$and6$i i32)
+ (local $$and6$i$i i32)
+ (local $$and61 i32)
+ (local $$and69$i$i i32)
+ (local $$and73$i$i i32)
+ (local $$and77$i i32)
+ (local $$and78$i$i i32)
+ (local $$and8$i i32)
+ (local $$and81$i i32)
+ (local $$and85$i i32)
+ (local $$and89$i i32)
+ (local $$and9$i i32)
+ (local $$arrayidx$i$48$i i32)
+ (local $$arrayidx103$i$i i32)
+ (local $$arrayidx107$i$i i32)
+ (local $$arrayidx113$i i32)
+ (local $$arrayidx123$i$i i32)
+ (local $$arrayidx126$i$i i32)
+ (local $$arrayidx143$i$i i32)
+ (local $$arrayidx151$i i32)
+ (local $$arrayidx155$i i32)
+ (local $$arrayidx161$i i32)
+ (local $$arrayidx165$i$169 i32)
+ (local $$arrayidx184$i i32)
+ (local $$arrayidx204$i i32)
+ (local $$arrayidx325$i$i i32)
+ (local $$arrayidx394$i i32)
+ (local $$arrayidx61$i i32)
+ (local $$arrayidx65$i i32)
+ (local $$arrayidx71$i i32)
+ (local $$arrayidx75$i i32)
+ (local $$arrayidx94$i i32)
+ (local $$arrayidx96$i$i i32)
+ (local $$base$i$i$lcssa i32)
+ (local $$base226$i$lcssa i32)
+ (local $$bk i32)
+ (local $$bk136$i i32)
+ (local $$bk47$i i32)
+ (local $$bk78 i32)
+ (local $$bk82$i$i i32)
+ (local $$call68$i i32)
+ (local $$child166$i$i i32)
+ (local $$child289$i$i i32)
+ (local $$child357$i i32)
+ (local $$cmp$i$13$i i32)
+ (local $$cmp$i$15$i i32)
+ (local $$cmp$i$2$i$i i32)
+ (local $$cmp$i$23$i i32)
+ (local $$cmp$i$34$i i32)
+ (local $$cmp102$i i32)
+ (local $$cmp32$i i32)
+ (local $$cmp49$i i32)
+ (local $$cmp7$i$i i32)
+ (local $$cond$i i32)
+ (local $$cond$i$16$i i32)
+ (local $$cond$i$36$i i32)
+ (local $$cond$v$0$i i32)
+ (local $$cond115$i$i i32)
+ (local $$cond15$i$i i32)
+ (local $$cond315$i$i i32)
+ (local $$cond383$i i32)
+ (local $$fd139$i i32)
+ (local $$fd148$i$i i32)
+ (local $$fd344$i$i i32)
+ (local $$fd416$i i32)
+ (local $$fd50$i i32)
+ (local $$fd59$i$i i32)
+ (local $$fd69 i32)
+ (local $$fd85$i$i i32)
+ (local $$fd9 i32)
+ (local $$head179 i32)
+ (local $$head182$i i32)
+ (local $$head208$i$i i32)
+ (local $$head25 i32)
+ (local $$head274$i i32)
+ (local $$inc$i$i i32)
+ (local $$neg$i$182 i32)
+ (local $$or$cond4$i i32)
+ (local $$or180 i32)
+ (local $$or183$i i32)
+ (local $$or26 i32)
+ (local $$or275$i i32)
+ (local $$shl$i$144 i32)
+ (local $$shl105 i32)
+ (local $$shl127$i$i i32)
+ (local $$shl18$i i32)
+ (local $$shl198$i i32)
+ (local $$shl22 i32)
+ (local $$shl226$i$i i32)
+ (local $$shl265$i$i i32)
+ (local $$shl270$i$i i32)
+ (local $$shl279$i$i i32)
+ (local $$shl291$i i32)
+ (local $$shl294$i$i i32)
+ (local $$shl326$i$i i32)
+ (local $$shl333$i i32)
+ (local $$shl338$i i32)
+ (local $$shl347$i i32)
+ (local $$shl362$i i32)
+ (local $$shl37 i32)
+ (local $$shl39$i$i i32)
+ (local $$shl395$i i32)
+ (local $$shl60$i i32)
+ (local $$shl70$i$i i32)
+ (local $$shl75$i$i i32)
+ (local $$shl84$i$i i32)
+ (local $$shl9$i i32)
+ (local $$shl95$i$i i32)
+ (local $$shr101 i32)
+ (local $$shr11$i i32)
+ (local $$shr15$i i32)
+ (local $$shr194$i i32)
+ (local $$shr4$i i32)
+ (local $$shr47 i32)
+ (local $$shr51 i32)
+ (local $$shr55 i32)
+ (local $$shr59 i32)
+ (local $$shr7$i i32)
+ (local $$shr75$i i32)
+ (local $$shr79$i i32)
+ (local $$shr83$i i32)
+ (local $$shr87$i i32)
+ (local $$size$i$i i32)
+ (local $$size$i$i$lcssa i32)
+ (local $$size188$i i32)
+ (local $$size188$i$lcssa i32)
+ (local $$size245$i i32)
+ (local $$sizebits$0$shl52$i i32)
+ (local $$sp$0108$i$lcssa i32)
+ (local $$sub i32)
+ (local $$sub$i$181 i32)
+ (local $$sub$ptr$sub$i i32)
+ (local $$sub101$i i32)
+ (local $$sub112$i i32)
+ (local $$sub113$i$i i32)
+ (local $$sub16$i$i i32)
+ (local $$sub172$i i32)
+ (local $$sub190 i32)
+ (local $$sub2$i i32)
+ (local $$sub260$i i32)
+ (local $$sub30$i i32)
+ (local $$sub31$i i32)
+ (local $$sub31$rsize$0$i i32)
+ (local $$sub313$i$i i32)
+ (local $$sub381$i i32)
+ (local $$sub41$i i32)
+ (local $$sub42 i32)
+ (local $$sub44 i32)
+ (local $$sub63$i i32)
+ (local $$sub70$i i32)
(i32.load
(i32.const 8)
)
@@ -18265,123 +18265,123 @@
(local $$add$ptr16 i32)
(local $$add$ptr6 i32)
(local $$psize$1 i32)
- (local $$R332$3 i32)
(local $$R$3 i32)
+ (local $$R332$3 i32)
(local $$add17 i32)
(local $$psize$2 i32)
(local $$I534$0 i32)
- (local $$R332$1 i32)
- (local $$R$1 i32)
- (local $$5 i32)
(local $$35 i32)
- (local $$add267 i32)
- (local $$T$0 i32)
- (local $$9 i32)
- (local $$41 i32)
- (local $$4 i32)
- (local $$34 i32)
- (local $$28 i32)
+ (local $$5 i32)
+ (local $$R$1 i32)
+ (local $$R332$1 i32)
(local $$0 i32)
- (local $$arrayidx509 i32)
- (local $$add$ptr i32)
- (local $$RP360$1 i32)
- (local $$RP$1 i32)
+ (local $$28 i32)
+ (local $$34 i32)
+ (local $$4 i32)
+ (local $$41 i32)
+ (local $$9 i32)
+ (local $$T$0 i32)
+ (local $$add267 i32)
(local $$2 i32)
- (local $label i32)
- (local $$arrayidx567 i32)
- (local $$add258 i32)
- (local $$T$0$lcssa i32)
- (local $$K583$0 i32)
- (local $$F510$0 i32)
- (local $$59 i32)
- (local $$58 i32)
- (local $$42 i32)
- (local $$25 i32)
- (local $$24 i32)
+ (local $$RP$1 i32)
+ (local $$RP360$1 i32)
+ (local $$add$ptr i32)
+ (local $$arrayidx509 i32)
(local $$10 i32)
- (local $$sp$0$in$i i32)
- (local $$shr535 i32)
- (local $$shr501 i32)
- (local $$shr268 i32)
- (local $$shr i32)
- (local $$fd67$pre$phiZ2D i32)
- (local $$fd322$pre$phiZ2D i32)
- (local $$child361 i32)
- (local $$child i32)
- (local $$arrayidx599$lcssa i32)
- (local $$and5 i32)
- (local $$RP360$1$lcssa i32)
- (local $$RP$1$lcssa i32)
- (local $$71 i32)
- (local $$43 i32)
- (local $$11 i32)
- (local $$1 i32)
+ (local $$24 i32)
+ (local $$25 i32)
+ (local $$42 i32)
+ (local $$58 i32)
+ (local $$59 i32)
+ (local $$F510$0 i32)
+ (local $$K583$0 i32)
+ (local $$T$0$lcssa i32)
+ (local $$add258 i32)
+ (local $$arrayidx567 i32)
+ (local $label i32)
(local $$$pre$phiZ2D i32)
- (local $$sub589 i32)
- (local $$sp$0$i i32)
- (local $$shl600 i32)
- (local $$shl573 i32)
- (local $$shl560 i32)
- (local $$shl551 i32)
- (local $$shl546 i32)
- (local $$shl511 i32)
- (local $$next4$i i32)
- (local $$head231 i32)
- (local $$head209 i32)
- (local $$fd86 i32)
- (local $$fd620 i32)
- (local $$fd56 i32)
- (local $$fd347 i32)
- (local $$fd311 i32)
- (local $$dec i32)
- (local $$cond i32)
- (local $$cmp$i i32)
- (local $$child443 i32)
- (local $$child171 i32)
- (local $$bk82 i32)
- (local $$bk343 i32)
- (local $$arrayidx99 i32)
- (local $$arrayidx599 i32)
- (local $$arrayidx419 i32)
- (local $$arrayidx400 i32)
- (local $$arrayidx379 i32)
- (local $$arrayidx374 i32)
- (local $$arrayidx362 i32)
- (local $$arrayidx279 i32)
- (local $$arrayidx149 i32)
- (local $$arrayidx130 i32)
- (local $$arrayidx113 i32)
- (local $$arrayidx108 i32)
- (local $$arrayidx i32)
- (local $$and554 i32)
- (local $$and549 i32)
- (local $$and545 i32)
- (local $$and i32)
- (local $$add559 i32)
- (local $$add246 i32)
- (local $$T$0$lcssa319 i32)
- (local $$R332$1$lcssa i32)
- (local $$R$1$lcssa i32)
- (local $$72 i32)
- (local $$69 i32)
- (local $$67 i32)
- (local $$66 i32)
- (local $$64 i32)
- (local $$63 i32)
- (local $$62 i32)
- (local $$57 i32)
- (local $$52 i32)
- (local $$50 i32)
- (local $$49 i32)
- (local $$48 i32)
- (local $$47 i32)
- (local $$27 i32)
- (local $$23 i32)
- (local $$18 i32)
- (local $$17 i32)
- (local $$16 i32)
- (local $$15 i32)
+ (local $$1 i32)
+ (local $$11 i32)
+ (local $$43 i32)
+ (local $$71 i32)
+ (local $$RP$1$lcssa i32)
+ (local $$RP360$1$lcssa i32)
+ (local $$and5 i32)
+ (local $$arrayidx599$lcssa i32)
+ (local $$child i32)
+ (local $$child361 i32)
+ (local $$fd322$pre$phiZ2D i32)
+ (local $$fd67$pre$phiZ2D i32)
+ (local $$shr i32)
+ (local $$shr268 i32)
+ (local $$shr501 i32)
+ (local $$shr535 i32)
+ (local $$sp$0$in$i i32)
(local $$14 i32)
+ (local $$15 i32)
+ (local $$16 i32)
+ (local $$17 i32)
+ (local $$18 i32)
+ (local $$23 i32)
+ (local $$27 i32)
+ (local $$47 i32)
+ (local $$48 i32)
+ (local $$49 i32)
+ (local $$50 i32)
+ (local $$52 i32)
+ (local $$57 i32)
+ (local $$62 i32)
+ (local $$63 i32)
+ (local $$64 i32)
+ (local $$66 i32)
+ (local $$67 i32)
+ (local $$69 i32)
+ (local $$72 i32)
+ (local $$R$1$lcssa i32)
+ (local $$R332$1$lcssa i32)
+ (local $$T$0$lcssa319 i32)
+ (local $$add246 i32)
+ (local $$add559 i32)
+ (local $$and i32)
+ (local $$and545 i32)
+ (local $$and549 i32)
+ (local $$and554 i32)
+ (local $$arrayidx i32)
+ (local $$arrayidx108 i32)
+ (local $$arrayidx113 i32)
+ (local $$arrayidx130 i32)
+ (local $$arrayidx149 i32)
+ (local $$arrayidx279 i32)
+ (local $$arrayidx362 i32)
+ (local $$arrayidx374 i32)
+ (local $$arrayidx379 i32)
+ (local $$arrayidx400 i32)
+ (local $$arrayidx419 i32)
+ (local $$arrayidx599 i32)
+ (local $$arrayidx99 i32)
+ (local $$bk343 i32)
+ (local $$bk82 i32)
+ (local $$child171 i32)
+ (local $$child443 i32)
+ (local $$cmp$i i32)
+ (local $$cond i32)
+ (local $$dec i32)
+ (local $$fd311 i32)
+ (local $$fd347 i32)
+ (local $$fd56 i32)
+ (local $$fd620 i32)
+ (local $$fd86 i32)
+ (local $$head209 i32)
+ (local $$head231 i32)
+ (local $$next4$i i32)
+ (local $$shl511 i32)
+ (local $$shl546 i32)
+ (local $$shl551 i32)
+ (local $$shl560 i32)
+ (local $$shl573 i32)
+ (local $$shl600 i32)
+ (local $$sp$0$i i32)
+ (local $$sub589 i32)
(i32.load
(i32.const 8)
)
@@ -20900,11 +20900,11 @@
(func $___muldsi3 (param $$a i32) (param $$b i32) (result i32)
(local $$8 i32)
(local $$12 i32)
- (local $$6 i32)
- (local $$3 i32)
+ (local $$1 i32)
(local $$2 i32)
+ (local $$3 i32)
+ (local $$6 i32)
(local $$11 i32)
- (local $$1 i32)
(set_local $$8
(i32.add
(i32.shr_u
@@ -20995,12 +20995,12 @@
)
)
(func $___divdi3 (param $$a$0 i32) (param $$a$1 i32) (param $$b$0 i32) (param $$b$1 i32) (result i32)
- (local $$2$1 i32)
- (local $$2$0 i32)
- (local $$1$1 i32)
(local $$1$0 i32)
- (local $$7$1 i32)
+ (local $$1$1 i32)
+ (local $$2$0 i32)
+ (local $$2$1 i32)
(local $$7$0 i32)
+ (local $$7$1 i32)
(set_local $$1$0
(i32.or
(i32.shr_s
@@ -21151,14 +21151,14 @@
)
)
(func $___remdi3 (param $$a$0 i32) (param $$a$1 i32) (param $$b$0 i32) (param $$b$1 i32) (result i32)
- (local $$1$1 i32)
(local $$1$0 i32)
+ (local $$1$1 i32)
(local $$rem i32)
- (local $__stackBase__ i32)
- (local $$2$1 i32)
(local $$2$0 i32)
- (local $$10$1 i32)
+ (local $$2$1 i32)
+ (local $__stackBase__ i32)
(local $$10$0 i32)
+ (local $$10$1 i32)
(set_local $__stackBase__
(i32.load
(i32.const 8)
@@ -21337,10 +21337,10 @@
)
)
(func $___muldi3 (param $$a$0 i32) (param $$a$1 i32) (param $$b$0 i32) (param $$b$1 i32) (result i32)
- (local $$y_sroa_0_0_extract_trunc i32)
(local $$x_sroa_0_0_extract_trunc i32)
- (local $$1$1 i32)
+ (local $$y_sroa_0_0_extract_trunc i32)
(local $$1$0 i32)
+ (local $$1$1 i32)
(set_local $$1$0
(call $___muldsi3
(set_local $$x_sroa_0_0_extract_trunc
@@ -21401,8 +21401,8 @@
)
)
(func $___uremdi3 (param $$a$0 i32) (param $$a$1 i32) (param $$b$0 i32) (param $$b$1 i32) (result i32)
- (local $__stackBase__ i32)
(local $$rem i32)
+ (local $__stackBase__ i32)
(set_local $__stackBase__
(i32.load
(i32.const 8)
@@ -21444,17 +21444,17 @@
)
)
)
- (func $___udivmoddi4 (param $$a$0 i32) (param $$a$1 i32) (param $$b$0 i32) (param $$b$1 i32) (param $$rem i32) (result i32)
+ (func $___udivmoddi4 (param $xl i32) (param $xh i32) (param $yl i32) (param $yh i32) (param $r i32) (result i32)
(local $x64 i64)
(local $y64 i64)
(set_local $x64
(i64.or
(i64.extend_u/i32
- (get_local $$a$0)
+ (get_local $xl)
)
(i64.shl
(i64.extend_u/i32
- (get_local $$a$1)
+ (get_local $xh)
)
(i64.const 32)
)
@@ -21463,20 +21463,20 @@
(set_local $y64
(i64.or
(i64.extend_u/i32
- (get_local $$b$0)
+ (get_local $yl)
)
(i64.shl
(i64.extend_u/i32
- (get_local $$b$1)
+ (get_local $yh)
)
(i64.const 32)
)
)
)
(if
- (get_local $$rem)
+ (get_local $r)
(i64.store
- (get_local $$rem)
+ (get_local $r)
(i64.rem_u
(get_local $x64)
(get_local $y64)
diff --git a/test/emcc_hello_world.fromasm.imprecise b/test/emcc_hello_world.fromasm.imprecise
index 70fd86b33..231c877ce 100644
--- a/test/emcc_hello_world.fromasm.imprecise
+++ b/test/emcc_hello_world.fromasm.imprecise
@@ -291,13 +291,13 @@
)
(func $_frexp (param $$x f64) (param $$e i32) (result f64)
(local $$retval$0 f64)
- (local $$x$addr$0 f64)
(local $$storemerge i32)
- (local $$conv i32)
- (local $$call f64)
- (local $$2 i32)
- (local $$1 i32)
+ (local $$x$addr$0 f64)
(local $$0 i32)
+ (local $$1 i32)
+ (local $$2 i32)
+ (local $$call f64)
+ (local $$conv i32)
(i32.load
(i32.const 8)
)
@@ -448,15 +448,15 @@
(func $_strerror (param $$e i32) (result i32)
(local $label i32)
(local $$i$012 i32)
- (local $$s$1 i32)
- (local $$s$010 i32)
(local $$i$111 i32)
- (local $$s$0$lcssa i32)
- (local $$incdec$ptr$lcssa i32)
- (local $$incdec$ptr i32)
+ (local $$s$010 i32)
+ (local $$s$1 i32)
(local $$i$012$lcssa i32)
- (local $$inc i32)
+ (local $$incdec$ptr i32)
+ (local $$incdec$ptr$lcssa i32)
+ (local $$s$0$lcssa i32)
(local $$dec i32)
+ (local $$inc i32)
(i32.load
(i32.const 8)
)
@@ -644,8 +644,8 @@
)
(func $___stdio_close (param $$f i32) (result i32)
(local $sp i32)
- (local $$vararg_buffer i32)
(local $$call1 i32)
+ (local $$vararg_buffer i32)
(set_local $sp
(i32.load
(i32.const 8)
@@ -698,8 +698,8 @@
(func $___stdout_write (param $$f i32) (param $$buf i32) (param $$len i32) (result i32)
(local $$vararg_buffer i32)
(local $sp i32)
- (local $$tio i32)
(local $$call3 i32)
+ (local $$tio i32)
(set_local $sp
(i32.load
(i32.const 8)
@@ -798,8 +798,8 @@
(func $___stdio_seek (param $$f i32) (param $$off i32) (param $$whence i32) (result i32)
(local $$vararg_buffer i32)
(local $sp i32)
- (local $$ret i32)
(local $$1 i32)
+ (local $$ret i32)
(set_local $sp
(i32.load
(i32.const 8)
@@ -890,15 +890,15 @@
(func $_fflush (param $$f i32) (result i32)
(local $$f$addr$022 i32)
(local $$retval$0 i32)
- (local $$r$1 i32)
- (local $$r$021 i32)
(local $$cond10 i32)
- (local $$r$0$lcssa i32)
- (local $$cond19 i32)
+ (local $$r$021 i32)
+ (local $$r$1 i32)
(local $$call1 i32)
- (local $$phitmp i32)
- (local $$f$addr$0$19 i32)
+ (local $$cond19 i32)
+ (local $$r$0$lcssa i32)
(local $$f$addr$0 i32)
+ (local $$f$addr$0$19 i32)
+ (local $$phitmp i32)
(i32.load
(i32.const 8)
)
@@ -1088,8 +1088,8 @@
)
(func $_printf (param $$fmt i32) (param $$varargs i32) (result i32)
(local $sp i32)
- (local $$call i32)
(local $$ap i32)
+ (local $$call i32)
(set_local $sp
(i32.load
(i32.const 8)
@@ -1153,34 +1153,34 @@
(return)
)
(func $___stdio_write (param $$f i32) (param $$buf i32) (param $$len i32) (result i32)
- (local $$iov$0 i32)
(local $$cnt$0 i32)
+ (local $$iov$0 i32)
(local $$iovcnt$0 i32)
(local $$iov$1 i32)
(local $$wbase i32)
- (local $sp i32)
- (local $$vararg_buffer3 i32)
- (local $$vararg_buffer i32)
- (local $$iovs i32)
(local $$cnt$1 i32)
- (local $label i32)
- (local $$wpos i32)
- (local $$retval$0 i32)
- (local $$rem$0 i32)
- (local $$iovcnt$1 i32)
- (local $$14 i32)
+ (local $$iovs i32)
+ (local $$vararg_buffer i32)
+ (local $$vararg_buffer3 i32)
+ (local $sp i32)
(local $$10 i32)
- (local $$fd8 i32)
+ (local $$14 i32)
+ (local $$iovcnt$1 i32)
+ (local $$rem$0 i32)
+ (local $$retval$0 i32)
+ (local $$wpos i32)
+ (local $label i32)
(local $$buf31 i32)
- (local $$sub26 i32)
- (local $$sub$ptr$sub i32)
- (local $$iovcnt$0$lcssa58 i32)
- (local $$iov$0$lcssa57 i32)
- (local $$call7 i32)
- (local $$7 i32)
- (local $$5 i32)
- (local $$11 i32)
+ (local $$fd8 i32)
(local $$0 i32)
+ (local $$11 i32)
+ (local $$5 i32)
+ (local $$7 i32)
+ (local $$call7 i32)
+ (local $$iov$0$lcssa57 i32)
+ (local $$iovcnt$0$lcssa58 i32)
+ (local $$sub$ptr$sub i32)
+ (local $$sub26 i32)
(set_local $sp
(i32.load
(i32.const 8)
@@ -1591,27 +1591,27 @@
)
(func $_vfprintf (param $$f i32) (param $$fmt i32) (param $$ap i32) (result i32)
(local $sp i32)
- (local $$internal_buf i32)
(local $$ap2 i32)
- (local $dest i32)
- (local $$ret$1 i32)
- (local $$nl_type i32)
+ (local $$internal_buf i32)
(local $$nl_arg i32)
- (local $$wpos i32)
- (local $$retval$0 i32)
- (local $$cond i32)
- (local $$call21 i32)
- (local $$buf_size i32)
- (local $$buf i32)
+ (local $$nl_type i32)
+ (local $$ret$1 i32)
+ (local $dest i32)
(local $$4 i32)
- (local $stop i32)
- (local $$wend i32)
- (local $$wbase i32)
- (local $$ret$1$ i32)
- (local $$and i32)
- (local $$7 i32)
- (local $$1 i32)
+ (local $$buf i32)
+ (local $$buf_size i32)
+ (local $$call21 i32)
+ (local $$cond i32)
+ (local $$retval$0 i32)
+ (local $$wpos i32)
(local $$$call21 i32)
+ (local $$1 i32)
+ (local $$7 i32)
+ (local $$and i32)
+ (local $$ret$1$ i32)
+ (local $$wbase i32)
+ (local $$wend i32)
+ (local $stop i32)
(set_local $sp
(i32.load
(i32.const 8)
@@ -1942,20 +1942,20 @@
(func $___fwritex (param $$s i32) (param $$l i32) (param $$f i32) (result i32)
(local $$i$0$lcssa36 i32)
(local $$l$addr$0 i32)
- (local $$retval$0 i32)
(local $$i$0 i32)
- (local $$wpos i32)
- (local $$s$addr$0 i32)
- (local $$i$1 i32)
+ (local $$retval$0 i32)
(local $$9 i32)
- (local $label i32)
- (local $$4 i32)
+ (local $$i$1 i32)
+ (local $$s$addr$0 i32)
+ (local $$wpos i32)
(local $$3 i32)
- (local $$wend i32)
- (local $$sub i32)
- (local $$cmp i32)
- (local $$2 i32)
+ (local $$4 i32)
+ (local $label i32)
(local $$0 i32)
+ (local $$2 i32)
+ (local $$cmp i32)
+ (local $$sub i32)
+ (local $$wend i32)
(i32.load
(i32.const 8)
)
@@ -2216,12 +2216,12 @@
)
)
(func $___towrite (param $$f i32) (result i32)
- (local $$retval$0 i32)
(local $$2 i32)
- (local $$mode i32)
- (local $$conv3 i32)
- (local $$conv i32)
+ (local $$retval$0 i32)
(local $$1 i32)
+ (local $$conv i32)
+ (local $$conv3 i32)
+ (local $$mode i32)
(i32.load
(i32.const 8)
)
@@ -2571,37 +2571,37 @@
)
(func $_memchr (param $$src i32) (param $$c i32) (param $$n i32) (result i32)
(local $label i32)
- (local $$s$2 i32)
- (local $$s$128 i32)
- (local $$s$0$lcssa60 i32)
- (local $$n$addr$3 i32)
(local $$n$addr$0$lcssa61 i32)
- (local $$w$034 i32)
- (local $$s$044 i32)
+ (local $$n$addr$3 i32)
+ (local $$s$0$lcssa60 i32)
+ (local $$s$128 i32)
+ (local $$s$2 i32)
(local $$n$addr$227 i32)
- (local $$w$0$lcssa i32)
- (local $$s$0$lcssa i32)
- (local $$n$addr$133 i32)
- (local $$n$addr$1$lcssa i32)
+ (local $$s$044 i32)
+ (local $$w$034 i32)
(local $$n$addr$043 i32)
- (local $$tobool2$lcssa i32)
- (local $$sub22 i32)
- (local $$n$addr$0$lcssa i32)
- (local $$incdec$ptr33 i32)
- (local $$incdec$ptr21 i32)
- (local $$incdec$ptr i32)
+ (local $$n$addr$1$lcssa i32)
+ (local $$n$addr$133 i32)
+ (local $$s$0$lcssa i32)
+ (local $$w$0$lcssa i32)
(local $$dec i32)
- (local $$xor i32)
- (local $$w$034$lcssa i32)
- (local $$tobool2$41 i32)
- (local $$tobool2 i32)
- (local $$sub i32)
- (local $$n$addr$133$lcssa i32)
- (local $$mul i32)
- (local $$dec34 i32)
- (local $$conv1 i32)
- (local $$5 i32)
+ (local $$incdec$ptr i32)
+ (local $$incdec$ptr21 i32)
+ (local $$incdec$ptr33 i32)
+ (local $$n$addr$0$lcssa i32)
+ (local $$sub22 i32)
+ (local $$tobool2$lcssa i32)
(local $$1 i32)
+ (local $$5 i32)
+ (local $$conv1 i32)
+ (local $$dec34 i32)
+ (local $$mul i32)
+ (local $$n$addr$133$lcssa i32)
+ (local $$sub i32)
+ (local $$tobool2 i32)
+ (local $$tobool2$41 i32)
+ (local $$w$034$lcssa i32)
+ (local $$xor i32)
(i32.load
(i32.const 8)
)
@@ -3069,14 +3069,14 @@
)
)
(func $___fflush_unlocked (param $$f i32) (result i32)
- (local $label i32)
- (local $$wpos i32)
(local $$retval$0 i32)
- (local $$wbase i32)
- (local $$rpos i32)
- (local $$rend i32)
- (local $$5 i32)
+ (local $$wpos i32)
+ (local $label i32)
(local $$4 i32)
+ (local $$5 i32)
+ (local $$rend i32)
+ (local $$rpos i32)
+ (local $$wbase i32)
(i32.load
(i32.const 8)
)
@@ -3229,476 +3229,476 @@
(func $_printf_core (param $$f i32) (param $$fmt i32) (param $$ap i32) (param $$nl_arg i32) (param $$nl_type i32) (result i32)
(local $label i32)
(local $$p$0 i32)
- (local $$w$1 i32)
(local $$cnt$1 i32)
+ (local $$w$1 i32)
(local $$fl$1$and219 i32)
(local $$arg i32)
(local $$incdec$ptr169275 i32)
- (local $$l10n$3 i32)
- (local $$l10n$0 i32)
(local $$cnt$0 i32)
+ (local $$l10n$0 i32)
+ (local $$l10n$3 i32)
(local $$l$0 i32)
(local $$retval$0 i32)
(local $$e2$i i32)
(local $$incdec$ptr169$lcssa i32)
- (local $$sub$ptr$sub i32)
- (local $$p$addr$3$i i32)
(local $$e$5$ph$i i32)
- (local $$incdec$ptr169269 i32)
- (local $$buf$i i32)
+ (local $$p$addr$3$i i32)
+ (local $$sub$ptr$sub i32)
(local $$add$ptr205 i32)
- (local $sp i32)
- (local $$t$0 i32)
- (local $$p$2 i32)
- (local $$i$0$lcssa i32)
- (local $$a$3539$i i32)
+ (local $$buf$i i32)
+ (local $$incdec$ptr169269 i32)
(local $$a$3$lcssa$i i32)
- (local $$arraydecay208$add$ptr213$i i32)
+ (local $$a$3539$i i32)
+ (local $$i$0$lcssa i32)
+ (local $$p$2 i32)
+ (local $$t$0 i32)
+ (local $sp i32)
(local $$add$ptr358$i i32)
- (local $$z$3538$i i32)
- (local $$z$3$lcssa$i i32)
- (local $$storemerge$186282 i32)
- (local $$prefix$1 i32)
- (local $$prefix$0$i i32)
- (local $$pl$1 i32)
- (local $$pl$0$i i32)
- (local $$i$0$lcssa368 i32)
- (local $$fl$6 i32)
- (local $$fl$4 i32)
- (local $$fl$1 i32)
- (local $$fl$0284 i32)
- (local $$a$9$ph$i i32)
+ (local $$arraydecay208$add$ptr213$i i32)
(local $$a$0 i32)
- (local $$z$7$i$lcssa i32)
- (local $$y$addr$0$i f64)
- (local $$sub$ptr$lhs$cast160$i i32)
- (local $$s753$2$i i32)
- (local $$s753$0$i i32)
- (local $$pl$2 i32)
- (local $$p$addr$2$i i32)
- (local $$p$5 i32)
- (local $$incdec$ptr169276$lcssa i32)
- (local $$incdec$ptr169274 i32)
- (local $$incdec$ptr169272 i32)
- (local $$e$1$i i32)
- (local $$a$2 i32)
+ (local $$a$9$ph$i i32)
+ (local $$fl$0284 i32)
+ (local $$fl$1 i32)
+ (local $$fl$4 i32)
+ (local $$fl$6 i32)
+ (local $$i$0$lcssa368 i32)
+ (local $$pl$0$i i32)
+ (local $$pl$1 i32)
+ (local $$prefix$0$i i32)
+ (local $$prefix$1 i32)
+ (local $$storemerge$186282 i32)
+ (local $$z$3$lcssa$i i32)
+ (local $$z$3538$i i32)
(local $$a$1549$i i32)
- (local $$z$7$i i32)
- (local $$z$2$i i32)
- (local $$z$2 i32)
- (local $$tobool25 i32)
- (local $$t$addr$1$i i32)
- (local $$t$addr$0$i i32)
- (local $$s668$1$i i32)
- (local $$prefix$2 i32)
- (local $$p$addr$5501$i i32)
- (local $$p$addr$4489$i i32)
- (local $$mul$i$240 f64)
- (local $$j$2$i i32)
- (local $$incdec$ptr292$a$3573$i i32)
- (local $$i$2299 i32)
- (local $$i$1$lcssa$i i32)
- (local $$i$0316 i32)
- (local $$fl$3 i32)
- (local $$call384 i32)
- (local $$and610$pre$phi$iZ2D i32)
- (local $$add165$i i32)
- (local $$add$ptr671$i i32)
- (local $$a$5$lcssa$i i32)
- (local $$a$2$ph$i i32)
- (local $$a$1 i32)
- (local $$249 i32)
+ (local $$a$2 i32)
+ (local $$e$1$i i32)
+ (local $$incdec$ptr169272 i32)
+ (local $$incdec$ptr169274 i32)
+ (local $$incdec$ptr169276$lcssa i32)
+ (local $$p$5 i32)
+ (local $$p$addr$2$i i32)
+ (local $$pl$2 i32)
+ (local $$s753$0$i i32)
+ (local $$s753$2$i i32)
+ (local $$sub$ptr$lhs$cast160$i i32)
+ (local $$y$addr$0$i f64)
+ (local $$z$7$i$lcssa i32)
(local $$$p$i i32)
- (local $$z$4$i i32)
- (local $$z$0$lcssa i32)
- (local $$w$2 i32)
- (local $$w$0 i32)
- (local $$sub$ptr$rhs$cast345$i i32)
- (local $$small$0$i f64)
- (local $$s$addr$0$lcssa$i$229 i32)
- (local $$s$1$i i32)
- (local $$s$0$i i32)
- (local $$round377$1$i f64)
- (local $$prefix$0 i32)
- (local $$pl$0 i32)
- (local $$p$1 i32)
- (local $$mul80$i$lcssa f64)
- (local $$l10n$1 i32)
- (local $$incdec$ptr689$i i32)
- (local $$incdec$ptr419$i i32)
- (local $$incdec$ptr169276301 i32)
- (local $$incdec$ptr169271 i32)
- (local $$incdec$ptr115$i i32)
- (local $$e$4$i i32)
- (local $$d$7500$i i32)
- (local $$d$5494$i i32)
- (local $$d$4$i i32)
- (local $$d$1534$i i32)
- (local $$d$0545$i i32)
- (local $$cond271$i i32)
- (local $$arrayidx$i$236 i32)
- (local $$argpos$0 i32)
- (local $$and219 i32)
- (local $$add653$i i32)
- (local $$add441 i32)
- (local $$a$8$i i32)
- (local $$a$5521$i i32)
- (local $$7 i32)
- (local $$181 f64)
- (local $$149 i32)
- (local $$148 i32)
+ (local $$249 i32)
+ (local $$a$1 i32)
+ (local $$a$2$ph$i i32)
+ (local $$a$5$lcssa$i i32)
+ (local $$add$ptr671$i i32)
+ (local $$add165$i i32)
+ (local $$and610$pre$phi$iZ2D i32)
+ (local $$call384 i32)
+ (local $$fl$3 i32)
+ (local $$i$0316 i32)
+ (local $$i$1$lcssa$i i32)
+ (local $$i$2299 i32)
+ (local $$incdec$ptr292$a$3573$i i32)
+ (local $$j$2$i i32)
+ (local $$mul$i$240 f64)
+ (local $$p$addr$4489$i i32)
+ (local $$p$addr$5501$i i32)
+ (local $$prefix$2 i32)
+ (local $$s668$1$i i32)
+ (local $$t$addr$0$i i32)
+ (local $$t$addr$1$i i32)
+ (local $$tobool25 i32)
+ (local $$z$2 i32)
+ (local $$z$2$i i32)
+ (local $$z$7$i i32)
(local $$12 i32)
- (local $$z$2$i$lcssa i32)
- (local $$z$1548$i i32)
- (local $$z$1$lcssa$i i32)
- (local $$z$0302 i32)
- (local $$z$0$i i32)
- (local $$y$addr$4$i f64)
- (local $$y$addr$2$i f64)
- (local $$y$addr$1$i f64)
- (local $$ws$1326 i32)
- (local $$ws$0317 i32)
- (local $$t$1 i32)
- (local $$sub256$i i32)
- (local $$sub$ptr$sub789$i i32)
- (local $$sub$ptr$sub433 i32)
- (local $$sub$ptr$rhs$cast$i i32)
- (local $$storemerge$191 i32)
- (local $$storemerge$186309 i32)
- (local $$storemerge i32)
- (local $$st$0 i32)
- (local $$small$1$i f64)
- (local $$retval$0$i i32)
- (local $$rem370$i i32)
- (local $$p$4365 i32)
- (local $$or$i$241 i32)
- (local $$mul125$i f64)
- (local $$mb i32)
- (local $$l10n$2 i32)
- (local $$l$2 i32)
- (local $$incdec$ptr776$i i32)
- (local $$incdec$ptr773$i i32)
- (local $$incdec$ptr725$i i32)
- (local $$incdec$ptr681$i i32)
- (local $$incdec$ptr639$i i32)
- (local $$incdec$ptr122$i i32)
- (local $$i$3296 i32)
- (local $$fl$0310 i32)
- (local $$estr$2$i i32)
- (local $$estr$1$lcssa$i i32)
- (local $$estr$0$i i32)
- (local $$d$6488$i i32)
- (local $$d$2520$i i32)
- (local $$d$2$lcssa$i i32)
- (local $$cmp450$lcssa$i i32)
- (local $$arrayidx68 i32)
- (local $$arrayidx119 i32)
- (local $$add$i$239 i32)
- (local $$a$6$i i32)
- (local $$a$1$lcssa$i i32)
- (local $$99 i32)
- (local $$9 i32)
- (local $$211 i32)
- (local $$198 i32)
- (local $$140 i32)
- (local $$137 i32)
- (local $$126 i32)
- (local $$$pr477$i i32)
+ (local $$148 i32)
+ (local $$149 i32)
+ (local $$181 f64)
+ (local $$7 i32)
+ (local $$a$5521$i i32)
+ (local $$a$8$i i32)
+ (local $$add441 i32)
+ (local $$add653$i i32)
+ (local $$and219 i32)
+ (local $$argpos$0 i32)
+ (local $$arrayidx$i$236 i32)
+ (local $$cond271$i i32)
+ (local $$d$0545$i i32)
+ (local $$d$1534$i i32)
+ (local $$d$4$i i32)
+ (local $$d$5494$i i32)
+ (local $$d$7500$i i32)
+ (local $$e$4$i i32)
+ (local $$incdec$ptr115$i i32)
+ (local $$incdec$ptr169271 i32)
+ (local $$incdec$ptr169276301 i32)
+ (local $$incdec$ptr419$i i32)
+ (local $$incdec$ptr689$i i32)
+ (local $$l10n$1 i32)
+ (local $$mul80$i$lcssa f64)
+ (local $$p$1 i32)
+ (local $$pl$0 i32)
+ (local $$prefix$0 i32)
+ (local $$round377$1$i f64)
+ (local $$s$0$i i32)
+ (local $$s$1$i i32)
+ (local $$s$addr$0$lcssa$i$229 i32)
+ (local $$small$0$i f64)
+ (local $$sub$ptr$rhs$cast345$i i32)
+ (local $$w$0 i32)
+ (local $$w$2 i32)
+ (local $$z$0$lcssa i32)
+ (local $$z$4$i i32)
(local $$$396$i f64)
- (local $$z$7$ph$i i32)
- (local $$y$addr$3$i f64)
- (local $$wc i32)
- (local $$tobool357 i32)
- (local $$sub806$i i32)
- (local $$sub735$i i32)
- (local $$sub$ptr$sub650$pn$i i32)
- (local $$sub$ptr$sub433$p$5 i32)
- (local $$sub$ptr$sub172$i i32)
- (local $$sub$ptr$lhs$cast694$i i32)
- (local $$sub$ptr$lhs$cast317 i32)
- (local $$st$0$lcssa415 i32)
- (local $$s753$1496$i i32)
- (local $$s715$0484$i i32)
- (local $$s715$0$lcssa$i i32)
- (local $$s668$0492$i i32)
- (local $$s$addr$06$i$221 i32)
- (local $$s$addr$06$i i32)
- (local $$round$0481$i f64)
- (local $$re$1482$i i32)
- (local $$prefix$0$add$ptr65$i i32)
- (local $$pl$1$i i32)
- (local $$p$addr$5$lcssa$i i32)
- (local $$p$addr$4$lcssa$i i32)
- (local $$or i32)
- (local $$mul80$i f64)
- (local $$mul513$i i32)
- (local $$mul431$i i32)
- (local $$mul367$i i32)
- (local $$mul322$i i32)
- (local $$mul286$i$lcssa i32)
- (local $$mul286$i i32)
- (local $$l$1315 i32)
- (local $$j$1513$i i32)
- (local $$j$0527$i i32)
- (local $$isdigittmp8$i$200 i32)
- (local $$isdigittmp8$i i32)
- (local $$incdec$ptr698$i$lcssa i32)
- (local $$incdec$ptr698$i i32)
- (local $$incdec$ptr647$i i32)
- (local $$incdec$ptr62 i32)
- (local $$incdec$ptr292$a$3$i i32)
- (local $$incdec$ptr23 i32)
- (local $$incdec$ptr217$i$lcssa i32)
- (local $$incdec$ptr217$i i32)
- (local $$incdec$ptr169 i32)
- (local $$incdec$ptr106$i i32)
- (local $$incdec$ptr$i$225 i32)
- (local $$incdec$ptr$i$212$lcssa i32)
- (local $$incdec$ptr$i$212 i32)
- (local $$incdec$ptr$i$204 i32)
- (local $$incdec$ptr$i i32)
- (local $$inc500$i i32)
- (local $$inc488 i32)
- (local $$inc438$i i32)
- (local $$inc$i i32)
- (local $$i$3512$i i32)
- (local $$i$2516$i i32)
- (local $$i$2299$lcssa i32)
- (local $$i$1526$i i32)
- (local $$i$1325 i32)
- (local $$i$07$i$201 i32)
- (local $$i$07$i i32)
- (local $$i$0530$i i32)
- (local $$estr$1507$i i32)
- (local $$e$2517$i i32)
- (local $$e$0531$i i32)
- (local $$conv48311 i32)
- (local $$conv242$i$lcssa i32)
- (local $$conv207 i32)
- (local $$conv174$lcssa i32)
- (local $$conv174 i32)
- (local $$cond233$i i32)
- (local $$cmp38$i i32)
- (local $$cmp37 i32)
- (local $$cmp184 i32)
- (local $$carry262$0535$i i32)
- (local $$carry$0544$i i32)
- (local $$call356 i32)
- (local $$arrayidx31 i32)
- (local $$arrayidx114 i32)
- (local $$and309$fl$4 i32)
- (local $$add67$i i32)
- (local $$add412 i32)
- (local $$add395 i32)
- (local $$add313$i i32)
- (local $$add275$i i32)
- (local $$add$ptr43$arrayidx31 i32)
- (local $$add$ptr340 i32)
- (local $$add$ptr311$z$4$i i32)
- (local $$add$ptr i32)
- (local $$add$i$lcssa i32)
- (local $$add$i$203 i32)
- (local $$add$i i32)
- (local $$49 i32)
- (local $$29 i32)
- (local $$255 i32)
- (local $$243 i32)
- (local $$237 i32)
- (local $$231 i32)
- (local $$223 i32)
- (local $$219 i32)
- (local $$210 i32)
- (local $$194 i32)
- (local $$143 i32)
- (local $$142 i32)
- (local $$129 i32)
- (local $$101 i32)
- (local $$10 i32)
- (local $$1 i32)
- (local $$$sub562$i i32)
- (local $$$sub514$i i32)
- (local $$$pre566$i i32)
- (local $$$pr$i i32)
- (local $$$p$inc468$i i32)
+ (local $$$pr477$i i32)
+ (local $$126 i32)
+ (local $$137 i32)
+ (local $$140 i32)
+ (local $$198 i32)
+ (local $$211 i32)
+ (local $$9 i32)
+ (local $$99 i32)
+ (local $$a$1$lcssa$i i32)
+ (local $$a$6$i i32)
+ (local $$add$i$239 i32)
+ (local $$arrayidx119 i32)
+ (local $$arrayidx68 i32)
+ (local $$cmp450$lcssa$i i32)
+ (local $$d$2$lcssa$i i32)
+ (local $$d$2520$i i32)
+ (local $$d$6488$i i32)
+ (local $$estr$0$i i32)
+ (local $$estr$1$lcssa$i i32)
+ (local $$estr$2$i i32)
+ (local $$fl$0310 i32)
+ (local $$i$3296 i32)
+ (local $$incdec$ptr122$i i32)
+ (local $$incdec$ptr639$i i32)
+ (local $$incdec$ptr681$i i32)
+ (local $$incdec$ptr725$i i32)
+ (local $$incdec$ptr773$i i32)
+ (local $$incdec$ptr776$i i32)
+ (local $$l$2 i32)
+ (local $$l10n$2 i32)
+ (local $$mb i32)
+ (local $$mul125$i f64)
+ (local $$or$i$241 i32)
+ (local $$p$4365 i32)
+ (local $$rem370$i i32)
+ (local $$retval$0$i i32)
+ (local $$small$1$i f64)
+ (local $$st$0 i32)
+ (local $$storemerge i32)
+ (local $$storemerge$186309 i32)
+ (local $$storemerge$191 i32)
+ (local $$sub$ptr$rhs$cast$i i32)
+ (local $$sub$ptr$sub433 i32)
+ (local $$sub$ptr$sub789$i i32)
+ (local $$sub256$i i32)
+ (local $$t$1 i32)
+ (local $$ws$0317 i32)
+ (local $$ws$1326 i32)
+ (local $$y$addr$1$i f64)
+ (local $$y$addr$2$i f64)
+ (local $$y$addr$4$i f64)
+ (local $$z$0$i i32)
+ (local $$z$0302 i32)
+ (local $$z$1$lcssa$i i32)
+ (local $$z$1548$i i32)
+ (local $$z$2$i$lcssa i32)
(local $$$lcssa i32)
- (local $$z$7$add$ptr742$i i32)
- (local $$z$1 i32)
- (local $$tobool781$i i32)
- (local $$tobool56$i i32)
- (local $$tobool37$i i32)
- (local $$tobool341$i i32)
- (local $$tobool135$i i32)
- (local $$sub97$i i32)
- (local $$sub74$i i32)
- (local $$sub626$le$i i32)
- (local $$sub562$i i32)
- (local $$sub514$i i32)
- (local $$sub409$i i32)
- (local $$sub343$i i32)
- (local $$sub281$i i32)
- (local $$sub264$i i32)
- (local $$sub203$i i32)
- (local $$sub164 i32)
- (local $$sub$ptr$sub363 i32)
- (local $$sub$ptr$sub175$i i32)
- (local $$sub$ptr$sub159$i i32)
- (local $$sub$ptr$sub153$i i32)
- (local $$sub$ptr$sub145$i i32)
- (local $$shr285$i i32)
- (local $$s35$0$i i32)
- (local $$s$1$i$lcssa i32)
- (local $$r$0$a$9$i i32)
- (local $$p$addr$2$$sub562399$i i32)
- (local $$p$addr$2$$sub514398$i i32)
- (local $$p$3 i32)
- (local $$p$2$add322 i32)
- (local $$or$cond384 i32)
- (local $$or$cond192 i32)
- (local $$notrhs$i i32)
- (local $$mul499$i i32)
- (local $$mul437$i i32)
- (local $$mul335$i i32)
- (local $$mul328$i i32)
- (local $$mul220$i f64)
- (local $$lor$ext$i i32)
- (local $$l10n$0$lcssa i32)
- (local $$l$0$i i32)
- (local $$j$0$i i32)
- (local $$j$0$524$i i32)
- (local $$isdigittmp189 i32)
- (local $$isdigittmp187 i32)
- (local $$isdigittmp$i$206 i32)
- (local $$isdigittmp$i i32)
- (local $$isdigittmp$5$i$198 i32)
- (local $$isdigittmp$5$i i32)
- (local $$isdigittmp$ i32)
- (local $$isdigittmp i32)
- (local $$incdec$ptr808$i i32)
- (local $$incdec$ptr734$i i32)
- (local $$incdec$ptr423$i i32)
- (local $$incdec$ptr410 i32)
- (local $$incdec$ptr383 i32)
- (local $$incdec$ptr292$i i32)
- (local $$incdec$ptr292$570$i i32)
- (local $$incdec$ptr288$i i32)
- (local $$incdec$ptr246$i i32)
- (local $$incdec$ptr169271$lcssa414 i32)
- (local $$incdec$ptr$i$lcssa i32)
- (local $$incdec$ptr i32)
- (local $$inc425$i i32)
- (local $$inc i32)
- (local $$ebuf0$i i32)
- (local $$div384$i i32)
- (local $$dec78$i i32)
- (local $$d$0$i i32)
- (local $$d$0$542$i i32)
- (local $$conv48$307 i32)
- (local $$conv48 i32)
- (local $$conv216$i i32)
- (local $$conv116$i i32)
- (local $$cond800$i i32)
- (local $$cond732$i i32)
- (local $$cond629$i i32)
- (local $$cond43$i i32)
- (local $$cond426 i32)
- (local $$cond304$i i32)
- (local $$cond245 i32)
- (local $$cond100$i i32)
- (local $$cond$i i32)
- (local $$cnt$1$lcssa i32)
- (local $$cmp94$i i32)
- (local $$cmp614$i i32)
- (local $$cmp374$i i32)
- (local $$cmp338$i i32)
- (local $$cmp299$i i32)
- (local $$call411 i32)
- (local $$buf i32)
- (local $$big$i i32)
- (local $$arrayidx453$i i32)
- (local $$arrayidx370 i32)
- (local $$arrayidx251$i i32)
- (local $$and62$i i32)
- (local $$and483$i i32)
- (local $$and309 i32)
- (local $$and294 i32)
- (local $$and282$i i32)
- (local $$and249 i32)
- (local $$and214 i32)
- (local $$and12$i i32)
- (local $$add620$i i32)
- (local $$add414$i i32)
- (local $$add355$i i32)
- (local $$add322 i32)
- (local $$add269$p$0 i32)
- (local $$add269 i32)
- (local $$add163$i i32)
- (local $$add154$i i32)
- (local $$add$ptr742$i i32)
- (local $$add$ptr65$i i32)
- (local $$add$ptr442$z$3$i i32)
- (local $$add$ptr442$i i32)
- (local $$add$ptr43 i32)
- (local $$add$ptr359 i32)
- (local $$add$ptr311$i i32)
- (local $$add$ptr213$i i32)
- (local $$95 i32)
- (local $$92 i32)
- (local $$90 i32)
- (local $$86 i32)
- (local $$76 i32)
- (local $$65 i32)
- (local $$60 i32)
- (local $$59 i32)
- (local $$56 i32)
- (local $$54 i32)
- (local $$52 i32)
- (local $$5 i32)
- (local $$48 i32)
- (local $$47 i32)
- (local $$38 i32)
- (local $$36 i32)
- (local $$32 i32)
- (local $$28 i32)
- (local $$27 i32)
- (local $$267 i32)
- (local $$259 i32)
- (local $$242 i32)
- (local $$239 i32)
- (local $$234 i32)
- (local $$228 i32)
- (local $$225 i32)
- (local $$217 i32)
- (local $$216 i32)
- (local $$215 i32)
- (local $$201 i32)
- (local $$200 i32)
- (local $$193 i32)
- (local $$187 i32)
- (local $$18 i32)
- (local $$179 i32)
- (local $$177 i32)
- (local $$172 i32)
- (local $$170 i32)
- (local $$169 i32)
- (local $$163 i32)
- (local $$161 i32)
- (local $$16 i32)
- (local $$159 i32)
- (local $$151 i32)
- (local $$144 i32)
- (local $$135 i32)
- (local $$131 i32)
- (local $$130 i32)
- (local $$121 i32)
- (local $$118 i32)
- (local $$116 i32)
- (local $$107 i32)
- (local $$103 i32)
- (local $$102 i32)
- (local $$0 i32)
- (local $$$l10n$0 i32)
- (local $$$$i i32)
+ (local $$$p$inc468$i i32)
+ (local $$$pr$i i32)
+ (local $$$pre566$i i32)
+ (local $$$sub514$i i32)
+ (local $$$sub562$i i32)
+ (local $$1 i32)
+ (local $$10 i32)
+ (local $$101 i32)
+ (local $$129 i32)
+ (local $$142 i32)
+ (local $$143 i32)
+ (local $$194 i32)
+ (local $$210 i32)
+ (local $$219 i32)
+ (local $$223 i32)
+ (local $$231 i32)
+ (local $$237 i32)
+ (local $$243 i32)
+ (local $$255 i32)
+ (local $$29 i32)
+ (local $$49 i32)
+ (local $$add$i i32)
+ (local $$add$i$203 i32)
+ (local $$add$i$lcssa i32)
+ (local $$add$ptr i32)
+ (local $$add$ptr311$z$4$i i32)
+ (local $$add$ptr340 i32)
+ (local $$add$ptr43$arrayidx31 i32)
+ (local $$add275$i i32)
+ (local $$add313$i i32)
+ (local $$add395 i32)
+ (local $$add412 i32)
+ (local $$add67$i i32)
+ (local $$and309$fl$4 i32)
+ (local $$arrayidx114 i32)
+ (local $$arrayidx31 i32)
+ (local $$call356 i32)
+ (local $$carry$0544$i i32)
+ (local $$carry262$0535$i i32)
+ (local $$cmp184 i32)
+ (local $$cmp37 i32)
+ (local $$cmp38$i i32)
+ (local $$cond233$i i32)
+ (local $$conv174 i32)
+ (local $$conv174$lcssa i32)
+ (local $$conv207 i32)
+ (local $$conv242$i$lcssa i32)
+ (local $$conv48311 i32)
+ (local $$e$0531$i i32)
+ (local $$e$2517$i i32)
+ (local $$estr$1507$i i32)
+ (local $$i$0530$i i32)
+ (local $$i$07$i i32)
+ (local $$i$07$i$201 i32)
+ (local $$i$1325 i32)
+ (local $$i$1526$i i32)
+ (local $$i$2299$lcssa i32)
+ (local $$i$2516$i i32)
+ (local $$i$3512$i i32)
+ (local $$inc$i i32)
+ (local $$inc438$i i32)
+ (local $$inc488 i32)
+ (local $$inc500$i i32)
+ (local $$incdec$ptr$i i32)
+ (local $$incdec$ptr$i$204 i32)
+ (local $$incdec$ptr$i$212 i32)
+ (local $$incdec$ptr$i$212$lcssa i32)
+ (local $$incdec$ptr$i$225 i32)
+ (local $$incdec$ptr106$i i32)
+ (local $$incdec$ptr169 i32)
+ (local $$incdec$ptr217$i i32)
+ (local $$incdec$ptr217$i$lcssa i32)
+ (local $$incdec$ptr23 i32)
+ (local $$incdec$ptr292$a$3$i i32)
+ (local $$incdec$ptr62 i32)
+ (local $$incdec$ptr647$i i32)
+ (local $$incdec$ptr698$i i32)
+ (local $$incdec$ptr698$i$lcssa i32)
+ (local $$isdigittmp8$i i32)
+ (local $$isdigittmp8$i$200 i32)
+ (local $$j$0527$i i32)
+ (local $$j$1513$i i32)
+ (local $$l$1315 i32)
+ (local $$mul286$i i32)
+ (local $$mul286$i$lcssa i32)
+ (local $$mul322$i i32)
+ (local $$mul367$i i32)
+ (local $$mul431$i i32)
+ (local $$mul513$i i32)
+ (local $$mul80$i f64)
+ (local $$or i32)
+ (local $$p$addr$4$lcssa$i i32)
+ (local $$p$addr$5$lcssa$i i32)
+ (local $$pl$1$i i32)
+ (local $$prefix$0$add$ptr65$i i32)
+ (local $$re$1482$i i32)
+ (local $$round$0481$i f64)
+ (local $$s$addr$06$i i32)
+ (local $$s$addr$06$i$221 i32)
+ (local $$s668$0492$i i32)
+ (local $$s715$0$lcssa$i i32)
+ (local $$s715$0484$i i32)
+ (local $$s753$1496$i i32)
+ (local $$st$0$lcssa415 i32)
+ (local $$sub$ptr$lhs$cast317 i32)
+ (local $$sub$ptr$lhs$cast694$i i32)
+ (local $$sub$ptr$sub172$i i32)
+ (local $$sub$ptr$sub433$p$5 i32)
+ (local $$sub$ptr$sub650$pn$i i32)
+ (local $$sub735$i i32)
+ (local $$sub806$i i32)
+ (local $$tobool357 i32)
+ (local $$wc i32)
+ (local $$y$addr$3$i f64)
+ (local $$z$7$ph$i i32)
(local $$$ i32)
+ (local $$$$i i32)
+ (local $$$l10n$0 i32)
+ (local $$0 i32)
+ (local $$102 i32)
+ (local $$103 i32)
+ (local $$107 i32)
+ (local $$116 i32)
+ (local $$118 i32)
+ (local $$121 i32)
+ (local $$130 i32)
+ (local $$131 i32)
+ (local $$135 i32)
+ (local $$144 i32)
+ (local $$151 i32)
+ (local $$159 i32)
+ (local $$16 i32)
+ (local $$161 i32)
+ (local $$163 i32)
+ (local $$169 i32)
+ (local $$170 i32)
+ (local $$172 i32)
+ (local $$177 i32)
+ (local $$179 i32)
+ (local $$18 i32)
+ (local $$187 i32)
+ (local $$193 i32)
+ (local $$200 i32)
+ (local $$201 i32)
+ (local $$215 i32)
+ (local $$216 i32)
+ (local $$217 i32)
+ (local $$225 i32)
+ (local $$228 i32)
+ (local $$234 i32)
+ (local $$239 i32)
+ (local $$242 i32)
+ (local $$259 i32)
+ (local $$267 i32)
+ (local $$27 i32)
+ (local $$28 i32)
+ (local $$32 i32)
+ (local $$36 i32)
+ (local $$38 i32)
+ (local $$47 i32)
+ (local $$48 i32)
+ (local $$5 i32)
+ (local $$52 i32)
+ (local $$54 i32)
+ (local $$56 i32)
+ (local $$59 i32)
+ (local $$60 i32)
+ (local $$65 i32)
+ (local $$76 i32)
+ (local $$86 i32)
+ (local $$90 i32)
+ (local $$92 i32)
+ (local $$95 i32)
+ (local $$add$ptr213$i i32)
+ (local $$add$ptr311$i i32)
+ (local $$add$ptr359 i32)
+ (local $$add$ptr43 i32)
+ (local $$add$ptr442$i i32)
+ (local $$add$ptr442$z$3$i i32)
+ (local $$add$ptr65$i i32)
+ (local $$add$ptr742$i i32)
+ (local $$add154$i i32)
+ (local $$add163$i i32)
+ (local $$add269 i32)
+ (local $$add269$p$0 i32)
+ (local $$add322 i32)
+ (local $$add355$i i32)
+ (local $$add414$i i32)
+ (local $$add620$i i32)
+ (local $$and12$i i32)
+ (local $$and214 i32)
+ (local $$and249 i32)
+ (local $$and282$i i32)
+ (local $$and294 i32)
+ (local $$and309 i32)
+ (local $$and483$i i32)
+ (local $$and62$i i32)
+ (local $$arrayidx251$i i32)
+ (local $$arrayidx370 i32)
+ (local $$arrayidx453$i i32)
+ (local $$big$i i32)
+ (local $$buf i32)
+ (local $$call411 i32)
+ (local $$cmp299$i i32)
+ (local $$cmp338$i i32)
+ (local $$cmp374$i i32)
+ (local $$cmp614$i i32)
+ (local $$cmp94$i i32)
+ (local $$cnt$1$lcssa i32)
+ (local $$cond$i i32)
+ (local $$cond100$i i32)
+ (local $$cond245 i32)
+ (local $$cond304$i i32)
+ (local $$cond426 i32)
+ (local $$cond43$i i32)
+ (local $$cond629$i i32)
+ (local $$cond732$i i32)
+ (local $$cond800$i i32)
+ (local $$conv116$i i32)
+ (local $$conv216$i i32)
+ (local $$conv48 i32)
+ (local $$conv48$307 i32)
+ (local $$d$0$542$i i32)
+ (local $$d$0$i i32)
+ (local $$dec78$i i32)
+ (local $$div384$i i32)
+ (local $$ebuf0$i i32)
+ (local $$inc i32)
+ (local $$inc425$i i32)
+ (local $$incdec$ptr i32)
+ (local $$incdec$ptr$i$lcssa i32)
+ (local $$incdec$ptr169271$lcssa414 i32)
+ (local $$incdec$ptr246$i i32)
+ (local $$incdec$ptr288$i i32)
+ (local $$incdec$ptr292$570$i i32)
+ (local $$incdec$ptr292$i i32)
+ (local $$incdec$ptr383 i32)
+ (local $$incdec$ptr410 i32)
+ (local $$incdec$ptr423$i i32)
+ (local $$incdec$ptr734$i i32)
+ (local $$incdec$ptr808$i i32)
+ (local $$isdigittmp i32)
+ (local $$isdigittmp$ i32)
+ (local $$isdigittmp$5$i i32)
+ (local $$isdigittmp$5$i$198 i32)
+ (local $$isdigittmp$i i32)
+ (local $$isdigittmp$i$206 i32)
+ (local $$isdigittmp187 i32)
+ (local $$isdigittmp189 i32)
+ (local $$j$0$524$i i32)
+ (local $$j$0$i i32)
+ (local $$l$0$i i32)
+ (local $$l10n$0$lcssa i32)
+ (local $$lor$ext$i i32)
+ (local $$mul220$i f64)
+ (local $$mul328$i i32)
+ (local $$mul335$i i32)
+ (local $$mul437$i i32)
+ (local $$mul499$i i32)
+ (local $$notrhs$i i32)
+ (local $$or$cond192 i32)
+ (local $$or$cond384 i32)
+ (local $$p$2$add322 i32)
+ (local $$p$3 i32)
+ (local $$p$addr$2$$sub514398$i i32)
+ (local $$p$addr$2$$sub562399$i i32)
+ (local $$r$0$a$9$i i32)
+ (local $$s$1$i$lcssa i32)
+ (local $$s35$0$i i32)
+ (local $$shr285$i i32)
+ (local $$sub$ptr$sub145$i i32)
+ (local $$sub$ptr$sub153$i i32)
+ (local $$sub$ptr$sub159$i i32)
+ (local $$sub$ptr$sub175$i i32)
+ (local $$sub$ptr$sub363 i32)
+ (local $$sub164 i32)
+ (local $$sub203$i i32)
+ (local $$sub264$i i32)
+ (local $$sub281$i i32)
+ (local $$sub343$i i32)
+ (local $$sub409$i i32)
+ (local $$sub514$i i32)
+ (local $$sub562$i i32)
+ (local $$sub626$le$i i32)
+ (local $$sub74$i i32)
+ (local $$sub97$i i32)
+ (local $$tobool135$i i32)
+ (local $$tobool341$i i32)
+ (local $$tobool37$i i32)
+ (local $$tobool56$i i32)
+ (local $$tobool781$i i32)
+ (local $$z$1 i32)
+ (local $$z$7$add$ptr742$i i32)
(set_local $sp
(i32.load
(i32.const 8)
@@ -10335,38 +10335,38 @@
)
(func $_pop_arg_336 (param $$arg i32) (param $$type i32) (param $$ap i32)
(local $$13 i32)
- (local $$93 i32)
- (local $$92 i32)
- (local $$91 i32)
- (local $$82 i32)
- (local $$81 i32)
- (local $$79 i32)
- (local $$78 i32)
- (local $$77 i32)
- (local $$68 i32)
- (local $$67 i32)
- (local $$66 i32)
- (local $$6 i32)
- (local $$57 i32)
- (local $$56 i32)
- (local $$54 i32)
- (local $$53 i32)
- (local $$52 i32)
- (local $$5 i32)
- (local $$43 i32)
- (local $$42 i32)
- (local $$39 i32)
- (local $$37 i32)
- (local $$36 i32)
- (local $$27 i32)
- (local $$26 i32)
- (local $$25 i32)
- (local $$16 i32)
- (local $$12 i32)
- (local $$110 f64)
- (local $$109 i32)
- (local $$103 f64)
(local $$102 i32)
+ (local $$103 f64)
+ (local $$109 i32)
+ (local $$110 f64)
+ (local $$12 i32)
+ (local $$16 i32)
+ (local $$25 i32)
+ (local $$26 i32)
+ (local $$27 i32)
+ (local $$36 i32)
+ (local $$37 i32)
+ (local $$39 i32)
+ (local $$42 i32)
+ (local $$43 i32)
+ (local $$5 i32)
+ (local $$52 i32)
+ (local $$53 i32)
+ (local $$54 i32)
+ (local $$56 i32)
+ (local $$57 i32)
+ (local $$6 i32)
+ (local $$66 i32)
+ (local $$67 i32)
+ (local $$68 i32)
+ (local $$77 i32)
+ (local $$78 i32)
+ (local $$79 i32)
+ (local $$81 i32)
+ (local $$82 i32)
+ (local $$91 i32)
+ (local $$92 i32)
+ (local $$93 i32)
(i32.load
(i32.const 8)
)
@@ -10957,21 +10957,21 @@
)
(func $_fmt_u (param $$0 i32) (param $$1 i32) (param $$s i32) (result i32)
(local $$8 i32)
- (local $$y$010 i32)
(local $$7 i32)
- (local $$x$addr$0$lcssa$off0 i32)
+ (local $$y$010 i32)
(local $$s$addr$0$lcssa i32)
- (local $$s$addr$19 i32)
- (local $$s$addr$1$lcssa i32)
- (local $$s$addr$013 i32)
- (local $$incdec$ptr7 i32)
- (local $$incdec$ptr i32)
- (local $$14 i32)
+ (local $$x$addr$0$lcssa$off0 i32)
(local $$13 i32)
- (local $$incdec$ptr$lcssa i32)
- (local $$div9 i32)
- (local $$9 i32)
+ (local $$14 i32)
+ (local $$incdec$ptr i32)
+ (local $$incdec$ptr7 i32)
+ (local $$s$addr$013 i32)
+ (local $$s$addr$1$lcssa i32)
+ (local $$s$addr$19 i32)
(local $$21 i32)
+ (local $$9 i32)
+ (local $$div9 i32)
+ (local $$incdec$ptr$lcssa i32)
(i32.load
(i32.const 8)
)
@@ -11175,20 +11175,20 @@
)
(func $_pad (param $$f i32) (param $$c i32) (param $$w i32) (param $$l i32) (param $$fl i32)
(local $$sub i32)
- (local $$pad i32)
(local $$2 i32)
- (local $sp i32)
- (local $$tobool$i18 i32)
- (local $$tobool$i$16 i32)
- (local $$tobool$i i32)
- (local $$l$addr$017 i32)
- (local $$l$addr$0$lcssa21 i32)
+ (local $$pad i32)
(local $$4 i32)
- (local $$sub5 i32)
- (local $$cond i32)
- (local $$3 i32)
- (local $$1 i32)
+ (local $$l$addr$0$lcssa21 i32)
+ (local $$l$addr$017 i32)
+ (local $$tobool$i i32)
+ (local $$tobool$i$16 i32)
+ (local $$tobool$i18 i32)
+ (local $sp i32)
(local $$0 i32)
+ (local $$1 i32)
+ (local $$3 i32)
+ (local $$cond i32)
+ (local $$sub5 i32)
(set_local $sp
(i32.load
(i32.const 8)
@@ -11383,473 +11383,473 @@
(local $$nb$0 i32)
(local $$add$ptr$i$161 i32)
(local $$v$4$lcssa$i i32)
- (local $$v$0$i$lcssa i32)
- (local $$tbase$796$i i32)
(local $$add$ptr16$i$i i32)
+ (local $$tbase$796$i i32)
+ (local $$v$0$i$lcssa i32)
(local $$and145 i32)
(local $$rsize$4$lcssa$i i32)
- (local $$R$3$i$i i32)
- (local $$R$3$i$171 i32)
(local $$R$3$i i32)
+ (local $$R$3$i$171 i32)
+ (local $$R$3$i$i i32)
(local $$tsize$795$i i32)
- (local $$qsize$0$i$i i32)
(local $$cond i32)
- (local $$sub$ptr$sub$i$i i32)
+ (local $$qsize$0$i$i i32)
(local $$ssize$2$ph$i i32)
- (local $$t$48$i i32)
- (local $$t$0$i$151 i32)
- (local $$ssize$0$i i32)
- (local $$I57$0$i$i i32)
- (local $$I316$0$i i32)
+ (local $$sub$ptr$sub$i$i i32)
(local $$I252$0$i$i i32)
- (local $$rsize$0$i$lcssa i32)
- (local $$idx$0$i i32)
- (local $$R$1$i$i i32)
- (local $$R$1$i$168 i32)
- (local $$R$1$i i32)
+ (local $$I316$0$i i32)
+ (local $$I57$0$i$i i32)
+ (local $$ssize$0$i i32)
+ (local $$t$0$i$151 i32)
+ (local $$t$48$i i32)
(local $$149 i32)
- (local $$sp$1107$i i32)
- (local $$sp$0108$i i32)
- (local $$sp$0$i$i$i i32)
- (local $$sp$0$i$i i32)
- (local $$rsize$49$i i32)
- (local $$cond13$i$i i32)
- (local $$and11$i i32)
- (local $$add$ptr14$i$i i32)
- (local $$T$0$i$i i32)
- (local $$T$0$i$58$i i32)
- (local $$T$0$i i32)
- (local $$95 i32)
- (local $$63 i32)
- (local $$26 i32)
- (local $$154 i32)
- (local $$150 i32)
+ (local $$R$1$i i32)
+ (local $$R$1$i$168 i32)
+ (local $$R$1$i$i i32)
+ (local $$idx$0$i i32)
+ (local $$rsize$0$i$lcssa i32)
(local $$148 i32)
- (local $$v$410$i i32)
- (local $$v$3$i i32)
- (local $$sub18$i$i i32)
- (local $$sub160 i32)
- (local $$shr i32)
- (local $$rsize$0$i i32)
- (local $$cond4$i i32)
- (local $$br$2$ph$i i32)
- (local $$arrayidx289$i i32)
- (local $$arrayidx223$i$i i32)
- (local $$arrayidx196$i i32)
- (local $$arrayidx103 i32)
- (local $$arrayidx$i$20$i i32)
- (local $$add$ptr4$i$37$i i32)
- (local $$RP$1$i$i i32)
- (local $$RP$1$i$167 i32)
- (local $$RP$1$i i32)
- (local $$46 i32)
- (local $$3 i32)
- (local $$14 i32)
+ (local $$150 i32)
+ (local $$154 i32)
+ (local $$26 i32)
+ (local $$63 i32)
+ (local $$95 i32)
+ (local $$T$0$i i32)
+ (local $$T$0$i$58$i i32)
+ (local $$T$0$i$i i32)
+ (local $$add$ptr14$i$i i32)
+ (local $$and11$i i32)
+ (local $$cond13$i$i i32)
+ (local $$rsize$49$i i32)
+ (local $$sp$0$i$i i32)
+ (local $$sp$0$i$i$i i32)
+ (local $$sp$0108$i i32)
+ (local $$sp$1107$i i32)
(local $$10 i32)
- (local $$v$1$i i32)
- (local $$v$0$i i32)
- (local $$t$4$v$4$i i32)
- (local $$t$4$ph$i i32)
- (local $$t$2$i i32)
- (local $$t$0$i i32)
- (local $$sub91 i32)
- (local $$sub101$rsize$4$i i32)
- (local $$ssize$5$i i32)
- (local $$sizebits$0$i i32)
- (local $$shr3 i32)
- (local $$rsize$3$i i32)
- (local $$rsize$1$i i32)
- (local $$rsize$0$i$152 i32)
- (local $$i$01$i$i i32)
- (local $$call83$i i32)
- (local $$call37$i i32)
- (local $$call131$i i32)
- (local $$call$i$i i32)
- (local $$arrayidx91$i$i i32)
- (local $$arrayidx355$i i32)
- (local $$arrayidx287$i$i i32)
- (local $$arrayidx$i$i i32)
- (local $$and80$i i32)
- (local $$add26$i$i i32)
- (local $$add$ptr227$i i32)
- (local $$add$ptr$i i32)
- (local $$T$0$i$lcssa i32)
- (local $$T$0$i$i$lcssa i32)
- (local $$T$0$i$58$i$lcssa i32)
- (local $$K373$0$i i32)
- (local $$K305$0$i$i i32)
- (local $$K105$0$i$i i32)
- (local $$F290$0$i i32)
- (local $$F224$0$i$i i32)
- (local $$F197$0$i i32)
- (local $$F104$0 i32)
- (local $$F$0$i$i i32)
- (local $$94 i32)
- (local $$9 i32)
- (local $$79 i32)
- (local $$78 i32)
- (local $$64 i32)
- (local $$42 i32)
- (local $$41 i32)
- (local $$27 i32)
- (local $$2 i32)
- (local $$170 i32)
- (local $$169 i32)
- (local $$155 i32)
- (local $$147 i32)
+ (local $$14 i32)
+ (local $$3 i32)
+ (local $$46 i32)
+ (local $$RP$1$i i32)
+ (local $$RP$1$i$167 i32)
+ (local $$RP$1$i$i i32)
+ (local $$add$ptr4$i$37$i i32)
+ (local $$arrayidx$i$20$i i32)
+ (local $$arrayidx103 i32)
+ (local $$arrayidx196$i i32)
+ (local $$arrayidx223$i$i i32)
+ (local $$arrayidx289$i i32)
+ (local $$br$2$ph$i i32)
+ (local $$cond4$i i32)
+ (local $$rsize$0$i i32)
+ (local $$shr i32)
+ (local $$sub160 i32)
+ (local $$sub18$i$i i32)
+ (local $$v$3$i i32)
+ (local $$v$410$i i32)
(local $$13 i32)
- (local $$v$0$i$153 i32)
- (local $$sub5$i$i$i i32)
- (local $$sub5$i$i i32)
- (local $$sub5$i$27$i i32)
- (local $$sub33$i i32)
- (local $$sub$i$138 i32)
- (local $$sp$1107$i$lcssa i32)
- (local $$shr58$i$i i32)
- (local $$shr318$i i32)
- (local $$shr283$i i32)
- (local $$shr253$i$i i32)
- (local $$shr214$i$i i32)
- (local $$shr$i$i i32)
- (local $$shr$i$45$i i32)
- (local $$shr$i$139 i32)
- (local $$rst$1$i i32)
- (local $$rst$0$i i32)
- (local $$p$0$i$i i32)
- (local $$oldfirst$0$i$i i32)
- (local $$head$i$17$i i32)
- (local $$fd68$pre$phi$i$iZ2D i32)
- (local $$cond$i$i$i i32)
- (local $$cond$i$i i32)
- (local $$cond$i$25$i i32)
- (local $$child$i$i i32)
- (local $$call132$i i32)
- (local $$arrayidx66 i32)
- (local $$arrayidx394$i$lcssa i32)
- (local $$arrayidx325$i$i$lcssa i32)
- (local $$arrayidx126$i$i$lcssa i32)
- (local $$arrayidx i32)
- (local $$and73$i i32)
- (local $$and64$i i32)
- (local $$and46 i32)
- (local $$and37$i$i i32)
- (local $$and3$i i32)
- (local $$and104$i i32)
- (local $$add8 i32)
- (local $$add64 i32)
- (local $$add54$i i32)
- (local $$add150$i i32)
- (local $$add$ptr95 i32)
- (local $$add$ptr4$i$i$i i32)
- (local $$add$ptr4$i$i i32)
- (local $$add$ptr4$i$26$i i32)
- (local $$add$ptr24$i$i i32)
- (local $$add$ptr166 i32)
- (local $$add$ptr$i$i$i$lcssa i32)
- (local $$RP$1$i$lcssa i32)
- (local $$RP$1$i$i$lcssa i32)
- (local $$RP$1$i$167$lcssa i32)
- (local $$98 i32)
- (local $$91 i32)
- (local $$65 i32)
- (local $$62 i32)
- (local $$55 i32)
- (local $$54 i32)
- (local $$28 i32)
- (local $$25 i32)
- (local $$208 i32)
- (local $$204 i32)
- (local $$20 i32)
- (local $$19 i32)
- (local $$182 i32)
- (local $$156 i32)
- (local $$108 i32)
- (local $$104 i32)
- (local $$0 i32)
- (local $$$pre$phiZ2D i32)
- (local $$$pre$phi$iZ2D i32)
- (local $$$pre$phi$i$iZ2D i32)
- (local $$$pre$phi$i$57$iZ2D i32)
+ (local $$147 i32)
+ (local $$155 i32)
+ (local $$169 i32)
+ (local $$170 i32)
+ (local $$2 i32)
+ (local $$27 i32)
+ (local $$41 i32)
+ (local $$42 i32)
+ (local $$64 i32)
+ (local $$78 i32)
+ (local $$79 i32)
+ (local $$9 i32)
+ (local $$94 i32)
+ (local $$F$0$i$i i32)
+ (local $$F104$0 i32)
+ (local $$F197$0$i i32)
+ (local $$F224$0$i$i i32)
+ (local $$F290$0$i i32)
+ (local $$K105$0$i$i i32)
+ (local $$K305$0$i$i i32)
+ (local $$K373$0$i i32)
+ (local $$T$0$i$58$i$lcssa i32)
+ (local $$T$0$i$i$lcssa i32)
+ (local $$T$0$i$lcssa i32)
+ (local $$add$ptr$i i32)
+ (local $$add$ptr227$i i32)
+ (local $$add26$i$i i32)
+ (local $$and80$i i32)
+ (local $$arrayidx$i$i i32)
+ (local $$arrayidx287$i$i i32)
+ (local $$arrayidx355$i i32)
+ (local $$arrayidx91$i$i i32)
+ (local $$call$i$i i32)
+ (local $$call131$i i32)
+ (local $$call37$i i32)
+ (local $$call83$i i32)
+ (local $$i$01$i$i i32)
+ (local $$rsize$0$i$152 i32)
+ (local $$rsize$1$i i32)
+ (local $$rsize$3$i i32)
+ (local $$shr3 i32)
+ (local $$sizebits$0$i i32)
+ (local $$ssize$5$i i32)
+ (local $$sub101$rsize$4$i i32)
+ (local $$sub91 i32)
+ (local $$t$0$i i32)
+ (local $$t$2$i i32)
+ (local $$t$4$ph$i i32)
+ (local $$t$4$v$4$i i32)
+ (local $$v$0$i i32)
+ (local $$v$1$i i32)
(local $$$pre$phi$i$178Z2D i32)
- (local $$sub70$i i32)
- (local $$sub63$i i32)
- (local $$sub44 i32)
- (local $$sub42 i32)
- (local $$sub41$i i32)
- (local $$sub381$i i32)
- (local $$sub313$i$i i32)
- (local $$sub31$rsize$0$i i32)
- (local $$sub31$i i32)
- (local $$sub30$i i32)
- (local $$sub260$i i32)
- (local $$sub2$i i32)
- (local $$sub190 i32)
- (local $$sub172$i i32)
- (local $$sub16$i$i i32)
- (local $$sub113$i$i i32)
- (local $$sub112$i i32)
- (local $$sub101$i i32)
- (local $$sub$ptr$sub$i i32)
- (local $$sub$i$181 i32)
- (local $$sub i32)
- (local $$sp$0108$i$lcssa i32)
- (local $$sizebits$0$shl52$i i32)
- (local $$size245$i i32)
- (local $$size188$i$lcssa i32)
- (local $$size188$i i32)
- (local $$size$i$i$lcssa i32)
- (local $$size$i$i i32)
- (local $$shr87$i i32)
- (local $$shr83$i i32)
- (local $$shr79$i i32)
- (local $$shr75$i i32)
- (local $$shr7$i i32)
- (local $$shr59 i32)
- (local $$shr55 i32)
- (local $$shr51 i32)
- (local $$shr47 i32)
- (local $$shr4$i i32)
- (local $$shr194$i i32)
- (local $$shr15$i i32)
- (local $$shr11$i i32)
- (local $$shr101 i32)
- (local $$shl95$i$i i32)
- (local $$shl9$i i32)
- (local $$shl84$i$i i32)
- (local $$shl75$i$i i32)
- (local $$shl70$i$i i32)
- (local $$shl60$i i32)
- (local $$shl395$i i32)
- (local $$shl39$i$i i32)
- (local $$shl37 i32)
- (local $$shl362$i i32)
- (local $$shl347$i i32)
- (local $$shl338$i i32)
- (local $$shl333$i i32)
- (local $$shl326$i$i i32)
- (local $$shl294$i$i i32)
- (local $$shl291$i i32)
- (local $$shl279$i$i i32)
- (local $$shl270$i$i i32)
- (local $$shl265$i$i i32)
- (local $$shl226$i$i i32)
- (local $$shl22 i32)
- (local $$shl198$i i32)
- (local $$shl18$i i32)
- (local $$shl127$i$i i32)
- (local $$shl105 i32)
- (local $$shl$i$144 i32)
- (local $$or275$i i32)
- (local $$or26 i32)
- (local $$or183$i i32)
- (local $$or180 i32)
- (local $$or$cond4$i i32)
- (local $$neg$i$182 i32)
- (local $$inc$i$i i32)
- (local $$head274$i i32)
- (local $$head25 i32)
- (local $$head208$i$i i32)
- (local $$head182$i i32)
- (local $$head179 i32)
- (local $$fd9 i32)
- (local $$fd85$i$i i32)
- (local $$fd69 i32)
- (local $$fd59$i$i i32)
- (local $$fd50$i i32)
- (local $$fd416$i i32)
- (local $$fd344$i$i i32)
- (local $$fd148$i$i i32)
- (local $$fd139$i i32)
- (local $$cond383$i i32)
- (local $$cond315$i$i i32)
- (local $$cond15$i$i i32)
- (local $$cond115$i$i i32)
- (local $$cond$v$0$i i32)
- (local $$cond$i$36$i i32)
- (local $$cond$i$16$i i32)
- (local $$cond$i i32)
- (local $$cmp7$i$i i32)
- (local $$cmp49$i i32)
- (local $$cmp32$i i32)
- (local $$cmp102$i i32)
- (local $$cmp$i$34$i i32)
- (local $$cmp$i$23$i i32)
- (local $$cmp$i$2$i$i i32)
- (local $$cmp$i$15$i i32)
- (local $$cmp$i$13$i i32)
- (local $$child357$i i32)
- (local $$child289$i$i i32)
- (local $$child166$i$i i32)
- (local $$call68$i i32)
- (local $$bk82$i$i i32)
- (local $$bk78 i32)
- (local $$bk47$i i32)
- (local $$bk136$i i32)
- (local $$bk i32)
- (local $$base226$i$lcssa i32)
- (local $$base$i$i$lcssa i32)
- (local $$arrayidx96$i$i i32)
- (local $$arrayidx94$i i32)
- (local $$arrayidx75$i i32)
- (local $$arrayidx71$i i32)
- (local $$arrayidx65$i i32)
- (local $$arrayidx61$i i32)
- (local $$arrayidx394$i i32)
- (local $$arrayidx325$i$i i32)
- (local $$arrayidx204$i i32)
- (local $$arrayidx184$i i32)
- (local $$arrayidx165$i$169 i32)
- (local $$arrayidx161$i i32)
- (local $$arrayidx155$i i32)
- (local $$arrayidx151$i i32)
- (local $$arrayidx143$i$i i32)
- (local $$arrayidx126$i$i i32)
- (local $$arrayidx123$i$i i32)
- (local $$arrayidx113$i i32)
- (local $$arrayidx107$i$i i32)
- (local $$arrayidx103$i$i i32)
- (local $$arrayidx$i$48$i i32)
- (local $$and9$i i32)
- (local $$and89$i i32)
- (local $$and85$i i32)
- (local $$and81$i i32)
- (local $$and8$i i32)
- (local $$and78$i$i i32)
- (local $$and77$i i32)
- (local $$and73$i$i i32)
- (local $$and69$i$i i32)
- (local $$and61 i32)
- (local $$and6$i$i i32)
- (local $$and6$i i32)
- (local $$and57 i32)
- (local $$and53 i32)
- (local $$and49 i32)
- (local $$and41 i32)
- (local $$and341$i i32)
- (local $$and336$i i32)
- (local $$and331$i i32)
- (local $$and32$i i32)
- (local $$and3$i$i$i i32)
- (local $$and3$i$i i32)
- (local $$and3$i$35$i i32)
- (local $$and3$i$24$i i32)
- (local $$and273$i$i i32)
- (local $$and268$i$i i32)
- (local $$and264$i$i i32)
- (local $$and209$i$i i32)
- (local $$and17$i i32)
- (local $$and13$i$i i32)
- (local $$and13$i i32)
- (local $$and12$i i32)
- (local $$and$i$143 i32)
- (local $$and i32)
- (local $$add9$i i32)
- (local $$add83$i$i i32)
- (local $$add346$i i32)
- (local $$add278$i$i i32)
- (local $$add268$i i32)
- (local $$add246$i i32)
- (local $$add177$i i32)
- (local $$add17$i$183 i32)
- (local $$add17$i i32)
- (local $$add144 i32)
- (local $$add$ptr8$i122$i i32)
- (local $$add$ptr7$i$i i32)
- (local $$add$ptr262$i i32)
- (local $$add$ptr2$i$i i32)
- (local $$add$ptr193 i32)
- (local $$add$ptr15$i$i i32)
- (local $$add$ptr$i$i$i i32)
- (local $$add$i$i i32)
- (local $$add$i$180 i32)
- (local $$T$0$i$lcssa293 i32)
- (local $$T$0$i$i$lcssa284 i32)
- (local $$T$0$i$58$i$lcssa283 i32)
- (local $$R$1$i$lcssa i32)
- (local $$R$1$i$i$lcssa i32)
- (local $$R$1$i$168$lcssa i32)
- (local $$97 i32)
- (local $$92 i32)
- (local $$89 i32)
- (local $$87 i32)
- (local $$86 i32)
- (local $$84 i32)
- (local $$83 i32)
- (local $$82 i32)
- (local $$8 i32)
- (local $$77 i32)
- (local $$72 i32)
- (local $$71 i32)
- (local $$70 i32)
- (local $$7 i32)
- (local $$69 i32)
- (local $$68 i32)
- (local $$60 i32)
- (local $$59 i32)
- (local $$52 i32)
- (local $$51 i32)
- (local $$49 i32)
- (local $$48 i32)
- (local $$47 i32)
- (local $$45 i32)
- (local $$40 i32)
- (local $$35 i32)
- (local $$34 i32)
- (local $$33 i32)
- (local $$32 i32)
- (local $$31 i32)
- (local $$23 i32)
- (local $$22 i32)
- (local $$207 i32)
- (local $$205 i32)
- (local $$202 i32)
- (local $$200 i32)
- (local $$199 i32)
- (local $$197 i32)
- (local $$196 i32)
- (local $$195 i32)
- (local $$190 i32)
- (local $$188 i32)
- (local $$185 i32)
- (local $$183 i32)
- (local $$180 i32)
- (local $$178 i32)
- (local $$177 i32)
- (local $$175 i32)
- (local $$174 i32)
- (local $$173 i32)
- (local $$17 i32)
- (local $$168 i32)
- (local $$163 i32)
- (local $$162 i32)
- (local $$161 i32)
- (local $$160 i32)
- (local $$16 i32)
- (local $$159 i32)
- (local $$15 i32)
- (local $$142 i32)
- (local $$140 i32)
- (local $$137 i32)
- (local $$135 i32)
- (local $$132 i32)
- (local $$131 i32)
- (local $$129 i32)
- (local $$128 i32)
- (local $$127 i32)
- (local $$124 i32)
- (local $$120 i32)
- (local $$115 i32)
- (local $$111 i32)
- (local $$110 i32)
- (local $$109 i32)
- (local $$107 i32)
- (local $$105 i32)
- (local $$102 i32)
- (local $$101 i32)
- (local $$100 i32)
- (local $$1 i32)
- (local $$$lcssa290 i32)
+ (local $$$pre$phi$i$57$iZ2D i32)
+ (local $$$pre$phi$i$iZ2D i32)
+ (local $$$pre$phi$iZ2D i32)
+ (local $$$pre$phiZ2D i32)
+ (local $$0 i32)
+ (local $$104 i32)
+ (local $$108 i32)
+ (local $$156 i32)
+ (local $$182 i32)
+ (local $$19 i32)
+ (local $$20 i32)
+ (local $$204 i32)
+ (local $$208 i32)
+ (local $$25 i32)
+ (local $$28 i32)
+ (local $$54 i32)
+ (local $$55 i32)
+ (local $$62 i32)
+ (local $$65 i32)
+ (local $$91 i32)
+ (local $$98 i32)
+ (local $$RP$1$i$167$lcssa i32)
+ (local $$RP$1$i$i$lcssa i32)
+ (local $$RP$1$i$lcssa i32)
+ (local $$add$ptr$i$i$i$lcssa i32)
+ (local $$add$ptr166 i32)
+ (local $$add$ptr24$i$i i32)
+ (local $$add$ptr4$i$26$i i32)
+ (local $$add$ptr4$i$i i32)
+ (local $$add$ptr4$i$i$i i32)
+ (local $$add$ptr95 i32)
+ (local $$add150$i i32)
+ (local $$add54$i i32)
+ (local $$add64 i32)
+ (local $$add8 i32)
+ (local $$and104$i i32)
+ (local $$and3$i i32)
+ (local $$and37$i$i i32)
+ (local $$and46 i32)
+ (local $$and64$i i32)
+ (local $$and73$i i32)
+ (local $$arrayidx i32)
+ (local $$arrayidx126$i$i$lcssa i32)
+ (local $$arrayidx325$i$i$lcssa i32)
+ (local $$arrayidx394$i$lcssa i32)
+ (local $$arrayidx66 i32)
+ (local $$call132$i i32)
+ (local $$child$i$i i32)
+ (local $$cond$i$25$i i32)
+ (local $$cond$i$i i32)
+ (local $$cond$i$i$i i32)
+ (local $$fd68$pre$phi$i$iZ2D i32)
+ (local $$head$i$17$i i32)
+ (local $$oldfirst$0$i$i i32)
+ (local $$p$0$i$i i32)
+ (local $$rst$0$i i32)
+ (local $$rst$1$i i32)
+ (local $$shr$i$139 i32)
+ (local $$shr$i$45$i i32)
+ (local $$shr$i$i i32)
+ (local $$shr214$i$i i32)
+ (local $$shr253$i$i i32)
+ (local $$shr283$i i32)
+ (local $$shr318$i i32)
+ (local $$shr58$i$i i32)
+ (local $$sp$1107$i$lcssa i32)
+ (local $$sub$i$138 i32)
+ (local $$sub33$i i32)
+ (local $$sub5$i$27$i i32)
+ (local $$sub5$i$i i32)
+ (local $$sub5$i$i$i i32)
+ (local $$v$0$i$153 i32)
(local $$$lcssa i32)
+ (local $$$lcssa290 i32)
+ (local $$1 i32)
+ (local $$100 i32)
+ (local $$101 i32)
+ (local $$102 i32)
+ (local $$105 i32)
+ (local $$107 i32)
+ (local $$109 i32)
+ (local $$110 i32)
+ (local $$111 i32)
+ (local $$115 i32)
+ (local $$120 i32)
+ (local $$124 i32)
+ (local $$127 i32)
+ (local $$128 i32)
+ (local $$129 i32)
+ (local $$131 i32)
+ (local $$132 i32)
+ (local $$135 i32)
+ (local $$137 i32)
+ (local $$140 i32)
+ (local $$142 i32)
+ (local $$15 i32)
+ (local $$159 i32)
+ (local $$16 i32)
+ (local $$160 i32)
+ (local $$161 i32)
+ (local $$162 i32)
+ (local $$163 i32)
+ (local $$168 i32)
+ (local $$17 i32)
+ (local $$173 i32)
+ (local $$174 i32)
+ (local $$175 i32)
+ (local $$177 i32)
+ (local $$178 i32)
+ (local $$180 i32)
+ (local $$183 i32)
+ (local $$185 i32)
+ (local $$188 i32)
+ (local $$190 i32)
+ (local $$195 i32)
+ (local $$196 i32)
+ (local $$197 i32)
+ (local $$199 i32)
+ (local $$200 i32)
+ (local $$202 i32)
+ (local $$205 i32)
+ (local $$207 i32)
+ (local $$22 i32)
+ (local $$23 i32)
+ (local $$31 i32)
+ (local $$32 i32)
+ (local $$33 i32)
+ (local $$34 i32)
+ (local $$35 i32)
+ (local $$40 i32)
+ (local $$45 i32)
+ (local $$47 i32)
+ (local $$48 i32)
+ (local $$49 i32)
+ (local $$51 i32)
+ (local $$52 i32)
+ (local $$59 i32)
+ (local $$60 i32)
+ (local $$68 i32)
+ (local $$69 i32)
+ (local $$7 i32)
+ (local $$70 i32)
+ (local $$71 i32)
+ (local $$72 i32)
+ (local $$77 i32)
+ (local $$8 i32)
+ (local $$82 i32)
+ (local $$83 i32)
+ (local $$84 i32)
+ (local $$86 i32)
+ (local $$87 i32)
+ (local $$89 i32)
+ (local $$92 i32)
+ (local $$97 i32)
+ (local $$R$1$i$168$lcssa i32)
+ (local $$R$1$i$i$lcssa i32)
+ (local $$R$1$i$lcssa i32)
+ (local $$T$0$i$58$i$lcssa283 i32)
+ (local $$T$0$i$i$lcssa284 i32)
+ (local $$T$0$i$lcssa293 i32)
+ (local $$add$i$180 i32)
+ (local $$add$i$i i32)
+ (local $$add$ptr$i$i$i i32)
+ (local $$add$ptr15$i$i i32)
+ (local $$add$ptr193 i32)
+ (local $$add$ptr2$i$i i32)
+ (local $$add$ptr262$i i32)
+ (local $$add$ptr7$i$i i32)
+ (local $$add$ptr8$i122$i i32)
+ (local $$add144 i32)
+ (local $$add17$i i32)
+ (local $$add17$i$183 i32)
+ (local $$add177$i i32)
+ (local $$add246$i i32)
+ (local $$add268$i i32)
+ (local $$add278$i$i i32)
+ (local $$add346$i i32)
+ (local $$add83$i$i i32)
+ (local $$add9$i i32)
+ (local $$and i32)
+ (local $$and$i$143 i32)
+ (local $$and12$i i32)
+ (local $$and13$i i32)
+ (local $$and13$i$i i32)
+ (local $$and17$i i32)
+ (local $$and209$i$i i32)
+ (local $$and264$i$i i32)
+ (local $$and268$i$i i32)
+ (local $$and273$i$i i32)
+ (local $$and3$i$24$i i32)
+ (local $$and3$i$35$i i32)
+ (local $$and3$i$i i32)
+ (local $$and3$i$i$i i32)
+ (local $$and32$i i32)
+ (local $$and331$i i32)
+ (local $$and336$i i32)
+ (local $$and341$i i32)
+ (local $$and41 i32)
+ (local $$and49 i32)
+ (local $$and53 i32)
+ (local $$and57 i32)
+ (local $$and6$i i32)
+ (local $$and6$i$i i32)
+ (local $$and61 i32)
+ (local $$and69$i$i i32)
+ (local $$and73$i$i i32)
+ (local $$and77$i i32)
+ (local $$and78$i$i i32)
+ (local $$and8$i i32)
+ (local $$and81$i i32)
+ (local $$and85$i i32)
+ (local $$and89$i i32)
+ (local $$and9$i i32)
+ (local $$arrayidx$i$48$i i32)
+ (local $$arrayidx103$i$i i32)
+ (local $$arrayidx107$i$i i32)
+ (local $$arrayidx113$i i32)
+ (local $$arrayidx123$i$i i32)
+ (local $$arrayidx126$i$i i32)
+ (local $$arrayidx143$i$i i32)
+ (local $$arrayidx151$i i32)
+ (local $$arrayidx155$i i32)
+ (local $$arrayidx161$i i32)
+ (local $$arrayidx165$i$169 i32)
+ (local $$arrayidx184$i i32)
+ (local $$arrayidx204$i i32)
+ (local $$arrayidx325$i$i i32)
+ (local $$arrayidx394$i i32)
+ (local $$arrayidx61$i i32)
+ (local $$arrayidx65$i i32)
+ (local $$arrayidx71$i i32)
+ (local $$arrayidx75$i i32)
+ (local $$arrayidx94$i i32)
+ (local $$arrayidx96$i$i i32)
+ (local $$base$i$i$lcssa i32)
+ (local $$base226$i$lcssa i32)
+ (local $$bk i32)
+ (local $$bk136$i i32)
+ (local $$bk47$i i32)
+ (local $$bk78 i32)
+ (local $$bk82$i$i i32)
+ (local $$call68$i i32)
+ (local $$child166$i$i i32)
+ (local $$child289$i$i i32)
+ (local $$child357$i i32)
+ (local $$cmp$i$13$i i32)
+ (local $$cmp$i$15$i i32)
+ (local $$cmp$i$2$i$i i32)
+ (local $$cmp$i$23$i i32)
+ (local $$cmp$i$34$i i32)
+ (local $$cmp102$i i32)
+ (local $$cmp32$i i32)
+ (local $$cmp49$i i32)
+ (local $$cmp7$i$i i32)
+ (local $$cond$i i32)
+ (local $$cond$i$16$i i32)
+ (local $$cond$i$36$i i32)
+ (local $$cond$v$0$i i32)
+ (local $$cond115$i$i i32)
+ (local $$cond15$i$i i32)
+ (local $$cond315$i$i i32)
+ (local $$cond383$i i32)
+ (local $$fd139$i i32)
+ (local $$fd148$i$i i32)
+ (local $$fd344$i$i i32)
+ (local $$fd416$i i32)
+ (local $$fd50$i i32)
+ (local $$fd59$i$i i32)
+ (local $$fd69 i32)
+ (local $$fd85$i$i i32)
+ (local $$fd9 i32)
+ (local $$head179 i32)
+ (local $$head182$i i32)
+ (local $$head208$i$i i32)
+ (local $$head25 i32)
+ (local $$head274$i i32)
+ (local $$inc$i$i i32)
+ (local $$neg$i$182 i32)
+ (local $$or$cond4$i i32)
+ (local $$or180 i32)
+ (local $$or183$i i32)
+ (local $$or26 i32)
+ (local $$or275$i i32)
+ (local $$shl$i$144 i32)
+ (local $$shl105 i32)
+ (local $$shl127$i$i i32)
+ (local $$shl18$i i32)
+ (local $$shl198$i i32)
+ (local $$shl22 i32)
+ (local $$shl226$i$i i32)
+ (local $$shl265$i$i i32)
+ (local $$shl270$i$i i32)
+ (local $$shl279$i$i i32)
+ (local $$shl291$i i32)
+ (local $$shl294$i$i i32)
+ (local $$shl326$i$i i32)
+ (local $$shl333$i i32)
+ (local $$shl338$i i32)
+ (local $$shl347$i i32)
+ (local $$shl362$i i32)
+ (local $$shl37 i32)
+ (local $$shl39$i$i i32)
+ (local $$shl395$i i32)
+ (local $$shl60$i i32)
+ (local $$shl70$i$i i32)
+ (local $$shl75$i$i i32)
+ (local $$shl84$i$i i32)
+ (local $$shl9$i i32)
+ (local $$shl95$i$i i32)
+ (local $$shr101 i32)
+ (local $$shr11$i i32)
+ (local $$shr15$i i32)
+ (local $$shr194$i i32)
+ (local $$shr4$i i32)
+ (local $$shr47 i32)
+ (local $$shr51 i32)
+ (local $$shr55 i32)
+ (local $$shr59 i32)
+ (local $$shr7$i i32)
+ (local $$shr75$i i32)
+ (local $$shr79$i i32)
+ (local $$shr83$i i32)
+ (local $$shr87$i i32)
+ (local $$size$i$i i32)
+ (local $$size$i$i$lcssa i32)
+ (local $$size188$i i32)
+ (local $$size188$i$lcssa i32)
+ (local $$size245$i i32)
+ (local $$sizebits$0$shl52$i i32)
+ (local $$sp$0108$i$lcssa i32)
+ (local $$sub i32)
+ (local $$sub$i$181 i32)
+ (local $$sub$ptr$sub$i i32)
+ (local $$sub101$i i32)
+ (local $$sub112$i i32)
+ (local $$sub113$i$i i32)
+ (local $$sub16$i$i i32)
+ (local $$sub172$i i32)
+ (local $$sub190 i32)
+ (local $$sub2$i i32)
+ (local $$sub260$i i32)
+ (local $$sub30$i i32)
+ (local $$sub31$i i32)
+ (local $$sub31$rsize$0$i i32)
+ (local $$sub313$i$i i32)
+ (local $$sub381$i i32)
+ (local $$sub41$i i32)
+ (local $$sub42 i32)
+ (local $$sub44 i32)
+ (local $$sub63$i i32)
+ (local $$sub70$i i32)
(i32.load
(i32.const 8)
)
@@ -18263,123 +18263,123 @@
(local $$add$ptr16 i32)
(local $$add$ptr6 i32)
(local $$psize$1 i32)
- (local $$R332$3 i32)
(local $$R$3 i32)
+ (local $$R332$3 i32)
(local $$add17 i32)
(local $$psize$2 i32)
(local $$I534$0 i32)
- (local $$R332$1 i32)
- (local $$R$1 i32)
- (local $$5 i32)
(local $$35 i32)
- (local $$add267 i32)
- (local $$T$0 i32)
- (local $$9 i32)
- (local $$41 i32)
- (local $$4 i32)
- (local $$34 i32)
- (local $$28 i32)
+ (local $$5 i32)
+ (local $$R$1 i32)
+ (local $$R332$1 i32)
(local $$0 i32)
- (local $$arrayidx509 i32)
- (local $$add$ptr i32)
- (local $$RP360$1 i32)
- (local $$RP$1 i32)
+ (local $$28 i32)
+ (local $$34 i32)
+ (local $$4 i32)
+ (local $$41 i32)
+ (local $$9 i32)
+ (local $$T$0 i32)
+ (local $$add267 i32)
(local $$2 i32)
- (local $label i32)
- (local $$arrayidx567 i32)
- (local $$add258 i32)
- (local $$T$0$lcssa i32)
- (local $$K583$0 i32)
- (local $$F510$0 i32)
- (local $$59 i32)
- (local $$58 i32)
- (local $$42 i32)
- (local $$25 i32)
- (local $$24 i32)
+ (local $$RP$1 i32)
+ (local $$RP360$1 i32)
+ (local $$add$ptr i32)
+ (local $$arrayidx509 i32)
(local $$10 i32)
- (local $$sp$0$in$i i32)
- (local $$shr535 i32)
- (local $$shr501 i32)
- (local $$shr268 i32)
- (local $$shr i32)
- (local $$fd67$pre$phiZ2D i32)
- (local $$fd322$pre$phiZ2D i32)
- (local $$child361 i32)
- (local $$child i32)
- (local $$arrayidx599$lcssa i32)
- (local $$and5 i32)
- (local $$RP360$1$lcssa i32)
- (local $$RP$1$lcssa i32)
- (local $$71 i32)
- (local $$43 i32)
- (local $$11 i32)
- (local $$1 i32)
+ (local $$24 i32)
+ (local $$25 i32)
+ (local $$42 i32)
+ (local $$58 i32)
+ (local $$59 i32)
+ (local $$F510$0 i32)
+ (local $$K583$0 i32)
+ (local $$T$0$lcssa i32)
+ (local $$add258 i32)
+ (local $$arrayidx567 i32)
+ (local $label i32)
(local $$$pre$phiZ2D i32)
- (local $$sub589 i32)
- (local $$sp$0$i i32)
- (local $$shl600 i32)
- (local $$shl573 i32)
- (local $$shl560 i32)
- (local $$shl551 i32)
- (local $$shl546 i32)
- (local $$shl511 i32)
- (local $$next4$i i32)
- (local $$head231 i32)
- (local $$head209 i32)
- (local $$fd86 i32)
- (local $$fd620 i32)
- (local $$fd56 i32)
- (local $$fd347 i32)
- (local $$fd311 i32)
- (local $$dec i32)
- (local $$cond i32)
- (local $$cmp$i i32)
- (local $$child443 i32)
- (local $$child171 i32)
- (local $$bk82 i32)
- (local $$bk343 i32)
- (local $$arrayidx99 i32)
- (local $$arrayidx599 i32)
- (local $$arrayidx419 i32)
- (local $$arrayidx400 i32)
- (local $$arrayidx379 i32)
- (local $$arrayidx374 i32)
- (local $$arrayidx362 i32)
- (local $$arrayidx279 i32)
- (local $$arrayidx149 i32)
- (local $$arrayidx130 i32)
- (local $$arrayidx113 i32)
- (local $$arrayidx108 i32)
- (local $$arrayidx i32)
- (local $$and554 i32)
- (local $$and549 i32)
- (local $$and545 i32)
- (local $$and i32)
- (local $$add559 i32)
- (local $$add246 i32)
- (local $$T$0$lcssa319 i32)
- (local $$R332$1$lcssa i32)
- (local $$R$1$lcssa i32)
- (local $$72 i32)
- (local $$69 i32)
- (local $$67 i32)
- (local $$66 i32)
- (local $$64 i32)
- (local $$63 i32)
- (local $$62 i32)
- (local $$57 i32)
- (local $$52 i32)
- (local $$50 i32)
- (local $$49 i32)
- (local $$48 i32)
- (local $$47 i32)
- (local $$27 i32)
- (local $$23 i32)
- (local $$18 i32)
- (local $$17 i32)
- (local $$16 i32)
- (local $$15 i32)
+ (local $$1 i32)
+ (local $$11 i32)
+ (local $$43 i32)
+ (local $$71 i32)
+ (local $$RP$1$lcssa i32)
+ (local $$RP360$1$lcssa i32)
+ (local $$and5 i32)
+ (local $$arrayidx599$lcssa i32)
+ (local $$child i32)
+ (local $$child361 i32)
+ (local $$fd322$pre$phiZ2D i32)
+ (local $$fd67$pre$phiZ2D i32)
+ (local $$shr i32)
+ (local $$shr268 i32)
+ (local $$shr501 i32)
+ (local $$shr535 i32)
+ (local $$sp$0$in$i i32)
(local $$14 i32)
+ (local $$15 i32)
+ (local $$16 i32)
+ (local $$17 i32)
+ (local $$18 i32)
+ (local $$23 i32)
+ (local $$27 i32)
+ (local $$47 i32)
+ (local $$48 i32)
+ (local $$49 i32)
+ (local $$50 i32)
+ (local $$52 i32)
+ (local $$57 i32)
+ (local $$62 i32)
+ (local $$63 i32)
+ (local $$64 i32)
+ (local $$66 i32)
+ (local $$67 i32)
+ (local $$69 i32)
+ (local $$72 i32)
+ (local $$R$1$lcssa i32)
+ (local $$R332$1$lcssa i32)
+ (local $$T$0$lcssa319 i32)
+ (local $$add246 i32)
+ (local $$add559 i32)
+ (local $$and i32)
+ (local $$and545 i32)
+ (local $$and549 i32)
+ (local $$and554 i32)
+ (local $$arrayidx i32)
+ (local $$arrayidx108 i32)
+ (local $$arrayidx113 i32)
+ (local $$arrayidx130 i32)
+ (local $$arrayidx149 i32)
+ (local $$arrayidx279 i32)
+ (local $$arrayidx362 i32)
+ (local $$arrayidx374 i32)
+ (local $$arrayidx379 i32)
+ (local $$arrayidx400 i32)
+ (local $$arrayidx419 i32)
+ (local $$arrayidx599 i32)
+ (local $$arrayidx99 i32)
+ (local $$bk343 i32)
+ (local $$bk82 i32)
+ (local $$child171 i32)
+ (local $$child443 i32)
+ (local $$cmp$i i32)
+ (local $$cond i32)
+ (local $$dec i32)
+ (local $$fd311 i32)
+ (local $$fd347 i32)
+ (local $$fd56 i32)
+ (local $$fd620 i32)
+ (local $$fd86 i32)
+ (local $$head209 i32)
+ (local $$head231 i32)
+ (local $$next4$i i32)
+ (local $$shl511 i32)
+ (local $$shl546 i32)
+ (local $$shl551 i32)
+ (local $$shl560 i32)
+ (local $$shl573 i32)
+ (local $$shl600 i32)
+ (local $$sp$0$i i32)
+ (local $$sub589 i32)
(i32.load
(i32.const 8)
)
@@ -20898,11 +20898,11 @@
(func $___muldsi3 (param $$a i32) (param $$b i32) (result i32)
(local $$8 i32)
(local $$12 i32)
- (local $$6 i32)
- (local $$3 i32)
+ (local $$1 i32)
(local $$2 i32)
+ (local $$3 i32)
+ (local $$6 i32)
(local $$11 i32)
- (local $$1 i32)
(set_local $$8
(i32.add
(i32.shr_u
@@ -20993,12 +20993,12 @@
)
)
(func $___divdi3 (param $$a$0 i32) (param $$a$1 i32) (param $$b$0 i32) (param $$b$1 i32) (result i32)
- (local $$2$1 i32)
- (local $$2$0 i32)
- (local $$1$1 i32)
(local $$1$0 i32)
- (local $$7$1 i32)
+ (local $$1$1 i32)
+ (local $$2$0 i32)
+ (local $$2$1 i32)
(local $$7$0 i32)
+ (local $$7$1 i32)
(set_local $$1$0
(i32.or
(i32.shr_s
@@ -21149,14 +21149,14 @@
)
)
(func $___remdi3 (param $$a$0 i32) (param $$a$1 i32) (param $$b$0 i32) (param $$b$1 i32) (result i32)
- (local $$1$1 i32)
(local $$1$0 i32)
+ (local $$1$1 i32)
(local $$rem i32)
- (local $__stackBase__ i32)
- (local $$2$1 i32)
(local $$2$0 i32)
- (local $$10$1 i32)
+ (local $$2$1 i32)
+ (local $__stackBase__ i32)
(local $$10$0 i32)
+ (local $$10$1 i32)
(set_local $__stackBase__
(i32.load
(i32.const 8)
@@ -21335,10 +21335,10 @@
)
)
(func $___muldi3 (param $$a$0 i32) (param $$a$1 i32) (param $$b$0 i32) (param $$b$1 i32) (result i32)
- (local $$y_sroa_0_0_extract_trunc i32)
(local $$x_sroa_0_0_extract_trunc i32)
- (local $$1$1 i32)
+ (local $$y_sroa_0_0_extract_trunc i32)
(local $$1$0 i32)
+ (local $$1$1 i32)
(set_local $$1$0
(call $___muldsi3
(set_local $$x_sroa_0_0_extract_trunc
@@ -21399,8 +21399,8 @@
)
)
(func $___uremdi3 (param $$a$0 i32) (param $$a$1 i32) (param $$b$0 i32) (param $$b$1 i32) (result i32)
- (local $__stackBase__ i32)
(local $$rem i32)
+ (local $__stackBase__ i32)
(set_local $__stackBase__
(i32.load
(i32.const 8)
@@ -21442,17 +21442,17 @@
)
)
)
- (func $___udivmoddi4 (param $$a$0 i32) (param $$a$1 i32) (param $$b$0 i32) (param $$b$1 i32) (param $$rem i32) (result i32)
+ (func $___udivmoddi4 (param $xl i32) (param $xh i32) (param $yl i32) (param $yh i32) (param $r i32) (result i32)
(local $x64 i64)
(local $y64 i64)
(set_local $x64
(i64.or
(i64.extend_u/i32
- (get_local $$a$0)
+ (get_local $xl)
)
(i64.shl
(i64.extend_u/i32
- (get_local $$a$1)
+ (get_local $xh)
)
(i64.const 32)
)
@@ -21461,20 +21461,20 @@
(set_local $y64
(i64.or
(i64.extend_u/i32
- (get_local $$b$0)
+ (get_local $yl)
)
(i64.shl
(i64.extend_u/i32
- (get_local $$b$1)
+ (get_local $yh)
)
(i64.const 32)
)
)
)
(if
- (get_local $$rem)
+ (get_local $r)
(i64.store
- (get_local $$rem)
+ (get_local $r)
(i64.rem_u
(get_local $x64)
(get_local $y64)
diff --git a/test/memorygrowth.fromasm b/test/memorygrowth.fromasm
index d81ecaa81..dac188a60 100644
--- a/test/memorygrowth.fromasm
+++ b/test/memorygrowth.fromasm
@@ -47,8 +47,8 @@
(local $ma i32)
(local $i i32)
(local $q i32)
- (local $ja i32)
(local $V i32)
+ (local $ja i32)
(local $c i32)
(local $aa i32)
(local $d i32)
@@ -59,80 +59,80 @@
(local $t i32)
(local $o i32)
(local $ca i32)
- (local $ga i32)
(local $U i32)
- (local $ea i32)
+ (local $ga i32)
(local $$ i32)
+ (local $ea i32)
(local $y i32)
(local $j i32)
- (local $ha i32)
(local $A i32)
+ (local $ha i32)
(local $ba i32)
(local $u i32)
(local $da i32)
(local $W i32)
(local $n i32)
- (local $ya i32)
- (local $fa i32)
(local $C i32)
- (local $ia i32)
+ (local $fa i32)
+ (local $ya i32)
(local $b i32)
+ (local $ia i32)
(local $l i32)
(local $Ea i32)
(local $P i32)
- (local $Oa i32)
(local $Ha i32)
- (local $za i32)
- (local $z i32)
+ (local $Oa i32)
(local $m i32)
- (local $X i32)
- (local $J i32)
+ (local $z i32)
(local $D i32)
- (local $wa i32)
+ (local $J i32)
+ (local $X i32)
+ (local $za i32)
+ (local $O i32)
(local $sa i32)
+ (local $wa i32)
(local $Pa i32)
- (local $O i32)
- (local $Y i32)
- (local $Q i32)
- (local $M i32)
- (local $E i32)
(local $B i32)
+ (local $E i32)
+ (local $M i32)
+ (local $Q i32)
+ (local $Y i32)
(local $Aa i32)
- (local $x i32)
(local $v i32)
- (local $T i32)
- (local $S i32)
- (local $R i32)
- (local $Na i32)
- (local $L i32)
- (local $K i32)
- (local $Ia i32)
+ (local $x i32)
(local $I i32)
+ (local $K i32)
+ (local $L i32)
+ (local $R i32)
+ (local $S i32)
+ (local $T i32)
(local $Ga i32)
- (local $xa i32)
- (local $w i32)
- (local $va i32)
+ (local $Ia i32)
+ (local $Na i32)
(local $h i32)
- (local $_ i32)
- (local $Ra i32)
- (local $Ma i32)
- (local $La i32)
- (local $Ja i32)
- (local $H i32)
+ (local $w i32)
(local $G i32)
- (local $Fa i32)
- (local $Da i32)
+ (local $H i32)
+ (local $_ i32)
+ (local $va i32)
+ (local $xa i32)
(local $Ca i32)
- (local $ua i32)
- (local $ra i32)
- (local $pa i32)
- (local $oa i32)
- (local $na i32)
- (local $Z i32)
- (local $Sa i32)
- (local $Ka i32)
+ (local $Da i32)
+ (local $Fa i32)
+ (local $Ja i32)
+ (local $La i32)
+ (local $Ma i32)
+ (local $Ra i32)
(local $F i32)
+ (local $Z i32)
+ (local $na i32)
+ (local $oa i32)
+ (local $pa i32)
+ (local $ra i32)
+ (local $ua i32)
(local $Ba i32)
+ (local $Ka i32)
+ (local $Sa i32)
(set_local $b
(i32.load
(i32.const 8)
@@ -6181,38 +6181,38 @@
(local $s i32)
(local $h i32)
(local $b i32)
- (local $n i32)
(local $f i32)
+ (local $n i32)
(local $w i32)
- (local $j i32)
(local $i i32)
+ (local $j i32)
(local $l i32)
- (local $o i32)
(local $g i32)
- (local $y i32)
+ (local $o i32)
(local $t i32)
- (local $v i32)
+ (local $y i32)
(local $u i32)
+ (local $v i32)
(local $e i32)
(local $F i32)
(local $p i32)
(local $c i32)
- (local $E i32)
(local $D i32)
+ (local $E i32)
(local $q i32)
(local $G i32)
(local $z i32)
(local $A i32)
- (local $I i32)
(local $H i32)
- (local $x i32)
+ (local $I i32)
(local $d i32)
- (local $L i32)
- (local $J i32)
+ (local $x i32)
(local $C i32)
+ (local $J i32)
+ (local $L i32)
(local $r i32)
- (local $K i32)
(local $B i32)
+ (local $K i32)
(if
(i32.eqz
(get_local $a)
@@ -8087,26 +8087,26 @@
)
(func $Ra (param $a i32) (param $b i32) (param $c i32) (result i32)
(local $g i32)
- (local $o i32)
(local $m i32)
- (local $x i32)
+ (local $o i32)
(local $i i32)
- (local $n i32)
- (local $l i32)
+ (local $x i32)
(local $h i32)
- (local $w i32)
- (local $f i32)
- (local $e i32)
+ (local $l i32)
+ (local $n i32)
(local $d i32)
- (local $z i32)
- (local $y i32)
- (local $v i32)
- (local $t i32)
- (local $p i32)
+ (local $e i32)
+ (local $f i32)
+ (local $w i32)
(local $j i32)
- (local $u i32)
- (local $s i32)
+ (local $p i32)
+ (local $t i32)
+ (local $v i32)
+ (local $y i32)
+ (local $z i32)
(local $q i32)
+ (local $s i32)
+ (local $u i32)
(set_local $d
(i32.load
(i32.const 8)
@@ -8504,15 +8504,15 @@
(func $Wa (param $a i32) (param $b i32) (param $c i32) (result i32)
(local $d i32)
(local $q i32)
- (local $l i32)
(local $e i32)
+ (local $l i32)
(local $h i32)
- (local $o i32)
- (local $n i32)
(local $m i32)
- (local $j i32)
- (local $g i32)
+ (local $n i32)
+ (local $o i32)
(local $f i32)
+ (local $g i32)
+ (local $j i32)
(local $p i32)
(if
(set_local $e
@@ -8750,15 +8750,15 @@
)
(func $Za (param $a i32) (result i32)
(local $d i32)
- (local $l i32)
(local $c i32)
+ (local $l i32)
(local $j i32)
(local $e i32)
- (local $m i32)
- (local $h i32)
- (local $g i32)
- (local $f i32)
(local $b i32)
+ (local $f i32)
+ (local $g i32)
+ (local $h i32)
+ (local $m i32)
(block $label$break$a
(if
(i32.and
@@ -8930,10 +8930,10 @@
(local $e i32)
(local $c i32)
(local $h i32)
- (local $g i32)
(local $b i32)
- (local $f i32)
+ (local $g i32)
(local $d i32)
+ (local $f i32)
(block $do-once$0
(if
(get_local $a)
@@ -9095,15 +9095,15 @@
)
)
(func $ab (param $a i32) (param $b i32) (result i32)
- (local $m i32)
(local $f i32)
+ (local $m i32)
(local $g i32)
- (local $j i32)
- (local $h i32)
- (local $d i32)
(local $c i32)
- (local $n i32)
+ (local $d i32)
+ (local $h i32)
+ (local $j i32)
(local $e i32)
+ (local $n i32)
(set_local $c
(i32.load
(i32.const 8)
@@ -9259,12 +9259,12 @@
)
(func $$a (param $a i32) (result i32)
(local $e i32)
- (local $d i32)
(local $b i32)
- (local $h i32)
- (local $g i32)
- (local $f i32)
+ (local $d i32)
(local $c i32)
+ (local $f i32)
+ (local $g i32)
+ (local $h i32)
(if
(i32.gt_u
(i32.load
@@ -9542,8 +9542,8 @@
(func $hb (param $a i32) (param $b i32) (param $c i32) (result i32)
(local $e i32)
(local $d i32)
- (local $g i32)
(local $f i32)
+ (local $g i32)
(set_local $d
(i32.add
(get_local $a)
@@ -9679,8 +9679,8 @@
(func $db (param $a i32) (result i32)
(local $b i32)
(local $d i32)
- (local $f i32)
(local $c i32)
+ (local $f i32)
(local $e i32)
(if
(i32.gt_s
@@ -9786,8 +9786,8 @@
)
)
(func $Xa (param $a i32) (result i32)
- (local $c i32)
(local $b i32)
+ (local $c i32)
(local $d i32)
(set_local $c
(i32.load8_s
@@ -9872,8 +9872,8 @@
(func $bb (param $a i32) (param $b i32) (param $c i32) (param $d i32) (result i32)
(local $h i32)
(local $e i32)
- (local $i i32)
(local $g i32)
+ (local $i i32)
(local $f i32)
(set_local $e
(i32.mul
@@ -9949,8 +9949,8 @@
(func $Ua (param $a i32) (param $b i32) (param $c i32) (result i32)
(local $e i32)
(local $d i32)
- (local $g i32)
(local $f i32)
+ (local $g i32)
(set_local $d
(i32.load
(i32.const 8)
diff --git a/test/memorygrowth.fromasm.imprecise b/test/memorygrowth.fromasm.imprecise
index d81ecaa81..dac188a60 100644
--- a/test/memorygrowth.fromasm.imprecise
+++ b/test/memorygrowth.fromasm.imprecise
@@ -47,8 +47,8 @@
(local $ma i32)
(local $i i32)
(local $q i32)
- (local $ja i32)
(local $V i32)
+ (local $ja i32)
(local $c i32)
(local $aa i32)
(local $d i32)
@@ -59,80 +59,80 @@
(local $t i32)
(local $o i32)
(local $ca i32)
- (local $ga i32)
(local $U i32)
- (local $ea i32)
+ (local $ga i32)
(local $$ i32)
+ (local $ea i32)
(local $y i32)
(local $j i32)
- (local $ha i32)
(local $A i32)
+ (local $ha i32)
(local $ba i32)
(local $u i32)
(local $da i32)
(local $W i32)
(local $n i32)
- (local $ya i32)
- (local $fa i32)
(local $C i32)
- (local $ia i32)
+ (local $fa i32)
+ (local $ya i32)
(local $b i32)
+ (local $ia i32)
(local $l i32)
(local $Ea i32)
(local $P i32)
- (local $Oa i32)
(local $Ha i32)
- (local $za i32)
- (local $z i32)
+ (local $Oa i32)
(local $m i32)
- (local $X i32)
- (local $J i32)
+ (local $z i32)
(local $D i32)
- (local $wa i32)
+ (local $J i32)
+ (local $X i32)
+ (local $za i32)
+ (local $O i32)
(local $sa i32)
+ (local $wa i32)
(local $Pa i32)
- (local $O i32)
- (local $Y i32)
- (local $Q i32)
- (local $M i32)
- (local $E i32)
(local $B i32)
+ (local $E i32)
+ (local $M i32)
+ (local $Q i32)
+ (local $Y i32)
(local $Aa i32)
- (local $x i32)
(local $v i32)
- (local $T i32)
- (local $S i32)
- (local $R i32)
- (local $Na i32)
- (local $L i32)
- (local $K i32)
- (local $Ia i32)
+ (local $x i32)
(local $I i32)
+ (local $K i32)
+ (local $L i32)
+ (local $R i32)
+ (local $S i32)
+ (local $T i32)
(local $Ga i32)
- (local $xa i32)
- (local $w i32)
- (local $va i32)
+ (local $Ia i32)
+ (local $Na i32)
(local $h i32)
- (local $_ i32)
- (local $Ra i32)
- (local $Ma i32)
- (local $La i32)
- (local $Ja i32)
- (local $H i32)
+ (local $w i32)
(local $G i32)
- (local $Fa i32)
- (local $Da i32)
+ (local $H i32)
+ (local $_ i32)
+ (local $va i32)
+ (local $xa i32)
(local $Ca i32)
- (local $ua i32)
- (local $ra i32)
- (local $pa i32)
- (local $oa i32)
- (local $na i32)
- (local $Z i32)
- (local $Sa i32)
- (local $Ka i32)
+ (local $Da i32)
+ (local $Fa i32)
+ (local $Ja i32)
+ (local $La i32)
+ (local $Ma i32)
+ (local $Ra i32)
(local $F i32)
+ (local $Z i32)
+ (local $na i32)
+ (local $oa i32)
+ (local $pa i32)
+ (local $ra i32)
+ (local $ua i32)
(local $Ba i32)
+ (local $Ka i32)
+ (local $Sa i32)
(set_local $b
(i32.load
(i32.const 8)
@@ -6181,38 +6181,38 @@
(local $s i32)
(local $h i32)
(local $b i32)
- (local $n i32)
(local $f i32)
+ (local $n i32)
(local $w i32)
- (local $j i32)
(local $i i32)
+ (local $j i32)
(local $l i32)
- (local $o i32)
(local $g i32)
- (local $y i32)
+ (local $o i32)
(local $t i32)
- (local $v i32)
+ (local $y i32)
(local $u i32)
+ (local $v i32)
(local $e i32)
(local $F i32)
(local $p i32)
(local $c i32)
- (local $E i32)
(local $D i32)
+ (local $E i32)
(local $q i32)
(local $G i32)
(local $z i32)
(local $A i32)
- (local $I i32)
(local $H i32)
- (local $x i32)
+ (local $I i32)
(local $d i32)
- (local $L i32)
- (local $J i32)
+ (local $x i32)
(local $C i32)
+ (local $J i32)
+ (local $L i32)
(local $r i32)
- (local $K i32)
(local $B i32)
+ (local $K i32)
(if
(i32.eqz
(get_local $a)
@@ -8087,26 +8087,26 @@
)
(func $Ra (param $a i32) (param $b i32) (param $c i32) (result i32)
(local $g i32)
- (local $o i32)
(local $m i32)
- (local $x i32)
+ (local $o i32)
(local $i i32)
- (local $n i32)
- (local $l i32)
+ (local $x i32)
(local $h i32)
- (local $w i32)
- (local $f i32)
- (local $e i32)
+ (local $l i32)
+ (local $n i32)
(local $d i32)
- (local $z i32)
- (local $y i32)
- (local $v i32)
- (local $t i32)
- (local $p i32)
+ (local $e i32)
+ (local $f i32)
+ (local $w i32)
(local $j i32)
- (local $u i32)
- (local $s i32)
+ (local $p i32)
+ (local $t i32)
+ (local $v i32)
+ (local $y i32)
+ (local $z i32)
(local $q i32)
+ (local $s i32)
+ (local $u i32)
(set_local $d
(i32.load
(i32.const 8)
@@ -8504,15 +8504,15 @@
(func $Wa (param $a i32) (param $b i32) (param $c i32) (result i32)
(local $d i32)
(local $q i32)
- (local $l i32)
(local $e i32)
+ (local $l i32)
(local $h i32)
- (local $o i32)
- (local $n i32)
(local $m i32)
- (local $j i32)
- (local $g i32)
+ (local $n i32)
+ (local $o i32)
(local $f i32)
+ (local $g i32)
+ (local $j i32)
(local $p i32)
(if
(set_local $e
@@ -8750,15 +8750,15 @@
)
(func $Za (param $a i32) (result i32)
(local $d i32)
- (local $l i32)
(local $c i32)
+ (local $l i32)
(local $j i32)
(local $e i32)
- (local $m i32)
- (local $h i32)
- (local $g i32)
- (local $f i32)
(local $b i32)
+ (local $f i32)
+ (local $g i32)
+ (local $h i32)
+ (local $m i32)
(block $label$break$a
(if
(i32.and
@@ -8930,10 +8930,10 @@
(local $e i32)
(local $c i32)
(local $h i32)
- (local $g i32)
(local $b i32)
- (local $f i32)
+ (local $g i32)
(local $d i32)
+ (local $f i32)
(block $do-once$0
(if
(get_local $a)
@@ -9095,15 +9095,15 @@
)
)
(func $ab (param $a i32) (param $b i32) (result i32)
- (local $m i32)
(local $f i32)
+ (local $m i32)
(local $g i32)
- (local $j i32)
- (local $h i32)
- (local $d i32)
(local $c i32)
- (local $n i32)
+ (local $d i32)
+ (local $h i32)
+ (local $j i32)
(local $e i32)
+ (local $n i32)
(set_local $c
(i32.load
(i32.const 8)
@@ -9259,12 +9259,12 @@
)
(func $$a (param $a i32) (result i32)
(local $e i32)
- (local $d i32)
(local $b i32)
- (local $h i32)
- (local $g i32)
- (local $f i32)
+ (local $d i32)
(local $c i32)
+ (local $f i32)
+ (local $g i32)
+ (local $h i32)
(if
(i32.gt_u
(i32.load
@@ -9542,8 +9542,8 @@
(func $hb (param $a i32) (param $b i32) (param $c i32) (result i32)
(local $e i32)
(local $d i32)
- (local $g i32)
(local $f i32)
+ (local $g i32)
(set_local $d
(i32.add
(get_local $a)
@@ -9679,8 +9679,8 @@
(func $db (param $a i32) (result i32)
(local $b i32)
(local $d i32)
- (local $f i32)
(local $c i32)
+ (local $f i32)
(local $e i32)
(if
(i32.gt_s
@@ -9786,8 +9786,8 @@
)
)
(func $Xa (param $a i32) (result i32)
- (local $c i32)
(local $b i32)
+ (local $c i32)
(local $d i32)
(set_local $c
(i32.load8_s
@@ -9872,8 +9872,8 @@
(func $bb (param $a i32) (param $b i32) (param $c i32) (param $d i32) (result i32)
(local $h i32)
(local $e i32)
- (local $i i32)
(local $g i32)
+ (local $i i32)
(local $f i32)
(set_local $e
(i32.mul
@@ -9949,8 +9949,8 @@
(func $Ua (param $a i32) (param $b i32) (param $c i32) (result i32)
(local $e i32)
(local $d i32)
- (local $g i32)
(local $f i32)
+ (local $g i32)
(set_local $d
(i32.load
(i32.const 8)
diff --git a/test/unit.fromasm b/test/unit.fromasm
index b54b4564c..9a142a142 100644
--- a/test/unit.fromasm
+++ b/test/unit.fromasm
@@ -293,8 +293,8 @@
)
)
(func $fr (param $x f32)
- (local $z f64)
(local $y f32)
+ (local $z f64)
(f32.demote/f64
(get_local $z)
)
diff --git a/test/unit.fromasm.imprecise b/test/unit.fromasm.imprecise
index ae9b4d70c..1ccbda8a1 100644
--- a/test/unit.fromasm.imprecise
+++ b/test/unit.fromasm.imprecise
@@ -289,8 +289,8 @@
)
)
(func $fr (param $x f32)
- (local $z f64)
(local $y f32)
+ (local $z f64)
(f32.demote/f64
(get_local $z)
)