From fd11edc5ae9c0df8cdd1644166488264949a1ee2 Mon Sep 17 00:00:00 2001 From: Ashley Nelson Date: Thu, 16 Jun 2022 21:39:05 +0000 Subject: [PATCH 01/78] Updating wasm.h/.cpp --- src/wasm.h | 10 +++++++--- src/wasm/wasm.cpp | 23 +++++++++++++++++++++++ 2 files changed, 30 insertions(+), 3 deletions(-) diff --git a/src/wasm.h b/src/wasm.h index 04d4391a2ff..0d9de19aff6 100644 --- a/src/wasm.h +++ b/src/wasm.h @@ -2042,7 +2042,6 @@ class Memory : public Importable { static const Address::address32_t kMaxSize32 = (uint64_t(4) * 1024 * 1024 * 1024) / kPageSize; - bool exists = false; Address initial = 0; // sizes are in pages Address max = kMaxSize32; @@ -2053,7 +2052,6 @@ class Memory : public Importable { bool hasMax() { return max != kUnlimitedSize; } bool is64() { return indexType == Type::i64; } void clear() { - exists = false; name = ""; initial = 0; max = kMaxSize32; @@ -2100,10 +2098,10 @@ class Module { std::vector> globals; std::vector> tags; std::vector> elementSegments; + std::vector> memories; std::vector> dataSegments; std::vector> tables; - Memory memory; Name start; std::vector userSections; @@ -2135,6 +2133,7 @@ class Module { std::unordered_map exportsMap; std::unordered_map functionsMap; std::unordered_map tablesMap; + std::unordered_map memoriesMap; std::unordered_map elementSegmentsMap; std::unordered_map dataSegmentsMap; std::unordered_map globalsMap; @@ -2147,12 +2146,14 @@ class Module { Function* getFunction(Name name); Table* getTable(Name name); ElementSegment* getElementSegment(Name name); + Memory* getMemorySegment(Name name); DataSegment* getDataSegment(Name name); Global* getGlobal(Name name); Tag* getTag(Name name); Export* getExportOrNull(Name name); Table* getTableOrNull(Name name); + Memory* getMemoryOrNull(Name name); ElementSegment* getElementSegmentOrNull(Name name); DataSegment* getDataSegmentOrNull(Name name); Function* getFunctionOrNull(Name name); @@ -2168,6 +2169,7 @@ class Module { Function* addFunction(std::unique_ptr&& curr); Table* addTable(std::unique_ptr&& curr); ElementSegment* addElementSegment(std::unique_ptr&& curr); + Memory* addMemory(std::unique_ptr&& curr); DataSegment* addDataSegment(std::unique_ptr&& curr); Global* addGlobal(std::unique_ptr&& curr); Tag* addTag(std::unique_ptr&& curr); @@ -2178,6 +2180,7 @@ class Module { void removeFunction(Name name); void removeTable(Name name); void removeElementSegment(Name name); + void removeMemory(Name name); void removeDataSegment(Name name); void removeGlobal(Name name); void removeTag(Name name); @@ -2186,6 +2189,7 @@ class Module { void removeFunctions(std::function pred); void removeTables(std::function pred); void removeElementSegments(std::function pred); + void removeMemory(std::function pred); void removeDataSegments(std::function pred); void removeGlobals(std::function pred); void removeTags(std::function pred); diff --git a/src/wasm/wasm.cpp b/src/wasm/wasm.cpp index 1c9c1389de8..9d5b4eb23d1 100644 --- a/src/wasm/wasm.cpp +++ b/src/wasm/wasm.cpp @@ -1336,6 +1336,10 @@ ElementSegment* Module::getElementSegment(Name name) { return getModuleElement(elementSegmentsMap, name, "getElementSegment"); } +Memory* Module::getMemory(Name name) { + return getModuleElement(memoriesMap, name, "getMemories"); +} + DataSegment* Module::getDataSegment(Name name) { return getModuleElement(dataSegmentsMap, name, "getDataSegment"); } @@ -1373,6 +1377,10 @@ ElementSegment* Module::getElementSegmentOrNull(Name name) { return getModuleElementOrNull(elementSegmentsMap, name); } +Memory* Module::getMemoryOrNull(Name name) { + return getModuleElementOrNull(memoriesMap, name); +} + DataSegment* Module::getDataSegmentOrNull(Name name) { return getModuleElementOrNull(dataSegmentsMap, name); } @@ -1452,6 +1460,11 @@ Module::addElementSegment(std::unique_ptr&& curr) { elementSegments, elementSegmentsMap, std::move(curr), "addElementSegment"); } +Memory* Module::addMemory(std::unique_ptr&& curr) { + return addModuleElement( + memories, memoriesMap, std::move(curr), "addMemory"); +} + DataSegment* Module::addDataSegment(std::unique_ptr&& curr) { return addModuleElement( dataSegments, dataSegmentsMap, std::move(curr), "addDataSegment"); @@ -1490,6 +1503,9 @@ void Module::removeTable(Name name) { void Module::removeElementSegment(Name name) { removeModuleElement(elementSegments, elementSegmentsMap, name); } +void Module::removeMemory(Name name) { + removeModuleElement(memories, memoriesMap, name); +} void Module::removeDataSegment(Name name) { removeModuleElement(dataSegments, dataSegmentsMap, name); } @@ -1526,6 +1542,9 @@ void Module::removeTables(std::function pred) { void Module::removeElementSegments(std::function pred) { removeModuleElements(elementSegments, elementSegmentsMap, pred); } +void Module::removeMemories(std::function pred) { + removeModuleElements(memories, memoriesMap, pred); +} void Module::removeDataSegments(std::function pred) { removeModuleElements(dataSegments, dataSegmentsMap, pred); } @@ -1553,6 +1572,10 @@ void Module::updateMaps() { for (auto& curr : elementSegments) { elementSegmentsMap[curr->name] = curr.get(); } + memoriesMap.clear(); + for (auto& curr : memories) { + memoriesMap[curr->name] = curr.get(); + } dataSegmentsMap.clear(); for (auto& curr : dataSegments) { dataSegmentsMap[curr->name] = curr.get(); From 71b0eef96d9bf151037c6f7590513dc6c6527fdc Mon Sep 17 00:00:00 2001 From: Ashley Nelson Date: Sun, 19 Jun 2022 21:22:19 +0000 Subject: [PATCH 02/78] Updated wasm-binary.h/cpp --- src/wasm-binary.h | 3 ++ src/wasm-builder.h | 6 ++++ src/wasm.h | 1 - src/wasm/wasm-binary.cpp | 75 +++++++++++++++++++++------------------- 4 files changed, 49 insertions(+), 36 deletions(-) diff --git a/src/wasm-binary.h b/src/wasm-binary.h index 6b05c38cc51..7f453fc1520 100644 --- a/src/wasm-binary.h +++ b/src/wasm-binary.h @@ -1526,6 +1526,9 @@ class WasmBinaryBuilder { // names std::vector> elementSegments; + // we store memories here after being read from binary, before we know their + // names + std::vector> memories; // we store data here after being read from binary, before we know their names std::vector> dataSegments; diff --git a/src/wasm-builder.h b/src/wasm-builder.h index 3677b979671..66ec6da56cb 100644 --- a/src/wasm-builder.h +++ b/src/wasm-builder.h @@ -94,6 +94,12 @@ class Builder { return table; } + static std::unique_ptrmakeMemory(Name name = Name::fromInt(0)) { + auto memory = std::make_uniquename = name; + return memory; + } + static std::unique_ptr makeElementSegment(Name name, Name table, diff --git a/src/wasm.h b/src/wasm.h index 0d9de19aff6..25730a4b133 100644 --- a/src/wasm.h +++ b/src/wasm.h @@ -2048,7 +2048,6 @@ class Memory : public Importable { bool shared = false; Type indexType = Type::i32; - Memory() { name = Name::fromInt(0); } bool hasMax() { return max != kUnlimitedSize; } bool is64() { return indexType == Type::i64; } void clear() { diff --git a/src/wasm/wasm-binary.cpp b/src/wasm/wasm-binary.cpp index e4b94220362..b62569002a0 100644 --- a/src/wasm/wasm-binary.cpp +++ b/src/wasm/wasm-binary.cpp @@ -204,17 +204,17 @@ void WasmBinaryWriter::writeStart() { } void WasmBinaryWriter::writeMemory() { - if (!wasm->memory.exists || wasm->memory.imported()) { + if (!wasm->memories[0] || wasm->memories[0]->imported()) { return; } BYN_TRACE("== writeMemory\n"); auto start = startSection(BinaryConsts::Section::Memory); o << U32LEB(1); // Define 1 memory - writeResizableLimits(wasm->memory.initial, - wasm->memory.max, - wasm->memory.hasMax(), - wasm->memory.shared, - wasm->memory.is64()); + writeResizableLimits(wasm->memories[0]->initial, + wasm->memories[0]->max, + wasm->memories[0]->hasMax(), + wasm->memories[0]->shared, + wasm->memories[0]->is64()); finishSection(start); } @@ -333,15 +333,15 @@ void WasmBinaryWriter::writeImports() { o << uint8_t(0); // Reserved 'attribute' field. Always 0. o << U32LEB(getTypeIndex(tag->sig)); }); - if (wasm->memory.imported()) { + if (wasm->memories[0]->imported()) { BYN_TRACE("write one memory\n"); - writeImportHeader(&wasm->memory); + writeImportHeader(wasm->memories[0]); o << U32LEB(int32_t(ExternalKind::Memory)); - writeResizableLimits(wasm->memory.initial, - wasm->memory.max, - wasm->memory.hasMax(), - wasm->memory.shared, - wasm->memory.is64()); + writeResizableLimits(wasm->memories[0]->initial, + wasm->memories[0]->max, + wasm->memories[0]->hasMax(), + wasm->memories[0]->shared, + wasm->memories[0]->is64()); } ModuleUtils::iterImportedTables(*wasm, [&](Table* table) { BYN_TRACE("write one table\n"); @@ -930,11 +930,11 @@ void WasmBinaryWriter::writeNames() { } // memory names - if (wasm->memory.exists && wasm->memory.hasExplicitName) { + if (wasm->memories[0] && wasm->memories[0]->hasExplicitName) { auto substart = startSubsection(BinaryConsts::UserSections::Subsection::NameMemory); o << U32LEB(1) << U32LEB(0); // currently exactly 1 memory at index 0 - writeEscapedName(wasm->memory.name.str); + writeEscapedName(wasm->memories[0]->name.str); finishSubsection(substart); } @@ -990,7 +990,7 @@ void WasmBinaryWriter::writeNames() { } // data segment names - if (wasm->memory.exists) { + if (wasm->memories[0]) { Index count = 0; for (auto& seg : wasm->dataSegments) { if (seg->hasExplicitName) { @@ -1762,7 +1762,7 @@ int64_t WasmBinaryBuilder::getS64LEB() { } uint64_t WasmBinaryBuilder::getUPtrLEB() { - return wasm.memory.is64() ? getU64LEB() : getU32LEB(); + return wasm.memories[0]->is64() ? getU64LEB() : getU32LEB(); } bool WasmBinaryBuilder::getBasicType(int32_t code, Type& out) { @@ -1972,15 +1972,16 @@ void WasmBinaryBuilder::readMemory() { if (numMemories != 1) { throwError("Must be exactly 1 memory"); } - if (wasm.memory.exists) { + if (wasm.memories[0]) { throwError("Memory cannot be both imported and defined"); } - wasm.memory.exists = true; - getResizableLimits(wasm.memory.initial, - wasm.memory.max, - wasm.memory.shared, - wasm.memory.indexType, + auto memory = Builder::makeMemory(); + getResizableLimits(memory->initial, + memory->max, + memory->shared, + memory->indexType, Memory::kUnlimitedSize); + memories.push_back(memory); } void WasmBinaryBuilder::readTypes() { @@ -2270,14 +2271,15 @@ void WasmBinaryBuilder::readImports() { } case ExternalKind::Memory: { Name name(std::string("mimport$") + std::to_string(memoryCounter++)); - wasm.memory.module = module; - wasm.memory.base = base; - wasm.memory.name = name; - wasm.memory.exists = true; - getResizableLimits(wasm.memory.initial, - wasm.memory.max, - wasm.memory.shared, - wasm.memory.indexType, + auto curr = builder.makeMemory(name); + wasm.addMemory(std::move(curr)); + wasm.memories[0]->module = module; + wasm.memories[0]->base = base; + wasm.memories[0]->name = name; + getResizableLimits(wasm.memories[0]->initial, + wasm.memories[0]->max, + wasm.memories[0]->shared, + wasm.memories[0]->indexType, Memory::kUnlimitedSize); break; } @@ -2923,6 +2925,9 @@ void WasmBinaryBuilder::processNames() { for (auto& segment : elementSegments) { wasm.addElementSegment(std::move(segment)); } + if (memories.size() == 1) { + wasm.addMemory(std::move(memories[0])); + } for (auto& segment : dataSegments) { wasm.addDataSegment(std::move(segment)); } @@ -2943,7 +2948,7 @@ void WasmBinaryBuilder::processNames() { curr->value = getTableName(index); break; case ExternalKind::Memory: - curr->value = wasm.memory.name; + curr->value = wasm.memories[0]->name; break; case ExternalKind::Global: curr->value = getGlobalName(index); @@ -3337,7 +3342,7 @@ void WasmBinaryBuilder::readNames(size_t payloadLen) { auto index = getU32LEB(); auto rawName = getInlineString(); if (index == 0) { - wasm.memory.setExplicitName(escape(rawName)); + memories[0]->setExplicitName(escape(rawName)); } else { std::cerr << "warning: memory index out of bounds in name section, " "memory subsection: " @@ -3713,7 +3718,7 @@ BinaryConsts::ASTNodes WasmBinaryBuilder::readExpression(Expression*& curr) { break; case BinaryConsts::MemorySize: { auto size = allocator.alloc(); - if (wasm.memory.is64()) { + if (wasm.memories[0]->is64()) { size->make64(); } curr = size; @@ -3722,7 +3727,7 @@ BinaryConsts::ASTNodes WasmBinaryBuilder::readExpression(Expression*& curr) { } case BinaryConsts::MemoryGrow: { auto grow = allocator.alloc(); - if (wasm.memory.is64()) { + if (wasm.memories[0]->is64()) { grow->make64(); } curr = grow; From 74c77a7e29c6c15e036ed74dedeb6f308b152ef7 Mon Sep 17 00:00:00 2001 From: Ashley Nelson Date: Sun, 19 Jun 2022 23:44:46 +0000 Subject: [PATCH 03/78] Updated wasm-s-parser.cpp --- src/wasm/wasm-s-parser.cpp | 62 ++++++++++++++++++++------------------ 1 file changed, 32 insertions(+), 30 deletions(-) diff --git a/src/wasm/wasm-s-parser.cpp b/src/wasm/wasm-s-parser.cpp index 382ca741d24..07faeba5132 100644 --- a/src/wasm/wasm-s-parser.cpp +++ b/src/wasm/wasm-s-parser.cpp @@ -1359,7 +1359,7 @@ Expression* SExpressionWasmBuilder::makeDrop(Element& s) { Expression* SExpressionWasmBuilder::makeMemorySize(Element& s) { auto ret = allocator.alloc(); - if (wasm.memory.is64()) { + if (wasm.memories[0]->is64()) { ret->make64(); } ret->finalize(); @@ -1368,7 +1368,7 @@ Expression* SExpressionWasmBuilder::makeMemorySize(Element& s) { Expression* SExpressionWasmBuilder::makeMemoryGrow(Element& s) { auto ret = allocator.alloc(); - if (wasm.memory.is64()) { + if (wasm.memories[0]->s64()) { ret->make64(); } ret->delta = parseExpression(s[1]); @@ -2999,10 +2999,10 @@ Index SExpressionWasmBuilder::parseMemoryIndex(Element& s, Index i) { if (i < s.size() && s[i]->isStr()) { if (s[i]->str() == "i64") { i++; - wasm.memory.indexType = Type::i64; + wasm.memories[0]->indexType = Type::i64; } else if (s[i]->str() == "i32") { i++; - wasm.memory.indexType = Type::i32; + wasm.memories[0]->indexType = Type::i32; } } return i; @@ -3014,16 +3014,16 @@ Index SExpressionWasmBuilder::parseMemoryLimits(Element& s, Index i) { throw ParseException("missing memory limits", s.line, s.col); } auto initElem = s[i++]; - wasm.memory.initial = getAddress(initElem); - if (!wasm.memory.is64()) { - checkAddress(wasm.memory.initial, "excessive memory init", initElem); + wasm.memories[0]->initial = getAddress(initElem); + if (!wasm.memories[0]->64()) { + checkAddress(wasm.memories[0]->initial, "excessive memory init", initElem); } if (i == s.size()) { - wasm.memory.max = Memory::kUnlimitedSize; + wasm.memories[0]->max = Memory::kUnlimitedSize; } else { auto maxElem = s[i++]; - wasm.memory.max = getAddress(maxElem); - if (!wasm.memory.is64() && wasm.memory.max > Memory::kMaxSize32) { + wasm.memories[0]->max = getAddress(maxElem); + if (!wasm.memories[0]->is64() && wasm.memories[0]->max > Memory::kMaxSize32) { throw ParseException( "total memory must be <= 4GB", maxElem->line, maxElem->col); } @@ -3032,15 +3032,16 @@ Index SExpressionWasmBuilder::parseMemoryLimits(Element& s, Index i) { } void SExpressionWasmBuilder::parseMemory(Element& s, bool preParseImport) { - if (wasm.memory.exists) { + if (wasm.memories[0]) { throw ParseException("too many memories", s.line, s.col); } - wasm.memory.exists = true; - wasm.memory.shared = false; + auto memory = make_unique(); + memory->shared = false; Index i = 1; if (s[i]->dollared()) { - wasm.memory.setExplicitName(s[i++]->str()); + memory->setExplicitName(s[i++]->str()); } + wasm.addMemory(memory); i = parseMemoryIndex(s, i); Name importModule, importBase; if (s[i]->isList()) { @@ -3048,7 +3049,7 @@ void SExpressionWasmBuilder::parseMemory(Element& s, bool preParseImport) { if (elementStartsWith(inner, EXPORT)) { auto ex = make_unique(); ex->name = inner[1]->str(); - ex->value = wasm.memory.name; + ex->value = wasm.memories[0]->name; ex->kind = ExternalKind::Memory; if (wasm.getExportOrNull(ex->name)) { throw ParseException("duplicate export", inner.line, inner.col); @@ -3056,11 +3057,11 @@ void SExpressionWasmBuilder::parseMemory(Element& s, bool preParseImport) { wasm.addExport(ex.release()); i++; } else if (elementStartsWith(inner, IMPORT)) { - wasm.memory.module = inner[1]->str(); - wasm.memory.base = inner[2]->str(); + wasm.memories[0]->module = inner[1]->str(); + wasm.memories[0]->base = inner[2]->str(); i++; } else if (elementStartsWith(inner, SHARED)) { - wasm.memory.shared = true; + wasm.memories[0]->shared = true; parseMemoryLimits(inner, 1); i++; } else { @@ -3070,18 +3071,18 @@ void SExpressionWasmBuilder::parseMemory(Element& s, bool preParseImport) { // (memory (data ..)) format auto j = parseMemoryIndex(inner, 1); auto offset = allocator.alloc(); - if (wasm.memory.is64()) { + if (wasm.memories[0]->is64()) { offset->set(Literal(int64_t(0))); } else { offset->set(Literal(int32_t(0))); } parseInnerData( inner, j, Name::fromInt(dataCounter++), false, offset, false); - wasm.memory.initial = wasm.dataSegments[0]->data.size(); + wasm.memories[0]->initial = wasm.dataSegments[0]->data.size(); return; } } - if (!wasm.memory.shared) { + if (!wasm.memories[0]->shared) { i = parseMemoryLimits(s, i); } @@ -3095,13 +3096,13 @@ void SExpressionWasmBuilder::parseMemory(Element& s, bool preParseImport) { } else { auto offsetElem = curr[j++]; offsetValue = getAddress(offsetElem); - if (!wasm.memory.is64()) { + if (!wasm.memories[0]->is64()) { checkAddress(offsetValue, "excessive memory offset", offsetElem); } } const char* input = curr[j]->c_str(); auto* offset = allocator.alloc(); - if (wasm.memory.is64()) { + if (wasm.memories[0]->is64()) { offset->type = Type::i64; offset->value = Literal(offsetValue); } else { @@ -3126,7 +3127,7 @@ void SExpressionWasmBuilder::parseMemory(Element& s, bool preParseImport) { } void SExpressionWasmBuilder::parseData(Element& s) { - if (!wasm.memory.exists) { + if (!wasm.memories[0]) { throw ParseException("data but no memory", s.line, s.col); } Index i = 1; @@ -3224,10 +3225,9 @@ void SExpressionWasmBuilder::parseImport(Element& s) { kind = ExternalKind::Function; } else if (elementStartsWith(*s[3], MEMORY)) { kind = ExternalKind::Memory; - if (wasm.memory.exists) { + if (wasm.memories[0]) { throw ParseException("more than one memory", s[3]->line, s[3]->col); } - wasm.memory.exists = true; } else if (elementStartsWith(*s[3], TABLE)) { kind = ExternalKind::Table; } else if (elementStartsWith(*s[3], GLOBAL)) { @@ -3320,16 +3320,18 @@ void SExpressionWasmBuilder::parseImport(Element& s) { j++; // funcref // ends with the table element type } else if (kind == ExternalKind::Memory) { - wasm.memory.setName(name, hasExplicitName); - wasm.memory.module = module; - wasm.memory.base = base; + auto memory = make_unique(); + memory->setName(name, hasExplicitName); + memory->module = module; + memory->base = base; + wasm.addMemory(std::move(memory)); if (inner[j]->isList()) { auto& limits = *inner[j]; if (!elementStartsWith(limits, SHARED)) { throw ParseException( "bad memory limit declaration", inner[j]->line, inner[j]->col); } - wasm.memory.shared = true; + wasm->memories[0]->shared = true; j = parseMemoryLimits(limits, 1); } else { j = parseMemoryLimits(inner, j); From 44946d436ca163d298965df59934d2cd04d8ef11 Mon Sep 17 00:00:00 2001 From: Ashley Nelson Date: Sun, 19 Jun 2022 23:52:45 +0000 Subject: [PATCH 04/78] Update wasm2js.h --- src/wasm2js.h | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/src/wasm2js.h b/src/wasm2js.h index 442fd0d6e28..72368c2ce11 100644 --- a/src/wasm2js.h +++ b/src/wasm2js.h @@ -103,7 +103,7 @@ bool hasActiveSegments(Module& wasm) { } bool needsBufferView(Module& wasm) { - if (!wasm.memory.exists) { + if (!wasm.memories[0]) { return false; } @@ -414,8 +414,8 @@ Ref Wasm2JSBuilder::processWasm(Module* wasm, Name funcName) { ValueBuilder::appendArgumentToFunction(asmFunc, ENV); // add memory import - if (wasm->memory.exists) { - if (wasm->memory.imported()) { + if (wasm->memories[0]) { + if (wasm->memories[0]->imported()) { // find memory and buffer in imports Ref theVar = ValueBuilder::makeVar(); asmFunc[3]->push_back(theVar); @@ -423,7 +423,7 @@ Ref Wasm2JSBuilder::processWasm(Module* wasm, Name funcName) { theVar, "memory", ValueBuilder::makeDot(ValueBuilder::makeName(ENV), - ValueBuilder::makeName(wasm->memory.base))); + ValueBuilder::makeName(wasm->memories[0]->base))); // Assign `buffer = memory.buffer` Ref buf = ValueBuilder::makeVar(); @@ -436,7 +436,7 @@ Ref Wasm2JSBuilder::processWasm(Module* wasm, Name funcName) { // If memory is growable, override the imported memory's grow method to // ensure so that when grow is called from the output it works as expected - if (wasm->memory.max > wasm->memory.initial) { + if (wasm->memories[0]->max > wasm->memories[0]->initial) { asmFunc[3]->push_back( ValueBuilder::makeStatement(ValueBuilder::makeBinary( ValueBuilder::makeDot(ValueBuilder::makeName("memory"), @@ -452,7 +452,7 @@ Ref Wasm2JSBuilder::processWasm(Module* wasm, Name funcName) { BUFFER, ValueBuilder::makeNew(ValueBuilder::makeCall( ValueBuilder::makeName("ArrayBuffer"), - ValueBuilder::makeInt(Address::address32_t(wasm->memory.initial.addr * + ValueBuilder::makeInt(Address::address32_t(wasm->memories->initial.addr * Memory::kPageSize))))); } } @@ -536,7 +536,7 @@ Ref Wasm2JSBuilder::processWasm(Module* wasm, Name funcName) { } void Wasm2JSBuilder::addBasics(Ref ast, Module* wasm) { - if (wasm->memory.exists) { + if (wasm->memories[0]) { // heaps, var HEAP8 = new global.Int8Array(buffer); etc auto addHeap = [&](IString name, IString view) { Ref theVar = ValueBuilder::makeVar(); @@ -732,7 +732,7 @@ void Wasm2JSBuilder::addExports(Ref ast, Module* wasm) { Ref growDesc = ValueBuilder::makeObject(); ValueBuilder::appendToObjectWithQuotes( descs, IString("grow"), growDesc); - if (wasm->memory.max > wasm->memory.initial) { + if (wasm->memories[0]->max > wasm->memories[0]->initial) { ValueBuilder::appendToObjectWithQuotes( growDesc, IString("value"), @@ -805,7 +805,7 @@ void Wasm2JSBuilder::addExports(Ref ast, Module* wasm) { Fatal() << "unsupported export type: " << export_->name << "\n"; } } - if (wasm->memory.exists) { + if (wasm->memories[0]) { addMemoryFuncs(ast, wasm); } ast->push_back( @@ -1474,7 +1474,7 @@ Ref Wasm2JSBuilder::processFunctionBody(Module* m, } Ref visitStore(Store* curr) { - if (module->memory.initial < module->memory.max && + if (module->memories[0]->initial < module->memories[0]->max && curr->type != Type::unreachable) { // In JS, if memory grows then it is dangerous to write // HEAP[f()] = .. @@ -2006,8 +2006,8 @@ Ref Wasm2JSBuilder::processFunctionBody(Module* m, } Ref visitMemoryGrow(MemoryGrow* curr) { - if (module->memory.exists && - module->memory.max > module->memory.initial) { + if (module->memories[0] && + module->memories[0]->max > module->memories[0]->initial) { return ValueBuilder::makeCall( WASM_MEMORY_GROW, makeJsCoercion(visit(curr->delta, EXPRESSION_RESULT), @@ -2382,7 +2382,7 @@ void Wasm2JSBuilder::addMemoryFuncs(Ref ast, Module* wasm) { JsType::JS_INT))); ast->push_back(memorySizeFunc); - if (wasm->memory.max > wasm->memory.initial) { + if (wasm->memories[0]->max > wasm->memories[0]->initial) { addMemoryGrowFunc(ast, wasm); } } @@ -2482,7 +2482,7 @@ void Wasm2JSBuilder::addMemoryGrowFunc(Ref ast, Module* wasm) { ValueBuilder::makeName(IString("newBuffer")))); // apply the changes to the memory import - if (wasm->memory.imported()) { + if (wasm->memories[0]->imported()) { ValueBuilder::appendToBlock( block, ValueBuilder::makeBinary( @@ -2625,9 +2625,9 @@ void Wasm2JSGlue::emitPostES6() { // // Note that the translation here expects that the lower values of this memory // can be used for conversions, so make sure there's at least one page. - if (wasm.memory.exists && wasm.memory.imported()) { + if (wasm.memories[0] && wasm.memories[0]->imported()) { out << "var mem" << moduleName.str << " = new ArrayBuffer(" - << wasm.memory.initial.addr * Memory::kPageSize << ");\n"; + << wasm.memories[0]->initial.addr * Memory::kPageSize << ");\n"; } // Actually invoke the `asmFunc` generated function, passing in all global @@ -2709,7 +2709,7 @@ void Wasm2JSGlue::emitMemory() { // If there are no memory segments, we don't need to emit any support code for // segment creation. - if ((!wasm.memory.exists) || wasm.dataSegments.empty()) { + if ((!wasm.memories[0]) || wasm.dataSegments.empty()) { return; } From bcd6039b3f0679220513da05a9f1e493f7be0cc6 Mon Sep 17 00:00:00 2001 From: Ashley Nelson Date: Mon, 20 Jun 2022 00:07:25 +0000 Subject: [PATCH 05/78] wasm-interpreter.h --- src/wasm-interpreter.h | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/wasm-interpreter.h b/src/wasm-interpreter.h index 254a1a2e270..f3ace3331f8 100644 --- a/src/wasm-interpreter.h +++ b/src/wasm-interpreter.h @@ -2442,7 +2442,7 @@ class ModuleRunnerBase : public ExpressionRunner { // import globals from the outside externalInterface->importGlobals(globals, wasm); // prepare memory - memorySize = wasm.memory.initial; + memorySize = wasm.memories[0]->initial; // generate internal (non-imported) globals ModuleUtils::iterDefinedGlobals(wasm, [&](Global* global) { globals[global->name] = self()->visit(global->init).values; @@ -2648,8 +2648,8 @@ class ModuleRunnerBase : public ExpressionRunner { // Returns the instance that defines the memory used by this one. SubType* getMemoryInstance() { auto* inst = self(); - while (inst->wasm.memory.imported()) { - inst = inst->linkedInstances.at(inst->wasm.memory.module).get(); + while (inst->wasm.memories[0]->imported()) { + inst = inst->linkedInstances.at(inst->wasm.memories[0]->module).get(); } return inst; } @@ -3217,12 +3217,12 @@ class ModuleRunnerBase : public ExpressionRunner { NOTE_ENTER("MemorySize"); auto* inst = getMemoryInstance(); return Literal::makeFromInt64(inst->memorySize, - inst->wasm.memory.indexType); + inst->wasm.memories->indexType); } Flow visitMemoryGrow(MemoryGrow* curr) { NOTE_ENTER("MemoryGrow"); auto* inst = getMemoryInstance(); - auto indexType = inst->wasm.memory.indexType; + auto indexType = inst->wasm.memories[0]->indexType; auto fail = Literal::makeFromInt64(-1, indexType); Flow flow = self()->visit(curr->delta); if (flow.breaking()) { From 79bca3c1c22a88bf1974ec56ed679cc2c2f53c83 Mon Sep 17 00:00:00 2001 From: Ashley Nelson Date: Mon, 20 Jun 2022 00:16:45 +0000 Subject: [PATCH 06/78] update src/abi/stack.h --- src/abi/stack.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/abi/stack.h b/src/abi/stack.h index cc678b6e86f..1d568904510 100644 --- a/src/abi/stack.h +++ b/src/abi/stack.h @@ -50,7 +50,7 @@ getStackSpace(Index local, Function* func, Index size, Module& wasm) { } // align the size size = stackAlign(size); - auto pointerType = wasm.memory.indexType; + auto pointerType = wasm.memories[0]->indexType; // TODO: find existing stack usage, and add on top of that - carefully Builder builder(wasm); auto* block = builder.makeBlock(); From 15c144d46f6dfc027e09f033359546d74b178e1a Mon Sep 17 00:00:00 2001 From: Ashley Nelson Date: Mon, 20 Jun 2022 04:06:48 +0000 Subject: [PATCH 07/78] updated binaryen-c.cpp --- src/binaryen-c.cpp | 34 ++++++++++++++++++---------------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/src/binaryen-c.cpp b/src/binaryen-c.cpp index 1dd9fccd2dd..799eaaa7daf 100644 --- a/src/binaryen-c.cpp +++ b/src/binaryen-c.cpp @@ -3656,10 +3656,11 @@ void BinaryenAddMemoryImport(BinaryenModuleRef module, const char* externalModuleName, const char* externalBaseName, uint8_t shared) { - auto& memory = ((Module*)module)->memory; + auto& memory = std::make_unique(); memory.module = externalModuleName; memory.base = externalBaseName; memory.shared = shared; + ((Module*)module)->addMemory(std::move(memory)); } void BinaryenAddGlobalImport(BinaryenModuleRef module, const char* internalName, @@ -3884,10 +3885,11 @@ void BinaryenSetMemory(BinaryenModuleRef module, BinaryenIndex numSegments, bool shared) { auto* wasm = (Module*)module; - wasm->memory.initial = initial; - wasm->memory.max = int32_t(maximum); // Make sure -1 extends. - wasm->memory.exists = true; - wasm->memory.shared = shared; + auto memory = Builder::makeMemory(); + memory->initial = initial; + memory->max = int32_t(maximum); // Make sure -1 extends. + memory->shared = shared; + wasm->addMemory(std::move(memory)); if (exportName) { auto memoryExport = make_unique(); memoryExport->name = exportName; @@ -3944,35 +3946,35 @@ uint32_t BinaryenGetMemorySegmentByteOffset(BinaryenModuleRef module, return 0; } bool BinaryenHasMemory(BinaryenModuleRef module) { - return ((Module*)module)->memory.exists; + return ((Module*)module)->memories[0]; } BinaryenIndex BinaryenMemoryGetInitial(BinaryenModuleRef module) { - return ((Module*)module)->memory.initial; + return ((Module*)module)->memories[0]->initial; } bool BinaryenMemoryHasMax(BinaryenModuleRef module) { - return ((Module*)module)->memory.hasMax(); + return ((Module*)module)->memories[0]->hasMax(); } BinaryenIndex BinaryenMemoryGetMax(BinaryenModuleRef module) { - return ((Module*)module)->memory.max; + return ((Module*)module)->memories[0]->max; } const char* BinaryenMemoryImportGetModule(BinaryenModuleRef module) { - auto& memory = ((Module*)module)->memory; - if (memory.imported()) { - return memory.module.c_str(); + auto& memory = ((Module*)module)->memories[0]; + if (memory->imported()) { + return memory->module.c_str(); } else { return ""; } } const char* BinaryenMemoryImportGetBase(BinaryenModuleRef module) { - auto& memory = ((Module*)module)->memory; - if (memory.imported()) { - return memory.base.c_str(); + auto& memory = ((Module*)module)->memories[0]; + if (memory->imported()) { + return memory->base.c_str(); } else { return ""; } } bool BinaryenMemoryIsShared(BinaryenModuleRef module) { - return ((Module*)module)->memory.shared; + return ((Module*)module)->memories->shared; } size_t BinaryenGetMemorySegmentByteLength(BinaryenModuleRef module, BinaryenIndex id) { From 4d5f7c3a26ed260fd3d21e6f69a59095228e2637 Mon Sep 17 00:00:00 2001 From: Ashley Nelson Date: Mon, 20 Jun 2022 04:55:22 +0000 Subject: [PATCH 08/78] shell-interface.h & wasm-builder.h --- src/shell-interface.h | 4 ++-- src/wasm-builder.h | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/shell-interface.h b/src/shell-interface.h index d1cf3290e05..f002feb9405 100644 --- a/src/shell-interface.h +++ b/src/shell-interface.h @@ -114,8 +114,8 @@ struct ShellExternalInterface : ModuleRunner::ExternalInterface { } void init(Module& wasm, ModuleRunner& instance) override { - if (wasm.memory.exists && !wasm.memory.imported()) { - memory.resize(wasm.memory.initial * wasm::Memory::kPageSize); + if (wasm.memories[0] && !wasm.memories[0]->imported()) { + memory.resize(wasm.memories[0]->initial * wasm::Memory::kPageSize); } ModuleUtils::iterDefinedTables( wasm, [&](Table* table) { tables[table->name].resize(table->initial); }); diff --git a/src/wasm-builder.h b/src/wasm-builder.h index 66ec6da56cb..8717d135cd1 100644 --- a/src/wasm-builder.h +++ b/src/wasm-builder.h @@ -589,7 +589,7 @@ class Builder { return ret; } Const* makeConstPtr(uint64_t val) { - return makeConst(Literal::makeFromInt64(val, wasm.memory.indexType)); + return makeConst(Literal::makeFromInt64(val, wasm.memories[0]->indexType)); } Binary* makeBinary(BinaryOp op, Expression* left, Expression* right) { auto* ret = wasm.allocator.alloc(); @@ -626,7 +626,7 @@ class Builder { } MemorySize* makeMemorySize() { auto* ret = wasm.allocator.alloc(); - if (wasm.memory.is64()) { + if (wasm.memories->is64()) { ret->make64(); } ret->finalize(); @@ -634,7 +634,7 @@ class Builder { } MemoryGrow* makeMemoryGrow(Expression* delta) { auto* ret = wasm.allocator.alloc(); - if (wasm.memory.is64()) { + if (wasm.memories[0]->is64()) { ret->make64(); } ret->delta = delta; From c0c4f2aaa2ffb4639b344c8a29c51120218fa118 Mon Sep 17 00:00:00 2001 From: Ashley Nelson Date: Mon, 20 Jun 2022 06:05:01 +0000 Subject: [PATCH 09/78] Update src/ir --- src/ir/import-utils.h | 2 +- src/ir/memory-utils.h | 9 +++------ src/ir/module-splitting.cpp | 13 ++++++------ src/ir/module-utils.h | 8 ++++---- src/passes/Asyncify.cpp | 2 +- src/passes/I64ToI32Lowering.cpp | 4 ++-- src/passes/RemoveNonJSOps.cpp | 2 +- src/tools/fuzzing/fuzzing.cpp | 36 ++++++++++++++++----------------- 8 files changed, 36 insertions(+), 40 deletions(-) diff --git a/src/ir/import-utils.h b/src/ir/import-utils.h index 2e7a4f44c5c..a19350edaf6 100644 --- a/src/ir/import-utils.h +++ b/src/ir/import-utils.h @@ -92,7 +92,7 @@ struct ImportInfo { Index getNumImports() { return getNumImportedGlobals() + getNumImportedFunctions() + - getNumImportedTags() + (wasm.memory.imported() ? 1 : 0) + + getNumImportedTags() + (wasm.memories[0]->imported() ? 1 : 0) + getNumImportedTables(); } diff --git a/src/ir/memory-utils.h b/src/ir/memory-utils.h index 5e9086ca497..8688645e86a 100644 --- a/src/ir/memory-utils.h +++ b/src/ir/memory-utils.h @@ -32,12 +32,9 @@ namespace wasm::MemoryUtils { // Returns true if successful (e.g. relocatable segments cannot be flattened). bool flatten(Module& wasm); -// Ensures that the memory exists (of minimal size). -inline void ensureExists(Memory& memory) { - if (!memory.exists) { - memory.exists = true; - memory.initial = memory.max = 1; - } +// Ensures that the memory has an initial/max minimal size. +inline void ensureMinimalSize(Memory& memory) { + memory.initial = memory.max = 1; } // Try to merge segments until they fit into web limitations. diff --git a/src/ir/module-splitting.cpp b/src/ir/module-splitting.cpp index e24dd6452f5..594e149ff04 100644 --- a/src/ir/module-splitting.cpp +++ b/src/ir/module-splitting.cpp @@ -612,14 +612,13 @@ void ModuleSplitter::shareImportableItems() { // TODO: Be more selective by only sharing global items that are actually used // in the secondary module, just like we do for functions. - if (primary.memory.exists) { - secondary.memory.exists = true; - secondary.memory.initial = primary.memory.initial; - secondary.memory.max = primary.memory.max; - secondary.memory.shared = primary.memory.shared; - secondary.memory.indexType = primary.memory.indexType; + if (primary.memories[0]) { + secondary.memories[0]->initial = primary.memories[0]->initial; + secondary.memories[0]->max = primary.memories[0]->max; + secondary.memories[0]->shared = primary.memories[0]->shared; + secondary.memories[0]->indexType = primary.memories[0]->indexType; makeImportExport( - primary.memory, secondary.memory, "memory", ExternalKind::Memory); + primary.memories[0], secondary.memories[0], "memory", ExternalKind::Memory); } for (auto& table : primary.tables) { diff --git a/src/ir/module-utils.h b/src/ir/module-utils.h index 4f731748e96..9ef74401017 100644 --- a/src/ir/module-utils.h +++ b/src/ir/module-utils.h @@ -207,14 +207,14 @@ inline void renameFunction(Module& wasm, Name oldName, Name newName) { // Convenient iteration over imported/non-imported module elements template inline void iterImportedMemories(Module& wasm, T visitor) { - if (wasm.memory.exists && wasm.memory.imported()) { - visitor(&wasm.memory); + if (wasm.memories[0] && wasm.memories[0]->imported()) { + visitor(&wasm.memories[0]); } } template inline void iterDefinedMemories(Module& wasm, T visitor) { - if (wasm.memory.exists && !wasm.memory.imported()) { - visitor(&wasm.memory); + if (wasm.memories[0] && !wasm.memories[0]->imported()) { + visitor(&wasm.memories[0]); } } diff --git a/src/passes/Asyncify.cpp b/src/passes/Asyncify.cpp index 8a50d49e64c..a2f7aa4ae18 100644 --- a/src/passes/Asyncify.cpp +++ b/src/passes/Asyncify.cpp @@ -1483,7 +1483,7 @@ struct Asyncify : public Pass { bool optimize = runner->options.optimizeLevel > 0; // Ensure there is a memory, as we need it. - MemoryUtils::ensureExists(module->memory); + MemoryUtils::ensureMinimalSize(module->memories[0]); // Find which things can change the state. auto stateChangingImports = String::trim(read_possible_response_file( diff --git a/src/passes/I64ToI32Lowering.cpp b/src/passes/I64ToI32Lowering.cpp index 11707d4f37d..f409c9375f6 100644 --- a/src/passes/I64ToI32Lowering.cpp +++ b/src/passes/I64ToI32Lowering.cpp @@ -594,7 +594,7 @@ struct I64ToI32Lowering : public WalkerPass> { Type::i32)); setOutParam(result, std::move(highBits)); replaceCurrent(result); - MemoryUtils::ensureExists(getModule()->memory); + MemoryUtils::ensureMinimalSize(getModule()->memories[0]); ABI::wasm2js::ensureHelpers(getModule()); } @@ -612,7 +612,7 @@ struct I64ToI32Lowering : public WalkerPass> { Type::none), builder->makeCall(ABI::wasm2js::SCRATCH_LOAD_F64, {}, Type::f64)); replaceCurrent(result); - MemoryUtils::ensureExists(getModule()->memory); + MemoryUtils::ensureMinimalSize(getModule()->memories[0]); ABI::wasm2js::ensureHelpers(getModule()); } diff --git a/src/passes/RemoveNonJSOps.cpp b/src/passes/RemoveNonJSOps.cpp index 1c112e76081..be9f42dc34d 100644 --- a/src/passes/RemoveNonJSOps.cpp +++ b/src/passes/RemoveNonJSOps.cpp @@ -122,7 +122,7 @@ struct RemoveNonJSOpsPass : public WalkerPass> { } // Intrinsics may use memory, so ensure the module has one. - MemoryUtils::ensureExists(module->memory); + MemoryUtils::ensureMinimalSize(module->memories[0]); // Add missing globals for (auto& [name, type] : neededImportedGlobals) { diff --git a/src/tools/fuzzing/fuzzing.cpp b/src/tools/fuzzing/fuzzing.cpp index 4d0a8d7b759..92a46e7583e 100644 --- a/src/tools/fuzzing/fuzzing.cpp +++ b/src/tools/fuzzing/fuzzing.cpp @@ -185,7 +185,7 @@ void TranslateToFuzzReader::build() { void TranslateToFuzzReader::setupMemory() { // Add memory itself - MemoryUtils::ensureExists(wasm.memory); + MemoryUtils::ensureMinimalSize(wasm.memory); if (wasm.features.hasBulkMemory()) { size_t memCovered = 0; // need at least one segment for memory.inits @@ -229,7 +229,7 @@ void TranslateToFuzzReader::setupMemory() { std::vector contents; contents.push_back( builder.makeLocalSet(0, builder.makeConst(uint32_t(5381)))); - auto zero = Literal::makeFromInt32(0, wasm.memory.indexType); + auto zero = Literal::makeFromInt32(0, wasm.memories[0]->indexType); for (Index i = 0; i < USABLE_MEMORY; i++) { contents.push_back(builder.makeLocalSet( 0, @@ -354,25 +354,25 @@ void TranslateToFuzzReader::finalizeMemory() { maxOffset = maxOffset + offset->value.getInteger(); } } - wasm.memory.initial = std::max( - wasm.memory.initial, + wasm.memories[0]->initial = std::max( + wasm.memories[0]->initial, Address((maxOffset + Memory::kPageSize - 1) / Memory::kPageSize)); } - wasm.memory.initial = std::max(wasm.memory.initial, USABLE_MEMORY); + wasm.memories[0]->initial = std::max(wasm.memories[0]->initial, USABLE_MEMORY); // Avoid an unlimited memory size, which would make fuzzing very difficult // as different VMs will run out of system memory in different ways. - if (wasm.memory.max == Memory::kUnlimitedSize) { - wasm.memory.max = wasm.memory.initial; + if (wasm.memories[0]->max == Memory::kUnlimitedSize) { + wasm.memories[0]->max = wasm.memories[0]->initial; } - if (wasm.memory.max <= wasm.memory.initial) { + if (wasm.memories[0]->max <= wasm.memories[0]->initial) { // To allow growth to work (which a testcase may assume), try to make the // maximum larger than the initial. // TODO: scan the wasm for grow instructions? - wasm.memory.max = - std::min(Address(wasm.memory.initial + 1), Address(Memory::kMaxSize32)); + wasm.memories[0]->max = + std::min(Address(wasm.memories[0]->initial + 1), Address(Memory::kMaxSize32)); } // Avoid an imported memory (which the fuzz harness would need to handle). - wasm.memory.module = wasm.memory.base = Name(); + wasm.memories[0]->module = wasm.memories[0]->base = Name(); } void TranslateToFuzzReader::finalizeTable() { @@ -1403,12 +1403,12 @@ Expression* TranslateToFuzzReader::makeTupleExtract(Type type) { } Expression* TranslateToFuzzReader::makePointer() { - auto* ret = make(wasm.memory.indexType); + auto* ret = make(wasm.memories[0]->indexType); // with high probability, mask the pointer so it's in a reasonable // range. otherwise, most pointers are going to be out of range and // most memory ops will just trap if (!allowOOB || !oneIn(10)) { - if (wasm.memory.is64()) { + if (wasm.memories[0]->is64()) { ret = builder.makeBinary( AndInt64, ret, builder.makeConst(int64_t(USABLE_MEMORY - 1))); } else { @@ -1484,7 +1484,7 @@ Expression* TranslateToFuzzReader::makeLoad(Type type) { } // make it atomic auto* load = ret->cast(); - wasm.memory.shared = true; + wasm.memories[0]->shared = true; load->isAtomic = true; load->signed_ = false; load->align = load->bytes; @@ -1584,7 +1584,7 @@ Expression* TranslateToFuzzReader::makeStore(Type type) { return store; } // make it atomic - wasm.memory.shared = true; + wasm.memories[0]->shared = true; store->isAtomic = true; store->align = store->bytes; return store; @@ -2530,7 +2530,7 @@ Expression* TranslateToFuzzReader::makeAtomic(Type type) { if (!allowMemory) { return makeTrivial(type); } - wasm.memory.shared = true; + wasm.memories[0]->shared = true; if (type == Type::none) { return builder.makeAtomicFence(); } @@ -2884,7 +2884,7 @@ Expression* TranslateToFuzzReader::makeMemoryCopy() { } Expression* dest = makePointer(); Expression* source = makePointer(); - Expression* size = make(wasm.memory.indexType); + Expression* size = make(wasm.memories[0]->indexType); return builder.makeMemoryCopy(dest, source, size); } @@ -2894,7 +2894,7 @@ Expression* TranslateToFuzzReader::makeMemoryFill() { } Expression* dest = makePointer(); Expression* value = make(Type::i32); - Expression* size = make(wasm.memory.indexType); + Expression* size = make(wasm.memories[0]->indexType); return builder.makeMemoryFill(dest, value, size); } From 6c9893bb728e71f339a822f8a2b2bcb48f20de83 Mon Sep 17 00:00:00 2001 From: Ashley Nelson Date: Mon, 20 Jun 2022 06:20:59 +0000 Subject: [PATCH 10/78] src/wasm --- src/wasm/wasm-debug.cpp | 2 +- src/wasm/wasm-validator.cpp | 816 ++++++++++++++++++------------------ 2 files changed, 409 insertions(+), 409 deletions(-) diff --git a/src/wasm/wasm-debug.cpp b/src/wasm/wasm-debug.cpp index 23c2dc93858..b4b81aeeee8 100644 --- a/src/wasm/wasm-debug.cpp +++ b/src/wasm/wasm-debug.cpp @@ -1065,7 +1065,7 @@ void writeDWARFSections(Module& wasm, const BinaryLocations& newLocations) { updateDebugLines(data, locationUpdater); - updateCompileUnits(info, data, locationUpdater, wasm.memory.is64()); + updateCompileUnits(info, data, locationUpdater, wasm.memories[0]->is64()); updateRanges(data, locationUpdater); diff --git a/src/wasm/wasm-validator.cpp b/src/wasm/wasm-validator.cpp index b7354ff3fd2..d4532c3fb8c 100644 --- a/src/wasm/wasm-validator.cpp +++ b/src/wasm/wasm-validator.cpp @@ -1,18 +1,18 @@ /* - * Copyright 2017 WebAssembly Community Group participants - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ +* Copyright 2017 WebAssembly Community Group participants +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ #include #include @@ -35,463 +35,463 @@ namespace wasm { // Print anything that can be streamed to an ostream template::type>::value>::type* = nullptr> + typename std::enable_if::type>::value>::type* = nullptr> inline std::ostream& printModuleComponent(T curr, std::ostream& stream, Module& wasm) { - stream << curr << std::endl; - return stream; +stream << curr << std::endl; +return stream; } // Extra overload for Expressions, to print their contents. inline std::ostream& printModuleComponent(Expression* curr, std::ostream& stream, Module& wasm) { - if (curr) { - stream << ModuleExpression(wasm, curr) << '\n'; - } - return stream; +if (curr) { + stream << ModuleExpression(wasm, curr) << '\n'; +} +return stream; } // For parallel validation, we have a helper struct for coordination struct ValidationInfo { - Module& wasm; +Module& wasm; - bool validateWeb; - bool validateGlobally; - bool quiet; +bool validateWeb; +bool validateGlobally; +bool quiet; - std::atomic valid; +std::atomic valid; - // a stream of error test for each function. we print in the right order at - // the end, for deterministic output - // note errors are rare/unexpected, so it's ok to use a slow mutex here - std::mutex mutex; - std::unordered_map> outputs; +// a stream of error test for each function. we print in the right order at +// the end, for deterministic output +// note errors are rare/unexpected, so it's ok to use a slow mutex here +std::mutex mutex; +std::unordered_map> outputs; - ValidationInfo(Module& wasm) : wasm(wasm) { valid.store(true); } +ValidationInfo(Module& wasm) : wasm(wasm) { valid.store(true); } - std::ostringstream& getStream(Function* func) { - std::unique_lock lock(mutex); - auto iter = outputs.find(func); - if (iter != outputs.end()) { - return *(iter->second.get()); - } - auto& ret = outputs[func] = make_unique(); - return *ret.get(); +std::ostringstream& getStream(Function* func) { + std::unique_lock lock(mutex); + auto iter = outputs.find(func); + if (iter != outputs.end()) { + return *(iter->second.get()); } + auto& ret = outputs[func] = make_unique(); + return *ret.get(); +} - // printing and error handling support +// printing and error handling support - template - std::ostream& fail(S text, T curr, Function* func) { - valid.store(false); - auto& stream = getStream(func); - if (quiet) { - return stream; - } - auto& ret = printFailureHeader(func); - ret << text << ", on \n"; - return printModuleComponent(curr, ret, wasm); +template +std::ostream& fail(S text, T curr, Function* func) { + valid.store(false); + auto& stream = getStream(func); + if (quiet) { + return stream; } + auto& ret = printFailureHeader(func); + ret << text << ", on \n"; + return printModuleComponent(curr, ret, wasm); +} - std::ostream& printFailureHeader(Function* func) { - auto& stream = getStream(func); - if (quiet) { - return stream; - } - Colors::red(stream); - if (func) { - stream << "[wasm-validator error in function "; - Colors::green(stream); - stream << func->name; - Colors::red(stream); - stream << "] "; - } else { - stream << "[wasm-validator error in module] "; - } - Colors::normal(stream); +std::ostream& printFailureHeader(Function* func) { + auto& stream = getStream(func); + if (quiet) { return stream; } + Colors::red(stream); + if (func) { + stream << "[wasm-validator error in function "; + Colors::green(stream); + stream << func->name; + Colors::red(stream); + stream << "] "; + } else { + stream << "[wasm-validator error in module] "; + } + Colors::normal(stream); + return stream; +} - // checking utilities +// checking utilities - template - bool shouldBeTrue(bool result, - T curr, - const char* text, - Function* func = nullptr) { - if (!result) { - fail("unexpected false: " + std::string(text), curr, func); - return false; - } - return result; +template +bool shouldBeTrue(bool result, + T curr, + const char* text, + Function* func = nullptr) { + if (!result) { + fail("unexpected false: " + std::string(text), curr, func); + return false; } - template - bool shouldBeFalse(bool result, - T curr, - const char* text, - Function* func = nullptr) { - if (result) { - fail("unexpected true: " + std::string(text), curr, func); - return false; - } - return result; + return result; +} +template +bool shouldBeFalse(bool result, + T curr, + const char* text, + Function* func = nullptr) { + if (result) { + fail("unexpected true: " + std::string(text), curr, func); + return false; } + return result; +} - template - bool shouldBeEqual( - S left, S right, T curr, const char* text, Function* func = nullptr) { - if (left != right) { - std::ostringstream ss; - ss << left << " != " << right << ": " << text; - fail(ss.str(), curr, func); - return false; - } - return true; +template +bool shouldBeEqual( + S left, S right, T curr, const char* text, Function* func = nullptr) { + if (left != right) { + std::ostringstream ss; + ss << left << " != " << right << ": " << text; + fail(ss.str(), curr, func); + return false; } + return true; +} - template - bool shouldBeEqualOrFirstIsUnreachable( - S left, S right, T curr, const char* text, Function* func = nullptr) { - if (left != Type::unreachable && left != right) { - std::ostringstream ss; - ss << left << " != " << right << ": " << text; - fail(ss.str(), curr, func); - return false; - } - return true; +template +bool shouldBeEqualOrFirstIsUnreachable( + S left, S right, T curr, const char* text, Function* func = nullptr) { + if (left != Type::unreachable && left != right) { + std::ostringstream ss; + ss << left << " != " << right << ": " << text; + fail(ss.str(), curr, func); + return false; } + return true; +} - template - bool shouldBeUnequal( - S left, S right, T curr, const char* text, Function* func = nullptr) { - if (left == right) { - std::ostringstream ss; - ss << left << " == " << right << ": " << text; - fail(ss.str(), curr, func); - return false; - } - return true; +template +bool shouldBeUnequal( + S left, S right, T curr, const char* text, Function* func = nullptr) { + if (left == right) { + std::ostringstream ss; + ss << left << " == " << right << ": " << text; + fail(ss.str(), curr, func); + return false; } + return true; +} - void shouldBeIntOrUnreachable(Type ty, - Expression* curr, - const char* text, - Function* func = nullptr) { - switch (ty.getBasic()) { - case Type::i32: - case Type::i64: - case Type::unreachable: { - break; - } - default: - fail(text, curr, func); +void shouldBeIntOrUnreachable(Type ty, + Expression* curr, + const char* text, + Function* func = nullptr) { + switch (ty.getBasic()) { + case Type::i32: + case Type::i64: + case Type::unreachable: { + break; } + default: + fail(text, curr, func); } +} - // Type 'left' should be a subtype of 'right'. - bool shouldBeSubType(Type left, - Type right, - Expression* curr, - const char* text, - Function* func = nullptr) { - if (Type::isSubType(left, right)) { - return true; - } - fail(text, curr, func); - return false; +// Type 'left' should be a subtype of 'right'. +bool shouldBeSubType(Type left, + Type right, + Expression* curr, + const char* text, + Function* func = nullptr) { + if (Type::isSubType(left, right)) { + return true; } + fail(text, curr, func); + return false; +} }; struct FunctionValidator : public WalkerPass> { - bool isFunctionParallel() override { return true; } +bool isFunctionParallel() override { return true; } - Pass* create() override { return new FunctionValidator(*getModule(), &info); } +Pass* create() override { return new FunctionValidator(*getModule(), &info); } - bool modifiesBinaryenIR() override { return false; } +bool modifiesBinaryenIR() override { return false; } - ValidationInfo& info; +ValidationInfo& info; - FunctionValidator(Module& wasm, ValidationInfo* info) : info(*info) { - setModule(&wasm); - } +FunctionValidator(Module& wasm, ValidationInfo* info) : info(*info) { + setModule(&wasm); +} - // Validate the entire module. - void validate(PassRunner* runner) { run(runner, getModule()); } +// Validate the entire module. +void validate(PassRunner* runner) { run(runner, getModule()); } - // Validate a specific expression. - void validate(Expression* curr) { walk(curr); } +// Validate a specific expression. +void validate(Expression* curr) { walk(curr); } - // Validate a function. - void validate(Function* func) { walkFunction(func); } +// Validate a function. +void validate(Function* func) { walkFunction(func); } - std::unordered_map> breakTypes; - std::unordered_set delegateTargetNames; - std::unordered_set rethrowTargetNames; +std::unordered_map> breakTypes; +std::unordered_set delegateTargetNames; +std::unordered_set rethrowTargetNames; - std::unordered_set returnTypes; // types used in returns +std::unordered_set returnTypes; // types used in returns - // Binaryen IR requires that label names must be unique - IR generators must - // ensure that - std::unordered_set labelNames; +// Binaryen IR requires that label names must be unique - IR generators must +// ensure that +std::unordered_set labelNames; - void noteLabelName(Name name); +void noteLabelName(Name name); public: - // visitors +// visitors - void validatePoppyExpression(Expression* curr); +void validatePoppyExpression(Expression* curr); - static void visitPoppyExpression(FunctionValidator* self, - Expression** currp) { - self->validatePoppyExpression(*currp); - } +static void visitPoppyExpression(FunctionValidator* self, + Expression** currp) { + self->validatePoppyExpression(*currp); +} - static void visitPreBlock(FunctionValidator* self, Expression** currp) { - auto* curr = (*currp)->cast(); - if (curr->name.is()) { - self->breakTypes[curr->name]; - } +static void visitPreBlock(FunctionValidator* self, Expression** currp) { + auto* curr = (*currp)->cast(); + if (curr->name.is()) { + self->breakTypes[curr->name]; } +} - void visitBlock(Block* curr); - void validateNormalBlockElements(Block* curr); - void validatePoppyBlockElements(Block* curr); +void visitBlock(Block* curr); +void validateNormalBlockElements(Block* curr); +void validatePoppyBlockElements(Block* curr); - static void visitPreLoop(FunctionValidator* self, Expression** currp) { - auto* curr = (*currp)->cast(); - if (curr->name.is()) { - self->breakTypes[curr->name]; - } +static void visitPreLoop(FunctionValidator* self, Expression** currp) { + auto* curr = (*currp)->cast(); + if (curr->name.is()) { + self->breakTypes[curr->name]; } +} - void visitLoop(Loop* curr); - void visitIf(If* curr); +void visitLoop(Loop* curr); +void visitIf(If* curr); - static void visitPreTry(FunctionValidator* self, Expression** currp) { - auto* curr = (*currp)->cast(); - if (curr->name.is()) { - self->delegateTargetNames.insert(curr->name); - } - } - - // We remove try's label before proceeding to verify catch bodies because the - // following is a validation failure: - // (try $l0 - // (do ... ) - // (catch $e - // (try - // (do ...) - // (delegate $l0) ;; validation failure - // ) - // ) - // ) - // Unlike branches, if delegate's target 'catch' is located above the - // delegate, it is a validation failure. - static void visitPreCatch(FunctionValidator* self, Expression** currp) { - auto* curr = (*currp)->cast(); - if (curr->name.is()) { - self->delegateTargetNames.erase(curr->name); - self->rethrowTargetNames.insert(curr->name); - } +static void visitPreTry(FunctionValidator* self, Expression** currp) { + auto* curr = (*currp)->cast(); + if (curr->name.is()) { + self->delegateTargetNames.insert(curr->name); + } +} + +// We remove try's label before proceeding to verify catch bodies because the +// following is a validation failure: +// (try $l0 +// (do ... ) +// (catch $e +// (try +// (do ...) +// (delegate $l0) ;; validation failure +// ) +// ) +// ) +// Unlike branches, if delegate's target 'catch' is located above the +// delegate, it is a validation failure. +static void visitPreCatch(FunctionValidator* self, Expression** currp) { + auto* curr = (*currp)->cast(); + if (curr->name.is()) { + self->delegateTargetNames.erase(curr->name); + self->rethrowTargetNames.insert(curr->name); } +} - // override scan to add a pre and a post check task to all nodes - static void scan(FunctionValidator* self, Expression** currp) { - auto* curr = *currp; - // Treat 'Try' specially because we need to run visitPreCatch between the - // try body and catch bodies - if (curr->is()) { - self->pushTask(doVisitTry, currp); - auto& list = curr->cast()->catchBodies; - for (int i = int(list.size()) - 1; i >= 0; i--) { - self->pushTask(scan, &list[i]); - } - self->pushTask(visitPreCatch, currp); - self->pushTask(scan, &curr->cast()->body); - self->pushTask(visitPreTry, currp); - return; - } - - PostWalker::scan(self, currp); - - if (curr->is()) { - self->pushTask(visitPreBlock, currp); - } - if (curr->is()) { - self->pushTask(visitPreLoop, currp); - } - if (auto* func = self->getFunction()) { - if (func->profile == IRProfile::Poppy) { - self->pushTask(visitPoppyExpression, currp); - } +// override scan to add a pre and a post check task to all nodes +static void scan(FunctionValidator* self, Expression** currp) { + auto* curr = *currp; + // Treat 'Try' specially because we need to run visitPreCatch between the + // try body and catch bodies + if (curr->is()) { + self->pushTask(doVisitTry, currp); + auto& list = curr->cast()->catchBodies; + for (int i = int(list.size()) - 1; i >= 0; i--) { + self->pushTask(scan, &list[i]); } + self->pushTask(visitPreCatch, currp); + self->pushTask(scan, &curr->cast()->body); + self->pushTask(visitPreTry, currp); + return; } - void noteBreak(Name name, Expression* value, Expression* curr); - void noteBreak(Name name, Type valueType, Expression* curr); - void visitBreak(Break* curr); - void visitSwitch(Switch* curr); - void visitCall(Call* curr); - void visitCallIndirect(CallIndirect* curr); - void visitConst(Const* curr); - void visitLocalGet(LocalGet* curr); - void visitLocalSet(LocalSet* curr); - void visitGlobalGet(GlobalGet* curr); - void visitGlobalSet(GlobalSet* curr); - void visitLoad(Load* curr); - void visitStore(Store* curr); - void visitAtomicRMW(AtomicRMW* curr); - void visitAtomicCmpxchg(AtomicCmpxchg* curr); - void visitAtomicWait(AtomicWait* curr); - void visitAtomicNotify(AtomicNotify* curr); - void visitAtomicFence(AtomicFence* curr); - void visitSIMDExtract(SIMDExtract* curr); - void visitSIMDReplace(SIMDReplace* curr); - void visitSIMDShuffle(SIMDShuffle* curr); - void visitSIMDTernary(SIMDTernary* curr); - void visitSIMDShift(SIMDShift* curr); - void visitSIMDLoad(SIMDLoad* curr); - void visitSIMDLoadStoreLane(SIMDLoadStoreLane* curr); - void visitMemoryInit(MemoryInit* curr); - void visitDataDrop(DataDrop* curr); - void visitMemoryCopy(MemoryCopy* curr); - void visitMemoryFill(MemoryFill* curr); - void visitBinary(Binary* curr); - void visitUnary(Unary* curr); - void visitSelect(Select* curr); - void visitDrop(Drop* curr); - void visitReturn(Return* curr); - void visitMemorySize(MemorySize* curr); - void visitMemoryGrow(MemoryGrow* curr); - void visitRefNull(RefNull* curr); - void visitRefIs(RefIs* curr); - void visitRefFunc(RefFunc* curr); - void visitRefEq(RefEq* curr); - void visitTableGet(TableGet* curr); - void visitTableSet(TableSet* curr); - void visitTableSize(TableSize* curr); - void visitTableGrow(TableGrow* curr); - void noteDelegate(Name name, Expression* curr); - void noteRethrow(Name name, Expression* curr); - void visitTry(Try* curr); - void visitThrow(Throw* curr); - void visitRethrow(Rethrow* curr); - void visitTupleMake(TupleMake* curr); - void visitTupleExtract(TupleExtract* curr); - void visitCallRef(CallRef* curr); - void visitI31New(I31New* curr); - void visitI31Get(I31Get* curr); - void visitRefTest(RefTest* curr); - void visitRefCast(RefCast* curr); - void visitBrOn(BrOn* curr); - void visitStructNew(StructNew* curr); - void visitStructGet(StructGet* curr); - void visitStructSet(StructSet* curr); - void visitArrayNew(ArrayNew* curr); - void visitArrayInit(ArrayInit* curr); - void visitArrayGet(ArrayGet* curr); - void visitArraySet(ArraySet* curr); - void visitArrayLen(ArrayLen* curr); - void visitArrayCopy(ArrayCopy* curr); - void visitFunction(Function* curr); - - // helpers + PostWalker::scan(self, currp); + + if (curr->is()) { + self->pushTask(visitPreBlock, currp); + } + if (curr->is()) { + self->pushTask(visitPreLoop, currp); + } + if (auto* func = self->getFunction()) { + if (func->profile == IRProfile::Poppy) { + self->pushTask(visitPoppyExpression, currp); + } + } +} + +void noteBreak(Name name, Expression* value, Expression* curr); +void noteBreak(Name name, Type valueType, Expression* curr); +void visitBreak(Break* curr); +void visitSwitch(Switch* curr); +void visitCall(Call* curr); +void visitCallIndirect(CallIndirect* curr); +void visitConst(Const* curr); +void visitLocalGet(LocalGet* curr); +void visitLocalSet(LocalSet* curr); +void visitGlobalGet(GlobalGet* curr); +void visitGlobalSet(GlobalSet* curr); +void visitLoad(Load* curr); +void visitStore(Store* curr); +void visitAtomicRMW(AtomicRMW* curr); +void visitAtomicCmpxchg(AtomicCmpxchg* curr); +void visitAtomicWait(AtomicWait* curr); +void visitAtomicNotify(AtomicNotify* curr); +void visitAtomicFence(AtomicFence* curr); +void visitSIMDExtract(SIMDExtract* curr); +void visitSIMDReplace(SIMDReplace* curr); +void visitSIMDShuffle(SIMDShuffle* curr); +void visitSIMDTernary(SIMDTernary* curr); +void visitSIMDShift(SIMDShift* curr); +void visitSIMDLoad(SIMDLoad* curr); +void visitSIMDLoadStoreLane(SIMDLoadStoreLane* curr); +void visitMemoryInit(MemoryInit* curr); +void visitDataDrop(DataDrop* curr); +void visitMemoryCopy(MemoryCopy* curr); +void visitMemoryFill(MemoryFill* curr); +void visitBinary(Binary* curr); +void visitUnary(Unary* curr); +void visitSelect(Select* curr); +void visitDrop(Drop* curr); +void visitReturn(Return* curr); +void visitMemorySize(MemorySize* curr); +void visitMemoryGrow(MemoryGrow* curr); +void visitRefNull(RefNull* curr); +void visitRefIs(RefIs* curr); +void visitRefFunc(RefFunc* curr); +void visitRefEq(RefEq* curr); +void visitTableGet(TableGet* curr); +void visitTableSet(TableSet* curr); +void visitTableSize(TableSize* curr); +void visitTableGrow(TableGrow* curr); +void noteDelegate(Name name, Expression* curr); +void noteRethrow(Name name, Expression* curr); +void visitTry(Try* curr); +void visitThrow(Throw* curr); +void visitRethrow(Rethrow* curr); +void visitTupleMake(TupleMake* curr); +void visitTupleExtract(TupleExtract* curr); +void visitCallRef(CallRef* curr); +void visitI31New(I31New* curr); +void visitI31Get(I31Get* curr); +void visitRefTest(RefTest* curr); +void visitRefCast(RefCast* curr); +void visitBrOn(BrOn* curr); +void visitStructNew(StructNew* curr); +void visitStructGet(StructGet* curr); +void visitStructSet(StructSet* curr); +void visitArrayNew(ArrayNew* curr); +void visitArrayInit(ArrayInit* curr); +void visitArrayGet(ArrayGet* curr); +void visitArraySet(ArraySet* curr); +void visitArrayLen(ArrayLen* curr); +void visitArrayCopy(ArrayCopy* curr); +void visitFunction(Function* curr); + +// helpers private: - std::ostream& getStream() { return info.getStream(getFunction()); } +std::ostream& getStream() { return info.getStream(getFunction()); } - template - bool shouldBeTrue(bool result, T curr, const char* text) { - return info.shouldBeTrue(result, curr, text, getFunction()); - } - template - bool shouldBeFalse(bool result, T curr, const char* text) { - return info.shouldBeFalse(result, curr, text, getFunction()); - } +template +bool shouldBeTrue(bool result, T curr, const char* text) { + return info.shouldBeTrue(result, curr, text, getFunction()); +} +template +bool shouldBeFalse(bool result, T curr, const char* text) { + return info.shouldBeFalse(result, curr, text, getFunction()); +} - template - bool shouldBeEqual(S left, S right, T curr, const char* text) { - return info.shouldBeEqual(left, right, curr, text, getFunction()); - } +template +bool shouldBeEqual(S left, S right, T curr, const char* text) { + return info.shouldBeEqual(left, right, curr, text, getFunction()); +} - template - bool - shouldBeEqualOrFirstIsUnreachable(S left, S right, T curr, const char* text) { - return info.shouldBeEqualOrFirstIsUnreachable( - left, right, curr, text, getFunction()); - } +template +bool +shouldBeEqualOrFirstIsUnreachable(S left, S right, T curr, const char* text) { + return info.shouldBeEqualOrFirstIsUnreachable( + left, right, curr, text, getFunction()); +} - template - bool shouldBeUnequal(S left, S right, T curr, const char* text) { - return info.shouldBeUnequal(left, right, curr, text, getFunction()); - } +template +bool shouldBeUnequal(S left, S right, T curr, const char* text) { + return info.shouldBeUnequal(left, right, curr, text, getFunction()); +} - void shouldBeIntOrUnreachable(Type ty, Expression* curr, const char* text) { - return info.shouldBeIntOrUnreachable(ty, curr, text, getFunction()); - } +void shouldBeIntOrUnreachable(Type ty, Expression* curr, const char* text) { + return info.shouldBeIntOrUnreachable(ty, curr, text, getFunction()); +} - bool - shouldBeSubType(Type left, Type right, Expression* curr, const char* text) { - return info.shouldBeSubType(left, right, curr, text, getFunction()); - } +bool +shouldBeSubType(Type left, Type right, Expression* curr, const char* text) { + return info.shouldBeSubType(left, right, curr, text, getFunction()); +} - void validateAlignment( - size_t align, Type type, Index bytes, bool isAtomic, Expression* curr); - void validateMemBytes(uint8_t bytes, Type type, Expression* curr); +void validateAlignment( + size_t align, Type type, Index bytes, bool isAtomic, Expression* curr); +void validateMemBytes(uint8_t bytes, Type type, Expression* curr); - template void validateReturnCall(T* curr) { - shouldBeTrue(!curr->isReturn || getModule()->features.hasTailCall(), - curr, - "return_call* requires tail calls to be enabled"); - } +template void validateReturnCall(T* curr) { + shouldBeTrue(!curr->isReturn || getModule()->features.hasTailCall(), + curr, + "return_call* requires tail calls to be enabled"); +} - // |printable| is the expression to print in case of an error. That may differ - // from |curr| which we are validating. - template - void validateCallParamsAndResult(T* curr, - HeapType sigType, - Expression* printable) { - if (!shouldBeTrue(sigType.isSignature(), - printable, - "Heap type must be a signature type")) { - return; - } - auto sig = sigType.getSignature(); - if (!shouldBeTrue(curr->operands.size() == sig.params.size(), - printable, - "call* param number must match")) { - return; - } - size_t i = 0; - for (const auto& param : sig.params) { - if (!shouldBeSubType(curr->operands[i]->type, - param, - printable, - "call param types must match") && - !info.quiet) { - getStream() << "(on argument " << i << ")\n"; - } - ++i; - } - if (curr->isReturn) { - shouldBeEqual(curr->type, - Type(Type::unreachable), +// |printable| is the expression to print in case of an error. That may differ +// from |curr| which we are validating. +template +void validateCallParamsAndResult(T* curr, + HeapType sigType, + Expression* printable) { + if (!shouldBeTrue(sigType.isSignature(), printable, - "return_call* should have unreachable type"); - shouldBeSubType( - sig.results, - getFunction()->getResults(), - printable, - "return_call* callee return type must match caller return type"); - } else { - shouldBeEqualOrFirstIsUnreachable( - curr->type, - sig.results, - printable, - "call* type must match callee return type"); + "Heap type must be a signature type")) { + return; + } + auto sig = sigType.getSignature(); + if (!shouldBeTrue(curr->operands.size() == sig.params.size(), + printable, + "call* param number must match")) { + return; + } + size_t i = 0; + for (const auto& param : sig.params) { + if (!shouldBeSubType(curr->operands[i]->type, + param, + printable, + "call param types must match") && + !info.quiet) { + getStream() << "(on argument " << i << ")\n"; } + ++i; + } + if (curr->isReturn) { + shouldBeEqual(curr->type, + Type(Type::unreachable), + printable, + "return_call* should have unreachable type"); + shouldBeSubType( + sig.results, + getFunction()->getResults(), + printable, + "return_call* callee return type must match caller return type"); + } else { + shouldBeEqualOrFirstIsUnreachable( + curr->type, + sig.results, + printable, + "call* type must match callee return type"); } +} // In the common case, we use |curr| as |printable|. template @@ -499,7 +499,7 @@ struct FunctionValidator : public WalkerPass> { validateCallParamsAndResult(curr, sigType, curr); } - Type indexType() { return getModule()->memory.indexType; } + Type indexType() { return getModule()->memories[0]->indexType; } }; void FunctionValidator::noteLabelName(Name name) { @@ -935,7 +935,7 @@ void FunctionValidator::visitGlobalSet(GlobalSet* curr) { void FunctionValidator::visitLoad(Load* curr) { shouldBeTrue( - getModule()->memory.exists, curr, "Memory operations require a memory"); + getModule()->memories[0], curr, "Memory operations require a memory"); if (curr->isAtomic) { shouldBeTrue(getModule()->features.hasAtomics(), curr, @@ -966,7 +966,7 @@ void FunctionValidator::visitLoad(Load* curr) { void FunctionValidator::visitStore(Store* curr) { shouldBeTrue( - getModule()->memory.exists, curr, "Memory operations require a memory"); + getModule()->memories[0], curr, "Memory operations require a memory"); if (curr->isAtomic) { shouldBeTrue(getModule()->features.hasAtomics(), curr, @@ -1003,7 +1003,7 @@ void FunctionValidator::visitStore(Store* curr) { void FunctionValidator::visitAtomicRMW(AtomicRMW* curr) { shouldBeTrue( - getModule()->memory.exists, curr, "Memory operations require a memory"); + getModule()->memories[0], curr, "Memory operations require a memory"); shouldBeTrue(getModule()->features.hasAtomics(), curr, "Atomic operation (atomics are disabled)"); @@ -1023,7 +1023,7 @@ void FunctionValidator::visitAtomicRMW(AtomicRMW* curr) { void FunctionValidator::visitAtomicCmpxchg(AtomicCmpxchg* curr) { shouldBeTrue( - getModule()->memory.exists, curr, "Memory operations require a memory"); + getModule()->memories[0], curr, "Memory operations require a memory"); shouldBeTrue(getModule()->features.hasAtomics(), curr, "Atomic operation (atomics are disabled)"); @@ -1056,7 +1056,7 @@ void FunctionValidator::visitAtomicCmpxchg(AtomicCmpxchg* curr) { void FunctionValidator::visitAtomicWait(AtomicWait* curr) { shouldBeTrue( - getModule()->memory.exists, curr, "Memory operations require a memory"); + getModule()->memories[0], curr, "Memory operations require a memory"); shouldBeTrue(getModule()->features.hasAtomics(), curr, "Atomic operation (atomics are disabled)"); @@ -1082,7 +1082,7 @@ void FunctionValidator::visitAtomicWait(AtomicWait* curr) { void FunctionValidator::visitAtomicNotify(AtomicNotify* curr) { shouldBeTrue( - getModule()->memory.exists, curr, "Memory operations require a memory"); + getModule()->memories[0], curr, "Memory operations require a memory"); shouldBeTrue(getModule()->features.hasAtomics(), curr, "Atomic operation (atomics are disabled)"); @@ -1102,7 +1102,7 @@ void FunctionValidator::visitAtomicNotify(AtomicNotify* curr) { void FunctionValidator::visitAtomicFence(AtomicFence* curr) { shouldBeTrue( - getModule()->memory.exists, curr, "Memory operations require a memory"); + getModule()->memories[0], curr, "Memory operations require a memory"); shouldBeTrue(getModule()->features.hasAtomics(), curr, "Atomic operation (atomics are disabled)"); @@ -1241,7 +1241,7 @@ void FunctionValidator::visitSIMDShift(SIMDShift* curr) { void FunctionValidator::visitSIMDLoad(SIMDLoad* curr) { shouldBeTrue( - getModule()->memory.exists, curr, "Memory operations require a memory"); + getModule()->memories[0], curr, "Memory operations require a memory"); shouldBeTrue( getModule()->features.hasSIMD(), curr, "SIMD operation (SIMD is disabled)"); shouldBeEqualOrFirstIsUnreachable( @@ -1276,7 +1276,7 @@ void FunctionValidator::visitSIMDLoad(SIMDLoad* curr) { void FunctionValidator::visitSIMDLoadStoreLane(SIMDLoadStoreLane* curr) { shouldBeTrue( - getModule()->memory.exists, curr, "Memory operations require a memory"); + getModule()->memories[0], curr, "Memory operations require a memory"); shouldBeTrue( getModule()->features.hasSIMD(), curr, "SIMD operation (SIMD is disabled)"); if (curr->isLoad()) { @@ -1344,7 +1344,7 @@ void FunctionValidator::visitMemoryInit(MemoryInit* curr) { "memory.init offset must be an i32"); shouldBeEqualOrFirstIsUnreachable( curr->size->type, Type(Type::i32), curr, "memory.init size must be an i32"); - if (!shouldBeTrue(getModule()->memory.exists, + if (!shouldBeTrue(getModule()->memories[0], curr, "Memory operations require a memory")) { return; @@ -1360,7 +1360,7 @@ void FunctionValidator::visitDataDrop(DataDrop* curr) { "Bulk memory operation (bulk memory is disabled)"); shouldBeEqualOrFirstIsUnreachable( curr->type, Type(Type::none), curr, "data.drop must have type none"); - if (!shouldBeTrue(getModule()->memory.exists, + if (!shouldBeTrue(getModule()->memories[0], curr, "Memory operations require a memory")) { return; @@ -1392,7 +1392,7 @@ void FunctionValidator::visitMemoryCopy(MemoryCopy* curr) { curr, "memory.copy size must match memory index type"); shouldBeTrue( - getModule()->memory.exists, curr, "Memory operations require a memory"); + getModule()->memories[0], curr, "Memory operations require a memory"); } void FunctionValidator::visitMemoryFill(MemoryFill* curr) { @@ -1416,7 +1416,7 @@ void FunctionValidator::visitMemoryFill(MemoryFill* curr) { curr, "memory.fill size must match memory index type"); shouldBeTrue( - getModule()->memory.exists, curr, "Memory operations require a memory"); + getModule()->memories[0], curr, "Memory operations require a memory"); } void FunctionValidator::validateMemBytes(uint8_t bytes, @@ -2021,12 +2021,12 @@ void FunctionValidator::visitReturn(Return* curr) { void FunctionValidator::visitMemorySize(MemorySize* curr) { shouldBeTrue( - getModule()->memory.exists, curr, "Memory operations require a memory"); + getModule()->memories[0], curr, "Memory operations require a memory"); } void FunctionValidator::visitMemoryGrow(MemoryGrow* curr) { shouldBeTrue( - getModule()->memory.exists, curr, "Memory operations require a memory"); + getModule()->memories[0], curr, "Memory operations require a memory"); shouldBeEqualOrFirstIsUnreachable(curr->delta->type, indexType(), curr, @@ -2940,7 +2940,7 @@ static void validateExports(Module& module, ValidationInfo& info) { name, "module table exports must be found"); } else if (exp->kind == ExternalKind::Memory) { - info.shouldBeTrue(name == Name("0") || name == module.memory.name, + info.shouldBeTrue(name == Name("0") || name == module.memories[0]->name, name, "module memory exports must be found"); } else if (exp->kind == ExternalKind::Tag) { @@ -2982,7 +2982,7 @@ static void validateGlobals(Module& module, ValidationInfo& info) { } static void validateMemory(Module& module, ValidationInfo& info) { - auto& curr = module.memory; + auto& curr = module.memories[0]; info.shouldBeFalse( curr.initial > curr.max, "memory", "memory max >= initial"); if (curr.is64()) { From 9382618712afb2e9851e16f037617b0e665e1967 Mon Sep 17 00:00:00 2001 From: Ashley Nelson Date: Mon, 20 Jun 2022 06:38:23 +0000 Subject: [PATCH 11/78] src/passes --- src/passes/AlignmentLowering.cpp | 8 +++---- src/passes/AvoidReinterprets.cpp | 4 ++-- src/passes/InstrumentMemory.cpp | 6 ++--- src/passes/Memory64Lowering.cpp | 6 ++--- src/passes/MemoryPacking.cpp | 12 ++++------ src/passes/Metrics.cpp | 2 +- src/passes/OptimizeInstructions.cpp | 2 +- src/passes/Print.cpp | 2 +- src/passes/RemoveUnusedModuleElements.cpp | 10 ++++---- src/passes/SafeHeap.cpp | 28 +++++++++++------------ 10 files changed, 38 insertions(+), 42 deletions(-) diff --git a/src/passes/AlignmentLowering.cpp b/src/passes/AlignmentLowering.cpp index 8cab580720e..86135e386df 100644 --- a/src/passes/AlignmentLowering.cpp +++ b/src/passes/AlignmentLowering.cpp @@ -34,7 +34,7 @@ struct AlignmentLowering : public WalkerPass> { if (curr->align == 0 || curr->align == curr->bytes) { return curr; } - auto indexType = getModule()->memory.indexType; + auto indexType = getModule()->memories[0]->indexType; Builder builder(*getModule()); assert(curr->type == Type::i32); auto temp = builder.addVar(getFunction(), indexType); @@ -135,7 +135,7 @@ struct AlignmentLowering : public WalkerPass> { } Builder builder(*getModule()); assert(curr->value->type == Type::i32); - auto indexType = getModule()->memory.indexType; + auto indexType = getModule()->memories[0]->indexType; auto tempPtr = builder.addVar(getFunction(), indexType); auto tempValue = builder.addVar(getFunction(), Type::i32); auto* block = @@ -256,7 +256,7 @@ struct AlignmentLowering : public WalkerPass> { break; } // Load two 32-bit pieces, and combine them. - auto indexType = getModule()->memory.indexType; + auto indexType = getModule()->memories[0]->indexType; auto temp = builder.addVar(getFunction(), indexType); auto* set = builder.makeLocalSet(temp, curr->ptr); Expression* low = @@ -335,7 +335,7 @@ struct AlignmentLowering : public WalkerPass> { value = builder.makeUnary(ReinterpretFloat64, value); } // Store as two 32-bit pieces. - auto indexType = getModule()->memory.indexType; + auto indexType = getModule()->memories[0]->indexType; auto tempPtr = builder.addVar(getFunction(), indexType); auto* setPtr = builder.makeLocalSet(tempPtr, curr->ptr); auto tempValue = builder.addVar(getFunction(), Type::i64); diff --git a/src/passes/AvoidReinterprets.cpp b/src/passes/AvoidReinterprets.cpp index c2607725d70..55a88d4058a 100644 --- a/src/passes/AvoidReinterprets.cpp +++ b/src/passes/AvoidReinterprets.cpp @@ -115,7 +115,7 @@ struct AvoidReinterprets : public WalkerPass> { void optimize(Function* func) { std::set unoptimizables; - auto indexType = getModule()->memory.indexType; + auto indexType = getModule()->memories[0]->indexType; for (auto& [load, info] : infos) { if (info.reinterpreted && canReplaceWithReinterpret(load)) { // We should use another load here, to avoid reinterprets. @@ -173,7 +173,7 @@ struct AvoidReinterprets : public WalkerPass> { auto& info = iter->second; Builder builder(*module); auto* ptr = curr->ptr; - auto indexType = getModule()->memory.indexType; + auto indexType = getModule()->memories[0]->indexType; curr->ptr = builder.makeLocalGet(info.ptrLocal, indexType); // Note that the other load can have its sign set to false - if the // original were an integer, the other is a float anyhow; and if diff --git a/src/passes/InstrumentMemory.cpp b/src/passes/InstrumentMemory.cpp index 1180c518351..150c047eda2 100644 --- a/src/passes/InstrumentMemory.cpp +++ b/src/passes/InstrumentMemory.cpp @@ -100,7 +100,7 @@ struct InstrumentMemory : public WalkerPass> { void visitLoad(Load* curr) { id++; Builder builder(*getModule()); - auto indexType = getModule()->memory.indexType; + auto indexType = getModule()->memories[0]->indexType; auto offset = builder.makeConstPtr(curr->offset.addr); curr->ptr = builder.makeCall(load_ptr, {builder.makeConst(int32_t(id)), @@ -132,7 +132,7 @@ struct InstrumentMemory : public WalkerPass> { void visitStore(Store* curr) { id++; Builder builder(*getModule()); - auto indexType = getModule()->memory.indexType; + auto indexType = getModule()->memories[0]->indexType; auto offset = builder.makeConstPtr(curr->offset.addr); curr->ptr = builder.makeCall(store_ptr, {builder.makeConst(int32_t(id)), @@ -246,7 +246,7 @@ struct InstrumentMemory : public WalkerPass> { } void visitModule(Module* curr) { - auto indexType = curr->memory.indexType; + auto indexType = curr->memories[0]->indexType; // Load. addImport( diff --git a/src/passes/Memory64Lowering.cpp b/src/passes/Memory64Lowering.cpp index 4c2770e3a1b..dd536d359db 100644 --- a/src/passes/Memory64Lowering.cpp +++ b/src/passes/Memory64Lowering.cpp @@ -30,7 +30,7 @@ namespace wasm { struct Memory64Lowering : public WalkerPass> { void run(PassRunner* runner, Module* module) override { - if (module->memory.is64()) { + if (module->memories[0]->is64()) { super::run(runner, module); } } @@ -40,7 +40,7 @@ struct Memory64Lowering : public WalkerPass> { return; } auto& module = *getModule(); - assert(module.memory.is64()); + assert(module.memories[0]->is64()); assert(ptr->type == Type::i64); Builder builder(module); ptr = builder.makeUnary(UnaryOp::WrapInt64, ptr); @@ -51,7 +51,7 @@ struct Memory64Lowering : public WalkerPass> { return; } auto& module = *getModule(); - assert(module.memory.is64()); + assert(module.memories[0]->is64()); assert(ptr->type == Type::i64); ptr->type = Type::i32; Builder builder(module); diff --git a/src/passes/MemoryPacking.cpp b/src/passes/MemoryPacking.cpp index 3be08e7b95a..c2d8dc4b028 100644 --- a/src/passes/MemoryPacking.cpp +++ b/src/passes/MemoryPacking.cpp @@ -84,9 +84,9 @@ const size_t DATA_DROP_SIZE = 3; Expression* makeGtShiftedMemorySize(Builder& builder, Module& module, MemoryInit* curr) { return builder.makeBinary( - module.memory.is64() ? GtUInt64 : GtUInt32, + module.memories[0]->is64() ? GtUInt64 : GtUInt32, curr->dest, - builder.makeBinary(module.memory.is64() ? ShlInt64 : ShlInt32, + builder.makeBinary(module.memories[0]->is64() ? ShlInt64 : ShlInt32, builder.makeMemorySize(), builder.makeConstPtr(16))); } @@ -123,7 +123,7 @@ struct MemoryPacking : public Pass { }; void MemoryPacking::run(PassRunner* runner, Module* module) { - if (!canOptimize(module->memory, module->dataSegments, runner->options)) { + if (!canOptimize(module->memories[0], module->dataSegments, runner->options)) { return; } @@ -181,14 +181,10 @@ bool MemoryPacking::canOptimize( const Memory& memory, std::vector>& dataSegments, const PassOptions& passOptions) { - if (!memory.exists) { - return false; - } - // We must optimize under the assumption that memory has been initialized to // zero. That is the case for a memory declared in the module, but for a // memory that is imported, we must be told that it is zero-initialized. - if (memory.imported() && !passOptions.zeroFilledMemory) { + if (memories[0]->imported() && !passOptions.zeroFilledMemory) { return false; } diff --git a/src/passes/Metrics.cpp b/src/passes/Metrics.cpp index 70d79c12c71..068f80e01a5 100644 --- a/src/passes/Metrics.cpp +++ b/src/passes/Metrics.cpp @@ -63,7 +63,7 @@ struct Metrics counts["[tables]"] = imports.getNumDefinedTables(); // add memory - walkMemory(&module->memory); + walkMemory(&module->memories[0]); Index size = 0; for (auto& segment : module->dataSegments) { walkDataSegment(segment.get()); diff --git a/src/passes/OptimizeInstructions.cpp b/src/passes/OptimizeInstructions.cpp index e3a5774b1a0..a623fafef17 100644 --- a/src/passes/OptimizeInstructions.cpp +++ b/src/passes/OptimizeInstructions.cpp @@ -2920,7 +2920,7 @@ struct OptimizeInstructions if (last) { uint64_t value64 = last->value.getInteger(); uint64_t offset64 = offset; - if (getModule()->memory.is64()) { + if (getModule()->memories[0]->is64()) { last->value = Literal(int64_t(value64 + offset64)); offset = 0; } else { diff --git a/src/passes/Print.cpp b/src/passes/Print.cpp index 62dc58c48f1..065d6708ad6 100644 --- a/src/passes/Print.cpp +++ b/src/passes/Print.cpp @@ -3136,7 +3136,7 @@ struct PrintSExpression : public UnifiedExpressionVisitor { doIndent(o, indent); o << '('; emitImportHeader(curr); - printMemoryHeader(&currModule->memory); + printMemoryHeader(&currModule->memories[0]); o << ')' << maybeNewLine; } else { doIndent(o, indent); diff --git a/src/passes/RemoveUnusedModuleElements.cpp b/src/passes/RemoveUnusedModuleElements.cpp index 7116475cd5b..bef73d506f8 100644 --- a/src/passes/RemoveUnusedModuleElements.cpp +++ b/src/passes/RemoveUnusedModuleElements.cpp @@ -281,7 +281,7 @@ struct RemoveUnusedModuleElements : public Pass { } // Check for special imports, which are roots. bool importsMemory = false; - if (module->memory.imported()) { + if (module->memories[0]->imported()) { importsMemory = true; } // For now, all functions that can be called indirectly are marked as roots. @@ -370,10 +370,10 @@ struct RemoveUnusedModuleElements : public Pass { module->dataSegments.clear(); } if (module->dataSegments.empty()) { - module->memory.exists = false; - module->memory.module = module->memory.base = Name(); - module->memory.initial = 0; - module->memory.max = 0; + module->memories[0]->exists = false; + module->memories[0]->module = module->memories[0]->base = Name(); + module->memories[0]->initial = 0; + module->memories[0]->max = 0; } } } diff --git a/src/passes/SafeHeap.cpp b/src/passes/SafeHeap.cpp index 068c8ef739a..375890285fb 100644 --- a/src/passes/SafeHeap.cpp +++ b/src/passes/SafeHeap.cpp @@ -151,7 +151,7 @@ struct SafeHeap : public Pass { void addImports(Module* module) { ImportInfo info(*module); - auto indexType = module->memory.indexType; + auto indexType = module->memories[0]->indexType; if (auto* existing = info.getImportedFunction(ENV, GET_SBRK_PTR)) { getSbrkPtr = existing->name; } else if (auto* existing = module->getExportOrNull(GET_SBRK_PTR)) { @@ -222,7 +222,7 @@ struct SafeHeap : public Pass { for (auto isAtomic : {true, false}) { load.isAtomic = isAtomic; if (isAtomic && !isPossibleAtomicOperation( - align, bytes, module->memory.shared, type)) { + align, bytes, module->memories[0]->shared, type)) { continue; } addLoadFunc(load, module); @@ -256,7 +256,7 @@ struct SafeHeap : public Pass { for (auto isAtomic : {true, false}) { store.isAtomic = isAtomic; if (isAtomic && !isPossibleAtomicOperation( - align, bytes, module->memory.shared, valueType)) { + align, bytes, module->memories[0]->shared, valueType)) { continue; } addStoreFunc(store, module); @@ -273,14 +273,14 @@ struct SafeHeap : public Pass { return; } // pointer, offset - auto indexType = module->memory.indexType; + auto indexType = module->memories[0]->indexType; auto funcSig = Signature({indexType, indexType}, style.type); auto func = Builder::makeFunction(name, funcSig, {indexType}); Builder builder(*module); auto* block = builder.makeBlock(); block->list.push_back(builder.makeLocalSet( 2, - builder.makeBinary(module->memory.is64() ? AddInt64 : AddInt32, + builder.makeBinary(module->memories[0]->is64() ? AddInt64 : AddInt32, builder.makeLocalGet(0, indexType), builder.makeLocalGet(1, indexType)))); // check for reading past valid memory: if pointer + offset + bytes @@ -312,7 +312,7 @@ struct SafeHeap : public Pass { if (module->getFunctionOrNull(name)) { return; } - auto indexType = module->memory.indexType; + auto indexType = module->memories[0]->indexType; // pointer, offset, value auto funcSig = Signature({indexType, indexType, style.valueType}, Type::none); @@ -321,7 +321,7 @@ struct SafeHeap : public Pass { auto* block = builder.makeBlock(); block->list.push_back(builder.makeLocalSet( 3, - builder.makeBinary(module->memory.is64() ? AddInt64 : AddInt32, + builder.makeBinary(module->memories[0]->is64() ? AddInt64 : AddInt32, builder.makeLocalGet(0, indexType), builder.makeLocalGet(1, indexType)))); // check for reading past valid memory: if pointer + offset + bytes @@ -344,9 +344,9 @@ struct SafeHeap : public Pass { Expression* makeAlignCheck(Address align, Builder& builder, Index local, Module* module) { - auto indexType = module->memory.indexType; + auto indexType = module->memories[0]->indexType; Expression* ptrBits = builder.makeLocalGet(local, indexType); - if (module->memory.is64()) { + if (module->memories[0]->is64()) { ptrBits = builder.makeUnary(WrapInt64, ptrBits); } return builder.makeIf( @@ -357,8 +357,8 @@ struct SafeHeap : public Pass { Expression* makeBoundsCheck( Type type, Builder& builder, Index local, Index bytes, Module* module) { - auto indexType = module->memory.indexType; - auto upperOp = module->memory.is64() + auto indexType = module->memories[0]->indexType; + auto upperOp = module->memories[0]->is64() ? options.lowMemoryUnused ? LtUInt64 : EqInt64 : options.lowMemoryUnused ? LtUInt32 : EqInt32; auto upperBound = options.lowMemoryUnused ? PassOptions::LowMemoryBound : 0; @@ -373,11 +373,11 @@ struct SafeHeap : public Pass { } else { sbrkPtr = builder.makeCall(getSbrkPtr, {}, indexType); } - auto size = module->memory.is64() ? 8 : 4; + auto size = module->memories[0]->is64() ? 8 : 4; brkLocation = builder.makeLoad(size, false, 0, size, sbrkPtr, indexType); } - auto gtuOp = module->memory.is64() ? GtUInt64 : GtUInt32; - auto addOp = module->memory.is64() ? AddInt64 : AddInt32; + auto gtuOp = module->memories[0]->is64() ? GtUInt64 : GtUInt32; + auto addOp = module->memories[0]->is64() ? AddInt64 : AddInt32; return builder.makeIf( builder.makeBinary( OrInt32, From e26e2f4ff3727e56627ca1b954037e5df06bd3cd Mon Sep 17 00:00:00 2001 From: Ashley Nelson Date: Mon, 20 Jun 2022 07:01:57 +0000 Subject: [PATCH 12/78] src/tools/ --- src/tools/fuzzing/fuzzing.cpp | 2 +- src/tools/wasm-ctor-eval.cpp | 4 ++-- src/tools/wasm-shell.cpp | 12 ++++++------ src/tools/wasm-split/instrumenter.cpp | 20 ++++++++++---------- 4 files changed, 19 insertions(+), 19 deletions(-) diff --git a/src/tools/fuzzing/fuzzing.cpp b/src/tools/fuzzing/fuzzing.cpp index 92a46e7583e..ec88e8cff09 100644 --- a/src/tools/fuzzing/fuzzing.cpp +++ b/src/tools/fuzzing/fuzzing.cpp @@ -185,7 +185,7 @@ void TranslateToFuzzReader::build() { void TranslateToFuzzReader::setupMemory() { // Add memory itself - MemoryUtils::ensureMinimalSize(wasm.memory); + MemoryUtils::ensureMinimalSize(wasm.memories[0]); if (wasm.features.hasBulkMemory()) { size_t memCovered = 0; // need at least one segment for memory.inits diff --git a/src/tools/wasm-ctor-eval.cpp b/src/tools/wasm-ctor-eval.cpp index 6150441cd64..7e3c42a65cc 100644 --- a/src/tools/wasm-ctor-eval.cpp +++ b/src/tools/wasm-ctor-eval.cpp @@ -122,14 +122,14 @@ std::unique_ptr buildEnvModule(Module& wasm) { // create an exported memory with the same initial and max size ModuleUtils::iterImportedMemories(wasm, [&](Memory* memory) { if (memory->module == env->name) { - env->memory.name = wasm.memory.name; + env->memory.name = wasm.memories[0]->name; env->memory.exists = true; env->memory.initial = memory->initial; env->memory.max = memory->max; env->memory.shared = memory->shared; env->memory.indexType = memory->indexType; env->addExport(Builder(*env).makeExport( - wasm.memory.base, wasm.memory.name, ExternalKind::Memory)); + wasm.memories[0]->base, wasm.memories[0]->name, ExternalKind::Memory)); } }); diff --git a/src/tools/wasm-shell.cpp b/src/tools/wasm-shell.cpp index 51eafb65254..35b8deff7f8 100644 --- a/src/tools/wasm-shell.cpp +++ b/src/tools/wasm-shell.cpp @@ -284,8 +284,8 @@ class Shell { } } }); - if (wasm.memory.imported()) { - reportUnknownImport(&wasm.memory); + if (wasm.memories[0]->imported()) { + reportUnknownImport(&wasm.memories[0]); } } @@ -352,11 +352,11 @@ class Shell { spectest->addExport( builder.makeExport("table", Name::fromInt(0), ExternalKind::Table)); - spectest->memory.exists = true; - spectest->memory.initial = 1; - spectest->memory.max = 2; + spectest->addMemory(builder.makeMemory()); + spectest->memories[0]->initial = 1; + spectest->memories[0]->max = 2; spectest->addExport(builder.makeExport( - "memory", spectest->memory.name, ExternalKind::Memory)); + "memory", spectest->memories[0]->name, ExternalKind::Memory)); modules["spectest"].swap(spectest); modules["spectest"]->features = FeatureSet::All; diff --git a/src/tools/wasm-split/instrumenter.cpp b/src/tools/wasm-split/instrumenter.cpp index c23a70f0671..22dd5b62784 100644 --- a/src/tools/wasm-split/instrumenter.cpp +++ b/src/tools/wasm-split/instrumenter.cpp @@ -255,19 +255,19 @@ void Instrumenter::addProfileExport() { // Also make sure there is a memory with enough pages to write into size_t pages = (profileSize + Memory::kPageSize - 1) / Memory::kPageSize; - if (!wasm->memory.exists) { - wasm->memory.exists = true; - wasm->memory.initial = pages; - wasm->memory.max = pages; - } else if (wasm->memory.initial < pages) { - wasm->memory.initial = pages; - if (wasm->memory.max < pages) { - wasm->memory.max = pages; + if (!wasm->memories[0]) { + wasm->addMemory(Builder::makeMemory()); + wasm->memories[0]->initial = pages; + wasm->memories[0]->max = pages; + } else if (wasm->memories[0]->initial < pages) { + wasm->memories[0]->initial = pages; + if (wasm->memories[0]->max < pages) { + wasm->memories[0]->max = pages; } } // Export the memory if it is not already exported or imported. - if (!wasm->memory.imported()) { + if (!wasm->memories[0]->imported()) { bool memoryExported = false; for (auto& ex : wasm->exports) { if (ex->kind == ExternalKind::Memory) { @@ -278,7 +278,7 @@ void Instrumenter::addProfileExport() { if (!memoryExported) { wasm->addExport( Builder::makeExport("profile-memory", - Names::getValidExportName(*wasm, wasm->memory.name), + Names::getValidExportName(*wasm, wasm->memories[0]->name), ExternalKind::Memory)); } } From d782e2ca682619556822969f9ea088caa9a6d6fa Mon Sep 17 00:00:00 2001 From: Ashley Nelson Date: Mon, 20 Jun 2022 07:08:59 +0000 Subject: [PATCH 13/78] src/wasm-traversal.h --- src/wasm-traversal.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/wasm-traversal.h b/src/wasm-traversal.h index 7c10be3a937..bf218f2452b 100644 --- a/src/wasm-traversal.h +++ b/src/wasm-traversal.h @@ -258,7 +258,7 @@ struct Walker : public VisitorType { for (auto& curr : module->elementSegments) { self->walkElementSegment(curr.get()); } - self->walkMemory(&module->memory); + self->walkMemory(&module->memories[0]); for (auto& curr : module->dataSegments) { self->walkDataSegment(curr.get()); } From 229ffbb31df7d30928942831269ebafd4dbfd6f2 Mon Sep 17 00:00:00 2001 From: Ashley Nelson Date: Mon, 20 Jun 2022 19:52:01 +0000 Subject: [PATCH 14/78] It builds --- src/binaryen-c.cpp | 12 +++--- src/ir/module-splitting.cpp | 2 +- src/ir/module-utils.h | 18 ++++++-- src/passes/Asyncify.cpp | 2 +- src/passes/I64ToI32Lowering.cpp | 4 +- src/passes/MemoryPacking.cpp | 4 +- src/passes/Metrics.cpp | 2 +- src/passes/Print.cpp | 5 +-- src/passes/RemoveNonJSOps.cpp | 2 +- src/passes/RemoveUnusedModuleElements.cpp | 1 - src/passes/SpillPointers.cpp | 2 +- src/tools/fuzzing/fuzzing.cpp | 2 +- src/tools/wasm-ctor-eval.cpp | 11 +++-- src/tools/wasm-shell.cpp | 2 +- src/wasm-builder.h | 4 +- src/wasm-interpreter.h | 4 +- src/wasm-traversal.h | 2 +- src/wasm.h | 4 +- src/wasm/wasm-binary.cpp | 4 +- src/wasm/wasm-s-parser.cpp | 10 ++--- src/wasm/wasm-validator.cpp | 52 +++++++++++------------ src/wasm2js.h | 2 +- 22 files changed, 79 insertions(+), 72 deletions(-) diff --git a/src/binaryen-c.cpp b/src/binaryen-c.cpp index 799eaaa7daf..18e589fc00e 100644 --- a/src/binaryen-c.cpp +++ b/src/binaryen-c.cpp @@ -3656,10 +3656,10 @@ void BinaryenAddMemoryImport(BinaryenModuleRef module, const char* externalModuleName, const char* externalBaseName, uint8_t shared) { - auto& memory = std::make_unique(); - memory.module = externalModuleName; - memory.base = externalBaseName; - memory.shared = shared; + auto memory = std::make_unique(); + memory->module = externalModuleName; + memory->base = externalBaseName; + memory->shared = shared; ((Module*)module)->addMemory(std::move(memory)); } void BinaryenAddGlobalImport(BinaryenModuleRef module, @@ -3946,7 +3946,7 @@ uint32_t BinaryenGetMemorySegmentByteOffset(BinaryenModuleRef module, return 0; } bool BinaryenHasMemory(BinaryenModuleRef module) { - return ((Module*)module)->memories[0]; + return ((Module*)module)->memories[0] != nullptr; } BinaryenIndex BinaryenMemoryGetInitial(BinaryenModuleRef module) { return ((Module*)module)->memories[0]->initial; @@ -3974,7 +3974,7 @@ const char* BinaryenMemoryImportGetBase(BinaryenModuleRef module) { } } bool BinaryenMemoryIsShared(BinaryenModuleRef module) { - return ((Module*)module)->memories->shared; + return ((Module*)module)->memories[0]->shared; } size_t BinaryenGetMemorySegmentByteLength(BinaryenModuleRef module, BinaryenIndex id) { diff --git a/src/ir/module-splitting.cpp b/src/ir/module-splitting.cpp index 594e149ff04..0957a80f16e 100644 --- a/src/ir/module-splitting.cpp +++ b/src/ir/module-splitting.cpp @@ -618,7 +618,7 @@ void ModuleSplitter::shareImportableItems() { secondary.memories[0]->shared = primary.memories[0]->shared; secondary.memories[0]->indexType = primary.memories[0]->indexType; makeImportExport( - primary.memories[0], secondary.memories[0], "memory", ExternalKind::Memory); + *primary.memories[0], *secondary.memories[0], "memory", ExternalKind::Memory); } for (auto& table : primary.tables) { diff --git a/src/ir/module-utils.h b/src/ir/module-utils.h index 9ef74401017..1a883098f42 100644 --- a/src/ir/module-utils.h +++ b/src/ir/module-utils.h @@ -106,6 +106,18 @@ inline Table* copyTable(const Table* table, Module& out) { return out.addTable(std::move(ret)); } +inline Memory* copyMemory(const Memory* memory, Module& out) { + auto ret = Builder::makeMemory(); + ret->name = memory->name; + ret->hasExplicitName = memory->hasExplicitName; + ret->initial = memory->initial; + ret->max = memory->max; + ret->shared = memory->shared; + ret->indexType = memory->indexType; + + return out.addMemory(std::move(ret)); +} + inline DataSegment* copyDataSegment(const DataSegment* segment, Module& out) { auto ret = Builder::makeDataSegment(); ret->name = segment->name; @@ -144,7 +156,7 @@ inline void copyModule(const Module& in, Module& out) { for (auto& curr : in.dataSegments) { copyDataSegment(curr.get(), out); } - out.memory = in.memory; + copyMemory(in.memories[0].get(), out); out.start = in.start; out.userSections = in.userSections; out.debugInfoFileNames = in.debugInfoFileNames; @@ -208,13 +220,13 @@ inline void renameFunction(Module& wasm, Name oldName, Name newName) { template inline void iterImportedMemories(Module& wasm, T visitor) { if (wasm.memories[0] && wasm.memories[0]->imported()) { - visitor(&wasm.memories[0]); + visitor(wasm.memories[0].get()); } } template inline void iterDefinedMemories(Module& wasm, T visitor) { if (wasm.memories[0] && !wasm.memories[0]->imported()) { - visitor(&wasm.memories[0]); + visitor(wasm.memories[0].get()); } } diff --git a/src/passes/Asyncify.cpp b/src/passes/Asyncify.cpp index a2f7aa4ae18..0019f5e0a97 100644 --- a/src/passes/Asyncify.cpp +++ b/src/passes/Asyncify.cpp @@ -1483,7 +1483,7 @@ struct Asyncify : public Pass { bool optimize = runner->options.optimizeLevel > 0; // Ensure there is a memory, as we need it. - MemoryUtils::ensureMinimalSize(module->memories[0]); + MemoryUtils::ensureMinimalSize(*module->memories[0]); // Find which things can change the state. auto stateChangingImports = String::trim(read_possible_response_file( diff --git a/src/passes/I64ToI32Lowering.cpp b/src/passes/I64ToI32Lowering.cpp index f409c9375f6..3f387a3180e 100644 --- a/src/passes/I64ToI32Lowering.cpp +++ b/src/passes/I64ToI32Lowering.cpp @@ -594,7 +594,7 @@ struct I64ToI32Lowering : public WalkerPass> { Type::i32)); setOutParam(result, std::move(highBits)); replaceCurrent(result); - MemoryUtils::ensureMinimalSize(getModule()->memories[0]); + MemoryUtils::ensureMinimalSize(*getModule()->memories[0]); ABI::wasm2js::ensureHelpers(getModule()); } @@ -612,7 +612,7 @@ struct I64ToI32Lowering : public WalkerPass> { Type::none), builder->makeCall(ABI::wasm2js::SCRATCH_LOAD_F64, {}, Type::f64)); replaceCurrent(result); - MemoryUtils::ensureMinimalSize(getModule()->memories[0]); + MemoryUtils::ensureMinimalSize(*getModule()->memories[0]); ABI::wasm2js::ensureHelpers(getModule()); } diff --git a/src/passes/MemoryPacking.cpp b/src/passes/MemoryPacking.cpp index c2d8dc4b028..7953bdae474 100644 --- a/src/passes/MemoryPacking.cpp +++ b/src/passes/MemoryPacking.cpp @@ -123,7 +123,7 @@ struct MemoryPacking : public Pass { }; void MemoryPacking::run(PassRunner* runner, Module* module) { - if (!canOptimize(module->memories[0], module->dataSegments, runner->options)) { + if (!canOptimize(*module->memories[0], module->dataSegments, runner->options)) { return; } @@ -184,7 +184,7 @@ bool MemoryPacking::canOptimize( // We must optimize under the assumption that memory has been initialized to // zero. That is the case for a memory declared in the module, but for a // memory that is imported, we must be told that it is zero-initialized. - if (memories[0]->imported() && !passOptions.zeroFilledMemory) { + if (memory.imported() && !passOptions.zeroFilledMemory) { return false; } diff --git a/src/passes/Metrics.cpp b/src/passes/Metrics.cpp index 068f80e01a5..becbb12573a 100644 --- a/src/passes/Metrics.cpp +++ b/src/passes/Metrics.cpp @@ -63,7 +63,7 @@ struct Metrics counts["[tables]"] = imports.getNumDefinedTables(); // add memory - walkMemory(&module->memories[0]); + walkMemory(&(*module->memories[0])); Index size = 0; for (auto& segment : module->dataSegments) { walkDataSegment(segment.get()); diff --git a/src/passes/Print.cpp b/src/passes/Print.cpp index 065d6708ad6..58999f77746 100644 --- a/src/passes/Print.cpp +++ b/src/passes/Print.cpp @@ -3129,14 +3129,11 @@ struct PrintSExpression : public UnifiedExpressionVisitor { o << ")"; } void visitMemory(Memory* curr) { - if (!curr->exists) { - return; - } if (curr->imported()) { doIndent(o, indent); o << '('; emitImportHeader(curr); - printMemoryHeader(&currModule->memories[0]); + printMemoryHeader(&*currModule->memories[0]); o << ')' << maybeNewLine; } else { doIndent(o, indent); diff --git a/src/passes/RemoveNonJSOps.cpp b/src/passes/RemoveNonJSOps.cpp index be9f42dc34d..1dba20d06eb 100644 --- a/src/passes/RemoveNonJSOps.cpp +++ b/src/passes/RemoveNonJSOps.cpp @@ -122,7 +122,7 @@ struct RemoveNonJSOpsPass : public WalkerPass> { } // Intrinsics may use memory, so ensure the module has one. - MemoryUtils::ensureMinimalSize(module->memories[0]); + MemoryUtils::ensureMinimalSize(*module->memories[0]); // Add missing globals for (auto& [name, type] : neededImportedGlobals) { diff --git a/src/passes/RemoveUnusedModuleElements.cpp b/src/passes/RemoveUnusedModuleElements.cpp index bef73d506f8..ac674b24941 100644 --- a/src/passes/RemoveUnusedModuleElements.cpp +++ b/src/passes/RemoveUnusedModuleElements.cpp @@ -370,7 +370,6 @@ struct RemoveUnusedModuleElements : public Pass { module->dataSegments.clear(); } if (module->dataSegments.empty()) { - module->memories[0]->exists = false; module->memories[0]->module = module->memories[0]->base = Name(); module->memories[0]->initial = 0; module->memories[0]->max = 0; diff --git a/src/passes/SpillPointers.cpp b/src/passes/SpillPointers.cpp index 46b1fb47cf4..de1b62c3dd4 100644 --- a/src/passes/SpillPointers.cpp +++ b/src/passes/SpillPointers.cpp @@ -74,7 +74,7 @@ struct SpillPointers Type pointerType; void spillPointers() { - pointerType = getModule()->memory.indexType; + pointerType = getModule()->memories[0]->indexType; // we only care about possible pointers auto* func = getFunction(); diff --git a/src/tools/fuzzing/fuzzing.cpp b/src/tools/fuzzing/fuzzing.cpp index ec88e8cff09..00ad8b498ca 100644 --- a/src/tools/fuzzing/fuzzing.cpp +++ b/src/tools/fuzzing/fuzzing.cpp @@ -185,7 +185,7 @@ void TranslateToFuzzReader::build() { void TranslateToFuzzReader::setupMemory() { // Add memory itself - MemoryUtils::ensureMinimalSize(wasm.memories[0]); + MemoryUtils::ensureMinimalSize(*wasm.memories[0]); if (wasm.features.hasBulkMemory()) { size_t memCovered = 0; // need at least one segment for memory.inits diff --git a/src/tools/wasm-ctor-eval.cpp b/src/tools/wasm-ctor-eval.cpp index 7e3c42a65cc..3ac1e150b11 100644 --- a/src/tools/wasm-ctor-eval.cpp +++ b/src/tools/wasm-ctor-eval.cpp @@ -122,12 +122,11 @@ std::unique_ptr buildEnvModule(Module& wasm) { // create an exported memory with the same initial and max size ModuleUtils::iterImportedMemories(wasm, [&](Memory* memory) { if (memory->module == env->name) { - env->memory.name = wasm.memories[0]->name; - env->memory.exists = true; - env->memory.initial = memory->initial; - env->memory.max = memory->max; - env->memory.shared = memory->shared; - env->memory.indexType = memory->indexType; + env->memories[0]->name = wasm.memories[0]->name; + env->memories[0]->initial = memory->initial; + env->memories[0]->max = memory->max; + env->memories[0]->shared = memory->shared; + env->memories[0]->indexType = memory->indexType; env->addExport(Builder(*env).makeExport( wasm.memories[0]->base, wasm.memories[0]->name, ExternalKind::Memory)); } diff --git a/src/tools/wasm-shell.cpp b/src/tools/wasm-shell.cpp index 35b8deff7f8..fc80846739a 100644 --- a/src/tools/wasm-shell.cpp +++ b/src/tools/wasm-shell.cpp @@ -285,7 +285,7 @@ class Shell { } }); if (wasm.memories[0]->imported()) { - reportUnknownImport(&wasm.memories[0]); + reportUnknownImport(&*wasm.memories[0]); } } diff --git a/src/wasm-builder.h b/src/wasm-builder.h index 8717d135cd1..3b48a516c3b 100644 --- a/src/wasm-builder.h +++ b/src/wasm-builder.h @@ -95,7 +95,7 @@ class Builder { } static std::unique_ptrmakeMemory(Name name = Name::fromInt(0)) { - auto memory = std::make_unique(); memory->name = name; return memory; } @@ -626,7 +626,7 @@ class Builder { } MemorySize* makeMemorySize() { auto* ret = wasm.allocator.alloc(); - if (wasm.memories->is64()) { + if (wasm.memories[0]->is64()) { ret->make64(); } ret->finalize(); diff --git a/src/wasm-interpreter.h b/src/wasm-interpreter.h index f3ace3331f8..60bd44b7b34 100644 --- a/src/wasm-interpreter.h +++ b/src/wasm-interpreter.h @@ -3217,7 +3217,7 @@ class ModuleRunnerBase : public ExpressionRunner { NOTE_ENTER("MemorySize"); auto* inst = getMemoryInstance(); return Literal::makeFromInt64(inst->memorySize, - inst->wasm.memories->indexType); + inst->wasm.memories[0]->indexType); } Flow visitMemoryGrow(MemoryGrow* curr) { NOTE_ENTER("MemoryGrow"); @@ -3237,7 +3237,7 @@ class ModuleRunnerBase : public ExpressionRunner { return fail; } auto newSize = inst->memorySize + delta; - if (newSize > inst->wasm.memory.max) { + if (newSize > inst->wasm.memories[0]->max) { return fail; } if (!inst->externalInterface->growMemory( diff --git a/src/wasm-traversal.h b/src/wasm-traversal.h index bf218f2452b..aea6ca86949 100644 --- a/src/wasm-traversal.h +++ b/src/wasm-traversal.h @@ -258,7 +258,7 @@ struct Walker : public VisitorType { for (auto& curr : module->elementSegments) { self->walkElementSegment(curr.get()); } - self->walkMemory(&module->memories[0]); + self->walkMemory(module->memories[0].get()); for (auto& curr : module->dataSegments) { self->walkDataSegment(curr.get()); } diff --git a/src/wasm.h b/src/wasm.h index 25730a4b133..a7a569f70fa 100644 --- a/src/wasm.h +++ b/src/wasm.h @@ -2145,7 +2145,7 @@ class Module { Function* getFunction(Name name); Table* getTable(Name name); ElementSegment* getElementSegment(Name name); - Memory* getMemorySegment(Name name); + Memory* getMemory(Name name); DataSegment* getDataSegment(Name name); Global* getGlobal(Name name); Tag* getTag(Name name); @@ -2188,7 +2188,7 @@ class Module { void removeFunctions(std::function pred); void removeTables(std::function pred); void removeElementSegments(std::function pred); - void removeMemory(std::function pred); + void removeMemories(std::function pred); void removeDataSegments(std::function pred); void removeGlobals(std::function pred); void removeTags(std::function pred); diff --git a/src/wasm/wasm-binary.cpp b/src/wasm/wasm-binary.cpp index b62569002a0..213c4a9ff99 100644 --- a/src/wasm/wasm-binary.cpp +++ b/src/wasm/wasm-binary.cpp @@ -335,7 +335,7 @@ void WasmBinaryWriter::writeImports() { }); if (wasm->memories[0]->imported()) { BYN_TRACE("write one memory\n"); - writeImportHeader(wasm->memories[0]); + writeImportHeader(&*wasm->memories[0]); o << U32LEB(int32_t(ExternalKind::Memory)); writeResizableLimits(wasm->memories[0]->initial, wasm->memories[0]->max, @@ -1981,7 +1981,7 @@ void WasmBinaryBuilder::readMemory() { memory->shared, memory->indexType, Memory::kUnlimitedSize); - memories.push_back(memory); + memories.push_back(std::move(memory)); } void WasmBinaryBuilder::readTypes() { diff --git a/src/wasm/wasm-s-parser.cpp b/src/wasm/wasm-s-parser.cpp index 07faeba5132..4a8ffaf426b 100644 --- a/src/wasm/wasm-s-parser.cpp +++ b/src/wasm/wasm-s-parser.cpp @@ -1368,7 +1368,7 @@ Expression* SExpressionWasmBuilder::makeMemorySize(Element& s) { Expression* SExpressionWasmBuilder::makeMemoryGrow(Element& s) { auto ret = allocator.alloc(); - if (wasm.memories[0]->s64()) { + if (wasm.memories[0]->is64()) { ret->make64(); } ret->delta = parseExpression(s[1]); @@ -3015,7 +3015,7 @@ Index SExpressionWasmBuilder::parseMemoryLimits(Element& s, Index i) { } auto initElem = s[i++]; wasm.memories[0]->initial = getAddress(initElem); - if (!wasm.memories[0]->64()) { + if (!wasm.memories[0]->is64()) { checkAddress(wasm.memories[0]->initial, "excessive memory init", initElem); } if (i == s.size()) { @@ -3032,7 +3032,7 @@ Index SExpressionWasmBuilder::parseMemoryLimits(Element& s, Index i) { } void SExpressionWasmBuilder::parseMemory(Element& s, bool preParseImport) { - if (wasm.memories[0]) { + if (wasm.memories.size() == 1) { throw ParseException("too many memories", s.line, s.col); } auto memory = make_unique(); @@ -3041,7 +3041,7 @@ void SExpressionWasmBuilder::parseMemory(Element& s, bool preParseImport) { if (s[i]->dollared()) { memory->setExplicitName(s[i++]->str()); } - wasm.addMemory(memory); + wasm.addMemory(std::move(memory)); i = parseMemoryIndex(s, i); Name importModule, importBase; if (s[i]->isList()) { @@ -3331,7 +3331,7 @@ void SExpressionWasmBuilder::parseImport(Element& s) { throw ParseException( "bad memory limit declaration", inner[j]->line, inner[j]->col); } - wasm->memories[0]->shared = true; + wasm.memories[0]->shared = true; j = parseMemoryLimits(limits, 1); } else { j = parseMemoryLimits(inner, j); diff --git a/src/wasm/wasm-validator.cpp b/src/wasm/wasm-validator.cpp index d4532c3fb8c..4a53b9792e6 100644 --- a/src/wasm/wasm-validator.cpp +++ b/src/wasm/wasm-validator.cpp @@ -935,7 +935,7 @@ void FunctionValidator::visitGlobalSet(GlobalSet* curr) { void FunctionValidator::visitLoad(Load* curr) { shouldBeTrue( - getModule()->memories[0], curr, "Memory operations require a memory"); + getModule()->memories[0] != nullptr, curr, "Memory operations require a memory"); if (curr->isAtomic) { shouldBeTrue(getModule()->features.hasAtomics(), curr, @@ -966,7 +966,7 @@ void FunctionValidator::visitLoad(Load* curr) { void FunctionValidator::visitStore(Store* curr) { shouldBeTrue( - getModule()->memories[0], curr, "Memory operations require a memory"); + getModule()->memories[0] != nullptr, curr, "Memory operations require a memory"); if (curr->isAtomic) { shouldBeTrue(getModule()->features.hasAtomics(), curr, @@ -1003,7 +1003,7 @@ void FunctionValidator::visitStore(Store* curr) { void FunctionValidator::visitAtomicRMW(AtomicRMW* curr) { shouldBeTrue( - getModule()->memories[0], curr, "Memory operations require a memory"); + getModule()->memories[0] != nullptr, curr, "Memory operations require a memory"); shouldBeTrue(getModule()->features.hasAtomics(), curr, "Atomic operation (atomics are disabled)"); @@ -1023,7 +1023,7 @@ void FunctionValidator::visitAtomicRMW(AtomicRMW* curr) { void FunctionValidator::visitAtomicCmpxchg(AtomicCmpxchg* curr) { shouldBeTrue( - getModule()->memories[0], curr, "Memory operations require a memory"); + getModule()->memories[0] != nullptr, curr, "Memory operations require a memory"); shouldBeTrue(getModule()->features.hasAtomics(), curr, "Atomic operation (atomics are disabled)"); @@ -1056,7 +1056,7 @@ void FunctionValidator::visitAtomicCmpxchg(AtomicCmpxchg* curr) { void FunctionValidator::visitAtomicWait(AtomicWait* curr) { shouldBeTrue( - getModule()->memories[0], curr, "Memory operations require a memory"); + getModule()->memories[0] != nullptr, curr, "Memory operations require a memory"); shouldBeTrue(getModule()->features.hasAtomics(), curr, "Atomic operation (atomics are disabled)"); @@ -1082,7 +1082,7 @@ void FunctionValidator::visitAtomicWait(AtomicWait* curr) { void FunctionValidator::visitAtomicNotify(AtomicNotify* curr) { shouldBeTrue( - getModule()->memories[0], curr, "Memory operations require a memory"); + getModule()->memories[0] != nullptr, curr, "Memory operations require a memory"); shouldBeTrue(getModule()->features.hasAtomics(), curr, "Atomic operation (atomics are disabled)"); @@ -1102,7 +1102,7 @@ void FunctionValidator::visitAtomicNotify(AtomicNotify* curr) { void FunctionValidator::visitAtomicFence(AtomicFence* curr) { shouldBeTrue( - getModule()->memories[0], curr, "Memory operations require a memory"); + getModule()->memories[0] != nullptr, curr, "Memory operations require a memory"); shouldBeTrue(getModule()->features.hasAtomics(), curr, "Atomic operation (atomics are disabled)"); @@ -1241,7 +1241,7 @@ void FunctionValidator::visitSIMDShift(SIMDShift* curr) { void FunctionValidator::visitSIMDLoad(SIMDLoad* curr) { shouldBeTrue( - getModule()->memories[0], curr, "Memory operations require a memory"); + getModule()->memories[0] != nullptr, curr, "Memory operations require a memory"); shouldBeTrue( getModule()->features.hasSIMD(), curr, "SIMD operation (SIMD is disabled)"); shouldBeEqualOrFirstIsUnreachable( @@ -1276,7 +1276,7 @@ void FunctionValidator::visitSIMDLoad(SIMDLoad* curr) { void FunctionValidator::visitSIMDLoadStoreLane(SIMDLoadStoreLane* curr) { shouldBeTrue( - getModule()->memories[0], curr, "Memory operations require a memory"); + getModule()->memories[0] != nullptr, curr, "Memory operations require a memory"); shouldBeTrue( getModule()->features.hasSIMD(), curr, "SIMD operation (SIMD is disabled)"); if (curr->isLoad()) { @@ -1344,7 +1344,7 @@ void FunctionValidator::visitMemoryInit(MemoryInit* curr) { "memory.init offset must be an i32"); shouldBeEqualOrFirstIsUnreachable( curr->size->type, Type(Type::i32), curr, "memory.init size must be an i32"); - if (!shouldBeTrue(getModule()->memories[0], + if (!shouldBeTrue(getModule()->memories[0] != nullptr, curr, "Memory operations require a memory")) { return; @@ -1360,7 +1360,7 @@ void FunctionValidator::visitDataDrop(DataDrop* curr) { "Bulk memory operation (bulk memory is disabled)"); shouldBeEqualOrFirstIsUnreachable( curr->type, Type(Type::none), curr, "data.drop must have type none"); - if (!shouldBeTrue(getModule()->memories[0], + if (!shouldBeTrue(getModule()->memories[0] != nullptr, curr, "Memory operations require a memory")) { return; @@ -1392,7 +1392,7 @@ void FunctionValidator::visitMemoryCopy(MemoryCopy* curr) { curr, "memory.copy size must match memory index type"); shouldBeTrue( - getModule()->memories[0], curr, "Memory operations require a memory"); + getModule()->memories[0] != nullptr, curr, "Memory operations require a memory"); } void FunctionValidator::visitMemoryFill(MemoryFill* curr) { @@ -1416,7 +1416,7 @@ void FunctionValidator::visitMemoryFill(MemoryFill* curr) { curr, "memory.fill size must match memory index type"); shouldBeTrue( - getModule()->memories[0], curr, "Memory operations require a memory"); + getModule()->memories[0] != nullptr, curr, "Memory operations require a memory"); } void FunctionValidator::validateMemBytes(uint8_t bytes, @@ -2021,12 +2021,12 @@ void FunctionValidator::visitReturn(Return* curr) { void FunctionValidator::visitMemorySize(MemorySize* curr) { shouldBeTrue( - getModule()->memories[0], curr, "Memory operations require a memory"); + getModule()->memories[0] != nullptr, curr, "Memory operations require a memory"); } void FunctionValidator::visitMemoryGrow(MemoryGrow* curr) { shouldBeTrue( - getModule()->memories[0], curr, "Memory operations require a memory"); + getModule()->memories[0] != nullptr, curr, "Memory operations require a memory"); shouldBeEqualOrFirstIsUnreachable(curr->delta->type, indexType(), curr, @@ -2984,23 +2984,23 @@ static void validateGlobals(Module& module, ValidationInfo& info) { static void validateMemory(Module& module, ValidationInfo& info) { auto& curr = module.memories[0]; info.shouldBeFalse( - curr.initial > curr.max, "memory", "memory max >= initial"); - if (curr.is64()) { + curr->initial > curr->max, "memory", "memory max >= initial"); + if (curr->is64()) { info.shouldBeTrue(module.features.hasMemory64(), "memory", "memory is 64-bit, but memory64 is disabled"); } else { - info.shouldBeTrue(curr.initial <= Memory::kMaxSize32, + info.shouldBeTrue(curr->initial <= Memory::kMaxSize32, "memory", "initial memory must be <= 4GB"); - info.shouldBeTrue(!curr.hasMax() || curr.max <= Memory::kMaxSize32, + info.shouldBeTrue(!curr->hasMax() || curr->max <= Memory::kMaxSize32, "memory", "max memory must be <= 4GB, or unlimited"); } - info.shouldBeTrue(!curr.shared || curr.hasMax(), + info.shouldBeTrue(!curr->shared || curr->hasMax(), "memory", "shared memory must have max size"); - if (curr.shared) { + if (curr->shared) { info.shouldBeTrue(module.features.hasAtomics(), "memory", "memory is shared, but atomics are disabled"); @@ -3016,7 +3016,7 @@ static void validateMemory(Module& module, ValidationInfo& info) { segment->offset, "passive segment should not have an offset"); } else { - if (curr.is64()) { + if (curr->is64()) { if (!info.shouldBeEqual(segment->offset->type, Type(Type::i64), segment->offset, @@ -3033,14 +3033,14 @@ static void validateMemory(Module& module, ValidationInfo& info) { } info.shouldBeTrue(checkSegmentOffset(segment->offset, segment->data.size(), - curr.initial * Memory::kPageSize, + curr->initial * Memory::kPageSize, module.features), segment->offset, "memory segment offset should be reasonable"); if (segment->offset->is()) { auto start = segment->offset->cast()->value.getUnsigned(); auto end = start + size; - info.shouldBeTrue(end <= curr.initial * Memory::kPageSize, + info.shouldBeTrue(end <= curr->initial * Memory::kPageSize, segment->data.size(), "segment size should fit in memory (end)"); } @@ -3049,8 +3049,8 @@ static void validateMemory(Module& module, ValidationInfo& info) { // If the memory is imported we don't actually know its initial size. // Specifically wasm dll's import a zero sized memory which is perfectly // valid. - if (!curr.imported()) { - info.shouldBeTrue(size <= curr.initial * Memory::kPageSize, + if (!curr->imported()) { + info.shouldBeTrue(size <= curr->initial * Memory::kPageSize, segment->data.size(), "segment size should fit in memory (initial)"); } diff --git a/src/wasm2js.h b/src/wasm2js.h index 72368c2ce11..35a701b1c8c 100644 --- a/src/wasm2js.h +++ b/src/wasm2js.h @@ -452,7 +452,7 @@ Ref Wasm2JSBuilder::processWasm(Module* wasm, Name funcName) { BUFFER, ValueBuilder::makeNew(ValueBuilder::makeCall( ValueBuilder::makeName("ArrayBuffer"), - ValueBuilder::makeInt(Address::address32_t(wasm->memories->initial.addr * + ValueBuilder::makeInt(Address::address32_t(wasm->memories[0]->initial.addr * Memory::kPageSize))))); } } From f33e5f7032aaf922906ac7992b10d62eb3cd4658 Mon Sep 17 00:00:00 2001 From: Ashley Nelson Date: Tue, 21 Jun 2022 03:49:04 +0000 Subject: [PATCH 15/78] Added empty checks --- src/binaryen-c.cpp | 2 +- src/ir/module-splitting.cpp | 7 +--- src/ir/module-utils.h | 4 +- src/shell-interface.h | 2 +- src/tools/wasm-split/instrumenter.cpp | 2 +- src/wasm/wasm-binary.cpp | 10 ++--- src/wasm/wasm-s-parser.cpp | 6 +-- src/wasm/wasm-validator.cpp | 58 +++++++++++++-------------- src/wasm2js.h | 15 ++++--- 9 files changed, 51 insertions(+), 55 deletions(-) diff --git a/src/binaryen-c.cpp b/src/binaryen-c.cpp index 18e589fc00e..5bf140fc45d 100644 --- a/src/binaryen-c.cpp +++ b/src/binaryen-c.cpp @@ -3946,7 +3946,7 @@ uint32_t BinaryenGetMemorySegmentByteOffset(BinaryenModuleRef module, return 0; } bool BinaryenHasMemory(BinaryenModuleRef module) { - return ((Module*)module)->memories[0] != nullptr; + return !((Module*)module)->memories.empty(); } BinaryenIndex BinaryenMemoryGetInitial(BinaryenModuleRef module) { return ((Module*)module)->memories[0]->initial; diff --git a/src/ir/module-splitting.cpp b/src/ir/module-splitting.cpp index 0957a80f16e..37afd8d0a1a 100644 --- a/src/ir/module-splitting.cpp +++ b/src/ir/module-splitting.cpp @@ -612,11 +612,8 @@ void ModuleSplitter::shareImportableItems() { // TODO: Be more selective by only sharing global items that are actually used // in the secondary module, just like we do for functions. - if (primary.memories[0]) { - secondary.memories[0]->initial = primary.memories[0]->initial; - secondary.memories[0]->max = primary.memories[0]->max; - secondary.memories[0]->shared = primary.memories[0]->shared; - secondary.memories[0]->indexType = primary.memories[0]->indexType; + if (!primary.memories.empty()) { + ModuleUtils::copyMemory(primary.memories[0].get(), secondary); makeImportExport( *primary.memories[0], *secondary.memories[0], "memory", ExternalKind::Memory); } diff --git a/src/ir/module-utils.h b/src/ir/module-utils.h index 1a883098f42..73ae49d8350 100644 --- a/src/ir/module-utils.h +++ b/src/ir/module-utils.h @@ -219,13 +219,13 @@ inline void renameFunction(Module& wasm, Name oldName, Name newName) { // Convenient iteration over imported/non-imported module elements template inline void iterImportedMemories(Module& wasm, T visitor) { - if (wasm.memories[0] && wasm.memories[0]->imported()) { + if (!wasm.memories.empty() && wasm.memories[0]->imported()) { visitor(wasm.memories[0].get()); } } template inline void iterDefinedMemories(Module& wasm, T visitor) { - if (wasm.memories[0] && !wasm.memories[0]->imported()) { + if (!wasm.memories.empty() && !wasm.memories[0]->imported()) { visitor(wasm.memories[0].get()); } } diff --git a/src/shell-interface.h b/src/shell-interface.h index f002feb9405..204c0fbff57 100644 --- a/src/shell-interface.h +++ b/src/shell-interface.h @@ -114,7 +114,7 @@ struct ShellExternalInterface : ModuleRunner::ExternalInterface { } void init(Module& wasm, ModuleRunner& instance) override { - if (wasm.memories[0] && !wasm.memories[0]->imported()) { + if (!wasm.memories.empty() && !wasm.memories[0]->imported()) { memory.resize(wasm.memories[0]->initial * wasm::Memory::kPageSize); } ModuleUtils::iterDefinedTables( diff --git a/src/tools/wasm-split/instrumenter.cpp b/src/tools/wasm-split/instrumenter.cpp index 22dd5b62784..293364d64e5 100644 --- a/src/tools/wasm-split/instrumenter.cpp +++ b/src/tools/wasm-split/instrumenter.cpp @@ -255,7 +255,7 @@ void Instrumenter::addProfileExport() { // Also make sure there is a memory with enough pages to write into size_t pages = (profileSize + Memory::kPageSize - 1) / Memory::kPageSize; - if (!wasm->memories[0]) { + if (wasm->memories.empty()) { wasm->addMemory(Builder::makeMemory()); wasm->memories[0]->initial = pages; wasm->memories[0]->max = pages; diff --git a/src/wasm/wasm-binary.cpp b/src/wasm/wasm-binary.cpp index 213c4a9ff99..38f0ea7ed65 100644 --- a/src/wasm/wasm-binary.cpp +++ b/src/wasm/wasm-binary.cpp @@ -204,7 +204,7 @@ void WasmBinaryWriter::writeStart() { } void WasmBinaryWriter::writeMemory() { - if (!wasm->memories[0] || wasm->memories[0]->imported()) { + if (wasm->memories.empty() || wasm->memories[0]->imported()) { return; } BYN_TRACE("== writeMemory\n"); @@ -930,7 +930,7 @@ void WasmBinaryWriter::writeNames() { } // memory names - if (wasm->memories[0] && wasm->memories[0]->hasExplicitName) { + if (!wasm->memories.empty() && wasm->memories[0]->hasExplicitName) { auto substart = startSubsection(BinaryConsts::UserSections::Subsection::NameMemory); o << U32LEB(1) << U32LEB(0); // currently exactly 1 memory at index 0 @@ -990,7 +990,7 @@ void WasmBinaryWriter::writeNames() { } // data segment names - if (wasm->memories[0]) { + if (!wasm->memories.empty()) { Index count = 0; for (auto& seg : wasm->dataSegments) { if (seg->hasExplicitName) { @@ -1972,7 +1972,7 @@ void WasmBinaryBuilder::readMemory() { if (numMemories != 1) { throwError("Must be exactly 1 memory"); } - if (wasm.memories[0]) { + if (!wasm.memories.empty()) { throwError("Memory cannot be both imported and defined"); } auto memory = Builder::makeMemory(); @@ -2925,7 +2925,7 @@ void WasmBinaryBuilder::processNames() { for (auto& segment : elementSegments) { wasm.addElementSegment(std::move(segment)); } - if (memories.size() == 1) { + if (!memories.empty()) { wasm.addMemory(std::move(memories[0])); } for (auto& segment : dataSegments) { diff --git a/src/wasm/wasm-s-parser.cpp b/src/wasm/wasm-s-parser.cpp index 4a8ffaf426b..79abc37f514 100644 --- a/src/wasm/wasm-s-parser.cpp +++ b/src/wasm/wasm-s-parser.cpp @@ -3032,7 +3032,7 @@ Index SExpressionWasmBuilder::parseMemoryLimits(Element& s, Index i) { } void SExpressionWasmBuilder::parseMemory(Element& s, bool preParseImport) { - if (wasm.memories.size() == 1) { + if (!wasm.memories.empty()) { throw ParseException("too many memories", s.line, s.col); } auto memory = make_unique(); @@ -3127,7 +3127,7 @@ void SExpressionWasmBuilder::parseMemory(Element& s, bool preParseImport) { } void SExpressionWasmBuilder::parseData(Element& s) { - if (!wasm.memories[0]) { + if (wasm.memories.empty()) { throw ParseException("data but no memory", s.line, s.col); } Index i = 1; @@ -3225,7 +3225,7 @@ void SExpressionWasmBuilder::parseImport(Element& s) { kind = ExternalKind::Function; } else if (elementStartsWith(*s[3], MEMORY)) { kind = ExternalKind::Memory; - if (wasm.memories[0]) { + if (!wasm.memories.empty()) { throw ParseException("more than one memory", s[3]->line, s[3]->col); } } else if (elementStartsWith(*s[3], TABLE)) { diff --git a/src/wasm/wasm-validator.cpp b/src/wasm/wasm-validator.cpp index 4a53b9792e6..74396b70bbd 100644 --- a/src/wasm/wasm-validator.cpp +++ b/src/wasm/wasm-validator.cpp @@ -934,8 +934,8 @@ void FunctionValidator::visitGlobalSet(GlobalSet* curr) { } void FunctionValidator::visitLoad(Load* curr) { - shouldBeTrue( - getModule()->memories[0] != nullptr, curr, "Memory operations require a memory"); + shouldBeFalse( + getModule()->memories.empty(), curr, "Memory operations require a memory"); if (curr->isAtomic) { shouldBeTrue(getModule()->features.hasAtomics(), curr, @@ -965,8 +965,8 @@ void FunctionValidator::visitLoad(Load* curr) { } void FunctionValidator::visitStore(Store* curr) { - shouldBeTrue( - getModule()->memories[0] != nullptr, curr, "Memory operations require a memory"); + shouldBeFalse( + getModule()->memories.empty(), curr, "Memory operations require a memory"); if (curr->isAtomic) { shouldBeTrue(getModule()->features.hasAtomics(), curr, @@ -1002,8 +1002,8 @@ void FunctionValidator::visitStore(Store* curr) { } void FunctionValidator::visitAtomicRMW(AtomicRMW* curr) { - shouldBeTrue( - getModule()->memories[0] != nullptr, curr, "Memory operations require a memory"); + shouldBeFalse( + getModule()->memories.empty(), curr, "Memory operations require a memory"); shouldBeTrue(getModule()->features.hasAtomics(), curr, "Atomic operation (atomics are disabled)"); @@ -1022,8 +1022,8 @@ void FunctionValidator::visitAtomicRMW(AtomicRMW* curr) { } void FunctionValidator::visitAtomicCmpxchg(AtomicCmpxchg* curr) { - shouldBeTrue( - getModule()->memories[0] != nullptr, curr, "Memory operations require a memory"); + shouldBeFalse( + getModule()->memories.empty(), curr, "Memory operations require a memory"); shouldBeTrue(getModule()->features.hasAtomics(), curr, "Atomic operation (atomics are disabled)"); @@ -1055,8 +1055,8 @@ void FunctionValidator::visitAtomicCmpxchg(AtomicCmpxchg* curr) { } void FunctionValidator::visitAtomicWait(AtomicWait* curr) { - shouldBeTrue( - getModule()->memories[0] != nullptr, curr, "Memory operations require a memory"); + shouldBeFalse( + getModule()->memories.empty(), curr, "Memory operations require a memory"); shouldBeTrue(getModule()->features.hasAtomics(), curr, "Atomic operation (atomics are disabled)"); @@ -1081,8 +1081,8 @@ void FunctionValidator::visitAtomicWait(AtomicWait* curr) { } void FunctionValidator::visitAtomicNotify(AtomicNotify* curr) { - shouldBeTrue( - getModule()->memories[0] != nullptr, curr, "Memory operations require a memory"); + shouldBeFalse( + getModule()->memories.empty(), curr, "Memory operations require a memory"); shouldBeTrue(getModule()->features.hasAtomics(), curr, "Atomic operation (atomics are disabled)"); @@ -1101,8 +1101,8 @@ void FunctionValidator::visitAtomicNotify(AtomicNotify* curr) { } void FunctionValidator::visitAtomicFence(AtomicFence* curr) { - shouldBeTrue( - getModule()->memories[0] != nullptr, curr, "Memory operations require a memory"); + shouldBeFalse( + getModule()->memories.empty(), curr, "Memory operations require a memory"); shouldBeTrue(getModule()->features.hasAtomics(), curr, "Atomic operation (atomics are disabled)"); @@ -1240,8 +1240,8 @@ void FunctionValidator::visitSIMDShift(SIMDShift* curr) { } void FunctionValidator::visitSIMDLoad(SIMDLoad* curr) { - shouldBeTrue( - getModule()->memories[0] != nullptr, curr, "Memory operations require a memory"); + shouldBeFalse( + getModule()->memories.empty(), curr, "Memory operations require a memory"); shouldBeTrue( getModule()->features.hasSIMD(), curr, "SIMD operation (SIMD is disabled)"); shouldBeEqualOrFirstIsUnreachable( @@ -1275,8 +1275,8 @@ void FunctionValidator::visitSIMDLoad(SIMDLoad* curr) { } void FunctionValidator::visitSIMDLoadStoreLane(SIMDLoadStoreLane* curr) { - shouldBeTrue( - getModule()->memories[0] != nullptr, curr, "Memory operations require a memory"); + shouldBeFalse( + getModule()->memories.empty(), curr, "Memory operations require a memory"); shouldBeTrue( getModule()->features.hasSIMD(), curr, "SIMD operation (SIMD is disabled)"); if (curr->isLoad()) { @@ -1344,7 +1344,7 @@ void FunctionValidator::visitMemoryInit(MemoryInit* curr) { "memory.init offset must be an i32"); shouldBeEqualOrFirstIsUnreachable( curr->size->type, Type(Type::i32), curr, "memory.init size must be an i32"); - if (!shouldBeTrue(getModule()->memories[0] != nullptr, + if (!shouldBeFalse(getModule()->memories.empty(), curr, "Memory operations require a memory")) { return; @@ -1360,7 +1360,7 @@ void FunctionValidator::visitDataDrop(DataDrop* curr) { "Bulk memory operation (bulk memory is disabled)"); shouldBeEqualOrFirstIsUnreachable( curr->type, Type(Type::none), curr, "data.drop must have type none"); - if (!shouldBeTrue(getModule()->memories[0] != nullptr, + if (!shouldBeFalse(getModule()->memories.empty(), curr, "Memory operations require a memory")) { return; @@ -1391,8 +1391,8 @@ void FunctionValidator::visitMemoryCopy(MemoryCopy* curr) { indexType(), curr, "memory.copy size must match memory index type"); - shouldBeTrue( - getModule()->memories[0] != nullptr, curr, "Memory operations require a memory"); + shouldBeFalse( + getModule()->memories.empty(), curr, "Memory operations require a memory"); } void FunctionValidator::visitMemoryFill(MemoryFill* curr) { @@ -1415,8 +1415,8 @@ void FunctionValidator::visitMemoryFill(MemoryFill* curr) { indexType(), curr, "memory.fill size must match memory index type"); - shouldBeTrue( - getModule()->memories[0] != nullptr, curr, "Memory operations require a memory"); + shouldBeFalse( + getModule()->memories.empty(), curr, "Memory operations require a memory"); } void FunctionValidator::validateMemBytes(uint8_t bytes, @@ -2020,13 +2020,13 @@ void FunctionValidator::visitReturn(Return* curr) { } void FunctionValidator::visitMemorySize(MemorySize* curr) { - shouldBeTrue( - getModule()->memories[0] != nullptr, curr, "Memory operations require a memory"); + shouldBeFalse( + getModule()->memories.empty(), curr, "Memory operations require a memory"); } void FunctionValidator::visitMemoryGrow(MemoryGrow* curr) { - shouldBeTrue( - getModule()->memories[0] != nullptr, curr, "Memory operations require a memory"); + shouldBeFalse( + getModule()->memories.empty(), curr, "Memory operations require a memory"); shouldBeEqualOrFirstIsUnreachable(curr->delta->type, indexType(), curr, @@ -2982,7 +2982,7 @@ static void validateGlobals(Module& module, ValidationInfo& info) { } static void validateMemory(Module& module, ValidationInfo& info) { - auto& curr = module.memories[0]; + auto curr = module.memories[0]; info.shouldBeFalse( curr->initial > curr->max, "memory", "memory max >= initial"); if (curr->is64()) { diff --git a/src/wasm2js.h b/src/wasm2js.h index 35a701b1c8c..8c2bd5e84ae 100644 --- a/src/wasm2js.h +++ b/src/wasm2js.h @@ -103,7 +103,7 @@ bool hasActiveSegments(Module& wasm) { } bool needsBufferView(Module& wasm) { - if (!wasm.memories[0]) { + if (wasm.memories.empty()) { return false; } @@ -414,7 +414,7 @@ Ref Wasm2JSBuilder::processWasm(Module* wasm, Name funcName) { ValueBuilder::appendArgumentToFunction(asmFunc, ENV); // add memory import - if (wasm->memories[0]) { + if (!wasm->memories.empty()) { if (wasm->memories[0]->imported()) { // find memory and buffer in imports Ref theVar = ValueBuilder::makeVar(); @@ -536,7 +536,7 @@ Ref Wasm2JSBuilder::processWasm(Module* wasm, Name funcName) { } void Wasm2JSBuilder::addBasics(Ref ast, Module* wasm) { - if (wasm->memories[0]) { + if (!wasm->memories.empty()) { // heaps, var HEAP8 = new global.Int8Array(buffer); etc auto addHeap = [&](IString name, IString view) { Ref theVar = ValueBuilder::makeVar(); @@ -805,7 +805,7 @@ void Wasm2JSBuilder::addExports(Ref ast, Module* wasm) { Fatal() << "unsupported export type: " << export_->name << "\n"; } } - if (wasm->memories[0]) { + if (!wasm->memories.empty()) { addMemoryFuncs(ast, wasm); } ast->push_back( @@ -2006,8 +2006,7 @@ Ref Wasm2JSBuilder::processFunctionBody(Module* m, } Ref visitMemoryGrow(MemoryGrow* curr) { - if (module->memories[0] && - module->memories[0]->max > module->memories[0]->initial) { + if (!module->memories.empty() && module->memories[0]->max > module->memories[0]->initial) { return ValueBuilder::makeCall( WASM_MEMORY_GROW, makeJsCoercion(visit(curr->delta, EXPRESSION_RESULT), @@ -2625,7 +2624,7 @@ void Wasm2JSGlue::emitPostES6() { // // Note that the translation here expects that the lower values of this memory // can be used for conversions, so make sure there's at least one page. - if (wasm.memories[0] && wasm.memories[0]->imported()) { + if (!wasm.memories.empty() && wasm.memories[0]->imported()) { out << "var mem" << moduleName.str << " = new ArrayBuffer(" << wasm.memories[0]->initial.addr * Memory::kPageSize << ");\n"; } @@ -2709,7 +2708,7 @@ void Wasm2JSGlue::emitMemory() { // If there are no memory segments, we don't need to emit any support code for // segment creation. - if ((!wasm.memories[0]) || wasm.dataSegments.empty()) { + if (wasm.memories.empty() || wasm.dataSegments.empty()) { return; } From c1ee8acfe7ff448e5844908e690111c6fd9e9903 Mon Sep 17 00:00:00 2001 From: Ashley Nelson Date: Tue, 21 Jun 2022 18:57:11 +0000 Subject: [PATCH 16/78] more empty changes --- src/abi/stack.h | 2 +- src/binaryen-c.cpp | 12 ++++++++++++ src/ir/import-utils.h | 15 ++++++++++++++- src/ir/memory-utils.h | 5 ----- src/ir/module-splitting.cpp | 6 +++--- src/ir/module-utils.h | 4 +++- src/passes/AlignmentLowering.cpp | 4 ++++ src/passes/Asyncify.cpp | 2 +- src/passes/AvoidReinterprets.cpp | 2 ++ src/passes/I64ToI32Lowering.cpp | 4 ++-- src/passes/InstrumentMemory.cpp | 3 +++ src/passes/Memory64Lowering.cpp | 3 +++ src/passes/MemoryPacking.cpp | 13 +++++++++---- src/passes/Metrics.cpp | 4 +++- src/passes/OptimizeInstructions.cpp | 1 + src/passes/Print.cpp | 2 +- src/passes/RemoveNonJSOps.cpp | 2 +- src/passes/RemoveUnusedModuleElements.cpp | 1 + src/passes/SafeHeap.cpp | 1 + src/tools/fuzzing/fuzzing.cpp | 2 +- src/wasm/wasm-validator.cpp | 5 ++++- 21 files changed, 70 insertions(+), 23 deletions(-) diff --git a/src/abi/stack.h b/src/abi/stack.h index 1d568904510..b1340c7ffaa 100644 --- a/src/abi/stack.h +++ b/src/abi/stack.h @@ -50,7 +50,7 @@ getStackSpace(Index local, Function* func, Index size, Module& wasm) { } // align the size size = stackAlign(size); - auto pointerType = wasm.memories[0]->indexType; + auto pointerType = !wasm.memories.empty() ? wasm.memories[0]->indexType : Type::i32; // TODO: find existing stack usage, and add on top of that - carefully Builder builder(wasm); auto* block = builder.makeBlock(); diff --git a/src/binaryen-c.cpp b/src/binaryen-c.cpp index 5bf140fc45d..e0c86ab6de0 100644 --- a/src/binaryen-c.cpp +++ b/src/binaryen-c.cpp @@ -3949,15 +3949,22 @@ bool BinaryenHasMemory(BinaryenModuleRef module) { return !((Module*)module)->memories.empty(); } BinaryenIndex BinaryenMemoryGetInitial(BinaryenModuleRef module) { + assert(!((Module*)module)->memories.empty()); return ((Module*)module)->memories[0]->initial; } bool BinaryenMemoryHasMax(BinaryenModuleRef module) { + assert(!((Module*)module)->memories.empty()); return ((Module*)module)->memories[0]->hasMax(); } BinaryenIndex BinaryenMemoryGetMax(BinaryenModuleRef module) { + assert(!((Module*)module)->memories.empty()); return ((Module*)module)->memories[0]->max; } const char* BinaryenMemoryImportGetModule(BinaryenModuleRef module) { + if (((Module*)module)->memories.empty()) { + return ""; + } + auto& memory = ((Module*)module)->memories[0]; if (memory->imported()) { return memory->module.c_str(); @@ -3966,6 +3973,10 @@ const char* BinaryenMemoryImportGetModule(BinaryenModuleRef module) { } } const char* BinaryenMemoryImportGetBase(BinaryenModuleRef module) { + if (((Module*)module)->memories.empty()) { + return ""; + } + auto& memory = ((Module*)module)->memories[0]; if (memory->imported()) { return memory->base.c_str(); @@ -3974,6 +3985,7 @@ const char* BinaryenMemoryImportGetBase(BinaryenModuleRef module) { } } bool BinaryenMemoryIsShared(BinaryenModuleRef module) { + assert(!((Module*)module)->memories.empty()); return ((Module*)module)->memories[0]->shared; } size_t BinaryenGetMemorySegmentByteLength(BinaryenModuleRef module, diff --git a/src/ir/import-utils.h b/src/ir/import-utils.h index a19350edaf6..f3d159feb67 100644 --- a/src/ir/import-utils.h +++ b/src/ir/import-utils.h @@ -30,6 +30,7 @@ struct ImportInfo { std::vector importedGlobals; std::vector importedFunctions; std::vector importedTables; + std::vector importedMemories; std::vector importedTags; ImportInfo(Module& wasm) : wasm(wasm) { @@ -48,6 +49,11 @@ struct ImportInfo { importedTables.push_back(import.get()); } } + for (auto& import : wasm.memories) { + if (import->imported()) { + importedMemories.push_back(import.get()); + } + } for (auto& import : wasm.tags) { if (import->imported()) { importedTags.push_back(import.get()); @@ -88,11 +94,14 @@ struct ImportInfo { Index getNumImportedTables() { return importedTables.size(); } + Index getNumImportedMemories() { return importedMemories.size(); } + Index getNumImportedTags() { return importedTags.size(); } + Index getNumImports() { return getNumImportedGlobals() + getNumImportedFunctions() + - getNumImportedTags() + (wasm.memories[0]->imported() ? 1 : 0) + + getNumImportedTags() + getNumImportedMemories() + getNumImportedTables(); } @@ -108,6 +117,10 @@ struct ImportInfo { return wasm.tables.size() - getNumImportedTables(); } + Index getNumDefinedMemories() { + return wasm.memories.size() - getNumImportedMemories(); + } + Index getNumDefinedTags() { return wasm.tags.size() - getNumImportedTags(); } }; diff --git a/src/ir/memory-utils.h b/src/ir/memory-utils.h index 8688645e86a..ae1cfd15854 100644 --- a/src/ir/memory-utils.h +++ b/src/ir/memory-utils.h @@ -32,11 +32,6 @@ namespace wasm::MemoryUtils { // Returns true if successful (e.g. relocatable segments cannot be flattened). bool flatten(Module& wasm); -// Ensures that the memory has an initial/max minimal size. -inline void ensureMinimalSize(Memory& memory) { - memory.initial = memory.max = 1; -} - // Try to merge segments until they fit into web limitations. // Return true if successful. inline bool ensureLimitedSegments(Module& module) { diff --git a/src/ir/module-splitting.cpp b/src/ir/module-splitting.cpp index 37afd8d0a1a..ec91754abb4 100644 --- a/src/ir/module-splitting.cpp +++ b/src/ir/module-splitting.cpp @@ -612,10 +612,10 @@ void ModuleSplitter::shareImportableItems() { // TODO: Be more selective by only sharing global items that are actually used // in the secondary module, just like we do for functions. - if (!primary.memories.empty()) { - ModuleUtils::copyMemory(primary.memories[0].get(), secondary); + for (auto& memory : primary.memories) { + auto secondaryMemory = ModuleUtils::copyMemory(memory.get(), secondary); makeImportExport( - *primary.memories[0], *secondary.memories[0], "memory", ExternalKind::Memory); + *memory, *secondaryMemory, "memory", ExternalKind::Memory); } for (auto& table : primary.tables) { diff --git a/src/ir/module-utils.h b/src/ir/module-utils.h index 73ae49d8350..7e543be7f8f 100644 --- a/src/ir/module-utils.h +++ b/src/ir/module-utils.h @@ -153,10 +153,12 @@ inline void copyModule(const Module& in, Module& out) { for (auto& curr : in.tables) { copyTable(curr.get(), out); } + for (auto& curr : in.memories) { + copyMemory(curr.get(), out); + } for (auto& curr : in.dataSegments) { copyDataSegment(curr.get(), out); } - copyMemory(in.memories[0].get(), out); out.start = in.start; out.userSections = in.userSections; out.debugInfoFileNames = in.debugInfoFileNames; diff --git a/src/passes/AlignmentLowering.cpp b/src/passes/AlignmentLowering.cpp index 86135e386df..7acc50d7011 100644 --- a/src/passes/AlignmentLowering.cpp +++ b/src/passes/AlignmentLowering.cpp @@ -34,6 +34,7 @@ struct AlignmentLowering : public WalkerPass> { if (curr->align == 0 || curr->align == curr->bytes) { return curr; } + assert(!getModule()->memories.empty()); auto indexType = getModule()->memories[0]->indexType; Builder builder(*getModule()); assert(curr->type == Type::i32); @@ -135,6 +136,7 @@ struct AlignmentLowering : public WalkerPass> { } Builder builder(*getModule()); assert(curr->value->type == Type::i32); + assert(!getModule()->memories.empty()); auto indexType = getModule()->memories[0]->indexType; auto tempPtr = builder.addVar(getFunction(), indexType); auto tempValue = builder.addVar(getFunction(), Type::i32); @@ -256,6 +258,7 @@ struct AlignmentLowering : public WalkerPass> { break; } // Load two 32-bit pieces, and combine them. + assert(!getModule()->memories.empty()); auto indexType = getModule()->memories[0]->indexType; auto temp = builder.addVar(getFunction(), indexType); auto* set = builder.makeLocalSet(temp, curr->ptr); @@ -335,6 +338,7 @@ struct AlignmentLowering : public WalkerPass> { value = builder.makeUnary(ReinterpretFloat64, value); } // Store as two 32-bit pieces. + assert(!getModule()->memories.empty()); auto indexType = getModule()->memories[0]->indexType; auto tempPtr = builder.addVar(getFunction(), indexType); auto* setPtr = builder.makeLocalSet(tempPtr, curr->ptr); diff --git a/src/passes/Asyncify.cpp b/src/passes/Asyncify.cpp index 0019f5e0a97..60eda00310a 100644 --- a/src/passes/Asyncify.cpp +++ b/src/passes/Asyncify.cpp @@ -1483,7 +1483,7 @@ struct Asyncify : public Pass { bool optimize = runner->options.optimizeLevel > 0; // Ensure there is a memory, as we need it. - MemoryUtils::ensureMinimalSize(*module->memories[0]); + assert(!module->memories.empty()); // Find which things can change the state. auto stateChangingImports = String::trim(read_possible_response_file( diff --git a/src/passes/AvoidReinterprets.cpp b/src/passes/AvoidReinterprets.cpp index 55a88d4058a..6a05c7b3479 100644 --- a/src/passes/AvoidReinterprets.cpp +++ b/src/passes/AvoidReinterprets.cpp @@ -115,6 +115,7 @@ struct AvoidReinterprets : public WalkerPass> { void optimize(Function* func) { std::set unoptimizables; + assert(!getModule()->memories.empty()); auto indexType = getModule()->memories[0]->indexType; for (auto& [load, info] : infos) { if (info.reinterpreted && canReplaceWithReinterpret(load)) { @@ -173,6 +174,7 @@ struct AvoidReinterprets : public WalkerPass> { auto& info = iter->second; Builder builder(*module); auto* ptr = curr->ptr; + assert(!getModule()->memories.empty()); auto indexType = getModule()->memories[0]->indexType; curr->ptr = builder.makeLocalGet(info.ptrLocal, indexType); // Note that the other load can have its sign set to false - if the diff --git a/src/passes/I64ToI32Lowering.cpp b/src/passes/I64ToI32Lowering.cpp index 3f387a3180e..43e103c5988 100644 --- a/src/passes/I64ToI32Lowering.cpp +++ b/src/passes/I64ToI32Lowering.cpp @@ -594,7 +594,7 @@ struct I64ToI32Lowering : public WalkerPass> { Type::i32)); setOutParam(result, std::move(highBits)); replaceCurrent(result); - MemoryUtils::ensureMinimalSize(*getModule()->memories[0]); + assert(!getModule()->memories.empty()); ABI::wasm2js::ensureHelpers(getModule()); } @@ -612,7 +612,7 @@ struct I64ToI32Lowering : public WalkerPass> { Type::none), builder->makeCall(ABI::wasm2js::SCRATCH_LOAD_F64, {}, Type::f64)); replaceCurrent(result); - MemoryUtils::ensureMinimalSize(*getModule()->memories[0]); + assert(!getModule()->memories.empty()); ABI::wasm2js::ensureHelpers(getModule()); } diff --git a/src/passes/InstrumentMemory.cpp b/src/passes/InstrumentMemory.cpp index 150c047eda2..b5984fcefd7 100644 --- a/src/passes/InstrumentMemory.cpp +++ b/src/passes/InstrumentMemory.cpp @@ -100,6 +100,7 @@ struct InstrumentMemory : public WalkerPass> { void visitLoad(Load* curr) { id++; Builder builder(*getModule()); + assert(!getModule()->memories.empty()); auto indexType = getModule()->memories[0]->indexType; auto offset = builder.makeConstPtr(curr->offset.addr); curr->ptr = builder.makeCall(load_ptr, @@ -132,6 +133,7 @@ struct InstrumentMemory : public WalkerPass> { void visitStore(Store* curr) { id++; Builder builder(*getModule()); + assert(!getModule()->memories.empty()); auto indexType = getModule()->memories[0]->indexType; auto offset = builder.makeConstPtr(curr->offset.addr); curr->ptr = builder.makeCall(store_ptr, @@ -246,6 +248,7 @@ struct InstrumentMemory : public WalkerPass> { } void visitModule(Module* curr) { + assert(!curr->memories.empty()); auto indexType = curr->memories[0]->indexType; // Load. diff --git a/src/passes/Memory64Lowering.cpp b/src/passes/Memory64Lowering.cpp index dd536d359db..4d3af828cda 100644 --- a/src/passes/Memory64Lowering.cpp +++ b/src/passes/Memory64Lowering.cpp @@ -30,6 +30,7 @@ namespace wasm { struct Memory64Lowering : public WalkerPass> { void run(PassRunner* runner, Module* module) override { + assert(!module->memories.empty()); if (module->memories[0]->is64()) { super::run(runner, module); } @@ -40,6 +41,7 @@ struct Memory64Lowering : public WalkerPass> { return; } auto& module = *getModule(); + assert(!module.memories.empty()); assert(module.memories[0]->is64()); assert(ptr->type == Type::i64); Builder builder(module); @@ -51,6 +53,7 @@ struct Memory64Lowering : public WalkerPass> { return; } auto& module = *getModule(); + assert(!module.memories.empty()); assert(module.memories[0]->is64()); assert(ptr->type == Type::i64); ptr->type = Type::i32; diff --git a/src/passes/MemoryPacking.cpp b/src/passes/MemoryPacking.cpp index 7953bdae474..737d8ae0eb0 100644 --- a/src/passes/MemoryPacking.cpp +++ b/src/passes/MemoryPacking.cpp @@ -83,6 +83,7 @@ const size_t DATA_DROP_SIZE = 3; Expression* makeGtShiftedMemorySize(Builder& builder, Module& module, MemoryInit* curr) { + assert(!module.memories.empty()); return builder.makeBinary( module.memories[0]->is64() ? GtUInt64 : GtUInt32, curr->dest, @@ -95,7 +96,7 @@ makeGtShiftedMemorySize(Builder& builder, Module& module, MemoryInit* curr) { struct MemoryPacking : public Pass { void run(PassRunner* runner, Module* module) override; - bool canOptimize(const Memory& memory, + bool canOptimize(std::vector>& memories, std::vector>& dataSegments, const PassOptions& passOptions); void optimizeBulkMemoryOps(PassRunner* runner, Module* module); @@ -123,7 +124,7 @@ struct MemoryPacking : public Pass { }; void MemoryPacking::run(PassRunner* runner, Module* module) { - if (!canOptimize(*module->memories[0], module->dataSegments, runner->options)) { + if (!canOptimize(module->memories, module->dataSegments, runner->options)) { return; } @@ -178,13 +179,17 @@ void MemoryPacking::run(PassRunner* runner, Module* module) { } bool MemoryPacking::canOptimize( - const Memory& memory, + std::vector>& memories, std::vector>& dataSegments, const PassOptions& passOptions) { + if (memories.empty()) { + return false; + } + auto& memory = memories[0]; // We must optimize under the assumption that memory has been initialized to // zero. That is the case for a memory declared in the module, but for a // memory that is imported, we must be told that it is zero-initialized. - if (memory.imported() && !passOptions.zeroFilledMemory) { + if (memory->imported() && !passOptions.zeroFilledMemory) { return false; } diff --git a/src/passes/Metrics.cpp b/src/passes/Metrics.cpp index becbb12573a..9ce67a600b3 100644 --- a/src/passes/Metrics.cpp +++ b/src/passes/Metrics.cpp @@ -63,7 +63,9 @@ struct Metrics counts["[tables]"] = imports.getNumDefinedTables(); // add memory - walkMemory(&(*module->memories[0])); + for (auto& memory : module->memories) { + walkMemory(memory.get()); + } Index size = 0; for (auto& segment : module->dataSegments) { walkDataSegment(segment.get()); diff --git a/src/passes/OptimizeInstructions.cpp b/src/passes/OptimizeInstructions.cpp index a623fafef17..55f35802b9d 100644 --- a/src/passes/OptimizeInstructions.cpp +++ b/src/passes/OptimizeInstructions.cpp @@ -2920,6 +2920,7 @@ struct OptimizeInstructions if (last) { uint64_t value64 = last->value.getInteger(); uint64_t offset64 = offset; + assert(!getModule()->memories.empty()); if (getModule()->memories[0]->is64()) { last->value = Literal(int64_t(value64 + offset64)); offset = 0; diff --git a/src/passes/Print.cpp b/src/passes/Print.cpp index 58999f77746..8c35b8f2f8a 100644 --- a/src/passes/Print.cpp +++ b/src/passes/Print.cpp @@ -3133,7 +3133,7 @@ struct PrintSExpression : public UnifiedExpressionVisitor { doIndent(o, indent); o << '('; emitImportHeader(curr); - printMemoryHeader(&*currModule->memories[0]); + printMemoryHeader(curr); o << ')' << maybeNewLine; } else { doIndent(o, indent); diff --git a/src/passes/RemoveNonJSOps.cpp b/src/passes/RemoveNonJSOps.cpp index 1dba20d06eb..fc492ffaf92 100644 --- a/src/passes/RemoveNonJSOps.cpp +++ b/src/passes/RemoveNonJSOps.cpp @@ -122,7 +122,7 @@ struct RemoveNonJSOpsPass : public WalkerPass> { } // Intrinsics may use memory, so ensure the module has one. - MemoryUtils::ensureMinimalSize(*module->memories[0]); + assert(!module->memories.empty()); // Add missing globals for (auto& [name, type] : neededImportedGlobals) { diff --git a/src/passes/RemoveUnusedModuleElements.cpp b/src/passes/RemoveUnusedModuleElements.cpp index ac674b24941..e7ebb5bcde7 100644 --- a/src/passes/RemoveUnusedModuleElements.cpp +++ b/src/passes/RemoveUnusedModuleElements.cpp @@ -281,6 +281,7 @@ struct RemoveUnusedModuleElements : public Pass { } // Check for special imports, which are roots. bool importsMemory = false; + assert(!module->memories.empty()); if (module->memories[0]->imported()) { importsMemory = true; } diff --git a/src/passes/SafeHeap.cpp b/src/passes/SafeHeap.cpp index 375890285fb..e30603b7d35 100644 --- a/src/passes/SafeHeap.cpp +++ b/src/passes/SafeHeap.cpp @@ -151,6 +151,7 @@ struct SafeHeap : public Pass { void addImports(Module* module) { ImportInfo info(*module); + assert(!module->memories.empty()); auto indexType = module->memories[0]->indexType; if (auto* existing = info.getImportedFunction(ENV, GET_SBRK_PTR)) { getSbrkPtr = existing->name; diff --git a/src/tools/fuzzing/fuzzing.cpp b/src/tools/fuzzing/fuzzing.cpp index 00ad8b498ca..a6e098b4db2 100644 --- a/src/tools/fuzzing/fuzzing.cpp +++ b/src/tools/fuzzing/fuzzing.cpp @@ -185,7 +185,7 @@ void TranslateToFuzzReader::build() { void TranslateToFuzzReader::setupMemory() { // Add memory itself - MemoryUtils::ensureMinimalSize(*wasm.memories[0]); + assert(!wasm.memories.empty()); if (wasm.features.hasBulkMemory()) { size_t memCovered = 0; // need at least one segment for memory.inits diff --git a/src/wasm/wasm-validator.cpp b/src/wasm/wasm-validator.cpp index 74396b70bbd..892db37c5d7 100644 --- a/src/wasm/wasm-validator.cpp +++ b/src/wasm/wasm-validator.cpp @@ -2982,7 +2982,10 @@ static void validateGlobals(Module& module, ValidationInfo& info) { } static void validateMemory(Module& module, ValidationInfo& info) { - auto curr = module.memories[0]; + if (module.memories.empty()) { + return; + } + auto& curr = module.memories[0]; info.shouldBeFalse( curr->initial > curr->max, "memory", "memory max >= initial"); if (curr->is64()) { From c4461dc7d507f71f89a2474976f0fc3b83114ecc Mon Sep 17 00:00:00 2001 From: Ashley Nelson Date: Thu, 23 Jun 2022 09:57:08 +0000 Subject: [PATCH 17/78] Making progress --- src/abi/stack.h | 1 + src/binaryen-c.cpp | 61 ++++++++----- src/binaryen-c.h | 13 +-- src/ir/memory-utils.h | 9 ++ src/ir/module-utils.h | 12 ++- src/js/binaryen.js-post.js | 18 ++-- src/passes/Asyncify.cpp | 3 +- src/passes/I64ToI32Lowering.cpp | 6 +- src/passes/MemoryPacking.cpp | 2 + src/passes/RemoveNonJSOps.cpp | 3 +- src/tools/fuzzing/fuzzing.cpp | 3 +- src/tools/wasm-ctor-eval.cpp | 10 +-- src/wasm-binary.h | 14 ++- src/wasm-builder.h | 14 +-- src/wasm-s-parser.h | 11 ++- src/wasm.h | 1 + src/wasm/wasm-binary.cpp | 152 +++++++++++++++++++------------- src/wasm/wasm-s-parser.cpp | 149 +++++++++++++++++++------------ 18 files changed, 297 insertions(+), 185 deletions(-) diff --git a/src/abi/stack.h b/src/abi/stack.h index b1340c7ffaa..4d34b93df58 100644 --- a/src/abi/stack.h +++ b/src/abi/stack.h @@ -50,6 +50,7 @@ getStackSpace(Index local, Function* func, Index size, Module& wasm) { } // align the size size = stackAlign(size); + // TODO(nashley): identify the proper memory auto pointerType = !wasm.memories.empty() ? wasm.memories[0]->indexType : Type::i32; // TODO: find existing stack usage, and add on top of that - carefully Builder builder(wasm); diff --git a/src/binaryen-c.cpp b/src/binaryen-c.cpp index e0c86ab6de0..705fffcd998 100644 --- a/src/binaryen-c.cpp +++ b/src/binaryen-c.cpp @@ -3656,7 +3656,7 @@ void BinaryenAddMemoryImport(BinaryenModuleRef module, const char* externalModuleName, const char* externalBaseName, uint8_t shared) { - auto memory = std::make_unique(); + auto memory = Builder::makeMemory(internalName); memory->module = externalModuleName; memory->base = externalBaseName; memory->shared = shared; @@ -3875,6 +3875,7 @@ const char* BinaryenElementSegmentGetData(BinaryenElementSegmentRef elem, // Memory. One per module void BinaryenSetMemory(BinaryenModuleRef module, + const char* internalName, BinaryenIndex initial, BinaryenIndex maximum, const char* exportName, @@ -3886,6 +3887,7 @@ void BinaryenSetMemory(BinaryenModuleRef module, bool shared) { auto* wasm = (Module*)module; auto memory = Builder::makeMemory(); + memory->name = internalName; memory->initial = initial; memory->max = int32_t(maximum); // Make sure -1 extends. memory->shared = shared; @@ -3899,12 +3901,13 @@ void BinaryenSetMemory(BinaryenModuleRef module, } for (BinaryenIndex i = 0; i < numSegments; i++) { auto curr = Builder::makeDataSegment(Name::fromInt(i), + memory->name, segmentPassive[i], (Expression*)segmentOffsets[i], segments[i], segmentSizes[i]); curr->hasExplicitName = false; - wasm->dataSegments.push_back(std::move(curr)); + wasm->addDataSegment(std::move(curr)); } } @@ -3948,45 +3951,55 @@ uint32_t BinaryenGetMemorySegmentByteOffset(BinaryenModuleRef module, bool BinaryenHasMemory(BinaryenModuleRef module) { return !((Module*)module)->memories.empty(); } -BinaryenIndex BinaryenMemoryGetInitial(BinaryenModuleRef module) { - assert(!((Module*)module)->memories.empty()); - return ((Module*)module)->memories[0]->initial; +BinaryenIndex BinaryenMemoryGetInitial(BinaryenModuleRef module, const char* name) { + auto* memory = ((Module*)module)->getMemoryOrNull(name); + if (memory == nullptr) { + Fatal() << "invalid memory '" << name << "'."; + } + return memory->initial; } -bool BinaryenMemoryHasMax(BinaryenModuleRef module) { - assert(!((Module*)module)->memories.empty()); - return ((Module*)module)->memories[0]->hasMax(); +bool BinaryenMemoryHasMax(BinaryenModuleRef module, const char* name) { + auto* memory = ((Module*)module)->getMemoryOrNull(name); + if (memory == nullptr) { + Fatal() << "invalid memory '" << name << "'."; + } + return memory->hasMax(); } -BinaryenIndex BinaryenMemoryGetMax(BinaryenModuleRef module) { - assert(!((Module*)module)->memories.empty()); - return ((Module*)module)->memories[0]->max; +BinaryenIndex BinaryenMemoryGetMax(BinaryenModuleRef module, const char* name) { + auto* memory = ((Module*)module)->getMemoryOrNull(name); + if (memory == nullptr) { + Fatal() << "invalid memory '" << name << "'."; + } + return memory->max; } -const char* BinaryenMemoryImportGetModule(BinaryenModuleRef module) { - if (((Module*)module)->memories.empty()) { - return ""; +const char* BinaryenMemoryImportGetModule(BinaryenModuleRef module, const char* name) { + auto* memory = ((Module*)module)->getMemoryOrNull(name); + if (memory == nullptr) { + Fatal() << "invalid memory '" << name << "'."; } - - auto& memory = ((Module*)module)->memories[0]; if (memory->imported()) { return memory->module.c_str(); } else { return ""; } } -const char* BinaryenMemoryImportGetBase(BinaryenModuleRef module) { - if (((Module*)module)->memories.empty()) { - return ""; +const char* BinaryenMemoryImportGetBase(BinaryenModuleRef module, const char* name) { + auto* memory = ((Module*)module)->getMemoryOrNull(name); + if (memory == nullptr) { + Fatal() << "invalid memory '" << name << "'."; } - - auto& memory = ((Module*)module)->memories[0]; if (memory->imported()) { return memory->base.c_str(); } else { return ""; } } -bool BinaryenMemoryIsShared(BinaryenModuleRef module) { - assert(!((Module*)module)->memories.empty()); - return ((Module*)module)->memories[0]->shared; +bool BinaryenMemoryIsShared(BinaryenModuleRef module, const char* name) { + auto* memory = ((Module*)module)->getMemoryOrNull(name); + if (memory == nullptr) { + Fatal() << "invalid memory '" << name << "'."; + } + return memory->shared; } size_t BinaryenGetMemorySegmentByteLength(BinaryenModuleRef module, BinaryenIndex id) { diff --git a/src/binaryen-c.h b/src/binaryen-c.h index f02b2cb19de..d863445f345 100644 --- a/src/binaryen-c.h +++ b/src/binaryen-c.h @@ -2315,6 +2315,7 @@ BinaryenGetElementSegmentByIndex(BinaryenModuleRef module, BinaryenIndex index); // Each memory has data in segments, a start offset in segmentOffsets, and a // size in segmentSizes. exportName can be NULL BINARYEN_API void BinaryenSetMemory(BinaryenModuleRef module, + const char* internalName, BinaryenIndex initial, BinaryenIndex maximum, const char* exportName, @@ -2326,13 +2327,13 @@ BINARYEN_API void BinaryenSetMemory(BinaryenModuleRef module, bool shared); BINARYEN_API bool BinaryenHasMemory(BinaryenModuleRef module); -BINARYEN_API BinaryenIndex BinaryenMemoryGetInitial(BinaryenModuleRef module); -BINARYEN_API bool BinaryenMemoryHasMax(BinaryenModuleRef module); -BINARYEN_API BinaryenIndex BinaryenMemoryGetMax(BinaryenModuleRef module); +BINARYEN_API BinaryenIndex BinaryenMemoryGetInitial(BinaryenModuleRef module, const char* name); +BINARYEN_API bool BinaryenMemoryHasMax(BinaryenModuleRef module, const char* name); +BINARYEN_API BinaryenIndex BinaryenMemoryGetMax(BinaryenModuleRef module, const char* name); BINARYEN_API const char* -BinaryenMemoryImportGetModule(BinaryenModuleRef module); -BINARYEN_API const char* BinaryenMemoryImportGetBase(BinaryenModuleRef module); -BINARYEN_API bool BinaryenMemoryIsShared(BinaryenModuleRef module); +BinaryenMemoryImportGetModule(BinaryenModuleRef module, const char* name); +BINARYEN_API const char* BinaryenMemoryImportGetBase(BinaryenModuleRef module, const char* name); +BINARYEN_API bool BinaryenMemoryIsShared(BinaryenModuleRef module, const char* name); // Memory segments. Query utilities. diff --git a/src/ir/memory-utils.h b/src/ir/memory-utils.h index ae1cfd15854..1d765940b37 100644 --- a/src/ir/memory-utils.h +++ b/src/ir/memory-utils.h @@ -32,6 +32,15 @@ namespace wasm::MemoryUtils { // Returns true if successful (e.g. relocatable segments cannot be flattened). bool flatten(Module& wasm); +// TODO (nashley): make the below fn relevant +// Ensures that the memory exists (of minimal size). +/*inline void ensureExists(Memory& memory) { + if (!memory.exists) { + memory.exists = true; + memory.initial = memory.max = 1; + } +}*/ + // Try to merge segments until they fit into web limitations. // Return true if successful. inline bool ensureLimitedSegments(Module& module) { diff --git a/src/ir/module-utils.h b/src/ir/module-utils.h index 7e543be7f8f..61dc68e3949 100644 --- a/src/ir/module-utils.h +++ b/src/ir/module-utils.h @@ -221,14 +221,18 @@ inline void renameFunction(Module& wasm, Name oldName, Name newName) { // Convenient iteration over imported/non-imported module elements template inline void iterImportedMemories(Module& wasm, T visitor) { - if (!wasm.memories.empty() && wasm.memories[0]->imported()) { - visitor(wasm.memories[0].get()); + for (auto& import : wasm.memories) { + if (import->imported()) { + visitor(import.get()); + } } } template inline void iterDefinedMemories(Module& wasm, T visitor) { - if (!wasm.memories.empty() && !wasm.memories[0]->imported()) { - visitor(wasm.memories[0].get()); + for (auto& import : wasm.memories) { + if (!import->imported()) { + visitor(import.get()); + } } } diff --git a/src/js/binaryen.js-post.js b/src/js/binaryen.js-post.js index 6ba5454e9e7..55cad45f16c 100644 --- a/src/js/binaryen.js-post.js +++ b/src/js/binaryen.js-post.js @@ -2501,7 +2501,7 @@ function wrapModule(module, self = {}) { self['removeExport'] = function(externalName) { return preserveStack(() => Module['_BinaryenRemoveExport'](module, strToStack(externalName))); }; - self['setMemory'] = function(initial, maximum, exportName, segments = [], shared = false) { + self['setMemory'] = function(internalName, initial, maximum, exportName, segments = [], shared = false) { // segments are assumed to be { passive: bool, offset: expression ref, data: array of 8-bit data } return preserveStack(() => { const segmentsLen = segments.length; @@ -2518,7 +2518,7 @@ function wrapModule(module, self = {}) { segmentOffset[i] = offset; } return Module['_BinaryenSetMemory']( - module, initial, maximum, strToStack(exportName), + module, strToStack(internalName), initial, maximum, strToStack(exportName), i32sToStack(segmentData), i8sToStack(segmentPassive), i32sToStack(segmentOffset), @@ -2531,15 +2531,15 @@ function wrapModule(module, self = {}) { self['hasMemory'] = function() { return Boolean(Module['_BinaryenHasMemory'](module)); }; - self['getMemoryInfo'] = function() { + self['getMemoryInfo'] = function(name) { var memoryInfo = { - 'module': UTF8ToString(Module['_BinaryenMemoryImportGetModule'](module)), - 'base': UTF8ToString(Module['_BinaryenMemoryImportGetBase'](module)), - 'initial': Module['_BinaryenMemoryGetInitial'](module), - 'shared': Boolean(Module['_BinaryenMemoryIsShared'](module)) + 'module': UTF8ToString(Module['_BinaryenMemoryImportGetModule'](module, strToStack(name))), + 'base': UTF8ToString(Module['_BinaryenMemoryImportGetBase'](module, strToStack(name))), + 'initial': Module['_BinaryenMemoryGetInitial'](module, strToStack(name)), + 'shared': Boolean(Module['_BinaryenMemoryIsShared'](module, strToStack(name))) }; - if (Module['_BinaryenMemoryHasMax'](module)) { - memoryInfo['max'] = Module['_BinaryenMemoryGetMax'](module); + if (Module['_BinaryenMemoryHasMax'](module, strToStack(name))) { + memoryInfo['max'] = Module['_BinaryenMemoryGetMax'](module, strToStack(name)); } return memoryInfo; }; diff --git a/src/passes/Asyncify.cpp b/src/passes/Asyncify.cpp index 60eda00310a..bfca739e90f 100644 --- a/src/passes/Asyncify.cpp +++ b/src/passes/Asyncify.cpp @@ -1483,7 +1483,8 @@ struct Asyncify : public Pass { bool optimize = runner->options.optimizeLevel > 0; // Ensure there is a memory, as we need it. - assert(!module->memories.empty()); + // TODO (nashley): Fix call below + // MemoryUtils::ensureExists(module->memory); // Find which things can change the state. auto stateChangingImports = String::trim(read_possible_response_file( diff --git a/src/passes/I64ToI32Lowering.cpp b/src/passes/I64ToI32Lowering.cpp index 43e103c5988..8cb549247ad 100644 --- a/src/passes/I64ToI32Lowering.cpp +++ b/src/passes/I64ToI32Lowering.cpp @@ -594,7 +594,8 @@ struct I64ToI32Lowering : public WalkerPass> { Type::i32)); setOutParam(result, std::move(highBits)); replaceCurrent(result); - assert(!getModule()->memories.empty()); + // TODO (nashley): Fix below + // MemoryUtils::ensureExists(getModule()->memory); ABI::wasm2js::ensureHelpers(getModule()); } @@ -612,7 +613,8 @@ struct I64ToI32Lowering : public WalkerPass> { Type::none), builder->makeCall(ABI::wasm2js::SCRATCH_LOAD_F64, {}, Type::f64)); replaceCurrent(result); - assert(!getModule()->memories.empty()); + // TODO (nashley): Fix below + // MemoryUtils::ensureExists(getModule()->memory); ABI::wasm2js::ensureHelpers(getModule()); } diff --git a/src/passes/MemoryPacking.cpp b/src/passes/MemoryPacking.cpp index 737d8ae0eb0..2e57f3c1c2b 100644 --- a/src/passes/MemoryPacking.cpp +++ b/src/passes/MemoryPacking.cpp @@ -563,7 +563,9 @@ void MemoryPacking::createSplitSegments( } segmentCount++; } + // TODO (nashley): Add a proper name for the memory auto curr = Builder::makeDataSegment(name, + "", segment->isPassive, offset, &segment->data[range.start], diff --git a/src/passes/RemoveNonJSOps.cpp b/src/passes/RemoveNonJSOps.cpp index fc492ffaf92..b95f8e8967c 100644 --- a/src/passes/RemoveNonJSOps.cpp +++ b/src/passes/RemoveNonJSOps.cpp @@ -122,7 +122,8 @@ struct RemoveNonJSOpsPass : public WalkerPass> { } // Intrinsics may use memory, so ensure the module has one. - assert(!module->memories.empty()); + // TODO (nashley): fix below fn + // MemoryUtils::ensureExists(module->memory); // Add missing globals for (auto& [name, type] : neededImportedGlobals) { diff --git a/src/tools/fuzzing/fuzzing.cpp b/src/tools/fuzzing/fuzzing.cpp index a6e098b4db2..ff927f6ecaa 100644 --- a/src/tools/fuzzing/fuzzing.cpp +++ b/src/tools/fuzzing/fuzzing.cpp @@ -185,7 +185,8 @@ void TranslateToFuzzReader::build() { void TranslateToFuzzReader::setupMemory() { // Add memory itself - assert(!wasm.memories.empty()); + // TODO (nashley): Fix below fn + // MemoryUtils::ensureExists(wasm.memory); if (wasm.features.hasBulkMemory()) { size_t memCovered = 0; // need at least one segment for memory.inits diff --git a/src/tools/wasm-ctor-eval.cpp b/src/tools/wasm-ctor-eval.cpp index 3ac1e150b11..00bd5d6411c 100644 --- a/src/tools/wasm-ctor-eval.cpp +++ b/src/tools/wasm-ctor-eval.cpp @@ -122,13 +122,11 @@ std::unique_ptr buildEnvModule(Module& wasm) { // create an exported memory with the same initial and max size ModuleUtils::iterImportedMemories(wasm, [&](Memory* memory) { if (memory->module == env->name) { - env->memories[0]->name = wasm.memories[0]->name; - env->memories[0]->initial = memory->initial; - env->memories[0]->max = memory->max; - env->memories[0]->shared = memory->shared; - env->memories[0]->indexType = memory->indexType; + auto* copied = ModuleUtils::copyMemory(memory, *env); + copied->module = Name(); + copied->base = Name(); env->addExport(Builder(*env).makeExport( - wasm.memories[0]->base, wasm.memories[0]->name, ExternalKind::Memory)); + memory->base, copied->name, ExternalKind::Memory)); } }); diff --git a/src/wasm-binary.h b/src/wasm-binary.h index 7f453fc1520..8434ff672cd 100644 --- a/src/wasm-binary.h +++ b/src/wasm-binary.h @@ -1187,6 +1187,7 @@ class WasmBinaryWriter { std::unordered_map globalIndexes; std::unordered_map tableIndexes; std::unordered_map elemIndexes; + std::unordered_map memoryIndexes; std::unordered_map dataIndexes; BinaryIndexes(Module& wasm) { @@ -1209,6 +1210,7 @@ class WasmBinaryWriter { addIndexes(wasm.functions, functionIndexes); addIndexes(wasm.tags, tagIndexes); addIndexes(wasm.tables, tableIndexes); + addIndexes(wasm.memories, memoryIndexes); for (auto& curr : wasm.elementSegments) { auto index = elemIndexes.size(); @@ -1281,7 +1283,7 @@ class WasmBinaryWriter { int32_t startSubsection(BinaryConsts::UserSections::Subsection code); void finishSubsection(int32_t start); void writeStart(); - void writeMemory(); + void writeMemories(); void writeTypes(); void writeImports(); @@ -1297,6 +1299,7 @@ class WasmBinaryWriter { uint32_t getFunctionIndex(Name name) const; uint32_t getTableIndex(Name name) const; + uint32_t getMemoryIndex(Name name) const; uint32_t getGlobalIndex(Name name) const; uint32_t getTagIndex(Name name) const; uint32_t getTypeIndex(HeapType type) const; @@ -1466,12 +1469,13 @@ class WasmBinaryBuilder { void verifyInt64(int64_t x); void readHeader(); void readStart(); - void readMemory(); + void readMemories(); void readTypes(); // gets a name in the combined import+defined space Name getFunctionName(Index index); Name getTableName(Index index); + Name getMemoryName(Index index); Name getGlobalName(Index index); Name getTagName(Index index); @@ -1529,6 +1533,12 @@ class WasmBinaryBuilder { // we store memories here after being read from binary, before we know their // names std::vector> memories; + // we store memory imports here before wasm.addMemoryImport after we know + // their names + std::vector memoryImports; + // at index i we have all references to the memory i + std::map> memoryRefs; + // we store data here after being read from binary, before we know their names std::vector> dataSegments; diff --git a/src/wasm-builder.h b/src/wasm-builder.h index 3b48a516c3b..23fa67efe05 100644 --- a/src/wasm-builder.h +++ b/src/wasm-builder.h @@ -94,12 +94,6 @@ class Builder { return table; } - static std::unique_ptrmakeMemory(Name name = Name::fromInt(0)) { - auto memory = std::make_unique(); - memory->name = name; - return memory; - } - static std::unique_ptr makeElementSegment(Name name, Name table, @@ -113,14 +107,22 @@ class Builder { return seg; } + static std::unique_ptrmakeMemory(Name name = Name::fromInt(0)) { + auto memory = std::make_unique(); + memory->name = name; + return memory; + } + static std::unique_ptr makeDataSegment(Name name = "", + Name memory = "", bool isPassive = false, Expression* offset = nullptr, const char* init = "", Address size = 0) { auto seg = std::make_unique(); seg->name = name; + seg->memory = memory; seg->isPassive = isPassive; seg->offset = offset; seg->data.resize(size); diff --git a/src/wasm-s-parser.h b/src/wasm-s-parser.h index 64f764721e7..e1d32fd0d92 100644 --- a/src/wasm-s-parser.h +++ b/src/wasm-s-parser.h @@ -126,6 +126,7 @@ class SExpressionWasmBuilder { std::vector functionNames; std::vector tableNames; + std::vector memoryNames; std::vector globalNames; std::vector tagNames; int functionCounter = 0; @@ -168,6 +169,7 @@ class SExpressionWasmBuilder { Name getFunctionName(Element& s); Name getTableName(Element& s); + Name getMemoryName(Element& s); Name getGlobalName(Element& s); Name getTagName(Element& s); void parseStart(Element& s) { wasm.addStart(getFunctionName(*s[1])); } @@ -311,8 +313,8 @@ class SExpressionWasmBuilder { // Helper functions Type parseOptionalResultType(Element& s, Index& i); - Index parseMemoryLimits(Element& s, Index i); - Index parseMemoryIndex(Element& s, Index i); + Index parseMemoryLimits(Element& s, Index i, std::unique_ptr& memory); + Index parseMemoryIndex(Element& s, Index i, std::unique_ptr& memory); std::vector parseParamOrLocal(Element& s); std::vector parseParamOrLocal(Element& s, size_t& localIndex); std::vector parseResults(Element& s); @@ -328,10 +330,7 @@ class SExpressionWasmBuilder { void parseData(Element& s); void parseInnerData(Element& s, Index i, - Name name, - bool hasExplicitName, - Expression* offset, - bool isPassive); + std::unique_ptr& seg); void parseExport(Element& s); void parseImport(Element& s); void parseGlobal(Element& s, bool preParseImport = false); diff --git a/src/wasm.h b/src/wasm.h index a7a569f70fa..c77eeea23c5 100644 --- a/src/wasm.h +++ b/src/wasm.h @@ -2029,6 +2029,7 @@ class Table : public Importable { class DataSegment : public Named { public: + Name memory; bool isPassive = false; Expression* offset = nullptr; std::vector data; // TODO: optimize diff --git a/src/wasm/wasm-binary.cpp b/src/wasm/wasm-binary.cpp index 38f0ea7ed65..d2b9cb1a3c1 100644 --- a/src/wasm/wasm-binary.cpp +++ b/src/wasm/wasm-binary.cpp @@ -52,7 +52,7 @@ void WasmBinaryWriter::write() { writeImports(); writeFunctionSignatures(); writeTableDeclarations(); - writeMemory(); + writeMemories(); writeTags(); if (wasm->features.hasStrings()) { writeStrings(); @@ -203,18 +203,21 @@ void WasmBinaryWriter::writeStart() { finishSection(start); } -void WasmBinaryWriter::writeMemory() { - if (wasm->memories.empty() || wasm->memories[0]->imported()) { +void WasmBinaryWriter::writeMemories() { + if (importInfo->getNumDefinedTags() == 0) { return; } - BYN_TRACE("== writeMemory\n"); + BYN_TRACE("== writeMemories\n"); auto start = startSection(BinaryConsts::Section::Memory); - o << U32LEB(1); // Define 1 memory - writeResizableLimits(wasm->memories[0]->initial, - wasm->memories[0]->max, - wasm->memories[0]->hasMax(), - wasm->memories[0]->shared, - wasm->memories[0]->is64()); + auto num = importInfo->getNumDefinedTables(); + o << U32LEB(num); + ModuleUtils::iterDefinedMemories(*wasm, [&](Memory* memory) { + writeResizableLimits(memory->initial, + memory->max, + memory->hasMax(), + memory->shared, + memory->is64()); + }); finishSection(start); } @@ -333,16 +336,16 @@ void WasmBinaryWriter::writeImports() { o << uint8_t(0); // Reserved 'attribute' field. Always 0. o << U32LEB(getTypeIndex(tag->sig)); }); - if (wasm->memories[0]->imported()) { + ModuleUtils::iterImportedMemories(*wasm, [&](Memory* memory) { BYN_TRACE("write one memory\n"); - writeImportHeader(&*wasm->memories[0]); + writeImportHeader(memory); o << U32LEB(int32_t(ExternalKind::Memory)); - writeResizableLimits(wasm->memories[0]->initial, - wasm->memories[0]->max, - wasm->memories[0]->hasMax(), - wasm->memories[0]->shared, - wasm->memories[0]->is64()); - } + writeResizableLimits(memory->initial, + memory->max, + memory->hasMax(), + memory->shared, + memory->is64()); + }); ModuleUtils::iterImportedTables(*wasm, [&](Table* table) { BYN_TRACE("write one table\n"); writeImportHeader(table); @@ -566,8 +569,7 @@ void WasmBinaryWriter::writeExports() { o << U32LEB(getTableIndex(curr->value)); break; case ExternalKind::Memory: - // TODO: fix with multi-memory - o << U32LEB(0); + o << U32LEB(getMemoryIndex(curr->value)); break; case ExternalKind::Global: o << U32LEB(getGlobalIndex(curr->value)); @@ -629,6 +631,12 @@ uint32_t WasmBinaryWriter::getTableIndex(Name name) const { return it->second; } +uint32_t WasmBinaryWriter::getMemoryIndex(Name name) const { + auto it = indexes.memoryIndexes.find(name); + assert(it != indexes.memoryIndexes.end()); + return it->second; +} + uint32_t WasmBinaryWriter::getGlobalIndex(Name name) const { auto it = indexes.globalIndexes.find(name); assert(it != indexes.globalIndexes.end()); @@ -930,12 +938,28 @@ void WasmBinaryWriter::writeNames() { } // memory names - if (!wasm->memories.empty() && wasm->memories[0]->hasExplicitName) { - auto substart = - startSubsection(BinaryConsts::UserSections::Subsection::NameMemory); - o << U32LEB(1) << U32LEB(0); // currently exactly 1 memory at index 0 - writeEscapedName(wasm->memories[0]->name.str); - finishSubsection(substart); + { + std::vector> memoriesWithNames; + Index checked = 0; + auto check = [&](Memory* curr) { + if (curr->hasExplicitName) { + memoriesWithNames.push_back({checked, curr}); + } + checked++; + }; + ModuleUtils::iterImportedMemories(*wasm, check); + ModuleUtils::iterDefinedMemories(*wasm, check); + assert(checked == indexes.globalIndexes.size()); + if (memoriesWithNames.size() > 0) { + auto substart = + startSubsection(BinaryConsts::UserSections::Subsection::NameMemory); + o << U32LEB(memoriesWithNames.size()); + for (auto& [index, memory] : memoriesWithNames) { + o << U32LEB(index); + writeEscapedName(memory->name.str); + } + finishSubsection(substart); + } } // global names @@ -1013,7 +1037,7 @@ void WasmBinaryWriter::writeNames() { } } - // TODO: label, type, and element names + // TODO: label names // see: https://github.com/WebAssembly/extended-name-section // GC field names @@ -1547,7 +1571,7 @@ void WasmBinaryBuilder::read() { readStart(); break; case BinaryConsts::Section::Memory: - readMemory(); + readMemories(); break; case BinaryConsts::Section::Type: readTypes(); @@ -1963,25 +1987,20 @@ void WasmBinaryBuilder::readStart() { startIndex = getU32LEB(); } -void WasmBinaryBuilder::readMemory() { - BYN_TRACE("== readMemory\n"); - auto numMemories = getU32LEB(); - if (!numMemories) { - return; - } - if (numMemories != 1) { - throwError("Must be exactly 1 memory"); - } - if (!wasm.memories.empty()) { - throwError("Memory cannot be both imported and defined"); +void WasmBinaryBuilder::readMemories() { + BYN_TRACE("== readMemories\n"); + auto num = getU32LEB(); + BYN_TRACE("num: " << num << std::endl); + for (size_t i = 0; i < num; i++) { + BYN_TRACE("read one\n"); + auto memory = Builder::makeMemory(); + getResizableLimits(memory->initial, + memory->max, + memory->shared, + memory->indexType, + Memory::kUnlimitedSize); + memories.push_back(std::move(memory)); } - auto memory = Builder::makeMemory(); - getResizableLimits(memory->initial, - memory->max, - memory->shared, - memory->indexType, - Memory::kUnlimitedSize); - memories.push_back(std::move(memory)); } void WasmBinaryBuilder::readTypes() { @@ -2172,6 +2191,13 @@ Name WasmBinaryBuilder::getTableName(Index index) { return wasm.tables[index]->name; } +Name WasmBinaryBuilder::getMemoryName(Index index) { + if (index >= wasm.memories.size()) { + throwError("invalid memory index"); + } + return wasm.memories[index]->name; +} + Name WasmBinaryBuilder::getGlobalName(Index index) { if (index >= wasm.globals.size()) { throwError("invalid global index"); @@ -2271,16 +2297,16 @@ void WasmBinaryBuilder::readImports() { } case ExternalKind::Memory: { Name name(std::string("mimport$") + std::to_string(memoryCounter++)); - auto curr = builder.makeMemory(name); - wasm.addMemory(std::move(curr)); - wasm.memories[0]->module = module; - wasm.memories[0]->base = base; - wasm.memories[0]->name = name; - getResizableLimits(wasm.memories[0]->initial, - wasm.memories[0]->max, - wasm.memories[0]->shared, - wasm.memories[0]->indexType, + auto memory = builder.makeMemory(name); + memory->module = module; + memory->base = base; + getResizableLimits(memory->initial, + memory->max, + memory->shared, + memory->indexType, Memory::kUnlimitedSize); + memoryImports.push_back(memory.get()); + wasm.addMemory(std::move(memory)); break; } case ExternalKind::Global: { @@ -2925,8 +2951,8 @@ void WasmBinaryBuilder::processNames() { for (auto& segment : elementSegments) { wasm.addElementSegment(std::move(segment)); } - if (!memories.empty()) { - wasm.addMemory(std::move(memories[0])); + for (auto& memory : memories) { + wasm.addMemory(std::move(memory)); } for (auto& segment : dataSegments) { wasm.addDataSegment(std::move(segment)); @@ -2948,7 +2974,7 @@ void WasmBinaryBuilder::processNames() { curr->value = getTableName(index); break; case ExternalKind::Memory: - curr->value = wasm.memories[0]->name; + curr->value = getMemoryName(index); break; case ExternalKind::Global: curr->value = getGlobalName(index); @@ -3338,11 +3364,16 @@ void WasmBinaryBuilder::readNames(size_t payloadLen) { } } else if (nameType == BinaryConsts::UserSections::Subsection::NameMemory) { auto num = getU32LEB(); + NameProcessor processor; for (size_t i = 0; i < num; i++) { auto index = getU32LEB(); auto rawName = getInlineString(); - if (index == 0) { - memories[0]->setExplicitName(escape(rawName)); + auto name = processor.process(rawName); + auto numMemoryImports = memoryImports.size(); + if (index < numMemoryImports) { + memoryImports[index]->setExplicitName(name); + } else if (index - numMemoryImports < memories.size()) { + memories[index - numMemoryImports]->setExplicitName(name); } else { std::cerr << "warning: memory index out of bounds in name section, " "memory subsection: " @@ -4315,6 +4346,7 @@ void WasmBinaryBuilder::readMemoryAccess(Address& alignment, Address& offset) { throwError("Alignment must be of a reasonable size"); } alignment = Bits::pow2(rawAlignment); + // TODO (nashley): reinterpret the alignment as a bit field per the proposal offset = getUPtrLEB(); } diff --git a/src/wasm/wasm-s-parser.cpp b/src/wasm/wasm-s-parser.cpp index 79abc37f514..6041bba872b 100644 --- a/src/wasm/wasm-s-parser.cpp +++ b/src/wasm/wasm-s-parser.cpp @@ -495,6 +495,19 @@ Name SExpressionWasmBuilder::getTableName(Element& s) { } } +Name SExpressionWasmBuilder::getMemoryName(Element& s) { + if (s.dollared()) { + return s.str(); + } else { + // index + size_t offset = atoi(s.str().c_str()); + if (offset >= memoryNames.size()) { + throw ParseException("unknown table in getMemoryName", s.line, s.col); + } + return memoryNames[offset]; + } +} + Name SExpressionWasmBuilder::getGlobalName(Element& s) { if (s.dollared()) { return s.str(); @@ -1358,8 +1371,17 @@ Expression* SExpressionWasmBuilder::makeDrop(Element& s) { } Expression* SExpressionWasmBuilder::makeMemorySize(Element& s) { + auto name = Name::fromInt(0); + if (s.size() > 0) { + name = s[1]->str(); + } + auto* memory = wasm.getMemoryOrNull(name); + if (!memory) { + throw ParseException("invalid memory name in memory.size", s.line, s.col); + } + auto ret = allocator.alloc(); - if (wasm.memories[0]->is64()) { + if (memory->is64()) { ret->make64(); } ret->finalize(); @@ -1367,11 +1389,22 @@ Expression* SExpressionWasmBuilder::makeMemorySize(Element& s) { } Expression* SExpressionWasmBuilder::makeMemoryGrow(Element& s) { + auto name = Name::fromInt(0); + Index i = 1; + if (s[i]->isStr()) { + name = s[1]->str(); + i++; + } + auto* memory = wasm.getMemoryOrNull(name); + if (!memory) { + throw ParseException("invalid memory name in memory.grow", s.line, s.col); + } + auto ret = allocator.alloc(); - if (wasm.memories[0]->is64()) { + if (memory->is64()) { ret->make64(); } - ret->delta = parseExpression(s[1]); + ret->delta = parseExpression(s[i]); ret->finalize(); return ret; } @@ -2995,35 +3028,35 @@ void SExpressionWasmBuilder::stringToBinary(const char* input, data.resize(actual); } -Index SExpressionWasmBuilder::parseMemoryIndex(Element& s, Index i) { +Index SExpressionWasmBuilder::parseMemoryIndex(Element& s, Index i, std::unique_ptr& memory) { if (i < s.size() && s[i]->isStr()) { if (s[i]->str() == "i64") { i++; - wasm.memories[0]->indexType = Type::i64; + memory->indexType = Type::i64; } else if (s[i]->str() == "i32") { i++; - wasm.memories[0]->indexType = Type::i32; + memory->indexType = Type::i32; } } return i; } -Index SExpressionWasmBuilder::parseMemoryLimits(Element& s, Index i) { - i = parseMemoryIndex(s, i); +Index SExpressionWasmBuilder::parseMemoryLimits(Element& s, Index i, std::unique_ptr& memory) { + i = parseMemoryIndex(s, i, memory); if (i == s.size()) { throw ParseException("missing memory limits", s.line, s.col); } auto initElem = s[i++]; - wasm.memories[0]->initial = getAddress(initElem); - if (!wasm.memories[0]->is64()) { - checkAddress(wasm.memories[0]->initial, "excessive memory init", initElem); + memory->initial = getAddress(initElem); + if (!memory->is64()) { + checkAddress(memory->initial, "excessive memory init", initElem); } if (i == s.size()) { - wasm.memories[0]->max = Memory::kUnlimitedSize; + memory->max = Memory::kUnlimitedSize; } else { auto maxElem = s[i++]; - wasm.memories[0]->max = getAddress(maxElem); - if (!wasm.memories[0]->is64() && wasm.memories[0]->max > Memory::kMaxSize32) { + memory->max = getAddress(maxElem); + if (memory->is64() && memory->max > Memory::kMaxSize32) { throw ParseException( "total memory must be <= 4GB", maxElem->line, maxElem->col); } @@ -3032,24 +3065,24 @@ Index SExpressionWasmBuilder::parseMemoryLimits(Element& s, Index i) { } void SExpressionWasmBuilder::parseMemory(Element& s, bool preParseImport) { - if (!wasm.memories.empty()) { - throw ParseException("too many memories", s.line, s.col); - } auto memory = make_unique(); memory->shared = false; Index i = 1; if (s[i]->dollared()) { memory->setExplicitName(s[i++]->str()); + } else { + memory->name = Name::fromInt(memoryCounter++); } - wasm.addMemory(std::move(memory)); - i = parseMemoryIndex(s, i); + memoryNames.push_back(memory->name); + + i = parseMemoryIndex(s, i, memory); Name importModule, importBase; if (s[i]->isList()) { auto& inner = *s[i]; if (elementStartsWith(inner, EXPORT)) { auto ex = make_unique(); ex->name = inner[1]->str(); - ex->value = wasm.memories[0]->name; + ex->value = memory->name; ex->kind = ExternalKind::Memory; if (wasm.getExportOrNull(ex->name)) { throw ParseException("duplicate export", inner.line, inner.col); @@ -3057,33 +3090,35 @@ void SExpressionWasmBuilder::parseMemory(Element& s, bool preParseImport) { wasm.addExport(ex.release()); i++; } else if (elementStartsWith(inner, IMPORT)) { - wasm.memories[0]->module = inner[1]->str(); - wasm.memories[0]->base = inner[2]->str(); + memory->module = inner[1]->str(); + memory->base = inner[2]->str(); i++; } else if (elementStartsWith(inner, SHARED)) { - wasm.memories[0]->shared = true; - parseMemoryLimits(inner, 1); + memory->shared = true; + parseMemoryLimits(inner, 1, memory); i++; } else { if (!(inner.size() > 0 ? inner[0]->str() != IMPORT : true)) { throw ParseException("bad import ending", inner.line, inner.col); } // (memory (data ..)) format - auto j = parseMemoryIndex(inner, 1); + auto j = parseMemoryIndex(inner, 1, memory); auto offset = allocator.alloc(); - if (wasm.memories[0]->is64()) { + if (memory->is64()) { offset->set(Literal(int64_t(0))); } else { offset->set(Literal(int32_t(0))); } - parseInnerData( - inner, j, Name::fromInt(dataCounter++), false, offset, false); - wasm.memories[0]->initial = wasm.dataSegments[0]->data.size(); + auto seg = + Builder::makeDataSegment(Name::fromInt(dataCounter++), memory->name, false, offset); + parseInnerData(inner, j, seg); + wasm.addDataSegment(std::move(seg)); + memory->initial = wasm.dataSegments[0]->data.size(); return; } } - if (!wasm.memories[0]->shared) { - i = parseMemoryLimits(s, i); + if (!memory->shared) { + i = parseMemoryLimits(s, i, memory); } // Parse memory initializers. @@ -3096,13 +3131,13 @@ void SExpressionWasmBuilder::parseMemory(Element& s, bool preParseImport) { } else { auto offsetElem = curr[j++]; offsetValue = getAddress(offsetElem); - if (!wasm.memories[0]->is64()) { + if (memory->is64()) { checkAddress(offsetValue, "excessive memory offset", offsetElem); } } const char* input = curr[j]->c_str(); auto* offset = allocator.alloc(); - if (wasm.memories[0]->is64()) { + if (memory->is64()) { offset->type = Type::i64; offset->value = Literal(offsetValue); } else { @@ -3113,17 +3148,18 @@ void SExpressionWasmBuilder::parseMemory(Element& s, bool preParseImport) { std::vector data; stringToBinary(input, size, data); auto segment = Builder::makeDataSegment( - Name::fromInt(dataCounter++), false, offset, data.data(), data.size()); + Name::fromInt(dataCounter++), memory->name, false, offset, data.data(), data.size()); segment->hasExplicitName = false; - wasm.dataSegments.push_back(std::move(segment)); + wasm.addDataSegment(std::move(segment)); } else { auto segment = - Builder::makeDataSegment(Name::fromInt(dataCounter++), false, offset); + Builder::makeDataSegment(Name::fromInt(dataCounter++), memory->name, false, offset); segment->hasExplicitName = false; - wasm.dataSegments.push_back(std::move(segment)); + wasm.addDataSegment(std::move(segment)); } i++; } + wasm.addMemory(std::move(memory)); } void SExpressionWasmBuilder::parseData(Element& s) { @@ -3133,6 +3169,7 @@ void SExpressionWasmBuilder::parseData(Element& s) { Index i = 1; Name name = Name::fromInt(dataCounter++); bool hasExplicitName = false; + Name memory; bool isPassive = true; Expression* offset = nullptr; @@ -3144,10 +3181,9 @@ void SExpressionWasmBuilder::parseData(Element& s) { if (s[i]->isList()) { // Optional (memory ) if (elementStartsWith(s[i], MEMORY)) { - // TODO: we're just skipping memory since we have only one. Assign the - // memory name to the segment when we support multiple memories. - i += 1; - } + auto& inner = *s[i++]; + memory = getMemoryName(*inner[1]); + }//TODO (nashley): need an else condition to set memory name // Offset expression (offset ()) | () auto& inner = *s[i++]; @@ -3159,15 +3195,16 @@ void SExpressionWasmBuilder::parseData(Element& s) { isPassive = false; } - parseInnerData(s, i, name, hasExplicitName, offset, isPassive); + auto seg = + Builder::makeDataSegment(name, memory, isPassive, offset); + seg->hasExplicitName = hasExplicitName; + parseInnerData(s, i, seg); + wasm.addDataSegment(std::move(seg)); } void SExpressionWasmBuilder::parseInnerData(Element& s, Index i, - Name name, - bool hasExplicitName, - Expression* offset, - bool isPassive) { + std::unique_ptr& seg) { std::vector data; while (i < s.size()) { const char* input = s[i++]->c_str(); @@ -3175,10 +3212,8 @@ void SExpressionWasmBuilder::parseInnerData(Element& s, stringToBinary(input, size, data); } } - auto curr = - Builder::makeDataSegment(name, isPassive, offset, data.data(), data.size()); - curr->hasExplicitName = hasExplicitName; - wasm.dataSegments.push_back(std::move(curr)); + seg->data.resize(data.size()); + std::copy_n(data.data(), data.size(), seg->data.begin()); } void SExpressionWasmBuilder::parseExport(Element& s) { @@ -3225,9 +3260,6 @@ void SExpressionWasmBuilder::parseImport(Element& s) { kind = ExternalKind::Function; } else if (elementStartsWith(*s[3], MEMORY)) { kind = ExternalKind::Memory; - if (!wasm.memories.empty()) { - throw ParseException("more than one memory", s[3]->line, s[3]->col); - } } else if (elementStartsWith(*s[3], TABLE)) { kind = ExternalKind::Table; } else if (elementStartsWith(*s[3], GLOBAL)) { @@ -3324,18 +3356,21 @@ void SExpressionWasmBuilder::parseImport(Element& s) { memory->setName(name, hasExplicitName); memory->module = module; memory->base = base; - wasm.addMemory(std::move(memory)); + memoryNames.push_back(name); + if (inner[j]->isList()) { auto& limits = *inner[j]; if (!elementStartsWith(limits, SHARED)) { throw ParseException( "bad memory limit declaration", inner[j]->line, inner[j]->col); } - wasm.memories[0]->shared = true; - j = parseMemoryLimits(limits, 1); + memory->shared = true; + j = parseMemoryLimits(limits, 1, memory); } else { - j = parseMemoryLimits(inner, j); + j = parseMemoryLimits(inner, j, memory); } + + wasm.addMemory(std::move(memory)); } else if (kind == ExternalKind::Tag) { auto tag = make_unique(); HeapType tagType; From 426fc5d4c0cce5f071428ef49ebcdad9440914f3 Mon Sep 17 00:00:00 2001 From: Ashley Nelson Date: Sun, 26 Jun 2022 21:50:16 +0000 Subject: [PATCH 18/78] it builds --- src/binaryen-c.cpp | 72 +++--- src/binaryen-c.h | 37 ++-- src/ir/module-utils.h | 8 + src/passes/AlignmentLowering.cpp | 60 +++-- src/passes/AvoidReinterprets.cpp | 7 +- src/passes/I64ToI32Lowering.cpp | 6 +- src/passes/InstrumentMemory.cpp | 11 +- src/passes/MemoryPacking.cpp | 8 +- src/passes/SafeHeap.cpp | 40 ++-- src/passes/StackCheck.cpp | 5 +- src/shell-interface.h | 136 ++++++++++-- src/tools/wasm-ctor-eval.cpp | 30 +-- src/tools/wasm-split/instrumenter.cpp | 21 +- src/wasm-binary.h | 2 +- src/wasm-builder.h | 62 ++++-- src/wasm-interpreter.h | 303 ++++++++++++++------------ src/wasm-traversal.h | 4 +- src/wasm.h | 13 ++ src/wasm/wasm-binary.cpp | 100 ++++++--- 19 files changed, 599 insertions(+), 326 deletions(-) diff --git a/src/binaryen-c.cpp b/src/binaryen-c.cpp index 705fffcd998..19dd860e583 100644 --- a/src/binaryen-c.cpp +++ b/src/binaryen-c.cpp @@ -1068,14 +1068,16 @@ BinaryenExpressionRef BinaryenLoad(BinaryenModuleRef module, uint32_t offset, uint32_t align, BinaryenType type, - BinaryenExpressionRef ptr) { + BinaryenExpressionRef ptr, + const char* name) { return static_cast(Builder(*(Module*)module) .makeLoad(bytes, !!signed_, offset, align ? align : bytes, (Expression*)ptr, - Type(type))); + Type(type), + name)); } BinaryenExpressionRef BinaryenStore(BinaryenModuleRef module, uint32_t bytes, @@ -1083,14 +1085,16 @@ BinaryenExpressionRef BinaryenStore(BinaryenModuleRef module, uint32_t align, BinaryenExpressionRef ptr, BinaryenExpressionRef value, - BinaryenType type) { + BinaryenType type, + const char* name) { return static_cast(Builder(*(Module*)module) .makeStore(bytes, offset, align ? align : bytes, (Expression*)ptr, (Expression*)value, - Type(type))); + Type(type), + name)); } BinaryenExpressionRef BinaryenConst(BinaryenModuleRef module, BinaryenLiteral value) { @@ -1137,13 +1141,15 @@ BinaryenExpressionRef BinaryenReturn(BinaryenModuleRef module, auto* ret = Builder(*(Module*)module).makeReturn((Expression*)value); return static_cast(ret); } -BinaryenExpressionRef BinaryenMemorySize(BinaryenModuleRef module) { - auto* ret = Builder(*(Module*)module).makeMemorySize(); +BinaryenExpressionRef BinaryenMemorySize(BinaryenModuleRef module, + const char* name) { + auto* ret = Builder(*(Module*)module).makeMemorySize(name); return static_cast(ret); } BinaryenExpressionRef BinaryenMemoryGrow(BinaryenModuleRef module, - BinaryenExpressionRef delta) { - auto* ret = Builder(*(Module*)module).makeMemoryGrow((Expression*)delta); + BinaryenExpressionRef delta, + const char* name) { + auto* ret = Builder(*(Module*)module).makeMemoryGrow((Expression*)delta, name); return static_cast(ret); } BinaryenExpressionRef BinaryenNop(BinaryenModuleRef module) { @@ -1156,21 +1162,23 @@ BinaryenExpressionRef BinaryenAtomicLoad(BinaryenModuleRef module, uint32_t bytes, uint32_t offset, BinaryenType type, - BinaryenExpressionRef ptr) { + BinaryenExpressionRef ptr, + const char* name) { return static_cast( Builder(*(Module*)module) - .makeAtomicLoad(bytes, offset, (Expression*)ptr, Type(type))); + .makeAtomicLoad(bytes, offset, (Expression*)ptr, Type(type), name)); } BinaryenExpressionRef BinaryenAtomicStore(BinaryenModuleRef module, uint32_t bytes, uint32_t offset, BinaryenExpressionRef ptr, BinaryenExpressionRef value, - BinaryenType type) { + BinaryenType type, + const char* name) { return static_cast( Builder(*(Module*)module) .makeAtomicStore( - bytes, offset, (Expression*)ptr, (Expression*)value, Type(type))); + bytes, offset, (Expression*)ptr, (Expression*)value, Type(type), name)); } BinaryenExpressionRef BinaryenAtomicRMW(BinaryenModuleRef module, BinaryenOp op, @@ -1178,14 +1186,16 @@ BinaryenExpressionRef BinaryenAtomicRMW(BinaryenModuleRef module, BinaryenIndex offset, BinaryenExpressionRef ptr, BinaryenExpressionRef value, - BinaryenType type) { + BinaryenType type, + const char* name) { return static_cast(Builder(*(Module*)module) .makeAtomicRMW(AtomicRMWOp(op), bytes, offset, (Expression*)ptr, (Expression*)value, - Type(type))); + Type(type), + name)); } BinaryenExpressionRef BinaryenAtomicCmpxchg(BinaryenModuleRef module, BinaryenIndex bytes, @@ -1193,33 +1203,38 @@ BinaryenExpressionRef BinaryenAtomicCmpxchg(BinaryenModuleRef module, BinaryenExpressionRef ptr, BinaryenExpressionRef expected, BinaryenExpressionRef replacement, - BinaryenType type) { + BinaryenType type, + const char* name) { return static_cast(Builder(*(Module*)module) .makeAtomicCmpxchg(bytes, offset, (Expression*)ptr, (Expression*)expected, (Expression*)replacement, - Type(type))); + Type(type), + name)); } BinaryenExpressionRef BinaryenAtomicWait(BinaryenModuleRef module, BinaryenExpressionRef ptr, BinaryenExpressionRef expected, BinaryenExpressionRef timeout, - BinaryenType expectedType) { + BinaryenType expectedType, + const char* name) { return static_cast(Builder(*(Module*)module) .makeAtomicWait((Expression*)ptr, (Expression*)expected, (Expression*)timeout, Type(expectedType), - 0)); + 0, + name)); } BinaryenExpressionRef BinaryenAtomicNotify(BinaryenModuleRef module, BinaryenExpressionRef ptr, - BinaryenExpressionRef notifyCount) { + BinaryenExpressionRef notifyCount, + const char* name) { return static_cast( Builder(*(Module*)module) - .makeAtomicNotify((Expression*)ptr, (Expression*)notifyCount, 0)); + .makeAtomicNotify((Expression*)ptr, (Expression*)notifyCount, 0, name)); } BinaryenExpressionRef BinaryenAtomicFence(BinaryenModuleRef module) { return static_cast(Builder(*(Module*)module).makeAtomicFence()); @@ -1301,11 +1316,12 @@ BinaryenExpressionRef BinaryenMemoryInit(BinaryenModuleRef module, uint32_t segment, BinaryenExpressionRef dest, BinaryenExpressionRef offset, - BinaryenExpressionRef size) { + BinaryenExpressionRef size, + const char* name) { return static_cast( Builder(*(Module*)module) .makeMemoryInit( - segment, (Expression*)dest, (Expression*)offset, (Expression*)size)); + segment, (Expression*)dest, (Expression*)offset, (Expression*)size, name)); } BinaryenExpressionRef BinaryenDataDrop(BinaryenModuleRef module, @@ -1317,21 +1333,25 @@ BinaryenExpressionRef BinaryenDataDrop(BinaryenModuleRef module, BinaryenExpressionRef BinaryenMemoryCopy(BinaryenModuleRef module, BinaryenExpressionRef dest, BinaryenExpressionRef source, - BinaryenExpressionRef size) { + BinaryenExpressionRef size, + const char* name) { return static_cast(Builder(*(Module*)module) .makeMemoryCopy((Expression*)dest, (Expression*)source, - (Expression*)size)); + (Expression*)size, + name)); } BinaryenExpressionRef BinaryenMemoryFill(BinaryenModuleRef module, BinaryenExpressionRef dest, BinaryenExpressionRef value, - BinaryenExpressionRef size) { + BinaryenExpressionRef size, + const char* name) { return static_cast(Builder(*(Module*)module) .makeMemoryFill((Expression*)dest, (Expression*)value, - (Expression*)size)); + (Expression*)size, + name)); } BinaryenExpressionRef BinaryenTupleMake(BinaryenModuleRef module, diff --git a/src/binaryen-c.h b/src/binaryen-c.h index d863445f345..f729417089c 100644 --- a/src/binaryen-c.h +++ b/src/binaryen-c.h @@ -746,7 +746,8 @@ BINARYEN_API BinaryenExpressionRef BinaryenLoad(BinaryenModuleRef module, uint32_t offset, uint32_t align, BinaryenType type, - BinaryenExpressionRef ptr); + BinaryenExpressionRef ptr, + const char* name = "0"); // Store: align can be 0, in which case it will be the natural alignment (equal // to bytes) BINARYEN_API BinaryenExpressionRef BinaryenStore(BinaryenModuleRef module, @@ -755,7 +756,8 @@ BINARYEN_API BinaryenExpressionRef BinaryenStore(BinaryenModuleRef module, uint32_t align, BinaryenExpressionRef ptr, BinaryenExpressionRef value, - BinaryenType type); + BinaryenType type, + const char* name = "0"); BINARYEN_API BinaryenExpressionRef BinaryenConst(BinaryenModuleRef module, struct BinaryenLiteral value); BINARYEN_API BinaryenExpressionRef BinaryenUnary(BinaryenModuleRef module, @@ -776,9 +778,9 @@ BINARYEN_API BinaryenExpressionRef BinaryenDrop(BinaryenModuleRef module, // Return: value can be NULL BINARYEN_API BinaryenExpressionRef BinaryenReturn(BinaryenModuleRef module, BinaryenExpressionRef value); -BINARYEN_API BinaryenExpressionRef BinaryenMemorySize(BinaryenModuleRef module); +BINARYEN_API BinaryenExpressionRef BinaryenMemorySize(BinaryenModuleRef module, const char* name = "0"); BINARYEN_API BinaryenExpressionRef -BinaryenMemoryGrow(BinaryenModuleRef module, BinaryenExpressionRef delta); +BinaryenMemoryGrow(BinaryenModuleRef module, BinaryenExpressionRef delta, const char* name = "0"); BINARYEN_API BinaryenExpressionRef BinaryenNop(BinaryenModuleRef module); BINARYEN_API BinaryenExpressionRef BinaryenUnreachable(BinaryenModuleRef module); @@ -787,14 +789,16 @@ BinaryenAtomicLoad(BinaryenModuleRef module, uint32_t bytes, uint32_t offset, BinaryenType type, - BinaryenExpressionRef ptr); + BinaryenExpressionRef ptr, + const char* name = "0"); BINARYEN_API BinaryenExpressionRef BinaryenAtomicStore(BinaryenModuleRef module, uint32_t bytes, uint32_t offset, BinaryenExpressionRef ptr, BinaryenExpressionRef value, - BinaryenType type); + BinaryenType type, + const char* name = "0"); BINARYEN_API BinaryenExpressionRef BinaryenAtomicRMW(BinaryenModuleRef module, BinaryenOp op, @@ -802,7 +806,8 @@ BinaryenAtomicRMW(BinaryenModuleRef module, BinaryenIndex offset, BinaryenExpressionRef ptr, BinaryenExpressionRef value, - BinaryenType type); + BinaryenType type, + const char* name = "0"); BINARYEN_API BinaryenExpressionRef BinaryenAtomicCmpxchg(BinaryenModuleRef module, BinaryenIndex bytes, @@ -810,17 +815,20 @@ BinaryenAtomicCmpxchg(BinaryenModuleRef module, BinaryenExpressionRef ptr, BinaryenExpressionRef expected, BinaryenExpressionRef replacement, - BinaryenType type); + BinaryenType type, + const char* name = "0"); BINARYEN_API BinaryenExpressionRef BinaryenAtomicWait(BinaryenModuleRef module, BinaryenExpressionRef ptr, BinaryenExpressionRef expected, BinaryenExpressionRef timeout, - BinaryenType type); + BinaryenType type, + const char* name = "0"); BINARYEN_API BinaryenExpressionRef BinaryenAtomicNotify(BinaryenModuleRef module, BinaryenExpressionRef ptr, - BinaryenExpressionRef notifyCount); + BinaryenExpressionRef notifyCount, + const char* name = "0"); BINARYEN_API BinaryenExpressionRef BinaryenAtomicFence(BinaryenModuleRef module); BINARYEN_API BinaryenExpressionRef @@ -867,19 +875,22 @@ BinaryenMemoryInit(BinaryenModuleRef module, uint32_t segment, BinaryenExpressionRef dest, BinaryenExpressionRef offset, - BinaryenExpressionRef size); + BinaryenExpressionRef size, + const char* name = "0"); BINARYEN_API BinaryenExpressionRef BinaryenDataDrop(BinaryenModuleRef module, uint32_t segment); BINARYEN_API BinaryenExpressionRef BinaryenMemoryCopy(BinaryenModuleRef module, BinaryenExpressionRef dest, BinaryenExpressionRef source, - BinaryenExpressionRef size); + BinaryenExpressionRef size, + const char* name = "0"); BINARYEN_API BinaryenExpressionRef BinaryenMemoryFill(BinaryenModuleRef module, BinaryenExpressionRef dest, BinaryenExpressionRef value, - BinaryenExpressionRef size); + BinaryenExpressionRef size, + const char* name = "0"); BINARYEN_API BinaryenExpressionRef BinaryenRefNull(BinaryenModuleRef module, BinaryenType type); BINARYEN_API BinaryenExpressionRef BinaryenRefIs(BinaryenModuleRef module, diff --git a/src/ir/module-utils.h b/src/ir/module-utils.h index 61dc68e3949..e8a142bc989 100644 --- a/src/ir/module-utils.h +++ b/src/ir/module-utils.h @@ -236,6 +236,14 @@ template inline void iterDefinedMemories(Module& wasm, T visitor) { } } +template inline void iterMemorySegments(Module& wasm, Name memory, T visitor) { + for (auto& segment : wasm.dataSegments) { + if (!segment->isPassive && segment->memory == memory) { + visitor(segment.get()); + } + } +} + template inline void iterActiveDataSegments(Module& wasm, T visitor) { for (auto& segment : wasm.dataSegments) { diff --git a/src/passes/AlignmentLowering.cpp b/src/passes/AlignmentLowering.cpp index 7acc50d7011..9492633c9f6 100644 --- a/src/passes/AlignmentLowering.cpp +++ b/src/passes/AlignmentLowering.cpp @@ -48,7 +48,8 @@ struct AlignmentLowering : public WalkerPass> { curr->offset, 1, builder.makeLocalGet(temp, indexType), - Type::i32), + Type::i32, + curr->memory), builder.makeBinary( ShlInt32, builder.makeLoad(1, @@ -56,7 +57,8 @@ struct AlignmentLowering : public WalkerPass> { curr->offset + 1, 1, builder.makeLocalGet(temp, indexType), - Type::i32), + Type::i32, + curr->memory), builder.makeConst(int32_t(8)))); if (curr->signed_) { ret = Bits::makeSignExt(ret, 2, *getModule()); @@ -72,7 +74,8 @@ struct AlignmentLowering : public WalkerPass> { curr->offset, 1, builder.makeLocalGet(temp, indexType), - Type::i32), + Type::i32, + curr->memory), builder.makeBinary( ShlInt32, builder.makeLoad(1, @@ -80,7 +83,8 @@ struct AlignmentLowering : public WalkerPass> { curr->offset + 1, 1, builder.makeLocalGet(temp, indexType), - Type::i32), + Type::i32, + curr->memory), builder.makeConst(int32_t(8)))), builder.makeBinary( OrInt32, @@ -91,7 +95,8 @@ struct AlignmentLowering : public WalkerPass> { curr->offset + 2, 1, builder.makeLocalGet(temp, indexType), - Type::i32), + Type::i32, + curr->memory), builder.makeConst(int32_t(16))), builder.makeBinary( ShlInt32, @@ -100,7 +105,8 @@ struct AlignmentLowering : public WalkerPass> { curr->offset + 3, 1, builder.makeLocalGet(temp, indexType), - Type::i32), + Type::i32, + curr->memory), builder.makeConst(int32_t(24))))); } else if (curr->align == 2) { ret = builder.makeBinary( @@ -110,7 +116,8 @@ struct AlignmentLowering : public WalkerPass> { curr->offset, 2, builder.makeLocalGet(temp, indexType), - Type::i32), + Type::i32, + curr->memory), builder.makeBinary( ShlInt32, builder.makeLoad(2, @@ -118,7 +125,8 @@ struct AlignmentLowering : public WalkerPass> { curr->offset + 2, 2, builder.makeLocalGet(temp, indexType), - Type::i32), + Type::i32, + curr->memory), builder.makeConst(int32_t(16)))); } else { WASM_UNREACHABLE("invalid alignment"); @@ -150,7 +158,8 @@ struct AlignmentLowering : public WalkerPass> { 1, builder.makeLocalGet(tempPtr, indexType), builder.makeLocalGet(tempValue, Type::i32), - Type::i32)); + Type::i32, + curr->memory)); block->list.push_back(builder.makeStore( 1, curr->offset + 1, @@ -159,7 +168,8 @@ struct AlignmentLowering : public WalkerPass> { builder.makeBinary(ShrUInt32, builder.makeLocalGet(tempValue, Type::i32), builder.makeConst(int32_t(8))), - Type::i32)); + Type::i32, + curr->memory)); } else if (curr->bytes == 4) { if (curr->align == 1) { block->list.push_back( @@ -168,7 +178,8 @@ struct AlignmentLowering : public WalkerPass> { 1, builder.makeLocalGet(tempPtr, indexType), builder.makeLocalGet(tempValue, Type::i32), - Type::i32)); + Type::i32, + curr->memory)); block->list.push_back(builder.makeStore( 1, curr->offset + 1, @@ -177,7 +188,8 @@ struct AlignmentLowering : public WalkerPass> { builder.makeBinary(ShrUInt32, builder.makeLocalGet(tempValue, Type::i32), builder.makeConst(int32_t(8))), - Type::i32)); + Type::i32, + curr->memory)); block->list.push_back(builder.makeStore( 1, curr->offset + 2, @@ -186,7 +198,8 @@ struct AlignmentLowering : public WalkerPass> { builder.makeBinary(ShrUInt32, builder.makeLocalGet(tempValue, Type::i32), builder.makeConst(int32_t(16))), - Type::i32)); + Type::i32, + curr->memory)); block->list.push_back(builder.makeStore( 1, curr->offset + 3, @@ -195,7 +208,8 @@ struct AlignmentLowering : public WalkerPass> { builder.makeBinary(ShrUInt32, builder.makeLocalGet(tempValue, Type::i32), builder.makeConst(int32_t(24))), - Type::i32)); + Type::i32, + curr->memory)); } else if (curr->align == 2) { block->list.push_back( builder.makeStore(2, @@ -203,7 +217,8 @@ struct AlignmentLowering : public WalkerPass> { 2, builder.makeLocalGet(tempPtr, indexType), builder.makeLocalGet(tempValue, Type::i32), - Type::i32)); + Type::i32, + curr->memory)); block->list.push_back(builder.makeStore( 2, curr->offset + 2, @@ -212,7 +227,8 @@ struct AlignmentLowering : public WalkerPass> { builder.makeBinary(ShrUInt32, builder.makeLocalGet(tempValue, Type::i32), builder.makeConst(int32_t(16))), - Type::i32)); + Type::i32, + curr->memory)); } else { WASM_UNREACHABLE("invalid alignment"); } @@ -268,7 +284,8 @@ struct AlignmentLowering : public WalkerPass> { curr->offset, curr->align, builder.makeLocalGet(temp, indexType), - Type::i32)); + Type::i32, + curr->memory)); low = builder.makeUnary(ExtendUInt32, low); // Note that the alignment is assumed to be the same here, even though // we add an offset of 4. That is because this is an unaligned load, so @@ -280,7 +297,8 @@ struct AlignmentLowering : public WalkerPass> { curr->offset + 4, curr->align, builder.makeLocalGet(temp, indexType), - Type::i32)); + Type::i32, + curr->memory)); high = builder.makeUnary(ExtendUInt32, high); high = builder.makeBinary(ShlInt64, high, builder.makeConst(int64_t(32))); @@ -352,7 +370,8 @@ struct AlignmentLowering : public WalkerPass> { curr->align, builder.makeLocalGet(tempPtr, indexType), low, - Type::i32)); + Type::i32, + curr->memory)); Expression* high = builder.makeBinary(ShrUInt64, builder.makeLocalGet(tempValue, Type::i64), @@ -368,7 +387,8 @@ struct AlignmentLowering : public WalkerPass> { curr->align, builder.makeLocalGet(tempPtr, indexType), high, - Type::i32)); + Type::i32, + curr->memory)); replacement = builder.makeBlock({setPtr, setValue, low, high}); break; } diff --git a/src/passes/AvoidReinterprets.cpp b/src/passes/AvoidReinterprets.cpp index 6a05c7b3479..06c11e0e672 100644 --- a/src/passes/AvoidReinterprets.cpp +++ b/src/passes/AvoidReinterprets.cpp @@ -174,8 +174,8 @@ struct AvoidReinterprets : public WalkerPass> { auto& info = iter->second; Builder builder(*module); auto* ptr = curr->ptr; - assert(!getModule()->memories.empty()); - auto indexType = getModule()->memories[0]->indexType; + auto mem = getModule()->getMemory(curr->memory); + auto indexType = mem->indexType; curr->ptr = builder.makeLocalGet(info.ptrLocal, indexType); // Note that the other load can have its sign set to false - if the // original were an integer, the other is a float anyhow; and if @@ -197,7 +197,8 @@ struct AvoidReinterprets : public WalkerPass> { load->offset, load->align, ptr, - load->type.reinterpret()); + load->type.reinterpret(), + load->memory); } } finalOptimizer(infos, localGraph, getModule(), getPassOptions()); diff --git a/src/passes/I64ToI32Lowering.cpp b/src/passes/I64ToI32Lowering.cpp index 8cb549247ad..7c7c0edccbf 100644 --- a/src/passes/I64ToI32Lowering.cpp +++ b/src/passes/I64ToI32Lowering.cpp @@ -386,7 +386,8 @@ struct I64ToI32Lowering : public WalkerPass> { curr->offset + 4, std::min(uint32_t(curr->align), uint32_t(4)), builder->makeLocalGet(ptrTemp, Type::i32), - Type::i32)); + Type::i32, + curr->memory)); } else if (curr->signed_) { loadHigh = builder->makeLocalSet( highBits, @@ -432,7 +433,8 @@ struct I64ToI32Lowering : public WalkerPass> { std::min(uint32_t(curr->align), uint32_t(4)), builder->makeLocalGet(ptrTemp, Type::i32), builder->makeLocalGet(highBits, Type::i32), - Type::i32); + Type::i32, + curr->memory); replaceCurrent(builder->blockify(setPtr, curr, storeHigh)); } } diff --git a/src/passes/InstrumentMemory.cpp b/src/passes/InstrumentMemory.cpp index b5984fcefd7..9f009729479 100644 --- a/src/passes/InstrumentMemory.cpp +++ b/src/passes/InstrumentMemory.cpp @@ -100,9 +100,9 @@ struct InstrumentMemory : public WalkerPass> { void visitLoad(Load* curr) { id++; Builder builder(*getModule()); - assert(!getModule()->memories.empty()); - auto indexType = getModule()->memories[0]->indexType; - auto offset = builder.makeConstPtr(curr->offset.addr); + auto mem = getModule()->getMemory(curr->memory); + auto indexType = mem->indexType; + auto offset = builder.makeConstPtr(curr->offset.addr, indexType); curr->ptr = builder.makeCall(load_ptr, {builder.makeConst(int32_t(id)), builder.makeConst(int32_t(curr->bytes)), @@ -134,8 +134,9 @@ struct InstrumentMemory : public WalkerPass> { id++; Builder builder(*getModule()); assert(!getModule()->memories.empty()); - auto indexType = getModule()->memories[0]->indexType; - auto offset = builder.makeConstPtr(curr->offset.addr); + auto mem = getModule()->getMemory(curr->memory); + auto indexType = mem->indexType; + auto offset = builder.makeConstPtr(curr->offset.addr, indexType); curr->ptr = builder.makeCall(store_ptr, {builder.makeConst(int32_t(id)), builder.makeConst(int32_t(curr->bytes)), diff --git a/src/passes/MemoryPacking.cpp b/src/passes/MemoryPacking.cpp index 2e57f3c1c2b..5c1d25125d3 100644 --- a/src/passes/MemoryPacking.cpp +++ b/src/passes/MemoryPacking.cpp @@ -83,13 +83,13 @@ const size_t DATA_DROP_SIZE = 3; Expression* makeGtShiftedMemorySize(Builder& builder, Module& module, MemoryInit* curr) { - assert(!module.memories.empty()); + auto mem = module.getMemory(curr->memory); return builder.makeBinary( - module.memories[0]->is64() ? GtUInt64 : GtUInt32, + mem->is64() ? GtUInt64 : GtUInt32, curr->dest, - builder.makeBinary(module.memories[0]->is64() ? ShlInt64 : ShlInt32, + builder.makeBinary(mem->is64() ? ShlInt64 : ShlInt32, builder.makeMemorySize(), - builder.makeConstPtr(16))); + builder.makeConstPtr(16, mem->indexType))); } } // anonymous namespace diff --git a/src/passes/SafeHeap.cpp b/src/passes/SafeHeap.cpp index e30603b7d35..b2728cc7fc8 100644 --- a/src/passes/SafeHeap.cpp +++ b/src/passes/SafeHeap.cpp @@ -82,9 +82,10 @@ struct AccessInstrumenter : public WalkerPass> { return; } Builder builder(*getModule()); + auto mem = getModule()->getMemory(curr->memory); replaceCurrent( builder.makeCall(getLoadName(curr), - {curr->ptr, builder.makeConstPtr(curr->offset.addr)}, + {curr->ptr, builder.makeConstPtr(curr->offset.addr, mem->indexType)}, curr->type)); } @@ -94,9 +95,10 @@ struct AccessInstrumenter : public WalkerPass> { return; } Builder builder(*getModule()); + auto mem = getModule()->getMemory(curr->memory); replaceCurrent(builder.makeCall( getStoreName(curr), - {curr->ptr, builder.makeConstPtr(curr->offset.addr), curr->value}, + {curr->ptr, builder.makeConstPtr(curr->offset.addr, mem->indexType), curr->value}, Type::none)); } }; @@ -274,19 +276,20 @@ struct SafeHeap : public Pass { return; } // pointer, offset - auto indexType = module->memories[0]->indexType; + auto mem = module->getMemory(style.memory); + auto indexType = mem->indexType; auto funcSig = Signature({indexType, indexType}, style.type); auto func = Builder::makeFunction(name, funcSig, {indexType}); Builder builder(*module); auto* block = builder.makeBlock(); block->list.push_back(builder.makeLocalSet( 2, - builder.makeBinary(module->memories[0]->is64() ? AddInt64 : AddInt32, + builder.makeBinary(mem->is64() ? AddInt64 : AddInt32, builder.makeLocalGet(0, indexType), builder.makeLocalGet(1, indexType)))); // check for reading past valid memory: if pointer + offset + bytes block->list.push_back( - makeBoundsCheck(style.type, builder, 2, style.bytes, module)); + makeBoundsCheck(style.type, builder, 2, style.bytes, module, mem->indexType, mem->is64(), mem->name)); // check proper alignment if (style.align > 1) { block->list.push_back(makeAlignCheck(style.align, builder, 2, module)); @@ -313,7 +316,9 @@ struct SafeHeap : public Pass { if (module->getFunctionOrNull(name)) { return; } - auto indexType = module->memories[0]->indexType; + auto mem = module->getMemory(style.memory); + auto indexType = mem->indexType; + bool is64 = mem->is64(); // pointer, offset, value auto funcSig = Signature({indexType, indexType, style.valueType}, Type::none); @@ -322,12 +327,12 @@ struct SafeHeap : public Pass { auto* block = builder.makeBlock(); block->list.push_back(builder.makeLocalSet( 3, - builder.makeBinary(module->memories[0]->is64() ? AddInt64 : AddInt32, + builder.makeBinary(is64 ? AddInt64 : AddInt32, builder.makeLocalGet(0, indexType), builder.makeLocalGet(1, indexType)))); // check for reading past valid memory: if pointer + offset + bytes block->list.push_back( - makeBoundsCheck(style.valueType, builder, 3, style.bytes, module)); + makeBoundsCheck(style.valueType, builder, 3, style.bytes, module, indexType, is64, mem->name)); // check proper alignment if (style.align > 1) { block->list.push_back(makeAlignCheck(style.align, builder, 3, module)); @@ -357,16 +362,15 @@ struct SafeHeap : public Pass { } Expression* makeBoundsCheck( - Type type, Builder& builder, Index local, Index bytes, Module* module) { - auto indexType = module->memories[0]->indexType; - auto upperOp = module->memories[0]->is64() + Type type, Builder& builder, Index local, Index bytes, Module* module, Type indexType, bool is64, Name memory) { + auto upperOp = is64 ? options.lowMemoryUnused ? LtUInt64 : EqInt64 : options.lowMemoryUnused ? LtUInt32 : EqInt32; auto upperBound = options.lowMemoryUnused ? PassOptions::LowMemoryBound : 0; Expression* brkLocation; if (sbrk.is()) { brkLocation = - builder.makeCall(sbrk, {builder.makeConstPtr(0)}, indexType); + builder.makeCall(sbrk, {builder.makeConstPtr(0, indexType)}, indexType); } else { Expression* sbrkPtr; if (dynamicTopPtr.is()) { @@ -374,22 +378,22 @@ struct SafeHeap : public Pass { } else { sbrkPtr = builder.makeCall(getSbrkPtr, {}, indexType); } - auto size = module->memories[0]->is64() ? 8 : 4; - brkLocation = builder.makeLoad(size, false, 0, size, sbrkPtr, indexType); + auto size = is64 ? 8 : 4; + brkLocation = builder.makeLoad(size, false, 0, size, sbrkPtr, indexType, memory); } - auto gtuOp = module->memories[0]->is64() ? GtUInt64 : GtUInt32; - auto addOp = module->memories[0]->is64() ? AddInt64 : AddInt32; + auto gtuOp = is64 ? GtUInt64 : GtUInt32; + auto addOp = is64 ? AddInt64 : AddInt32; return builder.makeIf( builder.makeBinary( OrInt32, builder.makeBinary(upperOp, builder.makeLocalGet(local, indexType), - builder.makeConstPtr(upperBound)), + builder.makeConstPtr(upperBound, indexType)), builder.makeBinary( gtuOp, builder.makeBinary(addOp, builder.makeLocalGet(local, indexType), - builder.makeConstPtr(bytes)), + builder.makeConstPtr(bytes, indexType)), brkLocation)), builder.makeCall(segfault, {}, Type::none)); } diff --git a/src/passes/StackCheck.cpp b/src/passes/StackCheck.cpp index 4b1054597cb..e272ece6e89 100644 --- a/src/passes/StackCheck.cpp +++ b/src/passes/StackCheck.cpp @@ -145,16 +145,17 @@ struct StackCheck : public Pass { Builder builder(*module); + // TODO (nashley): Remove the hardcoded Type::i32 below // Add the globals. auto stackBase = module->addGlobal(builder.makeGlobal(stackBaseName, stackPointer->type, - builder.makeConstPtr(0), + builder.makeConstPtr(0, Type::i32), Builder::Mutable)); auto stackLimit = module->addGlobal(builder.makeGlobal(stackLimitName, stackPointer->type, - builder.makeConstPtr(0), + builder.makeConstPtr(0, Type::i32), Builder::Mutable)); // Instrument all the code. diff --git a/src/shell-interface.h b/src/shell-interface.h index 204c0fbff57..5e3172dca6d 100644 --- a/src/shell-interface.h +++ b/src/shell-interface.h @@ -58,7 +58,6 @@ struct ShellExternalInterface : ModuleRunner::ExternalInterface { return 0 == (reinterpret_cast(address) & (sizeof(T) - 1)); } Memory(Memory&) = delete; - Memory& operator=(const Memory&) = delete; public: Memory() = default; @@ -92,14 +91,15 @@ struct ShellExternalInterface : ModuleRunner::ExternalInterface { return loaded; } } - } memory; + }; + std::unordered_map memories; std::unordered_map> tables; std::map> linkedInstances; ShellExternalInterface( std::map> linkedInstances_ = {}) - : memory() { + { linkedInstances.swap(linkedInstances_); } virtual ~ShellExternalInterface() = default; @@ -114,9 +114,12 @@ struct ShellExternalInterface : ModuleRunner::ExternalInterface { } void init(Module& wasm, ModuleRunner& instance) override { - if (!wasm.memories.empty() && !wasm.memories[0]->imported()) { - memory.resize(wasm.memories[0]->initial * wasm::Memory::kPageSize); - } + ModuleUtils::iterDefinedMemories( + wasm, [&](wasm::Memory* memory) { + auto shellMemory = Memory(); + shellMemory.resize(memory->initial * wasm::Memory::kPageSize); + memories[memory->name] = shellMemory; + }); ModuleUtils::iterDefinedTables( wasm, [&](Table* table) { tables[table->name].resize(table->initial); }); } @@ -195,31 +198,117 @@ struct ShellExternalInterface : ModuleRunner::ExternalInterface { } } - int8_t load8s(Address addr) override { return memory.get(addr); } - uint8_t load8u(Address addr) override { return memory.get(addr); } - int16_t load16s(Address addr) override { return memory.get(addr); } - uint16_t load16u(Address addr) override { return memory.get(addr); } - int32_t load32s(Address addr) override { return memory.get(addr); } - uint32_t load32u(Address addr) override { return memory.get(addr); } - int64_t load64s(Address addr) override { return memory.get(addr); } - uint64_t load64u(Address addr) override { return memory.get(addr); } - std::array load128(Address addr) override { + int8_t load8s(Address addr, Name memoryName) override { + auto it = memories.find(memoryName); + if (it == memories.end()) { + trap("load8s on non-existing memory"); + } + auto& memory = it->second; + return memory.get(addr); + } + uint8_t load8u(Address addr, Name memoryName) override { + auto it = memories.find(memoryName); + if (it == memories.end()) { + trap("load8u on non-existing memory"); + } + auto& memory = it->second; + return memory.get(addr); + } + int16_t load16s(Address addr, Name memoryName) override { + auto it = memories.find(memoryName); + if (it == memories.end()) { + trap("load16s on non-existing memory"); + } + auto& memory = it->second; + return memory.get(addr); + } + uint16_t load16u(Address addr, Name memoryName) override { + auto it = memories.find(memoryName); + if (it == memories.end()) { + trap("load16u on non-existing memory"); + } + auto& memory = it->second; + return memory.get(addr); + } + int32_t load32s(Address addr, Name memoryName) override { + auto it = memories.find(memoryName); + if (it == memories.end()) { + trap("load32s on non-existing memory"); + } + auto& memory = it->second; + return memory.get(addr); + } + uint32_t load32u(Address addr, Name memoryName) override { + auto it = memories.find(memoryName); + if (it == memories.end()) { + trap("load32u on non-existing memory"); + } + auto& memory = it->second; + return memory.get(addr); + } + int64_t load64s(Address addr, Name memoryName) override { + auto it = memories.find(memoryName); + if (it == memories.end()) { + trap("load64s on non-existing memory"); + } + auto& memory = it->second; + return memory.get(addr); + } + uint64_t load64u(Address addr, Name memoryName) override { + auto it = memories.find(memoryName); + if (it == memories.end()) { + trap("load64u on non-existing memory"); + } + auto& memory = it->second; + return memory.get(addr); + } + std::array load128(Address addr, Name memoryName) override { + auto it = memories.find(memoryName); + if (it == memories.end()) { + trap("load128 on non-existing memory"); + } + auto& memory = it->second; return memory.get>(addr); } - void store8(Address addr, int8_t value) override { + void store8(Address addr, int8_t value, Name memoryName) override { + auto it = memories.find(memoryName); + if (it == memories.end()) { + trap("store8 on non-existing memory"); + } + auto& memory = it->second; memory.set(addr, value); } - void store16(Address addr, int16_t value) override { + void store16(Address addr, int16_t value, Name memoryName) override { + auto it = memories.find(memoryName); + if (it == memories.end()) { + trap("store16 on non-existing memory"); + } + auto& memory = it->second; memory.set(addr, value); } - void store32(Address addr, int32_t value) override { + void store32(Address addr, int32_t value, Name memoryName) override { + auto it = memories.find(memoryName); + if (it == memories.end()) { + trap("store32 on non-existing memory"); + } + auto& memory = it->second; memory.set(addr, value); } - void store64(Address addr, int64_t value) override { + void store64(Address addr, int64_t value, Name memoryName) override { + auto it = memories.find(memoryName); + if (it == memories.end()) { + trap("store64 on non-existing memory"); + } + auto& memory = it->second; memory.set(addr, value); } - void store128(Address addr, const std::array& value) override { + void store128(Address addr, const std::array& value, Name memoryName) override { + auto it = memories.find(memoryName); + if (it == memories.end()) { + trap("store128 on non-existing memory"); + } + auto& memory = it->second; memory.set>(addr, value); } @@ -250,12 +339,17 @@ struct ShellExternalInterface : ModuleRunner::ExternalInterface { return table[index]; } - bool growMemory(Address /*oldSize*/, Address newSize) override { + bool growMemory(Name memoryName, Address /*oldSize*/, Address newSize) override { // Apply a reasonable limit on memory size, 1GB, to avoid DOS on the // interpreter. if (newSize > 1024 * 1024 * 1024) { return false; } + auto it = memories.find(memoryName); + if (it == memories.end()) { + trap("store128 on non-existing memory"); + } + auto& memory = it->second; memory.resize(newSize); return true; } diff --git a/src/tools/wasm-ctor-eval.cpp b/src/tools/wasm-ctor-eval.cpp index 00bd5d6411c..f2d48d8bfe6 100644 --- a/src/tools/wasm-ctor-eval.cpp +++ b/src/tools/wasm-ctor-eval.cpp @@ -333,29 +333,29 @@ struct CtorEvalExternalInterface : EvallingModuleRunner::ExternalInterface { // called during initialization void tableStore(Name tableName, Index index, const Literal& value) override {} - int8_t load8s(Address addr) override { return doLoad(addr); } - uint8_t load8u(Address addr) override { return doLoad(addr); } - int16_t load16s(Address addr) override { return doLoad(addr); } - uint16_t load16u(Address addr) override { return doLoad(addr); } - int32_t load32s(Address addr) override { return doLoad(addr); } - uint32_t load32u(Address addr) override { return doLoad(addr); } - int64_t load64s(Address addr) override { return doLoad(addr); } - uint64_t load64u(Address addr) override { return doLoad(addr); } - - void store8(Address addr, int8_t value) override { + int8_t load8s(Address addr, Name memoryName = Name::fromInt(0)) override { return doLoad(addr); } + uint8_t load8u(Address addr, Name memoryName = Name::fromInt(0)) override { return doLoad(addr); } + int16_t load16s(Address addr, Name memoryName = Name::fromInt(0)) override { return doLoad(addr); } + uint16_t load16u(Address addr, Name memoryName = Name::fromInt(0)) override { return doLoad(addr); } + int32_t load32s(Address addr, Name memoryName = Name::fromInt(0)) override { return doLoad(addr); } + uint32_t load32u(Address addr, Name memoryName = Name::fromInt(0)) override { return doLoad(addr); } + int64_t load64s(Address addr, Name memoryName = Name::fromInt(0)) override { return doLoad(addr); } + uint64_t load64u(Address addr, Name memoryName = Name::fromInt(0)) override { return doLoad(addr); } + + void store8(Address addr, int8_t value, Name memoryName = Name::fromInt(0)) override { doStore(addr, value); } - void store16(Address addr, int16_t value) override { + void store16(Address addr, int16_t value, Name memoryName = Name::fromInt(0)) override { doStore(addr, value); } - void store32(Address addr, int32_t value) override { + void store32(Address addr, int32_t value, Name memoryName = Name::fromInt(0)) override { doStore(addr, value); } - void store64(Address addr, int64_t value) override { + void store64(Address addr, int64_t value, Name memoryName = Name::fromInt(0)) override { doStore(addr, value); } - bool growMemory(Address /*oldSize*/, Address /*newSize*/) override { + bool growMemory(Name memoryName, Address /*oldSize*/, Address /*newSize*/) override { throw FailToEvalException("grow memory"); } @@ -382,7 +382,7 @@ struct CtorEvalExternalInterface : EvallingModuleRunner::ExternalInterface { private: // TODO: handle unaligned too, see shell-interface - + // TODO (nashley): Change the below fns to use a specific memory template T* getMemory(Address address) { // resize the memory buffer as needed. auto max = address + sizeof(T); diff --git a/src/tools/wasm-split/instrumenter.cpp b/src/tools/wasm-split/instrumenter.cpp index 293364d64e5..e97d5da1cd6 100644 --- a/src/tools/wasm-split/instrumenter.cpp +++ b/src/tools/wasm-split/instrumenter.cpp @@ -112,9 +112,12 @@ void Instrumenter::instrumentFuncs() { func->body = builder.makeSequence( builder.makeAtomicStore(1, funcIdx, - builder.makeConstPtr(0), + // TODO (nashley): Fix hardcoded type below + builder.makeConstPtr(0, Type::i32), builder.makeConst(uint32_t(1)), - Type::i32), + Type::i32, + // TODO (nashley): Fix hardcoded name below + Name::fromInt(0)), func->body, func->body->type); ++funcIdx; @@ -170,7 +173,8 @@ void Instrumenter::addProfileExport() { // Write the hash followed by all the time stamps Expression* writeData = - builder.makeStore(8, 0, 1, getAddr(), hashConst(), Type::i64); + // TODO (nashley): Fix hardcoded name below + builder.makeStore(8, 0, 1, getAddr(), hashConst(), Type::i64, Name::fromInt(0)); uint32_t offset = 8; switch (options.storageKind) { @@ -183,7 +187,9 @@ void Instrumenter::addProfileExport() { 1, getAddr(), builder.makeGlobalGet(global, Type::i32), - Type::i32)); + Type::i32, + // TODO (nashley): Fix hardcoded name + Name::fromInt(0))); offset += 4; } break; @@ -232,8 +238,11 @@ void Instrumenter::addProfileExport() { getAddr(), builder.makeBinary( MulInt32, getFuncIdx(), builder.makeConst(uint32_t(4)))), - builder.makeAtomicLoad(1, 0, getFuncIdx(), Type::i32), - Type::i32), + // TODO (nashley): Fix hardcoded name + builder.makeAtomicLoad(1, 0, getFuncIdx(), Type::i32, Name::fromInt(0)), + Type::i32, + // TODO (nashley): Fix hardcoded name + Name::fromInt(0)), builder.makeLocalSet( funcIdxVar, builder.makeBinary( diff --git a/src/wasm-binary.h b/src/wasm-binary.h index 8434ff672cd..54d0e095efa 100644 --- a/src/wasm-binary.h +++ b/src/wasm-binary.h @@ -1659,7 +1659,7 @@ class WasmBinaryBuilder { BreakTarget getBreakTarget(int32_t offset); Name getExceptionTargetName(int32_t offset); - void readMemoryAccess(Address& alignment, Address& offset); + Index readMemoryAccess(Address& alignment, Address& offset); void visitIf(If* curr); void visitLoop(Loop* curr); diff --git a/src/wasm-builder.h b/src/wasm-builder.h index 23fa67efe05..229c5f55c1d 100644 --- a/src/wasm-builder.h +++ b/src/wasm-builder.h @@ -362,7 +362,8 @@ class Builder { uint32_t offset, unsigned align, Expression* ptr, - Type type) { + Type type, + Name memory = Name::fromInt(0)) { auto* ret = wasm.allocator.alloc(); ret->isAtomic = false; ret->bytes = bytes; @@ -371,11 +372,12 @@ class Builder { ret->align = align; ret->ptr = ptr; ret->type = type; + ret->memory = memory; return ret; } Load* - makeAtomicLoad(unsigned bytes, uint32_t offset, Expression* ptr, Type type) { - Load* load = makeLoad(bytes, false, offset, bytes, ptr, type); + makeAtomicLoad(unsigned bytes, uint32_t offset, Expression* ptr, Type type, Name memory) { + Load* load = makeLoad(bytes, false, offset, bytes, ptr, type, memory); load->isAtomic = true; return load; } @@ -383,7 +385,8 @@ class Builder { Expression* expected, Expression* timeout, Type expectedType, - Address offset) { + Address offset, + Name memory = Name::fromInt(0)) { auto* wait = wasm.allocator.alloc(); wait->offset = offset; wait->ptr = ptr; @@ -391,15 +394,17 @@ class Builder { wait->timeout = timeout; wait->expectedType = expectedType; wait->finalize(); + wait->memory = memory; return wait; } AtomicNotify* - makeAtomicNotify(Expression* ptr, Expression* notifyCount, Address offset) { + makeAtomicNotify(Expression* ptr, Expression* notifyCount, Address offset, Name memory = Name::fromInt(0)) { auto* notify = wasm.allocator.alloc(); notify->offset = offset; notify->ptr = ptr; notify->notifyCount = notifyCount; notify->finalize(); + notify->memory = memory; return notify; } AtomicFence* makeAtomicFence() { return wasm.allocator.alloc(); } @@ -408,7 +413,8 @@ class Builder { unsigned align, Expression* ptr, Expression* value, - Type type) { + Type type, + Name memory = Name::fromInt(0)) { auto* ret = wasm.allocator.alloc(); ret->isAtomic = false; ret->bytes = bytes; @@ -417,6 +423,7 @@ class Builder { ret->ptr = ptr; ret->value = value; ret->valueType = type; + ret->memory = memory; ret->finalize(); assert(ret->value->type.isConcrete() ? ret->value->type == type : true); return ret; @@ -425,8 +432,9 @@ class Builder { uint32_t offset, Expression* ptr, Expression* value, - Type type) { - Store* store = makeStore(bytes, offset, bytes, ptr, value, type); + Type type, + Name memory = Name::fromInt(0)) { + Store* store = makeStore(bytes, offset, bytes, ptr, value, type, memory); store->isAtomic = true; return store; } @@ -435,7 +443,8 @@ class Builder { uint32_t offset, Expression* ptr, Expression* value, - Type type) { + Type type, + Name memory = Name::fromInt(0)) { auto* ret = wasm.allocator.alloc(); ret->op = op; ret->bytes = bytes; @@ -444,6 +453,7 @@ class Builder { ret->value = value; ret->type = type; ret->finalize(); + ret->memory = memory; return ret; } AtomicCmpxchg* makeAtomicCmpxchg(unsigned bytes, @@ -451,7 +461,8 @@ class Builder { Expression* ptr, Expression* expected, Expression* replacement, - Type type) { + Type type, + Name memory = Name::fromInt(0)) { auto* ret = wasm.allocator.alloc(); ret->bytes = bytes; ret->offset = offset; @@ -460,6 +471,7 @@ class Builder { ret->replacement = replacement; ret->type = type; ret->finalize(); + ret->memory = memory; return ret; } SIMDExtract* @@ -528,7 +540,8 @@ class Builder { Address align, uint8_t index, Expression* ptr, - Expression* vec) { + Expression* vec, + Name memory = Name::fromInt(0)) { auto* ret = wasm.allocator.alloc(); ret->op = op; ret->offset = offset; @@ -537,17 +550,20 @@ class Builder { ret->ptr = ptr; ret->vec = vec; ret->finalize(); + ret->memory = memory; return ret; } MemoryInit* makeMemoryInit(uint32_t segment, Expression* dest, Expression* offset, - Expression* size) { + Expression* size, + Name memory = Name::fromInt(0)) { auto* ret = wasm.allocator.alloc(); ret->segment = segment; ret->dest = dest; ret->offset = offset; ret->size = size; + ret->memory = memory; ret->finalize(); return ret; } @@ -558,20 +574,22 @@ class Builder { return ret; } MemoryCopy* - makeMemoryCopy(Expression* dest, Expression* source, Expression* size) { + makeMemoryCopy(Expression* dest, Expression* source, Expression* size, Name memory = Name::fromInt(0)) { auto* ret = wasm.allocator.alloc(); ret->dest = dest; ret->source = source; ret->size = size; + ret->memory = memory; ret->finalize(); return ret; } MemoryFill* - makeMemoryFill(Expression* dest, Expression* value, Expression* size) { + makeMemoryFill(Expression* dest, Expression* value, Expression* size, Name memory = Name::fromInt(0)) { auto* ret = wasm.allocator.alloc(); ret->dest = dest; ret->value = value; ret->size = size; + ret->memory = memory; ret->finalize(); return ret; } @@ -590,8 +608,8 @@ class Builder { ret->finalize(); return ret; } - Const* makeConstPtr(uint64_t val) { - return makeConst(Literal::makeFromInt64(val, wasm.memories[0]->indexType)); + Const* makeConstPtr(uint64_t val, Type indexType) { + return makeConst(Literal::makeFromInt64(val, indexType)); } Binary* makeBinary(BinaryOp op, Expression* left, Expression* right) { auto* ret = wasm.allocator.alloc(); @@ -626,20 +644,24 @@ class Builder { ret->value = value; return ret; } - MemorySize* makeMemorySize() { + MemorySize* makeMemorySize(Name memory = Name::fromInt(0)) { auto* ret = wasm.allocator.alloc(); - if (wasm.memories[0]->is64()) { + auto mem = wasm.getMemory(memory); + if (mem->is64()) { ret->make64(); } + ret->memory = memory; ret->finalize(); return ret; } - MemoryGrow* makeMemoryGrow(Expression* delta) { + MemoryGrow* makeMemoryGrow(Expression* delta, Name memory = Name::fromInt(0)) { auto* ret = wasm.allocator.alloc(); - if (wasm.memories[0]->is64()) { + auto mem = wasm.getMemory(memory); + if (mem->is64()) { ret->make64(); } ret->delta = delta; + ret->memory = memory; ret->finalize(); return ret; } diff --git a/src/wasm-interpreter.h b/src/wasm-interpreter.h index 60bd44b7b34..f8b5a1c4443 100644 --- a/src/wasm-interpreter.h +++ b/src/wasm-interpreter.h @@ -2273,7 +2273,7 @@ class ModuleRunnerBase : public ExpressionRunner { Literals& arguments, Type result, SubType& instance) = 0; - virtual bool growMemory(Address oldSize, Address newSize) = 0; + virtual bool growMemory(Name name, Address oldSize, Address newSize) = 0; virtual bool growTable(Name name, const Literal& value, Index oldSize, @@ -2289,13 +2289,13 @@ class ModuleRunnerBase : public ExpressionRunner { case Type::i32: { switch (load->bytes) { case 1: - return load->signed_ ? Literal((int32_t)load8s(addr)) - : Literal((int32_t)load8u(addr)); + return load->signed_ ? Literal((int32_t)load8s(addr, load->memory)) + : Literal((int32_t)load8u(addr, load->memory)); case 2: - return load->signed_ ? Literal((int32_t)load16s(addr)) - : Literal((int32_t)load16u(addr)); + return load->signed_ ? Literal((int32_t)load16s(addr, load->memory)) + : Literal((int32_t)load16u(addr, load->memory)); case 4: - return Literal((int32_t)load32s(addr)); + return Literal((int32_t)load32s(addr, load->memory)); default: WASM_UNREACHABLE("invalid size"); } @@ -2304,45 +2304,45 @@ class ModuleRunnerBase : public ExpressionRunner { case Type::i64: { switch (load->bytes) { case 1: - return load->signed_ ? Literal((int64_t)load8s(addr)) - : Literal((int64_t)load8u(addr)); + return load->signed_ ? Literal((int64_t)load8s(addr, load->memory)) + : Literal((int64_t)load8u(addr, load->memory)); case 2: - return load->signed_ ? Literal((int64_t)load16s(addr)) - : Literal((int64_t)load16u(addr)); + return load->signed_ ? Literal((int64_t)load16s(addr, load->memory)) + : Literal((int64_t)load16u(addr, load->memory)); case 4: - return load->signed_ ? Literal((int64_t)load32s(addr)) - : Literal((int64_t)load32u(addr)); + return load->signed_ ? Literal((int64_t)load32s(addr, load->memory)) + : Literal((int64_t)load32u(addr, load->memory)); case 8: - return Literal((int64_t)load64s(addr)); + return Literal((int64_t)load64s(addr, load->memory)); default: WASM_UNREACHABLE("invalid size"); } break; } case Type::f32: - return Literal(load32u(addr)).castToF32(); + return Literal(load32u(addr, load->memory)).castToF32(); case Type::f64: - return Literal(load64u(addr)).castToF64(); + return Literal(load64u(addr, load->memory)).castToF64(); case Type::v128: - return Literal(load128(addr).data()); + return Literal(load128(addr, load->memory).data()); case Type::none: case Type::unreachable: WASM_UNREACHABLE("unexpected type"); } WASM_UNREACHABLE("invalid type"); } - virtual void store(Store* store, Address addr, Literal value) { + virtual void store(Store* store, Address addr, Literal value, Name memoryName) { switch (store->valueType.getBasic()) { case Type::i32: { switch (store->bytes) { case 1: - store8(addr, value.geti32()); + store8(addr, value.geti32(), memoryName); break; case 2: - store16(addr, value.geti32()); + store16(addr, value.geti32(), memoryName); break; case 4: - store32(addr, value.geti32()); + store32(addr, value.geti32(), memoryName); break; default: WASM_UNREACHABLE("invalid store size"); @@ -2352,16 +2352,16 @@ class ModuleRunnerBase : public ExpressionRunner { case Type::i64: { switch (store->bytes) { case 1: - store8(addr, value.geti64()); + store8(addr, value.geti64(), memoryName); break; case 2: - store16(addr, value.geti64()); + store16(addr, value.geti64(), memoryName); break; case 4: - store32(addr, value.geti64()); + store32(addr, value.geti64(), memoryName); break; case 8: - store64(addr, value.geti64()); + store64(addr, value.geti64(), memoryName); break; default: WASM_UNREACHABLE("invalid store size"); @@ -2370,13 +2370,13 @@ class ModuleRunnerBase : public ExpressionRunner { } // write floats carefully, ensuring all bits reach memory case Type::f32: - store32(addr, value.reinterpreti32()); + store32(addr, value.reinterpreti32(), memoryName); break; case Type::f64: - store64(addr, value.reinterpreti64()); + store64(addr, value.reinterpreti64(), memoryName); break; case Type::v128: - store128(addr, value.getv128()); + store128(addr, value.getv128(), memoryName); break; case Type::none: case Type::unreachable: @@ -2384,31 +2384,31 @@ class ModuleRunnerBase : public ExpressionRunner { } } - virtual int8_t load8s(Address addr) { WASM_UNREACHABLE("unimp"); } - virtual uint8_t load8u(Address addr) { WASM_UNREACHABLE("unimp"); } - virtual int16_t load16s(Address addr) { WASM_UNREACHABLE("unimp"); } - virtual uint16_t load16u(Address addr) { WASM_UNREACHABLE("unimp"); } - virtual int32_t load32s(Address addr) { WASM_UNREACHABLE("unimp"); } - virtual uint32_t load32u(Address addr) { WASM_UNREACHABLE("unimp"); } - virtual int64_t load64s(Address addr) { WASM_UNREACHABLE("unimp"); } - virtual uint64_t load64u(Address addr) { WASM_UNREACHABLE("unimp"); } - virtual std::array load128(Address addr) { + virtual int8_t load8s(Address addr, Name memoryName = Name::fromInt(0)) { WASM_UNREACHABLE("unimp"); } + virtual uint8_t load8u(Address addr, Name memoryName = Name::fromInt(0)) { WASM_UNREACHABLE("unimp"); } + virtual int16_t load16s(Address addr, Name memoryName = Name::fromInt(0)) { WASM_UNREACHABLE("unimp"); } + virtual uint16_t load16u(Address addr, Name memoryName = Name::fromInt(0)) { WASM_UNREACHABLE("unimp"); } + virtual int32_t load32s(Address addr, Name memoryName = Name::fromInt(0)) { WASM_UNREACHABLE("unimp"); } + virtual uint32_t load32u(Address addr, Name memoryName = Name::fromInt(0)) { WASM_UNREACHABLE("unimp"); } + virtual int64_t load64s(Address addr, Name memoryName = Name::fromInt(0)) { WASM_UNREACHABLE("unimp"); } + virtual uint64_t load64u(Address addr, Name memoryName = Name::fromInt(0)) { WASM_UNREACHABLE("unimp"); } + virtual std::array load128(Address addr, Name memoryName = Name::fromInt(0)) { WASM_UNREACHABLE("unimp"); } - virtual void store8(Address addr, int8_t value) { + virtual void store8(Address addr, int8_t value, Name memoryName = Name::fromInt(0)) { WASM_UNREACHABLE("unimp"); } - virtual void store16(Address addr, int16_t value) { + virtual void store16(Address addr, int16_t value, Name memoryName = Name::fromInt(0)) { WASM_UNREACHABLE("unimp"); } - virtual void store32(Address addr, int32_t value) { + virtual void store32(Address addr, int32_t value, Name memoryName = Name::fromInt(0)) { WASM_UNREACHABLE("unimp"); } - virtual void store64(Address addr, int64_t value) { + virtual void store64(Address addr, int64_t value, Name memoryName = Name::fromInt(0)) { WASM_UNREACHABLE("unimp"); } - virtual void store128(Address addr, const std::array&) { + virtual void store128(Address addr, const std::array&, Name memoryName = Name::fromInt(0)) { WASM_UNREACHABLE("unimp"); } @@ -2441,8 +2441,6 @@ class ModuleRunnerBase : public ExpressionRunner { externalInterface(externalInterface), linkedInstances(linkedInstances_) { // import globals from the outside externalInterface->importGlobals(globals, wasm); - // prepare memory - memorySize = wasm.memories[0]->initial; // generate internal (non-imported) globals ModuleUtils::iterDefinedGlobals(wasm, [&](Global* global) { globals[global->name] = self()->visit(global->init).values; @@ -2556,6 +2554,39 @@ class ModuleRunnerBase : public ExpressionRunner { }); } + struct MemoryInterfaceInfo { + // The external interface in which the memory is defined. + ExternalInterface* interface; + // The name the memory has in that interface. + Name name; + // in pages, used to keep track of memorySize throughout the below memops + Address memorySize; + }; + + std::unordered_map memoryInterfaceInfos; + + MemoryInterfaceInfo getMemoryInterfaceInfo(Name name) { + auto iter = memoryInterfaceInfos.find(name); + if (iter != memoryInterfaceInfos.end()) { + return iter->second; + } + + auto* memory = wasm.getMemory(name); + MemoryInterfaceInfo newMemoryInterfaceInfo; + if (memory->imported()) { + auto& importedInstance = linkedInstances.at(memory->module); + auto* memoryExport = importedInstance->wasm.getExport(memory->base); + newMemoryInterfaceInfo = MemoryInterfaceInfo{importedInstance->externalInterface, + memoryExport->value, + memory->initial}; + } else { + newMemoryInterfaceInfo = MemoryInterfaceInfo{externalInterface, name, memory->initial}; + } + + memoryInterfaceInfos[name] = newMemoryInterfaceInfo; + return newMemoryInterfaceInfo; + } + void initializeMemoryContents() { Const offset; offset.value = Literal(uint32_t(0)); @@ -2645,15 +2676,6 @@ class ModuleRunnerBase : public ExpressionRunner { SmallVector, 4> exceptionStack; protected: - // Returns the instance that defines the memory used by this one. - SubType* getMemoryInstance() { - auto* inst = self(); - while (inst->wasm.memories[0]->imported()) { - inst = inst->linkedInstances.at(inst->wasm.memories[0]->module).get(); - } - return inst; - } - // Returns a reference to the current value of a potentially imported global Literals& getGlobal(Name name) { auto* inst = self(); @@ -2874,12 +2896,12 @@ class ModuleRunnerBase : public ExpressionRunner { return flow; } NOTE_EVAL1(flow); - auto* inst = getMemoryInstance(); - auto addr = inst->getFinalAddress(curr, flow.getSingleValue()); + auto info = getMemoryInterfaceInfo(curr->memory); + auto addr = self()->getFinalAddress(curr, flow.getSingleValue()); if (curr->isAtomic) { - inst->checkAtomicAddress(addr, curr->bytes); + self()->checkAtomicAddress(addr, curr->bytes, info.memorySize); } - auto ret = inst->externalInterface->load(curr, addr); + auto ret = info.interface->load(curr, addr); NOTE_EVAL1(addr); NOTE_EVAL1(ret); return ret; @@ -2894,14 +2916,14 @@ class ModuleRunnerBase : public ExpressionRunner { if (value.breaking()) { return value; } - auto* inst = getMemoryInstance(); - auto addr = inst->getFinalAddress(curr, ptr.getSingleValue()); + auto info = getMemoryInterfaceInfo(curr->memory); + auto addr = self()->getFinalAddress(curr, ptr.getSingleValue()); if (curr->isAtomic) { - inst->checkAtomicAddress(addr, curr->bytes); + self()->checkAtomicAddress(addr, curr->bytes, info.memorySize); } NOTE_EVAL1(addr); NOTE_EVAL1(value); - inst->externalInterface->store(curr, addr, value.getSingleValue()); + info.interface->store(curr, addr, value.getSingleValue(), info.name); return Flow(); } @@ -2916,11 +2938,11 @@ class ModuleRunnerBase : public ExpressionRunner { return value; } NOTE_EVAL1(ptr); - auto* inst = getMemoryInstance(); - auto addr = inst->getFinalAddress(curr, ptr.getSingleValue()); + auto addr = self()->getFinalAddress(curr, ptr.getSingleValue()); NOTE_EVAL1(addr); NOTE_EVAL1(value); - auto loaded = inst->doAtomicLoad(addr, curr->bytes, curr->type); + auto info = getMemoryInterfaceInfo(curr->memory); + auto loaded = self()->doAtomicLoad(addr, curr->bytes, curr->type, info.memorySize); NOTE_EVAL1(loaded); auto computed = value.getSingleValue(); switch (curr->op) { @@ -2942,7 +2964,7 @@ class ModuleRunnerBase : public ExpressionRunner { case RMWXchg: break; } - inst->doAtomicStore(addr, curr->bytes, computed); + self()->doAtomicStore(addr, curr->bytes, computed, curr->memory, info.memorySize); return loaded; } Flow visitAtomicCmpxchg(AtomicCmpxchg* curr) { @@ -2960,16 +2982,16 @@ class ModuleRunnerBase : public ExpressionRunner { if (replacement.breaking()) { return replacement; } - auto* inst = getMemoryInstance(); - auto addr = inst->getFinalAddress(curr, ptr.getSingleValue()); + auto addr = self()->getFinalAddress(curr, ptr.getSingleValue()); expected = Flow(wrapToSmallerSize(expected.getSingleValue(), curr->bytes)); NOTE_EVAL1(addr); NOTE_EVAL1(expected); NOTE_EVAL1(replacement); - auto loaded = inst->doAtomicLoad(addr, curr->bytes, curr->type); + auto info = getMemoryInterfaceInfo(curr->memory); + auto loaded = self()->doAtomicLoad(addr, curr->bytes, curr->type, info.memorySize); NOTE_EVAL1(loaded); if (loaded == expected.getSingleValue()) { - inst->doAtomicStore(addr, curr->bytes, replacement.getSingleValue()); + self()->doAtomicStore(addr, curr->bytes, replacement.getSingleValue(), curr->memory, info.memorySize); } return loaded; } @@ -2990,10 +3012,10 @@ class ModuleRunnerBase : public ExpressionRunner { if (timeout.breaking()) { return timeout; } - auto* inst = getMemoryInstance(); auto bytes = curr->expectedType.getByteSize(); - auto addr = inst->getFinalAddress(curr, ptr.getSingleValue(), bytes); - auto loaded = inst->doAtomicLoad(addr, bytes, curr->expectedType); + auto info = getMemoryInterfaceInfo(curr->memory); + auto addr = self()->getFinalAddress(curr, ptr.getSingleValue(), bytes); + auto loaded = self()->doAtomicLoad(addr, bytes, curr->expectedType, info.memorySize); NOTE_EVAL1(loaded); if (loaded != expected.getSingleValue()) { return Literal(int32_t(1)); // not equal @@ -3014,10 +3036,10 @@ class ModuleRunnerBase : public ExpressionRunner { if (count.breaking()) { return count; } - auto* inst = getMemoryInstance(); - auto addr = inst->getFinalAddress(curr, ptr.getSingleValue(), 4); + auto info = getMemoryInterfaceInfo(curr->memory); + auto addr = self()->getFinalAddress(curr, ptr.getSingleValue(), 4); // Just check TODO actual threads support - inst->checkAtomicAddress(addr, 4); + self()->checkAtomicAddress(addr, 4, info.memorySize); return Literal(int32_t(0)); // none woken up } Flow visitSIMDLoad(SIMDLoad* curr) { @@ -3082,21 +3104,21 @@ class ModuleRunnerBase : public ExpressionRunner { } NOTE_EVAL1(flow); Address src(uint32_t(flow.getSingleValue().geti32())); - auto* inst = getMemoryInstance(); + auto info = getMemoryInterfaceInfo(curr->memory); auto loadLane = [&](Address addr) { switch (curr->op) { case Load8x8SVec128: - return Literal(int32_t(inst->externalInterface->load8s(addr))); + return Literal(int32_t(info.interface->load8s(addr, curr->memory))); case Load8x8UVec128: - return Literal(int32_t(inst->externalInterface->load8u(addr))); + return Literal(int32_t(info.interface->load8u(addr, curr->memory))); case Load16x4SVec128: - return Literal(int32_t(inst->externalInterface->load16s(addr))); + return Literal(int32_t(info.interface->load16s(addr, curr->memory))); case Load16x4UVec128: - return Literal(int32_t(inst->externalInterface->load16u(addr))); + return Literal(int32_t(info.interface->load16u(addr, curr->memory))); case Load32x2SVec128: - return Literal(int64_t(inst->externalInterface->load32s(addr))); + return Literal(int64_t(info.interface->load32s(addr, curr->memory))); case Load32x2UVec128: - return Literal(int64_t(inst->externalInterface->load32u(addr))); + return Literal(int64_t(info.interface->load32u(addr, curr->memory))); default: WASM_UNREACHABLE("unexpected op"); } @@ -3105,7 +3127,7 @@ class ModuleRunnerBase : public ExpressionRunner { auto fillLanes = [&](auto lanes, size_t laneBytes) { for (auto& lane : lanes) { lane = loadLane( - inst->getFinalAddress(curr, Literal(uint32_t(src)), laneBytes)); + self()->getFinalAddress(curr, Literal(uint32_t(src)), laneBytes)); src = Address(uint32_t(src) + laneBytes); } return Literal(lanes); @@ -3137,16 +3159,16 @@ class ModuleRunnerBase : public ExpressionRunner { return flow; } NOTE_EVAL1(flow); - auto* inst = getMemoryInstance(); + auto info = getMemoryInterfaceInfo(curr->memory); Address src = - inst->getFinalAddress(curr, flow.getSingleValue(), curr->getMemBytes()); + self()->getFinalAddress(curr, flow.getSingleValue(), curr->getMemBytes()); auto zero = Literal::makeZero(curr->op == Load32ZeroVec128 ? Type::i32 : Type::i64); if (curr->op == Load32ZeroVec128) { - auto val = Literal(inst->externalInterface->load32u(src)); + auto val = Literal(info.interface->load32u(src, curr->memory)); return Literal(std::array{{val, zero, zero, zero}}); } else { - auto val = Literal(inst->externalInterface->load64u(src)); + auto val = Literal(info.interface->load64u(src, curr->memory)); return Literal(std::array{{val, zero}}); } } @@ -3157,9 +3179,9 @@ class ModuleRunnerBase : public ExpressionRunner { return flow; } NOTE_EVAL1(flow); - auto* inst = getMemoryInstance(); + auto info = getMemoryInterfaceInfo(curr->memory); Address addr = - inst->getFinalAddress(curr, flow.getSingleValue(), curr->getMemBytes()); + self()->getFinalAddress(curr, flow.getSingleValue(), curr->getMemBytes()); flow = self()->visit(curr->vec); if (flow.breaking()) { return flow; @@ -3170,10 +3192,10 @@ class ModuleRunnerBase : public ExpressionRunner { case Store8LaneVec128: { std::array lanes = vec.getLanesUI8x16(); if (curr->isLoad()) { - lanes[curr->index] = Literal(inst->externalInterface->load8u(addr)); + lanes[curr->index] = Literal(info.interface->load8u(addr, curr->memory)); return Literal(lanes); } else { - inst->externalInterface->store8(addr, lanes[curr->index].geti32()); + info.interface->store8(addr, lanes[curr->index].geti32(), curr->memory); return {}; } } @@ -3181,10 +3203,10 @@ class ModuleRunnerBase : public ExpressionRunner { case Store16LaneVec128: { std::array lanes = vec.getLanesUI16x8(); if (curr->isLoad()) { - lanes[curr->index] = Literal(inst->externalInterface->load16u(addr)); + lanes[curr->index] = Literal(info.interface->load16u(addr, curr->memory)); return Literal(lanes); } else { - inst->externalInterface->store16(addr, lanes[curr->index].geti32()); + info.interface->store16(addr, lanes[curr->index].geti32(), curr->memory); return {}; } } @@ -3192,10 +3214,10 @@ class ModuleRunnerBase : public ExpressionRunner { case Store32LaneVec128: { std::array lanes = vec.getLanesI32x4(); if (curr->isLoad()) { - lanes[curr->index] = Literal(inst->externalInterface->load32u(addr)); + lanes[curr->index] = Literal(info.interface->load32u(addr, curr->memory)); return Literal(lanes); } else { - inst->externalInterface->store32(addr, lanes[curr->index].geti32()); + info.interface->store32(addr, lanes[curr->index].geti32(), curr->memory); return {}; } } @@ -3203,10 +3225,10 @@ class ModuleRunnerBase : public ExpressionRunner { case Load64LaneVec128: { std::array lanes = vec.getLanesI64x2(); if (curr->isLoad()) { - lanes[curr->index] = Literal(inst->externalInterface->load64u(addr)); + lanes[curr->index] = Literal(info.interface->load64u(addr, curr->memory)); return Literal(lanes); } else { - inst->externalInterface->store64(addr, lanes[curr->index].geti64()); + info.interface->store64(addr, lanes[curr->index].geti64(), curr->memory); return {}; } } @@ -3215,38 +3237,40 @@ class ModuleRunnerBase : public ExpressionRunner { } Flow visitMemorySize(MemorySize* curr) { NOTE_ENTER("MemorySize"); - auto* inst = getMemoryInstance(); - return Literal::makeFromInt64(inst->memorySize, - inst->wasm.memories[0]->indexType); + auto info = getMemoryInterfaceInfo(curr->memory); + auto* mem = wasm.getMemory(curr->memory); + return Literal::makeFromInt64(info.memorySize, + mem->indexType); } Flow visitMemoryGrow(MemoryGrow* curr) { NOTE_ENTER("MemoryGrow"); - auto* inst = getMemoryInstance(); - auto indexType = inst->wasm.memories[0]->indexType; + auto info = getMemoryInterfaceInfo(curr->memory); + auto* mem = wasm.getMemory(curr->memory); + auto indexType = mem->indexType; auto fail = Literal::makeFromInt64(-1, indexType); Flow flow = self()->visit(curr->delta); if (flow.breaking()) { return flow; } - Flow ret = Literal::makeFromInt64(inst->memorySize, indexType); + Flow ret = Literal::makeFromInt64(info.memorySize, indexType); uint64_t delta = flow.getSingleValue().getUnsigned(); if (delta > uint32_t(-1) / Memory::kPageSize && indexType == Type::i32) { return fail; } - if (inst->memorySize >= uint32_t(-1) - delta && indexType == Type::i32) { + if (info.memorySize >= uint32_t(-1) - delta && indexType == Type::i32) { return fail; } - auto newSize = inst->memorySize + delta; - if (newSize > inst->wasm.memories[0]->max) { + auto newSize = info.memorySize + delta; + if (newSize > mem->max) { return fail; } - if (!inst->externalInterface->growMemory( - inst->memorySize * Memory::kPageSize, newSize * Memory::kPageSize)) { + if (!info.interface->growMemory( + curr->memory, info.memorySize * Memory::kPageSize, newSize * Memory::kPageSize)) { // We failed to grow the memory in practice, even though it was valid // to try to do so. return fail; } - inst->memorySize = newSize; + info.memorySize = newSize; return ret; } Flow visitMemoryInit(MemoryInit* curr) { @@ -3280,15 +3304,15 @@ class ModuleRunnerBase : public ExpressionRunner { if ((uint64_t)offsetVal + sizeVal > segment->data.size()) { trap("out of bounds segment access in memory.init"); } - auto* inst = getMemoryInstance(); - if (destVal + sizeVal > inst->memorySize * Memory::kPageSize) { + auto info = getMemoryInterfaceInfo(curr->memory); + if (destVal + sizeVal > info.memorySize * Memory::kPageSize) { trap("out of bounds memory access in memory.init"); } for (size_t i = 0; i < sizeVal; ++i) { Literal addr(destVal + i); - inst->externalInterface->store8( - inst->getFinalAddressWithoutOffset(addr, 1), - segment->data[offsetVal + i]); + info.interface->store8( + self()->getFinalAddressWithoutOffset(addr, 1, info.memorySize), + segment->data[offsetVal + i], curr->memory); } return {}; } @@ -3318,9 +3342,9 @@ class ModuleRunnerBase : public ExpressionRunner { Address sourceVal(source.getSingleValue().getUnsigned()); Address sizeVal(size.getSingleValue().getUnsigned()); - auto* inst = getMemoryInstance(); - if (sourceVal + sizeVal > inst->memorySize * Memory::kPageSize || - destVal + sizeVal > inst->memorySize * Memory::kPageSize || + auto info = getMemoryInterfaceInfo(curr->memory); + if (sourceVal + sizeVal > info.memorySize * Memory::kPageSize || + destVal + sizeVal > info.memorySize * Memory::kPageSize || // FIXME: better/cheaper way to detect wrapping? sourceVal + sizeVal < sourceVal || sourceVal + sizeVal < sizeVal || destVal + sizeVal < destVal || destVal + sizeVal < sizeVal) { @@ -3337,10 +3361,10 @@ class ModuleRunnerBase : public ExpressionRunner { step = -1; } for (int64_t i = start; i != end; i += step) { - inst->externalInterface->store8( - inst->getFinalAddressWithoutOffset(Literal(destVal + i), 1), - inst->externalInterface->load8s( - inst->getFinalAddressWithoutOffset(Literal(sourceVal + i), 1))); + info.interface->store8( + self()->getFinalAddressWithoutOffset(Literal(destVal + i), 1, info.memorySize), + info.interface->load8s( + self()->getFinalAddressWithoutOffset(Literal(sourceVal + i), 1, info.memorySize)), curr->memory); } return {}; } @@ -3364,17 +3388,17 @@ class ModuleRunnerBase : public ExpressionRunner { Address destVal(dest.getSingleValue().getUnsigned()); Address sizeVal(size.getSingleValue().getUnsigned()); - auto* inst = getMemoryInstance(); + auto info = getMemoryInterfaceInfo(curr->memory); // FIXME: cheaper wrapping detection? - if (destVal > inst->memorySize * Memory::kPageSize || - sizeVal > inst->memorySize * Memory::kPageSize || - destVal + sizeVal > inst->memorySize * Memory::kPageSize) { + if (destVal > info.memorySize * Memory::kPageSize || + sizeVal > info.memorySize * Memory::kPageSize || + destVal + sizeVal > info.memorySize * Memory::kPageSize) { trap("out of bounds memory access in memory.fill"); } uint8_t val(value.getSingleValue().geti32()); for (size_t i = 0; i < sizeVal; ++i) { - inst->externalInterface->store8( - inst->getFinalAddressWithoutOffset(Literal(destVal + i), 1), val); + info.interface->store8( + self()->getFinalAddressWithoutOffset(Literal(destVal + i), 1, info.memorySize), val, curr->memory); } return {}; } @@ -3550,8 +3574,6 @@ class ModuleRunnerBase : public ExpressionRunner { static const Index maxDepth = 250; protected: - Address memorySize; // in pages - void trapIfGt(uint64_t lhs, uint64_t rhs, const char* msg) { if (lhs > rhs) { std::stringstream ss; @@ -3562,13 +3584,14 @@ class ModuleRunnerBase : public ExpressionRunner { template Address getFinalAddress(LS* curr, Literal ptr, Index bytes) { - Address memorySizeBytes = memorySize * Memory::kPageSize; + auto info = getMemoryInterfaceInfo(curr->memory); + Address memorySizeBytes = info.memorySize * Memory::kPageSize; uint64_t addr = ptr.type == Type::i32 ? ptr.geti32() : ptr.geti64(); trapIfGt(curr->offset, memorySizeBytes, "offset > memory"); trapIfGt(addr, memorySizeBytes - curr->offset, "final > memory"); addr += curr->offset; trapIfGt(bytes, memorySizeBytes, "bytes > memory"); - checkLoadAddress(addr, bytes); + checkLoadAddress(addr, bytes, info.memorySize); return addr; } @@ -3576,19 +3599,19 @@ class ModuleRunnerBase : public ExpressionRunner { return getFinalAddress(curr, ptr, curr->bytes); } - Address getFinalAddressWithoutOffset(Literal ptr, Index bytes) { + Address getFinalAddressWithoutOffset(Literal ptr, Index bytes, Address memorySize) { uint64_t addr = ptr.type == Type::i32 ? ptr.geti32() : ptr.geti64(); - checkLoadAddress(addr, bytes); + checkLoadAddress(addr, bytes, memorySize); return addr; } - void checkLoadAddress(Address addr, Index bytes) { + void checkLoadAddress(Address addr, Index bytes, Address memorySize) { Address memorySizeBytes = memorySize * Memory::kPageSize; trapIfGt(addr, memorySizeBytes - bytes, "highest > memory"); } - void checkAtomicAddress(Address addr, Index bytes) { - checkLoadAddress(addr, bytes); + void checkAtomicAddress(Address addr, Index bytes, Address memorySize) { + checkLoadAddress(addr, bytes, memorySize); // Unaligned atomics trap. if (bytes > 1) { if (addr & (bytes - 1)) { @@ -3597,8 +3620,8 @@ class ModuleRunnerBase : public ExpressionRunner { } } - Literal doAtomicLoad(Address addr, Index bytes, Type type) { - checkAtomicAddress(addr, bytes); + Literal doAtomicLoad(Address addr, Index bytes, Type type, Address memorySize) { + checkAtomicAddress(addr, bytes, memorySize); Const ptr; ptr.value = Literal(int32_t(addr)); ptr.type = Type::i32; @@ -3614,8 +3637,8 @@ class ModuleRunnerBase : public ExpressionRunner { return externalInterface->load(&load, addr); } - void doAtomicStore(Address addr, Index bytes, Literal toStore) { - checkAtomicAddress(addr, bytes); + void doAtomicStore(Address addr, Index bytes, Literal toStore, Name memoryName, Address memorySize) { + checkAtomicAddress(addr, bytes, memorySize); Const ptr; ptr.value = Literal(int32_t(addr)); ptr.type = Type::i32; @@ -3629,7 +3652,7 @@ class ModuleRunnerBase : public ExpressionRunner { store.ptr = &ptr; store.value = &value; store.valueType = value.type; - return externalInterface->store(&store, addr, toStore); + return externalInterface->store(&store, addr, toStore, memoryName); } ExternalInterface* externalInterface; diff --git a/src/wasm-traversal.h b/src/wasm-traversal.h index aea6ca86949..a77356a4ce2 100644 --- a/src/wasm-traversal.h +++ b/src/wasm-traversal.h @@ -258,7 +258,9 @@ struct Walker : public VisitorType { for (auto& curr : module->elementSegments) { self->walkElementSegment(curr.get()); } - self->walkMemory(module->memories[0].get()); + for (auto& curr : module->memories) { + self->walkMemory(curr.get()); + } for (auto& curr : module->dataSegments) { self->walkDataSegment(curr.get()); } diff --git a/src/wasm.h b/src/wasm.h index c77eeea23c5..e21c75d340e 100644 --- a/src/wasm.h +++ b/src/wasm.h @@ -969,6 +969,7 @@ class Load : public SpecificExpression { Address align; bool isAtomic; Expression* ptr; + Name memory; // type must be set during creation, cannot be inferred @@ -987,6 +988,7 @@ class Store : public SpecificExpression { Expression* ptr; Expression* value; Type valueType; + Name memory; void finalize(); }; @@ -1001,6 +1003,7 @@ class AtomicRMW : public SpecificExpression { Address offset; Expression* ptr; Expression* value; + Name memory; void finalize(); }; @@ -1015,6 +1018,7 @@ class AtomicCmpxchg : public SpecificExpression { Expression* ptr; Expression* expected; Expression* replacement; + Name memory; void finalize(); }; @@ -1029,6 +1033,7 @@ class AtomicWait : public SpecificExpression { Expression* expected; Expression* timeout; Type expectedType; + Name memory; void finalize(); }; @@ -1041,6 +1046,7 @@ class AtomicNotify : public SpecificExpression { Address offset; Expression* ptr; Expression* notifyCount; + Name memory; void finalize(); }; @@ -1129,6 +1135,7 @@ class SIMDLoad : public SpecificExpression { Address offset; Address align; Expression* ptr; + Name memory; Index getMemBytes(); void finalize(); @@ -1146,6 +1153,7 @@ class SIMDLoadStoreLane uint8_t index; Expression* ptr; Expression* vec; + Name memory; bool isStore(); bool isLoad() { return !isStore(); } @@ -1162,6 +1170,7 @@ class MemoryInit : public SpecificExpression { Expression* dest; Expression* offset; Expression* size; + Name memory; void finalize(); }; @@ -1184,6 +1193,7 @@ class MemoryCopy : public SpecificExpression { Expression* dest; Expression* source; Expression* size; + Name memory; void finalize(); }; @@ -1196,6 +1206,7 @@ class MemoryFill : public SpecificExpression { Expression* dest; Expression* value; Expression* size; + Name memory; void finalize(); }; @@ -1279,6 +1290,7 @@ class MemorySize : public SpecificExpression { MemorySize(MixedArena& allocator) : MemorySize() {} Type ptrType = Type::i32; + Name memory; void make64(); void finalize(); @@ -1291,6 +1303,7 @@ class MemoryGrow : public SpecificExpression { Expression* delta = nullptr; Type ptrType = Type::i32; + Name memory; void make64(); void finalize(); diff --git a/src/wasm/wasm-binary.cpp b/src/wasm/wasm-binary.cpp index d2b9cb1a3c1..b399fc58c13 100644 --- a/src/wasm/wasm-binary.cpp +++ b/src/wasm/wasm-binary.cpp @@ -1785,10 +1785,6 @@ int64_t WasmBinaryBuilder::getS64LEB() { return ret.value; } -uint64_t WasmBinaryBuilder::getUPtrLEB() { - return wasm.memories[0]->is64() ? getU64LEB() : getU32LEB(); -} - bool WasmBinaryBuilder::getBasicType(int32_t code, Type& out) { switch (code) { case BinaryConsts::EncodedType::i32: @@ -3000,6 +2996,29 @@ void WasmBinaryBuilder::processNames() { } } + for (auto& [index, refs] : memoryRefs) { + for (auto* ref : refs) { + if (auto* load = ref->dynCast()) { + load->memory = getMemoryName(index); + } else if (auto* store = ref->dynCast()) { + store->memory = getMemoryName(index); + } else if (auto* size = ref->dynCast()) { + size->memory = getMemoryName(index); + } else if (auto* grow = ref->dynCast()) { + grow->memory = getMemoryName(index); + } else if (auto* fill = ref->dynCast()) { + fill->memory = getMemoryName(index); + } else if (auto* copy = ref->dynCast()) { + copy->memory = getMemoryName(index); + } else if (auto* init = ref->dynCast()) { + init->memory = getMemoryName(index); + + } else { + WASM_UNREACHABLE("Invalid type in memory references"); + } + } + } + for (auto& [index, refs] : globalRefs) { for (auto* ref : refs) { *ref = getGlobalName(index); @@ -3749,18 +3768,12 @@ BinaryConsts::ASTNodes WasmBinaryBuilder::readExpression(Expression*& curr) { break; case BinaryConsts::MemorySize: { auto size = allocator.alloc(); - if (wasm.memories[0]->is64()) { - size->make64(); - } curr = size; visitMemorySize(size); break; } case BinaryConsts::MemoryGrow: { auto grow = allocator.alloc(); - if (wasm.memories[0]->is64()) { - grow->make64(); - } curr = grow; visitMemoryGrow(grow); break; @@ -4340,14 +4353,33 @@ void WasmBinaryBuilder::visitGlobalSet(GlobalSet* curr) { curr->finalize(); } -void WasmBinaryBuilder::readMemoryAccess(Address& alignment, Address& offset) { +Index WasmBinaryBuilder::readMemoryAccess(Address& alignment, Address& offset) { auto rawAlignment = getU32LEB(); - if (rawAlignment > 4) { - throwError("Alignment must be of a reasonable size"); + bool hasMemoryIdx = false; + Index memoryIdx = 0; + // Check bit 6 in the alignment to know whether a memory index is present + // per https://github.com/WebAssembly/multi-memory/blob/main/proposals/multi-memory/Overview.md + if (rawAlignment >= 6 && (rawAlignment & (1 << (6)))) { + hasMemoryIdx = true; } + alignment = Bits::pow2(rawAlignment); - // TODO (nashley): reinterpret the alignment as a bit field per the proposal - offset = getUPtrLEB(); + offset = getU64LEB(); + if (hasMemoryIdx) { + memoryIdx = getU32LEB(); + } + if (memoryIdx >= memories.size()) { + throwError("bad memory index"); + } + if (!memories[memoryIdx]->is64()) { + if (offset > UINT32_MAX) { + throwError("offset is larger than 32-bit"); + } else { + offset = uint32_t(offset); + } + } + + return memoryIdx; } bool WasmBinaryBuilder::maybeVisitLoad(Expression*& out, @@ -4482,7 +4514,8 @@ bool WasmBinaryBuilder::maybeVisitLoad(Expression*& out, } curr->isAtomic = isAtomic; - readMemoryAccess(curr->align, curr->offset); + Index memoryIdx = readMemoryAccess(curr->align, curr->offset); + memoryRefs[memoryIdx].push_back(curr); curr->ptr = popNonVoidExpression(); curr->finalize(); out = curr; @@ -4587,7 +4620,8 @@ bool WasmBinaryBuilder::maybeVisitStore(Expression*& out, curr->isAtomic = isAtomic; BYN_TRACE("zz node: Store\n"); - readMemoryAccess(curr->align, curr->offset); + Index memoryIdx = readMemoryAccess(curr->align, curr->offset); + memoryRefs[memoryIdx].push_back(curr); curr->value = popNonVoidExpression(); curr->ptr = popNonVoidExpression(); curr->finalize(); @@ -5085,10 +5119,12 @@ bool WasmBinaryBuilder::maybeVisitMemoryInit(Expression*& out, uint32_t code) { curr->offset = popNonVoidExpression(); curr->dest = popNonVoidExpression(); curr->segment = getU32LEB(); - if (getInt8() != 0) { - throwError("Unexpected nonzero memory index"); + Index memoryIdx = getU32LEB(); + if (memoryIdx >= memories.size()) { + throwError("bad memory index on memory.init"); } curr->finalize(); + memoryRefs[memoryIdx].push_back(curr); out = curr; return true; } @@ -5112,10 +5148,12 @@ bool WasmBinaryBuilder::maybeVisitMemoryCopy(Expression*& out, uint32_t code) { curr->size = popNonVoidExpression(); curr->source = popNonVoidExpression(); curr->dest = popNonVoidExpression(); - if (getInt8() != 0 || getInt8() != 0) { - throwError("Unexpected nonzero memory index"); + Index memoryIdx = getU32LEB(); + if (memoryIdx >= memories.size()) { + throwError("bad memory index on memory.copy"); } curr->finalize(); + memoryRefs[memoryIdx].push_back(curr); out = curr; return true; } @@ -5128,10 +5166,12 @@ bool WasmBinaryBuilder::maybeVisitMemoryFill(Expression*& out, uint32_t code) { curr->size = popNonVoidExpression(); curr->value = popNonVoidExpression(); curr->dest = popNonVoidExpression(); - if (getInt8() != 0) { - throwError("Unexpected nonzero memory index"); + Index memoryIdx = getU32LEB(); + if (memoryIdx >= memories.size()) { + throwError("bad memory index on memory.fill"); } curr->finalize(); + memoryRefs[memoryIdx].push_back(curr); out = curr; return true; } @@ -6464,21 +6504,23 @@ void WasmBinaryBuilder::visitReturn(Return* curr) { void WasmBinaryBuilder::visitMemorySize(MemorySize* curr) { BYN_TRACE("zz node: MemorySize\n"); - auto reserved = getU32LEB(); - if (reserved != 0) { - throwError("Invalid reserved field on memory.size"); + Index memoryIdx = getU32LEB(); + if (memoryIdx >= memories.size()) { + throwError("bad memory index on memory.size"); } curr->finalize(); + memoryRefs[memoryIdx].push_back(curr); } void WasmBinaryBuilder::visitMemoryGrow(MemoryGrow* curr) { BYN_TRACE("zz node: MemoryGrow\n"); curr->delta = popNonVoidExpression(); - auto reserved = getU32LEB(); - if (reserved != 0) { - throwError("Invalid reserved field on memory.grow"); + Index memoryIdx = getU32LEB(); + if (memoryIdx >= memories.size()) { + throwError("bad memory index on memory.grow"); } curr->finalize(); + memoryRefs[memoryIdx].push_back(curr); } void WasmBinaryBuilder::visitNop(Nop* curr) { BYN_TRACE("zz node: Nop\n"); } From c5d04992fe93706f2171ad2c14420f6ee0feade7 Mon Sep 17 00:00:00 2001 From: Ashley Nelson Date: Mon, 27 Jun 2022 05:04:06 +0000 Subject: [PATCH 19/78] making sure data segments have valid memory names --- src/wasm-builder.h | 2 +- src/wasm/wasm-binary.cpp | 16 ++++++++++++---- src/wasm/wasm-s-parser.cpp | 5 ++--- 3 files changed, 15 insertions(+), 8 deletions(-) diff --git a/src/wasm-builder.h b/src/wasm-builder.h index 229c5f55c1d..948610740c2 100644 --- a/src/wasm-builder.h +++ b/src/wasm-builder.h @@ -115,7 +115,7 @@ class Builder { static std::unique_ptr makeDataSegment(Name name = "", - Name memory = "", + Name memory = Name::fromInt(0), bool isPassive = false, Expression* offset = nullptr, const char* init = "", diff --git a/src/wasm/wasm-binary.cpp b/src/wasm/wasm-binary.cpp index b399fc58c13..b39c68b95ba 100644 --- a/src/wasm/wasm-binary.cpp +++ b/src/wasm/wasm-binary.cpp @@ -3049,10 +3049,18 @@ void WasmBinaryBuilder::readDataSegments() { curr->setName(Name::fromInt(i), false); curr->isPassive = flags & BinaryConsts::IsPassive; if (flags & BinaryConsts::HasIndex) { - auto memIndex = getU32LEB(); - if (memIndex != 0) { - throwError("nonzero memory index"); - } + auto memIdx = getU32LEB(); + Memory* memory = nullptr; + auto numMemoryImports = memoryImports.size(); + if (memIdx < numMemoryImports) { + memory = memoryImports[memIdx]; + } else if (memIdx - numMemoryImports < memories.size()) { + memory = memories[memIdx - numMemoryImports].get(); + } + if (!memory) { + throwError("Memory index out of range while reading data segments."); + } + curr->memory = Name::fromInt(memIdx); } if (!curr->isPassive) { curr->offset = readExpression(); diff --git a/src/wasm/wasm-s-parser.cpp b/src/wasm/wasm-s-parser.cpp index 6041bba872b..b36d59446c3 100644 --- a/src/wasm/wasm-s-parser.cpp +++ b/src/wasm/wasm-s-parser.cpp @@ -502,7 +502,7 @@ Name SExpressionWasmBuilder::getMemoryName(Element& s) { // index size_t offset = atoi(s.str().c_str()); if (offset >= memoryNames.size()) { - throw ParseException("unknown table in getMemoryName", s.line, s.col); + throw ParseException("unknown memory in getMemoryName", s.line, s.col); } return memoryNames[offset]; } @@ -3183,8 +3183,7 @@ void SExpressionWasmBuilder::parseData(Element& s) { if (elementStartsWith(s[i], MEMORY)) { auto& inner = *s[i++]; memory = getMemoryName(*inner[1]); - }//TODO (nashley): need an else condition to set memory name - + } // Offset expression (offset ()) | () auto& inner = *s[i++]; if (elementStartsWith(inner, OFFSET)) { From c31ebd959a1f2a2fab3f6b9540bc750005444277 Mon Sep 17 00:00:00 2001 From: Ashley Nelson Date: Mon, 27 Jun 2022 05:26:09 +0000 Subject: [PATCH 20/78] fixing ensure exists --- src/ir/memory-utils.h | 14 +++++++------- src/passes/Asyncify.cpp | 3 +-- src/passes/I64ToI32Lowering.cpp | 6 ++---- src/passes/RemoveNonJSOps.cpp | 3 +-- src/tools/fuzzing/fuzzing.cpp | 3 +-- src/wasm-builder.h | 10 +++++++++- 6 files changed, 21 insertions(+), 18 deletions(-) diff --git a/src/ir/memory-utils.h b/src/ir/memory-utils.h index 1d765940b37..7292559db7f 100644 --- a/src/ir/memory-utils.h +++ b/src/ir/memory-utils.h @@ -32,14 +32,14 @@ namespace wasm::MemoryUtils { // Returns true if successful (e.g. relocatable segments cannot be flattened). bool flatten(Module& wasm); -// TODO (nashley): make the below fn relevant -// Ensures that the memory exists (of minimal size). -/*inline void ensureExists(Memory& memory) { - if (!memory.exists) { - memory.exists = true; - memory.initial = memory.max = 1; +// Ensures that a memory exists (of minimal size). +inline void ensureExists(Module* wasm) { + if (wasm->memories.empty()) { + auto memory = Builder::makeMemory(); + memory->initial = memory->max = 1; + wasm->addMemory(std::move(memory)); } -}*/ +} // Try to merge segments until they fit into web limitations. // Return true if successful. diff --git a/src/passes/Asyncify.cpp b/src/passes/Asyncify.cpp index bfca739e90f..a431200bcc1 100644 --- a/src/passes/Asyncify.cpp +++ b/src/passes/Asyncify.cpp @@ -1483,8 +1483,7 @@ struct Asyncify : public Pass { bool optimize = runner->options.optimizeLevel > 0; // Ensure there is a memory, as we need it. - // TODO (nashley): Fix call below - // MemoryUtils::ensureExists(module->memory); + MemoryUtils::ensureExists(module); // Find which things can change the state. auto stateChangingImports = String::trim(read_possible_response_file( diff --git a/src/passes/I64ToI32Lowering.cpp b/src/passes/I64ToI32Lowering.cpp index 7c7c0edccbf..002e4568d44 100644 --- a/src/passes/I64ToI32Lowering.cpp +++ b/src/passes/I64ToI32Lowering.cpp @@ -596,8 +596,7 @@ struct I64ToI32Lowering : public WalkerPass> { Type::i32)); setOutParam(result, std::move(highBits)); replaceCurrent(result); - // TODO (nashley): Fix below - // MemoryUtils::ensureExists(getModule()->memory); + MemoryUtils::ensureExists(getModule()); ABI::wasm2js::ensureHelpers(getModule()); } @@ -615,8 +614,7 @@ struct I64ToI32Lowering : public WalkerPass> { Type::none), builder->makeCall(ABI::wasm2js::SCRATCH_LOAD_F64, {}, Type::f64)); replaceCurrent(result); - // TODO (nashley): Fix below - // MemoryUtils::ensureExists(getModule()->memory); + MemoryUtils::ensureExists(getModule()); ABI::wasm2js::ensureHelpers(getModule()); } diff --git a/src/passes/RemoveNonJSOps.cpp b/src/passes/RemoveNonJSOps.cpp index b95f8e8967c..84df4ec1e9f 100644 --- a/src/passes/RemoveNonJSOps.cpp +++ b/src/passes/RemoveNonJSOps.cpp @@ -122,8 +122,7 @@ struct RemoveNonJSOpsPass : public WalkerPass> { } // Intrinsics may use memory, so ensure the module has one. - // TODO (nashley): fix below fn - // MemoryUtils::ensureExists(module->memory); + MemoryUtils::ensureExists(module); // Add missing globals for (auto& [name, type] : neededImportedGlobals) { diff --git a/src/tools/fuzzing/fuzzing.cpp b/src/tools/fuzzing/fuzzing.cpp index ff927f6ecaa..b237e8538b0 100644 --- a/src/tools/fuzzing/fuzzing.cpp +++ b/src/tools/fuzzing/fuzzing.cpp @@ -185,8 +185,7 @@ void TranslateToFuzzReader::build() { void TranslateToFuzzReader::setupMemory() { // Add memory itself - // TODO (nashley): Fix below fn - // MemoryUtils::ensureExists(wasm.memory); + MemoryUtils::ensureExists(&wasm); if (wasm.features.hasBulkMemory()) { size_t memCovered = 0; // need at least one segment for memory.inits diff --git a/src/wasm-builder.h b/src/wasm-builder.h index 948610740c2..591793adedc 100644 --- a/src/wasm-builder.h +++ b/src/wasm-builder.h @@ -107,9 +107,17 @@ class Builder { return seg; } - static std::unique_ptrmakeMemory(Name name = Name::fromInt(0)) { + static std::unique_ptrmakeMemory(Name name = Name::fromInt(0), + Address initial = 0, + Address max = Memory::kMaxSize32, + bool shared = false, + Type indexType = Type::i32) { auto memory = std::make_unique(); memory->name = name; + memory->initial = initial; + memory->max = max; + memory->shared = shared; + memory->indexType = indexType; return memory; } From 7a63097e7e1fb7f9f4af63357cd317b7fee746c3 Mon Sep 17 00:00:00 2001 From: Ashley Nelson Date: Tue, 28 Jun 2022 00:13:22 +0000 Subject: [PATCH 21/78] parsing memory name for every relevant instruction --- src/wasm-binary.h | 2 +- src/wasm/wasm-binary.cpp | 111 +++++++++++++--------- src/wasm/wasm-debug.cpp | 1 + src/wasm/wasm-s-parser.cpp | 185 ++++++++++++++++++++++++++++++------- 4 files changed, 221 insertions(+), 78 deletions(-) diff --git a/src/wasm-binary.h b/src/wasm-binary.h index 54d0e095efa..1684244bfc1 100644 --- a/src/wasm-binary.h +++ b/src/wasm-binary.h @@ -1659,7 +1659,7 @@ class WasmBinaryBuilder { BreakTarget getBreakTarget(int32_t offset); Name getExceptionTargetName(int32_t offset); - Index readMemoryAccess(Address& alignment, Address& offset); + Index readMemoryAlignment(Address& alignment, Address& offset); void visitIf(If* curr); void visitLoop(Loop* curr); diff --git a/src/wasm/wasm-binary.cpp b/src/wasm/wasm-binary.cpp index b39c68b95ba..cc72feb3e1f 100644 --- a/src/wasm/wasm-binary.cpp +++ b/src/wasm/wasm-binary.cpp @@ -3012,7 +3012,18 @@ void WasmBinaryBuilder::processNames() { copy->memory = getMemoryName(index); } else if (auto* init = ref->dynCast()) { init->memory = getMemoryName(index); - + } else if (auto* rmw = ref->dynCast()) { + rmw->memory = getMemoryName(index); + } else if (auto* cmpxchg = ref->dynCast()) { + cmpxchg->memory = getMemoryName(index); + } else if (auto* wait = ref->dynCast()) { + wait->memory = getMemoryName(index); + } else if (auto* notify = ref->dynCast()) { + notify->memory = getMemoryName(index); + } else if (auto* simdLoad = ref->dynCast()) { + simdLoad->memory = getMemoryName(index); + } else if (auto* simdLane = ref->dynCast()) { + simdLane->memory = getMemoryName(index); } else { WASM_UNREACHABLE("Invalid type in memory references"); } @@ -4361,33 +4372,37 @@ void WasmBinaryBuilder::visitGlobalSet(GlobalSet* curr) { curr->finalize(); } -Index WasmBinaryBuilder::readMemoryAccess(Address& alignment, Address& offset) { +Index WasmBinaryBuilder::readMemoryAlignment(Address& alignment, Address& offset) { auto rawAlignment = getU32LEB(); - bool hasMemoryIdx = false; - Index memoryIdx = 0; + if (rawAlignment > 8) { + throwError("Alignment must be of a reasonable size"); + } + + bool hasMemIdx = false; + Index memIdx = 0; // Check bit 6 in the alignment to know whether a memory index is present // per https://github.com/WebAssembly/multi-memory/blob/main/proposals/multi-memory/Overview.md if (rawAlignment >= 6 && (rawAlignment & (1 << (6)))) { - hasMemoryIdx = true; + hasMemIdx = true; } alignment = Bits::pow2(rawAlignment); - offset = getU64LEB(); - if (hasMemoryIdx) { - memoryIdx = getU32LEB(); + if (hasMemIdx) { + memIdx = getU32LEB(); } - if (memoryIdx >= memories.size()) { - throwError("bad memory index"); + Memory* memory = nullptr; + auto numMemoryImports = memoryImports.size(); + if (memIdx < numMemoryImports) { + memory = memoryImports[memIdx]; + } else if (memIdx - numMemoryImports < memories.size()) { + memory = memories[memIdx - numMemoryImports].get(); } - if (!memories[memoryIdx]->is64()) { - if (offset > UINT32_MAX) { - throwError("offset is larger than 32-bit"); - } else { - offset = uint32_t(offset); - } + if (!memory) { + throwError("Memory index out of range while reading memory alignment."); } + offset = memory->indexType == Type::i32 ? getU32LEB() : getU64LEB(); - return memoryIdx; + return memIdx; } bool WasmBinaryBuilder::maybeVisitLoad(Expression*& out, @@ -4522,8 +4537,8 @@ bool WasmBinaryBuilder::maybeVisitLoad(Expression*& out, } curr->isAtomic = isAtomic; - Index memoryIdx = readMemoryAccess(curr->align, curr->offset); - memoryRefs[memoryIdx].push_back(curr); + Index memIdx = readMemoryAlignment(curr->align, curr->offset); + memoryRefs[memIdx].push_back(curr); curr->ptr = popNonVoidExpression(); curr->finalize(); out = curr; @@ -4628,8 +4643,8 @@ bool WasmBinaryBuilder::maybeVisitStore(Expression*& out, curr->isAtomic = isAtomic; BYN_TRACE("zz node: Store\n"); - Index memoryIdx = readMemoryAccess(curr->align, curr->offset); - memoryRefs[memoryIdx].push_back(curr); + Index memIdx = readMemoryAlignment(curr->align, curr->offset); + memoryRefs[memIdx].push_back(curr); curr->value = popNonVoidExpression(); curr->ptr = popNonVoidExpression(); curr->finalize(); @@ -4689,7 +4704,8 @@ bool WasmBinaryBuilder::maybeVisitAtomicRMW(Expression*& out, uint8_t code) { BYN_TRACE("zz node: AtomicRMW\n"); Address readAlign; - readMemoryAccess(readAlign, curr->offset); + Index memIdx = readMemoryAlignment(readAlign, curr->offset); + memoryRefs[memIdx].push_back(curr); if (readAlign != curr->bytes) { throwError("Align of AtomicRMW must match size"); } @@ -4741,7 +4757,8 @@ bool WasmBinaryBuilder::maybeVisitAtomicCmpxchg(Expression*& out, BYN_TRACE("zz node: AtomicCmpxchg\n"); Address readAlign; - readMemoryAccess(readAlign, curr->offset); + Index memIdx = readMemoryAlignment(readAlign, curr->offset); + memoryRefs[memIdx].push_back(curr); if (readAlign != curr->bytes) { throwError("Align of AtomicCpxchg must match size"); } @@ -4776,7 +4793,8 @@ bool WasmBinaryBuilder::maybeVisitAtomicWait(Expression*& out, uint8_t code) { curr->expected = popNonVoidExpression(); curr->ptr = popNonVoidExpression(); Address readAlign; - readMemoryAccess(readAlign, curr->offset); + Index memIdx = readMemoryAlignment(readAlign, curr->offset); + memoryRefs[memIdx].push_back(curr); if (readAlign != curr->expectedType.getByteSize()) { throwError("Align of AtomicWait must match size"); } @@ -4796,7 +4814,8 @@ bool WasmBinaryBuilder::maybeVisitAtomicNotify(Expression*& out, uint8_t code) { curr->notifyCount = popNonVoidExpression(); curr->ptr = popNonVoidExpression(); Address readAlign; - readMemoryAccess(readAlign, curr->offset); + Index memIdx = readMemoryAlignment(readAlign, curr->offset); + memoryRefs[memIdx].push_back(curr); if (readAlign != curr->type.getByteSize()) { throwError("Align of AtomicNotify must match size"); } @@ -5127,12 +5146,12 @@ bool WasmBinaryBuilder::maybeVisitMemoryInit(Expression*& out, uint32_t code) { curr->offset = popNonVoidExpression(); curr->dest = popNonVoidExpression(); curr->segment = getU32LEB(); - Index memoryIdx = getU32LEB(); - if (memoryIdx >= memories.size()) { + Index memIdx = getU32LEB(); + if (memIdx >= memories.size()) { throwError("bad memory index on memory.init"); } curr->finalize(); - memoryRefs[memoryIdx].push_back(curr); + memoryRefs[memIdx].push_back(curr); out = curr; return true; } @@ -5156,12 +5175,12 @@ bool WasmBinaryBuilder::maybeVisitMemoryCopy(Expression*& out, uint32_t code) { curr->size = popNonVoidExpression(); curr->source = popNonVoidExpression(); curr->dest = popNonVoidExpression(); - Index memoryIdx = getU32LEB(); - if (memoryIdx >= memories.size()) { + Index memIdx = getU32LEB(); + if (memIdx >= memories.size()) { throwError("bad memory index on memory.copy"); } curr->finalize(); - memoryRefs[memoryIdx].push_back(curr); + memoryRefs[memIdx].push_back(curr); out = curr; return true; } @@ -5174,12 +5193,12 @@ bool WasmBinaryBuilder::maybeVisitMemoryFill(Expression*& out, uint32_t code) { curr->size = popNonVoidExpression(); curr->value = popNonVoidExpression(); curr->dest = popNonVoidExpression(); - Index memoryIdx = getU32LEB(); - if (memoryIdx >= memories.size()) { + Index memIdx = getU32LEB(); + if (memIdx >= memories.size()) { throwError("bad memory index on memory.fill"); } curr->finalize(); - memoryRefs[memoryIdx].push_back(curr); + memoryRefs[memIdx].push_back(curr); out = curr; return true; } @@ -6123,7 +6142,8 @@ bool WasmBinaryBuilder::maybeVisitSIMDStore(Expression*& out, uint32_t code) { auto* curr = allocator.alloc(); curr->bytes = 16; curr->valueType = Type::v128; - readMemoryAccess(curr->align, curr->offset); + Index memIdx = readMemoryAlignment(curr->align, curr->offset); + memoryRefs[memIdx].push_back(curr); curr->isAtomic = false; curr->value = popNonVoidExpression(); curr->ptr = popNonVoidExpression(); @@ -6362,7 +6382,8 @@ bool WasmBinaryBuilder::maybeVisitSIMDLoad(Expression*& out, uint32_t code) { auto* curr = allocator.alloc(); curr->type = Type::v128; curr->bytes = 16; - readMemoryAccess(curr->align, curr->offset); + Index memIdx = readMemoryAlignment(curr->align, curr->offset); + memoryRefs[memIdx].push_back(curr); curr->isAtomic = false; curr->ptr = popNonVoidExpression(); curr->finalize(); @@ -6422,7 +6443,8 @@ bool WasmBinaryBuilder::maybeVisitSIMDLoad(Expression*& out, uint32_t code) { default: return false; } - readMemoryAccess(curr->align, curr->offset); + Index memIdx = readMemoryAlignment(curr->align, curr->offset); + memoryRefs[memIdx].push_back(curr); curr->ptr = popNonVoidExpression(); curr->finalize(); out = curr; @@ -6471,7 +6493,8 @@ bool WasmBinaryBuilder::maybeVisitSIMDLoadStoreLane(Expression*& out, } auto* curr = allocator.alloc(); curr->op = op; - readMemoryAccess(curr->align, curr->offset); + Index memIdx = readMemoryAlignment(curr->align, curr->offset); + memoryRefs[memIdx].push_back(curr); curr->index = getLaneIndex(lanes); curr->vec = popNonVoidExpression(); curr->ptr = popNonVoidExpression(); @@ -6512,23 +6535,23 @@ void WasmBinaryBuilder::visitReturn(Return* curr) { void WasmBinaryBuilder::visitMemorySize(MemorySize* curr) { BYN_TRACE("zz node: MemorySize\n"); - Index memoryIdx = getU32LEB(); - if (memoryIdx >= memories.size()) { + Index memIdx = getU32LEB(); + if (memIdx >= memories.size()) { throwError("bad memory index on memory.size"); } curr->finalize(); - memoryRefs[memoryIdx].push_back(curr); + memoryRefs[memIdx].push_back(curr); } void WasmBinaryBuilder::visitMemoryGrow(MemoryGrow* curr) { BYN_TRACE("zz node: MemoryGrow\n"); curr->delta = popNonVoidExpression(); - Index memoryIdx = getU32LEB(); - if (memoryIdx >= memories.size()) { + Index memIdx = getU32LEB(); + if (memIdx >= memories.size()) { throwError("bad memory index on memory.grow"); } curr->finalize(); - memoryRefs[memoryIdx].push_back(curr); + memoryRefs[memIdx].push_back(curr); } void WasmBinaryBuilder::visitNop(Nop* curr) { BYN_TRACE("zz node: Nop\n"); } diff --git a/src/wasm/wasm-debug.cpp b/src/wasm/wasm-debug.cpp index b4b81aeeee8..0630bfb9044 100644 --- a/src/wasm/wasm-debug.cpp +++ b/src/wasm/wasm-debug.cpp @@ -1065,6 +1065,7 @@ void writeDWARFSections(Module& wasm, const BinaryLocations& newLocations) { updateDebugLines(data, locationUpdater); + //TODO (nashley): Fix hardcoded memory updateCompileUnits(info, data, locationUpdater, wasm.memories[0]->is64()); updateRanges(data, locationUpdater); diff --git a/src/wasm/wasm-s-parser.cpp b/src/wasm/wasm-s-parser.cpp index b36d59446c3..4b89890baa8 100644 --- a/src/wasm/wasm-s-parser.cpp +++ b/src/wasm/wasm-s-parser.cpp @@ -1371,16 +1371,16 @@ Expression* SExpressionWasmBuilder::makeDrop(Element& s) { } Expression* SExpressionWasmBuilder::makeMemorySize(Element& s) { - auto name = Name::fromInt(0); - if (s.size() > 0) { - name = s[1]->str(); + auto memName = Name::fromInt(0); + if (s[1]->dollared()) { + memName = s[1]->str(); } - auto* memory = wasm.getMemoryOrNull(name); + auto memory = wasm.getMemoryOrNull(memName); if (!memory) { throw ParseException("invalid memory name in memory.size", s.line, s.col); } - auto ret = allocator.alloc(); + ret->memory = memName; if (memory->is64()) { ret->make64(); } @@ -1389,18 +1389,17 @@ Expression* SExpressionWasmBuilder::makeMemorySize(Element& s) { } Expression* SExpressionWasmBuilder::makeMemoryGrow(Element& s) { - auto name = Name::fromInt(0); - Index i = 1; - if (s[i]->isStr()) { - name = s[1]->str(); - i++; + size_t i = 1; + auto memName = Name::fromInt(0); + if (s[i]->dollared()) { + memName = s[i++]->str(); } - auto* memory = wasm.getMemoryOrNull(name); + auto memory = wasm.getMemoryOrNull(memName); if (!memory) { throw ParseException("invalid memory name in memory.grow", s.line, s.col); } - auto ret = allocator.alloc(); + ret->memory = memName; if (memory->is64()) { ret->make64(); } @@ -1853,11 +1852,11 @@ static uint8_t parseMemBytes(const char*& s, uint8_t fallback) { return ret; } -static size_t parseMemAttributes(Element& s, +static size_t parseMemAttributes(size_t i, + Element& s, Address& offset, Address& align, Address fallbackAlign) { - size_t i = 1; offset = 0; align = fallbackAlign; // Parse "align=X" and "offset=X" arguments, bailing out on anything else. @@ -1925,7 +1924,18 @@ SExpressionWasmBuilder::makeLoad(Element& s, Type type, bool isAtomic) { ret->type = type; ret->bytes = parseMemBytes(extra, type.getByteSize()); ret->signed_ = extra[0] && extra[1] == 's'; - size_t i = parseMemAttributes(s, ret->offset, ret->align, ret->bytes); + size_t i = 1; + auto memName = Name::fromInt(0); + if (s[i]->dollared()) { + auto memory = wasm.getMemoryOrNull(s[i]->str()); + if (!memory) { + throw ParseException("invalid memory name in load", s.line, s.col); + } else { + memName = s[i++]->str(); + } + } + ret->memory = memName; + i = parseMemAttributes(i, s, ret->offset, ret->align, ret->bytes); ret->ptr = parseExpression(s[i]); ret->finalize(); return ret; @@ -1938,7 +1948,18 @@ SExpressionWasmBuilder::makeStore(Element& s, Type type, bool isAtomic) { ret->isAtomic = isAtomic; ret->valueType = type; ret->bytes = parseMemBytes(extra, type.getByteSize()); - size_t i = parseMemAttributes(s, ret->offset, ret->align, ret->bytes); + size_t i = 1; + auto memName = Name::fromInt(0); + if (s[i]->dollared()) { + auto memory = wasm.getMemoryOrNull(s[i]->str()); + if (!memory) { + throw ParseException("invalid memory name in store", s.line, s.col); + } else { + memName = s[i++]->str(); + } + } + ret->memory = memName; + i = parseMemAttributes(i, s, ret->offset, ret->align, ret->bytes); ret->ptr = parseExpression(s[i]); ret->value = parseExpression(s[i + 1]); ret->finalize(); @@ -1960,7 +1981,6 @@ Expression* SExpressionWasmBuilder::makeAtomicRMWOrCmpxchg(Element& s, } return makeAtomicRMW(s, type, bytes, extra); } - Expression* SExpressionWasmBuilder::makeAtomicRMW(Element& s, Type type, uint8_t bytes, @@ -1983,8 +2003,19 @@ Expression* SExpressionWasmBuilder::makeAtomicRMW(Element& s, } else { throw ParseException("bad atomic rmw operator", s.line, s.col); } + size_t i = 1; + auto memName = Name::fromInt(0); + if (s[i]->dollared()) { + auto memory = wasm.getMemoryOrNull(s[i]->str()); + if (!memory) { + throw ParseException("invalid memory name in atomic RMW", s.line, s.col); + } else { + memName = s[i++]->str(); + } + } + ret->memory = memName; Address align; - size_t i = parseMemAttributes(s, ret->offset, align, ret->bytes); + i = parseMemAttributes(i, s, ret->offset, align, ret->bytes); if (align != ret->bytes) { throw ParseException("Align of Atomic RMW must match size", s.line, s.col); } @@ -2002,7 +2033,18 @@ Expression* SExpressionWasmBuilder::makeAtomicCmpxchg(Element& s, ret->type = type; ret->bytes = bytes; Address align; - size_t i = parseMemAttributes(s, ret->offset, align, ret->bytes); + size_t i = 1; + auto memName = Name::fromInt(0); + if (s[i]->dollared()) { + auto memory = wasm.getMemoryOrNull(s[i]->str()); + if (!memory) { + throw ParseException("invalid memory name in atomic cmpxchg", s.line, s.col); + } else { + memName = s[i++]->str(); + } + } + ret->memory = memName; + i = parseMemAttributes(i, s, ret->offset, align, ret->bytes); if (align != ret->bytes) { throw ParseException( "Align of Atomic Cmpxchg must match size", s.line, s.col); @@ -2027,7 +2069,18 @@ Expression* SExpressionWasmBuilder::makeAtomicWait(Element& s, Type type) { } else { WASM_UNREACHABLE("Invalid prefix for memory.atomic.wait"); } - size_t i = parseMemAttributes(s, ret->offset, align, expectedAlign); + size_t i = 1; + auto memName = Name::fromInt(0); + if (s[i]->dollared()) { + auto memory = wasm.getMemoryOrNull(s[i]->str()); + if (!memory) { + throw ParseException("invalid memory name in memory.atomic.wait", s.line, s.col); + } else { + memName = s[i++]->str(); + } + } + ret->memory = memName; + i = parseMemAttributes(i, s, ret->offset, align, expectedAlign); if (align != expectedAlign) { throw ParseException( "Align of memory.atomic.wait must match size", s.line, s.col); @@ -2043,7 +2096,18 @@ Expression* SExpressionWasmBuilder::makeAtomicNotify(Element& s) { auto ret = allocator.alloc(); ret->type = Type::i32; Address align; - size_t i = parseMemAttributes(s, ret->offset, align, 4); + size_t i = 1; + auto memName = Name::fromInt(0); + if (s[i]->dollared()) { + auto memory = wasm.getMemoryOrNull(s[i]->str()); + if (!memory) { + throw ParseException("invalid memory name in memory.atomic.notify", s.line, s.col); + } else { + memName = s[i++]->str(); + } + } + ret->memory = memName; + i = parseMemAttributes(i, s, ret->offset, align, 4); if (align != 4) { throw ParseException( "Align of memory.atomic.notify must be 4", s.line, s.col); @@ -2152,7 +2216,18 @@ Expression* SExpressionWasmBuilder::makeSIMDLoad(Element& s, SIMDLoadOp op) { defaultAlign = 8; break; } - size_t i = parseMemAttributes(s, ret->offset, ret->align, defaultAlign); + size_t i = 1; + auto memName = Name::fromInt(0); + if (s[i]->dollared()) { + auto memory = wasm.getMemoryOrNull(s[i]->str()); + if (!memory) { + throw ParseException("invalid memory name in SIMDLoad", s.line, s.col); + } else { + memName = s[i++]->str(); + } + } + ret->memory = memName; + i = parseMemAttributes(i, s, ret->offset, ret->align, defaultAlign); ret->ptr = parseExpression(s[i]); ret->finalize(); return ret; @@ -2189,7 +2264,18 @@ SExpressionWasmBuilder::makeSIMDLoadStoreLane(Element& s, default: WASM_UNREACHABLE("Unexpected SIMDLoadStoreLane op"); } - size_t i = parseMemAttributes(s, ret->offset, ret->align, defaultAlign); + size_t i = 1; + auto memName = Name::fromInt(0); + if (s[i]->dollared()) { + auto memory = wasm.getMemoryOrNull(s[i]->str()); + if (!memory) { + throw ParseException("invalid memory name in SIMDLoadStoreLane", s.line, s.col); + } else { + memName = s[i++]->str(); + } + } + ret->memory = memName; + i = parseMemAttributes(i, s, ret->offset, ret->align, defaultAlign); ret->index = parseLaneIndex(s[i++], lanes); ret->ptr = parseExpression(s[i++]); ret->vec = parseExpression(s[i]); @@ -2199,10 +2285,21 @@ SExpressionWasmBuilder::makeSIMDLoadStoreLane(Element& s, Expression* SExpressionWasmBuilder::makeMemoryInit(Element& s) { auto ret = allocator.alloc(); - ret->segment = atoi(s[1]->str().c_str()); - ret->dest = parseExpression(s[2]); - ret->offset = parseExpression(s[3]); - ret->size = parseExpression(s[4]); + size_t i = 1; + auto memName = Name::fromInt(0); + if (s[i]->dollared()) { + auto memory = wasm.getMemoryOrNull(s[i]->str()); + if (!memory) { + throw ParseException("invalid memory name in memory.init", s.line, s.col); + } else { + memName = s[i++]->str(); + } + } + ret->memory = memName; + ret->segment = atoi(s[i++]->str().c_str()); + ret->dest = parseExpression(s[i++]); + ret->offset = parseExpression(s[i++]); + ret->size = parseExpression(s[i]); ret->finalize(); return ret; } @@ -2216,18 +2313,40 @@ Expression* SExpressionWasmBuilder::makeDataDrop(Element& s) { Expression* SExpressionWasmBuilder::makeMemoryCopy(Element& s) { auto ret = allocator.alloc(); - ret->dest = parseExpression(s[1]); - ret->source = parseExpression(s[2]); - ret->size = parseExpression(s[3]); + size_t i = 1; + auto memName = Name::fromInt(0); + if (s[i]->dollared()) { + auto memory = wasm.getMemoryOrNull(s[i]->str()); + if (!memory) { + throw ParseException("invalid memory name in memory.copy", s.line, s.col); + } else { + memName = s[i++]->str(); + } + } + ret->memory = memName; + ret->dest = parseExpression(s[i++]); + ret->source = parseExpression(s[i++]); + ret->size = parseExpression(s[i]); ret->finalize(); return ret; } Expression* SExpressionWasmBuilder::makeMemoryFill(Element& s) { auto ret = allocator.alloc(); - ret->dest = parseExpression(s[1]); - ret->value = parseExpression(s[2]); - ret->size = parseExpression(s[3]); + size_t i = 1; + auto memName = Name::fromInt(0); + if (s[i]->dollared()) { + auto memory = wasm.getMemoryOrNull(s[i]->str()); + if (!memory) { + throw ParseException("invalid memory name in memory.fill", s.line, s.col); + } else { + memName = s[i++]->str(); + } + } + ret->memory = memName; + ret->dest = parseExpression(s[i++]); + ret->value = parseExpression(s[i++]); + ret->size = parseExpression(s[i]); ret->finalize(); return ret; } From 4c8f27db3e3b3dd61abbdaaf46da5f73eb124e2a Mon Sep 17 00:00:00 2001 From: Ashley Nelson Date: Tue, 28 Jun 2022 02:39:23 +0000 Subject: [PATCH 22/78] Updated flatten --- src/ir/memory-utils.cpp | 118 ++++++++++++++++++++++------------- src/ir/memory-utils.h | 9 +-- src/tools/wasm-ctor-eval.cpp | 7 ++- 3 files changed, 86 insertions(+), 48 deletions(-) diff --git a/src/ir/memory-utils.cpp b/src/ir/memory-utils.cpp index 8dc3baeb922..31ee9630fdf 100644 --- a/src/ir/memory-utils.cpp +++ b/src/ir/memory-utils.cpp @@ -19,56 +19,90 @@ namespace wasm::MemoryUtils { -bool flatten(Module& wasm) { - // The presence of any MemoryInit instructions is a problem because they care - // about segment identity, which flattening gets rid of ( when it merges them - // all into one big segment). - ModuleUtils::ParallelFunctionAnalysis analysis( - wasm, [&](Function* func, bool& hasMemoryInit) { - if (func->imported()) { - return; - } - hasMemoryInit = FindAll(func->body).list.size() > 0; - }); - - for (auto& [func, hasMemoryInit] : analysis.map) { - if (hasMemoryInit) { - return false; - } - } - +void flatten(Module& wasm) { auto& dataSegments = wasm.dataSegments; - if (dataSegments.size() == 0) { - return true; + return; } - std::vector data; - for (auto& segment : dataSegments) { - if (segment->isPassive) { - return false; + size_t resizeCount = dataSegments.size(); + for (auto& memory : wasm.memories) { + // The presence of any MemoryInit instructions is a problem because they care + // about segment identity, which flattening gets rid of ( when it merges them + // all into one big segment). + ModuleUtils::ParallelFunctionAnalysis analysis( + wasm, [&](Function* func, bool& hasMemoryInit) { + if (func->imported()) { + return; + } + for (auto* init : FindAll(func->body).list) { + if (init->memory == memory->name) { + hasMemoryInit = true; + break; + } + } + }); + + bool shouldContinue = false; + for (auto& [func, hasMemoryInit] : analysis.map) { + if (hasMemoryInit) { + shouldContinue = true; + break; + } } - auto* offset = segment->offset->dynCast(); - if (!offset) { - return false; + if (shouldContinue) { + continue; } - } - for (auto& segment : dataSegments) { - auto* offset = segment->offset->dynCast(); - Index start = offset->value.getInteger(); - Index end = start + segment->data.size(); - if (end > data.size()) { - data.resize(end); + + shouldContinue = false; + for (auto& segment : dataSegments) { + if (segment->memory != memory->name) { + continue; + } + if (segment->isPassive) { + shouldContinue = true; + break; + } + auto* offset = segment->offset->dynCast(); + if (!offset) { + shouldContinue = true; + break; + } } - std::copy(segment->data.begin(), segment->data.end(), data.begin() + start); - } - dataSegments.resize(1); - dataSegments[0]->offset->cast()->value = Literal(int32_t(0)); - dataSegments[0]->data.swap(data); - wasm.removeDataSegments( - [&](DataSegment* curr) { return curr->name != dataSegments[0]->name; }); - return true; + if (shouldContinue) { + continue; + } + + std::vector data; + for (auto& segment : dataSegments) { + if (segment->memory != memory->name) { + continue; + } + auto* offset = segment->offset->dynCast(); + Index start = offset->value.getInteger(); + Index end = start + segment->data.size(); + if (end > data.size()) { + data.resize(end); + } + std::copy(segment->data.begin(), segment->data.end(), data.begin() + start); + } + auto base = std::string(memory->name.c_str()); + auto segName = Name(base + "_flattened"); + auto seg = Builder::makeDataSegment(segName); + seg->offset->cast()->value = Literal(int32_t(0)); + seg->data.swap(data); + wasm.addDataSegment(std::move(seg)); + resizeCount++; + wasm.removeDataSegments([&](DataSegment* curr) { + if (curr->name != segName) { + resizeCount--; + return true; + } + return false; + }); + } + dataSegments.resize(resizeCount); } } // namespace wasm::MemoryUtils diff --git a/src/ir/memory-utils.h b/src/ir/memory-utils.h index 7292559db7f..41c93797d9a 100644 --- a/src/ir/memory-utils.h +++ b/src/ir/memory-utils.h @@ -27,10 +27,11 @@ namespace wasm::MemoryUtils { -// Flattens memory into a single data segment, or no segment. If there is -// a segment, it starts at 0. -// Returns true if successful (e.g. relocatable segments cannot be flattened). -bool flatten(Module& wasm); +// Flattens memory into a single data segment, or no segment. +// With the introduction of multi-memories, at most flatten will now condense +// the wasm.dataSegments vector to a count == to wasm.memories.size(), with one +// data segment per memmory. +void flatten(Module& wasm); // Ensures that a memory exists (of minimal size). inline void ensureExists(Module* wasm) { diff --git a/src/tools/wasm-ctor-eval.cpp b/src/tools/wasm-ctor-eval.cpp index f2d48d8bfe6..920d8eff97a 100644 --- a/src/tools/wasm-ctor-eval.cpp +++ b/src/tools/wasm-ctor-eval.cpp @@ -144,6 +144,7 @@ struct CtorEvalExternalInterface : EvallingModuleRunner::ExternalInterface { std::map> linkedInstances; // A representation of the contents of wasm memory as we execute. + std::unordered_map> memories; std::vector memory; CtorEvalExternalInterface( @@ -158,7 +159,7 @@ struct CtorEvalExternalInterface : EvallingModuleRunner::ExternalInterface { clearApplyState(); // If nothing was ever written to memory then there is nothing to update. - if (!memory.empty()) { + if (memories.empty()) { applyMemoryToModule(); } @@ -844,7 +845,9 @@ void evalCtors(Module& wasm, static bool canEval(Module& wasm) { // Check if we can flatten memory. We need to do so currently because of how // we assume memory is simple and flat. TODO - if (!MemoryUtils::flatten(wasm)) { + size_t segCount = wasm.dataSegments.size(); + MemoryUtils::flatten(wasm); + if (segCount == wasm.dataSegments.size()) { std::cout << " ...stopping since could not flatten memory\n"; return false; } From b844b036a0a06cbb80603b1530da53ba6b2dfbb6 Mon Sep 17 00:00:00 2001 From: Ashley Nelson Date: Tue, 28 Jun 2022 04:46:39 +0000 Subject: [PATCH 23/78] updating --- src/tools/wasm-ctor-eval.cpp | 91 ++++++++++++++++++++++-------------- src/wasm-interpreter.h | 1 + 2 files changed, 57 insertions(+), 35 deletions(-) diff --git a/src/tools/wasm-ctor-eval.cpp b/src/tools/wasm-ctor-eval.cpp index 920d8eff97a..094db4dc23a 100644 --- a/src/tools/wasm-ctor-eval.cpp +++ b/src/tools/wasm-ctor-eval.cpp @@ -145,7 +145,6 @@ struct CtorEvalExternalInterface : EvallingModuleRunner::ExternalInterface { // A representation of the contents of wasm memory as we execute. std::unordered_map> memories; - std::vector memory; CtorEvalExternalInterface( std::map> linkedInstances_ = @@ -158,8 +157,8 @@ struct CtorEvalExternalInterface : EvallingModuleRunner::ExternalInterface { void applyToModule() { clearApplyState(); - // If nothing was ever written to memory then there is nothing to update. - if (memories.empty()) { + // If nothing was ever written to memories then there is nothing to update. + if (!memories.empty()) { applyMemoryToModule(); } @@ -334,26 +333,26 @@ struct CtorEvalExternalInterface : EvallingModuleRunner::ExternalInterface { // called during initialization void tableStore(Name tableName, Index index, const Literal& value) override {} - int8_t load8s(Address addr, Name memoryName = Name::fromInt(0)) override { return doLoad(addr); } - uint8_t load8u(Address addr, Name memoryName = Name::fromInt(0)) override { return doLoad(addr); } - int16_t load16s(Address addr, Name memoryName = Name::fromInt(0)) override { return doLoad(addr); } - uint16_t load16u(Address addr, Name memoryName = Name::fromInt(0)) override { return doLoad(addr); } - int32_t load32s(Address addr, Name memoryName = Name::fromInt(0)) override { return doLoad(addr); } - uint32_t load32u(Address addr, Name memoryName = Name::fromInt(0)) override { return doLoad(addr); } - int64_t load64s(Address addr, Name memoryName = Name::fromInt(0)) override { return doLoad(addr); } - uint64_t load64u(Address addr, Name memoryName = Name::fromInt(0)) override { return doLoad(addr); } + int8_t load8s(Address addr, Name memoryName = Name::fromInt(0)) override { return doLoad(addr, memoryName); } + uint8_t load8u(Address addr, Name memoryName = Name::fromInt(0)) override { return doLoad(addr, memoryName); } + int16_t load16s(Address addr, Name memoryName = Name::fromInt(0)) override { return doLoad(addr, memoryName); } + uint16_t load16u(Address addr, Name memoryName = Name::fromInt(0)) override { return doLoad(addr, memoryName); } + int32_t load32s(Address addr, Name memoryName = Name::fromInt(0)) override { return doLoad(addr, memoryName); } + uint32_t load32u(Address addr, Name memoryName = Name::fromInt(0)) override { return doLoad(addr, memoryName); } + int64_t load64s(Address addr, Name memoryName = Name::fromInt(0)) override { return doLoad(addr, memoryName); } + uint64_t load64u(Address addr, Name memoryName = Name::fromInt(0)) override { return doLoad(addr, memoryName); } void store8(Address addr, int8_t value, Name memoryName = Name::fromInt(0)) override { - doStore(addr, value); + doStore(addr, value, memoryName); } void store16(Address addr, int16_t value, Name memoryName = Name::fromInt(0)) override { - doStore(addr, value); + doStore(addr, value, memoryName); } void store32(Address addr, int32_t value, Name memoryName = Name::fromInt(0)) override { - doStore(addr, value); + doStore(addr, value, memoryName); } void store64(Address addr, int64_t value, Name memoryName = Name::fromInt(0)) override { - doStore(addr, value); + doStore(addr, value, memoryName); } bool growMemory(Name memoryName, Address /*oldSize*/, Address /*newSize*/) override { @@ -383,8 +382,12 @@ struct CtorEvalExternalInterface : EvallingModuleRunner::ExternalInterface { private: // TODO: handle unaligned too, see shell-interface - // TODO (nashley): Change the below fns to use a specific memory - template T* getMemory(Address address) { + template T* getMemory(Address address, Name memoryName) { + auto it = memories.find(memoryName); + if (it == memories.end()) { + Fatal() << "memory not found: " << memoryName; + } + auto& memory = it->second; // resize the memory buffer as needed. auto max = address + sizeof(T); if (max > memory.size()) { @@ -393,15 +396,15 @@ struct CtorEvalExternalInterface : EvallingModuleRunner::ExternalInterface { return (T*)(&memory[address]); } - template void doStore(Address address, T value) { + template void doStore(Address address, T value, Name memoryName) { // do a memcpy to avoid undefined behavior if unaligned - memcpy(getMemory(address), &value, sizeof(T)); + memcpy(getMemory(address, memoryName), &value, sizeof(T)); } - template T doLoad(Address address) { + template T doLoad(Address address, Name memoryName) { // do a memcpy to avoid undefined behavior if unaligned T ret; - memcpy(&ret, getMemory(address), sizeof(T)); + memcpy(&ret, getMemory(address, memoryName), sizeof(T)); return ret; } @@ -422,21 +425,39 @@ struct CtorEvalExternalInterface : EvallingModuleRunner::ExternalInterface { } void applyMemoryToModule() { - // Memory must have already been flattened into the standard form: one - // segment at offset 0, or none. - if (wasm->dataSegments.empty()) { - Builder builder(*wasm); - auto curr = builder.makeDataSegment(); - curr->offset = builder.makeConst(int32_t(0)); - curr->setName(Name::fromInt(0), false); - wasm->dataSegments.push_back(std::move(curr)); - } - auto& segment = wasm->dataSegments[0]; - assert(segment->offset->cast()->value.getInteger() == 0); + // One of the memories must have already had its data segments flattened into the standard form: one + // segment at offset 0, or none. Set the memory on the flattened data + // segment or create a new one if none exists. + auto it = memories.begin(); + while (it != memories.end()) { + size_t segCount = 0; + auto memName = it->first; + auto base = std::string(memName.c_str()); + auto segName = Name(base + "_flattened"); + auto curr = wasm->getDataSegmentOrNull(segName); + for (auto& seg : wasm->dataSegments) { + if (seg->memory == memName) { + segCount++; + } + } + // Preventing making a new segment for a memory that was never flattened + if (segCount > 1) { + continue; + } + if (!curr) { + Builder builder(*wasm); + auto newSeg = builder.makeDataSegment(); + newSeg->offset = builder.makeConst(int32_t(0)); + newSeg->setName(Name::fromInt(wasm->dataSegments.size()-1), false); + wasm->dataSegments.push_back(std::move(newSeg)); + curr = &*newSeg; + } + assert(curr->offset->cast()->value.getInteger() == 0); - // Copy the current memory contents after execution into the Module's - // memory. - segment->data = memory; + // Copy the current memory contents after execution into the Module's + // memory. + curr->data = it->second; + } } // Serializing GC data requires more work than linear memory, because diff --git a/src/wasm-interpreter.h b/src/wasm-interpreter.h index f8b5a1c4443..7dacc894bef 100644 --- a/src/wasm-interpreter.h +++ b/src/wasm-interpreter.h @@ -2603,6 +2603,7 @@ class ModuleRunnerBase : public ExpressionRunner { size.finalize(); MemoryInit init; + init.memory = segment->memory; init.segment = i; init.dest = segment->offset; init.offset = &offset; From 4c5557079872c88b9d674653c5ab1c60163bbd0f Mon Sep 17 00:00:00 2001 From: Ashley Nelson Date: Tue, 28 Jun 2022 23:30:14 +0000 Subject: [PATCH 24/78] update --- src/ir/memory-utils.cpp | 119 ++++------- src/ir/memory-utils.h | 2 +- src/passes/AlignmentLowering.cpp | 16 +- src/passes/AvoidReinterprets.cpp | 5 +- src/passes/InstrumentMemory.cpp | 17 +- src/passes/Memory64Lowering.cpp | 103 +++++---- src/passes/OptimizeInstructions.cpp | 10 +- src/passes/RemoveUnusedModuleElements.cpp | 97 +++++---- src/tools/wasm-ctor-eval.cpp | 4 +- src/tools/wasm-shell.cpp | 11 +- src/tools/wasm-split/instrumenter.cpp | 4 +- src/wasm-s-parser.h | 1 + src/wasm.h | 2 + src/wasm/wasm-s-parser.cpp | 249 ++++++++++------------ src/wasm/wasm-validator.cpp | 35 +-- src/wasm/wasm.cpp | 28 +++ 16 files changed, 354 insertions(+), 349 deletions(-) diff --git a/src/ir/memory-utils.cpp b/src/ir/memory-utils.cpp index 31ee9630fdf..f1d2eeaadde 100644 --- a/src/ir/memory-utils.cpp +++ b/src/ir/memory-utils.cpp @@ -19,90 +19,59 @@ namespace wasm::MemoryUtils { -void flatten(Module& wasm) { - auto& dataSegments = wasm.dataSegments; - if (dataSegments.size() == 0) { - return; +bool flatten(Module& wasm) { + if (module.memories.size() > 1) { + return false; } - - size_t resizeCount = dataSegments.size(); - for (auto& memory : wasm.memories) { - // The presence of any MemoryInit instructions is a problem because they care - // about segment identity, which flattening gets rid of ( when it merges them - // all into one big segment). - ModuleUtils::ParallelFunctionAnalysis analysis( - wasm, [&](Function* func, bool& hasMemoryInit) { - if (func->imported()) { - return; - } - for (auto* init : FindAll(func->body).list) { - if (init->memory == memory->name) { - hasMemoryInit = true; - break; - } - } - }); - - bool shouldContinue = false; - for (auto& [func, hasMemoryInit] : analysis.map) { - if (hasMemoryInit) { - shouldContinue = true; - break; + // The presence of any MemoryInit instructions is a problem because they care + // about segment identity, which flattening gets rid of ( when it merges them + // all into one big segment). + ModuleUtils::ParallelFunctionAnalysis analysis( + wasm, [&](Function* func, bool& hasMemoryInit) { + if (func->imported()) { + return; } - } - if (shouldContinue) { - continue; - } + hasMemoryInit = FindAll(func->body).list.size() > 0; + }); - shouldContinue = false; - for (auto& segment : dataSegments) { - if (segment->memory != memory->name) { - continue; - } - if (segment->isPassive) { - shouldContinue = true; - break; - } - auto* offset = segment->offset->dynCast(); - if (!offset) { - shouldContinue = true; - break; - } + for (auto& [func, hasMemoryInit] : analysis.map) { + if (hasMemoryInit) { + return false; } + } - if (shouldContinue) { - continue; - } + auto& dataSegments = wasm.dataSegments; - std::vector data; - for (auto& segment : dataSegments) { - if (segment->memory != memory->name) { - continue; - } - auto* offset = segment->offset->dynCast(); - Index start = offset->value.getInteger(); - Index end = start + segment->data.size(); - if (end > data.size()) { - data.resize(end); - } - std::copy(segment->data.begin(), segment->data.end(), data.begin() + start); + if (dataSegments.size() == 0) { + return true; + } + + std::vector data; + for (auto& segment : dataSegments) { + if (segment->isPassive) { + return false; } - auto base = std::string(memory->name.c_str()); - auto segName = Name(base + "_flattened"); - auto seg = Builder::makeDataSegment(segName); - seg->offset->cast()->value = Literal(int32_t(0)); - seg->data.swap(data); - wasm.addDataSegment(std::move(seg)); - resizeCount++; - wasm.removeDataSegments([&](DataSegment* curr) { - if (curr->name != segName) { - resizeCount--; - return true; - } + auto* offset = segment->offset->dynCast(); + if (!offset) { return false; - }); + } } - dataSegments.resize(resizeCount); + for (auto& segment : dataSegments) { + auto* offset = segment->offset->dynCast(); + Index start = offset->value.getInteger(); + Index end = start + segment->data.size(); + if (end > data.size()) { + data.resize(end); + } + std::copy(segment->data.begin(), segment->data.end(), data.begin() + start); + } + dataSegments.resize(1); + dataSegments[0]->offset->cast()->value = Literal(int32_t(0)); + dataSegments[0]->data.swap(data); + wasm.removeDataSegments( + [&](DataSegment* curr) { return curr->name != dataSegments[0]->name; }); + + return true; } } // namespace wasm::MemoryUtils diff --git a/src/ir/memory-utils.h b/src/ir/memory-utils.h index 41c93797d9a..759335818ea 100644 --- a/src/ir/memory-utils.h +++ b/src/ir/memory-utils.h @@ -31,7 +31,7 @@ namespace wasm::MemoryUtils { // With the introduction of multi-memories, at most flatten will now condense // the wasm.dataSegments vector to a count == to wasm.memories.size(), with one // data segment per memmory. -void flatten(Module& wasm); +bool flatten(Module& wasm); // Ensures that a memory exists (of minimal size). inline void ensureExists(Module* wasm) { diff --git a/src/passes/AlignmentLowering.cpp b/src/passes/AlignmentLowering.cpp index 9492633c9f6..d0ceeb6107b 100644 --- a/src/passes/AlignmentLowering.cpp +++ b/src/passes/AlignmentLowering.cpp @@ -34,8 +34,8 @@ struct AlignmentLowering : public WalkerPass> { if (curr->align == 0 || curr->align == curr->bytes) { return curr; } - assert(!getModule()->memories.empty()); - auto indexType = getModule()->memories[0]->indexType; + auto mem = getModule()->getMemory(curr->memory); + auto indexType = mem->indexType; Builder builder(*getModule()); assert(curr->type == Type::i32); auto temp = builder.addVar(getFunction(), indexType); @@ -144,8 +144,8 @@ struct AlignmentLowering : public WalkerPass> { } Builder builder(*getModule()); assert(curr->value->type == Type::i32); - assert(!getModule()->memories.empty()); - auto indexType = getModule()->memories[0]->indexType; + auto mem = getModule()->getMemory(curr->memory); + auto indexType = mem->indexType; auto tempPtr = builder.addVar(getFunction(), indexType); auto tempValue = builder.addVar(getFunction(), Type::i32); auto* block = @@ -274,8 +274,8 @@ struct AlignmentLowering : public WalkerPass> { break; } // Load two 32-bit pieces, and combine them. - assert(!getModule()->memories.empty()); - auto indexType = getModule()->memories[0]->indexType; + auto mem = getModule()->getMemory(curr->memory); + auto indexType = mem->indexType; auto temp = builder.addVar(getFunction(), indexType); auto* set = builder.makeLocalSet(temp, curr->ptr); Expression* low = @@ -356,8 +356,8 @@ struct AlignmentLowering : public WalkerPass> { value = builder.makeUnary(ReinterpretFloat64, value); } // Store as two 32-bit pieces. - assert(!getModule()->memories.empty()); - auto indexType = getModule()->memories[0]->indexType; + auto mem = getModule()->getMemory(curr->memory); + auto indexType = mem->indexType; auto tempPtr = builder.addVar(getFunction(), indexType); auto* setPtr = builder.makeLocalSet(tempPtr, curr->ptr); auto tempValue = builder.addVar(getFunction(), Type::i64); diff --git a/src/passes/AvoidReinterprets.cpp b/src/passes/AvoidReinterprets.cpp index 06c11e0e672..feea4871fc4 100644 --- a/src/passes/AvoidReinterprets.cpp +++ b/src/passes/AvoidReinterprets.cpp @@ -115,12 +115,11 @@ struct AvoidReinterprets : public WalkerPass> { void optimize(Function* func) { std::set unoptimizables; - assert(!getModule()->memories.empty()); - auto indexType = getModule()->memories[0]->indexType; for (auto& [load, info] : infos) { if (info.reinterpreted && canReplaceWithReinterpret(load)) { // We should use another load here, to avoid reinterprets. - info.ptrLocal = Builder::addVar(func, indexType); + auto mem = getModule()->getMemory(load->memory); + info.ptrLocal = Builder::addVar(func, mem->indexType); info.reinterpretedLocal = Builder::addVar(func, load->type.reinterpret()); } else { diff --git a/src/passes/InstrumentMemory.cpp b/src/passes/InstrumentMemory.cpp index 9f009729479..ac99c72b239 100644 --- a/src/passes/InstrumentMemory.cpp +++ b/src/passes/InstrumentMemory.cpp @@ -133,7 +133,6 @@ struct InstrumentMemory : public WalkerPass> { void visitStore(Store* curr) { id++; Builder builder(*getModule()); - assert(!getModule()->memories.empty()); auto mem = getModule()->getMemory(curr->memory); auto indexType = mem->indexType; auto offset = builder.makeConstPtr(curr->offset.addr, indexType); @@ -249,20 +248,24 @@ struct InstrumentMemory : public WalkerPass> { } void visitModule(Module* curr) { - assert(!curr->memories.empty()); - auto indexType = curr->memories[0]->indexType; + for (auto& memory : curr->memories) { + auto indexType = memory->indexType; + auto underbar = std::string("-"); + Name loadName = load_ptr.c_str() + underbar + memory->name.c_str(); + addImport( + curr, loadName, {Type::i32, Type::i32, indexType, indexType}, indexType); + Name storeName = store_ptr.c_str() + underbar + memory->name.c_str(); + addImport( + curr, storeName, {Type::i32, Type::i32, indexType, indexType}, indexType); + } // Load. - addImport( - curr, load_ptr, {Type::i32, Type::i32, indexType, indexType}, indexType); addImport(curr, load_val_i32, {Type::i32, Type::i32}, Type::i32); addImport(curr, load_val_i64, {Type::i32, Type::i64}, Type::i64); addImport(curr, load_val_f32, {Type::i32, Type::f32}, Type::f32); addImport(curr, load_val_f64, {Type::i32, Type::f64}, Type::f64); // Store. - addImport( - curr, store_ptr, {Type::i32, Type::i32, indexType, indexType}, indexType); addImport(curr, store_val_i32, {Type::i32, Type::i32}, Type::i32); addImport(curr, store_val_i64, {Type::i32, Type::i64}, Type::i64); addImport(curr, store_val_f32, {Type::i32, Type::f32}, Type::f32); diff --git a/src/passes/Memory64Lowering.cpp b/src/passes/Memory64Lowering.cpp index 4d3af828cda..4fdf0bf4282 100644 --- a/src/passes/Memory64Lowering.cpp +++ b/src/passes/Memory64Lowering.cpp @@ -30,90 +30,103 @@ namespace wasm { struct Memory64Lowering : public WalkerPass> { void run(PassRunner* runner, Module* module) override { - assert(!module->memories.empty()); - if (module->memories[0]->is64()) { - super::run(runner, module); - } + super::run(runner, module); } - void wrapAddress64(Expression*& ptr) { + void wrapAddress64(Expression*& ptr, Name memName) { if (ptr->type == Type::unreachable) { return; } auto& module = *getModule(); - assert(!module.memories.empty()); - assert(module.memories[0]->is64()); - assert(ptr->type == Type::i64); - Builder builder(module); - ptr = builder.makeUnary(UnaryOp::WrapInt64, ptr); + auto memory = module.getMemory(memName); + if (memory->is64()) { + assert(ptr->type == Type::i64); + Builder builder(module); + ptr = builder.makeUnary(UnaryOp::WrapInt64, ptr); + } } - void extendAddress64(Expression*& ptr) { + void extendAddress64(Expression*& ptr, Name memName) { if (ptr->type == Type::unreachable) { return; } auto& module = *getModule(); - assert(!module.memories.empty()); - assert(module.memories[0]->is64()); - assert(ptr->type == Type::i64); - ptr->type = Type::i32; - Builder builder(module); - ptr = builder.makeUnary(UnaryOp::ExtendUInt32, ptr); + auto memory = module.getMemory(memName); + if (memory->is64()) { + assert(ptr->type == Type::i64); + ptr->type = Type::i32; + Builder builder(module); + ptr = builder.makeUnary(UnaryOp::ExtendUInt32, ptr); + } } - void visitLoad(Load* curr) { wrapAddress64(curr->ptr); } + void visitLoad(Load* curr) { wrapAddress64(curr->ptr, curr->memory); } - void visitStore(Store* curr) { wrapAddress64(curr->ptr); } + void visitStore(Store* curr) { wrapAddress64(curr->ptr, curr->memory); } void visitMemorySize(MemorySize* curr) { - auto size = static_cast(curr); - extendAddress64(size); - curr->ptrType = Type::i32; - replaceCurrent(size); + auto& module = *getModule(); + auto memory = module.getMemory(curr->memory); + if (memory->is64()) { + auto size = static_cast(curr); + extendAddress64(size, curr->memory); + curr->ptrType = Type::i32; + replaceCurrent(size); + } } void visitMemoryGrow(MemoryGrow* curr) { - wrapAddress64(curr->delta); - auto size = static_cast(curr); - extendAddress64(size); - curr->ptrType = Type::i32; - replaceCurrent(size); + auto& module = *getModule(); + auto memory = module.getMemory(curr->memory); + if (memory->is64()) { + wrapAddress64(curr->delta, curr->memory); + auto size = static_cast(curr); + extendAddress64(size, curr->memory); + curr->ptrType = Type::i32; + replaceCurrent(size); + } } - void visitMemoryInit(MemoryInit* curr) { wrapAddress64(curr->dest); } + void visitMemoryInit(MemoryInit* curr) { wrapAddress64(curr->dest, curr->memory); } void visitMemoryFill(MemoryFill* curr) { - wrapAddress64(curr->dest); - wrapAddress64(curr->size); + wrapAddress64(curr->dest, curr->memory); + wrapAddress64(curr->size, curr->memory); } void visitMemoryCopy(MemoryCopy* curr) { - wrapAddress64(curr->dest); - wrapAddress64(curr->source); - wrapAddress64(curr->size); + wrapAddress64(curr->dest, curr->memory); + wrapAddress64(curr->source, curr->memory); + wrapAddress64(curr->size, curr->memory); } - void visitAtomicRMW(AtomicRMW* curr) { wrapAddress64(curr->ptr); } + void visitAtomicRMW(AtomicRMW* curr) { wrapAddress64(curr->ptr, curr->memory); } - void visitAtomicCmpxchg(AtomicCmpxchg* curr) { wrapAddress64(curr->ptr); } + void visitAtomicCmpxchg(AtomicCmpxchg* curr) { wrapAddress64(curr->ptr, curr->memory); } - void visitAtomicWait(AtomicWait* curr) { wrapAddress64(curr->ptr); } + void visitAtomicWait(AtomicWait* curr) { wrapAddress64(curr->ptr, curr->memory); } - void visitAtomicNotify(AtomicNotify* curr) { wrapAddress64(curr->ptr); } + void visitAtomicNotify(AtomicNotify* curr) { wrapAddress64(curr->ptr, curr->memory); } void visitMemory(Memory* memory) { // This is visited last. - memory->indexType = Type::i32; - if (memory->hasMax() && memory->max > Memory::kMaxSize32) { - memory->max = Memory::kMaxSize32; + if (memory->is64()) { + memory->indexType = Type::i32; + if (memory->hasMax() && memory->max > Memory::kMaxSize32) { + memory->max = Memory::kMaxSize32; + } } } void visitDataSegment(DataSegment* segment) { - if (!segment->isPassive) { - auto* c = segment->offset->cast(); - c->value = Literal(static_cast(c->value.geti64())); - c->type = Type::i32; + auto& module = *getModule(); + auto memory = module.getMemory(segment->memory); + if (memory->is64()) { + if (!segment->isPassive) { + auto* c = segment->offset->cast(); + c->value = Literal(static_cast(c->value.geti64())); + c->type = Type::i32; + } } } }; diff --git a/src/passes/OptimizeInstructions.cpp b/src/passes/OptimizeInstructions.cpp index 55f35802b9d..732903155c2 100644 --- a/src/passes/OptimizeInstructions.cpp +++ b/src/passes/OptimizeInstructions.cpp @@ -1159,14 +1159,14 @@ struct OptimizeInstructions if (curr->type == Type::unreachable) { return; } - optimizeMemoryAccess(curr->ptr, curr->offset); + optimizeMemoryAccess(curr->ptr, curr->offset, curr->memory); } void visitStore(Store* curr) { if (curr->type == Type::unreachable) { return; } - optimizeMemoryAccess(curr->ptr, curr->offset); + optimizeMemoryAccess(curr->ptr, curr->offset, curr->memory); optimizeStoredValue(curr->value, curr->bytes); if (auto* unary = curr->value->dynCast()) { if (unary->op == WrapInt64) { @@ -2912,7 +2912,7 @@ struct OptimizeInstructions } // fold constant factors into the offset - void optimizeMemoryAccess(Expression*& ptr, Address& offset) { + void optimizeMemoryAccess(Expression*& ptr, Address& offset, Name memory) { // ptr may be a const, but it isn't worth folding that in (we still have a // const); in fact, it's better to do the opposite for gzip purposes as well // as for readability. @@ -2920,8 +2920,8 @@ struct OptimizeInstructions if (last) { uint64_t value64 = last->value.getInteger(); uint64_t offset64 = offset; - assert(!getModule()->memories.empty()); - if (getModule()->memories[0]->is64()) { + auto mem = getModule()->getMemory(memory); + if (mem->is64()) { last->value = Literal(int64_t(value64 + offset64)); offset = 0; } else { diff --git a/src/passes/RemoveUnusedModuleElements.cpp b/src/passes/RemoveUnusedModuleElements.cpp index e7ebb5bcde7..44d04212e15 100644 --- a/src/passes/RemoveUnusedModuleElements.cpp +++ b/src/passes/RemoveUnusedModuleElements.cpp @@ -32,7 +32,7 @@ namespace wasm { -enum class ModuleElementKind { Function, Global, Tag, Table, ElementSegment }; +enum class ModuleElementKind { Function, Global, Tag, Table, ElementSegment, Memory, DataSegment }; typedef std::pair ModuleElement; @@ -43,7 +43,6 @@ struct ReachabilityAnalyzer : public PostWalker { Module* module; std::vector queue; std::set reachable; - bool usesMemory = false; // The signatures that we have seen a call_ref for. When we see a RefFunc of a // signature in here, we know it is reachable. @@ -104,6 +103,10 @@ struct ReachabilityAnalyzer : public PostWalker { *module, curr.second, [&](ElementSegment* segment) { walk(segment->offset); }); + } else if (kind == ModuleElementKind::Memory) { + ModuleUtils::iterMemorySegments(*module, curr.second, [&](DataSegment* segment) { + walk(segment->offset); + }); } } } @@ -123,6 +126,14 @@ struct ReachabilityAnalyzer : public PostWalker { }); } + // Add a reference to a memory and all its segments. + void maybeAddMemory(Name name) { + maybeAdd(ModuleElement(ModuleElementKind::Memory, name)); + ModuleUtils::iterMemorySegments(*module, name, [&](DataSegment* segment) { + maybeAdd(ModuleElement(ModuleElementKind::DataSegment, segment->name)); + }); + } + void visitCall(Call* curr) { maybeAdd(ModuleElement(ModuleElementKind::Function, curr->target)); @@ -179,26 +190,25 @@ struct ReachabilityAnalyzer : public PostWalker { calledSignatures.insert(type); } - void visitGlobalGet(GlobalGet* curr) { - maybeAdd(ModuleElement(ModuleElementKind::Global, curr->name)); - } - void visitGlobalSet(GlobalSet* curr) { - maybeAdd(ModuleElement(ModuleElementKind::Global, curr->name)); + void visitGlobalGet(GlobalGet* curr) { maybeAddMemory(curr->name); } + void visitGlobalSet(GlobalSet* curr) { maybeAddMemory(curr->name); } + void visitLoad(Load* curr) { maybeAddMemory(curr->memory); } + void visitStore(Store* curr) { maybeAddMemory(curr->memory); } + void visitAtomicCmpxchg(AtomicCmpxchg* curr) { maybeAddMemory(curr->memory); } + void visitAtomicRMW(AtomicRMW* curr) { maybeAddMemory(curr->memory); } + void visitAtomicWait(AtomicWait* curr) { maybeAddMemory(curr->memory); } + void visitAtomicNotify(AtomicNotify* curr) { maybeAddMemory(curr->memory); } + // TODO (nashley): How to get memory name for atomic fence, is it parsed? + //void visitAtomicFence(AtomicFence* curr) { maybeAddMemory(curr->name); } + void visitMemoryInit(MemoryInit* curr) { maybeAddMemory(curr->memory); } + void visitDataDrop(DataDrop* curr) { + auto seg = module->getDataSegment(Name::fromInt(curr->segment)); + maybeAddMemory(seg->memory); } - - void visitLoad(Load* curr) { usesMemory = true; } - void visitStore(Store* curr) { usesMemory = true; } - void visitAtomicCmpxchg(AtomicCmpxchg* curr) { usesMemory = true; } - void visitAtomicRMW(AtomicRMW* curr) { usesMemory = true; } - void visitAtomicWait(AtomicWait* curr) { usesMemory = true; } - void visitAtomicNotify(AtomicNotify* curr) { usesMemory = true; } - void visitAtomicFence(AtomicFence* curr) { usesMemory = true; } - void visitMemoryInit(MemoryInit* curr) { usesMemory = true; } - void visitDataDrop(DataDrop* curr) { usesMemory = true; } - void visitMemoryCopy(MemoryCopy* curr) { usesMemory = true; } - void visitMemoryFill(MemoryFill* curr) { usesMemory = true; } - void visitMemorySize(MemorySize* curr) { usesMemory = true; } - void visitMemoryGrow(MemoryGrow* curr) { usesMemory = true; } + void visitMemoryCopy(MemoryCopy* curr) { maybeAddMemory(curr->memory); } + void visitMemoryFill(MemoryFill* curr) { maybeAddMemory(curr->memory); } + void visitMemorySize(MemorySize* curr) { maybeAddMemory(curr->memory); } + void visitMemoryGrow(MemoryGrow* curr) { maybeAddMemory(curr->memory); } void visitRefFunc(RefFunc* curr) { auto type = curr->type.getHeapType(); if (calledSignatures.count(type)) { @@ -259,8 +269,14 @@ struct RemoveUnusedModuleElements : public Pass { roots.emplace_back(ModuleElementKind::ElementSegment, segment->name); } }); + ModuleUtils::iterActiveDataSegments( + *module, [&](DataSegment* segment) { + auto memory = module->getMemory(segment->memory); + if (memory->imported() && !segment->data.empty()) { + roots.emplace_back(ModuleElementKind::DataSegment, segment->name); + } + }); // Exports are roots. - bool exportsMemory = false; for (auto& curr : module->exports) { if (curr->kind == ExternalKind::Function) { roots.emplace_back(ModuleElementKind::Function, curr->value); @@ -276,15 +292,14 @@ struct RemoveUnusedModuleElements : public Pass { segment->name); }); } else if (curr->kind == ExternalKind::Memory) { - exportsMemory = true; + roots.emplace_back(ModuleElementKind::Memory, curr->value); + ModuleUtils::iterMemorySegments( + *module, curr->value, [&](DataSegment* segment) { + roots.emplace_back(ModuleElementKind::DataSegment, + segment->name); + }); } } - // Check for special imports, which are roots. - bool importsMemory = false; - assert(!module->memories.empty()); - if (module->memories[0]->imported()) { - importsMemory = true; - } // For now, all functions that can be called indirectly are marked as roots. // TODO: Compute this based on which ElementSegments are actually reachable, // and which functions have a call_indirect of the proper type. @@ -363,19 +378,17 @@ struct RemoveUnusedModuleElements : public Pass { // to a function from an element segment, we may be able to remove // that function, etc.) - // Handle the memory - if (!exportsMemory && !analyzer.usesMemory) { - if (!importsMemory) { - // The memory is unobservable to the outside, we can remove the - // contents. - module->dataSegments.clear(); - } - if (module->dataSegments.empty()) { - module->memories[0]->module = module->memories[0]->base = Name(); - module->memories[0]->initial = 0; - module->memories[0]->max = 0; - } - } + // Since we've removed all empty data segments, here we mark all memories + // that have a segment left. + std::unordered_set nonemptyMemories; + ModuleUtils::iterActiveDataSegments( + *module, + [&](DataSegment* segment) { nonemptyMemories.insert(segment->memory); }); + module->removeMemories([&](Memory* curr) { + return (nonemptyMemories.count(curr->name) == 0 || !curr->imported()) && + analyzer.reachable.count( + ModuleElement(ModuleElementKind::Memory, curr->name)) == 0; + }); } }; diff --git a/src/tools/wasm-ctor-eval.cpp b/src/tools/wasm-ctor-eval.cpp index 094db4dc23a..5d3c4d1c015 100644 --- a/src/tools/wasm-ctor-eval.cpp +++ b/src/tools/wasm-ctor-eval.cpp @@ -866,9 +866,7 @@ void evalCtors(Module& wasm, static bool canEval(Module& wasm) { // Check if we can flatten memory. We need to do so currently because of how // we assume memory is simple and flat. TODO - size_t segCount = wasm.dataSegments.size(); - MemoryUtils::flatten(wasm); - if (segCount == wasm.dataSegments.size()) { + if (!MemoryUtils::flatten(wasm)) { std::cout << " ...stopping since could not flatten memory\n"; return false; } diff --git a/src/tools/wasm-shell.cpp b/src/tools/wasm-shell.cpp index fc80846739a..d50e8601ef3 100644 --- a/src/tools/wasm-shell.cpp +++ b/src/tools/wasm-shell.cpp @@ -284,9 +284,7 @@ class Shell { } } }); - if (wasm.memories[0]->imported()) { - reportUnknownImport(&*wasm.memories[0]); - } + ModuleUtils::iterImportedMemories(wasm, reportUnknownImport); } if (!invalid && id == ASSERT_TRAP) { @@ -352,11 +350,10 @@ class Shell { spectest->addExport( builder.makeExport("table", Name::fromInt(0), ExternalKind::Table)); - spectest->addMemory(builder.makeMemory()); - spectest->memories[0]->initial = 1; - spectest->memories[0]->max = 2; + spectest->addMemory( + builder.makeMemory(Name::fromInt(0), 1, 2)); spectest->addExport(builder.makeExport( - "memory", spectest->memories[0]->name, ExternalKind::Memory)); + "memory", Name::fromInt(0), ExternalKind::Memory)); modules["spectest"].swap(spectest); modules["spectest"]->features = FeatureSet::All; diff --git a/src/tools/wasm-split/instrumenter.cpp b/src/tools/wasm-split/instrumenter.cpp index e97d5da1cd6..5b2d8ead74f 100644 --- a/src/tools/wasm-split/instrumenter.cpp +++ b/src/tools/wasm-split/instrumenter.cpp @@ -173,8 +173,8 @@ void Instrumenter::addProfileExport() { // Write the hash followed by all the time stamps Expression* writeData = - // TODO (nashley): Fix hardcoded name below - builder.makeStore(8, 0, 1, getAddr(), hashConst(), Type::i64, Name::fromInt(0)); + // TODO (nashley): Fix hardcoded name below + builder.makeStore(8, 0, 1, getAddr(), hashConst(), Type::i64, Name::fromInt(0)); uint32_t offset = 8; switch (options.storageKind) { diff --git a/src/wasm-s-parser.h b/src/wasm-s-parser.h index e1d32fd0d92..f8d20708576 100644 --- a/src/wasm-s-parser.h +++ b/src/wasm-s-parser.h @@ -159,6 +159,7 @@ class SExpressionWasmBuilder { void preParseFunctionType(Element& s); bool isImport(Element& curr); void preParseImports(Element& curr); + void preParseMemory(Element& curr); void parseModuleElement(Element& curr); // function parsing state diff --git a/src/wasm.h b/src/wasm.h index e21c75d340e..604d2622a4e 100644 --- a/src/wasm.h +++ b/src/wasm.h @@ -2155,6 +2155,8 @@ class Module { public: Module() = default; + Memory getMemoryAtIdx(Index idx); + Export* getExport(Name name); Function* getFunction(Name name); Table* getTable(Name name); diff --git a/src/wasm/wasm-s-parser.cpp b/src/wasm/wasm-s-parser.cpp index 4b89890baa8..fb897b90713 100644 --- a/src/wasm/wasm-s-parser.cpp +++ b/src/wasm/wasm-s-parser.cpp @@ -378,6 +378,7 @@ SExpressionWasmBuilder::SExpressionWasmBuilder(Module& wasm, auto& s = *module[j]; preParseFunctionType(s); preParseImports(s); + preParseMemory(s); if (elementStartsWith(s, FUNC) && !isImport(s)) { implementedFunctions++; } @@ -423,20 +424,27 @@ void SExpressionWasmBuilder::preParseImports(Element& curr) { } } +void SExpressionWasmBuilder::preParseMemory(Element& curr) { + IString id = curr[0]->str(); + if (id == MEMORY) { + parseMemory(curr); + } +} + void SExpressionWasmBuilder::parseModuleElement(Element& curr) { if (isImport(curr)) { return; // already done } IString id = curr[0]->str(); + if (id == MEMORY) { + return; // already done + } if (id == START) { return parseStart(curr); } if (id == FUNC) { return parseFunction(curr); } - if (id == MEMORY) { - return parseMemory(curr); - } if (id == DATA) { return parseData(curr); } @@ -1371,17 +1379,15 @@ Expression* SExpressionWasmBuilder::makeDrop(Element& s) { } Expression* SExpressionWasmBuilder::makeMemorySize(Element& s) { - auto memName = Name::fromInt(0); - if (s[1]->dollared()) { - memName = s[1]->str(); - } - auto memory = wasm.getMemoryOrNull(memName); - if (!memory) { - throw ParseException("invalid memory name in memory.size", s.line, s.col); - } auto ret = allocator.alloc(); - ret->memory = memName; - if (memory->is64()) { + Index i = 1; + Index memIdx = 0; + if (s.size() > 1) { + memIdx = atoi(s[i]->c_str()); + } + auto mem = wasm.getMemoryAtIdx(memIdx); + ret->memory = mem.name; + if (mem.is64()) { ret->make64(); } ret->finalize(); @@ -1389,18 +1395,16 @@ Expression* SExpressionWasmBuilder::makeMemorySize(Element& s) { } Expression* SExpressionWasmBuilder::makeMemoryGrow(Element& s) { - size_t i = 1; - auto memName = Name::fromInt(0); - if (s[i]->dollared()) { - memName = s[i++]->str(); - } - auto memory = wasm.getMemoryOrNull(memName); - if (!memory) { - throw ParseException("invalid memory name in memory.grow", s.line, s.col); - } auto ret = allocator.alloc(); - ret->memory = memName; - if (memory->is64()) { + Index i = 1; + Index memIdx = 0; + if (s.size() > 2) { + std::cout << "in new init code\n"; + memIdx = atoi(s[i++]->c_str()); + } + auto mem = wasm.getMemoryAtIdx(memIdx); + ret->memory = mem.name; + if (mem.is64()) { ret->make64(); } ret->delta = parseExpression(s[i]); @@ -1924,17 +1928,15 @@ SExpressionWasmBuilder::makeLoad(Element& s, Type type, bool isAtomic) { ret->type = type; ret->bytes = parseMemBytes(extra, type.getByteSize()); ret->signed_ = extra[0] && extra[1] == 's'; - size_t i = 1; - auto memName = Name::fromInt(0); - if (s[i]->dollared()) { - auto memory = wasm.getMemoryOrNull(s[i]->str()); - if (!memory) { - throw ParseException("invalid memory name in load", s.line, s.col); - } else { - memName = s[i++]->str(); - } + Index i = 1; + Index memIdx = 0; + // Check to make sure this s[1] isn't a list of instructions or mem attributes + if (!s[i]->isList() && strncmp(s[i]->c_str(), "align", 5) != 0 && strncmp(s[i]->c_str(), "offset", 6) != 0) { + memIdx = atoi(s[i]->c_str()); + i++; } - ret->memory = memName; + auto mem = wasm.getMemoryAtIdx(memIdx); + ret->memory = mem.name; i = parseMemAttributes(i, s, ret->offset, ret->align, ret->bytes); ret->ptr = parseExpression(s[i]); ret->finalize(); @@ -1948,17 +1950,15 @@ SExpressionWasmBuilder::makeStore(Element& s, Type type, bool isAtomic) { ret->isAtomic = isAtomic; ret->valueType = type; ret->bytes = parseMemBytes(extra, type.getByteSize()); - size_t i = 1; - auto memName = Name::fromInt(0); - if (s[i]->dollared()) { - auto memory = wasm.getMemoryOrNull(s[i]->str()); - if (!memory) { - throw ParseException("invalid memory name in store", s.line, s.col); - } else { - memName = s[i++]->str(); - } + Index i = 1; + Index memIdx = 0; + // Check to make sure this str isn't the mem attributes + if (!s[i]->isList() && strncmp(s[i]->c_str(), "align", 5) != 0 && strncmp(s[i]->c_str(), "offset", 6) != 0) { + memIdx = atoi(s[i]->c_str()); + i++; } - ret->memory = memName; + auto mem = wasm.getMemoryAtIdx(memIdx); + ret->memory = mem.name; i = parseMemAttributes(i, s, ret->offset, ret->align, ret->bytes); ret->ptr = parseExpression(s[i]); ret->value = parseExpression(s[i + 1]); @@ -2003,17 +2003,15 @@ Expression* SExpressionWasmBuilder::makeAtomicRMW(Element& s, } else { throw ParseException("bad atomic rmw operator", s.line, s.col); } - size_t i = 1; - auto memName = Name::fromInt(0); - if (s[i]->dollared()) { - auto memory = wasm.getMemoryOrNull(s[i]->str()); - if (!memory) { - throw ParseException("invalid memory name in atomic RMW", s.line, s.col); - } else { - memName = s[i++]->str(); - } + Index i = 1; + Index memIdx = 0; + // Check to make sure this str isn't the mem attributes + if (!s[i]->isList() && strncmp(s[i]->c_str(), "align", 5) != 0 && strncmp(s[i]->c_str(), "offset", 6) != 0) { + memIdx = atoi(s[i]->c_str()); + i++; } - ret->memory = memName; + auto mem = wasm.getMemoryAtIdx(memIdx); + ret->memory = mem.name; Address align; i = parseMemAttributes(i, s, ret->offset, align, ret->bytes); if (align != ret->bytes) { @@ -2032,18 +2030,16 @@ Expression* SExpressionWasmBuilder::makeAtomicCmpxchg(Element& s, auto ret = allocator.alloc(); ret->type = type; ret->bytes = bytes; + Index i = 1; Address align; - size_t i = 1; - auto memName = Name::fromInt(0); - if (s[i]->dollared()) { - auto memory = wasm.getMemoryOrNull(s[i]->str()); - if (!memory) { - throw ParseException("invalid memory name in atomic cmpxchg", s.line, s.col); - } else { - memName = s[i++]->str(); - } + Index memIdx = 0; + // Check to make sure this str isn't the mem attributes + if (!s[i]->isList() && strncmp(s[i]->c_str(), "align", 5) != 0 && strncmp(s[i]->c_str(), "offset", 6) != 0) { + memIdx = atoi(s[i]->c_str()); + i++; } - ret->memory = memName; + auto mem = wasm.getMemoryAtIdx(memIdx); + ret->memory = mem.name; i = parseMemAttributes(i, s, ret->offset, align, ret->bytes); if (align != ret->bytes) { throw ParseException( @@ -2069,17 +2065,15 @@ Expression* SExpressionWasmBuilder::makeAtomicWait(Element& s, Type type) { } else { WASM_UNREACHABLE("Invalid prefix for memory.atomic.wait"); } - size_t i = 1; - auto memName = Name::fromInt(0); - if (s[i]->dollared()) { - auto memory = wasm.getMemoryOrNull(s[i]->str()); - if (!memory) { - throw ParseException("invalid memory name in memory.atomic.wait", s.line, s.col); - } else { - memName = s[i++]->str(); - } + Index i = 1; + Index memIdx = 0; + // Check to make sure this str isn't the mem attributes + if (!s[i]->isList() && strncmp(s[i]->c_str(), "align", 5) != 0 && strncmp(s[i]->c_str(), "offset", 6) != 0) { + memIdx = atoi(s[i]->c_str()); + i++; } - ret->memory = memName; + auto mem = wasm.getMemoryAtIdx(memIdx); + ret->memory = mem.name; i = parseMemAttributes(i, s, ret->offset, align, expectedAlign); if (align != expectedAlign) { throw ParseException( @@ -2095,18 +2089,16 @@ Expression* SExpressionWasmBuilder::makeAtomicWait(Element& s, Type type) { Expression* SExpressionWasmBuilder::makeAtomicNotify(Element& s) { auto ret = allocator.alloc(); ret->type = Type::i32; - Address align; - size_t i = 1; - auto memName = Name::fromInt(0); - if (s[i]->dollared()) { - auto memory = wasm.getMemoryOrNull(s[i]->str()); - if (!memory) { - throw ParseException("invalid memory name in memory.atomic.notify", s.line, s.col); - } else { - memName = s[i++]->str(); - } + Index i = 1; + Index memIdx = 0; + // Check to make sure this str isn't the mem attributes + if (!s[i]->isList() && strncmp(s[i]->c_str(), "align", 5) != 0 && strncmp(s[i]->c_str(), "offset", 6) != 0) { + memIdx = atoi(s[i]->c_str()); + i++; } - ret->memory = memName; + auto mem = wasm.getMemoryAtIdx(memIdx); + ret->memory = mem.name; + Address align; i = parseMemAttributes(i, s, ret->offset, align, 4); if (align != 4) { throw ParseException( @@ -2216,17 +2208,15 @@ Expression* SExpressionWasmBuilder::makeSIMDLoad(Element& s, SIMDLoadOp op) { defaultAlign = 8; break; } - size_t i = 1; - auto memName = Name::fromInt(0); - if (s[i]->dollared()) { - auto memory = wasm.getMemoryOrNull(s[i]->str()); - if (!memory) { - throw ParseException("invalid memory name in SIMDLoad", s.line, s.col); - } else { - memName = s[i++]->str(); - } + Index i = 1; + Index memIdx = 0; + // Check to make sure this str isn't the mem attributes + if (!s[i]->isList() && strncmp(s[i]->c_str(), "align", 5) != 0 && strncmp(s[i]->c_str(), "offset", 6) != 0) { + memIdx = atoi(s[i]->c_str()); + i++; } - ret->memory = memName; + auto mem = wasm.getMemoryAtIdx(memIdx); + ret->memory = mem.name; i = parseMemAttributes(i, s, ret->offset, ret->align, defaultAlign); ret->ptr = parseExpression(s[i]); ret->finalize(); @@ -2264,17 +2254,15 @@ SExpressionWasmBuilder::makeSIMDLoadStoreLane(Element& s, default: WASM_UNREACHABLE("Unexpected SIMDLoadStoreLane op"); } - size_t i = 1; - auto memName = Name::fromInt(0); - if (s[i]->dollared()) { - auto memory = wasm.getMemoryOrNull(s[i]->str()); - if (!memory) { - throw ParseException("invalid memory name in SIMDLoadStoreLane", s.line, s.col); - } else { - memName = s[i++]->str(); - } + Index i = 1; + Index memIdx = 0; + // Check to make sure this str isn't the mem attributes + if (!s[i]->isList() && strncmp(s[i]->c_str(), "align", 5) != 0 && strncmp(s[i]->c_str(), "offset", 6) != 0) { + memIdx = atoi(s[i]->c_str()); + i++; } - ret->memory = memName; + auto mem = wasm.getMemoryAtIdx(memIdx); + ret->memory = mem.name; i = parseMemAttributes(i, s, ret->offset, ret->align, defaultAlign); ret->index = parseLaneIndex(s[i++], lanes); ret->ptr = parseExpression(s[i++]); @@ -2285,17 +2273,14 @@ SExpressionWasmBuilder::makeSIMDLoadStoreLane(Element& s, Expression* SExpressionWasmBuilder::makeMemoryInit(Element& s) { auto ret = allocator.alloc(); - size_t i = 1; - auto memName = Name::fromInt(0); - if (s[i]->dollared()) { - auto memory = wasm.getMemoryOrNull(s[i]->str()); - if (!memory) { - throw ParseException("invalid memory name in memory.init", s.line, s.col); - } else { - memName = s[i++]->str(); - } + Index i = 1; + Index memIdx = 0; + if (s.size() > 5) { + std::cout << "in new init code\n"; + memIdx = atoi(s[i++]->c_str()); } - ret->memory = memName; + auto mem = wasm.getMemoryAtIdx(memIdx); + ret->memory = mem.name; ret->segment = atoi(s[i++]->str().c_str()); ret->dest = parseExpression(s[i++]); ret->offset = parseExpression(s[i++]); @@ -2313,17 +2298,14 @@ Expression* SExpressionWasmBuilder::makeDataDrop(Element& s) { Expression* SExpressionWasmBuilder::makeMemoryCopy(Element& s) { auto ret = allocator.alloc(); - size_t i = 1; - auto memName = Name::fromInt(0); - if (s[i]->dollared()) { - auto memory = wasm.getMemoryOrNull(s[i]->str()); - if (!memory) { - throw ParseException("invalid memory name in memory.copy", s.line, s.col); - } else { - memName = s[i++]->str(); - } + Index i = 1; + Index memIdx = 0; + if (s.size() > 4) { + std::cout << "in new copy code\n"; + memIdx = atoi(s[i++]->c_str()); } - ret->memory = memName; + auto mem = wasm.getMemoryAtIdx(memIdx); + ret->memory = mem.name; ret->dest = parseExpression(s[i++]); ret->source = parseExpression(s[i++]); ret->size = parseExpression(s[i]); @@ -2333,17 +2315,14 @@ Expression* SExpressionWasmBuilder::makeMemoryCopy(Element& s) { Expression* SExpressionWasmBuilder::makeMemoryFill(Element& s) { auto ret = allocator.alloc(); - size_t i = 1; - auto memName = Name::fromInt(0); - if (s[i]->dollared()) { - auto memory = wasm.getMemoryOrNull(s[i]->str()); - if (!memory) { - throw ParseException("invalid memory name in memory.fill", s.line, s.col); - } else { - memName = s[i++]->str(); - } + Index i = 1; + Index memIdx = 0; + if (s.size() > 4) { + std::cout << "in new fill code\n"; + memIdx = atoi(s[i++]->c_str()); } - ret->memory = memName; + auto mem = wasm.getMemoryAtIdx(memIdx); + ret->memory = mem.name; ret->dest = parseExpression(s[i++]); ret->value = parseExpression(s[i++]); ret->size = parseExpression(s[i]); diff --git a/src/wasm/wasm-validator.cpp b/src/wasm/wasm-validator.cpp index 892db37c5d7..c29ea1562da 100644 --- a/src/wasm/wasm-validator.cpp +++ b/src/wasm/wasm-validator.cpp @@ -499,7 +499,10 @@ void validateCallParamsAndResult(T* curr, validateCallParamsAndResult(curr, sigType, curr); } - Type indexType() { return getModule()->memories[0]->indexType; } + Type indexType(Name memory) { + auto mem = getModule()->getMemory(memory); + return mem->indexType; + } }; void FunctionValidator::noteLabelName(Name name) { @@ -954,7 +957,7 @@ void FunctionValidator::visitLoad(Load* curr) { validateAlignment(curr->align, curr->type, curr->bytes, curr->isAtomic, curr); shouldBeEqualOrFirstIsUnreachable( curr->ptr->type, - indexType(), + indexType(curr->memory), curr, "load pointer type must match memory index type"); if (curr->isAtomic) { @@ -986,7 +989,7 @@ void FunctionValidator::visitStore(Store* curr) { curr->align, curr->valueType, curr->bytes, curr->isAtomic, curr); shouldBeEqualOrFirstIsUnreachable( curr->ptr->type, - indexType(), + indexType(curr->memory), curr, "store pointer must match memory index type"); shouldBeUnequal(curr->value->type, @@ -1010,7 +1013,7 @@ void FunctionValidator::visitAtomicRMW(AtomicRMW* curr) { validateMemBytes(curr->bytes, curr->type, curr); shouldBeEqualOrFirstIsUnreachable( curr->ptr->type, - indexType(), + indexType(curr->memory), curr, "AtomicRMW pointer type must match memory index type"); shouldBeEqualOrFirstIsUnreachable(curr->type, @@ -1030,7 +1033,7 @@ void FunctionValidator::visitAtomicCmpxchg(AtomicCmpxchg* curr) { validateMemBytes(curr->bytes, curr->type, curr); shouldBeEqualOrFirstIsUnreachable( curr->ptr->type, - indexType(), + indexType(curr->memory), curr, "cmpxchg pointer must match memory index type"); if (curr->expected->type != Type::unreachable && @@ -1064,7 +1067,7 @@ void FunctionValidator::visitAtomicWait(AtomicWait* curr) { curr->type, Type(Type::i32), curr, "AtomicWait must have type i32"); shouldBeEqualOrFirstIsUnreachable( curr->ptr->type, - indexType(), + indexType(curr->memory), curr, "AtomicWait pointer must match memory index type"); shouldBeIntOrUnreachable( @@ -1090,7 +1093,7 @@ void FunctionValidator::visitAtomicNotify(AtomicNotify* curr) { curr->type, Type(Type::i32), curr, "AtomicNotify must have type i32"); shouldBeEqualOrFirstIsUnreachable( curr->ptr->type, - indexType(), + indexType(curr->memory), curr, "AtomicNotify pointer must match memory index type"); shouldBeEqualOrFirstIsUnreachable( @@ -1248,7 +1251,7 @@ void FunctionValidator::visitSIMDLoad(SIMDLoad* curr) { curr->type, Type(Type::v128), curr, "load_splat must have type v128"); shouldBeEqualOrFirstIsUnreachable( curr->ptr->type, - indexType(), + indexType(curr->memory), curr, "load_splat address must match memory index type"); Type memAlignType = Type::none; @@ -1288,7 +1291,7 @@ void FunctionValidator::visitSIMDLoadStoreLane(SIMDLoadStoreLane* curr) { } shouldBeEqualOrFirstIsUnreachable( curr->ptr->type, - indexType(), + indexType(curr->memory), curr, "loadX_lane or storeX_lane address must match memory index type"); shouldBeEqualOrFirstIsUnreachable( @@ -1335,7 +1338,7 @@ void FunctionValidator::visitMemoryInit(MemoryInit* curr) { curr->type, Type(Type::none), curr, "memory.init must have type none"); shouldBeEqualOrFirstIsUnreachable( curr->dest->type, - indexType(), + indexType(curr->memory), curr, "memory.init dest must match memory index type"); shouldBeEqualOrFirstIsUnreachable(curr->offset->type, @@ -1378,17 +1381,17 @@ void FunctionValidator::visitMemoryCopy(MemoryCopy* curr) { curr->type, Type(Type::none), curr, "memory.copy must have type none"); shouldBeEqualOrFirstIsUnreachable( curr->dest->type, - indexType(), + indexType(curr->memory), curr, "memory.copy dest must match memory index type"); shouldBeEqualOrFirstIsUnreachable( curr->source->type, - indexType(), + indexType(curr->memory), curr, "memory.copy source must match memory index type"); shouldBeEqualOrFirstIsUnreachable( curr->size->type, - indexType(), + indexType(curr->memory), curr, "memory.copy size must match memory index type"); shouldBeFalse( @@ -1403,7 +1406,7 @@ void FunctionValidator::visitMemoryFill(MemoryFill* curr) { curr->type, Type(Type::none), curr, "memory.fill must have type none"); shouldBeEqualOrFirstIsUnreachable( curr->dest->type, - indexType(), + indexType(curr->memory), curr, "memory.fill dest must match memory index type"); shouldBeEqualOrFirstIsUnreachable(curr->value->type, @@ -1412,7 +1415,7 @@ void FunctionValidator::visitMemoryFill(MemoryFill* curr) { "memory.fill value must be an i32"); shouldBeEqualOrFirstIsUnreachable( curr->size->type, - indexType(), + indexType(curr->memory), curr, "memory.fill size must match memory index type"); shouldBeFalse( @@ -2028,7 +2031,7 @@ void FunctionValidator::visitMemoryGrow(MemoryGrow* curr) { shouldBeFalse( getModule()->memories.empty(), curr, "Memory operations require a memory"); shouldBeEqualOrFirstIsUnreachable(curr->delta->type, - indexType(), + indexType(curr->memory), curr, "memory.grow must match memory index type"); } diff --git a/src/wasm/wasm.cpp b/src/wasm/wasm.cpp index 9d5b4eb23d1..ce5600842e3 100644 --- a/src/wasm/wasm.cpp +++ b/src/wasm/wasm.cpp @@ -1309,6 +1309,34 @@ void Function::clearDebugInfo() { prologLocation.clear(); epilogLocation.clear(); } +#include +#include +#include +#include + +void print_trace() { + char pid_buf[30]; + sprintf(pid_buf, "%d", getpid()); + char name_buf[512]; + name_buf[readlink("/proc/self/exe", name_buf, 511)]=0; + prctl(PR_SET_PTRACER, PR_SET_PTRACER_ANY, 0, 0, 0); + int child_pid = fork(); + if (!child_pid) { + dup2(2,1); // redirect output to stderr - edit: unnecessary? + execl("/usr/bin/gdb", "gdb", "--batch", "-n", "-ex", "thread", "-ex", "bt", name_buf, pid_buf, NULL); + abort(); /* If gdb failed to start */ + } else { + waitpid(child_pid,NULL,0); + } +} + +Memory Module::getMemoryAtIdx(Index idx) { + if (idx < memories.size()) { + auto& memory = memories[idx]; + return *memory; + } + Fatal() << "Tried to access memories at idx > size"; +} template typename Map::mapped_type& From de54f529b8a8b09b66302df91fbd1de822216523 Mon Sep 17 00:00:00 2001 From: Ashley Nelson Date: Wed, 29 Jun 2022 22:42:59 +0000 Subject: [PATCH 25/78] switching to using idx --- src/wasm/wasm-binary.cpp | 33 +++++++++++++++++---------------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/src/wasm/wasm-binary.cpp b/src/wasm/wasm-binary.cpp index cc72feb3e1f..7b4dcb20495 100644 --- a/src/wasm/wasm-binary.cpp +++ b/src/wasm/wasm-binary.cpp @@ -2187,11 +2187,12 @@ Name WasmBinaryBuilder::getTableName(Index index) { return wasm.tables[index]->name; } -Name WasmBinaryBuilder::getMemoryName(Index index) { +Name WasmBinaryBuilder::getMemoryNameAtIdx(Index index) { if (index >= wasm.memories.size()) { throwError("invalid memory index"); } - return wasm.memories[index]->name; + auto& memory = wasm.memories[index]; + return memory.name; } Name WasmBinaryBuilder::getGlobalName(Index index) { @@ -2970,7 +2971,7 @@ void WasmBinaryBuilder::processNames() { curr->value = getTableName(index); break; case ExternalKind::Memory: - curr->value = getMemoryName(index); + curr->value = getMemoryNameAtIdx(index); break; case ExternalKind::Global: curr->value = getGlobalName(index); @@ -2999,31 +3000,31 @@ void WasmBinaryBuilder::processNames() { for (auto& [index, refs] : memoryRefs) { for (auto* ref : refs) { if (auto* load = ref->dynCast()) { - load->memory = getMemoryName(index); + load->memory = getMemoryNameAtIdx(index); } else if (auto* store = ref->dynCast()) { - store->memory = getMemoryName(index); + store->memory = getMemoryNameAtIdx(index); } else if (auto* size = ref->dynCast()) { - size->memory = getMemoryName(index); + size->memory = getMemoryNameAtIdx(index); } else if (auto* grow = ref->dynCast()) { - grow->memory = getMemoryName(index); + grow->memory = getMemoryNameAtIdx(index); } else if (auto* fill = ref->dynCast()) { - fill->memory = getMemoryName(index); + fill->memory = getMemoryNameAtIdx(index); } else if (auto* copy = ref->dynCast()) { - copy->memory = getMemoryName(index); + copy->memory = getMemoryNameAtIdx(index); } else if (auto* init = ref->dynCast()) { - init->memory = getMemoryName(index); + init->memory = getMemoryNameAtIdx(index); } else if (auto* rmw = ref->dynCast()) { - rmw->memory = getMemoryName(index); + rmw->memory = getMemoryNameAtIdx(index); } else if (auto* cmpxchg = ref->dynCast()) { - cmpxchg->memory = getMemoryName(index); + cmpxchg->memory = getMemoryNameAtIdx(index); } else if (auto* wait = ref->dynCast()) { - wait->memory = getMemoryName(index); + wait->memory = getMemoryNameAtIdx(index); } else if (auto* notify = ref->dynCast()) { - notify->memory = getMemoryName(index); + notify->memory = getMemoryNameAtIdx(index); } else if (auto* simdLoad = ref->dynCast()) { - simdLoad->memory = getMemoryName(index); + simdLoad->memory = getMemoryNameAtIdx(index); } else if (auto* simdLane = ref->dynCast()) { - simdLane->memory = getMemoryName(index); + simdLane->memory = getMemoryNameAtIdx(index); } else { WASM_UNREACHABLE("Invalid type in memory references"); } From 02e67e4d74c056631dd9f64d2a6d5bc3e29d9998 Mon Sep 17 00:00:00 2001 From: Ashley Nelson Date: Thu, 30 Jun 2022 01:45:32 +0000 Subject: [PATCH 26/78] update --- src/ir/memory-utils.cpp | 2 +- src/passes/RemoveUnusedModuleElements.cpp | 9 ++-- src/passes/pass.cpp | 2 +- src/wasm/wasm-binary.cpp | 57 ++++++++--------------- src/wasm/wasm.cpp | 2 +- 5 files changed, 29 insertions(+), 43 deletions(-) diff --git a/src/ir/memory-utils.cpp b/src/ir/memory-utils.cpp index f1d2eeaadde..d5441dc79a8 100644 --- a/src/ir/memory-utils.cpp +++ b/src/ir/memory-utils.cpp @@ -20,7 +20,7 @@ namespace wasm::MemoryUtils { bool flatten(Module& wasm) { - if (module.memories.size() > 1) { + if (wasm.memories.size() > 1) { return false; } // The presence of any MemoryInit instructions is a problem because they care diff --git a/src/passes/RemoveUnusedModuleElements.cpp b/src/passes/RemoveUnusedModuleElements.cpp index 44d04212e15..cf5e864ed73 100644 --- a/src/passes/RemoveUnusedModuleElements.cpp +++ b/src/passes/RemoveUnusedModuleElements.cpp @@ -189,9 +189,12 @@ struct ReachabilityAnalyzer : public PostWalker { calledSignatures.insert(type); } - - void visitGlobalGet(GlobalGet* curr) { maybeAddMemory(curr->name); } - void visitGlobalSet(GlobalSet* curr) { maybeAddMemory(curr->name); } + void visitGlobalGet(GlobalGet* curr) { + maybeAdd(ModuleElement(ModuleElementKind::Global, curr->name)); + } + void visitGlobalSet(GlobalSet* curr) { + maybeAdd(ModuleElement(ModuleElementKind::Global, curr->name)); + } void visitLoad(Load* curr) { maybeAddMemory(curr->memory); } void visitStore(Store* curr) { maybeAddMemory(curr->memory); } void visitAtomicCmpxchg(AtomicCmpxchg* curr) { maybeAddMemory(curr->memory); } diff --git a/src/passes/pass.cpp b/src/passes/pass.cpp index 570cd86103c..b05ff800d39 100644 --- a/src/passes/pass.cpp +++ b/src/passes/pass.cpp @@ -645,7 +645,7 @@ void PassRunner::run() { // for debug logging purposes, run each pass in full before running the // other auto totalTime = std::chrono::duration(0); - WasmValidator::Flags validationFlags = WasmValidator::Minimal; + WasmValidator::Flags validationFlags = WasmValidator::Globally; if (options.validateGlobally) { validationFlags = validationFlags | WasmValidator::Globally; } diff --git a/src/wasm/wasm-binary.cpp b/src/wasm/wasm-binary.cpp index 7b4dcb20495..1eb479f1781 100644 --- a/src/wasm/wasm-binary.cpp +++ b/src/wasm/wasm-binary.cpp @@ -204,12 +204,12 @@ void WasmBinaryWriter::writeStart() { } void WasmBinaryWriter::writeMemories() { - if (importInfo->getNumDefinedTags() == 0) { + if (wasm->memories.empty()) { return; } BYN_TRACE("== writeMemories\n"); auto start = startSection(BinaryConsts::Section::Memory); - auto num = importInfo->getNumDefinedTables(); + auto num = importInfo->getNumDefinedMemories(); o << U32LEB(num); ModuleUtils::iterDefinedMemories(*wasm, [&](Memory* memory) { writeResizableLimits(memory->initial, @@ -949,7 +949,7 @@ void WasmBinaryWriter::writeNames() { }; ModuleUtils::iterImportedMemories(*wasm, check); ModuleUtils::iterDefinedMemories(*wasm, check); - assert(checked == indexes.globalIndexes.size()); + assert(checked == indexes.memoryIndexes.size()); if (memoriesWithNames.size() > 0) { auto substart = startSubsection(BinaryConsts::UserSections::Subsection::NameMemory); @@ -2187,12 +2187,11 @@ Name WasmBinaryBuilder::getTableName(Index index) { return wasm.tables[index]->name; } -Name WasmBinaryBuilder::getMemoryNameAtIdx(Index index) { +Name WasmBinaryBuilder::getMemoryName(Index index) { if (index >= wasm.memories.size()) { throwError("invalid memory index"); } - auto& memory = wasm.memories[index]; - return memory.name; + return wasm.memories[index]->name; } Name WasmBinaryBuilder::getGlobalName(Index index) { @@ -2971,7 +2970,7 @@ void WasmBinaryBuilder::processNames() { curr->value = getTableName(index); break; case ExternalKind::Memory: - curr->value = getMemoryNameAtIdx(index); + curr->value = getMemoryName(index); break; case ExternalKind::Global: curr->value = getGlobalName(index); @@ -3000,31 +2999,31 @@ void WasmBinaryBuilder::processNames() { for (auto& [index, refs] : memoryRefs) { for (auto* ref : refs) { if (auto* load = ref->dynCast()) { - load->memory = getMemoryNameAtIdx(index); + load->memory = getMemoryName(index); } else if (auto* store = ref->dynCast()) { - store->memory = getMemoryNameAtIdx(index); + store->memory = getMemoryName(index); } else if (auto* size = ref->dynCast()) { - size->memory = getMemoryNameAtIdx(index); + size->memory = getMemoryName(index); } else if (auto* grow = ref->dynCast()) { - grow->memory = getMemoryNameAtIdx(index); + grow->memory = getMemoryName(index); } else if (auto* fill = ref->dynCast()) { - fill->memory = getMemoryNameAtIdx(index); + fill->memory = getMemoryName(index); } else if (auto* copy = ref->dynCast()) { - copy->memory = getMemoryNameAtIdx(index); + copy->memory = getMemoryName(index); } else if (auto* init = ref->dynCast()) { - init->memory = getMemoryNameAtIdx(index); + init->memory = getMemoryName(index); } else if (auto* rmw = ref->dynCast()) { - rmw->memory = getMemoryNameAtIdx(index); + rmw->memory = getMemoryName(index); } else if (auto* cmpxchg = ref->dynCast()) { - cmpxchg->memory = getMemoryNameAtIdx(index); + cmpxchg->memory = getMemoryName(index); } else if (auto* wait = ref->dynCast()) { - wait->memory = getMemoryNameAtIdx(index); + wait->memory = getMemoryName(index); } else if (auto* notify = ref->dynCast()) { - notify->memory = getMemoryNameAtIdx(index); + notify->memory = getMemoryName(index); } else if (auto* simdLoad = ref->dynCast()) { - simdLoad->memory = getMemoryNameAtIdx(index); + simdLoad->memory = getMemoryName(index); } else if (auto* simdLane = ref->dynCast()) { - simdLane->memory = getMemoryNameAtIdx(index); + simdLane->memory = getMemoryName(index); } else { WASM_UNREACHABLE("Invalid type in memory references"); } @@ -3072,7 +3071,7 @@ void WasmBinaryBuilder::readDataSegments() { if (!memory) { throwError("Memory index out of range while reading data segments."); } - curr->memory = Name::fromInt(memIdx); + curr->memory = memory->name; } if (!curr->isPassive) { curr->offset = readExpression(); @@ -5148,9 +5147,6 @@ bool WasmBinaryBuilder::maybeVisitMemoryInit(Expression*& out, uint32_t code) { curr->dest = popNonVoidExpression(); curr->segment = getU32LEB(); Index memIdx = getU32LEB(); - if (memIdx >= memories.size()) { - throwError("bad memory index on memory.init"); - } curr->finalize(); memoryRefs[memIdx].push_back(curr); out = curr; @@ -5177,9 +5173,6 @@ bool WasmBinaryBuilder::maybeVisitMemoryCopy(Expression*& out, uint32_t code) { curr->source = popNonVoidExpression(); curr->dest = popNonVoidExpression(); Index memIdx = getU32LEB(); - if (memIdx >= memories.size()) { - throwError("bad memory index on memory.copy"); - } curr->finalize(); memoryRefs[memIdx].push_back(curr); out = curr; @@ -5195,9 +5188,6 @@ bool WasmBinaryBuilder::maybeVisitMemoryFill(Expression*& out, uint32_t code) { curr->value = popNonVoidExpression(); curr->dest = popNonVoidExpression(); Index memIdx = getU32LEB(); - if (memIdx >= memories.size()) { - throwError("bad memory index on memory.fill"); - } curr->finalize(); memoryRefs[memIdx].push_back(curr); out = curr; @@ -6537,9 +6527,6 @@ void WasmBinaryBuilder::visitReturn(Return* curr) { void WasmBinaryBuilder::visitMemorySize(MemorySize* curr) { BYN_TRACE("zz node: MemorySize\n"); Index memIdx = getU32LEB(); - if (memIdx >= memories.size()) { - throwError("bad memory index on memory.size"); - } curr->finalize(); memoryRefs[memIdx].push_back(curr); } @@ -6548,9 +6535,6 @@ void WasmBinaryBuilder::visitMemoryGrow(MemoryGrow* curr) { BYN_TRACE("zz node: MemoryGrow\n"); curr->delta = popNonVoidExpression(); Index memIdx = getU32LEB(); - if (memIdx >= memories.size()) { - throwError("bad memory index on memory.grow"); - } curr->finalize(); memoryRefs[memIdx].push_back(curr); } @@ -7381,7 +7365,6 @@ void WasmBinaryBuilder::visitRefAs(RefAs* curr, uint8_t code) { } curr->finalize(); } - void WasmBinaryBuilder::throwError(std::string text) { throw ParseException(text, 0, pos); } diff --git a/src/wasm/wasm.cpp b/src/wasm/wasm.cpp index ce5600842e3..e8fa5ed62d5 100644 --- a/src/wasm/wasm.cpp +++ b/src/wasm/wasm.cpp @@ -1365,7 +1365,7 @@ ElementSegment* Module::getElementSegment(Name name) { } Memory* Module::getMemory(Name name) { - return getModuleElement(memoriesMap, name, "getMemories"); + return getModuleElement(memoriesMap, name, "getMemory"); } DataSegment* Module::getDataSegment(Name name) { From 3bb69ea571ff07dda57042e08cd847a3032c4685 Mon Sep 17 00:00:00 2001 From: Ashley Nelson Date: Fri, 1 Jul 2022 04:56:33 +0000 Subject: [PATCH 27/78] Added memory name param to all memory instructions. --- src/binaryen-c.cpp | 14 +++--- src/binaryen-c.h | 32 ++++++------ src/ir/memory-utils.h | 2 +- src/ir/module-utils.h | 3 +- src/passes/Asyncify.cpp | 27 ++++++---- src/passes/MemoryPacking.cpp | 6 +-- src/passes/OptimizeInstructions.cpp | 38 ++++++++------ src/passes/RemoveUnusedModuleElements.cpp | 2 +- src/passes/SpillPointers.cpp | 3 +- src/tools/fuzzing/fuzzing.cpp | 60 ++++++++++++----------- src/tools/wasm-shell.cpp | 2 +- src/tools/wasm-split/instrumenter.cpp | 36 +++++++------- src/wasm-builder.h | 32 ++++++------ src/wasm/wasm-binary.cpp | 27 +++++----- 14 files changed, 154 insertions(+), 130 deletions(-) diff --git a/src/binaryen-c.cpp b/src/binaryen-c.cpp index 19dd860e583..564c1e6d3c8 100644 --- a/src/binaryen-c.cpp +++ b/src/binaryen-c.cpp @@ -1290,11 +1290,12 @@ BinaryenExpressionRef BinaryenSIMDLoad(BinaryenModuleRef module, BinaryenOp op, uint32_t offset, uint32_t align, - BinaryenExpressionRef ptr) { + BinaryenExpressionRef ptr, + const char* name) { return static_cast( Builder(*(Module*)module) .makeSIMDLoad( - SIMDLoadOp(op), Address(offset), Address(align), (Expression*)ptr)); + SIMDLoadOp(op), Address(offset), Address(align), (Expression*)ptr, name)); } BinaryenExpressionRef BinaryenSIMDLoadStoreLane(BinaryenModuleRef module, BinaryenOp op, @@ -1302,7 +1303,8 @@ BinaryenExpressionRef BinaryenSIMDLoadStoreLane(BinaryenModuleRef module, uint32_t align, uint8_t index, BinaryenExpressionRef ptr, - BinaryenExpressionRef vec) { + BinaryenExpressionRef vec, + const char* name) { return static_cast( Builder(*(Module*)module) .makeSIMDLoadStoreLane(SIMDLoadStoreLaneOp(op), @@ -1310,7 +1312,8 @@ BinaryenExpressionRef BinaryenSIMDLoadStoreLane(BinaryenModuleRef module, Address(align), index, (Expression*)ptr, - (Expression*)vec)); + (Expression*)vec, + name)); } BinaryenExpressionRef BinaryenMemoryInit(BinaryenModuleRef module, uint32_t segment, @@ -3906,8 +3909,7 @@ void BinaryenSetMemory(BinaryenModuleRef module, BinaryenIndex numSegments, bool shared) { auto* wasm = (Module*)module; - auto memory = Builder::makeMemory(); - memory->name = internalName; + auto memory = Builder::makeMemory(internalName); memory->initial = initial; memory->max = int32_t(maximum); // Make sure -1 extends. memory->shared = shared; diff --git a/src/binaryen-c.h b/src/binaryen-c.h index f729417089c..ca80aff6f98 100644 --- a/src/binaryen-c.h +++ b/src/binaryen-c.h @@ -747,7 +747,7 @@ BINARYEN_API BinaryenExpressionRef BinaryenLoad(BinaryenModuleRef module, uint32_t align, BinaryenType type, BinaryenExpressionRef ptr, - const char* name = "0"); + const char* name); // Store: align can be 0, in which case it will be the natural alignment (equal // to bytes) BINARYEN_API BinaryenExpressionRef BinaryenStore(BinaryenModuleRef module, @@ -757,7 +757,7 @@ BINARYEN_API BinaryenExpressionRef BinaryenStore(BinaryenModuleRef module, BinaryenExpressionRef ptr, BinaryenExpressionRef value, BinaryenType type, - const char* name = "0"); + const char* name); BINARYEN_API BinaryenExpressionRef BinaryenConst(BinaryenModuleRef module, struct BinaryenLiteral value); BINARYEN_API BinaryenExpressionRef BinaryenUnary(BinaryenModuleRef module, @@ -778,9 +778,9 @@ BINARYEN_API BinaryenExpressionRef BinaryenDrop(BinaryenModuleRef module, // Return: value can be NULL BINARYEN_API BinaryenExpressionRef BinaryenReturn(BinaryenModuleRef module, BinaryenExpressionRef value); -BINARYEN_API BinaryenExpressionRef BinaryenMemorySize(BinaryenModuleRef module, const char* name = "0"); +BINARYEN_API BinaryenExpressionRef BinaryenMemorySize(BinaryenModuleRef module, const char* name); BINARYEN_API BinaryenExpressionRef -BinaryenMemoryGrow(BinaryenModuleRef module, BinaryenExpressionRef delta, const char* name = "0"); +BinaryenMemoryGrow(BinaryenModuleRef module, BinaryenExpressionRef delta, const char* name); BINARYEN_API BinaryenExpressionRef BinaryenNop(BinaryenModuleRef module); BINARYEN_API BinaryenExpressionRef BinaryenUnreachable(BinaryenModuleRef module); @@ -790,7 +790,7 @@ BinaryenAtomicLoad(BinaryenModuleRef module, uint32_t offset, BinaryenType type, BinaryenExpressionRef ptr, - const char* name = "0"); + const char* name); BINARYEN_API BinaryenExpressionRef BinaryenAtomicStore(BinaryenModuleRef module, uint32_t bytes, @@ -798,7 +798,7 @@ BinaryenAtomicStore(BinaryenModuleRef module, BinaryenExpressionRef ptr, BinaryenExpressionRef value, BinaryenType type, - const char* name = "0"); + const char* name); BINARYEN_API BinaryenExpressionRef BinaryenAtomicRMW(BinaryenModuleRef module, BinaryenOp op, @@ -807,7 +807,7 @@ BinaryenAtomicRMW(BinaryenModuleRef module, BinaryenExpressionRef ptr, BinaryenExpressionRef value, BinaryenType type, - const char* name = "0"); + const char* name); BINARYEN_API BinaryenExpressionRef BinaryenAtomicCmpxchg(BinaryenModuleRef module, BinaryenIndex bytes, @@ -816,19 +816,19 @@ BinaryenAtomicCmpxchg(BinaryenModuleRef module, BinaryenExpressionRef expected, BinaryenExpressionRef replacement, BinaryenType type, - const char* name = "0"); + const char* name); BINARYEN_API BinaryenExpressionRef BinaryenAtomicWait(BinaryenModuleRef module, BinaryenExpressionRef ptr, BinaryenExpressionRef expected, BinaryenExpressionRef timeout, BinaryenType type, - const char* name = "0"); + const char* name); BINARYEN_API BinaryenExpressionRef BinaryenAtomicNotify(BinaryenModuleRef module, BinaryenExpressionRef ptr, BinaryenExpressionRef notifyCount, - const char* name = "0"); + const char* name); BINARYEN_API BinaryenExpressionRef BinaryenAtomicFence(BinaryenModuleRef module); BINARYEN_API BinaryenExpressionRef @@ -861,7 +861,8 @@ BINARYEN_API BinaryenExpressionRef BinaryenSIMDLoad(BinaryenModuleRef module, BinaryenOp op, uint32_t offset, uint32_t align, - BinaryenExpressionRef ptr); + BinaryenExpressionRef ptr, + const char* name); BINARYEN_API BinaryenExpressionRef BinaryenSIMDLoadStoreLane(BinaryenModuleRef module, BinaryenOp op, @@ -869,14 +870,15 @@ BinaryenSIMDLoadStoreLane(BinaryenModuleRef module, uint32_t align, uint8_t index, BinaryenExpressionRef ptr, - BinaryenExpressionRef vec); + BinaryenExpressionRef vec, + const char* name); BINARYEN_API BinaryenExpressionRef BinaryenMemoryInit(BinaryenModuleRef module, uint32_t segment, BinaryenExpressionRef dest, BinaryenExpressionRef offset, BinaryenExpressionRef size, - const char* name = "0"); + const char* name); BINARYEN_API BinaryenExpressionRef BinaryenDataDrop(BinaryenModuleRef module, uint32_t segment); BINARYEN_API BinaryenExpressionRef @@ -884,13 +886,13 @@ BinaryenMemoryCopy(BinaryenModuleRef module, BinaryenExpressionRef dest, BinaryenExpressionRef source, BinaryenExpressionRef size, - const char* name = "0"); + const char* name); BINARYEN_API BinaryenExpressionRef BinaryenMemoryFill(BinaryenModuleRef module, BinaryenExpressionRef dest, BinaryenExpressionRef value, BinaryenExpressionRef size, - const char* name = "0"); + const char* name); BINARYEN_API BinaryenExpressionRef BinaryenRefNull(BinaryenModuleRef module, BinaryenType type); BINARYEN_API BinaryenExpressionRef BinaryenRefIs(BinaryenModuleRef module, diff --git a/src/ir/memory-utils.h b/src/ir/memory-utils.h index 759335818ea..97ee494b6f4 100644 --- a/src/ir/memory-utils.h +++ b/src/ir/memory-utils.h @@ -36,7 +36,7 @@ bool flatten(Module& wasm); // Ensures that a memory exists (of minimal size). inline void ensureExists(Module* wasm) { if (wasm->memories.empty()) { - auto memory = Builder::makeMemory(); + auto memory = Builder::makeMemory("memory"); memory->initial = memory->max = 1; wasm->addMemory(std::move(memory)); } diff --git a/src/ir/module-utils.h b/src/ir/module-utils.h index e8a142bc989..d98e74d6af9 100644 --- a/src/ir/module-utils.h +++ b/src/ir/module-utils.h @@ -107,8 +107,7 @@ inline Table* copyTable(const Table* table, Module& out) { } inline Memory* copyMemory(const Memory* memory, Module& out) { - auto ret = Builder::makeMemory(); - ret->name = memory->name; + auto ret = Builder::makeMemory(memory->name); ret->hasExplicitName = memory->hasExplicitName; ret->initial = memory->initial; ret->max = memory->max; diff --git a/src/passes/Asyncify.cpp b/src/passes/Asyncify.cpp index a431200bcc1..653b6d4a918 100644 --- a/src/passes/Asyncify.cpp +++ b/src/passes/Asyncify.cpp @@ -794,7 +794,9 @@ static bool doesCall(Expression* curr) { class AsyncifyBuilder : public Builder { public: - AsyncifyBuilder(Module& wasm) : Builder(wasm) {} + Module& wasm; + + AsyncifyBuilder(Module& wasm) : Builder(wasm), wasm(wasm) {} Expression* makeGetStackPos() { return makeLoad(4, @@ -802,7 +804,8 @@ class AsyncifyBuilder : public Builder { int32_t(DataOffset::BStackPos), 4, makeGlobalGet(ASYNCIFY_DATA, Type::i32), - Type::i32); + Type::i32, + wasm.memories[0]->name); } Expression* makeIncStackPos(int32_t by) { @@ -815,7 +818,8 @@ class AsyncifyBuilder : public Builder { 4, makeGlobalGet(ASYNCIFY_DATA, Type::i32), makeBinary(AddInt32, makeGetStackPos(), makeConst(Literal(by))), - Type::i32); + Type::i32, + wasm.memories[0]->name); } Expression* makeStateCheck(State value) { @@ -1223,7 +1227,7 @@ struct AsyncifyLocals : public WalkerPass> { builder->makeLocalSet( rewindIndex, builder->makeLoad( - 4, false, 0, 4, builder->makeGetStackPos(), Type::i32)))); + 4, false, 0, 4, builder->makeGetStackPos(), Type::i32, getModule()->memories[0]->name)))); } else if (curr->target == ASYNCIFY_CHECK_CALL_INDEX) { replaceCurrent(builder->makeBinary( EqInt32, @@ -1392,7 +1396,8 @@ struct AsyncifyLocals : public WalkerPass> { offset, STACK_ALIGN, builder->makeLocalGet(tempIndex, Type::i32), - type)); + type, + getModule()->memories[0]->name)); offset += size; } Expression* load; @@ -1440,7 +1445,8 @@ struct AsyncifyLocals : public WalkerPass> { STACK_ALIGN, builder->makeLocalGet(tempIndex, Type::i32), localGet, - type)); + type, + getModule()->memories[0]->name)); offset += size; ++j; } @@ -1458,7 +1464,8 @@ struct AsyncifyLocals : public WalkerPass> { 4, builder->makeGetStackPos(), builder->makeLocalGet(tempIndex, Type::i32), - Type::i32), + Type::i32, + getModule()->memories[0]->name), builder->makeIncStackPos(4)); } @@ -1659,14 +1666,16 @@ struct Asyncify : public Pass { int32_t(DataOffset::BStackPos), 4, builder.makeGlobalGet(ASYNCIFY_DATA, Type::i32), - Type::i32); + Type::i32, + module->memories[0]->name); auto* stackEnd = builder.makeLoad(4, false, int32_t(DataOffset::BStackEnd), 4, builder.makeGlobalGet(ASYNCIFY_DATA, Type::i32), - Type::i32); + Type::i32, + module->memories[0]->name); body->list.push_back( builder.makeIf(builder.makeBinary(GtUInt32, stackPos, stackEnd), builder.makeUnreachable())); diff --git a/src/passes/MemoryPacking.cpp b/src/passes/MemoryPacking.cpp index 5c1d25125d3..2a3c76de6f0 100644 --- a/src/passes/MemoryPacking.cpp +++ b/src/passes/MemoryPacking.cpp @@ -88,7 +88,7 @@ makeGtShiftedMemorySize(Builder& builder, Module& module, MemoryInit* curr) { mem->is64() ? GtUInt64 : GtUInt32, curr->dest, builder.makeBinary(mem->is64() ? ShlInt64 : ShlInt32, - builder.makeMemorySize(), + builder.makeMemorySize(mem->name), builder.makeConstPtr(16, mem->indexType))); } @@ -714,11 +714,11 @@ void MemoryPacking::createReplacements(Module* module, // Create new memory.init or memory.fill if (range.isZero) { Expression* value = builder.makeConst(Literal::makeZero(Type::i32)); - appendResult(builder.makeMemoryFill(dest, value, size)); + appendResult(builder.makeMemoryFill(dest, value, size, module->memories[0]->name)); } else { size_t offsetBytes = std::max(start, range.start) - range.start; Expression* offset = builder.makeConst(int32_t(offsetBytes)); - appendResult(builder.makeMemoryInit(initIndex, dest, offset, size)); + appendResult(builder.makeMemoryInit(initIndex, dest, offset, size, module->memories[0]->name)); initIndex++; } } diff --git a/src/passes/OptimizeInstructions.cpp b/src/passes/OptimizeInstructions.cpp index 732903155c2..3ddf13064f8 100644 --- a/src/passes/OptimizeInstructions.cpp +++ b/src/passes/OptimizeInstructions.cpp @@ -3803,8 +3803,9 @@ struct OptimizeInstructions 0, // offset 1, // align memCopy->dest, - builder.makeLoad(bytes, false, 0, 1, memCopy->source, Type::i32), - Type::i32); + builder.makeLoad(bytes, false, 0, 1, memCopy->source, Type::i32, memCopy->memory), + Type::i32, + memCopy->memory); } case 8: { return builder.makeStore( @@ -3812,8 +3813,9 @@ struct OptimizeInstructions 0, // offset 1, // align memCopy->dest, - builder.makeLoad(bytes, false, 0, 1, memCopy->source, Type::i64), - Type::i64); + builder.makeLoad(bytes, false, 0, 1, memCopy->source, Type::i64, memCopy->memory), + Type::i64, + memCopy->memory); } case 16: { if (options.shrinkLevel == 0) { @@ -3826,8 +3828,9 @@ struct OptimizeInstructions 1, // align memCopy->dest, builder.makeLoad( - bytes, false, 0, 1, memCopy->source, Type::v128), - Type::v128); + bytes, false, 0, 1, memCopy->source, Type::v128, memCopy->memory), + Type::v128, + memCopy->memory); } } break; @@ -3874,7 +3877,8 @@ struct OptimizeInstructions align, memFill->dest, builder.makeConst(value), - Type::i32); + Type::i32, + memFill->memory); } case 2: { return builder.makeStore(2, @@ -3882,7 +3886,8 @@ struct OptimizeInstructions align, memFill->dest, builder.makeConst(value * 0x0101U), - Type::i32); + Type::i32, + memFill->memory); } case 4: { // transform only when "value" or shrinkLevel equal to zero due to @@ -3894,7 +3899,8 @@ struct OptimizeInstructions align, memFill->dest, builder.makeConst(value * 0x01010101U), - Type::i32); + Type::i32, + memFill->memory); } break; } @@ -3908,7 +3914,8 @@ struct OptimizeInstructions align, memFill->dest, builder.makeConst(value * 0x0101010101010101ULL), - Type::i64); + Type::i64, + memFill->memory); } break; } @@ -3922,7 +3929,8 @@ struct OptimizeInstructions align, memFill->dest, builder.makeConst(values), - Type::v128); + Type::v128, + memFill->memory); } else { // { i64.store(d, C', 0), i64.store(d, C', 8) } auto destType = memFill->dest->type; @@ -3934,14 +3942,16 @@ struct OptimizeInstructions align, builder.makeLocalTee(tempLocal, memFill->dest, destType), builder.makeConst(value * 0x0101010101010101ULL), - Type::i64), + Type::i64, + memFill->memory), builder.makeStore( 8, offset + 8, align, builder.makeLocalGet(tempLocal, destType), builder.makeConst(value * 0x0101010101010101ULL), - Type::i64), + Type::i64, + memFill->memory), }); } } @@ -3954,7 +3964,7 @@ struct OptimizeInstructions // memory.fill(d, v, 1) ==> store8(d, v) if (bytes == 1LL) { return builder.makeStore( - 1, offset, align, memFill->dest, memFill->value, Type::i32); + 1, offset, align, memFill->dest, memFill->value, Type::i32, memFill->memory); } return nullptr; diff --git a/src/passes/RemoveUnusedModuleElements.cpp b/src/passes/RemoveUnusedModuleElements.cpp index cf5e864ed73..815a449d5d0 100644 --- a/src/passes/RemoveUnusedModuleElements.cpp +++ b/src/passes/RemoveUnusedModuleElements.cpp @@ -205,7 +205,7 @@ struct ReachabilityAnalyzer : public PostWalker { //void visitAtomicFence(AtomicFence* curr) { maybeAddMemory(curr->name); } void visitMemoryInit(MemoryInit* curr) { maybeAddMemory(curr->memory); } void visitDataDrop(DataDrop* curr) { - auto seg = module->getDataSegment(Name::fromInt(curr->segment)); + auto& seg = module->dataSegments[curr->segment]; maybeAddMemory(seg->memory); } void visitMemoryCopy(MemoryCopy* curr) { maybeAddMemory(curr->memory); } diff --git a/src/passes/SpillPointers.cpp b/src/passes/SpillPointers.cpp index de1b62c3dd4..04193c2d2b4 100644 --- a/src/passes/SpillPointers.cpp +++ b/src/passes/SpillPointers.cpp @@ -192,7 +192,8 @@ struct SpillPointers pointerType.getByteSize(), builder.makeLocalGet(spillLocal, pointerType), builder.makeLocalGet(index, pointerType), - pointerType)); + pointerType, + getModule()->memories[0]->name)); } // add the (modified) call block->list.push_back(call); diff --git a/src/tools/fuzzing/fuzzing.cpp b/src/tools/fuzzing/fuzzing.cpp index b237e8538b0..ce5520fde6f 100644 --- a/src/tools/fuzzing/fuzzing.cpp +++ b/src/tools/fuzzing/fuzzing.cpp @@ -241,7 +241,7 @@ void TranslateToFuzzReader::setupMemory() { builder.makeLocalGet(0, Type::i32), builder.makeConst(uint32_t(5))), builder.makeLocalGet(0, Type::i32)), - builder.makeLoad(1, false, i, 1, builder.makeConst(zero), Type::i32)))); + builder.makeLoad(1, false, i, 1, builder.makeConst(zero), Type::i32, wasm.memories[0]->name)))); } contents.push_back(builder.makeLocalGet(0, Type::i32)); auto* body = builder.makeBlock(contents); @@ -1427,11 +1427,11 @@ Expression* TranslateToFuzzReader::makeNonAtomicLoad(Type type) { bool signed_ = get() & 1; switch (upTo(3)) { case 0: - return builder.makeLoad(1, signed_, offset, 1, ptr, type); + return builder.makeLoad(1, signed_, offset, 1, ptr, type, wasm.memories[0]->name); case 1: - return builder.makeLoad(2, signed_, offset, pick(1, 2), ptr, type); + return builder.makeLoad(2, signed_, offset, pick(1, 2), ptr, type, wasm.memories[0]->name); case 2: - return builder.makeLoad(4, signed_, offset, pick(1, 2, 4), ptr, type); + return builder.makeLoad(4, signed_, offset, pick(1, 2, 4), ptr, type, wasm.memories[0]->name); } WASM_UNREACHABLE("unexpected value"); } @@ -1439,29 +1439,29 @@ Expression* TranslateToFuzzReader::makeNonAtomicLoad(Type type) { bool signed_ = get() & 1; switch (upTo(4)) { case 0: - return builder.makeLoad(1, signed_, offset, 1, ptr, type); + return builder.makeLoad(1, signed_, offset, 1, ptr, type, wasm.memories[0]->name); case 1: - return builder.makeLoad(2, signed_, offset, pick(1, 2), ptr, type); + return builder.makeLoad(2, signed_, offset, pick(1, 2), ptr, type, wasm.memories[0]->name); case 2: - return builder.makeLoad(4, signed_, offset, pick(1, 2, 4), ptr, type); + return builder.makeLoad(4, signed_, offset, pick(1, 2, 4), ptr, type, wasm.memories[0]->name); case 3: return builder.makeLoad( - 8, signed_, offset, pick(1, 2, 4, 8), ptr, type); + 8, signed_, offset, pick(1, 2, 4, 8), ptr, type, wasm.memories[0]->name); } WASM_UNREACHABLE("unexpected value"); } case Type::f32: { - return builder.makeLoad(4, false, offset, pick(1, 2, 4), ptr, type); + return builder.makeLoad(4, false, offset, pick(1, 2, 4), ptr, type, wasm.memories[0]->name); } case Type::f64: { - return builder.makeLoad(8, false, offset, pick(1, 2, 4, 8), ptr, type); + return builder.makeLoad(8, false, offset, pick(1, 2, 4, 8), ptr, type, wasm.memories[0]->name); } case Type::v128: { if (!wasm.features.hasSIMD()) { return makeTrivial(type); } return builder.makeLoad( - 16, false, offset, pick(1, 2, 4, 8, 16), ptr, type); + 16, false, offset, pick(1, 2, 4, 8, 16), ptr, type, wasm.memories[0]->name); } case Type::none: case Type::unreachable: @@ -1511,6 +1511,7 @@ Expression* TranslateToFuzzReader::makeNonAtomicStore(Type type) { store->value = make(Type::unreachable); break; } + store->memory = wasm.memories[0]->name; store->finalize(); return store; } @@ -1526,40 +1527,40 @@ Expression* TranslateToFuzzReader::makeNonAtomicStore(Type type) { case Type::i32: { switch (upTo(3)) { case 0: - return builder.makeStore(1, offset, 1, ptr, value, type); + return builder.makeStore(1, offset, 1, ptr, value, type, wasm.memories[0]->name); case 1: - return builder.makeStore(2, offset, pick(1, 2), ptr, value, type); + return builder.makeStore(2, offset, pick(1, 2), ptr, value, type, wasm.memories[0]->name); case 2: - return builder.makeStore(4, offset, pick(1, 2, 4), ptr, value, type); + return builder.makeStore(4, offset, pick(1, 2, 4), ptr, value, type, wasm.memories[0]->name); } WASM_UNREACHABLE("invalid value"); } case Type::i64: { switch (upTo(4)) { case 0: - return builder.makeStore(1, offset, 1, ptr, value, type); + return builder.makeStore(1, offset, 1, ptr, value, type, wasm.memories[0]->name); case 1: - return builder.makeStore(2, offset, pick(1, 2), ptr, value, type); + return builder.makeStore(2, offset, pick(1, 2), ptr, value, type, wasm.memories[0]->name); case 2: - return builder.makeStore(4, offset, pick(1, 2, 4), ptr, value, type); + return builder.makeStore(4, offset, pick(1, 2, 4), ptr, value, type, wasm.memories[0]->name); case 3: return builder.makeStore( - 8, offset, pick(1, 2, 4, 8), ptr, value, type); + 8, offset, pick(1, 2, 4, 8), ptr, value, type, wasm.memories[0]->name); } WASM_UNREACHABLE("invalid value"); } case Type::f32: { - return builder.makeStore(4, offset, pick(1, 2, 4), ptr, value, type); + return builder.makeStore(4, offset, pick(1, 2, 4), ptr, value, type, wasm.memories[0]->name); } case Type::f64: { - return builder.makeStore(8, offset, pick(1, 2, 4, 8), ptr, value, type); + return builder.makeStore(8, offset, pick(1, 2, 4, 8), ptr, value, type, wasm.memories[0]->name); } case Type::v128: { if (!wasm.features.hasSIMD()) { return makeTrivial(type); } return builder.makeStore( - 16, offset, pick(1, 2, 4, 8, 16), ptr, value, type); + 16, offset, pick(1, 2, 4, 8, 16), ptr, value, type, wasm.memories[0]->name); } case Type::none: case Type::unreachable: @@ -2541,11 +2542,11 @@ Expression* TranslateToFuzzReader::makeAtomic(Type type) { auto* expected = make(expectedType); auto* timeout = make(Type::i64); return builder.makeAtomicWait( - ptr, expected, timeout, expectedType, logify(get())); + ptr, expected, timeout, expectedType, logify(get()), wasm.memories[0]->name); } else { auto* ptr = makePointer(); auto* count = make(Type::i32); - return builder.makeAtomicNotify(ptr, count, logify(get())); + return builder.makeAtomicNotify(ptr, count, logify(get()), wasm.memories[0]->name); } } Index bytes; @@ -2598,12 +2599,13 @@ Expression* TranslateToFuzzReader::makeAtomic(Type type) { offset, ptr, value, - type); + type, + wasm.memories[0]->name); } else { auto* expected = make(type); auto* replacement = make(type); return builder.makeAtomicCmpxchg( - bytes, offset, ptr, expected, replacement, type); + bytes, offset, ptr, expected, replacement, type, wasm.memories[0]->name); } } @@ -2804,7 +2806,7 @@ Expression* TranslateToFuzzReader::makeSIMDLoad() { WASM_UNREACHABLE("Unexpected SIMD loads"); } Expression* ptr = makePointer(); - return builder.makeSIMDLoad(op, offset, align, ptr); + return builder.makeSIMDLoad(op, offset, align, ptr, wasm.memories[0]->name); } Expression* TranslateToFuzzReader::makeBulkMemory(Type type) { @@ -2868,7 +2870,7 @@ Expression* TranslateToFuzzReader::makeMemoryInit() { Expression* dest = makePointer(); Expression* offset = builder.makeConst(int32_t(offsetVal)); Expression* size = builder.makeConst(int32_t(sizeVal)); - return builder.makeMemoryInit(segment, dest, offset, size); + return builder.makeMemoryInit(segment, dest, offset, size, wasm.memories[0]->name); } Expression* TranslateToFuzzReader::makeDataDrop() { @@ -2885,7 +2887,7 @@ Expression* TranslateToFuzzReader::makeMemoryCopy() { Expression* dest = makePointer(); Expression* source = makePointer(); Expression* size = make(wasm.memories[0]->indexType); - return builder.makeMemoryCopy(dest, source, size); + return builder.makeMemoryCopy(dest, source, size, wasm.memories[0]->name); } Expression* TranslateToFuzzReader::makeMemoryFill() { @@ -2895,7 +2897,7 @@ Expression* TranslateToFuzzReader::makeMemoryFill() { Expression* dest = makePointer(); Expression* value = make(Type::i32); Expression* size = make(wasm.memories[0]->indexType); - return builder.makeMemoryFill(dest, value, size); + return builder.makeMemoryFill(dest, value, size, wasm.memories[0]->name); } Type TranslateToFuzzReader::getSingleConcreteType() { diff --git a/src/tools/wasm-shell.cpp b/src/tools/wasm-shell.cpp index d50e8601ef3..cd8a7f222d7 100644 --- a/src/tools/wasm-shell.cpp +++ b/src/tools/wasm-shell.cpp @@ -351,7 +351,7 @@ class Shell { builder.makeExport("table", Name::fromInt(0), ExternalKind::Table)); spectest->addMemory( - builder.makeMemory(Name::fromInt(0), 1, 2)); + builder.makeMemory("memory", 1, 2)); spectest->addExport(builder.makeExport( "memory", Name::fromInt(0), ExternalKind::Memory)); diff --git a/src/tools/wasm-split/instrumenter.cpp b/src/tools/wasm-split/instrumenter.cpp index 5b2d8ead74f..6b4c4a6fcba 100644 --- a/src/tools/wasm-split/instrumenter.cpp +++ b/src/tools/wasm-split/instrumenter.cpp @@ -171,10 +171,23 @@ void Instrumenter::addProfileExport() { return builder.makeConst(int32_t(profileSize)); }; + // Also make sure there is a memory with enough pages to write into + size_t pages = (profileSize + Memory::kPageSize - 1) / Memory::kPageSize; + if (wasm->memories.empty()) { + wasm->addMemory(Builder::makeMemory("memory")); + wasm->memories[0]->initial = pages; + wasm->memories[0]->max = pages; + } else if (wasm->memories[0]->initial < pages) { + wasm->memories[0]->initial = pages; + if (wasm->memories[0]->max < pages) { + wasm->memories[0]->max = pages; + } + } + // Write the hash followed by all the time stamps Expression* writeData = // TODO (nashley): Fix hardcoded name below - builder.makeStore(8, 0, 1, getAddr(), hashConst(), Type::i64, Name::fromInt(0)); + builder.makeStore(8, 0, 1, getAddr(), hashConst(), Type::i64, wasm->memories[0]->name); uint32_t offset = 8; switch (options.storageKind) { @@ -188,8 +201,7 @@ void Instrumenter::addProfileExport() { getAddr(), builder.makeGlobalGet(global, Type::i32), Type::i32, - // TODO (nashley): Fix hardcoded name - Name::fromInt(0))); + wasm->memories[0]->name)); offset += 4; } break; @@ -238,11 +250,9 @@ void Instrumenter::addProfileExport() { getAddr(), builder.makeBinary( MulInt32, getFuncIdx(), builder.makeConst(uint32_t(4)))), - // TODO (nashley): Fix hardcoded name - builder.makeAtomicLoad(1, 0, getFuncIdx(), Type::i32, Name::fromInt(0)), + builder.makeAtomicLoad(1, 0, getFuncIdx(), Type::i32, wasm->memories[0]->name), Type::i32, - // TODO (nashley): Fix hardcoded name - Name::fromInt(0)), + wasm->memories[0]->name), builder.makeLocalSet( funcIdxVar, builder.makeBinary( @@ -262,18 +272,6 @@ void Instrumenter::addProfileExport() { wasm->addExport( Builder::makeExport(options.profileExport, name, ExternalKind::Function)); - // Also make sure there is a memory with enough pages to write into - size_t pages = (profileSize + Memory::kPageSize - 1) / Memory::kPageSize; - if (wasm->memories.empty()) { - wasm->addMemory(Builder::makeMemory()); - wasm->memories[0]->initial = pages; - wasm->memories[0]->max = pages; - } else if (wasm->memories[0]->initial < pages) { - wasm->memories[0]->initial = pages; - if (wasm->memories[0]->max < pages) { - wasm->memories[0]->max = pages; - } - } // Export the memory if it is not already exported or imported. if (!wasm->memories[0]->imported()) { diff --git a/src/wasm-builder.h b/src/wasm-builder.h index 591793adedc..df9a6e50f6d 100644 --- a/src/wasm-builder.h +++ b/src/wasm-builder.h @@ -107,7 +107,7 @@ class Builder { return seg; } - static std::unique_ptrmakeMemory(Name name = Name::fromInt(0), + static std::unique_ptrmakeMemory(Name name, Address initial = 0, Address max = Memory::kMaxSize32, bool shared = false, @@ -123,7 +123,7 @@ class Builder { static std::unique_ptr makeDataSegment(Name name = "", - Name memory = Name::fromInt(0), + Name memory = "", bool isPassive = false, Expression* offset = nullptr, const char* init = "", @@ -371,7 +371,7 @@ class Builder { unsigned align, Expression* ptr, Type type, - Name memory = Name::fromInt(0)) { + Name memory) { auto* ret = wasm.allocator.alloc(); ret->isAtomic = false; ret->bytes = bytes; @@ -394,7 +394,7 @@ class Builder { Expression* timeout, Type expectedType, Address offset, - Name memory = Name::fromInt(0)) { + Name memory) { auto* wait = wasm.allocator.alloc(); wait->offset = offset; wait->ptr = ptr; @@ -406,7 +406,7 @@ class Builder { return wait; } AtomicNotify* - makeAtomicNotify(Expression* ptr, Expression* notifyCount, Address offset, Name memory = Name::fromInt(0)) { + makeAtomicNotify(Expression* ptr, Expression* notifyCount, Address offset, Name memory) { auto* notify = wasm.allocator.alloc(); notify->offset = offset; notify->ptr = ptr; @@ -422,7 +422,7 @@ class Builder { Expression* ptr, Expression* value, Type type, - Name memory = Name::fromInt(0)) { + Name memory) { auto* ret = wasm.allocator.alloc(); ret->isAtomic = false; ret->bytes = bytes; @@ -441,7 +441,7 @@ class Builder { Expression* ptr, Expression* value, Type type, - Name memory = Name::fromInt(0)) { + Name memory) { Store* store = makeStore(bytes, offset, bytes, ptr, value, type, memory); store->isAtomic = true; return store; @@ -452,7 +452,7 @@ class Builder { Expression* ptr, Expression* value, Type type, - Name memory = Name::fromInt(0)) { + Name memory) { auto* ret = wasm.allocator.alloc(); ret->op = op; ret->bytes = bytes; @@ -470,7 +470,7 @@ class Builder { Expression* expected, Expression* replacement, Type type, - Name memory = Name::fromInt(0)) { + Name memory) { auto* ret = wasm.allocator.alloc(); ret->bytes = bytes; ret->offset = offset; @@ -534,7 +534,7 @@ class Builder { return ret; } SIMDLoad* - makeSIMDLoad(SIMDLoadOp op, Address offset, Address align, Expression* ptr) { + makeSIMDLoad(SIMDLoadOp op, Address offset, Address align, Expression* ptr, Name memory) { auto* ret = wasm.allocator.alloc(); ret->op = op; ret->offset = offset; @@ -549,7 +549,7 @@ class Builder { uint8_t index, Expression* ptr, Expression* vec, - Name memory = Name::fromInt(0)) { + Name memory) { auto* ret = wasm.allocator.alloc(); ret->op = op; ret->offset = offset; @@ -565,7 +565,7 @@ class Builder { Expression* dest, Expression* offset, Expression* size, - Name memory = Name::fromInt(0)) { + Name memory) { auto* ret = wasm.allocator.alloc(); ret->segment = segment; ret->dest = dest; @@ -582,7 +582,7 @@ class Builder { return ret; } MemoryCopy* - makeMemoryCopy(Expression* dest, Expression* source, Expression* size, Name memory = Name::fromInt(0)) { + makeMemoryCopy(Expression* dest, Expression* source, Expression* size, Name memory) { auto* ret = wasm.allocator.alloc(); ret->dest = dest; ret->source = source; @@ -592,7 +592,7 @@ class Builder { return ret; } MemoryFill* - makeMemoryFill(Expression* dest, Expression* value, Expression* size, Name memory = Name::fromInt(0)) { + makeMemoryFill(Expression* dest, Expression* value, Expression* size, Name memory) { auto* ret = wasm.allocator.alloc(); ret->dest = dest; ret->value = value; @@ -652,7 +652,7 @@ class Builder { ret->value = value; return ret; } - MemorySize* makeMemorySize(Name memory = Name::fromInt(0)) { + MemorySize* makeMemorySize(Name memory) { auto* ret = wasm.allocator.alloc(); auto mem = wasm.getMemory(memory); if (mem->is64()) { @@ -662,7 +662,7 @@ class Builder { ret->finalize(); return ret; } - MemoryGrow* makeMemoryGrow(Expression* delta, Name memory = Name::fromInt(0)) { + MemoryGrow* makeMemoryGrow(Expression* delta, Name memory) { auto* ret = wasm.allocator.alloc(); auto mem = wasm.getMemory(memory); if (mem->is64()) { diff --git a/src/wasm/wasm-binary.cpp b/src/wasm/wasm-binary.cpp index 1eb479f1781..df2cddf75e0 100644 --- a/src/wasm/wasm-binary.cpp +++ b/src/wasm/wasm-binary.cpp @@ -1989,7 +1989,7 @@ void WasmBinaryBuilder::readMemories() { BYN_TRACE("num: " << num << std::endl); for (size_t i = 0; i < num; i++) { BYN_TRACE("read one\n"); - auto memory = Builder::makeMemory(); + auto memory = Builder::makeMemory(Name::fromInt(i)); getResizableLimits(memory->initial, memory->max, memory->shared, @@ -3059,20 +3059,21 @@ void WasmBinaryBuilder::readDataSegments() { } curr->setName(Name::fromInt(i), false); curr->isPassive = flags & BinaryConsts::IsPassive; + Index memIdx = 0; if (flags & BinaryConsts::HasIndex) { - auto memIdx = getU32LEB(); - Memory* memory = nullptr; - auto numMemoryImports = memoryImports.size(); - if (memIdx < numMemoryImports) { - memory = memoryImports[memIdx]; - } else if (memIdx - numMemoryImports < memories.size()) { - memory = memories[memIdx - numMemoryImports].get(); - } - if (!memory) { - throwError("Memory index out of range while reading data segments."); - } - curr->memory = memory->name; + memIdx = getU32LEB(); + } + Memory* memory = nullptr; + Index numMemoryImports = memoryImports.size(); + if (memIdx < numMemoryImports) { + memory = memoryImports[memIdx]; + } else if (memIdx - numMemoryImports < memories.size()) { + memory = memories[memIdx - numMemoryImports].get(); + } + if (!memory) { + throwError("Memory index out of range while reading data segments."); } + curr->memory = memory->name; if (!curr->isPassive) { curr->offset = readExpression(); } From dda71a82e3522eec6f084df369fd5fe0ab6257c2 Mon Sep 17 00:00:00 2001 From: Ashley Nelson Date: Sun, 3 Jul 2022 18:39:23 +0000 Subject: [PATCH 28/78] Adding memory to fields to be copied --- src/passes/SafeHeap.cpp | 1 + src/wasm-delegations-fields.def | 13 +++++++++++++ 2 files changed, 14 insertions(+) diff --git a/src/passes/SafeHeap.cpp b/src/passes/SafeHeap.cpp index b2728cc7fc8..6d1d5892e52 100644 --- a/src/passes/SafeHeap.cpp +++ b/src/passes/SafeHeap.cpp @@ -340,6 +340,7 @@ struct SafeHeap : public Pass { // do the store auto* store = module->allocator.alloc(); *store = style; // basically the same as the template we are given! + store->memory = mem->name; store->ptr = builder.makeLocalGet(3, indexType); store->value = builder.makeLocalGet(2, style.valueType); block->list.push_back(store); diff --git a/src/wasm-delegations-fields.def b/src/wasm-delegations-fields.def index 0e3f6082646..ae047c9d201 100644 --- a/src/wasm-delegations-fields.def +++ b/src/wasm-delegations-fields.def @@ -266,6 +266,7 @@ switch (DELEGATE_ID) { DELEGATE_FIELD_ADDRESS(Load, offset); DELEGATE_FIELD_ADDRESS(Load, align); DELEGATE_FIELD_INT(Load, isAtomic); + DELEGATE_FIELD_NAME(Load, memory); DELEGATE_END(Load); break; } @@ -278,6 +279,7 @@ switch (DELEGATE_ID) { DELEGATE_FIELD_ADDRESS(Store, align); DELEGATE_FIELD_INT(Store, isAtomic); DELEGATE_FIELD_TYPE(Store, valueType); + DELEGATE_FIELD_NAME(Store, memory); DELEGATE_END(Store); break; } @@ -288,6 +290,7 @@ switch (DELEGATE_ID) { DELEGATE_FIELD_INT(AtomicRMW, op); DELEGATE_FIELD_INT(AtomicRMW, bytes); DELEGATE_FIELD_ADDRESS(AtomicRMW, offset); + DELEGATE_FIELD_NAME(AtomicRMW, memory); DELEGATE_END(AtomicRMW); break; } @@ -298,6 +301,7 @@ switch (DELEGATE_ID) { DELEGATE_FIELD_CHILD(AtomicCmpxchg, ptr); DELEGATE_FIELD_INT(AtomicCmpxchg, bytes); DELEGATE_FIELD_ADDRESS(AtomicCmpxchg, offset); + DELEGATE_FIELD_NAME(AtomicCmpxchg, memory); DELEGATE_END(AtomicCmpxchg); break; } @@ -308,6 +312,7 @@ switch (DELEGATE_ID) { DELEGATE_FIELD_CHILD(AtomicWait, ptr); DELEGATE_FIELD_ADDRESS(AtomicWait, offset); DELEGATE_FIELD_TYPE(AtomicWait, expectedType); + DELEGATE_FIELD_NAME(AtomicWait, memory); DELEGATE_END(AtomicWait); break; } @@ -316,6 +321,7 @@ switch (DELEGATE_ID) { DELEGATE_FIELD_CHILD(AtomicNotify, notifyCount); DELEGATE_FIELD_CHILD(AtomicNotify, ptr); DELEGATE_FIELD_ADDRESS(AtomicNotify, offset); + DELEGATE_FIELD_NAME(AtomicNotify, memory); DELEGATE_END(AtomicNotify); break; } @@ -373,6 +379,7 @@ switch (DELEGATE_ID) { DELEGATE_FIELD_INT(SIMDLoad, op); DELEGATE_FIELD_ADDRESS(SIMDLoad, offset); DELEGATE_FIELD_ADDRESS(SIMDLoad, align); + DELEGATE_FIELD_NAME(SIMDLoad, memory); DELEGATE_END(SIMDLoad); break; } @@ -384,6 +391,7 @@ switch (DELEGATE_ID) { DELEGATE_FIELD_ADDRESS(SIMDLoadStoreLane, offset); DELEGATE_FIELD_ADDRESS(SIMDLoadStoreLane, align); DELEGATE_FIELD_INT(SIMDLoadStoreLane, index); + DELEGATE_FIELD_NAME(SIMDLoadStoreLane, memory); DELEGATE_END(SIMDLoadStoreLane); break; } @@ -393,6 +401,7 @@ switch (DELEGATE_ID) { DELEGATE_FIELD_CHILD(MemoryInit, offset); DELEGATE_FIELD_CHILD(MemoryInit, dest); DELEGATE_FIELD_INT(MemoryInit, segment); + DELEGATE_FIELD_NAME(MemoryInit, memory); DELEGATE_END(MemoryInit); break; } @@ -407,6 +416,7 @@ switch (DELEGATE_ID) { DELEGATE_FIELD_CHILD(MemoryCopy, size); DELEGATE_FIELD_CHILD(MemoryCopy, source); DELEGATE_FIELD_CHILD(MemoryCopy, dest); + DELEGATE_FIELD_NAME(MemoryCopy, memory); DELEGATE_END(MemoryCopy); break; } @@ -415,6 +425,7 @@ switch (DELEGATE_ID) { DELEGATE_FIELD_CHILD(MemoryFill, size); DELEGATE_FIELD_CHILD(MemoryFill, value); DELEGATE_FIELD_CHILD(MemoryFill, dest); + DELEGATE_FIELD_NAME(MemoryFill, memory); DELEGATE_END(MemoryFill); break; } @@ -462,6 +473,7 @@ switch (DELEGATE_ID) { case Expression::Id::MemorySizeId: { DELEGATE_START(MemorySize); DELEGATE_FIELD_TYPE(MemorySize, ptrType); + DELEGATE_FIELD_NAME(MemorySize, memory); DELEGATE_END(MemorySize); break; } @@ -469,6 +481,7 @@ switch (DELEGATE_ID) { DELEGATE_START(MemoryGrow); DELEGATE_FIELD_TYPE(MemoryGrow, ptrType); DELEGATE_FIELD_CHILD(MemoryGrow, delta); + DELEGATE_FIELD_NAME(MemoryGrow, memory); DELEGATE_END(MemoryGrow); break; } From 527933d8d5a960e54542e6dbcbe2bbcaa559602a Mon Sep 17 00:00:00 2001 From: Ashley Nelson Date: Sun, 3 Jul 2022 20:51:55 +0000 Subject: [PATCH 29/78] copying data segment name --- src/ir/module-utils.h | 1 + src/passes/Metrics.cpp | 5 +++-- src/wasm-s-parser.h | 1 + src/wasm.h | 2 -- src/wasm/wasm-debug.cpp | 4 ++-- src/wasm/wasm-s-parser.cpp | 37 ++++++++++++++++++++++++------------- src/wasm/wasm.cpp | 8 -------- 7 files changed, 31 insertions(+), 27 deletions(-) diff --git a/src/ir/module-utils.h b/src/ir/module-utils.h index d98e74d6af9..b6156e41b1f 100644 --- a/src/ir/module-utils.h +++ b/src/ir/module-utils.h @@ -121,6 +121,7 @@ inline DataSegment* copyDataSegment(const DataSegment* segment, Module& out) { auto ret = Builder::makeDataSegment(); ret->name = segment->name; ret->hasExplicitName = segment->hasExplicitName; + ret->memory = segment->memory; ret->isPassive = segment->isPassive; if (!segment->isPassive) { auto offset = ExpressionManipulator::copy(segment->offset, out); diff --git a/src/passes/Metrics.cpp b/src/passes/Metrics.cpp index 9ce67a600b3..480273da970 100644 --- a/src/passes/Metrics.cpp +++ b/src/passes/Metrics.cpp @@ -54,13 +54,14 @@ struct Metrics ModuleUtils::iterDefinedGlobals(*module, [&](Global* curr) { walkGlobal(curr); }); - // add imports / funcs / globals / exports / tables + // add imports / funcs / globals / exports / tables / memories counts["[imports]"] = imports.getNumImports(); counts["[funcs]"] = imports.getNumDefinedFunctions(); counts["[globals]"] = imports.getNumDefinedGlobals(); counts["[tags]"] = imports.getNumDefinedTags(); counts["[exports]"] = module->exports.size(); counts["[tables]"] = imports.getNumDefinedTables(); + counts["[memories]"] = imports.getNumDefinedMemories(); // add memory for (auto& memory : module->memories) { @@ -71,7 +72,7 @@ struct Metrics walkDataSegment(segment.get()); size += segment->data.size(); } - if (!module->dataSegments.empty()) { + if (!module->memories.empty()) { counts["[memory-data]"] = size; } diff --git a/src/wasm-s-parser.h b/src/wasm-s-parser.h index f8d20708576..e29c62115b4 100644 --- a/src/wasm-s-parser.h +++ b/src/wasm-s-parser.h @@ -171,6 +171,7 @@ class SExpressionWasmBuilder { Name getFunctionName(Element& s); Name getTableName(Element& s); Name getMemoryName(Element& s); + Memory getMemoryAtIdx(Index idx); Name getGlobalName(Element& s); Name getTagName(Element& s); void parseStart(Element& s) { wasm.addStart(getFunctionName(*s[1])); } diff --git a/src/wasm.h b/src/wasm.h index 604d2622a4e..e21c75d340e 100644 --- a/src/wasm.h +++ b/src/wasm.h @@ -2155,8 +2155,6 @@ class Module { public: Module() = default; - Memory getMemoryAtIdx(Index idx); - Export* getExport(Name name); Function* getFunction(Name name); Table* getTable(Name name); diff --git a/src/wasm/wasm-debug.cpp b/src/wasm/wasm-debug.cpp index 0630bfb9044..8de691272da 100644 --- a/src/wasm/wasm-debug.cpp +++ b/src/wasm/wasm-debug.cpp @@ -1065,8 +1065,8 @@ void writeDWARFSections(Module& wasm, const BinaryLocations& newLocations) { updateDebugLines(data, locationUpdater); - //TODO (nashley): Fix hardcoded memory - updateCompileUnits(info, data, locationUpdater, wasm.memories[0]->is64()); + bool is64 = wasm.memories.size() > 0 ? wasm.memories[0]->is64() : false; + updateCompileUnits(info, data, locationUpdater, is64); updateRanges(data, locationUpdater); diff --git a/src/wasm/wasm-s-parser.cpp b/src/wasm/wasm-s-parser.cpp index fb897b90713..536a01ff3f4 100644 --- a/src/wasm/wasm-s-parser.cpp +++ b/src/wasm/wasm-s-parser.cpp @@ -503,6 +503,14 @@ Name SExpressionWasmBuilder::getTableName(Element& s) { } } +Memory SExpressionWasmBuilder::getMemoryAtIdx(Index idx) { + if (idx < wasm.memories.size()) { + auto& memory = wasm.memories[idx]; + return *memory; + } + Fatal() << "Tried to access memories at idx > size"; +} + Name SExpressionWasmBuilder::getMemoryName(Element& s) { if (s.dollared()) { return s.str(); @@ -1385,7 +1393,7 @@ Expression* SExpressionWasmBuilder::makeMemorySize(Element& s) { if (s.size() > 1) { memIdx = atoi(s[i]->c_str()); } - auto mem = wasm.getMemoryAtIdx(memIdx); + auto mem = getMemoryAtIdx(memIdx); ret->memory = mem.name; if (mem.is64()) { ret->make64(); @@ -1402,7 +1410,7 @@ Expression* SExpressionWasmBuilder::makeMemoryGrow(Element& s) { std::cout << "in new init code\n"; memIdx = atoi(s[i++]->c_str()); } - auto mem = wasm.getMemoryAtIdx(memIdx); + auto mem = getMemoryAtIdx(memIdx); ret->memory = mem.name; if (mem.is64()) { ret->make64(); @@ -1935,7 +1943,7 @@ SExpressionWasmBuilder::makeLoad(Element& s, Type type, bool isAtomic) { memIdx = atoi(s[i]->c_str()); i++; } - auto mem = wasm.getMemoryAtIdx(memIdx); + auto mem = getMemoryAtIdx(memIdx); ret->memory = mem.name; i = parseMemAttributes(i, s, ret->offset, ret->align, ret->bytes); ret->ptr = parseExpression(s[i]); @@ -1957,7 +1965,7 @@ SExpressionWasmBuilder::makeStore(Element& s, Type type, bool isAtomic) { memIdx = atoi(s[i]->c_str()); i++; } - auto mem = wasm.getMemoryAtIdx(memIdx); + auto mem = getMemoryAtIdx(memIdx); ret->memory = mem.name; i = parseMemAttributes(i, s, ret->offset, ret->align, ret->bytes); ret->ptr = parseExpression(s[i]); @@ -2010,7 +2018,7 @@ Expression* SExpressionWasmBuilder::makeAtomicRMW(Element& s, memIdx = atoi(s[i]->c_str()); i++; } - auto mem = wasm.getMemoryAtIdx(memIdx); + auto mem = getMemoryAtIdx(memIdx); ret->memory = mem.name; Address align; i = parseMemAttributes(i, s, ret->offset, align, ret->bytes); @@ -2038,7 +2046,7 @@ Expression* SExpressionWasmBuilder::makeAtomicCmpxchg(Element& s, memIdx = atoi(s[i]->c_str()); i++; } - auto mem = wasm.getMemoryAtIdx(memIdx); + auto mem = getMemoryAtIdx(memIdx); ret->memory = mem.name; i = parseMemAttributes(i, s, ret->offset, align, ret->bytes); if (align != ret->bytes) { @@ -2072,7 +2080,7 @@ Expression* SExpressionWasmBuilder::makeAtomicWait(Element& s, Type type) { memIdx = atoi(s[i]->c_str()); i++; } - auto mem = wasm.getMemoryAtIdx(memIdx); + auto mem = getMemoryAtIdx(memIdx); ret->memory = mem.name; i = parseMemAttributes(i, s, ret->offset, align, expectedAlign); if (align != expectedAlign) { @@ -2096,7 +2104,7 @@ Expression* SExpressionWasmBuilder::makeAtomicNotify(Element& s) { memIdx = atoi(s[i]->c_str()); i++; } - auto mem = wasm.getMemoryAtIdx(memIdx); + auto mem = getMemoryAtIdx(memIdx); ret->memory = mem.name; Address align; i = parseMemAttributes(i, s, ret->offset, align, 4); @@ -2215,7 +2223,7 @@ Expression* SExpressionWasmBuilder::makeSIMDLoad(Element& s, SIMDLoadOp op) { memIdx = atoi(s[i]->c_str()); i++; } - auto mem = wasm.getMemoryAtIdx(memIdx); + auto mem = getMemoryAtIdx(memIdx); ret->memory = mem.name; i = parseMemAttributes(i, s, ret->offset, ret->align, defaultAlign); ret->ptr = parseExpression(s[i]); @@ -2261,7 +2269,7 @@ SExpressionWasmBuilder::makeSIMDLoadStoreLane(Element& s, memIdx = atoi(s[i]->c_str()); i++; } - auto mem = wasm.getMemoryAtIdx(memIdx); + auto mem = getMemoryAtIdx(memIdx); ret->memory = mem.name; i = parseMemAttributes(i, s, ret->offset, ret->align, defaultAlign); ret->index = parseLaneIndex(s[i++], lanes); @@ -2279,7 +2287,7 @@ Expression* SExpressionWasmBuilder::makeMemoryInit(Element& s) { std::cout << "in new init code\n"; memIdx = atoi(s[i++]->c_str()); } - auto mem = wasm.getMemoryAtIdx(memIdx); + auto mem = getMemoryAtIdx(memIdx); ret->memory = mem.name; ret->segment = atoi(s[i++]->str().c_str()); ret->dest = parseExpression(s[i++]); @@ -2304,7 +2312,7 @@ Expression* SExpressionWasmBuilder::makeMemoryCopy(Element& s) { std::cout << "in new copy code\n"; memIdx = atoi(s[i++]->c_str()); } - auto mem = wasm.getMemoryAtIdx(memIdx); + auto mem = getMemoryAtIdx(memIdx); ret->memory = mem.name; ret->dest = parseExpression(s[i++]); ret->source = parseExpression(s[i++]); @@ -2321,7 +2329,7 @@ Expression* SExpressionWasmBuilder::makeMemoryFill(Element& s) { std::cout << "in new fill code\n"; memIdx = atoi(s[i++]->c_str()); } - auto mem = wasm.getMemoryAtIdx(memIdx); + auto mem = getMemoryAtIdx(memIdx); ret->memory = mem.name; ret->dest = parseExpression(s[i++]); ret->value = parseExpression(s[i++]); @@ -3289,6 +3297,9 @@ void SExpressionWasmBuilder::parseData(Element& s) { } else { offset = parseExpression(inner); } + if (memory.isNull()) { + memory = getMemoryAtIdx(0).name; + } isPassive = false; } diff --git a/src/wasm/wasm.cpp b/src/wasm/wasm.cpp index e8fa5ed62d5..ed39a185d3a 100644 --- a/src/wasm/wasm.cpp +++ b/src/wasm/wasm.cpp @@ -1330,14 +1330,6 @@ void print_trace() { } } -Memory Module::getMemoryAtIdx(Index idx) { - if (idx < memories.size()) { - auto& memory = memories[idx]; - return *memory; - } - Fatal() << "Tried to access memories at idx > size"; -} - template typename Map::mapped_type& getModuleElement(Map& m, Name name, const std::string& funcName) { From 8b35c3610831f5f346c75ac0c118e187e8703c98 Mon Sep 17 00:00:00 2001 From: Ashley Nelson Date: Mon, 4 Jul 2022 00:16:37 +0000 Subject: [PATCH 30/78] added memory name --- src/tools/wasm-ctor-eval.cpp | 28 +++++++-------- src/wasm-interpreter.h | 66 +++++++++++++++++++----------------- 2 files changed, 48 insertions(+), 46 deletions(-) diff --git a/src/tools/wasm-ctor-eval.cpp b/src/tools/wasm-ctor-eval.cpp index 5d3c4d1c015..8925243ada4 100644 --- a/src/tools/wasm-ctor-eval.cpp +++ b/src/tools/wasm-ctor-eval.cpp @@ -201,7 +201,7 @@ struct CtorEvalExternalInterface : EvallingModuleRunner::ExternalInterface { } // Write out a count of i32(0) and return __WASI_ERRNO_SUCCESS (0). - store32(arguments[0].geti32(), 0); + store32(arguments[0].geti32(), 0, wasm->memories[0]->name); return {Literal(int32_t(0))}; } @@ -222,7 +222,7 @@ struct CtorEvalExternalInterface : EvallingModuleRunner::ExternalInterface { } // Write out an argc of i32(0) and return a __WASI_ERRNO_SUCCESS (0). - store32(arguments[0].geti32(), 0); + store32(arguments[0].geti32(), 0, wasm->memories[0]->name); return {Literal(int32_t(0))}; } @@ -333,25 +333,25 @@ struct CtorEvalExternalInterface : EvallingModuleRunner::ExternalInterface { // called during initialization void tableStore(Name tableName, Index index, const Literal& value) override {} - int8_t load8s(Address addr, Name memoryName = Name::fromInt(0)) override { return doLoad(addr, memoryName); } - uint8_t load8u(Address addr, Name memoryName = Name::fromInt(0)) override { return doLoad(addr, memoryName); } - int16_t load16s(Address addr, Name memoryName = Name::fromInt(0)) override { return doLoad(addr, memoryName); } - uint16_t load16u(Address addr, Name memoryName = Name::fromInt(0)) override { return doLoad(addr, memoryName); } - int32_t load32s(Address addr, Name memoryName = Name::fromInt(0)) override { return doLoad(addr, memoryName); } - uint32_t load32u(Address addr, Name memoryName = Name::fromInt(0)) override { return doLoad(addr, memoryName); } - int64_t load64s(Address addr, Name memoryName = Name::fromInt(0)) override { return doLoad(addr, memoryName); } - uint64_t load64u(Address addr, Name memoryName = Name::fromInt(0)) override { return doLoad(addr, memoryName); } + int8_t load8s(Address addr, Name memoryName) override { return doLoad(addr, memoryName); } + uint8_t load8u(Address addr, Name memoryName) override { return doLoad(addr, memoryName); } + int16_t load16s(Address addr, Name memoryName) override { return doLoad(addr, memoryName); } + uint16_t load16u(Address addr, Name memoryName) override { return doLoad(addr, memoryName); } + int32_t load32s(Address addr, Name memoryName) override { return doLoad(addr, memoryName); } + uint32_t load32u(Address addr, Name memoryName) override { return doLoad(addr, memoryName); } + int64_t load64s(Address addr, Name memoryName) override { return doLoad(addr, memoryName); } + uint64_t load64u(Address addr, Name memoryName) override { return doLoad(addr, memoryName); } - void store8(Address addr, int8_t value, Name memoryName = Name::fromInt(0)) override { + void store8(Address addr, int8_t value, Name memoryName) override { doStore(addr, value, memoryName); } - void store16(Address addr, int16_t value, Name memoryName = Name::fromInt(0)) override { + void store16(Address addr, int16_t value, Name memoryName) override { doStore(addr, value, memoryName); } - void store32(Address addr, int32_t value, Name memoryName = Name::fromInt(0)) override { + void store32(Address addr, int32_t value, Name memoryName) override { doStore(addr, value, memoryName); } - void store64(Address addr, int64_t value, Name memoryName = Name::fromInt(0)) override { + void store64(Address addr, int64_t value, Name memoryName) override { doStore(addr, value, memoryName); } diff --git a/src/wasm-interpreter.h b/src/wasm-interpreter.h index 7dacc894bef..5fc651585bd 100644 --- a/src/wasm-interpreter.h +++ b/src/wasm-interpreter.h @@ -2331,18 +2331,18 @@ class ModuleRunnerBase : public ExpressionRunner { } WASM_UNREACHABLE("invalid type"); } - virtual void store(Store* store, Address addr, Literal value, Name memoryName) { + virtual void store(Store* store, Address addr, Literal value) { switch (store->valueType.getBasic()) { case Type::i32: { switch (store->bytes) { case 1: - store8(addr, value.geti32(), memoryName); + store8(addr, value.geti32(), store->memory); break; case 2: - store16(addr, value.geti32(), memoryName); + store16(addr, value.geti32(), store->memory); break; case 4: - store32(addr, value.geti32(), memoryName); + store32(addr, value.geti32(), store->memory); break; default: WASM_UNREACHABLE("invalid store size"); @@ -2352,16 +2352,16 @@ class ModuleRunnerBase : public ExpressionRunner { case Type::i64: { switch (store->bytes) { case 1: - store8(addr, value.geti64(), memoryName); + store8(addr, value.geti64(), store->memory); break; case 2: - store16(addr, value.geti64(), memoryName); + store16(addr, value.geti64(), store->memory); break; case 4: - store32(addr, value.geti64(), memoryName); + store32(addr, value.geti64(), store->memory); break; case 8: - store64(addr, value.geti64(), memoryName); + store64(addr, value.geti64(), store->memory); break; default: WASM_UNREACHABLE("invalid store size"); @@ -2370,13 +2370,13 @@ class ModuleRunnerBase : public ExpressionRunner { } // write floats carefully, ensuring all bits reach memory case Type::f32: - store32(addr, value.reinterpreti32(), memoryName); + store32(addr, value.reinterpreti32(), store->memory); break; case Type::f64: - store64(addr, value.reinterpreti64(), memoryName); + store64(addr, value.reinterpreti64(), store->memory); break; case Type::v128: - store128(addr, value.getv128(), memoryName); + store128(addr, value.getv128(), store->memory); break; case Type::none: case Type::unreachable: @@ -2384,31 +2384,31 @@ class ModuleRunnerBase : public ExpressionRunner { } } - virtual int8_t load8s(Address addr, Name memoryName = Name::fromInt(0)) { WASM_UNREACHABLE("unimp"); } - virtual uint8_t load8u(Address addr, Name memoryName = Name::fromInt(0)) { WASM_UNREACHABLE("unimp"); } - virtual int16_t load16s(Address addr, Name memoryName = Name::fromInt(0)) { WASM_UNREACHABLE("unimp"); } - virtual uint16_t load16u(Address addr, Name memoryName = Name::fromInt(0)) { WASM_UNREACHABLE("unimp"); } - virtual int32_t load32s(Address addr, Name memoryName = Name::fromInt(0)) { WASM_UNREACHABLE("unimp"); } - virtual uint32_t load32u(Address addr, Name memoryName = Name::fromInt(0)) { WASM_UNREACHABLE("unimp"); } - virtual int64_t load64s(Address addr, Name memoryName = Name::fromInt(0)) { WASM_UNREACHABLE("unimp"); } - virtual uint64_t load64u(Address addr, Name memoryName = Name::fromInt(0)) { WASM_UNREACHABLE("unimp"); } - virtual std::array load128(Address addr, Name memoryName = Name::fromInt(0)) { + virtual int8_t load8s(Address addr, Name memoryName) { WASM_UNREACHABLE("unimp"); } + virtual uint8_t load8u(Address addr, Name memoryName) { WASM_UNREACHABLE("unimp"); } + virtual int16_t load16s(Address addr, Name memoryName) { WASM_UNREACHABLE("unimp"); } + virtual uint16_t load16u(Address addr, Name memoryName) { WASM_UNREACHABLE("unimp"); } + virtual int32_t load32s(Address addr, Name memoryName) { WASM_UNREACHABLE("unimp"); } + virtual uint32_t load32u(Address addr, Name memoryName) { WASM_UNREACHABLE("unimp"); } + virtual int64_t load64s(Address addr, Name memoryName) { WASM_UNREACHABLE("unimp"); } + virtual uint64_t load64u(Address addr, Name memoryName) { WASM_UNREACHABLE("unimp"); } + virtual std::array load128(Address addr, Name memoryName) { WASM_UNREACHABLE("unimp"); } - virtual void store8(Address addr, int8_t value, Name memoryName = Name::fromInt(0)) { + virtual void store8(Address addr, int8_t value, Name memoryName) { WASM_UNREACHABLE("unimp"); } - virtual void store16(Address addr, int16_t value, Name memoryName = Name::fromInt(0)) { + virtual void store16(Address addr, int16_t value, Name memoryName) { WASM_UNREACHABLE("unimp"); } - virtual void store32(Address addr, int32_t value, Name memoryName = Name::fromInt(0)) { + virtual void store32(Address addr, int32_t value, Name memoryName) { WASM_UNREACHABLE("unimp"); } - virtual void store64(Address addr, int64_t value, Name memoryName = Name::fromInt(0)) { + virtual void store64(Address addr, int64_t value, Name memoryName) { WASM_UNREACHABLE("unimp"); } - virtual void store128(Address addr, const std::array&, Name memoryName = Name::fromInt(0)) { + virtual void store128(Address addr, const std::array&, Name memoryName) { WASM_UNREACHABLE("unimp"); } @@ -2924,7 +2924,7 @@ class ModuleRunnerBase : public ExpressionRunner { } NOTE_EVAL1(addr); NOTE_EVAL1(value); - info.interface->store(curr, addr, value.getSingleValue(), info.name); + info.interface->store(curr, addr, value.getSingleValue()); return Flow(); } @@ -2943,7 +2943,7 @@ class ModuleRunnerBase : public ExpressionRunner { NOTE_EVAL1(addr); NOTE_EVAL1(value); auto info = getMemoryInterfaceInfo(curr->memory); - auto loaded = self()->doAtomicLoad(addr, curr->bytes, curr->type, info.memorySize); + auto loaded = self()->doAtomicLoad(addr, curr->bytes, curr->type, curr->memory, info.memorySize); NOTE_EVAL1(loaded); auto computed = value.getSingleValue(); switch (curr->op) { @@ -2989,7 +2989,7 @@ class ModuleRunnerBase : public ExpressionRunner { NOTE_EVAL1(expected); NOTE_EVAL1(replacement); auto info = getMemoryInterfaceInfo(curr->memory); - auto loaded = self()->doAtomicLoad(addr, curr->bytes, curr->type, info.memorySize); + auto loaded = self()->doAtomicLoad(addr, curr->bytes, curr->type, curr->memory, info.memorySize); NOTE_EVAL1(loaded); if (loaded == expected.getSingleValue()) { self()->doAtomicStore(addr, curr->bytes, replacement.getSingleValue(), curr->memory, info.memorySize); @@ -3016,7 +3016,7 @@ class ModuleRunnerBase : public ExpressionRunner { auto bytes = curr->expectedType.getByteSize(); auto info = getMemoryInterfaceInfo(curr->memory); auto addr = self()->getFinalAddress(curr, ptr.getSingleValue(), bytes); - auto loaded = self()->doAtomicLoad(addr, bytes, curr->expectedType, info.memorySize); + auto loaded = self()->doAtomicLoad(addr, bytes, curr->expectedType, curr->memory, info.memorySize); NOTE_EVAL1(loaded); if (loaded != expected.getSingleValue()) { return Literal(int32_t(1)); // not equal @@ -3365,7 +3365,7 @@ class ModuleRunnerBase : public ExpressionRunner { info.interface->store8( self()->getFinalAddressWithoutOffset(Literal(destVal + i), 1, info.memorySize), info.interface->load8s( - self()->getFinalAddressWithoutOffset(Literal(sourceVal + i), 1, info.memorySize)), curr->memory); + self()->getFinalAddressWithoutOffset(Literal(sourceVal + i), 1, info.memorySize), curr->memory), curr->memory); } return {}; } @@ -3621,7 +3621,7 @@ class ModuleRunnerBase : public ExpressionRunner { } } - Literal doAtomicLoad(Address addr, Index bytes, Type type, Address memorySize) { + Literal doAtomicLoad(Address addr, Index bytes, Type type, Name memoryName, Address memorySize) { checkAtomicAddress(addr, bytes, memorySize); Const ptr; ptr.value = Literal(int32_t(addr)); @@ -3635,6 +3635,7 @@ class ModuleRunnerBase : public ExpressionRunner { load.isAtomic = true; // understatement load.ptr = &ptr; load.type = type; + load.memory = memoryName; return externalInterface->load(&load, addr); } @@ -3653,7 +3654,8 @@ class ModuleRunnerBase : public ExpressionRunner { store.ptr = &ptr; store.value = &value; store.valueType = value.type; - return externalInterface->store(&store, addr, toStore, memoryName); + store.memory = memoryName; + return externalInterface->store(&store, addr, toStore); } ExternalInterface* externalInterface; From a8a1f61500fa5e12d8bfd9656b69380aea5f9301 Mon Sep 17 00:00:00 2001 From: Ashley Nelson Date: Mon, 4 Jul 2022 05:59:26 +0000 Subject: [PATCH 31/78] fixing bugs --- src/passes/Memory64Lowering.cpp | 12 ++++-------- src/passes/Metrics.cpp | 4 ++-- src/passes/SafeHeap.cpp | 2 ++ src/wasm/wasm-s-parser.cpp | 6 +----- 4 files changed, 9 insertions(+), 15 deletions(-) diff --git a/src/passes/Memory64Lowering.cpp b/src/passes/Memory64Lowering.cpp index 4fdf0bf4282..4213c105490 100644 --- a/src/passes/Memory64Lowering.cpp +++ b/src/passes/Memory64Lowering.cpp @@ -119,14 +119,10 @@ struct Memory64Lowering : public WalkerPass> { } void visitDataSegment(DataSegment* segment) { - auto& module = *getModule(); - auto memory = module.getMemory(segment->memory); - if (memory->is64()) { - if (!segment->isPassive) { - auto* c = segment->offset->cast(); - c->value = Literal(static_cast(c->value.geti64())); - c->type = Type::i32; - } + if (!segment->isPassive) { + auto* c = segment->offset->cast(); + c->value = Literal(static_cast(c->value.geti64())); + c->type = Type::i32; } } }; diff --git a/src/passes/Metrics.cpp b/src/passes/Metrics.cpp index 480273da970..d2dd6691313 100644 --- a/src/passes/Metrics.cpp +++ b/src/passes/Metrics.cpp @@ -61,7 +61,7 @@ struct Metrics counts["[tags]"] = imports.getNumDefinedTags(); counts["[exports]"] = module->exports.size(); counts["[tables]"] = imports.getNumDefinedTables(); - counts["[memories]"] = imports.getNumDefinedMemories(); +// counts["[memories]"] = imports.getNumDefinedMemories(); // add memory for (auto& memory : module->memories) { @@ -72,7 +72,7 @@ struct Metrics walkDataSegment(segment.get()); size += segment->data.size(); } - if (!module->memories.empty()) { + if (!module->dataSegments.empty()) { counts["[memory-data]"] = size; } diff --git a/src/passes/SafeHeap.cpp b/src/passes/SafeHeap.cpp index 6d1d5892e52..37d8615450d 100644 --- a/src/passes/SafeHeap.cpp +++ b/src/passes/SafeHeap.cpp @@ -205,6 +205,7 @@ struct SafeHeap : public Pass { continue; } load.type = type; + load.memory = module->memories[0]->name; for (Index bytes : {1, 2, 4, 8, 16}) { load.bytes = bytes; if (bytes > type.getByteSize() || (type == Type::f32 && bytes != 4) || @@ -243,6 +244,7 @@ struct SafeHeap : public Pass { } store.valueType = valueType; store.type = Type::none; + store.memory = module->memories[0]->name; for (Index bytes : {1, 2, 4, 8, 16}) { store.bytes = bytes; if (bytes > valueType.getByteSize() || diff --git a/src/wasm/wasm-s-parser.cpp b/src/wasm/wasm-s-parser.cpp index 536a01ff3f4..ff16b5248b6 100644 --- a/src/wasm/wasm-s-parser.cpp +++ b/src/wasm/wasm-s-parser.cpp @@ -1407,7 +1407,6 @@ Expression* SExpressionWasmBuilder::makeMemoryGrow(Element& s) { Index i = 1; Index memIdx = 0; if (s.size() > 2) { - std::cout << "in new init code\n"; memIdx = atoi(s[i++]->c_str()); } auto mem = getMemoryAtIdx(memIdx); @@ -2284,7 +2283,6 @@ Expression* SExpressionWasmBuilder::makeMemoryInit(Element& s) { Index i = 1; Index memIdx = 0; if (s.size() > 5) { - std::cout << "in new init code\n"; memIdx = atoi(s[i++]->c_str()); } auto mem = getMemoryAtIdx(memIdx); @@ -2309,7 +2307,6 @@ Expression* SExpressionWasmBuilder::makeMemoryCopy(Element& s) { Index i = 1; Index memIdx = 0; if (s.size() > 4) { - std::cout << "in new copy code\n"; memIdx = atoi(s[i++]->c_str()); } auto mem = getMemoryAtIdx(memIdx); @@ -2326,7 +2323,6 @@ Expression* SExpressionWasmBuilder::makeMemoryFill(Element& s) { Index i = 1; Index memIdx = 0; if (s.size() > 4) { - std::cout << "in new fill code\n"; memIdx = atoi(s[i++]->c_str()); } auto mem = getMemoryAtIdx(memIdx); @@ -3162,7 +3158,7 @@ Index SExpressionWasmBuilder::parseMemoryLimits(Element& s, Index i, std::unique } else { auto maxElem = s[i++]; memory->max = getAddress(maxElem); - if (memory->is64() && memory->max > Memory::kMaxSize32) { + if (!memory->is64() && memory->max > Memory::kMaxSize32) { throw ParseException( "total memory must be <= 4GB", maxElem->line, maxElem->col); } From 496eaf29fe08cd4f25bfeafcc59b1090b0870fff Mon Sep 17 00:00:00 2001 From: Ashley Nelson Date: Tue, 5 Jul 2022 00:50:36 +0000 Subject: [PATCH 32/78] parsing fixes --- src/wasm/wasm-binary.cpp | 1 + src/wasm/wasm-s-parser.cpp | 56 ++++++++++++++++---------------------- 2 files changed, 25 insertions(+), 32 deletions(-) diff --git a/src/wasm/wasm-binary.cpp b/src/wasm/wasm-binary.cpp index df2cddf75e0..6433e6ebae9 100644 --- a/src/wasm/wasm-binary.cpp +++ b/src/wasm/wasm-binary.cpp @@ -5174,6 +5174,7 @@ bool WasmBinaryBuilder::maybeVisitMemoryCopy(Expression*& out, uint32_t code) { curr->source = popNonVoidExpression(); curr->dest = popNonVoidExpression(); Index memIdx = getU32LEB(); + getInt8(); curr->finalize(); memoryRefs[memIdx].push_back(curr); out = curr; diff --git a/src/wasm/wasm-s-parser.cpp b/src/wasm/wasm-s-parser.cpp index ff16b5248b6..d3c796cc6b7 100644 --- a/src/wasm/wasm-s-parser.cpp +++ b/src/wasm/wasm-s-parser.cpp @@ -1937,10 +1937,9 @@ SExpressionWasmBuilder::makeLoad(Element& s, Type type, bool isAtomic) { ret->signed_ = extra[0] && extra[1] == 's'; Index i = 1; Index memIdx = 0; - // Check to make sure this s[1] isn't a list of instructions or mem attributes - if (!s[i]->isList() && strncmp(s[i]->c_str(), "align", 5) != 0 && strncmp(s[i]->c_str(), "offset", 6) != 0) { - memIdx = atoi(s[i]->c_str()); - i++; + // Check to make sure there are more than the default args & this str isn't the mem attributes + if (s.size() > 2 && !s.isList() && strncmp(s[i]->c_str(), "align", 5) != 0 && strncmp(s[i]->c_str(), "offset", 6) != 0) { + memIdx = atoi(s[i++]->c_str()); } auto mem = getMemoryAtIdx(memIdx); ret->memory = mem.name; @@ -1959,10 +1958,9 @@ SExpressionWasmBuilder::makeStore(Element& s, Type type, bool isAtomic) { ret->bytes = parseMemBytes(extra, type.getByteSize()); Index i = 1; Index memIdx = 0; - // Check to make sure this str isn't the mem attributes - if (!s[i]->isList() && strncmp(s[i]->c_str(), "align", 5) != 0 && strncmp(s[i]->c_str(), "offset", 6) != 0) { - memIdx = atoi(s[i]->c_str()); - i++; + // Check to make sure there are more than the default args & this str isn't the mem attributes + if (s.size() > 3 && !s[i]->isList() && strncmp(s[i]->c_str(), "align", 5) != 0 && strncmp(s[i]->c_str(), "offset", 6) != 0) { + memIdx = atoi(s[i++]->c_str()); } auto mem = getMemoryAtIdx(memIdx); ret->memory = mem.name; @@ -2012,10 +2010,9 @@ Expression* SExpressionWasmBuilder::makeAtomicRMW(Element& s, } Index i = 1; Index memIdx = 0; - // Check to make sure this str isn't the mem attributes - if (!s[i]->isList() && strncmp(s[i]->c_str(), "align", 5) != 0 && strncmp(s[i]->c_str(), "offset", 6) != 0) { - memIdx = atoi(s[i]->c_str()); - i++; + // Check to make sure there are more than the default args & this str isn't the mem attributes + if (s.size() > 3 && !s[i]->isList() && strncmp(s[i]->c_str(), "align", 5) != 0 && strncmp(s[i]->c_str(), "offset", 6) != 0) { + memIdx = atoi(s[i++]->c_str()); } auto mem = getMemoryAtIdx(memIdx); ret->memory = mem.name; @@ -2040,10 +2037,9 @@ Expression* SExpressionWasmBuilder::makeAtomicCmpxchg(Element& s, Index i = 1; Address align; Index memIdx = 0; - // Check to make sure this str isn't the mem attributes - if (!s[i]->isList() && strncmp(s[i]->c_str(), "align", 5) != 0 && strncmp(s[i]->c_str(), "offset", 6) != 0) { - memIdx = atoi(s[i]->c_str()); - i++; + // Check to make sure there are more than the default args & this str isn't the mem attributes + if (s.size() > 4 && !s[i]->isList() && strncmp(s[i]->c_str(), "align", 5) != 0 && strncmp(s[i]->c_str(), "offset", 6) != 0) { + memIdx = atoi(s[i++]->c_str()); } auto mem = getMemoryAtIdx(memIdx); ret->memory = mem.name; @@ -2074,10 +2070,9 @@ Expression* SExpressionWasmBuilder::makeAtomicWait(Element& s, Type type) { } Index i = 1; Index memIdx = 0; - // Check to make sure this str isn't the mem attributes - if (!s[i]->isList() && strncmp(s[i]->c_str(), "align", 5) != 0 && strncmp(s[i]->c_str(), "offset", 6) != 0) { - memIdx = atoi(s[i]->c_str()); - i++; + // Check to make sure there are more than the default args & this str isn't the mem attributes + if (s.size() > 4 && !s[i]->isList() && strncmp(s[i]->c_str(), "align", 5) != 0 && strncmp(s[i]->c_str(), "offset", 6) != 0) { + memIdx = atoi(s[i++]->c_str()); } auto mem = getMemoryAtIdx(memIdx); ret->memory = mem.name; @@ -2098,10 +2093,9 @@ Expression* SExpressionWasmBuilder::makeAtomicNotify(Element& s) { ret->type = Type::i32; Index i = 1; Index memIdx = 0; - // Check to make sure this str isn't the mem attributes - if (!s[i]->isList() && strncmp(s[i]->c_str(), "align", 5) != 0 && strncmp(s[i]->c_str(), "offset", 6) != 0) { - memIdx = atoi(s[i]->c_str()); - i++; + // Check to make sure there are more than the default args & this str isn't the mem attributes + if (s.size() > 3 && !s[i]->isList() && strncmp(s[i]->c_str(), "align", 5) != 0 && strncmp(s[i]->c_str(), "offset", 6) != 0) { + memIdx = atoi(s[i++]->c_str()); } auto mem = getMemoryAtIdx(memIdx); ret->memory = mem.name; @@ -2217,10 +2211,9 @@ Expression* SExpressionWasmBuilder::makeSIMDLoad(Element& s, SIMDLoadOp op) { } Index i = 1; Index memIdx = 0; - // Check to make sure this str isn't the mem attributes - if (!s[i]->isList() && strncmp(s[i]->c_str(), "align", 5) != 0 && strncmp(s[i]->c_str(), "offset", 6) != 0) { - memIdx = atoi(s[i]->c_str()); - i++; + // Check to make sure there are more than the default args & this str isn't the mem attributes + if (s.size() > 2 && !s[i]->isList() && strncmp(s[i]->c_str(), "align", 5) != 0 && strncmp(s[i]->c_str(), "offset", 6) != 0) { + memIdx = atoi(s[i++]->c_str()); } auto mem = getMemoryAtIdx(memIdx); ret->memory = mem.name; @@ -2263,10 +2256,9 @@ SExpressionWasmBuilder::makeSIMDLoadStoreLane(Element& s, } Index i = 1; Index memIdx = 0; - // Check to make sure this str isn't the mem attributes - if (!s[i]->isList() && strncmp(s[i]->c_str(), "align", 5) != 0 && strncmp(s[i]->c_str(), "offset", 6) != 0) { - memIdx = atoi(s[i]->c_str()); - i++; + // Check to make sure there are more than the default args & this str isn't the mem attributes + if (s.size() > 4 && !s.isList() && strncmp(s[i]->c_str(), "align", 5) != 0 && strncmp(s[i]->c_str(), "offset", 6) != 0) { + memIdx = atoi(s[i++]->c_str()); } auto mem = getMemoryAtIdx(memIdx); ret->memory = mem.name; From 58e3e47d48144d3b59a6eb16c6e7344911b45236 Mon Sep 17 00:00:00 2001 From: Ashley Nelson Date: Tue, 5 Jul 2022 05:32:21 +0000 Subject: [PATCH 33/78] bug fixes --- src/ir/memory-utils.h | 2 + src/passes/MemoryPacking.cpp | 10 +++-- src/passes/RemoveUnusedModuleElements.cpp | 10 +++-- src/tools/fuzzing/fuzzing.cpp | 8 ++-- src/tools/wasm-ctor-eval.cpp | 53 +++++++++-------------- src/wasm.h | 1 + src/wasm/wasm.cpp | 12 +++-- 7 files changed, 50 insertions(+), 46 deletions(-) diff --git a/src/ir/memory-utils.h b/src/ir/memory-utils.h index 97ee494b6f4..413604a7e62 100644 --- a/src/ir/memory-utils.h +++ b/src/ir/memory-utils.h @@ -138,6 +138,7 @@ inline bool ensureLimitedSegments(Module& module) { c->type = Type::i32; auto combined = Builder::makeDataSegment(); + combined->memory = module.memories[0]->name; combined->offset = c; for (Index j = i; j < dataSegments.size(); j++) { auto& segment = dataSegments[j]; @@ -158,6 +159,7 @@ inline bool ensureLimitedSegments(Module& module) { } dataSegments.swap(mergedSegments); + module.updateDataSegmentsMap(); return true; } } // namespace wasm::MemoryUtils diff --git a/src/passes/MemoryPacking.cpp b/src/passes/MemoryPacking.cpp index 2a3c76de6f0..f88e01fa1a2 100644 --- a/src/passes/MemoryPacking.cpp +++ b/src/passes/MemoryPacking.cpp @@ -101,7 +101,7 @@ struct MemoryPacking : public Pass { const PassOptions& passOptions); void optimizeBulkMemoryOps(PassRunner* runner, Module* module); void getSegmentReferrers(Module* module, ReferrersMap& referrers); - void dropUnusedSegments(std::vector>& segments, + void dropUnusedSegments(Module* module, std::vector>& segments, ReferrersMap& referrers); bool canSplit(const std::unique_ptr& segment, const Referrers& referrers); @@ -141,7 +141,7 @@ void MemoryPacking::run(PassRunner* runner, Module* module) { // like, such as memory.inits not having both zero offset and size. optimizeBulkMemoryOps(runner, module); getSegmentReferrers(module, referrers); - dropUnusedSegments(segments, referrers); + dropUnusedSegments(module, segments, referrers); } // The new, split memory segments @@ -172,6 +172,7 @@ void MemoryPacking::run(PassRunner* runner, Module* module) { } segments.swap(packed); + module->updateDataSegmentsMap(); if (module->features.hasBulkMemory()) { replaceBulkMemoryOps(runner, module, replacements); @@ -473,6 +474,7 @@ void MemoryPacking::getSegmentReferrers(Module* module, } void MemoryPacking::dropUnusedSegments( + Module *module, std::vector>& segments, ReferrersMap& referrers) { std::vector> usedSegments; @@ -509,6 +511,7 @@ void MemoryPacking::dropUnusedSegments( } } std::swap(segments, usedSegments); + module->updateDataSegmentsMap(); std::swap(referrers, usedReferrers); } @@ -563,9 +566,8 @@ void MemoryPacking::createSplitSegments( } segmentCount++; } - // TODO (nashley): Add a proper name for the memory auto curr = Builder::makeDataSegment(name, - "", + segment->memory, segment->isPassive, offset, &segment->data[range.start], diff --git a/src/passes/RemoveUnusedModuleElements.cpp b/src/passes/RemoveUnusedModuleElements.cpp index 815a449d5d0..54fba3c62d2 100644 --- a/src/passes/RemoveUnusedModuleElements.cpp +++ b/src/passes/RemoveUnusedModuleElements.cpp @@ -201,8 +201,8 @@ struct ReachabilityAnalyzer : public PostWalker { void visitAtomicRMW(AtomicRMW* curr) { maybeAddMemory(curr->memory); } void visitAtomicWait(AtomicWait* curr) { maybeAddMemory(curr->memory); } void visitAtomicNotify(AtomicNotify* curr) { maybeAddMemory(curr->memory); } - // TODO (nashley): How to get memory name for atomic fence, is it parsed? - //void visitAtomicFence(AtomicFence* curr) { maybeAddMemory(curr->name); } + // TODO (nashley): How to get memory name for atomic fence? + void visitAtomicFence(AtomicFence* curr) { maybeAddMemory(module->memories[0]->name); } void visitMemoryInit(MemoryInit* curr) { maybeAddMemory(curr->memory); } void visitDataDrop(DataDrop* curr) { auto& seg = module->dataSegments[curr->segment]; @@ -380,7 +380,11 @@ struct RemoveUnusedModuleElements : public Pass { // should continue to work. (For example, after removing a reference // to a function from an element segment, we may be able to remove // that function, etc.) - + module->removeDataSegments([&](DataSegment* curr) { + return curr->data.empty() || + analyzer.reachable.count(ModuleElement( + ModuleElementKind::DataSegment, curr->name)) == 0; + }); // Since we've removed all empty data segments, here we mark all memories // that have a segment left. std::unordered_set nonemptyMemories; diff --git a/src/tools/fuzzing/fuzzing.cpp b/src/tools/fuzzing/fuzzing.cpp index ce5520fde6f..65845791b4b 100644 --- a/src/tools/fuzzing/fuzzing.cpp +++ b/src/tools/fuzzing/fuzzing.cpp @@ -202,15 +202,17 @@ void TranslateToFuzzReader::setupMemory() { if (!segment->isPassive) { segment->offset = builder.makeConst(int32_t(memCovered)); memCovered += segSize; + segment->memory = wasm.memories[0]->name; } - wasm.dataSegments.push_back(std::move(segment)); + wasm.addDataSegment(std::move(segment)); } } else { // init some data auto segment = builder.makeDataSegment(); + segment->memory = wasm.memories[0]->name; segment->offset = builder.makeConst(int32_t(0)); segment->setName(Name::fromInt(0), false); - wasm.dataSegments.push_back(std::move(segment)); + wasm.addDataSegment(std::move(segment)); auto num = upTo(USABLE_MEMORY * 2); for (size_t i = 0; i < num; i++) { auto value = upTo(512); @@ -251,7 +253,7 @@ void TranslateToFuzzReader::setupMemory() { builder.makeExport(hasher->name, hasher->name, ExternalKind::Function)); // Export memory so JS fuzzing can use it if (!wasm.getExportOrNull("memory")) { - wasm.addExport(builder.makeExport("memory", "0", ExternalKind::Memory)); + wasm.addExport(builder.makeExport("memory", "memory", ExternalKind::Memory)); } } diff --git a/src/tools/wasm-ctor-eval.cpp b/src/tools/wasm-ctor-eval.cpp index 8925243ada4..36b1d382b8c 100644 --- a/src/tools/wasm-ctor-eval.cpp +++ b/src/tools/wasm-ctor-eval.cpp @@ -168,6 +168,12 @@ struct CtorEvalExternalInterface : EvallingModuleRunner::ExternalInterface { void init(Module& wasm_, EvallingModuleRunner& instance_) override { wasm = &wasm_; instance = &instance_; + for (auto& memory: wasm->memories) { + if (!memory->imported()) { + std::vector data; + memories[memory->name] = data; + } + } } void importGlobals(GlobalValueSet& globals, Module& wasm_) override { @@ -425,39 +431,22 @@ struct CtorEvalExternalInterface : EvallingModuleRunner::ExternalInterface { } void applyMemoryToModule() { - // One of the memories must have already had its data segments flattened into the standard form: one - // segment at offset 0, or none. Set the memory on the flattened data - // segment or create a new one if none exists. - auto it = memories.begin(); - while (it != memories.end()) { - size_t segCount = 0; - auto memName = it->first; - auto base = std::string(memName.c_str()); - auto segName = Name(base + "_flattened"); - auto curr = wasm->getDataSegmentOrNull(segName); - for (auto& seg : wasm->dataSegments) { - if (seg->memory == memName) { - segCount++; - } - } - // Preventing making a new segment for a memory that was never flattened - if (segCount > 1) { - continue; - } - if (!curr) { - Builder builder(*wasm); - auto newSeg = builder.makeDataSegment(); - newSeg->offset = builder.makeConst(int32_t(0)); - newSeg->setName(Name::fromInt(wasm->dataSegments.size()-1), false); - wasm->dataSegments.push_back(std::move(newSeg)); - curr = &*newSeg; - } - assert(curr->offset->cast()->value.getInteger() == 0); - - // Copy the current memory contents after execution into the Module's - // memory. - curr->data = it->second; + // Memory must have already been flattened into the standard form: one + // segment at offset 0, or none. + if (wasm->dataSegments.empty()) { + Builder builder(*wasm); + auto curr = builder.makeDataSegment(); + curr->offset = builder.makeConst(int32_t(0)); + curr->setName(Name::fromInt(0), false); + curr->memory = wasm->memories[0]->name; + wasm->addDataSegment(std::move(curr)); } + auto& segment = wasm->dataSegments[0]; + assert(segment->offset->cast()->value.getInteger() == 0); + + // Copy the current memory contents after execution into the Module's + // memory. + segment->data = memories[wasm->memories[0]->name]; } // Serializing GC data requires more work than linear memory, because diff --git a/src/wasm.h b/src/wasm.h index e21c75d340e..cf4ed8d29e9 100644 --- a/src/wasm.h +++ b/src/wasm.h @@ -2207,6 +2207,7 @@ class Module { void removeGlobals(std::function pred); void removeTags(std::function pred); + void updateDataSegmentsMap(); void updateMaps(); void clearDebugInfo(); diff --git a/src/wasm/wasm.cpp b/src/wasm/wasm.cpp index ed39a185d3a..88232de4e23 100644 --- a/src/wasm/wasm.cpp +++ b/src/wasm/wasm.cpp @@ -1575,6 +1575,13 @@ void Module::removeTags(std::function pred) { removeModuleElements(tags, tagsMap, pred); } +void Module::updateDataSegmentsMap() { + dataSegmentsMap.clear(); + for (auto& curr : dataSegments) { + dataSegmentsMap[curr->name] = curr.get(); + } +} + void Module::updateMaps() { functionsMap.clear(); for (auto& curr : functions) { @@ -1596,10 +1603,7 @@ void Module::updateMaps() { for (auto& curr : memories) { memoriesMap[curr->name] = curr.get(); } - dataSegmentsMap.clear(); - for (auto& curr : dataSegments) { - dataSegmentsMap[curr->name] = curr.get(); - } + updateDataSegmentsMap(); globalsMap.clear(); for (auto& curr : globals) { globalsMap[curr->name] = curr.get(); From f9d4a9f459db24317ab7e284546bb571d737c587 Mon Sep 17 00:00:00 2001 From: Ashley Nelson Date: Mon, 11 Jul 2022 23:30:40 +0000 Subject: [PATCH 34/78] bug fixes --- src/shell-interface.h | 2 +- src/tools/wasm-shell.cpp | 2 +- src/wasm-interpreter.h | 284 ++++++++++++++++++++----------------- src/wasm/wasm-s-parser.cpp | 5 +- 4 files changed, 161 insertions(+), 132 deletions(-) diff --git a/src/shell-interface.h b/src/shell-interface.h index 5e3172dca6d..85ddb27f313 100644 --- a/src/shell-interface.h +++ b/src/shell-interface.h @@ -347,7 +347,7 @@ struct ShellExternalInterface : ModuleRunner::ExternalInterface { } auto it = memories.find(memoryName); if (it == memories.end()) { - trap("store128 on non-existing memory"); + trap("growMemory on non-existing memory"); } auto& memory = it->second; memory.resize(newSize); diff --git a/src/tools/wasm-shell.cpp b/src/tools/wasm-shell.cpp index cd8a7f222d7..d50e8601ef3 100644 --- a/src/tools/wasm-shell.cpp +++ b/src/tools/wasm-shell.cpp @@ -351,7 +351,7 @@ class Shell { builder.makeExport("table", Name::fromInt(0), ExternalKind::Table)); spectest->addMemory( - builder.makeMemory("memory", 1, 2)); + builder.makeMemory(Name::fromInt(0), 1, 2)); spectest->addExport(builder.makeExport( "memory", Name::fromInt(0), ExternalKind::Memory)); diff --git a/src/wasm-interpreter.h b/src/wasm-interpreter.h index 5fc651585bd..19dde3b3db9 100644 --- a/src/wasm-interpreter.h +++ b/src/wasm-interpreter.h @@ -2284,18 +2284,18 @@ class ModuleRunnerBase : public ExpressionRunner { // the default impls for load and store switch on the sizes. you can either // customize load/store, or the sub-functions which they call - virtual Literal load(Load* load, Address addr) { + virtual Literal load(Load* load, Address addr, Name memory) { switch (load->type.getBasic()) { case Type::i32: { switch (load->bytes) { case 1: - return load->signed_ ? Literal((int32_t)load8s(addr, load->memory)) - : Literal((int32_t)load8u(addr, load->memory)); + return load->signed_ ? Literal((int32_t)load8s(addr, memory)) + : Literal((int32_t)load8u(addr, memory)); case 2: - return load->signed_ ? Literal((int32_t)load16s(addr, load->memory)) - : Literal((int32_t)load16u(addr, load->memory)); + return load->signed_ ? Literal((int32_t)load16s(addr, memory)) + : Literal((int32_t)load16u(addr, memory)); case 4: - return Literal((int32_t)load32s(addr, load->memory)); + return Literal((int32_t)load32s(addr, memory)); default: WASM_UNREACHABLE("invalid size"); } @@ -2304,25 +2304,25 @@ class ModuleRunnerBase : public ExpressionRunner { case Type::i64: { switch (load->bytes) { case 1: - return load->signed_ ? Literal((int64_t)load8s(addr, load->memory)) - : Literal((int64_t)load8u(addr, load->memory)); + return load->signed_ ? Literal((int64_t)load8s(addr, memory)) + : Literal((int64_t)load8u(addr, memory)); case 2: - return load->signed_ ? Literal((int64_t)load16s(addr, load->memory)) - : Literal((int64_t)load16u(addr, load->memory)); + return load->signed_ ? Literal((int64_t)load16s(addr, memory)) + : Literal((int64_t)load16u(addr, memory)); case 4: - return load->signed_ ? Literal((int64_t)load32s(addr, load->memory)) - : Literal((int64_t)load32u(addr, load->memory)); + return load->signed_ ? Literal((int64_t)load32s(addr, memory)) + : Literal((int64_t)load32u(addr, memory)); case 8: - return Literal((int64_t)load64s(addr, load->memory)); + return Literal((int64_t)load64s(addr, memory)); default: WASM_UNREACHABLE("invalid size"); } break; } case Type::f32: - return Literal(load32u(addr, load->memory)).castToF32(); + return Literal(load32u(addr, memory)).castToF32(); case Type::f64: - return Literal(load64u(addr, load->memory)).castToF64(); + return Literal(load64u(addr, memory)).castToF64(); case Type::v128: return Literal(load128(addr, load->memory).data()); case Type::none: @@ -2331,18 +2331,18 @@ class ModuleRunnerBase : public ExpressionRunner { } WASM_UNREACHABLE("invalid type"); } - virtual void store(Store* store, Address addr, Literal value) { + virtual void store(Store* store, Address addr, Literal value, Name memory) { switch (store->valueType.getBasic()) { case Type::i32: { switch (store->bytes) { case 1: - store8(addr, value.geti32(), store->memory); + store8(addr, value.geti32(), memory); break; case 2: - store16(addr, value.geti32(), store->memory); + store16(addr, value.geti32(), memory); break; case 4: - store32(addr, value.geti32(), store->memory); + store32(addr, value.geti32(), memory); break; default: WASM_UNREACHABLE("invalid store size"); @@ -2352,16 +2352,16 @@ class ModuleRunnerBase : public ExpressionRunner { case Type::i64: { switch (store->bytes) { case 1: - store8(addr, value.geti64(), store->memory); + store8(addr, value.geti64(), memory); break; case 2: - store16(addr, value.geti64(), store->memory); + store16(addr, value.geti64(), memory); break; case 4: - store32(addr, value.geti64(), store->memory); + store32(addr, value.geti64(), memory); break; case 8: - store64(addr, value.geti64(), store->memory); + store64(addr, value.geti64(), memory); break; default: WASM_UNREACHABLE("invalid store size"); @@ -2370,13 +2370,13 @@ class ModuleRunnerBase : public ExpressionRunner { } // write floats carefully, ensuring all bits reach memory case Type::f32: - store32(addr, value.reinterpreti32(), store->memory); + store32(addr, value.reinterpreti32(), memory); break; case Type::f64: - store64(addr, value.reinterpreti64(), store->memory); + store64(addr, value.reinterpreti64(), memory); break; case Type::v128: - store128(addr, value.getv128(), store->memory); + store128(addr, value.getv128(), memory); break; case Type::none: case Type::unreachable: @@ -2451,6 +2451,7 @@ class ModuleRunnerBase : public ExpressionRunner { initializeTableContents(); initializeMemoryContents(); + initializeMemorySizes(); // run start, if present if (wasm.start.is()) { @@ -2554,37 +2555,26 @@ class ModuleRunnerBase : public ExpressionRunner { }); } - struct MemoryInterfaceInfo { - // The external interface in which the memory is defined. - ExternalInterface* interface; + struct MemoryInstanceInfo { + // The ModuleRunner instance in which the memory is defined. + SubType* instance; // The name the memory has in that interface. Name name; - // in pages, used to keep track of memorySize throughout the below memops - Address memorySize; }; - std::unordered_map memoryInterfaceInfos; - - MemoryInterfaceInfo getMemoryInterfaceInfo(Name name) { - auto iter = memoryInterfaceInfos.find(name); - if (iter != memoryInterfaceInfos.end()) { - return iter->second; - } - + MemoryInstanceInfo getMemoryInstanceInfo(Name name) { auto* memory = wasm.getMemory(name); - MemoryInterfaceInfo newMemoryInterfaceInfo; + MemoryInstanceInfo memoryInterfaceInfo; if (memory->imported()) { auto& importedInstance = linkedInstances.at(memory->module); auto* memoryExport = importedInstance->wasm.getExport(memory->base); - newMemoryInterfaceInfo = MemoryInterfaceInfo{importedInstance->externalInterface, - memoryExport->value, - memory->initial}; + memoryInterfaceInfo = MemoryInstanceInfo{importedInstance.get(), + memoryExport->value}; } else { - newMemoryInterfaceInfo = MemoryInterfaceInfo{externalInterface, name, memory->initial}; + memoryInterfaceInfo = MemoryInstanceInfo{self(), name}; } - memoryInterfaceInfos[name] = newMemoryInterfaceInfo; - return newMemoryInterfaceInfo; + return memoryInterfaceInfo; } void initializeMemoryContents() { @@ -2619,6 +2609,31 @@ class ModuleRunnerBase : public ExpressionRunner { } } + // in pages, used to keep track of memorySize throughout the below memops + std::unordered_map memorySizes; + + void initializeMemorySizes() { + for (auto& memory : wasm.memories) { + memorySizes[memory->name] = memory->initial; + } + } + + Address getMemorySize(Name memory) { + auto iter = memorySizes.find(memory); + if (iter == memorySizes.end()) { + externalInterface->trap("getMemorySize called on non-existing memory"); + } + return iter->second; + } + + void setMemorySize(Name memory, Address size) { + auto iter = memorySizes.find(memory); + if (iter == memorySizes.end()) { + externalInterface->trap("setMemorySize called on non-existing memory"); + } + memorySizes[memory] = size; + } + public: class FunctionScope { public: @@ -2897,12 +2912,13 @@ class ModuleRunnerBase : public ExpressionRunner { return flow; } NOTE_EVAL1(flow); - auto info = getMemoryInterfaceInfo(curr->memory); - auto addr = self()->getFinalAddress(curr, flow.getSingleValue()); + auto info = getMemoryInstanceInfo(curr->memory); + auto memorySize = info.instance->getMemorySize(info.name); + auto addr = info.instance->getFinalAddress(curr, flow.getSingleValue()); if (curr->isAtomic) { - self()->checkAtomicAddress(addr, curr->bytes, info.memorySize); + info.instance->checkAtomicAddress(addr, curr->bytes, memorySize); } - auto ret = info.interface->load(curr, addr); + auto ret = info.instance->externalInterface->load(curr, addr, info.name); NOTE_EVAL1(addr); NOTE_EVAL1(ret); return ret; @@ -2917,14 +2933,15 @@ class ModuleRunnerBase : public ExpressionRunner { if (value.breaking()) { return value; } - auto info = getMemoryInterfaceInfo(curr->memory); - auto addr = self()->getFinalAddress(curr, ptr.getSingleValue()); + auto info = getMemoryInstanceInfo(curr->memory); + auto memorySize = info.instance->getMemorySize(info.name); + auto addr = info.instance->getFinalAddress(curr, ptr.getSingleValue()); if (curr->isAtomic) { - self()->checkAtomicAddress(addr, curr->bytes, info.memorySize); + info.instance->checkAtomicAddress(addr, curr->bytes, memorySize); } NOTE_EVAL1(addr); NOTE_EVAL1(value); - info.interface->store(curr, addr, value.getSingleValue()); + info.instance->externalInterface->store(curr, addr, value.getSingleValue(), info.name); return Flow(); } @@ -2939,11 +2956,12 @@ class ModuleRunnerBase : public ExpressionRunner { return value; } NOTE_EVAL1(ptr); - auto addr = self()->getFinalAddress(curr, ptr.getSingleValue()); + auto info = getMemoryInstanceInfo(curr->memory); + auto addr = info.instance->getFinalAddress(curr, ptr.getSingleValue()); NOTE_EVAL1(addr); NOTE_EVAL1(value); - auto info = getMemoryInterfaceInfo(curr->memory); - auto loaded = self()->doAtomicLoad(addr, curr->bytes, curr->type, curr->memory, info.memorySize); + auto memorySize = info.instance->getMemorySize(info.name); + auto loaded = info.instance->doAtomicLoad(addr, curr->bytes, curr->type, info.name, memorySize); NOTE_EVAL1(loaded); auto computed = value.getSingleValue(); switch (curr->op) { @@ -2965,7 +2983,7 @@ class ModuleRunnerBase : public ExpressionRunner { case RMWXchg: break; } - self()->doAtomicStore(addr, curr->bytes, computed, curr->memory, info.memorySize); + info.instance->doAtomicStore(addr, curr->bytes, computed, info.name, memorySize); return loaded; } Flow visitAtomicCmpxchg(AtomicCmpxchg* curr) { @@ -2983,16 +3001,17 @@ class ModuleRunnerBase : public ExpressionRunner { if (replacement.breaking()) { return replacement; } - auto addr = self()->getFinalAddress(curr, ptr.getSingleValue()); + auto info = getMemoryInstanceInfo(curr->memory); + auto addr = info.instance->getFinalAddress(curr, ptr.getSingleValue()); expected = Flow(wrapToSmallerSize(expected.getSingleValue(), curr->bytes)); NOTE_EVAL1(addr); NOTE_EVAL1(expected); NOTE_EVAL1(replacement); - auto info = getMemoryInterfaceInfo(curr->memory); - auto loaded = self()->doAtomicLoad(addr, curr->bytes, curr->type, curr->memory, info.memorySize); + auto memorySize = info.instance->getMemorySize(info.name); + auto loaded = info.instance->doAtomicLoad(addr, curr->bytes, curr->type, info.name, memorySize); NOTE_EVAL1(loaded); if (loaded == expected.getSingleValue()) { - self()->doAtomicStore(addr, curr->bytes, replacement.getSingleValue(), curr->memory, info.memorySize); + info.instance->doAtomicStore(addr, curr->bytes, replacement.getSingleValue(), info.name, memorySize); } return loaded; } @@ -3014,9 +3033,10 @@ class ModuleRunnerBase : public ExpressionRunner { return timeout; } auto bytes = curr->expectedType.getByteSize(); - auto info = getMemoryInterfaceInfo(curr->memory); - auto addr = self()->getFinalAddress(curr, ptr.getSingleValue(), bytes); - auto loaded = self()->doAtomicLoad(addr, bytes, curr->expectedType, curr->memory, info.memorySize); + auto info = getMemoryInstanceInfo(curr->memory); + auto memorySize = info.instance->getMemorySize(info.name); + auto addr = info.instance->getFinalAddress(curr, ptr.getSingleValue(), bytes); + auto loaded = info.instance->doAtomicLoad(addr, bytes, curr->expectedType, info.name, memorySize); NOTE_EVAL1(loaded); if (loaded != expected.getSingleValue()) { return Literal(int32_t(1)); // not equal @@ -3037,10 +3057,11 @@ class ModuleRunnerBase : public ExpressionRunner { if (count.breaking()) { return count; } - auto info = getMemoryInterfaceInfo(curr->memory); - auto addr = self()->getFinalAddress(curr, ptr.getSingleValue(), 4); + auto info = getMemoryInstanceInfo(curr->memory); + auto memorySize = info.instance->getMemorySize(info.name); + auto addr = info.instance->getFinalAddress(curr, ptr.getSingleValue(), 4); // Just check TODO actual threads support - self()->checkAtomicAddress(addr, 4, info.memorySize); + info.instance->checkAtomicAddress(addr, 4, memorySize); return Literal(int32_t(0)); // none woken up } Flow visitSIMDLoad(SIMDLoad* curr) { @@ -3105,21 +3126,21 @@ class ModuleRunnerBase : public ExpressionRunner { } NOTE_EVAL1(flow); Address src(uint32_t(flow.getSingleValue().geti32())); - auto info = getMemoryInterfaceInfo(curr->memory); + auto info = getMemoryInstanceInfo(curr->memory); auto loadLane = [&](Address addr) { switch (curr->op) { case Load8x8SVec128: - return Literal(int32_t(info.interface->load8s(addr, curr->memory))); + return Literal(int32_t(info.instance->externalInterface->load8s(addr, info.name))); case Load8x8UVec128: - return Literal(int32_t(info.interface->load8u(addr, curr->memory))); + return Literal(int32_t(info.instance->externalInterface->load8u(addr, info.name))); case Load16x4SVec128: - return Literal(int32_t(info.interface->load16s(addr, curr->memory))); + return Literal(int32_t(info.instance->externalInterface->load16s(addr, info.name))); case Load16x4UVec128: - return Literal(int32_t(info.interface->load16u(addr, curr->memory))); + return Literal(int32_t(info.instance->externalInterface->load16u(addr, info.name))); case Load32x2SVec128: - return Literal(int64_t(info.interface->load32s(addr, curr->memory))); + return Literal(int64_t(info.instance->externalInterface->load32s(addr, info.name))); case Load32x2UVec128: - return Literal(int64_t(info.interface->load32u(addr, curr->memory))); + return Literal(int64_t(info.instance->externalInterface->load32u(addr, info.name))); default: WASM_UNREACHABLE("unexpected op"); } @@ -3128,7 +3149,7 @@ class ModuleRunnerBase : public ExpressionRunner { auto fillLanes = [&](auto lanes, size_t laneBytes) { for (auto& lane : lanes) { lane = loadLane( - self()->getFinalAddress(curr, Literal(uint32_t(src)), laneBytes)); + info.instance->getFinalAddress(curr, Literal(uint32_t(src)), laneBytes)); src = Address(uint32_t(src) + laneBytes); } return Literal(lanes); @@ -3160,16 +3181,16 @@ class ModuleRunnerBase : public ExpressionRunner { return flow; } NOTE_EVAL1(flow); - auto info = getMemoryInterfaceInfo(curr->memory); + auto info = getMemoryInstanceInfo(curr->memory); Address src = - self()->getFinalAddress(curr, flow.getSingleValue(), curr->getMemBytes()); + info.instance->getFinalAddress(curr, flow.getSingleValue(), curr->getMemBytes()); auto zero = Literal::makeZero(curr->op == Load32ZeroVec128 ? Type::i32 : Type::i64); if (curr->op == Load32ZeroVec128) { - auto val = Literal(info.interface->load32u(src, curr->memory)); + auto val = Literal(info.instance->externalInterface->load32u(src, info.name)); return Literal(std::array{{val, zero, zero, zero}}); } else { - auto val = Literal(info.interface->load64u(src, curr->memory)); + auto val = Literal(info.instance->externalInterface->load64u(src, info.name)); return Literal(std::array{{val, zero}}); } } @@ -3180,9 +3201,9 @@ class ModuleRunnerBase : public ExpressionRunner { return flow; } NOTE_EVAL1(flow); - auto info = getMemoryInterfaceInfo(curr->memory); + auto info = getMemoryInstanceInfo(curr->memory); Address addr = - self()->getFinalAddress(curr, flow.getSingleValue(), curr->getMemBytes()); + info.instance->getFinalAddress(curr, flow.getSingleValue(), curr->getMemBytes()); flow = self()->visit(curr->vec); if (flow.breaking()) { return flow; @@ -3193,10 +3214,10 @@ class ModuleRunnerBase : public ExpressionRunner { case Store8LaneVec128: { std::array lanes = vec.getLanesUI8x16(); if (curr->isLoad()) { - lanes[curr->index] = Literal(info.interface->load8u(addr, curr->memory)); + lanes[curr->index] = Literal(info.instance->externalInterface->load8u(addr, info.name)); return Literal(lanes); } else { - info.interface->store8(addr, lanes[curr->index].geti32(), curr->memory); + info.instance->externalInterface->store8(addr, lanes[curr->index].geti32(), info.name); return {}; } } @@ -3204,10 +3225,10 @@ class ModuleRunnerBase : public ExpressionRunner { case Store16LaneVec128: { std::array lanes = vec.getLanesUI16x8(); if (curr->isLoad()) { - lanes[curr->index] = Literal(info.interface->load16u(addr, curr->memory)); + lanes[curr->index] = Literal(info.instance->externalInterface->load16u(addr, info.name)); return Literal(lanes); } else { - info.interface->store16(addr, lanes[curr->index].geti32(), curr->memory); + info.instance->externalInterface->store16(addr, lanes[curr->index].geti32(), info.name); return {}; } } @@ -3215,10 +3236,10 @@ class ModuleRunnerBase : public ExpressionRunner { case Store32LaneVec128: { std::array lanes = vec.getLanesI32x4(); if (curr->isLoad()) { - lanes[curr->index] = Literal(info.interface->load32u(addr, curr->memory)); + lanes[curr->index] = Literal(info.instance->externalInterface->load32u(addr, info.name)); return Literal(lanes); } else { - info.interface->store32(addr, lanes[curr->index].geti32(), curr->memory); + info.instance->externalInterface->store32(addr, lanes[curr->index].geti32(), info.name); return {}; } } @@ -3226,10 +3247,10 @@ class ModuleRunnerBase : public ExpressionRunner { case Load64LaneVec128: { std::array lanes = vec.getLanesI64x2(); if (curr->isLoad()) { - lanes[curr->index] = Literal(info.interface->load64u(addr, curr->memory)); + lanes[curr->index] = Literal(info.instance->externalInterface->load64u(addr, info.name)); return Literal(lanes); } else { - info.interface->store64(addr, lanes[curr->index].geti64(), curr->memory); + info.instance->externalInterface->store64(addr, lanes[curr->index].geti64(), info.name); return {}; } } @@ -3238,40 +3259,43 @@ class ModuleRunnerBase : public ExpressionRunner { } Flow visitMemorySize(MemorySize* curr) { NOTE_ENTER("MemorySize"); - auto info = getMemoryInterfaceInfo(curr->memory); - auto* mem = wasm.getMemory(curr->memory); - return Literal::makeFromInt64(info.memorySize, - mem->indexType); + auto info = getMemoryInstanceInfo(curr->memory); + auto memorySize = info.instance->getMemorySize(info.name); + auto* memory = info.instance->wasm.getMemory(curr->memory); + return Literal::makeFromInt64(memorySize, + memory->indexType); } Flow visitMemoryGrow(MemoryGrow* curr) { NOTE_ENTER("MemoryGrow"); - auto info = getMemoryInterfaceInfo(curr->memory); - auto* mem = wasm.getMemory(curr->memory); - auto indexType = mem->indexType; - auto fail = Literal::makeFromInt64(-1, indexType); + auto info = getMemoryInstanceInfo(curr->memory); + auto memorySize = info.instance->getMemorySize(info.name); + auto* memory = info.instance->wasm.getMemory(curr->memory); + auto indexType = memory->indexType; + auto fail = Literal::makeFromInt64(-1, memory->indexType); Flow flow = self()->visit(curr->delta); if (flow.breaking()) { return flow; } - Flow ret = Literal::makeFromInt64(info.memorySize, indexType); + Flow ret = Literal::makeFromInt64(memorySize, indexType); uint64_t delta = flow.getSingleValue().getUnsigned(); if (delta > uint32_t(-1) / Memory::kPageSize && indexType == Type::i32) { return fail; } - if (info.memorySize >= uint32_t(-1) - delta && indexType == Type::i32) { + if (memorySize >= uint32_t(-1) - delta && indexType == Type::i32) { return fail; } - auto newSize = info.memorySize + delta; - if (newSize > mem->max) { + auto newSize = memorySize + delta; + if (newSize > memory->max) { return fail; } - if (!info.interface->growMemory( - curr->memory, info.memorySize * Memory::kPageSize, newSize * Memory::kPageSize)) { + if (!info.instance->externalInterface->growMemory( + info.name, memorySize * Memory::kPageSize, newSize * Memory::kPageSize)) { // We failed to grow the memory in practice, even though it was valid // to try to do so. return fail; } - info.memorySize = newSize; + memorySize = newSize; + info.instance->setMemorySize(info.name, memorySize); return ret; } Flow visitMemoryInit(MemoryInit* curr) { @@ -3305,15 +3329,16 @@ class ModuleRunnerBase : public ExpressionRunner { if ((uint64_t)offsetVal + sizeVal > segment->data.size()) { trap("out of bounds segment access in memory.init"); } - auto info = getMemoryInterfaceInfo(curr->memory); - if (destVal + sizeVal > info.memorySize * Memory::kPageSize) { + auto info = getMemoryInstanceInfo(curr->memory); + auto memorySize = info.instance->getMemorySize(info.name); + if (destVal + sizeVal > memorySize * Memory::kPageSize) { trap("out of bounds memory access in memory.init"); } for (size_t i = 0; i < sizeVal; ++i) { Literal addr(destVal + i); - info.interface->store8( - self()->getFinalAddressWithoutOffset(addr, 1, info.memorySize), - segment->data[offsetVal + i], curr->memory); + info.instance->externalInterface->store8( + info.instance->getFinalAddressWithoutOffset(addr, 1, memorySize), + segment->data[offsetVal + i], info.name); } return {}; } @@ -3343,9 +3368,10 @@ class ModuleRunnerBase : public ExpressionRunner { Address sourceVal(source.getSingleValue().getUnsigned()); Address sizeVal(size.getSingleValue().getUnsigned()); - auto info = getMemoryInterfaceInfo(curr->memory); - if (sourceVal + sizeVal > info.memorySize * Memory::kPageSize || - destVal + sizeVal > info.memorySize * Memory::kPageSize || + auto info = getMemoryInstanceInfo(curr->memory); + auto memorySize = info.instance->getMemorySize(info.name); + if (sourceVal + sizeVal > memorySize * Memory::kPageSize || + destVal + sizeVal > memorySize * Memory::kPageSize || // FIXME: better/cheaper way to detect wrapping? sourceVal + sizeVal < sourceVal || sourceVal + sizeVal < sizeVal || destVal + sizeVal < destVal || destVal + sizeVal < sizeVal) { @@ -3362,10 +3388,10 @@ class ModuleRunnerBase : public ExpressionRunner { step = -1; } for (int64_t i = start; i != end; i += step) { - info.interface->store8( - self()->getFinalAddressWithoutOffset(Literal(destVal + i), 1, info.memorySize), - info.interface->load8s( - self()->getFinalAddressWithoutOffset(Literal(sourceVal + i), 1, info.memorySize), curr->memory), curr->memory); + info.instance->externalInterface->store8( + info.instance->getFinalAddressWithoutOffset(Literal(destVal + i), 1, memorySize), + info.instance->externalInterface->load8s( + info.instance->getFinalAddressWithoutOffset(Literal(sourceVal + i), 1, memorySize), info.name), info.name); } return {}; } @@ -3389,17 +3415,18 @@ class ModuleRunnerBase : public ExpressionRunner { Address destVal(dest.getSingleValue().getUnsigned()); Address sizeVal(size.getSingleValue().getUnsigned()); - auto info = getMemoryInterfaceInfo(curr->memory); + auto info = getMemoryInstanceInfo(curr->memory); + auto memorySize = info.instance->getMemorySize(info.name); // FIXME: cheaper wrapping detection? - if (destVal > info.memorySize * Memory::kPageSize || - sizeVal > info.memorySize * Memory::kPageSize || - destVal + sizeVal > info.memorySize * Memory::kPageSize) { + if (destVal > memorySize * Memory::kPageSize || + sizeVal > memorySize * Memory::kPageSize || + destVal + sizeVal > memorySize * Memory::kPageSize) { trap("out of bounds memory access in memory.fill"); } uint8_t val(value.getSingleValue().geti32()); for (size_t i = 0; i < sizeVal; ++i) { - info.interface->store8( - self()->getFinalAddressWithoutOffset(Literal(destVal + i), 1, info.memorySize), val, curr->memory); + info.instance->externalInterface->store8( + info.instance->getFinalAddressWithoutOffset(Literal(destVal + i), 1, memorySize), val, info.name); } return {}; } @@ -3585,14 +3612,15 @@ class ModuleRunnerBase : public ExpressionRunner { template Address getFinalAddress(LS* curr, Literal ptr, Index bytes) { - auto info = getMemoryInterfaceInfo(curr->memory); - Address memorySizeBytes = info.memorySize * Memory::kPageSize; + auto info = getMemoryInstanceInfo(curr->memory); + auto memorySize = info.instance->getMemorySize(info.name); + Address memorySizeBytes = memorySize * Memory::kPageSize; uint64_t addr = ptr.type == Type::i32 ? ptr.geti32() : ptr.geti64(); trapIfGt(curr->offset, memorySizeBytes, "offset > memory"); trapIfGt(addr, memorySizeBytes - curr->offset, "final > memory"); addr += curr->offset; trapIfGt(bytes, memorySizeBytes, "bytes > memory"); - checkLoadAddress(addr, bytes, info.memorySize); + checkLoadAddress(addr, bytes, memorySize); return addr; } @@ -3636,7 +3664,7 @@ class ModuleRunnerBase : public ExpressionRunner { load.ptr = &ptr; load.type = type; load.memory = memoryName; - return externalInterface->load(&load, addr); + return externalInterface->load(&load, addr, memoryName); } void doAtomicStore(Address addr, Index bytes, Literal toStore, Name memoryName, Address memorySize) { @@ -3655,7 +3683,7 @@ class ModuleRunnerBase : public ExpressionRunner { store.value = &value; store.valueType = value.type; store.memory = memoryName; - return externalInterface->store(&store, addr, toStore); + return externalInterface->store(&store, addr, toStore, memoryName); } ExternalInterface* externalInterface; diff --git a/src/wasm/wasm-s-parser.cpp b/src/wasm/wasm-s-parser.cpp index d3c796cc6b7..b2b845dcc6e 100644 --- a/src/wasm/wasm-s-parser.cpp +++ b/src/wasm/wasm-s-parser.cpp @@ -426,7 +426,7 @@ void SExpressionWasmBuilder::preParseImports(Element& curr) { void SExpressionWasmBuilder::preParseMemory(Element& curr) { IString id = curr[0]->str(); - if (id == MEMORY) { + if (id == MEMORY && !isImport(curr)) { parseMemory(curr); } } @@ -508,7 +508,7 @@ Memory SExpressionWasmBuilder::getMemoryAtIdx(Index idx) { auto& memory = wasm.memories[idx]; return *memory; } - Fatal() << "Tried to access memories at idx > size"; + throw ParseException("Tried to access memories at idx > size"); } Name SExpressionWasmBuilder::getMemoryName(Element& s) { @@ -3208,6 +3208,7 @@ void SExpressionWasmBuilder::parseMemory(Element& s, bool preParseImport) { parseInnerData(inner, j, seg); wasm.addDataSegment(std::move(seg)); memory->initial = wasm.dataSegments[0]->data.size(); + wasm.addMemory(std::move(memory)); return; } } From 3ef831b69a2ad85c18e8dfe62e3b0d42fda91a68 Mon Sep 17 00:00:00 2001 From: Ashley Nelson Date: Tue, 12 Jul 2022 07:57:19 +0000 Subject: [PATCH 35/78] through spec passes --- src/wasm-interpreter.h | 53 +++++++++++++++++++++--------------------- 1 file changed, 26 insertions(+), 27 deletions(-) diff --git a/src/wasm-interpreter.h b/src/wasm-interpreter.h index 19dde3b3db9..8d41263a5ac 100644 --- a/src/wasm-interpreter.h +++ b/src/wasm-interpreter.h @@ -2451,7 +2451,6 @@ class ModuleRunnerBase : public ExpressionRunner { initializeTableContents(); initializeMemoryContents(); - initializeMemorySizes(); // run start, if present if (wasm.start.is()) { @@ -2565,19 +2564,17 @@ class ModuleRunnerBase : public ExpressionRunner { MemoryInstanceInfo getMemoryInstanceInfo(Name name) { auto* memory = wasm.getMemory(name); MemoryInstanceInfo memoryInterfaceInfo; - if (memory->imported()) { - auto& importedInstance = linkedInstances.at(memory->module); - auto* memoryExport = importedInstance->wasm.getExport(memory->base); - memoryInterfaceInfo = MemoryInstanceInfo{importedInstance.get(), - memoryExport->value}; - } else { - memoryInterfaceInfo = MemoryInstanceInfo{self(), name}; + if (!memory->imported()) { + return MemoryInstanceInfo{self(), name}; } - return memoryInterfaceInfo; + auto& importedInstance = linkedInstances.at(memory->module); + auto* memoryExport = importedInstance->wasm.getExport(memory->base); + return importedInstance->getMemoryInstanceInfo(memoryExport->value); } void initializeMemoryContents() { + initializeMemorySizes(); Const offset; offset.value = Literal(uint32_t(0)); offset.finalize(); @@ -2914,7 +2911,7 @@ class ModuleRunnerBase : public ExpressionRunner { NOTE_EVAL1(flow); auto info = getMemoryInstanceInfo(curr->memory); auto memorySize = info.instance->getMemorySize(info.name); - auto addr = info.instance->getFinalAddress(curr, flow.getSingleValue()); + auto addr = info.instance->getFinalAddress(curr, flow.getSingleValue(), memorySize); if (curr->isAtomic) { info.instance->checkAtomicAddress(addr, curr->bytes, memorySize); } @@ -2935,7 +2932,7 @@ class ModuleRunnerBase : public ExpressionRunner { } auto info = getMemoryInstanceInfo(curr->memory); auto memorySize = info.instance->getMemorySize(info.name); - auto addr = info.instance->getFinalAddress(curr, ptr.getSingleValue()); + auto addr = info.instance->getFinalAddress(curr, ptr.getSingleValue(), memorySize); if (curr->isAtomic) { info.instance->checkAtomicAddress(addr, curr->bytes, memorySize); } @@ -2957,10 +2954,10 @@ class ModuleRunnerBase : public ExpressionRunner { } NOTE_EVAL1(ptr); auto info = getMemoryInstanceInfo(curr->memory); - auto addr = info.instance->getFinalAddress(curr, ptr.getSingleValue()); + auto memorySize = info.instance->getMemorySize(info.name); + auto addr = info.instance->getFinalAddress(curr, ptr.getSingleValue(), memorySize); NOTE_EVAL1(addr); NOTE_EVAL1(value); - auto memorySize = info.instance->getMemorySize(info.name); auto loaded = info.instance->doAtomicLoad(addr, curr->bytes, curr->type, info.name, memorySize); NOTE_EVAL1(loaded); auto computed = value.getSingleValue(); @@ -3002,12 +2999,12 @@ class ModuleRunnerBase : public ExpressionRunner { return replacement; } auto info = getMemoryInstanceInfo(curr->memory); - auto addr = info.instance->getFinalAddress(curr, ptr.getSingleValue()); + auto memorySize = info.instance->getMemorySize(info.name); + auto addr = info.instance->getFinalAddress(curr, ptr.getSingleValue(), memorySize); expected = Flow(wrapToSmallerSize(expected.getSingleValue(), curr->bytes)); NOTE_EVAL1(addr); NOTE_EVAL1(expected); NOTE_EVAL1(replacement); - auto memorySize = info.instance->getMemorySize(info.name); auto loaded = info.instance->doAtomicLoad(addr, curr->bytes, curr->type, info.name, memorySize); NOTE_EVAL1(loaded); if (loaded == expected.getSingleValue()) { @@ -3035,7 +3032,7 @@ class ModuleRunnerBase : public ExpressionRunner { auto bytes = curr->expectedType.getByteSize(); auto info = getMemoryInstanceInfo(curr->memory); auto memorySize = info.instance->getMemorySize(info.name); - auto addr = info.instance->getFinalAddress(curr, ptr.getSingleValue(), bytes); + auto addr = info.instance->getFinalAddress(curr, ptr.getSingleValue(), bytes, memorySize); auto loaded = info.instance->doAtomicLoad(addr, bytes, curr->expectedType, info.name, memorySize); NOTE_EVAL1(loaded); if (loaded != expected.getSingleValue()) { @@ -3059,7 +3056,7 @@ class ModuleRunnerBase : public ExpressionRunner { } auto info = getMemoryInstanceInfo(curr->memory); auto memorySize = info.instance->getMemorySize(info.name); - auto addr = info.instance->getFinalAddress(curr, ptr.getSingleValue(), 4); + auto addr = info.instance->getFinalAddress(curr, ptr.getSingleValue(), 4, memorySize); // Just check TODO actual threads support info.instance->checkAtomicAddress(addr, 4, memorySize); return Literal(int32_t(0)); // none woken up @@ -3087,6 +3084,7 @@ class ModuleRunnerBase : public ExpressionRunner { } Flow visitSIMDLoadSplat(SIMDLoad* curr) { Load load; + load.memory = curr->memory; load.type = Type::i32; load.bytes = curr->getMemBytes(); load.signed_ = false; @@ -3146,10 +3144,11 @@ class ModuleRunnerBase : public ExpressionRunner { } WASM_UNREACHABLE("invalid op"); }; + auto memorySize = info.instance->getMemorySize(info.name); auto fillLanes = [&](auto lanes, size_t laneBytes) { for (auto& lane : lanes) { lane = loadLane( - info.instance->getFinalAddress(curr, Literal(uint32_t(src)), laneBytes)); + info.instance->getFinalAddress(curr, Literal(uint32_t(src)), laneBytes, memorySize)); src = Address(uint32_t(src) + laneBytes); } return Literal(lanes); @@ -3182,8 +3181,9 @@ class ModuleRunnerBase : public ExpressionRunner { } NOTE_EVAL1(flow); auto info = getMemoryInstanceInfo(curr->memory); + auto memorySize = info.instance->getMemorySize(info.name); Address src = - info.instance->getFinalAddress(curr, flow.getSingleValue(), curr->getMemBytes()); + info.instance->getFinalAddress(curr, flow.getSingleValue(), curr->getMemBytes(), memorySize); auto zero = Literal::makeZero(curr->op == Load32ZeroVec128 ? Type::i32 : Type::i64); if (curr->op == Load32ZeroVec128) { @@ -3202,8 +3202,9 @@ class ModuleRunnerBase : public ExpressionRunner { } NOTE_EVAL1(flow); auto info = getMemoryInstanceInfo(curr->memory); + auto memorySize = info.instance->getMemorySize(info.name); Address addr = - info.instance->getFinalAddress(curr, flow.getSingleValue(), curr->getMemBytes()); + info.instance->getFinalAddress(curr, flow.getSingleValue(), curr->getMemBytes(), memorySize); flow = self()->visit(curr->vec); if (flow.breaking()) { return flow; @@ -3261,7 +3262,7 @@ class ModuleRunnerBase : public ExpressionRunner { NOTE_ENTER("MemorySize"); auto info = getMemoryInstanceInfo(curr->memory); auto memorySize = info.instance->getMemorySize(info.name); - auto* memory = info.instance->wasm.getMemory(curr->memory); + auto* memory = info.instance->wasm.getMemory(info.name); return Literal::makeFromInt64(memorySize, memory->indexType); } @@ -3269,7 +3270,7 @@ class ModuleRunnerBase : public ExpressionRunner { NOTE_ENTER("MemoryGrow"); auto info = getMemoryInstanceInfo(curr->memory); auto memorySize = info.instance->getMemorySize(info.name); - auto* memory = info.instance->wasm.getMemory(curr->memory); + auto* memory = info.instance->wasm.getMemory(info.name); auto indexType = memory->indexType; auto fail = Literal::makeFromInt64(-1, memory->indexType); Flow flow = self()->visit(curr->delta); @@ -3611,9 +3612,7 @@ class ModuleRunnerBase : public ExpressionRunner { } template - Address getFinalAddress(LS* curr, Literal ptr, Index bytes) { - auto info = getMemoryInstanceInfo(curr->memory); - auto memorySize = info.instance->getMemorySize(info.name); + Address getFinalAddress(LS* curr, Literal ptr, Index bytes, Address memorySize) { Address memorySizeBytes = memorySize * Memory::kPageSize; uint64_t addr = ptr.type == Type::i32 ? ptr.geti32() : ptr.geti64(); trapIfGt(curr->offset, memorySizeBytes, "offset > memory"); @@ -3624,8 +3623,8 @@ class ModuleRunnerBase : public ExpressionRunner { return addr; } - template Address getFinalAddress(LS* curr, Literal ptr) { - return getFinalAddress(curr, ptr, curr->bytes); + template Address getFinalAddress(LS* curr, Literal ptr, Address memorySize) { + return getFinalAddress(curr, ptr, curr->bytes, memorySize); } Address getFinalAddressWithoutOffset(Literal ptr, Index bytes, Address memorySize) { From fc02ee16da14c7c96610aeff9ba153fea06b9d63 Mon Sep 17 00:00:00 2001 From: Ashley Nelson Date: Wed, 13 Jul 2022 20:23:53 +0000 Subject: [PATCH 36/78] Added more checks --- src/wasm2js.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/wasm2js.h b/src/wasm2js.h index 8c2bd5e84ae..ba9779be2ab 100644 --- a/src/wasm2js.h +++ b/src/wasm2js.h @@ -1474,7 +1474,7 @@ Ref Wasm2JSBuilder::processFunctionBody(Module* m, } Ref visitStore(Store* curr) { - if (module->memories[0]->initial < module->memories[0]->max && + if (!module->memories.empty() && module->memories[0]->initial < module->memories[0]->max && curr->type != Type::unreachable) { // In JS, if memory grows then it is dangerous to write // HEAP[f()] = .. @@ -2381,7 +2381,7 @@ void Wasm2JSBuilder::addMemoryFuncs(Ref ast, Module* wasm) { JsType::JS_INT))); ast->push_back(memorySizeFunc); - if (wasm->memories[0]->max > wasm->memories[0]->initial) { + if (!wasm->memories.empty() && wasm->memories[0]->max > wasm->memories[0]->initial) { addMemoryGrowFunc(ast, wasm); } } @@ -2481,7 +2481,7 @@ void Wasm2JSBuilder::addMemoryGrowFunc(Ref ast, Module* wasm) { ValueBuilder::makeName(IString("newBuffer")))); // apply the changes to the memory import - if (wasm->memories[0]->imported()) { + if (!wasm->memories.empty() && wasm->memories[0]->imported()) { ValueBuilder::appendToBlock( block, ValueBuilder::makeBinary( @@ -2708,7 +2708,7 @@ void Wasm2JSGlue::emitMemory() { // If there are no memory segments, we don't need to emit any support code for // segment creation. - if (wasm.memories.empty() || wasm.dataSegments.empty()) { + if (wasm.dataSegments.empty()) { return; } From d8b3ddee69c590d64e122d5d6753e44981457859 Mon Sep 17 00:00:00 2001 From: Ashley Nelson Date: Wed, 13 Jul 2022 22:28:22 +0000 Subject: [PATCH 37/78] Changed RemoveUnusedModuleElements back to working with a single memory --- src/passes/RemoveUnusedModuleElements.cpp | 97 +++++++++-------------- 1 file changed, 38 insertions(+), 59 deletions(-) diff --git a/src/passes/RemoveUnusedModuleElements.cpp b/src/passes/RemoveUnusedModuleElements.cpp index 54fba3c62d2..47429e404fa 100644 --- a/src/passes/RemoveUnusedModuleElements.cpp +++ b/src/passes/RemoveUnusedModuleElements.cpp @@ -32,7 +32,7 @@ namespace wasm { -enum class ModuleElementKind { Function, Global, Tag, Table, ElementSegment, Memory, DataSegment }; +enum class ModuleElementKind { Function, Global, Tag, Table, ElementSegment }; typedef std::pair ModuleElement; @@ -43,6 +43,7 @@ struct ReachabilityAnalyzer : public PostWalker { Module* module; std::vector queue; std::set reachable; + bool usesMemory = false; // The signatures that we have seen a call_ref for. When we see a RefFunc of a // signature in here, we know it is reachable. @@ -103,10 +104,6 @@ struct ReachabilityAnalyzer : public PostWalker { *module, curr.second, [&](ElementSegment* segment) { walk(segment->offset); }); - } else if (kind == ModuleElementKind::Memory) { - ModuleUtils::iterMemorySegments(*module, curr.second, [&](DataSegment* segment) { - walk(segment->offset); - }); } } } @@ -126,14 +123,6 @@ struct ReachabilityAnalyzer : public PostWalker { }); } - // Add a reference to a memory and all its segments. - void maybeAddMemory(Name name) { - maybeAdd(ModuleElement(ModuleElementKind::Memory, name)); - ModuleUtils::iterMemorySegments(*module, name, [&](DataSegment* segment) { - maybeAdd(ModuleElement(ModuleElementKind::DataSegment, segment->name)); - }); - } - void visitCall(Call* curr) { maybeAdd(ModuleElement(ModuleElementKind::Function, curr->target)); @@ -189,29 +178,27 @@ struct ReachabilityAnalyzer : public PostWalker { calledSignatures.insert(type); } + void visitGlobalGet(GlobalGet* curr) { maybeAdd(ModuleElement(ModuleElementKind::Global, curr->name)); } void visitGlobalSet(GlobalSet* curr) { maybeAdd(ModuleElement(ModuleElementKind::Global, curr->name)); } - void visitLoad(Load* curr) { maybeAddMemory(curr->memory); } - void visitStore(Store* curr) { maybeAddMemory(curr->memory); } - void visitAtomicCmpxchg(AtomicCmpxchg* curr) { maybeAddMemory(curr->memory); } - void visitAtomicRMW(AtomicRMW* curr) { maybeAddMemory(curr->memory); } - void visitAtomicWait(AtomicWait* curr) { maybeAddMemory(curr->memory); } - void visitAtomicNotify(AtomicNotify* curr) { maybeAddMemory(curr->memory); } - // TODO (nashley): How to get memory name for atomic fence? - void visitAtomicFence(AtomicFence* curr) { maybeAddMemory(module->memories[0]->name); } - void visitMemoryInit(MemoryInit* curr) { maybeAddMemory(curr->memory); } - void visitDataDrop(DataDrop* curr) { - auto& seg = module->dataSegments[curr->segment]; - maybeAddMemory(seg->memory); - } - void visitMemoryCopy(MemoryCopy* curr) { maybeAddMemory(curr->memory); } - void visitMemoryFill(MemoryFill* curr) { maybeAddMemory(curr->memory); } - void visitMemorySize(MemorySize* curr) { maybeAddMemory(curr->memory); } - void visitMemoryGrow(MemoryGrow* curr) { maybeAddMemory(curr->memory); } + + void visitLoad(Load* curr) { usesMemory = true; } + void visitStore(Store* curr) { usesMemory = true; } + void visitAtomicCmpxchg(AtomicCmpxchg* curr) { usesMemory = true; } + void visitAtomicRMW(AtomicRMW* curr) { usesMemory = true; } + void visitAtomicWait(AtomicWait* curr) { usesMemory = true; } + void visitAtomicNotify(AtomicNotify* curr) { usesMemory = true; } + void visitAtomicFence(AtomicFence* curr) { usesMemory = true; } + void visitMemoryInit(MemoryInit* curr) { usesMemory = true; } + void visitDataDrop(DataDrop* curr) { usesMemory = true; } + void visitMemoryCopy(MemoryCopy* curr) { usesMemory = true; } + void visitMemoryFill(MemoryFill* curr) { usesMemory = true; } + void visitMemorySize(MemorySize* curr) { usesMemory = true; } + void visitMemoryGrow(MemoryGrow* curr) { usesMemory = true; } void visitRefFunc(RefFunc* curr) { auto type = curr->type.getHeapType(); if (calledSignatures.count(type)) { @@ -272,14 +259,8 @@ struct RemoveUnusedModuleElements : public Pass { roots.emplace_back(ModuleElementKind::ElementSegment, segment->name); } }); - ModuleUtils::iterActiveDataSegments( - *module, [&](DataSegment* segment) { - auto memory = module->getMemory(segment->memory); - if (memory->imported() && !segment->data.empty()) { - roots.emplace_back(ModuleElementKind::DataSegment, segment->name); - } - }); // Exports are roots. + bool exportsMemory = false; for (auto& curr : module->exports) { if (curr->kind == ExternalKind::Function) { roots.emplace_back(ModuleElementKind::Function, curr->value); @@ -295,14 +276,14 @@ struct RemoveUnusedModuleElements : public Pass { segment->name); }); } else if (curr->kind == ExternalKind::Memory) { - roots.emplace_back(ModuleElementKind::Memory, curr->value); - ModuleUtils::iterMemorySegments( - *module, curr->value, [&](DataSegment* segment) { - roots.emplace_back(ModuleElementKind::DataSegment, - segment->name); - }); + exportsMemory = true; } } + // Check for special imports, which are roots. + bool importsMemory = false; + if (!module->memories.empty() && module->memories[0]->imported()) { + importsMemory = true; + } // For now, all functions that can be called indirectly are marked as roots. // TODO: Compute this based on which ElementSegments are actually reachable, // and which functions have a call_indirect of the proper type. @@ -380,22 +361,20 @@ struct RemoveUnusedModuleElements : public Pass { // should continue to work. (For example, after removing a reference // to a function from an element segment, we may be able to remove // that function, etc.) - module->removeDataSegments([&](DataSegment* curr) { - return curr->data.empty() || - analyzer.reachable.count(ModuleElement( - ModuleElementKind::DataSegment, curr->name)) == 0; - }); - // Since we've removed all empty data segments, here we mark all memories - // that have a segment left. - std::unordered_set nonemptyMemories; - ModuleUtils::iterActiveDataSegments( - *module, - [&](DataSegment* segment) { nonemptyMemories.insert(segment->memory); }); - module->removeMemories([&](Memory* curr) { - return (nonemptyMemories.count(curr->name) == 0 || !curr->imported()) && - analyzer.reachable.count( - ModuleElement(ModuleElementKind::Memory, curr->name)) == 0; - }); + + // Handle the memory + if (!exportsMemory && !analyzer.usesMemory) { + if (!importsMemory) { + // The memory is unobservable to the outside, we can remove the + // contents. + module->removeDataSegments([&](DataSegment* curr) { + return true; + }); + } + if (module->dataSegments.empty() && !module->memories.empty()) { + module->removeMemory(module->memories[0]->name); + } + } } }; From 1d8ba1e7d6984f8e89d2bb75334b535242fafc5a Mon Sep 17 00:00:00 2001 From: Ashley Nelson Date: Thu, 14 Jul 2022 02:38:49 +0000 Subject: [PATCH 38/78] bug fixes --- src/binaryen-c.cpp | 20 +++++++++++--------- src/binaryen-c.h | 8 ++++---- src/passes/MemoryPacking.cpp | 2 +- src/wasm-builder.h | 11 +++++------ 4 files changed, 21 insertions(+), 20 deletions(-) diff --git a/src/binaryen-c.cpp b/src/binaryen-c.cpp index 564c1e6d3c8..ab969c275db 100644 --- a/src/binaryen-c.cpp +++ b/src/binaryen-c.cpp @@ -1142,14 +1142,16 @@ BinaryenExpressionRef BinaryenReturn(BinaryenModuleRef module, return static_cast(ret); } BinaryenExpressionRef BinaryenMemorySize(BinaryenModuleRef module, - const char* name) { - auto* ret = Builder(*(Module*)module).makeMemorySize(name); + const char* name, + bool is64) { + auto* ret = Builder(*(Module*)module).makeMemorySize(name, is64); return static_cast(ret); } BinaryenExpressionRef BinaryenMemoryGrow(BinaryenModuleRef module, BinaryenExpressionRef delta, - const char* name) { - auto* ret = Builder(*(Module*)module).makeMemoryGrow((Expression*)delta, name); + const char* name, + bool is64) { + auto* ret = Builder(*(Module*)module).makeMemoryGrow((Expression*)delta, name, is64); return static_cast(ret); } BinaryenExpressionRef BinaryenNop(BinaryenModuleRef module) { @@ -3898,7 +3900,6 @@ const char* BinaryenElementSegmentGetData(BinaryenElementSegmentRef elem, // Memory. One per module void BinaryenSetMemory(BinaryenModuleRef module, - const char* internalName, BinaryenIndex initial, BinaryenIndex maximum, const char* exportName, @@ -3907,17 +3908,17 @@ void BinaryenSetMemory(BinaryenModuleRef module, BinaryenExpressionRef* segmentOffsets, BinaryenIndex* segmentSizes, BinaryenIndex numSegments, - bool shared) { + bool shared, + const char* name) { auto* wasm = (Module*)module; - auto memory = Builder::makeMemory(internalName); + auto memory = Builder::makeMemory(name); memory->initial = initial; memory->max = int32_t(maximum); // Make sure -1 extends. memory->shared = shared; - wasm->addMemory(std::move(memory)); if (exportName) { auto memoryExport = make_unique(); memoryExport->name = exportName; - memoryExport->value = Name::fromInt(0); + memoryExport->value = name; memoryExport->kind = ExternalKind::Memory; wasm->addExport(memoryExport.release()); } @@ -3931,6 +3932,7 @@ void BinaryenSetMemory(BinaryenModuleRef module, curr->hasExplicitName = false; wasm->addDataSegment(std::move(curr)); } + wasm->addMemory(std::move(memory)); } // Memory segments diff --git a/src/binaryen-c.h b/src/binaryen-c.h index ca80aff6f98..9ac9104bb74 100644 --- a/src/binaryen-c.h +++ b/src/binaryen-c.h @@ -778,9 +778,9 @@ BINARYEN_API BinaryenExpressionRef BinaryenDrop(BinaryenModuleRef module, // Return: value can be NULL BINARYEN_API BinaryenExpressionRef BinaryenReturn(BinaryenModuleRef module, BinaryenExpressionRef value); -BINARYEN_API BinaryenExpressionRef BinaryenMemorySize(BinaryenModuleRef module, const char* name); +BINARYEN_API BinaryenExpressionRef BinaryenMemorySize(BinaryenModuleRef module, const char* name, bool is64); BINARYEN_API BinaryenExpressionRef -BinaryenMemoryGrow(BinaryenModuleRef module, BinaryenExpressionRef delta, const char* name); +BinaryenMemoryGrow(BinaryenModuleRef module, BinaryenExpressionRef delta, const char* name, bool is64); BINARYEN_API BinaryenExpressionRef BinaryenNop(BinaryenModuleRef module); BINARYEN_API BinaryenExpressionRef BinaryenUnreachable(BinaryenModuleRef module); @@ -2328,7 +2328,6 @@ BinaryenGetElementSegmentByIndex(BinaryenModuleRef module, BinaryenIndex index); // Each memory has data in segments, a start offset in segmentOffsets, and a // size in segmentSizes. exportName can be NULL BINARYEN_API void BinaryenSetMemory(BinaryenModuleRef module, - const char* internalName, BinaryenIndex initial, BinaryenIndex maximum, const char* exportName, @@ -2337,7 +2336,8 @@ BINARYEN_API void BinaryenSetMemory(BinaryenModuleRef module, BinaryenExpressionRef* segmentOffsets, BinaryenIndex* segmentSizes, BinaryenIndex numSegments, - bool shared); + bool shared, + const char* name); BINARYEN_API bool BinaryenHasMemory(BinaryenModuleRef module); BINARYEN_API BinaryenIndex BinaryenMemoryGetInitial(BinaryenModuleRef module, const char* name); diff --git a/src/passes/MemoryPacking.cpp b/src/passes/MemoryPacking.cpp index f88e01fa1a2..f48cb5e13a8 100644 --- a/src/passes/MemoryPacking.cpp +++ b/src/passes/MemoryPacking.cpp @@ -88,7 +88,7 @@ makeGtShiftedMemorySize(Builder& builder, Module& module, MemoryInit* curr) { mem->is64() ? GtUInt64 : GtUInt32, curr->dest, builder.makeBinary(mem->is64() ? ShlInt64 : ShlInt32, - builder.makeMemorySize(mem->name), + builder.makeMemorySize(mem->name, mem->is64()), builder.makeConstPtr(16, mem->indexType))); } diff --git a/src/wasm-builder.h b/src/wasm-builder.h index df9a6e50f6d..6d69161d4fe 100644 --- a/src/wasm-builder.h +++ b/src/wasm-builder.h @@ -540,6 +540,7 @@ class Builder { ret->offset = offset; ret->align = align; ret->ptr = ptr; + ret->memory = memory; ret->finalize(); return ret; } @@ -652,20 +653,18 @@ class Builder { ret->value = value; return ret; } - MemorySize* makeMemorySize(Name memory) { + MemorySize* makeMemorySize(Name memory, bool is64) { auto* ret = wasm.allocator.alloc(); - auto mem = wasm.getMemory(memory); - if (mem->is64()) { + if (is64) { ret->make64(); } ret->memory = memory; ret->finalize(); return ret; } - MemoryGrow* makeMemoryGrow(Expression* delta, Name memory) { + MemoryGrow* makeMemoryGrow(Expression* delta, Name memory, bool is64) { auto* ret = wasm.allocator.alloc(); - auto mem = wasm.getMemory(memory); - if (mem->is64()) { + if (is64) { ret->make64(); } ret->delta = delta; From 084cc5d916e5250d70626604823fcfb8afc96d9d Mon Sep 17 00:00:00 2001 From: Ashley Nelson Date: Thu, 14 Jul 2022 20:41:31 +0000 Subject: [PATCH 39/78] Fixing example tests --- src/binaryen-c.cpp | 2 + test/example/c-api-kitchen-sink.c | 83 ++++++++------ .../example/c-api-relooper-unreachable-if.cpp | 102 +++++++++-------- test/example/c-api-unused-mem.cpp | 12 +- test/example/relooper-fuzz.c | 22 ++-- test/example/relooper-fuzz1.c | 22 ++-- test/example/relooper-fuzz2.c | 106 ++++++++++++------ test/example/relooper-merge1.c | 19 +++- test/example/relooper-merge2.c | 19 +++- test/example/relooper-merge3.c | 19 +++- test/example/relooper-merge4.c | 19 +++- test/example/relooper-merge5.c | 19 +++- test/example/relooper-merge6.c | 19 +++- 13 files changed, 292 insertions(+), 171 deletions(-) diff --git a/src/binaryen-c.cpp b/src/binaryen-c.cpp index ab969c275db..17318e36dd2 100644 --- a/src/binaryen-c.cpp +++ b/src/binaryen-c.cpp @@ -3922,6 +3922,7 @@ void BinaryenSetMemory(BinaryenModuleRef module, memoryExport->kind = ExternalKind::Memory; wasm->addExport(memoryExport.release()); } + wasm->removeDataSegments([&](DataSegment* curr) { return true; }); for (BinaryenIndex i = 0; i < numSegments; i++) { auto curr = Builder::makeDataSegment(Name::fromInt(i), memory->name, @@ -3932,6 +3933,7 @@ void BinaryenSetMemory(BinaryenModuleRef module, curr->hasExplicitName = false; wasm->addDataSegment(std::move(curr)); } + wasm->removeMemories([&](Memory* curr) { return true; }); wasm->addMemory(std::move(memory)); } diff --git a/test/example/c-api-kitchen-sink.c b/test/example/c-api-kitchen-sink.c index dab64522a66..a6a0f65a525 100644 --- a/test/example/c-api-kitchen-sink.c +++ b/test/example/c-api-kitchen-sink.c @@ -160,7 +160,7 @@ BinaryenExpressionRef makeMemoryInit(BinaryenModuleRef module) { BinaryenExpressionRef dest = makeInt32(module, 1024); BinaryenExpressionRef offset = makeInt32(module, 0); BinaryenExpressionRef size = makeInt32(module, 12); - return BinaryenMemoryInit(module, 0, dest, offset, size); + return BinaryenMemoryInit(module, 0, dest, offset, size, "0"); }; BinaryenExpressionRef makeDataDrop(BinaryenModuleRef module) { @@ -171,14 +171,14 @@ BinaryenExpressionRef makeMemoryCopy(BinaryenModuleRef module) { BinaryenExpressionRef dest = makeInt32(module, 2048); BinaryenExpressionRef source = makeInt32(module, 1024); BinaryenExpressionRef size = makeInt32(module, 12); - return BinaryenMemoryCopy(module, dest, source, size); + return BinaryenMemoryCopy(module, dest, source, size, "0"); }; BinaryenExpressionRef makeMemoryFill(BinaryenModuleRef module) { BinaryenExpressionRef dest = makeInt32(module, 0); BinaryenExpressionRef value = makeInt32(module, 42); BinaryenExpressionRef size = makeInt32(module, 1024); - return BinaryenMemoryFill(module, dest, value, size); + return BinaryenMemoryFill(module, dest, value, size, "0"); }; // tests @@ -784,29 +784,29 @@ void test_core() { makeSIMDShift(module, BinaryenShrUVecI64x2()), // SIMD load BinaryenSIMDLoad( - module, BinaryenLoad8SplatVec128(), 0, 1, makeInt32(module, 128)), + module, BinaryenLoad8SplatVec128(), 0, 1, makeInt32(module, 128), "0"), BinaryenSIMDLoad( - module, BinaryenLoad16SplatVec128(), 16, 1, makeInt32(module, 128)), + module, BinaryenLoad16SplatVec128(), 16, 1, makeInt32(module, 128), "0"), BinaryenSIMDLoad( - module, BinaryenLoad32SplatVec128(), 16, 4, makeInt32(module, 128)), + module, BinaryenLoad32SplatVec128(), 16, 4, makeInt32(module, 128), "0"), BinaryenSIMDLoad( - module, BinaryenLoad64SplatVec128(), 0, 4, makeInt32(module, 128)), + module, BinaryenLoad64SplatVec128(), 0, 4, makeInt32(module, 128), "0"), BinaryenSIMDLoad( - module, BinaryenLoad8x8SVec128(), 0, 8, makeInt32(module, 128)), + module, BinaryenLoad8x8SVec128(), 0, 8, makeInt32(module, 128), "0"), BinaryenSIMDLoad( - module, BinaryenLoad8x8UVec128(), 0, 8, makeInt32(module, 128)), + module, BinaryenLoad8x8UVec128(), 0, 8, makeInt32(module, 128), "0"), BinaryenSIMDLoad( - module, BinaryenLoad16x4SVec128(), 0, 8, makeInt32(module, 128)), + module, BinaryenLoad16x4SVec128(), 0, 8, makeInt32(module, 128), "0"), BinaryenSIMDLoad( - module, BinaryenLoad16x4UVec128(), 0, 8, makeInt32(module, 128)), + module, BinaryenLoad16x4UVec128(), 0, 8, makeInt32(module, 128), "0"), BinaryenSIMDLoad( - module, BinaryenLoad32x2SVec128(), 0, 8, makeInt32(module, 128)), + module, BinaryenLoad32x2SVec128(), 0, 8, makeInt32(module, 128), "0"), BinaryenSIMDLoad( - module, BinaryenLoad32x2UVec128(), 0, 8, makeInt32(module, 128)), + module, BinaryenLoad32x2UVec128(), 0, 8, makeInt32(module, 128), "0"), BinaryenSIMDLoad( - module, BinaryenLoad32ZeroVec128(), 0, 4, makeInt32(module, 128)), + module, BinaryenLoad32ZeroVec128(), 0, 4, makeInt32(module, 128), "0"), BinaryenSIMDLoad( - module, BinaryenLoad64ZeroVec128(), 0, 8, makeInt32(module, 128)), + module, BinaryenLoad64ZeroVec128(), 0, 8, makeInt32(module, 128), "0"), // SIMD load/store lane BinaryenSIMDLoadStoreLane(module, BinaryenLoad8LaneVec128(), @@ -814,57 +814,64 @@ void test_core() { 1, 0, makeInt32(module, 128), - makeVec128(module, v128_bytes)), + makeVec128(module, v128_bytes), + "0"), BinaryenSIMDLoadStoreLane(module, BinaryenLoad16LaneVec128(), 0, 2, 0, makeInt32(module, 128), - makeVec128(module, v128_bytes)), + makeVec128(module, v128_bytes), + "0"), BinaryenSIMDLoadStoreLane(module, BinaryenLoad32LaneVec128(), 0, 4, 0, makeInt32(module, 128), - makeVec128(module, v128_bytes)), + makeVec128(module, v128_bytes), + "0"), BinaryenSIMDLoadStoreLane(module, BinaryenLoad64LaneVec128(), 0, 8, 0, makeInt32(module, 128), - makeVec128(module, v128_bytes)), - + makeVec128(module, v128_bytes), + "0"), BinaryenSIMDLoadStoreLane(module, BinaryenStore8LaneVec128(), 0, 1, 0, makeInt32(module, 128), - makeVec128(module, v128_bytes)), + makeVec128(module, v128_bytes), + "0"), BinaryenSIMDLoadStoreLane(module, BinaryenStore16LaneVec128(), 0, 2, 0, makeInt32(module, 128), - makeVec128(module, v128_bytes)), + makeVec128(module, v128_bytes), + "0"), BinaryenSIMDLoadStoreLane(module, BinaryenStore32LaneVec128(), 0, 4, 0, makeInt32(module, 128), - makeVec128(module, v128_bytes)), + makeVec128(module, v128_bytes), + "0"), BinaryenSIMDLoadStoreLane(module, BinaryenStore64LaneVec128(), 0, 8, 0, makeInt32(module, 128), - makeVec128(module, v128_bytes)), + makeVec128(module, v128_bytes), + "0"), // Other SIMD makeSIMDShuffle(module), makeSIMDTernary(module, BinaryenBitselectVec128()), @@ -914,14 +921,14 @@ void test_core() { BinaryenDrop( module, BinaryenLocalTee(module, 0, makeInt32(module, 102), BinaryenTypeInt32())), - BinaryenLoad(module, 4, 0, 0, 0, BinaryenTypeInt32(), makeInt32(module, 1)), - BinaryenLoad(module, 2, 1, 2, 1, BinaryenTypeInt64(), makeInt32(module, 8)), + BinaryenLoad(module, 4, 0, 0, 0, BinaryenTypeInt32(), makeInt32(module, 1), "0"), + BinaryenLoad(module, 2, 1, 2, 1, BinaryenTypeInt64(), makeInt32(module, 8), "0"), BinaryenLoad( - module, 4, 0, 0, 0, BinaryenTypeFloat32(), makeInt32(module, 2)), + module, 4, 0, 0, 0, BinaryenTypeFloat32(), makeInt32(module, 2), "0"), BinaryenLoad( - module, 8, 0, 2, 8, BinaryenTypeFloat64(), makeInt32(module, 9)), - BinaryenStore(module, 4, 0, 0, temp13, temp14, BinaryenTypeInt32()), - BinaryenStore(module, 8, 2, 4, temp15, temp16, BinaryenTypeInt64()), + module, 8, 0, 2, 8, BinaryenTypeFloat64(), makeInt32(module, 9), "0"), + BinaryenStore(module, 4, 0, 0, temp13, temp14, BinaryenTypeInt32(), "0"), + BinaryenStore(module, 8, 2, 4, temp15, temp16, BinaryenTypeInt64(), "0"), BinaryenSelect(module, temp10, temp11, temp12, BinaryenTypeAuto()), BinaryenReturn(module, makeInt32(module, 1337)), // Tail call @@ -1002,12 +1009,13 @@ void test_core() { 4, 0, temp6, - BinaryenAtomicLoad(module, 4, 0, BinaryenTypeInt32(), temp6), - BinaryenTypeInt32()), + BinaryenAtomicLoad(module, 4, 0, BinaryenTypeInt32(), temp6, "0"), + BinaryenTypeInt32(), + "0"), BinaryenDrop( module, - BinaryenAtomicWait(module, temp6, temp6, temp16, BinaryenTypeInt32())), - BinaryenDrop(module, BinaryenAtomicNotify(module, temp6, temp6)), + BinaryenAtomicWait(module, temp6, temp6, temp16, BinaryenTypeInt32(), "0")), + BinaryenDrop(module, BinaryenAtomicNotify(module, temp6, temp6, "0")), BinaryenAtomicFence(module), // Tuples BinaryenTupleMake(module, tupleElements4a, 4), @@ -1022,8 +1030,8 @@ void test_core() { BinaryenPop(module, BinaryenTypeExternref()), BinaryenPop(module, iIfF), // Memory - BinaryenMemorySize(module), - BinaryenMemoryGrow(module, makeInt32(module, 0)), + BinaryenMemorySize(module, "0", false), + BinaryenMemoryGrow(module, makeInt32(module, 0), "0", false), // GC BinaryenI31New(module, makeInt32(module, 0)), BinaryenI31Get(module, i31refExpr, 1), @@ -1683,7 +1691,8 @@ void test_for_each() { segmentOffsets, segmentSizes, 2, - 0); + 0, + "0"); BinaryenAddGlobal(module, "a-global", BinaryenTypeInt32(), diff --git a/test/example/c-api-relooper-unreachable-if.cpp b/test/example/c-api-relooper-unreachable-if.cpp index e8bfc43bc7c..7f7b0a1b893 100644 --- a/test/example/c-api-relooper-unreachable-if.cpp +++ b/test/example/c-api-relooper-unreachable-if.cpp @@ -28,13 +28,14 @@ int main() { segmentOffsets, segmentSizes, 0, - 0); + 0, + "0"); } the_relooper = RelooperCreate(the_module); expressions[1] = BinaryenLocalGet(the_module, 0, BinaryenTypeInt32()); expressions[2] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); expressions[3] = BinaryenStore( - the_module, 4, 0, 0, expressions[2], expressions[1], BinaryenTypeInt32()); + the_module, 4, 0, 0, expressions[2], expressions[1], BinaryenTypeInt32(), "0"); expressions[4] = BinaryenReturn(the_module, expressions[0]); { BinaryenExpressionRef children[] = {expressions[3], expressions[4]}; @@ -44,7 +45,7 @@ int main() { relooperBlocks[0] = RelooperAddBlock(the_relooper, expressions[5]); expressions[6] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); expressions[7] = - BinaryenLoad(the_module, 4, 0, 0, 0, BinaryenTypeInt32(), expressions[6]); + BinaryenLoad(the_module, 4, 0, 0, 0, BinaryenTypeInt32(), expressions[6], "0"); expressions[8] = BinaryenLocalSet(the_module, 0, expressions[7]); relooperBlocks[1] = RelooperAddBlock(the_relooper, expressions[8]); RelooperAddBranch( @@ -67,7 +68,7 @@ int main() { expressions[10] = BinaryenLocalGet(the_module, 0, BinaryenTypeInt32()); expressions[11] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); expressions[12] = BinaryenStore( - the_module, 4, 0, 0, expressions[11], expressions[10], BinaryenTypeInt32()); + the_module, 4, 0, 0, expressions[11], expressions[10], BinaryenTypeInt32(), "0"); expressions[13] = BinaryenReturn(the_module, expressions[0]); { BinaryenExpressionRef children[] = {expressions[12], expressions[13]}; @@ -77,7 +78,7 @@ int main() { relooperBlocks[0] = RelooperAddBlock(the_relooper, expressions[14]); expressions[15] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); expressions[16] = - BinaryenLoad(the_module, 4, 0, 0, 0, BinaryenTypeInt32(), expressions[15]); + BinaryenLoad(the_module, 4, 0, 0, 0, BinaryenTypeInt32(), expressions[15], "0"); expressions[17] = BinaryenLocalSet(the_module, 0, expressions[16]); relooperBlocks[1] = RelooperAddBlock(the_relooper, expressions[17]); RelooperAddBranch( @@ -116,7 +117,7 @@ int main() { relooperBlocks[1], relooperBlocks[1], expressions[0], expressions[0]); expressions[21] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); expressions[22] = - BinaryenLoad(the_module, 4, 0, 0, 0, BinaryenTypeInt32(), expressions[21]); + BinaryenLoad(the_module, 4, 0, 0, 0, BinaryenTypeInt32(), expressions[21], "0"); expressions[23] = BinaryenLocalSet(the_module, 0, expressions[22]); relooperBlocks[2] = RelooperAddBlock(the_relooper, expressions[23]); RelooperAddBranch( @@ -140,7 +141,7 @@ int main() { expressions[25] = BinaryenLocalGet(the_module, 0, BinaryenTypeInt32()); expressions[26] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); expressions[27] = BinaryenStore( - the_module, 4, 0, 0, expressions[26], expressions[25], BinaryenTypeInt32()); + the_module, 4, 0, 0, expressions[26], expressions[25], BinaryenTypeInt32(), "0"); expressions[28] = BinaryenReturn(the_module, expressions[0]); { BinaryenExpressionRef children[] = {expressions[27], expressions[28]}; @@ -150,7 +151,7 @@ int main() { relooperBlocks[0] = RelooperAddBlock(the_relooper, expressions[29]); expressions[30] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); expressions[31] = - BinaryenLoad(the_module, 4, 0, 0, 0, BinaryenTypeInt32(), expressions[30]); + BinaryenLoad(the_module, 4, 0, 0, 0, BinaryenTypeInt32(), expressions[30], "0"); expressions[32] = BinaryenLocalSet(the_module, 0, expressions[31]); relooperBlocks[1] = RelooperAddBlock(the_relooper, expressions[32]); RelooperAddBranch( @@ -175,7 +176,7 @@ int main() { expressions[34] = BinaryenLocalGet(the_module, 0, BinaryenTypeInt32()); expressions[35] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); expressions[36] = BinaryenStore( - the_module, 4, 0, 0, expressions[35], expressions[34], BinaryenTypeInt32()); + the_module, 4, 0, 0, expressions[35], expressions[34], BinaryenTypeInt32(), "0"); expressions[37] = BinaryenReturn(the_module, expressions[0]); { BinaryenExpressionRef children[] = {expressions[36], expressions[37]}; @@ -185,7 +186,7 @@ int main() { relooperBlocks[0] = RelooperAddBlock(the_relooper, expressions[38]); expressions[39] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); expressions[40] = - BinaryenLoad(the_module, 4, 0, 0, 0, BinaryenTypeInt32(), expressions[39]); + BinaryenLoad(the_module, 4, 0, 0, 0, BinaryenTypeInt32(), expressions[39], "0"); expressions[41] = BinaryenLocalSet(the_module, 0, expressions[40]); relooperBlocks[1] = RelooperAddBlock(the_relooper, expressions[41]); RelooperAddBranch( @@ -233,7 +234,7 @@ int main() { expressions[50] = BinaryenLocalGet(the_module, 3, BinaryenTypeInt32()); expressions[51] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); expressions[52] = BinaryenStore( - the_module, 4, 0, 0, expressions[51], expressions[50], BinaryenTypeInt32()); + the_module, 4, 0, 0, expressions[51], expressions[50], BinaryenTypeInt32(), "0"); expressions[53] = BinaryenReturn(the_module, expressions[0]); { BinaryenExpressionRef children[] = {expressions[52], expressions[53]}; @@ -245,7 +246,7 @@ int main() { relooperBlocks[0], relooperBlocks[1], expressions[0], expressions[0]); expressions[55] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); expressions[56] = - BinaryenLoad(the_module, 4, 0, 0, 0, BinaryenTypeInt32(), expressions[55]); + BinaryenLoad(the_module, 4, 0, 0, 0, BinaryenTypeInt32(), expressions[55], "0"); expressions[57] = BinaryenLocalSet(the_module, 3, expressions[56]); relooperBlocks[2] = RelooperAddBlock(the_relooper, expressions[57]); RelooperAddBranch( @@ -288,19 +289,19 @@ int main() { expressions[74] = BinaryenUnary(the_module, 24, expressions[73]); expressions[75] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); expressions[76] = - BinaryenLoad(the_module, 4, 0, 0, 0, BinaryenTypeInt32(), expressions[75]); + BinaryenLoad(the_module, 4, 0, 0, 0, BinaryenTypeInt32(), expressions[75], "0"); expressions[77] = BinaryenConst(the_module, BinaryenLiteralInt32(128)); expressions[78] = BinaryenBinary(the_module, 1, expressions[76], expressions[77]); expressions[79] = BinaryenLocalTee(the_module, 3, expressions[78], BinaryenTypeInt32()); expressions[80] = BinaryenStore( - the_module, 4, 0, 0, expressions[75], expressions[79], BinaryenTypeInt32()); + the_module, 4, 0, 0, expressions[75], expressions[79], BinaryenTypeInt32(), "0"); expressions[81] = BinaryenLocalGet(the_module, 3, BinaryenTypeInt32()); expressions[82] = BinaryenStore( - the_module, 4, 0, 0, expressions[81], expressions[70], BinaryenTypeInt32()); + the_module, 4, 0, 0, expressions[81], expressions[70], BinaryenTypeInt32(), "0"); expressions[83] = BinaryenStore( - the_module, 4, 4, 0, expressions[81], expressions[74], BinaryenTypeInt32()); + the_module, 4, 4, 0, expressions[81], expressions[74], BinaryenTypeInt32(), "0"); { BinaryenExpressionRef children[] = {expressions[60], expressions[62], @@ -314,7 +315,7 @@ int main() { relooperBlocks[0] = RelooperAddBlock(the_relooper, expressions[84]); expressions[85] = BinaryenLocalGet(the_module, 3, BinaryenTypeInt32()); expressions[86] = - BinaryenLoad(the_module, 4, 0, 0, 0, BinaryenTypeInt32(), expressions[85]); + BinaryenLoad(the_module, 4, 0, 0, 0, BinaryenTypeInt32(), expressions[85], "0"); expressions[87] = BinaryenLocalSet(the_module, 1, expressions[86]); expressions[88] = BinaryenLocalGet(the_module, 1, BinaryenTypeInt32()); expressions[89] = BinaryenLocalSet(the_module, 4, expressions[88]); @@ -323,7 +324,7 @@ int main() { expressions[92] = BinaryenLocalGet(the_module, 6, BinaryenTypeInt32()); expressions[93] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); expressions[94] = BinaryenStore( - the_module, 4, 0, 0, expressions[93], expressions[92], BinaryenTypeInt32()); + the_module, 4, 0, 0, expressions[93], expressions[92], BinaryenTypeInt32(), "0"); expressions[95] = BinaryenLocalGet(the_module, 5, BinaryenTypeInt32()); expressions[96] = BinaryenReturn(the_module, expressions[95]); { @@ -338,7 +339,7 @@ int main() { relooperBlocks[1] = RelooperAddBlock(the_relooper, expressions[97]); expressions[98] = BinaryenLocalGet(the_module, 3, BinaryenTypeInt32()); expressions[99] = - BinaryenLoad(the_module, 4, 0, 8, 0, BinaryenTypeInt32(), expressions[98]); + BinaryenLoad(the_module, 4, 0, 8, 0, BinaryenTypeInt32(), expressions[98], "0"); RelooperAddBranch( relooperBlocks[0], relooperBlocks[1], expressions[99], expressions[0]); expressions[100] = BinaryenUnreachable(the_module); @@ -347,7 +348,7 @@ int main() { relooperBlocks[0], relooperBlocks[2], expressions[0], expressions[0]); expressions[101] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); expressions[102] = - BinaryenLoad(the_module, 4, 0, 0, 0, BinaryenTypeInt32(), expressions[101]); + BinaryenLoad(the_module, 4, 0, 0, 0, BinaryenTypeInt32(), expressions[101], "0"); expressions[103] = BinaryenLocalSet(the_module, 6, expressions[102]); relooperBlocks[3] = RelooperAddBlock(the_relooper, expressions[103]); RelooperAddBranch( @@ -404,7 +405,7 @@ int main() { expressions[121] = BinaryenUnary(the_module, 24, expressions[120]); expressions[122] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); expressions[123] = - BinaryenLoad(the_module, 4, 0, 0, 0, BinaryenTypeInt32(), expressions[122]); + BinaryenLoad(the_module, 4, 0, 0, 0, BinaryenTypeInt32(), expressions[122], "0"); expressions[124] = BinaryenConst(the_module, BinaryenLiteralInt32(128)); expressions[125] = BinaryenBinary(the_module, 1, expressions[123], expressions[124]); @@ -416,7 +417,8 @@ int main() { 0, expressions[122], expressions[126], - BinaryenTypeInt32()); + BinaryenTypeInt32(), + "0"); expressions[128] = BinaryenLocalGet(the_module, 5, BinaryenTypeInt32()); expressions[129] = BinaryenStore(the_module, 4, @@ -424,14 +426,16 @@ int main() { 0, expressions[128], expressions[117], - BinaryenTypeInt32()); + BinaryenTypeInt32(), + "0"); expressions[130] = BinaryenStore(the_module, 4, 4, 0, expressions[128], expressions[121], - BinaryenTypeInt32()); + BinaryenTypeInt32(), + "0"); { BinaryenExpressionRef children[] = { expressions[115], expressions[127], expressions[129], expressions[130]}; @@ -441,7 +445,7 @@ int main() { relooperBlocks[1] = RelooperAddBlock(the_relooper, expressions[131]); expressions[132] = BinaryenLocalGet(the_module, 5, BinaryenTypeInt32()); expressions[133] = - BinaryenLoad(the_module, 4, 0, 0, 0, BinaryenTypeInt32(), expressions[132]); + BinaryenLoad(the_module, 4, 0, 0, 0, BinaryenTypeInt32(), expressions[132], "0"); expressions[134] = BinaryenLocalSet(the_module, 3, expressions[133]); expressions[135] = BinaryenLocalGet(the_module, 3, BinaryenTypeInt32()); expressions[136] = BinaryenLocalSet(the_module, 6, expressions[135]); @@ -470,7 +474,8 @@ int main() { 0, expressions[145], expressions[144], - BinaryenTypeInt32()); + BinaryenTypeInt32(), + "0"); expressions[147] = BinaryenLocalGet(the_module, 8, BinaryenTypeInt32()); expressions[148] = BinaryenReturn(the_module, expressions[147]); { @@ -484,7 +489,7 @@ int main() { relooperBlocks[0], relooperBlocks[1], expressions[0], expressions[0]); expressions[150] = BinaryenLocalGet(the_module, 5, BinaryenTypeInt32()); expressions[151] = - BinaryenLoad(the_module, 4, 0, 8, 0, BinaryenTypeInt32(), expressions[150]); + BinaryenLoad(the_module, 4, 0, 8, 0, BinaryenTypeInt32(), expressions[150], "0"); RelooperAddBranch( relooperBlocks[1], relooperBlocks[2], expressions[151], expressions[0]); expressions[152] = BinaryenUnreachable(the_module); @@ -495,7 +500,7 @@ int main() { relooperBlocks[2], relooperBlocks[3], expressions[0], expressions[0]); expressions[153] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); expressions[154] = - BinaryenLoad(the_module, 4, 0, 0, 0, BinaryenTypeInt32(), expressions[153]); + BinaryenLoad(the_module, 4, 0, 0, 0, BinaryenTypeInt32(), expressions[153], "0"); expressions[155] = BinaryenLocalSet(the_module, 9, expressions[154]); relooperBlocks[5] = RelooperAddBlock(the_relooper, expressions[155]); RelooperAddBranch( @@ -538,7 +543,8 @@ int main() { segmentOffsets, segmentSizes, 0, - 0); + 0, + "0"); } expressions[157] = BinaryenConst(the_module, BinaryenLiteralInt32(65535)); expressions[158] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); @@ -548,7 +554,8 @@ int main() { 0, expressions[158], expressions[157], - BinaryenTypeInt32()); + BinaryenTypeInt32(), + "0"); expressions[160] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); expressions[161] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); { @@ -599,7 +606,7 @@ int main() { expressions[184] = BinaryenUnary(the_module, 24, expressions[183]); expressions[185] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); expressions[186] = - BinaryenLoad(the_module, 4, 0, 0, 0, BinaryenTypeInt32(), expressions[185]); + BinaryenLoad(the_module, 4, 0, 0, 0, BinaryenTypeInt32(), expressions[185], "0"); expressions[187] = BinaryenConst(the_module, BinaryenLiteralInt32(128)); expressions[188] = BinaryenBinary(the_module, 1, expressions[186], expressions[187]); @@ -611,7 +618,8 @@ int main() { 0, expressions[185], expressions[189], - BinaryenTypeInt32()); + BinaryenTypeInt32(), + "0"); expressions[191] = BinaryenLocalGet(the_module, 6, BinaryenTypeInt32()); expressions[192] = BinaryenStore(the_module, 4, @@ -619,14 +627,16 @@ int main() { 0, expressions[191], expressions[180], - BinaryenTypeInt32()); + BinaryenTypeInt32(), + "0"); expressions[193] = BinaryenStore(the_module, 4, 4, 0, expressions[191], expressions[184], - BinaryenTypeInt32()); + BinaryenTypeInt32(), + "0"); { BinaryenExpressionRef children[] = {expressions[166], expressions[168], @@ -642,7 +652,7 @@ int main() { relooperBlocks[0] = RelooperAddBlock(the_relooper, expressions[194]); expressions[195] = BinaryenLocalGet(the_module, 6, BinaryenTypeInt32()); expressions[196] = - BinaryenLoad(the_module, 4, 0, 0, 0, BinaryenTypeInt32(), expressions[195]); + BinaryenLoad(the_module, 4, 0, 0, 0, BinaryenTypeInt32(), expressions[195], "0"); expressions[197] = BinaryenLocalSet(the_module, 7, expressions[196]); expressions[198] = BinaryenLocalGet(the_module, 8, BinaryenTypeInt32()); expressions[199] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); @@ -652,7 +662,8 @@ int main() { 0, expressions[199], expressions[198], - BinaryenTypeInt32()); + BinaryenTypeInt32(), + "0"); expressions[201] = BinaryenLocalGet(the_module, 7, BinaryenTypeInt32()); expressions[202] = BinaryenReturn(the_module, expressions[201]); { @@ -664,7 +675,7 @@ int main() { relooperBlocks[1] = RelooperAddBlock(the_relooper, expressions[203]); expressions[204] = BinaryenLocalGet(the_module, 6, BinaryenTypeInt32()); expressions[205] = - BinaryenLoad(the_module, 4, 0, 8, 0, BinaryenTypeInt32(), expressions[204]); + BinaryenLoad(the_module, 4, 0, 8, 0, BinaryenTypeInt32(), expressions[204], "0"); RelooperAddBranch( relooperBlocks[0], relooperBlocks[1], expressions[205], expressions[0]); expressions[206] = BinaryenUnreachable(the_module); @@ -673,7 +684,7 @@ int main() { relooperBlocks[0], relooperBlocks[2], expressions[0], expressions[0]); expressions[207] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); expressions[208] = - BinaryenLoad(the_module, 4, 0, 0, 0, BinaryenTypeInt32(), expressions[207]); + BinaryenLoad(the_module, 4, 0, 0, 0, BinaryenTypeInt32(), expressions[207], "0"); expressions[209] = BinaryenLocalSet(the_module, 8, expressions[208]); relooperBlocks[3] = RelooperAddBlock(the_relooper, expressions[209]); RelooperAddBranch( @@ -719,7 +730,8 @@ int main() { 0, expressions[219], expressions[218], - BinaryenTypeInt32()); + BinaryenTypeInt32(), + "0"); expressions[221] = BinaryenLocalGet(the_module, 3, BinaryenTypeInt32()); expressions[222] = BinaryenReturn(the_module, expressions[221]); { @@ -734,7 +746,7 @@ int main() { relooperBlocks[0] = RelooperAddBlock(the_relooper, expressions[223]); expressions[224] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); expressions[225] = - BinaryenLoad(the_module, 4, 0, 0, 0, BinaryenTypeInt32(), expressions[224]); + BinaryenLoad(the_module, 4, 0, 0, 0, BinaryenTypeInt32(), expressions[224], "0"); expressions[226] = BinaryenLocalSet(the_module, 4, expressions[225]); relooperBlocks[1] = RelooperAddBlock(the_relooper, expressions[226]); RelooperAddBranch( @@ -780,7 +792,8 @@ int main() { 0, expressions[241], expressions[240], - BinaryenTypeInt32()); + BinaryenTypeInt32(), + "0"); expressions[243] = BinaryenLocalGet(the_module, 6, BinaryenTypeInt32()); expressions[244] = BinaryenReturn(the_module, expressions[243]); { @@ -797,7 +810,7 @@ int main() { relooperBlocks[0] = RelooperAddBlock(the_relooper, expressions[245]); expressions[246] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); expressions[247] = - BinaryenLoad(the_module, 4, 0, 0, 0, BinaryenTypeInt32(), expressions[246]); + BinaryenLoad(the_module, 4, 0, 0, 0, BinaryenTypeInt32(), expressions[246], "0"); expressions[248] = BinaryenLocalSet(the_module, 7, expressions[247]); relooperBlocks[1] = RelooperAddBlock(the_relooper, expressions[248]); RelooperAddBranch( @@ -848,7 +861,8 @@ int main() { 0, expressions[263], expressions[262], - BinaryenTypeInt64()); + BinaryenTypeInt64(), + "0"); expressions[265] = BinaryenLocalGet(the_module, 6, BinaryenTypeInt32()); expressions[266] = BinaryenReturn(the_module, expressions[265]); { @@ -865,7 +879,7 @@ int main() { relooperBlocks[0] = RelooperAddBlock(the_relooper, expressions[267]); expressions[268] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); expressions[269] = - BinaryenLoad(the_module, 4, 0, 0, 0, BinaryenTypeInt64(), expressions[268]); + BinaryenLoad(the_module, 4, 0, 0, 0, BinaryenTypeInt64(), expressions[268], "0"); expressions[270] = BinaryenLocalSet(the_module, 7, expressions[269]); relooperBlocks[1] = RelooperAddBlock(the_relooper, expressions[270]); RelooperAddBranch( diff --git a/test/example/c-api-unused-mem.cpp b/test/example/c-api-unused-mem.cpp index d395753f72f..e67c39b080f 100644 --- a/test/example/c-api-unused-mem.cpp +++ b/test/example/c-api-unused-mem.cpp @@ -29,7 +29,8 @@ int main() { segmentOffsets, segmentSizes, 0, - 0); + 0, + "0"); } the_relooper = RelooperCreate(the_module); { @@ -41,7 +42,7 @@ int main() { expressions[2] = BinaryenLocalGet(the_module, 0, BinaryenTypeInt32()); expressions[3] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); expressions[4] = BinaryenStore( - the_module, 4, 0, 0, expressions[3], expressions[2], BinaryenTypeInt32()); + the_module, 4, 0, 0, expressions[3], expressions[2], BinaryenTypeInt32(), "0"); expressions[5] = BinaryenReturn(the_module, expressions[0]); { BinaryenExpressionRef children[] = {expressions[4], expressions[5]}; @@ -53,7 +54,7 @@ int main() { relooperBlocks[0], relooperBlocks[1], expressions[0], expressions[0]); expressions[7] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); expressions[8] = - BinaryenLoad(the_module, 4, 0, 0, 0, BinaryenTypeInt32(), expressions[7]); + BinaryenLoad(the_module, 4, 0, 0, 0, BinaryenTypeInt32(), expressions[7], "0"); expressions[9] = BinaryenLocalSet(the_module, 0, expressions[8]); relooperBlocks[2] = RelooperAddBlock(the_relooper, expressions[9]); RelooperAddBranch( @@ -86,12 +87,13 @@ int main() { segmentOffsets, segmentSizes, 0, - 0); + 0, + "0"); } expressions[11] = BinaryenConst(the_module, BinaryenLiteralInt32(65535)); expressions[12] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); expressions[13] = BinaryenStore( - the_module, 4, 0, 0, expressions[12], expressions[11], BinaryenTypeInt32()); + the_module, 4, 0, 0, expressions[12], expressions[11], BinaryenTypeInt32(), "0"); { BinaryenExpressionRef operands[] = {0}; expressions[14] = diff --git a/test/example/relooper-fuzz.c b/test/example/relooper-fuzz.c index d953d9cf2e5..27b119bb032 100644 --- a/test/example/relooper-fuzz.c +++ b/test/example/relooper-fuzz.c @@ -25,7 +25,8 @@ int main() { 0, 0, BinaryenTypeInt32(), - BinaryenConst(module, BinaryenLiteralInt32(4))), + BinaryenConst(module, BinaryenLiteralInt32(4)), + "0"), BinaryenConst(module, BinaryenLiteralInt32(4 * 27)) // jumps of 4 bytes ), BinaryenUnreachable(module), @@ -45,9 +46,11 @@ int main() { 0, 0, BinaryenTypeInt32(), - BinaryenConst(module, BinaryenLiteralInt32(4))), + BinaryenConst(module, BinaryenLiteralInt32(4)), + "0"), BinaryenConst(module, BinaryenLiteralInt32(4))), - BinaryenTypeInt32()); + BinaryenTypeInt32(), + "0"); // optionally, print the return value BinaryenExpressionRef args[] = {BinaryenBinary( @@ -67,7 +70,9 @@ int main() { 0, 0, BinaryenTypeInt32(), - BinaryenConst(module, BinaryenLiteralInt32(4)))))}; + BinaryenConst(module, BinaryenLiteralInt32(4)), + "0"), + "0"))}; BinaryenExpressionRef debugger; if (1) debugger = BinaryenCall(module, "print", args, 1, BinaryenTypeNone()); @@ -89,7 +94,9 @@ int main() { 0, 0, BinaryenTypeInt32(), - BinaryenConst(module, BinaryenLiteralInt32(4)))); + BinaryenConst(module, BinaryenLiteralInt32(4)), + "0"), + "0"); BinaryenExpressionRef checkBodyList[] = {halter, incer, debugger, returner}; BinaryenExpressionRef checkBody = BinaryenBlock(module, @@ -338,7 +345,8 @@ int main() { 0, BinaryenConst(module, BinaryenLiteralInt32(8 + 4 * i)), BinaryenConst(module, BinaryenLiteralInt32(decisions[i])), - BinaryenTypeInt32()); + BinaryenTypeInt32(), + "0"); } } full[numDecisions] = body; @@ -362,7 +370,7 @@ int main() { BinaryenTypeNone()); // memory - BinaryenSetMemory(module, 1, 1, "mem", NULL, NULL, NULL, NULL, 0, 0); + BinaryenSetMemory(module, 1, 1, "mem", NULL, NULL, NULL, NULL, 0, 0, "0"); assert(BinaryenModuleValidate(module)); diff --git a/test/example/relooper-fuzz1.c b/test/example/relooper-fuzz1.c index 9e49fbcd324..32fb076778a 100644 --- a/test/example/relooper-fuzz1.c +++ b/test/example/relooper-fuzz1.c @@ -23,7 +23,8 @@ int main() { 0, 0, BinaryenTypeInt32(), - BinaryenConst(module, BinaryenLiteralInt32(4))), + BinaryenConst(module, BinaryenLiteralInt32(4)), + "0"), BinaryenConst(module, BinaryenLiteralInt32(4 * 30)) // jumps of 4 bytes ), BinaryenUnreachable(module), @@ -43,9 +44,11 @@ int main() { 0, 0, BinaryenTypeInt32(), - BinaryenConst(module, BinaryenLiteralInt32(4))), + BinaryenConst(module, BinaryenLiteralInt32(4)), + "0"), BinaryenConst(module, BinaryenLiteralInt32(4))), - BinaryenTypeInt32()); + BinaryenTypeInt32(), + "0"); // optionally, print the return value BinaryenExpressionRef args[] = {BinaryenBinary( @@ -65,7 +68,9 @@ int main() { 0, 0, BinaryenTypeInt32(), - BinaryenConst(module, BinaryenLiteralInt32(4)))))}; + BinaryenConst(module, BinaryenLiteralInt32(4)), + "0"), + "0"))}; BinaryenExpressionRef debugger; if (1) debugger = BinaryenCall(module, "print", args, 1, BinaryenTypeNone()); @@ -87,7 +92,9 @@ int main() { 0, 0, BinaryenTypeInt32(), - BinaryenConst(module, BinaryenLiteralInt32(4)))); + BinaryenConst(module, BinaryenLiteralInt32(4)), + "0"), + "0"); BinaryenExpressionRef checkBodyList[] = {halter, incer, debugger, returner}; BinaryenExpressionRef checkBody = BinaryenBlock(module, @@ -337,7 +344,8 @@ int main() { 0, BinaryenConst(module, BinaryenLiteralInt32(8 + 4 * i)), BinaryenConst(module, BinaryenLiteralInt32(decisions[i])), - BinaryenTypeInt32()); + BinaryenTypeInt32(), + "0"); } } full[numDecisions] = body; @@ -359,7 +367,7 @@ int main() { BinaryenTypeNone()); // memory - BinaryenSetMemory(module, 1, 1, "mem", NULL, NULL, NULL, NULL, 0, 0); + BinaryenSetMemory(module, 1, 1, "mem", NULL, NULL, NULL, NULL, 0, 0, "0"); assert(BinaryenModuleValidate(module)); diff --git a/test/example/relooper-fuzz2.c b/test/example/relooper-fuzz2.c index a48b86e2a51..ff12c4e1d33 100644 --- a/test/example/relooper-fuzz2.c +++ b/test/example/relooper-fuzz2.c @@ -23,7 +23,8 @@ int main() { 0, 0, BinaryenTypeInt32(), - BinaryenConst(module, BinaryenLiteralInt32(4))), + BinaryenConst(module, BinaryenLiteralInt32(4)), + "0"), BinaryenConst(module, BinaryenLiteralInt32(4 * 27)) // jumps of 4 bytes ), BinaryenUnreachable(module), @@ -43,9 +44,11 @@ int main() { 0, 0, BinaryenTypeInt32(), - BinaryenConst(module, BinaryenLiteralInt32(4))), + BinaryenConst(module, BinaryenLiteralInt32(4)), + "0"), BinaryenConst(module, BinaryenLiteralInt32(4))), - BinaryenTypeInt32()); + BinaryenTypeInt32(), + "0"); // optionally, print the return value BinaryenExpressionRef args[] = {BinaryenBinary( @@ -65,7 +68,9 @@ int main() { 0, 0, BinaryenTypeInt32(), - BinaryenConst(module, BinaryenLiteralInt32(4)))))}; + BinaryenConst(module, BinaryenLiteralInt32(4)), + "0"), + "0"))}; BinaryenExpressionRef debugger; if (1) debugger = BinaryenCall(module, "print", args, 1, BinaryenTypeNone()); @@ -87,7 +92,9 @@ int main() { 0, 0, BinaryenTypeInt32(), - BinaryenConst(module, BinaryenLiteralInt32(4)))); + BinaryenConst(module, BinaryenLiteralInt32(4)), + "0"), + "0"); BinaryenExpressionRef checkBodyList[] = {halter, incer, debugger, returner}; BinaryenExpressionRef checkBody = BinaryenBlock(module, @@ -281,9 +288,11 @@ int main() { 0, 0, BinaryenTypeInt32(), - BinaryenConst(module, BinaryenLiteralInt32(4))), + BinaryenConst(module, BinaryenLiteralInt32(4)), + "0"), BinaryenConst(module, BinaryenLiteralInt32(4 * 4))), - BinaryenTypeInt32())); + BinaryenTypeInt32(), + "0")); RelooperAddBranch( b1, @@ -304,9 +313,11 @@ int main() { 0, 0, BinaryenTypeInt32(), - BinaryenConst(module, BinaryenLiteralInt32(4))), + BinaryenConst(module, BinaryenLiteralInt32(4)), + "0"), BinaryenConst(module, BinaryenLiteralInt32(4 * 4))), - BinaryenTypeInt32())); + BinaryenTypeInt32(), + "0")); { BinaryenIndex values[] = {0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, @@ -333,9 +344,11 @@ int main() { 0, 0, BinaryenTypeInt32(), - BinaryenConst(module, BinaryenLiteralInt32(4))), + BinaryenConst(module, BinaryenLiteralInt32(4)), + "0"), BinaryenConst(module, BinaryenLiteralInt32(4 * 6))), - BinaryenTypeInt32())); + BinaryenTypeInt32(), + "0")); } RelooperAddBranchForSwitch( @@ -358,9 +371,11 @@ int main() { 0, 0, BinaryenTypeInt32(), - BinaryenConst(module, BinaryenLiteralInt32(4))), + BinaryenConst(module, BinaryenLiteralInt32(4)), + "0"), BinaryenConst(module, BinaryenLiteralInt32(4 * 4))), - BinaryenTypeInt32())); + BinaryenTypeInt32(), + "0")); RelooperAddBranchForSwitch( b3, @@ -382,9 +397,11 @@ int main() { 0, 0, BinaryenTypeInt32(), - BinaryenConst(module, BinaryenLiteralInt32(4))), + BinaryenConst(module, BinaryenLiteralInt32(4)), + "0"), BinaryenConst(module, BinaryenLiteralInt32(4 * 5))), - BinaryenTypeInt32())); + BinaryenTypeInt32(), + "0")); RelooperAddBranch( b4, @@ -412,9 +429,11 @@ int main() { 0, 0, BinaryenTypeInt32(), - BinaryenConst(module, BinaryenLiteralInt32(4))), + BinaryenConst(module, BinaryenLiteralInt32(4)), + "0"), BinaryenConst(module, BinaryenLiteralInt32(4 * 5))), - BinaryenTypeInt32())); + BinaryenTypeInt32(), + "0")); RelooperAddBranch( b4, @@ -435,9 +454,11 @@ int main() { 0, 0, BinaryenTypeInt32(), - BinaryenConst(module, BinaryenLiteralInt32(4))), + BinaryenConst(module, BinaryenLiteralInt32(4)), + "0"), BinaryenConst(module, BinaryenLiteralInt32(4 * 3))), - BinaryenTypeInt32())); + BinaryenTypeInt32(), + "0")); RelooperAddBranchForSwitch( b5, @@ -459,9 +480,11 @@ int main() { 0, 0, BinaryenTypeInt32(), - BinaryenConst(module, BinaryenLiteralInt32(4))), + BinaryenConst(module, BinaryenLiteralInt32(4)), + "0"), BinaryenConst(module, BinaryenLiteralInt32(4 * 4))), - BinaryenTypeInt32())); + BinaryenTypeInt32(), + "0")); { BinaryenIndex values[] = {0, 3, 6, 9, 12, 15, 18, 21, 24, 27, @@ -488,9 +511,11 @@ int main() { 0, 0, BinaryenTypeInt32(), - BinaryenConst(module, BinaryenLiteralInt32(4))), + BinaryenConst(module, BinaryenLiteralInt32(4)), + "0"), BinaryenConst(module, BinaryenLiteralInt32(4 * 2))), - BinaryenTypeInt32())); + BinaryenTypeInt32(), + "0")); } { @@ -519,9 +544,11 @@ int main() { 0, 0, BinaryenTypeInt32(), - BinaryenConst(module, BinaryenLiteralInt32(4))), + BinaryenConst(module, BinaryenLiteralInt32(4)), + "0"), BinaryenConst(module, BinaryenLiteralInt32(4 * 3))), - BinaryenTypeInt32())); + BinaryenTypeInt32(), + "0")); } RelooperAddBranchForSwitch( @@ -544,9 +571,11 @@ int main() { 0, 0, BinaryenTypeInt32(), - BinaryenConst(module, BinaryenLiteralInt32(4))), + BinaryenConst(module, BinaryenLiteralInt32(4)), + "0"), BinaryenConst(module, BinaryenLiteralInt32(4 * 3))), - BinaryenTypeInt32())); + BinaryenTypeInt32(), + "0")); RelooperAddBranch( b7, @@ -574,9 +603,11 @@ int main() { 0, 0, BinaryenTypeInt32(), - BinaryenConst(module, BinaryenLiteralInt32(4))), + BinaryenConst(module, BinaryenLiteralInt32(4)), + "0"), BinaryenConst(module, BinaryenLiteralInt32(4 * 1))), - BinaryenTypeInt32())); + BinaryenTypeInt32(), + "0")); RelooperAddBranch( b7, @@ -597,9 +628,11 @@ int main() { 0, 0, BinaryenTypeInt32(), - BinaryenConst(module, BinaryenLiteralInt32(4))), + BinaryenConst(module, BinaryenLiteralInt32(4)), + "0"), BinaryenConst(module, BinaryenLiteralInt32(4 * 4))), - BinaryenTypeInt32())); + BinaryenTypeInt32(), + "0")); RelooperAddBranch( b8, @@ -620,9 +653,11 @@ int main() { 0, 0, BinaryenTypeInt32(), - BinaryenConst(module, BinaryenLiteralInt32(4))), + BinaryenConst(module, BinaryenLiteralInt32(4)), + "0"), BinaryenConst(module, BinaryenLiteralInt32(4 * 2))), - BinaryenTypeInt32())); + BinaryenTypeInt32(), + "0")); BinaryenExpressionRef body = RelooperRenderAndDispose(relooper, b0, 1); @@ -644,7 +679,8 @@ int main() { 0, BinaryenConst(module, BinaryenLiteralInt32(8 + 4 * i)), BinaryenConst(module, BinaryenLiteralInt32(decisions[i])), - BinaryenTypeInt32()); + BinaryenTypeInt32(), + "0"); } } full[numDecisions] = body; @@ -666,7 +702,7 @@ int main() { BinaryenTypeNone()); // memory - BinaryenSetMemory(module, 1, 1, "mem", NULL, NULL, NULL, NULL, 0, 0); + BinaryenSetMemory(module, 1, 1, "mem", NULL, NULL, NULL, NULL, 0, 0, "0"); // optionally, optimize if (0) diff --git a/test/example/relooper-merge1.c b/test/example/relooper-merge1.c index 491839f3648..7e0cebfe4f8 100644 --- a/test/example/relooper-merge1.c +++ b/test/example/relooper-merge1.c @@ -23,7 +23,8 @@ int main() { 0, 0, BinaryenTypeInt32(), - BinaryenConst(module, BinaryenLiteralInt32(4))), + BinaryenConst(module, BinaryenLiteralInt32(4)), + "0"), BinaryenConst(module, BinaryenLiteralInt32(4 * 12)) // jumps of 4 bytes ), BinaryenUnreachable(module), @@ -43,9 +44,11 @@ int main() { 0, 0, BinaryenTypeInt32(), - BinaryenConst(module, BinaryenLiteralInt32(4))), + BinaryenConst(module, BinaryenLiteralInt32(4)), + "0"), BinaryenConst(module, BinaryenLiteralInt32(4))), - BinaryenTypeInt32()); + BinaryenTypeInt32(), + "0"); // optionally, print the return value BinaryenExpressionRef args[] = {BinaryenBinary( @@ -65,7 +68,9 @@ int main() { 0, 0, BinaryenTypeInt32(), - BinaryenConst(module, BinaryenLiteralInt32(4)))))}; + BinaryenConst(module, BinaryenLiteralInt32(4)), + "0"), + "0"))}; BinaryenExpressionRef debugger; if (1) debugger = BinaryenCall(module, "print", args, 1, BinaryenTypeNone()); @@ -87,7 +92,9 @@ int main() { 0, 0, BinaryenTypeInt32(), - BinaryenConst(module, BinaryenLiteralInt32(4)))); + BinaryenConst(module, BinaryenLiteralInt32(4)), + "0"), + "0"); BinaryenExpressionRef checkBodyList[] = {halter, incer, debugger, returner}; BinaryenExpressionRef checkBody = BinaryenBlock(module, @@ -226,7 +233,7 @@ int main() { BinaryenTypeNone()); // memory - BinaryenSetMemory(module, 1, 1, "mem", NULL, NULL, NULL, NULL, 0, 0); + BinaryenSetMemory(module, 1, 1, "mem", NULL, NULL, NULL, NULL, 0, 0, "0"); // optionally, optimize if (0) diff --git a/test/example/relooper-merge2.c b/test/example/relooper-merge2.c index ed5fc0f4dfb..72306583ba7 100644 --- a/test/example/relooper-merge2.c +++ b/test/example/relooper-merge2.c @@ -23,7 +23,8 @@ int main() { 0, 0, BinaryenTypeInt32(), - BinaryenConst(module, BinaryenLiteralInt32(4))), + BinaryenConst(module, BinaryenLiteralInt32(4)), + "0"), BinaryenConst(module, BinaryenLiteralInt32(4 * 12)) // jumps of 4 bytes ), BinaryenUnreachable(module), @@ -43,9 +44,11 @@ int main() { 0, 0, BinaryenTypeInt32(), - BinaryenConst(module, BinaryenLiteralInt32(4))), + BinaryenConst(module, BinaryenLiteralInt32(4)), + "0"), BinaryenConst(module, BinaryenLiteralInt32(4))), - BinaryenTypeInt32()); + BinaryenTypeInt32(), + "0"); // optionally, print the return value BinaryenExpressionRef args[] = {BinaryenBinary( @@ -65,7 +68,9 @@ int main() { 0, 0, BinaryenTypeInt32(), - BinaryenConst(module, BinaryenLiteralInt32(4)))))}; + BinaryenConst(module, BinaryenLiteralInt32(4)), + "0"), + "0"))}; BinaryenExpressionRef debugger; if (1) debugger = BinaryenCall(module, "print", args, 1, BinaryenTypeNone()); @@ -87,7 +92,9 @@ int main() { 0, 0, BinaryenTypeInt32(), - BinaryenConst(module, BinaryenLiteralInt32(4)))); + BinaryenConst(module, BinaryenLiteralInt32(4)), + "0"), + "0"); BinaryenExpressionRef checkBodyList[] = {halter, incer, debugger, returner}; BinaryenExpressionRef checkBody = BinaryenBlock(module, @@ -241,7 +248,7 @@ int main() { BinaryenTypeNone()); // memory - BinaryenSetMemory(module, 1, 1, "mem", NULL, NULL, NULL, NULL, 0, 0); + BinaryenSetMemory(module, 1, 1, "mem", NULL, NULL, NULL, NULL, 0, 0, "0"); // optionally, optimize if (0) diff --git a/test/example/relooper-merge3.c b/test/example/relooper-merge3.c index 655b4d22b56..60acac17eed 100644 --- a/test/example/relooper-merge3.c +++ b/test/example/relooper-merge3.c @@ -23,7 +23,8 @@ int main() { 0, 0, BinaryenTypeInt32(), - BinaryenConst(module, BinaryenLiteralInt32(4))), + BinaryenConst(module, BinaryenLiteralInt32(4)), + "0"), BinaryenConst(module, BinaryenLiteralInt32(4 * 12)) // jumps of 4 bytes ), BinaryenUnreachable(module), @@ -43,9 +44,11 @@ int main() { 0, 0, BinaryenTypeInt32(), - BinaryenConst(module, BinaryenLiteralInt32(4))), + BinaryenConst(module, BinaryenLiteralInt32(4)), + "0"), BinaryenConst(module, BinaryenLiteralInt32(4))), - BinaryenTypeInt32()); + BinaryenTypeInt32(), + "0"); // optionally, print the return value BinaryenExpressionRef args[] = {BinaryenBinary( @@ -65,7 +68,9 @@ int main() { 0, 0, BinaryenTypeInt32(), - BinaryenConst(module, BinaryenLiteralInt32(4)))))}; + BinaryenConst(module, BinaryenLiteralInt32(4)), + "0"), + "0"))}; BinaryenExpressionRef debugger; if (1) debugger = BinaryenCall(module, "print", args, 1, BinaryenTypeNone()); @@ -87,7 +92,9 @@ int main() { 0, 0, BinaryenTypeInt32(), - BinaryenConst(module, BinaryenLiteralInt32(4)))); + BinaryenConst(module, BinaryenLiteralInt32(4)), + "0"), + "0"); BinaryenExpressionRef checkBodyList[] = {halter, incer, debugger, returner}; BinaryenExpressionRef checkBody = BinaryenBlock(module, @@ -225,7 +232,7 @@ int main() { BinaryenTypeNone()); // memory - BinaryenSetMemory(module, 1, 1, "mem", NULL, NULL, NULL, NULL, 0, 0); + BinaryenSetMemory(module, 1, 1, "mem", NULL, NULL, NULL, NULL, 0, 0, "0"); // optionally, optimize if (0) diff --git a/test/example/relooper-merge4.c b/test/example/relooper-merge4.c index 2e562442152..e6f6a2b4d93 100644 --- a/test/example/relooper-merge4.c +++ b/test/example/relooper-merge4.c @@ -23,7 +23,8 @@ int main() { 0, 0, BinaryenTypeInt32(), - BinaryenConst(module, BinaryenLiteralInt32(4))), + BinaryenConst(module, BinaryenLiteralInt32(4)), + "0"), BinaryenConst(module, BinaryenLiteralInt32(4 * 12)) // jumps of 4 bytes ), BinaryenUnreachable(module), @@ -43,9 +44,11 @@ int main() { 0, 0, BinaryenTypeInt32(), - BinaryenConst(module, BinaryenLiteralInt32(4))), + BinaryenConst(module, BinaryenLiteralInt32(4)), + "0"), BinaryenConst(module, BinaryenLiteralInt32(4))), - BinaryenTypeInt32()); + BinaryenTypeInt32(), + "0"); // optionally, print the return value BinaryenExpressionRef args[] = {BinaryenBinary( @@ -65,7 +68,9 @@ int main() { 0, 0, BinaryenTypeInt32(), - BinaryenConst(module, BinaryenLiteralInt32(4)))))}; + BinaryenConst(module, BinaryenLiteralInt32(4)), + "0"), + "0"))}; BinaryenExpressionRef debugger; if (1) debugger = BinaryenCall(module, "print", args, 1, BinaryenTypeNone()); @@ -87,7 +92,9 @@ int main() { 0, 0, BinaryenTypeInt32(), - BinaryenConst(module, BinaryenLiteralInt32(4)))); + BinaryenConst(module, BinaryenLiteralInt32(4)), + "0"), + "0"); BinaryenExpressionRef checkBodyList[] = {halter, incer, debugger, returner}; BinaryenExpressionRef checkBody = BinaryenBlock(module, @@ -225,7 +232,7 @@ int main() { BinaryenTypeNone()); // memory - BinaryenSetMemory(module, 1, 1, "mem", NULL, NULL, NULL, NULL, 0, 0); + BinaryenSetMemory(module, 1, 1, "mem", NULL, NULL, NULL, NULL, 0, 0, "0"); // optionally, optimize if (0) diff --git a/test/example/relooper-merge5.c b/test/example/relooper-merge5.c index 41a36c10296..0b4633b4f1a 100644 --- a/test/example/relooper-merge5.c +++ b/test/example/relooper-merge5.c @@ -23,7 +23,8 @@ int main() { 0, 0, BinaryenTypeInt32(), - BinaryenConst(module, BinaryenLiteralInt32(4))), + BinaryenConst(module, BinaryenLiteralInt32(4)), + "0"), BinaryenConst(module, BinaryenLiteralInt32(4 * 12)) // jumps of 4 bytes ), BinaryenUnreachable(module), @@ -43,9 +44,11 @@ int main() { 0, 0, BinaryenTypeInt32(), - BinaryenConst(module, BinaryenLiteralInt32(4))), + BinaryenConst(module, BinaryenLiteralInt32(4)), + "0"), BinaryenConst(module, BinaryenLiteralInt32(4))), - BinaryenTypeInt32()); + BinaryenTypeInt32(), + "0"); // optionally, print the return value BinaryenExpressionRef args[] = {BinaryenBinary( @@ -65,7 +68,9 @@ int main() { 0, 0, BinaryenTypeInt32(), - BinaryenConst(module, BinaryenLiteralInt32(4)))))}; + BinaryenConst(module, BinaryenLiteralInt32(4)), + "0"), + "0"))}; BinaryenExpressionRef debugger; if (1) debugger = BinaryenCall(module, "print", args, 1, BinaryenTypeNone()); @@ -87,7 +92,9 @@ int main() { 0, 0, BinaryenTypeInt32(), - BinaryenConst(module, BinaryenLiteralInt32(4)))); + BinaryenConst(module, BinaryenLiteralInt32(4)), + "0"), + "0"); BinaryenExpressionRef checkBodyList[] = {halter, incer, debugger, returner}; BinaryenExpressionRef checkBody = BinaryenBlock(module, @@ -225,7 +232,7 @@ int main() { BinaryenTypeNone()); // memory - BinaryenSetMemory(module, 1, 1, "mem", NULL, NULL, NULL, NULL, 0, 0); + BinaryenSetMemory(module, 1, 1, "mem", NULL, NULL, NULL, NULL, 0, 0, "0"); // optionally, optimize if (0) diff --git a/test/example/relooper-merge6.c b/test/example/relooper-merge6.c index 23e639cb141..1fbcb0bd5b0 100644 --- a/test/example/relooper-merge6.c +++ b/test/example/relooper-merge6.c @@ -23,7 +23,8 @@ int main() { 0, 0, BinaryenTypeInt32(), - BinaryenConst(module, BinaryenLiteralInt32(4))), + BinaryenConst(module, BinaryenLiteralInt32(4)), + "0"), BinaryenConst(module, BinaryenLiteralInt32(4 * 12)) // jumps of 4 bytes ), BinaryenUnreachable(module), @@ -43,9 +44,11 @@ int main() { 0, 0, BinaryenTypeInt32(), - BinaryenConst(module, BinaryenLiteralInt32(4))), + BinaryenConst(module, BinaryenLiteralInt32(4)), + "0"), BinaryenConst(module, BinaryenLiteralInt32(4))), - BinaryenTypeInt32()); + BinaryenTypeInt32(), + "0"); // optionally, print the return value BinaryenExpressionRef args[] = {BinaryenBinary( @@ -65,7 +68,9 @@ int main() { 0, 0, BinaryenTypeInt32(), - BinaryenConst(module, BinaryenLiteralInt32(4)))))}; + BinaryenConst(module, BinaryenLiteralInt32(4)), + "0"), + "0"))}; BinaryenExpressionRef debugger; if (1) debugger = BinaryenCall(module, "print", args, 1, BinaryenTypeNone()); @@ -87,7 +92,9 @@ int main() { 0, 0, BinaryenTypeInt32(), - BinaryenConst(module, BinaryenLiteralInt32(4)))); + BinaryenConst(module, BinaryenLiteralInt32(4)), + "0"), + "0"); BinaryenExpressionRef checkBodyList[] = {halter, incer, debugger, returner}; BinaryenExpressionRef checkBody = BinaryenBlock(module, @@ -228,7 +235,7 @@ int main() { BinaryenTypeNone()); // memory - BinaryenSetMemory(module, 1, 1, "mem", NULL, NULL, NULL, NULL, 0, 0); + BinaryenSetMemory(module, 1, 1, "mem", NULL, NULL, NULL, NULL, 0, 0, "0"); // optionally, optimize if (0) From e37fca2a9773c7cedc17d15d1776f499c2b587b3 Mon Sep 17 00:00:00 2001 From: Ashley Nelson Date: Fri, 15 Jul 2022 01:44:42 +0000 Subject: [PATCH 40/78] test fix --- src/ir/memory-utils.h | 2 +- src/passes/InstrumentMemory.cpp | 15 +++++---------- src/tools/fuzzing/fuzzing.cpp | 2 +- 3 files changed, 7 insertions(+), 12 deletions(-) diff --git a/src/ir/memory-utils.h b/src/ir/memory-utils.h index 413604a7e62..c31aea1041c 100644 --- a/src/ir/memory-utils.h +++ b/src/ir/memory-utils.h @@ -36,7 +36,7 @@ bool flatten(Module& wasm); // Ensures that a memory exists (of minimal size). inline void ensureExists(Module* wasm) { if (wasm->memories.empty()) { - auto memory = Builder::makeMemory("memory"); + auto memory = Builder::makeMemory("0"); memory->initial = memory->max = 1; wasm->addMemory(std::move(memory)); } diff --git a/src/passes/InstrumentMemory.cpp b/src/passes/InstrumentMemory.cpp index ac99c72b239..850968d359e 100644 --- a/src/passes/InstrumentMemory.cpp +++ b/src/passes/InstrumentMemory.cpp @@ -248,24 +248,19 @@ struct InstrumentMemory : public WalkerPass> { } void visitModule(Module* curr) { - for (auto& memory : curr->memories) { - auto indexType = memory->indexType; - auto underbar = std::string("-"); - Name loadName = load_ptr.c_str() + underbar + memory->name.c_str(); - addImport( - curr, loadName, {Type::i32, Type::i32, indexType, indexType}, indexType); - Name storeName = store_ptr.c_str() + underbar + memory->name.c_str(); - addImport( - curr, storeName, {Type::i32, Type::i32, indexType, indexType}, indexType); - } + auto indexType = curr->memories.empty() ? Type::i32 : curr->memories[0]->indexType; // Load. + addImport( + curr, load_ptr, {Type::i32, Type::i32, indexType, indexType}, indexType); addImport(curr, load_val_i32, {Type::i32, Type::i32}, Type::i32); addImport(curr, load_val_i64, {Type::i32, Type::i64}, Type::i64); addImport(curr, load_val_f32, {Type::i32, Type::f32}, Type::f32); addImport(curr, load_val_f64, {Type::i32, Type::f64}, Type::f64); // Store. + addImport( + curr, store_ptr, {Type::i32, Type::i32, indexType, indexType}, indexType); addImport(curr, store_val_i32, {Type::i32, Type::i32}, Type::i32); addImport(curr, store_val_i64, {Type::i32, Type::i64}, Type::i64); addImport(curr, store_val_f32, {Type::i32, Type::f32}, Type::f32); diff --git a/src/tools/fuzzing/fuzzing.cpp b/src/tools/fuzzing/fuzzing.cpp index 65845791b4b..f3bf0c68ae6 100644 --- a/src/tools/fuzzing/fuzzing.cpp +++ b/src/tools/fuzzing/fuzzing.cpp @@ -253,7 +253,7 @@ void TranslateToFuzzReader::setupMemory() { builder.makeExport(hasher->name, hasher->name, ExternalKind::Function)); // Export memory so JS fuzzing can use it if (!wasm.getExportOrNull("memory")) { - wasm.addExport(builder.makeExport("memory", "memory", ExternalKind::Memory)); + wasm.addExport(builder.makeExport("memory", "0", ExternalKind::Memory)); } } From d23f06203cf528ca47615229979915c1ed4ac289 Mon Sep 17 00:00:00 2001 From: Ashley Nelson Date: Mon, 18 Jul 2022 16:22:09 +0000 Subject: [PATCH 41/78] Fixes for tests --- src/passes/StackCheck.cpp | 6 +++--- src/passes/pass.cpp | 2 +- src/tools/wasm-split/instrumenter.cpp | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/passes/StackCheck.cpp b/src/passes/StackCheck.cpp index e272ece6e89..c7332c39a5f 100644 --- a/src/passes/StackCheck.cpp +++ b/src/passes/StackCheck.cpp @@ -145,17 +145,17 @@ struct StackCheck : public Pass { Builder builder(*module); - // TODO (nashley): Remove the hardcoded Type::i32 below // Add the globals. + Type indexType = module->memories.empty() ? Type::i32 : module->memories[0]->indexType; auto stackBase = module->addGlobal(builder.makeGlobal(stackBaseName, stackPointer->type, - builder.makeConstPtr(0, Type::i32), + builder.makeConstPtr(0, indexType), Builder::Mutable)); auto stackLimit = module->addGlobal(builder.makeGlobal(stackLimitName, stackPointer->type, - builder.makeConstPtr(0, Type::i32), + builder.makeConstPtr(0, indexType), Builder::Mutable)); // Instrument all the code. diff --git a/src/passes/pass.cpp b/src/passes/pass.cpp index b05ff800d39..570cd86103c 100644 --- a/src/passes/pass.cpp +++ b/src/passes/pass.cpp @@ -645,7 +645,7 @@ void PassRunner::run() { // for debug logging purposes, run each pass in full before running the // other auto totalTime = std::chrono::duration(0); - WasmValidator::Flags validationFlags = WasmValidator::Globally; + WasmValidator::Flags validationFlags = WasmValidator::Minimal; if (options.validateGlobally) { validationFlags = validationFlags | WasmValidator::Globally; } diff --git a/src/tools/wasm-split/instrumenter.cpp b/src/tools/wasm-split/instrumenter.cpp index 6b4c4a6fcba..ddf963555f6 100644 --- a/src/tools/wasm-split/instrumenter.cpp +++ b/src/tools/wasm-split/instrumenter.cpp @@ -174,7 +174,7 @@ void Instrumenter::addProfileExport() { // Also make sure there is a memory with enough pages to write into size_t pages = (profileSize + Memory::kPageSize - 1) / Memory::kPageSize; if (wasm->memories.empty()) { - wasm->addMemory(Builder::makeMemory("memory")); + wasm->addMemory(Builder::makeMemory("0")); wasm->memories[0]->initial = pages; wasm->memories[0]->max = pages; } else if (wasm->memories[0]->initial < pages) { From 2d18836d8e7fa0acdffd8213d2796b0731ccb73c Mon Sep 17 00:00:00 2001 From: Ashley Nelson Date: Mon, 18 Jul 2022 16:24:44 +0000 Subject: [PATCH 42/78] Removed multi-memory assumed failure asserts. Rearranged memory export to come first since memory is preparsed now from SExpression format. Added memory definition to two lit tests for correctness --- ...-loops_flexible-inline-max-function-size=30.wast | 4 ++-- test/lit/wasm-split/merge-profiles.wast | 1 + test/lit/wasm-split/mismatched-hashes.wast | 1 + test/spec/imports.wast | 13 ------------- test/spec/memory.wast | 3 --- test/spec/memory64.wast | 3 --- test/spec/old_import.wast | 13 ------------- 7 files changed, 4 insertions(+), 34 deletions(-) diff --git a/test/lit/passes/O3_inline-functions-with-loops_flexible-inline-max-function-size=30.wast b/test/lit/passes/O3_inline-functions-with-loops_flexible-inline-max-function-size=30.wast index 6c9a598bb7d..e0045579dd6 100644 --- a/test/lit/passes/O3_inline-functions-with-loops_flexible-inline-max-function-size=30.wast +++ b/test/lit/passes/O3_inline-functions-with-loops_flexible-inline-max-function-size=30.wast @@ -8,6 +8,8 @@ (type $t0 (func (param i32) (result i32))) ;; CHECK: (memory $memory 0) + ;; CHECK: (export "memory" (memory $memory)) + ;; CHECK: (export "fib" (func $fib)) ;; CHECK: (export "looped" (func $looped)) @@ -20,8 +22,6 @@ ;; CHECK: (export "t3" (func $t3)) - ;; CHECK: (export "memory" (memory $memory)) - ;; CHECK: (func $fib (; has Stack IR ;) (param $0 i32) (result i32) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.le_s diff --git a/test/lit/wasm-split/merge-profiles.wast b/test/lit/wasm-split/merge-profiles.wast index fdaf6678e8a..2d09fefaaf0 100644 --- a/test/lit/wasm-split/merge-profiles.wast +++ b/test/lit/wasm-split/merge-profiles.wast @@ -22,6 +22,7 @@ ;; SPLIT-NEXT: Splitting out functions: qux{{$}} (module + (memory 0 0) (export "memory" (memory 0 0)) (export "foo" (func $foo)) (export "bar" (func $bar)) diff --git a/test/lit/wasm-split/mismatched-hashes.wast b/test/lit/wasm-split/mismatched-hashes.wast index fd3ebb8d364..347fb174612 100644 --- a/test/lit/wasm-split/mismatched-hashes.wast +++ b/test/lit/wasm-split/mismatched-hashes.wast @@ -19,5 +19,6 @@ ;; RUN: wasm-split %s --profile=%t.prof -o1 %t.1.wasm -o2 %t.2.wasm (module + (memory 0 0) (export "memory" (memory 0 0)) ) diff --git a/test/spec/imports.wast b/test/spec/imports.wast index 43ffedaee2d..2ef8574e773 100644 --- a/test/spec/imports.wast +++ b/test/spec/imports.wast @@ -489,19 +489,6 @@ (assert_return (invoke "load" (i32.const 8)) (i32.const 0x100000)) (assert_trap (invoke "load" (i32.const 1000000)) "out of bounds memory access") -(assert_invalid - (module (import "" "" (memory 1)) (import "" "" (memory 1))) - "multiple memories" -) -(assert_invalid - (module (import "" "" (memory 1)) (memory 0)) - "multiple memories" -) -(assert_invalid - (module (memory 0) (memory 0)) - "multiple memories" -) - (module (import "test" "memory-2-inf" (memory 2))) (module (import "test" "memory-2-inf" (memory 1))) (module (import "test" "memory-2-inf" (memory 0))) diff --git a/test/spec/memory.wast b/test/spec/memory.wast index 3c426450a09..c4e932b0ecd 100644 --- a/test/spec/memory.wast +++ b/test/spec/memory.wast @@ -5,9 +5,6 @@ (module (memory 1 256)) (module (memory 0 65536)) -(assert_invalid (module (memory 0) (memory 0)) "multiple memories") -(assert_invalid (module (memory (import "spectest" "memory") 0) (memory 0)) "multiple memories") - (module (memory (data)) (func (export "memsize") (result i32) (memory.size))) (assert_return (invoke "memsize") (i32.const 0)) (module (memory (data "")) (func (export "memsize") (result i32) (memory.size))) diff --git a/test/spec/memory64.wast b/test/spec/memory64.wast index da4ba591e01..683bfe211b5 100644 --- a/test/spec/memory64.wast +++ b/test/spec/memory64.wast @@ -5,9 +5,6 @@ (module (memory i64 1 256)) (module (memory i64 0 65536)) -(assert_invalid (module (memory i64 0) (memory i64 0)) "multiple memories") -(assert_invalid (module (memory (import "spectest" "memory") i64 0) (memory i64 0)) "multiple memories") - (module (memory i64 (data)) (func (export "memsize") (result i64) (memory.size))) (assert_return (invoke "memsize") (i64.const 0)) (module (memory i64 (data "")) (func (export "memsize") (result i64) (memory.size))) diff --git a/test/spec/old_import.wast b/test/spec/old_import.wast index a26c16e489f..eba63338829 100644 --- a/test/spec/old_import.wast +++ b/test/spec/old_import.wast @@ -179,19 +179,6 @@ (assert_return (invoke "load" (i32.const 8)) (i32.const 0x100000)) (assert_trap (invoke "load" (i32.const 1000000)) "out of bounds memory access") -(assert_invalid - (module (import "" "" (memory 1)) (import "" "" (memory 1))) - "multiple memories" -) -(assert_invalid - (module (import "" "" (memory 1)) (memory 0)) - "multiple memories" -) -(assert_invalid - (module (memory 0) (memory 0)) - "multiple memories" -) - (assert_unlinkable (module (import "spectest" "unknown" (memory 1))) "unknown import" From a006a94ca924ae2e4c4b55f6290e2c1d8f2e2446 Mon Sep 17 00:00:00 2001 From: Ashley Nelson Date: Mon, 18 Jul 2022 16:25:35 +0000 Subject: [PATCH 43/78] Ran clang-format --- src/abi/stack.h | 3 +- src/binaryen-c.cpp | 61 +-- src/binaryen-c.h | 43 +- src/ir/import-utils.h | 1 - src/ir/module-splitting.cpp | 3 +- src/ir/module-utils.h | 3 +- src/passes/Asyncify.cpp | 9 +- src/passes/InstrumentMemory.cpp | 3 +- src/passes/Memory64Lowering.cpp | 20 +- src/passes/MemoryPacking.cpp | 11 +- src/passes/Metrics.cpp | 2 +- src/passes/OptimizeInstructions.cpp | 37 +- src/passes/RemoveUnusedModuleElements.cpp | 4 +- src/passes/SafeHeap.cpp | 67 ++- src/passes/StackCheck.cpp | 3 +- src/shell-interface.h | 19 +- src/tools/fuzzing/fuzzing.cpp | 123 +++-- src/tools/wasm-ctor-eval.cpp | 38 +- src/tools/wasm-shell.cpp | 7 +- src/tools/wasm-split/instrumenter.cpp | 17 +- src/wasm-builder.h | 39 +- src/wasm-interpreter.h | 172 ++++--- src/wasm-s-parser.h | 4 +- src/wasm/wasm-binary.cpp | 8 +- src/wasm/wasm-s-parser.cpp | 81 ++- src/wasm/wasm-validator.cpp | 8 +- src/wasm/wasm.cpp | 41 +- src/wasm2js.h | 13 +- test/example/c-api-kitchen-sink.c | 12 +- .../example/c-api-relooper-unreachable-if.cpp | 174 ++++--- test/example/c-api-unused-mem.cpp | 24 +- test/example/relooper-fuzz.c | 31 +- test/example/relooper-fuzz1.c | 31 +- test/example/relooper-fuzz2.c | 460 +++++++++--------- test/example/relooper-merge1.c | 31 +- test/example/relooper-merge2.c | 31 +- test/example/relooper-merge3.c | 31 +- test/example/relooper-merge4.c | 31 +- test/example/relooper-merge5.c | 31 +- test/example/relooper-merge6.c | 31 +- 40 files changed, 1030 insertions(+), 728 deletions(-) diff --git a/src/abi/stack.h b/src/abi/stack.h index 4d34b93df58..272ba1a61a3 100644 --- a/src/abi/stack.h +++ b/src/abi/stack.h @@ -51,7 +51,8 @@ getStackSpace(Index local, Function* func, Index size, Module& wasm) { // align the size size = stackAlign(size); // TODO(nashley): identify the proper memory - auto pointerType = !wasm.memories.empty() ? wasm.memories[0]->indexType : Type::i32; + auto pointerType = + !wasm.memories.empty() ? wasm.memories[0]->indexType : Type::i32; // TODO: find existing stack usage, and add on top of that - carefully Builder builder(wasm); auto* block = builder.makeBlock(); diff --git a/src/binaryen-c.cpp b/src/binaryen-c.cpp index 17318e36dd2..6f9c2d5cc89 100644 --- a/src/binaryen-c.cpp +++ b/src/binaryen-c.cpp @@ -1141,17 +1141,17 @@ BinaryenExpressionRef BinaryenReturn(BinaryenModuleRef module, auto* ret = Builder(*(Module*)module).makeReturn((Expression*)value); return static_cast(ret); } -BinaryenExpressionRef BinaryenMemorySize(BinaryenModuleRef module, - const char* name, - bool is64) { +BinaryenExpressionRef +BinaryenMemorySize(BinaryenModuleRef module, const char* name, bool is64) { auto* ret = Builder(*(Module*)module).makeMemorySize(name, is64); return static_cast(ret); } BinaryenExpressionRef BinaryenMemoryGrow(BinaryenModuleRef module, BinaryenExpressionRef delta, - const char* name, - bool is64) { - auto* ret = Builder(*(Module*)module).makeMemoryGrow((Expression*)delta, name, is64); + const char* name, + bool is64) { + auto* ret = + Builder(*(Module*)module).makeMemoryGrow((Expression*)delta, name, is64); return static_cast(ret); } BinaryenExpressionRef BinaryenNop(BinaryenModuleRef module) { @@ -1294,10 +1294,12 @@ BinaryenExpressionRef BinaryenSIMDLoad(BinaryenModuleRef module, uint32_t align, BinaryenExpressionRef ptr, const char* name) { - return static_cast( - Builder(*(Module*)module) - .makeSIMDLoad( - SIMDLoadOp(op), Address(offset), Address(align), (Expression*)ptr, name)); + return static_cast(Builder(*(Module*)module) + .makeSIMDLoad(SIMDLoadOp(op), + Address(offset), + Address(align), + (Expression*)ptr, + name)); } BinaryenExpressionRef BinaryenSIMDLoadStoreLane(BinaryenModuleRef module, BinaryenOp op, @@ -1323,10 +1325,12 @@ BinaryenExpressionRef BinaryenMemoryInit(BinaryenModuleRef module, BinaryenExpressionRef offset, BinaryenExpressionRef size, const char* name) { - return static_cast( - Builder(*(Module*)module) - .makeMemoryInit( - segment, (Expression*)dest, (Expression*)offset, (Expression*)size, name)); + return static_cast(Builder(*(Module*)module) + .makeMemoryInit(segment, + (Expression*)dest, + (Expression*)offset, + (Expression*)size, + name)); } BinaryenExpressionRef BinaryenDataDrop(BinaryenModuleRef module, @@ -1340,11 +1344,10 @@ BinaryenExpressionRef BinaryenMemoryCopy(BinaryenModuleRef module, BinaryenExpressionRef source, BinaryenExpressionRef size, const char* name) { - return static_cast(Builder(*(Module*)module) - .makeMemoryCopy((Expression*)dest, - (Expression*)source, - (Expression*)size, - name)); + return static_cast( + Builder(*(Module*)module) + .makeMemoryCopy( + (Expression*)dest, (Expression*)source, (Expression*)size, name)); } BinaryenExpressionRef BinaryenMemoryFill(BinaryenModuleRef module, @@ -1352,11 +1355,10 @@ BinaryenExpressionRef BinaryenMemoryFill(BinaryenModuleRef module, BinaryenExpressionRef value, BinaryenExpressionRef size, const char* name) { - return static_cast(Builder(*(Module*)module) - .makeMemoryFill((Expression*)dest, - (Expression*)value, - (Expression*)size, - name)); + return static_cast( + Builder(*(Module*)module) + .makeMemoryFill( + (Expression*)dest, (Expression*)value, (Expression*)size, name)); } BinaryenExpressionRef BinaryenTupleMake(BinaryenModuleRef module, @@ -3681,7 +3683,7 @@ void BinaryenAddMemoryImport(BinaryenModuleRef module, const char* externalModuleName, const char* externalBaseName, uint8_t shared) { - auto memory = Builder::makeMemory(internalName); + auto memory = Builder::makeMemory(internalName); memory->module = externalModuleName; memory->base = externalBaseName; memory->shared = shared; @@ -3977,7 +3979,8 @@ uint32_t BinaryenGetMemorySegmentByteOffset(BinaryenModuleRef module, bool BinaryenHasMemory(BinaryenModuleRef module) { return !((Module*)module)->memories.empty(); } -BinaryenIndex BinaryenMemoryGetInitial(BinaryenModuleRef module, const char* name) { +BinaryenIndex BinaryenMemoryGetInitial(BinaryenModuleRef module, + const char* name) { auto* memory = ((Module*)module)->getMemoryOrNull(name); if (memory == nullptr) { Fatal() << "invalid memory '" << name << "'."; @@ -3998,7 +4001,8 @@ BinaryenIndex BinaryenMemoryGetMax(BinaryenModuleRef module, const char* name) { } return memory->max; } -const char* BinaryenMemoryImportGetModule(BinaryenModuleRef module, const char* name) { +const char* BinaryenMemoryImportGetModule(BinaryenModuleRef module, + const char* name) { auto* memory = ((Module*)module)->getMemoryOrNull(name); if (memory == nullptr) { Fatal() << "invalid memory '" << name << "'."; @@ -4009,7 +4013,8 @@ const char* BinaryenMemoryImportGetModule(BinaryenModuleRef module, const char* return ""; } } -const char* BinaryenMemoryImportGetBase(BinaryenModuleRef module, const char* name) { +const char* BinaryenMemoryImportGetBase(BinaryenModuleRef module, + const char* name) { auto* memory = ((Module*)module)->getMemoryOrNull(name); if (memory == nullptr) { Fatal() << "invalid memory '" << name << "'."; diff --git a/src/binaryen-c.h b/src/binaryen-c.h index 9ac9104bb74..479e9618f31 100644 --- a/src/binaryen-c.h +++ b/src/binaryen-c.h @@ -778,19 +778,23 @@ BINARYEN_API BinaryenExpressionRef BinaryenDrop(BinaryenModuleRef module, // Return: value can be NULL BINARYEN_API BinaryenExpressionRef BinaryenReturn(BinaryenModuleRef module, BinaryenExpressionRef value); -BINARYEN_API BinaryenExpressionRef BinaryenMemorySize(BinaryenModuleRef module, const char* name, bool is64); -BINARYEN_API BinaryenExpressionRef -BinaryenMemoryGrow(BinaryenModuleRef module, BinaryenExpressionRef delta, const char* name, bool is64); +BINARYEN_API BinaryenExpressionRef BinaryenMemorySize(BinaryenModuleRef module, + const char* name, + bool is64); +BINARYEN_API BinaryenExpressionRef +BinaryenMemoryGrow(BinaryenModuleRef module, + BinaryenExpressionRef delta, + const char* name, + bool is64); BINARYEN_API BinaryenExpressionRef BinaryenNop(BinaryenModuleRef module); BINARYEN_API BinaryenExpressionRef BinaryenUnreachable(BinaryenModuleRef module); -BINARYEN_API BinaryenExpressionRef -BinaryenAtomicLoad(BinaryenModuleRef module, - uint32_t bytes, - uint32_t offset, - BinaryenType type, - BinaryenExpressionRef ptr, - const char* name); +BINARYEN_API BinaryenExpressionRef BinaryenAtomicLoad(BinaryenModuleRef module, + uint32_t bytes, + uint32_t offset, + BinaryenType type, + BinaryenExpressionRef ptr, + const char* name); BINARYEN_API BinaryenExpressionRef BinaryenAtomicStore(BinaryenModuleRef module, uint32_t bytes, @@ -2340,13 +2344,18 @@ BINARYEN_API void BinaryenSetMemory(BinaryenModuleRef module, const char* name); BINARYEN_API bool BinaryenHasMemory(BinaryenModuleRef module); -BINARYEN_API BinaryenIndex BinaryenMemoryGetInitial(BinaryenModuleRef module, const char* name); -BINARYEN_API bool BinaryenMemoryHasMax(BinaryenModuleRef module, const char* name); -BINARYEN_API BinaryenIndex BinaryenMemoryGetMax(BinaryenModuleRef module, const char* name); -BINARYEN_API const char* -BinaryenMemoryImportGetModule(BinaryenModuleRef module, const char* name); -BINARYEN_API const char* BinaryenMemoryImportGetBase(BinaryenModuleRef module, const char* name); -BINARYEN_API bool BinaryenMemoryIsShared(BinaryenModuleRef module, const char* name); +BINARYEN_API BinaryenIndex BinaryenMemoryGetInitial(BinaryenModuleRef module, + const char* name); +BINARYEN_API bool BinaryenMemoryHasMax(BinaryenModuleRef module, + const char* name); +BINARYEN_API BinaryenIndex BinaryenMemoryGetMax(BinaryenModuleRef module, + const char* name); +BINARYEN_API const char* BinaryenMemoryImportGetModule(BinaryenModuleRef module, + const char* name); +BINARYEN_API const char* BinaryenMemoryImportGetBase(BinaryenModuleRef module, + const char* name); +BINARYEN_API bool BinaryenMemoryIsShared(BinaryenModuleRef module, + const char* name); // Memory segments. Query utilities. diff --git a/src/ir/import-utils.h b/src/ir/import-utils.h index f3d159feb67..d0b5a8042a6 100644 --- a/src/ir/import-utils.h +++ b/src/ir/import-utils.h @@ -98,7 +98,6 @@ struct ImportInfo { Index getNumImportedTags() { return importedTags.size(); } - Index getNumImports() { return getNumImportedGlobals() + getNumImportedFunctions() + getNumImportedTags() + getNumImportedMemories() + diff --git a/src/ir/module-splitting.cpp b/src/ir/module-splitting.cpp index ec91754abb4..8294e157516 100644 --- a/src/ir/module-splitting.cpp +++ b/src/ir/module-splitting.cpp @@ -614,8 +614,7 @@ void ModuleSplitter::shareImportableItems() { for (auto& memory : primary.memories) { auto secondaryMemory = ModuleUtils::copyMemory(memory.get(), secondary); - makeImportExport( - *memory, *secondaryMemory, "memory", ExternalKind::Memory); + makeImportExport(*memory, *secondaryMemory, "memory", ExternalKind::Memory); } for (auto& table : primary.tables) { diff --git a/src/ir/module-utils.h b/src/ir/module-utils.h index b6156e41b1f..81f832b4040 100644 --- a/src/ir/module-utils.h +++ b/src/ir/module-utils.h @@ -236,7 +236,8 @@ template inline void iterDefinedMemories(Module& wasm, T visitor) { } } -template inline void iterMemorySegments(Module& wasm, Name memory, T visitor) { +template +inline void iterMemorySegments(Module& wasm, Name memory, T visitor) { for (auto& segment : wasm.dataSegments) { if (!segment->isPassive && segment->memory == memory) { visitor(segment.get()); diff --git a/src/passes/Asyncify.cpp b/src/passes/Asyncify.cpp index 653b6d4a918..b076c77d428 100644 --- a/src/passes/Asyncify.cpp +++ b/src/passes/Asyncify.cpp @@ -1226,8 +1226,13 @@ struct AsyncifyLocals : public WalkerPass> { builder->makeIncStackPos(-4), builder->makeLocalSet( rewindIndex, - builder->makeLoad( - 4, false, 0, 4, builder->makeGetStackPos(), Type::i32, getModule()->memories[0]->name)))); + builder->makeLoad(4, + false, + 0, + 4, + builder->makeGetStackPos(), + Type::i32, + getModule()->memories[0]->name)))); } else if (curr->target == ASYNCIFY_CHECK_CALL_INDEX) { replaceCurrent(builder->makeBinary( EqInt32, diff --git a/src/passes/InstrumentMemory.cpp b/src/passes/InstrumentMemory.cpp index 850968d359e..486bc7c1fb6 100644 --- a/src/passes/InstrumentMemory.cpp +++ b/src/passes/InstrumentMemory.cpp @@ -248,7 +248,8 @@ struct InstrumentMemory : public WalkerPass> { } void visitModule(Module* curr) { - auto indexType = curr->memories.empty() ? Type::i32 : curr->memories[0]->indexType; + auto indexType = + curr->memories.empty() ? Type::i32 : curr->memories[0]->indexType; // Load. addImport( diff --git a/src/passes/Memory64Lowering.cpp b/src/passes/Memory64Lowering.cpp index 4213c105490..874bf8dfd79 100644 --- a/src/passes/Memory64Lowering.cpp +++ b/src/passes/Memory64Lowering.cpp @@ -87,7 +87,9 @@ struct Memory64Lowering : public WalkerPass> { } } - void visitMemoryInit(MemoryInit* curr) { wrapAddress64(curr->dest, curr->memory); } + void visitMemoryInit(MemoryInit* curr) { + wrapAddress64(curr->dest, curr->memory); + } void visitMemoryFill(MemoryFill* curr) { wrapAddress64(curr->dest, curr->memory); @@ -100,13 +102,21 @@ struct Memory64Lowering : public WalkerPass> { wrapAddress64(curr->size, curr->memory); } - void visitAtomicRMW(AtomicRMW* curr) { wrapAddress64(curr->ptr, curr->memory); } + void visitAtomicRMW(AtomicRMW* curr) { + wrapAddress64(curr->ptr, curr->memory); + } - void visitAtomicCmpxchg(AtomicCmpxchg* curr) { wrapAddress64(curr->ptr, curr->memory); } + void visitAtomicCmpxchg(AtomicCmpxchg* curr) { + wrapAddress64(curr->ptr, curr->memory); + } - void visitAtomicWait(AtomicWait* curr) { wrapAddress64(curr->ptr, curr->memory); } + void visitAtomicWait(AtomicWait* curr) { + wrapAddress64(curr->ptr, curr->memory); + } - void visitAtomicNotify(AtomicNotify* curr) { wrapAddress64(curr->ptr, curr->memory); } + void visitAtomicNotify(AtomicNotify* curr) { + wrapAddress64(curr->ptr, curr->memory); + } void visitMemory(Memory* memory) { // This is visited last. diff --git a/src/passes/MemoryPacking.cpp b/src/passes/MemoryPacking.cpp index f48cb5e13a8..8fbbd7f5268 100644 --- a/src/passes/MemoryPacking.cpp +++ b/src/passes/MemoryPacking.cpp @@ -101,7 +101,8 @@ struct MemoryPacking : public Pass { const PassOptions& passOptions); void optimizeBulkMemoryOps(PassRunner* runner, Module* module); void getSegmentReferrers(Module* module, ReferrersMap& referrers); - void dropUnusedSegments(Module* module, std::vector>& segments, + void dropUnusedSegments(Module* module, + std::vector>& segments, ReferrersMap& referrers); bool canSplit(const std::unique_ptr& segment, const Referrers& referrers); @@ -474,7 +475,7 @@ void MemoryPacking::getSegmentReferrers(Module* module, } void MemoryPacking::dropUnusedSegments( - Module *module, + Module* module, std::vector>& segments, ReferrersMap& referrers) { std::vector> usedSegments; @@ -716,11 +717,13 @@ void MemoryPacking::createReplacements(Module* module, // Create new memory.init or memory.fill if (range.isZero) { Expression* value = builder.makeConst(Literal::makeZero(Type::i32)); - appendResult(builder.makeMemoryFill(dest, value, size, module->memories[0]->name)); + appendResult( + builder.makeMemoryFill(dest, value, size, module->memories[0]->name)); } else { size_t offsetBytes = std::max(start, range.start) - range.start; Expression* offset = builder.makeConst(int32_t(offsetBytes)); - appendResult(builder.makeMemoryInit(initIndex, dest, offset, size, module->memories[0]->name)); + appendResult(builder.makeMemoryInit( + initIndex, dest, offset, size, module->memories[0]->name)); initIndex++; } } diff --git a/src/passes/Metrics.cpp b/src/passes/Metrics.cpp index d2dd6691313..e98ed51c097 100644 --- a/src/passes/Metrics.cpp +++ b/src/passes/Metrics.cpp @@ -61,7 +61,7 @@ struct Metrics counts["[tags]"] = imports.getNumDefinedTags(); counts["[exports]"] = module->exports.size(); counts["[tables]"] = imports.getNumDefinedTables(); -// counts["[memories]"] = imports.getNumDefinedMemories(); + // counts["[memories]"] = imports.getNumDefinedMemories(); // add memory for (auto& memory : module->memories) { diff --git a/src/passes/OptimizeInstructions.cpp b/src/passes/OptimizeInstructions.cpp index 3ddf13064f8..ee7dd19f542 100644 --- a/src/passes/OptimizeInstructions.cpp +++ b/src/passes/OptimizeInstructions.cpp @@ -3803,7 +3803,8 @@ struct OptimizeInstructions 0, // offset 1, // align memCopy->dest, - builder.makeLoad(bytes, false, 0, 1, memCopy->source, Type::i32, memCopy->memory), + builder.makeLoad( + bytes, false, 0, 1, memCopy->source, Type::i32, memCopy->memory), Type::i32, memCopy->memory); } @@ -3813,7 +3814,8 @@ struct OptimizeInstructions 0, // offset 1, // align memCopy->dest, - builder.makeLoad(bytes, false, 0, 1, memCopy->source, Type::i64, memCopy->memory), + builder.makeLoad( + bytes, false, 0, 1, memCopy->source, Type::i64, memCopy->memory), Type::i64, memCopy->memory); } @@ -3822,15 +3824,19 @@ struct OptimizeInstructions // This adds an extra 2 bytes so apply it only for // minimal shrink level if (getModule()->features.hasSIMD()) { - return builder.makeStore( - bytes, // bytes - 0, // offset - 1, // align - memCopy->dest, - builder.makeLoad( - bytes, false, 0, 1, memCopy->source, Type::v128, memCopy->memory), - Type::v128, - memCopy->memory); + return builder.makeStore(bytes, // bytes + 0, // offset + 1, // align + memCopy->dest, + builder.makeLoad(bytes, + false, + 0, + 1, + memCopy->source, + Type::v128, + memCopy->memory), + Type::v128, + memCopy->memory); } } break; @@ -3963,8 +3969,13 @@ struct OptimizeInstructions } // memory.fill(d, v, 1) ==> store8(d, v) if (bytes == 1LL) { - return builder.makeStore( - 1, offset, align, memFill->dest, memFill->value, Type::i32, memFill->memory); + return builder.makeStore(1, + offset, + align, + memFill->dest, + memFill->value, + Type::i32, + memFill->memory); } return nullptr; diff --git a/src/passes/RemoveUnusedModuleElements.cpp b/src/passes/RemoveUnusedModuleElements.cpp index 47429e404fa..bb1fec37d72 100644 --- a/src/passes/RemoveUnusedModuleElements.cpp +++ b/src/passes/RemoveUnusedModuleElements.cpp @@ -367,9 +367,7 @@ struct RemoveUnusedModuleElements : public Pass { if (!importsMemory) { // The memory is unobservable to the outside, we can remove the // contents. - module->removeDataSegments([&](DataSegment* curr) { - return true; - }); + module->removeDataSegments([&](DataSegment* curr) { return true; }); } if (module->dataSegments.empty() && !module->memories.empty()) { module->removeMemory(module->memories[0]->name); diff --git a/src/passes/SafeHeap.cpp b/src/passes/SafeHeap.cpp index 37d8615450d..7f6115d0f0c 100644 --- a/src/passes/SafeHeap.cpp +++ b/src/passes/SafeHeap.cpp @@ -83,10 +83,10 @@ struct AccessInstrumenter : public WalkerPass> { } Builder builder(*getModule()); auto mem = getModule()->getMemory(curr->memory); - replaceCurrent( - builder.makeCall(getLoadName(curr), - {curr->ptr, builder.makeConstPtr(curr->offset.addr, mem->indexType)}, - curr->type)); + replaceCurrent(builder.makeCall( + getLoadName(curr), + {curr->ptr, builder.makeConstPtr(curr->offset.addr, mem->indexType)}, + curr->type)); } void visitStore(Store* curr) { @@ -96,10 +96,12 @@ struct AccessInstrumenter : public WalkerPass> { } Builder builder(*getModule()); auto mem = getModule()->getMemory(curr->memory); - replaceCurrent(builder.makeCall( - getStoreName(curr), - {curr->ptr, builder.makeConstPtr(curr->offset.addr, mem->indexType), curr->value}, - Type::none)); + replaceCurrent( + builder.makeCall(getStoreName(curr), + {curr->ptr, + builder.makeConstPtr(curr->offset.addr, mem->indexType), + curr->value}, + Type::none)); } }; @@ -225,8 +227,9 @@ struct SafeHeap : public Pass { } for (auto isAtomic : {true, false}) { load.isAtomic = isAtomic; - if (isAtomic && !isPossibleAtomicOperation( - align, bytes, module->memories[0]->shared, type)) { + if (isAtomic && + !isPossibleAtomicOperation( + align, bytes, module->memories[0]->shared, type)) { continue; } addLoadFunc(load, module); @@ -260,8 +263,9 @@ struct SafeHeap : public Pass { } for (auto isAtomic : {true, false}) { store.isAtomic = isAtomic; - if (isAtomic && !isPossibleAtomicOperation( - align, bytes, module->memories[0]->shared, valueType)) { + if (isAtomic && + !isPossibleAtomicOperation( + align, bytes, module->memories[0]->shared, valueType)) { continue; } addStoreFunc(store, module); @@ -290,8 +294,14 @@ struct SafeHeap : public Pass { builder.makeLocalGet(0, indexType), builder.makeLocalGet(1, indexType)))); // check for reading past valid memory: if pointer + offset + bytes - block->list.push_back( - makeBoundsCheck(style.type, builder, 2, style.bytes, module, mem->indexType, mem->is64(), mem->name)); + block->list.push_back(makeBoundsCheck(style.type, + builder, + 2, + style.bytes, + module, + mem->indexType, + mem->is64(), + mem->name)); // check proper alignment if (style.align > 1) { block->list.push_back(makeAlignCheck(style.align, builder, 2, module)); @@ -333,8 +343,14 @@ struct SafeHeap : public Pass { builder.makeLocalGet(0, indexType), builder.makeLocalGet(1, indexType)))); // check for reading past valid memory: if pointer + offset + bytes - block->list.push_back( - makeBoundsCheck(style.valueType, builder, 3, style.bytes, module, indexType, is64, mem->name)); + block->list.push_back(makeBoundsCheck(style.valueType, + builder, + 3, + style.bytes, + module, + indexType, + is64, + mem->name)); // check proper alignment if (style.align > 1) { block->list.push_back(makeAlignCheck(style.align, builder, 3, module)); @@ -364,11 +380,17 @@ struct SafeHeap : public Pass { builder.makeCall(alignfault, {}, Type::none)); } - Expression* makeBoundsCheck( - Type type, Builder& builder, Index local, Index bytes, Module* module, Type indexType, bool is64, Name memory) { - auto upperOp = is64 - ? options.lowMemoryUnused ? LtUInt64 : EqInt64 - : options.lowMemoryUnused ? LtUInt32 : EqInt32; + Expression* makeBoundsCheck(Type type, + Builder& builder, + Index local, + Index bytes, + Module* module, + Type indexType, + bool is64, + Name memory) { + auto upperOp = is64 ? options.lowMemoryUnused ? LtUInt64 : EqInt64 + : options.lowMemoryUnused ? LtUInt32 + : EqInt32; auto upperBound = options.lowMemoryUnused ? PassOptions::LowMemoryBound : 0; Expression* brkLocation; if (sbrk.is()) { @@ -382,7 +404,8 @@ struct SafeHeap : public Pass { sbrkPtr = builder.makeCall(getSbrkPtr, {}, indexType); } auto size = is64 ? 8 : 4; - brkLocation = builder.makeLoad(size, false, 0, size, sbrkPtr, indexType, memory); + brkLocation = + builder.makeLoad(size, false, 0, size, sbrkPtr, indexType, memory); } auto gtuOp = is64 ? GtUInt64 : GtUInt32; auto addOp = is64 ? AddInt64 : AddInt32; diff --git a/src/passes/StackCheck.cpp b/src/passes/StackCheck.cpp index c7332c39a5f..fd7ed6c0fb9 100644 --- a/src/passes/StackCheck.cpp +++ b/src/passes/StackCheck.cpp @@ -146,7 +146,8 @@ struct StackCheck : public Pass { Builder builder(*module); // Add the globals. - Type indexType = module->memories.empty() ? Type::i32 : module->memories[0]->indexType; + Type indexType = + module->memories.empty() ? Type::i32 : module->memories[0]->indexType; auto stackBase = module->addGlobal(builder.makeGlobal(stackBaseName, stackPointer->type, diff --git a/src/shell-interface.h b/src/shell-interface.h index 85ddb27f313..9e4ee1e565e 100644 --- a/src/shell-interface.h +++ b/src/shell-interface.h @@ -98,8 +98,7 @@ struct ShellExternalInterface : ModuleRunner::ExternalInterface { std::map> linkedInstances; ShellExternalInterface( - std::map> linkedInstances_ = {}) - { + std::map> linkedInstances_ = {}) { linkedInstances.swap(linkedInstances_); } virtual ~ShellExternalInterface() = default; @@ -114,11 +113,10 @@ struct ShellExternalInterface : ModuleRunner::ExternalInterface { } void init(Module& wasm, ModuleRunner& instance) override { - ModuleUtils::iterDefinedMemories( - wasm, [&](wasm::Memory* memory) { - auto shellMemory = Memory(); - shellMemory.resize(memory->initial * wasm::Memory::kPageSize); - memories[memory->name] = shellMemory; + ModuleUtils::iterDefinedMemories(wasm, [&](wasm::Memory* memory) { + auto shellMemory = Memory(); + shellMemory.resize(memory->initial * wasm::Memory::kPageSize); + memories[memory->name] = shellMemory; }); ModuleUtils::iterDefinedTables( wasm, [&](Table* table) { tables[table->name].resize(table->initial); }); @@ -303,7 +301,9 @@ struct ShellExternalInterface : ModuleRunner::ExternalInterface { auto& memory = it->second; memory.set(addr, value); } - void store128(Address addr, const std::array& value, Name memoryName) override { + void store128(Address addr, + const std::array& value, + Name memoryName) override { auto it = memories.find(memoryName); if (it == memories.end()) { trap("store128 on non-existing memory"); @@ -339,7 +339,8 @@ struct ShellExternalInterface : ModuleRunner::ExternalInterface { return table[index]; } - bool growMemory(Name memoryName, Address /*oldSize*/, Address newSize) override { + bool + growMemory(Name memoryName, Address /*oldSize*/, Address newSize) override { // Apply a reasonable limit on memory size, 1GB, to avoid DOS on the // interpreter. if (newSize > 1024 * 1024 * 1024) { diff --git a/src/tools/fuzzing/fuzzing.cpp b/src/tools/fuzzing/fuzzing.cpp index f3bf0c68ae6..899383de43d 100644 --- a/src/tools/fuzzing/fuzzing.cpp +++ b/src/tools/fuzzing/fuzzing.cpp @@ -243,7 +243,13 @@ void TranslateToFuzzReader::setupMemory() { builder.makeLocalGet(0, Type::i32), builder.makeConst(uint32_t(5))), builder.makeLocalGet(0, Type::i32)), - builder.makeLoad(1, false, i, 1, builder.makeConst(zero), Type::i32, wasm.memories[0]->name)))); + builder.makeLoad(1, + false, + i, + 1, + builder.makeConst(zero), + Type::i32, + wasm.memories[0]->name)))); } contents.push_back(builder.makeLocalGet(0, Type::i32)); auto* body = builder.makeBlock(contents); @@ -360,7 +366,8 @@ void TranslateToFuzzReader::finalizeMemory() { wasm.memories[0]->initial, Address((maxOffset + Memory::kPageSize - 1) / Memory::kPageSize)); } - wasm.memories[0]->initial = std::max(wasm.memories[0]->initial, USABLE_MEMORY); + wasm.memories[0]->initial = + std::max(wasm.memories[0]->initial, USABLE_MEMORY); // Avoid an unlimited memory size, which would make fuzzing very difficult // as different VMs will run out of system memory in different ways. if (wasm.memories[0]->max == Memory::kUnlimitedSize) { @@ -370,8 +377,8 @@ void TranslateToFuzzReader::finalizeMemory() { // To allow growth to work (which a testcase may assume), try to make the // maximum larger than the initial. // TODO: scan the wasm for grow instructions? - wasm.memories[0]->max = - std::min(Address(wasm.memories[0]->initial + 1), Address(Memory::kMaxSize32)); + wasm.memories[0]->max = std::min(Address(wasm.memories[0]->initial + 1), + Address(Memory::kMaxSize32)); } // Avoid an imported memory (which the fuzz harness would need to handle). wasm.memories[0]->module = wasm.memories[0]->base = Name(); @@ -1429,11 +1436,19 @@ Expression* TranslateToFuzzReader::makeNonAtomicLoad(Type type) { bool signed_ = get() & 1; switch (upTo(3)) { case 0: - return builder.makeLoad(1, signed_, offset, 1, ptr, type, wasm.memories[0]->name); + return builder.makeLoad( + 1, signed_, offset, 1, ptr, type, wasm.memories[0]->name); case 1: - return builder.makeLoad(2, signed_, offset, pick(1, 2), ptr, type, wasm.memories[0]->name); + return builder.makeLoad( + 2, signed_, offset, pick(1, 2), ptr, type, wasm.memories[0]->name); case 2: - return builder.makeLoad(4, signed_, offset, pick(1, 2, 4), ptr, type, wasm.memories[0]->name); + return builder.makeLoad(4, + signed_, + offset, + pick(1, 2, 4), + ptr, + type, + wasm.memories[0]->name); } WASM_UNREACHABLE("unexpected value"); } @@ -1441,29 +1456,49 @@ Expression* TranslateToFuzzReader::makeNonAtomicLoad(Type type) { bool signed_ = get() & 1; switch (upTo(4)) { case 0: - return builder.makeLoad(1, signed_, offset, 1, ptr, type, wasm.memories[0]->name); + return builder.makeLoad( + 1, signed_, offset, 1, ptr, type, wasm.memories[0]->name); case 1: - return builder.makeLoad(2, signed_, offset, pick(1, 2), ptr, type, wasm.memories[0]->name); + return builder.makeLoad( + 2, signed_, offset, pick(1, 2), ptr, type, wasm.memories[0]->name); case 2: - return builder.makeLoad(4, signed_, offset, pick(1, 2, 4), ptr, type, wasm.memories[0]->name); + return builder.makeLoad(4, + signed_, + offset, + pick(1, 2, 4), + ptr, + type, + wasm.memories[0]->name); case 3: - return builder.makeLoad( - 8, signed_, offset, pick(1, 2, 4, 8), ptr, type, wasm.memories[0]->name); + return builder.makeLoad(8, + signed_, + offset, + pick(1, 2, 4, 8), + ptr, + type, + wasm.memories[0]->name); } WASM_UNREACHABLE("unexpected value"); } case Type::f32: { - return builder.makeLoad(4, false, offset, pick(1, 2, 4), ptr, type, wasm.memories[0]->name); + return builder.makeLoad( + 4, false, offset, pick(1, 2, 4), ptr, type, wasm.memories[0]->name); } case Type::f64: { - return builder.makeLoad(8, false, offset, pick(1, 2, 4, 8), ptr, type, wasm.memories[0]->name); + return builder.makeLoad( + 8, false, offset, pick(1, 2, 4, 8), ptr, type, wasm.memories[0]->name); } case Type::v128: { if (!wasm.features.hasSIMD()) { return makeTrivial(type); } - return builder.makeLoad( - 16, false, offset, pick(1, 2, 4, 8, 16), ptr, type, wasm.memories[0]->name); + return builder.makeLoad(16, + false, + offset, + pick(1, 2, 4, 8, 16), + ptr, + type, + wasm.memories[0]->name); } case Type::none: case Type::unreachable: @@ -1529,40 +1564,58 @@ Expression* TranslateToFuzzReader::makeNonAtomicStore(Type type) { case Type::i32: { switch (upTo(3)) { case 0: - return builder.makeStore(1, offset, 1, ptr, value, type, wasm.memories[0]->name); + return builder.makeStore( + 1, offset, 1, ptr, value, type, wasm.memories[0]->name); case 1: - return builder.makeStore(2, offset, pick(1, 2), ptr, value, type, wasm.memories[0]->name); + return builder.makeStore( + 2, offset, pick(1, 2), ptr, value, type, wasm.memories[0]->name); case 2: - return builder.makeStore(4, offset, pick(1, 2, 4), ptr, value, type, wasm.memories[0]->name); + return builder.makeStore( + 4, offset, pick(1, 2, 4), ptr, value, type, wasm.memories[0]->name); } WASM_UNREACHABLE("invalid value"); } case Type::i64: { switch (upTo(4)) { case 0: - return builder.makeStore(1, offset, 1, ptr, value, type, wasm.memories[0]->name); + return builder.makeStore( + 1, offset, 1, ptr, value, type, wasm.memories[0]->name); case 1: - return builder.makeStore(2, offset, pick(1, 2), ptr, value, type, wasm.memories[0]->name); + return builder.makeStore( + 2, offset, pick(1, 2), ptr, value, type, wasm.memories[0]->name); case 2: - return builder.makeStore(4, offset, pick(1, 2, 4), ptr, value, type, wasm.memories[0]->name); - case 3: return builder.makeStore( - 8, offset, pick(1, 2, 4, 8), ptr, value, type, wasm.memories[0]->name); + 4, offset, pick(1, 2, 4), ptr, value, type, wasm.memories[0]->name); + case 3: + return builder.makeStore(8, + offset, + pick(1, 2, 4, 8), + ptr, + value, + type, + wasm.memories[0]->name); } WASM_UNREACHABLE("invalid value"); } case Type::f32: { - return builder.makeStore(4, offset, pick(1, 2, 4), ptr, value, type, wasm.memories[0]->name); + return builder.makeStore( + 4, offset, pick(1, 2, 4), ptr, value, type, wasm.memories[0]->name); } case Type::f64: { - return builder.makeStore(8, offset, pick(1, 2, 4, 8), ptr, value, type, wasm.memories[0]->name); + return builder.makeStore( + 8, offset, pick(1, 2, 4, 8), ptr, value, type, wasm.memories[0]->name); } case Type::v128: { if (!wasm.features.hasSIMD()) { return makeTrivial(type); } - return builder.makeStore( - 16, offset, pick(1, 2, 4, 8, 16), ptr, value, type, wasm.memories[0]->name); + return builder.makeStore(16, + offset, + pick(1, 2, 4, 8, 16), + ptr, + value, + type, + wasm.memories[0]->name); } case Type::none: case Type::unreachable: @@ -2543,12 +2596,17 @@ Expression* TranslateToFuzzReader::makeAtomic(Type type) { auto expectedType = pick(Type::i32, Type::i64); auto* expected = make(expectedType); auto* timeout = make(Type::i64); - return builder.makeAtomicWait( - ptr, expected, timeout, expectedType, logify(get()), wasm.memories[0]->name); + return builder.makeAtomicWait(ptr, + expected, + timeout, + expectedType, + logify(get()), + wasm.memories[0]->name); } else { auto* ptr = makePointer(); auto* count = make(Type::i32); - return builder.makeAtomicNotify(ptr, count, logify(get()), wasm.memories[0]->name); + return builder.makeAtomicNotify( + ptr, count, logify(get()), wasm.memories[0]->name); } } Index bytes; @@ -2872,7 +2930,8 @@ Expression* TranslateToFuzzReader::makeMemoryInit() { Expression* dest = makePointer(); Expression* offset = builder.makeConst(int32_t(offsetVal)); Expression* size = builder.makeConst(int32_t(sizeVal)); - return builder.makeMemoryInit(segment, dest, offset, size, wasm.memories[0]->name); + return builder.makeMemoryInit( + segment, dest, offset, size, wasm.memories[0]->name); } Expression* TranslateToFuzzReader::makeDataDrop() { diff --git a/src/tools/wasm-ctor-eval.cpp b/src/tools/wasm-ctor-eval.cpp index 36b1d382b8c..91128471cd2 100644 --- a/src/tools/wasm-ctor-eval.cpp +++ b/src/tools/wasm-ctor-eval.cpp @@ -168,7 +168,7 @@ struct CtorEvalExternalInterface : EvallingModuleRunner::ExternalInterface { void init(Module& wasm_, EvallingModuleRunner& instance_) override { wasm = &wasm_; instance = &instance_; - for (auto& memory: wasm->memories) { + for (auto& memory : wasm->memories) { if (!memory->imported()) { std::vector data; memories[memory->name] = data; @@ -339,14 +339,30 @@ struct CtorEvalExternalInterface : EvallingModuleRunner::ExternalInterface { // called during initialization void tableStore(Name tableName, Index index, const Literal& value) override {} - int8_t load8s(Address addr, Name memoryName) override { return doLoad(addr, memoryName); } - uint8_t load8u(Address addr, Name memoryName) override { return doLoad(addr, memoryName); } - int16_t load16s(Address addr, Name memoryName) override { return doLoad(addr, memoryName); } - uint16_t load16u(Address addr, Name memoryName) override { return doLoad(addr, memoryName); } - int32_t load32s(Address addr, Name memoryName) override { return doLoad(addr, memoryName); } - uint32_t load32u(Address addr, Name memoryName) override { return doLoad(addr, memoryName); } - int64_t load64s(Address addr, Name memoryName) override { return doLoad(addr, memoryName); } - uint64_t load64u(Address addr, Name memoryName) override { return doLoad(addr, memoryName); } + int8_t load8s(Address addr, Name memoryName) override { + return doLoad(addr, memoryName); + } + uint8_t load8u(Address addr, Name memoryName) override { + return doLoad(addr, memoryName); + } + int16_t load16s(Address addr, Name memoryName) override { + return doLoad(addr, memoryName); + } + uint16_t load16u(Address addr, Name memoryName) override { + return doLoad(addr, memoryName); + } + int32_t load32s(Address addr, Name memoryName) override { + return doLoad(addr, memoryName); + } + uint32_t load32u(Address addr, Name memoryName) override { + return doLoad(addr, memoryName); + } + int64_t load64s(Address addr, Name memoryName) override { + return doLoad(addr, memoryName); + } + uint64_t load64u(Address addr, Name memoryName) override { + return doLoad(addr, memoryName); + } void store8(Address addr, int8_t value, Name memoryName) override { doStore(addr, value, memoryName); @@ -361,7 +377,9 @@ struct CtorEvalExternalInterface : EvallingModuleRunner::ExternalInterface { doStore(addr, value, memoryName); } - bool growMemory(Name memoryName, Address /*oldSize*/, Address /*newSize*/) override { + bool growMemory(Name memoryName, + Address /*oldSize*/, + Address /*newSize*/) override { throw FailToEvalException("grow memory"); } diff --git a/src/tools/wasm-shell.cpp b/src/tools/wasm-shell.cpp index d50e8601ef3..0a159614bc4 100644 --- a/src/tools/wasm-shell.cpp +++ b/src/tools/wasm-shell.cpp @@ -350,10 +350,9 @@ class Shell { spectest->addExport( builder.makeExport("table", Name::fromInt(0), ExternalKind::Table)); - spectest->addMemory( - builder.makeMemory(Name::fromInt(0), 1, 2)); - spectest->addExport(builder.makeExport( - "memory", Name::fromInt(0), ExternalKind::Memory)); + spectest->addMemory(builder.makeMemory(Name::fromInt(0), 1, 2)); + spectest->addExport( + builder.makeExport("memory", Name::fromInt(0), ExternalKind::Memory)); modules["spectest"].swap(spectest); modules["spectest"]->features = FeatureSet::All; diff --git a/src/tools/wasm-split/instrumenter.cpp b/src/tools/wasm-split/instrumenter.cpp index ddf963555f6..a5d5f1f9f0f 100644 --- a/src/tools/wasm-split/instrumenter.cpp +++ b/src/tools/wasm-split/instrumenter.cpp @@ -186,8 +186,9 @@ void Instrumenter::addProfileExport() { // Write the hash followed by all the time stamps Expression* writeData = - // TODO (nashley): Fix hardcoded name below - builder.makeStore(8, 0, 1, getAddr(), hashConst(), Type::i64, wasm->memories[0]->name); + // TODO (nashley): Fix hardcoded name below + builder.makeStore( + 8, 0, 1, getAddr(), hashConst(), Type::i64, wasm->memories[0]->name); uint32_t offset = 8; switch (options.storageKind) { @@ -250,7 +251,8 @@ void Instrumenter::addProfileExport() { getAddr(), builder.makeBinary( MulInt32, getFuncIdx(), builder.makeConst(uint32_t(4)))), - builder.makeAtomicLoad(1, 0, getFuncIdx(), Type::i32, wasm->memories[0]->name), + builder.makeAtomicLoad( + 1, 0, getFuncIdx(), Type::i32, wasm->memories[0]->name), Type::i32, wasm->memories[0]->name), builder.makeLocalSet( @@ -272,7 +274,6 @@ void Instrumenter::addProfileExport() { wasm->addExport( Builder::makeExport(options.profileExport, name, ExternalKind::Function)); - // Export the memory if it is not already exported or imported. if (!wasm->memories[0]->imported()) { bool memoryExported = false; @@ -283,10 +284,10 @@ void Instrumenter::addProfileExport() { } } if (!memoryExported) { - wasm->addExport( - Builder::makeExport("profile-memory", - Names::getValidExportName(*wasm, wasm->memories[0]->name), - ExternalKind::Memory)); + wasm->addExport(Builder::makeExport( + "profile-memory", + Names::getValidExportName(*wasm, wasm->memories[0]->name), + ExternalKind::Memory)); } } } diff --git a/src/wasm-builder.h b/src/wasm-builder.h index 6d69161d4fe..aa8e9b133b0 100644 --- a/src/wasm-builder.h +++ b/src/wasm-builder.h @@ -107,11 +107,11 @@ class Builder { return seg; } - static std::unique_ptrmakeMemory(Name name, - Address initial = 0, - Address max = Memory::kMaxSize32, - bool shared = false, - Type indexType = Type::i32) { + static std::unique_ptr makeMemory(Name name, + Address initial = 0, + Address max = Memory::kMaxSize32, + bool shared = false, + Type indexType = Type::i32) { auto memory = std::make_unique(); memory->name = name; memory->initial = initial; @@ -383,8 +383,8 @@ class Builder { ret->memory = memory; return ret; } - Load* - makeAtomicLoad(unsigned bytes, uint32_t offset, Expression* ptr, Type type, Name memory) { + Load* makeAtomicLoad( + unsigned bytes, uint32_t offset, Expression* ptr, Type type, Name memory) { Load* load = makeLoad(bytes, false, offset, bytes, ptr, type, memory); load->isAtomic = true; return load; @@ -405,8 +405,10 @@ class Builder { wait->memory = memory; return wait; } - AtomicNotify* - makeAtomicNotify(Expression* ptr, Expression* notifyCount, Address offset, Name memory) { + AtomicNotify* makeAtomicNotify(Expression* ptr, + Expression* notifyCount, + Address offset, + Name memory) { auto* notify = wasm.allocator.alloc(); notify->offset = offset; notify->ptr = ptr; @@ -533,8 +535,11 @@ class Builder { ret->finalize(); return ret; } - SIMDLoad* - makeSIMDLoad(SIMDLoadOp op, Address offset, Address align, Expression* ptr, Name memory) { + SIMDLoad* makeSIMDLoad(SIMDLoadOp op, + Address offset, + Address align, + Expression* ptr, + Name memory) { auto* ret = wasm.allocator.alloc(); ret->op = op; ret->offset = offset; @@ -582,8 +587,10 @@ class Builder { ret->finalize(); return ret; } - MemoryCopy* - makeMemoryCopy(Expression* dest, Expression* source, Expression* size, Name memory) { + MemoryCopy* makeMemoryCopy(Expression* dest, + Expression* source, + Expression* size, + Name memory) { auto* ret = wasm.allocator.alloc(); ret->dest = dest; ret->source = source; @@ -592,8 +599,10 @@ class Builder { ret->finalize(); return ret; } - MemoryFill* - makeMemoryFill(Expression* dest, Expression* value, Expression* size, Name memory) { + MemoryFill* makeMemoryFill(Expression* dest, + Expression* value, + Expression* size, + Name memory) { auto* ret = wasm.allocator.alloc(); ret->dest = dest; ret->value = value; diff --git a/src/wasm-interpreter.h b/src/wasm-interpreter.h index 8d41263a5ac..7a65a70bd2c 100644 --- a/src/wasm-interpreter.h +++ b/src/wasm-interpreter.h @@ -2384,14 +2384,30 @@ class ModuleRunnerBase : public ExpressionRunner { } } - virtual int8_t load8s(Address addr, Name memoryName) { WASM_UNREACHABLE("unimp"); } - virtual uint8_t load8u(Address addr, Name memoryName) { WASM_UNREACHABLE("unimp"); } - virtual int16_t load16s(Address addr, Name memoryName) { WASM_UNREACHABLE("unimp"); } - virtual uint16_t load16u(Address addr, Name memoryName) { WASM_UNREACHABLE("unimp"); } - virtual int32_t load32s(Address addr, Name memoryName) { WASM_UNREACHABLE("unimp"); } - virtual uint32_t load32u(Address addr, Name memoryName) { WASM_UNREACHABLE("unimp"); } - virtual int64_t load64s(Address addr, Name memoryName) { WASM_UNREACHABLE("unimp"); } - virtual uint64_t load64u(Address addr, Name memoryName) { WASM_UNREACHABLE("unimp"); } + virtual int8_t load8s(Address addr, Name memoryName) { + WASM_UNREACHABLE("unimp"); + } + virtual uint8_t load8u(Address addr, Name memoryName) { + WASM_UNREACHABLE("unimp"); + } + virtual int16_t load16s(Address addr, Name memoryName) { + WASM_UNREACHABLE("unimp"); + } + virtual uint16_t load16u(Address addr, Name memoryName) { + WASM_UNREACHABLE("unimp"); + } + virtual int32_t load32s(Address addr, Name memoryName) { + WASM_UNREACHABLE("unimp"); + } + virtual uint32_t load32u(Address addr, Name memoryName) { + WASM_UNREACHABLE("unimp"); + } + virtual int64_t load64s(Address addr, Name memoryName) { + WASM_UNREACHABLE("unimp"); + } + virtual uint64_t load64u(Address addr, Name memoryName) { + WASM_UNREACHABLE("unimp"); + } virtual std::array load128(Address addr, Name memoryName) { WASM_UNREACHABLE("unimp"); } @@ -2408,7 +2424,8 @@ class ModuleRunnerBase : public ExpressionRunner { virtual void store64(Address addr, int64_t value, Name memoryName) { WASM_UNREACHABLE("unimp"); } - virtual void store128(Address addr, const std::array&, Name memoryName) { + virtual void + store128(Address addr, const std::array&, Name memoryName) { WASM_UNREACHABLE("unimp"); } @@ -2911,7 +2928,8 @@ class ModuleRunnerBase : public ExpressionRunner { NOTE_EVAL1(flow); auto info = getMemoryInstanceInfo(curr->memory); auto memorySize = info.instance->getMemorySize(info.name); - auto addr = info.instance->getFinalAddress(curr, flow.getSingleValue(), memorySize); + auto addr = + info.instance->getFinalAddress(curr, flow.getSingleValue(), memorySize); if (curr->isAtomic) { info.instance->checkAtomicAddress(addr, curr->bytes, memorySize); } @@ -2932,13 +2950,15 @@ class ModuleRunnerBase : public ExpressionRunner { } auto info = getMemoryInstanceInfo(curr->memory); auto memorySize = info.instance->getMemorySize(info.name); - auto addr = info.instance->getFinalAddress(curr, ptr.getSingleValue(), memorySize); + auto addr = + info.instance->getFinalAddress(curr, ptr.getSingleValue(), memorySize); if (curr->isAtomic) { info.instance->checkAtomicAddress(addr, curr->bytes, memorySize); } NOTE_EVAL1(addr); NOTE_EVAL1(value); - info.instance->externalInterface->store(curr, addr, value.getSingleValue(), info.name); + info.instance->externalInterface->store( + curr, addr, value.getSingleValue(), info.name); return Flow(); } @@ -2955,10 +2975,12 @@ class ModuleRunnerBase : public ExpressionRunner { NOTE_EVAL1(ptr); auto info = getMemoryInstanceInfo(curr->memory); auto memorySize = info.instance->getMemorySize(info.name); - auto addr = info.instance->getFinalAddress(curr, ptr.getSingleValue(), memorySize); + auto addr = + info.instance->getFinalAddress(curr, ptr.getSingleValue(), memorySize); NOTE_EVAL1(addr); NOTE_EVAL1(value); - auto loaded = info.instance->doAtomicLoad(addr, curr->bytes, curr->type, info.name, memorySize); + auto loaded = info.instance->doAtomicLoad( + addr, curr->bytes, curr->type, info.name, memorySize); NOTE_EVAL1(loaded); auto computed = value.getSingleValue(); switch (curr->op) { @@ -2980,7 +3002,8 @@ class ModuleRunnerBase : public ExpressionRunner { case RMWXchg: break; } - info.instance->doAtomicStore(addr, curr->bytes, computed, info.name, memorySize); + info.instance->doAtomicStore( + addr, curr->bytes, computed, info.name, memorySize); return loaded; } Flow visitAtomicCmpxchg(AtomicCmpxchg* curr) { @@ -3000,15 +3023,18 @@ class ModuleRunnerBase : public ExpressionRunner { } auto info = getMemoryInstanceInfo(curr->memory); auto memorySize = info.instance->getMemorySize(info.name); - auto addr = info.instance->getFinalAddress(curr, ptr.getSingleValue(), memorySize); + auto addr = + info.instance->getFinalAddress(curr, ptr.getSingleValue(), memorySize); expected = Flow(wrapToSmallerSize(expected.getSingleValue(), curr->bytes)); NOTE_EVAL1(addr); NOTE_EVAL1(expected); NOTE_EVAL1(replacement); - auto loaded = info.instance->doAtomicLoad(addr, curr->bytes, curr->type, info.name, memorySize); + auto loaded = info.instance->doAtomicLoad( + addr, curr->bytes, curr->type, info.name, memorySize); NOTE_EVAL1(loaded); if (loaded == expected.getSingleValue()) { - info.instance->doAtomicStore(addr, curr->bytes, replacement.getSingleValue(), info.name, memorySize); + info.instance->doAtomicStore( + addr, curr->bytes, replacement.getSingleValue(), info.name, memorySize); } return loaded; } @@ -3032,8 +3058,10 @@ class ModuleRunnerBase : public ExpressionRunner { auto bytes = curr->expectedType.getByteSize(); auto info = getMemoryInstanceInfo(curr->memory); auto memorySize = info.instance->getMemorySize(info.name); - auto addr = info.instance->getFinalAddress(curr, ptr.getSingleValue(), bytes, memorySize); - auto loaded = info.instance->doAtomicLoad(addr, bytes, curr->expectedType, info.name, memorySize); + auto addr = info.instance->getFinalAddress( + curr, ptr.getSingleValue(), bytes, memorySize); + auto loaded = info.instance->doAtomicLoad( + addr, bytes, curr->expectedType, info.name, memorySize); NOTE_EVAL1(loaded); if (loaded != expected.getSingleValue()) { return Literal(int32_t(1)); // not equal @@ -3056,7 +3084,8 @@ class ModuleRunnerBase : public ExpressionRunner { } auto info = getMemoryInstanceInfo(curr->memory); auto memorySize = info.instance->getMemorySize(info.name); - auto addr = info.instance->getFinalAddress(curr, ptr.getSingleValue(), 4, memorySize); + auto addr = + info.instance->getFinalAddress(curr, ptr.getSingleValue(), 4, memorySize); // Just check TODO actual threads support info.instance->checkAtomicAddress(addr, 4, memorySize); return Literal(int32_t(0)); // none woken up @@ -3128,17 +3157,23 @@ class ModuleRunnerBase : public ExpressionRunner { auto loadLane = [&](Address addr) { switch (curr->op) { case Load8x8SVec128: - return Literal(int32_t(info.instance->externalInterface->load8s(addr, info.name))); + return Literal( + int32_t(info.instance->externalInterface->load8s(addr, info.name))); case Load8x8UVec128: - return Literal(int32_t(info.instance->externalInterface->load8u(addr, info.name))); + return Literal( + int32_t(info.instance->externalInterface->load8u(addr, info.name))); case Load16x4SVec128: - return Literal(int32_t(info.instance->externalInterface->load16s(addr, info.name))); + return Literal(int32_t( + info.instance->externalInterface->load16s(addr, info.name))); case Load16x4UVec128: - return Literal(int32_t(info.instance->externalInterface->load16u(addr, info.name))); + return Literal(int32_t( + info.instance->externalInterface->load16u(addr, info.name))); case Load32x2SVec128: - return Literal(int64_t(info.instance->externalInterface->load32s(addr, info.name))); + return Literal(int64_t( + info.instance->externalInterface->load32s(addr, info.name))); case Load32x2UVec128: - return Literal(int64_t(info.instance->externalInterface->load32u(addr, info.name))); + return Literal(int64_t( + info.instance->externalInterface->load32u(addr, info.name))); default: WASM_UNREACHABLE("unexpected op"); } @@ -3147,8 +3182,8 @@ class ModuleRunnerBase : public ExpressionRunner { auto memorySize = info.instance->getMemorySize(info.name); auto fillLanes = [&](auto lanes, size_t laneBytes) { for (auto& lane : lanes) { - lane = loadLane( - info.instance->getFinalAddress(curr, Literal(uint32_t(src)), laneBytes, memorySize)); + lane = loadLane(info.instance->getFinalAddress( + curr, Literal(uint32_t(src)), laneBytes, memorySize)); src = Address(uint32_t(src) + laneBytes); } return Literal(lanes); @@ -3182,15 +3217,17 @@ class ModuleRunnerBase : public ExpressionRunner { NOTE_EVAL1(flow); auto info = getMemoryInstanceInfo(curr->memory); auto memorySize = info.instance->getMemorySize(info.name); - Address src = - info.instance->getFinalAddress(curr, flow.getSingleValue(), curr->getMemBytes(), memorySize); + Address src = info.instance->getFinalAddress( + curr, flow.getSingleValue(), curr->getMemBytes(), memorySize); auto zero = Literal::makeZero(curr->op == Load32ZeroVec128 ? Type::i32 : Type::i64); if (curr->op == Load32ZeroVec128) { - auto val = Literal(info.instance->externalInterface->load32u(src, info.name)); + auto val = + Literal(info.instance->externalInterface->load32u(src, info.name)); return Literal(std::array{{val, zero, zero, zero}}); } else { - auto val = Literal(info.instance->externalInterface->load64u(src, info.name)); + auto val = + Literal(info.instance->externalInterface->load64u(src, info.name)); return Literal(std::array{{val, zero}}); } } @@ -3203,8 +3240,8 @@ class ModuleRunnerBase : public ExpressionRunner { NOTE_EVAL1(flow); auto info = getMemoryInstanceInfo(curr->memory); auto memorySize = info.instance->getMemorySize(info.name); - Address addr = - info.instance->getFinalAddress(curr, flow.getSingleValue(), curr->getMemBytes(), memorySize); + Address addr = info.instance->getFinalAddress( + curr, flow.getSingleValue(), curr->getMemBytes(), memorySize); flow = self()->visit(curr->vec); if (flow.breaking()) { return flow; @@ -3215,10 +3252,12 @@ class ModuleRunnerBase : public ExpressionRunner { case Store8LaneVec128: { std::array lanes = vec.getLanesUI8x16(); if (curr->isLoad()) { - lanes[curr->index] = Literal(info.instance->externalInterface->load8u(addr, info.name)); + lanes[curr->index] = + Literal(info.instance->externalInterface->load8u(addr, info.name)); return Literal(lanes); } else { - info.instance->externalInterface->store8(addr, lanes[curr->index].geti32(), info.name); + info.instance->externalInterface->store8( + addr, lanes[curr->index].geti32(), info.name); return {}; } } @@ -3226,10 +3265,12 @@ class ModuleRunnerBase : public ExpressionRunner { case Store16LaneVec128: { std::array lanes = vec.getLanesUI16x8(); if (curr->isLoad()) { - lanes[curr->index] = Literal(info.instance->externalInterface->load16u(addr, info.name)); + lanes[curr->index] = + Literal(info.instance->externalInterface->load16u(addr, info.name)); return Literal(lanes); } else { - info.instance->externalInterface->store16(addr, lanes[curr->index].geti32(), info.name); + info.instance->externalInterface->store16( + addr, lanes[curr->index].geti32(), info.name); return {}; } } @@ -3237,10 +3278,12 @@ class ModuleRunnerBase : public ExpressionRunner { case Store32LaneVec128: { std::array lanes = vec.getLanesI32x4(); if (curr->isLoad()) { - lanes[curr->index] = Literal(info.instance->externalInterface->load32u(addr, info.name)); + lanes[curr->index] = + Literal(info.instance->externalInterface->load32u(addr, info.name)); return Literal(lanes); } else { - info.instance->externalInterface->store32(addr, lanes[curr->index].geti32(), info.name); + info.instance->externalInterface->store32( + addr, lanes[curr->index].geti32(), info.name); return {}; } } @@ -3248,10 +3291,12 @@ class ModuleRunnerBase : public ExpressionRunner { case Load64LaneVec128: { std::array lanes = vec.getLanesI64x2(); if (curr->isLoad()) { - lanes[curr->index] = Literal(info.instance->externalInterface->load64u(addr, info.name)); + lanes[curr->index] = + Literal(info.instance->externalInterface->load64u(addr, info.name)); return Literal(lanes); } else { - info.instance->externalInterface->store64(addr, lanes[curr->index].geti64(), info.name); + info.instance->externalInterface->store64( + addr, lanes[curr->index].geti64(), info.name); return {}; } } @@ -3263,8 +3308,7 @@ class ModuleRunnerBase : public ExpressionRunner { auto info = getMemoryInstanceInfo(curr->memory); auto memorySize = info.instance->getMemorySize(info.name); auto* memory = info.instance->wasm.getMemory(info.name); - return Literal::makeFromInt64(memorySize, - memory->indexType); + return Literal::makeFromInt64(memorySize, memory->indexType); } Flow visitMemoryGrow(MemoryGrow* curr) { NOTE_ENTER("MemoryGrow"); @@ -3290,7 +3334,9 @@ class ModuleRunnerBase : public ExpressionRunner { return fail; } if (!info.instance->externalInterface->growMemory( - info.name, memorySize * Memory::kPageSize, newSize * Memory::kPageSize)) { + info.name, + memorySize * Memory::kPageSize, + newSize * Memory::kPageSize)) { // We failed to grow the memory in practice, even though it was valid // to try to do so. return fail; @@ -3339,7 +3385,8 @@ class ModuleRunnerBase : public ExpressionRunner { Literal addr(destVal + i); info.instance->externalInterface->store8( info.instance->getFinalAddressWithoutOffset(addr, 1, memorySize), - segment->data[offsetVal + i], info.name); + segment->data[offsetVal + i], + info.name); } return {}; } @@ -3390,9 +3437,13 @@ class ModuleRunnerBase : public ExpressionRunner { } for (int64_t i = start; i != end; i += step) { info.instance->externalInterface->store8( - info.instance->getFinalAddressWithoutOffset(Literal(destVal + i), 1, memorySize), + info.instance->getFinalAddressWithoutOffset( + Literal(destVal + i), 1, memorySize), info.instance->externalInterface->load8s( - info.instance->getFinalAddressWithoutOffset(Literal(sourceVal + i), 1, memorySize), info.name), info.name); + info.instance->getFinalAddressWithoutOffset( + Literal(sourceVal + i), 1, memorySize), + info.name), + info.name); } return {}; } @@ -3427,7 +3478,10 @@ class ModuleRunnerBase : public ExpressionRunner { uint8_t val(value.getSingleValue().geti32()); for (size_t i = 0; i < sizeVal; ++i) { info.instance->externalInterface->store8( - info.instance->getFinalAddressWithoutOffset(Literal(destVal + i), 1, memorySize), val, info.name); + info.instance->getFinalAddressWithoutOffset( + Literal(destVal + i), 1, memorySize), + val, + info.name); } return {}; } @@ -3612,7 +3666,8 @@ class ModuleRunnerBase : public ExpressionRunner { } template - Address getFinalAddress(LS* curr, Literal ptr, Index bytes, Address memorySize) { + Address + getFinalAddress(LS* curr, Literal ptr, Index bytes, Address memorySize) { Address memorySizeBytes = memorySize * Memory::kPageSize; uint64_t addr = ptr.type == Type::i32 ? ptr.geti32() : ptr.geti64(); trapIfGt(curr->offset, memorySizeBytes, "offset > memory"); @@ -3623,11 +3678,13 @@ class ModuleRunnerBase : public ExpressionRunner { return addr; } - template Address getFinalAddress(LS* curr, Literal ptr, Address memorySize) { + template + Address getFinalAddress(LS* curr, Literal ptr, Address memorySize) { return getFinalAddress(curr, ptr, curr->bytes, memorySize); } - Address getFinalAddressWithoutOffset(Literal ptr, Index bytes, Address memorySize) { + Address + getFinalAddressWithoutOffset(Literal ptr, Index bytes, Address memorySize) { uint64_t addr = ptr.type == Type::i32 ? ptr.geti32() : ptr.geti64(); checkLoadAddress(addr, bytes, memorySize); return addr; @@ -3648,7 +3705,8 @@ class ModuleRunnerBase : public ExpressionRunner { } } - Literal doAtomicLoad(Address addr, Index bytes, Type type, Name memoryName, Address memorySize) { + Literal doAtomicLoad( + Address addr, Index bytes, Type type, Name memoryName, Address memorySize) { checkAtomicAddress(addr, bytes, memorySize); Const ptr; ptr.value = Literal(int32_t(addr)); @@ -3666,7 +3724,11 @@ class ModuleRunnerBase : public ExpressionRunner { return externalInterface->load(&load, addr, memoryName); } - void doAtomicStore(Address addr, Index bytes, Literal toStore, Name memoryName, Address memorySize) { + void doAtomicStore(Address addr, + Index bytes, + Literal toStore, + Name memoryName, + Address memorySize) { checkAtomicAddress(addr, bytes, memorySize); Const ptr; ptr.value = Literal(int32_t(addr)); diff --git a/src/wasm-s-parser.h b/src/wasm-s-parser.h index e29c62115b4..e31e37b1ca8 100644 --- a/src/wasm-s-parser.h +++ b/src/wasm-s-parser.h @@ -330,9 +330,7 @@ class SExpressionWasmBuilder { void stringToBinary(const char* input, size_t size, std::vector& data); void parseMemory(Element& s, bool preParseImport = false); void parseData(Element& s); - void parseInnerData(Element& s, - Index i, - std::unique_ptr& seg); + void parseInnerData(Element& s, Index i, std::unique_ptr& seg); void parseExport(Element& s); void parseImport(Element& s); void parseGlobal(Element& s, bool preParseImport = false); diff --git a/src/wasm/wasm-binary.cpp b/src/wasm/wasm-binary.cpp index 6433e6ebae9..a31303b9df2 100644 --- a/src/wasm/wasm-binary.cpp +++ b/src/wasm/wasm-binary.cpp @@ -4373,7 +4373,8 @@ void WasmBinaryBuilder::visitGlobalSet(GlobalSet* curr) { curr->finalize(); } -Index WasmBinaryBuilder::readMemoryAlignment(Address& alignment, Address& offset) { +Index WasmBinaryBuilder::readMemoryAlignment(Address& alignment, + Address& offset) { auto rawAlignment = getU32LEB(); if (rawAlignment > 8) { throwError("Alignment must be of a reasonable size"); @@ -4382,8 +4383,9 @@ Index WasmBinaryBuilder::readMemoryAlignment(Address& alignment, Address& offset bool hasMemIdx = false; Index memIdx = 0; // Check bit 6 in the alignment to know whether a memory index is present - // per https://github.com/WebAssembly/multi-memory/blob/main/proposals/multi-memory/Overview.md - if (rawAlignment >= 6 && (rawAlignment & (1 << (6)))) { + // per + // https://github.com/WebAssembly/multi-memory/blob/main/proposals/multi-memory/Overview.md + if (rawAlignment >= 6 && (rawAlignment & (1 << (6)))) { hasMemIdx = true; } diff --git a/src/wasm/wasm-s-parser.cpp b/src/wasm/wasm-s-parser.cpp index b2b845dcc6e..74893954d7d 100644 --- a/src/wasm/wasm-s-parser.cpp +++ b/src/wasm/wasm-s-parser.cpp @@ -1937,8 +1937,10 @@ SExpressionWasmBuilder::makeLoad(Element& s, Type type, bool isAtomic) { ret->signed_ = extra[0] && extra[1] == 's'; Index i = 1; Index memIdx = 0; - // Check to make sure there are more than the default args & this str isn't the mem attributes - if (s.size() > 2 && !s.isList() && strncmp(s[i]->c_str(), "align", 5) != 0 && strncmp(s[i]->c_str(), "offset", 6) != 0) { + // Check to make sure there are more than the default args & this str isn't + // the mem attributes + if (s.size() > 2 && !s.isList() && strncmp(s[i]->c_str(), "align", 5) != 0 && + strncmp(s[i]->c_str(), "offset", 6) != 0) { memIdx = atoi(s[i++]->c_str()); } auto mem = getMemoryAtIdx(memIdx); @@ -1958,8 +1960,11 @@ SExpressionWasmBuilder::makeStore(Element& s, Type type, bool isAtomic) { ret->bytes = parseMemBytes(extra, type.getByteSize()); Index i = 1; Index memIdx = 0; - // Check to make sure there are more than the default args & this str isn't the mem attributes - if (s.size() > 3 && !s[i]->isList() && strncmp(s[i]->c_str(), "align", 5) != 0 && strncmp(s[i]->c_str(), "offset", 6) != 0) { + // Check to make sure there are more than the default args & this str isn't + // the mem attributes + if (s.size() > 3 && !s[i]->isList() && + strncmp(s[i]->c_str(), "align", 5) != 0 && + strncmp(s[i]->c_str(), "offset", 6) != 0) { memIdx = atoi(s[i++]->c_str()); } auto mem = getMemoryAtIdx(memIdx); @@ -2010,8 +2015,11 @@ Expression* SExpressionWasmBuilder::makeAtomicRMW(Element& s, } Index i = 1; Index memIdx = 0; - // Check to make sure there are more than the default args & this str isn't the mem attributes - if (s.size() > 3 && !s[i]->isList() && strncmp(s[i]->c_str(), "align", 5) != 0 && strncmp(s[i]->c_str(), "offset", 6) != 0) { + // Check to make sure there are more than the default args & this str isn't + // the mem attributes + if (s.size() > 3 && !s[i]->isList() && + strncmp(s[i]->c_str(), "align", 5) != 0 && + strncmp(s[i]->c_str(), "offset", 6) != 0) { memIdx = atoi(s[i++]->c_str()); } auto mem = getMemoryAtIdx(memIdx); @@ -2037,8 +2045,11 @@ Expression* SExpressionWasmBuilder::makeAtomicCmpxchg(Element& s, Index i = 1; Address align; Index memIdx = 0; - // Check to make sure there are more than the default args & this str isn't the mem attributes - if (s.size() > 4 && !s[i]->isList() && strncmp(s[i]->c_str(), "align", 5) != 0 && strncmp(s[i]->c_str(), "offset", 6) != 0) { + // Check to make sure there are more than the default args & this str isn't + // the mem attributes + if (s.size() > 4 && !s[i]->isList() && + strncmp(s[i]->c_str(), "align", 5) != 0 && + strncmp(s[i]->c_str(), "offset", 6) != 0) { memIdx = atoi(s[i++]->c_str()); } auto mem = getMemoryAtIdx(memIdx); @@ -2070,8 +2081,11 @@ Expression* SExpressionWasmBuilder::makeAtomicWait(Element& s, Type type) { } Index i = 1; Index memIdx = 0; - // Check to make sure there are more than the default args & this str isn't the mem attributes - if (s.size() > 4 && !s[i]->isList() && strncmp(s[i]->c_str(), "align", 5) != 0 && strncmp(s[i]->c_str(), "offset", 6) != 0) { + // Check to make sure there are more than the default args & this str isn't + // the mem attributes + if (s.size() > 4 && !s[i]->isList() && + strncmp(s[i]->c_str(), "align", 5) != 0 && + strncmp(s[i]->c_str(), "offset", 6) != 0) { memIdx = atoi(s[i++]->c_str()); } auto mem = getMemoryAtIdx(memIdx); @@ -2093,8 +2107,11 @@ Expression* SExpressionWasmBuilder::makeAtomicNotify(Element& s) { ret->type = Type::i32; Index i = 1; Index memIdx = 0; - // Check to make sure there are more than the default args & this str isn't the mem attributes - if (s.size() > 3 && !s[i]->isList() && strncmp(s[i]->c_str(), "align", 5) != 0 && strncmp(s[i]->c_str(), "offset", 6) != 0) { + // Check to make sure there are more than the default args & this str isn't + // the mem attributes + if (s.size() > 3 && !s[i]->isList() && + strncmp(s[i]->c_str(), "align", 5) != 0 && + strncmp(s[i]->c_str(), "offset", 6) != 0) { memIdx = atoi(s[i++]->c_str()); } auto mem = getMemoryAtIdx(memIdx); @@ -2211,8 +2228,11 @@ Expression* SExpressionWasmBuilder::makeSIMDLoad(Element& s, SIMDLoadOp op) { } Index i = 1; Index memIdx = 0; - // Check to make sure there are more than the default args & this str isn't the mem attributes - if (s.size() > 2 && !s[i]->isList() && strncmp(s[i]->c_str(), "align", 5) != 0 && strncmp(s[i]->c_str(), "offset", 6) != 0) { + // Check to make sure there are more than the default args & this str isn't + // the mem attributes + if (s.size() > 2 && !s[i]->isList() && + strncmp(s[i]->c_str(), "align", 5) != 0 && + strncmp(s[i]->c_str(), "offset", 6) != 0) { memIdx = atoi(s[i++]->c_str()); } auto mem = getMemoryAtIdx(memIdx); @@ -2256,9 +2276,11 @@ SExpressionWasmBuilder::makeSIMDLoadStoreLane(Element& s, } Index i = 1; Index memIdx = 0; - // Check to make sure there are more than the default args & this str isn't the mem attributes - if (s.size() > 4 && !s.isList() && strncmp(s[i]->c_str(), "align", 5) != 0 && strncmp(s[i]->c_str(), "offset", 6) != 0) { - memIdx = atoi(s[i++]->c_str()); + // Check to make sure there are more than the default args & this str isn't + // the mem attributes + if (s.size() > 4 && !s.isList() && strncmp(s[i]->c_str(), "align", 5) != 0 && + strncmp(s[i]->c_str(), "offset", 6) != 0) { + memIdx = atoi(s[i++]->c_str()); } auto mem = getMemoryAtIdx(memIdx); ret->memory = mem.name; @@ -3122,7 +3144,8 @@ void SExpressionWasmBuilder::stringToBinary(const char* input, data.resize(actual); } -Index SExpressionWasmBuilder::parseMemoryIndex(Element& s, Index i, std::unique_ptr& memory) { +Index SExpressionWasmBuilder::parseMemoryIndex( + Element& s, Index i, std::unique_ptr& memory) { if (i < s.size() && s[i]->isStr()) { if (s[i]->str() == "i64") { i++; @@ -3135,7 +3158,8 @@ Index SExpressionWasmBuilder::parseMemoryIndex(Element& s, Index i, std::unique_ return i; } -Index SExpressionWasmBuilder::parseMemoryLimits(Element& s, Index i, std::unique_ptr& memory) { +Index SExpressionWasmBuilder::parseMemoryLimits( + Element& s, Index i, std::unique_ptr& memory) { i = parseMemoryIndex(s, i, memory); if (i == s.size()) { throw ParseException("missing memory limits", s.line, s.col); @@ -3203,8 +3227,8 @@ void SExpressionWasmBuilder::parseMemory(Element& s, bool preParseImport) { } else { offset->set(Literal(int32_t(0))); } - auto seg = - Builder::makeDataSegment(Name::fromInt(dataCounter++), memory->name, false, offset); + auto seg = Builder::makeDataSegment( + Name::fromInt(dataCounter++), memory->name, false, offset); parseInnerData(inner, j, seg); wasm.addDataSegment(std::move(seg)); memory->initial = wasm.dataSegments[0]->data.size(); @@ -3242,13 +3266,17 @@ void SExpressionWasmBuilder::parseMemory(Element& s, bool preParseImport) { if (auto size = strlen(input)) { std::vector data; stringToBinary(input, size, data); - auto segment = Builder::makeDataSegment( - Name::fromInt(dataCounter++), memory->name, false, offset, data.data(), data.size()); + auto segment = Builder::makeDataSegment(Name::fromInt(dataCounter++), + memory->name, + false, + offset, + data.data(), + data.size()); segment->hasExplicitName = false; wasm.addDataSegment(std::move(segment)); } else { - auto segment = - Builder::makeDataSegment(Name::fromInt(dataCounter++), memory->name, false, offset); + auto segment = Builder::makeDataSegment( + Name::fromInt(dataCounter++), memory->name, false, offset); segment->hasExplicitName = false; wasm.addDataSegment(std::move(segment)); } @@ -3292,8 +3320,7 @@ void SExpressionWasmBuilder::parseData(Element& s) { isPassive = false; } - auto seg = - Builder::makeDataSegment(name, memory, isPassive, offset); + auto seg = Builder::makeDataSegment(name, memory, isPassive, offset); seg->hasExplicitName = hasExplicitName; parseInnerData(s, i, seg); wasm.addDataSegment(std::move(seg)); diff --git a/src/wasm/wasm-validator.cpp b/src/wasm/wasm-validator.cpp index c29ea1562da..d907f4397a5 100644 --- a/src/wasm/wasm-validator.cpp +++ b/src/wasm/wasm-validator.cpp @@ -1348,8 +1348,8 @@ void FunctionValidator::visitMemoryInit(MemoryInit* curr) { shouldBeEqualOrFirstIsUnreachable( curr->size->type, Type(Type::i32), curr, "memory.init size must be an i32"); if (!shouldBeFalse(getModule()->memories.empty(), - curr, - "Memory operations require a memory")) { + curr, + "Memory operations require a memory")) { return; } shouldBeTrue(curr->segment < getModule()->dataSegments.size(), @@ -1364,8 +1364,8 @@ void FunctionValidator::visitDataDrop(DataDrop* curr) { shouldBeEqualOrFirstIsUnreachable( curr->type, Type(Type::none), curr, "data.drop must have type none"); if (!shouldBeFalse(getModule()->memories.empty(), - curr, - "Memory operations require a memory")) { + curr, + "Memory operations require a memory")) { return; } shouldBeTrue(curr->segment < getModule()->dataSegments.size(), diff --git a/src/wasm/wasm.cpp b/src/wasm/wasm.cpp index 88232de4e23..56a360d6efb 100644 --- a/src/wasm/wasm.cpp +++ b/src/wasm/wasm.cpp @@ -1310,24 +1310,34 @@ void Function::clearDebugInfo() { epilogLocation.clear(); } #include +#include #include #include -#include void print_trace() { - char pid_buf[30]; - sprintf(pid_buf, "%d", getpid()); - char name_buf[512]; - name_buf[readlink("/proc/self/exe", name_buf, 511)]=0; - prctl(PR_SET_PTRACER, PR_SET_PTRACER_ANY, 0, 0, 0); - int child_pid = fork(); - if (!child_pid) { - dup2(2,1); // redirect output to stderr - edit: unnecessary? - execl("/usr/bin/gdb", "gdb", "--batch", "-n", "-ex", "thread", "-ex", "bt", name_buf, pid_buf, NULL); - abort(); /* If gdb failed to start */ - } else { - waitpid(child_pid,NULL,0); - } + char pid_buf[30]; + sprintf(pid_buf, "%d", getpid()); + char name_buf[512]; + name_buf[readlink("/proc/self/exe", name_buf, 511)] = 0; + prctl(PR_SET_PTRACER, PR_SET_PTRACER_ANY, 0, 0, 0); + int child_pid = fork(); + if (!child_pid) { + dup2(2, 1); // redirect output to stderr - edit: unnecessary? + execl("/usr/bin/gdb", + "gdb", + "--batch", + "-n", + "-ex", + "thread", + "-ex", + "bt", + name_buf, + pid_buf, + NULL); + abort(); /* If gdb failed to start */ + } else { + waitpid(child_pid, NULL, 0); + } } template @@ -1481,8 +1491,7 @@ Module::addElementSegment(std::unique_ptr&& curr) { } Memory* Module::addMemory(std::unique_ptr&& curr) { - return addModuleElement( - memories, memoriesMap, std::move(curr), "addMemory"); + return addModuleElement(memories, memoriesMap, std::move(curr), "addMemory"); } DataSegment* Module::addDataSegment(std::unique_ptr&& curr) { diff --git a/src/wasm2js.h b/src/wasm2js.h index ba9779be2ab..cc4d363ec51 100644 --- a/src/wasm2js.h +++ b/src/wasm2js.h @@ -452,8 +452,8 @@ Ref Wasm2JSBuilder::processWasm(Module* wasm, Name funcName) { BUFFER, ValueBuilder::makeNew(ValueBuilder::makeCall( ValueBuilder::makeName("ArrayBuffer"), - ValueBuilder::makeInt(Address::address32_t(wasm->memories[0]->initial.addr * - Memory::kPageSize))))); + ValueBuilder::makeInt(Address::address32_t( + wasm->memories[0]->initial.addr * Memory::kPageSize))))); } } @@ -1474,7 +1474,8 @@ Ref Wasm2JSBuilder::processFunctionBody(Module* m, } Ref visitStore(Store* curr) { - if (!module->memories.empty() && module->memories[0]->initial < module->memories[0]->max && + if (!module->memories.empty() && + module->memories[0]->initial < module->memories[0]->max && curr->type != Type::unreachable) { // In JS, if memory grows then it is dangerous to write // HEAP[f()] = .. @@ -2006,7 +2007,8 @@ Ref Wasm2JSBuilder::processFunctionBody(Module* m, } Ref visitMemoryGrow(MemoryGrow* curr) { - if (!module->memories.empty() && module->memories[0]->max > module->memories[0]->initial) { + if (!module->memories.empty() && + module->memories[0]->max > module->memories[0]->initial) { return ValueBuilder::makeCall( WASM_MEMORY_GROW, makeJsCoercion(visit(curr->delta, EXPRESSION_RESULT), @@ -2381,7 +2383,8 @@ void Wasm2JSBuilder::addMemoryFuncs(Ref ast, Module* wasm) { JsType::JS_INT))); ast->push_back(memorySizeFunc); - if (!wasm->memories.empty() && wasm->memories[0]->max > wasm->memories[0]->initial) { + if (!wasm->memories.empty() && + wasm->memories[0]->max > wasm->memories[0]->initial) { addMemoryGrowFunc(ast, wasm); } } diff --git a/test/example/c-api-kitchen-sink.c b/test/example/c-api-kitchen-sink.c index a6a0f65a525..a0d8b10a48a 100644 --- a/test/example/c-api-kitchen-sink.c +++ b/test/example/c-api-kitchen-sink.c @@ -921,8 +921,10 @@ void test_core() { BinaryenDrop( module, BinaryenLocalTee(module, 0, makeInt32(module, 102), BinaryenTypeInt32())), - BinaryenLoad(module, 4, 0, 0, 0, BinaryenTypeInt32(), makeInt32(module, 1), "0"), - BinaryenLoad(module, 2, 1, 2, 1, BinaryenTypeInt64(), makeInt32(module, 8), "0"), + BinaryenLoad( + module, 4, 0, 0, 0, BinaryenTypeInt32(), makeInt32(module, 1), "0"), + BinaryenLoad( + module, 2, 1, 2, 1, BinaryenTypeInt64(), makeInt32(module, 8), "0"), BinaryenLoad( module, 4, 0, 0, 0, BinaryenTypeFloat32(), makeInt32(module, 2), "0"), BinaryenLoad( @@ -1012,9 +1014,9 @@ void test_core() { BinaryenAtomicLoad(module, 4, 0, BinaryenTypeInt32(), temp6, "0"), BinaryenTypeInt32(), "0"), - BinaryenDrop( - module, - BinaryenAtomicWait(module, temp6, temp6, temp16, BinaryenTypeInt32(), "0")), + BinaryenDrop(module, + BinaryenAtomicWait( + module, temp6, temp6, temp16, BinaryenTypeInt32(), "0")), BinaryenDrop(module, BinaryenAtomicNotify(module, temp6, temp6, "0")), BinaryenAtomicFence(module), // Tuples diff --git a/test/example/c-api-relooper-unreachable-if.cpp b/test/example/c-api-relooper-unreachable-if.cpp index 7f7b0a1b893..c63ca0204a5 100644 --- a/test/example/c-api-relooper-unreachable-if.cpp +++ b/test/example/c-api-relooper-unreachable-if.cpp @@ -34,8 +34,14 @@ int main() { the_relooper = RelooperCreate(the_module); expressions[1] = BinaryenLocalGet(the_module, 0, BinaryenTypeInt32()); expressions[2] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); - expressions[3] = BinaryenStore( - the_module, 4, 0, 0, expressions[2], expressions[1], BinaryenTypeInt32(), "0"); + expressions[3] = BinaryenStore(the_module, + 4, + 0, + 0, + expressions[2], + expressions[1], + BinaryenTypeInt32(), + "0"); expressions[4] = BinaryenReturn(the_module, expressions[0]); { BinaryenExpressionRef children[] = {expressions[3], expressions[4]}; @@ -44,8 +50,8 @@ int main() { } relooperBlocks[0] = RelooperAddBlock(the_relooper, expressions[5]); expressions[6] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); - expressions[7] = - BinaryenLoad(the_module, 4, 0, 0, 0, BinaryenTypeInt32(), expressions[6], "0"); + expressions[7] = BinaryenLoad( + the_module, 4, 0, 0, 0, BinaryenTypeInt32(), expressions[6], "0"); expressions[8] = BinaryenLocalSet(the_module, 0, expressions[7]); relooperBlocks[1] = RelooperAddBlock(the_relooper, expressions[8]); RelooperAddBranch( @@ -67,8 +73,14 @@ int main() { the_relooper = RelooperCreate(the_module); expressions[10] = BinaryenLocalGet(the_module, 0, BinaryenTypeInt32()); expressions[11] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); - expressions[12] = BinaryenStore( - the_module, 4, 0, 0, expressions[11], expressions[10], BinaryenTypeInt32(), "0"); + expressions[12] = BinaryenStore(the_module, + 4, + 0, + 0, + expressions[11], + expressions[10], + BinaryenTypeInt32(), + "0"); expressions[13] = BinaryenReturn(the_module, expressions[0]); { BinaryenExpressionRef children[] = {expressions[12], expressions[13]}; @@ -77,8 +89,8 @@ int main() { } relooperBlocks[0] = RelooperAddBlock(the_relooper, expressions[14]); expressions[15] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); - expressions[16] = - BinaryenLoad(the_module, 4, 0, 0, 0, BinaryenTypeInt32(), expressions[15], "0"); + expressions[16] = BinaryenLoad( + the_module, 4, 0, 0, 0, BinaryenTypeInt32(), expressions[15], "0"); expressions[17] = BinaryenLocalSet(the_module, 0, expressions[16]); relooperBlocks[1] = RelooperAddBlock(the_relooper, expressions[17]); RelooperAddBranch( @@ -116,8 +128,8 @@ int main() { RelooperAddBranch( relooperBlocks[1], relooperBlocks[1], expressions[0], expressions[0]); expressions[21] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); - expressions[22] = - BinaryenLoad(the_module, 4, 0, 0, 0, BinaryenTypeInt32(), expressions[21], "0"); + expressions[22] = BinaryenLoad( + the_module, 4, 0, 0, 0, BinaryenTypeInt32(), expressions[21], "0"); expressions[23] = BinaryenLocalSet(the_module, 0, expressions[22]); relooperBlocks[2] = RelooperAddBlock(the_relooper, expressions[23]); RelooperAddBranch( @@ -140,8 +152,14 @@ int main() { the_relooper = RelooperCreate(the_module); expressions[25] = BinaryenLocalGet(the_module, 0, BinaryenTypeInt32()); expressions[26] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); - expressions[27] = BinaryenStore( - the_module, 4, 0, 0, expressions[26], expressions[25], BinaryenTypeInt32(), "0"); + expressions[27] = BinaryenStore(the_module, + 4, + 0, + 0, + expressions[26], + expressions[25], + BinaryenTypeInt32(), + "0"); expressions[28] = BinaryenReturn(the_module, expressions[0]); { BinaryenExpressionRef children[] = {expressions[27], expressions[28]}; @@ -150,8 +168,8 @@ int main() { } relooperBlocks[0] = RelooperAddBlock(the_relooper, expressions[29]); expressions[30] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); - expressions[31] = - BinaryenLoad(the_module, 4, 0, 0, 0, BinaryenTypeInt32(), expressions[30], "0"); + expressions[31] = BinaryenLoad( + the_module, 4, 0, 0, 0, BinaryenTypeInt32(), expressions[30], "0"); expressions[32] = BinaryenLocalSet(the_module, 0, expressions[31]); relooperBlocks[1] = RelooperAddBlock(the_relooper, expressions[32]); RelooperAddBranch( @@ -175,8 +193,14 @@ int main() { the_relooper = RelooperCreate(the_module); expressions[34] = BinaryenLocalGet(the_module, 0, BinaryenTypeInt32()); expressions[35] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); - expressions[36] = BinaryenStore( - the_module, 4, 0, 0, expressions[35], expressions[34], BinaryenTypeInt32(), "0"); + expressions[36] = BinaryenStore(the_module, + 4, + 0, + 0, + expressions[35], + expressions[34], + BinaryenTypeInt32(), + "0"); expressions[37] = BinaryenReturn(the_module, expressions[0]); { BinaryenExpressionRef children[] = {expressions[36], expressions[37]}; @@ -185,8 +209,8 @@ int main() { } relooperBlocks[0] = RelooperAddBlock(the_relooper, expressions[38]); expressions[39] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); - expressions[40] = - BinaryenLoad(the_module, 4, 0, 0, 0, BinaryenTypeInt32(), expressions[39], "0"); + expressions[40] = BinaryenLoad( + the_module, 4, 0, 0, 0, BinaryenTypeInt32(), expressions[39], "0"); expressions[41] = BinaryenLocalSet(the_module, 0, expressions[40]); relooperBlocks[1] = RelooperAddBlock(the_relooper, expressions[41]); RelooperAddBranch( @@ -233,8 +257,14 @@ int main() { relooperBlocks[0] = RelooperAddBlock(the_relooper, expressions[49]); expressions[50] = BinaryenLocalGet(the_module, 3, BinaryenTypeInt32()); expressions[51] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); - expressions[52] = BinaryenStore( - the_module, 4, 0, 0, expressions[51], expressions[50], BinaryenTypeInt32(), "0"); + expressions[52] = BinaryenStore(the_module, + 4, + 0, + 0, + expressions[51], + expressions[50], + BinaryenTypeInt32(), + "0"); expressions[53] = BinaryenReturn(the_module, expressions[0]); { BinaryenExpressionRef children[] = {expressions[52], expressions[53]}; @@ -245,8 +275,8 @@ int main() { RelooperAddBranch( relooperBlocks[0], relooperBlocks[1], expressions[0], expressions[0]); expressions[55] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); - expressions[56] = - BinaryenLoad(the_module, 4, 0, 0, 0, BinaryenTypeInt32(), expressions[55], "0"); + expressions[56] = BinaryenLoad( + the_module, 4, 0, 0, 0, BinaryenTypeInt32(), expressions[55], "0"); expressions[57] = BinaryenLocalSet(the_module, 3, expressions[56]); relooperBlocks[2] = RelooperAddBlock(the_relooper, expressions[57]); RelooperAddBranch( @@ -288,20 +318,38 @@ int main() { BinaryenBinary(the_module, 36, expressions[72], expressions[71]); expressions[74] = BinaryenUnary(the_module, 24, expressions[73]); expressions[75] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); - expressions[76] = - BinaryenLoad(the_module, 4, 0, 0, 0, BinaryenTypeInt32(), expressions[75], "0"); + expressions[76] = BinaryenLoad( + the_module, 4, 0, 0, 0, BinaryenTypeInt32(), expressions[75], "0"); expressions[77] = BinaryenConst(the_module, BinaryenLiteralInt32(128)); expressions[78] = BinaryenBinary(the_module, 1, expressions[76], expressions[77]); expressions[79] = BinaryenLocalTee(the_module, 3, expressions[78], BinaryenTypeInt32()); - expressions[80] = BinaryenStore( - the_module, 4, 0, 0, expressions[75], expressions[79], BinaryenTypeInt32(), "0"); + expressions[80] = BinaryenStore(the_module, + 4, + 0, + 0, + expressions[75], + expressions[79], + BinaryenTypeInt32(), + "0"); expressions[81] = BinaryenLocalGet(the_module, 3, BinaryenTypeInt32()); - expressions[82] = BinaryenStore( - the_module, 4, 0, 0, expressions[81], expressions[70], BinaryenTypeInt32(), "0"); - expressions[83] = BinaryenStore( - the_module, 4, 4, 0, expressions[81], expressions[74], BinaryenTypeInt32(), "0"); + expressions[82] = BinaryenStore(the_module, + 4, + 0, + 0, + expressions[81], + expressions[70], + BinaryenTypeInt32(), + "0"); + expressions[83] = BinaryenStore(the_module, + 4, + 4, + 0, + expressions[81], + expressions[74], + BinaryenTypeInt32(), + "0"); { BinaryenExpressionRef children[] = {expressions[60], expressions[62], @@ -314,8 +362,8 @@ int main() { } relooperBlocks[0] = RelooperAddBlock(the_relooper, expressions[84]); expressions[85] = BinaryenLocalGet(the_module, 3, BinaryenTypeInt32()); - expressions[86] = - BinaryenLoad(the_module, 4, 0, 0, 0, BinaryenTypeInt32(), expressions[85], "0"); + expressions[86] = BinaryenLoad( + the_module, 4, 0, 0, 0, BinaryenTypeInt32(), expressions[85], "0"); expressions[87] = BinaryenLocalSet(the_module, 1, expressions[86]); expressions[88] = BinaryenLocalGet(the_module, 1, BinaryenTypeInt32()); expressions[89] = BinaryenLocalSet(the_module, 4, expressions[88]); @@ -323,8 +371,14 @@ int main() { expressions[91] = BinaryenLocalSet(the_module, 5, expressions[90]); expressions[92] = BinaryenLocalGet(the_module, 6, BinaryenTypeInt32()); expressions[93] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); - expressions[94] = BinaryenStore( - the_module, 4, 0, 0, expressions[93], expressions[92], BinaryenTypeInt32(), "0"); + expressions[94] = BinaryenStore(the_module, + 4, + 0, + 0, + expressions[93], + expressions[92], + BinaryenTypeInt32(), + "0"); expressions[95] = BinaryenLocalGet(the_module, 5, BinaryenTypeInt32()); expressions[96] = BinaryenReturn(the_module, expressions[95]); { @@ -338,8 +392,8 @@ int main() { } relooperBlocks[1] = RelooperAddBlock(the_relooper, expressions[97]); expressions[98] = BinaryenLocalGet(the_module, 3, BinaryenTypeInt32()); - expressions[99] = - BinaryenLoad(the_module, 4, 0, 8, 0, BinaryenTypeInt32(), expressions[98], "0"); + expressions[99] = BinaryenLoad( + the_module, 4, 0, 8, 0, BinaryenTypeInt32(), expressions[98], "0"); RelooperAddBranch( relooperBlocks[0], relooperBlocks[1], expressions[99], expressions[0]); expressions[100] = BinaryenUnreachable(the_module); @@ -347,8 +401,8 @@ int main() { RelooperAddBranch( relooperBlocks[0], relooperBlocks[2], expressions[0], expressions[0]); expressions[101] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); - expressions[102] = - BinaryenLoad(the_module, 4, 0, 0, 0, BinaryenTypeInt32(), expressions[101], "0"); + expressions[102] = BinaryenLoad( + the_module, 4, 0, 0, 0, BinaryenTypeInt32(), expressions[101], "0"); expressions[103] = BinaryenLocalSet(the_module, 6, expressions[102]); relooperBlocks[3] = RelooperAddBlock(the_relooper, expressions[103]); RelooperAddBranch( @@ -404,8 +458,8 @@ int main() { BinaryenBinary(the_module, 36, expressions[119], expressions[118]); expressions[121] = BinaryenUnary(the_module, 24, expressions[120]); expressions[122] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); - expressions[123] = - BinaryenLoad(the_module, 4, 0, 0, 0, BinaryenTypeInt32(), expressions[122], "0"); + expressions[123] = BinaryenLoad( + the_module, 4, 0, 0, 0, BinaryenTypeInt32(), expressions[122], "0"); expressions[124] = BinaryenConst(the_module, BinaryenLiteralInt32(128)); expressions[125] = BinaryenBinary(the_module, 1, expressions[123], expressions[124]); @@ -444,8 +498,8 @@ int main() { } relooperBlocks[1] = RelooperAddBlock(the_relooper, expressions[131]); expressions[132] = BinaryenLocalGet(the_module, 5, BinaryenTypeInt32()); - expressions[133] = - BinaryenLoad(the_module, 4, 0, 0, 0, BinaryenTypeInt32(), expressions[132], "0"); + expressions[133] = BinaryenLoad( + the_module, 4, 0, 0, 0, BinaryenTypeInt32(), expressions[132], "0"); expressions[134] = BinaryenLocalSet(the_module, 3, expressions[133]); expressions[135] = BinaryenLocalGet(the_module, 3, BinaryenTypeInt32()); expressions[136] = BinaryenLocalSet(the_module, 6, expressions[135]); @@ -488,8 +542,8 @@ int main() { RelooperAddBranch( relooperBlocks[0], relooperBlocks[1], expressions[0], expressions[0]); expressions[150] = BinaryenLocalGet(the_module, 5, BinaryenTypeInt32()); - expressions[151] = - BinaryenLoad(the_module, 4, 0, 8, 0, BinaryenTypeInt32(), expressions[150], "0"); + expressions[151] = BinaryenLoad( + the_module, 4, 0, 8, 0, BinaryenTypeInt32(), expressions[150], "0"); RelooperAddBranch( relooperBlocks[1], relooperBlocks[2], expressions[151], expressions[0]); expressions[152] = BinaryenUnreachable(the_module); @@ -499,8 +553,8 @@ int main() { RelooperAddBranch( relooperBlocks[2], relooperBlocks[3], expressions[0], expressions[0]); expressions[153] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); - expressions[154] = - BinaryenLoad(the_module, 4, 0, 0, 0, BinaryenTypeInt32(), expressions[153], "0"); + expressions[154] = BinaryenLoad( + the_module, 4, 0, 0, 0, BinaryenTypeInt32(), expressions[153], "0"); expressions[155] = BinaryenLocalSet(the_module, 9, expressions[154]); relooperBlocks[5] = RelooperAddBlock(the_relooper, expressions[155]); RelooperAddBranch( @@ -605,8 +659,8 @@ int main() { BinaryenBinary(the_module, 36, expressions[182], expressions[181]); expressions[184] = BinaryenUnary(the_module, 24, expressions[183]); expressions[185] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); - expressions[186] = - BinaryenLoad(the_module, 4, 0, 0, 0, BinaryenTypeInt32(), expressions[185], "0"); + expressions[186] = BinaryenLoad( + the_module, 4, 0, 0, 0, BinaryenTypeInt32(), expressions[185], "0"); expressions[187] = BinaryenConst(the_module, BinaryenLiteralInt32(128)); expressions[188] = BinaryenBinary(the_module, 1, expressions[186], expressions[187]); @@ -651,8 +705,8 @@ int main() { } relooperBlocks[0] = RelooperAddBlock(the_relooper, expressions[194]); expressions[195] = BinaryenLocalGet(the_module, 6, BinaryenTypeInt32()); - expressions[196] = - BinaryenLoad(the_module, 4, 0, 0, 0, BinaryenTypeInt32(), expressions[195], "0"); + expressions[196] = BinaryenLoad( + the_module, 4, 0, 0, 0, BinaryenTypeInt32(), expressions[195], "0"); expressions[197] = BinaryenLocalSet(the_module, 7, expressions[196]); expressions[198] = BinaryenLocalGet(the_module, 8, BinaryenTypeInt32()); expressions[199] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); @@ -674,8 +728,8 @@ int main() { } relooperBlocks[1] = RelooperAddBlock(the_relooper, expressions[203]); expressions[204] = BinaryenLocalGet(the_module, 6, BinaryenTypeInt32()); - expressions[205] = - BinaryenLoad(the_module, 4, 0, 8, 0, BinaryenTypeInt32(), expressions[204], "0"); + expressions[205] = BinaryenLoad( + the_module, 4, 0, 8, 0, BinaryenTypeInt32(), expressions[204], "0"); RelooperAddBranch( relooperBlocks[0], relooperBlocks[1], expressions[205], expressions[0]); expressions[206] = BinaryenUnreachable(the_module); @@ -683,8 +737,8 @@ int main() { RelooperAddBranch( relooperBlocks[0], relooperBlocks[2], expressions[0], expressions[0]); expressions[207] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); - expressions[208] = - BinaryenLoad(the_module, 4, 0, 0, 0, BinaryenTypeInt32(), expressions[207], "0"); + expressions[208] = BinaryenLoad( + the_module, 4, 0, 0, 0, BinaryenTypeInt32(), expressions[207], "0"); expressions[209] = BinaryenLocalSet(the_module, 8, expressions[208]); relooperBlocks[3] = RelooperAddBlock(the_relooper, expressions[209]); RelooperAddBranch( @@ -745,8 +799,8 @@ int main() { } relooperBlocks[0] = RelooperAddBlock(the_relooper, expressions[223]); expressions[224] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); - expressions[225] = - BinaryenLoad(the_module, 4, 0, 0, 0, BinaryenTypeInt32(), expressions[224], "0"); + expressions[225] = BinaryenLoad( + the_module, 4, 0, 0, 0, BinaryenTypeInt32(), expressions[224], "0"); expressions[226] = BinaryenLocalSet(the_module, 4, expressions[225]); relooperBlocks[1] = RelooperAddBlock(the_relooper, expressions[226]); RelooperAddBranch( @@ -809,8 +863,8 @@ int main() { } relooperBlocks[0] = RelooperAddBlock(the_relooper, expressions[245]); expressions[246] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); - expressions[247] = - BinaryenLoad(the_module, 4, 0, 0, 0, BinaryenTypeInt32(), expressions[246], "0"); + expressions[247] = BinaryenLoad( + the_module, 4, 0, 0, 0, BinaryenTypeInt32(), expressions[246], "0"); expressions[248] = BinaryenLocalSet(the_module, 7, expressions[247]); relooperBlocks[1] = RelooperAddBlock(the_relooper, expressions[248]); RelooperAddBranch( @@ -878,8 +932,8 @@ int main() { } relooperBlocks[0] = RelooperAddBlock(the_relooper, expressions[267]); expressions[268] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); - expressions[269] = - BinaryenLoad(the_module, 4, 0, 0, 0, BinaryenTypeInt64(), expressions[268], "0"); + expressions[269] = BinaryenLoad( + the_module, 4, 0, 0, 0, BinaryenTypeInt64(), expressions[268], "0"); expressions[270] = BinaryenLocalSet(the_module, 7, expressions[269]); relooperBlocks[1] = RelooperAddBlock(the_relooper, expressions[270]); RelooperAddBranch( diff --git a/test/example/c-api-unused-mem.cpp b/test/example/c-api-unused-mem.cpp index e67c39b080f..6c0fd14c180 100644 --- a/test/example/c-api-unused-mem.cpp +++ b/test/example/c-api-unused-mem.cpp @@ -41,8 +41,14 @@ int main() { relooperBlocks[0] = RelooperAddBlock(the_relooper, expressions[1]); expressions[2] = BinaryenLocalGet(the_module, 0, BinaryenTypeInt32()); expressions[3] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); - expressions[4] = BinaryenStore( - the_module, 4, 0, 0, expressions[3], expressions[2], BinaryenTypeInt32(), "0"); + expressions[4] = BinaryenStore(the_module, + 4, + 0, + 0, + expressions[3], + expressions[2], + BinaryenTypeInt32(), + "0"); expressions[5] = BinaryenReturn(the_module, expressions[0]); { BinaryenExpressionRef children[] = {expressions[4], expressions[5]}; @@ -53,8 +59,8 @@ int main() { RelooperAddBranch( relooperBlocks[0], relooperBlocks[1], expressions[0], expressions[0]); expressions[7] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); - expressions[8] = - BinaryenLoad(the_module, 4, 0, 0, 0, BinaryenTypeInt32(), expressions[7], "0"); + expressions[8] = BinaryenLoad( + the_module, 4, 0, 0, 0, BinaryenTypeInt32(), expressions[7], "0"); expressions[9] = BinaryenLocalSet(the_module, 0, expressions[8]); relooperBlocks[2] = RelooperAddBlock(the_relooper, expressions[9]); RelooperAddBranch( @@ -92,8 +98,14 @@ int main() { } expressions[11] = BinaryenConst(the_module, BinaryenLiteralInt32(65535)); expressions[12] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); - expressions[13] = BinaryenStore( - the_module, 4, 0, 0, expressions[12], expressions[11], BinaryenTypeInt32(), "0"); + expressions[13] = BinaryenStore(the_module, + 4, + 0, + 0, + expressions[12], + expressions[11], + BinaryenTypeInt32(), + "0"); { BinaryenExpressionRef operands[] = {0}; expressions[14] = diff --git a/test/example/relooper-fuzz.c b/test/example/relooper-fuzz.c index 27b119bb032..f0b727f4ce4 100644 --- a/test/example/relooper-fuzz.c +++ b/test/example/relooper-fuzz.c @@ -57,22 +57,21 @@ int main() { module, BinaryenSubInt32(), BinaryenConst(module, BinaryenLiteralInt32(0)), - BinaryenLoad( - module, - 4, - 0, - 4, - 0, - BinaryenTypeInt32(), - BinaryenLoad(module, - 4, - 0, - 0, - 0, - BinaryenTypeInt32(), - BinaryenConst(module, BinaryenLiteralInt32(4)), - "0"), - "0"))}; + BinaryenLoad(module, + 4, + 0, + 4, + 0, + BinaryenTypeInt32(), + BinaryenLoad(module, + 4, + 0, + 0, + 0, + BinaryenTypeInt32(), + BinaryenConst(module, BinaryenLiteralInt32(4)), + "0"), + "0"))}; BinaryenExpressionRef debugger; if (1) debugger = BinaryenCall(module, "print", args, 1, BinaryenTypeNone()); diff --git a/test/example/relooper-fuzz1.c b/test/example/relooper-fuzz1.c index 32fb076778a..f481fe713ac 100644 --- a/test/example/relooper-fuzz1.c +++ b/test/example/relooper-fuzz1.c @@ -55,22 +55,21 @@ int main() { module, BinaryenSubInt32(), BinaryenConst(module, BinaryenLiteralInt32(0)), - BinaryenLoad( - module, - 4, - 0, - 4, - 0, - BinaryenTypeInt32(), - BinaryenLoad(module, - 4, - 0, - 0, - 0, - BinaryenTypeInt32(), - BinaryenConst(module, BinaryenLiteralInt32(4)), - "0"), - "0"))}; + BinaryenLoad(module, + 4, + 0, + 4, + 0, + BinaryenTypeInt32(), + BinaryenLoad(module, + 4, + 0, + 0, + 0, + BinaryenTypeInt32(), + BinaryenConst(module, BinaryenLiteralInt32(4)), + "0"), + "0"))}; BinaryenExpressionRef debugger; if (1) debugger = BinaryenCall(module, "print", args, 1, BinaryenTypeNone()); diff --git a/test/example/relooper-fuzz2.c b/test/example/relooper-fuzz2.c index ff12c4e1d33..c179606a0fc 100644 --- a/test/example/relooper-fuzz2.c +++ b/test/example/relooper-fuzz2.c @@ -55,22 +55,21 @@ int main() { module, BinaryenSubInt32(), BinaryenConst(module, BinaryenLiteralInt32(0)), - BinaryenLoad( - module, - 4, - 0, - 4, - 0, - BinaryenTypeInt32(), - BinaryenLoad(module, - 4, - 0, - 0, - 0, - BinaryenTypeInt32(), - BinaryenConst(module, BinaryenLiteralInt32(4)), - "0"), - "0"))}; + BinaryenLoad(module, + 4, + 0, + 4, + 0, + BinaryenTypeInt32(), + BinaryenLoad(module, + 4, + 0, + 0, + 0, + BinaryenTypeInt32(), + BinaryenConst(module, BinaryenLiteralInt32(4)), + "0"), + "0"))}; BinaryenExpressionRef debugger; if (1) debugger = BinaryenCall(module, "print", args, 1, BinaryenTypeNone()); @@ -273,51 +272,49 @@ int main() { b0, b1, NULL, - BinaryenStore( - module, - 4, - 0, - 0, - BinaryenConst(module, BinaryenLiteralInt32(4)), - BinaryenBinary( - module, - BinaryenAddInt32(), - BinaryenLoad(module, - 4, - 0, - 0, - 0, - BinaryenTypeInt32(), - BinaryenConst(module, BinaryenLiteralInt32(4)), - "0"), - BinaryenConst(module, BinaryenLiteralInt32(4 * 4))), - BinaryenTypeInt32(), - "0")); + BinaryenStore(module, + 4, + 0, + 0, + BinaryenConst(module, BinaryenLiteralInt32(4)), + BinaryenBinary( + module, + BinaryenAddInt32(), + BinaryenLoad(module, + 4, + 0, + 0, + 0, + BinaryenTypeInt32(), + BinaryenConst(module, BinaryenLiteralInt32(4)), + "0"), + BinaryenConst(module, BinaryenLiteralInt32(4 * 4))), + BinaryenTypeInt32(), + "0")); RelooperAddBranch( b1, b1, NULL, - BinaryenStore( - module, - 4, - 0, - 0, - BinaryenConst(module, BinaryenLiteralInt32(4)), - BinaryenBinary( - module, - BinaryenAddInt32(), - BinaryenLoad(module, - 4, - 0, - 0, - 0, - BinaryenTypeInt32(), - BinaryenConst(module, BinaryenLiteralInt32(4)), - "0"), - BinaryenConst(module, BinaryenLiteralInt32(4 * 4))), - BinaryenTypeInt32(), - "0")); + BinaryenStore(module, + 4, + 0, + 0, + BinaryenConst(module, BinaryenLiteralInt32(4)), + BinaryenBinary( + module, + BinaryenAddInt32(), + BinaryenLoad(module, + 4, + 0, + 0, + 0, + BinaryenTypeInt32(), + BinaryenConst(module, BinaryenLiteralInt32(4)), + "0"), + BinaryenConst(module, BinaryenLiteralInt32(4 * 4))), + BinaryenTypeInt32(), + "0")); { BinaryenIndex values[] = {0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, @@ -356,52 +353,50 @@ int main() { b4, NULL, 0, - BinaryenStore( - module, - 4, - 0, - 0, - BinaryenConst(module, BinaryenLiteralInt32(4)), - BinaryenBinary( - module, - BinaryenAddInt32(), - BinaryenLoad(module, - 4, - 0, - 0, - 0, - BinaryenTypeInt32(), - BinaryenConst(module, BinaryenLiteralInt32(4)), - "0"), - BinaryenConst(module, BinaryenLiteralInt32(4 * 4))), - BinaryenTypeInt32(), - "0")); + BinaryenStore(module, + 4, + 0, + 0, + BinaryenConst(module, BinaryenLiteralInt32(4)), + BinaryenBinary( + module, + BinaryenAddInt32(), + BinaryenLoad(module, + 4, + 0, + 0, + 0, + BinaryenTypeInt32(), + BinaryenConst(module, BinaryenLiteralInt32(4)), + "0"), + BinaryenConst(module, BinaryenLiteralInt32(4 * 4))), + BinaryenTypeInt32(), + "0")); RelooperAddBranchForSwitch( b3, b6, NULL, 0, - BinaryenStore( - module, - 4, - 0, - 0, - BinaryenConst(module, BinaryenLiteralInt32(4)), - BinaryenBinary( - module, - BinaryenAddInt32(), - BinaryenLoad(module, - 4, - 0, - 0, - 0, - BinaryenTypeInt32(), - BinaryenConst(module, BinaryenLiteralInt32(4)), - "0"), - BinaryenConst(module, BinaryenLiteralInt32(4 * 5))), - BinaryenTypeInt32(), - "0")); + BinaryenStore(module, + 4, + 0, + 0, + BinaryenConst(module, BinaryenLiteralInt32(4)), + BinaryenBinary( + module, + BinaryenAddInt32(), + BinaryenLoad(module, + 4, + 0, + 0, + 0, + BinaryenTypeInt32(), + BinaryenConst(module, BinaryenLiteralInt32(4)), + "0"), + BinaryenConst(module, BinaryenLiteralInt32(4 * 5))), + BinaryenTypeInt32(), + "0")); RelooperAddBranch( b4, @@ -414,77 +409,74 @@ int main() { BinaryenLocalGet(module, 0, BinaryenTypeInt32()), BinaryenConst(module, BinaryenLiteralInt32(2))), BinaryenConst(module, BinaryenLiteralInt32(0))), - BinaryenStore( - module, - 4, - 0, - 0, - BinaryenConst(module, BinaryenLiteralInt32(4)), - BinaryenBinary( - module, - BinaryenAddInt32(), - BinaryenLoad(module, - 4, - 0, - 0, - 0, - BinaryenTypeInt32(), - BinaryenConst(module, BinaryenLiteralInt32(4)), - "0"), - BinaryenConst(module, BinaryenLiteralInt32(4 * 5))), - BinaryenTypeInt32(), - "0")); + BinaryenStore(module, + 4, + 0, + 0, + BinaryenConst(module, BinaryenLiteralInt32(4)), + BinaryenBinary( + module, + BinaryenAddInt32(), + BinaryenLoad(module, + 4, + 0, + 0, + 0, + BinaryenTypeInt32(), + BinaryenConst(module, BinaryenLiteralInt32(4)), + "0"), + BinaryenConst(module, BinaryenLiteralInt32(4 * 5))), + BinaryenTypeInt32(), + "0")); RelooperAddBranch( b4, b3, NULL, - BinaryenStore( - module, - 4, - 0, - 0, - BinaryenConst(module, BinaryenLiteralInt32(4)), - BinaryenBinary( - module, - BinaryenAddInt32(), - BinaryenLoad(module, - 4, - 0, - 0, - 0, - BinaryenTypeInt32(), - BinaryenConst(module, BinaryenLiteralInt32(4)), - "0"), - BinaryenConst(module, BinaryenLiteralInt32(4 * 3))), - BinaryenTypeInt32(), - "0")); + BinaryenStore(module, + 4, + 0, + 0, + BinaryenConst(module, BinaryenLiteralInt32(4)), + BinaryenBinary( + module, + BinaryenAddInt32(), + BinaryenLoad(module, + 4, + 0, + 0, + 0, + BinaryenTypeInt32(), + BinaryenConst(module, BinaryenLiteralInt32(4)), + "0"), + BinaryenConst(module, BinaryenLiteralInt32(4 * 3))), + BinaryenTypeInt32(), + "0")); RelooperAddBranchForSwitch( b5, b1, NULL, 0, - BinaryenStore( - module, - 4, - 0, - 0, - BinaryenConst(module, BinaryenLiteralInt32(4)), - BinaryenBinary( - module, - BinaryenAddInt32(), - BinaryenLoad(module, - 4, - 0, - 0, - 0, - BinaryenTypeInt32(), - BinaryenConst(module, BinaryenLiteralInt32(4)), - "0"), - BinaryenConst(module, BinaryenLiteralInt32(4 * 4))), - BinaryenTypeInt32(), - "0")); + BinaryenStore(module, + 4, + 0, + 0, + BinaryenConst(module, BinaryenLiteralInt32(4)), + BinaryenBinary( + module, + BinaryenAddInt32(), + BinaryenLoad(module, + 4, + 0, + 0, + 0, + BinaryenTypeInt32(), + BinaryenConst(module, BinaryenLiteralInt32(4)), + "0"), + BinaryenConst(module, BinaryenLiteralInt32(4 * 4))), + BinaryenTypeInt32(), + "0")); { BinaryenIndex values[] = {0, 3, 6, 9, 12, 15, 18, 21, 24, 27, @@ -556,26 +548,25 @@ int main() { b2, NULL, 0, - BinaryenStore( - module, - 4, - 0, - 0, - BinaryenConst(module, BinaryenLiteralInt32(4)), - BinaryenBinary( - module, - BinaryenAddInt32(), - BinaryenLoad(module, - 4, - 0, - 0, - 0, - BinaryenTypeInt32(), - BinaryenConst(module, BinaryenLiteralInt32(4)), - "0"), - BinaryenConst(module, BinaryenLiteralInt32(4 * 3))), - BinaryenTypeInt32(), - "0")); + BinaryenStore(module, + 4, + 0, + 0, + BinaryenConst(module, BinaryenLiteralInt32(4)), + BinaryenBinary( + module, + BinaryenAddInt32(), + BinaryenLoad(module, + 4, + 0, + 0, + 0, + BinaryenTypeInt32(), + BinaryenConst(module, BinaryenLiteralInt32(4)), + "0"), + BinaryenConst(module, BinaryenLiteralInt32(4 * 3))), + BinaryenTypeInt32(), + "0")); RelooperAddBranch( b7, @@ -588,76 +579,73 @@ int main() { BinaryenLocalGet(module, 0, BinaryenTypeInt32()), BinaryenConst(module, BinaryenLiteralInt32(2))), BinaryenConst(module, BinaryenLiteralInt32(0))), - BinaryenStore( - module, - 4, - 0, - 0, - BinaryenConst(module, BinaryenLiteralInt32(4)), - BinaryenBinary( - module, - BinaryenAddInt32(), - BinaryenLoad(module, - 4, - 0, - 0, - 0, - BinaryenTypeInt32(), - BinaryenConst(module, BinaryenLiteralInt32(4)), - "0"), - BinaryenConst(module, BinaryenLiteralInt32(4 * 1))), - BinaryenTypeInt32(), - "0")); + BinaryenStore(module, + 4, + 0, + 0, + BinaryenConst(module, BinaryenLiteralInt32(4)), + BinaryenBinary( + module, + BinaryenAddInt32(), + BinaryenLoad(module, + 4, + 0, + 0, + 0, + BinaryenTypeInt32(), + BinaryenConst(module, BinaryenLiteralInt32(4)), + "0"), + BinaryenConst(module, BinaryenLiteralInt32(4 * 1))), + BinaryenTypeInt32(), + "0")); RelooperAddBranch( b7, b1, NULL, - BinaryenStore( - module, - 4, - 0, - 0, - BinaryenConst(module, BinaryenLiteralInt32(4)), - BinaryenBinary( - module, - BinaryenAddInt32(), - BinaryenLoad(module, - 4, - 0, - 0, - 0, - BinaryenTypeInt32(), - BinaryenConst(module, BinaryenLiteralInt32(4)), - "0"), - BinaryenConst(module, BinaryenLiteralInt32(4 * 4))), - BinaryenTypeInt32(), - "0")); + BinaryenStore(module, + 4, + 0, + 0, + BinaryenConst(module, BinaryenLiteralInt32(4)), + BinaryenBinary( + module, + BinaryenAddInt32(), + BinaryenLoad(module, + 4, + 0, + 0, + 0, + BinaryenTypeInt32(), + BinaryenConst(module, BinaryenLiteralInt32(4)), + "0"), + BinaryenConst(module, BinaryenLiteralInt32(4 * 4))), + BinaryenTypeInt32(), + "0")); RelooperAddBranch( b8, b8, NULL, - BinaryenStore( - module, - 4, - 0, - 0, - BinaryenConst(module, BinaryenLiteralInt32(4)), - BinaryenBinary( - module, - BinaryenAddInt32(), - BinaryenLoad(module, - 4, - 0, - 0, - 0, - BinaryenTypeInt32(), - BinaryenConst(module, BinaryenLiteralInt32(4)), - "0"), - BinaryenConst(module, BinaryenLiteralInt32(4 * 2))), - BinaryenTypeInt32(), - "0")); + BinaryenStore(module, + 4, + 0, + 0, + BinaryenConst(module, BinaryenLiteralInt32(4)), + BinaryenBinary( + module, + BinaryenAddInt32(), + BinaryenLoad(module, + 4, + 0, + 0, + 0, + BinaryenTypeInt32(), + BinaryenConst(module, BinaryenLiteralInt32(4)), + "0"), + BinaryenConst(module, BinaryenLiteralInt32(4 * 2))), + BinaryenTypeInt32(), + "0")); BinaryenExpressionRef body = RelooperRenderAndDispose(relooper, b0, 1); diff --git a/test/example/relooper-merge1.c b/test/example/relooper-merge1.c index 7e0cebfe4f8..f7939adc620 100644 --- a/test/example/relooper-merge1.c +++ b/test/example/relooper-merge1.c @@ -55,22 +55,21 @@ int main() { module, BinaryenSubInt32(), BinaryenConst(module, BinaryenLiteralInt32(0)), - BinaryenLoad( - module, - 4, - 0, - 4, - 0, - BinaryenTypeInt32(), - BinaryenLoad(module, - 4, - 0, - 0, - 0, - BinaryenTypeInt32(), - BinaryenConst(module, BinaryenLiteralInt32(4)), - "0"), - "0"))}; + BinaryenLoad(module, + 4, + 0, + 4, + 0, + BinaryenTypeInt32(), + BinaryenLoad(module, + 4, + 0, + 0, + 0, + BinaryenTypeInt32(), + BinaryenConst(module, BinaryenLiteralInt32(4)), + "0"), + "0"))}; BinaryenExpressionRef debugger; if (1) debugger = BinaryenCall(module, "print", args, 1, BinaryenTypeNone()); diff --git a/test/example/relooper-merge2.c b/test/example/relooper-merge2.c index 72306583ba7..be8fba5002f 100644 --- a/test/example/relooper-merge2.c +++ b/test/example/relooper-merge2.c @@ -55,22 +55,21 @@ int main() { module, BinaryenSubInt32(), BinaryenConst(module, BinaryenLiteralInt32(0)), - BinaryenLoad( - module, - 4, - 0, - 4, - 0, - BinaryenTypeInt32(), - BinaryenLoad(module, - 4, - 0, - 0, - 0, - BinaryenTypeInt32(), - BinaryenConst(module, BinaryenLiteralInt32(4)), - "0"), - "0"))}; + BinaryenLoad(module, + 4, + 0, + 4, + 0, + BinaryenTypeInt32(), + BinaryenLoad(module, + 4, + 0, + 0, + 0, + BinaryenTypeInt32(), + BinaryenConst(module, BinaryenLiteralInt32(4)), + "0"), + "0"))}; BinaryenExpressionRef debugger; if (1) debugger = BinaryenCall(module, "print", args, 1, BinaryenTypeNone()); diff --git a/test/example/relooper-merge3.c b/test/example/relooper-merge3.c index 60acac17eed..f1e3d8a54b4 100644 --- a/test/example/relooper-merge3.c +++ b/test/example/relooper-merge3.c @@ -55,22 +55,21 @@ int main() { module, BinaryenSubInt32(), BinaryenConst(module, BinaryenLiteralInt32(0)), - BinaryenLoad( - module, - 4, - 0, - 4, - 0, - BinaryenTypeInt32(), - BinaryenLoad(module, - 4, - 0, - 0, - 0, - BinaryenTypeInt32(), - BinaryenConst(module, BinaryenLiteralInt32(4)), - "0"), - "0"))}; + BinaryenLoad(module, + 4, + 0, + 4, + 0, + BinaryenTypeInt32(), + BinaryenLoad(module, + 4, + 0, + 0, + 0, + BinaryenTypeInt32(), + BinaryenConst(module, BinaryenLiteralInt32(4)), + "0"), + "0"))}; BinaryenExpressionRef debugger; if (1) debugger = BinaryenCall(module, "print", args, 1, BinaryenTypeNone()); diff --git a/test/example/relooper-merge4.c b/test/example/relooper-merge4.c index e6f6a2b4d93..b379800dd62 100644 --- a/test/example/relooper-merge4.c +++ b/test/example/relooper-merge4.c @@ -55,22 +55,21 @@ int main() { module, BinaryenSubInt32(), BinaryenConst(module, BinaryenLiteralInt32(0)), - BinaryenLoad( - module, - 4, - 0, - 4, - 0, - BinaryenTypeInt32(), - BinaryenLoad(module, - 4, - 0, - 0, - 0, - BinaryenTypeInt32(), - BinaryenConst(module, BinaryenLiteralInt32(4)), - "0"), - "0"))}; + BinaryenLoad(module, + 4, + 0, + 4, + 0, + BinaryenTypeInt32(), + BinaryenLoad(module, + 4, + 0, + 0, + 0, + BinaryenTypeInt32(), + BinaryenConst(module, BinaryenLiteralInt32(4)), + "0"), + "0"))}; BinaryenExpressionRef debugger; if (1) debugger = BinaryenCall(module, "print", args, 1, BinaryenTypeNone()); diff --git a/test/example/relooper-merge5.c b/test/example/relooper-merge5.c index 0b4633b4f1a..d678a630ed5 100644 --- a/test/example/relooper-merge5.c +++ b/test/example/relooper-merge5.c @@ -55,22 +55,21 @@ int main() { module, BinaryenSubInt32(), BinaryenConst(module, BinaryenLiteralInt32(0)), - BinaryenLoad( - module, - 4, - 0, - 4, - 0, - BinaryenTypeInt32(), - BinaryenLoad(module, - 4, - 0, - 0, - 0, - BinaryenTypeInt32(), - BinaryenConst(module, BinaryenLiteralInt32(4)), - "0"), - "0"))}; + BinaryenLoad(module, + 4, + 0, + 4, + 0, + BinaryenTypeInt32(), + BinaryenLoad(module, + 4, + 0, + 0, + 0, + BinaryenTypeInt32(), + BinaryenConst(module, BinaryenLiteralInt32(4)), + "0"), + "0"))}; BinaryenExpressionRef debugger; if (1) debugger = BinaryenCall(module, "print", args, 1, BinaryenTypeNone()); diff --git a/test/example/relooper-merge6.c b/test/example/relooper-merge6.c index 1fbcb0bd5b0..9d9d33361a3 100644 --- a/test/example/relooper-merge6.c +++ b/test/example/relooper-merge6.c @@ -55,22 +55,21 @@ int main() { module, BinaryenSubInt32(), BinaryenConst(module, BinaryenLiteralInt32(0)), - BinaryenLoad( - module, - 4, - 0, - 4, - 0, - BinaryenTypeInt32(), - BinaryenLoad(module, - 4, - 0, - 0, - 0, - BinaryenTypeInt32(), - BinaryenConst(module, BinaryenLiteralInt32(4)), - "0"), - "0"))}; + BinaryenLoad(module, + 4, + 0, + 4, + 0, + BinaryenTypeInt32(), + BinaryenLoad(module, + 4, + 0, + 0, + 0, + BinaryenTypeInt32(), + BinaryenConst(module, BinaryenLiteralInt32(4)), + "0"), + "0"))}; BinaryenExpressionRef debugger; if (1) debugger = BinaryenCall(module, "print", args, 1, BinaryenTypeNone()); From 5018f490e3578db298a1d98532a6f60092baee40 Mon Sep 17 00:00:00 2001 From: Ashley Nelson Date: Mon, 18 Jul 2022 18:06:00 +0000 Subject: [PATCH 44/78] lint --- src/passes/SafeHeap.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/passes/SafeHeap.cpp b/src/passes/SafeHeap.cpp index 7f6115d0f0c..daa3a53acd5 100644 --- a/src/passes/SafeHeap.cpp +++ b/src/passes/SafeHeap.cpp @@ -389,8 +389,7 @@ struct SafeHeap : public Pass { bool is64, Name memory) { auto upperOp = is64 ? options.lowMemoryUnused ? LtUInt64 : EqInt64 - : options.lowMemoryUnused ? LtUInt32 - : EqInt32; + : options.lowMemoryUnused ? LtUInt32 : EqInt32; auto upperBound = options.lowMemoryUnused ? PassOptions::LowMemoryBound : 0; Expression* brkLocation; if (sbrk.is()) { From 5c41ffe910bb61bdfd5ac7b702cdf1afcd73d944 Mon Sep 17 00:00:00 2001 From: Ashley Nelson Date: Mon, 18 Jul 2022 18:29:39 +0000 Subject: [PATCH 45/78] CI build error --- src/shell-interface.h | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/shell-interface.h b/src/shell-interface.h index 9e4ee1e565e..250ef46b4b1 100644 --- a/src/shell-interface.h +++ b/src/shell-interface.h @@ -57,7 +57,6 @@ struct ShellExternalInterface : ModuleRunner::ExternalInterface { static_assert(!(sizeof(T) & (sizeof(T) - 1)), "must be a power of 2"); return 0 == (reinterpret_cast(address) & (sizeof(T) - 1)); } - Memory(Memory&) = delete; public: Memory() = default; @@ -93,8 +92,8 @@ struct ShellExternalInterface : ModuleRunner::ExternalInterface { } }; - std::unordered_map memories; - std::unordered_map> tables; + std::map memories; + std::map> tables; std::map> linkedInstances; ShellExternalInterface( From d820c7610991c114d60146adf423a47fc6ab80d6 Mon Sep 17 00:00:00 2001 From: Ashley Nelson Date: Mon, 18 Jul 2022 18:30:55 +0000 Subject: [PATCH 46/78] lint --- src/passes/SafeHeap.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/passes/SafeHeap.cpp b/src/passes/SafeHeap.cpp index daa3a53acd5..a746a67abc1 100644 --- a/src/passes/SafeHeap.cpp +++ b/src/passes/SafeHeap.cpp @@ -389,7 +389,7 @@ struct SafeHeap : public Pass { bool is64, Name memory) { auto upperOp = is64 ? options.lowMemoryUnused ? LtUInt64 : EqInt64 - : options.lowMemoryUnused ? LtUInt32 : EqInt32; + : options.lowMemoryUnused ? LtUInt32 : EqInt32; auto upperBound = options.lowMemoryUnused ? PassOptions::LowMemoryBound : 0; Expression* brkLocation; if (sbrk.is()) { From 0e90a2b22d40fc14e1981ad1ed62111d454f2af0 Mon Sep 17 00:00:00 2001 From: Ashley Nelson Date: Mon, 18 Jul 2022 18:57:11 +0000 Subject: [PATCH 47/78] removing print_trace --- src/wasm/wasm.cpp | 30 ------------------------------ 1 file changed, 30 deletions(-) diff --git a/src/wasm/wasm.cpp b/src/wasm/wasm.cpp index 56a360d6efb..574eb5c476b 100644 --- a/src/wasm/wasm.cpp +++ b/src/wasm/wasm.cpp @@ -1309,36 +1309,6 @@ void Function::clearDebugInfo() { prologLocation.clear(); epilogLocation.clear(); } -#include -#include -#include -#include - -void print_trace() { - char pid_buf[30]; - sprintf(pid_buf, "%d", getpid()); - char name_buf[512]; - name_buf[readlink("/proc/self/exe", name_buf, 511)] = 0; - prctl(PR_SET_PTRACER, PR_SET_PTRACER_ANY, 0, 0, 0); - int child_pid = fork(); - if (!child_pid) { - dup2(2, 1); // redirect output to stderr - edit: unnecessary? - execl("/usr/bin/gdb", - "gdb", - "--batch", - "-n", - "-ex", - "thread", - "-ex", - "bt", - name_buf, - pid_buf, - NULL); - abort(); /* If gdb failed to start */ - } else { - waitpid(child_pid, NULL, 0); - } -} template typename Map::mapped_type& From ab6fb81f3d7be03b6437b4fffaf70293675b546b Mon Sep 17 00:00:00 2001 From: Ashley Nelson Date: Thu, 21 Jul 2022 21:59:56 +0000 Subject: [PATCH 48/78] Resolving binaryen_js test errors --- src/binaryen-c.cpp | 87 ++++++++++++++++++++++++---- src/binaryen-c.h | 6 ++ src/js/binaryen.js-post.js | 14 +++-- test/binaryen.js/expressions.js | 16 ++++- test/binaryen.js/kitchen-sink.js | 29 +++++----- test/binaryen.js/kitchen-sink.js.txt | 4 +- test/binaryen.js/memory-info.js.txt | 4 +- test/binaryen.js/sideffects.js | 1 + 8 files changed, 125 insertions(+), 36 deletions(-) diff --git a/src/binaryen-c.cpp b/src/binaryen-c.cpp index 6f9c2d5cc89..659462cc691 100644 --- a/src/binaryen-c.cpp +++ b/src/binaryen-c.cpp @@ -1070,6 +1070,10 @@ BinaryenExpressionRef BinaryenLoad(BinaryenModuleRef module, BinaryenType type, BinaryenExpressionRef ptr, const char* name) { + if (name == nullptr && module->memories.size() == 1) { + //add an assert to check that memories[0] + name = module->memories[0]->name.c_str(); + } return static_cast(Builder(*(Module*)module) .makeLoad(bytes, !!signed_, @@ -1087,6 +1091,9 @@ BinaryenExpressionRef BinaryenStore(BinaryenModuleRef module, BinaryenExpressionRef value, BinaryenType type, const char* name) { + if (name == nullptr && module->memories.size() == 1) { + name = module->memories[0]->name.c_str(); + } return static_cast(Builder(*(Module*)module) .makeStore(bytes, offset, @@ -1141,8 +1148,10 @@ BinaryenExpressionRef BinaryenReturn(BinaryenModuleRef module, auto* ret = Builder(*(Module*)module).makeReturn((Expression*)value); return static_cast(ret); } -BinaryenExpressionRef -BinaryenMemorySize(BinaryenModuleRef module, const char* name, bool is64) { +BinaryenExpressionRef BinaryenMemorySize(BinaryenModuleRef module, const char* name, bool is64) { + if (name == nullptr && module->memories.size() == 1) { + name = module->memories[0]->name.c_str(); + } auto* ret = Builder(*(Module*)module).makeMemorySize(name, is64); return static_cast(ret); } @@ -1150,6 +1159,9 @@ BinaryenExpressionRef BinaryenMemoryGrow(BinaryenModuleRef module, BinaryenExpressionRef delta, const char* name, bool is64) { + if (name == nullptr && module->memories.size() == 1) { + name = module->memories[0]->name.c_str(); + } auto* ret = Builder(*(Module*)module).makeMemoryGrow((Expression*)delta, name, is64); return static_cast(ret); @@ -1166,6 +1178,9 @@ BinaryenExpressionRef BinaryenAtomicLoad(BinaryenModuleRef module, BinaryenType type, BinaryenExpressionRef ptr, const char* name) { + if (name == nullptr && module->memories.size() == 1) { + name = module->memories[0]->name.c_str(); + } return static_cast( Builder(*(Module*)module) .makeAtomicLoad(bytes, offset, (Expression*)ptr, Type(type), name)); @@ -1177,6 +1192,9 @@ BinaryenExpressionRef BinaryenAtomicStore(BinaryenModuleRef module, BinaryenExpressionRef value, BinaryenType type, const char* name) { + if (name == nullptr && module->memories.size() == 1) { + name = module->memories[0]->name.c_str(); + } return static_cast( Builder(*(Module*)module) .makeAtomicStore( @@ -1190,6 +1208,9 @@ BinaryenExpressionRef BinaryenAtomicRMW(BinaryenModuleRef module, BinaryenExpressionRef value, BinaryenType type, const char* name) { + if (name == nullptr && module->memories.size() == 1) { + name = module->memories[0]->name.c_str(); + } return static_cast(Builder(*(Module*)module) .makeAtomicRMW(AtomicRMWOp(op), bytes, @@ -1207,6 +1228,9 @@ BinaryenExpressionRef BinaryenAtomicCmpxchg(BinaryenModuleRef module, BinaryenExpressionRef replacement, BinaryenType type, const char* name) { + if (name == nullptr && module->memories.size() == 1) { + name = module->memories[0]->name.c_str(); + } return static_cast(Builder(*(Module*)module) .makeAtomicCmpxchg(bytes, offset, @@ -1222,6 +1246,9 @@ BinaryenExpressionRef BinaryenAtomicWait(BinaryenModuleRef module, BinaryenExpressionRef timeout, BinaryenType expectedType, const char* name) { + if (name == nullptr && module->memories.size() == 1) { + name = module->memories[0]->name.c_str(); + } return static_cast(Builder(*(Module*)module) .makeAtomicWait((Expression*)ptr, (Expression*)expected, @@ -1234,6 +1261,9 @@ BinaryenExpressionRef BinaryenAtomicNotify(BinaryenModuleRef module, BinaryenExpressionRef ptr, BinaryenExpressionRef notifyCount, const char* name) { + if (name == nullptr && module->memories.size() == 1) { + name = module->memories[0]->name.c_str(); + } return static_cast( Builder(*(Module*)module) .makeAtomicNotify((Expression*)ptr, (Expression*)notifyCount, 0, name)); @@ -1294,6 +1324,9 @@ BinaryenExpressionRef BinaryenSIMDLoad(BinaryenModuleRef module, uint32_t align, BinaryenExpressionRef ptr, const char* name) { + if (name == nullptr && module->memories.size() == 1) { + name = module->memories[0]->name.c_str(); + } return static_cast(Builder(*(Module*)module) .makeSIMDLoad(SIMDLoadOp(op), Address(offset), @@ -1309,6 +1342,9 @@ BinaryenExpressionRef BinaryenSIMDLoadStoreLane(BinaryenModuleRef module, BinaryenExpressionRef ptr, BinaryenExpressionRef vec, const char* name) { + if (name == nullptr && module->memories.size() == 1) { + name = module->memories[0]->name.c_str(); + } return static_cast( Builder(*(Module*)module) .makeSIMDLoadStoreLane(SIMDLoadStoreLaneOp(op), @@ -1325,6 +1361,9 @@ BinaryenExpressionRef BinaryenMemoryInit(BinaryenModuleRef module, BinaryenExpressionRef offset, BinaryenExpressionRef size, const char* name) { + if (name == nullptr && module->memories.size() == 1) { + name = module->memories[0]->name.c_str(); + } return static_cast(Builder(*(Module*)module) .makeMemoryInit(segment, (Expression*)dest, @@ -1344,6 +1383,9 @@ BinaryenExpressionRef BinaryenMemoryCopy(BinaryenModuleRef module, BinaryenExpressionRef source, BinaryenExpressionRef size, const char* name) { + if (name == nullptr && module->memories.size() == 1) { + name = module->memories[0]->name.c_str(); + } return static_cast( Builder(*(Module*)module) .makeMemoryCopy( @@ -1355,6 +1397,9 @@ BinaryenExpressionRef BinaryenMemoryFill(BinaryenModuleRef module, BinaryenExpressionRef value, BinaryenExpressionRef size, const char* name) { + if (name == nullptr && module->memories.size() == 1) { + name = module->memories[0]->name.c_str(); + } return static_cast( Builder(*(Module*)module) .makeMemoryFill( @@ -3912,19 +3957,19 @@ void BinaryenSetMemory(BinaryenModuleRef module, BinaryenIndex numSegments, bool shared, const char* name) { - auto* wasm = (Module*)module; - auto memory = Builder::makeMemory(name); + auto memory = std::make_unique(); + memory->name = name ? name : "0"; memory->initial = initial; memory->max = int32_t(maximum); // Make sure -1 extends. memory->shared = shared; if (exportName) { auto memoryExport = make_unique(); memoryExport->name = exportName; - memoryExport->value = name; + memoryExport->value = memory->name; memoryExport->kind = ExternalKind::Memory; - wasm->addExport(memoryExport.release()); + ((Module*)module)->addExport(memoryExport.release()); } - wasm->removeDataSegments([&](DataSegment* curr) { return true; }); + ((Module*)module)->removeDataSegments([&](DataSegment* curr) { return true; }); for (BinaryenIndex i = 0; i < numSegments; i++) { auto curr = Builder::makeDataSegment(Name::fromInt(i), memory->name, @@ -3933,10 +3978,14 @@ void BinaryenSetMemory(BinaryenModuleRef module, segments[i], segmentSizes[i]); curr->hasExplicitName = false; - wasm->addDataSegment(std::move(curr)); + ((Module*)module)->addDataSegment(std::move(curr)); } - wasm->removeMemories([&](Memory* curr) { return true; }); - wasm->addMemory(std::move(memory)); + ((Module*)module)->removeMemories([&](Memory* curr) { return true; }); + ((Module*)module)->addMemory(std::move(memory)); +} + +BinaryenMemoryRef BinaryenMemoryGet(BinaryenModuleRef module, const char* name) { + return ((Module*)module)->getMemoryOrNull(name); } // Memory segments @@ -3981,6 +4030,9 @@ bool BinaryenHasMemory(BinaryenModuleRef module) { } BinaryenIndex BinaryenMemoryGetInitial(BinaryenModuleRef module, const char* name) { + if (name == nullptr && module->memories.size() == 1) { + name = module->memories[0]->name.c_str(); + } auto* memory = ((Module*)module)->getMemoryOrNull(name); if (memory == nullptr) { Fatal() << "invalid memory '" << name << "'."; @@ -3988,6 +4040,9 @@ BinaryenIndex BinaryenMemoryGetInitial(BinaryenModuleRef module, return memory->initial; } bool BinaryenMemoryHasMax(BinaryenModuleRef module, const char* name) { + if (name == nullptr && module->memories.size() == 1) { + name = module->memories[0]->name.c_str(); + } auto* memory = ((Module*)module)->getMemoryOrNull(name); if (memory == nullptr) { Fatal() << "invalid memory '" << name << "'."; @@ -3995,6 +4050,9 @@ bool BinaryenMemoryHasMax(BinaryenModuleRef module, const char* name) { return memory->hasMax(); } BinaryenIndex BinaryenMemoryGetMax(BinaryenModuleRef module, const char* name) { + if (name == nullptr && module->memories.size() == 1) { + name = module->memories[0]->name.c_str(); + } auto* memory = ((Module*)module)->getMemoryOrNull(name); if (memory == nullptr) { Fatal() << "invalid memory '" << name << "'."; @@ -4003,6 +4061,9 @@ BinaryenIndex BinaryenMemoryGetMax(BinaryenModuleRef module, const char* name) { } const char* BinaryenMemoryImportGetModule(BinaryenModuleRef module, const char* name) { + if (name == nullptr && module->memories.size() == 1) { + name = module->memories[0]->name.c_str(); + } auto* memory = ((Module*)module)->getMemoryOrNull(name); if (memory == nullptr) { Fatal() << "invalid memory '" << name << "'."; @@ -4015,6 +4076,9 @@ const char* BinaryenMemoryImportGetModule(BinaryenModuleRef module, } const char* BinaryenMemoryImportGetBase(BinaryenModuleRef module, const char* name) { + if (name == nullptr && module->memories.size() == 1) { + name = module->memories[0]->name.c_str(); + } auto* memory = ((Module*)module)->getMemoryOrNull(name); if (memory == nullptr) { Fatal() << "invalid memory '" << name << "'."; @@ -4026,6 +4090,9 @@ const char* BinaryenMemoryImportGetBase(BinaryenModuleRef module, } } bool BinaryenMemoryIsShared(BinaryenModuleRef module, const char* name) { + if (name == nullptr && module->memories.size() == 1) { + name = module->memories[0]->name.c_str(); + } auto* memory = ((Module*)module)->getMemoryOrNull(name); if (memory == nullptr) { Fatal() << "invalid memory '" << name << "'."; diff --git a/src/binaryen-c.h b/src/binaryen-c.h index 479e9618f31..a4e3d50197d 100644 --- a/src/binaryen-c.h +++ b/src/binaryen-c.h @@ -2211,6 +2211,12 @@ BINARYEN_API void BinaryenAddTagImport(BinaryenModuleRef module, BinaryenType params, BinaryenType results); +// Memory +BINARYEN_REF(Memory); + +// Gets a memory reference by name. Returns NULL if the function does not exist. +BINARYEN_API BinaryenMemoryRef BinaryenMemoryGet(BinaryenModuleRef module, const char* name); + // Exports BINARYEN_REF(Export); diff --git a/src/js/binaryen.js-post.js b/src/js/binaryen.js-post.js index 55cad45f16c..287722bd5f6 100644 --- a/src/js/binaryen.js-post.js +++ b/src/js/binaryen.js-post.js @@ -687,8 +687,8 @@ function wrapModule(module, self = {}) { } self['memory'] = { - 'size'() { - return Module['_BinaryenMemorySize'](module); + 'size'(name, is64) { + return Module['_BinaryenMemorySize'](module, strToStack(name), is64); }, 'grow'(value) { return Module['_BinaryenMemoryGrow'](module, value); @@ -2501,7 +2501,7 @@ function wrapModule(module, self = {}) { self['removeExport'] = function(externalName) { return preserveStack(() => Module['_BinaryenRemoveExport'](module, strToStack(externalName))); }; - self['setMemory'] = function(internalName, initial, maximum, exportName, segments = [], shared = false) { + self['setMemory'] = function(initial, maximum, exportName, segments = [], shared = false, internalName) { // segments are assumed to be { passive: bool, offset: expression ref, data: array of 8-bit data } return preserveStack(() => { const segmentsLen = segments.length; @@ -2518,16 +2518,20 @@ function wrapModule(module, self = {}) { segmentOffset[i] = offset; } return Module['_BinaryenSetMemory']( - module, strToStack(internalName), initial, maximum, strToStack(exportName), + module, initial, maximum, strToStack(exportName), i32sToStack(segmentData), i8sToStack(segmentPassive), i32sToStack(segmentOffset), i32sToStack(segmentDataLen), segmentsLen, - shared + shared, + strToStack(internalName) ); }); }; + self['getMemory'] = function(name) { + return Module['_BinaryenMemoryGet'](module, strToStack(name)); + }; self['hasMemory'] = function() { return Boolean(Module['_BinaryenHasMemory'](module)); }; diff --git a/test/binaryen.js/expressions.js b/test/binaryen.js/expressions.js index 40d4194fdf5..d76e8725f93 100644 --- a/test/binaryen.js/expressions.js +++ b/test/binaryen.js/expressions.js @@ -476,9 +476,9 @@ console.log("# GlobalSet"); console.log("# MemorySize"); (function testMemorySize() { const module = new binaryen.Module(); - + module.setMemory(1, 1, null); var type = binaryen.i32; - const theMemorySize = binaryen.MemorySize(module.memory.size()); + const theMemorySize = binaryen.MemorySize(module.memory.size("0", false)); assert(theMemorySize instanceof binaryen.MemorySize); assert(theMemorySize instanceof binaryen.Expression); assert(theMemorySize.type === type); @@ -501,6 +501,7 @@ console.log("# MemorySize"); console.log("# MemoryGrow"); (function testMemoryGrow() { const module = new binaryen.Module(); + module.setMemory(1, 1, null); var type = binaryen.i32; var delta = module.i32.const(1); @@ -530,6 +531,7 @@ console.log("# MemoryGrow"); console.log("# Load"); (function testLoad() { const module = new binaryen.Module(); + module.setMemory(1, 1, null); var offset = 16; var align = 2; @@ -575,6 +577,7 @@ console.log("# Load"); console.log("# Store"); (function testStore() { const module = new binaryen.Module(); + module.setMemory(1, 1, null); var offset = 16; var align = 2; @@ -822,6 +825,7 @@ console.log("# Return"); console.log("# AtomicRMW"); (function testAtomicRMW() { const module = new binaryen.Module(); + module.setMemory(1, 1, null); var op = binaryen.Operations.AtomicRMWAdd; var offset = 8; @@ -864,6 +868,7 @@ console.log("# AtomicRMW"); console.log("# AtomicCmpxchg"); (function testAtomicCmpxchg() { const module = new binaryen.Module(); + module.setMemory(1, 1, null); var offset = 8; var ptr = module.i32.const(2); @@ -906,6 +911,7 @@ console.log("# AtomicCmpxchg"); console.log("# AtomicWait"); (function testAtomicWait() { const module = new binaryen.Module(); + module.setMemory(1, 1, null); var ptr = module.i32.const(2); var expected = module.i32.const(3); @@ -944,6 +950,7 @@ console.log("# AtomicWait"); console.log("# AtomicNotify"); (function testAtomicNotify() { const module = new binaryen.Module(); + module.setMemory(1, 1, null); var ptr = module.i32.const(1); var notifyCount = module.i32.const(2); @@ -1172,6 +1179,7 @@ console.log("# SIMDShift"); console.log("# SIMDLoad"); (function testSIMDLoad() { const module = new binaryen.Module(); + module.setMemory(1, 1, null); var op = binaryen.Operations.Load8x8SVec128; var offset = 16; @@ -1210,6 +1218,7 @@ console.log("# SIMDLoad"); console.log("# SIMDLoadStoreLane"); (function testSIMDLoadStoreLane() { const module = new binaryen.Module(); + module.setMemory(1, 1, null); var op = binaryen.Operations.Load8LaneVec128; var offset = 16; @@ -1272,6 +1281,7 @@ console.log("# SIMDLoadStoreLane"); console.log("# MemoryInit"); (function testMemoryInit() { const module = new binaryen.Module(); + module.setMemory(1, 1, null); var segment = 1; var dest = module.i32.const(2); @@ -1338,6 +1348,7 @@ console.log("# DataDrop"); console.log("# MemoryCopy"); (function testMemoryCopy() { const module = new binaryen.Module(); + module.setMemory(1, 1, null); var dest = module.i32.const(1); var source = module.i32.const(2); @@ -1373,6 +1384,7 @@ console.log("# MemoryCopy"); console.log("# MemoryFill"); (function testMemoryFill() { const module = new binaryen.Module(); + module.setMemory(1, 1, null); var dest = module.i32.const(1); var value = module.i32.const(2); diff --git a/test/binaryen.js/kitchen-sink.js b/test/binaryen.js/kitchen-sink.js index 59f398da9f5..24b7d4c94ee 100644 --- a/test/binaryen.js/kitchen-sink.js +++ b/test/binaryen.js/kitchen-sink.js @@ -178,6 +178,19 @@ function test_core() { // Module creation module = new binaryen.Module(); + // Memory. One per module + module.setMemory(1, 256, "mem", [ + { + passive: false, + offset: module.i32.const(10), + data: "hello, world".split('').map(function(x) { return x.charCodeAt(0) }) + }, + { + passive: true, + offset: null, + data: "I am passive".split('').map(function(x) { return x.charCodeAt(0) }) + } + ], true); // Create a tag var tag = module.addTag("a-tag", binaryen.i32, binaryen.none); @@ -723,21 +736,6 @@ function test_core() { assert(module.getNumTables() === 1); assert(module.getNumElementSegments() === 1); - // Memory. One per module - - module.setMemory(1, 256, "mem", [ - { - passive: false, - offset: module.i32.const(10), - data: "hello, world".split('').map(function(x) { return x.charCodeAt(0) }) - }, - { - passive: true, - offset: null, - data: "I am passive".split('').map(function(x) { return x.charCodeAt(0) }) - } - ], true); - // Start function. One per module var starter = module.addFunction("starter", binaryen.none, binaryen.none, [], module.nop()); module.setStart(starter); @@ -1141,6 +1139,7 @@ function test_for_each() { function test_expression_info() { module = new binaryen.Module(); + module.setMemory(1, 1, null); // Issue #2392 console.log("getExpressionInfo(memory.grow)=" + JSON.stringify(binaryen.getExpressionInfo(module.memory.grow(1)))); diff --git a/test/binaryen.js/kitchen-sink.js.txt b/test/binaryen.js/kitchen-sink.js.txt index 2a5a05fe88e..1be13aefef2 100644 --- a/test/binaryen.js/kitchen-sink.js.txt +++ b/test/binaryen.js/kitchen-sink.js.txt @@ -130,10 +130,10 @@ getExpressionInfo(tuple[3])={"id":14,"type":5,"value":3.7} (table $t0 1 funcref) (elem $e0 (i32.const 0) "$kitchen()sinker") (tag $a-tag (param i32)) + (export "mem" (memory $0)) (export "kitchen_sinker" (func "$kitchen()sinker")) (export "a-global-exp" (global $a-global)) (export "a-tag-exp" (tag $a-tag)) - (export "mem" (memory $0)) (start $starter) (func "$kitchen()sinker" (param $0 i32) (param $1 i64) (param $2 f32) (param $3 f64) (result i32) (local $4 i32) @@ -2234,10 +2234,10 @@ getExpressionInfo(tuple[3])={"id":14,"type":5,"value":3.7} (table $t0 1 funcref) (elem $e0 (i32.const 0) "$kitchen()sinker") (tag $a-tag (param i32)) + (export "mem" (memory $0)) (export "kitchen_sinker" (func "$kitchen()sinker")) (export "a-global-exp" (global $a-global)) (export "a-tag-exp" (tag $a-tag)) - (export "mem" (memory $0)) (start $starter) (func "$kitchen()sinker" (param $0 i32) (param $1 i64) (param $2 f32) (param $3 f64) (result i32) (local $4 i32) diff --git a/test/binaryen.js/memory-info.js.txt b/test/binaryen.js/memory-info.js.txt index 39d1290ae56..ba04d744207 100644 --- a/test/binaryen.js/memory-info.js.txt +++ b/test/binaryen.js/memory-info.js.txt @@ -3,7 +3,7 @@ true {"module":"","base":"","initial":1,"shared":false,"max":64} true {"module":"","base":"","initial":1,"shared":true,"max":64} -false +true {"module":"env","base":"memory","initial":0,"shared":false,"max":65536} -false +true {"module":"env","base":"memory","initial":0,"shared":true,"max":65536} diff --git a/test/binaryen.js/sideffects.js b/test/binaryen.js/sideffects.js index e3187041d54..be5414aed4e 100644 --- a/test/binaryen.js/sideffects.js +++ b/test/binaryen.js/sideffects.js @@ -17,6 +17,7 @@ console.log("SideEffects.TrapsNeverHappen=" + binaryen.SideEffects.TrapsNeverHap console.log("SideEffects.Any=" + binaryen.SideEffects.Any); var module = new binaryen.Module(); +module.setMemory(1, 1, null); assert( binaryen.getSideEffects( module.i32.const(1), From eeae77056bdd766dfc767ec8a970a528a2ca541c Mon Sep 17 00:00:00 2001 From: Ashley Nelson Date: Thu, 21 Jul 2022 22:11:48 +0000 Subject: [PATCH 49/78] clang-format --- src/binaryen-c.cpp | 74 ++++++++++++++++++++++------------------- src/binaryen-c.h | 3 +- src/passes/SafeHeap.cpp | 3 +- 3 files changed, 43 insertions(+), 37 deletions(-) diff --git a/src/binaryen-c.cpp b/src/binaryen-c.cpp index 659462cc691..9b8a21a353d 100644 --- a/src/binaryen-c.cpp +++ b/src/binaryen-c.cpp @@ -1071,8 +1071,8 @@ BinaryenExpressionRef BinaryenLoad(BinaryenModuleRef module, BinaryenExpressionRef ptr, const char* name) { if (name == nullptr && module->memories.size() == 1) { - //add an assert to check that memories[0] - name = module->memories[0]->name.c_str(); + // add an assert to check that memories[0] + name = module->memories[0]->name.c_str(); } return static_cast(Builder(*(Module*)module) .makeLoad(bytes, @@ -1092,7 +1092,7 @@ BinaryenExpressionRef BinaryenStore(BinaryenModuleRef module, BinaryenType type, const char* name) { if (name == nullptr && module->memories.size() == 1) { - name = module->memories[0]->name.c_str(); + name = module->memories[0]->name.c_str(); } return static_cast(Builder(*(Module*)module) .makeStore(bytes, @@ -1148,9 +1148,10 @@ BinaryenExpressionRef BinaryenReturn(BinaryenModuleRef module, auto* ret = Builder(*(Module*)module).makeReturn((Expression*)value); return static_cast(ret); } -BinaryenExpressionRef BinaryenMemorySize(BinaryenModuleRef module, const char* name, bool is64) { +BinaryenExpressionRef +BinaryenMemorySize(BinaryenModuleRef module, const char* name, bool is64) { if (name == nullptr && module->memories.size() == 1) { - name = module->memories[0]->name.c_str(); + name = module->memories[0]->name.c_str(); } auto* ret = Builder(*(Module*)module).makeMemorySize(name, is64); return static_cast(ret); @@ -1193,8 +1194,8 @@ BinaryenExpressionRef BinaryenAtomicStore(BinaryenModuleRef module, BinaryenType type, const char* name) { if (name == nullptr && module->memories.size() == 1) { - name = module->memories[0]->name.c_str(); - } + name = module->memories[0]->name.c_str(); + } return static_cast( Builder(*(Module*)module) .makeAtomicStore( @@ -1209,8 +1210,8 @@ BinaryenExpressionRef BinaryenAtomicRMW(BinaryenModuleRef module, BinaryenType type, const char* name) { if (name == nullptr && module->memories.size() == 1) { - name = module->memories[0]->name.c_str(); - } + name = module->memories[0]->name.c_str(); + } return static_cast(Builder(*(Module*)module) .makeAtomicRMW(AtomicRMWOp(op), bytes, @@ -1229,8 +1230,8 @@ BinaryenExpressionRef BinaryenAtomicCmpxchg(BinaryenModuleRef module, BinaryenType type, const char* name) { if (name == nullptr && module->memories.size() == 1) { - name = module->memories[0]->name.c_str(); - } + name = module->memories[0]->name.c_str(); + } return static_cast(Builder(*(Module*)module) .makeAtomicCmpxchg(bytes, offset, @@ -1247,8 +1248,8 @@ BinaryenExpressionRef BinaryenAtomicWait(BinaryenModuleRef module, BinaryenType expectedType, const char* name) { if (name == nullptr && module->memories.size() == 1) { - name = module->memories[0]->name.c_str(); - } + name = module->memories[0]->name.c_str(); + } return static_cast(Builder(*(Module*)module) .makeAtomicWait((Expression*)ptr, (Expression*)expected, @@ -1262,8 +1263,8 @@ BinaryenExpressionRef BinaryenAtomicNotify(BinaryenModuleRef module, BinaryenExpressionRef notifyCount, const char* name) { if (name == nullptr && module->memories.size() == 1) { - name = module->memories[0]->name.c_str(); - } + name = module->memories[0]->name.c_str(); + } return static_cast( Builder(*(Module*)module) .makeAtomicNotify((Expression*)ptr, (Expression*)notifyCount, 0, name)); @@ -1325,8 +1326,8 @@ BinaryenExpressionRef BinaryenSIMDLoad(BinaryenModuleRef module, BinaryenExpressionRef ptr, const char* name) { if (name == nullptr && module->memories.size() == 1) { - name = module->memories[0]->name.c_str(); - } + name = module->memories[0]->name.c_str(); + } return static_cast(Builder(*(Module*)module) .makeSIMDLoad(SIMDLoadOp(op), Address(offset), @@ -1343,8 +1344,8 @@ BinaryenExpressionRef BinaryenSIMDLoadStoreLane(BinaryenModuleRef module, BinaryenExpressionRef vec, const char* name) { if (name == nullptr && module->memories.size() == 1) { - name = module->memories[0]->name.c_str(); - } + name = module->memories[0]->name.c_str(); + } return static_cast( Builder(*(Module*)module) .makeSIMDLoadStoreLane(SIMDLoadStoreLaneOp(op), @@ -1362,8 +1363,8 @@ BinaryenExpressionRef BinaryenMemoryInit(BinaryenModuleRef module, BinaryenExpressionRef size, const char* name) { if (name == nullptr && module->memories.size() == 1) { - name = module->memories[0]->name.c_str(); - } + name = module->memories[0]->name.c_str(); + } return static_cast(Builder(*(Module*)module) .makeMemoryInit(segment, (Expression*)dest, @@ -1384,8 +1385,8 @@ BinaryenExpressionRef BinaryenMemoryCopy(BinaryenModuleRef module, BinaryenExpressionRef size, const char* name) { if (name == nullptr && module->memories.size() == 1) { - name = module->memories[0]->name.c_str(); - } + name = module->memories[0]->name.c_str(); + } return static_cast( Builder(*(Module*)module) .makeMemoryCopy( @@ -1398,8 +1399,8 @@ BinaryenExpressionRef BinaryenMemoryFill(BinaryenModuleRef module, BinaryenExpressionRef size, const char* name) { if (name == nullptr && module->memories.size() == 1) { - name = module->memories[0]->name.c_str(); - } + name = module->memories[0]->name.c_str(); + } return static_cast( Builder(*(Module*)module) .makeMemoryFill( @@ -3969,7 +3970,9 @@ void BinaryenSetMemory(BinaryenModuleRef module, memoryExport->kind = ExternalKind::Memory; ((Module*)module)->addExport(memoryExport.release()); } - ((Module*)module)->removeDataSegments([&](DataSegment* curr) { return true; }); + ((Module*)module)->removeDataSegments([&](DataSegment* curr) { + return true; + }); for (BinaryenIndex i = 0; i < numSegments; i++) { auto curr = Builder::makeDataSegment(Name::fromInt(i), memory->name, @@ -3984,7 +3987,8 @@ void BinaryenSetMemory(BinaryenModuleRef module, ((Module*)module)->addMemory(std::move(memory)); } -BinaryenMemoryRef BinaryenMemoryGet(BinaryenModuleRef module, const char* name) { +BinaryenMemoryRef BinaryenMemoryGet(BinaryenModuleRef module, + const char* name) { return ((Module*)module)->getMemoryOrNull(name); } @@ -4051,8 +4055,8 @@ bool BinaryenMemoryHasMax(BinaryenModuleRef module, const char* name) { } BinaryenIndex BinaryenMemoryGetMax(BinaryenModuleRef module, const char* name) { if (name == nullptr && module->memories.size() == 1) { - name = module->memories[0]->name.c_str(); - } + name = module->memories[0]->name.c_str(); + } auto* memory = ((Module*)module)->getMemoryOrNull(name); if (memory == nullptr) { Fatal() << "invalid memory '" << name << "'."; @@ -4062,8 +4066,8 @@ BinaryenIndex BinaryenMemoryGetMax(BinaryenModuleRef module, const char* name) { const char* BinaryenMemoryImportGetModule(BinaryenModuleRef module, const char* name) { if (name == nullptr && module->memories.size() == 1) { - name = module->memories[0]->name.c_str(); - } + name = module->memories[0]->name.c_str(); + } auto* memory = ((Module*)module)->getMemoryOrNull(name); if (memory == nullptr) { Fatal() << "invalid memory '" << name << "'."; @@ -4077,8 +4081,8 @@ const char* BinaryenMemoryImportGetModule(BinaryenModuleRef module, const char* BinaryenMemoryImportGetBase(BinaryenModuleRef module, const char* name) { if (name == nullptr && module->memories.size() == 1) { - name = module->memories[0]->name.c_str(); - } + name = module->memories[0]->name.c_str(); + } auto* memory = ((Module*)module)->getMemoryOrNull(name); if (memory == nullptr) { Fatal() << "invalid memory '" << name << "'."; @@ -4091,8 +4095,8 @@ const char* BinaryenMemoryImportGetBase(BinaryenModuleRef module, } bool BinaryenMemoryIsShared(BinaryenModuleRef module, const char* name) { if (name == nullptr && module->memories.size() == 1) { - name = module->memories[0]->name.c_str(); - } + name = module->memories[0]->name.c_str(); + } auto* memory = ((Module*)module)->getMemoryOrNull(name); if (memory == nullptr) { Fatal() << "invalid memory '" << name << "'."; diff --git a/src/binaryen-c.h b/src/binaryen-c.h index a4e3d50197d..8c57cfdde49 100644 --- a/src/binaryen-c.h +++ b/src/binaryen-c.h @@ -2215,7 +2215,8 @@ BINARYEN_API void BinaryenAddTagImport(BinaryenModuleRef module, BINARYEN_REF(Memory); // Gets a memory reference by name. Returns NULL if the function does not exist. -BINARYEN_API BinaryenMemoryRef BinaryenMemoryGet(BinaryenModuleRef module, const char* name); +BINARYEN_API BinaryenMemoryRef BinaryenMemoryGet(BinaryenModuleRef module, + const char* name); // Exports diff --git a/src/passes/SafeHeap.cpp b/src/passes/SafeHeap.cpp index a746a67abc1..7f6115d0f0c 100644 --- a/src/passes/SafeHeap.cpp +++ b/src/passes/SafeHeap.cpp @@ -389,7 +389,8 @@ struct SafeHeap : public Pass { bool is64, Name memory) { auto upperOp = is64 ? options.lowMemoryUnused ? LtUInt64 : EqInt64 - : options.lowMemoryUnused ? LtUInt32 : EqInt32; + : options.lowMemoryUnused ? LtUInt32 + : EqInt32; auto upperBound = options.lowMemoryUnused ? PassOptions::LowMemoryBound : 0; Expression* brkLocation; if (sbrk.is()) { From ef2df16db9eb78f2658be054cd2288e3248ba6fb Mon Sep 17 00:00:00 2001 From: Ashley Nelson Date: Fri, 22 Jul 2022 00:01:54 +0000 Subject: [PATCH 50/78] rebased with main --- src/binaryen-c.cpp | 9 +- src/binaryen-c.h | 6 +- src/js/binaryen.js-post.js | 464 +++++++++++++++--------------- src/passes/MemoryPacking.cpp | 2 +- src/passes/SafeHeap.cpp | 3 +- src/wasm-builder.h | 10 +- test/example/c-api-kitchen-sink.c | 7 +- 7 files changed, 250 insertions(+), 251 deletions(-) diff --git a/src/binaryen-c.cpp b/src/binaryen-c.cpp index 9b8a21a353d..eac8ec657bf 100644 --- a/src/binaryen-c.cpp +++ b/src/binaryen-c.cpp @@ -1149,22 +1149,21 @@ BinaryenExpressionRef BinaryenReturn(BinaryenModuleRef module, return static_cast(ret); } BinaryenExpressionRef -BinaryenMemorySize(BinaryenModuleRef module, const char* name, bool is64) { +BinaryenMemorySize(BinaryenModuleRef module, const char* name) { if (name == nullptr && module->memories.size() == 1) { name = module->memories[0]->name.c_str(); } - auto* ret = Builder(*(Module*)module).makeMemorySize(name, is64); + auto* ret = Builder(*(Module*)module).makeMemorySize(name); return static_cast(ret); } BinaryenExpressionRef BinaryenMemoryGrow(BinaryenModuleRef module, BinaryenExpressionRef delta, - const char* name, - bool is64) { + const char* name) { if (name == nullptr && module->memories.size() == 1) { name = module->memories[0]->name.c_str(); } auto* ret = - Builder(*(Module*)module).makeMemoryGrow((Expression*)delta, name, is64); + Builder(*(Module*)module).makeMemoryGrow((Expression*)delta, name); return static_cast(ret); } BinaryenExpressionRef BinaryenNop(BinaryenModuleRef module) { diff --git a/src/binaryen-c.h b/src/binaryen-c.h index 8c57cfdde49..edf33aee062 100644 --- a/src/binaryen-c.h +++ b/src/binaryen-c.h @@ -779,13 +779,11 @@ BINARYEN_API BinaryenExpressionRef BinaryenDrop(BinaryenModuleRef module, BINARYEN_API BinaryenExpressionRef BinaryenReturn(BinaryenModuleRef module, BinaryenExpressionRef value); BINARYEN_API BinaryenExpressionRef BinaryenMemorySize(BinaryenModuleRef module, - const char* name, - bool is64); + const char* name); BINARYEN_API BinaryenExpressionRef BinaryenMemoryGrow(BinaryenModuleRef module, BinaryenExpressionRef delta, - const char* name, - bool is64); + const char* name); BINARYEN_API BinaryenExpressionRef BinaryenNop(BinaryenModuleRef module); BINARYEN_API BinaryenExpressionRef BinaryenUnreachable(BinaryenModuleRef module); diff --git a/src/js/binaryen.js-post.js b/src/js/binaryen.js-post.js index 287722bd5f6..3948d3a1fa2 100644 --- a/src/js/binaryen.js-post.js +++ b/src/js/binaryen.js-post.js @@ -687,30 +687,30 @@ function wrapModule(module, self = {}) { } self['memory'] = { - 'size'(name, is64) { - return Module['_BinaryenMemorySize'](module, strToStack(name), is64); + 'size'(name) { + return Module['_BinaryenMemorySize'](module, strToStack(name)); }, - 'grow'(value) { - return Module['_BinaryenMemoryGrow'](module, value); + 'grow'(value, name) { + return Module['_BinaryenMemoryGrow'](module, value, strToStack(name)); }, - 'init'(segment, dest, offset, size) { - return Module['_BinaryenMemoryInit'](module, segment, dest, offset, size); + 'init'(segment, dest, offset, size, name) { + return Module['_BinaryenMemoryInit'](module, segment, dest, offset, size, strToStack(name)); }, - 'copy'(dest, source, size) { - return Module['_BinaryenMemoryCopy'](module, dest, source, size); + 'copy'(dest, source, size, name) { + return Module['_BinaryenMemoryCopy'](module, dest, source, size, strToStack(name)); }, - 'fill'(dest, value, size) { - return Module['_BinaryenMemoryFill'](module, dest, value, size); + 'fill'(dest, value, size, name) { + return Module['_BinaryenMemoryFill'](module, dest, value, size, strToStack(name)); }, 'atomic': { - 'notify'(ptr, notifyCount) { - return Module['_BinaryenAtomicNotify'](module, ptr, notifyCount); + 'notify'(ptr, notifyCount, name) { + return Module['_BinaryenAtomicNotify'](module, ptr, notifyCount, strToStack(name)); }, - 'wait32'(ptr, expected, timeout) { - return Module['_BinaryenAtomicWait'](module, ptr, expected, timeout, Module['i32']); + 'wait32'(ptr, expected, timeout, name) { + return Module['_BinaryenAtomicWait'](module, ptr, expected, timeout, Module['i32'], strToStack(name)); }, - 'wait64'(ptr, expected, timeout) { - return Module['_BinaryenAtomicWait'](module, ptr, expected, timeout, Module['i64']); + 'wait64'(ptr, expected, timeout, name) { + return Module['_BinaryenAtomicWait'](module, ptr, expected, timeout, Module['i64'], strToStack(name)); } } } @@ -722,29 +722,29 @@ function wrapModule(module, self = {}) { } self['i32'] = { - 'load'(offset, align, ptr) { - return Module['_BinaryenLoad'](module, 4, true, offset, align, Module['i32'], ptr); + 'load'(offset, align, ptr, name) { + return Module['_BinaryenLoad'](module, 4, true, offset, align, Module['i32'], ptr, strToStack(name)); }, - 'load8_s'(offset, align, ptr) { - return Module['_BinaryenLoad'](module, 1, true, offset, align, Module['i32'], ptr); + 'load8_s'(offset, align, ptr, name) { + return Module['_BinaryenLoad'](module, 1, true, offset, align, Module['i32'], ptr, strToStack(name)); }, - 'load8_u'(offset, align, ptr) { - return Module['_BinaryenLoad'](module, 1, false, offset, align, Module['i32'], ptr); + 'load8_u'(offset, align, ptr, name) { + return Module['_BinaryenLoad'](module, 1, false, offset, align, Module['i32'], ptr, strToStack(name)); }, - 'load16_s'(offset, align, ptr) { - return Module['_BinaryenLoad'](module, 2, true, offset, align, Module['i32'], ptr); + 'load16_s'(offset, align, ptr, name) { + return Module['_BinaryenLoad'](module, 2, true, offset, align, Module['i32'], ptr, strToStack(name)); }, - 'load16_u'(offset, align, ptr) { - return Module['_BinaryenLoad'](module, 2, false, offset, align, Module['i32'], ptr); + 'load16_u'(offset, align, ptr, name) { + return Module['_BinaryenLoad'](module, 2, false, offset, align, Module['i32'], ptr, strToStack(name)); }, - 'store'(offset, align, ptr, value) { - return Module['_BinaryenStore'](module, 4, offset, align, ptr, value, Module['i32']); + 'store'(offset, align, ptr, value, name) { + return Module['_BinaryenStore'](module, 4, offset, align, ptr, value, Module['i32'], strToStack(name)); }, - 'store8'(offset, align, ptr, value) { - return Module['_BinaryenStore'](module, 1, offset, align, ptr, value, Module['i32']); + 'store8'(offset, align, ptr, value, name) { + return Module['_BinaryenStore'](module, 1, offset, align, ptr, value, Module['i32'], strToStack(name)); }, - 'store16'(offset, align, ptr, value) { - return Module['_BinaryenStore'](module, 2, offset, align, ptr, value, Module['i32']); + 'store16'(offset, align, ptr, value, name) { + return Module['_BinaryenStore'](module, 2, offset, align, ptr, value, Module['i32'], strToStack(name)); }, 'const'(x) { return preserveStack(() => { @@ -885,91 +885,91 @@ function wrapModule(module, self = {}) { return Module['_BinaryenBinary'](module, Module['GeUInt32'], left, right); }, 'atomic': { - 'load'(offset, ptr) { - return Module['_BinaryenAtomicLoad'](module, 4, offset, Module['i32'], ptr); + 'load'(offset, ptr, name) { + return Module['_BinaryenAtomicLoad'](module, 4, offset, Module['i32'], ptr, strToStack(name)); }, - 'load8_u'(offset, ptr) { - return Module['_BinaryenAtomicLoad'](module, 1, offset, Module['i32'], ptr); + 'load8_u'(offset, ptr, name) { + return Module['_BinaryenAtomicLoad'](module, 1, offset, Module['i32'], ptr, strToStack(name)); }, - 'load16_u'(offset, ptr) { - return Module['_BinaryenAtomicLoad'](module, 2, offset, Module['i32'], ptr); + 'load16_u'(offset, ptr, name) { + return Module['_BinaryenAtomicLoad'](module, 2, offset, Module['i32'], ptr, strToStack(name)); }, - 'store'(offset, ptr, value) { - return Module['_BinaryenAtomicStore'](module, 4, offset, ptr, value, Module['i32']); + 'store'(offset, ptr, value, name) { + return Module['_BinaryenAtomicStore'](module, 4, offset, ptr, value, Module['i32'], strToStack(name)); }, - 'store8'(offset, ptr, value) { - return Module['_BinaryenAtomicStore'](module, 1, offset, ptr, value, Module['i32']); + 'store8'(offset, ptr, value, name) { + return Module['_BinaryenAtomicStore'](module, 1, offset, ptr, value, Module['i32'], strToStack(name)); }, - 'store16'(offset, ptr, value) { - return Module['_BinaryenAtomicStore'](module, 2, offset, ptr, value, Module['i32']); + 'store16'(offset, ptr, value, name) { + return Module['_BinaryenAtomicStore'](module, 2, offset, ptr, value, Module['i32'], strToStack(name)); }, 'rmw': { - 'add'(offset, ptr, value) { - return Module['_BinaryenAtomicRMW'](module, Module['AtomicRMWAdd'], 4, offset, ptr, value, Module['i32']); + 'add'(offset, ptr, value, name) { + return Module['_BinaryenAtomicRMW'](module, Module['AtomicRMWAdd'], 4, offset, ptr, value, Module['i32'], strToStack(name)); }, - 'sub'(offset, ptr, value) { - return Module['_BinaryenAtomicRMW'](module, Module['AtomicRMWSub'], 4, offset, ptr, value, Module['i32']); + 'sub'(offset, ptr, value, name) { + return Module['_BinaryenAtomicRMW'](module, Module['AtomicRMWSub'], 4, offset, ptr, value, Module['i32'], strToStack(name)); }, - 'and'(offset, ptr, value) { - return Module['_BinaryenAtomicRMW'](module, Module['AtomicRMWAnd'], 4, offset, ptr, value, Module['i32']); + 'and'(offset, ptr, value, name) { + return Module['_BinaryenAtomicRMW'](module, Module['AtomicRMWAnd'], 4, offset, ptr, value, Module['i32'], strToStack(name)); }, - 'or'(offset, ptr, value) { - return Module['_BinaryenAtomicRMW'](module, Module['AtomicRMWOr'], 4, offset, ptr, value, Module['i32']); + 'or'(offset, ptr, value, name) { + return Module['_BinaryenAtomicRMW'](module, Module['AtomicRMWOr'], 4, offset, ptr, value, Module['i32'], strToStack(name)); }, - 'xor'(offset, ptr, value) { - return Module['_BinaryenAtomicRMW'](module, Module['AtomicRMWXor'], 4, offset, ptr, value, Module['i32']); + 'xor'(offset, ptr, value, name) { + return Module['_BinaryenAtomicRMW'](module, Module['AtomicRMWXor'], 4, offset, ptr, value, Module['i32'], strToStack(name)); }, - 'xchg'(offset, ptr, value) { - return Module['_BinaryenAtomicRMW'](module, Module['AtomicRMWXchg'], 4, offset, ptr, value, Module['i32']); + 'xchg'(offset, ptr, value, name) { + return Module['_BinaryenAtomicRMW'](module, Module['AtomicRMWXchg'], 4, offset, ptr, value, Module['i32'], strToStack(name)); }, - 'cmpxchg'(offset, ptr, expected, replacement) { - return Module['_BinaryenAtomicCmpxchg'](module, 4, offset, ptr, expected, replacement, Module['i32']) + 'cmpxchg'(offset, ptr, expected, replacement, name) { + return Module['_BinaryenAtomicCmpxchg'](module, 4, offset, ptr, expected, replacement, Module['i32'], strToStack(name)) }, }, 'rmw8_u': { - 'add'(offset, ptr, value) { - return Module['_BinaryenAtomicRMW'](module, Module['AtomicRMWAdd'], 1, offset, ptr, value, Module['i32']); + 'add'(offset, ptr, value, name) { + return Module['_BinaryenAtomicRMW'](module, Module['AtomicRMWAdd'], 1, offset, ptr, value, Module['i32'], strToStack(name)); }, - 'sub'(offset, ptr, value) { - return Module['_BinaryenAtomicRMW'](module, Module['AtomicRMWSub'], 1, offset, ptr, value, Module['i32']); + 'sub'(offset, ptr, value, name) { + return Module['_BinaryenAtomicRMW'](module, Module['AtomicRMWSub'], 1, offset, ptr, value, Module['i32'], strToStack(name)); }, - 'and'(offset, ptr, value) { - return Module['_BinaryenAtomicRMW'](module, Module['AtomicRMWAnd'], 1, offset, ptr, value, Module['i32']); + 'and'(offset, ptr, value, name) { + return Module['_BinaryenAtomicRMW'](module, Module['AtomicRMWAnd'], 1, offset, ptr, value, Module['i32'], strToStack(name)); }, - 'or'(offset, ptr, value) { - return Module['_BinaryenAtomicRMW'](module, Module['AtomicRMWOr'], 1, offset, ptr, value, Module['i32']); + 'or'(offset, ptr, value, name) { + return Module['_BinaryenAtomicRMW'](module, Module['AtomicRMWOr'], 1, offset, ptr, value, Module['i32'], strToStack(name)); }, - 'xor'(offset, ptr, value) { - return Module['_BinaryenAtomicRMW'](module, Module['AtomicRMWXor'], 1, offset, ptr, value, Module['i32']); + 'xor'(offset, ptr, value, name) { + return Module['_BinaryenAtomicRMW'](module, Module['AtomicRMWXor'], 1, offset, ptr, value, Module['i32'], strToStack(name)); }, - 'xchg'(offset, ptr, value) { - return Module['_BinaryenAtomicRMW'](module, Module['AtomicRMWXchg'], 1, offset, ptr, value, Module['i32']); + 'xchg'(offset, ptr, value, name) { + return Module['_BinaryenAtomicRMW'](module, Module['AtomicRMWXchg'], 1, offset, ptr, value, Module['i32'], strToStack(name)); }, - 'cmpxchg'(offset, ptr, expected, replacement) { - return Module['_BinaryenAtomicCmpxchg'](module, 1, offset, ptr, expected, replacement, Module['i32']) + 'cmpxchg'(offset, ptr, expected, replacement, name) { + return Module['_BinaryenAtomicCmpxchg'](module, 1, offset, ptr, expected, replacement, Module['i32'], strToStack(name)) }, }, 'rmw16_u': { - 'add'(offset, ptr, value) { - return Module['_BinaryenAtomicRMW'](module, Module['AtomicRMWAdd'], 2, offset, ptr, value, Module['i32']); + 'add'(offset, ptr, value, name) { + return Module['_BinaryenAtomicRMW'](module, Module['AtomicRMWAdd'], 2, offset, ptr, value, Module['i32'], strToStack(name)); }, - 'sub'(offset, ptr, value) { - return Module['_BinaryenAtomicRMW'](module, Module['AtomicRMWSub'], 2, offset, ptr, value, Module['i32']); + 'sub'(offset, ptr, value, name) { + return Module['_BinaryenAtomicRMW'](module, Module['AtomicRMWSub'], 2, offset, ptr, value, Module['i32'], strToStack(name)); }, - 'and'(offset, ptr, value) { - return Module['_BinaryenAtomicRMW'](module, Module['AtomicRMWAnd'], 2, offset, ptr, value, Module['i32']); + 'and'(offset, ptr, value, name) { + return Module['_BinaryenAtomicRMW'](module, Module['AtomicRMWAnd'], 2, offset, ptr, value, Module['i32'], strToStack(name)); }, - 'or'(offset, ptr, value) { - return Module['_BinaryenAtomicRMW'](module, Module['AtomicRMWOr'], 2, offset, ptr, value, Module['i32']); + 'or'(offset, ptr, value, name) { + return Module['_BinaryenAtomicRMW'](module, Module['AtomicRMWOr'], 2, offset, ptr, value, Module['i32'], strToStack(name)); }, - 'xor'(offset, ptr, value) { - return Module['_BinaryenAtomicRMW'](module, Module['AtomicRMWXor'], 2, offset, ptr, value, Module['i32']); + 'xor'(offset, ptr, value, name) { + return Module['_BinaryenAtomicRMW'](module, Module['AtomicRMWXor'], 2, offset, ptr, value, Module['i32'], strToStack(name)); }, - 'xchg'(offset, ptr, value) { - return Module['_BinaryenAtomicRMW'](module, Module['AtomicRMWXchg'], 2, offset, ptr, value, Module['i32']); + 'xchg'(offset, ptr, value, name) { + return Module['_BinaryenAtomicRMW'](module, Module['AtomicRMWXchg'], 2, offset, ptr, value, Module['i32'], strToStack(name)); }, - 'cmpxchg'(offset, ptr, expected, replacement) { - return Module['_BinaryenAtomicCmpxchg'](module, 2, offset, ptr, expected, replacement, Module['i32']) + 'cmpxchg'(offset, ptr, expected, replacement, name) { + return Module['_BinaryenAtomicCmpxchg'](module, 2, offset, ptr, expected, replacement, Module['i32'], strToStack(name)) }, }, }, @@ -979,38 +979,38 @@ function wrapModule(module, self = {}) { }; self['i64'] = { - 'load'(offset, align, ptr) { - return Module['_BinaryenLoad'](module, 8, true, offset, align, Module['i64'], ptr); + 'load'(offset, align, ptr, name) { + return Module['_BinaryenLoad'](module, 8, true, offset, align, Module['i64'], ptr, strToStack(name)); }, - 'load8_s'(offset, align, ptr) { - return Module['_BinaryenLoad'](module, 1, true, offset, align, Module['i64'], ptr); + 'load8_s'(offset, align, ptr, name) { + return Module['_BinaryenLoad'](module, 1, true, offset, align, Module['i64'], ptr, strToStack(name)); }, - 'load8_u'(offset, align, ptr) { - return Module['_BinaryenLoad'](module, 1, false, offset, align, Module['i64'], ptr); + 'load8_u'(offset, align, ptr, name) { + return Module['_BinaryenLoad'](module, 1, false, offset, align, Module['i64'], ptr, strToStack(name)); }, - 'load16_s'(offset, align, ptr) { - return Module['_BinaryenLoad'](module, 2, true, offset, align, Module['i64'], ptr); + 'load16_s'(offset, align, ptr, name) { + return Module['_BinaryenLoad'](module, 2, true, offset, align, Module['i64'], ptr, strToStack(name)); }, - 'load16_u'(offset, align, ptr) { - return Module['_BinaryenLoad'](module, 2, false, offset, align, Module['i64'], ptr); + 'load16_u'(offset, align, ptr, name) { + return Module['_BinaryenLoad'](module, 2, false, offset, align, Module['i64'], ptr, strToStack(name)); }, - 'load32_s'(offset, align, ptr) { - return Module['_BinaryenLoad'](module, 4, true, offset, align, Module['i64'], ptr); + 'load32_s'(offset, align, ptr, name) { + return Module['_BinaryenLoad'](module, 4, true, offset, align, Module['i64'], ptr, strToStack(name)); }, - 'load32_u'(offset, align, ptr) { - return Module['_BinaryenLoad'](module, 4, false, offset, align, Module['i64'], ptr); + 'load32_u'(offset, align, ptr, name) { + return Module['_BinaryenLoad'](module, 4, false, offset, align, Module['i64'], ptr, strToStack(name)); }, - 'store'(offset, align, ptr, value) { - return Module['_BinaryenStore'](module, 8, offset, align, ptr, value, Module['i64']); + 'store'(offset, align, ptr, value, name) { + return Module['_BinaryenStore'](module, 8, offset, align, ptr, value, Module['i64'], strToStack(name)); }, - 'store8'(offset, align, ptr, value) { - return Module['_BinaryenStore'](module, 1, offset, align, ptr, value, Module['i64']); + 'store8'(offset, align, ptr, value, name) { + return Module['_BinaryenStore'](module, 1, offset, align, ptr, value, Module['i64'], strToStack(name)); }, - 'store16'(offset, align, ptr, value) { - return Module['_BinaryenStore'](module, 2, offset, align, ptr, value, Module['i64']); + 'store16'(offset, align, ptr, value, name) { + return Module['_BinaryenStore'](module, 2, offset, align, ptr, value, Module['i64'], strToStack(name)); }, - 'store32'(offset, align, ptr, value) { - return Module['_BinaryenStore'](module, 4, offset, align, ptr, value, Module['i64']); + 'store32'(offset, align, ptr, value, name) { + return Module['_BinaryenStore'](module, 4, offset, align, ptr, value, Module['i64'], strToStack(name)); }, 'const'(x, y) { return preserveStack(() => { @@ -1157,120 +1157,120 @@ function wrapModule(module, self = {}) { return Module['_BinaryenBinary'](module, Module['GeUInt64'], left, right); }, 'atomic': { - 'load'(offset, ptr) { - return Module['_BinaryenAtomicLoad'](module, 8, offset, Module['i64'], ptr); + 'load'(offset, ptr, name) { + return Module['_BinaryenAtomicLoad'](module, 8, offset, Module['i64'], ptr, strToStack(name)); }, - 'load8_u'(offset, ptr) { - return Module['_BinaryenAtomicLoad'](module, 1, offset, Module['i64'], ptr); + 'load8_u'(offset, ptr, name) { + return Module['_BinaryenAtomicLoad'](module, 1, offset, Module['i64'], ptr, strToStack(name)); }, - 'load16_u'(offset, ptr) { - return Module['_BinaryenAtomicLoad'](module, 2, offset, Module['i64'], ptr); + 'load16_u'(offset, ptr, name) { + return Module['_BinaryenAtomicLoad'](module, 2, offset, Module['i64'], ptr, strToStack(name)); }, - 'load32_u'(offset, ptr) { - return Module['_BinaryenAtomicLoad'](module, 4, offset, Module['i64'], ptr); + 'load32_u'(offset, ptr, name) { + return Module['_BinaryenAtomicLoad'](module, 4, offset, Module['i64'], ptr, strToStack(name)); }, - 'store'(offset, ptr, value) { - return Module['_BinaryenAtomicStore'](module, 8, offset, ptr, value, Module['i64']); + 'store'(offset, ptr, value, name) { + return Module['_BinaryenAtomicStore'](module, 8, offset, ptr, value, Module['i64'], strToStack(name)); }, - 'store8'(offset, ptr, value) { - return Module['_BinaryenAtomicStore'](module, 1, offset, ptr, value, Module['i64']); + 'store8'(offset, ptr, value, name) { + return Module['_BinaryenAtomicStore'](module, 1, offset, ptr, value, Module['i64'], strToStack(name)); }, - 'store16'(offset, ptr, value) { - return Module['_BinaryenAtomicStore'](module, 2, offset, ptr, value, Module['i64']); + 'store16'(offset, ptr, value, name) { + return Module['_BinaryenAtomicStore'](module, 2, offset, ptr, value, Module['i64'], strToStack(name)); }, - 'store32'(offset, ptr, value) { - return Module['_BinaryenAtomicStore'](module, 4, offset, ptr, value, Module['i64']); + 'store32'(offset, ptr, value, name) { + return Module['_BinaryenAtomicStore'](module, 4, offset, ptr, value, Module['i64'], strToStack(name)); }, 'rmw': { - 'add'(offset, ptr, value) { - return Module['_BinaryenAtomicRMW'](module, Module['AtomicRMWAdd'], 8, offset, ptr, value, Module['i64']); + 'add'(offset, ptr, value, name) { + return Module['_BinaryenAtomicRMW'](module, Module['AtomicRMWAdd'], 8, offset, ptr, value, Module['i64'], strToStack(name)); }, - 'sub'(offset, ptr, value) { - return Module['_BinaryenAtomicRMW'](module, Module['AtomicRMWSub'], 8, offset, ptr, value, Module['i64']); + 'sub'(offset, ptr, value, name) { + return Module['_BinaryenAtomicRMW'](module, Module['AtomicRMWSub'], 8, offset, ptr, value, Module['i64'], strToStack(name)); }, - 'and'(offset, ptr, value) { - return Module['_BinaryenAtomicRMW'](module, Module['AtomicRMWAnd'], 8, offset, ptr, value, Module['i64']); + 'and'(offset, ptr, value, name) { + return Module['_BinaryenAtomicRMW'](module, Module['AtomicRMWAnd'], 8, offset, ptr, value, Module['i64'], strToStack(name)); }, - 'or'(offset, ptr, value) { - return Module['_BinaryenAtomicRMW'](module, Module['AtomicRMWOr'], 8, offset, ptr, value, Module['i64']); + 'or'(offset, ptr, value, name) { + return Module['_BinaryenAtomicRMW'](module, Module['AtomicRMWOr'], 8, offset, ptr, value, Module['i64'], strToStack(name)); }, - 'xor'(offset, ptr, value) { - return Module['_BinaryenAtomicRMW'](module, Module['AtomicRMWXor'], 8, offset, ptr, value, Module['i64']); + 'xor'(offset, ptr, value, name) { + return Module['_BinaryenAtomicRMW'](module, Module['AtomicRMWXor'], 8, offset, ptr, value, Module['i64'], strToStack(name)); }, - 'xchg'(offset, ptr, value) { - return Module['_BinaryenAtomicRMW'](module, Module['AtomicRMWXchg'], 8, offset, ptr, value, Module['i64']); + 'xchg'(offset, ptr, value, name) { + return Module['_BinaryenAtomicRMW'](module, Module['AtomicRMWXchg'], 8, offset, ptr, value, Module['i64'], strToStack(name)); }, - 'cmpxchg'(offset, ptr, expected, replacement) { - return Module['_BinaryenAtomicCmpxchg'](module, 8, offset, ptr, expected, replacement, Module['i64']) + 'cmpxchg'(offset, ptr, expected, replacement, name) { + return Module['_BinaryenAtomicCmpxchg'](module, 8, offset, ptr, expected, replacement, Module['i64'], strToStack(name)) }, }, 'rmw8_u': { - 'add'(offset, ptr, value) { - return Module['_BinaryenAtomicRMW'](module, Module['AtomicRMWAdd'], 1, offset, ptr, value, Module['i64']); + 'add'(offset, ptr, value, name) { + return Module['_BinaryenAtomicRMW'](module, Module['AtomicRMWAdd'], 1, offset, ptr, value, Module['i64'], strToStack(name)); }, - 'sub'(offset, ptr, value) { - return Module['_BinaryenAtomicRMW'](module, Module['AtomicRMWSub'], 1, offset, ptr, value, Module['i64']); + 'sub'(offset, ptr, value, name) { + return Module['_BinaryenAtomicRMW'](module, Module['AtomicRMWSub'], 1, offset, ptr, value, Module['i64'], strToStack(name)); }, - 'and'(offset, ptr, value) { - return Module['_BinaryenAtomicRMW'](module, Module['AtomicRMWAnd'], 1, offset, ptr, value, Module['i64']); + 'and'(offset, ptr, value, name) { + return Module['_BinaryenAtomicRMW'](module, Module['AtomicRMWAnd'], 1, offset, ptr, value, Module['i64'], strToStack(name)); }, - 'or'(offset, ptr, value) { - return Module['_BinaryenAtomicRMW'](module, Module['AtomicRMWOr'], 1, offset, ptr, value, Module['i64']); + 'or'(offset, ptr, value, name) { + return Module['_BinaryenAtomicRMW'](module, Module['AtomicRMWOr'], 1, offset, ptr, value, Module['i64'], strToStack(name)); }, - 'xor'(offset, ptr, value) { - return Module['_BinaryenAtomicRMW'](module, Module['AtomicRMWXor'], 1, offset, ptr, value, Module['i64']); + 'xor'(offset, ptr, value, name) { + return Module['_BinaryenAtomicRMW'](module, Module['AtomicRMWXor'], 1, offset, ptr, value, Module['i64'], strToStack(name)); }, - 'xchg'(offset, ptr, value) { - return Module['_BinaryenAtomicRMW'](module, Module['AtomicRMWXchg'], 1, offset, ptr, value, Module['i64']); + 'xchg'(offset, ptr, value, name) { + return Module['_BinaryenAtomicRMW'](module, Module['AtomicRMWXchg'], 1, offset, ptr, value, Module['i64'], strToStack(name)); }, - 'cmpxchg'(offset, ptr, expected, replacement) { - return Module['_BinaryenAtomicCmpxchg'](module, 1, offset, ptr, expected, replacement, Module['i64']) + 'cmpxchg'(offset, ptr, expected, replacement, name) { + return Module['_BinaryenAtomicCmpxchg'](module, 1, offset, ptr, expected, replacement, Module['i64'], strToStack(name)) }, }, 'rmw16_u': { - 'add'(offset, ptr, value) { - return Module['_BinaryenAtomicRMW'](module, Module['AtomicRMWAdd'], 2, offset, ptr, value, Module['i64']); + 'add'(offset, ptr, value, name) { + return Module['_BinaryenAtomicRMW'](module, Module['AtomicRMWAdd'], 2, offset, ptr, value, Module['i64'], strToStack(name)); }, - 'sub'(offset, ptr, value) { - return Module['_BinaryenAtomicRMW'](module, Module['AtomicRMWSub'], 2, offset, ptr, value, Module['i64']); + 'sub'(offset, ptr, value, name) { + return Module['_BinaryenAtomicRMW'](module, Module['AtomicRMWSub'], 2, offset, ptr, value, Module['i64'], strToStack(name)); }, - 'and'(offset, ptr, value) { - return Module['_BinaryenAtomicRMW'](module, Module['AtomicRMWAnd'], 2, offset, ptr, value, Module['i64']); + 'and'(offset, ptr, value, name) { + return Module['_BinaryenAtomicRMW'](module, Module['AtomicRMWAnd'], 2, offset, ptr, value, Module['i64'], strToStack(name)); }, - 'or'(offset, ptr, value) { - return Module['_BinaryenAtomicRMW'](module, Module['AtomicRMWOr'], 2, offset, ptr, value, Module['i64']); + 'or'(offset, ptr, value, name) { + return Module['_BinaryenAtomicRMW'](module, Module['AtomicRMWOr'], 2, offset, ptr, value, Module['i64'], strToStack(name)); }, - 'xor'(offset, ptr, value) { - return Module['_BinaryenAtomicRMW'](module, Module['AtomicRMWXor'], 2, offset, ptr, value, Module['i64']); + 'xor'(offset, ptr, value, name) { + return Module['_BinaryenAtomicRMW'](module, Module['AtomicRMWXor'], 2, offset, ptr, value, Module['i64'], strToStack(name)); }, - 'xchg'(offset, ptr, value) { - return Module['_BinaryenAtomicRMW'](module, Module['AtomicRMWXchg'], 2, offset, ptr, value, Module['i64']); + 'xchg'(offset, ptr, value, name) { + return Module['_BinaryenAtomicRMW'](module, Module['AtomicRMWXchg'], 2, offset, ptr, value, Module['i64'], strToStack(name)); }, - 'cmpxchg'(offset, ptr, expected, replacement) { - return Module['_BinaryenAtomicCmpxchg'](module, 2, offset, ptr, expected, replacement, Module['i64']) + 'cmpxchg'(offset, ptr, expected, replacement, name) { + return Module['_BinaryenAtomicCmpxchg'](module, 2, offset, ptr, expected, replacement, Module['i64'], strToStack(name)) }, }, 'rmw32_u': { - 'add'(offset, ptr, value) { - return Module['_BinaryenAtomicRMW'](module, Module['AtomicRMWAdd'], 4, offset, ptr, value, Module['i64']); + 'add'(offset, ptr, value, name) { + return Module['_BinaryenAtomicRMW'](module, Module['AtomicRMWAdd'], 4, offset, ptr, value, Module['i64'], strToStack(name)); }, - 'sub'(offset, ptr, value) { - return Module['_BinaryenAtomicRMW'](module, Module['AtomicRMWSub'], 4, offset, ptr, value, Module['i64']); + 'sub'(offset, ptr, value, name) { + return Module['_BinaryenAtomicRMW'](module, Module['AtomicRMWSub'], 4, offset, ptr, value, Module['i64'], strToStack(name)); }, - 'and'(offset, ptr, value) { - return Module['_BinaryenAtomicRMW'](module, Module['AtomicRMWAnd'], 4, offset, ptr, value, Module['i64']); + 'and'(offset, ptr, value, name) { + return Module['_BinaryenAtomicRMW'](module, Module['AtomicRMWAnd'], 4, offset, ptr, value, Module['i64'], strToStack(name)); }, - 'or'(offset, ptr, value) { - return Module['_BinaryenAtomicRMW'](module, Module['AtomicRMWOr'], 4, offset, ptr, value, Module['i64']); + 'or'(offset, ptr, value, name) { + return Module['_BinaryenAtomicRMW'](module, Module['AtomicRMWOr'], 4, offset, ptr, value, Module['i64'], strToStack(name)); }, - 'xor'(offset, ptr, value) { - return Module['_BinaryenAtomicRMW'](module, Module['AtomicRMWXor'], 4, offset, ptr, value, Module['i64']); + 'xor'(offset, ptr, value, name) { + return Module['_BinaryenAtomicRMW'](module, Module['AtomicRMWXor'], 4, offset, ptr, value, Module['i64'], strToStack(name)); }, - 'xchg'(offset, ptr, value) { - return Module['_BinaryenAtomicRMW'](module, Module['AtomicRMWXchg'], 4, offset, ptr, value, Module['i64']); + 'xchg'(offset, ptr, value, name) { + return Module['_BinaryenAtomicRMW'](module, Module['AtomicRMWXchg'], 4, offset, ptr, value, Module['i64'], strToStack(name)); }, - 'cmpxchg'(offset, ptr, expected, replacement) { - return Module['_BinaryenAtomicCmpxchg'](module, 4, offset, ptr, expected, replacement, Module['i64']) + 'cmpxchg'(offset, ptr, expected, replacement, name) { + return Module['_BinaryenAtomicCmpxchg'](module, 4, offset, ptr, expected, replacement, Module['i64'], strToStack(name)) }, }, }, @@ -1280,11 +1280,11 @@ function wrapModule(module, self = {}) { }; self['f32'] = { - 'load'(offset, align, ptr) { - return Module['_BinaryenLoad'](module, 4, true, offset, align, Module['f32'], ptr); + 'load'(offset, align, ptr, name) { + return Module['_BinaryenLoad'](module, 4, true, offset, align, Module['f32'], ptr, strToStack(name)); }, - 'store'(offset, align, ptr, value) { - return Module['_BinaryenStore'](module, 4, offset, align, ptr, value, Module['f32']); + 'store'(offset, align, ptr, value, name) { + return Module['_BinaryenStore'](module, 4, offset, align, ptr, value, Module['f32'], strToStack(name)); }, 'const'(x) { return preserveStack(() => { @@ -1388,11 +1388,11 @@ function wrapModule(module, self = {}) { }; self['f64'] = { - 'load'(offset, align, ptr) { - return Module['_BinaryenLoad'](module, 8, true, offset, align, Module['f64'], ptr); + 'load'(offset, align, ptr, name) { + return Module['_BinaryenLoad'](module, 8, true, offset, align, Module['f64'], ptr, strToStack(name)); }, - 'store'(offset, align, ptr, value) { - return Module['_BinaryenStore'](module, 8, offset, align, ptr, value, Module['f64']); + 'store'(offset, align, ptr, value, name) { + return Module['_BinaryenStore'](module, 8, offset, align, ptr, value, Module['f64'], strToStack(name)); }, 'const'(x) { return preserveStack(() => { @@ -1496,71 +1496,71 @@ function wrapModule(module, self = {}) { }; self['v128'] = { - 'load'(offset, align, ptr) { - return Module['_BinaryenLoad'](module, 16, false, offset, align, Module['v128'], ptr); + 'load'(offset, align, ptr, name) { + return Module['_BinaryenLoad'](module, 16, false, offset, align, Module['v128'], ptr, strToStack(name)); }, - 'load8_splat'(offset, align, ptr) { - return Module['_BinaryenSIMDLoad'](module, Module['Load8SplatVec128'], offset, align, ptr); + 'load8_splat'(offset, align, ptr, name) { + return Module['_BinaryenSIMDLoad'](module, Module['Load8SplatVec128'], offset, align, ptr, strToStack(name)); }, - 'load16_splat'(offset, align, ptr) { - return Module['_BinaryenSIMDLoad'](module, Module['Load16SplatVec128'], offset, align, ptr); + 'load16_splat'(offset, align, ptr, name) { + return Module['_BinaryenSIMDLoad'](module, Module['Load16SplatVec128'], offset, align, ptr, strToStack(name)); }, - 'load32_splat'(offset, align, ptr) { - return Module['_BinaryenSIMDLoad'](module, Module['Load32SplatVec128'], offset, align, ptr); + 'load32_splat'(offset, align, ptr, name) { + return Module['_BinaryenSIMDLoad'](module, Module['Load32SplatVec128'], offset, align, ptr, strToStack(name)); }, - 'load64_splat'(offset, align, ptr) { - return Module['_BinaryenSIMDLoad'](module, Module['Load64SplatVec128'], offset, align, ptr); + 'load64_splat'(offset, align, ptr, name) { + return Module['_BinaryenSIMDLoad'](module, Module['Load64SplatVec128'], offset, align, ptr, strToStack(name)); }, - 'load8x8_s'(offset, align, ptr) { - return Module['_BinaryenSIMDLoad'](module, Module['Load8x8SVec128'], offset, align, ptr); + 'load8x8_s'(offset, align, ptr, name) { + return Module['_BinaryenSIMDLoad'](module, Module['Load8x8SVec128'], offset, align, ptr, strToStack(name)); }, - 'load8x8_u'(offset, align, ptr) { - return Module['_BinaryenSIMDLoad'](module, Module['Load8x8UVec128'], offset, align, ptr); + 'load8x8_u'(offset, align, ptr, name) { + return Module['_BinaryenSIMDLoad'](module, Module['Load8x8UVec128'], offset, align, ptr, strToStack(name)); }, - 'load16x4_s'(offset, align, ptr) { - return Module['_BinaryenSIMDLoad'](module, Module['Load16x4SVec128'], offset, align, ptr); + 'load16x4_s'(offset, align, ptr, name) { + return Module['_BinaryenSIMDLoad'](module, Module['Load16x4SVec128'], offset, align, ptr, strToStack(name)); }, - 'load16x4_u'(offset, align, ptr) { - return Module['_BinaryenSIMDLoad'](module, Module['Load16x4UVec128'], offset, align, ptr); + 'load16x4_u'(offset, align, ptr, name) { + return Module['_BinaryenSIMDLoad'](module, Module['Load16x4UVec128'], offset, align, ptr, strToStack(name)); }, - 'load32x2_s'(offset, align, ptr) { - return Module['_BinaryenSIMDLoad'](module, Module['Load32x2SVec128'], offset, align, ptr); + 'load32x2_s'(offset, align, ptr, name) { + return Module['_BinaryenSIMDLoad'](module, Module['Load32x2SVec128'], offset, align, ptr, strToStack(name)); }, - 'load32x2_u'(offset, align, ptr) { - return Module['_BinaryenSIMDLoad'](module, Module['Load32x2UVec128'], offset, align, ptr); + 'load32x2_u'(offset, align, ptr, name) { + return Module['_BinaryenSIMDLoad'](module, Module['Load32x2UVec128'], offset, align, ptr, strToStack(name)); }, - 'load32_zero'(offset, align, ptr) { - return Module['_BinaryenSIMDLoad'](module, Module['Load32ZeroVec128'], offset, align, ptr); + 'load32_zero'(offset, align, ptr, name) { + return Module['_BinaryenSIMDLoad'](module, Module['Load32ZeroVec128'], offset, align, ptr, strToStack(name)); }, - 'load64_zero'(offset, align, ptr) { - return Module['_BinaryenSIMDLoad'](module, Module['Load64ZeroVec128'], offset, align, ptr); + 'load64_zero'(offset, align, ptr, name) { + return Module['_BinaryenSIMDLoad'](module, Module['Load64ZeroVec128'], offset, align, ptr, strToStack(name)); }, - 'load8_lane'(offset, align, index, ptr, vec) { - return Module['_BinaryenSIMDLoadStoreLane'](module, Module['Load8LaneVec128'], offset, align, index, ptr, vec); + 'load8_lane'(offset, align, index, ptr, vec, name) { + return Module['_BinaryenSIMDLoadStoreLane'](module, Module['Load8LaneVec128'], offset, align, index, ptr, vec, strToStack(name)); }, - 'load16_lane'(offset, align, index, ptr, vec) { - return Module['_BinaryenSIMDLoadStoreLane'](module, Module['Load16LaneVec128'], offset, align, index, ptr, vec); + 'load16_lane'(offset, align, index, ptr, vec, name) { + return Module['_BinaryenSIMDLoadStoreLane'](module, Module['Load16LaneVec128'], offset, align, index, ptr, vec, strToStack(name)); }, - 'load32_lane'(offset, align, index, ptr, vec) { - return Module['_BinaryenSIMDLoadStoreLane'](module, Module['Load32LaneVec128'], offset, align, index, ptr, vec); + 'load32_lane'(offset, align, index, ptr, vec, name) { + return Module['_BinaryenSIMDLoadStoreLane'](module, Module['Load32LaneVec128'], offset, align, index, ptr, vec, strToStack(name)); }, - 'load64_lane'(offset, align, index, ptr, vec) { - return Module['_BinaryenSIMDLoadStoreLane'](module, Module['Load64LaneVec128'], offset, align, index, ptr, vec); + 'load64_lane'(offset, align, index, ptr, vec, name) { + return Module['_BinaryenSIMDLoadStoreLane'](module, Module['Load64LaneVec128'], offset, align, index, ptr, vec, strToStack(name)); }, - 'store8_lane'(offset, align, index, ptr, vec) { - return Module['_BinaryenSIMDLoadStoreLane'](module, Module['Store8LaneVec128'], offset, align, index, ptr, vec); + 'store8_lane'(offset, align, index, ptr, vec, name) { + return Module['_BinaryenSIMDLoadStoreLane'](module, Module['Store8LaneVec128'], offset, align, index, ptr, vec, strToStack(name)); }, - 'store16_lane'(offset, align, index, ptr, vec) { - return Module['_BinaryenSIMDLoadStoreLane'](module, Module['Store16LaneVec128'], offset, align, index, ptr, vec); + 'store16_lane'(offset, align, index, ptr, vec, name) { + return Module['_BinaryenSIMDLoadStoreLane'](module, Module['Store16LaneVec128'], offset, align, index, ptr, vec, strToStack(name)); }, - 'store32_lane'(offset, align, index, ptr, vec) { - return Module['_BinaryenSIMDLoadStoreLane'](module, Module['Store32LaneVec128'], offset, align, index, ptr, vec); + 'store32_lane'(offset, align, index, ptr, vec, name) { + return Module['_BinaryenSIMDLoadStoreLane'](module, Module['Store32LaneVec128'], offset, align, index, ptr, vec, strToStack(name)); }, - 'store64_lane'(offset, align, index, ptr, vec) { - return Module['_BinaryenSIMDLoadStoreLane'](module, Module['Store64LaneVec128'], offset, align, index, ptr, vec); + 'store64_lane'(offset, align, index, ptr, vec, name) { + return Module['_BinaryenSIMDLoadStoreLane'](module, Module['Store64LaneVec128'], offset, align, index, ptr, vec, strToStack(name)); }, - 'store'(offset, align, ptr, value) { - return Module['_BinaryenStore'](module, 16, offset, align, ptr, value, Module['v128']); + 'store'(offset, align, ptr, value, name) { + return Module['_BinaryenStore'](module, 16, offset, align, ptr, value, Module['v128'], strToStack(name)); }, 'const'(i8s) { return preserveStack(() => { diff --git a/src/passes/MemoryPacking.cpp b/src/passes/MemoryPacking.cpp index 8fbbd7f5268..02027f52f5d 100644 --- a/src/passes/MemoryPacking.cpp +++ b/src/passes/MemoryPacking.cpp @@ -88,7 +88,7 @@ makeGtShiftedMemorySize(Builder& builder, Module& module, MemoryInit* curr) { mem->is64() ? GtUInt64 : GtUInt32, curr->dest, builder.makeBinary(mem->is64() ? ShlInt64 : ShlInt32, - builder.makeMemorySize(mem->name, mem->is64()), + builder.makeMemorySize(mem->name), builder.makeConstPtr(16, mem->indexType))); } diff --git a/src/passes/SafeHeap.cpp b/src/passes/SafeHeap.cpp index 7f6115d0f0c..a746a67abc1 100644 --- a/src/passes/SafeHeap.cpp +++ b/src/passes/SafeHeap.cpp @@ -389,8 +389,7 @@ struct SafeHeap : public Pass { bool is64, Name memory) { auto upperOp = is64 ? options.lowMemoryUnused ? LtUInt64 : EqInt64 - : options.lowMemoryUnused ? LtUInt32 - : EqInt32; + : options.lowMemoryUnused ? LtUInt32 : EqInt32; auto upperBound = options.lowMemoryUnused ? PassOptions::LowMemoryBound : 0; Expression* brkLocation; if (sbrk.is()) { diff --git a/src/wasm-builder.h b/src/wasm-builder.h index aa8e9b133b0..51fb1aed0b1 100644 --- a/src/wasm-builder.h +++ b/src/wasm-builder.h @@ -662,18 +662,20 @@ class Builder { ret->value = value; return ret; } - MemorySize* makeMemorySize(Name memory, bool is64) { + MemorySize* makeMemorySize(Name memory) { + auto mem = wasm.getMemory(memory); auto* ret = wasm.allocator.alloc(); - if (is64) { + if (mem->is64()) { ret->make64(); } ret->memory = memory; ret->finalize(); return ret; } - MemoryGrow* makeMemoryGrow(Expression* delta, Name memory, bool is64) { + MemoryGrow* makeMemoryGrow(Expression* delta, Name memory) { + auto mem = wasm.getMemory(memory); auto* ret = wasm.allocator.alloc(); - if (is64) { + if (mem->is64()) { ret->make64(); } ret->delta = delta; diff --git a/test/example/c-api-kitchen-sink.c b/test/example/c-api-kitchen-sink.c index a0d8b10a48a..5f6c974b27f 100644 --- a/test/example/c-api-kitchen-sink.c +++ b/test/example/c-api-kitchen-sink.c @@ -488,7 +488,8 @@ void test_core() { segmentOffsets, segmentSizes, 2, - 1); + 1, + "0"); BinaryenExpressionRef valueList[] = { // Unary @@ -1032,8 +1033,8 @@ void test_core() { BinaryenPop(module, BinaryenTypeExternref()), BinaryenPop(module, iIfF), // Memory - BinaryenMemorySize(module, "0", false), - BinaryenMemoryGrow(module, makeInt32(module, 0), "0", false), + BinaryenMemorySize(module, "0"), + BinaryenMemoryGrow(module, makeInt32(module, 0), "0"), // GC BinaryenI31New(module, makeInt32(module, 0)), BinaryenI31Get(module, i31refExpr, 1), From 59640ced00b882dc23c77a3a2eb2a1ace7f92588 Mon Sep 17 00:00:00 2001 From: Ashley Nelson Date: Fri, 22 Jul 2022 00:30:49 +0000 Subject: [PATCH 51/78] asan --- src/binaryen-c.cpp | 4 ++-- src/binaryen-c.h | 6 ++---- src/ir/memory-utils.cpp | 2 +- 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/src/binaryen-c.cpp b/src/binaryen-c.cpp index eac8ec657bf..c3e1c4b2b06 100644 --- a/src/binaryen-c.cpp +++ b/src/binaryen-c.cpp @@ -1148,8 +1148,8 @@ BinaryenExpressionRef BinaryenReturn(BinaryenModuleRef module, auto* ret = Builder(*(Module*)module).makeReturn((Expression*)value); return static_cast(ret); } -BinaryenExpressionRef -BinaryenMemorySize(BinaryenModuleRef module, const char* name) { +BinaryenExpressionRef BinaryenMemorySize(BinaryenModuleRef module, + const char* name) { if (name == nullptr && module->memories.size() == 1) { name = module->memories[0]->name.c_str(); } diff --git a/src/binaryen-c.h b/src/binaryen-c.h index edf33aee062..3e840bdf9cd 100644 --- a/src/binaryen-c.h +++ b/src/binaryen-c.h @@ -780,10 +780,8 @@ BINARYEN_API BinaryenExpressionRef BinaryenReturn(BinaryenModuleRef module, BinaryenExpressionRef value); BINARYEN_API BinaryenExpressionRef BinaryenMemorySize(BinaryenModuleRef module, const char* name); -BINARYEN_API BinaryenExpressionRef -BinaryenMemoryGrow(BinaryenModuleRef module, - BinaryenExpressionRef delta, - const char* name); +BINARYEN_API BinaryenExpressionRef BinaryenMemoryGrow( + BinaryenModuleRef module, BinaryenExpressionRef delta, const char* name); BINARYEN_API BinaryenExpressionRef BinaryenNop(BinaryenModuleRef module); BINARYEN_API BinaryenExpressionRef BinaryenUnreachable(BinaryenModuleRef module); diff --git a/src/ir/memory-utils.cpp b/src/ir/memory-utils.cpp index d5441dc79a8..12325562ef2 100644 --- a/src/ir/memory-utils.cpp +++ b/src/ir/memory-utils.cpp @@ -65,11 +65,11 @@ bool flatten(Module& wasm) { } std::copy(segment->data.begin(), segment->data.end(), data.begin() + start); } - dataSegments.resize(1); dataSegments[0]->offset->cast()->value = Literal(int32_t(0)); dataSegments[0]->data.swap(data); wasm.removeDataSegments( [&](DataSegment* curr) { return curr->name != dataSegments[0]->name; }); + dataSegments.resize(1); return true; } From feff650e129cac6b95b0cd9ae63c0e31c06a16a1 Mon Sep 17 00:00:00 2001 From: Ashley Nelson Date: Sun, 24 Jul 2022 23:03:48 +0000 Subject: [PATCH 52/78] review & cleanup --- src/abi/stack.h | 1 - src/binaryen-c.cpp | 29 ++++++--- src/binaryen-c.h | 7 +-- src/ir/memory-utils.cpp | 1 + src/ir/memory-utils.h | 12 ++-- src/js/binaryen.js-post.js | 3 - src/passes/MemoryPacking.cpp | 7 ++- src/passes/RemoveUnusedModuleElements.cpp | 1 + src/passes/SafeHeap.cpp | 43 ++++++------- src/shell-interface.h | 2 +- src/tools/wasm-shell.cpp | 4 +- src/tools/wasm-split/instrumenter.cpp | 6 +- src/wasm-builder.h | 16 ++--- src/wasm-s-parser.h | 3 +- src/wasm/wasm-binary.cpp | 2 +- src/wasm/wasm-s-parser.cpp | 60 +++++++++---------- src/wasm/wasm-validator.cpp | 8 +-- test/binaryen.js/expressions.js | 2 +- test/binaryen.js/kitchen-sink.js | 2 +- test/lit/passes/O4_disable-bulk-memory.wast | 4 +- .../export-name-already-exists.wast | 1 + test/lit/wasm-split/instrument-in-memory.wast | 1 + 22 files changed, 115 insertions(+), 100 deletions(-) diff --git a/src/abi/stack.h b/src/abi/stack.h index 272ba1a61a3..93a6e4cc1e4 100644 --- a/src/abi/stack.h +++ b/src/abi/stack.h @@ -50,7 +50,6 @@ getStackSpace(Index local, Function* func, Index size, Module& wasm) { } // align the size size = stackAlign(size); - // TODO(nashley): identify the proper memory auto pointerType = !wasm.memories.empty() ? wasm.memories[0]->indexType : Type::i32; // TODO: find existing stack usage, and add on top of that - carefully diff --git a/src/binaryen-c.cpp b/src/binaryen-c.cpp index c3e1c4b2b06..327e62f18ea 100644 --- a/src/binaryen-c.cpp +++ b/src/binaryen-c.cpp @@ -1070,8 +1070,8 @@ BinaryenExpressionRef BinaryenLoad(BinaryenModuleRef module, BinaryenType type, BinaryenExpressionRef ptr, const char* name) { + // Maintaining compatibility for instructions with a single memory if (name == nullptr && module->memories.size() == 1) { - // add an assert to check that memories[0] name = module->memories[0]->name.c_str(); } return static_cast(Builder(*(Module*)module) @@ -1091,6 +1091,7 @@ BinaryenExpressionRef BinaryenStore(BinaryenModuleRef module, BinaryenExpressionRef value, BinaryenType type, const char* name) { + // Maintaining compatibility for instructions with a single memory if (name == nullptr && module->memories.size() == 1) { name = module->memories[0]->name.c_str(); } @@ -1150,6 +1151,7 @@ BinaryenExpressionRef BinaryenReturn(BinaryenModuleRef module, } BinaryenExpressionRef BinaryenMemorySize(BinaryenModuleRef module, const char* name) { + // Maintaining compatibility for instructions with a single memory if (name == nullptr && module->memories.size() == 1) { name = module->memories[0]->name.c_str(); } @@ -1159,6 +1161,7 @@ BinaryenExpressionRef BinaryenMemorySize(BinaryenModuleRef module, BinaryenExpressionRef BinaryenMemoryGrow(BinaryenModuleRef module, BinaryenExpressionRef delta, const char* name) { + // Maintaining compatibility for instructions with a single memory if (name == nullptr && module->memories.size() == 1) { name = module->memories[0]->name.c_str(); } @@ -1178,6 +1181,7 @@ BinaryenExpressionRef BinaryenAtomicLoad(BinaryenModuleRef module, BinaryenType type, BinaryenExpressionRef ptr, const char* name) { + // Maintaining compatibility for instructions with a single memory if (name == nullptr && module->memories.size() == 1) { name = module->memories[0]->name.c_str(); } @@ -1192,6 +1196,7 @@ BinaryenExpressionRef BinaryenAtomicStore(BinaryenModuleRef module, BinaryenExpressionRef value, BinaryenType type, const char* name) { + // Maintaining compatibility for instructions with a single memory if (name == nullptr && module->memories.size() == 1) { name = module->memories[0]->name.c_str(); } @@ -1208,6 +1213,7 @@ BinaryenExpressionRef BinaryenAtomicRMW(BinaryenModuleRef module, BinaryenExpressionRef value, BinaryenType type, const char* name) { + // Maintaining compatibility for instructions with a single memory if (name == nullptr && module->memories.size() == 1) { name = module->memories[0]->name.c_str(); } @@ -1228,6 +1234,7 @@ BinaryenExpressionRef BinaryenAtomicCmpxchg(BinaryenModuleRef module, BinaryenExpressionRef replacement, BinaryenType type, const char* name) { + // Maintaining compatibility for instructions with a single memory if (name == nullptr && module->memories.size() == 1) { name = module->memories[0]->name.c_str(); } @@ -1246,6 +1253,7 @@ BinaryenExpressionRef BinaryenAtomicWait(BinaryenModuleRef module, BinaryenExpressionRef timeout, BinaryenType expectedType, const char* name) { + // Maintaining compatibility for instructions with a single memory if (name == nullptr && module->memories.size() == 1) { name = module->memories[0]->name.c_str(); } @@ -1261,6 +1269,7 @@ BinaryenExpressionRef BinaryenAtomicNotify(BinaryenModuleRef module, BinaryenExpressionRef ptr, BinaryenExpressionRef notifyCount, const char* name) { + // Maintaining compatibility for instructions with a single memory if (name == nullptr && module->memories.size() == 1) { name = module->memories[0]->name.c_str(); } @@ -1324,6 +1333,7 @@ BinaryenExpressionRef BinaryenSIMDLoad(BinaryenModuleRef module, uint32_t align, BinaryenExpressionRef ptr, const char* name) { + // Maintaining compatibility for instructions with a single memory if (name == nullptr && module->memories.size() == 1) { name = module->memories[0]->name.c_str(); } @@ -1342,6 +1352,7 @@ BinaryenExpressionRef BinaryenSIMDLoadStoreLane(BinaryenModuleRef module, BinaryenExpressionRef ptr, BinaryenExpressionRef vec, const char* name) { + // Maintaining compatibility for instructions with a single memory if (name == nullptr && module->memories.size() == 1) { name = module->memories[0]->name.c_str(); } @@ -1361,6 +1372,7 @@ BinaryenExpressionRef BinaryenMemoryInit(BinaryenModuleRef module, BinaryenExpressionRef offset, BinaryenExpressionRef size, const char* name) { + // Maintaining compatibility for instructions with a single memory if (name == nullptr && module->memories.size() == 1) { name = module->memories[0]->name.c_str(); } @@ -1383,6 +1395,7 @@ BinaryenExpressionRef BinaryenMemoryCopy(BinaryenModuleRef module, BinaryenExpressionRef source, BinaryenExpressionRef size, const char* name) { + // Maintaining compatibility for instructions with a single memory if (name == nullptr && module->memories.size() == 1) { name = module->memories[0]->name.c_str(); } @@ -1397,6 +1410,7 @@ BinaryenExpressionRef BinaryenMemoryFill(BinaryenModuleRef module, BinaryenExpressionRef value, BinaryenExpressionRef size, const char* name) { + // Maintaining compatibility for instructions with a single memory if (name == nullptr && module->memories.size() == 1) { name = module->memories[0]->name.c_str(); } @@ -3944,7 +3958,7 @@ const char* BinaryenElementSegmentGetData(BinaryenElementSegmentRef elem, } } -// Memory. One per module +// Memory. void BinaryenSetMemory(BinaryenModuleRef module, BinaryenIndex initial, @@ -3986,11 +4000,6 @@ void BinaryenSetMemory(BinaryenModuleRef module, ((Module*)module)->addMemory(std::move(memory)); } -BinaryenMemoryRef BinaryenMemoryGet(BinaryenModuleRef module, - const char* name) { - return ((Module*)module)->getMemoryOrNull(name); -} - // Memory segments uint32_t BinaryenGetNumMemorySegments(BinaryenModuleRef module) { @@ -4033,6 +4042,7 @@ bool BinaryenHasMemory(BinaryenModuleRef module) { } BinaryenIndex BinaryenMemoryGetInitial(BinaryenModuleRef module, const char* name) { + // Maintaining compatibility for instructions with a single memory if (name == nullptr && module->memories.size() == 1) { name = module->memories[0]->name.c_str(); } @@ -4043,6 +4053,7 @@ BinaryenIndex BinaryenMemoryGetInitial(BinaryenModuleRef module, return memory->initial; } bool BinaryenMemoryHasMax(BinaryenModuleRef module, const char* name) { + // Maintaining compatibility for instructions with a single memory if (name == nullptr && module->memories.size() == 1) { name = module->memories[0]->name.c_str(); } @@ -4053,6 +4064,7 @@ bool BinaryenMemoryHasMax(BinaryenModuleRef module, const char* name) { return memory->hasMax(); } BinaryenIndex BinaryenMemoryGetMax(BinaryenModuleRef module, const char* name) { + // Maintaining compatibility for instructions with a single memory if (name == nullptr && module->memories.size() == 1) { name = module->memories[0]->name.c_str(); } @@ -4064,6 +4076,7 @@ BinaryenIndex BinaryenMemoryGetMax(BinaryenModuleRef module, const char* name) { } const char* BinaryenMemoryImportGetModule(BinaryenModuleRef module, const char* name) { + // Maintaining compatibility for instructions with a single memory if (name == nullptr && module->memories.size() == 1) { name = module->memories[0]->name.c_str(); } @@ -4079,6 +4092,7 @@ const char* BinaryenMemoryImportGetModule(BinaryenModuleRef module, } const char* BinaryenMemoryImportGetBase(BinaryenModuleRef module, const char* name) { + // Maintaining compatibility for instructions with a single memory if (name == nullptr && module->memories.size() == 1) { name = module->memories[0]->name.c_str(); } @@ -4093,6 +4107,7 @@ const char* BinaryenMemoryImportGetBase(BinaryenModuleRef module, } } bool BinaryenMemoryIsShared(BinaryenModuleRef module, const char* name) { + // Maintaining compatibility for instructions with a single memory if (name == nullptr && module->memories.size() == 1) { name = module->memories[0]->name.c_str(); } diff --git a/src/binaryen-c.h b/src/binaryen-c.h index 3e840bdf9cd..4b3d55280c0 100644 --- a/src/binaryen-c.h +++ b/src/binaryen-c.h @@ -2210,10 +2210,6 @@ BINARYEN_API void BinaryenAddTagImport(BinaryenModuleRef module, // Memory BINARYEN_REF(Memory); -// Gets a memory reference by name. Returns NULL if the function does not exist. -BINARYEN_API BinaryenMemoryRef BinaryenMemoryGet(BinaryenModuleRef module, - const char* name); - // Exports BINARYEN_REF(Export); @@ -2330,8 +2326,7 @@ BinaryenGetElementSegment(BinaryenModuleRef module, const char* name); BINARYEN_API BinaryenElementSegmentRef BinaryenGetElementSegmentByIndex(BinaryenModuleRef module, BinaryenIndex index); -// Memory. One per module - +// This will create a memory, overwriting any existing memory // Each memory has data in segments, a start offset in segmentOffsets, and a // size in segmentSizes. exportName can be NULL BINARYEN_API void BinaryenSetMemory(BinaryenModuleRef module, diff --git a/src/ir/memory-utils.cpp b/src/ir/memory-utils.cpp index 12325562ef2..ea4e6f7488d 100644 --- a/src/ir/memory-utils.cpp +++ b/src/ir/memory-utils.cpp @@ -20,6 +20,7 @@ namespace wasm::MemoryUtils { bool flatten(Module& wasm) { + // Flatten does not currently have support for multi-memories if (wasm.memories.size() > 1) { return false; } diff --git a/src/ir/memory-utils.h b/src/ir/memory-utils.h index c31aea1041c..9bdd00258a8 100644 --- a/src/ir/memory-utils.h +++ b/src/ir/memory-utils.h @@ -27,10 +27,10 @@ namespace wasm::MemoryUtils { -// Flattens memory into a single data segment, or no segment. -// With the introduction of multi-memories, at most flatten will now condense -// the wasm.dataSegments vector to a count == to wasm.memories.size(), with one -// data segment per memmory. +// Flattens memory into a single data segment, or no segment. If there is +// a segment, it starts at 0. +// Returns true if successful (e.g. relocatable segments cannot be flattened). +// Does not yet support multi-memories bool flatten(Module& wasm); // Ensures that a memory exists (of minimal size). @@ -44,7 +44,11 @@ inline void ensureExists(Module* wasm) { // Try to merge segments until they fit into web limitations. // Return true if successful. +// Does not yet support multi-memories inline bool ensureLimitedSegments(Module& module) { + if (module.memories.size() > 1) { + return false; + } auto& dataSegments = module.dataSegments; if (dataSegments.size() <= WebLimitations::MaxDataSegments) { return true; diff --git a/src/js/binaryen.js-post.js b/src/js/binaryen.js-post.js index 3948d3a1fa2..0ab5d64b05c 100644 --- a/src/js/binaryen.js-post.js +++ b/src/js/binaryen.js-post.js @@ -2529,9 +2529,6 @@ function wrapModule(module, self = {}) { ); }); }; - self['getMemory'] = function(name) { - return Module['_BinaryenMemoryGet'](module, strToStack(name)); - }; self['hasMemory'] = function() { return Boolean(Module['_BinaryenHasMemory'](module)); }; diff --git a/src/passes/MemoryPacking.cpp b/src/passes/MemoryPacking.cpp index 02027f52f5d..a53afb916a4 100644 --- a/src/passes/MemoryPacking.cpp +++ b/src/passes/MemoryPacking.cpp @@ -125,6 +125,7 @@ struct MemoryPacking : public Pass { }; void MemoryPacking::run(PassRunner* runner, Module* module) { + // Does not have multi-memories support if (!canOptimize(module->memories, module->dataSegments, runner->options)) { return; } @@ -184,7 +185,7 @@ bool MemoryPacking::canOptimize( std::vector>& memories, std::vector>& dataSegments, const PassOptions& passOptions) { - if (memories.empty()) { + if (memories.empty() || memories.size() > 1) { return false; } auto& memory = memories[0]; @@ -718,12 +719,12 @@ void MemoryPacking::createReplacements(Module* module, if (range.isZero) { Expression* value = builder.makeConst(Literal::makeZero(Type::i32)); appendResult( - builder.makeMemoryFill(dest, value, size, module->memories[0]->name)); + builder.makeMemoryFill(dest, value, size, init->memory)); } else { size_t offsetBytes = std::max(start, range.start) - range.start; Expression* offset = builder.makeConst(int32_t(offsetBytes)); appendResult(builder.makeMemoryInit( - initIndex, dest, offset, size, module->memories[0]->name)); + initIndex, dest, offset, size, init->memory)); initIndex++; } } diff --git a/src/passes/RemoveUnusedModuleElements.cpp b/src/passes/RemoveUnusedModuleElements.cpp index bb1fec37d72..1b117474534 100644 --- a/src/passes/RemoveUnusedModuleElements.cpp +++ b/src/passes/RemoveUnusedModuleElements.cpp @@ -38,6 +38,7 @@ typedef std::pair ModuleElement; // Finds reachabilities // TODO: use Effects to determine if a memory is used +// This pass does not have multi-memories support struct ReachabilityAnalyzer : public PostWalker { Module* module; diff --git a/src/passes/SafeHeap.cpp b/src/passes/SafeHeap.cpp index a746a67abc1..92b0465e08b 100644 --- a/src/passes/SafeHeap.cpp +++ b/src/passes/SafeHeap.cpp @@ -82,10 +82,10 @@ struct AccessInstrumenter : public WalkerPass> { return; } Builder builder(*getModule()); - auto mem = getModule()->getMemory(curr->memory); + auto memory = getModule()->getMemory(curr->memory); replaceCurrent(builder.makeCall( getLoadName(curr), - {curr->ptr, builder.makeConstPtr(curr->offset.addr, mem->indexType)}, + {curr->ptr, builder.makeConstPtr(curr->offset.addr, memory->indexType)}, curr->type)); } @@ -95,11 +95,11 @@ struct AccessInstrumenter : public WalkerPass> { return; } Builder builder(*getModule()); - auto mem = getModule()->getMemory(curr->memory); + auto memory = getModule()->getMemory(curr->memory); replaceCurrent( builder.makeCall(getStoreName(curr), {curr->ptr, - builder.makeConstPtr(curr->offset.addr, mem->indexType), + builder.makeConstPtr(curr->offset.addr, memory->indexType), curr->value}, Type::none)); } @@ -135,6 +135,7 @@ struct SafeHeap : public Pass { void run(PassRunner* runner, Module* module) override { options = runner->options; + assert(!module->memories.empty()); // add imports addImports(module); // instrument loads and stores @@ -155,7 +156,6 @@ struct SafeHeap : public Pass { void addImports(Module* module) { ImportInfo info(*module); - assert(!module->memories.empty()); auto indexType = module->memories[0]->indexType; if (auto* existing = info.getImportedFunction(ENV, GET_SBRK_PTR)) { getSbrkPtr = existing->name; @@ -282,15 +282,15 @@ struct SafeHeap : public Pass { return; } // pointer, offset - auto mem = module->getMemory(style.memory); - auto indexType = mem->indexType; + auto memory = module->getMemory(style.memory); + auto indexType = memory->indexType; auto funcSig = Signature({indexType, indexType}, style.type); auto func = Builder::makeFunction(name, funcSig, {indexType}); Builder builder(*module); auto* block = builder.makeBlock(); block->list.push_back(builder.makeLocalSet( 2, - builder.makeBinary(mem->is64() ? AddInt64 : AddInt32, + builder.makeBinary(memory->is64() ? AddInt64 : AddInt32, builder.makeLocalGet(0, indexType), builder.makeLocalGet(1, indexType)))); // check for reading past valid memory: if pointer + offset + bytes @@ -299,12 +299,12 @@ struct SafeHeap : public Pass { 2, style.bytes, module, - mem->indexType, - mem->is64(), - mem->name)); + memory->indexType, + memory->is64(), + memory->name)); // check proper alignment if (style.align > 1) { - block->list.push_back(makeAlignCheck(style.align, builder, 2, module)); + block->list.push_back(makeAlignCheck(style.align, builder, 2, module, memory->name)); } // do the load auto* load = module->allocator.alloc(); @@ -328,9 +328,9 @@ struct SafeHeap : public Pass { if (module->getFunctionOrNull(name)) { return; } - auto mem = module->getMemory(style.memory); - auto indexType = mem->indexType; - bool is64 = mem->is64(); + auto memory = module->getMemory(style.memory); + auto indexType = memory->indexType; + bool is64 = memory->is64(); // pointer, offset, value auto funcSig = Signature({indexType, indexType, style.valueType}, Type::none); @@ -350,15 +350,15 @@ struct SafeHeap : public Pass { module, indexType, is64, - mem->name)); + memory->name)); // check proper alignment if (style.align > 1) { - block->list.push_back(makeAlignCheck(style.align, builder, 3, module)); + block->list.push_back(makeAlignCheck(style.align, builder, 3, module, memory->name)); } // do the store auto* store = module->allocator.alloc(); *store = style; // basically the same as the template we are given! - store->memory = mem->name; + store->memory = memory->name; store->ptr = builder.makeLocalGet(3, indexType); store->value = builder.makeLocalGet(2, style.valueType); block->list.push_back(store); @@ -368,10 +368,11 @@ struct SafeHeap : public Pass { } Expression* - makeAlignCheck(Address align, Builder& builder, Index local, Module* module) { - auto indexType = module->memories[0]->indexType; + makeAlignCheck(Address align, Builder& builder, Index local, Module* module, Name memoryName) { + auto memory = module->getMemory(memoryName); + auto indexType = memory->indexType; Expression* ptrBits = builder.makeLocalGet(local, indexType); - if (module->memories[0]->is64()) { + if (memory->is64()) { ptrBits = builder.makeUnary(WrapInt64, ptrBits); } return builder.makeIf( diff --git a/src/shell-interface.h b/src/shell-interface.h index 250ef46b4b1..98349055b16 100644 --- a/src/shell-interface.h +++ b/src/shell-interface.h @@ -93,7 +93,7 @@ struct ShellExternalInterface : ModuleRunner::ExternalInterface { }; std::map memories; - std::map> tables; + std::unordered_map> tables; std::map> linkedInstances; ShellExternalInterface( diff --git a/src/tools/wasm-shell.cpp b/src/tools/wasm-shell.cpp index 0a159614bc4..ba5a1686b76 100644 --- a/src/tools/wasm-shell.cpp +++ b/src/tools/wasm-shell.cpp @@ -350,9 +350,9 @@ class Shell { spectest->addExport( builder.makeExport("table", Name::fromInt(0), ExternalKind::Table)); - spectest->addMemory(builder.makeMemory(Name::fromInt(0), 1, 2)); + Memory *memory = spectest->addMemory(builder.makeMemory(Name::fromInt(0), 1, 2)); spectest->addExport( - builder.makeExport("memory", Name::fromInt(0), ExternalKind::Memory)); + builder.makeExport("memory", memory->name, ExternalKind::Memory)); modules["spectest"].swap(spectest); modules["spectest"]->features = FeatureSet::All; diff --git a/src/tools/wasm-split/instrumenter.cpp b/src/tools/wasm-split/instrumenter.cpp index a5d5f1f9f0f..beb7474723a 100644 --- a/src/tools/wasm-split/instrumenter.cpp +++ b/src/tools/wasm-split/instrumenter.cpp @@ -108,16 +108,15 @@ void Instrumenter::instrumentFuncs() { } // (i32.atomic.store8 offset=funcidx (i32.const 0) (i32.const 1)) Index funcIdx = 0; + assert(!wasm->memories.empty()); ModuleUtils::iterDefinedFunctions(*wasm, [&](Function* func) { func->body = builder.makeSequence( builder.makeAtomicStore(1, funcIdx, - // TODO (nashley): Fix hardcoded type below builder.makeConstPtr(0, Type::i32), builder.makeConst(uint32_t(1)), Type::i32, - // TODO (nashley): Fix hardcoded name below - Name::fromInt(0)), + wasm->memories[0]->name), func->body, func->body->type); ++funcIdx; @@ -186,7 +185,6 @@ void Instrumenter::addProfileExport() { // Write the hash followed by all the time stamps Expression* writeData = - // TODO (nashley): Fix hardcoded name below builder.makeStore( 8, 0, 1, getAddr(), hashConst(), Type::i64, wasm->memories[0]->name); uint32_t offset = 8; diff --git a/src/wasm-builder.h b/src/wasm-builder.h index 51fb1aed0b1..c6c1c05c39a 100644 --- a/src/wasm-builder.h +++ b/src/wasm-builder.h @@ -662,24 +662,24 @@ class Builder { ret->value = value; return ret; } - MemorySize* makeMemorySize(Name memory) { - auto mem = wasm.getMemory(memory); + MemorySize* makeMemorySize(Name memoryName) { + auto memory = wasm.getMemory(memoryName); auto* ret = wasm.allocator.alloc(); - if (mem->is64()) { + if (memory->is64()) { ret->make64(); } - ret->memory = memory; + ret->memory = memoryName; ret->finalize(); return ret; } - MemoryGrow* makeMemoryGrow(Expression* delta, Name memory) { - auto mem = wasm.getMemory(memory); + MemoryGrow* makeMemoryGrow(Expression* delta, Name memoryName) { + auto memory = wasm.getMemory(memoryName); auto* ret = wasm.allocator.alloc(); - if (mem->is64()) { + if (memory->is64()) { ret->make64(); } ret->delta = delta; - ret->memory = memory; + ret->memory = memoryName; ret->finalize(); return ret; } diff --git a/src/wasm-s-parser.h b/src/wasm-s-parser.h index e31e37b1ca8..15524813ed8 100644 --- a/src/wasm-s-parser.h +++ b/src/wasm-s-parser.h @@ -168,10 +168,11 @@ class SExpressionWasmBuilder { UniqueNameMapper nameMapper; + Memory getMemoryAtIdx(Index idx); + Name getFunctionName(Element& s); Name getTableName(Element& s); Name getMemoryName(Element& s); - Memory getMemoryAtIdx(Index idx); Name getGlobalName(Element& s); Name getTagName(Element& s); void parseStart(Element& s) { wasm.addStart(getFunctionName(*s[1])); } diff --git a/src/wasm/wasm-binary.cpp b/src/wasm/wasm-binary.cpp index a31303b9df2..8c756b1b5eb 100644 --- a/src/wasm/wasm-binary.cpp +++ b/src/wasm/wasm-binary.cpp @@ -1037,7 +1037,7 @@ void WasmBinaryWriter::writeNames() { } } - // TODO: label names + // TODO: label, type, and element names // see: https://github.com/WebAssembly/extended-name-section // GC field names diff --git a/src/wasm/wasm-s-parser.cpp b/src/wasm/wasm-s-parser.cpp index 74893954d7d..56754e2d453 100644 --- a/src/wasm/wasm-s-parser.cpp +++ b/src/wasm/wasm-s-parser.cpp @@ -1393,9 +1393,9 @@ Expression* SExpressionWasmBuilder::makeMemorySize(Element& s) { if (s.size() > 1) { memIdx = atoi(s[i]->c_str()); } - auto mem = getMemoryAtIdx(memIdx); - ret->memory = mem.name; - if (mem.is64()) { + auto memory = getMemoryAtIdx(memIdx); + ret->memory = memory.name; + if (memory.is64()) { ret->make64(); } ret->finalize(); @@ -1409,9 +1409,9 @@ Expression* SExpressionWasmBuilder::makeMemoryGrow(Element& s) { if (s.size() > 2) { memIdx = atoi(s[i++]->c_str()); } - auto mem = getMemoryAtIdx(memIdx); - ret->memory = mem.name; - if (mem.is64()) { + auto memory = getMemoryAtIdx(memIdx); + ret->memory = memory.name; + if (memory.is64()) { ret->make64(); } ret->delta = parseExpression(s[i]); @@ -1943,8 +1943,8 @@ SExpressionWasmBuilder::makeLoad(Element& s, Type type, bool isAtomic) { strncmp(s[i]->c_str(), "offset", 6) != 0) { memIdx = atoi(s[i++]->c_str()); } - auto mem = getMemoryAtIdx(memIdx); - ret->memory = mem.name; + auto memory = getMemoryAtIdx(memIdx); + ret->memory = memory.name; i = parseMemAttributes(i, s, ret->offset, ret->align, ret->bytes); ret->ptr = parseExpression(s[i]); ret->finalize(); @@ -1967,8 +1967,8 @@ SExpressionWasmBuilder::makeStore(Element& s, Type type, bool isAtomic) { strncmp(s[i]->c_str(), "offset", 6) != 0) { memIdx = atoi(s[i++]->c_str()); } - auto mem = getMemoryAtIdx(memIdx); - ret->memory = mem.name; + auto memory = getMemoryAtIdx(memIdx); + ret->memory = memory.name; i = parseMemAttributes(i, s, ret->offset, ret->align, ret->bytes); ret->ptr = parseExpression(s[i]); ret->value = parseExpression(s[i + 1]); @@ -2022,8 +2022,8 @@ Expression* SExpressionWasmBuilder::makeAtomicRMW(Element& s, strncmp(s[i]->c_str(), "offset", 6) != 0) { memIdx = atoi(s[i++]->c_str()); } - auto mem = getMemoryAtIdx(memIdx); - ret->memory = mem.name; + auto memory = getMemoryAtIdx(memIdx); + ret->memory = memory.name; Address align; i = parseMemAttributes(i, s, ret->offset, align, ret->bytes); if (align != ret->bytes) { @@ -2052,8 +2052,8 @@ Expression* SExpressionWasmBuilder::makeAtomicCmpxchg(Element& s, strncmp(s[i]->c_str(), "offset", 6) != 0) { memIdx = atoi(s[i++]->c_str()); } - auto mem = getMemoryAtIdx(memIdx); - ret->memory = mem.name; + auto memory = getMemoryAtIdx(memIdx); + ret->memory = memory.name; i = parseMemAttributes(i, s, ret->offset, align, ret->bytes); if (align != ret->bytes) { throw ParseException( @@ -2088,8 +2088,8 @@ Expression* SExpressionWasmBuilder::makeAtomicWait(Element& s, Type type) { strncmp(s[i]->c_str(), "offset", 6) != 0) { memIdx = atoi(s[i++]->c_str()); } - auto mem = getMemoryAtIdx(memIdx); - ret->memory = mem.name; + auto memory = getMemoryAtIdx(memIdx); + ret->memory = memory.name; i = parseMemAttributes(i, s, ret->offset, align, expectedAlign); if (align != expectedAlign) { throw ParseException( @@ -2114,8 +2114,8 @@ Expression* SExpressionWasmBuilder::makeAtomicNotify(Element& s) { strncmp(s[i]->c_str(), "offset", 6) != 0) { memIdx = atoi(s[i++]->c_str()); } - auto mem = getMemoryAtIdx(memIdx); - ret->memory = mem.name; + auto memory = getMemoryAtIdx(memIdx); + ret->memory = memory.name; Address align; i = parseMemAttributes(i, s, ret->offset, align, 4); if (align != 4) { @@ -2235,8 +2235,8 @@ Expression* SExpressionWasmBuilder::makeSIMDLoad(Element& s, SIMDLoadOp op) { strncmp(s[i]->c_str(), "offset", 6) != 0) { memIdx = atoi(s[i++]->c_str()); } - auto mem = getMemoryAtIdx(memIdx); - ret->memory = mem.name; + auto memory = getMemoryAtIdx(memIdx); + ret->memory = memory.name; i = parseMemAttributes(i, s, ret->offset, ret->align, defaultAlign); ret->ptr = parseExpression(s[i]); ret->finalize(); @@ -2282,8 +2282,8 @@ SExpressionWasmBuilder::makeSIMDLoadStoreLane(Element& s, strncmp(s[i]->c_str(), "offset", 6) != 0) { memIdx = atoi(s[i++]->c_str()); } - auto mem = getMemoryAtIdx(memIdx); - ret->memory = mem.name; + auto memory = getMemoryAtIdx(memIdx); + ret->memory = memory.name; i = parseMemAttributes(i, s, ret->offset, ret->align, defaultAlign); ret->index = parseLaneIndex(s[i++], lanes); ret->ptr = parseExpression(s[i++]); @@ -2299,8 +2299,8 @@ Expression* SExpressionWasmBuilder::makeMemoryInit(Element& s) { if (s.size() > 5) { memIdx = atoi(s[i++]->c_str()); } - auto mem = getMemoryAtIdx(memIdx); - ret->memory = mem.name; + auto memory = getMemoryAtIdx(memIdx); + ret->memory = memory.name; ret->segment = atoi(s[i++]->str().c_str()); ret->dest = parseExpression(s[i++]); ret->offset = parseExpression(s[i++]); @@ -2323,8 +2323,8 @@ Expression* SExpressionWasmBuilder::makeMemoryCopy(Element& s) { if (s.size() > 4) { memIdx = atoi(s[i++]->c_str()); } - auto mem = getMemoryAtIdx(memIdx); - ret->memory = mem.name; + auto memory = getMemoryAtIdx(memIdx); + ret->memory = memory.name; ret->dest = parseExpression(s[i++]); ret->source = parseExpression(s[i++]); ret->size = parseExpression(s[i]); @@ -2339,8 +2339,8 @@ Expression* SExpressionWasmBuilder::makeMemoryFill(Element& s) { if (s.size() > 4) { memIdx = atoi(s[i++]->c_str()); } - auto mem = getMemoryAtIdx(memIdx); - ret->memory = mem.name; + auto memory = getMemoryAtIdx(memIdx); + ret->memory = memory.name; ret->dest = parseExpression(s[i++]); ret->value = parseExpression(s[i++]); ret->size = parseExpression(s[i]); @@ -3230,8 +3230,8 @@ void SExpressionWasmBuilder::parseMemory(Element& s, bool preParseImport) { auto seg = Builder::makeDataSegment( Name::fromInt(dataCounter++), memory->name, false, offset); parseInnerData(inner, j, seg); + memory->initial = seg->data.size(); wasm.addDataSegment(std::move(seg)); - memory->initial = wasm.dataSegments[0]->data.size(); wasm.addMemory(std::move(memory)); return; } @@ -3250,7 +3250,7 @@ void SExpressionWasmBuilder::parseMemory(Element& s, bool preParseImport) { } else { auto offsetElem = curr[j++]; offsetValue = getAddress(offsetElem); - if (memory->is64()) { + if (!memory->is64()) { checkAddress(offsetValue, "excessive memory offset", offsetElem); } } diff --git a/src/wasm/wasm-validator.cpp b/src/wasm/wasm-validator.cpp index d907f4397a5..21a571bbe60 100644 --- a/src/wasm/wasm-validator.cpp +++ b/src/wasm/wasm-validator.cpp @@ -499,9 +499,9 @@ void validateCallParamsAndResult(T* curr, validateCallParamsAndResult(curr, sigType, curr); } - Type indexType(Name memory) { - auto mem = getModule()->getMemory(memory); - return mem->indexType; + Type indexType(Name memoryName) { + auto memory = getModule()->getMemory(memoryName); + return memory->indexType; } }; @@ -2943,7 +2943,7 @@ static void validateExports(Module& module, ValidationInfo& info) { name, "module table exports must be found"); } else if (exp->kind == ExternalKind::Memory) { - info.shouldBeTrue(name == Name("0") || name == module.memories[0]->name, + info.shouldBeTrue(module.getMemoryOrNull(name), name, "module memory exports must be found"); } else if (exp->kind == ExternalKind::Tag) { diff --git a/test/binaryen.js/expressions.js b/test/binaryen.js/expressions.js index d76e8725f93..b4a3167a2c6 100644 --- a/test/binaryen.js/expressions.js +++ b/test/binaryen.js/expressions.js @@ -478,7 +478,7 @@ console.log("# MemorySize"); const module = new binaryen.Module(); module.setMemory(1, 1, null); var type = binaryen.i32; - const theMemorySize = binaryen.MemorySize(module.memory.size("0", false)); + const theMemorySize = binaryen.MemorySize(module.memory.size("0")); assert(theMemorySize instanceof binaryen.MemorySize); assert(theMemorySize instanceof binaryen.Expression); assert(theMemorySize.type === type); diff --git a/test/binaryen.js/kitchen-sink.js b/test/binaryen.js/kitchen-sink.js index 24b7d4c94ee..95c2568e606 100644 --- a/test/binaryen.js/kitchen-sink.js +++ b/test/binaryen.js/kitchen-sink.js @@ -178,7 +178,7 @@ function test_core() { // Module creation module = new binaryen.Module(); - // Memory. One per module + // Memory module.setMemory(1, 256, "mem", [ { passive: false, diff --git a/test/lit/passes/O4_disable-bulk-memory.wast b/test/lit/passes/O4_disable-bulk-memory.wast index 4a6293d65d1..8200df5a35d 100644 --- a/test/lit/passes/O4_disable-bulk-memory.wast +++ b/test/lit/passes/O4_disable-bulk-memory.wast @@ -80,8 +80,8 @@ (global $global$6 i32 (i32.const 100)) ;; CHECK: (elem (i32.const 0) $null) - ;; CHECK: (export "memory" (memory $0)) - (export "memory" (memory $0)) + ;; CHECK: (export "memory" (memory $1)) + (export "memory" (memory $1)) ;; CHECK: (export "table" (table $0)) (export "table" (table $0)) ;; CHECK: (export "init" (func $assembly/index/init)) diff --git a/test/lit/wasm-split/export-name-already-exists.wast b/test/lit/wasm-split/export-name-already-exists.wast index 708929e987b..83951795a2f 100644 --- a/test/lit/wasm-split/export-name-already-exists.wast +++ b/test/lit/wasm-split/export-name-already-exists.wast @@ -4,5 +4,6 @@ ;; CHECK: error: Export foo already exists. (module + (memory 0 0) (export "foo" (memory 0 0)) ) diff --git a/test/lit/wasm-split/instrument-in-memory.wast b/test/lit/wasm-split/instrument-in-memory.wast index 568ce22079f..d55bacaec07 100644 --- a/test/lit/wasm-split/instrument-in-memory.wast +++ b/test/lit/wasm-split/instrument-in-memory.wast @@ -5,6 +5,7 @@ ;; RUN: wasm-opt -all %t.wasm -S -o - (module + (memory $0 1 1) (import "env" "foo" (func $foo)) (export "bar" (func $bar)) (func $bar From 18e9b0620551c21c41d559035027414eed8faab6 Mon Sep 17 00:00:00 2001 From: Ashley Nelson Date: Mon, 25 Jul 2022 01:54:53 +0000 Subject: [PATCH 53/78] clang-format --- src/passes/MemoryPacking.cpp | 7 +++---- src/passes/SafeHeap.cpp | 25 +++++++++++++++---------- src/tools/wasm-shell.cpp | 3 ++- src/tools/wasm-split/instrumenter.cpp | 5 ++--- 4 files changed, 22 insertions(+), 18 deletions(-) diff --git a/src/passes/MemoryPacking.cpp b/src/passes/MemoryPacking.cpp index a53afb916a4..cd4a6698ddf 100644 --- a/src/passes/MemoryPacking.cpp +++ b/src/passes/MemoryPacking.cpp @@ -718,13 +718,12 @@ void MemoryPacking::createReplacements(Module* module, // Create new memory.init or memory.fill if (range.isZero) { Expression* value = builder.makeConst(Literal::makeZero(Type::i32)); - appendResult( - builder.makeMemoryFill(dest, value, size, init->memory)); + appendResult(builder.makeMemoryFill(dest, value, size, init->memory)); } else { size_t offsetBytes = std::max(start, range.start) - range.start; Expression* offset = builder.makeConst(int32_t(offsetBytes)); - appendResult(builder.makeMemoryInit( - initIndex, dest, offset, size, init->memory)); + appendResult( + builder.makeMemoryInit(initIndex, dest, offset, size, init->memory)); initIndex++; } } diff --git a/src/passes/SafeHeap.cpp b/src/passes/SafeHeap.cpp index 92b0465e08b..eccb521d264 100644 --- a/src/passes/SafeHeap.cpp +++ b/src/passes/SafeHeap.cpp @@ -96,12 +96,12 @@ struct AccessInstrumenter : public WalkerPass> { } Builder builder(*getModule()); auto memory = getModule()->getMemory(curr->memory); - replaceCurrent( - builder.makeCall(getStoreName(curr), - {curr->ptr, - builder.makeConstPtr(curr->offset.addr, memory->indexType), - curr->value}, - Type::none)); + replaceCurrent(builder.makeCall( + getStoreName(curr), + {curr->ptr, + builder.makeConstPtr(curr->offset.addr, memory->indexType), + curr->value}, + Type::none)); } }; @@ -304,7 +304,8 @@ struct SafeHeap : public Pass { memory->name)); // check proper alignment if (style.align > 1) { - block->list.push_back(makeAlignCheck(style.align, builder, 2, module, memory->name)); + block->list.push_back( + makeAlignCheck(style.align, builder, 2, module, memory->name)); } // do the load auto* load = module->allocator.alloc(); @@ -353,7 +354,8 @@ struct SafeHeap : public Pass { memory->name)); // check proper alignment if (style.align > 1) { - block->list.push_back(makeAlignCheck(style.align, builder, 3, module, memory->name)); + block->list.push_back( + makeAlignCheck(style.align, builder, 3, module, memory->name)); } // do the store auto* store = module->allocator.alloc(); @@ -367,8 +369,11 @@ struct SafeHeap : public Pass { module->addFunction(std::move(func)); } - Expression* - makeAlignCheck(Address align, Builder& builder, Index local, Module* module, Name memoryName) { + Expression* makeAlignCheck(Address align, + Builder& builder, + Index local, + Module* module, + Name memoryName) { auto memory = module->getMemory(memoryName); auto indexType = memory->indexType; Expression* ptrBits = builder.makeLocalGet(local, indexType); diff --git a/src/tools/wasm-shell.cpp b/src/tools/wasm-shell.cpp index ba5a1686b76..4b20e922b61 100644 --- a/src/tools/wasm-shell.cpp +++ b/src/tools/wasm-shell.cpp @@ -350,7 +350,8 @@ class Shell { spectest->addExport( builder.makeExport("table", Name::fromInt(0), ExternalKind::Table)); - Memory *memory = spectest->addMemory(builder.makeMemory(Name::fromInt(0), 1, 2)); + Memory* memory = + spectest->addMemory(builder.makeMemory(Name::fromInt(0), 1, 2)); spectest->addExport( builder.makeExport("memory", memory->name, ExternalKind::Memory)); diff --git a/src/tools/wasm-split/instrumenter.cpp b/src/tools/wasm-split/instrumenter.cpp index beb7474723a..50da9d0341c 100644 --- a/src/tools/wasm-split/instrumenter.cpp +++ b/src/tools/wasm-split/instrumenter.cpp @@ -184,9 +184,8 @@ void Instrumenter::addProfileExport() { } // Write the hash followed by all the time stamps - Expression* writeData = - builder.makeStore( - 8, 0, 1, getAddr(), hashConst(), Type::i64, wasm->memories[0]->name); + Expression* writeData = builder.makeStore( + 8, 0, 1, getAddr(), hashConst(), Type::i64, wasm->memories[0]->name); uint32_t offset = 8; switch (options.storageKind) { From cd1e3b3b0a9fdb5e67667cc4f3ea124ebe04c31f Mon Sep 17 00:00:00 2001 From: Ashley Nelson Date: Mon, 25 Jul 2022 08:05:02 +0000 Subject: [PATCH 54/78] memcopy & alignment --- src/binaryen-c.cpp | 10 ++++---- src/binaryen-c.h | 3 ++- src/js/binaryen.js-post.js | 4 ++-- src/passes/Memory64Lowering.cpp | 14 +++++------ src/passes/OptimizeInstructions.cpp | 12 +++++----- src/tools/fuzzing/fuzzing.cpp | 2 +- src/wasm-binary.h | 2 ++ src/wasm-builder.h | 6 +++-- src/wasm-delegations-fields.def | 3 ++- src/wasm-interpreter.h | 26 ++++++++++---------- src/wasm-stack.h | 2 +- src/wasm.h | 3 ++- src/wasm/wasm-binary.cpp | 15 ++++++++---- src/wasm/wasm-s-parser.cpp | 12 ++++++---- src/wasm/wasm-stack.cpp | 37 ++++++++++++++++------------- src/wasm/wasm-validator.cpp | 23 +++++++++++------- test/example/c-api-kitchen-sink.c | 2 +- 17 files changed, 104 insertions(+), 72 deletions(-) diff --git a/src/binaryen-c.cpp b/src/binaryen-c.cpp index 327e62f18ea..24485660973 100644 --- a/src/binaryen-c.cpp +++ b/src/binaryen-c.cpp @@ -1394,15 +1394,17 @@ BinaryenExpressionRef BinaryenMemoryCopy(BinaryenModuleRef module, BinaryenExpressionRef dest, BinaryenExpressionRef source, BinaryenExpressionRef size, - const char* name) { + const char* destMemory, + const char* sourceMemory) { // Maintaining compatibility for instructions with a single memory - if (name == nullptr && module->memories.size() == 1) { - name = module->memories[0]->name.c_str(); + if ((destMemory == nullptr || sourceMemory == nullptr) && module->memories.size() == 1) { + destMemory = module->memories[0]->name.c_str(); + sourceMemory = module->memories[0]->name.c_str(); } return static_cast( Builder(*(Module*)module) .makeMemoryCopy( - (Expression*)dest, (Expression*)source, (Expression*)size, name)); + (Expression*)dest, (Expression*)source, (Expression*)size, destMemory, sourceMemory)); } BinaryenExpressionRef BinaryenMemoryFill(BinaryenModuleRef module, diff --git a/src/binaryen-c.h b/src/binaryen-c.h index 4b3d55280c0..f5bb71eb92f 100644 --- a/src/binaryen-c.h +++ b/src/binaryen-c.h @@ -886,7 +886,8 @@ BinaryenMemoryCopy(BinaryenModuleRef module, BinaryenExpressionRef dest, BinaryenExpressionRef source, BinaryenExpressionRef size, - const char* name); + const char* destMemory, + const char* sourceMemory); BINARYEN_API BinaryenExpressionRef BinaryenMemoryFill(BinaryenModuleRef module, BinaryenExpressionRef dest, diff --git a/src/js/binaryen.js-post.js b/src/js/binaryen.js-post.js index 0ab5d64b05c..53930e16c86 100644 --- a/src/js/binaryen.js-post.js +++ b/src/js/binaryen.js-post.js @@ -696,8 +696,8 @@ function wrapModule(module, self = {}) { 'init'(segment, dest, offset, size, name) { return Module['_BinaryenMemoryInit'](module, segment, dest, offset, size, strToStack(name)); }, - 'copy'(dest, source, size, name) { - return Module['_BinaryenMemoryCopy'](module, dest, source, size, strToStack(name)); + 'copy'(dest, source, size, destMemory, sourceMemory) { + return Module['_BinaryenMemoryCopy'](module, dest, source, size, strToStack(destMemory), strToStack(sourceMemory)); }, 'fill'(dest, value, size, name) { return Module['_BinaryenMemoryFill'](module, dest, value, size, strToStack(name)); diff --git a/src/passes/Memory64Lowering.cpp b/src/passes/Memory64Lowering.cpp index 874bf8dfd79..7e581c22b10 100644 --- a/src/passes/Memory64Lowering.cpp +++ b/src/passes/Memory64Lowering.cpp @@ -33,12 +33,12 @@ struct Memory64Lowering : public WalkerPass> { super::run(runner, module); } - void wrapAddress64(Expression*& ptr, Name memName) { + void wrapAddress64(Expression*& ptr, Name memoryName) { if (ptr->type == Type::unreachable) { return; } auto& module = *getModule(); - auto memory = module.getMemory(memName); + auto memory = module.getMemory(memoryName); if (memory->is64()) { assert(ptr->type == Type::i64); Builder builder(module); @@ -46,12 +46,12 @@ struct Memory64Lowering : public WalkerPass> { } } - void extendAddress64(Expression*& ptr, Name memName) { + void extendAddress64(Expression*& ptr, Name memoryName) { if (ptr->type == Type::unreachable) { return; } auto& module = *getModule(); - auto memory = module.getMemory(memName); + auto memory = module.getMemory(memoryName); if (memory->is64()) { assert(ptr->type == Type::i64); ptr->type = Type::i32; @@ -97,9 +97,9 @@ struct Memory64Lowering : public WalkerPass> { } void visitMemoryCopy(MemoryCopy* curr) { - wrapAddress64(curr->dest, curr->memory); - wrapAddress64(curr->source, curr->memory); - wrapAddress64(curr->size, curr->memory); + wrapAddress64(curr->dest, curr->destMemory); + wrapAddress64(curr->source, curr->sourceMemory); + wrapAddress64(curr->size, curr->destMemory); } void visitAtomicRMW(AtomicRMW* curr) { diff --git a/src/passes/OptimizeInstructions.cpp b/src/passes/OptimizeInstructions.cpp index ee7dd19f542..3b05a7afbc4 100644 --- a/src/passes/OptimizeInstructions.cpp +++ b/src/passes/OptimizeInstructions.cpp @@ -3804,9 +3804,9 @@ struct OptimizeInstructions 1, // align memCopy->dest, builder.makeLoad( - bytes, false, 0, 1, memCopy->source, Type::i32, memCopy->memory), + bytes, false, 0, 1, memCopy->source, Type::i32, memCopy->sourceMemory), Type::i32, - memCopy->memory); + memCopy->destMemory); } case 8: { return builder.makeStore( @@ -3815,9 +3815,9 @@ struct OptimizeInstructions 1, // align memCopy->dest, builder.makeLoad( - bytes, false, 0, 1, memCopy->source, Type::i64, memCopy->memory), + bytes, false, 0, 1, memCopy->source, Type::i64, memCopy->sourceMemory), Type::i64, - memCopy->memory); + memCopy->destMemory); } case 16: { if (options.shrinkLevel == 0) { @@ -3834,9 +3834,9 @@ struct OptimizeInstructions 1, memCopy->source, Type::v128, - memCopy->memory), + memCopy->sourceMemory), Type::v128, - memCopy->memory); + memCopy->destMemory); } } break; diff --git a/src/tools/fuzzing/fuzzing.cpp b/src/tools/fuzzing/fuzzing.cpp index 899383de43d..bd70e29fe5f 100644 --- a/src/tools/fuzzing/fuzzing.cpp +++ b/src/tools/fuzzing/fuzzing.cpp @@ -2948,7 +2948,7 @@ Expression* TranslateToFuzzReader::makeMemoryCopy() { Expression* dest = makePointer(); Expression* source = makePointer(); Expression* size = make(wasm.memories[0]->indexType); - return builder.makeMemoryCopy(dest, source, size, wasm.memories[0]->name); + return builder.makeMemoryCopy(dest, source, size, wasm.memories[0]->name, wasm.memories[0]->name); } Expression* TranslateToFuzzReader::makeMemoryFill() { diff --git a/src/wasm-binary.h b/src/wasm-binary.h index 1684244bfc1..1f484edf82d 100644 --- a/src/wasm-binary.h +++ b/src/wasm-binary.h @@ -1538,6 +1538,8 @@ class WasmBinaryBuilder { std::vector memoryImports; // at index i we have all references to the memory i std::map> memoryRefs; + //std::map>> memoryCopyRefs; + std::map> memoryCopyRefs; // we store data here after being read from binary, before we know their names std::vector> dataSegments; diff --git a/src/wasm-builder.h b/src/wasm-builder.h index c6c1c05c39a..69e7a7c6afc 100644 --- a/src/wasm-builder.h +++ b/src/wasm-builder.h @@ -590,12 +590,14 @@ class Builder { MemoryCopy* makeMemoryCopy(Expression* dest, Expression* source, Expression* size, - Name memory) { + Name destMemory, + Name sourceMemory) { auto* ret = wasm.allocator.alloc(); ret->dest = dest; ret->source = source; ret->size = size; - ret->memory = memory; + ret->destMemory = destMemory; + ret->sourceMemory = sourceMemory; ret->finalize(); return ret; } diff --git a/src/wasm-delegations-fields.def b/src/wasm-delegations-fields.def index ae047c9d201..ff0f41d5008 100644 --- a/src/wasm-delegations-fields.def +++ b/src/wasm-delegations-fields.def @@ -416,7 +416,8 @@ switch (DELEGATE_ID) { DELEGATE_FIELD_CHILD(MemoryCopy, size); DELEGATE_FIELD_CHILD(MemoryCopy, source); DELEGATE_FIELD_CHILD(MemoryCopy, dest); - DELEGATE_FIELD_NAME(MemoryCopy, memory); + DELEGATE_FIELD_NAME(MemoryCopy, sourceMemory); + DELEGATE_FIELD_NAME(MemoryCopy, destMemory); DELEGATE_END(MemoryCopy); break; } diff --git a/src/wasm-interpreter.h b/src/wasm-interpreter.h index 7a65a70bd2c..fec560e355d 100644 --- a/src/wasm-interpreter.h +++ b/src/wasm-interpreter.h @@ -3416,10 +3416,12 @@ class ModuleRunnerBase : public ExpressionRunner { Address sourceVal(source.getSingleValue().getUnsigned()); Address sizeVal(size.getSingleValue().getUnsigned()); - auto info = getMemoryInstanceInfo(curr->memory); - auto memorySize = info.instance->getMemorySize(info.name); - if (sourceVal + sizeVal > memorySize * Memory::kPageSize || - destVal + sizeVal > memorySize * Memory::kPageSize || + auto destInfo = getMemoryInstanceInfo(curr->destMemory); + auto sourceInfo = getMemoryInstanceInfo(curr->sourceMemory); + auto destMemorySize = destInfo.instance->getMemorySize(destInfo.name); + auto sourceMemorySize = sourceInfo.instance->getMemorySize(sourceInfo.name); + if (sourceVal + sizeVal > sourceMemorySize * Memory::kPageSize || + destVal + sizeVal > destMemorySize * Memory::kPageSize || // FIXME: better/cheaper way to detect wrapping? sourceVal + sizeVal < sourceVal || sourceVal + sizeVal < sizeVal || destVal + sizeVal < destVal || destVal + sizeVal < sizeVal) { @@ -3436,14 +3438,14 @@ class ModuleRunnerBase : public ExpressionRunner { step = -1; } for (int64_t i = start; i != end; i += step) { - info.instance->externalInterface->store8( - info.instance->getFinalAddressWithoutOffset( - Literal(destVal + i), 1, memorySize), - info.instance->externalInterface->load8s( - info.instance->getFinalAddressWithoutOffset( - Literal(sourceVal + i), 1, memorySize), - info.name), - info.name); + destInfo.instance->externalInterface->store8( + destInfo.instance->getFinalAddressWithoutOffset( + Literal(destVal + i), 1, destMemorySize), + sourceInfo.instance->externalInterface->load8s( + sourceInfo.instance->getFinalAddressWithoutOffset( + Literal(sourceVal + i), 1, sourceMemorySize), + sourceInfo.name), + destInfo.name); } return {}; } diff --git a/src/wasm-stack.h b/src/wasm-stack.h index 2a007739d58..53fb660495b 100644 --- a/src/wasm-stack.h +++ b/src/wasm-stack.h @@ -122,7 +122,7 @@ class BinaryInstWriter : public OverriddenVisitor { MappedLocals mappedLocals; private: - void emitMemoryAccess(size_t alignment, size_t bytes, uint32_t offset); + void emitMemoryAccess(size_t alignment, size_t bytes, uint32_t offset, Name memory); int32_t getBreakIndex(Name name); WasmBinaryWriter& parent; diff --git a/src/wasm.h b/src/wasm.h index cf4ed8d29e9..62a63e49368 100644 --- a/src/wasm.h +++ b/src/wasm.h @@ -1193,7 +1193,8 @@ class MemoryCopy : public SpecificExpression { Expression* dest; Expression* source; Expression* size; - Name memory; + Name destMemory; + Name sourceMemory; void finalize(); }; diff --git a/src/wasm/wasm-binary.cpp b/src/wasm/wasm-binary.cpp index 8c756b1b5eb..1c74087f334 100644 --- a/src/wasm/wasm-binary.cpp +++ b/src/wasm/wasm-binary.cpp @@ -3008,8 +3008,6 @@ void WasmBinaryBuilder::processNames() { grow->memory = getMemoryName(index); } else if (auto* fill = ref->dynCast()) { fill->memory = getMemoryName(index); - } else if (auto* copy = ref->dynCast()) { - copy->memory = getMemoryName(index); } else if (auto* init = ref->dynCast()) { init->memory = getMemoryName(index); } else if (auto* rmw = ref->dynCast()) { @@ -3030,6 +3028,12 @@ void WasmBinaryBuilder::processNames() { } } + for (auto& [index, refs] : memoryCopyRefs) { + for (auto ref : refs) { + *ref = getMemoryName(index); + } + } + for (auto& [index, refs] : globalRefs) { for (auto* ref : refs) { *ref = getGlobalName(index); @@ -5175,10 +5179,11 @@ bool WasmBinaryBuilder::maybeVisitMemoryCopy(Expression*& out, uint32_t code) { curr->size = popNonVoidExpression(); curr->source = popNonVoidExpression(); curr->dest = popNonVoidExpression(); - Index memIdx = getU32LEB(); - getInt8(); + Index destIdx = getU32LEB(); + Index sourceIdx = getU32LEB(); curr->finalize(); - memoryRefs[memIdx].push_back(curr); + memoryCopyRefs[destIdx].push_back(&curr->destMemory); + memoryCopyRefs[sourceIdx].push_back(&curr->sourceMemory); out = curr; return true; } diff --git a/src/wasm/wasm-s-parser.cpp b/src/wasm/wasm-s-parser.cpp index 56754e2d453..8a0833cfcfc 100644 --- a/src/wasm/wasm-s-parser.cpp +++ b/src/wasm/wasm-s-parser.cpp @@ -2319,12 +2319,16 @@ Expression* SExpressionWasmBuilder::makeDataDrop(Element& s) { Expression* SExpressionWasmBuilder::makeMemoryCopy(Element& s) { auto ret = allocator.alloc(); Index i = 1; - Index memIdx = 0; + Index destIdx = 0; + Index sourceIdx = 0; if (s.size() > 4) { - memIdx = atoi(s[i++]->c_str()); + destIdx = atoi(s[i++]->c_str()); + sourceIdx = atoi(s[i++]->c_str()); } - auto memory = getMemoryAtIdx(memIdx); - ret->memory = memory.name; + auto destMemory = getMemoryAtIdx(destIdx); + auto sourceMemory = getMemoryAtIdx(sourceIdx); + ret->destMemory = destMemory.name; + ret->sourceMemory = sourceMemory.name; ret->dest = parseExpression(s[i++]); ret->source = parseExpression(s[i++]); ret->size = parseExpression(s[i]); diff --git a/src/wasm/wasm-stack.cpp b/src/wasm/wasm-stack.cpp index b887f6ec58b..2b2fa958c29 100644 --- a/src/wasm/wasm-stack.cpp +++ b/src/wasm/wasm-stack.cpp @@ -234,7 +234,7 @@ void BinaryInstWriter::visitLoad(Load* curr) { WASM_UNREACHABLE("unexpected type"); } } - emitMemoryAccess(curr->align, curr->bytes, curr->offset); + emitMemoryAccess(curr->align, curr->bytes, curr->offset, curr->memory); } void BinaryInstWriter::visitStore(Store* curr) { @@ -331,7 +331,7 @@ void BinaryInstWriter::visitStore(Store* curr) { WASM_UNREACHABLE("unexpected type"); } } - emitMemoryAccess(curr->align, curr->bytes, curr->offset); + emitMemoryAccess(curr->align, curr->bytes, curr->offset, curr->memory); } void BinaryInstWriter::visitAtomicRMW(AtomicRMW* curr) { @@ -390,7 +390,7 @@ void BinaryInstWriter::visitAtomicRMW(AtomicRMW* curr) { } #undef CASE_FOR_OP - emitMemoryAccess(curr->bytes, curr->bytes, curr->offset); + emitMemoryAccess(curr->bytes, curr->bytes, curr->offset, curr->memory); } void BinaryInstWriter::visitAtomicCmpxchg(AtomicCmpxchg* curr) { @@ -432,7 +432,7 @@ void BinaryInstWriter::visitAtomicCmpxchg(AtomicCmpxchg* curr) { default: WASM_UNREACHABLE("unexpected type"); } - emitMemoryAccess(curr->bytes, curr->bytes, curr->offset); + emitMemoryAccess(curr->bytes, curr->bytes, curr->offset, curr->memory); } void BinaryInstWriter::visitAtomicWait(AtomicWait* curr) { @@ -440,12 +440,12 @@ void BinaryInstWriter::visitAtomicWait(AtomicWait* curr) { switch (curr->expectedType.getBasic()) { case Type::i32: { o << int8_t(BinaryConsts::I32AtomicWait); - emitMemoryAccess(4, 4, curr->offset); + emitMemoryAccess(4, 4, curr->offset, curr->memory); break; } case Type::i64: { o << int8_t(BinaryConsts::I64AtomicWait); - emitMemoryAccess(8, 8, curr->offset); + emitMemoryAccess(8, 8, curr->offset, curr->memory); break; } default: @@ -455,7 +455,7 @@ void BinaryInstWriter::visitAtomicWait(AtomicWait* curr) { void BinaryInstWriter::visitAtomicNotify(AtomicNotify* curr) { o << int8_t(BinaryConsts::AtomicPrefix) << int8_t(BinaryConsts::AtomicNotify); - emitMemoryAccess(4, 4, curr->offset); + emitMemoryAccess(4, 4, curr->offset, curr->memory); } void BinaryInstWriter::visitAtomicFence(AtomicFence* curr) { @@ -646,7 +646,7 @@ void BinaryInstWriter::visitSIMDLoad(SIMDLoad* curr) { break; } assert(curr->align); - emitMemoryAccess(curr->align, /*(unused) bytes=*/0, curr->offset); + emitMemoryAccess(curr->align, /*(unused) bytes=*/0, curr->offset, curr->memory); } void BinaryInstWriter::visitSIMDLoadStoreLane(SIMDLoadStoreLane* curr) { @@ -678,14 +678,14 @@ void BinaryInstWriter::visitSIMDLoadStoreLane(SIMDLoadStoreLane* curr) { break; } assert(curr->align); - emitMemoryAccess(curr->align, /*(unused) bytes=*/0, curr->offset); + emitMemoryAccess(curr->align, /*(unused) bytes=*/0, curr->offset, curr->memory); o << curr->index; } void BinaryInstWriter::visitMemoryInit(MemoryInit* curr) { o << int8_t(BinaryConsts::MiscPrefix); o << U32LEB(BinaryConsts::MemoryInit); - o << U32LEB(curr->segment) << int8_t(0); + o << U32LEB(curr->segment) << int8_t(parent.getMemoryIndex(curr->memory)); } void BinaryInstWriter::visitDataDrop(DataDrop* curr) { @@ -697,13 +697,13 @@ void BinaryInstWriter::visitDataDrop(DataDrop* curr) { void BinaryInstWriter::visitMemoryCopy(MemoryCopy* curr) { o << int8_t(BinaryConsts::MiscPrefix); o << U32LEB(BinaryConsts::MemoryCopy); - o << int8_t(0) << int8_t(0); + o << int8_t(parent.getMemoryIndex(curr->destMemory)) << int8_t(parent.getMemoryIndex(curr->sourceMemory)); } void BinaryInstWriter::visitMemoryFill(MemoryFill* curr) { o << int8_t(BinaryConsts::MiscPrefix); o << U32LEB(BinaryConsts::MemoryFill); - o << int8_t(0); + o << int8_t(parent.getMemoryIndex(curr->memory)); } void BinaryInstWriter::visitConst(Const* curr) { @@ -1859,12 +1859,12 @@ void BinaryInstWriter::visitReturn(Return* curr) { void BinaryInstWriter::visitMemorySize(MemorySize* curr) { o << int8_t(BinaryConsts::MemorySize); - o << U32LEB(0); // Reserved flags field + o << U32LEB(parent.getMemoryIndex(curr->memory)); } void BinaryInstWriter::visitMemoryGrow(MemoryGrow* curr) { o << int8_t(BinaryConsts::MemoryGrow); - o << U32LEB(0); // Reserved flags field + o << U32LEB(parent.getMemoryIndex(curr->memory)); } void BinaryInstWriter::visitRefNull(RefNull* curr) { @@ -2476,8 +2476,13 @@ void BinaryInstWriter::setScratchLocals() { void BinaryInstWriter::emitMemoryAccess(size_t alignment, size_t bytes, - uint32_t offset) { - o << U32LEB(Bits::log2(alignment ? alignment : bytes)); + uint32_t offset, + Name memory) { + uint32_t alignmentBits = Bits::log2(alignment ? alignment : bytes); + o << U32LEB(alignmentBits); + if (alignmentBits >= 6 && (alignmentBits & (1 << (6)))) { + o << U32LEB(parent.getMemoryIndex(memory)); + } o << U32LEB(offset); } diff --git a/src/wasm/wasm-validator.cpp b/src/wasm/wasm-validator.cpp index 21a571bbe60..af7d03a6d1d 100644 --- a/src/wasm/wasm-validator.cpp +++ b/src/wasm/wasm-validator.cpp @@ -1379,23 +1379,30 @@ void FunctionValidator::visitMemoryCopy(MemoryCopy* curr) { "Bulk memory operation (bulk memory is disabled)"); shouldBeEqualOrFirstIsUnreachable( curr->type, Type(Type::none), curr, "memory.copy must have type none"); + auto* destMemory = getModule()->getMemoryOrNull(curr->destMemory); + shouldBeTrue(!!destMemory, curr, "memory.copy destMemory must exist"); + auto* sourceMemory = getModule()->getMemoryOrNull(curr->sourceMemory); + shouldBeTrue(!!sourceMemory, curr, "memory.copy sourceMemory must exist"); shouldBeEqualOrFirstIsUnreachable( curr->dest->type, - indexType(curr->memory), + indexType(curr->destMemory), curr, - "memory.copy dest must match memory index type"); + "memory.copy dest must match destMemory index type"); shouldBeEqualOrFirstIsUnreachable( curr->source->type, - indexType(curr->memory), + indexType(curr->sourceMemory), curr, - "memory.copy source must match memory index type"); + "memory.copy source must match sourceMemory index type"); shouldBeEqualOrFirstIsUnreachable( curr->size->type, - indexType(curr->memory), + indexType(curr->destMemory), curr, - "memory.copy size must match memory index type"); - shouldBeFalse( - getModule()->memories.empty(), curr, "Memory operations require a memory"); + "memory.copy size must match destMemory index type"); + shouldBeEqualOrFirstIsUnreachable( + curr->size->type, + indexType(curr->sourceMemory), + curr, + "memory.copy size must match destMemory index type"); } void FunctionValidator::visitMemoryFill(MemoryFill* curr) { diff --git a/test/example/c-api-kitchen-sink.c b/test/example/c-api-kitchen-sink.c index 5f6c974b27f..cb8349f8984 100644 --- a/test/example/c-api-kitchen-sink.c +++ b/test/example/c-api-kitchen-sink.c @@ -171,7 +171,7 @@ BinaryenExpressionRef makeMemoryCopy(BinaryenModuleRef module) { BinaryenExpressionRef dest = makeInt32(module, 2048); BinaryenExpressionRef source = makeInt32(module, 1024); BinaryenExpressionRef size = makeInt32(module, 12); - return BinaryenMemoryCopy(module, dest, source, size, "0"); + return BinaryenMemoryCopy(module, dest, source, size, "0", "0"); }; BinaryenExpressionRef makeMemoryFill(BinaryenModuleRef module) { From 74ae82ce328b1e0777b93893b60dc12bbe00ab24 Mon Sep 17 00:00:00 2001 From: Ashley Nelson Date: Mon, 25 Jul 2022 08:05:39 +0000 Subject: [PATCH 55/78] clang-format --- src/binaryen-c.cpp | 13 +++++---- src/passes/OptimizeInstructions.cpp | 44 +++++++++++++++++------------ src/tools/fuzzing/fuzzing.cpp | 3 +- src/wasm-binary.h | 3 +- src/wasm-stack.h | 5 +++- src/wasm/wasm-binary.cpp | 2 +- src/wasm/wasm-stack.cpp | 9 ++++-- 7 files changed, 49 insertions(+), 30 deletions(-) diff --git a/src/binaryen-c.cpp b/src/binaryen-c.cpp index 24485660973..869f3a92a53 100644 --- a/src/binaryen-c.cpp +++ b/src/binaryen-c.cpp @@ -1397,14 +1397,17 @@ BinaryenExpressionRef BinaryenMemoryCopy(BinaryenModuleRef module, const char* destMemory, const char* sourceMemory) { // Maintaining compatibility for instructions with a single memory - if ((destMemory == nullptr || sourceMemory == nullptr) && module->memories.size() == 1) { + if ((destMemory == nullptr || sourceMemory == nullptr) && + module->memories.size() == 1) { destMemory = module->memories[0]->name.c_str(); sourceMemory = module->memories[0]->name.c_str(); } - return static_cast( - Builder(*(Module*)module) - .makeMemoryCopy( - (Expression*)dest, (Expression*)source, (Expression*)size, destMemory, sourceMemory)); + return static_cast(Builder(*(Module*)module) + .makeMemoryCopy((Expression*)dest, + (Expression*)source, + (Expression*)size, + destMemory, + sourceMemory)); } BinaryenExpressionRef BinaryenMemoryFill(BinaryenModuleRef module, diff --git a/src/passes/OptimizeInstructions.cpp b/src/passes/OptimizeInstructions.cpp index 3b05a7afbc4..4fe26e8eef3 100644 --- a/src/passes/OptimizeInstructions.cpp +++ b/src/passes/OptimizeInstructions.cpp @@ -3798,26 +3798,34 @@ struct OptimizeInstructions case 1: case 2: case 4: { - return builder.makeStore( - bytes, // bytes - 0, // offset - 1, // align - memCopy->dest, - builder.makeLoad( - bytes, false, 0, 1, memCopy->source, Type::i32, memCopy->sourceMemory), - Type::i32, - memCopy->destMemory); + return builder.makeStore(bytes, // bytes + 0, // offset + 1, // align + memCopy->dest, + builder.makeLoad(bytes, + false, + 0, + 1, + memCopy->source, + Type::i32, + memCopy->sourceMemory), + Type::i32, + memCopy->destMemory); } case 8: { - return builder.makeStore( - bytes, // bytes - 0, // offset - 1, // align - memCopy->dest, - builder.makeLoad( - bytes, false, 0, 1, memCopy->source, Type::i64, memCopy->sourceMemory), - Type::i64, - memCopy->destMemory); + return builder.makeStore(bytes, // bytes + 0, // offset + 1, // align + memCopy->dest, + builder.makeLoad(bytes, + false, + 0, + 1, + memCopy->source, + Type::i64, + memCopy->sourceMemory), + Type::i64, + memCopy->destMemory); } case 16: { if (options.shrinkLevel == 0) { diff --git a/src/tools/fuzzing/fuzzing.cpp b/src/tools/fuzzing/fuzzing.cpp index bd70e29fe5f..f2a477e5a5a 100644 --- a/src/tools/fuzzing/fuzzing.cpp +++ b/src/tools/fuzzing/fuzzing.cpp @@ -2948,7 +2948,8 @@ Expression* TranslateToFuzzReader::makeMemoryCopy() { Expression* dest = makePointer(); Expression* source = makePointer(); Expression* size = make(wasm.memories[0]->indexType); - return builder.makeMemoryCopy(dest, source, size, wasm.memories[0]->name, wasm.memories[0]->name); + return builder.makeMemoryCopy( + dest, source, size, wasm.memories[0]->name, wasm.memories[0]->name); } Expression* TranslateToFuzzReader::makeMemoryFill() { diff --git a/src/wasm-binary.h b/src/wasm-binary.h index 1f484edf82d..4b023e136ad 100644 --- a/src/wasm-binary.h +++ b/src/wasm-binary.h @@ -1538,7 +1538,8 @@ class WasmBinaryBuilder { std::vector memoryImports; // at index i we have all references to the memory i std::map> memoryRefs; - //std::map>> memoryCopyRefs; + // std::map>> + // memoryCopyRefs; std::map> memoryCopyRefs; // we store data here after being read from binary, before we know their names diff --git a/src/wasm-stack.h b/src/wasm-stack.h index 53fb660495b..28c3a0836bc 100644 --- a/src/wasm-stack.h +++ b/src/wasm-stack.h @@ -122,7 +122,10 @@ class BinaryInstWriter : public OverriddenVisitor { MappedLocals mappedLocals; private: - void emitMemoryAccess(size_t alignment, size_t bytes, uint32_t offset, Name memory); + void emitMemoryAccess(size_t alignment, + size_t bytes, + uint32_t offset, + Name memory); int32_t getBreakIndex(Name name); WasmBinaryWriter& parent; diff --git a/src/wasm/wasm-binary.cpp b/src/wasm/wasm-binary.cpp index 1c74087f334..43e9ccd9d48 100644 --- a/src/wasm/wasm-binary.cpp +++ b/src/wasm/wasm-binary.cpp @@ -3030,7 +3030,7 @@ void WasmBinaryBuilder::processNames() { for (auto& [index, refs] : memoryCopyRefs) { for (auto ref : refs) { - *ref = getMemoryName(index); + *ref = getMemoryName(index); } } diff --git a/src/wasm/wasm-stack.cpp b/src/wasm/wasm-stack.cpp index 2b2fa958c29..8a2fad9dfc6 100644 --- a/src/wasm/wasm-stack.cpp +++ b/src/wasm/wasm-stack.cpp @@ -646,7 +646,8 @@ void BinaryInstWriter::visitSIMDLoad(SIMDLoad* curr) { break; } assert(curr->align); - emitMemoryAccess(curr->align, /*(unused) bytes=*/0, curr->offset, curr->memory); + emitMemoryAccess( + curr->align, /*(unused) bytes=*/0, curr->offset, curr->memory); } void BinaryInstWriter::visitSIMDLoadStoreLane(SIMDLoadStoreLane* curr) { @@ -678,7 +679,8 @@ void BinaryInstWriter::visitSIMDLoadStoreLane(SIMDLoadStoreLane* curr) { break; } assert(curr->align); - emitMemoryAccess(curr->align, /*(unused) bytes=*/0, curr->offset, curr->memory); + emitMemoryAccess( + curr->align, /*(unused) bytes=*/0, curr->offset, curr->memory); o << curr->index; } @@ -697,7 +699,8 @@ void BinaryInstWriter::visitDataDrop(DataDrop* curr) { void BinaryInstWriter::visitMemoryCopy(MemoryCopy* curr) { o << int8_t(BinaryConsts::MiscPrefix); o << U32LEB(BinaryConsts::MemoryCopy); - o << int8_t(parent.getMemoryIndex(curr->destMemory)) << int8_t(parent.getMemoryIndex(curr->sourceMemory)); + o << int8_t(parent.getMemoryIndex(curr->destMemory)) + << int8_t(parent.getMemoryIndex(curr->sourceMemory)); } void BinaryInstWriter::visitMemoryFill(MemoryFill* curr) { From 3709558db588e31c2a0dfc411a43d61e0e5fef63 Mon Sep 17 00:00:00 2001 From: Ashley Nelson Date: Mon, 25 Jul 2022 08:18:36 +0000 Subject: [PATCH 56/78] metrics --- src/passes/Metrics.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/passes/Metrics.cpp b/src/passes/Metrics.cpp index e98ed51c097..480273da970 100644 --- a/src/passes/Metrics.cpp +++ b/src/passes/Metrics.cpp @@ -61,7 +61,7 @@ struct Metrics counts["[tags]"] = imports.getNumDefinedTags(); counts["[exports]"] = module->exports.size(); counts["[tables]"] = imports.getNumDefinedTables(); - // counts["[memories]"] = imports.getNumDefinedMemories(); + counts["[memories]"] = imports.getNumDefinedMemories(); // add memory for (auto& memory : module->memories) { @@ -72,7 +72,7 @@ struct Metrics walkDataSegment(segment.get()); size += segment->data.size(); } - if (!module->dataSegments.empty()) { + if (!module->memories.empty()) { counts["[memory-data]"] = size; } From 2dbe0ce447729aad64429197e3bd37a5119879bb Mon Sep 17 00:00:00 2001 From: Ashley Nelson Date: Mon, 25 Jul 2022 09:27:09 +0000 Subject: [PATCH 57/78] validate & metrics --- src/wasm-binary.h | 3 +- src/wasm/wasm-validator.cpp | 49 +++++++++---------- test/passes/O3_low-memory-unused_metrics.txt | 2 + test/passes/converge_O3_metrics.bin.txt | 3 ++ test/passes/func-metrics.txt | 6 +++ test/passes/fuzz_metrics_noprint.bin.txt | 1 + test/passes/metrics_all-features.txt | 2 + .../metrics_strip-debug_metrics.bin.txt | 2 + .../metrics_strip-producers_metrics.bin.txt | 2 + test/passes/print_g_metrics.bin.txt | 1 + test/passes/sparse_matrix_liveness.bin.txt | 2 + ...e-to-fuzz_all-features_metrics_noprint.txt | 1 + 12 files changed, 47 insertions(+), 27 deletions(-) diff --git a/src/wasm-binary.h b/src/wasm-binary.h index 4b023e136ad..e0d3410d072 100644 --- a/src/wasm-binary.h +++ b/src/wasm-binary.h @@ -1538,8 +1538,7 @@ class WasmBinaryBuilder { std::vector memoryImports; // at index i we have all references to the memory i std::map> memoryRefs; - // std::map>> - // memoryCopyRefs; + // special case for memoryCopy having two pointers to memory std::map> memoryCopyRefs; // we store data here after being read from binary, before we know their names diff --git a/src/wasm/wasm-validator.cpp b/src/wasm/wasm-validator.cpp index af7d03a6d1d..0e4d3545162 100644 --- a/src/wasm/wasm-validator.cpp +++ b/src/wasm/wasm-validator.cpp @@ -937,8 +937,8 @@ void FunctionValidator::visitGlobalSet(GlobalSet* curr) { } void FunctionValidator::visitLoad(Load* curr) { - shouldBeFalse( - getModule()->memories.empty(), curr, "Memory operations require a memory"); + auto* memory = getModule()->getMemoryOrNull(curr->memory); + shouldBeTrue(!!memory, curr, "memory.load memory must exist"); if (curr->isAtomic) { shouldBeTrue(getModule()->features.hasAtomics(), curr, @@ -968,8 +968,8 @@ void FunctionValidator::visitLoad(Load* curr) { } void FunctionValidator::visitStore(Store* curr) { - shouldBeFalse( - getModule()->memories.empty(), curr, "Memory operations require a memory"); + auto* memory = getModule()->getMemoryOrNull(curr->memory); + shouldBeTrue(!!memory, curr, "memory.store memory must exist"); if (curr->isAtomic) { shouldBeTrue(getModule()->features.hasAtomics(), curr, @@ -1005,8 +1005,8 @@ void FunctionValidator::visitStore(Store* curr) { } void FunctionValidator::visitAtomicRMW(AtomicRMW* curr) { - shouldBeFalse( - getModule()->memories.empty(), curr, "Memory operations require a memory"); + auto* memory = getModule()->getMemoryOrNull(curr->memory); + shouldBeTrue(!!memory, curr, "memory.atomicRMW memory must exist"); shouldBeTrue(getModule()->features.hasAtomics(), curr, "Atomic operation (atomics are disabled)"); @@ -1025,8 +1025,8 @@ void FunctionValidator::visitAtomicRMW(AtomicRMW* curr) { } void FunctionValidator::visitAtomicCmpxchg(AtomicCmpxchg* curr) { - shouldBeFalse( - getModule()->memories.empty(), curr, "Memory operations require a memory"); + auto* memory = getModule()->getMemoryOrNull(curr->memory); + shouldBeTrue(!!memory, curr, "memory.atomicCmpxchg memory must exist"); shouldBeTrue(getModule()->features.hasAtomics(), curr, "Atomic operation (atomics are disabled)"); @@ -1058,8 +1058,8 @@ void FunctionValidator::visitAtomicCmpxchg(AtomicCmpxchg* curr) { } void FunctionValidator::visitAtomicWait(AtomicWait* curr) { - shouldBeFalse( - getModule()->memories.empty(), curr, "Memory operations require a memory"); + auto* memory = getModule()->getMemoryOrNull(curr->memory); + shouldBeTrue(!!memory, curr, "memory.atomicWait memory must exist"); shouldBeTrue(getModule()->features.hasAtomics(), curr, "Atomic operation (atomics are disabled)"); @@ -1084,8 +1084,8 @@ void FunctionValidator::visitAtomicWait(AtomicWait* curr) { } void FunctionValidator::visitAtomicNotify(AtomicNotify* curr) { - shouldBeFalse( - getModule()->memories.empty(), curr, "Memory operations require a memory"); + auto* memory = getModule()->getMemoryOrNull(curr->memory); + shouldBeTrue(!!memory, curr, "memory.atomicNotify memory must exist"); shouldBeTrue(getModule()->features.hasAtomics(), curr, "Atomic operation (atomics are disabled)"); @@ -1243,8 +1243,8 @@ void FunctionValidator::visitSIMDShift(SIMDShift* curr) { } void FunctionValidator::visitSIMDLoad(SIMDLoad* curr) { - shouldBeFalse( - getModule()->memories.empty(), curr, "Memory operations require a memory"); + auto* memory = getModule()->getMemoryOrNull(curr->memory); + shouldBeTrue(!!memory, curr, "memory.SIMDLoad memory must exist"); shouldBeTrue( getModule()->features.hasSIMD(), curr, "SIMD operation (SIMD is disabled)"); shouldBeEqualOrFirstIsUnreachable( @@ -1278,8 +1278,8 @@ void FunctionValidator::visitSIMDLoad(SIMDLoad* curr) { } void FunctionValidator::visitSIMDLoadStoreLane(SIMDLoadStoreLane* curr) { - shouldBeFalse( - getModule()->memories.empty(), curr, "Memory operations require a memory"); + auto* memory = getModule()->getMemoryOrNull(curr->memory); + shouldBeTrue(!!memory, curr, "memory.SIMDLoadStoreLane memory must exist"); shouldBeTrue( getModule()->features.hasSIMD(), curr, "SIMD operation (SIMD is disabled)"); if (curr->isLoad()) { @@ -1347,9 +1347,8 @@ void FunctionValidator::visitMemoryInit(MemoryInit* curr) { "memory.init offset must be an i32"); shouldBeEqualOrFirstIsUnreachable( curr->size->type, Type(Type::i32), curr, "memory.init size must be an i32"); - if (!shouldBeFalse(getModule()->memories.empty(), - curr, - "Memory operations require a memory")) { + auto* memory = getModule()->getMemoryOrNull(curr->memory); + if (!shouldBeTrue(!!memory, curr, "memory.init memory must exist")) { return; } shouldBeTrue(curr->segment < getModule()->dataSegments.size(), @@ -1425,8 +1424,8 @@ void FunctionValidator::visitMemoryFill(MemoryFill* curr) { indexType(curr->memory), curr, "memory.fill size must match memory index type"); - shouldBeFalse( - getModule()->memories.empty(), curr, "Memory operations require a memory"); + auto* memory = getModule()->getMemoryOrNull(curr->memory); + shouldBeTrue(!!memory, curr, "memory.fill memory must exist"); } void FunctionValidator::validateMemBytes(uint8_t bytes, @@ -2030,13 +2029,13 @@ void FunctionValidator::visitReturn(Return* curr) { } void FunctionValidator::visitMemorySize(MemorySize* curr) { - shouldBeFalse( - getModule()->memories.empty(), curr, "Memory operations require a memory"); + auto* memory = getModule()->getMemoryOrNull(curr->memory); + shouldBeTrue(!!memory, curr, "memory.size memory must exist"); } void FunctionValidator::visitMemoryGrow(MemoryGrow* curr) { - shouldBeFalse( - getModule()->memories.empty(), curr, "Memory operations require a memory"); + auto* memory = getModule()->getMemoryOrNull(curr->memory); + shouldBeTrue(!!memory, curr, "memory.grow memory must exist"); shouldBeEqualOrFirstIsUnreachable(curr->delta->type, indexType(curr->memory), curr, diff --git a/test/passes/O3_low-memory-unused_metrics.txt b/test/passes/O3_low-memory-unused_metrics.txt index d33277eb6c2..3bdce292109 100644 --- a/test/passes/O3_low-memory-unused_metrics.txt +++ b/test/passes/O3_low-memory-unused_metrics.txt @@ -3,6 +3,8 @@ total [funcs] : 1 [globals] : 0 [imports] : 10 + [memories] : 0 + [memory-data] : 0 [table-data] : 0 [tables] : 0 [tags] : 0 diff --git a/test/passes/converge_O3_metrics.bin.txt b/test/passes/converge_O3_metrics.bin.txt index fbf97843351..4a2d8a5c18b 100644 --- a/test/passes/converge_O3_metrics.bin.txt +++ b/test/passes/converge_O3_metrics.bin.txt @@ -3,6 +3,7 @@ total [funcs] : 6 [globals] : 1 [imports] : 3 + [memories] : 0 [memory-data] : 28 [table-data] : 429 [tables] : 0 @@ -229,6 +230,7 @@ total [funcs] : 6 [globals] : 0 -1 [imports] : 3 + [memories] : 0 [memory-data] : 28 [table-data] : 429 [tables] : 0 @@ -448,6 +450,7 @@ total [funcs] : 6 [globals] : 0 [imports] : 3 + [memories] : 0 [memory-data] : 28 [table-data] : 429 [tables] : 0 diff --git a/test/passes/func-metrics.txt b/test/passes/func-metrics.txt index a8b6885c43e..9471e49e40d 100644 --- a/test/passes/func-metrics.txt +++ b/test/passes/func-metrics.txt @@ -3,6 +3,7 @@ global [funcs] : 3 [globals] : 1 [imports] : 0 + [memories] : 1 [memory-data] : 9 [table-data] : 3 [tables] : 1 @@ -96,6 +97,7 @@ global [funcs] : 0 [globals] : 0 [imports] : 0 + [memories] : 0 [tables] : 0 [tags] : 0 [total] : 0 @@ -106,6 +108,7 @@ global [funcs] : 3 [globals] : 0 [imports] : 1 + [memories] : 0 [tables] : 0 [tags] : 0 [total] : 0 @@ -182,6 +185,7 @@ global [funcs] : 1 [globals] : 0 [imports] : 1 + [memories] : 0 [tables] : 0 [tags] : 0 [total] : 0 @@ -215,6 +219,7 @@ global [funcs] : 1 [globals] : 0 [imports] : 1 + [memories] : 0 [tables] : 0 [tags] : 0 [total] : 0 @@ -244,6 +249,7 @@ global [funcs] : 1 [globals] : 1 [imports] : 1 + [memories] : 0 [tables] : 0 [tags] : 0 [total] : 1 diff --git a/test/passes/fuzz_metrics_noprint.bin.txt b/test/passes/fuzz_metrics_noprint.bin.txt index 4c481cd8f35..2df80ff7202 100644 --- a/test/passes/fuzz_metrics_noprint.bin.txt +++ b/test/passes/fuzz_metrics_noprint.bin.txt @@ -3,6 +3,7 @@ total [funcs] : 50 [globals] : 7 [imports] : 4 + [memories] : 1 [memory-data] : 4 [table-data] : 17 [tables] : 1 diff --git a/test/passes/metrics_all-features.txt b/test/passes/metrics_all-features.txt index 255e809c289..bd3368b4937 100644 --- a/test/passes/metrics_all-features.txt +++ b/test/passes/metrics_all-features.txt @@ -3,6 +3,7 @@ total [funcs] : 1 [globals] : 1 [imports] : 0 + [memories] : 1 [memory-data] : 9 [table-data] : 3 [tables] : 1 @@ -70,6 +71,7 @@ total [funcs] : 0 [globals] : 0 [imports] : 0 + [memories] : 0 [tables] : 0 [tags] : 0 [total] : 0 diff --git a/test/passes/metrics_strip-debug_metrics.bin.txt b/test/passes/metrics_strip-debug_metrics.bin.txt index 9760353e044..0022a8b545c 100644 --- a/test/passes/metrics_strip-debug_metrics.bin.txt +++ b/test/passes/metrics_strip-debug_metrics.bin.txt @@ -3,6 +3,7 @@ total [funcs] : 1 [globals] : 0 [imports] : 0 + [memories] : 0 [tables] : 0 [tags] : 0 [total] : 1 @@ -13,6 +14,7 @@ total [funcs] : 1 [globals] : 0 [imports] : 0 + [memories] : 0 [tables] : 0 [tags] : 0 [total] : 1 diff --git a/test/passes/metrics_strip-producers_metrics.bin.txt b/test/passes/metrics_strip-producers_metrics.bin.txt index 072f7c82744..428401eceeb 100644 --- a/test/passes/metrics_strip-producers_metrics.bin.txt +++ b/test/passes/metrics_strip-producers_metrics.bin.txt @@ -3,6 +3,7 @@ total [funcs] : 1 [globals] : 0 [imports] : 0 + [memories] : 0 [tables] : 0 [tags] : 0 [total] : 1 @@ -13,6 +14,7 @@ total [funcs] : 1 [globals] : 0 [imports] : 0 + [memories] : 0 [tables] : 0 [tags] : 0 [total] : 1 diff --git a/test/passes/print_g_metrics.bin.txt b/test/passes/print_g_metrics.bin.txt index ac035635d32..2dbceb433b9 100644 --- a/test/passes/print_g_metrics.bin.txt +++ b/test/passes/print_g_metrics.bin.txt @@ -69,6 +69,7 @@ total [funcs] : 3 [globals] : 1 [imports] : 0 + [memories] : 0 [tables] : 0 [tags] : 0 [total] : 37 diff --git a/test/passes/sparse_matrix_liveness.bin.txt b/test/passes/sparse_matrix_liveness.bin.txt index b55f1023aef..d669ee16f18 100644 --- a/test/passes/sparse_matrix_liveness.bin.txt +++ b/test/passes/sparse_matrix_liveness.bin.txt @@ -3,6 +3,7 @@ total [funcs] : 1 [globals] : 0 [imports] : 0 + [memories] : 0 [tables] : 0 [tags] : 0 [total] : 4 @@ -16,6 +17,7 @@ total [funcs] : 1 [globals] : 0 [imports] : 0 + [memories] : 0 [tables] : 0 [tags] : 0 [total] : 4 diff --git a/test/passes/translate-to-fuzz_all-features_metrics_noprint.txt b/test/passes/translate-to-fuzz_all-features_metrics_noprint.txt index ad077987632..aac1cbc8395 100644 --- a/test/passes/translate-to-fuzz_all-features_metrics_noprint.txt +++ b/test/passes/translate-to-fuzz_all-features_metrics_noprint.txt @@ -3,6 +3,7 @@ total [funcs] : 12 [globals] : 6 [imports] : 5 + [memories] : 1 [memory-data] : 22 [table-data] : 4 [tables] : 1 From 4acd9dfc5b165b84497590ba9ba4d10cd91e9f4a Mon Sep 17 00:00:00 2001 From: Ashley Nelson Date: Mon, 25 Jul 2022 20:13:38 +0000 Subject: [PATCH 58/78] printing name --- src/passes/Print.cpp | 37 +- src/wasm/wasm-s-parser.cpp | 5 +- test/atomics-unshared.wast.from-wast | 2 +- test/atomics-unshared.wast.fromBinary | 2 +- ...omics-unshared.wast.fromBinary.noDebugInfo | 2 +- test/atomics.wast.from-wast | 58 +- test/atomics.wast.fromBinary | 58 +- test/atomics.wast.fromBinary.noDebugInfo | 58 +- test/atomics64.wast.from-wast | 58 +- test/atomics64.wast.fromBinary | 58 +- test/atomics64.wast.fromBinary.noDebugInfo | 58 +- test/consume-stacky.wasm.fromBinary | 2 +- test/ctor-eval/bad-indirect-call.wast.out | 4 +- test/ctor-eval/bad-indirect-call2.wast.out | 4 +- test/ctor-eval/bad-indirect-call3.wast.out | 2 +- test/ctor-eval/basics-flatten.wast.out | 2 +- test/ctor-eval/basics.wast.out | 2 +- test/ctor-eval/ignore-external-input.wast.out | 2 +- test/ctor-eval/imported-global-2.wast.out | 4 +- test/ctor-eval/imported-global.wast.out | 2 +- test/ctor-eval/indirect-call3.wast.out | 2 +- test/ctor-eval/just_some.wast.out | 2 +- test/ctor-eval/memory-init.wast.out | 4 +- test/ctor-eval/partial-locals-tee.wast.out | 2 +- test/ctor-eval/partial-locals.wast.out | 2 +- test/ctor-eval/partial.wast.out | 6 +- test/ctor-eval/unsafe_call.wast.out | 6 +- test/dylib.wasm.fromBinary | 8 +- test/example/c-api-kitchen-sink.txt | 70 +- test/example/c-api-unused-mem.txt | 12 +- test/example/relooper-fuzz.txt | 136 +- test/example/relooper-fuzz1.txt | 148 +- test/example/relooper-fuzz2.txt | 76 +- test/example/relooper-merge1.txt | 14 +- test/example/relooper-merge2.txt | 14 +- test/example/relooper-merge3.txt | 14 +- test/example/relooper-merge4.txt | 14 +- test/example/relooper-merge5.txt | 14 +- test/example/relooper-merge6.txt | 14 +- test/grow_memory.wast.from-wast | 4 +- test/grow_memory.wast.fromBinary | 4 +- test/grow_memory.wast.fromBinary.noDebugInfo | 4 +- test/lit/passes/O1.wast | 2 +- test/lit/passes/O3_inlining.wast | 2 +- test/lit/passes/O4_disable-bulk-memory.wast | 238 +- test/lit/passes/Oz.wast | 8 +- test/lit/passes/alignment-lowering.wast | 380 +-- test/lit/passes/alignment-lowering64.wast | 380 +-- test/lit/passes/asyncify.wast | 240 +- .../passes/asyncify_enable-multivalue.wast | 436 ++-- ...y_mod-asyncify-always-and-only-unwind.wast | 96 +- ...mod-asyncify-always-and-only-unwind_O.wast | 20 +- .../asyncify_mod-asyncify-never-unwind.wast | 96 +- .../asyncify_mod-asyncify-never-unwind_O.wast | 20 +- .../lit/passes/asyncify_optimize-level=1.wast | 320 +-- ...syncify_pass-arg=asyncify-addlist@foo.wast | 32 +- ...foo_pass-arg=asyncify-ignore-indirect.wast | 32 +- ...serts_pass-arg=asyncify-onlylist@waka.wast | 16 +- ...y_pass-arg=asyncify-blacklist@foo,bar.wast | 48 +- ...cify_pass-arg=asyncify-ignore-imports.wast | 48 +- ...ify_pass-arg=asyncify-ignore-indirect.wast | 96 +- ...yncify-imports@env.import,env.import2.wast | 272 +-- ...fy_pass-arg=asyncify-onlylist@foo,bar.wast | 48 +- ...syncify_pass-arg=asyncify-side-module.wast | 16 +- .../asyncify_pass-arg=asyncify-verbose.wast | 64 +- test/lit/passes/avoid-reinterprets.wast | 34 +- test/lit/passes/avoid-reinterprets64.wast | 34 +- test/lit/passes/coalesce-locals-learning.wast | 12 +- test/lit/passes/coalesce-locals.wast | 14 +- .../passes/code-folding_enable-threads.wast | 4 +- .../code-pushing_ignore-implicit-traps.wast | 12 +- test/lit/passes/dealign.wast | 12 +- test/lit/passes/dealign64.wast | 12 +- test/lit/passes/flatten_all-features.wast | 16 +- .../passes/flatten_dfo_O3_enable-threads.wast | 4 +- .../passes/flatten_i64-to-i32-lowering.wast | 40 +- ...g_souperify-single-use_enable-threads.wast | 46 +- ...ls-nonesting_souperify_enable-threads.wast | 46 +- .../inlining-optimizing_enable-threads.wast | 10 +- .../inlining-optimizing_optimize-level=3.wast | 1846 +++++++-------- test/lit/passes/inlining_memory64.wat | 4 +- test/lit/passes/instrument-memory.wast | 92 +- test/lit/passes/instrument-memory64.wast | 92 +- test/lit/passes/local-cse.wast | 2 +- .../passes/memory-packing_all-features.wast | 342 +-- .../passes/optimize-instructions-atomics.wast | 18 +- .../optimize-instructions-bulk-memory.wast | 168 +- .../optimize-instructions-ignore-traps.wast | 2 +- test/lit/passes/optimize-instructions.wast | 198 +- test/lit/passes/signature-pruning.wast | 26 +- .../simplify-globals-read_only_to_write.wast | 2 +- test/lit/wasm-split/instrument-funcs.wast | 6 +- test/lit/wasm-split/instrument-in-memory.wast | 8 +- test/lld/em_asm.wat.mem.out | 4 +- test/lld/em_asm.wat.out | 4 +- test/lld/em_asm64.wat.out | 4 +- test/lld/em_asm_O0.wat.out | 10 +- test/lld/em_asm_main_thread.wat.out | 24 +- test/lld/em_asm_pthread.wasm.out | 2066 ++++++++--------- test/lld/em_asm_shared.wat.out | 4 +- test/lld/hello_world.passive.wat.out | 2 +- test/lld/init.wat.out | 8 +- test/lld/longjmp.wat.out | 12 +- test/lld/main_module.wat.out | 6 +- test/lld/recursive.wat.out | 6 +- test/lld/recursive_safe_stack.wat.out | 6 +- test/lld/reserved_func_ptr.wat.out | 10 +- test/lld/safe_stack_standalone-wasm.wat.out | 6 +- test/lld/shared.wat.out | 6 +- test/lld/shared_add_to_table.wasm.out | 4 +- test/lld/shared_longjmp.wat.out | 12 +- test/memory-import.wast.from-wast | 2 +- test/memory-import.wast.fromBinary | 2 +- .../memory-import.wast.fromBinary.noDebugInfo | 2 +- test/memory-import64.wast.from-wast | 2 +- test/memory-import64.wast.fromBinary | 2 +- ...emory-import64.wast.fromBinary.noDebugInfo | 2 +- test/metadce/spanning_cycle.wast.dced | 2 +- test/min.wast.from-wast | 4 +- test/min.wast.fromBinary | 4 +- test/min.wast.fromBinary.noDebugInfo | 4 +- test/nonspec-bulk-memory.wast.from-wast | 6 +- test/nonspec-bulk-memory.wast.fromBinary | 6 +- ...ec-bulk-memory.wast.fromBinary.noDebugInfo | 6 +- test/passes/O3_low-memory-unused_metrics.txt | 946 ++++---- test/passes/converge_O3_metrics.bin.txt | 126 +- ...-function-elimination_optimize-level=1.txt | 60 +- ...-function-elimination_optimize-level=2.txt | 60 +- test/passes/dwarf-local-order.bin.txt | 48 +- test/passes/fannkuch0_dwarf.bin.txt | 488 ++-- test/passes/fannkuch3_dwarf.bin.txt | 128 +- test/passes/fannkuch3_manyopts_dwarf.bin.txt | 128 +- test/passes/fuzz-exec_O.txt | 4 +- test/passes/fuzz-exec_all-features.txt | 24 +- ...ack-ir_print-stack-ir_optimize-level=3.txt | 28 +- test/passes/ignore_missing_func_dwarf.bin.txt | 32 +- test/passes/licm.txt | 34 +- ...ry64_enable-bulk-memory_enable-threads.txt | 60 +- ...-constants-propagate_low-memory-unused.txt | 110 +- ...mize-added-constants_low-memory-unused.txt | 104 +- test/passes/pick-load-signs.txt | 34 +- test/passes/pick-load-signs_all-features.txt | 2 +- .../precompute-propagate_all-features.txt | 2 +- test/passes/precompute_all-features.txt | 10 +- test/passes/print-call-graph.txt | 178 +- test/passes/print.bin.txt | 4 +- test/passes/print_g.bin.txt | 4 +- test/passes/print_g_strip-dwarf.bin.txt | 4 +- .../remove-unused-brs_enable-multivalue.txt | 12 +- .../remove-unused-brs_shrink-level=1.txt | 4 +- ...s_shrink-level=1_ignore-implicit-traps.txt | 2 +- ...ve-unused-module-elements_all-features.txt | 18 +- ...unused-names_merge-blocks_all-features.txt | 10 +- .../passes/remove-unused-names_precompute.txt | 4 +- ...-unused-names_remove-unused-brs_vacuum.txt | 2 +- ...nfunction-module-elements_all-features.txt | 18 +- test/passes/reverse_dwarf_abbrevs.bin.txt | 228 +- test/passes/roundtrip_signed.bin.txt | 2 +- test/passes/safe-heap_disable-simd.txt | 662 +++--- .../safe-heap_enable-threads_enable-simd.txt | 932 ++++---- ...safe-heap_enable-threads_enable-simd64.txt | 932 ++++---- ...mory-unused_enable-threads_enable-simd.txt | 932 ++++---- test/passes/safe-heap_start-function.txt | 232 +- test/passes/simplify-locals-nostructure.txt | 6 +- test/passes/simplify-locals_all-features.txt | 134 +- ...ll-features_disable-exception-handling.txt | 134 +- test/passes/spill-pointers.txt | 84 +- test/passes/ssa-nomerge_enable-simd.txt | 2 +- test/passes/vacuum_all-features.txt | 28 +- test/print/min.minified.txt | 2 +- test/print/min.txt | 4 +- test/reduce/atomics-and-bulk-memory.wast.txt | 4 +- test/reduce/memory_table.wast.txt | 4 +- test/simd.wast.from-wast | 56 +- test/simd.wast.fromBinary | 56 +- test/simd.wast.fromBinary.noDebugInfo | 56 +- test/simd64.wast.from-wast | 28 +- test/simd64.wast.fromBinary | 28 +- test/simd64.wast.fromBinary.noDebugInfo | 28 +- test/unreachable-instr-type.wast.from-wast | 10 +- 180 files changed, 8269 insertions(+), 8243 deletions(-) diff --git a/src/passes/Print.cpp b/src/passes/Print.cpp index 8c35b8f2f8a..b4f4c1c0878 100644 --- a/src/passes/Print.cpp +++ b/src/passes/Print.cpp @@ -521,6 +521,8 @@ struct PrintExpressionContents o << (curr->signed_ ? "_s" : "_u"); } restoreNormalColor(o); + o << ' '; + printName(curr->memory, o); if (curr->offset) { o << " offset=" << curr->offset; } @@ -546,6 +548,8 @@ struct PrintExpressionContents } } restoreNormalColor(o); + o << ' '; + printName(curr->memory, o); if (curr->offset) { o << " offset=" << curr->offset; } @@ -596,6 +600,8 @@ struct PrintExpressionContents o << "_u"; } restoreNormalColor(o); + o << ' '; + printName(curr->memory, o); if (curr->offset) { o << " offset=" << curr->offset; } @@ -609,6 +615,8 @@ struct PrintExpressionContents o << "_u"; } restoreNormalColor(o); + o << ' '; + printName(curr->memory, o); if (curr->offset) { o << " offset=" << curr->offset; } @@ -619,12 +627,16 @@ struct PrintExpressionContents assert(type == Type::i32 || type == Type::i64); o << "memory.atomic.wait" << (type == Type::i32 ? "32" : "64"); restoreNormalColor(o); + o << ' '; + printName(curr->memory, o); if (curr->offset) { o << " offset=" << curr->offset; } } void visitAtomicNotify(AtomicNotify* curr) { printMedium(o, "memory.atomic.notify"); + o << ' '; + printName(curr->memory, o); if (curr->offset) { o << " offset=" << curr->offset; } @@ -813,6 +825,8 @@ struct PrintExpressionContents break; } restoreNormalColor(o); + o << ' '; + printName(curr->memory, o); if (curr->offset) { o << " offset=" << curr->offset; } @@ -849,6 +863,8 @@ struct PrintExpressionContents break; } restoreNormalColor(o); + o << ' '; + printName(curr->memory, o); if (curr->offset) { o << " offset=" << curr->offset; } @@ -859,8 +875,9 @@ struct PrintExpressionContents } void visitMemoryInit(MemoryInit* curr) { prepareColor(o); - o << "memory.init"; + o << "memory.init "; restoreNormalColor(o); + printName(curr->memory, o); o << ' ' << curr->segment; } void visitDataDrop(DataDrop* curr) { @@ -871,13 +888,17 @@ struct PrintExpressionContents } void visitMemoryCopy(MemoryCopy* curr) { prepareColor(o); - o << "memory.copy"; + o << "memory.copy "; restoreNormalColor(o); + printName(curr->destMemory, o); + o << ' '; + printName(curr->sourceMemory, o); } void visitMemoryFill(MemoryFill* curr) { prepareColor(o); - o << "memory.fill"; + o << "memory.fill "; restoreNormalColor(o); + printName(curr->memory, o); } void visitConst(Const* curr) { o << curr->value.type << ".const " << curr->value; @@ -1917,8 +1938,14 @@ struct PrintExpressionContents } void visitDrop(Drop* curr) { printMedium(o, "drop"); } void visitReturn(Return* curr) { printMedium(o, "return"); } - void visitMemorySize(MemorySize* curr) { printMedium(o, "memory.size"); } - void visitMemoryGrow(MemoryGrow* curr) { printMedium(o, "memory.grow"); } + void visitMemorySize(MemorySize* curr) { + printMedium(o, "memory.size "); + printName(curr->memory, o); + } + void visitMemoryGrow(MemoryGrow* curr) { + printMedium(o, "memory.grow "); + printName(curr->memory, o); + } void visitRefNull(RefNull* curr) { printMedium(o, "ref.null "); printHeapType(o, curr->type.getHeapType(), wasm); diff --git a/src/wasm/wasm-s-parser.cpp b/src/wasm/wasm-s-parser.cpp index 8a0833cfcfc..3a1d3b425a0 100644 --- a/src/wasm/wasm-s-parser.cpp +++ b/src/wasm/wasm-s-parser.cpp @@ -1939,8 +1939,7 @@ SExpressionWasmBuilder::makeLoad(Element& s, Type type, bool isAtomic) { Index memIdx = 0; // Check to make sure there are more than the default args & this str isn't // the mem attributes - if (s.size() > 2 && !s.isList() && strncmp(s[i]->c_str(), "align", 5) != 0 && - strncmp(s[i]->c_str(), "offset", 6) != 0) { + if (s.size() > 2 && !s[i]->isList() && strncmp(s[i]->c_str(), "align", 5) != 0 && strncmp(s[i]->c_str(), "offset", 6) != 0) { memIdx = atoi(s[i++]->c_str()); } auto memory = getMemoryAtIdx(memIdx); @@ -2278,7 +2277,7 @@ SExpressionWasmBuilder::makeSIMDLoadStoreLane(Element& s, Index memIdx = 0; // Check to make sure there are more than the default args & this str isn't // the mem attributes - if (s.size() > 4 && !s.isList() && strncmp(s[i]->c_str(), "align", 5) != 0 && + if (s.size() > 4 && !s[i]->isList() && strncmp(s[i]->c_str(), "align", 5) != 0 && strncmp(s[i]->c_str(), "offset", 6) != 0) { memIdx = atoi(s[i++]->c_str()); } diff --git a/test/atomics-unshared.wast.from-wast b/test/atomics-unshared.wast.from-wast index a29819c9b56..83a41e98ad2 100644 --- a/test/atomics-unshared.wast.from-wast +++ b/test/atomics-unshared.wast.from-wast @@ -3,7 +3,7 @@ (memory $0 1 1) (func $foo (drop - (i32.atomic.rmw.cmpxchg + (i32.atomic.rmw.cmpxchg $0 (i32.const 0) (i32.const 0) (i32.const 0) diff --git a/test/atomics-unshared.wast.fromBinary b/test/atomics-unshared.wast.fromBinary index df409675790..b6baf28f579 100644 --- a/test/atomics-unshared.wast.fromBinary +++ b/test/atomics-unshared.wast.fromBinary @@ -3,7 +3,7 @@ (memory $0 1 1) (func $foo (drop - (i32.atomic.rmw.cmpxchg + (i32.atomic.rmw.cmpxchg $0 (i32.const 0) (i32.const 0) (i32.const 0) diff --git a/test/atomics-unshared.wast.fromBinary.noDebugInfo b/test/atomics-unshared.wast.fromBinary.noDebugInfo index d9bb19b8e63..96c771dbd32 100644 --- a/test/atomics-unshared.wast.fromBinary.noDebugInfo +++ b/test/atomics-unshared.wast.fromBinary.noDebugInfo @@ -3,7 +3,7 @@ (memory $0 1 1) (func $0 (drop - (i32.atomic.rmw.cmpxchg + (i32.atomic.rmw.cmpxchg $0 (i32.const 0) (i32.const 0) (i32.const 0) diff --git a/test/atomics.wast.from-wast b/test/atomics.wast.from-wast index f5f891af5a0..e9f8427616f 100644 --- a/test/atomics.wast.from-wast +++ b/test/atomics.wast.from-wast @@ -5,65 +5,65 @@ (local $0 i32) (local $1 i64) (drop - (i32.atomic.load8_u offset=4 + (i32.atomic.load8_u $0 offset=4 (local.get $0) ) ) (drop - (i32.atomic.load16_u offset=4 + (i32.atomic.load16_u $0 offset=4 (local.get $0) ) ) (drop - (i32.atomic.load offset=4 + (i32.atomic.load $0 offset=4 (local.get $0) ) ) (drop - (i64.atomic.load8_u + (i64.atomic.load8_u $0 (local.get $0) ) ) (drop - (i64.atomic.load16_u + (i64.atomic.load16_u $0 (local.get $0) ) ) (drop - (i64.atomic.load32_u + (i64.atomic.load32_u $0 (local.get $0) ) ) (drop - (i64.atomic.load + (i64.atomic.load $0 (local.get $0) ) ) - (i32.atomic.store offset=4 + (i32.atomic.store $0 offset=4 (local.get $0) (local.get $0) ) - (i32.atomic.store8 offset=4 + (i32.atomic.store8 $0 offset=4 (local.get $0) (local.get $0) ) - (i32.atomic.store16 offset=4 + (i32.atomic.store16 $0 offset=4 (local.get $0) (local.get $0) ) - (i64.atomic.store offset=4 + (i64.atomic.store $0 offset=4 (local.get $0) (local.get $1) ) - (i64.atomic.store8 offset=4 + (i64.atomic.store8 $0 offset=4 (local.get $0) (local.get $1) ) - (i64.atomic.store16 offset=4 + (i64.atomic.store16 $0 offset=4 (local.get $0) (local.get $1) ) - (i64.atomic.store32 offset=4 + (i64.atomic.store32 $0 offset=4 (local.get $0) (local.get $1) ) @@ -72,31 +72,31 @@ (local $0 i32) (local $1 i64) (drop - (i32.atomic.rmw.add offset=4 + (i32.atomic.rmw.add $0 offset=4 (local.get $0) (local.get $0) ) ) (drop - (i32.atomic.rmw8.add_u offset=4 + (i32.atomic.rmw8.add_u $0 offset=4 (local.get $0) (local.get $0) ) ) (drop - (i32.atomic.rmw16.and_u + (i32.atomic.rmw16.and_u $0 (local.get $0) (local.get $0) ) ) (drop - (i64.atomic.rmw32.or_u + (i64.atomic.rmw32.or_u $0 (local.get $0) (local.get $1) ) ) (drop - (i32.atomic.rmw8.xchg_u + (i32.atomic.rmw8.xchg_u $0 (local.get $0) (local.get $0) ) @@ -106,28 +106,28 @@ (local $0 i32) (local $1 i64) (drop - (i32.atomic.rmw.cmpxchg offset=4 + (i32.atomic.rmw.cmpxchg $0 offset=4 (local.get $0) (local.get $0) (local.get $0) ) ) (drop - (i32.atomic.rmw8.cmpxchg_u + (i32.atomic.rmw8.cmpxchg_u $0 (local.get $0) (local.get $0) (local.get $0) ) ) (drop - (i64.atomic.rmw.cmpxchg offset=4 + (i64.atomic.rmw.cmpxchg $0 offset=4 (local.get $0) (local.get $1) (local.get $1) ) ) (drop - (i64.atomic.rmw32.cmpxchg_u + (i64.atomic.rmw32.cmpxchg_u $0 (local.get $0) (local.get $1) (local.get $1) @@ -138,40 +138,40 @@ (local $0 i32) (local $1 i64) (drop - (memory.atomic.wait32 + (memory.atomic.wait32 $0 (local.get $0) (local.get $0) (local.get $1) ) ) (drop - (memory.atomic.wait32 offset=4 + (memory.atomic.wait32 $0 offset=4 (local.get $0) (local.get $0) (local.get $1) ) ) (drop - (memory.atomic.notify + (memory.atomic.notify $0 (local.get $0) (local.get $0) ) ) (drop - (memory.atomic.notify offset=24 + (memory.atomic.notify $0 offset=24 (local.get $0) (local.get $0) ) ) (drop - (memory.atomic.wait64 + (memory.atomic.wait64 $0 (local.get $0) (local.get $1) (local.get $1) ) ) (drop - (memory.atomic.wait64 offset=16 + (memory.atomic.wait64 $0 offset=16 (local.get $0) (local.get $1) (local.get $1) diff --git a/test/atomics.wast.fromBinary b/test/atomics.wast.fromBinary index e3f773b831a..b1392359342 100644 --- a/test/atomics.wast.fromBinary +++ b/test/atomics.wast.fromBinary @@ -5,65 +5,65 @@ (local $0 i32) (local $1 i64) (drop - (i32.atomic.load8_u offset=4 + (i32.atomic.load8_u $0 offset=4 (local.get $0) ) ) (drop - (i32.atomic.load16_u offset=4 + (i32.atomic.load16_u $0 offset=4 (local.get $0) ) ) (drop - (i32.atomic.load offset=4 + (i32.atomic.load $0 offset=4 (local.get $0) ) ) (drop - (i64.atomic.load8_u + (i64.atomic.load8_u $0 (local.get $0) ) ) (drop - (i64.atomic.load16_u + (i64.atomic.load16_u $0 (local.get $0) ) ) (drop - (i64.atomic.load32_u + (i64.atomic.load32_u $0 (local.get $0) ) ) (drop - (i64.atomic.load + (i64.atomic.load $0 (local.get $0) ) ) - (i32.atomic.store offset=4 + (i32.atomic.store $0 offset=4 (local.get $0) (local.get $0) ) - (i32.atomic.store8 offset=4 + (i32.atomic.store8 $0 offset=4 (local.get $0) (local.get $0) ) - (i32.atomic.store16 offset=4 + (i32.atomic.store16 $0 offset=4 (local.get $0) (local.get $0) ) - (i64.atomic.store offset=4 + (i64.atomic.store $0 offset=4 (local.get $0) (local.get $1) ) - (i64.atomic.store8 offset=4 + (i64.atomic.store8 $0 offset=4 (local.get $0) (local.get $1) ) - (i64.atomic.store16 offset=4 + (i64.atomic.store16 $0 offset=4 (local.get $0) (local.get $1) ) - (i64.atomic.store32 offset=4 + (i64.atomic.store32 $0 offset=4 (local.get $0) (local.get $1) ) @@ -72,31 +72,31 @@ (local $0 i32) (local $1 i64) (drop - (i32.atomic.rmw.add offset=4 + (i32.atomic.rmw.add $0 offset=4 (local.get $0) (local.get $0) ) ) (drop - (i32.atomic.rmw8.add_u offset=4 + (i32.atomic.rmw8.add_u $0 offset=4 (local.get $0) (local.get $0) ) ) (drop - (i32.atomic.rmw16.and_u + (i32.atomic.rmw16.and_u $0 (local.get $0) (local.get $0) ) ) (drop - (i64.atomic.rmw32.or_u + (i64.atomic.rmw32.or_u $0 (local.get $0) (local.get $1) ) ) (drop - (i32.atomic.rmw8.xchg_u + (i32.atomic.rmw8.xchg_u $0 (local.get $0) (local.get $0) ) @@ -106,28 +106,28 @@ (local $0 i32) (local $1 i64) (drop - (i32.atomic.rmw.cmpxchg offset=4 + (i32.atomic.rmw.cmpxchg $0 offset=4 (local.get $0) (local.get $0) (local.get $0) ) ) (drop - (i32.atomic.rmw8.cmpxchg_u + (i32.atomic.rmw8.cmpxchg_u $0 (local.get $0) (local.get $0) (local.get $0) ) ) (drop - (i64.atomic.rmw.cmpxchg offset=4 + (i64.atomic.rmw.cmpxchg $0 offset=4 (local.get $0) (local.get $1) (local.get $1) ) ) (drop - (i64.atomic.rmw32.cmpxchg_u + (i64.atomic.rmw32.cmpxchg_u $0 (local.get $0) (local.get $1) (local.get $1) @@ -138,40 +138,40 @@ (local $0 i32) (local $1 i64) (drop - (memory.atomic.wait32 + (memory.atomic.wait32 $0 (local.get $0) (local.get $0) (local.get $1) ) ) (drop - (memory.atomic.wait32 offset=4 + (memory.atomic.wait32 $0 offset=4 (local.get $0) (local.get $0) (local.get $1) ) ) (drop - (memory.atomic.notify + (memory.atomic.notify $0 (local.get $0) (local.get $0) ) ) (drop - (memory.atomic.notify offset=24 + (memory.atomic.notify $0 offset=24 (local.get $0) (local.get $0) ) ) (drop - (memory.atomic.wait64 + (memory.atomic.wait64 $0 (local.get $0) (local.get $1) (local.get $1) ) ) (drop - (memory.atomic.wait64 offset=16 + (memory.atomic.wait64 $0 offset=16 (local.get $0) (local.get $1) (local.get $1) diff --git a/test/atomics.wast.fromBinary.noDebugInfo b/test/atomics.wast.fromBinary.noDebugInfo index e562f6a42e9..dbf986d787e 100644 --- a/test/atomics.wast.fromBinary.noDebugInfo +++ b/test/atomics.wast.fromBinary.noDebugInfo @@ -5,65 +5,65 @@ (local $0 i32) (local $1 i64) (drop - (i32.atomic.load8_u offset=4 + (i32.atomic.load8_u $0 offset=4 (local.get $0) ) ) (drop - (i32.atomic.load16_u offset=4 + (i32.atomic.load16_u $0 offset=4 (local.get $0) ) ) (drop - (i32.atomic.load offset=4 + (i32.atomic.load $0 offset=4 (local.get $0) ) ) (drop - (i64.atomic.load8_u + (i64.atomic.load8_u $0 (local.get $0) ) ) (drop - (i64.atomic.load16_u + (i64.atomic.load16_u $0 (local.get $0) ) ) (drop - (i64.atomic.load32_u + (i64.atomic.load32_u $0 (local.get $0) ) ) (drop - (i64.atomic.load + (i64.atomic.load $0 (local.get $0) ) ) - (i32.atomic.store offset=4 + (i32.atomic.store $0 offset=4 (local.get $0) (local.get $0) ) - (i32.atomic.store8 offset=4 + (i32.atomic.store8 $0 offset=4 (local.get $0) (local.get $0) ) - (i32.atomic.store16 offset=4 + (i32.atomic.store16 $0 offset=4 (local.get $0) (local.get $0) ) - (i64.atomic.store offset=4 + (i64.atomic.store $0 offset=4 (local.get $0) (local.get $1) ) - (i64.atomic.store8 offset=4 + (i64.atomic.store8 $0 offset=4 (local.get $0) (local.get $1) ) - (i64.atomic.store16 offset=4 + (i64.atomic.store16 $0 offset=4 (local.get $0) (local.get $1) ) - (i64.atomic.store32 offset=4 + (i64.atomic.store32 $0 offset=4 (local.get $0) (local.get $1) ) @@ -72,31 +72,31 @@ (local $0 i32) (local $1 i64) (drop - (i32.atomic.rmw.add offset=4 + (i32.atomic.rmw.add $0 offset=4 (local.get $0) (local.get $0) ) ) (drop - (i32.atomic.rmw8.add_u offset=4 + (i32.atomic.rmw8.add_u $0 offset=4 (local.get $0) (local.get $0) ) ) (drop - (i32.atomic.rmw16.and_u + (i32.atomic.rmw16.and_u $0 (local.get $0) (local.get $0) ) ) (drop - (i64.atomic.rmw32.or_u + (i64.atomic.rmw32.or_u $0 (local.get $0) (local.get $1) ) ) (drop - (i32.atomic.rmw8.xchg_u + (i32.atomic.rmw8.xchg_u $0 (local.get $0) (local.get $0) ) @@ -106,28 +106,28 @@ (local $0 i32) (local $1 i64) (drop - (i32.atomic.rmw.cmpxchg offset=4 + (i32.atomic.rmw.cmpxchg $0 offset=4 (local.get $0) (local.get $0) (local.get $0) ) ) (drop - (i32.atomic.rmw8.cmpxchg_u + (i32.atomic.rmw8.cmpxchg_u $0 (local.get $0) (local.get $0) (local.get $0) ) ) (drop - (i64.atomic.rmw.cmpxchg offset=4 + (i64.atomic.rmw.cmpxchg $0 offset=4 (local.get $0) (local.get $1) (local.get $1) ) ) (drop - (i64.atomic.rmw32.cmpxchg_u + (i64.atomic.rmw32.cmpxchg_u $0 (local.get $0) (local.get $1) (local.get $1) @@ -138,40 +138,40 @@ (local $0 i32) (local $1 i64) (drop - (memory.atomic.wait32 + (memory.atomic.wait32 $0 (local.get $0) (local.get $0) (local.get $1) ) ) (drop - (memory.atomic.wait32 offset=4 + (memory.atomic.wait32 $0 offset=4 (local.get $0) (local.get $0) (local.get $1) ) ) (drop - (memory.atomic.notify + (memory.atomic.notify $0 (local.get $0) (local.get $0) ) ) (drop - (memory.atomic.notify offset=24 + (memory.atomic.notify $0 offset=24 (local.get $0) (local.get $0) ) ) (drop - (memory.atomic.wait64 + (memory.atomic.wait64 $0 (local.get $0) (local.get $1) (local.get $1) ) ) (drop - (memory.atomic.wait64 offset=16 + (memory.atomic.wait64 $0 offset=16 (local.get $0) (local.get $1) (local.get $1) diff --git a/test/atomics64.wast.from-wast b/test/atomics64.wast.from-wast index 669920d50b1..7ef56a3c000 100644 --- a/test/atomics64.wast.from-wast +++ b/test/atomics64.wast.from-wast @@ -6,65 +6,65 @@ (local $1 i64) (local $2 i32) (drop - (i32.atomic.load8_u offset=4 + (i32.atomic.load8_u $0 offset=4 (local.get $0) ) ) (drop - (i32.atomic.load16_u offset=4 + (i32.atomic.load16_u $0 offset=4 (local.get $0) ) ) (drop - (i32.atomic.load offset=4 + (i32.atomic.load $0 offset=4 (local.get $0) ) ) (drop - (i64.atomic.load8_u + (i64.atomic.load8_u $0 (local.get $0) ) ) (drop - (i64.atomic.load16_u + (i64.atomic.load16_u $0 (local.get $0) ) ) (drop - (i64.atomic.load32_u + (i64.atomic.load32_u $0 (local.get $0) ) ) (drop - (i64.atomic.load + (i64.atomic.load $0 (local.get $0) ) ) - (i32.atomic.store offset=4 + (i32.atomic.store $0 offset=4 (local.get $0) (local.get $2) ) - (i32.atomic.store8 offset=4 + (i32.atomic.store8 $0 offset=4 (local.get $0) (local.get $2) ) - (i32.atomic.store16 offset=4 + (i32.atomic.store16 $0 offset=4 (local.get $0) (local.get $2) ) - (i64.atomic.store offset=4 + (i64.atomic.store $0 offset=4 (local.get $0) (local.get $1) ) - (i64.atomic.store8 offset=4 + (i64.atomic.store8 $0 offset=4 (local.get $0) (local.get $1) ) - (i64.atomic.store16 offset=4 + (i64.atomic.store16 $0 offset=4 (local.get $0) (local.get $1) ) - (i64.atomic.store32 offset=4 + (i64.atomic.store32 $0 offset=4 (local.get $0) (local.get $1) ) @@ -74,31 +74,31 @@ (local $1 i64) (local $2 i32) (drop - (i32.atomic.rmw.add offset=4 + (i32.atomic.rmw.add $0 offset=4 (local.get $0) (local.get $2) ) ) (drop - (i32.atomic.rmw8.add_u offset=4 + (i32.atomic.rmw8.add_u $0 offset=4 (local.get $0) (local.get $2) ) ) (drop - (i32.atomic.rmw16.and_u + (i32.atomic.rmw16.and_u $0 (local.get $0) (local.get $2) ) ) (drop - (i64.atomic.rmw32.or_u + (i64.atomic.rmw32.or_u $0 (local.get $0) (local.get $1) ) ) (drop - (i32.atomic.rmw8.xchg_u + (i32.atomic.rmw8.xchg_u $0 (local.get $0) (local.get $2) ) @@ -109,28 +109,28 @@ (local $1 i64) (local $2 i32) (drop - (i32.atomic.rmw.cmpxchg offset=4 + (i32.atomic.rmw.cmpxchg $0 offset=4 (local.get $0) (local.get $2) (local.get $2) ) ) (drop - (i32.atomic.rmw8.cmpxchg_u + (i32.atomic.rmw8.cmpxchg_u $0 (local.get $0) (local.get $2) (local.get $2) ) ) (drop - (i64.atomic.rmw.cmpxchg offset=4 + (i64.atomic.rmw.cmpxchg $0 offset=4 (local.get $0) (local.get $1) (local.get $1) ) ) (drop - (i64.atomic.rmw32.cmpxchg_u + (i64.atomic.rmw32.cmpxchg_u $0 (local.get $0) (local.get $1) (local.get $1) @@ -142,40 +142,40 @@ (local $1 i64) (local $2 i32) (drop - (memory.atomic.wait32 + (memory.atomic.wait32 $0 (local.get $0) (local.get $2) (local.get $1) ) ) (drop - (memory.atomic.wait32 offset=4 + (memory.atomic.wait32 $0 offset=4 (local.get $0) (local.get $2) (local.get $1) ) ) (drop - (memory.atomic.notify + (memory.atomic.notify $0 (local.get $0) (local.get $2) ) ) (drop - (memory.atomic.notify offset=24 + (memory.atomic.notify $0 offset=24 (local.get $0) (local.get $2) ) ) (drop - (memory.atomic.wait64 + (memory.atomic.wait64 $0 (local.get $0) (local.get $1) (local.get $1) ) ) (drop - (memory.atomic.wait64 offset=16 + (memory.atomic.wait64 $0 offset=16 (local.get $0) (local.get $1) (local.get $1) diff --git a/test/atomics64.wast.fromBinary b/test/atomics64.wast.fromBinary index 60ab444cebe..f73dd1e1d71 100644 --- a/test/atomics64.wast.fromBinary +++ b/test/atomics64.wast.fromBinary @@ -6,65 +6,65 @@ (local $1 i64) (local $2 i32) (drop - (i32.atomic.load8_u offset=4 + (i32.atomic.load8_u $0 offset=4 (local.get $0) ) ) (drop - (i32.atomic.load16_u offset=4 + (i32.atomic.load16_u $0 offset=4 (local.get $0) ) ) (drop - (i32.atomic.load offset=4 + (i32.atomic.load $0 offset=4 (local.get $0) ) ) (drop - (i64.atomic.load8_u + (i64.atomic.load8_u $0 (local.get $0) ) ) (drop - (i64.atomic.load16_u + (i64.atomic.load16_u $0 (local.get $0) ) ) (drop - (i64.atomic.load32_u + (i64.atomic.load32_u $0 (local.get $0) ) ) (drop - (i64.atomic.load + (i64.atomic.load $0 (local.get $0) ) ) - (i32.atomic.store offset=4 + (i32.atomic.store $0 offset=4 (local.get $0) (local.get $2) ) - (i32.atomic.store8 offset=4 + (i32.atomic.store8 $0 offset=4 (local.get $0) (local.get $2) ) - (i32.atomic.store16 offset=4 + (i32.atomic.store16 $0 offset=4 (local.get $0) (local.get $2) ) - (i64.atomic.store offset=4 + (i64.atomic.store $0 offset=4 (local.get $0) (local.get $1) ) - (i64.atomic.store8 offset=4 + (i64.atomic.store8 $0 offset=4 (local.get $0) (local.get $1) ) - (i64.atomic.store16 offset=4 + (i64.atomic.store16 $0 offset=4 (local.get $0) (local.get $1) ) - (i64.atomic.store32 offset=4 + (i64.atomic.store32 $0 offset=4 (local.get $0) (local.get $1) ) @@ -74,31 +74,31 @@ (local $1 i64) (local $2 i32) (drop - (i32.atomic.rmw.add offset=4 + (i32.atomic.rmw.add $0 offset=4 (local.get $0) (local.get $2) ) ) (drop - (i32.atomic.rmw8.add_u offset=4 + (i32.atomic.rmw8.add_u $0 offset=4 (local.get $0) (local.get $2) ) ) (drop - (i32.atomic.rmw16.and_u + (i32.atomic.rmw16.and_u $0 (local.get $0) (local.get $2) ) ) (drop - (i64.atomic.rmw32.or_u + (i64.atomic.rmw32.or_u $0 (local.get $0) (local.get $1) ) ) (drop - (i32.atomic.rmw8.xchg_u + (i32.atomic.rmw8.xchg_u $0 (local.get $0) (local.get $2) ) @@ -109,28 +109,28 @@ (local $1 i64) (local $2 i32) (drop - (i32.atomic.rmw.cmpxchg offset=4 + (i32.atomic.rmw.cmpxchg $0 offset=4 (local.get $0) (local.get $2) (local.get $2) ) ) (drop - (i32.atomic.rmw8.cmpxchg_u + (i32.atomic.rmw8.cmpxchg_u $0 (local.get $0) (local.get $2) (local.get $2) ) ) (drop - (i64.atomic.rmw.cmpxchg offset=4 + (i64.atomic.rmw.cmpxchg $0 offset=4 (local.get $0) (local.get $1) (local.get $1) ) ) (drop - (i64.atomic.rmw32.cmpxchg_u + (i64.atomic.rmw32.cmpxchg_u $0 (local.get $0) (local.get $1) (local.get $1) @@ -142,40 +142,40 @@ (local $1 i64) (local $2 i32) (drop - (memory.atomic.wait32 + (memory.atomic.wait32 $0 (local.get $0) (local.get $2) (local.get $1) ) ) (drop - (memory.atomic.wait32 offset=4 + (memory.atomic.wait32 $0 offset=4 (local.get $0) (local.get $2) (local.get $1) ) ) (drop - (memory.atomic.notify + (memory.atomic.notify $0 (local.get $0) (local.get $2) ) ) (drop - (memory.atomic.notify offset=24 + (memory.atomic.notify $0 offset=24 (local.get $0) (local.get $2) ) ) (drop - (memory.atomic.wait64 + (memory.atomic.wait64 $0 (local.get $0) (local.get $1) (local.get $1) ) ) (drop - (memory.atomic.wait64 offset=16 + (memory.atomic.wait64 $0 offset=16 (local.get $0) (local.get $1) (local.get $1) diff --git a/test/atomics64.wast.fromBinary.noDebugInfo b/test/atomics64.wast.fromBinary.noDebugInfo index c3f50883310..d37c82deda2 100644 --- a/test/atomics64.wast.fromBinary.noDebugInfo +++ b/test/atomics64.wast.fromBinary.noDebugInfo @@ -6,65 +6,65 @@ (local $1 i64) (local $2 i32) (drop - (i32.atomic.load8_u offset=4 + (i32.atomic.load8_u $0 offset=4 (local.get $0) ) ) (drop - (i32.atomic.load16_u offset=4 + (i32.atomic.load16_u $0 offset=4 (local.get $0) ) ) (drop - (i32.atomic.load offset=4 + (i32.atomic.load $0 offset=4 (local.get $0) ) ) (drop - (i64.atomic.load8_u + (i64.atomic.load8_u $0 (local.get $0) ) ) (drop - (i64.atomic.load16_u + (i64.atomic.load16_u $0 (local.get $0) ) ) (drop - (i64.atomic.load32_u + (i64.atomic.load32_u $0 (local.get $0) ) ) (drop - (i64.atomic.load + (i64.atomic.load $0 (local.get $0) ) ) - (i32.atomic.store offset=4 + (i32.atomic.store $0 offset=4 (local.get $0) (local.get $2) ) - (i32.atomic.store8 offset=4 + (i32.atomic.store8 $0 offset=4 (local.get $0) (local.get $2) ) - (i32.atomic.store16 offset=4 + (i32.atomic.store16 $0 offset=4 (local.get $0) (local.get $2) ) - (i64.atomic.store offset=4 + (i64.atomic.store $0 offset=4 (local.get $0) (local.get $1) ) - (i64.atomic.store8 offset=4 + (i64.atomic.store8 $0 offset=4 (local.get $0) (local.get $1) ) - (i64.atomic.store16 offset=4 + (i64.atomic.store16 $0 offset=4 (local.get $0) (local.get $1) ) - (i64.atomic.store32 offset=4 + (i64.atomic.store32 $0 offset=4 (local.get $0) (local.get $1) ) @@ -74,31 +74,31 @@ (local $1 i64) (local $2 i32) (drop - (i32.atomic.rmw.add offset=4 + (i32.atomic.rmw.add $0 offset=4 (local.get $0) (local.get $2) ) ) (drop - (i32.atomic.rmw8.add_u offset=4 + (i32.atomic.rmw8.add_u $0 offset=4 (local.get $0) (local.get $2) ) ) (drop - (i32.atomic.rmw16.and_u + (i32.atomic.rmw16.and_u $0 (local.get $0) (local.get $2) ) ) (drop - (i64.atomic.rmw32.or_u + (i64.atomic.rmw32.or_u $0 (local.get $0) (local.get $1) ) ) (drop - (i32.atomic.rmw8.xchg_u + (i32.atomic.rmw8.xchg_u $0 (local.get $0) (local.get $2) ) @@ -109,28 +109,28 @@ (local $1 i64) (local $2 i32) (drop - (i32.atomic.rmw.cmpxchg offset=4 + (i32.atomic.rmw.cmpxchg $0 offset=4 (local.get $0) (local.get $2) (local.get $2) ) ) (drop - (i32.atomic.rmw8.cmpxchg_u + (i32.atomic.rmw8.cmpxchg_u $0 (local.get $0) (local.get $2) (local.get $2) ) ) (drop - (i64.atomic.rmw.cmpxchg offset=4 + (i64.atomic.rmw.cmpxchg $0 offset=4 (local.get $0) (local.get $1) (local.get $1) ) ) (drop - (i64.atomic.rmw32.cmpxchg_u + (i64.atomic.rmw32.cmpxchg_u $0 (local.get $0) (local.get $1) (local.get $1) @@ -142,40 +142,40 @@ (local $1 i64) (local $2 i32) (drop - (memory.atomic.wait32 + (memory.atomic.wait32 $0 (local.get $0) (local.get $2) (local.get $1) ) ) (drop - (memory.atomic.wait32 offset=4 + (memory.atomic.wait32 $0 offset=4 (local.get $0) (local.get $2) (local.get $1) ) ) (drop - (memory.atomic.notify + (memory.atomic.notify $0 (local.get $0) (local.get $2) ) ) (drop - (memory.atomic.notify offset=24 + (memory.atomic.notify $0 offset=24 (local.get $0) (local.get $2) ) ) (drop - (memory.atomic.wait64 + (memory.atomic.wait64 $0 (local.get $0) (local.get $1) (local.get $1) ) ) (drop - (memory.atomic.wait64 offset=16 + (memory.atomic.wait64 $0 offset=16 (local.get $0) (local.get $1) (local.get $1) diff --git a/test/consume-stacky.wasm.fromBinary b/test/consume-stacky.wasm.fromBinary index 6a3aa85fa16..fd202ed7515 100644 --- a/test/consume-stacky.wasm.fromBinary +++ b/test/consume-stacky.wasm.fromBinary @@ -6,7 +6,7 @@ (local.set $0 (i32.const 1) ) - (i32.store + (i32.store $0 (i32.const 2) (i32.const 3) ) diff --git a/test/ctor-eval/bad-indirect-call.wast.out b/test/ctor-eval/bad-indirect-call.wast.out index 8ab14a36d48..38caa9387be 100644 --- a/test/ctor-eval/bad-indirect-call.wast.out +++ b/test/ctor-eval/bad-indirect-call.wast.out @@ -9,13 +9,13 @@ (call_indirect $0 (type $v) (i32.const 1) ) - (i32.store8 + (i32.store8 $0 (i32.const 20) (i32.const 120) ) ) (func $call-indirect - (i32.store8 + (i32.store8 $0 (i32.const 40) (i32.const 67) ) diff --git a/test/ctor-eval/bad-indirect-call2.wast.out b/test/ctor-eval/bad-indirect-call2.wast.out index 3ae51dfa8c5..98ac6f30695 100644 --- a/test/ctor-eval/bad-indirect-call2.wast.out +++ b/test/ctor-eval/bad-indirect-call2.wast.out @@ -10,13 +10,13 @@ (call_indirect $0 (type $v) (i32.const 0) ) - (i32.store8 + (i32.store8 $0 (i32.const 20) (i32.const 120) ) ) (func $call-indirect - (i32.store8 + (i32.store8 $0 (i32.const 40) (i32.const 67) ) diff --git a/test/ctor-eval/bad-indirect-call3.wast.out b/test/ctor-eval/bad-indirect-call3.wast.out index 257bf316837..1a2b90dba63 100644 --- a/test/ctor-eval/bad-indirect-call3.wast.out +++ b/test/ctor-eval/bad-indirect-call3.wast.out @@ -8,7 +8,7 @@ (elem (i32.const 0) $callee) (export "sig_mismatch" (func $sig_mismatch)) (func $callee (param $0 anyref) - (i32.store8 + (i32.store8 $0 (i32.const 40) (i32.const 67) ) diff --git a/test/ctor-eval/basics-flatten.wast.out b/test/ctor-eval/basics-flatten.wast.out index f13d5f7a057..4a4f557e1db 100644 --- a/test/ctor-eval/basics-flatten.wast.out +++ b/test/ctor-eval/basics-flatten.wast.out @@ -3,7 +3,7 @@ (memory $0 256 256) (data (i32.const 10) "nas\00\00\00aka\00yzkx waka wakm\00\00\00\00\00\00C") (func $call-indirect - (i32.store8 + (i32.store8 $0 (i32.const 40) (i32.const 67) ) diff --git a/test/ctor-eval/basics.wast.out b/test/ctor-eval/basics.wast.out index 8d82afc804a..6378e028fd5 100644 --- a/test/ctor-eval/basics.wast.out +++ b/test/ctor-eval/basics.wast.out @@ -3,7 +3,7 @@ (memory $0 256 256) (data (i32.const 10) "nas\00\00\00aka yzkx waka wakm\00\00\00\00\00\00C") (func $call-indirect - (i32.store8 + (i32.store8 $0 (i32.const 40) (i32.const 67) ) diff --git a/test/ctor-eval/ignore-external-input.wast.out b/test/ctor-eval/ignore-external-input.wast.out index d61f2e6b94d..ba202c4cc0b 100644 --- a/test/ctor-eval/ignore-external-input.wast.out +++ b/test/ctor-eval/ignore-external-input.wast.out @@ -9,7 +9,7 @@ (drop (call $wasi_something_else) ) - (i32.store + (i32.store $0 (i32.const 28) (i32.const 100) ) diff --git a/test/ctor-eval/imported-global-2.wast.out b/test/ctor-eval/imported-global-2.wast.out index ff71672a96c..f5da5f4ecaa 100644 --- a/test/ctor-eval/imported-global-2.wast.out +++ b/test/ctor-eval/imported-global-2.wast.out @@ -9,7 +9,7 @@ (local.set $temp (global.get $imported) ) - (i32.store8 + (i32.store8 $0 (i32.const 13) (i32.const 115) ) @@ -17,7 +17,7 @@ ) (func $1 (result i32) (drop - (i32.load + (i32.load $0 (i32.const 13) ) ) diff --git a/test/ctor-eval/imported-global.wast.out b/test/ctor-eval/imported-global.wast.out index e141211b1ea..e2dc43f2731 100644 --- a/test/ctor-eval/imported-global.wast.out +++ b/test/ctor-eval/imported-global.wast.out @@ -4,7 +4,7 @@ (data (i32.const 10) "waka waka waka waka waka") (export "test1" (func $test1)) (func $test1 - (i32.store8 + (i32.store8 $0 (i32.const 13) (i32.const 115) ) diff --git a/test/ctor-eval/indirect-call3.wast.out b/test/ctor-eval/indirect-call3.wast.out index 1c98857a65c..cbd386ad6d1 100644 --- a/test/ctor-eval/indirect-call3.wast.out +++ b/test/ctor-eval/indirect-call3.wast.out @@ -4,7 +4,7 @@ (memory $0 256 256) (data (i32.const 10) "waka waka xaka waka waka\00\00\00\00\00\00C") (func $call-indirect - (i32.store8 + (i32.store8 $0 (i32.const 40) (i32.const 67) ) diff --git a/test/ctor-eval/just_some.wast.out b/test/ctor-eval/just_some.wast.out index cb8c06fb9b6..2b227e0d9c7 100644 --- a/test/ctor-eval/just_some.wast.out +++ b/test/ctor-eval/just_some.wast.out @@ -8,7 +8,7 @@ (unreachable) ) (func $test3 - (i32.store8 + (i32.store8 $0 (i32.const 13) (i32.const 113) ) diff --git a/test/ctor-eval/memory-init.wast.out b/test/ctor-eval/memory-init.wast.out index 6019ea27786..04b619ca586 100644 --- a/test/ctor-eval/memory-init.wast.out +++ b/test/ctor-eval/memory-init.wast.out @@ -5,11 +5,11 @@ (data (i32.const 20) "__________") (export "test1" (func $0)) (func $0 - (i32.store8 + (i32.store8 $0 (i32.const 4) (i32.const 100) ) - (memory.init 1 + (memory.init $0 1 (i32.const 0) (i32.const 0) (i32.const 1) diff --git a/test/ctor-eval/partial-locals-tee.wast.out b/test/ctor-eval/partial-locals-tee.wast.out index cb26531984d..a00f20d317f 100644 --- a/test/ctor-eval/partial-locals-tee.wast.out +++ b/test/ctor-eval/partial-locals-tee.wast.out @@ -10,7 +10,7 @@ (i32.const 1) (i32.const 50) ) - (i32.store8 + (i32.store8 $0 (i32.const 13) (i32.const 115) ) diff --git a/test/ctor-eval/partial-locals.wast.out b/test/ctor-eval/partial-locals.wast.out index 14f102b69ac..431375faba6 100644 --- a/test/ctor-eval/partial-locals.wast.out +++ b/test/ctor-eval/partial-locals.wast.out @@ -11,7 +11,7 @@ (i32.const 100) ) (call $import) - (i32.store8 + (i32.store8 $0 (i32.const 13) (i32.const 115) ) diff --git a/test/ctor-eval/partial.wast.out b/test/ctor-eval/partial.wast.out index 4596a16a356..8c1500cdf35 100644 --- a/test/ctor-eval/partial.wast.out +++ b/test/ctor-eval/partial.wast.out @@ -6,19 +6,19 @@ (export "test1" (func $test1_0)) (export "keepalive" (func $test1)) (func $test1 - (i32.store8 + (i32.store8 $0 (i32.const 12) (i32.const 115) ) (call $import) - (i32.store8 + (i32.store8 $0 (i32.const 13) (i32.const 114) ) ) (func $test1_0 (call $import) - (i32.store8 + (i32.store8 $0 (i32.const 13) (i32.const 114) ) diff --git a/test/ctor-eval/unsafe_call.wast.out b/test/ctor-eval/unsafe_call.wast.out index 402bc877157..c369b2f896b 100644 --- a/test/ctor-eval/unsafe_call.wast.out +++ b/test/ctor-eval/unsafe_call.wast.out @@ -5,15 +5,15 @@ (export "test1" (func $test1)) (func $test1 (call $unsafe-to-call) - (i32.store + (i32.store $0 (i32.const 12) (i32.const 115) ) - (i32.store16 + (i32.store16 $0 (i32.const 20) (i32.const 31353) ) - (i32.store8 + (i32.store8 $0 (i32.const 23) (i32.const 120) ) diff --git a/test/dylib.wasm.fromBinary b/test/dylib.wasm.fromBinary index 51b9c245d89..a95fbbd3dec 100644 --- a/test/dylib.wasm.fromBinary +++ b/test/dylib.wasm.fromBinary @@ -34,11 +34,11 @@ ) (func $2 (result i32) (i32.add - (i32.load + (i32.load $mimport$0 (global.get $global$3) ) (i32.add - (i32.load + (i32.load $mimport$0 (global.get $global$2) ) (i32.add @@ -50,11 +50,11 @@ ) (func $3 (param $0 i32) (param $1 i32) (result i32) (i32.add - (i32.load + (i32.load $mimport$0 (global.get $global$3) ) (i32.add - (i32.load + (i32.load $mimport$0 (global.get $global$2) ) (i32.add diff --git a/test/example/c-api-kitchen-sink.txt b/test/example/c-api-kitchen-sink.txt index ff71e08e5ad..d37b6fcc4fa 100644 --- a/test/example/c-api-kitchen-sink.txt +++ b/test/example/c-api-kitchen-sink.txt @@ -1692,102 +1692,102 @@ BinaryenFeatureAll: 122879 ) ) (drop - (v128.load8_splat + (v128.load8_splat $0 (i32.const 128) ) ) (drop - (v128.load16_splat offset=16 align=1 + (v128.load16_splat $0 offset=16 align=1 (i32.const 128) ) ) (drop - (v128.load32_splat offset=16 + (v128.load32_splat $0 offset=16 (i32.const 128) ) ) (drop - (v128.load64_splat align=4 + (v128.load64_splat $0 align=4 (i32.const 128) ) ) (drop - (v128.load8x8_s + (v128.load8x8_s $0 (i32.const 128) ) ) (drop - (v128.load8x8_u + (v128.load8x8_u $0 (i32.const 128) ) ) (drop - (v128.load16x4_s + (v128.load16x4_s $0 (i32.const 128) ) ) (drop - (v128.load16x4_u + (v128.load16x4_u $0 (i32.const 128) ) ) (drop - (v128.load32x2_s + (v128.load32x2_s $0 (i32.const 128) ) ) (drop - (v128.load32x2_u + (v128.load32x2_u $0 (i32.const 128) ) ) (drop - (v128.load32_zero + (v128.load32_zero $0 (i32.const 128) ) ) (drop - (v128.load64_zero + (v128.load64_zero $0 (i32.const 128) ) ) (drop - (v128.load8_lane 0 + (v128.load8_lane $0 0 (i32.const 128) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (v128.load16_lane 0 + (v128.load16_lane $0 0 (i32.const 128) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (v128.load32_lane 0 + (v128.load32_lane $0 0 (i32.const 128) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (v128.load64_lane 0 + (v128.load64_lane $0 0 (i32.const 128) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) - (v128.store8_lane 0 + (v128.store8_lane $0 0 (i32.const 128) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) - (v128.store16_lane 0 + (v128.store16_lane $0 0 (i32.const 128) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) - (v128.store32_lane 0 + (v128.store32_lane $0 0 (i32.const 128) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) - (v128.store64_lane 0 + (v128.store64_lane $0 0 (i32.const 128) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) @@ -1804,18 +1804,18 @@ BinaryenFeatureAll: 122879 (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) - (memory.init 0 + (memory.init $0 0 (i32.const 1024) (i32.const 0) (i32.const 12) ) (data.drop 0) - (memory.copy + (memory.copy $0 $0 (i32.const 2048) (i32.const 1024) (i32.const 12) ) - (memory.fill + (memory.fill $0 (i32.const 0) (i32.const 42) (i32.const 1024) @@ -1910,30 +1910,30 @@ BinaryenFeatureAll: 122879 ) ) (drop - (i32.load + (i32.load $0 (i32.const 1) ) ) (drop - (i64.load16_s offset=2 align=1 + (i64.load16_s $0 offset=2 align=1 (i32.const 8) ) ) (drop - (f32.load + (f32.load $0 (i32.const 2) ) ) (drop - (f64.load offset=2 + (f64.load $0 offset=2 (i32.const 9) ) ) - (i32.store + (i32.store $0 (i32.const 10) (i32.const 11) ) - (i64.store offset=2 align=4 + (i64.store $0 offset=2 align=4 (i32.const 110) (i64.const 111) ) @@ -2048,21 +2048,21 @@ BinaryenFeatureAll: 122879 (nop) ) ) - (i32.atomic.store + (i32.atomic.store $0 (i32.const 0) - (i32.atomic.load + (i32.atomic.load $0 (i32.const 0) ) ) (drop - (memory.atomic.wait32 + (memory.atomic.wait32 $0 (i32.const 0) (i32.const 0) (i64.const 111) ) ) (drop - (memory.atomic.notify + (memory.atomic.notify $0 (i32.const 0) (i32.const 0) ) @@ -2108,10 +2108,10 @@ BinaryenFeatureAll: 122879 (pop i32 i64 f32 f64) ) (drop - (memory.size) + (memory.size $0) ) (drop - (memory.grow + (memory.grow $0 (i32.const 0) ) ) diff --git a/test/example/c-api-unused-mem.txt b/test/example/c-api-unused-mem.txt index 0a5ce806195..e41e894f42b 100644 --- a/test/example/c-api-unused-mem.txt +++ b/test/example/c-api-unused-mem.txt @@ -10,7 +10,7 @@ (local $2 i64) (block $block$2$break (local.set $0 - (i32.load + (i32.load $0 (i32.const 0) ) ) @@ -20,7 +20,7 @@ ) (block (block - (i32.store + (i32.store $0 (i32.const 0) (local.get $0) ) @@ -29,7 +29,7 @@ ) ) (func $__wasm_start - (i32.store + (i32.store $0 (i32.const 0) (i32.const 65535) ) @@ -49,7 +49,7 @@ (local $2 i64) (block $label$1 (local.set $0 - (i32.load + (i32.load $0 (i32.const 0) ) ) @@ -59,7 +59,7 @@ ) (block $label$3 (block $label$4 - (i32.store + (i32.store $0 (i32.const 0) (local.get $0) ) @@ -69,7 +69,7 @@ ) ) (func $__wasm_start - (i32.store + (i32.store $0 (i32.const 0) (i32.const 65535) ) diff --git a/test/example/relooper-fuzz.txt b/test/example/relooper-fuzz.txt index c21f72695c4..aa486411679 100644 --- a/test/example/relooper-fuzz.txt +++ b/test/example/relooper-fuzz.txt @@ -9,17 +9,17 @@ (func $check (result i32) (if (i32.eq - (i32.load + (i32.load $0 (i32.const 4) ) (i32.const 108) ) (unreachable) ) - (i32.store + (i32.store $0 (i32.const 4) (i32.add - (i32.load + (i32.load $0 (i32.const 4) ) (i32.const 4) @@ -28,15 +28,15 @@ (call $print (i32.sub (i32.const 0) - (i32.load offset=4 - (i32.load + (i32.load $0 offset=4 + (i32.load $0 (i32.const 4) ) ) ) ) - (i32.load offset=4 - (i32.load + (i32.load $0 offset=4 + (i32.load $0 (i32.const 4) ) ) @@ -44,111 +44,111 @@ (func $main (local $0 i32) (local $1 i32) - (i32.store + (i32.store $0 (i32.const 8) (i32.const 89) ) - (i32.store + (i32.store $0 (i32.const 12) (i32.const 12) ) - (i32.store + (i32.store $0 (i32.const 16) (i32.const 78) ) - (i32.store + (i32.store $0 (i32.const 20) (i32.const 149) ) - (i32.store + (i32.store $0 (i32.const 24) (i32.const 118) ) - (i32.store + (i32.store $0 (i32.const 28) (i32.const 179) ) - (i32.store + (i32.store $0 (i32.const 32) (i32.const 127) ) - (i32.store + (i32.store $0 (i32.const 36) (i32.const 80) ) - (i32.store + (i32.store $0 (i32.const 40) (i32.const 21) ) - (i32.store + (i32.store $0 (i32.const 44) (i32.const 34) ) - (i32.store + (i32.store $0 (i32.const 48) (i32.const 119) ) - (i32.store + (i32.store $0 (i32.const 52) (i32.const 98) ) - (i32.store + (i32.store $0 (i32.const 56) (i32.const 38) ) - (i32.store + (i32.store $0 (i32.const 60) (i32.const 29) ) - (i32.store + (i32.store $0 (i32.const 64) (i32.const 36) ) - (i32.store + (i32.store $0 (i32.const 68) (i32.const 147) ) - (i32.store + (i32.store $0 (i32.const 72) (i32.const 13) ) - (i32.store + (i32.store $0 (i32.const 76) (i32.const 55) ) - (i32.store + (i32.store $0 (i32.const 80) (i32.const 166) ) - (i32.store + (i32.store $0 (i32.const 84) (i32.const 16) ) - (i32.store + (i32.store $0 (i32.const 88) (i32.const 143) ) - (i32.store + (i32.store $0 (i32.const 92) (i32.const 52) ) - (i32.store + (i32.store $0 (i32.const 96) (i32.const 130) ) - (i32.store + (i32.store $0 (i32.const 100) (i32.const 150) ) - (i32.store + (i32.store $0 (i32.const 104) (i32.const 176) ) - (i32.store + (i32.store $0 (i32.const 108) (i32.const 91) ) - (i32.store + (i32.store $0 (i32.const 112) (i32.const 34) ) @@ -302,17 +302,17 @@ (func $check (; has Stack IR ;) (result i32) (if (i32.eq - (i32.load + (i32.load $0 (i32.const 4) ) (i32.const 108) ) (unreachable) ) - (i32.store + (i32.store $0 (i32.const 4) (i32.add - (i32.load + (i32.load $0 (i32.const 4) ) (i32.const 4) @@ -321,15 +321,15 @@ (call $print (i32.sub (i32.const 0) - (i32.load offset=4 - (i32.load + (i32.load $0 offset=4 + (i32.load $0 (i32.const 4) ) ) ) ) - (i32.load offset=4 - (i32.load + (i32.load $0 offset=4 + (i32.load $0 (i32.const 4) ) ) @@ -337,111 +337,111 @@ (func $main (; has Stack IR ;) (local $0 i32) (local $1 i32) - (i32.store + (i32.store $0 (i32.const 8) (i32.const 89) ) - (i32.store + (i32.store $0 (i32.const 12) (i32.const 12) ) - (i32.store + (i32.store $0 (i32.const 16) (i32.const 78) ) - (i32.store + (i32.store $0 (i32.const 20) (i32.const 149) ) - (i32.store + (i32.store $0 (i32.const 24) (i32.const 118) ) - (i32.store + (i32.store $0 (i32.const 28) (i32.const 179) ) - (i32.store + (i32.store $0 (i32.const 32) (i32.const 127) ) - (i32.store + (i32.store $0 (i32.const 36) (i32.const 80) ) - (i32.store + (i32.store $0 (i32.const 40) (i32.const 21) ) - (i32.store + (i32.store $0 (i32.const 44) (i32.const 34) ) - (i32.store + (i32.store $0 (i32.const 48) (i32.const 119) ) - (i32.store + (i32.store $0 (i32.const 52) (i32.const 98) ) - (i32.store + (i32.store $0 (i32.const 56) (i32.const 38) ) - (i32.store + (i32.store $0 (i32.const 60) (i32.const 29) ) - (i32.store + (i32.store $0 (i32.const 64) (i32.const 36) ) - (i32.store + (i32.store $0 (i32.const 68) (i32.const 147) ) - (i32.store + (i32.store $0 (i32.const 72) (i32.const 13) ) - (i32.store + (i32.store $0 (i32.const 76) (i32.const 55) ) - (i32.store + (i32.store $0 (i32.const 80) (i32.const 166) ) - (i32.store + (i32.store $0 (i32.const 84) (i32.const 16) ) - (i32.store + (i32.store $0 (i32.const 88) (i32.const 143) ) - (i32.store + (i32.store $0 (i32.const 92) (i32.const 52) ) - (i32.store + (i32.store $0 (i32.const 96) (i32.const 130) ) - (i32.store + (i32.store $0 (i32.const 100) (i32.const 150) ) - (i32.store + (i32.store $0 (i32.const 104) (i32.const 176) ) - (i32.store + (i32.store $0 (i32.const 108) (i32.const 91) ) - (i32.store + (i32.store $0 (i32.const 112) (i32.const 34) ) diff --git a/test/example/relooper-fuzz1.txt b/test/example/relooper-fuzz1.txt index 641771432d7..7574119d060 100644 --- a/test/example/relooper-fuzz1.txt +++ b/test/example/relooper-fuzz1.txt @@ -9,17 +9,17 @@ (func $check (result i32) (if (i32.eq - (i32.load + (i32.load $0 (i32.const 4) ) (i32.const 120) ) (unreachable) ) - (i32.store + (i32.store $0 (i32.const 4) (i32.add - (i32.load + (i32.load $0 (i32.const 4) ) (i32.const 4) @@ -28,15 +28,15 @@ (call $print (i32.sub (i32.const 0) - (i32.load offset=4 - (i32.load + (i32.load $0 offset=4 + (i32.load $0 (i32.const 4) ) ) ) ) - (i32.load offset=4 - (i32.load + (i32.load $0 offset=4 + (i32.load $0 (i32.const 4) ) ) @@ -44,123 +44,123 @@ (func $main (local $0 i32) (local $1 i32) - (i32.store + (i32.store $0 (i32.const 8) (i32.const 67) ) - (i32.store + (i32.store $0 (i32.const 12) (i32.const 131) ) - (i32.store + (i32.store $0 (i32.const 16) (i32.const 49) ) - (i32.store + (i32.store $0 (i32.const 20) (i32.const 36) ) - (i32.store + (i32.store $0 (i32.const 24) (i32.const 112) ) - (i32.store + (i32.store $0 (i32.const 28) (i32.const 161) ) - (i32.store + (i32.store $0 (i32.const 32) (i32.const 62) ) - (i32.store + (i32.store $0 (i32.const 36) (i32.const 166) ) - (i32.store + (i32.store $0 (i32.const 40) (i32.const 16) ) - (i32.store + (i32.store $0 (i32.const 44) (i32.const 88) ) - (i32.store + (i32.store $0 (i32.const 48) (i32.const 176) ) - (i32.store + (i32.store $0 (i32.const 52) (i32.const 152) ) - (i32.store + (i32.store $0 (i32.const 56) (i32.const 161) ) - (i32.store + (i32.store $0 (i32.const 60) (i32.const 194) ) - (i32.store + (i32.store $0 (i32.const 64) (i32.const 117) ) - (i32.store + (i32.store $0 (i32.const 68) (i32.const 180) ) - (i32.store + (i32.store $0 (i32.const 72) (i32.const 60) ) - (i32.store + (i32.store $0 (i32.const 76) (i32.const 166) ) - (i32.store + (i32.store $0 (i32.const 80) (i32.const 55) ) - (i32.store + (i32.store $0 (i32.const 84) (i32.const 183) ) - (i32.store + (i32.store $0 (i32.const 88) (i32.const 150) ) - (i32.store + (i32.store $0 (i32.const 92) (i32.const 73) ) - (i32.store + (i32.store $0 (i32.const 96) (i32.const 196) ) - (i32.store + (i32.store $0 (i32.const 100) (i32.const 143) ) - (i32.store + (i32.store $0 (i32.const 104) (i32.const 76) ) - (i32.store + (i32.store $0 (i32.const 108) (i32.const 182) ) - (i32.store + (i32.store $0 (i32.const 112) (i32.const 97) ) - (i32.store + (i32.store $0 (i32.const 116) (i32.const 140) ) - (i32.store + (i32.store $0 (i32.const 120) (i32.const 126) ) - (i32.store + (i32.store $0 (i32.const 124) (i32.const 3) ) @@ -278,17 +278,17 @@ (func $check (; has Stack IR ;) (result i32) (if (i32.eq - (i32.load + (i32.load $0 (i32.const 4) ) (i32.const 120) ) (unreachable) ) - (i32.store + (i32.store $0 (i32.const 4) (i32.add - (i32.load + (i32.load $0 (i32.const 4) ) (i32.const 4) @@ -297,138 +297,138 @@ (call $print (i32.sub (i32.const 0) - (i32.load offset=4 - (i32.load + (i32.load $0 offset=4 + (i32.load $0 (i32.const 4) ) ) ) ) - (i32.load offset=4 - (i32.load + (i32.load $0 offset=4 + (i32.load $0 (i32.const 4) ) ) ) (func $main (; has Stack IR ;) (local $0 i32) - (i32.store + (i32.store $0 (i32.const 8) (i32.const 67) ) - (i32.store + (i32.store $0 (i32.const 12) (i32.const 131) ) - (i32.store + (i32.store $0 (i32.const 16) (i32.const 49) ) - (i32.store + (i32.store $0 (i32.const 20) (i32.const 36) ) - (i32.store + (i32.store $0 (i32.const 24) (i32.const 112) ) - (i32.store + (i32.store $0 (i32.const 28) (i32.const 161) ) - (i32.store + (i32.store $0 (i32.const 32) (i32.const 62) ) - (i32.store + (i32.store $0 (i32.const 36) (i32.const 166) ) - (i32.store + (i32.store $0 (i32.const 40) (i32.const 16) ) - (i32.store + (i32.store $0 (i32.const 44) (i32.const 88) ) - (i32.store + (i32.store $0 (i32.const 48) (i32.const 176) ) - (i32.store + (i32.store $0 (i32.const 52) (i32.const 152) ) - (i32.store + (i32.store $0 (i32.const 56) (i32.const 161) ) - (i32.store + (i32.store $0 (i32.const 60) (i32.const 194) ) - (i32.store + (i32.store $0 (i32.const 64) (i32.const 117) ) - (i32.store + (i32.store $0 (i32.const 68) (i32.const 180) ) - (i32.store + (i32.store $0 (i32.const 72) (i32.const 60) ) - (i32.store + (i32.store $0 (i32.const 76) (i32.const 166) ) - (i32.store + (i32.store $0 (i32.const 80) (i32.const 55) ) - (i32.store + (i32.store $0 (i32.const 84) (i32.const 183) ) - (i32.store + (i32.store $0 (i32.const 88) (i32.const 150) ) - (i32.store + (i32.store $0 (i32.const 92) (i32.const 73) ) - (i32.store + (i32.store $0 (i32.const 96) (i32.const 196) ) - (i32.store + (i32.store $0 (i32.const 100) (i32.const 143) ) - (i32.store + (i32.store $0 (i32.const 104) (i32.const 76) ) - (i32.store + (i32.store $0 (i32.const 108) (i32.const 182) ) - (i32.store + (i32.store $0 (i32.const 112) (i32.const 97) ) - (i32.store + (i32.store $0 (i32.const 116) (i32.const 140) ) - (i32.store + (i32.store $0 (i32.const 120) (i32.const 126) ) - (i32.store + (i32.store $0 (i32.const 124) (i32.const 3) ) diff --git a/test/example/relooper-fuzz2.txt b/test/example/relooper-fuzz2.txt index 493cc8e34fa..abfd0f6ec94 100644 --- a/test/example/relooper-fuzz2.txt +++ b/test/example/relooper-fuzz2.txt @@ -9,17 +9,17 @@ (func $check (result i32) (if (i32.ge_u - (i32.load + (i32.load $0 (i32.const 4) ) (i32.const 108) ) (unreachable) ) - (i32.store + (i32.store $0 (i32.const 4) (i32.add - (i32.load + (i32.load $0 (i32.const 4) ) (i32.const 4) @@ -28,15 +28,15 @@ (call $print (i32.sub (i32.const 0) - (i32.load offset=4 - (i32.load + (i32.load $0 offset=4 + (i32.load $0 (i32.const 4) ) ) ) ) - (i32.load offset=4 - (i32.load + (i32.load $0 offset=4 + (i32.load $0 (i32.const 4) ) ) @@ -44,111 +44,111 @@ (func $main (local $0 i32) (local $1 i32) - (i32.store + (i32.store $0 (i32.const 8) (i32.const 5) ) - (i32.store + (i32.store $0 (i32.const 12) (i32.const 111) ) - (i32.store + (i32.store $0 (i32.const 16) (i32.const 119) ) - (i32.store + (i32.store $0 (i32.const 20) (i32.const 17) ) - (i32.store + (i32.store $0 (i32.const 24) (i32.const 179) ) - (i32.store + (i32.store $0 (i32.const 28) (i32.const 41) ) - (i32.store + (i32.store $0 (i32.const 32) (i32.const 32) ) - (i32.store + (i32.store $0 (i32.const 36) (i32.const 3) ) - (i32.store + (i32.store $0 (i32.const 40) (i32.const 171) ) - (i32.store + (i32.store $0 (i32.const 44) (i32.const 126) ) - (i32.store + (i32.store $0 (i32.const 48) (i32.const 13) ) - (i32.store + (i32.store $0 (i32.const 52) (i32.const 95) ) - (i32.store + (i32.store $0 (i32.const 56) (i32.const 70) ) - (i32.store + (i32.store $0 (i32.const 60) (i32.const 91) ) - (i32.store + (i32.store $0 (i32.const 64) (i32.const 9) ) - (i32.store + (i32.store $0 (i32.const 68) (i32.const 140) ) - (i32.store + (i32.store $0 (i32.const 72) (i32.const 99) ) - (i32.store + (i32.store $0 (i32.const 76) (i32.const 161) ) - (i32.store + (i32.store $0 (i32.const 80) (i32.const 38) ) - (i32.store + (i32.store $0 (i32.const 84) (i32.const 87) ) - (i32.store + (i32.store $0 (i32.const 88) (i32.const 153) ) - (i32.store + (i32.store $0 (i32.const 92) (i32.const 117) ) - (i32.store + (i32.store $0 (i32.const 96) (i32.const 140) ) - (i32.store + (i32.store $0 (i32.const 100) (i32.const 11) ) - (i32.store + (i32.store $0 (i32.const 104) (i32.const 157) ) - (i32.store + (i32.store $0 (i32.const 108) (i32.const 48) ) - (i32.store + (i32.store $0 (i32.const 112) (i32.const 4) ) @@ -163,10 +163,10 @@ ) ) (block - (i32.store + (i32.store $0 (i32.const 4) (i32.add - (i32.load + (i32.load $0 (i32.const 4) ) (i32.const 16) @@ -185,10 +185,10 @@ ) ) (block - (i32.store + (i32.store $0 (i32.const 4) (i32.add - (i32.load + (i32.load $0 (i32.const 4) ) (i32.const 16) diff --git a/test/example/relooper-merge1.txt b/test/example/relooper-merge1.txt index 5846d16976c..2de738f85bc 100644 --- a/test/example/relooper-merge1.txt +++ b/test/example/relooper-merge1.txt @@ -9,17 +9,17 @@ (func $check (result i32) (if (i32.ge_u - (i32.load + (i32.load $0 (i32.const 4) ) (i32.const 48) ) (unreachable) ) - (i32.store + (i32.store $0 (i32.const 4) (i32.add - (i32.load + (i32.load $0 (i32.const 4) ) (i32.const 4) @@ -28,15 +28,15 @@ (call $print (i32.sub (i32.const 0) - (i32.load offset=4 - (i32.load + (i32.load $0 offset=4 + (i32.load $0 (i32.const 4) ) ) ) ) - (i32.load offset=4 - (i32.load + (i32.load $0 offset=4 + (i32.load $0 (i32.const 4) ) ) diff --git a/test/example/relooper-merge2.txt b/test/example/relooper-merge2.txt index 899f12a4d03..452824ea51c 100644 --- a/test/example/relooper-merge2.txt +++ b/test/example/relooper-merge2.txt @@ -9,17 +9,17 @@ (func $check (result i32) (if (i32.ge_u - (i32.load + (i32.load $0 (i32.const 4) ) (i32.const 48) ) (unreachable) ) - (i32.store + (i32.store $0 (i32.const 4) (i32.add - (i32.load + (i32.load $0 (i32.const 4) ) (i32.const 4) @@ -28,15 +28,15 @@ (call $print (i32.sub (i32.const 0) - (i32.load offset=4 - (i32.load + (i32.load $0 offset=4 + (i32.load $0 (i32.const 4) ) ) ) ) - (i32.load offset=4 - (i32.load + (i32.load $0 offset=4 + (i32.load $0 (i32.const 4) ) ) diff --git a/test/example/relooper-merge3.txt b/test/example/relooper-merge3.txt index ff6d89c82b0..4d74ee5ff86 100644 --- a/test/example/relooper-merge3.txt +++ b/test/example/relooper-merge3.txt @@ -9,17 +9,17 @@ (func $check (result i32) (if (i32.ge_u - (i32.load + (i32.load $0 (i32.const 4) ) (i32.const 48) ) (unreachable) ) - (i32.store + (i32.store $0 (i32.const 4) (i32.add - (i32.load + (i32.load $0 (i32.const 4) ) (i32.const 4) @@ -28,15 +28,15 @@ (call $print (i32.sub (i32.const 0) - (i32.load offset=4 - (i32.load + (i32.load $0 offset=4 + (i32.load $0 (i32.const 4) ) ) ) ) - (i32.load offset=4 - (i32.load + (i32.load $0 offset=4 + (i32.load $0 (i32.const 4) ) ) diff --git a/test/example/relooper-merge4.txt b/test/example/relooper-merge4.txt index 59392aad8b3..900a3180d7e 100644 --- a/test/example/relooper-merge4.txt +++ b/test/example/relooper-merge4.txt @@ -9,17 +9,17 @@ (func $check (result i32) (if (i32.ge_u - (i32.load + (i32.load $0 (i32.const 4) ) (i32.const 48) ) (unreachable) ) - (i32.store + (i32.store $0 (i32.const 4) (i32.add - (i32.load + (i32.load $0 (i32.const 4) ) (i32.const 4) @@ -28,15 +28,15 @@ (call $print (i32.sub (i32.const 0) - (i32.load offset=4 - (i32.load + (i32.load $0 offset=4 + (i32.load $0 (i32.const 4) ) ) ) ) - (i32.load offset=4 - (i32.load + (i32.load $0 offset=4 + (i32.load $0 (i32.const 4) ) ) diff --git a/test/example/relooper-merge5.txt b/test/example/relooper-merge5.txt index 5d3156e72fd..89c4ab03658 100644 --- a/test/example/relooper-merge5.txt +++ b/test/example/relooper-merge5.txt @@ -9,17 +9,17 @@ (func $check (result i32) (if (i32.ge_u - (i32.load + (i32.load $0 (i32.const 4) ) (i32.const 48) ) (unreachable) ) - (i32.store + (i32.store $0 (i32.const 4) (i32.add - (i32.load + (i32.load $0 (i32.const 4) ) (i32.const 4) @@ -28,15 +28,15 @@ (call $print (i32.sub (i32.const 0) - (i32.load offset=4 - (i32.load + (i32.load $0 offset=4 + (i32.load $0 (i32.const 4) ) ) ) ) - (i32.load offset=4 - (i32.load + (i32.load $0 offset=4 + (i32.load $0 (i32.const 4) ) ) diff --git a/test/example/relooper-merge6.txt b/test/example/relooper-merge6.txt index e6f5f4627af..258510e31c6 100644 --- a/test/example/relooper-merge6.txt +++ b/test/example/relooper-merge6.txt @@ -9,17 +9,17 @@ (func $check (result i32) (if (i32.ge_u - (i32.load + (i32.load $0 (i32.const 4) ) (i32.const 48) ) (unreachable) ) - (i32.store + (i32.store $0 (i32.const 4) (i32.add - (i32.load + (i32.load $0 (i32.const 4) ) (i32.const 4) @@ -28,15 +28,15 @@ (call $print (i32.sub (i32.const 0) - (i32.load offset=4 - (i32.load + (i32.load $0 offset=4 + (i32.load $0 (i32.const 4) ) ) ) ) - (i32.load offset=4 - (i32.load + (i32.load $0 offset=4 + (i32.load $0 (i32.const 4) ) ) diff --git a/test/grow_memory.wast.from-wast b/test/grow_memory.wast.from-wast index 35cf39f0220..fdfa95e93d0 100644 --- a/test/grow_memory.wast.from-wast +++ b/test/grow_memory.wast.from-wast @@ -6,11 +6,11 @@ (export "grow" (func $0)) (export "current" (func $1)) (func $0 (param $var$0 i32) (result i32) - (memory.grow + (memory.grow $0 (local.get $var$0) ) ) (func $1 (result i32) - (memory.size) + (memory.size $0) ) ) diff --git a/test/grow_memory.wast.fromBinary b/test/grow_memory.wast.fromBinary index cf616556bca..73720ddccc5 100644 --- a/test/grow_memory.wast.fromBinary +++ b/test/grow_memory.wast.fromBinary @@ -6,12 +6,12 @@ (export "grow" (func $0)) (export "current" (func $1)) (func $0 (param $var$0 i32) (result i32) - (memory.grow + (memory.grow $0 (local.get $var$0) ) ) (func $1 (result i32) - (memory.size) + (memory.size $0) ) ) diff --git a/test/grow_memory.wast.fromBinary.noDebugInfo b/test/grow_memory.wast.fromBinary.noDebugInfo index 1f1addc33ec..3870418152f 100644 --- a/test/grow_memory.wast.fromBinary.noDebugInfo +++ b/test/grow_memory.wast.fromBinary.noDebugInfo @@ -6,12 +6,12 @@ (export "grow" (func $0)) (export "current" (func $1)) (func $0 (param $0 i32) (result i32) - (memory.grow + (memory.grow $0 (local.get $0) ) ) (func $1 (result i32) - (memory.size) + (memory.size $0) ) ) diff --git a/test/lit/passes/O1.wast b/test/lit/passes/O1.wast index 9821a21bf00..94ba249a969 100644 --- a/test/lit/passes/O1.wast +++ b/test/lit/passes/O1.wast @@ -37,7 +37,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load align=1 +;; CHECK-NEXT: (i32.load $0 align=1 ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/O3_inlining.wast b/test/lit/passes/O3_inlining.wast index 0acb210454e..c0f5b259c74 100644 --- a/test/lit/passes/O3_inlining.wast +++ b/test/lit/passes/O3_inlining.wast @@ -48,7 +48,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz - ;; CHECK-NEXT: (i32.load16_u + ;; CHECK-NEXT: (i32.load16_u $0 ;; CHECK-NEXT: (i32.const 3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/O4_disable-bulk-memory.wast b/test/lit/passes/O4_disable-bulk-memory.wast index 8200df5a35d..dec04f43c4d 100644 --- a/test/lit/passes/O4_disable-bulk-memory.wast +++ b/test/lit/passes/O4_disable-bulk-memory.wast @@ -254,14 +254,14 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (memory.size) + ;; CHECK-NEXT: (memory.size $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_s - ;; CHECK-NEXT: (memory.grow + ;; CHECK-NEXT: (memory.grow $1 ;; CHECK-NEXT: (select ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (local.tee $3 @@ -289,7 +289,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_s - ;; CHECK-NEXT: (memory.grow + ;; CHECK-NEXT: (memory.grow $1 ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 0) @@ -545,7 +545,7 @@ ) ;; CHECK: (func $assembly/index/Body#constructor (; has Stack IR ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 f64) (param $4 f64) (param $5 f64) (param $6 f64) (result i32) ;; CHECK-NEXT: (local $7 i32) - ;; CHECK-NEXT: (f64.store + ;; CHECK-NEXT: (f64.store $1 ;; CHECK-NEXT: (local.tee $7 ;; CHECK-NEXT: (call $~lib/allocator/arena/__memory_allocate ;; CHECK-NEXT: (i32.const 56) @@ -553,27 +553,27 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (f64.store offset=8 + ;; CHECK-NEXT: (f64.store $1 offset=8 ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (f64.store offset=16 + ;; CHECK-NEXT: (f64.store $1 offset=16 ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (f64.store offset=24 + ;; CHECK-NEXT: (f64.store $1 offset=24 ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (f64.store offset=32 + ;; CHECK-NEXT: (f64.store $1 offset=32 ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (f64.store offset=40 + ;; CHECK-NEXT: (f64.store $1 offset=40 ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (f64.store offset=48 + ;; CHECK-NEXT: (f64.store $1 offset=48 ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) @@ -1260,7 +1260,7 @@ ;; CHECK-NEXT: (local $5 f64) ;; CHECK-NEXT: (local $6 f64) ;; CHECK-NEXT: (local $7 f64) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $1 ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (call $~lib/allocator/arena/__memory_allocate ;; CHECK-NEXT: (i32.const 32) @@ -1268,7 +1268,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 20) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $1 ;; CHECK-NEXT: (local.tee $2 ;; CHECK-NEXT: (call $~lib/allocator/arena/__memory_allocate ;; CHECK-NEXT: (i32.const 8) @@ -1276,19 +1276,19 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=4 + ;; CHECK-NEXT: (i32.store $1 offset=4 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $1 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=4 + ;; CHECK-NEXT: (i32.store $1 offset=4 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.const 5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 + ;; CHECK-NEXT: (i32.store8 $1 ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) @@ -1297,7 +1297,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 + ;; CHECK-NEXT: (i32.store8 $1 ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (local.tee $1 ;; CHECK-NEXT: (i32.add @@ -1309,49 +1309,49 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 + ;; CHECK-NEXT: (i32.store8 $1 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 + ;; CHECK-NEXT: (i32.store8 $1 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 + ;; CHECK-NEXT: (i32.store8 $1 ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 + ;; CHECK-NEXT: (i32.store8 $1 ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (i32.const 3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 + ;; CHECK-NEXT: (i32.store8 $1 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 + ;; CHECK-NEXT: (i32.store8 $1 ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $1 ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.tee $1 @@ -1368,7 +1368,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $1 ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.tee $1 @@ -1393,21 +1393,21 @@ ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $1 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $1 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $1 ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (local.tee $3 ;; CHECK-NEXT: (i32.add @@ -1419,7 +1419,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $1 ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (i32.const 8) @@ -1432,35 +1432,35 @@ ;; CHECK-NEXT: (i32.const 24) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $1 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 12) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $1 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $1 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 20) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $1 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 24) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $1 ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (local.tee $3 ;; CHECK-NEXT: (i32.add @@ -1472,21 +1472,21 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $1 ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (i32.const 24) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $1 ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (i32.const 20) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $1 ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (i32.const 16) @@ -1520,25 +1520,25 @@ ;; CHECK-NEXT: (i32.const 32) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i64.store + ;; CHECK-NEXT: (i64.store $1 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i64.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i64.store + ;; CHECK-NEXT: (i64.store $1 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i64.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i64.store + ;; CHECK-NEXT: (i64.store $1 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i64.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i64.store + ;; CHECK-NEXT: (i64.store $1 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 24) @@ -1573,8 +1573,8 @@ ;; CHECK-NEXT: (f64.const 39.47841760435743) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=8 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.store $1 offset=8 + ;; CHECK-NEXT: (i32.load $1 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) @@ -1590,9 +1590,9 @@ ;; CHECK-NEXT: (f64.const 0.03769367487038949) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=8 + ;; CHECK-NEXT: (i32.store $1 offset=8 ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $1 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -1610,9 +1610,9 @@ ;; CHECK-NEXT: (f64.const 0.011286326131968767) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=8 + ;; CHECK-NEXT: (i32.store $1 offset=8 ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $1 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -1630,9 +1630,9 @@ ;; CHECK-NEXT: (f64.const 1.7237240570597112e-03) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=8 + ;; CHECK-NEXT: (i32.store $1 offset=8 ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $1 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 12) @@ -1650,9 +1650,9 @@ ;; CHECK-NEXT: (f64.const 2.0336868699246304e-03) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=8 + ;; CHECK-NEXT: (i32.store $1 offset=8 ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $1 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) @@ -1663,7 +1663,7 @@ ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $3 - ;; CHECK-NEXT: (i32.load offset=4 + ;; CHECK-NEXT: (i32.load $1 offset=4 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1675,11 +1675,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $4 - ;; CHECK-NEXT: (f64.load offset=48 + ;; CHECK-NEXT: (f64.load $1 offset=48 ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load offset=8 + ;; CHECK-NEXT: (i32.load $1 offset=8 ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $1 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl @@ -1695,7 +1695,7 @@ ;; CHECK-NEXT: (f64.add ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (f64.mul - ;; CHECK-NEXT: (f64.load offset=24 + ;; CHECK-NEXT: (f64.load $1 offset=24 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $4) @@ -1706,7 +1706,7 @@ ;; CHECK-NEXT: (f64.add ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (f64.mul - ;; CHECK-NEXT: (f64.load offset=32 + ;; CHECK-NEXT: (f64.load $1 offset=32 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $4) @@ -1717,7 +1717,7 @@ ;; CHECK-NEXT: (f64.add ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: (f64.mul - ;; CHECK-NEXT: (f64.load offset=40 + ;; CHECK-NEXT: (f64.load $1 offset=40 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $4) @@ -1734,20 +1734,20 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (f64.store offset=24 + ;; CHECK-NEXT: (f64.store $1 offset=24 ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (if (result i32) ;; CHECK-NEXT: (i32.shr_u - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $1 ;; CHECK-NEXT: (local.tee $0 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $1 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load offset=8 + ;; CHECK-NEXT: (i32.load $1 offset=8 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (unreachable) @@ -1758,21 +1758,21 @@ ;; CHECK-NEXT: (f64.const -39.47841760435743) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (f64.store offset=32 + ;; CHECK-NEXT: (f64.store $1 offset=32 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (f64.div ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (f64.const -39.47841760435743) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (f64.store offset=40 + ;; CHECK-NEXT: (f64.store $1 offset=40 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (f64.div ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: (f64.const -39.47841760435743) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $1 ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (call $~lib/allocator/arena/__memory_allocate ;; CHECK-NEXT: (i32.const 4) @@ -1845,9 +1845,9 @@ ;; CHECK-NEXT: (local $16 f64) ;; CHECK-NEXT: (local $17 f64) ;; CHECK-NEXT: (local.set $13 - ;; CHECK-NEXT: (i32.load offset=4 + ;; CHECK-NEXT: (i32.load $1 offset=4 ;; CHECK-NEXT: (local.tee $12 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $1 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1861,11 +1861,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $14 - ;; CHECK-NEXT: (f64.load + ;; CHECK-NEXT: (f64.load $1 ;; CHECK-NEXT: (local.tee $0 - ;; CHECK-NEXT: (i32.load offset=8 + ;; CHECK-NEXT: (i32.load $1 offset=8 ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $1 ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl @@ -1878,32 +1878,32 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $15 - ;; CHECK-NEXT: (f64.load offset=8 + ;; CHECK-NEXT: (f64.load $1 offset=8 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $16 - ;; CHECK-NEXT: (f64.load offset=16 + ;; CHECK-NEXT: (f64.load $1 offset=16 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $4 - ;; CHECK-NEXT: (f64.load offset=24 + ;; CHECK-NEXT: (f64.load $1 offset=24 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $5 - ;; CHECK-NEXT: (f64.load offset=32 + ;; CHECK-NEXT: (f64.load $1 offset=32 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $6 - ;; CHECK-NEXT: (f64.load offset=40 + ;; CHECK-NEXT: (f64.load $1 offset=40 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $17 - ;; CHECK-NEXT: (f64.load offset=48 + ;; CHECK-NEXT: (f64.load $1 offset=48 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1934,11 +1934,11 @@ ;; CHECK-NEXT: (local.tee $9 ;; CHECK-NEXT: (f64.sub ;; CHECK-NEXT: (local.get $14) - ;; CHECK-NEXT: (f64.load + ;; CHECK-NEXT: (f64.load $1 ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load offset=8 + ;; CHECK-NEXT: (i32.load $1 offset=8 ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $1 ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl @@ -1957,7 +1957,7 @@ ;; CHECK-NEXT: (local.tee $10 ;; CHECK-NEXT: (f64.sub ;; CHECK-NEXT: (local.get $15) - ;; CHECK-NEXT: (f64.load offset=8 + ;; CHECK-NEXT: (f64.load $1 offset=8 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1969,7 +1969,7 @@ ;; CHECK-NEXT: (local.tee $11 ;; CHECK-NEXT: (f64.sub ;; CHECK-NEXT: (local.get $16) - ;; CHECK-NEXT: (f64.load offset=16 + ;; CHECK-NEXT: (f64.load $1 offset=16 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1993,7 +1993,7 @@ ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: (local.tee $8 ;; CHECK-NEXT: (f64.mul - ;; CHECK-NEXT: (f64.load offset=48 + ;; CHECK-NEXT: (f64.load $1 offset=48 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $8) @@ -2020,10 +2020,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (f64.store offset=24 + ;; CHECK-NEXT: (f64.store $1 offset=24 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (f64.add - ;; CHECK-NEXT: (f64.load offset=24 + ;; CHECK-NEXT: (f64.load $1 offset=24 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (f64.mul @@ -2032,10 +2032,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (f64.store offset=32 + ;; CHECK-NEXT: (f64.store $1 offset=32 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (f64.add - ;; CHECK-NEXT: (f64.load offset=32 + ;; CHECK-NEXT: (f64.load $1 offset=32 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (f64.mul @@ -2044,10 +2044,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (f64.store offset=40 + ;; CHECK-NEXT: (f64.store $1 offset=40 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (f64.add - ;; CHECK-NEXT: (f64.load offset=40 + ;; CHECK-NEXT: (f64.load $1 offset=40 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (f64.mul @@ -2066,22 +2066,22 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (f64.store offset=24 + ;; CHECK-NEXT: (f64.store $1 offset=24 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (f64.store offset=32 + ;; CHECK-NEXT: (f64.store $1 offset=32 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (f64.store offset=40 + ;; CHECK-NEXT: (f64.store $1 offset=40 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (f64.store + ;; CHECK-NEXT: (f64.store $1 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (f64.add - ;; CHECK-NEXT: (f64.load + ;; CHECK-NEXT: (f64.load $1 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (f64.mul @@ -2090,10 +2090,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (f64.store offset=8 + ;; CHECK-NEXT: (f64.store $1 offset=8 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (f64.add - ;; CHECK-NEXT: (f64.load offset=8 + ;; CHECK-NEXT: (f64.load $1 offset=8 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (f64.mul @@ -2102,10 +2102,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (f64.store offset=16 + ;; CHECK-NEXT: (f64.store $1 offset=16 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (f64.add - ;; CHECK-NEXT: (f64.load offset=16 + ;; CHECK-NEXT: (f64.load $1 offset=16 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (f64.mul @@ -2692,9 +2692,9 @@ ;; CHECK-NEXT: (global.get $global$5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $5 - ;; CHECK-NEXT: (i32.load offset=4 + ;; CHECK-NEXT: (i32.load $1 offset=4 ;; CHECK-NEXT: (local.tee $4 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $1 ;; CHECK-NEXT: (global.get $global$5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -2708,11 +2708,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $7 - ;; CHECK-NEXT: (f64.load + ;; CHECK-NEXT: (f64.load $1 ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load offset=8 + ;; CHECK-NEXT: (i32.load $1 offset=8 ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $1 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl @@ -2725,12 +2725,12 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $8 - ;; CHECK-NEXT: (f64.load offset=8 + ;; CHECK-NEXT: (f64.load $1 offset=8 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $9 - ;; CHECK-NEXT: (f64.load offset=16 + ;; CHECK-NEXT: (f64.load $1 offset=16 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -2740,7 +2740,7 @@ ;; CHECK-NEXT: (f64.mul ;; CHECK-NEXT: (f64.mul ;; CHECK-NEXT: (local.tee $10 - ;; CHECK-NEXT: (f64.load offset=48 + ;; CHECK-NEXT: (f64.load $1 offset=48 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -2750,7 +2750,7 @@ ;; CHECK-NEXT: (f64.add ;; CHECK-NEXT: (f64.mul ;; CHECK-NEXT: (local.tee $0 - ;; CHECK-NEXT: (f64.load offset=24 + ;; CHECK-NEXT: (f64.load $1 offset=24 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -2758,7 +2758,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (f64.mul ;; CHECK-NEXT: (local.tee $0 - ;; CHECK-NEXT: (f64.load offset=32 + ;; CHECK-NEXT: (f64.load $1 offset=32 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -2767,7 +2767,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (f64.mul ;; CHECK-NEXT: (local.tee $0 - ;; CHECK-NEXT: (f64.load offset=40 + ;; CHECK-NEXT: (f64.load $1 offset=40 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -2793,11 +2793,11 @@ ;; CHECK-NEXT: (local.set $6 ;; CHECK-NEXT: (f64.sub ;; CHECK-NEXT: (local.get $7) - ;; CHECK-NEXT: (f64.load + ;; CHECK-NEXT: (f64.load $1 ;; CHECK-NEXT: (local.tee $3 - ;; CHECK-NEXT: (i32.load offset=8 + ;; CHECK-NEXT: (i32.load $1 offset=8 ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $1 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl @@ -2816,7 +2816,7 @@ ;; CHECK-NEXT: (f64.div ;; CHECK-NEXT: (f64.mul ;; CHECK-NEXT: (local.get $10) - ;; CHECK-NEXT: (f64.load offset=48 + ;; CHECK-NEXT: (f64.load $1 offset=48 ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -2831,7 +2831,7 @@ ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (f64.sub ;; CHECK-NEXT: (local.get $8) - ;; CHECK-NEXT: (f64.load offset=8 + ;; CHECK-NEXT: (f64.load $1 offset=8 ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -2843,7 +2843,7 @@ ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (f64.sub ;; CHECK-NEXT: (local.get $9) - ;; CHECK-NEXT: (f64.load offset=16 + ;; CHECK-NEXT: (f64.load $1 offset=16 ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -2943,9 +2943,9 @@ ;; CHECK-NEXT: (if (result i32) ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $0) - ;; CHECK-NEXT: (i32.load offset=4 + ;; CHECK-NEXT: (i32.load $1 offset=4 ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $1 ;; CHECK-NEXT: (global.get $global$5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -2955,9 +2955,9 @@ ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.shr_u - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $1 ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $1 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -2965,7 +2965,7 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load offset=8 + ;; CHECK-NEXT: (i32.load $1 offset=8 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (i32.shl ;; CHECK-NEXT: (local.get $0) diff --git a/test/lit/passes/Oz.wast b/test/lit/passes/Oz.wast index 59bfe46c30d..eba07b12ebd 100644 --- a/test/lit/passes/Oz.wast +++ b/test/lit/passes/Oz.wast @@ -60,7 +60,7 @@ (i32.add (local.get $x2) (local.get $y2)) ) ;; CHECK: (func $8 (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $1) @@ -68,16 +68,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -75) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) diff --git a/test/lit/passes/alignment-lowering.wast b/test/lit/passes/alignment-lowering.wast index 9875f9adf82..e321fd0c4cf 100644 --- a/test/lit/passes/alignment-lowering.wast +++ b/test/lit/passes/alignment-lowering.wast @@ -22,7 +22,7 @@ ;; CHECK-NEXT: (local $10 i32) ;; CHECK-NEXT: (local $11 i32) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -33,11 +33,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load8_u + ;; CHECK-NEXT: (i32.load8_u $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=1 + ;; CHECK-NEXT: (i32.load8_u $0 offset=1 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -45,13 +45,13 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=2 + ;; CHECK-NEXT: (i32.load8_u $0 offset=2 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=3 + ;; CHECK-NEXT: (i32.load8_u $0 offset=3 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 24) @@ -66,11 +66,11 @@ ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load16_u + ;; CHECK-NEXT: (i32.load16_u $0 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load16_u offset=2 + ;; CHECK-NEXT: (i32.load16_u $0 offset=2 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) @@ -79,12 +79,12 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load offset=100 + ;; CHECK-NEXT: (i32.load $0 offset=100 ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -95,11 +95,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load8_u offset=100 + ;; CHECK-NEXT: (i32.load8_u $0 offset=100 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=101 + ;; CHECK-NEXT: (i32.load8_u $0 offset=101 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -107,13 +107,13 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=102 + ;; CHECK-NEXT: (i32.load8_u $0 offset=102 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=103 + ;; CHECK-NEXT: (i32.load8_u $0 offset=103 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 24) @@ -128,11 +128,11 @@ ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load16_u offset=100 + ;; CHECK-NEXT: (i32.load16_u $0 offset=100 ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load16_u offset=102 + ;; CHECK-NEXT: (i32.load16_u $0 offset=102 ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) @@ -141,14 +141,14 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load offset=100 + ;; CHECK-NEXT: (i32.load $0 offset=100 ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) @@ -159,25 +159,25 @@ ;; CHECK-NEXT: (local.set $5 ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 + ;; CHECK-NEXT: (i32.store8 $0 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=1 + ;; CHECK-NEXT: (i32.store8 $0 offset=1 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=2 + ;; CHECK-NEXT: (i32.store8 $0 offset=2 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=3 + ;; CHECK-NEXT: (i32.store8 $0 offset=3 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $5) @@ -192,11 +192,11 @@ ;; CHECK-NEXT: (local.set $7 ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 + ;; CHECK-NEXT: (i32.store16 $0 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 offset=2 + ;; CHECK-NEXT: (i32.store16 $0 offset=2 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $7) @@ -204,11 +204,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=100 + ;; CHECK-NEXT: (i32.store $0 offset=100 ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) @@ -219,25 +219,25 @@ ;; CHECK-NEXT: (local.set $9 ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=100 + ;; CHECK-NEXT: (i32.store8 $0 offset=100 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=101 + ;; CHECK-NEXT: (i32.store8 $0 offset=101 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=102 + ;; CHECK-NEXT: (i32.store8 $0 offset=102 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=103 + ;; CHECK-NEXT: (i32.store8 $0 offset=103 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $9) @@ -252,11 +252,11 @@ ;; CHECK-NEXT: (local.set $11 ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 offset=100 + ;; CHECK-NEXT: (i32.store16 $0 offset=100 ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 offset=102 + ;; CHECK-NEXT: (i32.store16 $0 offset=102 ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $11) @@ -264,7 +264,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=100 + ;; CHECK-NEXT: (i32.store $0 offset=100 ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) @@ -314,7 +314,7 @@ ;; CHECK-NEXT: (local $4 i32) ;; CHECK-NEXT: (local $5 i32) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load16_u + ;; CHECK-NEXT: (i32.load16_u $0 ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -324,11 +324,11 @@ ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load8_u + ;; CHECK-NEXT: (i32.load8_u $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=1 + ;; CHECK-NEXT: (i32.load8_u $0 offset=1 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -337,12 +337,12 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load16_u + ;; CHECK-NEXT: (i32.load16_u $0 ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load16_u offset=100 + ;; CHECK-NEXT: (i32.load16_u $0 offset=100 ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -352,11 +352,11 @@ ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load8_u offset=100 + ;; CHECK-NEXT: (i32.load8_u $0 offset=100 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=101 + ;; CHECK-NEXT: (i32.load8_u $0 offset=101 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -365,14 +365,14 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load16_u offset=100 + ;; CHECK-NEXT: (i32.load16_u $0 offset=100 ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 + ;; CHECK-NEXT: (i32.store16 $0 ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) @@ -383,11 +383,11 @@ ;; CHECK-NEXT: (local.set $3 ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 + ;; CHECK-NEXT: (i32.store8 $0 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=1 + ;; CHECK-NEXT: (i32.store8 $0 offset=1 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $3) @@ -395,11 +395,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 + ;; CHECK-NEXT: (i32.store16 $0 ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 offset=100 + ;; CHECK-NEXT: (i32.store16 $0 offset=100 ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) @@ -410,11 +410,11 @@ ;; CHECK-NEXT: (local.set $5 ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=100 + ;; CHECK-NEXT: (i32.store8 $0 offset=100 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=101 + ;; CHECK-NEXT: (i32.store8 $0 offset=101 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $5) @@ -422,7 +422,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 offset=100 + ;; CHECK-NEXT: (i32.store16 $0 offset=100 ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) @@ -462,41 +462,41 @@ ) ;; CHECK: (func $func_1 ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load8_u + ;; CHECK-NEXT: (i32.load8_u $0 ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load8_u + ;; CHECK-NEXT: (i32.load8_u $0 ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load8_u offset=100 + ;; CHECK-NEXT: (i32.load8_u $0 offset=100 ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load8_u offset=100 + ;; CHECK-NEXT: (i32.load8_u $0 offset=100 ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 + ;; CHECK-NEXT: (i32.store8 $0 ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 + ;; CHECK-NEXT: (i32.store8 $0 ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=100 + ;; CHECK-NEXT: (i32.store8 $0 offset=100 ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=100 + ;; CHECK-NEXT: (i32.store8 $0 offset=100 ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) @@ -534,7 +534,7 @@ ;; CHECK-NEXT: (local $0 i32) ;; CHECK-NEXT: (local $1 i32) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load16_s + ;; CHECK-NEXT: (i32.load16_s $0 ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -546,11 +546,11 @@ ;; CHECK-NEXT: (i32.shr_s ;; CHECK-NEXT: (i32.shl ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load8_u + ;; CHECK-NEXT: (i32.load8_u $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=1 + ;; CHECK-NEXT: (i32.load8_u $0 offset=1 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -563,12 +563,12 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load16_s + ;; CHECK-NEXT: (i32.load16_s $0 ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load16_s offset=100 + ;; CHECK-NEXT: (i32.load16_s $0 offset=100 ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -580,11 +580,11 @@ ;; CHECK-NEXT: (i32.shr_s ;; CHECK-NEXT: (i32.shl ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load8_u offset=100 + ;; CHECK-NEXT: (i32.load8_u $0 offset=100 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=101 + ;; CHECK-NEXT: (i32.load8_u $0 offset=101 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -597,7 +597,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load16_s offset=100 + ;; CHECK-NEXT: (i32.load16_s $0 offset=100 ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -642,11 +642,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load8_u + ;; CHECK-NEXT: (i32.load8_u $0 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=1 + ;; CHECK-NEXT: (i32.load8_u $0 offset=1 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -654,13 +654,13 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=2 + ;; CHECK-NEXT: (i32.load8_u $0 offset=2 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=3 + ;; CHECK-NEXT: (i32.load8_u $0 offset=3 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 24) @@ -677,11 +677,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load8_u offset=4 + ;; CHECK-NEXT: (i32.load8_u $0 offset=4 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=5 + ;; CHECK-NEXT: (i32.load8_u $0 offset=5 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -689,13 +689,13 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=6 + ;; CHECK-NEXT: (i32.load8_u $0 offset=6 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=7 + ;; CHECK-NEXT: (i32.load8_u $0 offset=7 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 24) @@ -721,11 +721,11 @@ ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load16_u + ;; CHECK-NEXT: (i32.load16_u $0 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load16_u offset=2 + ;; CHECK-NEXT: (i32.load16_u $0 offset=2 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) @@ -740,11 +740,11 @@ ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load16_u offset=4 + ;; CHECK-NEXT: (i32.load16_u $0 offset=4 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load16_u offset=6 + ;; CHECK-NEXT: (i32.load16_u $0 offset=6 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) @@ -764,13 +764,13 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i64.or ;; CHECK-NEXT: (i64.extend_i32_u - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i64.shl ;; CHECK-NEXT: (i64.extend_i32_u - ;; CHECK-NEXT: (i32.load offset=4 + ;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -792,11 +792,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load8_u offset=3 + ;; CHECK-NEXT: (i32.load8_u $0 offset=3 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=4 + ;; CHECK-NEXT: (i32.load8_u $0 offset=4 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -804,13 +804,13 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=5 + ;; CHECK-NEXT: (i32.load8_u $0 offset=5 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=6 + ;; CHECK-NEXT: (i32.load8_u $0 offset=6 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 24) @@ -827,11 +827,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load8_u offset=7 + ;; CHECK-NEXT: (i32.load8_u $0 offset=7 ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=8 + ;; CHECK-NEXT: (i32.load8_u $0 offset=8 ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -839,13 +839,13 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=9 + ;; CHECK-NEXT: (i32.load8_u $0 offset=9 ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=10 + ;; CHECK-NEXT: (i32.load8_u $0 offset=10 ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 24) @@ -868,11 +868,11 @@ ;; CHECK-NEXT: (i32.shr_s ;; CHECK-NEXT: (i32.shl ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load8_u + ;; CHECK-NEXT: (i32.load8_u $0 ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=1 + ;; CHECK-NEXT: (i32.load8_u $0 offset=1 ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -893,11 +893,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load8_u + ;; CHECK-NEXT: (i32.load8_u $0 ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=1 + ;; CHECK-NEXT: (i32.load8_u $0 offset=1 ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -905,13 +905,13 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=2 + ;; CHECK-NEXT: (i32.load8_u $0 offset=2 ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=3 + ;; CHECK-NEXT: (i32.load8_u $0 offset=3 ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 24) @@ -928,11 +928,11 @@ ;; CHECK-NEXT: (i32.const 40) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load8_u + ;; CHECK-NEXT: (i32.load8_u $0 ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=1 + ;; CHECK-NEXT: (i32.load8_u $0 offset=1 ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -949,11 +949,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load8_u + ;; CHECK-NEXT: (i32.load8_u $0 ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=1 + ;; CHECK-NEXT: (i32.load8_u $0 offset=1 ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -961,13 +961,13 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=2 + ;; CHECK-NEXT: (i32.load8_u $0 offset=2 ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=3 + ;; CHECK-NEXT: (i32.load8_u $0 offset=3 ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 24) @@ -1000,11 +1000,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load8_u + ;; CHECK-NEXT: (i32.load8_u $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=1 + ;; CHECK-NEXT: (i32.load8_u $0 offset=1 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -1012,13 +1012,13 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=2 + ;; CHECK-NEXT: (i32.load8_u $0 offset=2 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=3 + ;; CHECK-NEXT: (i32.load8_u $0 offset=3 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 24) @@ -1035,11 +1035,11 @@ ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load16_u + ;; CHECK-NEXT: (i32.load16_u $0 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load16_u offset=2 + ;; CHECK-NEXT: (i32.load16_u $0 offset=2 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) @@ -1056,11 +1056,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load8_u offset=3 + ;; CHECK-NEXT: (i32.load8_u $0 offset=3 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=4 + ;; CHECK-NEXT: (i32.load8_u $0 offset=4 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -1068,13 +1068,13 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=5 + ;; CHECK-NEXT: (i32.load8_u $0 offset=5 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=6 + ;; CHECK-NEXT: (i32.load8_u $0 offset=6 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 24) @@ -1115,11 +1115,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load8_u + ;; CHECK-NEXT: (i32.load8_u $0 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=1 + ;; CHECK-NEXT: (i32.load8_u $0 offset=1 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -1127,13 +1127,13 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=2 + ;; CHECK-NEXT: (i32.load8_u $0 offset=2 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=3 + ;; CHECK-NEXT: (i32.load8_u $0 offset=3 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 24) @@ -1150,11 +1150,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load8_u offset=4 + ;; CHECK-NEXT: (i32.load8_u $0 offset=4 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=5 + ;; CHECK-NEXT: (i32.load8_u $0 offset=5 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -1162,13 +1162,13 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=6 + ;; CHECK-NEXT: (i32.load8_u $0 offset=6 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=7 + ;; CHECK-NEXT: (i32.load8_u $0 offset=7 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 24) @@ -1196,11 +1196,11 @@ ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load16_u + ;; CHECK-NEXT: (i32.load16_u $0 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load16_u offset=2 + ;; CHECK-NEXT: (i32.load16_u $0 offset=2 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) @@ -1215,11 +1215,11 @@ ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load16_u offset=4 + ;; CHECK-NEXT: (i32.load16_u $0 offset=4 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load16_u offset=6 + ;; CHECK-NEXT: (i32.load16_u $0 offset=6 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) @@ -1241,13 +1241,13 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i64.or ;; CHECK-NEXT: (i64.extend_i32_u - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i64.shl ;; CHECK-NEXT: (i64.extend_i32_u - ;; CHECK-NEXT: (i32.load offset=4 + ;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1271,11 +1271,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load8_u offset=3 + ;; CHECK-NEXT: (i32.load8_u $0 offset=3 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=4 + ;; CHECK-NEXT: (i32.load8_u $0 offset=4 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -1283,13 +1283,13 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=5 + ;; CHECK-NEXT: (i32.load8_u $0 offset=5 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=6 + ;; CHECK-NEXT: (i32.load8_u $0 offset=6 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 24) @@ -1306,11 +1306,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load8_u offset=7 + ;; CHECK-NEXT: (i32.load8_u $0 offset=7 ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=8 + ;; CHECK-NEXT: (i32.load8_u $0 offset=8 ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -1318,13 +1318,13 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=9 + ;; CHECK-NEXT: (i32.load8_u $0 offset=9 ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=10 + ;; CHECK-NEXT: (i32.load8_u $0 offset=10 ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 24) @@ -1387,25 +1387,25 @@ ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 + ;; CHECK-NEXT: (i32.store8 $0 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=1 + ;; CHECK-NEXT: (i32.store8 $0 offset=1 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=2 + ;; CHECK-NEXT: (i32.store8 $0 offset=2 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=3 + ;; CHECK-NEXT: (i32.store8 $0 offset=3 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $3) @@ -1425,25 +1425,25 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=4 + ;; CHECK-NEXT: (i32.store8 $0 offset=4 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=5 + ;; CHECK-NEXT: (i32.store8 $0 offset=5 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=6 + ;; CHECK-NEXT: (i32.store8 $0 offset=6 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=7 + ;; CHECK-NEXT: (i32.store8 $0 offset=7 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $5) @@ -1468,11 +1468,11 @@ ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 + ;; CHECK-NEXT: (i32.store16 $0 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 offset=2 + ;; CHECK-NEXT: (i32.store16 $0 offset=2 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $9) @@ -1492,11 +1492,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 offset=4 + ;; CHECK-NEXT: (i32.store16 $0 offset=4 ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 offset=6 + ;; CHECK-NEXT: (i32.store16 $0 offset=6 ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $11) @@ -1512,13 +1512,13 @@ ;; CHECK-NEXT: (local.set $13 ;; CHECK-NEXT: (i64.const 300) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: (i32.wrap_i64 ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=4 + ;; CHECK-NEXT: (i32.store $0 offset=4 ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: (i32.wrap_i64 ;; CHECK-NEXT: (i64.shr_u @@ -1544,25 +1544,25 @@ ;; CHECK-NEXT: (local.get $15) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=3 + ;; CHECK-NEXT: (i32.store8 $0 offset=3 ;; CHECK-NEXT: (local.get $16) ;; CHECK-NEXT: (local.get $17) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=4 + ;; CHECK-NEXT: (i32.store8 $0 offset=4 ;; CHECK-NEXT: (local.get $16) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $17) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=5 + ;; CHECK-NEXT: (i32.store8 $0 offset=5 ;; CHECK-NEXT: (local.get $16) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $17) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=6 + ;; CHECK-NEXT: (i32.store8 $0 offset=6 ;; CHECK-NEXT: (local.get $16) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $17) @@ -1582,25 +1582,25 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=7 + ;; CHECK-NEXT: (i32.store8 $0 offset=7 ;; CHECK-NEXT: (local.get $18) ;; CHECK-NEXT: (local.get $19) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=8 + ;; CHECK-NEXT: (i32.store8 $0 offset=8 ;; CHECK-NEXT: (local.get $18) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $19) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=9 + ;; CHECK-NEXT: (i32.store8 $0 offset=9 ;; CHECK-NEXT: (local.get $18) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $19) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=10 + ;; CHECK-NEXT: (i32.store8 $0 offset=10 ;; CHECK-NEXT: (local.get $18) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $19) @@ -1618,11 +1618,11 @@ ;; CHECK-NEXT: (i64.const 600) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 + ;; CHECK-NEXT: (i32.store8 $0 ;; CHECK-NEXT: (local.get $20) ;; CHECK-NEXT: (local.get $21) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=1 + ;; CHECK-NEXT: (i32.store8 $0 offset=1 ;; CHECK-NEXT: (local.get $20) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $21) @@ -1639,25 +1639,25 @@ ;; CHECK-NEXT: (i64.const 700) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 + ;; CHECK-NEXT: (i32.store8 $0 ;; CHECK-NEXT: (local.get $22) ;; CHECK-NEXT: (local.get $23) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=1 + ;; CHECK-NEXT: (i32.store8 $0 offset=1 ;; CHECK-NEXT: (local.get $22) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $23) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=2 + ;; CHECK-NEXT: (i32.store8 $0 offset=2 ;; CHECK-NEXT: (local.get $22) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $23) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=3 + ;; CHECK-NEXT: (i32.store8 $0 offset=3 ;; CHECK-NEXT: (local.get $22) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $23) @@ -1690,25 +1690,25 @@ ;; CHECK-NEXT: (f32.const 100) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 + ;; CHECK-NEXT: (i32.store8 $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=1 + ;; CHECK-NEXT: (i32.store8 $0 offset=1 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=2 + ;; CHECK-NEXT: (i32.store8 $0 offset=2 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=3 + ;; CHECK-NEXT: (i32.store8 $0 offset=3 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $1) @@ -1725,11 +1725,11 @@ ;; CHECK-NEXT: (f32.const 200) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 + ;; CHECK-NEXT: (i32.store16 $0 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 offset=2 + ;; CHECK-NEXT: (i32.store16 $0 offset=2 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $3) @@ -1746,25 +1746,25 @@ ;; CHECK-NEXT: (f32.const 400) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=3 + ;; CHECK-NEXT: (i32.store8 $0 offset=3 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=4 + ;; CHECK-NEXT: (i32.store8 $0 offset=4 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=5 + ;; CHECK-NEXT: (i32.store8 $0 offset=5 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=6 + ;; CHECK-NEXT: (i32.store8 $0 offset=6 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $5) @@ -1817,25 +1817,25 @@ ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 + ;; CHECK-NEXT: (i32.store8 $0 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=1 + ;; CHECK-NEXT: (i32.store8 $0 offset=1 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=2 + ;; CHECK-NEXT: (i32.store8 $0 offset=2 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=3 + ;; CHECK-NEXT: (i32.store8 $0 offset=3 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $3) @@ -1855,25 +1855,25 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=4 + ;; CHECK-NEXT: (i32.store8 $0 offset=4 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=5 + ;; CHECK-NEXT: (i32.store8 $0 offset=5 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=6 + ;; CHECK-NEXT: (i32.store8 $0 offset=6 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=7 + ;; CHECK-NEXT: (i32.store8 $0 offset=7 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $5) @@ -1900,11 +1900,11 @@ ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 + ;; CHECK-NEXT: (i32.store16 $0 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 offset=2 + ;; CHECK-NEXT: (i32.store16 $0 offset=2 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $9) @@ -1924,11 +1924,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 offset=4 + ;; CHECK-NEXT: (i32.store16 $0 offset=4 ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 offset=6 + ;; CHECK-NEXT: (i32.store16 $0 offset=6 ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $11) @@ -1946,13 +1946,13 @@ ;; CHECK-NEXT: (f64.const 300) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: (i32.wrap_i64 ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=4 + ;; CHECK-NEXT: (i32.store $0 offset=4 ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: (i32.wrap_i64 ;; CHECK-NEXT: (i64.shr_u @@ -1980,25 +1980,25 @@ ;; CHECK-NEXT: (local.get $15) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=3 + ;; CHECK-NEXT: (i32.store8 $0 offset=3 ;; CHECK-NEXT: (local.get $16) ;; CHECK-NEXT: (local.get $17) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=4 + ;; CHECK-NEXT: (i32.store8 $0 offset=4 ;; CHECK-NEXT: (local.get $16) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $17) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=5 + ;; CHECK-NEXT: (i32.store8 $0 offset=5 ;; CHECK-NEXT: (local.get $16) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $17) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=6 + ;; CHECK-NEXT: (i32.store8 $0 offset=6 ;; CHECK-NEXT: (local.get $16) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $17) @@ -2018,25 +2018,25 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=7 + ;; CHECK-NEXT: (i32.store8 $0 offset=7 ;; CHECK-NEXT: (local.get $18) ;; CHECK-NEXT: (local.get $19) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=8 + ;; CHECK-NEXT: (i32.store8 $0 offset=8 ;; CHECK-NEXT: (local.get $18) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $19) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=9 + ;; CHECK-NEXT: (i32.store8 $0 offset=9 ;; CHECK-NEXT: (local.get $18) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $19) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=10 + ;; CHECK-NEXT: (i32.store8 $0 offset=10 ;; CHECK-NEXT: (local.get $18) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $19) diff --git a/test/lit/passes/alignment-lowering64.wast b/test/lit/passes/alignment-lowering64.wast index 5c20cc7ebd6..5868a8d8513 100644 --- a/test/lit/passes/alignment-lowering64.wast +++ b/test/lit/passes/alignment-lowering64.wast @@ -22,7 +22,7 @@ ;; CHECK-NEXT: (local $10 i64) ;; CHECK-NEXT: (local $11 i32) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i64.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -33,11 +33,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load8_u + ;; CHECK-NEXT: (i32.load8_u $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=1 + ;; CHECK-NEXT: (i32.load8_u $0 offset=1 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -45,13 +45,13 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=2 + ;; CHECK-NEXT: (i32.load8_u $0 offset=2 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=3 + ;; CHECK-NEXT: (i32.load8_u $0 offset=3 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 24) @@ -66,11 +66,11 @@ ;; CHECK-NEXT: (i64.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load16_u + ;; CHECK-NEXT: (i32.load16_u $0 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load16_u offset=2 + ;; CHECK-NEXT: (i32.load16_u $0 offset=2 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) @@ -79,12 +79,12 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i64.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load offset=100 + ;; CHECK-NEXT: (i32.load $0 offset=100 ;; CHECK-NEXT: (i64.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -95,11 +95,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load8_u offset=100 + ;; CHECK-NEXT: (i32.load8_u $0 offset=100 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=101 + ;; CHECK-NEXT: (i32.load8_u $0 offset=101 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -107,13 +107,13 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=102 + ;; CHECK-NEXT: (i32.load8_u $0 offset=102 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=103 + ;; CHECK-NEXT: (i32.load8_u $0 offset=103 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 24) @@ -128,11 +128,11 @@ ;; CHECK-NEXT: (i64.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load16_u offset=100 + ;; CHECK-NEXT: (i32.load16_u $0 offset=100 ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load16_u offset=102 + ;; CHECK-NEXT: (i32.load16_u $0 offset=102 ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) @@ -141,14 +141,14 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load offset=100 + ;; CHECK-NEXT: (i32.load $0 offset=100 ;; CHECK-NEXT: (i64.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i64.const 4) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) @@ -159,25 +159,25 @@ ;; CHECK-NEXT: (local.set $5 ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 + ;; CHECK-NEXT: (i32.store8 $0 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=1 + ;; CHECK-NEXT: (i32.store8 $0 offset=1 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=2 + ;; CHECK-NEXT: (i32.store8 $0 offset=2 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=3 + ;; CHECK-NEXT: (i32.store8 $0 offset=3 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $5) @@ -192,11 +192,11 @@ ;; CHECK-NEXT: (local.set $7 ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 + ;; CHECK-NEXT: (i32.store16 $0 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 offset=2 + ;; CHECK-NEXT: (i32.store16 $0 offset=2 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $7) @@ -204,11 +204,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i64.const 4) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=100 + ;; CHECK-NEXT: (i32.store $0 offset=100 ;; CHECK-NEXT: (i64.const 4) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) @@ -219,25 +219,25 @@ ;; CHECK-NEXT: (local.set $9 ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=100 + ;; CHECK-NEXT: (i32.store8 $0 offset=100 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=101 + ;; CHECK-NEXT: (i32.store8 $0 offset=101 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=102 + ;; CHECK-NEXT: (i32.store8 $0 offset=102 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=103 + ;; CHECK-NEXT: (i32.store8 $0 offset=103 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $9) @@ -252,11 +252,11 @@ ;; CHECK-NEXT: (local.set $11 ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 offset=100 + ;; CHECK-NEXT: (i32.store16 $0 offset=100 ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 offset=102 + ;; CHECK-NEXT: (i32.store16 $0 offset=102 ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $11) @@ -264,7 +264,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=100 + ;; CHECK-NEXT: (i32.store $0 offset=100 ;; CHECK-NEXT: (i64.const 4) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) @@ -314,7 +314,7 @@ ;; CHECK-NEXT: (local $4 i64) ;; CHECK-NEXT: (local $5 i32) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load16_u + ;; CHECK-NEXT: (i32.load16_u $0 ;; CHECK-NEXT: (i64.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -324,11 +324,11 @@ ;; CHECK-NEXT: (i64.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load8_u + ;; CHECK-NEXT: (i32.load8_u $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=1 + ;; CHECK-NEXT: (i32.load8_u $0 offset=1 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -337,12 +337,12 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load16_u + ;; CHECK-NEXT: (i32.load16_u $0 ;; CHECK-NEXT: (i64.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load16_u offset=100 + ;; CHECK-NEXT: (i32.load16_u $0 offset=100 ;; CHECK-NEXT: (i64.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -352,11 +352,11 @@ ;; CHECK-NEXT: (i64.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load8_u offset=100 + ;; CHECK-NEXT: (i32.load8_u $0 offset=100 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=101 + ;; CHECK-NEXT: (i32.load8_u $0 offset=101 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -365,14 +365,14 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load16_u offset=100 + ;; CHECK-NEXT: (i32.load16_u $0 offset=100 ;; CHECK-NEXT: (i64.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 + ;; CHECK-NEXT: (i32.store16 $0 ;; CHECK-NEXT: (i64.const 4) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) @@ -383,11 +383,11 @@ ;; CHECK-NEXT: (local.set $3 ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 + ;; CHECK-NEXT: (i32.store8 $0 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=1 + ;; CHECK-NEXT: (i32.store8 $0 offset=1 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $3) @@ -395,11 +395,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 + ;; CHECK-NEXT: (i32.store16 $0 ;; CHECK-NEXT: (i64.const 4) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 offset=100 + ;; CHECK-NEXT: (i32.store16 $0 offset=100 ;; CHECK-NEXT: (i64.const 4) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) @@ -410,11 +410,11 @@ ;; CHECK-NEXT: (local.set $5 ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=100 + ;; CHECK-NEXT: (i32.store8 $0 offset=100 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=101 + ;; CHECK-NEXT: (i32.store8 $0 offset=101 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $5) @@ -422,7 +422,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 offset=100 + ;; CHECK-NEXT: (i32.store16 $0 offset=100 ;; CHECK-NEXT: (i64.const 4) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) @@ -462,41 +462,41 @@ ) ;; CHECK: (func $func_1 ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load8_u + ;; CHECK-NEXT: (i32.load8_u $0 ;; CHECK-NEXT: (i64.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load8_u + ;; CHECK-NEXT: (i32.load8_u $0 ;; CHECK-NEXT: (i64.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load8_u offset=100 + ;; CHECK-NEXT: (i32.load8_u $0 offset=100 ;; CHECK-NEXT: (i64.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load8_u offset=100 + ;; CHECK-NEXT: (i32.load8_u $0 offset=100 ;; CHECK-NEXT: (i64.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 + ;; CHECK-NEXT: (i32.store8 $0 ;; CHECK-NEXT: (i64.const 4) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 + ;; CHECK-NEXT: (i32.store8 $0 ;; CHECK-NEXT: (i64.const 4) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=100 + ;; CHECK-NEXT: (i32.store8 $0 offset=100 ;; CHECK-NEXT: (i64.const 4) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=100 + ;; CHECK-NEXT: (i32.store8 $0 offset=100 ;; CHECK-NEXT: (i64.const 4) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) @@ -534,7 +534,7 @@ ;; CHECK-NEXT: (local $0 i64) ;; CHECK-NEXT: (local $1 i64) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load16_s + ;; CHECK-NEXT: (i32.load16_s $0 ;; CHECK-NEXT: (i64.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -546,11 +546,11 @@ ;; CHECK-NEXT: (i32.shr_s ;; CHECK-NEXT: (i32.shl ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load8_u + ;; CHECK-NEXT: (i32.load8_u $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=1 + ;; CHECK-NEXT: (i32.load8_u $0 offset=1 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -563,12 +563,12 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load16_s + ;; CHECK-NEXT: (i32.load16_s $0 ;; CHECK-NEXT: (i64.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load16_s offset=100 + ;; CHECK-NEXT: (i32.load16_s $0 offset=100 ;; CHECK-NEXT: (i64.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -580,11 +580,11 @@ ;; CHECK-NEXT: (i32.shr_s ;; CHECK-NEXT: (i32.shl ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load8_u offset=100 + ;; CHECK-NEXT: (i32.load8_u $0 offset=100 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=101 + ;; CHECK-NEXT: (i32.load8_u $0 offset=101 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -597,7 +597,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load16_s offset=100 + ;; CHECK-NEXT: (i32.load16_s $0 offset=100 ;; CHECK-NEXT: (i64.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -642,11 +642,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load8_u + ;; CHECK-NEXT: (i32.load8_u $0 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=1 + ;; CHECK-NEXT: (i32.load8_u $0 offset=1 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -654,13 +654,13 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=2 + ;; CHECK-NEXT: (i32.load8_u $0 offset=2 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=3 + ;; CHECK-NEXT: (i32.load8_u $0 offset=3 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 24) @@ -677,11 +677,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load8_u offset=4 + ;; CHECK-NEXT: (i32.load8_u $0 offset=4 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=5 + ;; CHECK-NEXT: (i32.load8_u $0 offset=5 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -689,13 +689,13 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=6 + ;; CHECK-NEXT: (i32.load8_u $0 offset=6 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=7 + ;; CHECK-NEXT: (i32.load8_u $0 offset=7 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 24) @@ -721,11 +721,11 @@ ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load16_u + ;; CHECK-NEXT: (i32.load16_u $0 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load16_u offset=2 + ;; CHECK-NEXT: (i32.load16_u $0 offset=2 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) @@ -740,11 +740,11 @@ ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load16_u offset=4 + ;; CHECK-NEXT: (i32.load16_u $0 offset=4 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load16_u offset=6 + ;; CHECK-NEXT: (i32.load16_u $0 offset=6 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) @@ -764,13 +764,13 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i64.or ;; CHECK-NEXT: (i64.extend_i32_u - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i64.shl ;; CHECK-NEXT: (i64.extend_i32_u - ;; CHECK-NEXT: (i32.load offset=4 + ;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -792,11 +792,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load8_u offset=3 + ;; CHECK-NEXT: (i32.load8_u $0 offset=3 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=4 + ;; CHECK-NEXT: (i32.load8_u $0 offset=4 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -804,13 +804,13 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=5 + ;; CHECK-NEXT: (i32.load8_u $0 offset=5 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=6 + ;; CHECK-NEXT: (i32.load8_u $0 offset=6 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 24) @@ -827,11 +827,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load8_u offset=7 + ;; CHECK-NEXT: (i32.load8_u $0 offset=7 ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=8 + ;; CHECK-NEXT: (i32.load8_u $0 offset=8 ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -839,13 +839,13 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=9 + ;; CHECK-NEXT: (i32.load8_u $0 offset=9 ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=10 + ;; CHECK-NEXT: (i32.load8_u $0 offset=10 ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 24) @@ -868,11 +868,11 @@ ;; CHECK-NEXT: (i32.shr_s ;; CHECK-NEXT: (i32.shl ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load8_u + ;; CHECK-NEXT: (i32.load8_u $0 ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=1 + ;; CHECK-NEXT: (i32.load8_u $0 offset=1 ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -893,11 +893,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load8_u + ;; CHECK-NEXT: (i32.load8_u $0 ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=1 + ;; CHECK-NEXT: (i32.load8_u $0 offset=1 ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -905,13 +905,13 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=2 + ;; CHECK-NEXT: (i32.load8_u $0 offset=2 ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=3 + ;; CHECK-NEXT: (i32.load8_u $0 offset=3 ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 24) @@ -928,11 +928,11 @@ ;; CHECK-NEXT: (i64.const 40) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load8_u + ;; CHECK-NEXT: (i32.load8_u $0 ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=1 + ;; CHECK-NEXT: (i32.load8_u $0 offset=1 ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -949,11 +949,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load8_u + ;; CHECK-NEXT: (i32.load8_u $0 ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=1 + ;; CHECK-NEXT: (i32.load8_u $0 offset=1 ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -961,13 +961,13 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=2 + ;; CHECK-NEXT: (i32.load8_u $0 offset=2 ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=3 + ;; CHECK-NEXT: (i32.load8_u $0 offset=3 ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 24) @@ -1000,11 +1000,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load8_u + ;; CHECK-NEXT: (i32.load8_u $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=1 + ;; CHECK-NEXT: (i32.load8_u $0 offset=1 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -1012,13 +1012,13 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=2 + ;; CHECK-NEXT: (i32.load8_u $0 offset=2 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=3 + ;; CHECK-NEXT: (i32.load8_u $0 offset=3 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 24) @@ -1035,11 +1035,11 @@ ;; CHECK-NEXT: (i64.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load16_u + ;; CHECK-NEXT: (i32.load16_u $0 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load16_u offset=2 + ;; CHECK-NEXT: (i32.load16_u $0 offset=2 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) @@ -1056,11 +1056,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load8_u offset=3 + ;; CHECK-NEXT: (i32.load8_u $0 offset=3 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=4 + ;; CHECK-NEXT: (i32.load8_u $0 offset=4 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -1068,13 +1068,13 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=5 + ;; CHECK-NEXT: (i32.load8_u $0 offset=5 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=6 + ;; CHECK-NEXT: (i32.load8_u $0 offset=6 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 24) @@ -1115,11 +1115,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load8_u + ;; CHECK-NEXT: (i32.load8_u $0 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=1 + ;; CHECK-NEXT: (i32.load8_u $0 offset=1 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -1127,13 +1127,13 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=2 + ;; CHECK-NEXT: (i32.load8_u $0 offset=2 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=3 + ;; CHECK-NEXT: (i32.load8_u $0 offset=3 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 24) @@ -1150,11 +1150,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load8_u offset=4 + ;; CHECK-NEXT: (i32.load8_u $0 offset=4 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=5 + ;; CHECK-NEXT: (i32.load8_u $0 offset=5 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -1162,13 +1162,13 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=6 + ;; CHECK-NEXT: (i32.load8_u $0 offset=6 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=7 + ;; CHECK-NEXT: (i32.load8_u $0 offset=7 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 24) @@ -1196,11 +1196,11 @@ ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load16_u + ;; CHECK-NEXT: (i32.load16_u $0 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load16_u offset=2 + ;; CHECK-NEXT: (i32.load16_u $0 offset=2 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) @@ -1215,11 +1215,11 @@ ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load16_u offset=4 + ;; CHECK-NEXT: (i32.load16_u $0 offset=4 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load16_u offset=6 + ;; CHECK-NEXT: (i32.load16_u $0 offset=6 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) @@ -1241,13 +1241,13 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i64.or ;; CHECK-NEXT: (i64.extend_i32_u - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i64.shl ;; CHECK-NEXT: (i64.extend_i32_u - ;; CHECK-NEXT: (i32.load offset=4 + ;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1271,11 +1271,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load8_u offset=3 + ;; CHECK-NEXT: (i32.load8_u $0 offset=3 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=4 + ;; CHECK-NEXT: (i32.load8_u $0 offset=4 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -1283,13 +1283,13 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=5 + ;; CHECK-NEXT: (i32.load8_u $0 offset=5 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=6 + ;; CHECK-NEXT: (i32.load8_u $0 offset=6 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 24) @@ -1306,11 +1306,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load8_u offset=7 + ;; CHECK-NEXT: (i32.load8_u $0 offset=7 ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=8 + ;; CHECK-NEXT: (i32.load8_u $0 offset=8 ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -1318,13 +1318,13 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=9 + ;; CHECK-NEXT: (i32.load8_u $0 offset=9 ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u offset=10 + ;; CHECK-NEXT: (i32.load8_u $0 offset=10 ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 24) @@ -1387,25 +1387,25 @@ ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 + ;; CHECK-NEXT: (i32.store8 $0 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=1 + ;; CHECK-NEXT: (i32.store8 $0 offset=1 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=2 + ;; CHECK-NEXT: (i32.store8 $0 offset=2 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=3 + ;; CHECK-NEXT: (i32.store8 $0 offset=3 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $3) @@ -1425,25 +1425,25 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=4 + ;; CHECK-NEXT: (i32.store8 $0 offset=4 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=5 + ;; CHECK-NEXT: (i32.store8 $0 offset=5 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=6 + ;; CHECK-NEXT: (i32.store8 $0 offset=6 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=7 + ;; CHECK-NEXT: (i32.store8 $0 offset=7 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $5) @@ -1468,11 +1468,11 @@ ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 + ;; CHECK-NEXT: (i32.store16 $0 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 offset=2 + ;; CHECK-NEXT: (i32.store16 $0 offset=2 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $9) @@ -1492,11 +1492,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 offset=4 + ;; CHECK-NEXT: (i32.store16 $0 offset=4 ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 offset=6 + ;; CHECK-NEXT: (i32.store16 $0 offset=6 ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $11) @@ -1512,13 +1512,13 @@ ;; CHECK-NEXT: (local.set $13 ;; CHECK-NEXT: (i64.const 300) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: (i32.wrap_i64 ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=4 + ;; CHECK-NEXT: (i32.store $0 offset=4 ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: (i32.wrap_i64 ;; CHECK-NEXT: (i64.shr_u @@ -1544,25 +1544,25 @@ ;; CHECK-NEXT: (local.get $15) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=3 + ;; CHECK-NEXT: (i32.store8 $0 offset=3 ;; CHECK-NEXT: (local.get $16) ;; CHECK-NEXT: (local.get $17) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=4 + ;; CHECK-NEXT: (i32.store8 $0 offset=4 ;; CHECK-NEXT: (local.get $16) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $17) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=5 + ;; CHECK-NEXT: (i32.store8 $0 offset=5 ;; CHECK-NEXT: (local.get $16) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $17) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=6 + ;; CHECK-NEXT: (i32.store8 $0 offset=6 ;; CHECK-NEXT: (local.get $16) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $17) @@ -1582,25 +1582,25 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=7 + ;; CHECK-NEXT: (i32.store8 $0 offset=7 ;; CHECK-NEXT: (local.get $18) ;; CHECK-NEXT: (local.get $19) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=8 + ;; CHECK-NEXT: (i32.store8 $0 offset=8 ;; CHECK-NEXT: (local.get $18) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $19) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=9 + ;; CHECK-NEXT: (i32.store8 $0 offset=9 ;; CHECK-NEXT: (local.get $18) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $19) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=10 + ;; CHECK-NEXT: (i32.store8 $0 offset=10 ;; CHECK-NEXT: (local.get $18) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $19) @@ -1618,11 +1618,11 @@ ;; CHECK-NEXT: (i64.const 600) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 + ;; CHECK-NEXT: (i32.store8 $0 ;; CHECK-NEXT: (local.get $20) ;; CHECK-NEXT: (local.get $21) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=1 + ;; CHECK-NEXT: (i32.store8 $0 offset=1 ;; CHECK-NEXT: (local.get $20) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $21) @@ -1639,25 +1639,25 @@ ;; CHECK-NEXT: (i64.const 700) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 + ;; CHECK-NEXT: (i32.store8 $0 ;; CHECK-NEXT: (local.get $22) ;; CHECK-NEXT: (local.get $23) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=1 + ;; CHECK-NEXT: (i32.store8 $0 offset=1 ;; CHECK-NEXT: (local.get $22) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $23) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=2 + ;; CHECK-NEXT: (i32.store8 $0 offset=2 ;; CHECK-NEXT: (local.get $22) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $23) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=3 + ;; CHECK-NEXT: (i32.store8 $0 offset=3 ;; CHECK-NEXT: (local.get $22) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $23) @@ -1690,25 +1690,25 @@ ;; CHECK-NEXT: (f32.const 100) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 + ;; CHECK-NEXT: (i32.store8 $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=1 + ;; CHECK-NEXT: (i32.store8 $0 offset=1 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=2 + ;; CHECK-NEXT: (i32.store8 $0 offset=2 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=3 + ;; CHECK-NEXT: (i32.store8 $0 offset=3 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $1) @@ -1725,11 +1725,11 @@ ;; CHECK-NEXT: (f32.const 200) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 + ;; CHECK-NEXT: (i32.store16 $0 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 offset=2 + ;; CHECK-NEXT: (i32.store16 $0 offset=2 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $3) @@ -1746,25 +1746,25 @@ ;; CHECK-NEXT: (f32.const 400) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=3 + ;; CHECK-NEXT: (i32.store8 $0 offset=3 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=4 + ;; CHECK-NEXT: (i32.store8 $0 offset=4 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=5 + ;; CHECK-NEXT: (i32.store8 $0 offset=5 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=6 + ;; CHECK-NEXT: (i32.store8 $0 offset=6 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $5) @@ -1817,25 +1817,25 @@ ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 + ;; CHECK-NEXT: (i32.store8 $0 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=1 + ;; CHECK-NEXT: (i32.store8 $0 offset=1 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=2 + ;; CHECK-NEXT: (i32.store8 $0 offset=2 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=3 + ;; CHECK-NEXT: (i32.store8 $0 offset=3 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $3) @@ -1855,25 +1855,25 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=4 + ;; CHECK-NEXT: (i32.store8 $0 offset=4 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=5 + ;; CHECK-NEXT: (i32.store8 $0 offset=5 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=6 + ;; CHECK-NEXT: (i32.store8 $0 offset=6 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=7 + ;; CHECK-NEXT: (i32.store8 $0 offset=7 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $5) @@ -1900,11 +1900,11 @@ ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 + ;; CHECK-NEXT: (i32.store16 $0 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 offset=2 + ;; CHECK-NEXT: (i32.store16 $0 offset=2 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $9) @@ -1924,11 +1924,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 offset=4 + ;; CHECK-NEXT: (i32.store16 $0 offset=4 ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 offset=6 + ;; CHECK-NEXT: (i32.store16 $0 offset=6 ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $11) @@ -1946,13 +1946,13 @@ ;; CHECK-NEXT: (f64.const 300) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: (i32.wrap_i64 ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=4 + ;; CHECK-NEXT: (i32.store $0 offset=4 ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: (i32.wrap_i64 ;; CHECK-NEXT: (i64.shr_u @@ -1980,25 +1980,25 @@ ;; CHECK-NEXT: (local.get $15) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=3 + ;; CHECK-NEXT: (i32.store8 $0 offset=3 ;; CHECK-NEXT: (local.get $16) ;; CHECK-NEXT: (local.get $17) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=4 + ;; CHECK-NEXT: (i32.store8 $0 offset=4 ;; CHECK-NEXT: (local.get $16) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $17) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=5 + ;; CHECK-NEXT: (i32.store8 $0 offset=5 ;; CHECK-NEXT: (local.get $16) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $17) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=6 + ;; CHECK-NEXT: (i32.store8 $0 offset=6 ;; CHECK-NEXT: (local.get $16) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $17) @@ -2018,25 +2018,25 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=7 + ;; CHECK-NEXT: (i32.store8 $0 offset=7 ;; CHECK-NEXT: (local.get $18) ;; CHECK-NEXT: (local.get $19) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=8 + ;; CHECK-NEXT: (i32.store8 $0 offset=8 ;; CHECK-NEXT: (local.get $18) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $19) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=9 + ;; CHECK-NEXT: (i32.store8 $0 offset=9 ;; CHECK-NEXT: (local.get $18) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $19) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=10 + ;; CHECK-NEXT: (i32.store8 $0 offset=10 ;; CHECK-NEXT: (local.get $18) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $19) diff --git a/test/lit/passes/asyncify.wast b/test/lit/passes/asyncify.wast index 0da90c17361..20f3c8831f5 100644 --- a/test/lit/passes/asyncify.wast +++ b/test/lit/passes/asyncify.wast @@ -55,27 +55,27 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $10 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $live0 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $live1 - ;; CHECK-NEXT: (i32.load offset=4 + ;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -91,18 +91,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $9 - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -188,16 +188,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -206,22 +206,22 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $11 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: (local.get $live0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=4 + ;; CHECK-NEXT: (i32.store $0 offset=4 ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: (local.get $live1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -255,27 +255,27 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $10 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $live0 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $live1 - ;; CHECK-NEXT: (i32.load offset=4 + ;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -291,18 +291,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $9 - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -388,16 +388,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -406,22 +406,22 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $11 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: (local.get $live0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=4 + ;; CHECK-NEXT: (i32.store $0 offset=4 ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: (local.get $live1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -453,27 +453,27 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $8 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $live0 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $live1 - ;; CHECK-NEXT: (i32.load offset=4 + ;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -489,18 +489,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $7 - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -595,16 +595,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -613,22 +613,22 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $9 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: (local.get $live0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=4 + ;; CHECK-NEXT: (i32.store $0 offset=4 ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: (local.get $live1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -656,22 +656,22 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $5 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $live0 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -687,18 +687,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $4 - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -762,16 +762,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -780,18 +780,18 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $6 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.get $live0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -827,18 +827,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $4 - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -921,16 +921,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -959,22 +959,22 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $4 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -990,18 +990,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $3 - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1052,16 +1052,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -1070,18 +1070,18 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $5 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -1105,27 +1105,27 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $6 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $2 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $3 - ;; CHECK-NEXT: (i32.load offset=4 + ;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1141,18 +1141,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $5 - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1210,16 +1210,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -1228,22 +1228,22 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $7 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=4 + ;; CHECK-NEXT: (i32.store $0 offset=4 ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -1264,10 +1264,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load +;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load offset=4 +;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1281,10 +1281,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load +;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load offset=4 +;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1301,10 +1301,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load +;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load offset=4 +;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1318,10 +1318,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load +;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load offset=4 +;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/asyncify_enable-multivalue.wast b/test/lit/passes/asyncify_enable-multivalue.wast index b656b6f7e04..046f389971f 100644 --- a/test/lit/passes/asyncify_enable-multivalue.wast +++ b/test/lit/passes/asyncify_enable-multivalue.wast @@ -100,18 +100,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -165,16 +165,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -213,18 +213,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -262,16 +262,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -321,10 +321,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load +;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load offset=4 +;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -338,10 +338,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load +;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load offset=4 +;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -358,10 +358,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load +;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load offset=4 +;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -375,10 +375,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load +;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load offset=4 +;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -445,18 +445,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -494,16 +494,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -532,22 +532,22 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $8 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -563,18 +563,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $6 - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -641,16 +641,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -659,18 +659,18 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $9 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -697,22 +697,22 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $4 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $0 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -728,18 +728,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $2 - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -793,16 +793,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -811,18 +811,18 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $5 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -868,22 +868,22 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $13 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $y - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -899,18 +899,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $12 - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1006,16 +1006,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -1024,18 +1024,18 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $14 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $14) ;; CHECK-NEXT: (local.get $y) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -1080,18 +1080,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $3 - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1149,16 +1149,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -1185,22 +1185,22 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $5 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $2 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1216,18 +1216,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $4 - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1336,16 +1336,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -1354,18 +1354,18 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $6 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -1403,18 +1403,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $6 - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1519,16 +1519,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -1560,22 +1560,22 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $7 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $4 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1591,18 +1591,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $6 - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1707,16 +1707,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -1725,18 +1725,18 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $8 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -1766,26 +1766,26 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -12) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $5 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $1 ;; CHECK-NEXT: (tuple.make - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i64.load offset=4 align=4 + ;; CHECK-NEXT: (i64.load $0 offset=4 align=4 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1802,18 +1802,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $3 - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1867,16 +1867,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -1885,26 +1885,26 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $6 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (tuple.extract 0 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i64.store offset=4 align=4 + ;; CHECK-NEXT: (i64.store $0 offset=4 align=4 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (tuple.extract 1 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 12) @@ -1930,22 +1930,22 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $6 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $x - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1961,18 +1961,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $5 - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -2044,16 +2044,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -2062,18 +2062,18 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $7 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -2105,22 +2105,22 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $4 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $0 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -2136,18 +2136,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $2 - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -2201,16 +2201,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -2219,18 +2219,18 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $5 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -2265,18 +2265,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -2355,16 +2355,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -2403,18 +2403,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -2493,16 +2493,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -2543,18 +2543,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -2592,16 +2592,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -2624,10 +2624,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load +;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load offset=4 +;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -2641,10 +2641,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load +;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load offset=4 +;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -2661,10 +2661,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load +;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load offset=4 +;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -2678,10 +2678,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load +;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load offset=4 +;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -2725,10 +2725,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load +;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load offset=4 +;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -2742,10 +2742,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load +;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load offset=4 +;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -2762,10 +2762,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load +;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load offset=4 +;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -2779,10 +2779,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load +;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load offset=4 +;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/asyncify_mod-asyncify-always-and-only-unwind.wast b/test/lit/passes/asyncify_mod-asyncify-always-and-only-unwind.wast index dc89dab7f2e..d61ac6cdf8c 100644 --- a/test/lit/passes/asyncify_mod-asyncify-always-and-only-unwind.wast +++ b/test/lit/passes/asyncify_mod-asyncify-always-and-only-unwind.wast @@ -47,18 +47,18 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -93,16 +93,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -128,22 +128,22 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $8 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -156,18 +156,18 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $6 - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -231,16 +231,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -249,18 +249,18 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $9 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -284,22 +284,22 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $4 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $0 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -312,18 +312,18 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $2 - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -374,16 +374,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -392,18 +392,18 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $5 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -438,10 +438,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load +;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load offset=4 +;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -455,10 +455,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load +;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load offset=4 +;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -475,10 +475,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load +;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load offset=4 +;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -492,10 +492,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load +;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load offset=4 +;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/asyncify_mod-asyncify-always-and-only-unwind_O.wast b/test/lit/passes/asyncify_mod-asyncify-always-and-only-unwind_O.wast index 2983777550f..567f5602c3c 100644 --- a/test/lit/passes/asyncify_mod-asyncify-always-and-only-unwind_O.wast +++ b/test/lit/passes/asyncify_mod-asyncify-always-and-only-unwind_O.wast @@ -42,16 +42,16 @@ ;; CHECK: (func $calls-import (; has Stack IR ;) ;; CHECK-NEXT: (local $0 i32) ;; CHECK-NEXT: (call $import) - ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -82,10 +82,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load +;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load offset=4 +;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -99,10 +99,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load +;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load offset=4 +;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -119,10 +119,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load +;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load offset=4 +;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/asyncify_mod-asyncify-never-unwind.wast b/test/lit/passes/asyncify_mod-asyncify-never-unwind.wast index dce366b8249..1192b8f1334 100644 --- a/test/lit/passes/asyncify_mod-asyncify-never-unwind.wast +++ b/test/lit/passes/asyncify_mod-asyncify-never-unwind.wast @@ -53,18 +53,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -99,16 +99,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -137,22 +137,22 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $8 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -168,18 +168,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $6 - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -243,16 +243,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -261,18 +261,18 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $9 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -299,22 +299,22 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $4 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $0 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -330,18 +330,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $2 - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -392,16 +392,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -410,18 +410,18 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $5 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -456,10 +456,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load +;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load offset=4 +;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -473,10 +473,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load +;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load offset=4 +;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -493,10 +493,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load +;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load offset=4 +;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -510,10 +510,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load +;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load offset=4 +;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/asyncify_mod-asyncify-never-unwind_O.wast b/test/lit/passes/asyncify_mod-asyncify-never-unwind_O.wast index 1a2a945a1de..c1ab304b820 100644 --- a/test/lit/passes/asyncify_mod-asyncify-never-unwind_O.wast +++ b/test/lit/passes/asyncify_mod-asyncify-never-unwind_O.wast @@ -49,17 +49,17 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block (result i32) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.sub - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -97,10 +97,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load +;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load offset=4 +;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -114,10 +114,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load +;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load offset=4 +;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -134,10 +134,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load +;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load offset=4 +;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/asyncify_optimize-level=1.wast b/test/lit/passes/asyncify_optimize-level=1.wast index 953c04ba6b9..4600af549e5 100644 --- a/test/lit/passes/asyncify_optimize-level=1.wast +++ b/test/lit/passes/asyncify_optimize-level=1.wast @@ -48,17 +48,17 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block (result i32) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.sub - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -85,16 +85,16 @@ ;; CHECK-NEXT: (return) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -113,18 +113,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.sub - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $0 - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -142,17 +142,17 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block (result i32) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.sub - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -192,31 +192,31 @@ ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -242,17 +242,17 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block (result i32) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.sub - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -281,16 +281,16 @@ ;; CHECK-NEXT: (return) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -315,18 +315,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.sub - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -341,18 +341,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.sub - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $2 - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -409,31 +409,31 @@ ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -476,17 +476,17 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block (result i32) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.sub - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -513,16 +513,16 @@ ;; CHECK-NEXT: (return) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -551,17 +551,17 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block (result i32) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.sub - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -584,18 +584,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.sub - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $2 - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -663,31 +663,31 @@ ;; CHECK-NEXT: (return) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -711,18 +711,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.sub - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -795,16 +795,16 @@ ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -836,17 +836,17 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block (result i32) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.sub - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -869,17 +869,17 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block (result i32) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.sub - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -934,31 +934,31 @@ ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -981,18 +981,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.sub - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $0 - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1007,18 +1007,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.sub - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1066,31 +1066,31 @@ ;; CHECK-NEXT: (return) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -1118,18 +1118,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.sub - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $0 - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1144,18 +1144,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.sub - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $2 - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1202,31 +1202,31 @@ ;; CHECK-NEXT: (return) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -1250,18 +1250,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.sub - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $0 - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1326,16 +1326,16 @@ ;; CHECK-NEXT: (return) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -1362,18 +1362,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.sub - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $0 - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1438,16 +1438,16 @@ ;; CHECK-NEXT: (return) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -1479,17 +1479,17 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block (result i32) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.sub - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1516,16 +1516,16 @@ ;; CHECK-NEXT: (return) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -1546,10 +1546,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load +;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load offset=4 +;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1563,10 +1563,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load +;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load offset=4 +;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1583,10 +1583,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load +;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load offset=4 +;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1600,10 +1600,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load +;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load offset=4 +;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/asyncify_pass-arg=asyncify-addlist@foo.wast b/test/lit/passes/asyncify_pass-arg=asyncify-addlist@foo.wast index 861b7ff6008..da11919fcd6 100644 --- a/test/lit/passes/asyncify_pass-arg=asyncify-addlist@foo.wast +++ b/test/lit/passes/asyncify_pass-arg=asyncify-addlist@foo.wast @@ -49,18 +49,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -80,16 +80,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -123,10 +123,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load +;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load offset=4 +;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -140,10 +140,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load +;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load offset=4 +;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -160,10 +160,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load +;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load offset=4 +;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -177,10 +177,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load +;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load offset=4 +;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/asyncify_pass-arg=asyncify-addlist@foo_pass-arg=asyncify-ignore-indirect.wast b/test/lit/passes/asyncify_pass-arg=asyncify-addlist@foo_pass-arg=asyncify-ignore-indirect.wast index 28d3f88bab2..1f14c1349d9 100644 --- a/test/lit/passes/asyncify_pass-arg=asyncify-addlist@foo_pass-arg=asyncify-ignore-indirect.wast +++ b/test/lit/passes/asyncify_pass-arg=asyncify-addlist@foo_pass-arg=asyncify-ignore-indirect.wast @@ -55,18 +55,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -115,16 +115,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -163,10 +163,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load +;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load offset=4 +;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -180,10 +180,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load +;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load offset=4 +;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -200,10 +200,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load +;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load offset=4 +;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -217,10 +217,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load +;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load offset=4 +;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/asyncify_pass-arg=asyncify-asserts_pass-arg=asyncify-onlylist@waka.wast b/test/lit/passes/asyncify_pass-arg=asyncify-asserts_pass-arg=asyncify-onlylist@waka.wast index 03a8dfe9670..80fe0088099 100644 --- a/test/lit/passes/asyncify_pass-arg=asyncify-asserts_pass-arg=asyncify-onlylist@waka.wast +++ b/test/lit/passes/asyncify_pass-arg=asyncify-asserts_pass-arg=asyncify-onlylist@waka.wast @@ -179,10 +179,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load +;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load offset=4 +;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -196,10 +196,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load +;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load offset=4 +;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -216,10 +216,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load +;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load offset=4 +;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -233,10 +233,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load +;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load offset=4 +;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/asyncify_pass-arg=asyncify-blacklist@foo,bar.wast b/test/lit/passes/asyncify_pass-arg=asyncify-blacklist@foo,bar.wast index 83dd0a2ced5..3531a86ba97 100644 --- a/test/lit/passes/asyncify_pass-arg=asyncify-blacklist@foo,bar.wast +++ b/test/lit/passes/asyncify_pass-arg=asyncify-blacklist@foo,bar.wast @@ -61,18 +61,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -110,16 +110,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -157,18 +157,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -206,16 +206,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -238,10 +238,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load +;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load offset=4 +;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -255,10 +255,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load +;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load offset=4 +;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -275,10 +275,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load +;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load offset=4 +;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -292,10 +292,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load +;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load offset=4 +;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/asyncify_pass-arg=asyncify-ignore-imports.wast b/test/lit/passes/asyncify_pass-arg=asyncify-ignore-imports.wast index 9fd019f8c78..dc72ac2734d 100644 --- a/test/lit/passes/asyncify_pass-arg=asyncify-ignore-imports.wast +++ b/test/lit/passes/asyncify_pass-arg=asyncify-ignore-imports.wast @@ -89,22 +89,22 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $4 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -120,18 +120,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $3 - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -182,16 +182,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -200,18 +200,18 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $5 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -235,10 +235,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load +;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load offset=4 +;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -252,10 +252,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load +;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load offset=4 +;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -272,10 +272,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load +;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load offset=4 +;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -289,10 +289,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load +;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load offset=4 +;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/asyncify_pass-arg=asyncify-ignore-indirect.wast b/test/lit/passes/asyncify_pass-arg=asyncify-ignore-indirect.wast index 1d7fd179724..fa92fbea9e0 100644 --- a/test/lit/passes/asyncify_pass-arg=asyncify-ignore-indirect.wast +++ b/test/lit/passes/asyncify_pass-arg=asyncify-ignore-indirect.wast @@ -58,18 +58,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -107,16 +107,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -141,22 +141,22 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $4 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $0 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -172,18 +172,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $2 - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -237,16 +237,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -255,18 +255,18 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $5 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -290,22 +290,22 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $5 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $2 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -321,18 +321,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $4 - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -441,16 +441,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -459,18 +459,18 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $6 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -509,10 +509,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load +;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load offset=4 +;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -526,10 +526,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load +;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load offset=4 +;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -546,10 +546,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load +;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load offset=4 +;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -563,10 +563,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load +;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load offset=4 +;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/asyncify_pass-arg=asyncify-imports@env.import,env.import2.wast b/test/lit/passes/asyncify_pass-arg=asyncify-imports@env.import,env.import2.wast index 6da79153546..6794a9b65a8 100644 --- a/test/lit/passes/asyncify_pass-arg=asyncify-imports@env.import,env.import2.wast +++ b/test/lit/passes/asyncify_pass-arg=asyncify-imports@env.import,env.import2.wast @@ -99,18 +99,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -164,16 +164,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -212,18 +212,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -261,16 +261,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -317,10 +317,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load +;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load offset=4 +;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -334,10 +334,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load +;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load offset=4 +;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -354,10 +354,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load +;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load offset=4 +;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -371,10 +371,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load +;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load offset=4 +;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -437,18 +437,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -486,16 +486,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -524,22 +524,22 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $8 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -555,18 +555,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $6 - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -633,16 +633,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -651,18 +651,18 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $9 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -689,22 +689,22 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $4 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $0 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -720,18 +720,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $2 - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -785,16 +785,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -803,18 +803,18 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $5 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -859,22 +859,22 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $12 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $y - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -890,18 +890,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $11 - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -997,16 +997,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -1015,18 +1015,18 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $13 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: (local.get $y) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -1070,18 +1070,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $3 - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1139,16 +1139,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -1297,22 +1297,22 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $4 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $0 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1328,18 +1328,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $2 - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1393,16 +1393,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -1411,18 +1411,18 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $5 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -1457,18 +1457,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1547,16 +1547,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -1595,18 +1595,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1685,16 +1685,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -1735,18 +1735,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1784,16 +1784,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -1816,10 +1816,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load +;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load offset=4 +;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1833,10 +1833,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load +;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load offset=4 +;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1853,10 +1853,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load +;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load offset=4 +;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1870,10 +1870,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load +;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load offset=4 +;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/asyncify_pass-arg=asyncify-onlylist@foo,bar.wast b/test/lit/passes/asyncify_pass-arg=asyncify-onlylist@foo,bar.wast index 438216c5b0f..b2dccacf3a5 100644 --- a/test/lit/passes/asyncify_pass-arg=asyncify-onlylist@foo,bar.wast +++ b/test/lit/passes/asyncify_pass-arg=asyncify-onlylist@foo,bar.wast @@ -49,18 +49,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -98,16 +98,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -139,18 +139,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -188,16 +188,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -238,10 +238,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load +;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load offset=4 +;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -255,10 +255,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load +;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load offset=4 +;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -275,10 +275,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load +;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load offset=4 +;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -292,10 +292,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load +;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load offset=4 +;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/asyncify_pass-arg=asyncify-side-module.wast b/test/lit/passes/asyncify_pass-arg=asyncify-side-module.wast index fbf96a97ead..86d121bad94 100644 --- a/test/lit/passes/asyncify_pass-arg=asyncify-side-module.wast +++ b/test/lit/passes/asyncify_pass-arg=asyncify-side-module.wast @@ -36,10 +36,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load +;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load offset=4 +;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -53,10 +53,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load +;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load offset=4 +;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -73,10 +73,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load +;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load offset=4 +;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -90,10 +90,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load +;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load offset=4 +;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/asyncify_pass-arg=asyncify-verbose.wast b/test/lit/passes/asyncify_pass-arg=asyncify-verbose.wast index c605b26a251..fff7645dab1 100644 --- a/test/lit/passes/asyncify_pass-arg=asyncify-verbose.wast +++ b/test/lit/passes/asyncify_pass-arg=asyncify-verbose.wast @@ -49,18 +49,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -98,16 +98,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -139,18 +139,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -188,16 +188,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -229,18 +229,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -278,16 +278,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -316,10 +316,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load +;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load offset=4 +;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -333,10 +333,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load +;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load offset=4 +;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -353,10 +353,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load +;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load offset=4 +;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -370,10 +370,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load +;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load offset=4 +;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/avoid-reinterprets.wast b/test/lit/passes/avoid-reinterprets.wast index 584016c9713..308d6908a13 100644 --- a/test/lit/passes/avoid-reinterprets.wast +++ b/test/lit/passes/avoid-reinterprets.wast @@ -13,22 +13,22 @@ ;; CHECK: (func $simple ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (f32.load + ;; CHECK-NEXT: (f32.load $0 ;; CHECK-NEXT: (i32.const 1024) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 1024) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (f64.load + ;; CHECK-NEXT: (f64.load $0 ;; CHECK-NEXT: (i32.const 1024) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i64.load + ;; CHECK-NEXT: (i64.load $0 ;; CHECK-NEXT: (i32.const 1024) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -49,11 +49,11 @@ ;; CHECK-NEXT: (i32.const 1024) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $2 - ;; CHECK-NEXT: (f32.load + ;; CHECK-NEXT: (f32.load $0 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -77,11 +77,11 @@ ;; CHECK-NEXT: (i32.const 1024) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $2 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (f32.load + ;; CHECK-NEXT: (f32.load $0 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -105,11 +105,11 @@ ;; CHECK-NEXT: (i32.const 1024) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $2 - ;; CHECK-NEXT: (f32.load + ;; CHECK-NEXT: (f32.load $0 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -137,11 +137,11 @@ ;; CHECK-NEXT: (i32.const 1024) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $2 - ;; CHECK-NEXT: (f32.load + ;; CHECK-NEXT: (f32.load $0 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -170,11 +170,11 @@ ;; CHECK-NEXT: (i32.const 1024) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $3 - ;; CHECK-NEXT: (f32.load + ;; CHECK-NEXT: (f32.load $0 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -195,7 +195,7 @@ ) ;; CHECK: (func $partial1 (result f32) ;; CHECK-NEXT: (f32.reinterpret_i32 - ;; CHECK-NEXT: (i32.load16_u + ;; CHECK-NEXT: (i32.load16_u $0 ;; CHECK-NEXT: (i32.const 3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -209,7 +209,7 @@ ) ;; CHECK: (func $partial2 (result f32) ;; CHECK-NEXT: (f32.reinterpret_i32 - ;; CHECK-NEXT: (i32.load8_u + ;; CHECK-NEXT: (i32.load8_u $0 ;; CHECK-NEXT: (i32.const 3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -224,7 +224,7 @@ ;; CHECK: (func $nofallthrough ;; CHECK-NEXT: (local $x i32) ;; CHECK-NEXT: (local.set $x - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 1024) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/avoid-reinterprets64.wast b/test/lit/passes/avoid-reinterprets64.wast index 073ba65153f..319ffca7304 100644 --- a/test/lit/passes/avoid-reinterprets64.wast +++ b/test/lit/passes/avoid-reinterprets64.wast @@ -13,22 +13,22 @@ ;; CHECK: (func $simple ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (f32.load + ;; CHECK-NEXT: (f32.load $0 ;; CHECK-NEXT: (i64.const 1024) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i64.const 1024) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (f64.load + ;; CHECK-NEXT: (f64.load $0 ;; CHECK-NEXT: (i64.const 1024) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i64.load + ;; CHECK-NEXT: (i64.load $0 ;; CHECK-NEXT: (i64.const 1024) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -49,11 +49,11 @@ ;; CHECK-NEXT: (i64.const 1024) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $2 - ;; CHECK-NEXT: (f32.load + ;; CHECK-NEXT: (f32.load $0 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -77,11 +77,11 @@ ;; CHECK-NEXT: (i64.const 1024) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $2 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (f32.load + ;; CHECK-NEXT: (f32.load $0 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -105,11 +105,11 @@ ;; CHECK-NEXT: (i64.const 1024) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $2 - ;; CHECK-NEXT: (f32.load + ;; CHECK-NEXT: (f32.load $0 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -137,11 +137,11 @@ ;; CHECK-NEXT: (i64.const 1024) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $2 - ;; CHECK-NEXT: (f32.load + ;; CHECK-NEXT: (f32.load $0 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -170,11 +170,11 @@ ;; CHECK-NEXT: (i64.const 1024) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $3 - ;; CHECK-NEXT: (f32.load + ;; CHECK-NEXT: (f32.load $0 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -195,7 +195,7 @@ ) ;; CHECK: (func $partial1 (result f32) ;; CHECK-NEXT: (f32.reinterpret_i32 - ;; CHECK-NEXT: (i32.load16_u + ;; CHECK-NEXT: (i32.load16_u $0 ;; CHECK-NEXT: (i64.const 3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -209,7 +209,7 @@ ) ;; CHECK: (func $partial2 (result f32) ;; CHECK-NEXT: (f32.reinterpret_i32 - ;; CHECK-NEXT: (i32.load8_u + ;; CHECK-NEXT: (i32.load8_u $0 ;; CHECK-NEXT: (i64.const 3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -224,7 +224,7 @@ ;; CHECK: (func $nofallthrough ;; CHECK-NEXT: (local $x i32) ;; CHECK-NEXT: (local.set $x - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i64.const 1024) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/coalesce-locals-learning.wast b/test/lit/passes/coalesce-locals-learning.wast index b8871ddf52a..8c436f10552 100644 --- a/test/lit/passes/coalesce-locals-learning.wast +++ b/test/lit/passes/coalesce-locals-learning.wast @@ -1444,9 +1444,9 @@ ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 + ;; CHECK-NEXT: (i32.store8 $0 ;; CHECK-NEXT: (local.get $0) - ;; CHECK-NEXT: (i32.load8_s + ;; CHECK-NEXT: (i32.load8_s $0 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1484,9 +1484,9 @@ ;; CHECK-NEXT: (br $while-out$2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block7 - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $0) - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1526,9 +1526,9 @@ ;; CHECK-NEXT: (br $while-out$4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block9 - ;; CHECK-NEXT: (i32.store8 + ;; CHECK-NEXT: (i32.store8 $0 ;; CHECK-NEXT: (local.get $0) - ;; CHECK-NEXT: (i32.load8_s + ;; CHECK-NEXT: (i32.load8_s $0 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/coalesce-locals.wast b/test/lit/passes/coalesce-locals.wast index 0ba208ed86a..0470bf58783 100644 --- a/test/lit/passes/coalesce-locals.wast +++ b/test/lit/passes/coalesce-locals.wast @@ -1498,9 +1498,9 @@ ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 + ;; CHECK-NEXT: (i32.store8 $0 ;; CHECK-NEXT: (local.get $0) - ;; CHECK-NEXT: (i32.load8_s + ;; CHECK-NEXT: (i32.load8_s $0 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1538,9 +1538,9 @@ ;; CHECK-NEXT: (br $while-out$2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block7 - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $0) - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1580,9 +1580,9 @@ ;; CHECK-NEXT: (br $while-out$4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block9 - ;; CHECK-NEXT: (i32.store8 + ;; CHECK-NEXT: (i32.store8 $0 ;; CHECK-NEXT: (local.get $0) - ;; CHECK-NEXT: (i32.load8_s + ;; CHECK-NEXT: (i32.load8_s $0 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1968,7 +1968,7 @@ ;; CHECK-NEXT: (local $0 i32) ;; CHECK-NEXT: (block $block ;; CHECK-NEXT: (unreachable) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/code-folding_enable-threads.wast b/test/lit/passes/code-folding_enable-threads.wast index 244fd7c7502..b8432b30dcc 100644 --- a/test/lit/passes/code-folding_enable-threads.wast +++ b/test/lit/passes/code-folding_enable-threads.wast @@ -276,10 +276,10 @@ ;; CHECK-NEXT: (local $var$0 i32) ;; CHECK-NEXT: (if (result i32) ;; CHECK-NEXT: (i32.const 0) - ;; CHECK-NEXT: (i32.load offset=22 + ;; CHECK-NEXT: (i32.load $0 offset=22 ;; CHECK-NEXT: (local.get $var$0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.atomic.load offset=22 + ;; CHECK-NEXT: (i32.atomic.load $0 offset=22 ;; CHECK-NEXT: (local.get $var$0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/code-pushing_ignore-implicit-traps.wast b/test/lit/passes/code-pushing_ignore-implicit-traps.wast index a64390c0587..09567c73f2f 100644 --- a/test/lit/passes/code-pushing_ignore-implicit-traps.wast +++ b/test/lit/passes/code-pushing_ignore-implicit-traps.wast @@ -421,7 +421,7 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $x - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -442,11 +442,11 @@ ;; CHECK-NEXT: (local $x i32) ;; CHECK-NEXT: (block $out ;; CHECK-NEXT: (local.set $x - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: (i32.const 3) ;; CHECK-NEXT: ) @@ -471,12 +471,12 @@ ;; CHECK-NEXT: (local $x i32) ;; CHECK-NEXT: (block $out ;; CHECK-NEXT: (local.set $x - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (nop) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: (i32.const 3) ;; CHECK-NEXT: ) @@ -504,7 +504,7 @@ ;; CHECK-NEXT: (local $x i32) ;; CHECK-NEXT: (block $out ;; CHECK-NEXT: (local.set $x - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/dealign.wast b/test/lit/passes/dealign.wast index ba07da1ed94..b5f84bbb6f5 100644 --- a/test/lit/passes/dealign.wast +++ b/test/lit/passes/dealign.wast @@ -10,29 +10,29 @@ (memory $0 1 1) ;; CHECK: (func $test ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load align=1 + ;; CHECK-NEXT: (i32.load $0 align=1 ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load align=1 + ;; CHECK-NEXT: (i32.load $0 align=1 ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load align=1 + ;; CHECK-NEXT: (i32.load $0 align=1 ;; CHECK-NEXT: (i32.const 12) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store align=1 + ;; CHECK-NEXT: (i32.store $0 align=1 ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: (i32.const 28) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store align=1 + ;; CHECK-NEXT: (i32.store $0 align=1 ;; CHECK-NEXT: (i32.const 20) ;; CHECK-NEXT: (i32.const 32) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store align=1 + ;; CHECK-NEXT: (i32.store $0 align=1 ;; CHECK-NEXT: (i32.const 24) ;; CHECK-NEXT: (i32.const 36) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/dealign64.wast b/test/lit/passes/dealign64.wast index 64f08255013..f365838b29f 100644 --- a/test/lit/passes/dealign64.wast +++ b/test/lit/passes/dealign64.wast @@ -10,29 +10,29 @@ (memory $0 i64 1 1) ;; CHECK: (func $test ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load align=1 + ;; CHECK-NEXT: (i32.load $0 align=1 ;; CHECK-NEXT: (i64.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load align=1 + ;; CHECK-NEXT: (i32.load $0 align=1 ;; CHECK-NEXT: (i64.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load align=1 + ;; CHECK-NEXT: (i32.load $0 align=1 ;; CHECK-NEXT: (i64.const 12) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store align=1 + ;; CHECK-NEXT: (i32.store $0 align=1 ;; CHECK-NEXT: (i64.const 16) ;; CHECK-NEXT: (i32.const 28) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store align=1 + ;; CHECK-NEXT: (i32.store $0 align=1 ;; CHECK-NEXT: (i64.const 20) ;; CHECK-NEXT: (i32.const 32) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store align=1 + ;; CHECK-NEXT: (i32.store $0 align=1 ;; CHECK-NEXT: (i64.const 24) ;; CHECK-NEXT: (i32.const 36) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/flatten_all-features.wast b/test/lit/passes/flatten_all-features.wast index b563159c611..5b63fa4a655 100644 --- a/test/lit/passes/flatten_all-features.wast +++ b/test/lit/passes/flatten_all-features.wast @@ -694,7 +694,7 @@ ;; CHECK-NEXT: (local $2 f32) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $0 - ;; CHECK-NEXT: (i32.load16_u + ;; CHECK-NEXT: (i32.load16_u $0 ;; CHECK-NEXT: (i32.const 53) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -873,7 +873,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (unreachable) @@ -1346,7 +1346,7 @@ ;; CHECK-NEXT: (i32.const 22) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (unreachable) - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop @@ -1359,7 +1359,7 @@ ;; CHECK-NEXT: (i32.const 33) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (unreachable) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) @@ -1370,7 +1370,7 @@ ;; CHECK-NEXT: (i32.const 44) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (unreachable) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) @@ -1382,7 +1382,7 @@ ;; CHECK-NEXT: (block ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: (unreachable) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) @@ -2172,7 +2172,7 @@ ;; CHECK-NEXT: (i32.const 18) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (br $label$0) - ;; CHECK-NEXT: (memory.grow + ;; CHECK-NEXT: (memory.grow $0 ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (unreachable) @@ -3049,7 +3049,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $15 - ;; CHECK-NEXT: (i32.load16_u offset=2 + ;; CHECK-NEXT: (i32.load16_u $0 offset=2 ;; CHECK-NEXT: (local.get $14) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/flatten_dfo_O3_enable-threads.wast b/test/lit/passes/flatten_dfo_O3_enable-threads.wast index 0ad494d5fed..d8e950d94b6 100644 --- a/test/lit/passes/flatten_dfo_O3_enable-threads.wast +++ b/test/lit/passes/flatten_dfo_O3_enable-threads.wast @@ -232,7 +232,7 @@ ;; CHECK: (func $0 (; has Stack IR ;) ;; CHECK-NEXT: (block $label$3 ;; CHECK-NEXT: (br_if $label$3 -;; CHECK-NEXT: (i32.load +;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 3060) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -254,7 +254,7 @@ ;; CHECK-NEXT: ) ;; CHECK: (func $3 (; has Stack IR ;) -;; CHECK-NEXT: (i32.store +;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: (i32.const -16384) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/flatten_i64-to-i32-lowering.wast b/test/lit/passes/flatten_i64-to-i32-lowering.wast index 20dd4e4bd0f..b73200b23a8 100644 --- a/test/lit/passes/flatten_i64-to-i32-lowering.wast +++ b/test/lit/passes/flatten_i64-to-i32-lowering.wast @@ -201,12 +201,12 @@ ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $i64toi32_i32$0 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $i64toi32_i32$2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $i64toi32_i32$1 - ;; CHECK-NEXT: (i32.load offset=4 + ;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (local.get $i64toi32_i32$2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -232,12 +232,12 @@ ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $i64toi32_i32$1 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $i64toi32_i32$2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $i64toi32_i32$0 - ;; CHECK-NEXT: (i32.load offset=4 + ;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (local.get $i64toi32_i32$2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -263,12 +263,12 @@ ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $i64toi32_i32$0 - ;; CHECK-NEXT: (i32.load align=2 + ;; CHECK-NEXT: (i32.load $0 align=2 ;; CHECK-NEXT: (local.get $i64toi32_i32$2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $i64toi32_i32$1 - ;; CHECK-NEXT: (i32.load offset=4 align=2 + ;; CHECK-NEXT: (i32.load $0 offset=4 align=2 ;; CHECK-NEXT: (local.get $i64toi32_i32$2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -294,12 +294,12 @@ ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $i64toi32_i32$1 - ;; CHECK-NEXT: (i32.load align=1 + ;; CHECK-NEXT: (i32.load $0 align=1 ;; CHECK-NEXT: (local.get $i64toi32_i32$2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $i64toi32_i32$0 - ;; CHECK-NEXT: (i32.load offset=4 align=1 + ;; CHECK-NEXT: (i32.load $0 offset=4 align=1 ;; CHECK-NEXT: (local.get $i64toi32_i32$2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -325,12 +325,12 @@ ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $i64toi32_i32$0 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $i64toi32_i32$2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $i64toi32_i32$1 - ;; CHECK-NEXT: (i32.load offset=4 + ;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (local.get $i64toi32_i32$2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -353,7 +353,7 @@ ;; CHECK-NEXT: (local.set $i64toi32_i32$0 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $i64toi32_i32$0) ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (local.set $i64toi32_i32$1 @@ -362,7 +362,7 @@ ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=4 + ;; CHECK-NEXT: (i32.store $0 offset=4 ;; CHECK-NEXT: (local.get $i64toi32_i32$0) ;; CHECK-NEXT: (local.get $i64toi32_i32$1) ;; CHECK-NEXT: ) @@ -371,7 +371,7 @@ ;; CHECK-NEXT: (local.set $i64toi32_i32$0 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $i64toi32_i32$0) ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (local.set $i64toi32_i32$1 @@ -380,7 +380,7 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=4 + ;; CHECK-NEXT: (i32.store $0 offset=4 ;; CHECK-NEXT: (local.get $i64toi32_i32$0) ;; CHECK-NEXT: (local.get $i64toi32_i32$1) ;; CHECK-NEXT: ) @@ -389,7 +389,7 @@ ;; CHECK-NEXT: (local.set $i64toi32_i32$0 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store align=2 + ;; CHECK-NEXT: (i32.store $0 align=2 ;; CHECK-NEXT: (local.get $i64toi32_i32$0) ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (local.set $i64toi32_i32$1 @@ -398,7 +398,7 @@ ;; CHECK-NEXT: (i32.const 3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=4 align=2 + ;; CHECK-NEXT: (i32.store $0 offset=4 align=2 ;; CHECK-NEXT: (local.get $i64toi32_i32$0) ;; CHECK-NEXT: (local.get $i64toi32_i32$1) ;; CHECK-NEXT: ) @@ -407,7 +407,7 @@ ;; CHECK-NEXT: (local.set $i64toi32_i32$0 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store align=1 + ;; CHECK-NEXT: (i32.store $0 align=1 ;; CHECK-NEXT: (local.get $i64toi32_i32$0) ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (local.set $i64toi32_i32$1 @@ -416,7 +416,7 @@ ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=4 align=1 + ;; CHECK-NEXT: (i32.store $0 offset=4 align=1 ;; CHECK-NEXT: (local.get $i64toi32_i32$0) ;; CHECK-NEXT: (local.get $i64toi32_i32$1) ;; CHECK-NEXT: ) @@ -425,7 +425,7 @@ ;; CHECK-NEXT: (local.set $i64toi32_i32$0 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $i64toi32_i32$0) ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (local.set $i64toi32_i32$1 @@ -434,7 +434,7 @@ ;; CHECK-NEXT: (i32.const 5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=4 + ;; CHECK-NEXT: (i32.store $0 offset=4 ;; CHECK-NEXT: (local.get $i64toi32_i32$0) ;; CHECK-NEXT: (local.get $i64toi32_i32$1) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/flatten_simplify-locals-nonesting_souperify-single-use_enable-threads.wast b/test/lit/passes/flatten_simplify-locals-nonesting_souperify-single-use_enable-threads.wast index 3027108240b..c9cf95ab135 100644 --- a/test/lit/passes/flatten_simplify-locals-nonesting_souperify-single-use_enable-threads.wast +++ b/test/lit/passes/flatten_simplify-locals-nonesting_souperify-single-use_enable-threads.wast @@ -821,7 +821,7 @@ ;; CHECK-NEXT: (block ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -873,7 +873,7 @@ ;; CHECK-NEXT: (block ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (local.set $2 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1674,7 +1674,7 @@ ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $6 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1685,14 +1685,14 @@ ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (nop) - ;; CHECK-NEXT: (i32.store16 + ;; CHECK-NEXT: (i32.store16 $0 ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 + ;; CHECK-NEXT: (i32.store16 $0 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const -8531) ;; CHECK-NEXT: ) @@ -1796,7 +1796,7 @@ ;; CHECK-NEXT: (block $label$4 ;; CHECK-NEXT: (block $label$5 ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1816,11 +1816,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (local.set $3 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $var$0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (f64.store + ;; CHECK-NEXT: (f64.store $0 ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (f64.const 0) ;; CHECK-NEXT: ) @@ -1831,7 +1831,7 @@ ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (nop) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $var$0) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) @@ -3586,7 +3586,7 @@ ;; CHECK-NEXT: (block ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (local.set $var$0 - ;; CHECK-NEXT: (i32.atomic.rmw16.sub_u offset=22 + ;; CHECK-NEXT: (i32.atomic.rmw16.sub_u $0 offset=22 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) @@ -3920,7 +3920,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $11 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -3961,7 +3961,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (nop) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) @@ -3972,7 +3972,7 @@ ;; CHECK-NEXT: (i32.const 20) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) @@ -4060,7 +4060,7 @@ ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (nop) - ;; CHECK-NEXT: (i32.store offset=176 + ;; CHECK-NEXT: (i32.store $0 offset=176 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (local.get $var$2) ;; CHECK-NEXT: ) @@ -4131,7 +4131,7 @@ ;; CHECK-NEXT: (local $8 i32) ;; CHECK-NEXT: (block $label$1 ;; CHECK-NEXT: (local.set $2 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const -8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -4146,7 +4146,7 @@ ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $5 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const -16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -4206,7 +4206,7 @@ ;; CHECK-NEXT: (local $11 i32) ;; CHECK-NEXT: (block $label$1 ;; CHECK-NEXT: (local.set $3 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const -8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -4221,7 +4221,7 @@ ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $6 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const -16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -4294,7 +4294,7 @@ ;; CHECK-NEXT: (block ;; CHECK-NEXT: (block $label$1 ;; CHECK-NEXT: (local.set $2 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -4378,7 +4378,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (nop) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $var$1) ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) @@ -4389,7 +4389,7 @@ ;; CHECK-NEXT: (local.get $var$1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=8 + ;; CHECK-NEXT: (i32.store $0 offset=8 ;; CHECK-NEXT: (i32.const 3) ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: ) @@ -4538,11 +4538,11 @@ ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: (local.get $14) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: (i32.const 64) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/flatten_simplify-locals-nonesting_souperify_enable-threads.wast b/test/lit/passes/flatten_simplify-locals-nonesting_souperify_enable-threads.wast index 29722a302df..25ca44fda20 100644 --- a/test/lit/passes/flatten_simplify-locals-nonesting_souperify_enable-threads.wast +++ b/test/lit/passes/flatten_simplify-locals-nonesting_souperify_enable-threads.wast @@ -889,7 +889,7 @@ ;; CHECK-NEXT: (block ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -941,7 +941,7 @@ ;; CHECK-NEXT: (block ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (local.set $2 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1742,7 +1742,7 @@ ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $6 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1753,14 +1753,14 @@ ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (nop) - ;; CHECK-NEXT: (i32.store16 + ;; CHECK-NEXT: (i32.store16 $0 ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 + ;; CHECK-NEXT: (i32.store16 $0 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const -8531) ;; CHECK-NEXT: ) @@ -1864,7 +1864,7 @@ ;; CHECK-NEXT: (block $label$4 ;; CHECK-NEXT: (block $label$5 ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1884,11 +1884,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (local.set $3 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $var$0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (f64.store + ;; CHECK-NEXT: (f64.store $0 ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (f64.const 0) ;; CHECK-NEXT: ) @@ -1899,7 +1899,7 @@ ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (nop) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $var$0) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) @@ -3654,7 +3654,7 @@ ;; CHECK-NEXT: (block ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (local.set $var$0 - ;; CHECK-NEXT: (i32.atomic.rmw16.sub_u offset=22 + ;; CHECK-NEXT: (i32.atomic.rmw16.sub_u $0 offset=22 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) @@ -3988,7 +3988,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $11 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -4029,7 +4029,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (nop) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) @@ -4040,7 +4040,7 @@ ;; CHECK-NEXT: (i32.const 20) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) @@ -4128,7 +4128,7 @@ ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (nop) - ;; CHECK-NEXT: (i32.store offset=176 + ;; CHECK-NEXT: (i32.store $0 offset=176 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (local.get $var$2) ;; CHECK-NEXT: ) @@ -4199,7 +4199,7 @@ ;; CHECK-NEXT: (local $8 i32) ;; CHECK-NEXT: (block $label$1 ;; CHECK-NEXT: (local.set $2 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const -8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -4214,7 +4214,7 @@ ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $5 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const -16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -4274,7 +4274,7 @@ ;; CHECK-NEXT: (local $11 i32) ;; CHECK-NEXT: (block $label$1 ;; CHECK-NEXT: (local.set $3 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const -8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -4289,7 +4289,7 @@ ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $6 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const -16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -4362,7 +4362,7 @@ ;; CHECK-NEXT: (block ;; CHECK-NEXT: (block $label$1 ;; CHECK-NEXT: (local.set $2 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -4446,7 +4446,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (nop) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $var$1) ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) @@ -4457,7 +4457,7 @@ ;; CHECK-NEXT: (local.get $var$1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=8 + ;; CHECK-NEXT: (i32.store $0 offset=8 ;; CHECK-NEXT: (i32.const 3) ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: ) @@ -4606,11 +4606,11 @@ ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: (local.get $14) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: (i32.const 64) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/inlining-optimizing_enable-threads.wast b/test/lit/passes/inlining-optimizing_enable-threads.wast index c3ed107af1e..d89cc201c85 100644 --- a/test/lit/passes/inlining-optimizing_enable-threads.wast +++ b/test/lit/passes/inlining-optimizing_enable-threads.wast @@ -163,7 +163,7 @@ (i32.const 1) ) ;; CHECK: (func $1 (result i64) - ;; CHECK-NEXT: (i32.atomic.store16 + ;; CHECK-NEXT: (i32.atomic.store16 $0 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) @@ -252,17 +252,17 @@ (unreachable) ) ;; CHECK: (func $1 - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 56) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i64.store + ;; CHECK-NEXT: (i64.store $0 ;; CHECK-NEXT: (i32.const 49) - ;; CHECK-NEXT: (i64.load + ;; CHECK-NEXT: (i64.load $0 ;; CHECK-NEXT: (i32.const 24) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/inlining-optimizing_optimize-level=3.wast b/test/lit/passes/inlining-optimizing_optimize-level=3.wast index e4ad27d9218..c2c83fed789 100644 --- a/test/lit/passes/inlining-optimizing_optimize-level=3.wast +++ b/test/lit/passes/inlining-optimizing_optimize-level=3.wast @@ -331,12 +331,12 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $abort) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $0 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -381,7 +381,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (loop $do-in - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) @@ -397,9 +397,9 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $2) - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -418,23 +418,23 @@ ;; CHECK-NEXT: (i32.const -1) ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load offset=76 + ;; CHECK-NEXT: (i32.load $0 offset=76 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $3 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.le_s - ;; CHECK-NEXT: (i32.load8_s offset=74 + ;; CHECK-NEXT: (i32.load8_s $0 offset=74 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (local.get $3) @@ -443,7 +443,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $6 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) @@ -462,7 +462,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $10 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $9 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) @@ -471,11 +471,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.tee $12 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) @@ -484,7 +484,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.tee $11 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) @@ -493,11 +493,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (i32.const 80) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.tee $13 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) @@ -528,7 +528,7 @@ ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load offset=36 + ;; CHECK-NEXT: (i32.load $0 offset=36 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 7) @@ -538,27 +538,27 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) @@ -566,10 +566,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.and @@ -626,7 +626,7 @@ ;; CHECK-NEXT: (local $2 i32) ;; CHECK-NEXT: (local $3 i32) ;; CHECK-NEXT: (local $4 i32) - ;; CHECK-NEXT: (f64.store + ;; CHECK-NEXT: (f64.store $0 ;; CHECK-NEXT: (global.get $tempDoublePtr) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) @@ -640,12 +640,12 @@ ;; CHECK-NEXT: (local.tee $3 ;; CHECK-NEXT: (call $_bitshift64Lshr ;; CHECK-NEXT: (local.tee $2 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (global.get $tempDoublePtr) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.tee $4 - ;; CHECK-NEXT: (i32.load offset=4 + ;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (global.get $tempDoublePtr) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -657,7 +657,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (local.tee $2 ;; CHECK-NEXT: (if (result i32) @@ -676,7 +676,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -64) @@ -690,18 +690,18 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (br $switch) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (i32.const -1022) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (global.get $tempDoublePtr) ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=4 + ;; CHECK-NEXT: (i32.store $0 offset=4 ;; CHECK-NEXT: (global.get $tempDoublePtr) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.and @@ -712,7 +712,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $0 - ;; CHECK-NEXT: (f64.load + ;; CHECK-NEXT: (f64.load $0 ;; CHECK-NEXT: (global.get $tempDoublePtr) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -899,10 +899,10 @@ ) ;; CHECK: (func $___errno_location (result i32) ;; CHECK-NEXT: (if (result i32) - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load offset=60 + ;; CHECK-NEXT: (i32.load $0 offset=60 ;; CHECK-NEXT: (call $_pthread_self) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 60) @@ -938,11 +938,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $abort) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.tee $2 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load offset=60 + ;; CHECK-NEXT: (i32.load $0 offset=60 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1028,31 +1028,31 @@ ;; CHECK-NEXT: (i32.const 12) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=36 + ;; CHECK-NEXT: (i32.store $0 offset=36 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 64) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $3) - ;; CHECK-NEXT: (i32.load offset=60 + ;; CHECK-NEXT: (i32.load $0 offset=60 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=4 + ;; CHECK-NEXT: (i32.store $0 offset=4 ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (i32.const 21505) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=8 + ;; CHECK-NEXT: (i32.store $0 offset=8 ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) @@ -1061,7 +1061,7 @@ ;; CHECK-NEXT: (i32.const 54) ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=75 + ;; CHECK-NEXT: (i32.store8 $0 offset=75 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const -1) ;; CHECK-NEXT: ) @@ -1180,23 +1180,23 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $abort) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.tee $3 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load offset=60 + ;; CHECK-NEXT: (i32.load $0 offset=60 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=4 + ;; CHECK-NEXT: (i32.store $0 offset=4 ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=8 + ;; CHECK-NEXT: (i32.store $0 offset=8 ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=12 + ;; CHECK-NEXT: (i32.store $0 offset=12 ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (i32.add @@ -1205,7 +1205,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=16 + ;; CHECK-NEXT: (i32.store $0 offset=16 ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) @@ -1221,13 +1221,13 @@ ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block (result i32) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const -1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1321,7 +1321,7 @@ ;; CHECK-NEXT: (block $do-once (result i32) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_s - ;; CHECK-NEXT: (i32.load offset=76 + ;; CHECK-NEXT: (i32.load $0 offset=76 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 0) @@ -1342,11 +1342,11 @@ ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $0 ;; CHECK-NEXT: (if (result i32) - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 12) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $_fflush - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 12) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1358,22 +1358,22 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 40) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (loop $while-in ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load offset=76 + ;; CHECK-NEXT: (i32.load $0 offset=76 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u - ;; CHECK-NEXT: (i32.load offset=20 + ;; CHECK-NEXT: (i32.load $0 offset=20 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load offset=28 + ;; CHECK-NEXT: (i32.load $0 offset=28 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1388,7 +1388,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (br_if $while-in ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load offset=56 + ;; CHECK-NEXT: (i32.load $0 offset=56 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1612,7 +1612,7 @@ ;; CHECK-NEXT: (local.set $10 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.tee $4 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $8) @@ -1620,7 +1620,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.tee $3 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $6 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) @@ -1630,11 +1630,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=4 + ;; CHECK-NEXT: (i32.store $0 offset=4 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (local.tee $3 ;; CHECK-NEXT: (i32.sub - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $11 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) @@ -1646,11 +1646,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=8 + ;; CHECK-NEXT: (i32.store $0 offset=8 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=12 + ;; CHECK-NEXT: (i32.store $0 offset=12 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) @@ -1683,7 +1683,7 @@ ;; CHECK-NEXT: (block $__rjti$0 ;; CHECK-NEXT: (loop $while-in ;; CHECK-NEXT: (if - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block @@ -1691,17 +1691,17 @@ ;; CHECK-NEXT: (i32.const 5) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $10) - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=4 + ;; CHECK-NEXT: (i32.store $0 offset=4 ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=8 + ;; CHECK-NEXT: (i32.store $0 offset=8 ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) @@ -1718,17 +1718,17 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block14 - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $9) - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=4 + ;; CHECK-NEXT: (i32.store $0 offset=4 ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=8 + ;; CHECK-NEXT: (i32.store $0 offset=8 ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) @@ -1759,26 +1759,26 @@ ;; CHECK-NEXT: (i32.gt_u ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (local.tee $5 - ;; CHECK-NEXT: (i32.load offset=4 + ;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block16 (result i32) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.tee $7 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $14) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $7 - ;; CHECK-NEXT: (i32.load offset=12 + ;; CHECK-NEXT: (i32.load $0 offset=12 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1806,10 +1806,10 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block19 - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $3) @@ -1830,16 +1830,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=4 + ;; CHECK-NEXT: (i32.store $0 offset=4 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (local.get $7) @@ -1855,45 +1855,45 @@ ;; CHECK-NEXT: (br $while-in) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=16 + ;; CHECK-NEXT: (i32.store $0 offset=16 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $14) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load offset=48 + ;; CHECK-NEXT: (i32.load $0 offset=48 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (br $__rjto$1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=16 + ;; CHECK-NEXT: (i32.store $0 offset=16 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 32) @@ -1908,7 +1908,7 @@ ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (local.get $2) - ;; CHECK-NEXT: (i32.load offset=4 + ;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -2567,7 +2567,7 @@ ;; CHECK-NEXT: (block $__rjti$0 ;; CHECK-NEXT: (br_if $__rjti$0 ;; CHECK-NEXT: (local.tee $3 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $5 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $2) @@ -2578,7 +2578,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $3 - ;; CHECK-NEXT: (i32.load8_s + ;; CHECK-NEXT: (i32.load8_s $0 ;; CHECK-NEXT: (local.tee $4 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $2) @@ -2587,7 +2587,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 + ;; CHECK-NEXT: (i32.store8 $0 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.add @@ -2602,14 +2602,14 @@ ;; CHECK-NEXT: (if (result i32) ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (local.tee $3 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block (result i32) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (local.get $3) @@ -2619,31 +2619,31 @@ ;; CHECK-NEXT: (i32.const -1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block (result i32) - ;; CHECK-NEXT: (i32.store offset=8 + ;; CHECK-NEXT: (i32.store $0 offset=8 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=4 + ;; CHECK-NEXT: (i32.store $0 offset=4 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=28 + ;; CHECK-NEXT: (i32.store $0 offset=28 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (local.tee $3 - ;; CHECK-NEXT: (i32.load offset=44 + ;; CHECK-NEXT: (i32.load $0 offset=44 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=20 + ;; CHECK-NEXT: (i32.store $0 offset=20 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=16 + ;; CHECK-NEXT: (i32.store $0 offset=16 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $3) - ;; CHECK-NEXT: (i32.load offset=48 + ;; CHECK-NEXT: (i32.load $0 offset=48 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -2654,7 +2654,7 @@ ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $3 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -2669,7 +2669,7 @@ ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (local.tee $6 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $4 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $2) @@ -2689,7 +2689,7 @@ ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load offset=36 + ;; CHECK-NEXT: (i32.load $0 offset=36 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 7) @@ -2704,7 +2704,7 @@ ;; CHECK-NEXT: (local.set $2 ;; CHECK-NEXT: (if (result i32) ;; CHECK-NEXT: (i32.ge_s - ;; CHECK-NEXT: (i32.load8_s offset=75 + ;; CHECK-NEXT: (i32.load8_s $0 offset=75 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 0) @@ -2724,7 +2724,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.ne - ;; CHECK-NEXT: (i32.load8_s + ;; CHECK-NEXT: (i32.load8_s $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.tee $5 @@ -2753,7 +2753,7 @@ ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load offset=36 + ;; CHECK-NEXT: (i32.load $0 offset=36 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 7) @@ -2765,7 +2765,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $6 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -2793,10 +2793,10 @@ ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $1) @@ -3261,7 +3261,7 @@ ;; CHECK-NEXT: (i32.const 128) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store8 + ;; CHECK-NEXT: (i32.store8 $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) @@ -3276,7 +3276,7 @@ ;; CHECK-NEXT: (i32.const 2048) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store8 + ;; CHECK-NEXT: (i32.store8 $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.shr_u @@ -3286,7 +3286,7 @@ ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=1 + ;; CHECK-NEXT: (i32.store8 $0 offset=1 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.and @@ -3316,7 +3316,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store8 + ;; CHECK-NEXT: (i32.store8 $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.shr_u @@ -3326,7 +3326,7 @@ ;; CHECK-NEXT: (i32.const 224) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=1 + ;; CHECK-NEXT: (i32.store8 $0 offset=1 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.and @@ -3339,7 +3339,7 @@ ;; CHECK-NEXT: (i32.const 128) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=2 + ;; CHECK-NEXT: (i32.store8 $0 offset=2 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.and @@ -3363,7 +3363,7 @@ ;; CHECK-NEXT: (i32.const 1048576) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block (result i32) - ;; CHECK-NEXT: (i32.store8 + ;; CHECK-NEXT: (i32.store8 $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.shr_u @@ -3373,7 +3373,7 @@ ;; CHECK-NEXT: (i32.const 240) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=1 + ;; CHECK-NEXT: (i32.store8 $0 offset=1 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.and @@ -3386,7 +3386,7 @@ ;; CHECK-NEXT: (i32.const 128) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=2 + ;; CHECK-NEXT: (i32.store8 $0 offset=2 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.and @@ -3399,7 +3399,7 @@ ;; CHECK-NEXT: (i32.const 128) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=3 + ;; CHECK-NEXT: (i32.store8 $0 offset=3 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.and @@ -3412,7 +3412,7 @@ ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block (result i32) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (call $___errno_location) ;; CHECK-NEXT: (i32.const 84) ;; CHECK-NEXT: ) @@ -3674,7 +3674,7 @@ ;; CHECK-NEXT: (i32.const -4096) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block (result i32) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (call $___errno_location) ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (i32.const 0) @@ -3717,7 +3717,7 @@ ;; CHECK-NEXT: (block $__rjti$0 ;; CHECK-NEXT: (br_if $__rjti$0 ;; CHECK-NEXT: (i32.le_u - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $1 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) @@ -3725,7 +3725,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $2 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) @@ -3742,7 +3742,7 @@ ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load offset=36 + ;; CHECK-NEXT: (i32.load $0 offset=36 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 7) @@ -3752,7 +3752,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (br_if $__rjti$0 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -3763,7 +3763,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.tee $4 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $3 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) @@ -3773,7 +3773,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.tee $6 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $5 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) @@ -3793,7 +3793,7 @@ ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load offset=40 + ;; CHECK-NEXT: (i32.load $0 offset=40 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 7) @@ -3803,23 +3803,23 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=16 + ;; CHECK-NEXT: (i32.store $0 offset=16 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) @@ -3951,7 +3951,7 @@ ) ;; CHECK: (func $_cleanup (param $0 i32) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load offset=68 + ;; CHECK-NEXT: (i32.load $0 offset=68 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -4231,7 +4231,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block (result i32) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (call $___errno_location) ;; CHECK-NEXT: (i32.const 75) ;; CHECK-NEXT: ) @@ -4247,7 +4247,7 @@ ;; CHECK-NEXT: (br_if $__rjti$9 ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (local.tee $7 - ;; CHECK-NEXT: (i32.load8_s + ;; CHECK-NEXT: (i32.load8_s $0 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -4284,7 +4284,7 @@ ;; CHECK-NEXT: (br $label$break$L9) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $7 - ;; CHECK-NEXT: (i32.load8_s + ;; CHECK-NEXT: (i32.load8_s $0 ;; CHECK-NEXT: (local.tee $10 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $10) @@ -4301,7 +4301,7 @@ ;; CHECK-NEXT: (loop $while-in ;; CHECK-NEXT: (br_if $label$break$L12 ;; CHECK-NEXT: (i32.ne - ;; CHECK-NEXT: (i32.load8_s offset=1 + ;; CHECK-NEXT: (i32.load8_s $0 offset=1 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 37) @@ -4315,7 +4315,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (br_if $while-in ;; CHECK-NEXT: (i32.eq - ;; CHECK-NEXT: (i32.load8_s + ;; CHECK-NEXT: (i32.load8_s $0 ;; CHECK-NEXT: (local.tee $6 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $6) @@ -4339,7 +4339,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 32) @@ -4375,7 +4375,7 @@ ;; CHECK-NEXT: (local.tee $8 ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (local.tee $9 - ;; CHECK-NEXT: (i32.load8_s + ;; CHECK-NEXT: (i32.load8_s $0 ;; CHECK-NEXT: (local.tee $10 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $6) @@ -4391,7 +4391,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (local.set $6 - ;; CHECK-NEXT: (i32.load8_s + ;; CHECK-NEXT: (i32.load8_s $0 ;; CHECK-NEXT: (local.tee $10 ;; CHECK-NEXT: (select ;; CHECK-NEXT: (i32.add @@ -4401,7 +4401,7 @@ ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: (local.tee $9 ;; CHECK-NEXT: (i32.eq - ;; CHECK-NEXT: (i32.load8_s offset=2 + ;; CHECK-NEXT: (i32.load8_s $0 offset=2 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 36) @@ -4508,7 +4508,7 @@ ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (local.tee $6 ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load8_s + ;; CHECK-NEXT: (i32.load8_s $0 ;; CHECK-NEXT: (local.tee $10 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $10) @@ -4549,7 +4549,7 @@ ;; CHECK-NEXT: (i32.ge_u ;; CHECK-NEXT: (local.tee $9 ;; CHECK-NEXT: (i32.sub - ;; CHECK-NEXT: (i32.load8_s + ;; CHECK-NEXT: (i32.load8_s $0 ;; CHECK-NEXT: (local.tee $6 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $10) @@ -4565,13 +4565,13 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (br_if $__rjti$0 ;; CHECK-NEXT: (i32.ne - ;; CHECK-NEXT: (i32.load8_s offset=2 + ;; CHECK-NEXT: (i32.load8_s $0 offset=2 ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 36) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.shl @@ -4582,13 +4582,13 @@ ;; CHECK-NEXT: (i32.const 10) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load offset=4 + ;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (local.tee $6 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (i32.shl ;; CHECK-NEXT: (i32.sub - ;; CHECK-NEXT: (i32.load8_s + ;; CHECK-NEXT: (i32.load8_s $0 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 48) @@ -4603,7 +4603,7 @@ ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $16 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -4643,11 +4643,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $16 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $10 ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 3) @@ -4657,7 +4657,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $10) @@ -4727,7 +4727,7 @@ ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.tee $11 ;; CHECK-NEXT: (i32.sub - ;; CHECK-NEXT: (i32.load8_s + ;; CHECK-NEXT: (i32.load8_s $0 ;; CHECK-NEXT: (local.tee $10 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $10) @@ -4788,7 +4788,7 @@ ;; CHECK-NEXT: (local.set $6 ;; CHECK-NEXT: (if (result i32) ;; CHECK-NEXT: (i32.eq - ;; CHECK-NEXT: (i32.load8_s + ;; CHECK-NEXT: (i32.load8_s $0 ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 46) @@ -4797,7 +4797,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.ne ;; CHECK-NEXT: (local.tee $8 - ;; CHECK-NEXT: (i32.load8_s + ;; CHECK-NEXT: (i32.load8_s $0 ;; CHECK-NEXT: (local.tee $6 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $10) @@ -4854,7 +4854,7 @@ ;; CHECK-NEXT: (i32.ge_u ;; CHECK-NEXT: (local.tee $6 ;; CHECK-NEXT: (i32.sub - ;; CHECK-NEXT: (i32.load8_s + ;; CHECK-NEXT: (i32.load8_s $0 ;; CHECK-NEXT: (local.tee $10 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $10) @@ -4877,7 +4877,7 @@ ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.tee $8 ;; CHECK-NEXT: (i32.sub - ;; CHECK-NEXT: (i32.load8_s + ;; CHECK-NEXT: (i32.load8_s $0 ;; CHECK-NEXT: (local.tee $6 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $10) @@ -4892,13 +4892,13 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq - ;; CHECK-NEXT: (i32.load8_s offset=3 + ;; CHECK-NEXT: (i32.load8_s $0 offset=3 ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 36) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.shl @@ -4909,13 +4909,13 @@ ;; CHECK-NEXT: (i32.const 10) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load offset=4 + ;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (local.tee $6 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (i32.shl ;; CHECK-NEXT: (i32.sub - ;; CHECK-NEXT: (i32.load8_s + ;; CHECK-NEXT: (i32.load8_s $0 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 48) @@ -4933,7 +4933,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (br $label$break$L46 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -4953,11 +4953,11 @@ ;; CHECK-NEXT: (local.get $29) ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (local.set $8 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $10 ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 3) @@ -4967,7 +4967,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $10) @@ -5001,7 +5001,7 @@ ;; CHECK-NEXT: (i32.gt_u ;; CHECK-NEXT: (local.tee $12 ;; CHECK-NEXT: (i32.sub - ;; CHECK-NEXT: (i32.load8_s + ;; CHECK-NEXT: (i32.load8_s $0 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 65) @@ -5028,7 +5028,7 @@ ;; CHECK-NEXT: (local.tee $12 ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (local.tee $15 - ;; CHECK-NEXT: (i32.load8_s + ;; CHECK-NEXT: (i32.load8_s $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (i32.mul @@ -5103,7 +5103,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.get $17) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.shl @@ -5114,7 +5114,7 @@ ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $15 - ;; CHECK-NEXT: (i32.load offset=4 + ;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (local.tee $12 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $3) @@ -5126,13 +5126,13 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $13) - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=4 + ;; CHECK-NEXT: (i32.store $0 offset=4 ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: (local.get $15) ;; CHECK-NEXT: ) @@ -5231,7 +5231,7 @@ ;; CHECK-NEXT: (select ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (local.tee $8 - ;; CHECK-NEXT: (i32.load8_s + ;; CHECK-NEXT: (i32.load8_s $0 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -5269,8 +5269,8 @@ ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $18) @@ -5283,8 +5283,8 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (br $label$continue$L1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $18) @@ -5297,15 +5297,15 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (br $label$continue$L1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.tee $5 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $18) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=4 + ;; CHECK-NEXT: (i32.store $0 offset=4 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (i32.shr_s ;; CHECK-NEXT: (i32.shl @@ -5326,8 +5326,8 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (br $label$continue$L1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.store16 $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $18) @@ -5340,8 +5340,8 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (br $label$continue$L1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.store8 $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $18) @@ -5354,8 +5354,8 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (br $label$continue$L1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $18) @@ -5368,15 +5368,15 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (br $label$continue$L1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.tee $5 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $18) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=4 + ;; CHECK-NEXT: (i32.store $0 offset=4 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (i32.shr_s ;; CHECK-NEXT: (i32.shl @@ -5434,12 +5434,12 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (local.tee $5 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.tee $7 - ;; CHECK-NEXT: (i32.load offset=4 + ;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -5449,7 +5449,7 @@ ;; CHECK-NEXT: (local.get $23) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (loop $while-in32 - ;; CHECK-NEXT: (i32.store8 + ;; CHECK-NEXT: (i32.store8 $0 ;; CHECK-NEXT: (local.tee $8 ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (local.get $8) @@ -5528,14 +5528,14 @@ ;; CHECK-NEXT: (br $__rjti$8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $5 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_s ;; CHECK-NEXT: (local.tee $7 - ;; CHECK-NEXT: (i32.load offset=4 + ;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -5554,7 +5554,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: (local.tee $5 ;; CHECK-NEXT: (i32.sub @@ -5563,7 +5563,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=4 + ;; CHECK-NEXT: (i32.store $0 offset=4 ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: (local.tee $7 ;; CHECK-NEXT: (global.get $tempRet0) @@ -5605,12 +5605,12 @@ ;; CHECK-NEXT: (br $__rjti$4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $5 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $7 - ;; CHECK-NEXT: (i32.load offset=4 + ;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -5623,13 +5623,13 @@ ;; CHECK-NEXT: (br $__rjti$4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load offset=4 + ;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 + ;; CHECK-NEXT: (i32.store8 $0 ;; CHECK-NEXT: (local.get $36) - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -5653,7 +5653,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $5 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (call $___errno_location) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -5666,7 +5666,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.ne ;; CHECK-NEXT: (local.get $5) - ;; CHECK-NEXT: (i32.load8_u offset=687 + ;; CHECK-NEXT: (i32.load8_u $0 offset=687 ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -5710,7 +5710,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if (result i32) - ;; CHECK-NEXT: (i32.load8_s + ;; CHECK-NEXT: (i32.load8_s $0 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block @@ -5738,7 +5738,7 @@ ;; CHECK-NEXT: (local.set $5 ;; CHECK-NEXT: (select ;; CHECK-NEXT: (local.tee $5 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -5749,21 +5749,21 @@ ;; CHECK-NEXT: (br $__rjti$5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load offset=4 + ;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $37) - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $39) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: (local.get $37) ;; CHECK-NEXT: ) @@ -5795,29 +5795,29 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $14 - ;; CHECK-NEXT: (f64.load + ;; CHECK-NEXT: (f64.load $0 ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $21) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (f64.store + ;; CHECK-NEXT: (f64.store $0 ;; CHECK-NEXT: (local.tee $5 ;; CHECK-NEXT: (global.get $tempDoublePtr) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $14) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $30 ;; CHECK-NEXT: (if (result i32) ;; CHECK-NEXT: (i32.lt_s - ;; CHECK-NEXT: (i32.load offset=4 + ;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 0) @@ -5862,14 +5862,14 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (f64.store + ;; CHECK-NEXT: (f64.store $0 ;; CHECK-NEXT: (local.tee $5 ;; CHECK-NEXT: (global.get $tempDoublePtr) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $14) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -5877,7 +5877,7 @@ ;; CHECK-NEXT: (if (result i32) ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load offset=4 + ;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 2146435072) @@ -5900,10 +5900,10 @@ ;; CHECK-NEXT: (f64.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $21) ;; CHECK-NEXT: (i32.sub - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $21) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 1) @@ -5993,7 +5993,7 @@ ;; CHECK-NEXT: (local.get $14) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.eq - ;; CHECK-NEXT: (i32.load8_s + ;; CHECK-NEXT: (i32.load8_s $0 ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 45) @@ -6017,7 +6017,7 @@ ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (local.tee $7 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $21) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -6045,7 +6045,7 @@ ;; CHECK-NEXT: (local.get $24) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store8 + ;; CHECK-NEXT: (i32.store8 $0 ;; CHECK-NEXT: (local.get $38) ;; CHECK-NEXT: (i32.const 48) ;; CHECK-NEXT: ) @@ -6054,7 +6054,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 + ;; CHECK-NEXT: (i32.store8 $0 ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (i32.const 1) @@ -6070,7 +6070,7 @@ ;; CHECK-NEXT: (i32.const 43) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 + ;; CHECK-NEXT: (i32.store8 $0 ;; CHECK-NEXT: (local.tee $8 ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (local.get $5) @@ -6100,10 +6100,10 @@ ;; CHECK-NEXT: (local.get $22) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (loop $while-in56 - ;; CHECK-NEXT: (i32.store8 + ;; CHECK-NEXT: (i32.store8 $0 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load8_u + ;; CHECK-NEXT: (i32.load8_u $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.tee $7 ;; CHECK-NEXT: (if (result i32) @@ -6175,7 +6175,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: (block (result i32) - ;; CHECK-NEXT: (i32.store8 + ;; CHECK-NEXT: (i32.store8 $0 ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: (i32.const 46) ;; CHECK-NEXT: ) @@ -6240,7 +6240,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 32) @@ -6273,7 +6273,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 32) @@ -6308,7 +6308,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 32) @@ -6348,11 +6348,11 @@ ;; CHECK-NEXT: (if (result f64) ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (block (result f64) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $21) ;; CHECK-NEXT: (local.tee $5 ;; CHECK-NEXT: (i32.sub - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $21) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 28) @@ -6366,7 +6366,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block (result f64) ;; CHECK-NEXT: (local.set $5 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $21) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -6387,7 +6387,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (loop $while-in60 - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: (local.tee $5 ;; CHECK-NEXT: (if (result i32) @@ -6442,7 +6442,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_s ;; CHECK-NEXT: (local.tee $11 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $21) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -6483,7 +6483,7 @@ ;; CHECK-NEXT: (i32.gt_u ;; CHECK-NEXT: (local.tee $20 ;; CHECK-NEXT: (call $_bitshift64Shl - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 0) @@ -6500,7 +6500,7 @@ ;; CHECK-NEXT: (global.get $tempRet0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: (call $___uremdi3 ;; CHECK-NEXT: (local.get $12) @@ -6536,7 +6536,7 @@ ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.tee $5 ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (local.get $5) @@ -6555,7 +6555,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $11 ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (local.get $7) @@ -6573,11 +6573,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $21) ;; CHECK-NEXT: (local.tee $11 ;; CHECK-NEXT: (i32.sub - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $21) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $17) @@ -6681,13 +6681,13 @@ ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (loop $while-in74 - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.tee $11 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -6723,7 +6723,7 @@ ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -6733,7 +6733,7 @@ ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: ) @@ -6751,7 +6751,7 @@ ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -6785,11 +6785,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $21) ;; CHECK-NEXT: (local.tee $11 ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $21) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $17) @@ -6848,7 +6848,7 @@ ;; CHECK-NEXT: (br_if $do-once75 ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.tee $8 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -6988,7 +6988,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $8 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $6 ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (i32.add @@ -7080,7 +7080,7 @@ ;; CHECK-NEXT: (local.get $28) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq - ;; CHECK-NEXT: (i32.load8_s + ;; CHECK-NEXT: (i32.load8_s $0 ;; CHECK-NEXT: (local.get $30) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 45) @@ -7099,7 +7099,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.tee $8 ;; CHECK-NEXT: (i32.sub @@ -7117,7 +7117,7 @@ ;; CHECK-NEXT: (local.get $25) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.tee $7 ;; CHECK-NEXT: (i32.add @@ -7132,7 +7132,7 @@ ;; CHECK-NEXT: (i32.const 999999999) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (loop $while-in86 - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) @@ -7146,7 +7146,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.tee $5 ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (local.get $5) @@ -7156,11 +7156,11 @@ ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.tee $7 ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 1) @@ -7190,7 +7190,7 @@ ;; CHECK-NEXT: (br_if $do-once81 ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.tee $8 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -7276,7 +7276,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if (result i32) - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $7 ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (local.get $5) @@ -7377,7 +7377,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (local.tee $15 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: (i32.const 4) @@ -7610,7 +7610,7 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (loop $while-in98 - ;; CHECK-NEXT: (i32.store8 + ;; CHECK-NEXT: (i32.store8 $0 ;; CHECK-NEXT: (local.tee $6 ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (local.get $6) @@ -7630,7 +7630,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 + ;; CHECK-NEXT: (i32.store8 $0 ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (i32.const 1) @@ -7646,7 +7646,7 @@ ;; CHECK-NEXT: (i32.const 43) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 + ;; CHECK-NEXT: (i32.store8 $0 ;; CHECK-NEXT: (local.tee $15 ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (local.get $6) @@ -7668,7 +7668,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 32) @@ -7710,7 +7710,7 @@ ;; CHECK-NEXT: (loop $while-in102 ;; CHECK-NEXT: (local.set $7 ;; CHECK-NEXT: (call $_fmt_u - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 0) @@ -7730,7 +7730,7 @@ ;; CHECK-NEXT: (local.get $27) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 + ;; CHECK-NEXT: (i32.store8 $0 ;; CHECK-NEXT: (local.get $32) ;; CHECK-NEXT: (i32.const 48) ;; CHECK-NEXT: ) @@ -7746,7 +7746,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (loop $while-in106 - ;; CHECK-NEXT: (i32.store8 + ;; CHECK-NEXT: (i32.store8 $0 ;; CHECK-NEXT: (local.tee $7 ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (local.get $7) @@ -7768,7 +7768,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 32) @@ -7808,7 +7808,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 32) @@ -7843,7 +7843,7 @@ ;; CHECK-NEXT: (i32.gt_u ;; CHECK-NEXT: (local.tee $6 ;; CHECK-NEXT: (call $_fmt_u - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 0) @@ -7853,7 +7853,7 @@ ;; CHECK-NEXT: (local.get $22) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (loop $while-in112 - ;; CHECK-NEXT: (i32.store8 + ;; CHECK-NEXT: (i32.store8 $0 ;; CHECK-NEXT: (local.tee $6 ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (local.get $6) @@ -7873,7 +7873,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 32) @@ -7970,7 +7970,7 @@ ;; CHECK-NEXT: (i32.eq ;; CHECK-NEXT: (local.tee $5 ;; CHECK-NEXT: (call $_fmt_u - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 0) @@ -7980,7 +7980,7 @@ ;; CHECK-NEXT: (local.get $27) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store8 + ;; CHECK-NEXT: (i32.store8 $0 ;; CHECK-NEXT: (local.get $32) ;; CHECK-NEXT: (i32.const 48) ;; CHECK-NEXT: ) @@ -7999,7 +7999,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 32) @@ -8030,7 +8030,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (br_if $do-once115 ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 32) @@ -8052,7 +8052,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (loop $while-in118 - ;; CHECK-NEXT: (i32.store8 + ;; CHECK-NEXT: (i32.store8 $0 ;; CHECK-NEXT: (local.tee $5 ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (local.get $5) @@ -8080,7 +8080,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 32) @@ -8135,7 +8135,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (br_if $do-once99 ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 32) @@ -8200,7 +8200,7 @@ ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (local.tee $5 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -8216,7 +8216,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $5 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -8314,12 +8314,12 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (local.tee $5 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.tee $9 - ;; CHECK-NEXT: (i32.load offset=4 + ;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -8330,7 +8330,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $5 ;; CHECK-NEXT: (loop $while-in123 (result i32) - ;; CHECK-NEXT: (i32.store8 + ;; CHECK-NEXT: (i32.store8 $0 ;; CHECK-NEXT: (local.tee $8 ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (local.get $8) @@ -8338,7 +8338,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load8_u + ;; CHECK-NEXT: (i32.load8_u $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (local.get $5) @@ -8378,10 +8378,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load offset=4 + ;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -8461,7 +8461,7 @@ ;; CHECK-NEXT: (loop $while-in12 ;; CHECK-NEXT: (br_if $__rjti$29 ;; CHECK-NEXT: (i32.eqz - ;; CHECK-NEXT: (i32.load8_u + ;; CHECK-NEXT: (i32.load8_u $0 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -8511,7 +8511,7 @@ ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if - ;; CHECK-NEXT: (i32.load8_u + ;; CHECK-NEXT: (i32.load8_u $0 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block @@ -8530,7 +8530,7 @@ ;; CHECK-NEXT: (i32.xor ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (local.tee $7 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -8584,7 +8584,7 @@ ;; CHECK-NEXT: (loop $while-in5 (result i32) ;; CHECK-NEXT: (br_if $label$break$L8 ;; CHECK-NEXT: (i32.eqz - ;; CHECK-NEXT: (i32.load8_u + ;; CHECK-NEXT: (i32.load8_u $0 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -8659,7 +8659,7 @@ ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $6 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -8668,7 +8668,7 @@ ;; CHECK-NEXT: (br_if $while-out124 ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (local.tee $11 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -8739,7 +8739,7 @@ ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $7 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -8749,7 +8749,7 @@ ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (local.tee $8 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -8778,7 +8778,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 32) @@ -8851,10 +8851,10 @@ ;; CHECK-NEXT: (local.tee $12 ;; CHECK-NEXT: (i32.ne ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load offset=4 + ;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -8918,7 +8918,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 32) @@ -8952,7 +8952,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 32) @@ -9001,7 +9001,7 @@ ;; CHECK-NEXT: (loop $while-in130 ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.shl @@ -9048,7 +9048,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (loop $while-in132 (result i32) ;; CHECK-NEXT: (if - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.shl @@ -14037,11 +14037,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $3 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $1 ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 3) @@ -14051,25 +14051,25 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (br $label$break$L1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $3 ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 3) @@ -14079,18 +14079,18 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=4 + ;; CHECK-NEXT: (i32.store $0 offset=4 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.shr_s ;; CHECK-NEXT: (i32.shl @@ -14106,11 +14106,11 @@ ;; CHECK-NEXT: (br $label$break$L1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $3 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $1 ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 3) @@ -14120,30 +14120,30 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=4 + ;; CHECK-NEXT: (i32.store $0 offset=4 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (br $label$break$L1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $5 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $3 ;; CHECK-NEXT: (local.tee $1 ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 7) @@ -14155,33 +14155,33 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $3 - ;; CHECK-NEXT: (i32.load offset=4 + ;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=4 + ;; CHECK-NEXT: (i32.store $0 offset=4 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (br $label$break$L1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $3 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $1 ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 3) @@ -14191,14 +14191,14 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.tee $1 ;; CHECK-NEXT: (i32.shr_s @@ -14213,7 +14213,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=4 + ;; CHECK-NEXT: (i32.store $0 offset=4 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.shr_s ;; CHECK-NEXT: (i32.shl @@ -14229,11 +14229,11 @@ ;; CHECK-NEXT: (br $label$break$L1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $3 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $1 ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 3) @@ -14243,32 +14243,32 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (i32.const 65535) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=4 + ;; CHECK-NEXT: (i32.store $0 offset=4 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (br $label$break$L1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $3 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $1 ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 3) @@ -14278,14 +14278,14 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.tee $1 ;; CHECK-NEXT: (i32.shr_s @@ -14300,7 +14300,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=4 + ;; CHECK-NEXT: (i32.store $0 offset=4 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.shr_s ;; CHECK-NEXT: (i32.shl @@ -14316,11 +14316,11 @@ ;; CHECK-NEXT: (br $label$break$L1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $3 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $1 ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 3) @@ -14330,32 +14330,32 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (i32.const 255) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=4 + ;; CHECK-NEXT: (i32.store $0 offset=4 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (br $label$break$L1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $4 - ;; CHECK-NEXT: (f64.load + ;; CHECK-NEXT: (f64.load $0 ;; CHECK-NEXT: (local.tee $1 ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 7) @@ -14365,25 +14365,25 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (f64.store + ;; CHECK-NEXT: (f64.store $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (br $label$break$L1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $4 - ;; CHECK-NEXT: (f64.load + ;; CHECK-NEXT: (f64.load $0 ;; CHECK-NEXT: (local.tee $1 ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 7) @@ -14393,14 +14393,14 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (f64.store + ;; CHECK-NEXT: (f64.store $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) @@ -14813,7 +14813,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (loop $while-in - ;; CHECK-NEXT: (i32.store8 + ;; CHECK-NEXT: (i32.store8 $0 ;; CHECK-NEXT: (local.tee $2 ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (local.get $2) @@ -14858,7 +14858,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (loop $while-in1 - ;; CHECK-NEXT: (i32.store8 + ;; CHECK-NEXT: (i32.store8 $0 ;; CHECK-NEXT: (local.tee $2 ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (local.get $2) @@ -15078,7 +15078,7 @@ ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -15104,7 +15104,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -15345,7 +15345,7 @@ ;; CHECK-NEXT: (local.tee $5 ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.tee $11 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 176) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -15376,11 +15376,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block275 ;; CHECK-NEXT: (local.set $10 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $1 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.tee $7 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $3 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.tee $2 @@ -15418,7 +15418,7 @@ ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 176) ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (local.get $11) @@ -15435,7 +15435,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $10) - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -15443,7 +15443,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $10) @@ -15454,11 +15454,11 @@ ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block280 - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: ) @@ -15467,7 +15467,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=4 + ;; CHECK-NEXT: (i32.store $0 offset=4 ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (local.tee $0 @@ -15479,7 +15479,7 @@ ;; CHECK-NEXT: (i32.const 3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (i32.add @@ -15490,7 +15490,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 1) @@ -15505,7 +15505,7 @@ ;; CHECK-NEXT: (i32.gt_u ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (local.tee $0 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 184) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -15554,11 +15554,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $9 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $7 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.tee $12 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $3 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.tee $10 @@ -15658,7 +15658,7 @@ ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block286 - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 176) ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (local.get $11) @@ -15679,7 +15679,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $9) - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -15687,7 +15687,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $9) @@ -15698,16 +15698,16 @@ ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block290 - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $8 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 184) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -15716,14 +15716,14 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=4 + ;; CHECK-NEXT: (i32.store $0 offset=4 ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.const 3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=4 + ;; CHECK-NEXT: (i32.store $0 offset=4 ;; CHECK-NEXT: (local.tee $10 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $12) @@ -15743,7 +15743,7 @@ ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: (local.get $5) @@ -15754,7 +15754,7 @@ ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: (block $block292 ;; CHECK-NEXT: (local.set $12 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 196) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -15775,7 +15775,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (local.tee $3 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 176) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -15789,7 +15789,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.tee $0 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $3 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $4) @@ -15798,7 +15798,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -15813,7 +15813,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block296 - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 176) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (local.get $3) @@ -15831,29 +15831,29 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=12 + ;; CHECK-NEXT: (i32.store $0 offset=12 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=8 + ;; CHECK-NEXT: (i32.store $0 offset=8 ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=12 + ;; CHECK-NEXT: (i32.store $0 offset=12 ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 184) ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 196) ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: ) @@ -15864,7 +15864,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.tee $0 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 180) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -15892,9 +15892,9 @@ ;; CHECK-NEXT: (local.set $7 ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load offset=4 + ;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (local.tee $0 - ;; CHECK-NEXT: (i32.load offset=480 + ;; CHECK-NEXT: (i32.load $0 offset=480 ;; CHECK-NEXT: (i32.shl ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (i32.or @@ -15988,7 +15988,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (local.tee $0 - ;; CHECK-NEXT: (i32.load offset=16 + ;; CHECK-NEXT: (i32.load $0 offset=16 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -15996,7 +15996,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (local.tee $0 - ;; CHECK-NEXT: (i32.load offset=20 + ;; CHECK-NEXT: (i32.load $0 offset=20 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -16017,7 +16017,7 @@ ;; CHECK-NEXT: (local.tee $1 ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load offset=4 + ;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -8) @@ -16052,7 +16052,7 @@ ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (local.tee $12 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -16072,7 +16072,7 @@ ;; CHECK-NEXT: (call $_abort) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $8 - ;; CHECK-NEXT: (i32.load offset=24 + ;; CHECK-NEXT: (i32.load $0 offset=24 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -16080,7 +16080,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq ;; CHECK-NEXT: (local.tee $0 - ;; CHECK-NEXT: (i32.load offset=12 + ;; CHECK-NEXT: (i32.load $0 offset=12 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -16090,7 +16090,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $5) @@ -16103,7 +16103,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $5) @@ -16124,7 +16124,7 @@ ;; CHECK-NEXT: (loop $while-in7 ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.tee $2 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $7 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $1) @@ -16145,7 +16145,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.tee $2 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $7 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $1) @@ -16172,7 +16172,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $_abort) ;; CHECK-NEXT: (block $block314 - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) @@ -16186,7 +16186,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.tee $7 - ;; CHECK-NEXT: (i32.load offset=8 + ;; CHECK-NEXT: (i32.load $0 offset=8 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -16196,7 +16196,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.ne - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $2 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $7) @@ -16210,7 +16210,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $1 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) @@ -16221,11 +16221,11 @@ ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block319 - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: ) @@ -16245,12 +16245,12 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq ;; CHECK-NEXT: (local.get $5) - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (i32.shl ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load offset=28 + ;; CHECK-NEXT: (i32.load $0 offset=28 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -16262,7 +16262,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block323 - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) @@ -16271,10 +16271,10 @@ ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block325 - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 180) ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 180) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.xor @@ -16294,7 +16294,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $8) - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -16302,7 +16302,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $8) @@ -16312,11 +16312,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=20 + ;; CHECK-NEXT: (i32.store $0 offset=20 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) @@ -16332,20 +16332,20 @@ ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: (local.tee $0 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $_abort) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=24 + ;; CHECK-NEXT: (i32.store $0 offset=24 ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load offset=16 + ;; CHECK-NEXT: (i32.load $0 offset=16 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -16356,11 +16356,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $_abort) ;; CHECK-NEXT: (block $block332 - ;; CHECK-NEXT: (i32.store offset=16 + ;; CHECK-NEXT: (i32.store $0 offset=16 ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=24 + ;; CHECK-NEXT: (i32.store $0 offset=24 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) @@ -16369,24 +16369,24 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.tee $0 - ;; CHECK-NEXT: (i32.load offset=20 + ;; CHECK-NEXT: (i32.load $0 offset=20 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $0) - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $_abort) ;; CHECK-NEXT: (block $block335 - ;; CHECK-NEXT: (i32.store offset=20 + ;; CHECK-NEXT: (i32.store $0 offset=20 ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=24 + ;; CHECK-NEXT: (i32.store $0 offset=24 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) @@ -16402,7 +16402,7 @@ ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block337 - ;; CHECK-NEXT: (i32.store offset=4 + ;; CHECK-NEXT: (i32.store $0 offset=4 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (local.tee $0 @@ -16414,7 +16414,7 @@ ;; CHECK-NEXT: (i32.const 3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (i32.add @@ -16425,7 +16425,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 1) @@ -16433,21 +16433,21 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block338 - ;; CHECK-NEXT: (i32.store offset=4 + ;; CHECK-NEXT: (i32.store $0 offset=4 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.const 3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=4 + ;; CHECK-NEXT: (i32.store $0 offset=4 ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: (local.get $10) @@ -16456,13 +16456,13 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.tee $0 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 184) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block340 ;; CHECK-NEXT: (local.set $4 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 196) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -16483,7 +16483,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 176) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -16497,7 +16497,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.tee $0 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $1 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $2) @@ -16506,7 +16506,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -16521,7 +16521,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block344 - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 176) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (local.get $1) @@ -16539,29 +16539,29 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=12 + ;; CHECK-NEXT: (i32.store $0 offset=12 ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=8 + ;; CHECK-NEXT: (i32.store $0 offset=8 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=12 + ;; CHECK-NEXT: (i32.store $0 offset=12 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 184) ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 196) ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: ) @@ -16606,7 +16606,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.tee $18 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 180) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -16718,7 +16718,7 @@ ;; CHECK-NEXT: (block $__rjti$3 ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.tee $0 - ;; CHECK-NEXT: (i32.load offset=480 + ;; CHECK-NEXT: (i32.load $0 offset=480 ;; CHECK-NEXT: (i32.shl ;; CHECK-NEXT: (local.get $14) ;; CHECK-NEXT: (i32.const 2) @@ -16758,7 +16758,7 @@ ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (local.tee $9 ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load offset=4 + ;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -8) @@ -16797,7 +16797,7 @@ ;; CHECK-NEXT: (select ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.tee $4 - ;; CHECK-NEXT: (i32.load offset=20 + ;; CHECK-NEXT: (i32.load $0 offset=20 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -16808,7 +16808,7 @@ ;; CHECK-NEXT: (i32.eq ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (local.tee $9 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) @@ -16933,7 +16933,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $4 - ;; CHECK-NEXT: (i32.load offset=480 + ;; CHECK-NEXT: (i32.load $0 offset=480 ;; CHECK-NEXT: (i32.shl ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (i32.or @@ -17035,7 +17035,7 @@ ;; CHECK-NEXT: (local.tee $4 ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load offset=4 + ;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -8) @@ -17062,7 +17062,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.tee $4 - ;; CHECK-NEXT: (i32.load offset=16 + ;; CHECK-NEXT: (i32.load $0 offset=16 ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -17075,7 +17075,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (br_if $while-in16 ;; CHECK-NEXT: (local.tee $3 - ;; CHECK-NEXT: (i32.load offset=20 + ;; CHECK-NEXT: (i32.load $0 offset=20 ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -17094,7 +17094,7 @@ ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (i32.sub - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 184) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $2) @@ -17105,7 +17105,7 @@ ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (local.tee $12 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -17125,7 +17125,7 @@ ;; CHECK-NEXT: (call $_abort) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $9 - ;; CHECK-NEXT: (i32.load offset=24 + ;; CHECK-NEXT: (i32.load $0 offset=24 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -17133,7 +17133,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq ;; CHECK-NEXT: (local.tee $0 - ;; CHECK-NEXT: (i32.load offset=12 + ;; CHECK-NEXT: (i32.load $0 offset=12 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -17143,7 +17143,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $4) @@ -17156,7 +17156,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $4) @@ -17177,7 +17177,7 @@ ;; CHECK-NEXT: (loop $while-in20 ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.tee $7 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $10 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $1) @@ -17198,7 +17198,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.tee $7 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $10 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $1) @@ -17225,7 +17225,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $_abort) ;; CHECK-NEXT: (block $block384 - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) @@ -17239,7 +17239,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.tee $10 - ;; CHECK-NEXT: (i32.load offset=8 + ;; CHECK-NEXT: (i32.load $0 offset=8 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -17249,7 +17249,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.ne - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $7 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $10) @@ -17263,7 +17263,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $1 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) @@ -17274,11 +17274,11 @@ ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block389 - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: ) @@ -17298,12 +17298,12 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq ;; CHECK-NEXT: (local.get $4) - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (i32.shl ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load offset=28 + ;; CHECK-NEXT: (i32.load $0 offset=28 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -17315,7 +17315,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block393 - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: ) @@ -17324,10 +17324,10 @@ ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block395 - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 180) ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 180) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.xor @@ -17347,7 +17347,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $9) - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -17355,7 +17355,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $9) @@ -17365,11 +17365,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=20 + ;; CHECK-NEXT: (i32.store $0 offset=20 ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: ) @@ -17385,20 +17385,20 @@ ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: (local.tee $0 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $_abort) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=24 + ;; CHECK-NEXT: (i32.store $0 offset=24 ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load offset=16 + ;; CHECK-NEXT: (i32.load $0 offset=16 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -17409,11 +17409,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $_abort) ;; CHECK-NEXT: (block $block402 - ;; CHECK-NEXT: (i32.store offset=16 + ;; CHECK-NEXT: (i32.store $0 offset=16 ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=24 + ;; CHECK-NEXT: (i32.store $0 offset=24 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: ) @@ -17422,24 +17422,24 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.tee $0 - ;; CHECK-NEXT: (i32.load offset=20 + ;; CHECK-NEXT: (i32.load $0 offset=20 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $0) - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $_abort) ;; CHECK-NEXT: (block $block405 - ;; CHECK-NEXT: (i32.store offset=20 + ;; CHECK-NEXT: (i32.store $0 offset=20 ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=24 + ;; CHECK-NEXT: (i32.store $0 offset=24 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: ) @@ -17456,7 +17456,7 @@ ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block407 - ;; CHECK-NEXT: (i32.store offset=4 + ;; CHECK-NEXT: (i32.store $0 offset=4 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (local.tee $0 @@ -17468,7 +17468,7 @@ ;; CHECK-NEXT: (i32.const 3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (i32.add @@ -17479,7 +17479,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 1) @@ -17487,21 +17487,21 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block408 - ;; CHECK-NEXT: (i32.store offset=4 + ;; CHECK-NEXT: (i32.store $0 offset=4 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.const 3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=4 + ;; CHECK-NEXT: (i32.store $0 offset=4 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.get $3) @@ -17532,7 +17532,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 176) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -17546,7 +17546,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.tee $0 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $1 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $3) @@ -17555,7 +17555,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -17570,7 +17570,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block414 - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 176) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (local.get $1) @@ -17588,19 +17588,19 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=12 + ;; CHECK-NEXT: (i32.store $0 offset=12 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=8 + ;; CHECK-NEXT: (i32.store $0 offset=8 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=12 + ;; CHECK-NEXT: (i32.store $0 offset=12 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) @@ -17712,11 +17712,11 @@ ;; CHECK-NEXT: (i32.const 480) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=28 + ;; CHECK-NEXT: (i32.store $0 offset=28 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=4 + ;; CHECK-NEXT: (i32.store $0 offset=4 ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $6) @@ -17725,7 +17725,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) @@ -17733,7 +17733,7 @@ ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 180) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -17746,26 +17746,26 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block418 - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 180) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=24 + ;; CHECK-NEXT: (i32.store $0 offset=24 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=12 + ;; CHECK-NEXT: (i32.store $0 offset=12 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=8 + ;; CHECK-NEXT: (i32.store $0 offset=8 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) @@ -17792,7 +17792,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $0 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -17802,7 +17802,7 @@ ;; CHECK-NEXT: (br_if $__rjti$1 ;; CHECK-NEXT: (i32.eq ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load offset=4 + ;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -8) @@ -17818,7 +17818,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $7 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (i32.add @@ -17850,25 +17850,25 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $7) - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $_abort) ;; CHECK-NEXT: (block $block422 - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=24 + ;; CHECK-NEXT: (i32.store $0 offset=24 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=12 + ;; CHECK-NEXT: (i32.store $0 offset=12 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=8 + ;; CHECK-NEXT: (i32.store $0 offset=8 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) @@ -17881,7 +17881,7 @@ ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (i32.ge_u ;; CHECK-NEXT: (local.tee $2 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $3 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) @@ -17891,7 +17891,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -17902,23 +17902,23 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block424 - ;; CHECK-NEXT: (i32.store offset=12 + ;; CHECK-NEXT: (i32.store $0 offset=12 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=8 + ;; CHECK-NEXT: (i32.store $0 offset=8 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=12 + ;; CHECK-NEXT: (i32.store $0 offset=12 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=24 + ;; CHECK-NEXT: (i32.store $0 offset=24 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) @@ -17956,7 +17956,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.ge_u ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 184) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -17964,7 +17964,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block426 ;; CHECK-NEXT: (local.set $2 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 196) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -17979,7 +17979,7 @@ ;; CHECK-NEXT: (i32.const 15) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block428 - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 196) ;; CHECK-NEXT: (local.tee $1 ;; CHECK-NEXT: (i32.add @@ -17988,25 +17988,25 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 184) ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=4 + ;; CHECK-NEXT: (i32.store $0 offset=4 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=4 + ;; CHECK-NEXT: (i32.store $0 offset=4 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (local.get $0) @@ -18015,22 +18015,22 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block429 - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 184) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 196) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=4 + ;; CHECK-NEXT: (i32.store $0 offset=4 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (i32.const 3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (i32.add @@ -18041,7 +18041,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 1) @@ -18060,7 +18060,7 @@ ;; CHECK-NEXT: (br_if $folding-inner0 ;; CHECK-NEXT: (i32.gt_u ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 188) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -18069,7 +18069,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 648) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -18087,31 +18087,31 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $_abort) ;; CHECK-NEXT: (block $block432 - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 656) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 652) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 660) ;; CHECK-NEXT: (i32.const -1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 664) ;; CHECK-NEXT: (i32.const -1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 668) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 620) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 648) ;; CHECK-NEXT: (i32.xor ;; CHECK-NEXT: (i32.and @@ -18133,7 +18133,7 @@ ;; CHECK-NEXT: (local.tee $6 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 656) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -18161,7 +18161,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.tee $2 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 616) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -18171,7 +18171,7 @@ ;; CHECK-NEXT: (local.tee $1 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.tee $3 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 608) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -18201,7 +18201,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 620) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -18214,7 +18214,7 @@ ;; CHECK-NEXT: (br_if $__rjti$4 ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (local.tee $4 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 200) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -18228,7 +18228,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.le_u ;; CHECK-NEXT: (local.tee $3 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -18238,7 +18238,7 @@ ;; CHECK-NEXT: (i32.gt_u ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $3) - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $2 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $1) @@ -18259,7 +18259,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (br_if $while-in34 ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load offset=8 + ;; CHECK-NEXT: (i32.load $0 offset=8 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -18273,7 +18273,7 @@ ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (local.get $6) - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 188) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -18290,10 +18290,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -18330,7 +18330,7 @@ ;; CHECK-NEXT: (local.tee $2 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.tee $4 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 652) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -18363,7 +18363,7 @@ ;; CHECK-NEXT: (local.set $9 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.tee $4 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 608) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -18384,7 +18384,7 @@ ;; CHECK-NEXT: (block $block448 ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.tee $2 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 616) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -18454,7 +18454,7 @@ ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.tee $3 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 656) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -18510,10 +18510,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 620) ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 620) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -18569,11 +18569,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (br $__rjto$13) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 608) ;; CHECK-NEXT: (local.tee $2 ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 608) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $3) @@ -18583,11 +18583,11 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u ;; CHECK-NEXT: (local.get $2) - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 612) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 612) ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) @@ -18595,7 +18595,7 @@ ;; CHECK-NEXT: (block $do-once40 ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.tee $6 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 200) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -18611,12 +18611,12 @@ ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.tee $11 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.tee $5 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $4 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $2) @@ -18630,7 +18630,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (br_if $while-in45 ;; CHECK-NEXT: (local.tee $2 - ;; CHECK-NEXT: (i32.load offset=8 + ;; CHECK-NEXT: (i32.load $0 offset=8 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -18641,7 +18641,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load offset=12 + ;; CHECK-NEXT: (i32.load $0 offset=12 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -18659,7 +18659,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block463 - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $5) @@ -18698,36 +18698,36 @@ ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 188) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 200) ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 188) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=4 + ;; CHECK-NEXT: (i32.store $0 offset=4 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=4 + ;; CHECK-NEXT: (i32.store $0 offset=4 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 40) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 204) - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 664) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -18740,13 +18740,13 @@ ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (local.tee $4 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block465 - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) @@ -18769,7 +18769,7 @@ ;; CHECK-NEXT: (loop $while-in47 ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $11) @@ -18783,7 +18783,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (br_if $while-in47 ;; CHECK-NEXT: (local.tee $2 - ;; CHECK-NEXT: (i32.load offset=8 + ;; CHECK-NEXT: (i32.load $0 offset=8 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -18796,7 +18796,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load offset=12 + ;; CHECK-NEXT: (i32.load $0 offset=12 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -18805,11 +18805,11 @@ ;; CHECK-NEXT: (i32.const 624) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block469 - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.tee $2 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $2) @@ -18817,7 +18817,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $3) @@ -18884,7 +18884,7 @@ ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=4 + ;; CHECK-NEXT: (i32.store $0 offset=4 ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (local.get $0) @@ -18898,22 +18898,22 @@ ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block471 - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 188) ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 188) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 200) ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=4 + ;; CHECK-NEXT: (i32.store $0 offset=4 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (local.get $0) @@ -18925,34 +18925,34 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq ;; CHECK-NEXT: (local.get $5) - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 196) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block474 - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 184) ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 184) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 196) ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=4 + ;; CHECK-NEXT: (i32.store $0 offset=4 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: (local.get $0) @@ -18962,7 +18962,7 @@ ;; CHECK-NEXT: (br $do-once48) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.tee $0 @@ -18970,7 +18970,7 @@ ;; CHECK-NEXT: (i32.eq ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (local.tee $0 - ;; CHECK-NEXT: (i32.load offset=4 + ;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -18999,7 +18999,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block478 ;; CHECK-NEXT: (local.set $2 - ;; CHECK-NEXT: (i32.load offset=12 + ;; CHECK-NEXT: (i32.load $0 offset=12 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -19007,7 +19007,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.ne ;; CHECK-NEXT: (local.tee $3 - ;; CHECK-NEXT: (i32.load offset=8 + ;; CHECK-NEXT: (i32.load $0 offset=8 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -19031,7 +19031,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (br_if $do-once51 ;; CHECK-NEXT: (i32.eq - ;; CHECK-NEXT: (i32.load offset=12 + ;; CHECK-NEXT: (i32.load $0 offset=12 ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $5) @@ -19047,10 +19047,10 @@ ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block483 - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 176) ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 176) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.xor @@ -19087,7 +19087,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $2) @@ -19108,18 +19108,18 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=12 + ;; CHECK-NEXT: (i32.store $0 offset=12 ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $15) ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block489 ;; CHECK-NEXT: (local.set $6 - ;; CHECK-NEXT: (i32.load offset=24 + ;; CHECK-NEXT: (i32.load $0 offset=24 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -19127,7 +19127,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq ;; CHECK-NEXT: (local.tee $0 - ;; CHECK-NEXT: (i32.load offset=12 + ;; CHECK-NEXT: (i32.load $0 offset=12 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -19137,7 +19137,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.tee $3 @@ -19154,7 +19154,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -19172,7 +19172,7 @@ ;; CHECK-NEXT: (loop $while-in58 ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.tee $3 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $2 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $1) @@ -19193,7 +19193,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.tee $3 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $2 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $1) @@ -19220,7 +19220,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $_abort) ;; CHECK-NEXT: (block $block500 - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) @@ -19234,7 +19234,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.tee $2 - ;; CHECK-NEXT: (i32.load offset=8 + ;; CHECK-NEXT: (i32.load $0 offset=8 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -19244,7 +19244,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.ne - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $3 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $2) @@ -19258,7 +19258,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $1 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) @@ -19269,11 +19269,11 @@ ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block505 - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) @@ -19295,12 +19295,12 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq ;; CHECK-NEXT: (local.get $5) - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (i32.shl ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load offset=28 + ;; CHECK-NEXT: (i32.load $0 offset=28 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -19312,17 +19312,17 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block507 - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (br_if $do-once59 ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 180) ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 180) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.xor @@ -19340,7 +19340,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $6) - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -19348,7 +19348,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $6) @@ -19358,11 +19358,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=20 + ;; CHECK-NEXT: (i32.store $0 offset=20 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: ) @@ -19379,20 +19379,20 @@ ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $_abort) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=24 + ;; CHECK-NEXT: (i32.store $0 offset=24 ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.tee $3 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $5) @@ -19408,11 +19408,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $_abort) ;; CHECK-NEXT: (block $block514 - ;; CHECK-NEXT: (i32.store offset=16 + ;; CHECK-NEXT: (i32.store $0 offset=16 ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=24 + ;; CHECK-NEXT: (i32.store $0 offset=24 ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: ) @@ -19422,7 +19422,7 @@ ;; CHECK-NEXT: (br_if $label$break$L331 ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (local.tee $0 - ;; CHECK-NEXT: (i32.load offset=4 + ;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -19431,17 +19431,17 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $0) - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $_abort) ;; CHECK-NEXT: (block $block516 - ;; CHECK-NEXT: (i32.store offset=20 + ;; CHECK-NEXT: (i32.store $0 offset=20 ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=24 + ;; CHECK-NEXT: (i32.store $0 offset=24 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: ) @@ -19468,20 +19468,20 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=4 + ;; CHECK-NEXT: (i32.store $0 offset=4 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: (local.get $7) @@ -19513,7 +19513,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 176) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -19528,7 +19528,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.ge_u ;; CHECK-NEXT: (local.tee $0 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $1 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $3) @@ -19537,7 +19537,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -19554,7 +19554,7 @@ ;; CHECK-NEXT: (call $_abort) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block523 - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 176) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (local.get $1) @@ -19573,19 +19573,19 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $16) ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=12 + ;; CHECK-NEXT: (i32.store $0 offset=12 ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=8 + ;; CHECK-NEXT: (i32.store $0 offset=8 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=12 + ;; CHECK-NEXT: (i32.store $0 offset=12 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) @@ -19703,11 +19703,11 @@ ;; CHECK-NEXT: (i32.const 480) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=28 + ;; CHECK-NEXT: (i32.store $0 offset=28 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=4 + ;; CHECK-NEXT: (i32.store $0 offset=4 ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $8) @@ -19716,7 +19716,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) @@ -19724,7 +19724,7 @@ ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 180) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -19737,26 +19737,26 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block527 - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 180) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=24 + ;; CHECK-NEXT: (i32.store $0 offset=24 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=12 + ;; CHECK-NEXT: (i32.store $0 offset=12 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=8 + ;; CHECK-NEXT: (i32.store $0 offset=8 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) @@ -19783,7 +19783,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $0 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -19793,7 +19793,7 @@ ;; CHECK-NEXT: (br_if $__rjti$7 ;; CHECK-NEXT: (i32.eq ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load offset=4 + ;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -8) @@ -19809,7 +19809,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $2 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (i32.add @@ -19841,25 +19841,25 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $2) - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $_abort) ;; CHECK-NEXT: (block $block531 - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=24 + ;; CHECK-NEXT: (i32.store $0 offset=24 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=12 + ;; CHECK-NEXT: (i32.store $0 offset=12 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=8 + ;; CHECK-NEXT: (i32.store $0 offset=8 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) @@ -19872,7 +19872,7 @@ ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (i32.ge_u ;; CHECK-NEXT: (local.tee $2 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $3 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) @@ -19882,7 +19882,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -19893,23 +19893,23 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block533 - ;; CHECK-NEXT: (i32.store offset=12 + ;; CHECK-NEXT: (i32.store $0 offset=12 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=8 + ;; CHECK-NEXT: (i32.store $0 offset=8 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=12 + ;; CHECK-NEXT: (i32.store $0 offset=12 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=24 + ;; CHECK-NEXT: (i32.store $0 offset=24 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) @@ -19934,7 +19934,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.le_u ;; CHECK-NEXT: (local.tee $2 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -19945,7 +19945,7 @@ ;; CHECK-NEXT: (local.tee $2 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $2) - ;; CHECK-NEXT: (i32.load offset=4 + ;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -19955,7 +19955,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $4 - ;; CHECK-NEXT: (i32.load offset=8 + ;; CHECK-NEXT: (i32.load $0 offset=8 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -20011,7 +20011,7 @@ ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 200) ;; CHECK-NEXT: (local.tee $5 ;; CHECK-NEXT: (i32.add @@ -20040,7 +20040,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 188) ;; CHECK-NEXT: (local.tee $4 ;; CHECK-NEXT: (i32.sub @@ -20052,27 +20052,27 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=4 + ;; CHECK-NEXT: (i32.store $0 offset=4 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=4 + ;; CHECK-NEXT: (i32.store $0 offset=4 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 40) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 204) - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 664) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.tee $4 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $11) @@ -20081,43 +20081,43 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 27) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $12) - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 624) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=4 + ;; CHECK-NEXT: (i32.store $0 offset=4 ;; CHECK-NEXT: (local.get $12) - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 628) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=8 + ;; CHECK-NEXT: (i32.store $0 offset=8 ;; CHECK-NEXT: (local.get $12) - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 632) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=12 + ;; CHECK-NEXT: (i32.store $0 offset=12 ;; CHECK-NEXT: (local.get $12) - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 636) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 624) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 628) ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 636) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 632) ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: ) @@ -20128,7 +20128,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (loop $while-in72 - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.tee $1 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $1) @@ -20153,16 +20153,16 @@ ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block536 - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=4 + ;; CHECK-NEXT: (i32.store $0 offset=4 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (local.tee $5 @@ -20174,7 +20174,7 @@ ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) @@ -20202,7 +20202,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (local.tee $3 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 176) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -20216,7 +20216,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $3 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $2) @@ -20225,7 +20225,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -20240,7 +20240,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block542 - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 176) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (local.get $3) @@ -20258,19 +20258,19 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $17) ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=12 + ;; CHECK-NEXT: (i32.store $0 offset=12 ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=8 + ;; CHECK-NEXT: (i32.store $0 offset=8 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=12 + ;; CHECK-NEXT: (i32.store $0 offset=12 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) @@ -20382,15 +20382,15 @@ ;; CHECK-NEXT: (i32.const 480) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=28 + ;; CHECK-NEXT: (i32.store $0 offset=28 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=20 + ;; CHECK-NEXT: (i32.store $0 offset=20 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) @@ -20398,7 +20398,7 @@ ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (local.tee $3 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 180) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -20411,26 +20411,26 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block546 - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 180) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=24 + ;; CHECK-NEXT: (i32.store $0 offset=24 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=12 + ;; CHECK-NEXT: (i32.store $0 offset=12 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=8 + ;; CHECK-NEXT: (i32.store $0 offset=8 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) @@ -20457,7 +20457,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -20467,7 +20467,7 @@ ;; CHECK-NEXT: (br_if $__rjti$9 ;; CHECK-NEXT: (i32.eq ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load offset=4 + ;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -8) @@ -20483,7 +20483,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.tee $3 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $4 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (i32.add @@ -20515,25 +20515,25 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $4) - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $_abort) ;; CHECK-NEXT: (block $block550 - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=24 + ;; CHECK-NEXT: (i32.store $0 offset=24 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=12 + ;; CHECK-NEXT: (i32.store $0 offset=12 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=8 + ;; CHECK-NEXT: (i32.store $0 offset=8 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) @@ -20546,7 +20546,7 @@ ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (i32.ge_u ;; CHECK-NEXT: (local.tee $4 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $2 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $1) @@ -20556,7 +20556,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.tee $3 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -20567,23 +20567,23 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block552 - ;; CHECK-NEXT: (i32.store offset=12 + ;; CHECK-NEXT: (i32.store $0 offset=12 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=8 + ;; CHECK-NEXT: (i32.store $0 offset=8 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=12 + ;; CHECK-NEXT: (i32.store $0 offset=12 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=24 + ;; CHECK-NEXT: (i32.store $0 offset=24 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) @@ -20599,7 +20599,7 @@ ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (local.tee $2 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -20609,30 +20609,30 @@ ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 624) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 628) ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 636) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 212) - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 648) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 208) ;; CHECK-NEXT: (i32.const -1) ;; CHECK-NEXT: ) @@ -20640,7 +20640,7 @@ ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (loop $while-in43 - ;; CHECK-NEXT: (i32.store offset=12 + ;; CHECK-NEXT: (i32.store $0 offset=12 ;; CHECK-NEXT: (local.tee $4 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (i32.shl @@ -20652,7 +20652,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=8 + ;; CHECK-NEXT: (i32.store $0 offset=8 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) @@ -20668,7 +20668,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 200) ;; CHECK-NEXT: (local.tee $2 ;; CHECK-NEXT: (i32.add @@ -20697,7 +20697,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 188) ;; CHECK-NEXT: (local.tee $1 ;; CHECK-NEXT: (i32.sub @@ -20709,23 +20709,23 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=4 + ;; CHECK-NEXT: (i32.store $0 offset=4 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=4 + ;; CHECK-NEXT: (i32.store $0 offset=4 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 40) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 204) - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 664) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -20735,7 +20735,7 @@ ;; CHECK-NEXT: (br_if $folding-inner0 ;; CHECK-NEXT: (i32.gt_u ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 188) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -20743,7 +20743,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (call $___errno_location) ;; CHECK-NEXT: (i32.const 12) ;; CHECK-NEXT: ) @@ -20751,7 +20751,7 @@ ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 188) ;; CHECK-NEXT: (local.tee $3 ;; CHECK-NEXT: (i32.sub @@ -20760,12 +20760,12 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 200) ;; CHECK-NEXT: (local.tee $1 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.tee $2 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 200) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -20773,14 +20773,14 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=4 + ;; CHECK-NEXT: (i32.store $0 offset=4 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=4 + ;; CHECK-NEXT: (i32.store $0 offset=4 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (local.get $0) @@ -26302,7 +26302,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.tee $11 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -26314,7 +26314,7 @@ ;; CHECK-NEXT: (local.tee $5 ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (local.tee $7 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const -4) @@ -26355,7 +26355,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block558 ;; CHECK-NEXT: (local.set $7 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -26389,7 +26389,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq ;; CHECK-NEXT: (local.get $1) - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 196) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -26398,7 +26398,7 @@ ;; CHECK-NEXT: (i32.ne ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (local.tee $3 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $2 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $8) @@ -26421,25 +26421,25 @@ ;; CHECK-NEXT: (br $do-once) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 184) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (i32.const -2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=4 + ;; CHECK-NEXT: (i32.store $0 offset=4 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (local.get $0) @@ -26462,14 +26462,14 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block566 ;; CHECK-NEXT: (local.set $6 - ;; CHECK-NEXT: (i32.load offset=12 + ;; CHECK-NEXT: (i32.load $0 offset=12 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.ne ;; CHECK-NEXT: (local.tee $2 - ;; CHECK-NEXT: (i32.load offset=8 + ;; CHECK-NEXT: (i32.load $0 offset=8 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -26493,7 +26493,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.ne - ;; CHECK-NEXT: (i32.load offset=12 + ;; CHECK-NEXT: (i32.load $0 offset=12 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $1) @@ -26508,10 +26508,10 @@ ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block572 - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 176) ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 176) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.xor @@ -26553,7 +26553,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $3 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $6) @@ -26570,11 +26570,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=12 + ;; CHECK-NEXT: (i32.store $0 offset=12 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) @@ -26588,7 +26588,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $12 - ;; CHECK-NEXT: (i32.load offset=24 + ;; CHECK-NEXT: (i32.load $0 offset=24 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -26596,7 +26596,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq ;; CHECK-NEXT: (local.tee $4 - ;; CHECK-NEXT: (i32.load offset=12 + ;; CHECK-NEXT: (i32.load $0 offset=12 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -26606,7 +26606,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (local.tee $5 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $4 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.tee $7 @@ -26623,7 +26623,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.tee $5 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -26641,7 +26641,7 @@ ;; CHECK-NEXT: (loop $while-in ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.tee $7 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $10 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $5) @@ -26662,7 +26662,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.tee $7 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $10 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $5) @@ -26689,7 +26689,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $_abort) ;; CHECK-NEXT: (block $block587 - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) @@ -26703,7 +26703,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.tee $10 - ;; CHECK-NEXT: (i32.load offset=8 + ;; CHECK-NEXT: (i32.load $0 offset=8 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -26713,7 +26713,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.ne - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $7 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $10) @@ -26727,7 +26727,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $5 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $4) @@ -26738,11 +26738,11 @@ ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block592 - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: ) @@ -26761,12 +26761,12 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq ;; CHECK-NEXT: (local.get $1) - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $4 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (i32.shl ;; CHECK-NEXT: (local.tee $5 - ;; CHECK-NEXT: (i32.load offset=28 + ;; CHECK-NEXT: (i32.load $0 offset=28 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -26778,7 +26778,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block596 - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) @@ -26787,10 +26787,10 @@ ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block598 - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 180) ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 180) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.xor @@ -26816,7 +26816,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $12) - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -26824,7 +26824,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $4 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $12) @@ -26834,11 +26834,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=20 + ;; CHECK-NEXT: (i32.store $0 offset=20 ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) @@ -26863,20 +26863,20 @@ ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.tee $5 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $_abort) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=24 + ;; CHECK-NEXT: (i32.store $0 offset=24 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.tee $7 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $4 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $1) @@ -26892,11 +26892,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $_abort) ;; CHECK-NEXT: (block $block607 - ;; CHECK-NEXT: (i32.store offset=16 + ;; CHECK-NEXT: (i32.store $0 offset=16 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=24 + ;; CHECK-NEXT: (i32.store $0 offset=24 ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) @@ -26905,24 +26905,24 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.tee $4 - ;; CHECK-NEXT: (i32.load offset=4 + ;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $4) - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $_abort) ;; CHECK-NEXT: (block $block610 - ;; CHECK-NEXT: (i32.store offset=20 + ;; CHECK-NEXT: (i32.store $0 offset=20 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=24 + ;; CHECK-NEXT: (i32.store $0 offset=24 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) @@ -26967,7 +26967,7 @@ ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $8) @@ -26987,21 +26987,21 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block616 - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (i32.const -2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=4 + ;; CHECK-NEXT: (i32.store $0 offset=4 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (local.get $3) @@ -27013,27 +27013,27 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq ;; CHECK-NEXT: (local.get $8) - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 200) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block619 - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 188) ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 188) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 200) ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=4 + ;; CHECK-NEXT: (i32.store $0 offset=4 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (local.get $0) @@ -27043,17 +27043,17 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.ne ;; CHECK-NEXT: (local.get $2) - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 196) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (return) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 196) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 184) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) @@ -27063,34 +27063,34 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq ;; CHECK-NEXT: (local.get $8) - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 196) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block622 - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 184) ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 184) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 196) ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=4 + ;; CHECK-NEXT: (i32.store $0 offset=4 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (local.get $0) @@ -27123,14 +27123,14 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block624 ;; CHECK-NEXT: (local.set $4 - ;; CHECK-NEXT: (i32.load offset=12 + ;; CHECK-NEXT: (i32.load $0 offset=12 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.ne ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load offset=8 + ;; CHECK-NEXT: (i32.load $0 offset=8 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -27148,7 +27148,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $1) - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -27156,7 +27156,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.ne - ;; CHECK-NEXT: (i32.load offset=12 + ;; CHECK-NEXT: (i32.load $0 offset=12 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $8) @@ -27171,10 +27171,10 @@ ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block630 - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 176) ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 176) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.xor @@ -27204,7 +27204,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $4) - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -27212,7 +27212,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $4) @@ -27229,18 +27229,18 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=12 + ;; CHECK-NEXT: (i32.store $0 offset=12 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $14) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block635 ;; CHECK-NEXT: (local.set $6 - ;; CHECK-NEXT: (i32.load offset=24 + ;; CHECK-NEXT: (i32.load $0 offset=24 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -27248,7 +27248,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq ;; CHECK-NEXT: (local.tee $0 - ;; CHECK-NEXT: (i32.load offset=12 + ;; CHECK-NEXT: (i32.load $0 offset=12 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -27258,7 +27258,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (local.tee $3 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.tee $1 @@ -27275,7 +27275,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.tee $3 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -27293,7 +27293,7 @@ ;; CHECK-NEXT: (loop $while-in9 ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $4 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $3) @@ -27314,7 +27314,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $4 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $3) @@ -27337,13 +27337,13 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $0) - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $_abort) ;; CHECK-NEXT: (block $block646 - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) @@ -27357,11 +27357,11 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.tee $4 - ;; CHECK-NEXT: (i32.load offset=8 + ;; CHECK-NEXT: (i32.load $0 offset=8 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -27369,7 +27369,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.ne - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $1 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $4) @@ -27383,7 +27383,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $3 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) @@ -27394,11 +27394,11 @@ ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block651 - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) @@ -27417,12 +27417,12 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq ;; CHECK-NEXT: (local.get $8) - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (i32.shl ;; CHECK-NEXT: (local.tee $3 - ;; CHECK-NEXT: (i32.load offset=28 + ;; CHECK-NEXT: (i32.load $0 offset=28 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -27434,7 +27434,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block655 - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) @@ -27443,10 +27443,10 @@ ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block657 - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 180) ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 180) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.xor @@ -27466,7 +27466,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $6) - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -27474,7 +27474,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $6) @@ -27484,11 +27484,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=20 + ;; CHECK-NEXT: (i32.store $0 offset=20 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) @@ -27504,20 +27504,20 @@ ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: (local.tee $3 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $_abort) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=24 + ;; CHECK-NEXT: (i32.store $0 offset=24 ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $8) @@ -27533,11 +27533,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $_abort) ;; CHECK-NEXT: (block $block664 - ;; CHECK-NEXT: (i32.store offset=16 + ;; CHECK-NEXT: (i32.store $0 offset=16 ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=24 + ;; CHECK-NEXT: (i32.store $0 offset=24 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) @@ -27546,24 +27546,24 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.tee $0 - ;; CHECK-NEXT: (i32.load offset=4 + ;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $0) - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $_abort) ;; CHECK-NEXT: (block $block667 - ;; CHECK-NEXT: (i32.store offset=20 + ;; CHECK-NEXT: (i32.store $0 offset=20 ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=24 + ;; CHECK-NEXT: (i32.store $0 offset=24 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) @@ -27575,14 +27575,14 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=4 + ;; CHECK-NEXT: (i32.store $0 offset=4 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (local.get $5) @@ -27592,12 +27592,12 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq ;; CHECK-NEXT: (local.get $2) - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 196) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block669 - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 184) ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) @@ -27633,7 +27633,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (local.tee $3 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 176) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -27647,7 +27647,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.tee $0 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $3 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $1) @@ -27656,7 +27656,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -27671,7 +27671,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block675 - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 176) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (local.get $3) @@ -27689,19 +27689,19 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $15) ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=12 + ;; CHECK-NEXT: (i32.store $0 offset=12 ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=8 + ;; CHECK-NEXT: (i32.store $0 offset=8 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=12 + ;; CHECK-NEXT: (i32.store $0 offset=12 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) @@ -27813,15 +27813,15 @@ ;; CHECK-NEXT: (i32.const 480) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=28 + ;; CHECK-NEXT: (i32.store $0 offset=28 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=20 + ;; CHECK-NEXT: (i32.store $0 offset=20 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=16 + ;; CHECK-NEXT: (i32.store $0 offset=16 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) @@ -27829,7 +27829,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 180) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -27861,7 +27861,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $0 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -27871,7 +27871,7 @@ ;; CHECK-NEXT: (br_if $__rjti$1 ;; CHECK-NEXT: (i32.eq ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load offset=4 + ;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -8) @@ -27887,7 +27887,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $5 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (i32.add @@ -27919,25 +27919,25 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $5) - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $_abort) ;; CHECK-NEXT: (block $block683 - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=24 + ;; CHECK-NEXT: (i32.store $0 offset=24 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=12 + ;; CHECK-NEXT: (i32.store $0 offset=12 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=8 + ;; CHECK-NEXT: (i32.store $0 offset=8 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) @@ -27950,7 +27950,7 @@ ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (i32.ge_u ;; CHECK-NEXT: (local.tee $4 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.tee $1 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) @@ -27960,7 +27960,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.tee $3 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -27971,23 +27971,23 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block685 - ;; CHECK-NEXT: (i32.store offset=12 + ;; CHECK-NEXT: (i32.store $0 offset=12 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=8 + ;; CHECK-NEXT: (i32.store $0 offset=8 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=12 + ;; CHECK-NEXT: (i32.store $0 offset=12 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=24 + ;; CHECK-NEXT: (i32.store $0 offset=24 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) @@ -27997,37 +27997,37 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block686 - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 180) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=24 + ;; CHECK-NEXT: (i32.store $0 offset=24 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=12 + ;; CHECK-NEXT: (i32.store $0 offset=12 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=8 + ;; CHECK-NEXT: (i32.store $0 offset=8 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 208) ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 208) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -1) @@ -28045,7 +28045,7 @@ ;; CHECK-NEXT: (local.set $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.tee $3 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -28056,7 +28056,7 @@ ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 208) ;; CHECK-NEXT: (i32.const -1) ;; CHECK-NEXT: ) @@ -29981,7 +29981,7 @@ ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block691 - ;; CHECK-NEXT: (i32.store8 + ;; CHECK-NEXT: (i32.store8 $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) @@ -30031,7 +30031,7 @@ ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block693 - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) @@ -30054,7 +30054,7 @@ ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block695 - ;; CHECK-NEXT: (i32.store8 + ;; CHECK-NEXT: (i32.store8 $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) @@ -30468,9 +30468,9 @@ ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 + ;; CHECK-NEXT: (i32.store8 $0 ;; CHECK-NEXT: (local.get $0) - ;; CHECK-NEXT: (i32.load8_s + ;; CHECK-NEXT: (i32.load8_s $0 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -30503,9 +30503,9 @@ ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block701 - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (local.get $0) - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -30540,9 +30540,9 @@ ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block703 - ;; CHECK-NEXT: (i32.store8 + ;; CHECK-NEXT: (i32.store8 $0 ;; CHECK-NEXT: (local.get $0) - ;; CHECK-NEXT: (i32.load8_s + ;; CHECK-NEXT: (i32.load8_s $0 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -30761,11 +30761,11 @@ ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (global.set $tempRet0 - ;; CHECK-NEXT: (i32.load offset=4 + ;; CHECK-NEXT: (i32.load $0 offset=4 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -30834,7 +30834,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.get $r) - ;; CHECK-NEXT: (i64.store + ;; CHECK-NEXT: (i64.store $0 ;; CHECK-NEXT: (local.get $r) ;; CHECK-NEXT: (i64.rem_u ;; CHECK-NEXT: (local.get $x64) diff --git a/test/lit/passes/inlining_memory64.wat b/test/lit/passes/inlining_memory64.wat index 43e77785c59..cf44defae1a 100644 --- a/test/lit/passes/inlining_memory64.wat +++ b/test/lit/passes/inlining_memory64.wat @@ -10,7 +10,7 @@ ;; CHECK: (func $call-size (result i64) ;; CHECK-NEXT: (block $__inlined_func$size (result i64) - ;; CHECK-NEXT: (memory.size) + ;; CHECK-NEXT: (memory.size $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) (func $call-size (result i64) @@ -26,7 +26,7 @@ ;; CHECK: (func $call-grow (result i64) ;; CHECK-NEXT: (block $__inlined_func$grow (result i64) - ;; CHECK-NEXT: (memory.grow + ;; CHECK-NEXT: (memory.grow $0 ;; CHECK-NEXT: (i64.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/instrument-memory.wast b/test/lit/passes/instrument-memory.wast index 0973ab4fa83..1a64ea406da 100644 --- a/test/lit/passes/instrument-memory.wast +++ b/test/lit/passes/instrument-memory.wast @@ -43,7 +43,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i32 ;; CHECK-NEXT: (i32.const 1) - ;; CHECK-NEXT: (i32.load8_s + ;; CHECK-NEXT: (i32.load8_s $0 ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: (i32.const 1) @@ -56,7 +56,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i32 ;; CHECK-NEXT: (i32.const 2) - ;; CHECK-NEXT: (i32.load8_u + ;; CHECK-NEXT: (i32.load8_u $0 ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: (i32.const 1) @@ -69,7 +69,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i32 ;; CHECK-NEXT: (i32.const 3) - ;; CHECK-NEXT: (i32.load16_s + ;; CHECK-NEXT: (i32.load16_s $0 ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 3) ;; CHECK-NEXT: (i32.const 2) @@ -82,7 +82,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i32 ;; CHECK-NEXT: (i32.const 4) - ;; CHECK-NEXT: (i32.load16_u + ;; CHECK-NEXT: (i32.load16_u $0 ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: (i32.const 2) @@ -95,7 +95,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i32 ;; CHECK-NEXT: (i32.const 5) - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 5) ;; CHECK-NEXT: (i32.const 4) @@ -108,7 +108,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i64 ;; CHECK-NEXT: (i32.const 6) - ;; CHECK-NEXT: (i64.load8_s + ;; CHECK-NEXT: (i64.load8_s $0 ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 6) ;; CHECK-NEXT: (i32.const 1) @@ -121,7 +121,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i64 ;; CHECK-NEXT: (i32.const 7) - ;; CHECK-NEXT: (i64.load8_u + ;; CHECK-NEXT: (i64.load8_u $0 ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 7) ;; CHECK-NEXT: (i32.const 1) @@ -134,7 +134,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i64 ;; CHECK-NEXT: (i32.const 8) - ;; CHECK-NEXT: (i64.load16_s + ;; CHECK-NEXT: (i64.load16_s $0 ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: (i32.const 2) @@ -147,7 +147,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i64 ;; CHECK-NEXT: (i32.const 9) - ;; CHECK-NEXT: (i64.load16_u + ;; CHECK-NEXT: (i64.load16_u $0 ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 9) ;; CHECK-NEXT: (i32.const 2) @@ -160,7 +160,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i64 ;; CHECK-NEXT: (i32.const 10) - ;; CHECK-NEXT: (i64.load32_s + ;; CHECK-NEXT: (i64.load32_s $0 ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 10) ;; CHECK-NEXT: (i32.const 4) @@ -173,7 +173,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i64 ;; CHECK-NEXT: (i32.const 11) - ;; CHECK-NEXT: (i64.load32_u + ;; CHECK-NEXT: (i64.load32_u $0 ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 11) ;; CHECK-NEXT: (i32.const 4) @@ -186,7 +186,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i64 ;; CHECK-NEXT: (i32.const 12) - ;; CHECK-NEXT: (i64.load + ;; CHECK-NEXT: (i64.load $0 ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 12) ;; CHECK-NEXT: (i32.const 8) @@ -199,7 +199,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_f32 ;; CHECK-NEXT: (i32.const 13) - ;; CHECK-NEXT: (f32.load + ;; CHECK-NEXT: (f32.load $0 ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 13) ;; CHECK-NEXT: (i32.const 4) @@ -212,7 +212,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_f64 ;; CHECK-NEXT: (i32.const 14) - ;; CHECK-NEXT: (f64.load + ;; CHECK-NEXT: (f64.load $0 ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 14) ;; CHECK-NEXT: (i32.const 8) @@ -225,7 +225,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i32 ;; CHECK-NEXT: (i32.const 15) - ;; CHECK-NEXT: (i32.load8_s offset=1 + ;; CHECK-NEXT: (i32.load8_s $0 offset=1 ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 15) ;; CHECK-NEXT: (i32.const 1) @@ -238,7 +238,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i32 ;; CHECK-NEXT: (i32.const 16) - ;; CHECK-NEXT: (i32.load8_u offset=2 + ;; CHECK-NEXT: (i32.load8_u $0 offset=2 ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: (i32.const 1) @@ -251,7 +251,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i32 ;; CHECK-NEXT: (i32.const 17) - ;; CHECK-NEXT: (i32.load16_s offset=3 align=1 + ;; CHECK-NEXT: (i32.load16_s $0 offset=3 align=1 ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 17) ;; CHECK-NEXT: (i32.const 2) @@ -264,7 +264,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i32 ;; CHECK-NEXT: (i32.const 18) - ;; CHECK-NEXT: (i32.load16_u offset=4 align=1 + ;; CHECK-NEXT: (i32.load16_u $0 offset=4 align=1 ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 18) ;; CHECK-NEXT: (i32.const 2) @@ -277,7 +277,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i32 ;; CHECK-NEXT: (i32.const 19) - ;; CHECK-NEXT: (i32.load offset=5 align=2 + ;; CHECK-NEXT: (i32.load $0 offset=5 align=2 ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 19) ;; CHECK-NEXT: (i32.const 4) @@ -290,7 +290,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i64 ;; CHECK-NEXT: (i32.const 20) - ;; CHECK-NEXT: (i64.load8_s offset=6 + ;; CHECK-NEXT: (i64.load8_s $0 offset=6 ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 20) ;; CHECK-NEXT: (i32.const 1) @@ -303,7 +303,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i64 ;; CHECK-NEXT: (i32.const 21) - ;; CHECK-NEXT: (i64.load8_u offset=7 + ;; CHECK-NEXT: (i64.load8_u $0 offset=7 ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 21) ;; CHECK-NEXT: (i32.const 1) @@ -316,7 +316,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i64 ;; CHECK-NEXT: (i32.const 22) - ;; CHECK-NEXT: (i64.load16_s offset=8 align=1 + ;; CHECK-NEXT: (i64.load16_s $0 offset=8 align=1 ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 22) ;; CHECK-NEXT: (i32.const 2) @@ -329,7 +329,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i64 ;; CHECK-NEXT: (i32.const 23) - ;; CHECK-NEXT: (i64.load16_u offset=9 align=1 + ;; CHECK-NEXT: (i64.load16_u $0 offset=9 align=1 ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 23) ;; CHECK-NEXT: (i32.const 2) @@ -342,7 +342,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i64 ;; CHECK-NEXT: (i32.const 24) - ;; CHECK-NEXT: (i64.load32_s offset=10 align=2 + ;; CHECK-NEXT: (i64.load32_s $0 offset=10 align=2 ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 24) ;; CHECK-NEXT: (i32.const 4) @@ -355,7 +355,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i64 ;; CHECK-NEXT: (i32.const 25) - ;; CHECK-NEXT: (i64.load32_u offset=11 align=2 + ;; CHECK-NEXT: (i64.load32_u $0 offset=11 align=2 ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 25) ;; CHECK-NEXT: (i32.const 4) @@ -368,7 +368,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i64 ;; CHECK-NEXT: (i32.const 26) - ;; CHECK-NEXT: (i64.load offset=12 align=2 + ;; CHECK-NEXT: (i64.load $0 offset=12 align=2 ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 26) ;; CHECK-NEXT: (i32.const 8) @@ -381,7 +381,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_f32 ;; CHECK-NEXT: (i32.const 27) - ;; CHECK-NEXT: (f32.load offset=13 align=2 + ;; CHECK-NEXT: (f32.load $0 offset=13 align=2 ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 27) ;; CHECK-NEXT: (i32.const 4) @@ -394,7 +394,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_f64 ;; CHECK-NEXT: (i32.const 28) - ;; CHECK-NEXT: (f64.load offset=14 align=2 + ;; CHECK-NEXT: (f64.load $0 offset=14 align=2 ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 28) ;; CHECK-NEXT: (i32.const 8) @@ -438,7 +438,7 @@ ) ;; CHECK: (func $B - ;; CHECK-NEXT: (i32.store8 + ;; CHECK-NEXT: (i32.store8 $0 ;; CHECK-NEXT: (call $store_ptr ;; CHECK-NEXT: (i32.const 29) ;; CHECK-NEXT: (i32.const 1) @@ -450,7 +450,7 @@ ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 + ;; CHECK-NEXT: (i32.store16 $0 ;; CHECK-NEXT: (call $store_ptr ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: (i32.const 2) @@ -462,7 +462,7 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (call $store_ptr ;; CHECK-NEXT: (i32.const 31) ;; CHECK-NEXT: (i32.const 4) @@ -474,7 +474,7 @@ ;; CHECK-NEXT: (i32.const 3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i64.store8 + ;; CHECK-NEXT: (i64.store8 $0 ;; CHECK-NEXT: (call $store_ptr ;; CHECK-NEXT: (i32.const 32) ;; CHECK-NEXT: (i32.const 1) @@ -486,7 +486,7 @@ ;; CHECK-NEXT: (i64.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i64.store16 + ;; CHECK-NEXT: (i64.store16 $0 ;; CHECK-NEXT: (call $store_ptr ;; CHECK-NEXT: (i32.const 33) ;; CHECK-NEXT: (i32.const 2) @@ -498,7 +498,7 @@ ;; CHECK-NEXT: (i64.const 5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i64.store32 + ;; CHECK-NEXT: (i64.store32 $0 ;; CHECK-NEXT: (call $store_ptr ;; CHECK-NEXT: (i32.const 34) ;; CHECK-NEXT: (i32.const 4) @@ -510,7 +510,7 @@ ;; CHECK-NEXT: (i64.const 6) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i64.store + ;; CHECK-NEXT: (i64.store $0 ;; CHECK-NEXT: (call $store_ptr ;; CHECK-NEXT: (i32.const 35) ;; CHECK-NEXT: (i32.const 8) @@ -522,7 +522,7 @@ ;; CHECK-NEXT: (i64.const 7) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (f32.store + ;; CHECK-NEXT: (f32.store $0 ;; CHECK-NEXT: (call $store_ptr ;; CHECK-NEXT: (i32.const 36) ;; CHECK-NEXT: (i32.const 4) @@ -534,7 +534,7 @@ ;; CHECK-NEXT: (f32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (f64.store + ;; CHECK-NEXT: (f64.store $0 ;; CHECK-NEXT: (call $store_ptr ;; CHECK-NEXT: (i32.const 37) ;; CHECK-NEXT: (i32.const 8) @@ -546,7 +546,7 @@ ;; CHECK-NEXT: (f64.const 9) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=1 + ;; CHECK-NEXT: (i32.store8 $0 offset=1 ;; CHECK-NEXT: (call $store_ptr ;; CHECK-NEXT: (i32.const 38) ;; CHECK-NEXT: (i32.const 1) @@ -558,7 +558,7 @@ ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 offset=2 align=1 + ;; CHECK-NEXT: (i32.store16 $0 offset=2 align=1 ;; CHECK-NEXT: (call $store_ptr ;; CHECK-NEXT: (i32.const 39) ;; CHECK-NEXT: (i32.const 2) @@ -570,7 +570,7 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=3 align=2 + ;; CHECK-NEXT: (i32.store $0 offset=3 align=2 ;; CHECK-NEXT: (call $store_ptr ;; CHECK-NEXT: (i32.const 40) ;; CHECK-NEXT: (i32.const 4) @@ -582,7 +582,7 @@ ;; CHECK-NEXT: (i32.const 3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i64.store8 offset=4 + ;; CHECK-NEXT: (i64.store8 $0 offset=4 ;; CHECK-NEXT: (call $store_ptr ;; CHECK-NEXT: (i32.const 41) ;; CHECK-NEXT: (i32.const 1) @@ -594,7 +594,7 @@ ;; CHECK-NEXT: (i64.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i64.store16 offset=5 + ;; CHECK-NEXT: (i64.store16 $0 offset=5 ;; CHECK-NEXT: (call $store_ptr ;; CHECK-NEXT: (i32.const 42) ;; CHECK-NEXT: (i32.const 2) @@ -606,7 +606,7 @@ ;; CHECK-NEXT: (i64.const 5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i64.store32 offset=6 align=2 + ;; CHECK-NEXT: (i64.store32 $0 offset=6 align=2 ;; CHECK-NEXT: (call $store_ptr ;; CHECK-NEXT: (i32.const 43) ;; CHECK-NEXT: (i32.const 4) @@ -618,7 +618,7 @@ ;; CHECK-NEXT: (i64.const 6) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i64.store offset=7 align=2 + ;; CHECK-NEXT: (i64.store $0 offset=7 align=2 ;; CHECK-NEXT: (call $store_ptr ;; CHECK-NEXT: (i32.const 44) ;; CHECK-NEXT: (i32.const 8) @@ -630,7 +630,7 @@ ;; CHECK-NEXT: (i64.const 7) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (f32.store offset=8 align=2 + ;; CHECK-NEXT: (f32.store $0 offset=8 align=2 ;; CHECK-NEXT: (call $store_ptr ;; CHECK-NEXT: (i32.const 45) ;; CHECK-NEXT: (i32.const 4) @@ -642,7 +642,7 @@ ;; CHECK-NEXT: (f32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (f64.store offset=9 align=2 + ;; CHECK-NEXT: (f64.store $0 offset=9 align=2 ;; CHECK-NEXT: (call $store_ptr ;; CHECK-NEXT: (i32.const 46) ;; CHECK-NEXT: (i32.const 8) diff --git a/test/lit/passes/instrument-memory64.wast b/test/lit/passes/instrument-memory64.wast index de4df4aab0d..8a23eddb20a 100644 --- a/test/lit/passes/instrument-memory64.wast +++ b/test/lit/passes/instrument-memory64.wast @@ -43,7 +43,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i32 ;; CHECK-NEXT: (i32.const 1) - ;; CHECK-NEXT: (i32.load8_s + ;; CHECK-NEXT: (i32.load8_s $0 ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: (i32.const 1) @@ -56,7 +56,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i32 ;; CHECK-NEXT: (i32.const 2) - ;; CHECK-NEXT: (i32.load8_u + ;; CHECK-NEXT: (i32.load8_u $0 ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: (i32.const 1) @@ -69,7 +69,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i32 ;; CHECK-NEXT: (i32.const 3) - ;; CHECK-NEXT: (i32.load16_s + ;; CHECK-NEXT: (i32.load16_s $0 ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 3) ;; CHECK-NEXT: (i32.const 2) @@ -82,7 +82,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i32 ;; CHECK-NEXT: (i32.const 4) - ;; CHECK-NEXT: (i32.load16_u + ;; CHECK-NEXT: (i32.load16_u $0 ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: (i32.const 2) @@ -95,7 +95,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i32 ;; CHECK-NEXT: (i32.const 5) - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 5) ;; CHECK-NEXT: (i32.const 4) @@ -108,7 +108,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i64 ;; CHECK-NEXT: (i32.const 6) - ;; CHECK-NEXT: (i64.load8_s + ;; CHECK-NEXT: (i64.load8_s $0 ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 6) ;; CHECK-NEXT: (i32.const 1) @@ -121,7 +121,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i64 ;; CHECK-NEXT: (i32.const 7) - ;; CHECK-NEXT: (i64.load8_u + ;; CHECK-NEXT: (i64.load8_u $0 ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 7) ;; CHECK-NEXT: (i32.const 1) @@ -134,7 +134,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i64 ;; CHECK-NEXT: (i32.const 8) - ;; CHECK-NEXT: (i64.load16_s + ;; CHECK-NEXT: (i64.load16_s $0 ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: (i32.const 2) @@ -147,7 +147,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i64 ;; CHECK-NEXT: (i32.const 9) - ;; CHECK-NEXT: (i64.load16_u + ;; CHECK-NEXT: (i64.load16_u $0 ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 9) ;; CHECK-NEXT: (i32.const 2) @@ -160,7 +160,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i64 ;; CHECK-NEXT: (i32.const 10) - ;; CHECK-NEXT: (i64.load32_s + ;; CHECK-NEXT: (i64.load32_s $0 ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 10) ;; CHECK-NEXT: (i32.const 4) @@ -173,7 +173,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i64 ;; CHECK-NEXT: (i32.const 11) - ;; CHECK-NEXT: (i64.load32_u + ;; CHECK-NEXT: (i64.load32_u $0 ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 11) ;; CHECK-NEXT: (i32.const 4) @@ -186,7 +186,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i64 ;; CHECK-NEXT: (i32.const 12) - ;; CHECK-NEXT: (i64.load + ;; CHECK-NEXT: (i64.load $0 ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 12) ;; CHECK-NEXT: (i32.const 8) @@ -199,7 +199,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_f32 ;; CHECK-NEXT: (i32.const 13) - ;; CHECK-NEXT: (f32.load + ;; CHECK-NEXT: (f32.load $0 ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 13) ;; CHECK-NEXT: (i32.const 4) @@ -212,7 +212,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_f64 ;; CHECK-NEXT: (i32.const 14) - ;; CHECK-NEXT: (f64.load + ;; CHECK-NEXT: (f64.load $0 ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 14) ;; CHECK-NEXT: (i32.const 8) @@ -225,7 +225,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i32 ;; CHECK-NEXT: (i32.const 15) - ;; CHECK-NEXT: (i32.load8_s offset=1 + ;; CHECK-NEXT: (i32.load8_s $0 offset=1 ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 15) ;; CHECK-NEXT: (i32.const 1) @@ -238,7 +238,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i32 ;; CHECK-NEXT: (i32.const 16) - ;; CHECK-NEXT: (i32.load8_u offset=2 + ;; CHECK-NEXT: (i32.load8_u $0 offset=2 ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: (i32.const 1) @@ -251,7 +251,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i32 ;; CHECK-NEXT: (i32.const 17) - ;; CHECK-NEXT: (i32.load16_s offset=3 align=1 + ;; CHECK-NEXT: (i32.load16_s $0 offset=3 align=1 ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 17) ;; CHECK-NEXT: (i32.const 2) @@ -264,7 +264,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i32 ;; CHECK-NEXT: (i32.const 18) - ;; CHECK-NEXT: (i32.load16_u offset=4 align=1 + ;; CHECK-NEXT: (i32.load16_u $0 offset=4 align=1 ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 18) ;; CHECK-NEXT: (i32.const 2) @@ -277,7 +277,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i32 ;; CHECK-NEXT: (i32.const 19) - ;; CHECK-NEXT: (i32.load offset=5 align=2 + ;; CHECK-NEXT: (i32.load $0 offset=5 align=2 ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 19) ;; CHECK-NEXT: (i32.const 4) @@ -290,7 +290,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i64 ;; CHECK-NEXT: (i32.const 20) - ;; CHECK-NEXT: (i64.load8_s offset=6 + ;; CHECK-NEXT: (i64.load8_s $0 offset=6 ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 20) ;; CHECK-NEXT: (i32.const 1) @@ -303,7 +303,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i64 ;; CHECK-NEXT: (i32.const 21) - ;; CHECK-NEXT: (i64.load8_u offset=7 + ;; CHECK-NEXT: (i64.load8_u $0 offset=7 ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 21) ;; CHECK-NEXT: (i32.const 1) @@ -316,7 +316,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i64 ;; CHECK-NEXT: (i32.const 22) - ;; CHECK-NEXT: (i64.load16_s offset=8 align=1 + ;; CHECK-NEXT: (i64.load16_s $0 offset=8 align=1 ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 22) ;; CHECK-NEXT: (i32.const 2) @@ -329,7 +329,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i64 ;; CHECK-NEXT: (i32.const 23) - ;; CHECK-NEXT: (i64.load16_u offset=9 align=1 + ;; CHECK-NEXT: (i64.load16_u $0 offset=9 align=1 ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 23) ;; CHECK-NEXT: (i32.const 2) @@ -342,7 +342,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i64 ;; CHECK-NEXT: (i32.const 24) - ;; CHECK-NEXT: (i64.load32_s offset=10 align=2 + ;; CHECK-NEXT: (i64.load32_s $0 offset=10 align=2 ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 24) ;; CHECK-NEXT: (i32.const 4) @@ -355,7 +355,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i64 ;; CHECK-NEXT: (i32.const 25) - ;; CHECK-NEXT: (i64.load32_u offset=11 align=2 + ;; CHECK-NEXT: (i64.load32_u $0 offset=11 align=2 ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 25) ;; CHECK-NEXT: (i32.const 4) @@ -368,7 +368,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i64 ;; CHECK-NEXT: (i32.const 26) - ;; CHECK-NEXT: (i64.load offset=12 align=2 + ;; CHECK-NEXT: (i64.load $0 offset=12 align=2 ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 26) ;; CHECK-NEXT: (i32.const 8) @@ -381,7 +381,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_f32 ;; CHECK-NEXT: (i32.const 27) - ;; CHECK-NEXT: (f32.load offset=13 align=2 + ;; CHECK-NEXT: (f32.load $0 offset=13 align=2 ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 27) ;; CHECK-NEXT: (i32.const 4) @@ -394,7 +394,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_f64 ;; CHECK-NEXT: (i32.const 28) - ;; CHECK-NEXT: (f64.load offset=14 align=2 + ;; CHECK-NEXT: (f64.load $0 offset=14 align=2 ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 28) ;; CHECK-NEXT: (i32.const 8) @@ -438,7 +438,7 @@ ) ;; CHECK: (func $B - ;; CHECK-NEXT: (i32.store8 + ;; CHECK-NEXT: (i32.store8 $0 ;; CHECK-NEXT: (call $store_ptr ;; CHECK-NEXT: (i32.const 29) ;; CHECK-NEXT: (i32.const 1) @@ -450,7 +450,7 @@ ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 + ;; CHECK-NEXT: (i32.store16 $0 ;; CHECK-NEXT: (call $store_ptr ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: (i32.const 2) @@ -462,7 +462,7 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (call $store_ptr ;; CHECK-NEXT: (i32.const 31) ;; CHECK-NEXT: (i32.const 4) @@ -474,7 +474,7 @@ ;; CHECK-NEXT: (i32.const 3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i64.store8 + ;; CHECK-NEXT: (i64.store8 $0 ;; CHECK-NEXT: (call $store_ptr ;; CHECK-NEXT: (i32.const 32) ;; CHECK-NEXT: (i32.const 1) @@ -486,7 +486,7 @@ ;; CHECK-NEXT: (i64.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i64.store16 + ;; CHECK-NEXT: (i64.store16 $0 ;; CHECK-NEXT: (call $store_ptr ;; CHECK-NEXT: (i32.const 33) ;; CHECK-NEXT: (i32.const 2) @@ -498,7 +498,7 @@ ;; CHECK-NEXT: (i64.const 5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i64.store32 + ;; CHECK-NEXT: (i64.store32 $0 ;; CHECK-NEXT: (call $store_ptr ;; CHECK-NEXT: (i32.const 34) ;; CHECK-NEXT: (i32.const 4) @@ -510,7 +510,7 @@ ;; CHECK-NEXT: (i64.const 6) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i64.store + ;; CHECK-NEXT: (i64.store $0 ;; CHECK-NEXT: (call $store_ptr ;; CHECK-NEXT: (i32.const 35) ;; CHECK-NEXT: (i32.const 8) @@ -522,7 +522,7 @@ ;; CHECK-NEXT: (i64.const 7) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (f32.store + ;; CHECK-NEXT: (f32.store $0 ;; CHECK-NEXT: (call $store_ptr ;; CHECK-NEXT: (i32.const 36) ;; CHECK-NEXT: (i32.const 4) @@ -534,7 +534,7 @@ ;; CHECK-NEXT: (f32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (f64.store + ;; CHECK-NEXT: (f64.store $0 ;; CHECK-NEXT: (call $store_ptr ;; CHECK-NEXT: (i32.const 37) ;; CHECK-NEXT: (i32.const 8) @@ -546,7 +546,7 @@ ;; CHECK-NEXT: (f64.const 9) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=1 + ;; CHECK-NEXT: (i32.store8 $0 offset=1 ;; CHECK-NEXT: (call $store_ptr ;; CHECK-NEXT: (i32.const 38) ;; CHECK-NEXT: (i32.const 1) @@ -558,7 +558,7 @@ ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 offset=2 align=1 + ;; CHECK-NEXT: (i32.store16 $0 offset=2 align=1 ;; CHECK-NEXT: (call $store_ptr ;; CHECK-NEXT: (i32.const 39) ;; CHECK-NEXT: (i32.const 2) @@ -570,7 +570,7 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=3 align=2 + ;; CHECK-NEXT: (i32.store $0 offset=3 align=2 ;; CHECK-NEXT: (call $store_ptr ;; CHECK-NEXT: (i32.const 40) ;; CHECK-NEXT: (i32.const 4) @@ -582,7 +582,7 @@ ;; CHECK-NEXT: (i32.const 3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i64.store8 offset=4 + ;; CHECK-NEXT: (i64.store8 $0 offset=4 ;; CHECK-NEXT: (call $store_ptr ;; CHECK-NEXT: (i32.const 41) ;; CHECK-NEXT: (i32.const 1) @@ -594,7 +594,7 @@ ;; CHECK-NEXT: (i64.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i64.store16 offset=5 + ;; CHECK-NEXT: (i64.store16 $0 offset=5 ;; CHECK-NEXT: (call $store_ptr ;; CHECK-NEXT: (i32.const 42) ;; CHECK-NEXT: (i32.const 2) @@ -606,7 +606,7 @@ ;; CHECK-NEXT: (i64.const 5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i64.store32 offset=6 align=2 + ;; CHECK-NEXT: (i64.store32 $0 offset=6 align=2 ;; CHECK-NEXT: (call $store_ptr ;; CHECK-NEXT: (i32.const 43) ;; CHECK-NEXT: (i32.const 4) @@ -618,7 +618,7 @@ ;; CHECK-NEXT: (i64.const 6) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i64.store offset=7 align=2 + ;; CHECK-NEXT: (i64.store $0 offset=7 align=2 ;; CHECK-NEXT: (call $store_ptr ;; CHECK-NEXT: (i32.const 44) ;; CHECK-NEXT: (i32.const 8) @@ -630,7 +630,7 @@ ;; CHECK-NEXT: (i64.const 7) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (f32.store offset=8 align=2 + ;; CHECK-NEXT: (f32.store $0 offset=8 align=2 ;; CHECK-NEXT: (call $store_ptr ;; CHECK-NEXT: (i32.const 45) ;; CHECK-NEXT: (i32.const 4) @@ -642,7 +642,7 @@ ;; CHECK-NEXT: (f32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (f64.store offset=9 align=2 + ;; CHECK-NEXT: (f64.store $0 offset=9 align=2 ;; CHECK-NEXT: (call $store_ptr ;; CHECK-NEXT: (i32.const 46) ;; CHECK-NEXT: (i32.const 8) diff --git a/test/lit/passes/local-cse.wast b/test/lit/passes/local-cse.wast index a2e728548f5..f207a856037 100644 --- a/test/lit/passes/local-cse.wast +++ b/test/lit/passes/local-cse.wast @@ -269,7 +269,7 @@ ;; CHECK-NEXT: (local $0 i32) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (local.tee $0 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 10) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/memory-packing_all-features.wast b/test/lit/passes/memory-packing_all-features.wast index 62a12fd719c..5b4ec23b4f7 100644 --- a/test/lit/passes/memory-packing_all-features.wast +++ b/test/lit/passes/memory-packing_all-features.wast @@ -114,7 +114,7 @@ ;; CHECK-NEXT: (i32.gt_u ;; CHECK-NEXT: (i32.const 42) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (memory.size) + ;; CHECK-NEXT: (memory.size $0) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -187,12 +187,12 @@ ;; CHECK-NEXT: (global.get $__mem_segment_drop_state) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill + ;; CHECK-NEXT: (memory.fill $0 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init 0 + ;; CHECK-NEXT: (memory.init $0 0 ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 15) @@ -218,22 +218,22 @@ (data "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00zeroes at start") ;; 2 ;; CHECK: (func $zeroes-at-start-not-split - ;; CHECK-NEXT: (memory.init 1 + ;; CHECK-NEXT: (memory.init $0 1 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 45) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init 1 + ;; CHECK-NEXT: (memory.init $0 1 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 45) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init 1 + ;; CHECK-NEXT: (memory.init $0 1 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 45) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init 1 + ;; CHECK-NEXT: (memory.init $0 1 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 45) @@ -267,7 +267,7 @@ (data "\00\00\00few zeroes at start") ;; 3 ;; CHECK: (func $few-zeroes-at-start - ;; CHECK-NEXT: (memory.init 2 + ;; CHECK-NEXT: (memory.init $0 2 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 22) @@ -287,12 +287,12 @@ ;; CHECK: (func $zeroes-at-end ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (memory.init 3 + ;; CHECK-NEXT: (memory.init $0 3 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 13) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill + ;; CHECK-NEXT: (memory.fill $0 ;; CHECK-NEXT: (i32.const 13) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) @@ -312,22 +312,22 @@ (data "zeroes at end\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") ;; 5 ;; CHECK: (func $zeroes-at-end-not-split - ;; CHECK-NEXT: (memory.init 4 + ;; CHECK-NEXT: (memory.init $0 4 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 43) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init 4 + ;; CHECK-NEXT: (memory.init $0 4 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 43) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init 4 + ;; CHECK-NEXT: (memory.init $0 4 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 43) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init 4 + ;; CHECK-NEXT: (memory.init $0 4 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 43) @@ -361,7 +361,7 @@ (data "few zeroes at end\00\00\00") ;; 6 ;; CHECK: (func $few-zeroes-at-end - ;; CHECK-NEXT: (memory.init 5 + ;; CHECK-NEXT: (memory.init $0 5 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 20) @@ -381,17 +381,17 @@ ;; CHECK: (func $zeroes-in-middle ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (memory.init 6 + ;; CHECK-NEXT: (memory.init $0 6 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 6) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill + ;; CHECK-NEXT: (memory.fill $0 ;; CHECK-NEXT: (i32.const 6) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init 7 + ;; CHECK-NEXT: (memory.init $0 7 ;; CHECK-NEXT: (i32.const 36) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 9) @@ -414,12 +414,12 @@ (data "zeroes\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00in middle") ;; 8 ;; CHECK: (func $zeroes-in-middle-not-split - ;; CHECK-NEXT: (memory.init 8 + ;; CHECK-NEXT: (memory.init $0 8 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 35) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init 8 + ;; CHECK-NEXT: (memory.init $0 8 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 45) @@ -443,7 +443,7 @@ (data "few zeroes\00\00\00in middle") ;; 9 ;; CHECK: (func $few-zeroes-in-middle - ;; CHECK-NEXT: (memory.init 9 + ;; CHECK-NEXT: (memory.init $0 9 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 22) @@ -463,27 +463,27 @@ ;; CHECK: (func $multiple-spans-of-zeroes ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (memory.init 10 + ;; CHECK-NEXT: (memory.init $0 10 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill + ;; CHECK-NEXT: (memory.fill $0 ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init 11 + ;; CHECK-NEXT: (memory.init $0 11 ;; CHECK-NEXT: (i32.const 38) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill + ;; CHECK-NEXT: (memory.fill $0 ;; CHECK-NEXT: (i32.const 43) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init 12 + ;; CHECK-NEXT: (memory.init $0 12 ;; CHECK-NEXT: (i32.const 73) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 9) @@ -512,37 +512,37 @@ ;; CHECK-NEXT: (global.get $__mem_segment_drop_state_0) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill + ;; CHECK-NEXT: (memory.fill $0 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init 13 + ;; CHECK-NEXT: (memory.init $0 13 ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill + ;; CHECK-NEXT: (memory.fill $0 ;; CHECK-NEXT: (i32.const 34) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init 14 + ;; CHECK-NEXT: (memory.init $0 14 ;; CHECK-NEXT: (i32.const 64) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill + ;; CHECK-NEXT: (memory.fill $0 ;; CHECK-NEXT: (i32.const 68) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init 15 + ;; CHECK-NEXT: (memory.init $0 15 ;; CHECK-NEXT: (i32.const 98) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 6) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill + ;; CHECK-NEXT: (memory.fill $0 ;; CHECK-NEXT: (i32.const 104) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) @@ -574,7 +574,7 @@ ;; CHECK-NEXT: (global.get $__mem_segment_drop_state_1) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill + ;; CHECK-NEXT: (memory.fill $0 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) @@ -596,7 +596,7 @@ (data "no zeroes") ;; 13 ;; CHECK: (func $no-zeroes - ;; CHECK-NEXT: (memory.init 16 + ;; CHECK-NEXT: (memory.init $0 16 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 9) @@ -619,7 +619,7 @@ ;; CHECK-NEXT: (i32.gt_u ;; CHECK-NEXT: (i32.const 13) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (memory.size) + ;; CHECK-NEXT: (memory.size $0) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -763,12 +763,12 @@ ;; CHECK-NEXT: (global.get $__mem_segment_drop_state) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill + ;; CHECK-NEXT: (memory.fill $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init 0 + ;; CHECK-NEXT: (memory.init $0 0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 30) @@ -776,7 +776,7 @@ ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill + ;; CHECK-NEXT: (memory.fill $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 34) @@ -784,7 +784,7 @@ ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init 1 + ;; CHECK-NEXT: (memory.init $0 1 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 64) @@ -792,7 +792,7 @@ ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill + ;; CHECK-NEXT: (memory.fill $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 68) @@ -800,7 +800,7 @@ ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init 2 + ;; CHECK-NEXT: (memory.init $0 2 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 98) @@ -808,7 +808,7 @@ ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 6) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill + ;; CHECK-NEXT: (memory.fill $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 104) @@ -838,7 +838,7 @@ (data "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00even\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00more\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00zeroes\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") ;; 1 ;; CHECK: (func $nonconst-offset - ;; CHECK-NEXT: (memory.init 3 + ;; CHECK-NEXT: (memory.init $0 3 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (global.get $param) ;; CHECK-NEXT: (i32.const 134) @@ -857,7 +857,7 @@ (data "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00even\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00more\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00zeroes\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") ;; 2 ;; CHECK: (func $nonconst-size - ;; CHECK-NEXT: (memory.init 4 + ;; CHECK-NEXT: (memory.init $0 4 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (global.get $param) @@ -881,37 +881,37 @@ ;; CHECK-NEXT: (global.get $__mem_segment_drop_state_0) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill + ;; CHECK-NEXT: (memory.fill $0 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 20) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init 5 + ;; CHECK-NEXT: (memory.init $0 5 ;; CHECK-NEXT: (i32.const 20) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill + ;; CHECK-NEXT: (memory.fill $0 ;; CHECK-NEXT: (i32.const 24) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init 6 + ;; CHECK-NEXT: (memory.init $0 6 ;; CHECK-NEXT: (i32.const 54) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill + ;; CHECK-NEXT: (memory.fill $0 ;; CHECK-NEXT: (i32.const 58) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init 7 + ;; CHECK-NEXT: (memory.init $0 7 ;; CHECK-NEXT: (i32.const 88) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 6) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill + ;; CHECK-NEXT: (memory.fill $0 ;; CHECK-NEXT: (i32.const 94) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) @@ -939,32 +939,32 @@ ;; CHECK: (func $full-skip-start ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (memory.init 8 + ;; CHECK-NEXT: (memory.init $0 8 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill + ;; CHECK-NEXT: (memory.fill $0 ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init 9 + ;; CHECK-NEXT: (memory.init $0 9 ;; CHECK-NEXT: (i32.const 32) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill + ;; CHECK-NEXT: (memory.fill $0 ;; CHECK-NEXT: (i32.const 36) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init 10 + ;; CHECK-NEXT: (memory.init $0 10 ;; CHECK-NEXT: (i32.const 66) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 6) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill + ;; CHECK-NEXT: (memory.fill $0 ;; CHECK-NEXT: (i32.const 72) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) @@ -993,37 +993,37 @@ ;; CHECK-NEXT: (global.get $__mem_segment_drop_state_1) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill + ;; CHECK-NEXT: (memory.fill $0 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init 11 + ;; CHECK-NEXT: (memory.init $0 11 ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill + ;; CHECK-NEXT: (memory.fill $0 ;; CHECK-NEXT: (i32.const 34) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init 12 + ;; CHECK-NEXT: (memory.init $0 12 ;; CHECK-NEXT: (i32.const 64) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill + ;; CHECK-NEXT: (memory.fill $0 ;; CHECK-NEXT: (i32.const 68) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init 13 + ;; CHECK-NEXT: (memory.init $0 13 ;; CHECK-NEXT: (i32.const 98) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 6) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill + ;; CHECK-NEXT: (memory.fill $0 ;; CHECK-NEXT: (i32.const 104) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 20) @@ -1055,32 +1055,32 @@ ;; CHECK-NEXT: (global.get $__mem_segment_drop_state_2) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill + ;; CHECK-NEXT: (memory.fill $0 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init 14 + ;; CHECK-NEXT: (memory.init $0 14 ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill + ;; CHECK-NEXT: (memory.fill $0 ;; CHECK-NEXT: (i32.const 34) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init 15 + ;; CHECK-NEXT: (memory.init $0 15 ;; CHECK-NEXT: (i32.const 64) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill + ;; CHECK-NEXT: (memory.fill $0 ;; CHECK-NEXT: (i32.const 68) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init 16 + ;; CHECK-NEXT: (memory.init $0 16 ;; CHECK-NEXT: (i32.const 98) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 4) @@ -1112,7 +1112,7 @@ ;; CHECK-NEXT: (global.get $__mem_segment_drop_state_3) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill + ;; CHECK-NEXT: (memory.fill $0 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 10) @@ -1139,7 +1139,7 @@ (data "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00even\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00more\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00zeroes\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") ;; 8 ;; CHECK: (func $slice-nonzeroes - ;; CHECK-NEXT: (memory.init 20 + ;; CHECK-NEXT: (memory.init $0 20 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: (i32.const 2) @@ -1167,7 +1167,7 @@ ;; CHECK-NEXT: (i32.gt_u ;; CHECK-NEXT: (i32.const 13) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (memory.size) + ;; CHECK-NEXT: (memory.size $0) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1201,7 +1201,7 @@ ;; CHECK-NEXT: (i32.gt_u ;; CHECK-NEXT: (i32.const 13) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (memory.size) + ;; CHECK-NEXT: (memory.size $0) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1304,7 +1304,7 @@ ;; CHECK-NEXT: (i32.gt_u ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (memory.size) + ;; CHECK-NEXT: (memory.size $0) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1372,7 +1372,7 @@ ;; CHECK-NEXT: (i32.gt_u ;; CHECK-NEXT: (i32.const 13) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (memory.size) + ;; CHECK-NEXT: (memory.size $0) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1406,7 +1406,7 @@ ;; CHECK-NEXT: (i32.gt_u ;; CHECK-NEXT: (i32.const 13) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (memory.size) + ;; CHECK-NEXT: (memory.size $0) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1440,7 +1440,7 @@ ;; CHECK-NEXT: (i32.gt_u ;; CHECK-NEXT: (i32.const 13) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (memory.size) + ;; CHECK-NEXT: (memory.size $0) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1473,7 +1473,7 @@ ;; CHECK-NEXT: (i32.gt_u ;; CHECK-NEXT: (i32.const 13) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (memory.size) + ;; CHECK-NEXT: (memory.size $0) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1638,442 +1638,442 @@ ;; CHECK: (func $init-lots ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (memory.init 0 + ;; CHECK-NEXT: (memory.init $0 0 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill + ;; CHECK-NEXT: (memory.fill $0 ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init 1 + ;; CHECK-NEXT: (memory.init $0 1 ;; CHECK-NEXT: (i32.const 31) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill + ;; CHECK-NEXT: (memory.fill $0 ;; CHECK-NEXT: (i32.const 32) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init 2 + ;; CHECK-NEXT: (memory.init $0 2 ;; CHECK-NEXT: (i32.const 62) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill + ;; CHECK-NEXT: (memory.fill $0 ;; CHECK-NEXT: (i32.const 63) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init 3 + ;; CHECK-NEXT: (memory.init $0 3 ;; CHECK-NEXT: (i32.const 93) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill + ;; CHECK-NEXT: (memory.fill $0 ;; CHECK-NEXT: (i32.const 94) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init 4 + ;; CHECK-NEXT: (memory.init $0 4 ;; CHECK-NEXT: (i32.const 124) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill + ;; CHECK-NEXT: (memory.fill $0 ;; CHECK-NEXT: (i32.const 125) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init 5 + ;; CHECK-NEXT: (memory.init $0 5 ;; CHECK-NEXT: (i32.const 155) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill + ;; CHECK-NEXT: (memory.fill $0 ;; CHECK-NEXT: (i32.const 156) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init 6 + ;; CHECK-NEXT: (memory.init $0 6 ;; CHECK-NEXT: (i32.const 186) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill + ;; CHECK-NEXT: (memory.fill $0 ;; CHECK-NEXT: (i32.const 187) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init 7 + ;; CHECK-NEXT: (memory.init $0 7 ;; CHECK-NEXT: (i32.const 217) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill + ;; CHECK-NEXT: (memory.fill $0 ;; CHECK-NEXT: (i32.const 218) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init 8 + ;; CHECK-NEXT: (memory.init $0 8 ;; CHECK-NEXT: (i32.const 248) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill + ;; CHECK-NEXT: (memory.fill $0 ;; CHECK-NEXT: (i32.const 249) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init 9 + ;; CHECK-NEXT: (memory.init $0 9 ;; CHECK-NEXT: (i32.const 279) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill + ;; CHECK-NEXT: (memory.fill $0 ;; CHECK-NEXT: (i32.const 280) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init 10 + ;; CHECK-NEXT: (memory.init $0 10 ;; CHECK-NEXT: (i32.const 310) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill + ;; CHECK-NEXT: (memory.fill $0 ;; CHECK-NEXT: (i32.const 311) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init 11 + ;; CHECK-NEXT: (memory.init $0 11 ;; CHECK-NEXT: (i32.const 341) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill + ;; CHECK-NEXT: (memory.fill $0 ;; CHECK-NEXT: (i32.const 342) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init 12 + ;; CHECK-NEXT: (memory.init $0 12 ;; CHECK-NEXT: (i32.const 372) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill + ;; CHECK-NEXT: (memory.fill $0 ;; CHECK-NEXT: (i32.const 373) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init 13 + ;; CHECK-NEXT: (memory.init $0 13 ;; CHECK-NEXT: (i32.const 403) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill + ;; CHECK-NEXT: (memory.fill $0 ;; CHECK-NEXT: (i32.const 404) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init 14 + ;; CHECK-NEXT: (memory.init $0 14 ;; CHECK-NEXT: (i32.const 434) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill + ;; CHECK-NEXT: (memory.fill $0 ;; CHECK-NEXT: (i32.const 435) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init 15 + ;; CHECK-NEXT: (memory.init $0 15 ;; CHECK-NEXT: (i32.const 465) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill + ;; CHECK-NEXT: (memory.fill $0 ;; CHECK-NEXT: (i32.const 466) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init 16 + ;; CHECK-NEXT: (memory.init $0 16 ;; CHECK-NEXT: (i32.const 496) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill + ;; CHECK-NEXT: (memory.fill $0 ;; CHECK-NEXT: (i32.const 497) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init 17 + ;; CHECK-NEXT: (memory.init $0 17 ;; CHECK-NEXT: (i32.const 527) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill + ;; CHECK-NEXT: (memory.fill $0 ;; CHECK-NEXT: (i32.const 528) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init 18 + ;; CHECK-NEXT: (memory.init $0 18 ;; CHECK-NEXT: (i32.const 558) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill + ;; CHECK-NEXT: (memory.fill $0 ;; CHECK-NEXT: (i32.const 559) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init 19 + ;; CHECK-NEXT: (memory.init $0 19 ;; CHECK-NEXT: (i32.const 589) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill + ;; CHECK-NEXT: (memory.fill $0 ;; CHECK-NEXT: (i32.const 590) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init 20 + ;; CHECK-NEXT: (memory.init $0 20 ;; CHECK-NEXT: (i32.const 620) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill + ;; CHECK-NEXT: (memory.fill $0 ;; CHECK-NEXT: (i32.const 621) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init 21 + ;; CHECK-NEXT: (memory.init $0 21 ;; CHECK-NEXT: (i32.const 651) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill + ;; CHECK-NEXT: (memory.fill $0 ;; CHECK-NEXT: (i32.const 652) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init 22 + ;; CHECK-NEXT: (memory.init $0 22 ;; CHECK-NEXT: (i32.const 682) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill + ;; CHECK-NEXT: (memory.fill $0 ;; CHECK-NEXT: (i32.const 683) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init 23 + ;; CHECK-NEXT: (memory.init $0 23 ;; CHECK-NEXT: (i32.const 713) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill + ;; CHECK-NEXT: (memory.fill $0 ;; CHECK-NEXT: (i32.const 714) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init 24 + ;; CHECK-NEXT: (memory.init $0 24 ;; CHECK-NEXT: (i32.const 744) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill + ;; CHECK-NEXT: (memory.fill $0 ;; CHECK-NEXT: (i32.const 745) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init 25 + ;; CHECK-NEXT: (memory.init $0 25 ;; CHECK-NEXT: (i32.const 775) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill + ;; CHECK-NEXT: (memory.fill $0 ;; CHECK-NEXT: (i32.const 776) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init 26 + ;; CHECK-NEXT: (memory.init $0 26 ;; CHECK-NEXT: (i32.const 806) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill + ;; CHECK-NEXT: (memory.fill $0 ;; CHECK-NEXT: (i32.const 807) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init 27 + ;; CHECK-NEXT: (memory.init $0 27 ;; CHECK-NEXT: (i32.const 837) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill + ;; CHECK-NEXT: (memory.fill $0 ;; CHECK-NEXT: (i32.const 838) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init 28 + ;; CHECK-NEXT: (memory.init $0 28 ;; CHECK-NEXT: (i32.const 868) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill + ;; CHECK-NEXT: (memory.fill $0 ;; CHECK-NEXT: (i32.const 869) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init 29 + ;; CHECK-NEXT: (memory.init $0 29 ;; CHECK-NEXT: (i32.const 899) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill + ;; CHECK-NEXT: (memory.fill $0 ;; CHECK-NEXT: (i32.const 900) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init 30 + ;; CHECK-NEXT: (memory.init $0 30 ;; CHECK-NEXT: (i32.const 930) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill + ;; CHECK-NEXT: (memory.fill $0 ;; CHECK-NEXT: (i32.const 931) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init 31 + ;; CHECK-NEXT: (memory.init $0 31 ;; CHECK-NEXT: (i32.const 961) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill + ;; CHECK-NEXT: (memory.fill $0 ;; CHECK-NEXT: (i32.const 962) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init 32 + ;; CHECK-NEXT: (memory.init $0 32 ;; CHECK-NEXT: (i32.const 992) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill + ;; CHECK-NEXT: (memory.fill $0 ;; CHECK-NEXT: (i32.const 993) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init 33 + ;; CHECK-NEXT: (memory.init $0 33 ;; CHECK-NEXT: (i32.const 1023) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill + ;; CHECK-NEXT: (memory.fill $0 ;; CHECK-NEXT: (i32.const 1024) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init 34 + ;; CHECK-NEXT: (memory.init $0 34 ;; CHECK-NEXT: (i32.const 1054) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill + ;; CHECK-NEXT: (memory.fill $0 ;; CHECK-NEXT: (i32.const 1055) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init 35 + ;; CHECK-NEXT: (memory.init $0 35 ;; CHECK-NEXT: (i32.const 1085) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill + ;; CHECK-NEXT: (memory.fill $0 ;; CHECK-NEXT: (i32.const 1086) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init 36 + ;; CHECK-NEXT: (memory.init $0 36 ;; CHECK-NEXT: (i32.const 1116) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill + ;; CHECK-NEXT: (memory.fill $0 ;; CHECK-NEXT: (i32.const 1117) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init 37 + ;; CHECK-NEXT: (memory.init $0 37 ;; CHECK-NEXT: (i32.const 1147) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill + ;; CHECK-NEXT: (memory.fill $0 ;; CHECK-NEXT: (i32.const 1148) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init 38 + ;; CHECK-NEXT: (memory.init $0 38 ;; CHECK-NEXT: (i32.const 1178) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill + ;; CHECK-NEXT: (memory.fill $0 ;; CHECK-NEXT: (i32.const 1179) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init 39 + ;; CHECK-NEXT: (memory.init $0 39 ;; CHECK-NEXT: (i32.const 1209) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill + ;; CHECK-NEXT: (memory.fill $0 ;; CHECK-NEXT: (i32.const 1210) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init 40 + ;; CHECK-NEXT: (memory.init $0 40 ;; CHECK-NEXT: (i32.const 1240) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill + ;; CHECK-NEXT: (memory.fill $0 ;; CHECK-NEXT: (i32.const 1241) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init 41 + ;; CHECK-NEXT: (memory.init $0 41 ;; CHECK-NEXT: (i32.const 1271) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill + ;; CHECK-NEXT: (memory.fill $0 ;; CHECK-NEXT: (i32.const 1272) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init 42 + ;; CHECK-NEXT: (memory.init $0 42 ;; CHECK-NEXT: (i32.const 1302) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill + ;; CHECK-NEXT: (memory.fill $0 ;; CHECK-NEXT: (i32.const 1303) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init 43 + ;; CHECK-NEXT: (memory.init $0 43 ;; CHECK-NEXT: (i32.const 1333) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill + ;; CHECK-NEXT: (memory.fill $0 ;; CHECK-NEXT: (i32.const 1334) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 11) @@ -2234,12 +2234,12 @@ ;; CHECK-NEXT: (global.get $__mem_segment_drop_state) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill + ;; CHECK-NEXT: (memory.fill $0 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init 1 + ;; CHECK-NEXT: (memory.init $0 1 ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 8) @@ -2283,7 +2283,7 @@ ;; CHECK: (data "foo") (data "foo") ;; CHECK: (func $0 - ;; CHECK-NEXT: (memory.init 0 + ;; CHECK-NEXT: (memory.init $0 0 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: (i32.const 1) diff --git a/test/lit/passes/optimize-instructions-atomics.wast b/test/lit/passes/optimize-instructions-atomics.wast index 979afde68a7..9326db10eb4 100644 --- a/test/lit/passes/optimize-instructions-atomics.wast +++ b/test/lit/passes/optimize-instructions-atomics.wast @@ -9,7 +9,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.shr_s ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.atomic.load8_u + ;; CHECK-NEXT: (i32.atomic.load8_u $0 ;; CHECK-NEXT: (i32.const 100) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 24) @@ -35,12 +35,12 @@ ;; CHECK: (func $dont_simplify_reinterpret_atomic_load_store (param $x i32) (param $y f32) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (f64.reinterpret_i64 - ;; CHECK-NEXT: (i64.atomic.load + ;; CHECK-NEXT: (i64.atomic.load $0 ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.atomic.store + ;; CHECK-NEXT: (i32.atomic.store $0 ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: (i32.reinterpret_f32 ;; CHECK-NEXT: (local.get $y) @@ -54,33 +54,33 @@ ;; CHECK: (func $combine_atomic_load_and_extends (param $x i32) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i64.atomic.load8_u + ;; CHECK-NEXT: (i64.atomic.load8_u $0 ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i64.atomic.load16_u + ;; CHECK-NEXT: (i64.atomic.load16_u $0 ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i64.atomic.load32_u + ;; CHECK-NEXT: (i64.atomic.load32_u $0 ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i64.atomic.load8_u + ;; CHECK-NEXT: (i64.atomic.load8_u $0 ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i64.atomic.load16_u + ;; CHECK-NEXT: (i64.atomic.load16_u $0 ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i64.extend_i32_s - ;; CHECK-NEXT: (i32.atomic.load + ;; CHECK-NEXT: (i32.atomic.load $0 ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/optimize-instructions-bulk-memory.wast b/test/lit/passes/optimize-instructions-bulk-memory.wast index 4f30e3e9abb..6e2f3a952c6 100644 --- a/test/lit/passes/optimize-instructions-bulk-memory.wast +++ b/test/lit/passes/optimize-instructions-bulk-memory.wast @@ -5,148 +5,148 @@ (module (memory 0) ;; CHECK: (func $optimize-bulk-memory-copy (param $dst i32) (param $src i32) (param $sz i32) - ;; CHECK-NEXT: (memory.copy + ;; CHECK-NEXT: (memory.copy $0 $0 ;; CHECK-NEXT: (local.get $dst) ;; CHECK-NEXT: (local.get $dst) ;; CHECK-NEXT: (local.get $sz) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.copy + ;; CHECK-NEXT: (memory.copy $0 $0 ;; CHECK-NEXT: (local.get $dst) ;; CHECK-NEXT: (local.get $src) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 + ;; CHECK-NEXT: (i32.store8 $0 ;; CHECK-NEXT: (local.get $dst) - ;; CHECK-NEXT: (i32.load8_u + ;; CHECK-NEXT: (i32.load8_u $0 ;; CHECK-NEXT: (local.get $src) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 align=1 + ;; CHECK-NEXT: (i32.store16 $0 align=1 ;; CHECK-NEXT: (local.get $dst) - ;; CHECK-NEXT: (i32.load16_u align=1 + ;; CHECK-NEXT: (i32.load16_u $0 align=1 ;; CHECK-NEXT: (local.get $src) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.copy + ;; CHECK-NEXT: (memory.copy $0 $0 ;; CHECK-NEXT: (local.get $dst) ;; CHECK-NEXT: (local.get $src) ;; CHECK-NEXT: (i32.const 3) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store align=1 + ;; CHECK-NEXT: (i32.store $0 align=1 ;; CHECK-NEXT: (local.get $dst) - ;; CHECK-NEXT: (i32.load align=1 + ;; CHECK-NEXT: (i32.load $0 align=1 ;; CHECK-NEXT: (local.get $src) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.copy + ;; CHECK-NEXT: (memory.copy $0 $0 ;; CHECK-NEXT: (local.get $dst) ;; CHECK-NEXT: (local.get $src) ;; CHECK-NEXT: (i32.const 5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.copy + ;; CHECK-NEXT: (memory.copy $0 $0 ;; CHECK-NEXT: (local.get $dst) ;; CHECK-NEXT: (local.get $src) ;; CHECK-NEXT: (i32.const 6) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.copy + ;; CHECK-NEXT: (memory.copy $0 $0 ;; CHECK-NEXT: (local.get $dst) ;; CHECK-NEXT: (local.get $src) ;; CHECK-NEXT: (i32.const 7) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i64.store align=1 + ;; CHECK-NEXT: (i64.store $0 align=1 ;; CHECK-NEXT: (local.get $dst) - ;; CHECK-NEXT: (i64.load align=1 + ;; CHECK-NEXT: (i64.load $0 align=1 ;; CHECK-NEXT: (local.get $src) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (v128.store align=1 + ;; CHECK-NEXT: (v128.store $0 align=1 ;; CHECK-NEXT: (local.get $dst) - ;; CHECK-NEXT: (v128.load align=1 + ;; CHECK-NEXT: (v128.load $0 align=1 ;; CHECK-NEXT: (local.get $src) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.copy + ;; CHECK-NEXT: (memory.copy $0 $0 ;; CHECK-NEXT: (local.get $dst) ;; CHECK-NEXT: (local.get $src) ;; CHECK-NEXT: (local.get $sz) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.copy + ;; CHECK-NEXT: (memory.copy $0 $0 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 0) - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; NOSIMD: (func $optimize-bulk-memory-copy (param $dst i32) (param $src i32) (param $sz i32) - ;; NOSIMD-NEXT: (memory.copy + ;; NOSIMD-NEXT: (memory.copy $0 $0 ;; NOSIMD-NEXT: (local.get $dst) ;; NOSIMD-NEXT: (local.get $dst) ;; NOSIMD-NEXT: (local.get $sz) ;; NOSIMD-NEXT: ) - ;; NOSIMD-NEXT: (memory.copy + ;; NOSIMD-NEXT: (memory.copy $0 $0 ;; NOSIMD-NEXT: (local.get $dst) ;; NOSIMD-NEXT: (local.get $src) ;; NOSIMD-NEXT: (i32.const 0) ;; NOSIMD-NEXT: ) - ;; NOSIMD-NEXT: (i32.store8 + ;; NOSIMD-NEXT: (i32.store8 $0 ;; NOSIMD-NEXT: (local.get $dst) - ;; NOSIMD-NEXT: (i32.load8_u + ;; NOSIMD-NEXT: (i32.load8_u $0 ;; NOSIMD-NEXT: (local.get $src) ;; NOSIMD-NEXT: ) ;; NOSIMD-NEXT: ) - ;; NOSIMD-NEXT: (i32.store16 align=1 + ;; NOSIMD-NEXT: (i32.store16 $0 align=1 ;; NOSIMD-NEXT: (local.get $dst) - ;; NOSIMD-NEXT: (i32.load16_u align=1 + ;; NOSIMD-NEXT: (i32.load16_u $0 align=1 ;; NOSIMD-NEXT: (local.get $src) ;; NOSIMD-NEXT: ) ;; NOSIMD-NEXT: ) - ;; NOSIMD-NEXT: (memory.copy + ;; NOSIMD-NEXT: (memory.copy $0 $0 ;; NOSIMD-NEXT: (local.get $dst) ;; NOSIMD-NEXT: (local.get $src) ;; NOSIMD-NEXT: (i32.const 3) ;; NOSIMD-NEXT: ) - ;; NOSIMD-NEXT: (i32.store align=1 + ;; NOSIMD-NEXT: (i32.store $0 align=1 ;; NOSIMD-NEXT: (local.get $dst) - ;; NOSIMD-NEXT: (i32.load align=1 + ;; NOSIMD-NEXT: (i32.load $0 align=1 ;; NOSIMD-NEXT: (local.get $src) ;; NOSIMD-NEXT: ) ;; NOSIMD-NEXT: ) - ;; NOSIMD-NEXT: (memory.copy + ;; NOSIMD-NEXT: (memory.copy $0 $0 ;; NOSIMD-NEXT: (local.get $dst) ;; NOSIMD-NEXT: (local.get $src) ;; NOSIMD-NEXT: (i32.const 5) ;; NOSIMD-NEXT: ) - ;; NOSIMD-NEXT: (memory.copy + ;; NOSIMD-NEXT: (memory.copy $0 $0 ;; NOSIMD-NEXT: (local.get $dst) ;; NOSIMD-NEXT: (local.get $src) ;; NOSIMD-NEXT: (i32.const 6) ;; NOSIMD-NEXT: ) - ;; NOSIMD-NEXT: (memory.copy + ;; NOSIMD-NEXT: (memory.copy $0 $0 ;; NOSIMD-NEXT: (local.get $dst) ;; NOSIMD-NEXT: (local.get $src) ;; NOSIMD-NEXT: (i32.const 7) ;; NOSIMD-NEXT: ) - ;; NOSIMD-NEXT: (i64.store align=1 + ;; NOSIMD-NEXT: (i64.store $0 align=1 ;; NOSIMD-NEXT: (local.get $dst) - ;; NOSIMD-NEXT: (i64.load align=1 + ;; NOSIMD-NEXT: (i64.load $0 align=1 ;; NOSIMD-NEXT: (local.get $src) ;; NOSIMD-NEXT: ) ;; NOSIMD-NEXT: ) - ;; NOSIMD-NEXT: (memory.copy + ;; NOSIMD-NEXT: (memory.copy $0 $0 ;; NOSIMD-NEXT: (local.get $dst) ;; NOSIMD-NEXT: (local.get $src) ;; NOSIMD-NEXT: (i32.const 16) ;; NOSIMD-NEXT: ) - ;; NOSIMD-NEXT: (memory.copy + ;; NOSIMD-NEXT: (memory.copy $0 $0 ;; NOSIMD-NEXT: (local.get $dst) ;; NOSIMD-NEXT: (local.get $src) ;; NOSIMD-NEXT: (local.get $sz) ;; NOSIMD-NEXT: ) - ;; NOSIMD-NEXT: (memory.copy + ;; NOSIMD-NEXT: (memory.copy $0 $0 ;; NOSIMD-NEXT: (i32.const 0) ;; NOSIMD-NEXT: (i32.const 0) - ;; NOSIMD-NEXT: (i32.load + ;; NOSIMD-NEXT: (i32.load $0 ;; NOSIMD-NEXT: (i32.const 3) ;; NOSIMD-NEXT: ) ;; NOSIMD-NEXT: ) @@ -234,98 +234,98 @@ ) ;; CHECK: (func $optimize-bulk-memory-fill (param $dst i32) (param $val i32) (param $sz i32) - ;; CHECK-NEXT: (memory.fill + ;; CHECK-NEXT: (memory.fill $0 ;; CHECK-NEXT: (local.get $dst) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 + ;; CHECK-NEXT: (i32.store8 $0 ;; CHECK-NEXT: (local.get $dst) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 + ;; CHECK-NEXT: (i32.store8 $0 ;; CHECK-NEXT: (local.get $dst) ;; CHECK-NEXT: (local.get $val) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 + ;; CHECK-NEXT: (i32.store8 $0 ;; CHECK-NEXT: (local.get $dst) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 + ;; CHECK-NEXT: (i32.store8 $0 ;; CHECK-NEXT: (local.get $dst) ;; CHECK-NEXT: (i32.const 255) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 align=1 + ;; CHECK-NEXT: (i32.store16 $0 align=1 ;; CHECK-NEXT: (local.get $dst) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 align=1 + ;; CHECK-NEXT: (i32.store16 $0 align=1 ;; CHECK-NEXT: (local.get $dst) ;; CHECK-NEXT: (i32.const 257) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 align=1 + ;; CHECK-NEXT: (i32.store16 $0 align=1 ;; CHECK-NEXT: (local.get $dst) ;; CHECK-NEXT: (i32.const 65535) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store align=1 + ;; CHECK-NEXT: (i32.store $0 align=1 ;; CHECK-NEXT: (local.get $dst) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i64.store align=1 + ;; CHECK-NEXT: (i64.store $0 align=1 ;; CHECK-NEXT: (local.get $dst) ;; CHECK-NEXT: (i64.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (v128.store align=1 + ;; CHECK-NEXT: (v128.store $0 align=1 ;; CHECK-NEXT: (local.get $dst) ;; CHECK-NEXT: (v128.const i32x4 0x00000000 0x00000000 0x00000000 0x00000000) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store align=1 + ;; CHECK-NEXT: (i32.store $0 align=1 ;; CHECK-NEXT: (local.get $dst) ;; CHECK-NEXT: (i32.const 16843009) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i64.store align=1 + ;; CHECK-NEXT: (i64.store $0 align=1 ;; CHECK-NEXT: (local.get $dst) ;; CHECK-NEXT: (i64.const 72340172838076673) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (v128.store align=1 + ;; CHECK-NEXT: (v128.store $0 align=1 ;; CHECK-NEXT: (local.get $dst) ;; CHECK-NEXT: (v128.const i32x4 0x01010101 0x01010101 0x01010101 0x01010101) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (v128.store align=1 + ;; CHECK-NEXT: (v128.store $0 align=1 ;; CHECK-NEXT: (local.get $dst) ;; CHECK-NEXT: (v128.const i32x4 0xffffffff 0xffffffff 0xffffffff 0xffffffff) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill + ;; CHECK-NEXT: (memory.fill $0 ;; CHECK-NEXT: (local.get $dst) ;; CHECK-NEXT: (local.get $val) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill + ;; CHECK-NEXT: (memory.fill $0 ;; CHECK-NEXT: (local.get $dst) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (local.get $sz) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill + ;; CHECK-NEXT: (memory.fill $0 ;; CHECK-NEXT: (local.get $dst) ;; CHECK-NEXT: (local.get $val) ;; CHECK-NEXT: (local.get $sz) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill + ;; CHECK-NEXT: (memory.fill $0 ;; CHECK-NEXT: (local.get $dst) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 3) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill + ;; CHECK-NEXT: (memory.fill $0 ;; CHECK-NEXT: (local.get $dst) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: (i32.const 3) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill + ;; CHECK-NEXT: (memory.fill $0 ;; CHECK-NEXT: (local.get $dst) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 17) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill + ;; CHECK-NEXT: (memory.fill $0 ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: (i32.const 16) @@ -335,122 +335,122 @@ ;; NOSIMD-NEXT: (local $3 i32) ;; NOSIMD-NEXT: (local $4 i32) ;; NOSIMD-NEXT: (local $5 i32) - ;; NOSIMD-NEXT: (memory.fill + ;; NOSIMD-NEXT: (memory.fill $0 ;; NOSIMD-NEXT: (local.get $dst) ;; NOSIMD-NEXT: (i32.const 0) ;; NOSIMD-NEXT: (i32.const 0) ;; NOSIMD-NEXT: ) - ;; NOSIMD-NEXT: (i32.store8 + ;; NOSIMD-NEXT: (i32.store8 $0 ;; NOSIMD-NEXT: (local.get $dst) ;; NOSIMD-NEXT: (i32.const 0) ;; NOSIMD-NEXT: ) - ;; NOSIMD-NEXT: (i32.store8 + ;; NOSIMD-NEXT: (i32.store8 $0 ;; NOSIMD-NEXT: (local.get $dst) ;; NOSIMD-NEXT: (local.get $val) ;; NOSIMD-NEXT: ) - ;; NOSIMD-NEXT: (i32.store8 + ;; NOSIMD-NEXT: (i32.store8 $0 ;; NOSIMD-NEXT: (local.get $dst) ;; NOSIMD-NEXT: (i32.const 1) ;; NOSIMD-NEXT: ) - ;; NOSIMD-NEXT: (i32.store8 + ;; NOSIMD-NEXT: (i32.store8 $0 ;; NOSIMD-NEXT: (local.get $dst) ;; NOSIMD-NEXT: (i32.const 255) ;; NOSIMD-NEXT: ) - ;; NOSIMD-NEXT: (i32.store16 align=1 + ;; NOSIMD-NEXT: (i32.store16 $0 align=1 ;; NOSIMD-NEXT: (local.get $dst) ;; NOSIMD-NEXT: (i32.const 0) ;; NOSIMD-NEXT: ) - ;; NOSIMD-NEXT: (i32.store16 align=1 + ;; NOSIMD-NEXT: (i32.store16 $0 align=1 ;; NOSIMD-NEXT: (local.get $dst) ;; NOSIMD-NEXT: (i32.const 257) ;; NOSIMD-NEXT: ) - ;; NOSIMD-NEXT: (i32.store16 align=1 + ;; NOSIMD-NEXT: (i32.store16 $0 align=1 ;; NOSIMD-NEXT: (local.get $dst) ;; NOSIMD-NEXT: (i32.const 65535) ;; NOSIMD-NEXT: ) - ;; NOSIMD-NEXT: (i32.store align=1 + ;; NOSIMD-NEXT: (i32.store $0 align=1 ;; NOSIMD-NEXT: (local.get $dst) ;; NOSIMD-NEXT: (i32.const 0) ;; NOSIMD-NEXT: ) - ;; NOSIMD-NEXT: (i64.store align=1 + ;; NOSIMD-NEXT: (i64.store $0 align=1 ;; NOSIMD-NEXT: (local.get $dst) ;; NOSIMD-NEXT: (i64.const 0) ;; NOSIMD-NEXT: ) ;; NOSIMD-NEXT: (block - ;; NOSIMD-NEXT: (i64.store align=1 + ;; NOSIMD-NEXT: (i64.store $0 align=1 ;; NOSIMD-NEXT: (local.tee $3 ;; NOSIMD-NEXT: (local.get $dst) ;; NOSIMD-NEXT: ) ;; NOSIMD-NEXT: (i64.const 0) ;; NOSIMD-NEXT: ) - ;; NOSIMD-NEXT: (i64.store offset=8 align=1 + ;; NOSIMD-NEXT: (i64.store $0 offset=8 align=1 ;; NOSIMD-NEXT: (local.get $3) ;; NOSIMD-NEXT: (i64.const 0) ;; NOSIMD-NEXT: ) ;; NOSIMD-NEXT: ) - ;; NOSIMD-NEXT: (i32.store align=1 + ;; NOSIMD-NEXT: (i32.store $0 align=1 ;; NOSIMD-NEXT: (local.get $dst) ;; NOSIMD-NEXT: (i32.const 16843009) ;; NOSIMD-NEXT: ) - ;; NOSIMD-NEXT: (i64.store align=1 + ;; NOSIMD-NEXT: (i64.store $0 align=1 ;; NOSIMD-NEXT: (local.get $dst) ;; NOSIMD-NEXT: (i64.const 72340172838076673) ;; NOSIMD-NEXT: ) ;; NOSIMD-NEXT: (block - ;; NOSIMD-NEXT: (i64.store align=1 + ;; NOSIMD-NEXT: (i64.store $0 align=1 ;; NOSIMD-NEXT: (local.tee $4 ;; NOSIMD-NEXT: (local.get $dst) ;; NOSIMD-NEXT: ) ;; NOSIMD-NEXT: (i64.const 72340172838076673) ;; NOSIMD-NEXT: ) - ;; NOSIMD-NEXT: (i64.store offset=8 align=1 + ;; NOSIMD-NEXT: (i64.store $0 offset=8 align=1 ;; NOSIMD-NEXT: (local.get $4) ;; NOSIMD-NEXT: (i64.const 72340172838076673) ;; NOSIMD-NEXT: ) ;; NOSIMD-NEXT: ) ;; NOSIMD-NEXT: (block - ;; NOSIMD-NEXT: (i64.store align=1 + ;; NOSIMD-NEXT: (i64.store $0 align=1 ;; NOSIMD-NEXT: (local.tee $5 ;; NOSIMD-NEXT: (local.get $dst) ;; NOSIMD-NEXT: ) ;; NOSIMD-NEXT: (i64.const -1) ;; NOSIMD-NEXT: ) - ;; NOSIMD-NEXT: (i64.store offset=8 align=1 + ;; NOSIMD-NEXT: (i64.store $0 offset=8 align=1 ;; NOSIMD-NEXT: (local.get $5) ;; NOSIMD-NEXT: (i64.const -1) ;; NOSIMD-NEXT: ) ;; NOSIMD-NEXT: ) - ;; NOSIMD-NEXT: (memory.fill + ;; NOSIMD-NEXT: (memory.fill $0 ;; NOSIMD-NEXT: (local.get $dst) ;; NOSIMD-NEXT: (local.get $val) ;; NOSIMD-NEXT: (i32.const 0) ;; NOSIMD-NEXT: ) - ;; NOSIMD-NEXT: (memory.fill + ;; NOSIMD-NEXT: (memory.fill $0 ;; NOSIMD-NEXT: (local.get $dst) ;; NOSIMD-NEXT: (i32.const 0) ;; NOSIMD-NEXT: (local.get $sz) ;; NOSIMD-NEXT: ) - ;; NOSIMD-NEXT: (memory.fill + ;; NOSIMD-NEXT: (memory.fill $0 ;; NOSIMD-NEXT: (local.get $dst) ;; NOSIMD-NEXT: (local.get $val) ;; NOSIMD-NEXT: (local.get $sz) ;; NOSIMD-NEXT: ) - ;; NOSIMD-NEXT: (memory.fill + ;; NOSIMD-NEXT: (memory.fill $0 ;; NOSIMD-NEXT: (local.get $dst) ;; NOSIMD-NEXT: (i32.const 0) ;; NOSIMD-NEXT: (i32.const 3) ;; NOSIMD-NEXT: ) - ;; NOSIMD-NEXT: (memory.fill + ;; NOSIMD-NEXT: (memory.fill $0 ;; NOSIMD-NEXT: (local.get $dst) ;; NOSIMD-NEXT: (i32.const 1) ;; NOSIMD-NEXT: (i32.const 3) ;; NOSIMD-NEXT: ) - ;; NOSIMD-NEXT: (memory.fill + ;; NOSIMD-NEXT: (memory.fill $0 ;; NOSIMD-NEXT: (local.get $dst) ;; NOSIMD-NEXT: (i32.const 0) ;; NOSIMD-NEXT: (i32.const 17) ;; NOSIMD-NEXT: ) - ;; NOSIMD-NEXT: (memory.fill + ;; NOSIMD-NEXT: (memory.fill $0 ;; NOSIMD-NEXT: (unreachable) ;; NOSIMD-NEXT: (i32.const 1) ;; NOSIMD-NEXT: (i32.const 16) diff --git a/test/lit/passes/optimize-instructions-ignore-traps.wast b/test/lit/passes/optimize-instructions-ignore-traps.wast index cca6061f479..d4e83e90a7c 100644 --- a/test/lit/passes/optimize-instructions-ignore-traps.wast +++ b/test/lit/passes/optimize-instructions-ignore-traps.wast @@ -764,7 +764,7 @@ ;; CHECK-NEXT: (local.get $val) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill + ;; CHECK-NEXT: (memory.fill $0 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (local.get $sz) diff --git a/test/lit/passes/optimize-instructions.wast b/test/lit/passes/optimize-instructions.wast index 1bf3f751c71..524384308ad 100644 --- a/test/lit/passes/optimize-instructions.wast +++ b/test/lit/passes/optimize-instructions.wast @@ -950,7 +950,7 @@ ) ) ;; CHECK: (func $load8_s-and-255 (result i32) - ;; CHECK-NEXT: (i32.load8_u + ;; CHECK-NEXT: (i32.load8_u $0 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -958,7 +958,7 @@ (i32.and (i32.load8_s (i32.const 0)) (i32.const 255)) ) ;; CHECK: (func $load8_u-and-255 (result i32) - ;; CHECK-NEXT: (i32.load8_u + ;; CHECK-NEXT: (i32.load8_u $0 ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -967,7 +967,7 @@ ) ;; CHECK: (func $load8_s-and-254 (result i32) ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load8_s + ;; CHECK-NEXT: (i32.load8_s $0 ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 254) @@ -978,7 +978,7 @@ ) ;; CHECK: (func $load8_u-and-1 (result i32) ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load8_u + ;; CHECK-NEXT: (i32.load8_u $0 ;; CHECK-NEXT: (i32.const 3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 1) @@ -988,7 +988,7 @@ (i32.and (i32.load8_u (i32.const 3)) (i32.const 1)) ) ;; CHECK: (func $load16_s-and-65535 (result i32) - ;; CHECK-NEXT: (i32.load16_u + ;; CHECK-NEXT: (i32.load16_u $0 ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -996,7 +996,7 @@ (i32.and (i32.load16_s (i32.const 4)) (i32.const 65535)) ) ;; CHECK: (func $load16_u-and-65535 (result i32) - ;; CHECK-NEXT: (i32.load16_u + ;; CHECK-NEXT: (i32.load16_u $0 ;; CHECK-NEXT: (i32.const 5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1005,7 +1005,7 @@ ) ;; CHECK: (func $load16_s-and-65534 (result i32) ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load16_s + ;; CHECK-NEXT: (i32.load16_s $0 ;; CHECK-NEXT: (i32.const 6) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 65534) @@ -1016,7 +1016,7 @@ ) ;; CHECK: (func $load16_u-and-1 (result i32) ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load16_u + ;; CHECK-NEXT: (i32.load16_u $0 ;; CHECK-NEXT: (i32.const 7) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 1) @@ -1026,7 +1026,7 @@ (i32.and (i32.load16_u (i32.const 7)) (i32.const 1)) ) ;; CHECK: (func $store8-and-255 - ;; CHECK-NEXT: (i32.store8 + ;; CHECK-NEXT: (i32.store8 $0 ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: (i32.const -1) ;; CHECK-NEXT: ) @@ -1035,7 +1035,7 @@ (i32.store8 (i32.const 8) (i32.and (i32.const -1) (i32.const 255))) ) ;; CHECK: (func $store8-and-254 - ;; CHECK-NEXT: (i32.store8 + ;; CHECK-NEXT: (i32.store8 $0 ;; CHECK-NEXT: (i32.const 9) ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (i32.const -2) @@ -1047,7 +1047,7 @@ (i32.store8 (i32.const 9) (i32.and (i32.const -2) (i32.const 254))) ) ;; CHECK: (func $store16-and-65535 - ;; CHECK-NEXT: (i32.store16 + ;; CHECK-NEXT: (i32.store16 $0 ;; CHECK-NEXT: (i32.const 10) ;; CHECK-NEXT: (i32.const -3) ;; CHECK-NEXT: ) @@ -1056,7 +1056,7 @@ (i32.store16 (i32.const 10) (i32.and (i32.const -3) (i32.const 65535))) ) ;; CHECK: (func $store16-and-65534 - ;; CHECK-NEXT: (i32.store16 + ;; CHECK-NEXT: (i32.store16 $0 ;; CHECK-NEXT: (i32.const 11) ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (i32.const -4) @@ -1068,7 +1068,7 @@ (i32.store16 (i32.const 11) (i32.and (i32.const -4) (i32.const 65534))) ) ;; CHECK: (func $store8-wrap - ;; CHECK-NEXT: (i64.store8 + ;; CHECK-NEXT: (i64.store8 $0 ;; CHECK-NEXT: (i32.const 11) ;; CHECK-NEXT: (i64.const 1) ;; CHECK-NEXT: ) @@ -1077,7 +1077,7 @@ (i32.store8 (i32.const 11) (i32.wrap_i64 (i64.const 1))) ) ;; CHECK: (func $store16-wrap - ;; CHECK-NEXT: (i64.store16 + ;; CHECK-NEXT: (i64.store16 $0 ;; CHECK-NEXT: (i32.const 11) ;; CHECK-NEXT: (i64.const 2) ;; CHECK-NEXT: ) @@ -1086,7 +1086,7 @@ (i32.store16 (i32.const 11) (i32.wrap_i64 (i64.const 2))) ) ;; CHECK: (func $store-wrap - ;; CHECK-NEXT: (i64.store32 + ;; CHECK-NEXT: (i64.store32 $0 ;; CHECK-NEXT: (i32.const 11) ;; CHECK-NEXT: (i64.const 3) ;; CHECK-NEXT: ) @@ -1095,7 +1095,7 @@ (i32.store (i32.const 11) (i32.wrap_i64 (i64.const 3))) ) ;; CHECK: (func $store8-neg1 - ;; CHECK-NEXT: (i32.store8 + ;; CHECK-NEXT: (i32.store8 $0 ;; CHECK-NEXT: (i32.const 7) ;; CHECK-NEXT: (i32.const 255) ;; CHECK-NEXT: ) @@ -1104,7 +1104,7 @@ (i32.store8 (i32.const 7) (i32.const -1)) ;; 255 ) ;; CHECK: (func $store8-255 - ;; CHECK-NEXT: (i32.store8 + ;; CHECK-NEXT: (i32.store8 $0 ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: (i32.const 255) ;; CHECK-NEXT: ) @@ -1113,7 +1113,7 @@ (i32.store8 (i32.const 8) (i32.const 255)) ) ;; CHECK: (func $store8-256 - ;; CHECK-NEXT: (i32.store8 + ;; CHECK-NEXT: (i32.store8 $0 ;; CHECK-NEXT: (i32.const 9) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) @@ -1122,7 +1122,7 @@ (i32.store8 (i32.const 9) (i32.const 256)) ;; 0 ) ;; CHECK: (func $store16-neg1 - ;; CHECK-NEXT: (i32.store16 + ;; CHECK-NEXT: (i32.store16 $0 ;; CHECK-NEXT: (i32.const 13) ;; CHECK-NEXT: (i32.const 65535) ;; CHECK-NEXT: ) @@ -1131,7 +1131,7 @@ (i32.store16 (i32.const 13) (i32.const -1)) ;; 65535 ) ;; CHECK: (func $store16-65535 - ;; CHECK-NEXT: (i32.store16 + ;; CHECK-NEXT: (i32.store16 $0 ;; CHECK-NEXT: (i32.const 10) ;; CHECK-NEXT: (i32.const 65535) ;; CHECK-NEXT: ) @@ -1140,7 +1140,7 @@ (i32.store16 (i32.const 10) (i32.const 65535)) ) ;; CHECK: (func $store16-65536 - ;; CHECK-NEXT: (i32.store16 + ;; CHECK-NEXT: (i32.store16 $0 ;; CHECK-NEXT: (i32.const 11) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) @@ -1149,7 +1149,7 @@ (i32.store16 (i32.const 11) (i32.const 65536)) ;; 0 ) ;; CHECK: (func $store-65536 - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 14) ;; CHECK-NEXT: (i32.const 65536) ;; CHECK-NEXT: ) @@ -1158,7 +1158,7 @@ (i32.store (i32.const 14) (i32.const 65536)) ) ;; CHECK: (func $store8-255-i64 - ;; CHECK-NEXT: (i64.store8 + ;; CHECK-NEXT: (i64.store8 $0 ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: (i64.const 255) ;; CHECK-NEXT: ) @@ -1167,7 +1167,7 @@ (i64.store8 (i32.const 8) (i64.const 255)) ) ;; CHECK: (func $store8-256-i64 - ;; CHECK-NEXT: (i64.store8 + ;; CHECK-NEXT: (i64.store8 $0 ;; CHECK-NEXT: (i32.const 9) ;; CHECK-NEXT: (i64.const 0) ;; CHECK-NEXT: ) @@ -1176,7 +1176,7 @@ (i64.store8 (i32.const 9) (i64.const 256)) ;; 0 ) ;; CHECK: (func $store16-65535-i64 - ;; CHECK-NEXT: (i64.store16 + ;; CHECK-NEXT: (i64.store16 $0 ;; CHECK-NEXT: (i32.const 10) ;; CHECK-NEXT: (i64.const 65535) ;; CHECK-NEXT: ) @@ -1185,7 +1185,7 @@ (i64.store16 (i32.const 10) (i64.const 65535)) ) ;; CHECK: (func $store16-65536-i64 - ;; CHECK-NEXT: (i64.store16 + ;; CHECK-NEXT: (i64.store16 $0 ;; CHECK-NEXT: (i32.const 11) ;; CHECK-NEXT: (i64.const 0) ;; CHECK-NEXT: ) @@ -1194,7 +1194,7 @@ (i64.store16 (i32.const 11) (i64.const 65536)) ;; 0 ) ;; CHECK: (func $store32-4294967295 - ;; CHECK-NEXT: (i64.store32 + ;; CHECK-NEXT: (i64.store32 $0 ;; CHECK-NEXT: (i32.const 12) ;; CHECK-NEXT: (i64.const 4294967295) ;; CHECK-NEXT: ) @@ -1203,7 +1203,7 @@ (i64.store32 (i32.const 12) (i64.const 4294967295)) ) ;; CHECK: (func $store32-4294967296 - ;; CHECK-NEXT: (i64.store32 + ;; CHECK-NEXT: (i64.store32 $0 ;; CHECK-NEXT: (i32.const 13) ;; CHECK-NEXT: (i64.const 0) ;; CHECK-NEXT: ) @@ -1212,7 +1212,7 @@ (i64.store32 (i32.const 13) (i64.const 4294967296)) ;; 0 ) ;; CHECK: (func $store-4294967296 - ;; CHECK-NEXT: (i64.store + ;; CHECK-NEXT: (i64.store $0 ;; CHECK-NEXT: (i32.const 14) ;; CHECK-NEXT: (i64.const 4294967296) ;; CHECK-NEXT: ) @@ -1871,11 +1871,11 @@ (unreachable) ) ;; CHECK: (func $store-off-2-add-consts (param $0 i32) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 6) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 6) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) @@ -1897,14 +1897,14 @@ ) ) ;; CHECK: (func $store-off-2-add-var-const (param $0 i32) - ;; CHECK-NEXT: (i32.store offset=2 + ;; CHECK-NEXT: (i32.store $0 offset=2 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=2 + ;; CHECK-NEXT: (i32.store $0 offset=2 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 7) @@ -1929,14 +1929,14 @@ ) ) ;; CHECK: (func $store-off-2-add-var-negative-const (param $0 i32) - ;; CHECK-NEXT: (i32.store offset=2 + ;; CHECK-NEXT: (i32.store $0 offset=2 ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 11) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=2 + ;; CHECK-NEXT: (i32.store $0 offset=2 ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 13) @@ -1961,11 +1961,11 @@ ) ) ;; CHECK: (func $store-off-2-negative-const (param $0 i32) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=2 + ;; CHECK-NEXT: (i32.store $0 offset=2 ;; CHECK-NEXT: (i32.const -2) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) @@ -1987,11 +1987,11 @@ ) ) ;; CHECK: (func $store-off-2-const (param $0 i32) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 25) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=2 + ;; CHECK-NEXT: (i32.store $0 offset=2 ;; CHECK-NEXT: (i32.const -25) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) @@ -2008,17 +2008,17 @@ ) ;; CHECK: (func $load-off-2 (param $0 i32) (result i32) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load offset=2 + ;; CHECK-NEXT: (i32.load $0 offset=2 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 6) @@ -2026,11 +2026,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 10) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load offset=2 + ;; CHECK-NEXT: (i32.load $0 offset=2 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 10) @@ -3807,11 +3807,11 @@ ) ) ;; CHECK: (func $store-signext (param $0 i32) - ;; CHECK-NEXT: (i32.store8 + ;; CHECK-NEXT: (i32.store8 $0 ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 + ;; CHECK-NEXT: (i32.store8 $0 ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: (i32.shr_s ;; CHECK-NEXT: (i32.shl @@ -3821,15 +3821,15 @@ ;; CHECK-NEXT: (i32.const 25) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 + ;; CHECK-NEXT: (i32.store8 $0 ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 + ;; CHECK-NEXT: (i32.store16 $0 ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 + ;; CHECK-NEXT: (i32.store16 $0 ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: (i32.shr_s ;; CHECK-NEXT: (i32.shl @@ -3839,11 +3839,11 @@ ;; CHECK-NEXT: (i32.const 17) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 + ;; CHECK-NEXT: (i32.store16 $0 ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: (i32.shr_s ;; CHECK-NEXT: (i32.shl @@ -3853,7 +3853,7 @@ ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: (i32.shr_s ;; CHECK-NEXT: (i32.shl @@ -3990,7 +3990,7 @@ ) ;; CHECK: (func $sign-ext-load (param $0 i32) (param $1 i32) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load8_s + ;; CHECK-NEXT: (i32.load8_s $0 ;; CHECK-NEXT: (i32.const 256) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -3998,7 +3998,7 @@ ;; CHECK-NEXT: (i32.shr_s ;; CHECK-NEXT: (i32.shl ;; CHECK-NEXT: (i32.shr_u - ;; CHECK-NEXT: (i32.load8_s + ;; CHECK-NEXT: (i32.load8_s $0 ;; CHECK-NEXT: (i32.const 256) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 1) @@ -4010,20 +4010,20 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.shr_u - ;; CHECK-NEXT: (i32.load8_u + ;; CHECK-NEXT: (i32.load8_u $0 ;; CHECK-NEXT: (i32.const 256) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load16_s + ;; CHECK-NEXT: (i32.load16_s $0 ;; CHECK-NEXT: (i32.const 256) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load8_s + ;; CHECK-NEXT: (i32.load8_s $0 ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -4032,7 +4032,7 @@ ;; CHECK-NEXT: (i32.shr_s ;; CHECK-NEXT: (i32.shl ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load8_u + ;; CHECK-NEXT: (i32.load8_u $0 ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -4044,7 +4044,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load8_s + ;; CHECK-NEXT: (i32.load8_s $0 ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -4053,7 +4053,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load8_u + ;; CHECK-NEXT: (i32.load8_u $0 ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -4756,7 +4756,7 @@ ;; CHECK-NEXT: (local $$0 i32) ;; CHECK-NEXT: (local $$conv i32) ;; CHECK-NEXT: (local.set $$0 - ;; CHECK-NEXT: (i32.load8_s + ;; CHECK-NEXT: (i32.load8_s $0 ;; CHECK-NEXT: (i32.const 1024) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -4800,7 +4800,7 @@ ;; CHECK-NEXT: (local $z i32) ;; CHECK-NEXT: (local $w i32) ;; CHECK-NEXT: (local.set $x - ;; CHECK-NEXT: (i32.load8_s + ;; CHECK-NEXT: (i32.load8_s $0 ;; CHECK-NEXT: (i32.const 1024) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -4808,7 +4808,7 @@ ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $y - ;; CHECK-NEXT: (i32.load8_u + ;; CHECK-NEXT: (i32.load8_u $0 ;; CHECK-NEXT: (i32.const 1024) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -4822,7 +4822,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $z - ;; CHECK-NEXT: (i32.load16_s + ;; CHECK-NEXT: (i32.load16_s $0 ;; CHECK-NEXT: (i32.const 1024) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -4881,7 +4881,7 @@ ;; CHECK: (func $compare-load-s-sign-extend (param $0 i32) (param $1 i32) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.eq - ;; CHECK-NEXT: (i32.load8_u + ;; CHECK-NEXT: (i32.load8_u $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.and @@ -4892,7 +4892,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.eq - ;; CHECK-NEXT: (i32.load8_u + ;; CHECK-NEXT: (i32.load8_u $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.and @@ -4903,7 +4903,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.eq - ;; CHECK-NEXT: (i32.load8_u + ;; CHECK-NEXT: (i32.load8_u $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shr_s @@ -4917,7 +4917,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.eq - ;; CHECK-NEXT: (i32.load8_s + ;; CHECK-NEXT: (i32.load8_s $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shr_s @@ -4931,7 +4931,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.eq - ;; CHECK-NEXT: (i32.load8_u + ;; CHECK-NEXT: (i32.load8_u $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shr_s @@ -4945,7 +4945,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.eq - ;; CHECK-NEXT: (i32.load8_s + ;; CHECK-NEXT: (i32.load8_s $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shr_s @@ -5138,7 +5138,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.shr_s ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load16_u + ;; CHECK-NEXT: (i32.load16_u $0 ;; CHECK-NEXT: (i32.const 2278) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 17) @@ -5149,7 +5149,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.shr_s ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load16_u + ;; CHECK-NEXT: (i32.load16_u $0 ;; CHECK-NEXT: (i32.const 2278) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 17) @@ -5519,7 +5519,7 @@ ;; CHECK: (func $zero-shifts-is-not-sign-ext ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.eq - ;; CHECK-NEXT: (i32.load16_s align=1 + ;; CHECK-NEXT: (i32.load16_s $0 align=1 ;; CHECK-NEXT: (i32.const 790656516) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -5431187) @@ -5528,7 +5528,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.eq ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load16_s align=1 + ;; CHECK-NEXT: (i32.load16_s $0 align=1 ;; CHECK-NEXT: (i32.const 790656516) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 1) @@ -5576,7 +5576,7 @@ ;; CHECK: (func $zero-ops (result i32) ;; CHECK-NEXT: (return ;; CHECK-NEXT: (i32.eq - ;; CHECK-NEXT: (i32.load16_s align=1 + ;; CHECK-NEXT: (i32.load16_s $0 align=1 ;; CHECK-NEXT: (i32.const 790656516) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -1337) @@ -5608,7 +5608,7 @@ ;; CHECK: (func $zero-ops-64 (result i32) ;; CHECK-NEXT: (return ;; CHECK-NEXT: (i64.eq - ;; CHECK-NEXT: (i64.load16_s align=1 + ;; CHECK-NEXT: (i64.load16_s $0 align=1 ;; CHECK-NEXT: (i32.const 790656516) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i64.const -1337) @@ -6260,7 +6260,7 @@ ;; CHECK-NEXT: (loop $label$0 (result i32) ;; CHECK-NEXT: (block $label$1 ;; CHECK-NEXT: (br_if $label$1 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -13979,35 +13979,35 @@ ;; CHECK: (func $simplify_reinterpret_and_load (param $x i32) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (f32.load + ;; CHECK-NEXT: (f32.load $0 ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (f64.load + ;; CHECK-NEXT: (f64.load $0 ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i64.load + ;; CHECK-NEXT: (i64.load $0 ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (f32.reinterpret_i32 - ;; CHECK-NEXT: (i32.load8_s + ;; CHECK-NEXT: (i32.load8_s $0 ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (f64.reinterpret_i64 - ;; CHECK-NEXT: (i64.load32_u + ;; CHECK-NEXT: (i64.load32_u $0 ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -14028,29 +14028,29 @@ ;; i64.store(y, i64.reinterpret_f64(x)) => f64.store(y, x) ;; CHECK: (func $simplify_store_and_reinterpret (param $x i32) (param $y i64) (param $z f32) (param $w f64) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i64.store + ;; CHECK-NEXT: (i64.store $0 ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: (local.get $y) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (f32.store + ;; CHECK-NEXT: (f32.store $0 ;; CHECK-NEXT: (i32.const 24) ;; CHECK-NEXT: (local.get $z) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (f64.store + ;; CHECK-NEXT: (f64.store $0 ;; CHECK-NEXT: (i32.const 32) ;; CHECK-NEXT: (local.get $w) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 + ;; CHECK-NEXT: (i32.store8 $0 ;; CHECK-NEXT: (i32.const 40) ;; CHECK-NEXT: (i32.reinterpret_f32 ;; CHECK-NEXT: (local.get $z) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i64.store32 + ;; CHECK-NEXT: (i64.store32 $0 ;; CHECK-NEXT: (i32.const 44) ;; CHECK-NEXT: (i64.reinterpret_f64 ;; CHECK-NEXT: (local.get $w) @@ -14099,30 +14099,30 @@ ;; CHECK: (func $combine_load_and_extend_u (param $x i32) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i64.load8_u + ;; CHECK-NEXT: (i64.load8_u $0 ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i64.load16_u + ;; CHECK-NEXT: (i64.load16_u $0 ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i64.load32_u + ;; CHECK-NEXT: (i64.load32_u $0 ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i64.extend_i32_u - ;; CHECK-NEXT: (i32.load8_s + ;; CHECK-NEXT: (i32.load8_s $0 ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i64.extend_i32_u - ;; CHECK-NEXT: (i32.load16_s + ;; CHECK-NEXT: (i32.load16_s $0 ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -14142,27 +14142,27 @@ ;; CHECK: (func $combine_load_and_extend_s (param $x i32) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i64.load8_u + ;; CHECK-NEXT: (i64.load8_u $0 ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i64.load16_u + ;; CHECK-NEXT: (i64.load16_u $0 ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i64.load8_s + ;; CHECK-NEXT: (i64.load8_s $0 ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i64.load16_s + ;; CHECK-NEXT: (i64.load16_s $0 ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i64.load32_s + ;; CHECK-NEXT: (i64.load32_s $0 ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/signature-pruning.wast b/test/lit/passes/signature-pruning.wast index 79f658007e1..dcdaaaa6788 100644 --- a/test/lit/passes/signature-pruning.wast +++ b/test/lit/passes/signature-pruning.wast @@ -16,11 +16,11 @@ ;; CHECK: (func $foo (type $sig) (param $0 i32) (param $1 f64) ;; CHECK-NEXT: (local $2 f32) ;; CHECK-NEXT: (local $3 i64) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (f64.store + ;; CHECK-NEXT: (f64.store $0 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) @@ -81,11 +81,11 @@ ;; CHECK: (func $foo (type $sig) (param $0 i64) (param $1 f32) ;; CHECK-NEXT: (local $2 f64) ;; CHECK-NEXT: (local $3 i32) - ;; CHECK-NEXT: (i64.store + ;; CHECK-NEXT: (i64.store $0 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (f32.store + ;; CHECK-NEXT: (f32.store $0 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) @@ -144,11 +144,11 @@ ;; CHECK: (func $foo (type $sig) (param $0 i32) (param $1 i64) (param $2 f32) ;; CHECK-NEXT: (local $3 f64) - ;; CHECK-NEXT: (i64.store + ;; CHECK-NEXT: (i64.store $0 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (f32.store + ;; CHECK-NEXT: (f32.store $0 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) @@ -220,11 +220,11 @@ ;; CHECK: (func $foo (type $sig) (param $0 i32) (param $1 i64) (param $2 f32) ;; CHECK-NEXT: (local $3 f64) - ;; CHECK-NEXT: (i64.store + ;; CHECK-NEXT: (i64.store $0 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (f32.store + ;; CHECK-NEXT: (f32.store $0 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) @@ -337,7 +337,7 @@ ;; CHECK-NEXT: (local.set $0 ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) @@ -421,7 +421,7 @@ ) ;; CHECK: (func $bar (type $sig) (param $i32 i32) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (local.get $i32) ;; CHECK-NEXT: ) @@ -455,7 +455,7 @@ ) ;; CHECK: (func $bar (type $sig2) (param $i32 i32) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (local.get $i32) ;; CHECK-NEXT: ) @@ -636,7 +636,7 @@ ;; CHECK-NEXT: (i32.const 42) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) @@ -658,7 +658,7 @@ ) ;; CHECK: (func $bar (type $sig-bar) (param $i32 i32) - ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.store $0 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (local.get $i32) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/simplify-globals-read_only_to_write.wast b/test/lit/passes/simplify-globals-read_only_to_write.wast index 21ed50b61f8..8b5a8ff76f6 100644 --- a/test/lit/passes/simplify-globals-read_only_to_write.wast +++ b/test/lit/passes/simplify-globals-read_only_to_write.wast @@ -498,7 +498,7 @@ ;; CHECK-NEXT: (local.tee $x ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.add diff --git a/test/lit/wasm-split/instrument-funcs.wast b/test/lit/wasm-split/instrument-funcs.wast index cf3ca4af7bd..479a8585b48 100644 --- a/test/lit/wasm-split/instrument-funcs.wast +++ b/test/lit/wasm-split/instrument-funcs.wast @@ -60,15 +60,15 @@ ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block -;; CHECK-NEXT: (i64.store align=1 +;; CHECK-NEXT: (i64.store $0 align=1 ;; CHECK-NEXT: (local.get $addr) ;; CHECK-NEXT: (i64.const {{.*}}) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.store offset=8 align=1 +;; CHECK-NEXT: (i32.store $0 offset=8 align=1 ;; CHECK-NEXT: (local.get $addr) ;; CHECK-NEXT: (global.get $bar_timestamp) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.store offset=12 align=1 +;; CHECK-NEXT: (i32.store $0 offset=12 align=1 ;; CHECK-NEXT: (local.get $addr) ;; CHECK-NEXT: (global.get $baz_timestamp) ;; CHECK-NEXT: ) diff --git a/test/lit/wasm-split/instrument-in-memory.wast b/test/lit/wasm-split/instrument-in-memory.wast index d55bacaec07..bcf3e05cea1 100644 --- a/test/lit/wasm-split/instrument-in-memory.wast +++ b/test/lit/wasm-split/instrument-in-memory.wast @@ -33,7 +33,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (func $baz (param $0 i32) (result i32) -;; CHECK-NEXT: (i32.atomic.store8 offset=1 +;; CHECK-NEXT: (i32.atomic.store8 $0 offset=1 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) @@ -50,7 +50,7 @@ ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block -;; CHECK-NEXT: (i64.store align=1 +;; CHECK-NEXT: (i64.store $0 align=1 ;; CHECK-NEXT: (local.get $addr) ;; CHECK-NEXT: (i64.const {{.*}}) ;; CHECK-NEXT: ) @@ -62,7 +62,7 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.store offset=8 +;; CHECK-NEXT: (i32.store $0 offset=8 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $addr) ;; CHECK-NEXT: (i32.mul @@ -70,7 +70,7 @@ ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.atomic.load8_u +;; CHECK-NEXT: (i32.atomic.load8_u $0 ;; CHECK-NEXT: (local.get $funcIdx) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) diff --git a/test/lld/em_asm.wat.mem.out b/test/lld/em_asm.wat.mem.out index 6647b397cf9..8a494ab8ab2 100644 --- a/test/lld/em_asm.wat.mem.out +++ b/test/lld/em_asm.wat.mem.out @@ -32,11 +32,11 @@ (i32.const 0) ) ) - (i64.store offset=16 + (i64.store $0 offset=16 (local.get $0) (i64.const 115964117005) ) - (i32.store + (i32.store $0 (local.get $0) (call $emscripten_asm_const_int (i32.const 614) diff --git a/test/lld/em_asm.wat.out b/test/lld/em_asm.wat.out index 8ed3d72ba0b..91d60b56504 100644 --- a/test/lld/em_asm.wat.out +++ b/test/lld/em_asm.wat.out @@ -36,11 +36,11 @@ (i32.const 0) ) ) - (i64.store offset=16 + (i64.store $0 offset=16 (local.get $0) (i64.const 115964117005) ) - (i32.store + (i32.store $0 (local.get $0) (call $emscripten_asm_const_int (i32.const 614) diff --git a/test/lld/em_asm64.wat.out b/test/lld/em_asm64.wat.out index 33e5bb1768b..7708dd514ec 100644 --- a/test/lld/em_asm64.wat.out +++ b/test/lld/em_asm64.wat.out @@ -36,11 +36,11 @@ (i64.const 0) ) ) - (i64.store offset=16 + (i64.store $0 offset=16 (local.get $0) (i64.const 115964117005) ) - (i32.store + (i32.store $0 (local.get $0) (call $emscripten_asm_const_int (i64.const 607) diff --git a/test/lld/em_asm_O0.wat.out b/test/lld/em_asm_O0.wat.out index fb2495476eb..1989588363f 100644 --- a/test/lld/em_asm_O0.wat.out +++ b/test/lld/em_asm_O0.wat.out @@ -29,7 +29,7 @@ ) ) ) - (i32.store8 offset=31 + (i32.store8 $0 offset=31 (local.get $0) (i32.const 0) ) @@ -43,15 +43,15 @@ (i32.const 0) ) ) - (i32.store8 offset=30 + (i32.store8 $0 offset=30 (local.get $0) (i32.const 0) ) - (i32.store16 offset=28 align=1 + (i32.store16 $0 offset=28 align=1 (local.get $0) (i32.const 26985) ) - (i64.store offset=16 + (i64.store $0 offset=16 (local.get $0) (i64.const 128849018900) ) @@ -68,7 +68,7 @@ ) ) ) - (i32.store + (i32.store $0 (local.get $0) (i32.const 42) ) diff --git a/test/lld/em_asm_main_thread.wat.out b/test/lld/em_asm_main_thread.wat.out index 621465913ea..8a58403db19 100644 --- a/test/lld/em_asm_main_thread.wat.out +++ b/test/lld/em_asm_main_thread.wat.out @@ -36,7 +36,7 @@ ) ) ) - (i32.store8 offset=24 + (i32.store8 $0 offset=24 (local.get $0) (call $__em_asm_sig_builder::inner<>\20const\20__em_asm_sig_builder::__em_asm_sig<>\28\29) ) @@ -58,7 +58,7 @@ (i32.const 13) (i32.const 27) ) - (i64.store offset=16 + (i64.store $0 offset=16 (local.get $0) (i64.const 115964117005) ) @@ -81,7 +81,7 @@ ) ) ) - (i32.store + (i32.store $0 (local.get $0) (local.get $1) ) @@ -116,7 +116,7 @@ ) ) ) - (i32.store8 offset=13 + (i32.store8 $0 offset=13 (local.get $3) (call $__em_asm_sig_builder::sig_char\28int\29 (local.get $1) @@ -127,20 +127,20 @@ (local.get $2) ) ) - (i32.store8 + (i32.store8 $0 (i32.add (local.get $0) (i32.const 2) ) (i32.const 0) ) - (i32.store8 offset=14 + (i32.store8 $0 offset=14 (local.get $3) (local.get $2) ) - (i32.store16 align=1 + (i32.store16 $0 align=1 (local.get $0) - (i32.load16_u offset=13 align=1 + (i32.load16_u $0 offset=13 align=1 (local.get $3) ) ) @@ -166,17 +166,17 @@ (local.get $1) ) ) - (i32.store8 offset=15 + (i32.store8 $0 offset=15 (local.get $2) (i32.const 0) ) - (i32.store8 offset=14 + (i32.store8 $0 offset=14 (local.get $2) (local.get $1) ) - (i32.store16 align=1 + (i32.store16 $0 align=1 (local.get $0) - (i32.load16_u offset=14 + (i32.load16_u $0 offset=14 (local.get $2) ) ) diff --git a/test/lld/em_asm_pthread.wasm.out b/test/lld/em_asm_pthread.wasm.out index 0bf7927dd50..40577098488 100644 --- a/test/lld/em_asm_pthread.wasm.out +++ b/test/lld/em_asm_pthread.wasm.out @@ -129,25 +129,25 @@ ) (func $2 (if - (i32.atomic.rmw.cmpxchg + (i32.atomic.rmw.cmpxchg $mimport$0 (i32.const 4032) (i32.const 0) (i32.const 1) ) (drop - (memory.atomic.wait32 + (memory.atomic.wait32 $mimport$0 (i32.const 4032) (i32.const 1) (i64.const -1) ) ) (block - (memory.init 0 + (memory.init $mimport$0 0 (i32.const 1024) (i32.const 0) (i32.const 403) ) - (memory.init 1 + (memory.init $mimport$0 1 (i32.const 1432) (i32.const 0) (i32.const 156) @@ -162,17 +162,17 @@ (i32.const 0) (i32.const 124) ) - (memory.init 4 + (memory.init $mimport$0 4 (i32.const 1792) (i32.const 0) (i32.const 2240) ) - (i32.atomic.store + (i32.atomic.store $mimport$0 (i32.const 4032) (i32.const 2) ) (drop - (memory.atomic.notify + (memory.atomic.notify $mimport$0 (i32.const 4032) (i32.const -1) ) @@ -214,12 +214,12 @@ (local.set $3 (i32.const 1658) ) - (i32.store offset=12 + (i32.store $mimport$0 offset=12 (local.get $2) (local.get $3) ) (local.set $4 - (i32.load offset=12 + (i32.load $mimport$0 offset=12 (local.get $2) ) ) @@ -325,12 +325,12 @@ (local $5 i32) (local $6 i32) (local.set $1 - (i32.load + (i32.load $mimport$0 (local.get $0) ) ) (local.set $3 - (i32.load offset=40 + (i32.load $mimport$0 offset=40 (local.tee $2 (call $7) ) @@ -339,7 +339,7 @@ (local.set $5 (i32.and (local.tee $4 - (i32.load offset=4 + (i32.load $mimport$0 offset=4 (local.get $0) ) ) @@ -369,14 +369,14 @@ (br_if $label$1 (i32.gt_u (local.tee $5 - (i32.load offset=20 + (i32.load $mimport$0 offset=20 (local.get $0) ) ) (i32.const 2147483646) ) ) - (i32.store offset=20 + (i32.store $mimport$0 offset=20 (local.get $0) (i32.add (local.get $5) @@ -400,7 +400,7 @@ (br_if $label$3 (i32.eqz (i32.and - (i32.load8_u + (i32.load8_u $mimport$0 (local.get $0) ) (i32.const 128) @@ -409,24 +409,24 @@ ) (block $label$4 (br_if $label$4 - (i32.load + (i32.load $mimport$0 (i32.add (local.get $2) (i32.const 156) ) ) ) - (i32.store offset=156 + (i32.store $mimport$0 offset=156 (local.get $2) (i32.const -12) ) ) (local.set $6 - (i32.load offset=8 + (i32.load $mimport$0 offset=8 (local.get $0) ) ) - (i32.store + (i32.store $mimport$0 (i32.add (local.get $2) (i32.const 160) @@ -486,7 +486,7 @@ ) ) ) - (i32.store + (i32.store $mimport$0 (i32.add (local.get $2) (i32.const 160) @@ -498,11 +498,11 @@ ) ) (local.set $3 - (i32.load offset=152 + (i32.load $mimport$0 offset=152 (local.get $2) ) ) - (i32.store offset=12 + (i32.store $mimport$0 offset=12 (local.get $0) (local.tee $6 (i32.add @@ -511,7 +511,7 @@ ) ) ) - (i32.store offset=16 + (i32.store $mimport$0 offset=16 (local.get $0) (local.get $3) ) @@ -528,7 +528,7 @@ (local.get $6) ) ) - (i32.store + (i32.store $mimport$0 (i32.add (local.get $3) (i32.const -4) @@ -536,14 +536,14 @@ (local.get $1) ) ) - (i32.store offset=152 + (i32.store $mimport$0 offset=152 (local.get $2) (local.get $1) ) (local.set $6 (i32.const 0) ) - (i32.store + (i32.store $mimport$0 (i32.add (local.get $2) (i32.const 160) @@ -555,14 +555,14 @@ (local.get $5) ) ) - (i32.store offset=20 + (i32.store $mimport$0 offset=20 (local.get $0) (i32.const 0) ) - (i32.store + (i32.store $mimport$0 (local.get $0) (i32.or - (i32.load + (i32.load $mimport$0 (local.get $0) ) (i32.const 8) @@ -575,7 +575,7 @@ (local.get $6) ) (func $12 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (i32.atomic.rmw.cmpxchg + (i32.atomic.rmw.cmpxchg $mimport$0 (local.get $0) (local.get $1) (local.get $2) @@ -585,7 +585,7 @@ (block $label$1 (br_if $label$1 (i32.and - (i32.load8_u + (i32.load8_u $mimport$0 (local.get $0) ) (i32.const 15) @@ -617,7 +617,7 @@ ) (func $16 (drop - (i32.atomic.rmw.add offset=1792 + (i32.atomic.rmw.add $mimport$0 offset=1792 (i32.const 0) (i32.const 1) ) @@ -633,7 +633,7 @@ ) (br_if $label$1 (i32.eqz - (i32.load offset=1796 + (i32.load $mimport$0 offset=1796 (i32.const 0) ) ) @@ -642,7 +642,7 @@ ) ) (func $18 (result i32) - (i32.atomic.rmw.add offset=1792 + (i32.atomic.rmw.add $mimport$0 offset=1792 (i32.const 0) (i32.const -1) ) @@ -667,7 +667,7 @@ (i32.and (i32.xor (local.tee $1 - (i32.load + (i32.load $mimport$0 (local.get $0) ) ) @@ -677,7 +677,7 @@ ) ) (local.set $3 - (i32.load offset=8 + (i32.load $mimport$0 offset=8 (local.get $0) ) ) @@ -703,12 +703,12 @@ (br_if $label$1 (i32.ne (i32.and - (i32.load offset=4 + (i32.load $mimport$0 offset=4 (local.get $0) ) (i32.const 2147483647) ) - (i32.load offset=40 + (i32.load $mimport$0 offset=40 (local.get $5) ) ) @@ -726,13 +726,13 @@ (br_if $label$4 (i32.eqz (local.tee $6 - (i32.load offset=20 + (i32.load $mimport$0 offset=20 (local.get $0) ) ) ) ) - (i32.store offset=20 + (i32.store $mimport$0 offset=20 (local.get $0) (i32.add (local.get $6) @@ -747,7 +747,7 @@ (br_if $label$5 (local.get $2) ) - (i32.store + (i32.store $mimport$0 (i32.add (local.get $5) (i32.const 160) @@ -759,14 +759,14 @@ ) (call $15) ) - (i32.store + (i32.store $mimport$0 (local.tee $7 - (i32.load offset=12 + (i32.load $mimport$0 offset=12 (local.get $0) ) ) (local.tee $6 - (i32.load offset=16 + (i32.load $mimport$0 offset=16 (local.get $0) ) ) @@ -780,7 +780,7 @@ ) ) ) - (i32.store + (i32.store $mimport$0 (i32.add (local.get $6) (i32.const -4) @@ -817,7 +817,7 @@ (br_if $label$6 (local.get $2) ) - (i32.store + (i32.store $mimport$0 (i32.add (local.get $5) (i32.const 160) @@ -848,7 +848,7 @@ (local.get $6) ) (func $21 (param $0 i32) (param $1 i32) (result i32) - (i32.atomic.rmw.xchg + (i32.atomic.rmw.xchg $mimport$0 (local.get $0) (local.get $1) ) @@ -862,12 +862,12 @@ ) ) (func $23 (param $0 i32) (result i32) - (i32.atomic.load + (i32.atomic.load $mimport$0 (local.get $0) ) ) (func $24 (param $0 i32) (param $1 i32) (result i32) - (i32.atomic.store + (i32.atomic.store $mimport$0 (local.get $0) (local.get $1) ) @@ -912,7 +912,7 @@ ) (func $30 (param $0 i32) (result i32) (i32.eq - (i32.load + (i32.load $mimport$0 (local.get $0) ) (i32.const 2) @@ -931,11 +931,11 @@ ) ) (br_if $label$1 - (i32.load8_u offset=1832 + (i32.load8_u $mimport$0 offset=1832 (i32.const 0) ) ) - (i32.store8 offset=1832 + (i32.store8 $mimport$0 offset=1832 (i32.const 0) (i32.const 1) ) @@ -963,7 +963,7 @@ (call $10) ) ) - (i32.store8 offset=1832 + (i32.store8 $mimport$0 offset=1832 (i32.const 0) (i32.const 0) ) @@ -999,9 +999,9 @@ ) ) (call $33 - (i32.load + (i32.load $mimport$0 (i32.add - (i32.load offset=4 + (i32.load $mimport$0 offset=4 (local.get $0) ) (i32.shl @@ -1056,7 +1056,7 @@ (call $10) ) ) - (i32.store8 offset=1832 + (i32.store8 $mimport$0 offset=1832 (i32.const 0) (i32.const 0) ) @@ -1074,7 +1074,7 @@ (br_if $label$2 (i32.eqz (local.tee $1 - (i32.load offset=1840 + (i32.load $mimport$0 offset=1840 (i32.const 0) ) ) @@ -1084,7 +1084,7 @@ (block $label$4 (br_if $label$4 (i32.ne - (i32.load + (i32.load $mimport$0 (local.get $1) ) (local.get $0) @@ -1096,7 +1096,7 @@ ) (br_if $label$3 (local.tee $1 - (i32.load offset=16 + (i32.load $mimport$0 offset=16 (local.get $1) ) ) @@ -1124,7 +1124,7 @@ (i32.eq (i32.and (local.tee $1 - (i32.load + (i32.load $mimport$0 (local.get $0) ) ) @@ -1197,7 +1197,7 @@ (local.get $1) ) (call_indirect (type $none_=>_none) - (i32.load offset=4 + (i32.load $mimport$0 offset=4 (local.get $0) ) ) @@ -1230,22 +1230,22 @@ ) ) (call_indirect (type $i32_i32_f32_=>_none) - (i32.load offset=16 + (i32.load $mimport$0 offset=16 (local.get $0) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 24) ) ) - (f32.load + (f32.load $mimport$0 (i32.add (local.get $0) (i32.const 32) ) ) - (i32.load offset=4 + (i32.load $mimport$0 offset=4 (local.get $0) ) ) @@ -1279,28 +1279,28 @@ ) ) (call_indirect (type $i32_i32_f32_i32_=>_none) - (i32.load offset=16 + (i32.load $mimport$0 offset=16 (local.get $0) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 24) ) ) - (f32.load + (f32.load $mimport$0 (i32.add (local.get $0) (i32.const 32) ) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 40) ) ) - (i32.load offset=4 + (i32.load $mimport$0 offset=4 (local.get $0) ) ) @@ -1333,40 +1333,40 @@ ) ) (call_indirect (type $i32_i32_i32_i32_i32_i32_=>_none) - (i32.load offset=16 + (i32.load $mimport$0 offset=16 (local.get $0) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 24) ) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 32) ) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 40) ) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 48) ) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 56) ) ) - (i32.load offset=4 + (i32.load $mimport$0 offset=4 (local.get $0) ) ) @@ -1406,52 +1406,52 @@ ) ) (call_indirect (type $i32_i32_i32_i32_i32_i32_i32_i32_=>_none) - (i32.load offset=16 + (i32.load $mimport$0 offset=16 (local.get $0) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 24) ) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 32) ) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 40) ) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 48) ) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 56) ) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 64) ) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 72) ) ) - (i32.load offset=4 + (i32.load $mimport$0 offset=4 (local.get $0) ) ) @@ -1470,64 +1470,64 @@ ) ) (call_indirect (type $i32_i32_i32_i32_i32_i32_i32_i32_i32_i32_=>_none) - (i32.load offset=16 + (i32.load $mimport$0 offset=16 (local.get $0) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 24) ) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 32) ) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 40) ) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 48) ) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 56) ) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 64) ) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 72) ) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 80) ) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 88) ) ) - (i32.load offset=4 + (i32.load $mimport$0 offset=4 (local.get $0) ) ) @@ -1552,10 +1552,10 @@ (i32.const 536870912) ) ) - (i32.store offset=176 + (i32.store $mimport$0 offset=176 (local.get $0) (call_indirect (type $none_=>_i32) - (i32.load offset=4 + (i32.load $mimport$0 offset=4 (local.get $0) ) ) @@ -1580,13 +1580,13 @@ (i32.const 622854144) ) ) - (i32.store offset=176 + (i32.store $mimport$0 offset=176 (local.get $0) (call $fimport$11 - (i32.load offset=16 + (i32.load $mimport$0 offset=16 (local.get $0) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 24) @@ -1622,19 +1622,19 @@ (i32.const 657457152) ) ) - (i32.store offset=176 + (i32.store $mimport$0 offset=176 (local.get $0) (call $fimport$12 - (i32.load offset=16 + (i32.load $mimport$0 offset=16 (local.get $0) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 24) ) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 32) @@ -1656,25 +1656,25 @@ (i32.const 687865856) ) ) - (i32.store offset=176 + (i32.store $mimport$0 offset=176 (local.get $0) (call $fimport$13 - (i32.load offset=16 + (i32.load $mimport$0 offset=16 (local.get $0) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 24) ) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 32) ) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 40) @@ -1703,43 +1703,43 @@ (i32.const 738197504) ) ) - (i32.store offset=176 + (i32.store $mimport$0 offset=176 (local.get $0) (call_indirect (type $i32_i32_i32_i32_i32_i32_=>_i32) - (i32.load offset=16 + (i32.load $mimport$0 offset=16 (local.get $0) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 24) ) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 32) ) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 40) ) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 48) ) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 56) ) ) - (i32.load offset=4 + (i32.load $mimport$0 offset=4 (local.get $0) ) ) @@ -1764,61 +1764,61 @@ (i32.const 838860800) ) ) - (i32.store offset=176 + (i32.store $mimport$0 offset=176 (local.get $0) (call_indirect (type $i32_i32_i32_i32_i32_i32_i32_i32_i32_=>_i32) - (i32.load offset=16 + (i32.load $mimport$0 offset=16 (local.get $0) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 24) ) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 32) ) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 40) ) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 48) ) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 56) ) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 64) ) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 72) ) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 80) ) ) - (i32.load offset=4 + (i32.load $mimport$0 offset=4 (local.get $0) ) ) @@ -1826,202 +1826,202 @@ (br $label$1) ) (call_indirect (type $i32_=>_none) - (i32.load offset=16 + (i32.load $mimport$0 offset=16 (local.get $0) ) - (i32.load offset=4 + (i32.load $mimport$0 offset=4 (local.get $0) ) ) (br $label$1) ) (call_indirect (type $f32_=>_none) - (f32.load offset=16 + (f32.load $mimport$0 offset=16 (local.get $0) ) - (i32.load offset=4 + (i32.load $mimport$0 offset=4 (local.get $0) ) ) (br $label$1) ) (call_indirect (type $i32_f32_=>_none) - (i32.load offset=16 + (i32.load $mimport$0 offset=16 (local.get $0) ) - (f32.load + (f32.load $mimport$0 (i32.add (local.get $0) (i32.const 24) ) ) - (i32.load offset=4 + (i32.load $mimport$0 offset=4 (local.get $0) ) ) (br $label$1) ) (call_indirect (type $f32_f32_=>_none) - (f32.load offset=16 + (f32.load $mimport$0 offset=16 (local.get $0) ) - (f32.load + (f32.load $mimport$0 (i32.add (local.get $0) (i32.const 24) ) ) - (i32.load offset=4 + (i32.load $mimport$0 offset=4 (local.get $0) ) ) (br $label$1) ) (call_indirect (type $i32_i32_i32_=>_none) - (i32.load offset=16 + (i32.load $mimport$0 offset=16 (local.get $0) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 24) ) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 32) ) ) - (i32.load offset=4 + (i32.load $mimport$0 offset=4 (local.get $0) ) ) (br $label$1) ) (call_indirect (type $i32_f32_f32_=>_none) - (i32.load offset=16 + (i32.load $mimport$0 offset=16 (local.get $0) ) - (f32.load + (f32.load $mimport$0 (i32.add (local.get $0) (i32.const 24) ) ) - (f32.load + (f32.load $mimport$0 (i32.add (local.get $0) (i32.const 32) ) ) - (i32.load offset=4 + (i32.load $mimport$0 offset=4 (local.get $0) ) ) (br $label$1) ) (call_indirect (type $f32_f32_f32_=>_none) - (f32.load offset=16 + (f32.load $mimport$0 offset=16 (local.get $0) ) - (f32.load + (f32.load $mimport$0 (i32.add (local.get $0) (i32.const 24) ) ) - (f32.load + (f32.load $mimport$0 (i32.add (local.get $0) (i32.const 32) ) ) - (i32.load offset=4 + (i32.load $mimport$0 offset=4 (local.get $0) ) ) (br $label$1) ) (call_indirect (type $i32_i32_i32_i32_=>_none) - (i32.load offset=16 + (i32.load $mimport$0 offset=16 (local.get $0) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 24) ) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 32) ) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 40) ) ) - (i32.load offset=4 + (i32.load $mimport$0 offset=4 (local.get $0) ) ) (br $label$1) ) (call_indirect (type $i32_f32_f32_f32_=>_none) - (i32.load offset=16 + (i32.load $mimport$0 offset=16 (local.get $0) ) - (f32.load + (f32.load $mimport$0 (i32.add (local.get $0) (i32.const 24) ) ) - (f32.load + (f32.load $mimport$0 (i32.add (local.get $0) (i32.const 32) ) ) - (f32.load + (f32.load $mimport$0 (i32.add (local.get $0) (i32.const 40) ) ) - (i32.load offset=4 + (i32.load $mimport$0 offset=4 (local.get $0) ) ) (br $label$1) ) (call_indirect (type $f32_f32_f32_f32_=>_none) - (f32.load offset=16 + (f32.load $mimport$0 offset=16 (local.get $0) ) - (f32.load + (f32.load $mimport$0 (i32.add (local.get $0) (i32.const 24) ) ) - (f32.load + (f32.load $mimport$0 (i32.add (local.get $0) (i32.const 32) ) ) - (f32.load + (f32.load $mimport$0 (i32.add (local.get $0) (i32.const 40) ) ) - (i32.load offset=4 + (i32.load $mimport$0 offset=4 (local.get $0) ) ) @@ -2034,470 +2034,470 @@ ) ) (call_indirect (type $i32_i32_i32_i32_i32_=>_none) - (i32.load offset=16 + (i32.load $mimport$0 offset=16 (local.get $0) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 24) ) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 32) ) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 40) ) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 48) ) ) - (i32.load offset=4 + (i32.load $mimport$0 offset=4 (local.get $0) ) ) (br $label$1) ) (call_indirect (type $i32_f32_f32_f32_f32_=>_none) - (i32.load offset=16 + (i32.load $mimport$0 offset=16 (local.get $0) ) - (f32.load + (f32.load $mimport$0 (i32.add (local.get $0) (i32.const 24) ) ) - (f32.load + (f32.load $mimport$0 (i32.add (local.get $0) (i32.const 32) ) ) - (f32.load + (f32.load $mimport$0 (i32.add (local.get $0) (i32.const 40) ) ) - (f32.load + (f32.load $mimport$0 (i32.add (local.get $0) (i32.const 48) ) ) - (i32.load offset=4 + (i32.load $mimport$0 offset=4 (local.get $0) ) ) (br $label$1) ) (call_indirect (type $i32_i32_i32_i32_i32_i32_i32_=>_none) - (i32.load offset=16 + (i32.load $mimport$0 offset=16 (local.get $0) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 24) ) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 32) ) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 40) ) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 48) ) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 56) ) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 64) ) ) - (i32.load offset=4 + (i32.load $mimport$0 offset=4 (local.get $0) ) ) (br $label$1) ) (call_indirect (type $i32_i32_i32_i32_i32_i32_i32_i32_i32_=>_none) - (i32.load offset=16 + (i32.load $mimport$0 offset=16 (local.get $0) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 24) ) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 32) ) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 40) ) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 48) ) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 56) ) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 64) ) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 72) ) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 80) ) ) - (i32.load offset=4 + (i32.load $mimport$0 offset=4 (local.get $0) ) ) (br $label$1) ) (call_indirect (type $i32_i32_i32_i32_i32_i32_i32_i32_i32_i32_i32_=>_none) - (i32.load offset=16 + (i32.load $mimport$0 offset=16 (local.get $0) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 24) ) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 32) ) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 40) ) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 48) ) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 56) ) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 64) ) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 72) ) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 80) ) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 88) ) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 96) ) ) - (i32.load offset=4 + (i32.load $mimport$0 offset=4 (local.get $0) ) ) (br $label$1) ) - (i32.store offset=176 + (i32.store $mimport$0 offset=176 (local.get $0) (call_indirect (type $i32_=>_i32) - (i32.load offset=16 + (i32.load $mimport$0 offset=16 (local.get $0) ) - (i32.load offset=4 + (i32.load $mimport$0 offset=4 (local.get $0) ) ) ) (br $label$1) ) - (i32.store offset=176 + (i32.store $mimport$0 offset=176 (local.get $0) (call_indirect (type $i32_i32_=>_i32) - (i32.load offset=16 + (i32.load $mimport$0 offset=16 (local.get $0) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 24) ) ) - (i32.load offset=4 + (i32.load $mimport$0 offset=4 (local.get $0) ) ) ) (br $label$1) ) - (i32.store offset=176 + (i32.store $mimport$0 offset=176 (local.get $0) (call_indirect (type $i32_i32_i32_=>_i32) - (i32.load offset=16 + (i32.load $mimport$0 offset=16 (local.get $0) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 24) ) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 32) ) ) - (i32.load offset=4 + (i32.load $mimport$0 offset=4 (local.get $0) ) ) ) (br $label$1) ) - (i32.store offset=176 + (i32.store $mimport$0 offset=176 (local.get $0) (call_indirect (type $i32_i32_i32_i32_=>_i32) - (i32.load offset=16 + (i32.load $mimport$0 offset=16 (local.get $0) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 24) ) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 32) ) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 40) ) ) - (i32.load offset=4 + (i32.load $mimport$0 offset=4 (local.get $0) ) ) ) (br $label$1) ) - (i32.store offset=176 + (i32.store $mimport$0 offset=176 (local.get $0) (call_indirect (type $i32_i32_i32_i32_i32_=>_i32) - (i32.load offset=16 + (i32.load $mimport$0 offset=16 (local.get $0) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 24) ) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 32) ) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 40) ) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 48) ) ) - (i32.load offset=4 + (i32.load $mimport$0 offset=4 (local.get $0) ) ) ) (br $label$1) ) - (i32.store offset=176 + (i32.store $mimport$0 offset=176 (local.get $0) (call_indirect (type $i32_i32_i32_i32_i32_i32_i32_=>_i32) - (i32.load offset=16 + (i32.load $mimport$0 offset=16 (local.get $0) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 24) ) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 32) ) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 40) ) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 48) ) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 56) ) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 64) ) ) - (i32.load offset=4 + (i32.load $mimport$0 offset=4 (local.get $0) ) ) ) (br $label$1) ) - (i32.store offset=176 + (i32.store $mimport$0 offset=176 (local.get $0) (call_indirect (type $i32_i32_i32_i32_i32_i32_i32_i32_=>_i32) - (i32.load offset=16 + (i32.load $mimport$0 offset=16 (local.get $0) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 24) ) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 32) ) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 40) ) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 48) ) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 56) ) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 64) ) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 72) ) ) - (i32.load offset=4 + (i32.load $mimport$0 offset=4 (local.get $0) ) ) @@ -2519,13 +2519,13 @@ ) (unreachable) ) - (f64.store offset=176 + (f64.store $mimport$0 offset=176 (local.get $0) (call $fimport$14 - (i32.load offset=4 + (i32.load $mimport$0 offset=4 (local.get $0) ) - (i32.load offset=16 + (i32.load $mimport$0 offset=16 (local.get $0) ) (i32.add @@ -2545,16 +2545,16 @@ (unreachable) ) (call_indirect (type $i32_i32_=>_none) - (i32.load offset=16 + (i32.load $mimport$0 offset=16 (local.get $0) ) - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 24) ) ) - (i32.load offset=4 + (i32.load $mimport$0 offset=4 (local.get $0) ) ) @@ -2562,7 +2562,7 @@ (block $label$44 (br_if $label$44 (i32.eqz - (i32.load offset=188 + (i32.load $mimport$0 offset=188 (local.get $0) ) ) @@ -2572,7 +2572,7 @@ ) (return) ) - (i32.store offset=8 + (i32.store $mimport$0 offset=8 (local.get $0) (i32.const 1) ) @@ -2594,7 +2594,7 @@ ) ) (call $62 - (i32.load offset=184 + (i32.load $mimport$0 offset=184 (local.get $0) ) ) @@ -2684,13 +2684,13 @@ ) ) (func $36 (param $0 i32) - (i32.store offset=1800 + (i32.store $mimport$0 offset=1800 (i32.const 0) (local.get $0) ) ) (func $37 (result i32) - (i32.load offset=1800 + (i32.load $mimport$0 offset=1800 (i32.const 0) ) ) @@ -2757,7 +2757,7 @@ ) (block $label$9 (br_if $label$9 - (i32.load offset=4 + (i32.load $mimport$0 offset=4 (local.tee $2 (call $39 (local.get $0) @@ -2765,7 +2765,7 @@ ) ) ) - (i32.store offset=4 + (i32.store $mimport$0 offset=4 (local.get $2) (call $60 (i32.const 512) @@ -2853,9 +2853,9 @@ ) ) ) - (i32.store + (i32.store $mimport$0 (i32.add - (i32.load offset=4 + (i32.load $mimport$0 offset=4 (local.get $2) ) (i32.shl @@ -2926,7 +2926,7 @@ ) ) ) - (i64.store offset=12 align=4 + (i64.store $mimport$0 offset=12 align=4 (local.tee $1 (call $60 (i32.const 20) @@ -2934,11 +2934,11 @@ ) (i64.const 0) ) - (i64.store offset=4 align=4 + (i64.store $mimport$0 offset=4 align=4 (local.get $1) (i64.const 0) ) - (i32.store + (i32.store $mimport$0 (local.get $1) (local.get $0) ) @@ -2946,7 +2946,7 @@ (block $label$3 (br_if $label$3 (local.tee $0 - (i32.load offset=1840 + (i32.load $mimport$0 offset=1840 (i32.const 0) ) ) @@ -2959,7 +2959,7 @@ (loop $label$4 (br_if $label$4 (local.tee $0 - (i32.load offset=16 + (i32.load $mimport$0 offset=16 (local.tee $2 (local.get $0) ) @@ -2974,7 +2974,7 @@ ) ) ) - (i32.store + (i32.store $mimport$0 (local.get $0) (local.get $1) ) @@ -3010,27 +3010,27 @@ ) ) ) - (memory.fill + (memory.fill $mimport$0 (local.get $3) (i32.const 0) (i32.const 192) ) - (i32.store + (i32.store $mimport$0 (i32.add (local.get $3) (i32.const 24) ) (local.get $2) ) - (i32.store offset=176 + (i32.store $mimport$0 offset=176 (local.get $3) (i32.const 0) ) - (i32.store offset=16 + (i32.store $mimport$0 offset=16 (local.get $3) (local.get $1) ) - (i32.store + (i32.store $mimport$0 (local.get $3) (local.get $0) ) @@ -3038,7 +3038,7 @@ (local.get $3) ) (local.set $0 - (i32.load offset=176 + (i32.load $mimport$0 offset=176 (local.get $3) ) ) @@ -3060,41 +3060,41 @@ ) ) ) - (memory.fill + (memory.fill $mimport$0 (local.get $5) (i32.const 0) (i32.const 192) ) - (i32.store + (i32.store $mimport$0 (i32.add (local.get $5) (i32.const 40) ) (local.get $4) ) - (i32.store + (i32.store $mimport$0 (i32.add (local.get $5) (i32.const 32) ) (local.get $3) ) - (i32.store + (i32.store $mimport$0 (i32.add (local.get $5) (i32.const 24) ) (local.get $2) ) - (i32.store offset=176 + (i32.store $mimport$0 offset=176 (local.get $5) (i32.const 0) ) - (i32.store offset=16 + (i32.store $mimport$0 offset=16 (local.get $5) (local.get $1) ) - (i32.store + (i32.store $mimport$0 (local.get $5) (local.get $0) ) @@ -3102,7 +3102,7 @@ (local.get $5) ) (local.set $0 - (i32.load offset=176 + (i32.load $mimport$0 offset=176 (local.get $5) ) ) @@ -3123,7 +3123,7 @@ ) (br_if $label$1 (i32.eqz - (i32.load offset=1432 + (i32.load $mimport$0 offset=1432 (i32.const 0) ) ) @@ -3151,11 +3151,11 @@ (local.get $3) ) ) - (i32.store offset=184 + (i32.store $mimport$0 offset=184 (local.get $4) (i32.const 0) ) - (i32.store offset=8 + (i32.store $mimport$0 offset=8 (local.get $4) (i32.const 0) ) @@ -3168,15 +3168,15 @@ (call $46) ) ) - (i32.store offset=4 + (i32.store $mimport$0 offset=4 (local.get $5) (local.get $0) ) - (i32.store + (i32.store $mimport$0 (local.get $5) (i32.const -2126512128) ) - (i32.store offset=188 + (i32.store $mimport$0 offset=188 (local.get $5) (i32.sub (i32.const 1) @@ -3190,7 +3190,7 @@ (i32.const 20) ) ) - (i32.store offset=16 + (i32.store $mimport$0 offset=16 (local.get $5) (local.get $1) ) @@ -3205,7 +3205,7 @@ ) ) (loop $label$5 - (i64.store + (i64.store $mimport$0 (i32.add (i32.add (local.get $5) @@ -3221,7 +3221,7 @@ ) (i32.const 16) ) - (i64.load + (i64.load $mimport$0 (i32.add (local.get $2) (i32.shl @@ -3253,7 +3253,7 @@ (local.get $4) ) (local.set $7 - (f64.load offset=176 + (f64.load $mimport$0 offset=176 (local.get $4) ) ) @@ -3302,11 +3302,11 @@ ) (unreachable) ) - (i32.store offset=184 + (i32.store $mimport$0 offset=184 (local.get $0) (i32.const 0) ) - (i64.store offset=4 align=4 + (i64.store $mimport$0 offset=4 align=4 (local.get $0) (i64.const 0) ) @@ -3331,19 +3331,19 @@ ) ) ) - (i32.store offset=184 + (i32.store $mimport$0 offset=184 (local.get $7) (local.get $4) ) - (i32.store offset=4 + (i32.store $mimport$0 offset=4 (local.get $7) (local.get $3) ) - (i32.store + (i32.store $mimport$0 (local.get $7) (local.get $2) ) - (i32.store offset=12 + (i32.store $mimport$0 offset=12 (local.get $6) (local.get $5) ) @@ -3383,18 +3383,18 @@ ) ) ) - (i32.store offset=12 + (i32.store $mimport$0 offset=12 (local.get $6) (i32.add (local.tee $5 - (i32.load offset=12 + (i32.load $mimport$0 offset=12 (local.get $6) ) ) (i32.const 4) ) ) - (i32.store + (i32.store $mimport$0 (i32.add (i32.add (local.get $7) @@ -3405,19 +3405,19 @@ ) (i32.const 16) ) - (i32.load + (i32.load $mimport$0 (local.get $5) ) ) (br $label$4) ) - (i32.store offset=12 + (i32.store $mimport$0 offset=12 (local.get $6) (i32.add (local.tee $5 (i32.and (i32.add - (i32.load offset=12 + (i32.load $mimport$0 offset=12 (local.get $6) ) (i32.const 7) @@ -3428,7 +3428,7 @@ (i32.const 8) ) ) - (i64.store + (i64.store $mimport$0 (i32.add (i32.add (local.get $7) @@ -3439,19 +3439,19 @@ ) (i32.const 16) ) - (i64.load + (i64.load $mimport$0 (local.get $5) ) ) (br $label$4) ) - (i32.store offset=12 + (i32.store $mimport$0 offset=12 (local.get $6) (i32.add (local.tee $5 (i32.and (i32.add - (i32.load offset=12 + (i32.load $mimport$0 offset=12 (local.get $6) ) (i32.const 7) @@ -3462,7 +3462,7 @@ (i32.const 8) ) ) - (f32.store + (f32.store $mimport$0 (i32.add (i32.add (local.get $7) @@ -3474,20 +3474,20 @@ (i32.const 16) ) (f32.demote_f64 - (f64.load + (f64.load $mimport$0 (local.get $5) ) ) ) (br $label$4) ) - (i32.store offset=12 + (i32.store $mimport$0 offset=12 (local.get $6) (i32.add (local.tee $5 (i32.and (i32.add - (i32.load offset=12 + (i32.load $mimport$0 offset=12 (local.get $6) ) (i32.const 7) @@ -3498,7 +3498,7 @@ (i32.const 8) ) ) - (f64.store + (f64.store $mimport$0 (i32.add (i32.add (local.get $7) @@ -3509,7 +3509,7 @@ ) (i32.const 16) ) - (f64.load + (f64.load $mimport$0 (local.get $5) ) ) @@ -3533,7 +3533,7 @@ ) ) ) - (i32.store offset=188 + (i32.store $mimport$0 offset=188 (local.get $7) (i32.const 1) ) @@ -3547,19 +3547,19 @@ (local.set $2 (i32.const 0) ) - (i32.store8 offset=11 + (i32.store8 $mimport$0 offset=11 (local.get $6) (i32.const 0) ) - (i32.store16 offset=9 align=1 + (i32.store16 $mimport$0 offset=9 align=1 (local.get $6) (i32.const 26985) ) - (i32.store + (i32.store $mimport$0 (local.get $6) (local.get $1) ) - (i32.store offset=4 + (i32.store $mimport$0 offset=4 (local.get $6) (local.get $7) ) @@ -3621,14 +3621,14 @@ (local.get $1) ) ) - (i32.store + (i32.store $mimport$0 (local.get $1) - (i32.load offset=56 + (i32.load $mimport$0 offset=56 (local.get $2) ) ) ) - (i32.store offset=56 + (i32.store $mimport$0 offset=56 (local.get $2) (local.get $0) ) @@ -3668,7 +3668,7 @@ ) (br_if $label$1 (i32.gt_u - (i32.load offset=4 + (i32.load $mimport$0 offset=4 (local.get $3) ) (i32.const 999999999) @@ -3683,27 +3683,27 @@ ) ) ) - (i32.store offset=8 + (i32.store $mimport$0 offset=8 (local.get $5) (local.tee $7 (i32.sub - (i32.load + (i32.load $mimport$0 (local.get $3) ) - (i32.load offset=8 + (i32.load $mimport$0 offset=8 (local.get $5) ) ) ) ) - (i32.store offset=12 + (i32.store $mimport$0 offset=12 (local.get $5) (local.tee $3 (i32.sub - (i32.load offset=4 + (i32.load $mimport$0 offset=4 (local.get $3) ) - (i32.load offset=12 + (i32.load $mimport$0 offset=12 (local.get $5) ) ) @@ -3716,7 +3716,7 @@ (i32.const -1) ) ) - (i32.store offset=12 + (i32.store $mimport$0 offset=12 (local.get $5) (local.tee $3 (i32.add @@ -3725,7 +3725,7 @@ ) ) ) - (i32.store offset=8 + (i32.store $mimport$0 offset=8 (local.get $5) (local.tee $7 (i32.add @@ -3768,7 +3768,7 @@ ) (br_if $label$8 (i32.ne - (i32.load offset=56 + (i32.load $mimport$0 offset=56 (call $14) ) (i32.const 1) @@ -3776,7 +3776,7 @@ ) (br_if $label$7 (i32.ne - (i32.load offset=60 + (i32.load $mimport$0 offset=60 (call $14) ) (i32.const 1) @@ -3940,7 +3940,7 @@ ) (drop (call $48 - (i32.load offset=12 + (i32.load $mimport$0 offset=12 (local.get $5) ) (i32.const 0) @@ -3965,7 +3965,7 @@ (br_if $label$2 (i32.and (local.tee $2 - (i32.load + (i32.load $mimport$0 (local.get $0) ) ) @@ -3988,7 +3988,7 @@ ) ) (local.set $2 - (i32.load + (i32.load $mimport$0 (local.get $0) ) ) @@ -4036,7 +4036,7 @@ ) (br_if $label$3 (i32.eqz - (i32.load + (i32.load $mimport$0 (local.get $2) ) ) @@ -4049,7 +4049,7 @@ ) (br_if $label$4 (i32.eqz - (i32.load + (i32.load $mimport$0 (local.get $5) ) ) @@ -4071,14 +4071,14 @@ (br_if $label$6 (i32.eqz (local.tee $3 - (i32.load + (i32.load $mimport$0 (local.get $2) ) ) ) ) (local.set $6 - (i32.load + (i32.load $mimport$0 (local.get $0) ) ) @@ -4114,7 +4114,7 @@ (local.get $3) (i32.const 2147483647) ) - (i32.load offset=40 + (i32.load $mimport$0 offset=40 (call $7) ) ) @@ -4177,7 +4177,7 @@ (local.get $3) ) (func $52 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (i32.atomic.rmw.cmpxchg + (i32.atomic.rmw.cmpxchg $mimport$0 (local.get $0) (local.get $1) (local.get $2) @@ -4185,7 +4185,7 @@ ) (func $53 (param $0 i32) (drop - (i32.atomic.rmw.add + (i32.atomic.rmw.add $mimport$0 (local.get $0) (i32.const 1) ) @@ -4193,7 +4193,7 @@ ) (func $54 (param $0 i32) (drop - (i32.atomic.rmw.sub + (i32.atomic.rmw.sub $mimport$0 (local.get $0) (i32.const 1) ) @@ -4203,7 +4203,7 @@ (block $label$1 (br_if $label$1 (i32.and - (i32.load8_u + (i32.load8_u $mimport$0 (local.get $0) ) (i32.const 15) @@ -4227,14 +4227,14 @@ ) ) (func $56 (param $0 i32) (result i32) - (i32.atomic.rmw.cmpxchg + (i32.atomic.rmw.cmpxchg $mimport$0 (local.get $0) (i32.const 0) (i32.const 10) ) ) (func $57 (param $0 i32) (result i32) - (i32.store + (i32.store $mimport$0 (local.get $0) (i32.const 0) ) @@ -4245,7 +4245,7 @@ (local $3 i32) (local $4 i32) (local $5 i32) - (i32.store + (i32.store $mimport$0 (local.tee $3 (i32.add (local.tee $2 @@ -4259,7 +4259,7 @@ ) (i32.const 0) ) - (i64.store + (i64.store $mimport$0 (local.tee $4 (i32.add (local.get $2) @@ -4268,7 +4268,7 @@ ) (i64.const 0) ) - (i64.store + (i64.store $mimport$0 (local.tee $5 (i32.add (local.get $2) @@ -4277,40 +4277,40 @@ ) (i64.const 0) ) - (i64.store + (i64.store $mimport$0 (local.get $2) (i64.const 0) ) - (i64.store align=4 + (i64.store $mimport$0 align=4 (local.get $0) - (i64.load + (i64.load $mimport$0 (local.get $2) ) ) - (i32.store + (i32.store $mimport$0 (i32.add (local.get $0) (i32.const 24) ) - (i32.load + (i32.load $mimport$0 (local.get $3) ) ) - (i64.store align=4 + (i64.store $mimport$0 align=4 (i32.add (local.get $0) (i32.const 16) ) - (i64.load + (i64.load $mimport$0 (local.get $4) ) ) - (i64.store align=4 + (i64.store $mimport$0 align=4 (i32.add (local.get $0) (i32.const 8) ) - (i64.load + (i64.load $mimport$0 (local.get $5) ) ) @@ -4320,9 +4320,9 @@ (local.get $1) ) ) - (i32.store + (i32.store $mimport$0 (local.get $0) - (i32.load + (i32.load $mimport$0 (local.get $1) ) ) @@ -4346,7 +4346,7 @@ (local $11 i32) (block $label$1 (br_if $label$1 - (i32.load offset=1844 + (i32.load $mimport$0 offset=1844 (i32.const 0) ) ) @@ -4357,7 +4357,7 @@ (br_if $label$3 (i32.eqz (i32.and - (i32.load8_u offset=2312 + (i32.load8_u $mimport$0 offset=2312 (i32.const 0) ) (i32.const 2) @@ -4398,7 +4398,7 @@ (local.tee $0 (i32.shr_u (local.tee $2 - (i32.load offset=1868 + (i32.load $mimport$0 offset=1868 (i32.const 0) ) ) @@ -4432,7 +4432,7 @@ (local.set $1 (i32.add (local.tee $0 - (i32.load + (i32.load $mimport$0 (i32.add (local.tee $5 (i32.shl @@ -4463,7 +4463,7 @@ (br_if $label$18 (i32.ne (local.tee $3 - (i32.load offset=8 + (i32.load $mimport$0 offset=8 (local.get $0) ) ) @@ -4475,7 +4475,7 @@ ) ) ) - (i32.store offset=1868 + (i32.store $mimport$0 offset=1868 (i32.const 0) (i32.and (local.get $2) @@ -4487,16 +4487,16 @@ ) (br $label$17) ) - (i32.store offset=12 + (i32.store $mimport$0 offset=12 (local.get $3) (local.get $5) ) - (i32.store offset=8 + (i32.store $mimport$0 offset=8 (local.get $5) (local.get $3) ) ) - (i32.store offset=4 + (i32.store $mimport$0 offset=4 (local.get $0) (i32.or (local.tee $4 @@ -4508,7 +4508,7 @@ (i32.const 3) ) ) - (i32.store offset=4 + (i32.store $mimport$0 offset=4 (local.tee $0 (i32.add (local.get $0) @@ -4516,7 +4516,7 @@ ) ) (i32.or - (i32.load offset=4 + (i32.load $mimport$0 offset=4 (local.get $0) ) (i32.const 1) @@ -4528,7 +4528,7 @@ (i32.le_u (local.get $3) (local.tee $6 - (i32.load offset=1876 + (i32.load $mimport$0 offset=1876 (i32.const 0) ) ) @@ -4545,9 +4545,9 @@ (br_if $label$21 (i32.ne (local.tee $1 - (i32.load offset=8 + (i32.load $mimport$0 offset=8 (local.tee $0 - (i32.load + (i32.load $mimport$0 (i32.add (local.tee $5 (i32.shl @@ -4679,7 +4679,7 @@ ) ) ) - (i32.store offset=1868 + (i32.store $mimport$0 offset=1868 (i32.const 0) (local.tee $2 (i32.and @@ -4693,11 +4693,11 @@ ) (br $label$20) ) - (i32.store offset=12 + (i32.store $mimport$0 offset=12 (local.get $1) (local.get $5) ) - (i32.store offset=8 + (i32.store $mimport$0 offset=8 (local.get $5) (local.get $1) ) @@ -4708,14 +4708,14 @@ (i32.const 8) ) ) - (i32.store offset=4 + (i32.store $mimport$0 offset=4 (local.get $0) (i32.or (local.get $3) (i32.const 3) ) ) - (i32.store offset=4 + (i32.store $mimport$0 offset=4 (local.tee $5 (i32.add (local.get $0) @@ -4737,7 +4737,7 @@ (i32.const 1) ) ) - (i32.store + (i32.store $mimport$0 (i32.add (local.get $0) (local.get $7) @@ -4765,7 +4765,7 @@ ) ) (local.set $0 - (i32.load offset=1888 + (i32.load $mimport$0 offset=1888 (i32.const 0) ) ) @@ -4782,7 +4782,7 @@ ) ) ) - (i32.store offset=1868 + (i32.store $mimport$0 offset=1868 (i32.const 0) (i32.or (local.get $2) @@ -4795,33 +4795,33 @@ (br $label$23) ) (local.set $7 - (i32.load offset=8 + (i32.load $mimport$0 offset=8 (local.get $3) ) ) ) - (i32.store offset=8 + (i32.store $mimport$0 offset=8 (local.get $3) (local.get $0) ) - (i32.store offset=12 + (i32.store $mimport$0 offset=12 (local.get $7) (local.get $0) ) - (i32.store offset=12 + (i32.store $mimport$0 offset=12 (local.get $0) (local.get $3) ) - (i32.store offset=8 + (i32.store $mimport$0 offset=8 (local.get $0) (local.get $7) ) ) - (i32.store offset=1888 + (i32.store $mimport$0 offset=1888 (i32.const 0) (local.get $5) ) - (i32.store offset=1876 + (i32.store $mimport$0 offset=1876 (i32.const 0) (local.get $4) ) @@ -4830,7 +4830,7 @@ (br_if $label$14 (i32.eqz (local.tee $8 - (i32.load offset=1872 + (i32.load $mimport$0 offset=1872 (i32.const 0) ) ) @@ -4839,9 +4839,9 @@ (local.set $1 (i32.sub (i32.and - (i32.load offset=4 + (i32.load $mimport$0 offset=4 (local.tee $5 - (i32.load + (i32.load $mimport$0 (i32.add (i32.shl (i32.add @@ -4954,7 +4954,7 @@ (block $label$27 (br_if $label$27 (local.tee $0 - (i32.load offset=16 + (i32.load $mimport$0 offset=16 (local.get $4) ) ) @@ -4962,7 +4962,7 @@ (br_if $label$25 (i32.eqz (local.tee $0 - (i32.load + (i32.load $mimport$0 (i32.add (local.get $4) (i32.const 20) @@ -4977,7 +4977,7 @@ (local.tee $4 (i32.sub (i32.and - (i32.load offset=4 + (i32.load $mimport$0 offset=4 (local.get $0) ) (i32.const -8) @@ -5019,7 +5019,7 @@ ) ) (local.set $10 - (i32.load offset=24 + (i32.load $mimport$0 offset=24 (local.get $5) ) ) @@ -5027,7 +5027,7 @@ (br_if $label$28 (i32.eq (local.tee $7 - (i32.load offset=12 + (i32.load $mimport$0 offset=12 (local.get $5) ) ) @@ -5036,21 +5036,21 @@ ) (drop (i32.gt_u - (i32.load offset=1884 + (i32.load $mimport$0 offset=1884 (i32.const 0) ) (local.tee $0 - (i32.load offset=8 + (i32.load $mimport$0 offset=8 (local.get $5) ) ) ) ) - (i32.store offset=12 + (i32.store $mimport$0 offset=12 (local.get $0) (local.get $7) ) - (i32.store offset=8 + (i32.store $mimport$0 offset=8 (local.get $7) (local.get $0) ) @@ -5059,7 +5059,7 @@ (block $label$29 (br_if $label$29 (local.tee $0 - (i32.load + (i32.load $mimport$0 (local.tee $4 (i32.add (local.get $5) @@ -5072,7 +5072,7 @@ (br_if $label$12 (i32.eqz (local.tee $0 - (i32.load offset=16 + (i32.load $mimport$0 offset=16 (local.get $5) ) ) @@ -5091,7 +5091,7 @@ ) (br_if $label$30 (local.tee $0 - (i32.load + (i32.load $mimport$0 (local.tee $4 (i32.add (local.tee $7 @@ -5111,13 +5111,13 @@ ) (br_if $label$30 (local.tee $0 - (i32.load offset=16 + (i32.load $mimport$0 offset=16 (local.get $7) ) ) ) ) - (i32.store + (i32.store $mimport$0 (local.get $11) (i32.const 0) ) @@ -5146,7 +5146,7 @@ (br_if $label$14 (i32.eqz (local.tee $6 - (i32.load offset=1872 + (i32.load $mimport$0 offset=1872 (i32.const 0) ) ) @@ -5261,7 +5261,7 @@ (block $label$35 (br_if $label$35 (local.tee $4 - (i32.load + (i32.load $mimport$0 (i32.add (i32.shl (local.get $11) @@ -5312,7 +5312,7 @@ (local.tee $2 (i32.sub (i32.and - (i32.load offset=4 + (i32.load $mimport$0 offset=4 (local.get $4) ) (i32.const -8) @@ -5348,7 +5348,7 @@ (select (local.get $0) (local.tee $2 - (i32.load + (i32.load $mimport$0 (i32.add (local.get $4) (i32.const 20) @@ -5358,7 +5358,7 @@ (i32.eq (local.get $2) (local.tee $4 - (i32.load + (i32.load $mimport$0 (i32.add (i32.add (local.get $4) @@ -5420,7 +5420,7 @@ ) ) (local.set $0 - (i32.load + (i32.load $mimport$0 (i32.add (i32.shl (i32.add @@ -5532,7 +5532,7 @@ (local.tee $2 (i32.sub (i32.and - (i32.load offset=4 + (i32.load $mimport$0 offset=4 (local.get $0) ) (i32.const -8) @@ -5546,13 +5546,13 @@ (block $label$40 (br_if $label$40 (local.tee $4 - (i32.load offset=16 + (i32.load $mimport$0 offset=16 (local.get $0) ) ) ) (local.set $4 - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 20) @@ -5591,7 +5591,7 @@ (i32.ge_u (local.get $1) (i32.sub - (i32.load offset=1876 + (i32.load $mimport$0 offset=1876 (i32.const 0) ) (local.get $3) @@ -5610,7 +5610,7 @@ ) ) (local.set $8 - (i32.load offset=24 + (i32.load $mimport$0 offset=24 (local.get $7) ) ) @@ -5618,7 +5618,7 @@ (br_if $label$41 (i32.eq (local.tee $5 - (i32.load offset=12 + (i32.load $mimport$0 offset=12 (local.get $7) ) ) @@ -5627,21 +5627,21 @@ ) (drop (i32.gt_u - (i32.load offset=1884 + (i32.load $mimport$0 offset=1884 (i32.const 0) ) (local.tee $0 - (i32.load offset=8 + (i32.load $mimport$0 offset=8 (local.get $7) ) ) ) ) - (i32.store offset=12 + (i32.store $mimport$0 offset=12 (local.get $0) (local.get $5) ) - (i32.store offset=8 + (i32.store $mimport$0 offset=8 (local.get $5) (local.get $0) ) @@ -5650,7 +5650,7 @@ (block $label$42 (br_if $label$42 (local.tee $0 - (i32.load + (i32.load $mimport$0 (local.tee $4 (i32.add (local.get $7) @@ -5663,7 +5663,7 @@ (br_if $label$11 (i32.eqz (local.tee $0 - (i32.load offset=16 + (i32.load $mimport$0 offset=16 (local.get $7) ) ) @@ -5682,7 +5682,7 @@ ) (br_if $label$43 (local.tee $0 - (i32.load + (i32.load $mimport$0 (local.tee $4 (i32.add (local.tee $5 @@ -5702,13 +5702,13 @@ ) (br_if $label$43 (local.tee $0 - (i32.load offset=16 + (i32.load $mimport$0 offset=16 (local.get $5) ) ) ) ) - (i32.store + (i32.store $mimport$0 (local.get $2) (i32.const 0) ) @@ -5718,7 +5718,7 @@ (br_if $label$44 (i32.lt_u (local.tee $0 - (i32.load offset=1876 + (i32.load $mimport$0 offset=1876 (i32.const 0) ) ) @@ -5726,7 +5726,7 @@ ) ) (local.set $1 - (i32.load offset=1888 + (i32.load $mimport$0 offset=1888 (i32.const 0) ) ) @@ -5743,11 +5743,11 @@ (i32.const 16) ) ) - (i32.store offset=1876 + (i32.store $mimport$0 offset=1876 (i32.const 0) (local.get $4) ) - (i32.store offset=1888 + (i32.store $mimport$0 offset=1888 (i32.const 0) (local.tee $5 (i32.add @@ -5756,21 +5756,21 @@ ) ) ) - (i32.store offset=4 + (i32.store $mimport$0 offset=4 (local.get $5) (i32.or (local.get $4) (i32.const 1) ) ) - (i32.store + (i32.store $mimport$0 (i32.add (local.get $1) (local.get $0) ) (local.get $4) ) - (i32.store offset=4 + (i32.store $mimport$0 offset=4 (local.get $1) (i32.or (local.get $3) @@ -5779,22 +5779,22 @@ ) (br $label$45) ) - (i32.store offset=1888 + (i32.store $mimport$0 offset=1888 (i32.const 0) (i32.const 0) ) - (i32.store offset=1876 + (i32.store $mimport$0 offset=1876 (i32.const 0) (i32.const 0) ) - (i32.store offset=4 + (i32.store $mimport$0 offset=4 (local.get $1) (i32.or (local.get $0) (i32.const 3) ) ) - (i32.store offset=4 + (i32.store $mimport$0 offset=4 (local.tee $0 (i32.add (local.get $1) @@ -5802,7 +5802,7 @@ ) ) (i32.or - (i32.load offset=4 + (i32.load $mimport$0 offset=4 (local.get $0) ) (i32.const 1) @@ -5821,14 +5821,14 @@ (br_if $label$47 (i32.le_u (local.tee $0 - (i32.load offset=1880 + (i32.load $mimport$0 offset=1880 (i32.const 0) ) ) (local.get $3) ) ) - (i32.store offset=1880 + (i32.store $mimport$0 offset=1880 (i32.const 0) (local.tee $1 (i32.sub @@ -5837,12 +5837,12 @@ ) ) ) - (i32.store offset=1892 + (i32.store $mimport$0 offset=1892 (i32.const 0) (local.tee $4 (i32.add (local.tee $0 - (i32.load offset=1892 + (i32.load $mimport$0 offset=1892 (i32.const 0) ) ) @@ -5850,14 +5850,14 @@ ) ) ) - (i32.store offset=4 + (i32.store $mimport$0 offset=4 (local.get $4) (i32.or (local.get $1) (i32.const 1) ) ) - (i32.store offset=4 + (i32.store $mimport$0 offset=4 (local.get $0) (i32.or (local.get $3) @@ -5877,7 +5877,7 @@ ) (block $label$48 (br_if $label$48 - (i32.load offset=1844 + (i32.load $mimport$0 offset=1844 (i32.const 0) ) ) @@ -5889,7 +5889,7 @@ (i32.and (i32.add (local.tee $0 - (i32.load offset=1852 + (i32.load $mimport$0 offset=1852 (i32.const 0) ) ) @@ -5916,7 +5916,7 @@ (br_if $label$49 (i32.eqz (local.tee $0 - (i32.load offset=2308 + (i32.load $mimport$0 offset=2308 (i32.const 0) ) ) @@ -5927,7 +5927,7 @@ (local.tee $5 (i32.add (local.tee $4 - (i32.load offset=2300 + (i32.load $mimport$0 offset=2300 (i32.const 0) ) ) @@ -5952,7 +5952,7 @@ ) (br_if $label$7 (i32.and - (i32.load8_u offset=2312 + (i32.load8_u $mimport$0 offset=2312 (i32.const 0) ) (i32.const 4) @@ -5967,7 +5967,7 @@ (br_if $label$52 (i32.eqz (local.tee $1 - (i32.load offset=1892 + (i32.load $mimport$0 offset=1892 (i32.const 0) ) ) @@ -5981,7 +5981,7 @@ (br_if $label$54 (i32.gt_u (local.tee $4 - (i32.load + (i32.load $mimport$0 (local.get $0) ) ) @@ -5992,7 +5992,7 @@ (i32.gt_u (i32.add (local.get $4) - (i32.load offset=4 + (i32.load $mimport$0 offset=4 (local.get $0) ) ) @@ -6002,7 +6002,7 @@ ) (br_if $label$53 (local.tee $0 - (i32.load offset=8 + (i32.load $mimport$0 offset=8 (local.get $0) ) ) @@ -6034,7 +6034,7 @@ (local.tee $1 (i32.add (local.tee $0 - (i32.load offset=1848 + (i32.load $mimport$0 offset=1848 (i32.const 0) ) ) @@ -6095,7 +6095,7 @@ (br_if $label$58 (i32.eqz (local.tee $0 - (i32.load offset=2308 + (i32.load $mimport$0 offset=2308 (i32.const 0) ) ) @@ -6106,7 +6106,7 @@ (local.tee $4 (i32.add (local.tee $1 - (i32.load offset=2300 + (i32.load $mimport$0 offset=2300 (i32.const 0) ) ) @@ -6150,12 +6150,12 @@ (i32.add (i32.sub (local.get $11) - (i32.load offset=1880 + (i32.load $mimport$0 offset=1880 (i32.const 0) ) ) (local.tee $1 - (i32.load offset=1852 + (i32.load $mimport$0 offset=1852 (i32.const 0) ) ) @@ -6177,10 +6177,10 @@ ) ) (i32.add - (i32.load + (i32.load $mimport$0 (local.get $0) ) - (i32.load offset=4 + (i32.load $mimport$0 offset=4 (local.get $0) ) ) @@ -6220,7 +6220,7 @@ (local.get $2) ) (local.tee $1 - (i32.load offset=1852 + (i32.load $mimport$0 offset=1852 (i32.const 0) ) ) @@ -6305,10 +6305,10 @@ ) ) ) - (i32.store offset=2312 + (i32.store $mimport$0 offset=2312 (i32.const 0) (i32.or - (i32.load offset=2312 + (i32.load $mimport$0 offset=2312 (i32.const 0) ) (i32.const 4) @@ -6403,11 +6403,11 @@ ) ) ) - (i32.store offset=2300 + (i32.store $mimport$0 offset=2300 (i32.const 0) (local.tee $0 (i32.add - (i32.load offset=2300 + (i32.load $mimport$0 offset=2300 (i32.const 0) ) (local.get $2) @@ -6418,12 +6418,12 @@ (br_if $label$65 (i32.le_u (local.get $0) - (i32.load offset=2304 + (i32.load $mimport$0 offset=2304 (i32.const 0) ) ) ) - (i32.store offset=2304 + (i32.store $mimport$0 offset=2304 (i32.const 0) (local.get $0) ) @@ -6435,7 +6435,7 @@ (br_if $label$69 (i32.eqz (local.tee $1 - (i32.load offset=1892 + (i32.load $mimport$0 offset=1892 (i32.const 0) ) ) @@ -6450,12 +6450,12 @@ (local.get $5) (i32.add (local.tee $4 - (i32.load + (i32.load $mimport$0 (local.get $0) ) ) (local.tee $7 - (i32.load offset=4 + (i32.load $mimport$0 offset=4 (local.get $0) ) ) @@ -6464,7 +6464,7 @@ ) (br_if $label$70 (local.tee $0 - (i32.load offset=8 + (i32.load $mimport$0 offset=8 (local.get $0) ) ) @@ -6477,7 +6477,7 @@ (br_if $label$72 (i32.eqz (local.tee $0 - (i32.load offset=1884 + (i32.load $mimport$0 offset=1884 (i32.const 0) ) ) @@ -6490,7 +6490,7 @@ ) ) ) - (i32.store offset=1884 + (i32.store $mimport$0 offset=1884 (i32.const 0) (local.get $5) ) @@ -6498,30 +6498,30 @@ (local.set $0 (i32.const 0) ) - (i32.store offset=2348 + (i32.store $mimport$0 offset=2348 (i32.const 0) (local.get $2) ) - (i32.store offset=2344 + (i32.store $mimport$0 offset=2344 (i32.const 0) (local.get $5) ) - (i32.store offset=1900 + (i32.store $mimport$0 offset=1900 (i32.const 0) (i32.const -1) ) - (i32.store offset=1904 + (i32.store $mimport$0 offset=1904 (i32.const 0) - (i32.load offset=1844 + (i32.load $mimport$0 offset=1844 (i32.const 0) ) ) - (i32.store offset=2356 + (i32.store $mimport$0 offset=2356 (i32.const 0) (i32.const 0) ) (loop $label$73 - (i32.store + (i32.store $mimport$0 (i32.add (local.tee $1 (i32.shl @@ -6538,7 +6538,7 @@ ) ) ) - (i32.store + (i32.store $mimport$0 (i32.add (local.get $1) (i32.const 1920) @@ -6557,7 +6557,7 @@ ) ) ) - (i32.store offset=1880 + (i32.store $mimport$0 offset=1880 (i32.const 0) (local.tee $4 (i32.sub @@ -6589,7 +6589,7 @@ ) ) ) - (i32.store offset=1892 + (i32.store $mimport$0 offset=1892 (i32.const 0) (local.tee $1 (i32.add @@ -6598,23 +6598,23 @@ ) ) ) - (i32.store offset=4 + (i32.store $mimport$0 offset=4 (local.get $1) (i32.or (local.get $4) (i32.const 1) ) ) - (i32.store offset=4 + (i32.store $mimport$0 offset=4 (i32.add (local.get $5) (local.get $0) ) (i32.const 40) ) - (i32.store offset=1896 + (i32.store $mimport$0 offset=1896 (i32.const 0) - (i32.load offset=1860 + (i32.load $mimport$0 offset=1860 (i32.const 0) ) ) @@ -6634,20 +6634,20 @@ ) (br_if $label$67 (i32.and - (i32.load offset=12 + (i32.load $mimport$0 offset=12 (local.get $0) ) (i32.const 8) ) ) - (i32.store offset=4 + (i32.store $mimport$0 offset=4 (local.get $0) (i32.add (local.get $7) (local.get $2) ) ) - (i32.store offset=1892 + (i32.store $mimport$0 offset=1892 (i32.const 0) (local.tee $4 (i32.add @@ -6674,13 +6674,13 @@ ) ) ) - (i32.store offset=1880 + (i32.store $mimport$0 offset=1880 (i32.const 0) (local.tee $0 (i32.sub (local.tee $5 (i32.add - (i32.load offset=1880 + (i32.load $mimport$0 offset=1880 (i32.const 0) ) (local.get $2) @@ -6690,23 +6690,23 @@ ) ) ) - (i32.store offset=4 + (i32.store $mimport$0 offset=4 (local.get $4) (i32.or (local.get $0) (i32.const 1) ) ) - (i32.store offset=4 + (i32.store $mimport$0 offset=4 (i32.add (local.get $1) (local.get $5) ) (i32.const 40) ) - (i32.store offset=1896 + (i32.store $mimport$0 offset=1896 (i32.const 0) - (i32.load offset=1860 + (i32.load $mimport$0 offset=1860 (i32.const 0) ) ) @@ -6717,13 +6717,13 @@ (i32.ge_u (local.get $5) (local.tee $7 - (i32.load offset=1884 + (i32.load $mimport$0 offset=1884 (i32.const 0) ) ) ) ) - (i32.store offset=1884 + (i32.store $mimport$0 offset=1884 (i32.const 0) (local.get $5) ) @@ -6750,7 +6750,7 @@ (loop $label$82 (br_if $label$81 (i32.eq - (i32.load + (i32.load $mimport$0 (local.get $0) ) (local.get $4) @@ -6758,7 +6758,7 @@ ) (br_if $label$82 (local.tee $0 - (i32.load offset=8 + (i32.load $mimport$0 offset=8 (local.get $0) ) ) @@ -6769,7 +6769,7 @@ (br_if $label$79 (i32.eqz (i32.and - (i32.load8_u offset=12 + (i32.load8_u $mimport$0 offset=12 (local.get $0) ) (i32.const 8) @@ -6785,7 +6785,7 @@ (br_if $label$84 (i32.gt_u (local.tee $4 - (i32.load + (i32.load $mimport$0 (local.get $0) ) ) @@ -6797,7 +6797,7 @@ (local.tee $4 (i32.add (local.get $4) - (i32.load offset=4 + (i32.load $mimport$0 offset=4 (local.get $0) ) ) @@ -6807,27 +6807,27 @@ ) ) (local.set $0 - (i32.load offset=8 + (i32.load $mimport$0 offset=8 (local.get $0) ) ) (br $label$83) ) ) - (i32.store + (i32.store $mimport$0 (local.get $0) (local.get $5) ) - (i32.store offset=4 + (i32.store $mimport$0 offset=4 (local.get $0) (i32.add - (i32.load offset=4 + (i32.load $mimport$0 offset=4 (local.get $0) ) (local.get $2) ) ) - (i32.store offset=4 + (i32.store $mimport$0 offset=4 (local.tee $11 (i32.add (local.get $5) @@ -6898,22 +6898,22 @@ (local.get $2) ) ) - (i32.store offset=1892 + (i32.store $mimport$0 offset=1892 (i32.const 0) (local.get $3) ) - (i32.store offset=1880 + (i32.store $mimport$0 offset=1880 (i32.const 0) (local.tee $0 (i32.add - (i32.load offset=1880 + (i32.load $mimport$0 offset=1880 (i32.const 0) ) (local.get $4) ) ) ) - (i32.store offset=4 + (i32.store $mimport$0 offset=4 (local.get $3) (i32.or (local.get $0) @@ -6925,35 +6925,35 @@ (block $label$86 (br_if $label$86 (i32.ne - (i32.load offset=1888 + (i32.load $mimport$0 offset=1888 (i32.const 0) ) (local.get $2) ) ) - (i32.store offset=1888 + (i32.store $mimport$0 offset=1888 (i32.const 0) (local.get $3) ) - (i32.store offset=1876 + (i32.store $mimport$0 offset=1876 (i32.const 0) (local.tee $0 (i32.add - (i32.load offset=1876 + (i32.load $mimport$0 offset=1876 (i32.const 0) ) (local.get $4) ) ) ) - (i32.store offset=4 + (i32.store $mimport$0 offset=4 (local.get $3) (i32.or (local.get $0) (i32.const 1) ) ) - (i32.store + (i32.store $mimport$0 (i32.add (local.get $3) (local.get $0) @@ -6967,7 +6967,7 @@ (i32.ne (i32.and (local.tee $0 - (i32.load offset=4 + (i32.load $mimport$0 offset=4 (local.get $2) ) ) @@ -6993,7 +6993,7 @@ (drop (i32.eq (local.tee $1 - (i32.load offset=8 + (i32.load $mimport$0 offset=8 (local.get $2) ) ) @@ -7017,17 +7017,17 @@ (br_if $label$90 (i32.ne (local.tee $0 - (i32.load offset=12 + (i32.load $mimport$0 offset=12 (local.get $2) ) ) (local.get $1) ) ) - (i32.store offset=1868 + (i32.store $mimport$0 offset=1868 (i32.const 0) (i32.and - (i32.load offset=1868 + (i32.load $mimport$0 offset=1868 (i32.const 0) ) (i32.rotl @@ -7044,18 +7044,18 @@ (local.get $5) ) ) - (i32.store offset=12 + (i32.store $mimport$0 offset=12 (local.get $1) (local.get $0) ) - (i32.store offset=8 + (i32.store $mimport$0 offset=8 (local.get $0) (local.get $1) ) (br $label$88) ) (local.set $8 - (i32.load offset=24 + (i32.load $mimport$0 offset=24 (local.get $2) ) ) @@ -7064,7 +7064,7 @@ (br_if $label$92 (i32.eq (local.tee $5 - (i32.load offset=12 + (i32.load $mimport$0 offset=12 (local.get $2) ) ) @@ -7075,17 +7075,17 @@ (i32.gt_u (local.get $7) (local.tee $0 - (i32.load offset=8 + (i32.load $mimport$0 offset=8 (local.get $2) ) ) ) ) - (i32.store offset=12 + (i32.store $mimport$0 offset=12 (local.get $0) (local.get $5) ) - (i32.store offset=8 + (i32.store $mimport$0 offset=8 (local.get $5) (local.get $0) ) @@ -7094,7 +7094,7 @@ (block $label$93 (br_if $label$93 (local.tee $1 - (i32.load + (i32.load $mimport$0 (local.tee $0 (i32.add (local.get $2) @@ -7106,7 +7106,7 @@ ) (br_if $label$93 (local.tee $1 - (i32.load + (i32.load $mimport$0 (local.tee $0 (i32.add (local.get $2) @@ -7127,7 +7127,7 @@ ) (br_if $label$94 (local.tee $1 - (i32.load + (i32.load $mimport$0 (local.tee $0 (i32.add (local.tee $5 @@ -7147,13 +7147,13 @@ ) (br_if $label$94 (local.tee $1 - (i32.load offset=16 + (i32.load $mimport$0 offset=16 (local.get $5) ) ) ) ) - (i32.store + (i32.store $mimport$0 (local.get $7) (i32.const 0) ) @@ -7167,12 +7167,12 @@ (block $label$96 (br_if $label$96 (i32.ne - (i32.load + (i32.load $mimport$0 (local.tee $0 (i32.add (i32.shl (local.tee $1 - (i32.load offset=28 + (i32.load $mimport$0 offset=28 (local.get $2) ) ) @@ -7185,17 +7185,17 @@ (local.get $2) ) ) - (i32.store + (i32.store $mimport$0 (local.get $0) (local.get $5) ) (br_if $label$95 (local.get $5) ) - (i32.store offset=1872 + (i32.store $mimport$0 offset=1872 (i32.const 0) (i32.and - (i32.load offset=1872 + (i32.load $mimport$0 offset=1872 (i32.const 0) ) (i32.rotl @@ -7206,14 +7206,14 @@ ) (br $label$88) ) - (i32.store + (i32.store $mimport$0 (i32.add (local.get $8) (select (i32.const 16) (i32.const 20) (i32.eq - (i32.load offset=16 + (i32.load $mimport$0 offset=16 (local.get $8) ) (local.get $2) @@ -7228,7 +7228,7 @@ ) ) ) - (i32.store offset=24 + (i32.store $mimport$0 offset=24 (local.get $5) (local.get $8) ) @@ -7236,17 +7236,17 @@ (br_if $label$97 (i32.eqz (local.tee $0 - (i32.load offset=16 + (i32.load $mimport$0 offset=16 (local.get $2) ) ) ) ) - (i32.store offset=16 + (i32.store $mimport$0 offset=16 (local.get $5) (local.get $0) ) - (i32.store offset=24 + (i32.store $mimport$0 offset=24 (local.get $0) (local.get $5) ) @@ -7254,20 +7254,20 @@ (br_if $label$88 (i32.eqz (local.tee $0 - (i32.load offset=20 + (i32.load $mimport$0 offset=20 (local.get $2) ) ) ) ) - (i32.store + (i32.store $mimport$0 (i32.add (local.get $5) (i32.const 20) ) (local.get $0) ) - (i32.store offset=24 + (i32.store $mimport$0 offset=24 (local.get $0) (local.get $5) ) @@ -7285,23 +7285,23 @@ ) ) ) - (i32.store offset=4 + (i32.store $mimport$0 offset=4 (local.get $2) (i32.and - (i32.load offset=4 + (i32.load $mimport$0 offset=4 (local.get $2) ) (i32.const -2) ) ) - (i32.store offset=4 + (i32.store $mimport$0 offset=4 (local.get $3) (i32.or (local.get $4) (i32.const 1) ) ) - (i32.store + (i32.store $mimport$0 (i32.add (local.get $3) (local.get $4) @@ -7334,7 +7334,7 @@ (br_if $label$100 (i32.and (local.tee $4 - (i32.load offset=1868 + (i32.load $mimport$0 offset=1868 (i32.const 0) ) ) @@ -7346,7 +7346,7 @@ ) ) ) - (i32.store offset=1868 + (i32.store $mimport$0 offset=1868 (i32.const 0) (i32.or (local.get $4) @@ -7359,24 +7359,24 @@ (br $label$99) ) (local.set $1 - (i32.load offset=8 + (i32.load $mimport$0 offset=8 (local.get $0) ) ) ) - (i32.store offset=8 + (i32.store $mimport$0 offset=8 (local.get $0) (local.get $3) ) - (i32.store offset=12 + (i32.store $mimport$0 offset=12 (local.get $1) (local.get $3) ) - (i32.store offset=12 + (i32.store $mimport$0 offset=12 (local.get $3) (local.get $0) ) - (i32.store offset=8 + (i32.store $mimport$0 offset=8 (local.get $3) (local.get $1) ) @@ -7479,11 +7479,11 @@ ) ) ) - (i32.store offset=28 + (i32.store $mimport$0 offset=28 (local.get $3) (local.get $0) ) - (i64.store offset=16 align=4 + (i64.store $mimport$0 offset=16 align=4 (local.get $3) (i64.const 0) ) @@ -7501,7 +7501,7 @@ (br_if $label$103 (i32.and (local.tee $5 - (i32.load offset=1872 + (i32.load $mimport$0 offset=1872 (i32.const 0) ) ) @@ -7513,18 +7513,18 @@ ) ) ) - (i32.store offset=1872 + (i32.store $mimport$0 offset=1872 (i32.const 0) (i32.or (local.get $5) (local.get $7) ) ) - (i32.store + (i32.store $mimport$0 (local.get $1) (local.get $3) ) - (i32.store offset=24 + (i32.store $mimport$0 offset=24 (local.get $3) (local.get $1) ) @@ -7550,7 +7550,7 @@ ) ) (local.set $5 - (i32.load + (i32.load $mimport$0 (local.get $1) ) ) @@ -7558,7 +7558,7 @@ (br_if $label$77 (i32.eq (i32.and - (i32.load offset=4 + (i32.load $mimport$0 offset=4 (local.tee $1 (local.get $5) ) @@ -7582,7 +7582,7 @@ ) (br_if $label$104 (local.tee $5 - (i32.load + (i32.load $mimport$0 (local.tee $7 (i32.add (i32.add @@ -7599,26 +7599,26 @@ ) ) ) - (i32.store + (i32.store $mimport$0 (local.get $7) (local.get $3) ) - (i32.store offset=24 + (i32.store $mimport$0 offset=24 (local.get $3) (local.get $1) ) ) - (i32.store offset=12 + (i32.store $mimport$0 offset=12 (local.get $3) (local.get $3) ) - (i32.store offset=8 + (i32.store $mimport$0 offset=8 (local.get $3) (local.get $3) ) (br $label$76) ) - (i32.store offset=1880 + (i32.store $mimport$0 offset=1880 (i32.const 0) (local.tee $11 (i32.sub @@ -7650,7 +7650,7 @@ ) ) ) - (i32.store offset=1892 + (i32.store $mimport$0 offset=1892 (i32.const 0) (local.tee $7 (i32.add @@ -7659,27 +7659,27 @@ ) ) ) - (i32.store offset=4 + (i32.store $mimport$0 offset=4 (local.get $7) (i32.or (local.get $11) (i32.const 1) ) ) - (i32.store offset=4 + (i32.store $mimport$0 offset=4 (i32.add (local.get $5) (local.get $0) ) (i32.const 40) ) - (i32.store offset=1896 + (i32.store $mimport$0 offset=1896 (i32.const 0) - (i32.load offset=1860 + (i32.load $mimport$0 offset=1860 (i32.const 0) ) ) - (i32.store offset=4 + (i32.store $mimport$0 offset=4 (local.tee $7 (select (local.get $1) @@ -7719,37 +7719,37 @@ ) (i32.const 27) ) - (i64.store align=4 + (i64.store $mimport$0 align=4 (i32.add (local.get $7) (i32.const 16) ) - (i64.load offset=2352 align=4 + (i64.load $mimport$0 offset=2352 align=4 (i32.const 0) ) ) - (i64.store offset=8 align=4 + (i64.store $mimport$0 offset=8 align=4 (local.get $7) - (i64.load offset=2344 align=4 + (i64.load $mimport$0 offset=2344 align=4 (i32.const 0) ) ) - (i32.store offset=2352 + (i32.store $mimport$0 offset=2352 (i32.const 0) (i32.add (local.get $7) (i32.const 8) ) ) - (i32.store offset=2348 + (i32.store $mimport$0 offset=2348 (i32.const 0) (local.get $2) ) - (i32.store offset=2344 + (i32.store $mimport$0 offset=2344 (i32.const 0) (local.get $5) ) - (i32.store offset=2356 + (i32.store $mimport$0 offset=2356 (i32.const 0) (i32.const 0) ) @@ -7760,7 +7760,7 @@ ) ) (loop $label$105 - (i32.store offset=4 + (i32.store $mimport$0 offset=4 (local.get $0) (i32.const 7) ) @@ -7789,16 +7789,16 @@ (local.get $1) ) ) - (i32.store offset=4 + (i32.store $mimport$0 offset=4 (local.get $7) (i32.and - (i32.load offset=4 + (i32.load $mimport$0 offset=4 (local.get $7) ) (i32.const -2) ) ) - (i32.store offset=4 + (i32.store $mimport$0 offset=4 (local.get $1) (i32.or (local.tee $2 @@ -7810,7 +7810,7 @@ (i32.const 1) ) ) - (i32.store + (i32.store $mimport$0 (local.get $7) (local.get $2) ) @@ -7840,7 +7840,7 @@ (br_if $label$108 (i32.and (local.tee $5 - (i32.load offset=1868 + (i32.load $mimport$0 offset=1868 (i32.const 0) ) ) @@ -7852,7 +7852,7 @@ ) ) ) - (i32.store offset=1868 + (i32.store $mimport$0 offset=1868 (i32.const 0) (i32.or (local.get $5) @@ -7865,24 +7865,24 @@ (br $label$107) ) (local.set $4 - (i32.load offset=8 + (i32.load $mimport$0 offset=8 (local.get $0) ) ) ) - (i32.store offset=8 + (i32.store $mimport$0 offset=8 (local.get $0) (local.get $1) ) - (i32.store offset=12 + (i32.store $mimport$0 offset=12 (local.get $4) (local.get $1) ) - (i32.store offset=12 + (i32.store $mimport$0 offset=12 (local.get $1) (local.get $0) ) - (i32.store offset=8 + (i32.store $mimport$0 offset=8 (local.get $1) (local.get $4) ) @@ -7985,11 +7985,11 @@ ) ) ) - (i64.store offset=16 align=4 + (i64.store $mimport$0 offset=16 align=4 (local.get $1) (i64.const 0) ) - (i32.store + (i32.store $mimport$0 (i32.add (local.get $1) (i32.const 28) @@ -8010,7 +8010,7 @@ (br_if $label$111 (i32.and (local.tee $5 - (i32.load offset=1872 + (i32.load $mimport$0 offset=1872 (i32.const 0) ) ) @@ -8022,18 +8022,18 @@ ) ) ) - (i32.store offset=1872 + (i32.store $mimport$0 offset=1872 (i32.const 0) (i32.or (local.get $5) (local.get $7) ) ) - (i32.store + (i32.store $mimport$0 (local.get $4) (local.get $1) ) - (i32.store + (i32.store $mimport$0 (i32.add (local.get $1) (i32.const 24) @@ -8062,7 +8062,7 @@ ) ) (local.set $5 - (i32.load + (i32.load $mimport$0 (local.get $4) ) ) @@ -8070,7 +8070,7 @@ (br_if $label$75 (i32.eq (i32.and - (i32.load offset=4 + (i32.load $mimport$0 offset=4 (local.tee $4 (local.get $5) ) @@ -8094,7 +8094,7 @@ ) (br_if $label$112 (local.tee $5 - (i32.load + (i32.load $mimport$0 (local.tee $7 (i32.add (i32.add @@ -8111,11 +8111,11 @@ ) ) ) - (i32.store + (i32.store $mimport$0 (local.get $7) (local.get $1) ) - (i32.store + (i32.store $mimport$0 (i32.add (local.get $1) (i32.const 24) @@ -8123,37 +8123,37 @@ (local.get $4) ) ) - (i32.store offset=12 + (i32.store $mimport$0 offset=12 (local.get $1) (local.get $1) ) - (i32.store offset=8 + (i32.store $mimport$0 offset=8 (local.get $1) (local.get $1) ) (br $label$66) ) - (i32.store offset=12 + (i32.store $mimport$0 offset=12 (local.tee $0 - (i32.load offset=8 + (i32.load $mimport$0 offset=8 (local.get $1) ) ) (local.get $3) ) - (i32.store offset=8 + (i32.store $mimport$0 offset=8 (local.get $1) (local.get $3) ) - (i32.store offset=24 + (i32.store $mimport$0 offset=24 (local.get $3) (i32.const 0) ) - (i32.store offset=12 + (i32.store $mimport$0 offset=12 (local.get $3) (local.get $1) ) - (i32.store offset=8 + (i32.store $mimport$0 offset=8 (local.get $3) (local.get $0) ) @@ -8166,30 +8166,30 @@ ) (br $label$4) ) - (i32.store offset=12 + (i32.store $mimport$0 offset=12 (local.tee $0 - (i32.load offset=8 + (i32.load $mimport$0 offset=8 (local.get $4) ) ) (local.get $1) ) - (i32.store offset=8 + (i32.store $mimport$0 offset=8 (local.get $4) (local.get $1) ) - (i32.store + (i32.store $mimport$0 (i32.add (local.get $1) (i32.const 24) ) (i32.const 0) ) - (i32.store offset=12 + (i32.store $mimport$0 offset=12 (local.get $1) (local.get $4) ) - (i32.store offset=8 + (i32.store $mimport$0 offset=8 (local.get $1) (local.get $0) ) @@ -8197,14 +8197,14 @@ (br_if $label$62 (i32.le_u (local.tee $0 - (i32.load offset=1880 + (i32.load $mimport$0 offset=1880 (i32.const 0) ) ) (local.get $3) ) ) - (i32.store offset=1880 + (i32.store $mimport$0 offset=1880 (i32.const 0) (local.tee $1 (i32.sub @@ -8213,12 +8213,12 @@ ) ) ) - (i32.store offset=1892 + (i32.store $mimport$0 offset=1892 (i32.const 0) (local.tee $4 (i32.add (local.tee $0 - (i32.load offset=1892 + (i32.load $mimport$0 offset=1892 (i32.const 0) ) ) @@ -8226,14 +8226,14 @@ ) ) ) - (i32.store offset=4 + (i32.store $mimport$0 offset=4 (local.get $4) (i32.or (local.get $1) (i32.const 1) ) ) - (i32.store offset=4 + (i32.store $mimport$0 offset=4 (local.get $0) (i32.or (local.get $3) @@ -8248,7 +8248,7 @@ ) (br $label$4) ) - (i32.store + (i32.store $mimport$0 (call $25) (i32.const 48) ) @@ -8268,12 +8268,12 @@ (br_if $label$115 (i32.ne (local.get $7) - (i32.load + (i32.load $mimport$0 (local.tee $0 (i32.add (i32.shl (local.tee $4 - (i32.load offset=28 + (i32.load $mimport$0 offset=28 (local.get $7) ) ) @@ -8285,14 +8285,14 @@ ) ) ) - (i32.store + (i32.store $mimport$0 (local.get $0) (local.get $5) ) (br_if $label$114 (local.get $5) ) - (i32.store offset=1872 + (i32.store $mimport$0 offset=1872 (i32.const 0) (local.tee $6 (i32.and @@ -8306,14 +8306,14 @@ ) (br $label$113) ) - (i32.store + (i32.store $mimport$0 (i32.add (local.get $8) (select (i32.const 16) (i32.const 20) (i32.eq - (i32.load offset=16 + (i32.load $mimport$0 offset=16 (local.get $8) ) (local.get $7) @@ -8328,7 +8328,7 @@ ) ) ) - (i32.store offset=24 + (i32.store $mimport$0 offset=24 (local.get $5) (local.get $8) ) @@ -8336,17 +8336,17 @@ (br_if $label$116 (i32.eqz (local.tee $0 - (i32.load offset=16 + (i32.load $mimport$0 offset=16 (local.get $7) ) ) ) ) - (i32.store offset=16 + (i32.store $mimport$0 offset=16 (local.get $5) (local.get $0) ) - (i32.store offset=24 + (i32.store $mimport$0 offset=24 (local.get $0) (local.get $5) ) @@ -8354,7 +8354,7 @@ (br_if $label$113 (i32.eqz (local.tee $0 - (i32.load + (i32.load $mimport$0 (i32.add (local.get $7) (i32.const 20) @@ -8363,14 +8363,14 @@ ) ) ) - (i32.store + (i32.store $mimport$0 (i32.add (local.get $5) (i32.const 20) ) (local.get $0) ) - (i32.store offset=24 + (i32.store $mimport$0 offset=24 (local.get $0) (local.get $5) ) @@ -8383,7 +8383,7 @@ (i32.const 15) ) ) - (i32.store offset=4 + (i32.store $mimport$0 offset=4 (local.get $7) (i32.or (local.tee $0 @@ -8395,7 +8395,7 @@ (i32.const 3) ) ) - (i32.store offset=4 + (i32.store $mimport$0 offset=4 (local.tee $0 (i32.add (local.get $7) @@ -8403,7 +8403,7 @@ ) ) (i32.or - (i32.load offset=4 + (i32.load $mimport$0 offset=4 (local.get $0) ) (i32.const 1) @@ -8411,21 +8411,21 @@ ) (br $label$117) ) - (i32.store offset=4 + (i32.store $mimport$0 offset=4 (local.get $7) (i32.or (local.get $3) (i32.const 3) ) ) - (i32.store offset=4 + (i32.store $mimport$0 offset=4 (local.get $11) (i32.or (local.get $1) (i32.const 1) ) ) - (i32.store + (i32.store $mimport$0 (i32.add (local.get $11) (local.get $1) @@ -8458,7 +8458,7 @@ (br_if $label$121 (i32.and (local.tee $4 - (i32.load offset=1868 + (i32.load $mimport$0 offset=1868 (i32.const 0) ) ) @@ -8470,7 +8470,7 @@ ) ) ) - (i32.store offset=1868 + (i32.store $mimport$0 offset=1868 (i32.const 0) (i32.or (local.get $4) @@ -8483,24 +8483,24 @@ (br $label$120) ) (local.set $1 - (i32.load offset=8 + (i32.load $mimport$0 offset=8 (local.get $0) ) ) ) - (i32.store offset=8 + (i32.store $mimport$0 offset=8 (local.get $0) (local.get $11) ) - (i32.store offset=12 + (i32.store $mimport$0 offset=12 (local.get $1) (local.get $11) ) - (i32.store offset=12 + (i32.store $mimport$0 offset=12 (local.get $11) (local.get $0) ) - (i32.store offset=8 + (i32.store $mimport$0 offset=8 (local.get $11) (local.get $1) ) @@ -8603,11 +8603,11 @@ ) ) ) - (i32.store offset=28 + (i32.store $mimport$0 offset=28 (local.get $11) (local.get $0) ) - (i64.store offset=16 align=4 + (i64.store $mimport$0 offset=16 align=4 (local.get $11) (i64.const 0) ) @@ -8634,18 +8634,18 @@ ) ) ) - (i32.store offset=1872 + (i32.store $mimport$0 offset=1872 (i32.const 0) (i32.or (local.get $6) (local.get $3) ) ) - (i32.store + (i32.store $mimport$0 (local.get $4) (local.get $11) ) - (i32.store offset=24 + (i32.store $mimport$0 offset=24 (local.get $11) (local.get $4) ) @@ -8671,7 +8671,7 @@ ) ) (local.set $3 - (i32.load + (i32.load $mimport$0 (local.get $4) ) ) @@ -8679,7 +8679,7 @@ (br_if $label$123 (i32.eq (i32.and - (i32.load offset=4 + (i32.load $mimport$0 offset=4 (local.tee $4 (local.get $3) ) @@ -8703,7 +8703,7 @@ ) (br_if $label$126 (local.tee $3 - (i32.load + (i32.load $mimport$0 (local.tee $5 (i32.add (i32.add @@ -8720,46 +8720,46 @@ ) ) ) - (i32.store + (i32.store $mimport$0 (local.get $5) (local.get $11) ) - (i32.store offset=24 + (i32.store $mimport$0 offset=24 (local.get $11) (local.get $4) ) ) - (i32.store offset=12 + (i32.store $mimport$0 offset=12 (local.get $11) (local.get $11) ) - (i32.store offset=8 + (i32.store $mimport$0 offset=8 (local.get $11) (local.get $11) ) (br $label$117) ) - (i32.store offset=12 + (i32.store $mimport$0 offset=12 (local.tee $0 - (i32.load offset=8 + (i32.load $mimport$0 offset=8 (local.get $4) ) ) (local.get $11) ) - (i32.store offset=8 + (i32.store $mimport$0 offset=8 (local.get $4) (local.get $11) ) - (i32.store offset=24 + (i32.store $mimport$0 offset=24 (local.get $11) (i32.const 0) ) - (i32.store offset=12 + (i32.store $mimport$0 offset=12 (local.get $11) (local.get $4) ) - (i32.store offset=8 + (i32.store $mimport$0 offset=8 (local.get $11) (local.get $0) ) @@ -8783,12 +8783,12 @@ (br_if $label$129 (i32.ne (local.get $5) - (i32.load + (i32.load $mimport$0 (local.tee $0 (i32.add (i32.shl (local.tee $4 - (i32.load offset=28 + (i32.load $mimport$0 offset=28 (local.get $5) ) ) @@ -8800,14 +8800,14 @@ ) ) ) - (i32.store + (i32.store $mimport$0 (local.get $0) (local.get $7) ) (br_if $label$128 (local.get $7) ) - (i32.store offset=1872 + (i32.store $mimport$0 offset=1872 (i32.const 0) (i32.and (local.get $8) @@ -8819,14 +8819,14 @@ ) (br $label$127) ) - (i32.store + (i32.store $mimport$0 (i32.add (local.get $10) (select (i32.const 16) (i32.const 20) (i32.eq - (i32.load offset=16 + (i32.load $mimport$0 offset=16 (local.get $10) ) (local.get $5) @@ -8841,7 +8841,7 @@ ) ) ) - (i32.store offset=24 + (i32.store $mimport$0 offset=24 (local.get $7) (local.get $10) ) @@ -8849,17 +8849,17 @@ (br_if $label$130 (i32.eqz (local.tee $0 - (i32.load offset=16 + (i32.load $mimport$0 offset=16 (local.get $5) ) ) ) ) - (i32.store offset=16 + (i32.store $mimport$0 offset=16 (local.get $7) (local.get $0) ) - (i32.store offset=24 + (i32.store $mimport$0 offset=24 (local.get $0) (local.get $7) ) @@ -8867,7 +8867,7 @@ (br_if $label$127 (i32.eqz (local.tee $0 - (i32.load + (i32.load $mimport$0 (i32.add (local.get $5) (i32.const 20) @@ -8876,14 +8876,14 @@ ) ) ) - (i32.store + (i32.store $mimport$0 (i32.add (local.get $7) (i32.const 20) ) (local.get $0) ) - (i32.store offset=24 + (i32.store $mimport$0 offset=24 (local.get $0) (local.get $7) ) @@ -8896,7 +8896,7 @@ (i32.const 15) ) ) - (i32.store offset=4 + (i32.store $mimport$0 offset=4 (local.get $5) (i32.or (local.tee $0 @@ -8908,7 +8908,7 @@ (i32.const 3) ) ) - (i32.store offset=4 + (i32.store $mimport$0 offset=4 (local.tee $0 (i32.add (local.get $5) @@ -8916,7 +8916,7 @@ ) ) (i32.or - (i32.load offset=4 + (i32.load $mimport$0 offset=4 (local.get $0) ) (i32.const 1) @@ -8924,21 +8924,21 @@ ) (br $label$131) ) - (i32.store offset=4 + (i32.store $mimport$0 offset=4 (local.get $5) (i32.or (local.get $3) (i32.const 3) ) ) - (i32.store offset=4 + (i32.store $mimport$0 offset=4 (local.get $9) (i32.or (local.get $1) (i32.const 1) ) ) - (i32.store + (i32.store $mimport$0 (i32.add (local.get $9) (local.get $1) @@ -8966,7 +8966,7 @@ ) ) (local.set $0 - (i32.load offset=1888 + (i32.load $mimport$0 offset=1888 (i32.const 0) ) ) @@ -8983,7 +8983,7 @@ (local.get $2) ) ) - (i32.store offset=1868 + (i32.store $mimport$0 offset=1868 (i32.const 0) (i32.or (local.get $3) @@ -8996,33 +8996,33 @@ (br $label$134) ) (local.set $3 - (i32.load offset=8 + (i32.load $mimport$0 offset=8 (local.get $4) ) ) ) - (i32.store offset=8 + (i32.store $mimport$0 offset=8 (local.get $4) (local.get $0) ) - (i32.store offset=12 + (i32.store $mimport$0 offset=12 (local.get $3) (local.get $0) ) - (i32.store offset=12 + (i32.store $mimport$0 offset=12 (local.get $0) (local.get $4) ) - (i32.store offset=8 + (i32.store $mimport$0 offset=8 (local.get $0) (local.get $3) ) ) - (i32.store offset=1888 + (i32.store $mimport$0 offset=1888 (i32.const 0) (local.get $9) ) - (i32.store offset=1876 + (i32.store $mimport$0 offset=1876 (i32.const 0) (local.get $1) ) @@ -9037,7 +9037,7 @@ (br_if $label$2 (i32.eqz (i32.and - (i32.load8_u offset=2312 + (i32.load8_u $mimport$0 offset=2312 (i32.const 0) ) (i32.const 2) @@ -9069,23 +9069,23 @@ ) (block $label$1 (br_if $label$1 - (i32.load offset=1844 + (i32.load $mimport$0 offset=1844 (i32.const 0) ) ) - (i32.store offset=1864 + (i32.store $mimport$0 offset=1864 (i32.const 0) (i32.const 2) ) - (i64.store offset=1856 align=4 + (i64.store $mimport$0 offset=1856 align=4 (i32.const 0) (i64.const -1) ) - (i64.store offset=1848 align=4 + (i64.store $mimport$0 offset=1848 align=4 (i32.const 0) (i64.const 17592186048512) ) - (i32.store offset=2312 + (i32.store $mimport$0 offset=2312 (i32.const 0) (i32.const 2) ) @@ -9116,7 +9116,7 @@ ) ) ) - (i32.store offset=1844 + (i32.store $mimport$0 offset=1844 (i32.const 0) (i32.xor (i32.and @@ -9160,7 +9160,7 @@ (br_if $label$2 (i32.eqz (i32.and - (i32.load8_u offset=2312 + (i32.load8_u $mimport$0 offset=2312 (i32.const 0) ) (i32.const 2) @@ -9184,7 +9184,7 @@ (local.tee $0 (i32.and (local.tee $2 - (i32.load + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const -4) @@ -9218,14 +9218,14 @@ (i32.sub (local.get $1) (local.tee $2 - (i32.load + (i32.load $mimport$0 (local.get $1) ) ) ) ) (local.tee $4 - (i32.load offset=1884 + (i32.load $mimport$0 offset=1884 (i32.const 0) ) ) @@ -9240,7 +9240,7 @@ (block $label$5 (br_if $label$5 (i32.eq - (i32.load offset=1888 + (i32.load $mimport$0 offset=1888 (i32.const 0) ) (local.get $1) @@ -9256,7 +9256,7 @@ (drop (i32.eq (local.tee $4 - (i32.load offset=8 + (i32.load $mimport$0 offset=8 (local.get $1) ) ) @@ -9280,17 +9280,17 @@ (br_if $label$7 (i32.ne (local.tee $2 - (i32.load offset=12 + (i32.load $mimport$0 offset=12 (local.get $1) ) ) (local.get $4) ) ) - (i32.store offset=1868 + (i32.store $mimport$0 offset=1868 (i32.const 0) (i32.and - (i32.load offset=1868 + (i32.load $mimport$0 offset=1868 (i32.const 0) ) (i32.rotl @@ -9307,18 +9307,18 @@ (local.get $6) ) ) - (i32.store offset=12 + (i32.store $mimport$0 offset=12 (local.get $4) (local.get $2) ) - (i32.store offset=8 + (i32.store $mimport$0 offset=8 (local.get $2) (local.get $4) ) (br $label$4) ) (local.set $7 - (i32.load offset=24 + (i32.load $mimport$0 offset=24 (local.get $1) ) ) @@ -9327,7 +9327,7 @@ (br_if $label$9 (i32.eq (local.tee $6 - (i32.load offset=12 + (i32.load $mimport$0 offset=12 (local.get $1) ) ) @@ -9338,17 +9338,17 @@ (i32.gt_u (local.get $4) (local.tee $2 - (i32.load offset=8 + (i32.load $mimport$0 offset=8 (local.get $1) ) ) ) ) - (i32.store offset=12 + (i32.store $mimport$0 offset=12 (local.get $2) (local.get $6) ) - (i32.store offset=8 + (i32.store $mimport$0 offset=8 (local.get $6) (local.get $2) ) @@ -9357,7 +9357,7 @@ (block $label$10 (br_if $label$10 (local.tee $4 - (i32.load + (i32.load $mimport$0 (local.tee $2 (i32.add (local.get $1) @@ -9369,7 +9369,7 @@ ) (br_if $label$10 (local.tee $4 - (i32.load + (i32.load $mimport$0 (local.tee $2 (i32.add (local.get $1) @@ -9390,7 +9390,7 @@ ) (br_if $label$11 (local.tee $4 - (i32.load + (i32.load $mimport$0 (local.tee $2 (i32.add (local.tee $6 @@ -9410,13 +9410,13 @@ ) (br_if $label$11 (local.tee $4 - (i32.load offset=16 + (i32.load $mimport$0 offset=16 (local.get $6) ) ) ) ) - (i32.store + (i32.store $mimport$0 (local.get $5) (i32.const 0) ) @@ -9430,12 +9430,12 @@ (block $label$13 (br_if $label$13 (i32.ne - (i32.load + (i32.load $mimport$0 (local.tee $2 (i32.add (i32.shl (local.tee $4 - (i32.load offset=28 + (i32.load $mimport$0 offset=28 (local.get $1) ) ) @@ -9448,17 +9448,17 @@ (local.get $1) ) ) - (i32.store + (i32.store $mimport$0 (local.get $2) (local.get $6) ) (br_if $label$12 (local.get $6) ) - (i32.store offset=1872 + (i32.store $mimport$0 offset=1872 (i32.const 0) (i32.and - (i32.load offset=1872 + (i32.load $mimport$0 offset=1872 (i32.const 0) ) (i32.rotl @@ -9469,14 +9469,14 @@ ) (br $label$4) ) - (i32.store + (i32.store $mimport$0 (i32.add (local.get $7) (select (i32.const 16) (i32.const 20) (i32.eq - (i32.load offset=16 + (i32.load $mimport$0 offset=16 (local.get $7) ) (local.get $1) @@ -9491,7 +9491,7 @@ ) ) ) - (i32.store offset=24 + (i32.store $mimport$0 offset=24 (local.get $6) (local.get $7) ) @@ -9499,17 +9499,17 @@ (br_if $label$14 (i32.eqz (local.tee $2 - (i32.load offset=16 + (i32.load $mimport$0 offset=16 (local.get $1) ) ) ) ) - (i32.store offset=16 + (i32.store $mimport$0 offset=16 (local.get $6) (local.get $2) ) - (i32.store offset=24 + (i32.store $mimport$0 offset=24 (local.get $2) (local.get $6) ) @@ -9517,20 +9517,20 @@ (br_if $label$4 (i32.eqz (local.tee $2 - (i32.load offset=20 + (i32.load $mimport$0 offset=20 (local.get $1) ) ) ) ) - (i32.store + (i32.store $mimport$0 (i32.add (local.get $6) (i32.const 20) ) (local.get $2) ) - (i32.store offset=24 + (i32.store $mimport$0 offset=24 (local.get $2) (local.get $6) ) @@ -9540,7 +9540,7 @@ (i32.ne (i32.and (local.tee $2 - (i32.load offset=4 + (i32.load $mimport$0 offset=4 (local.get $3) ) ) @@ -9549,25 +9549,25 @@ (i32.const 3) ) ) - (i32.store offset=1876 + (i32.store $mimport$0 offset=1876 (i32.const 0) (local.get $0) ) - (i32.store offset=4 + (i32.store $mimport$0 offset=4 (local.get $3) (i32.and (local.get $2) (i32.const -2) ) ) - (i32.store offset=4 + (i32.store $mimport$0 offset=4 (local.get $1) (i32.or (local.get $0) (i32.const 1) ) ) - (i32.store + (i32.store $mimport$0 (i32.add (local.get $1) (local.get $0) @@ -9586,7 +9586,7 @@ (i32.eqz (i32.and (local.tee $2 - (i32.load offset=4 + (i32.load $mimport$0 offset=4 (local.get $3) ) ) @@ -9605,28 +9605,28 @@ (block $label$17 (br_if $label$17 (i32.ne - (i32.load offset=1892 + (i32.load $mimport$0 offset=1892 (i32.const 0) ) (local.get $3) ) ) - (i32.store offset=1892 + (i32.store $mimport$0 offset=1892 (i32.const 0) (local.get $1) ) - (i32.store offset=1880 + (i32.store $mimport$0 offset=1880 (i32.const 0) (local.tee $0 (i32.add - (i32.load offset=1880 + (i32.load $mimport$0 offset=1880 (i32.const 0) ) (local.get $0) ) ) ) - (i32.store offset=4 + (i32.store $mimport$0 offset=4 (local.get $1) (i32.or (local.get $0) @@ -9636,16 +9636,16 @@ (br_if $label$3 (i32.ne (local.get $1) - (i32.load offset=1888 + (i32.load $mimport$0 offset=1888 (i32.const 0) ) ) ) - (i32.store offset=1876 + (i32.store $mimport$0 offset=1876 (i32.const 0) (i32.const 0) ) - (i32.store offset=1888 + (i32.store $mimport$0 offset=1888 (i32.const 0) (i32.const 0) ) @@ -9654,35 +9654,35 @@ (block $label$18 (br_if $label$18 (i32.ne - (i32.load offset=1888 + (i32.load $mimport$0 offset=1888 (i32.const 0) ) (local.get $3) ) ) - (i32.store offset=1888 + (i32.store $mimport$0 offset=1888 (i32.const 0) (local.get $1) ) - (i32.store offset=1876 + (i32.store $mimport$0 offset=1876 (i32.const 0) (local.tee $0 (i32.add - (i32.load offset=1876 + (i32.load $mimport$0 offset=1876 (i32.const 0) ) (local.get $0) ) ) ) - (i32.store offset=4 + (i32.store $mimport$0 offset=4 (local.get $1) (i32.or (local.get $0) (i32.const 1) ) ) - (i32.store + (i32.store $mimport$0 (i32.add (local.get $1) (local.get $0) @@ -9711,7 +9711,7 @@ (drop (i32.eq (local.tee $4 - (i32.load offset=8 + (i32.load $mimport$0 offset=8 (local.get $3) ) ) @@ -9735,17 +9735,17 @@ (br_if $label$21 (i32.ne (local.tee $2 - (i32.load offset=12 + (i32.load $mimport$0 offset=12 (local.get $3) ) ) (local.get $4) ) ) - (i32.store offset=1868 + (i32.store $mimport$0 offset=1868 (i32.const 0) (i32.and - (i32.load offset=1868 + (i32.load $mimport$0 offset=1868 (i32.const 0) ) (i32.rotl @@ -9762,18 +9762,18 @@ (local.get $6) ) ) - (i32.store offset=12 + (i32.store $mimport$0 offset=12 (local.get $4) (local.get $2) ) - (i32.store offset=8 + (i32.store $mimport$0 offset=8 (local.get $2) (local.get $4) ) (br $label$19) ) (local.set $7 - (i32.load offset=24 + (i32.load $mimport$0 offset=24 (local.get $3) ) ) @@ -9782,7 +9782,7 @@ (br_if $label$23 (i32.eq (local.tee $6 - (i32.load offset=12 + (i32.load $mimport$0 offset=12 (local.get $3) ) ) @@ -9791,21 +9791,21 @@ ) (drop (i32.gt_u - (i32.load offset=1884 + (i32.load $mimport$0 offset=1884 (i32.const 0) ) (local.tee $2 - (i32.load offset=8 + (i32.load $mimport$0 offset=8 (local.get $3) ) ) ) ) - (i32.store offset=12 + (i32.store $mimport$0 offset=12 (local.get $2) (local.get $6) ) - (i32.store offset=8 + (i32.store $mimport$0 offset=8 (local.get $6) (local.get $2) ) @@ -9814,7 +9814,7 @@ (block $label$24 (br_if $label$24 (local.tee $2 - (i32.load + (i32.load $mimport$0 (local.tee $4 (i32.add (local.get $3) @@ -9826,7 +9826,7 @@ ) (br_if $label$24 (local.tee $2 - (i32.load + (i32.load $mimport$0 (local.tee $4 (i32.add (local.get $3) @@ -9847,7 +9847,7 @@ ) (br_if $label$25 (local.tee $2 - (i32.load + (i32.load $mimport$0 (local.tee $4 (i32.add (local.tee $6 @@ -9867,13 +9867,13 @@ ) (br_if $label$25 (local.tee $2 - (i32.load offset=16 + (i32.load $mimport$0 offset=16 (local.get $6) ) ) ) ) - (i32.store + (i32.store $mimport$0 (local.get $5) (i32.const 0) ) @@ -9887,12 +9887,12 @@ (block $label$27 (br_if $label$27 (i32.ne - (i32.load + (i32.load $mimport$0 (local.tee $2 (i32.add (i32.shl (local.tee $4 - (i32.load offset=28 + (i32.load $mimport$0 offset=28 (local.get $3) ) ) @@ -9905,17 +9905,17 @@ (local.get $3) ) ) - (i32.store + (i32.store $mimport$0 (local.get $2) (local.get $6) ) (br_if $label$26 (local.get $6) ) - (i32.store offset=1872 + (i32.store $mimport$0 offset=1872 (i32.const 0) (i32.and - (i32.load offset=1872 + (i32.load $mimport$0 offset=1872 (i32.const 0) ) (i32.rotl @@ -9926,14 +9926,14 @@ ) (br $label$19) ) - (i32.store + (i32.store $mimport$0 (i32.add (local.get $7) (select (i32.const 16) (i32.const 20) (i32.eq - (i32.load offset=16 + (i32.load $mimport$0 offset=16 (local.get $7) ) (local.get $3) @@ -9948,7 +9948,7 @@ ) ) ) - (i32.store offset=24 + (i32.store $mimport$0 offset=24 (local.get $6) (local.get $7) ) @@ -9956,17 +9956,17 @@ (br_if $label$28 (i32.eqz (local.tee $2 - (i32.load offset=16 + (i32.load $mimport$0 offset=16 (local.get $3) ) ) ) ) - (i32.store offset=16 + (i32.store $mimport$0 offset=16 (local.get $6) (local.get $2) ) - (i32.store offset=24 + (i32.store $mimport$0 offset=24 (local.get $2) (local.get $6) ) @@ -9974,32 +9974,32 @@ (br_if $label$19 (i32.eqz (local.tee $2 - (i32.load offset=20 + (i32.load $mimport$0 offset=20 (local.get $3) ) ) ) ) - (i32.store + (i32.store $mimport$0 (i32.add (local.get $6) (i32.const 20) ) (local.get $2) ) - (i32.store offset=24 + (i32.store $mimport$0 offset=24 (local.get $2) (local.get $6) ) ) - (i32.store offset=4 + (i32.store $mimport$0 offset=4 (local.get $1) (i32.or (local.get $0) (i32.const 1) ) ) - (i32.store + (i32.store $mimport$0 (i32.add (local.get $1) (local.get $0) @@ -10009,32 +10009,32 @@ (br_if $label$15 (i32.ne (local.get $1) - (i32.load offset=1888 + (i32.load $mimport$0 offset=1888 (i32.const 0) ) ) ) - (i32.store offset=1876 + (i32.store $mimport$0 offset=1876 (i32.const 0) (local.get $0) ) (br $label$3) ) - (i32.store offset=4 + (i32.store $mimport$0 offset=4 (local.get $3) (i32.and (local.get $2) (i32.const -2) ) ) - (i32.store offset=4 + (i32.store $mimport$0 offset=4 (local.get $1) (i32.or (local.get $0) (i32.const 1) ) ) - (i32.store + (i32.store $mimport$0 (i32.add (local.get $1) (local.get $0) @@ -10068,7 +10068,7 @@ (br_if $label$31 (i32.and (local.tee $4 - (i32.load offset=1868 + (i32.load $mimport$0 offset=1868 (i32.const 0) ) ) @@ -10080,7 +10080,7 @@ ) ) ) - (i32.store offset=1868 + (i32.store $mimport$0 offset=1868 (i32.const 0) (i32.or (local.get $4) @@ -10093,24 +10093,24 @@ (br $label$30) ) (local.set $2 - (i32.load offset=8 + (i32.load $mimport$0 offset=8 (local.get $0) ) ) ) - (i32.store offset=8 + (i32.store $mimport$0 offset=8 (local.get $0) (local.get $1) ) - (i32.store offset=12 + (i32.store $mimport$0 offset=12 (local.get $2) (local.get $1) ) - (i32.store offset=12 + (i32.store $mimport$0 offset=12 (local.get $1) (local.get $0) ) - (i32.store offset=8 + (i32.store $mimport$0 offset=8 (local.get $1) (local.get $2) ) @@ -10213,11 +10213,11 @@ ) ) ) - (i64.store offset=16 align=4 + (i64.store $mimport$0 offset=16 align=4 (local.get $1) (i64.const 0) ) - (i32.store + (i32.store $mimport$0 (i32.add (local.get $1) (i32.const 28) @@ -10240,7 +10240,7 @@ (br_if $label$36 (i32.and (local.tee $6 - (i32.load offset=1872 + (i32.load $mimport$0 offset=1872 (i32.const 0) ) ) @@ -10252,18 +10252,18 @@ ) ) ) - (i32.store offset=1872 + (i32.store $mimport$0 offset=1872 (i32.const 0) (i32.or (local.get $6) (local.get $3) ) ) - (i32.store + (i32.store $mimport$0 (local.get $4) (local.get $1) ) - (i32.store + (i32.store $mimport$0 (i32.add (local.get $1) (i32.const 24) @@ -10292,7 +10292,7 @@ ) ) (local.set $6 - (i32.load + (i32.load $mimport$0 (local.get $4) ) ) @@ -10300,7 +10300,7 @@ (br_if $label$34 (i32.eq (i32.and - (i32.load offset=4 + (i32.load $mimport$0 offset=4 (local.tee $4 (local.get $6) ) @@ -10324,7 +10324,7 @@ ) (br_if $label$37 (local.tee $6 - (i32.load + (i32.load $mimport$0 (local.tee $3 (i32.add (i32.add @@ -10341,11 +10341,11 @@ ) ) ) - (i32.store + (i32.store $mimport$0 (local.get $3) (local.get $1) ) - (i32.store + (i32.store $mimport$0 (i32.add (local.get $1) (i32.const 24) @@ -10353,50 +10353,50 @@ (local.get $4) ) ) - (i32.store offset=12 + (i32.store $mimport$0 offset=12 (local.get $1) (local.get $1) ) - (i32.store offset=8 + (i32.store $mimport$0 offset=8 (local.get $1) (local.get $1) ) (br $label$33) ) - (i32.store offset=12 + (i32.store $mimport$0 offset=12 (local.tee $0 - (i32.load offset=8 + (i32.load $mimport$0 offset=8 (local.get $4) ) ) (local.get $1) ) - (i32.store offset=8 + (i32.store $mimport$0 offset=8 (local.get $4) (local.get $1) ) - (i32.store + (i32.store $mimport$0 (i32.add (local.get $1) (i32.const 24) ) (i32.const 0) ) - (i32.store offset=12 + (i32.store $mimport$0 offset=12 (local.get $1) (local.get $4) ) - (i32.store offset=8 + (i32.store $mimport$0 offset=8 (local.get $1) (local.get $0) ) ) - (i32.store offset=1900 + (i32.store $mimport$0 offset=1900 (i32.const 0) (select (local.tee $1 (i32.add - (i32.load offset=1900 + (i32.load $mimport$0 offset=1900 (i32.const 0) ) (i32.const -1) @@ -10410,7 +10410,7 @@ (br_if $label$1 (i32.eqz (i32.and - (i32.load8_u offset=2312 + (i32.load8_u $mimport$0 offset=2312 (i32.const 0) ) (i32.const 2) @@ -10504,7 +10504,7 @@ (local.get $1) ) ) - (i32.store + (i32.store $mimport$0 (call $25) (i32.const 48) ) @@ -10553,7 +10553,7 @@ (br_if $label$7 (i32.eqz (i32.and - (i32.load8_u offset=2312 + (i32.load8_u $mimport$0 offset=2312 (i32.const 0) ) (i32.const 2) @@ -10588,7 +10588,7 @@ (i32.sub (i32.and (local.tee $5 - (i32.load + (i32.load $mimport$0 (local.tee $4 (i32.add (local.get $3) @@ -10648,15 +10648,15 @@ ) ) (local.set $2 - (i32.load + (i32.load $mimport$0 (local.get $2) ) ) - (i32.store offset=4 + (i32.store $mimport$0 offset=4 (local.get $0) (local.get $6) ) - (i32.store + (i32.store $mimport$0 (local.get $0) (i32.add (local.get $2) @@ -10665,13 +10665,13 @@ ) (br $label$9) ) - (i32.store offset=4 + (i32.store $mimport$0 offset=4 (local.get $0) (i32.or (i32.or (local.get $6) (i32.and - (i32.load offset=4 + (i32.load $mimport$0 offset=4 (local.get $0) ) (i32.const 1) @@ -10680,7 +10680,7 @@ (i32.const 2) ) ) - (i32.store offset=4 + (i32.store $mimport$0 offset=4 (local.tee $6 (i32.add (local.get $0) @@ -10688,19 +10688,19 @@ ) ) (i32.or - (i32.load offset=4 + (i32.load $mimport$0 offset=4 (local.get $6) ) (i32.const 1) ) ) - (i32.store + (i32.store $mimport$0 (local.get $4) (i32.or (i32.or (local.get $3) (i32.and - (i32.load + (i32.load $mimport$0 (local.get $4) ) (i32.const 1) @@ -10709,7 +10709,7 @@ (i32.const 2) ) ) - (i32.store offset=4 + (i32.store $mimport$0 offset=4 (local.tee $6 (i32.add (local.get $2) @@ -10717,7 +10717,7 @@ ) ) (i32.or - (i32.load offset=4 + (i32.load $mimport$0 offset=4 (local.get $6) ) (i32.const 1) @@ -10737,7 +10737,7 @@ (i32.eqz (i32.and (local.tee $0 - (i32.load offset=4 + (i32.load $mimport$0 offset=4 (local.get $2) ) ) @@ -10759,7 +10759,7 @@ ) ) ) - (i32.store offset=4 + (i32.store $mimport$0 offset=4 (local.get $2) (i32.or (i32.or @@ -10772,7 +10772,7 @@ (i32.const 2) ) ) - (i32.store offset=4 + (i32.store $mimport$0 offset=4 (local.tee $0 (i32.add (local.get $2) @@ -10789,7 +10789,7 @@ (i32.const 3) ) ) - (i32.store offset=4 + (i32.store $mimport$0 offset=4 (local.tee $3 (i32.add (local.get $2) @@ -10797,7 +10797,7 @@ ) ) (i32.or - (i32.load offset=4 + (i32.load $mimport$0 offset=4 (local.get $3) ) (i32.const 1) @@ -10817,7 +10817,7 @@ (br_if $label$6 (i32.eqz (i32.and - (i32.load8_u offset=2312 + (i32.load8_u $mimport$0 offset=2312 (i32.const 0) ) (i32.const 2) @@ -10850,7 +10850,7 @@ (br_if $label$2 (i32.and (local.tee $3 - (i32.load offset=4 + (i32.load $mimport$0 offset=4 (local.get $0) ) ) @@ -10868,7 +10868,7 @@ (local.set $1 (i32.add (local.tee $3 - (i32.load + (i32.load $mimport$0 (local.get $0) ) ) @@ -10879,7 +10879,7 @@ (block $label$4 (br_if $label$4 (i32.eq - (i32.load offset=1888 + (i32.load $mimport$0 offset=1888 (i32.const 0) ) (local.tee $0 @@ -10900,7 +10900,7 @@ (drop (i32.eq (local.tee $4 - (i32.load offset=8 + (i32.load $mimport$0 offset=8 (local.get $0) ) ) @@ -10923,17 +10923,17 @@ (br_if $label$3 (i32.ne (local.tee $3 - (i32.load offset=12 + (i32.load $mimport$0 offset=12 (local.get $0) ) ) (local.get $4) ) ) - (i32.store offset=1868 + (i32.store $mimport$0 offset=1868 (i32.const 0) (i32.and - (i32.load offset=1868 + (i32.load $mimport$0 offset=1868 (i32.const 0) ) (i32.rotl @@ -10945,7 +10945,7 @@ (br $label$2) ) (local.set $7 - (i32.load offset=24 + (i32.load $mimport$0 offset=24 (local.get $0) ) ) @@ -10954,7 +10954,7 @@ (br_if $label$7 (i32.eq (local.tee $6 - (i32.load offset=12 + (i32.load $mimport$0 offset=12 (local.get $0) ) ) @@ -10963,21 +10963,21 @@ ) (drop (i32.gt_u - (i32.load offset=1884 + (i32.load $mimport$0 offset=1884 (i32.const 0) ) (local.tee $3 - (i32.load offset=8 + (i32.load $mimport$0 offset=8 (local.get $0) ) ) ) ) - (i32.store offset=12 + (i32.store $mimport$0 offset=12 (local.get $3) (local.get $6) ) - (i32.store offset=8 + (i32.store $mimport$0 offset=8 (local.get $6) (local.get $3) ) @@ -10986,7 +10986,7 @@ (block $label$8 (br_if $label$8 (local.tee $4 - (i32.load + (i32.load $mimport$0 (local.tee $3 (i32.add (local.get $0) @@ -10998,7 +10998,7 @@ ) (br_if $label$8 (local.tee $4 - (i32.load + (i32.load $mimport$0 (local.tee $3 (i32.add (local.get $0) @@ -11019,7 +11019,7 @@ ) (br_if $label$9 (local.tee $4 - (i32.load + (i32.load $mimport$0 (local.tee $3 (i32.add (local.tee $6 @@ -11039,13 +11039,13 @@ ) (br_if $label$9 (local.tee $4 - (i32.load offset=16 + (i32.load $mimport$0 offset=16 (local.get $6) ) ) ) ) - (i32.store + (i32.store $mimport$0 (local.get $5) (i32.const 0) ) @@ -11059,12 +11059,12 @@ (block $label$11 (br_if $label$11 (i32.ne - (i32.load + (i32.load $mimport$0 (local.tee $3 (i32.add (i32.shl (local.tee $4 - (i32.load offset=28 + (i32.load $mimport$0 offset=28 (local.get $0) ) ) @@ -11077,17 +11077,17 @@ (local.get $0) ) ) - (i32.store + (i32.store $mimport$0 (local.get $3) (local.get $6) ) (br_if $label$10 (local.get $6) ) - (i32.store offset=1872 + (i32.store $mimport$0 offset=1872 (i32.const 0) (i32.and - (i32.load offset=1872 + (i32.load $mimport$0 offset=1872 (i32.const 0) ) (i32.rotl @@ -11098,14 +11098,14 @@ ) (br $label$2) ) - (i32.store + (i32.store $mimport$0 (i32.add (local.get $7) (select (i32.const 16) (i32.const 20) (i32.eq - (i32.load offset=16 + (i32.load $mimport$0 offset=16 (local.get $7) ) (local.get $0) @@ -11120,7 +11120,7 @@ ) ) ) - (i32.store offset=24 + (i32.store $mimport$0 offset=24 (local.get $6) (local.get $7) ) @@ -11128,17 +11128,17 @@ (br_if $label$12 (i32.eqz (local.tee $3 - (i32.load offset=16 + (i32.load $mimport$0 offset=16 (local.get $0) ) ) ) ) - (i32.store offset=16 + (i32.store $mimport$0 offset=16 (local.get $6) (local.get $3) ) - (i32.store offset=24 + (i32.store $mimport$0 offset=24 (local.get $3) (local.get $6) ) @@ -11146,20 +11146,20 @@ (br_if $label$2 (i32.eqz (local.tee $3 - (i32.load offset=20 + (i32.load $mimport$0 offset=20 (local.get $0) ) ) ) ) - (i32.store + (i32.store $mimport$0 (i32.add (local.get $6) (i32.const 20) ) (local.get $3) ) - (i32.store offset=24 + (i32.store $mimport$0 offset=24 (local.get $3) (local.get $6) ) @@ -11169,7 +11169,7 @@ (i32.ne (i32.and (local.tee $3 - (i32.load offset=4 + (i32.load $mimport$0 offset=4 (local.get $2) ) ) @@ -11178,25 +11178,25 @@ (i32.const 3) ) ) - (i32.store offset=1876 + (i32.store $mimport$0 offset=1876 (i32.const 0) (local.get $1) ) - (i32.store offset=4 + (i32.store $mimport$0 offset=4 (local.get $2) (i32.and (local.get $3) (i32.const -2) ) ) - (i32.store offset=4 + (i32.store $mimport$0 offset=4 (local.get $0) (i32.or (local.get $1) (i32.const 1) ) ) - (i32.store + (i32.store $mimport$0 (local.get $2) (local.get $1) ) @@ -11208,11 +11208,11 @@ (local.get $6) ) ) - (i32.store offset=12 + (i32.store $mimport$0 offset=12 (local.get $4) (local.get $3) ) - (i32.store offset=8 + (i32.store $mimport$0 offset=8 (local.get $3) (local.get $4) ) @@ -11222,7 +11222,7 @@ (br_if $label$14 (i32.and (local.tee $3 - (i32.load offset=4 + (i32.load $mimport$0 offset=4 (local.get $2) ) ) @@ -11232,28 +11232,28 @@ (block $label$15 (br_if $label$15 (i32.ne - (i32.load offset=1892 + (i32.load $mimport$0 offset=1892 (i32.const 0) ) (local.get $2) ) ) - (i32.store offset=1892 + (i32.store $mimport$0 offset=1892 (i32.const 0) (local.get $0) ) - (i32.store offset=1880 + (i32.store $mimport$0 offset=1880 (i32.const 0) (local.tee $1 (i32.add - (i32.load offset=1880 + (i32.load $mimport$0 offset=1880 (i32.const 0) ) (local.get $1) ) ) ) - (i32.store offset=4 + (i32.store $mimport$0 offset=4 (local.get $0) (i32.or (local.get $1) @@ -11263,16 +11263,16 @@ (br_if $label$1 (i32.ne (local.get $0) - (i32.load offset=1888 + (i32.load $mimport$0 offset=1888 (i32.const 0) ) ) ) - (i32.store offset=1876 + (i32.store $mimport$0 offset=1876 (i32.const 0) (i32.const 0) ) - (i32.store offset=1888 + (i32.store $mimport$0 offset=1888 (i32.const 0) (i32.const 0) ) @@ -11281,35 +11281,35 @@ (block $label$16 (br_if $label$16 (i32.ne - (i32.load offset=1888 + (i32.load $mimport$0 offset=1888 (i32.const 0) ) (local.get $2) ) ) - (i32.store offset=1888 + (i32.store $mimport$0 offset=1888 (i32.const 0) (local.get $0) ) - (i32.store offset=1876 + (i32.store $mimport$0 offset=1876 (i32.const 0) (local.tee $1 (i32.add - (i32.load offset=1876 + (i32.load $mimport$0 offset=1876 (i32.const 0) ) (local.get $1) ) ) ) - (i32.store offset=4 + (i32.store $mimport$0 offset=4 (local.get $0) (i32.or (local.get $1) (i32.const 1) ) ) - (i32.store + (i32.store $mimport$0 (i32.add (local.get $0) (local.get $1) @@ -11338,7 +11338,7 @@ (drop (i32.eq (local.tee $4 - (i32.load offset=8 + (i32.load $mimport$0 offset=8 (local.get $2) ) ) @@ -11362,17 +11362,17 @@ (br_if $label$19 (i32.ne (local.tee $3 - (i32.load offset=12 + (i32.load $mimport$0 offset=12 (local.get $2) ) ) (local.get $4) ) ) - (i32.store offset=1868 + (i32.store $mimport$0 offset=1868 (i32.const 0) (i32.and - (i32.load offset=1868 + (i32.load $mimport$0 offset=1868 (i32.const 0) ) (i32.rotl @@ -11389,18 +11389,18 @@ (local.get $6) ) ) - (i32.store offset=12 + (i32.store $mimport$0 offset=12 (local.get $4) (local.get $3) ) - (i32.store offset=8 + (i32.store $mimport$0 offset=8 (local.get $3) (local.get $4) ) (br $label$17) ) (local.set $7 - (i32.load offset=24 + (i32.load $mimport$0 offset=24 (local.get $2) ) ) @@ -11409,7 +11409,7 @@ (br_if $label$21 (i32.eq (local.tee $6 - (i32.load offset=12 + (i32.load $mimport$0 offset=12 (local.get $2) ) ) @@ -11418,21 +11418,21 @@ ) (drop (i32.gt_u - (i32.load offset=1884 + (i32.load $mimport$0 offset=1884 (i32.const 0) ) (local.tee $3 - (i32.load offset=8 + (i32.load $mimport$0 offset=8 (local.get $2) ) ) ) ) - (i32.store offset=12 + (i32.store $mimport$0 offset=12 (local.get $3) (local.get $6) ) - (i32.store offset=8 + (i32.store $mimport$0 offset=8 (local.get $6) (local.get $3) ) @@ -11441,7 +11441,7 @@ (block $label$22 (br_if $label$22 (local.tee $3 - (i32.load + (i32.load $mimport$0 (local.tee $4 (i32.add (local.get $2) @@ -11453,7 +11453,7 @@ ) (br_if $label$22 (local.tee $3 - (i32.load + (i32.load $mimport$0 (local.tee $4 (i32.add (local.get $2) @@ -11474,7 +11474,7 @@ ) (br_if $label$23 (local.tee $3 - (i32.load + (i32.load $mimport$0 (local.tee $4 (i32.add (local.tee $6 @@ -11494,13 +11494,13 @@ ) (br_if $label$23 (local.tee $3 - (i32.load offset=16 + (i32.load $mimport$0 offset=16 (local.get $6) ) ) ) ) - (i32.store + (i32.store $mimport$0 (local.get $5) (i32.const 0) ) @@ -11514,12 +11514,12 @@ (block $label$25 (br_if $label$25 (i32.ne - (i32.load + (i32.load $mimport$0 (local.tee $3 (i32.add (i32.shl (local.tee $4 - (i32.load offset=28 + (i32.load $mimport$0 offset=28 (local.get $2) ) ) @@ -11532,17 +11532,17 @@ (local.get $2) ) ) - (i32.store + (i32.store $mimport$0 (local.get $3) (local.get $6) ) (br_if $label$24 (local.get $6) ) - (i32.store offset=1872 + (i32.store $mimport$0 offset=1872 (i32.const 0) (i32.and - (i32.load offset=1872 + (i32.load $mimport$0 offset=1872 (i32.const 0) ) (i32.rotl @@ -11553,14 +11553,14 @@ ) (br $label$17) ) - (i32.store + (i32.store $mimport$0 (i32.add (local.get $7) (select (i32.const 16) (i32.const 20) (i32.eq - (i32.load offset=16 + (i32.load $mimport$0 offset=16 (local.get $7) ) (local.get $2) @@ -11575,7 +11575,7 @@ ) ) ) - (i32.store offset=24 + (i32.store $mimport$0 offset=24 (local.get $6) (local.get $7) ) @@ -11583,17 +11583,17 @@ (br_if $label$26 (i32.eqz (local.tee $3 - (i32.load offset=16 + (i32.load $mimport$0 offset=16 (local.get $2) ) ) ) ) - (i32.store offset=16 + (i32.store $mimport$0 offset=16 (local.get $6) (local.get $3) ) - (i32.store offset=24 + (i32.store $mimport$0 offset=24 (local.get $3) (local.get $6) ) @@ -11601,32 +11601,32 @@ (br_if $label$17 (i32.eqz (local.tee $3 - (i32.load offset=20 + (i32.load $mimport$0 offset=20 (local.get $2) ) ) ) ) - (i32.store + (i32.store $mimport$0 (i32.add (local.get $6) (i32.const 20) ) (local.get $3) ) - (i32.store offset=24 + (i32.store $mimport$0 offset=24 (local.get $3) (local.get $6) ) ) - (i32.store offset=4 + (i32.store $mimport$0 offset=4 (local.get $0) (i32.or (local.get $1) (i32.const 1) ) ) - (i32.store + (i32.store $mimport$0 (i32.add (local.get $0) (local.get $1) @@ -11636,32 +11636,32 @@ (br_if $label$13 (i32.ne (local.get $0) - (i32.load offset=1888 + (i32.load $mimport$0 offset=1888 (i32.const 0) ) ) ) - (i32.store offset=1876 + (i32.store $mimport$0 offset=1876 (i32.const 0) (local.get $1) ) (return) ) - (i32.store offset=4 + (i32.store $mimport$0 offset=4 (local.get $2) (i32.and (local.get $3) (i32.const -2) ) ) - (i32.store offset=4 + (i32.store $mimport$0 offset=4 (local.get $0) (i32.or (local.get $1) (i32.const 1) ) ) - (i32.store + (i32.store $mimport$0 (i32.add (local.get $0) (local.get $1) @@ -11695,7 +11695,7 @@ (br_if $label$29 (i32.and (local.tee $4 - (i32.load offset=1868 + (i32.load $mimport$0 offset=1868 (i32.const 0) ) ) @@ -11707,7 +11707,7 @@ ) ) ) - (i32.store offset=1868 + (i32.store $mimport$0 offset=1868 (i32.const 0) (i32.or (local.get $4) @@ -11720,24 +11720,24 @@ (br $label$28) ) (local.set $3 - (i32.load offset=8 + (i32.load $mimport$0 offset=8 (local.get $1) ) ) ) - (i32.store offset=8 + (i32.store $mimport$0 offset=8 (local.get $1) (local.get $0) ) - (i32.store offset=12 + (i32.store $mimport$0 offset=12 (local.get $3) (local.get $0) ) - (i32.store offset=12 + (i32.store $mimport$0 offset=12 (local.get $0) (local.get $1) ) - (i32.store offset=8 + (i32.store $mimport$0 offset=8 (local.get $0) (local.get $3) ) @@ -11840,11 +11840,11 @@ ) ) ) - (i64.store offset=16 align=4 + (i64.store $mimport$0 offset=16 align=4 (local.get $0) (i64.const 0) ) - (i32.store + (i32.store $mimport$0 (i32.add (local.get $0) (i32.const 28) @@ -11866,7 +11866,7 @@ (br_if $label$33 (i32.and (local.tee $6 - (i32.load offset=1872 + (i32.load $mimport$0 offset=1872 (i32.const 0) ) ) @@ -11878,18 +11878,18 @@ ) ) ) - (i32.store offset=1872 + (i32.store $mimport$0 offset=1872 (i32.const 0) (i32.or (local.get $6) (local.get $2) ) ) - (i32.store + (i32.store $mimport$0 (local.get $4) (local.get $0) ) - (i32.store + (i32.store $mimport$0 (i32.add (local.get $0) (i32.const 24) @@ -11918,7 +11918,7 @@ ) ) (local.set $6 - (i32.load + (i32.load $mimport$0 (local.get $4) ) ) @@ -11926,7 +11926,7 @@ (br_if $label$31 (i32.eq (i32.and - (i32.load offset=4 + (i32.load $mimport$0 offset=4 (local.tee $4 (local.get $6) ) @@ -11950,7 +11950,7 @@ ) (br_if $label$34 (local.tee $6 - (i32.load + (i32.load $mimport$0 (local.tee $2 (i32.add (i32.add @@ -11967,11 +11967,11 @@ ) ) ) - (i32.store + (i32.store $mimport$0 (local.get $2) (local.get $0) ) - (i32.store + (i32.store $mimport$0 (i32.add (local.get $0) (i32.const 24) @@ -11979,40 +11979,40 @@ (local.get $4) ) ) - (i32.store offset=12 + (i32.store $mimport$0 offset=12 (local.get $0) (local.get $0) ) - (i32.store offset=8 + (i32.store $mimport$0 offset=8 (local.get $0) (local.get $0) ) (return) ) - (i32.store offset=12 + (i32.store $mimport$0 offset=12 (local.tee $1 - (i32.load offset=8 + (i32.load $mimport$0 offset=8 (local.get $4) ) ) (local.get $0) ) - (i32.store offset=8 + (i32.store $mimport$0 offset=8 (local.get $4) (local.get $0) ) - (i32.store + (i32.store $mimport$0 (i32.add (local.get $0) (i32.const 24) ) (i32.const 0) ) - (i32.store offset=12 + (i32.store $mimport$0 offset=12 (local.get $0) (local.get $4) ) - (i32.store offset=8 + (i32.store $mimport$0 offset=8 (local.get $0) (local.get $1) ) @@ -12041,7 +12041,7 @@ (local.set $0 (i32.add (local.tee $3 - (i32.atomic.load offset=1436 + (i32.atomic.load $mimport$0 offset=1436 (i32.const 0) ) ) @@ -12064,7 +12064,7 @@ (i32.le_u (local.get $0) (i32.shl - (memory.size) + (memory.size $mimport$0) (i32.const 16) ) ) @@ -12079,7 +12079,7 @@ ) (br_if $label$2 (i32.ne - (i32.atomic.rmw.cmpxchg offset=1436 + (i32.atomic.rmw.cmpxchg $mimport$0 offset=1436 (i32.const 0) (local.get $3) (local.get $0) @@ -12092,7 +12092,7 @@ (local.get $3) ) ) - (i32.store + (i32.store $mimport$0 (call $25) (i32.const 48) ) @@ -12122,7 +12122,7 @@ (i32.const 0) ) ) - (i32.store + (i32.store $mimport$0 (call $25) (local.get $0) ) @@ -12144,28 +12144,28 @@ ) ) ) - (i32.store offset=16 + (i32.store $mimport$0 offset=16 (local.get $3) (local.tee $4 - (i32.load offset=28 + (i32.load $mimport$0 offset=28 (local.get $0) ) ) ) (local.set $5 - (i32.load offset=20 + (i32.load $mimport$0 offset=20 (local.get $0) ) ) - (i32.store offset=28 + (i32.store $mimport$0 offset=28 (local.get $3) (local.get $2) ) - (i32.store offset=24 + (i32.store $mimport$0 offset=24 (local.get $3) (local.get $1) ) - (i32.store offset=20 + (i32.store $mimport$0 offset=20 (local.get $3) (local.tee $1 (i32.sub @@ -12196,7 +12196,7 @@ (br_if $label$4 (call $71 (call $fimport$16 - (i32.load offset=60 + (i32.load $mimport$0 offset=60 (local.get $0) ) (i32.add @@ -12216,7 +12216,7 @@ (i32.eq (local.get $6) (local.tee $4 - (i32.load offset=12 + (i32.load $mimport$0 offset=12 (local.get $3) ) ) @@ -12228,7 +12228,7 @@ (i32.const -1) ) ) - (i32.store + (i32.store $mimport$0 (local.tee $9 (i32.add (local.get $1) @@ -12237,7 +12237,7 @@ (i32.gt_u (local.get $4) (local.tee $8 - (i32.load offset=4 + (i32.load $mimport$0 offset=4 (local.get $1) ) ) @@ -12248,7 +12248,7 @@ ) ) (i32.add - (i32.load + (i32.load $mimport$0 (local.get $9) ) (local.tee $8 @@ -12263,7 +12263,7 @@ ) ) ) - (i32.store + (i32.store $mimport$0 (local.tee $9 (i32.add (local.get $1) @@ -12275,7 +12275,7 @@ ) ) (i32.sub - (i32.load + (i32.load $mimport$0 (local.get $9) ) (local.get $8) @@ -12291,7 +12291,7 @@ (i32.eqz (call $71 (call $fimport$16 - (i32.load offset=60 + (i32.load $mimport$0 offset=60 (local.get $0) ) (local.tee $1 @@ -12327,23 +12327,23 @@ ) ) ) - (i32.store offset=28 + (i32.store $mimport$0 offset=28 (local.get $0) (local.tee $1 - (i32.load offset=44 + (i32.load $mimport$0 offset=44 (local.get $0) ) ) ) - (i32.store offset=20 + (i32.store $mimport$0 offset=20 (local.get $0) (local.get $1) ) - (i32.store offset=16 + (i32.store $mimport$0 offset=16 (local.get $0) (i32.add (local.get $1) - (i32.load offset=48 + (i32.load $mimport$0 offset=48 (local.get $0) ) ) @@ -12356,18 +12356,18 @@ (local.set $4 (i32.const 0) ) - (i32.store offset=28 + (i32.store $mimport$0 offset=28 (local.get $0) (i32.const 0) ) - (i64.store offset=16 + (i64.store $mimport$0 offset=16 (local.get $0) (i64.const 0) ) - (i32.store + (i32.store $mimport$0 (local.get $0) (i32.or - (i32.load + (i32.load $mimport$0 (local.get $0) ) (i32.const 32) @@ -12382,7 +12382,7 @@ (local.set $4 (i32.sub (local.get $2) - (i32.load offset=4 + (i32.load $mimport$0 offset=4 (local.get $1) ) ) @@ -12444,7 +12444,7 @@ (block $label$3 (br_if $label$3 (i32.gt_s - (i32.load offset=76 + (i32.load $mimport$0 offset=76 (local.get $0) ) (i32.const -1) @@ -12484,14 +12484,14 @@ (block $label$4 (br_if $label$4 (i32.eqz - (i32.load offset=1584 + (i32.load $mimport$0 offset=1584 (i32.const 0) ) ) ) (local.set $2 (call $80 - (i32.load offset=1584 + (i32.load $mimport$0 offset=1584 (i32.const 0) ) ) @@ -12501,7 +12501,7 @@ (br_if $label$5 (i32.eqz (local.tee $0 - (i32.load + (i32.load $mimport$0 (call $69) ) ) @@ -12514,7 +12514,7 @@ (block $label$7 (br_if $label$7 (i32.lt_s - (i32.load offset=76 + (i32.load $mimport$0 offset=76 (local.get $0) ) (i32.const 0) @@ -12529,10 +12529,10 @@ (block $label$8 (br_if $label$8 (i32.le_u - (i32.load offset=20 + (i32.load $mimport$0 offset=20 (local.get $0) ) - (i32.load offset=28 + (i32.load $mimport$0 offset=28 (local.get $0) ) ) @@ -12558,7 +12558,7 @@ ) (br_if $label$6 (local.tee $0 - (i32.load offset=56 + (i32.load $mimport$0 offset=56 (local.get $0) ) ) @@ -12575,10 +12575,10 @@ (block $label$1 (br_if $label$1 (i32.le_u - (i32.load offset=20 + (i32.load $mimport$0 offset=20 (local.get $0) ) - (i32.load offset=28 + (i32.load $mimport$0 offset=28 (local.get $0) ) ) @@ -12588,13 +12588,13 @@ (local.get $0) (i32.const 0) (i32.const 0) - (i32.load offset=36 + (i32.load $mimport$0 offset=36 (local.get $0) ) ) ) (br_if $label$1 - (i32.load offset=20 + (i32.load $mimport$0 offset=20 (local.get $0) ) ) @@ -12606,12 +12606,12 @@ (br_if $label$2 (i32.ge_u (local.tee $1 - (i32.load offset=4 + (i32.load $mimport$0 offset=4 (local.get $0) ) ) (local.tee $2 - (i32.load offset=8 + (i32.load $mimport$0 offset=8 (local.get $0) ) ) @@ -12627,21 +12627,21 @@ ) ) (i32.const 1) - (i32.load offset=40 + (i32.load $mimport$0 offset=40 (local.get $0) ) ) ) ) - (i32.store offset=28 + (i32.store $mimport$0 offset=28 (local.get $0) (i32.const 0) ) - (i64.store offset=16 + (i64.store $mimport$0 offset=16 (local.get $0) (i64.const 0) ) - (i64.store offset=4 align=4 + (i64.store $mimport$0 offset=4 align=4 (local.get $0) (i64.const 0) ) @@ -12652,7 +12652,7 @@ ) (func $83 (call $fimport$17) - (i32.store offset=172 + (i32.store $mimport$0 offset=172 (call $14) (i32.add (i32.const 3448) @@ -12671,7 +12671,7 @@ (block $label$1 (br_if $label$1 (i32.eqz - (i32.load offset=44 + (i32.load $mimport$0 offset=44 (local.tee $0 (call $7) ) @@ -12693,10 +12693,10 @@ (br_if $label$4 (i32.eqz (local.tee $6 - (i32.load + (i32.load $mimport$0 (local.tee $5 (i32.add - (i32.load offset=100 + (i32.load $mimport$0 offset=100 (local.get $0) ) (local.tee $4 @@ -12713,7 +12713,7 @@ ) (br_if $label$4 (i32.eqz - (i32.load + (i32.load $mimport$0 (local.tee $4 (i32.add (local.get $4) @@ -12723,13 +12723,13 @@ ) ) ) - (i32.store + (i32.store $mimport$0 (local.get $5) (i32.const 0) ) (call_indirect (type $i32_=>_none) (local.get $6) - (i32.load + (i32.load $mimport$0 (local.get $4) ) ) diff --git a/test/lld/em_asm_shared.wat.out b/test/lld/em_asm_shared.wat.out index 0962d350408..fe669c45188 100644 --- a/test/lld/em_asm_shared.wat.out +++ b/test/lld/em_asm_shared.wat.out @@ -56,11 +56,11 @@ (i32.const 0) ) ) - (i64.store offset=16 + (i64.store $mimport$0 offset=16 (local.get $0) (i64.const 115964117005) ) - (i32.store + (i32.store $mimport$0 (local.get $0) (call $emscripten_asm_const_int (i32.add diff --git a/test/lld/hello_world.passive.wat.out b/test/lld/hello_world.passive.wat.out index 4cd5ed3c73b..677155a54b0 100644 --- a/test/lld/hello_world.passive.wat.out +++ b/test/lld/hello_world.passive.wat.out @@ -19,7 +19,7 @@ (call $__wasm_init_memory) ) (func $__wasm_init_memory - (memory.init 0 + (memory.init $0 0 (i32.const 568) (i32.const 0) (i32.const 14) diff --git a/test/lld/init.wat.out b/test/lld/init.wat.out index 68388eecbb9..b610ebcceae 100644 --- a/test/lld/init.wat.out +++ b/test/lld/init.wat.out @@ -13,23 +13,23 @@ (call $init_y) ) (func $init_x - (i32.store offset=568 + (i32.store $0 offset=568 (i32.const 0) (i32.const 14) ) ) (func $init_y - (i32.store offset=572 + (i32.store $0 offset=572 (i32.const 0) (i32.const 144) ) ) (func $__original_main (result i32) (i32.add - (i32.load offset=568 + (i32.load $0 offset=568 (i32.const 0) ) - (i32.load offset=572 + (i32.load $0 offset=572 (i32.const 0) ) ) diff --git a/test/lld/longjmp.wat.out b/test/lld/longjmp.wat.out index 3bb1c6dd470..7b9d3d7492e 100644 --- a/test/lld/longjmp.wat.out +++ b/test/lld/longjmp.wat.out @@ -32,7 +32,7 @@ (local $1 i32) (local $2 i32) (local $3 i32) - (i32.store + (i32.store $0 (local.tee $0 (call $malloc (i32.const 40) @@ -60,7 +60,7 @@ (br_if $label$2 (local.get $0) ) - (i32.store offset=568 + (i32.store $0 offset=568 (i32.const 0) (i32.const 0) ) @@ -70,11 +70,11 @@ (i32.const 1) ) (local.set $0 - (i32.load offset=568 + (i32.load $0 offset=568 (i32.const 0) ) ) - (i32.store offset=568 + (i32.store $0 offset=568 (i32.const 0) (i32.const 0) ) @@ -87,7 +87,7 @@ (br_if $label$4 (i32.eqz (local.tee $3 - (i32.load offset=572 + (i32.load $0 offset=572 (i32.const 0) ) ) @@ -96,7 +96,7 @@ (br_if $label$1 (i32.eqz (call $testSetjmp - (i32.load + (i32.load $0 (local.get $0) ) (local.get $1) diff --git a/test/lld/main_module.wat.out b/test/lld/main_module.wat.out index 1761b6ddeac..ba46b7a2630 100644 --- a/test/lld/main_module.wat.out +++ b/test/lld/main_module.wat.out @@ -24,14 +24,14 @@ (call $__wasm_apply_relocs) ) (func $__wasm_apply_relocs - (i32.store + (i32.store $0 (i32.add (global.get $gimport$2) (i32.const 16) ) (global.get $gimport$6) ) - (i32.store + (i32.store $0 (i32.add (global.get $gimport$2) (i32.const 20) @@ -48,7 +48,7 @@ ) ) ) - (i32.load + (i32.load $0 (global.get $gimport$5) ) ) diff --git a/test/lld/recursive.wat.out b/test/lld/recursive.wat.out index ae7945a2aae..a12fe5a8a1b 100644 --- a/test/lld/recursive.wat.out +++ b/test/lld/recursive.wat.out @@ -23,11 +23,11 @@ ) ) ) - (i32.store offset=4 + (i32.store $0 offset=4 (local.get $2) (local.get $1) ) - (i32.store + (i32.store $0 (local.get $2) (local.get $0) ) @@ -58,7 +58,7 @@ ) ) ) - (i32.store + (i32.store $0 (local.get $0) (call $foo (i32.const 1) diff --git a/test/lld/recursive_safe_stack.wat.out b/test/lld/recursive_safe_stack.wat.out index f5808ee88ac..cec7e0427c2 100644 --- a/test/lld/recursive_safe_stack.wat.out +++ b/test/lld/recursive_safe_stack.wat.out @@ -54,11 +54,11 @@ (local.get $3) ) ) - (i32.store offset=4 + (i32.store $0 offset=4 (local.get $2) (local.get $1) ) - (i32.store + (i32.store $0 (local.get $2) (local.get $0) ) @@ -129,7 +129,7 @@ (local.get $1) ) ) - (i32.store + (i32.store $0 (local.get $0) (call $foo (i32.const 1) diff --git a/test/lld/reserved_func_ptr.wat.out b/test/lld/reserved_func_ptr.wat.out index d20ecbc510a..d411026d44d 100644 --- a/test/lld/reserved_func_ptr.wat.out +++ b/test/lld/reserved_func_ptr.wat.out @@ -32,35 +32,35 @@ (local $5 i32) (local.set $2 (call $atoi\28char\20const*\29 - (i32.load offset=4 + (i32.load $0 offset=4 (local.get $1) ) ) ) (local.set $3 (call $atoi\28char\20const*\29 - (i32.load offset=8 + (i32.load $0 offset=8 (local.get $1) ) ) ) (local.set $4 (call $atoi\28char\20const*\29 - (i32.load offset=12 + (i32.load $0 offset=12 (local.get $1) ) ) ) (local.set $5 (call $atoi\28char\20const*\29 - (i32.load offset=16 + (i32.load $0 offset=16 (local.get $1) ) ) ) (local.set $1 (call $atoi\28char\20const*\29 - (i32.load offset=20 + (i32.load $0 offset=20 (local.get $1) ) ) diff --git a/test/lld/safe_stack_standalone-wasm.wat.out b/test/lld/safe_stack_standalone-wasm.wat.out index 876e9fabc33..1513a3d39f7 100644 --- a/test/lld/safe_stack_standalone-wasm.wat.out +++ b/test/lld/safe_stack_standalone-wasm.wat.out @@ -50,11 +50,11 @@ (local.get $3) ) ) - (i32.store offset=4 + (i32.store $0 offset=4 (local.get $2) (local.get $1) ) - (i32.store + (i32.store $0 (local.get $2) (local.get $0) ) @@ -121,7 +121,7 @@ (local.get $1) ) ) - (i32.store + (i32.store $0 (local.get $0) (call $foo (i32.const 1) diff --git a/test/lld/shared.wat.out b/test/lld/shared.wat.out index 1a496e43650..63dab4cb800 100644 --- a/test/lld/shared.wat.out +++ b/test/lld/shared.wat.out @@ -22,14 +22,14 @@ (nop) ) (func $__wasm_apply_data_relocs - (i32.store + (i32.store $mimport$0 (i32.add (i32.const 16) (global.get $__memory_base) ) (global.get $puts) ) - (i32.store + (i32.store $mimport$0 (i32.add (i32.const 20) (global.get $__memory_base) @@ -46,7 +46,7 @@ ) ) ) - (i32.load + (i32.load $mimport$0 (global.get $external_var) ) ) diff --git a/test/lld/shared_add_to_table.wasm.out b/test/lld/shared_add_to_table.wasm.out index 91be03860be..c9ef8965e07 100644 --- a/test/lld/shared_add_to_table.wasm.out +++ b/test/lld/shared_add_to_table.wasm.out @@ -45,7 +45,7 @@ ) (i32.add (i32.add - (i32.load + (i32.load $mimport$0 (global.get $gimport$5) ) (i32.add @@ -53,7 +53,7 @@ (local.get $0) ) ) - (i32.load + (i32.load $mimport$0 (global.get $gimport$6) ) ) diff --git a/test/lld/shared_longjmp.wat.out b/test/lld/shared_longjmp.wat.out index 449714270ea..8dfaba77e44 100644 --- a/test/lld/shared_longjmp.wat.out +++ b/test/lld/shared_longjmp.wat.out @@ -42,7 +42,7 @@ (local $1 i32) (local $2 i32) (local $3 i32) - (i32.store + (i32.store $mimport$0 (local.tee $0 (call $malloc (i32.const 40) @@ -70,7 +70,7 @@ (br_if $label$2 (local.get $0) ) - (i32.store + (i32.store $mimport$0 (local.tee $0 (global.get $__THREW__) ) @@ -82,11 +82,11 @@ (i32.const 1) ) (local.set $3 - (i32.load + (i32.load $mimport$0 (local.get $0) ) ) - (i32.store + (i32.store $mimport$0 (local.get $0) (i32.const 0) ) @@ -102,7 +102,7 @@ (br_if $label$4 (i32.eqz (local.tee $0 - (i32.load + (i32.load $mimport$0 (local.get $0) ) ) @@ -111,7 +111,7 @@ (br_if $label$1 (i32.eqz (call $testSetjmp - (i32.load + (i32.load $mimport$0 (local.get $3) ) (local.get $1) diff --git a/test/memory-import.wast.from-wast b/test/memory-import.wast.from-wast index 4d27bcc4e73..e3874667ec3 100644 --- a/test/memory-import.wast.from-wast +++ b/test/memory-import.wast.from-wast @@ -2,7 +2,7 @@ (type $0 (func (result i32))) (import "env" "memory" (memory $0 1 1)) (func $foo (result i32) - (i32.load offset=13 + (i32.load $0 offset=13 (i32.const 37) ) ) diff --git a/test/memory-import.wast.fromBinary b/test/memory-import.wast.fromBinary index e03f853d0f0..51b0e6fcf7b 100644 --- a/test/memory-import.wast.fromBinary +++ b/test/memory-import.wast.fromBinary @@ -2,7 +2,7 @@ (type $0 (func (result i32))) (import "env" "memory" (memory $0 1 1)) (func $foo (result i32) - (i32.load offset=13 + (i32.load $0 offset=13 (i32.const 37) ) ) diff --git a/test/memory-import.wast.fromBinary.noDebugInfo b/test/memory-import.wast.fromBinary.noDebugInfo index 196a1b0d705..c07a26931c7 100644 --- a/test/memory-import.wast.fromBinary.noDebugInfo +++ b/test/memory-import.wast.fromBinary.noDebugInfo @@ -2,7 +2,7 @@ (type $none_=>_i32 (func (result i32))) (import "env" "memory" (memory $mimport$0 1 1)) (func $0 (result i32) - (i32.load offset=13 + (i32.load $mimport$0 offset=13 (i32.const 37) ) ) diff --git a/test/memory-import64.wast.from-wast b/test/memory-import64.wast.from-wast index 8f9d70886c4..b427d11643a 100644 --- a/test/memory-import64.wast.from-wast +++ b/test/memory-import64.wast.from-wast @@ -2,7 +2,7 @@ (type $0 (func (result i32))) (import "env" "memory" (memory $0 i64 1 1)) (func $foo (result i32) - (i32.load offset=13 + (i32.load $0 offset=13 (i64.const 37) ) ) diff --git a/test/memory-import64.wast.fromBinary b/test/memory-import64.wast.fromBinary index c89e3a6ca67..de04ded74c2 100644 --- a/test/memory-import64.wast.fromBinary +++ b/test/memory-import64.wast.fromBinary @@ -2,7 +2,7 @@ (type $0 (func (result i32))) (import "env" "memory" (memory $0 i64 1 1)) (func $foo (result i32) - (i32.load offset=13 + (i32.load $0 offset=13 (i64.const 37) ) ) diff --git a/test/memory-import64.wast.fromBinary.noDebugInfo b/test/memory-import64.wast.fromBinary.noDebugInfo index ff5cd6fb219..0216fb65176 100644 --- a/test/memory-import64.wast.fromBinary.noDebugInfo +++ b/test/memory-import64.wast.fromBinary.noDebugInfo @@ -2,7 +2,7 @@ (type $none_=>_i32 (func (result i32))) (import "env" "memory" (memory $mimport$0 i64 1 1)) (func $0 (result i32) - (i32.load offset=13 + (i32.load $mimport$0 offset=13 (i64.const 37) ) ) diff --git a/test/metadce/spanning_cycle.wast.dced b/test/metadce/spanning_cycle.wast.dced index 778ce0a5193..1a28aef4349 100644 --- a/test/metadce/spanning_cycle.wast.dced +++ b/test/metadce/spanning_cycle.wast.dced @@ -5,7 +5,7 @@ (data "Hello, datacount section!") (export "wasm_func_a" (func $a_wasm_func)) (func $a_wasm_func - (memory.init 0 + (memory.init $0 0 (i32.const 0) (i32.const 0) (i32.const 25) diff --git a/test/min.wast.from-wast b/test/min.wast.from-wast index f0c5016725a..a6fd0a9e569 100644 --- a/test/min.wast.from-wast +++ b/test/min.wast.from-wast @@ -17,11 +17,11 @@ (local.tee $n (f32.neg (block $block0 (result f32) - (i32.store + (i32.store $0 (local.get $k) (local.get $p) ) - (f32.load + (f32.load $0 (local.get $k) ) ) diff --git a/test/min.wast.fromBinary b/test/min.wast.fromBinary index b8ec13306fd..fe5bf73e463 100644 --- a/test/min.wast.fromBinary +++ b/test/min.wast.fromBinary @@ -17,11 +17,11 @@ (local.tee $n (f32.neg (block $label$1 (result f32) - (i32.store + (i32.store $0 (local.get $k) (local.get $p) ) - (f32.load + (f32.load $0 (local.get $k) ) ) diff --git a/test/min.wast.fromBinary.noDebugInfo b/test/min.wast.fromBinary.noDebugInfo index 4d13abb3260..8bd7ccb1516 100644 --- a/test/min.wast.fromBinary.noDebugInfo +++ b/test/min.wast.fromBinary.noDebugInfo @@ -17,11 +17,11 @@ (local.tee $2 (f32.neg (block $label$1 (result f32) - (i32.store + (i32.store $0 (local.get $0) (local.get $1) ) - (f32.load + (f32.load $0 (local.get $0) ) ) diff --git a/test/nonspec-bulk-memory.wast.from-wast b/test/nonspec-bulk-memory.wast.from-wast index 1d78b8e1597..55f8765d231 100644 --- a/test/nonspec-bulk-memory.wast.from-wast +++ b/test/nonspec-bulk-memory.wast.from-wast @@ -3,7 +3,7 @@ (memory $0 1024 1024) (data (i32.const 0) "hello, world") (func $memory.init - (memory.init 0 + (memory.init $0 0 (i32.const 512) (i32.const 0) (i32.const 12) @@ -13,14 +13,14 @@ (data.drop 0) ) (func $memory.copy - (memory.copy + (memory.copy $0 $0 (i32.const 512) (i32.const 0) (i32.const 12) ) ) (func $memory.fill - (memory.fill + (memory.fill $0 (i32.const 0) (i32.const 42) (i32.const 1024) diff --git a/test/nonspec-bulk-memory.wast.fromBinary b/test/nonspec-bulk-memory.wast.fromBinary index 9120c43e615..bd4ca669fcf 100644 --- a/test/nonspec-bulk-memory.wast.fromBinary +++ b/test/nonspec-bulk-memory.wast.fromBinary @@ -3,7 +3,7 @@ (memory $0 1024 1024) (data (i32.const 0) "hello, world") (func $memory.init - (memory.init 0 + (memory.init $0 0 (i32.const 512) (i32.const 0) (i32.const 12) @@ -13,14 +13,14 @@ (data.drop 0) ) (func $memory.copy - (memory.copy + (memory.copy $0 $0 (i32.const 512) (i32.const 0) (i32.const 12) ) ) (func $memory.fill - (memory.fill + (memory.fill $0 (i32.const 0) (i32.const 42) (i32.const 1024) diff --git a/test/nonspec-bulk-memory.wast.fromBinary.noDebugInfo b/test/nonspec-bulk-memory.wast.fromBinary.noDebugInfo index 06066710421..68f0885cac7 100644 --- a/test/nonspec-bulk-memory.wast.fromBinary.noDebugInfo +++ b/test/nonspec-bulk-memory.wast.fromBinary.noDebugInfo @@ -3,7 +3,7 @@ (memory $0 1024 1024) (data (i32.const 0) "hello, world") (func $0 - (memory.init 0 + (memory.init $0 0 (i32.const 512) (i32.const 0) (i32.const 12) @@ -13,14 +13,14 @@ (data.drop 0) ) (func $2 - (memory.copy + (memory.copy $0 $0 (i32.const 512) (i32.const 0) (i32.const 12) ) ) (func $3 - (memory.fill + (memory.fill $0 (i32.const 0) (i32.const 42) (i32.const 1024) diff --git a/test/passes/O3_low-memory-unused_metrics.txt b/test/passes/O3_low-memory-unused_metrics.txt index 3bdce292109..b8aa026f015 100644 --- a/test/passes/O3_low-memory-unused_metrics.txt +++ b/test/passes/O3_low-memory-unused_metrics.txt @@ -72,7 +72,7 @@ total (br_if $label$1 (i32.eqz (local.tee $2 - (i32.load offset=28 + (i32.load $108 offset=28 (local.get $0) ) ) @@ -82,25 +82,25 @@ total (block $label$3 (br_if $label$3 (i32.eqz - (i32.load offset=12 + (i32.load $108 offset=12 (local.get $0) ) ) ) (if (i32.eqz - (i32.load + (i32.load $108 (local.get $0) ) ) (br_if $label$3 - (i32.load offset=4 + (i32.load $108 offset=4 (local.get $0) ) ) ) (local.set $3 - (i32.load offset=4 + (i32.load $108 offset=4 (local.get $2) ) ) @@ -117,9 +117,9 @@ total ) ) ) - (i32.store offset=24 + (i32.store $108 offset=24 (local.get $0) - (i32.load + (i32.load $108 (i32.const 16992) ) ) @@ -129,22 +129,22 @@ total ) (if (i32.eqz - (i32.load offset=16 + (i32.load $108 offset=16 (local.get $0) ) ) (br $folding-inner0) ) - (i32.store + (i32.store $108 (local.get $2) (local.get $0) ) (local.set $7 - (i32.load offset=40 + (i32.load $108 offset=40 (local.get $2) ) ) - (i32.store offset=40 + (i32.store $108 offset=40 (local.get $2) (local.get $1) ) @@ -167,13 +167,13 @@ total (block (if (i32.eq - (i32.load offset=24 + (i32.load $108 offset=24 (local.get $2) ) (i32.const 2) ) (block - (i32.store offset=48 + (i32.store $108 offset=48 (local.get $0) (call $fimport$14 (i32.const 0) @@ -181,61 +181,61 @@ total (i32.const 0) ) ) - (i32.store offset=20 + (i32.store $108 offset=20 (local.get $2) (i32.add (local.tee $3 - (i32.load offset=20 + (i32.load $108 offset=20 (local.get $2) ) ) (i32.const 1) ) ) - (i32.store8 + (i32.store8 $108 (i32.add (local.get $3) - (i32.load offset=8 + (i32.load $108 offset=8 (local.get $2) ) ) (i32.const 31) ) - (i32.store offset=20 + (i32.store $108 offset=20 (local.get $2) (i32.add (local.tee $3 - (i32.load offset=20 + (i32.load $108 offset=20 (local.get $2) ) ) (i32.const 1) ) ) - (i32.store8 + (i32.store8 $108 (i32.add (local.get $3) - (i32.load offset=8 + (i32.load $108 offset=8 (local.get $2) ) ) (i32.const 139) ) - (i32.store offset=20 + (i32.store $108 offset=20 (local.get $2) (i32.add (local.tee $3 - (i32.load offset=20 + (i32.load $108 offset=20 (local.get $2) ) ) (i32.const 1) ) ) - (i32.store8 + (i32.store8 $108 (i32.add (local.get $3) - (i32.load offset=8 + (i32.load $108 offset=8 (local.get $2) ) ) @@ -244,107 +244,107 @@ total (if (i32.eqz (local.tee $3 - (i32.load offset=28 + (i32.load $108 offset=28 (local.get $2) ) ) ) (block - (i32.store offset=20 + (i32.store $108 offset=20 (local.get $2) (i32.add (local.tee $3 - (i32.load offset=20 + (i32.load $108 offset=20 (local.get $2) ) ) (i32.const 1) ) ) - (i32.store8 + (i32.store8 $108 (i32.add (local.get $3) - (i32.load offset=8 + (i32.load $108 offset=8 (local.get $2) ) ) (i32.const 0) ) - (i32.store offset=20 + (i32.store $108 offset=20 (local.get $2) (i32.add (local.tee $3 - (i32.load offset=20 + (i32.load $108 offset=20 (local.get $2) ) ) (i32.const 1) ) ) - (i32.store8 + (i32.store8 $108 (i32.add (local.get $3) - (i32.load offset=8 + (i32.load $108 offset=8 (local.get $2) ) ) (i32.const 0) ) - (i32.store offset=20 + (i32.store $108 offset=20 (local.get $2) (i32.add (local.tee $3 - (i32.load offset=20 + (i32.load $108 offset=20 (local.get $2) ) ) (i32.const 1) ) ) - (i32.store8 + (i32.store8 $108 (i32.add (local.get $3) - (i32.load offset=8 + (i32.load $108 offset=8 (local.get $2) ) ) (i32.const 0) ) - (i32.store offset=20 + (i32.store $108 offset=20 (local.get $2) (i32.add (local.tee $3 - (i32.load offset=20 + (i32.load $108 offset=20 (local.get $2) ) ) (i32.const 1) ) ) - (i32.store8 + (i32.store8 $108 (i32.add (local.get $3) - (i32.load offset=8 + (i32.load $108 offset=8 (local.get $2) ) ) (i32.const 0) ) - (i32.store offset=20 + (i32.store $108 offset=20 (local.get $2) (i32.add (local.tee $3 - (i32.load offset=20 + (i32.load $108 offset=20 (local.get $2) ) ) (i32.const 1) ) ) - (i32.store8 + (i32.store8 $108 (i32.add (local.get $3) - (i32.load offset=8 + (i32.load $108 offset=8 (local.get $2) ) ) @@ -356,7 +356,7 @@ total (if (i32.ne (local.tee $4 - (i32.load offset=132 + (i32.load $108 offset=132 (local.get $2) ) ) @@ -367,7 +367,7 @@ total (i32.const 4) (i32.shl (i32.gt_s - (i32.load offset=136 + (i32.load $108 offset=136 (local.get $2) ) (i32.const 1) @@ -381,47 +381,47 @@ total ) ) ) - (i32.store offset=20 + (i32.store $108 offset=20 (local.get $2) (i32.add (local.tee $4 - (i32.load offset=20 + (i32.load $108 offset=20 (local.get $2) ) ) (i32.const 1) ) ) - (i32.store8 + (i32.store8 $108 (i32.add (local.get $4) - (i32.load offset=8 + (i32.load $108 offset=8 (local.get $2) ) ) (local.get $3) ) - (i32.store offset=20 + (i32.store $108 offset=20 (local.get $2) (i32.add (local.tee $3 - (i32.load offset=20 + (i32.load $108 offset=20 (local.get $2) ) ) (i32.const 1) ) ) - (i32.store8 + (i32.store8 $108 (i32.add (local.get $3) - (i32.load offset=8 + (i32.load $108 offset=8 (local.get $2) ) ) (i32.const 3) ) - (i32.store offset=4 + (i32.store $108 offset=4 (local.get $2) (i32.const 113) ) @@ -429,35 +429,35 @@ total ) ) (local.set $4 - (i32.load offset=36 + (i32.load $108 offset=36 (local.get $3) ) ) (local.set $5 - (i32.load offset=28 + (i32.load $108 offset=28 (local.get $3) ) ) (local.set $6 - (i32.load offset=16 + (i32.load $108 offset=16 (local.get $3) ) ) (local.set $8 - (i32.load offset=44 + (i32.load $108 offset=44 (local.get $3) ) ) (local.set $9 - (i32.load + (i32.load $108 (local.get $3) ) ) - (i32.store offset=20 + (i32.store $108 offset=20 (local.get $2) (i32.add (local.tee $10 - (i32.load offset=20 + (i32.load $108 offset=20 (local.get $2) ) ) @@ -467,10 +467,10 @@ total (local.set $3 (i32.const 2) ) - (i32.store8 + (i32.store8 $108 (i32.add (local.get $10) - (i32.load offset=8 + (i32.load $108 offset=8 (local.get $2) ) ) @@ -516,54 +516,54 @@ total ) ) (local.set $4 - (i32.load offset=4 - (i32.load offset=28 + (i32.load $108 offset=4 + (i32.load $108 offset=28 (local.get $2) ) ) ) - (i32.store offset=20 + (i32.store $108 offset=20 (local.get $2) (i32.add (local.tee $5 - (i32.load offset=20 + (i32.load $108 offset=20 (local.get $2) ) ) (i32.const 1) ) ) - (i32.store8 + (i32.store8 $108 (i32.add (local.get $5) - (i32.load offset=8 + (i32.load $108 offset=8 (local.get $2) ) ) (local.get $4) ) (local.set $4 - (i32.load offset=4 - (i32.load offset=28 + (i32.load $108 offset=4 + (i32.load $108 offset=28 (local.get $2) ) ) ) - (i32.store offset=20 + (i32.store $108 offset=20 (local.get $2) (i32.add (local.tee $5 - (i32.load offset=20 + (i32.load $108 offset=20 (local.get $2) ) ) (i32.const 1) ) ) - (i32.store8 + (i32.store8 $108 (i32.add (local.get $5) - (i32.load offset=8 + (i32.load $108 offset=8 (local.get $2) ) ) @@ -573,54 +573,54 @@ total ) ) (local.set $4 - (i32.load16_u offset=6 - (i32.load offset=28 + (i32.load16_u $108 offset=6 + (i32.load $108 offset=28 (local.get $2) ) ) ) - (i32.store offset=20 + (i32.store $108 offset=20 (local.get $2) (i32.add (local.tee $5 - (i32.load offset=20 + (i32.load $108 offset=20 (local.get $2) ) ) (i32.const 1) ) ) - (i32.store8 + (i32.store8 $108 (i32.add (local.get $5) - (i32.load offset=8 + (i32.load $108 offset=8 (local.get $2) ) ) (local.get $4) ) (local.set $4 - (i32.load8_u offset=7 - (i32.load offset=28 + (i32.load8_u $108 offset=7 + (i32.load $108 offset=28 (local.get $2) ) ) ) - (i32.store offset=20 + (i32.store $108 offset=20 (local.get $2) (i32.add (local.tee $5 - (i32.load offset=20 + (i32.load $108 offset=20 (local.get $2) ) ) (i32.const 1) ) ) - (i32.store8 + (i32.store8 $108 (i32.add (local.get $5) - (i32.load offset=8 + (i32.load $108 offset=8 (local.get $2) ) ) @@ -629,7 +629,7 @@ total (if (i32.ne (local.tee $4 - (i32.load offset=132 + (i32.load $108 offset=132 (local.get $2) ) ) @@ -640,7 +640,7 @@ total (i32.const 4) (i32.shl (i32.gt_s - (i32.load offset=136 + (i32.load $108 offset=136 (local.get $2) ) (i32.const 1) @@ -654,111 +654,111 @@ total ) ) ) - (i32.store offset=20 + (i32.store $108 offset=20 (local.get $2) (i32.add (local.tee $4 - (i32.load offset=20 + (i32.load $108 offset=20 (local.get $2) ) ) (i32.const 1) ) ) - (i32.store8 + (i32.store8 $108 (i32.add (local.get $4) - (i32.load offset=8 + (i32.load $108 offset=8 (local.get $2) ) ) (local.get $3) ) (local.set $3 - (i32.load offset=12 - (i32.load offset=28 + (i32.load $108 offset=12 + (i32.load $108 offset=28 (local.get $2) ) ) ) - (i32.store offset=20 + (i32.store $108 offset=20 (local.get $2) (i32.add (local.tee $4 - (i32.load offset=20 + (i32.load $108 offset=20 (local.get $2) ) ) (i32.const 1) ) ) - (i32.store8 + (i32.store8 $108 (i32.add (local.get $4) - (i32.load offset=8 + (i32.load $108 offset=8 (local.get $2) ) ) (local.get $3) ) (if - (i32.load offset=44 + (i32.load $108 offset=44 (if (result i32) - (i32.load offset=16 + (i32.load $108 offset=16 (local.tee $3 - (i32.load offset=28 + (i32.load $108 offset=28 (local.get $2) ) ) ) (block (result i32) (local.set $3 - (i32.load offset=20 + (i32.load $108 offset=20 (local.get $3) ) ) - (i32.store offset=20 + (i32.store $108 offset=20 (local.get $2) (i32.add (local.tee $4 - (i32.load offset=20 + (i32.load $108 offset=20 (local.get $2) ) ) (i32.const 1) ) ) - (i32.store8 + (i32.store8 $108 (i32.add (local.get $4) - (i32.load offset=8 + (i32.load $108 offset=8 (local.get $2) ) ) (local.get $3) ) (local.set $3 - (i32.load offset=20 - (i32.load offset=28 + (i32.load $108 offset=20 + (i32.load $108 offset=28 (local.get $2) ) ) ) - (i32.store offset=20 + (i32.store $108 offset=20 (local.get $2) (i32.add (local.tee $4 - (i32.load offset=20 + (i32.load $108 offset=20 (local.get $2) ) ) (i32.const 1) ) ) - (i32.store8 + (i32.store8 $108 (i32.add (local.get $4) - (i32.load offset=8 + (i32.load $108 offset=8 (local.get $2) ) ) @@ -767,33 +767,33 @@ total (i32.const 8) ) ) - (i32.load offset=28 + (i32.load $108 offset=28 (local.get $2) ) ) (local.get $3) ) ) - (i32.store offset=48 + (i32.store $108 offset=48 (local.get $0) (call $fimport$14 - (i32.load offset=48 + (i32.load $108 offset=48 (local.get $0) ) - (i32.load offset=8 + (i32.load $108 offset=8 (local.get $2) ) - (i32.load offset=20 + (i32.load $108 offset=20 (local.get $2) ) ) ) ) - (i32.store offset=4 + (i32.store $108 offset=4 (local.get $2) (i32.const 69) ) - (i32.store offset=32 + (i32.store $108 offset=32 (local.get $2) (i32.const 0) ) @@ -803,7 +803,7 @@ total (local.set $5 (i32.sub (i32.shl - (i32.load offset=48 + (i32.load $108 offset=48 (local.get $2) ) (i32.const 12) @@ -817,7 +817,7 @@ total (block $label$24 (br_if $label$24 (i32.gt_s - (i32.load offset=136 + (i32.load $108 offset=136 (local.get $2) ) (i32.const 1) @@ -826,7 +826,7 @@ total (br_if $label$24 (i32.lt_s (local.tee $4 - (i32.load offset=132 + (i32.load $108 offset=132 (local.get $2) ) ) @@ -853,25 +853,25 @@ total ) ) ) - (i32.store offset=4 + (i32.store $108 offset=4 (local.get $2) (i32.const 113) ) - (i32.store offset=20 + (i32.store $108 offset=20 (local.get $2) (i32.add (local.tee $4 - (i32.load offset=20 + (i32.load $108 offset=20 (local.get $2) ) ) (i32.const 1) ) ) - (i32.store8 + (i32.store8 $108 (i32.add (local.get $4) - (i32.load offset=8 + (i32.load $108 offset=8 (local.get $2) ) ) @@ -888,7 +888,7 @@ total (i32.const 32) ) (local.get $3) - (i32.load offset=108 + (i32.load $108 offset=108 (local.get $2) ) ) @@ -896,21 +896,21 @@ total (i32.const 8) ) ) - (i32.store offset=20 + (i32.store $108 offset=20 (local.get $2) (i32.add (local.tee $4 - (i32.load offset=20 + (i32.load $108 offset=20 (local.get $2) ) ) (i32.const 1) ) ) - (i32.store8 + (i32.store8 $108 (i32.add (local.get $4) - (i32.load offset=8 + (i32.load $108 offset=8 (local.get $2) ) ) @@ -926,30 +926,30 @@ total ) ) (if - (i32.load offset=108 + (i32.load $108 offset=108 (local.get $2) ) (block (local.set $3 - (i32.load offset=48 + (i32.load $108 offset=48 (local.get $0) ) ) - (i32.store offset=20 + (i32.store $108 offset=20 (local.get $2) (i32.add (local.tee $4 - (i32.load offset=20 + (i32.load $108 offset=20 (local.get $2) ) ) (i32.const 1) ) ) - (i32.store8 + (i32.store8 $108 (i32.add (local.get $4) - (i32.load offset=8 + (i32.load $108 offset=8 (local.get $2) ) ) @@ -958,21 +958,21 @@ total (i32.const 24) ) ) - (i32.store offset=20 + (i32.store $108 offset=20 (local.get $2) (i32.add (local.tee $4 - (i32.load offset=20 + (i32.load $108 offset=20 (local.get $2) ) ) (i32.const 1) ) ) - (i32.store8 + (i32.store8 $108 (i32.add (local.get $4) - (i32.load offset=8 + (i32.load $108 offset=8 (local.get $2) ) ) @@ -982,25 +982,25 @@ total ) ) (local.set $3 - (i32.load offset=48 + (i32.load $108 offset=48 (local.get $0) ) ) - (i32.store offset=20 + (i32.store $108 offset=20 (local.get $2) (i32.add (local.tee $4 - (i32.load offset=20 + (i32.load $108 offset=20 (local.get $2) ) ) (i32.const 1) ) ) - (i32.store8 + (i32.store8 $108 (i32.add (local.get $4) - (i32.load offset=8 + (i32.load $108 offset=8 (local.get $2) ) ) @@ -1009,21 +1009,21 @@ total (i32.const 8) ) ) - (i32.store offset=20 + (i32.store $108 offset=20 (local.get $2) (i32.add (local.tee $4 - (i32.load offset=20 + (i32.load $108 offset=20 (local.get $2) ) ) (i32.const 1) ) ) - (i32.store8 + (i32.store8 $108 (i32.add (local.get $4) - (i32.load offset=8 + (i32.load $108 offset=8 (local.get $2) ) ) @@ -1031,7 +1031,7 @@ total ) ) ) - (i32.store offset=48 + (i32.store $108 offset=48 (local.get $0) (call $fimport$15 (i32.const 0) @@ -1040,7 +1040,7 @@ total ) ) (local.set $3 - (i32.load offset=4 + (i32.load $108 offset=4 (local.get $2) ) ) @@ -1055,27 +1055,27 @@ total ) (block $label$26 (if - (i32.load offset=16 + (i32.load $108 offset=16 (local.tee $5 - (i32.load offset=28 + (i32.load $108 offset=28 (local.get $2) ) ) ) (block (local.set $3 - (i32.load offset=20 + (i32.load $108 offset=20 (local.get $2) ) ) (br_if $label$26 (i32.ge_u (local.tee $6 - (i32.load offset=32 + (i32.load $108 offset=32 (local.get $2) ) ) - (i32.load16_u offset=20 + (i32.load16_u $108 offset=20 (local.get $5) ) ) @@ -1086,7 +1086,7 @@ total (loop $label$28 (if (i32.eq - (i32.load offset=12 + (i32.load $108 offset=12 (local.get $2) ) (local.get $3) @@ -1101,19 +1101,19 @@ total ) (br_if $label$30 (i32.eqz - (i32.load offset=44 + (i32.load $108 offset=44 (local.get $5) ) ) ) - (i32.store offset=48 + (i32.store $108 offset=48 (local.get $0) (call $fimport$14 - (i32.load offset=48 + (i32.load $108 offset=48 (local.get $0) ) (i32.add - (i32.load offset=8 + (i32.load $108 offset=8 (local.get $2) ) (local.get $4) @@ -1131,14 +1131,14 @@ total (local.tee $3 (select (local.tee $3 - (i32.load offset=16 + (i32.load $108 offset=16 (local.get $0) ) ) (local.tee $5 - (i32.load offset=20 + (i32.load $108 offset=20 (local.tee $4 - (i32.load offset=28 + (i32.load $108 offset=28 (local.get $0) ) ) @@ -1154,60 +1154,60 @@ total ) (drop (call $fimport$98 - (i32.load offset=12 + (i32.load $108 offset=12 (local.get $0) ) - (i32.load offset=16 + (i32.load $108 offset=16 (local.get $4) ) (local.get $3) ) ) - (i32.store offset=12 + (i32.store $108 offset=12 (local.get $0) (i32.add - (i32.load offset=12 + (i32.load $108 offset=12 (local.get $0) ) (local.get $3) ) ) - (i32.store offset=16 + (i32.store $108 offset=16 (local.tee $4 - (i32.load offset=28 + (i32.load $108 offset=28 (local.get $0) ) ) (i32.add - (i32.load offset=16 + (i32.load $108 offset=16 (local.get $4) ) (local.get $3) ) ) - (i32.store offset=20 + (i32.store $108 offset=20 (local.get $0) (i32.add - (i32.load offset=20 + (i32.load $108 offset=20 (local.get $0) ) (local.get $3) ) ) - (i32.store offset=16 + (i32.store $108 offset=16 (local.get $0) (i32.sub - (i32.load offset=16 + (i32.load $108 offset=16 (local.get $0) ) (local.get $3) ) ) - (i32.store offset=20 + (i32.store $108 offset=20 (local.get $4) (local.tee $3 (i32.sub - (i32.load offset=20 + (i32.load $108 offset=20 (local.get $4) ) (local.get $3) @@ -1217,32 +1217,32 @@ total (br_if $label$31 (local.get $3) ) - (i32.store offset=16 + (i32.store $108 offset=16 (local.get $4) - (i32.load offset=8 + (i32.load $108 offset=8 (local.get $4) ) ) ) (local.set $5 - (i32.load offset=28 + (i32.load $108 offset=28 (local.get $2) ) ) (br_if $label$26 (i32.eq (local.tee $3 - (i32.load offset=20 + (i32.load $108 offset=20 (local.get $2) ) ) - (i32.load offset=12 + (i32.load $108 offset=12 (local.get $2) ) ) ) (local.set $6 - (i32.load offset=32 + (i32.load $108 offset=32 (local.get $2) ) ) @@ -1252,36 +1252,36 @@ total ) ) (local.set $5 - (i32.load8_u + (i32.load8_u $108 (i32.add - (i32.load offset=16 + (i32.load $108 offset=16 (local.get $5) ) (local.get $6) ) ) ) - (i32.store offset=20 + (i32.store $108 offset=20 (local.get $2) (i32.add (local.get $3) (i32.const 1) ) ) - (i32.store8 + (i32.store8 $108 (i32.add - (i32.load offset=8 + (i32.load $108 offset=8 (local.get $2) ) (local.get $3) ) (local.get $5) ) - (i32.store offset=32 + (i32.store $108 offset=32 (local.get $2) (local.tee $6 (i32.add - (i32.load offset=32 + (i32.load $108 offset=32 (local.get $2) ) (i32.const 1) @@ -1290,9 +1290,9 @@ total ) (if (i32.le_u - (i32.load16_u offset=20 + (i32.load16_u $108 offset=20 (local.tee $5 - (i32.load offset=28 + (i32.load $108 offset=28 (local.get $2) ) ) @@ -1307,7 +1307,7 @@ total ) (block (local.set $3 - (i32.load offset=20 + (i32.load $108 offset=20 (local.get $2) ) ) @@ -1317,7 +1317,7 @@ total ) ) ) - (i32.store offset=4 + (i32.store $108 offset=4 (local.get $2) (i32.const 73) ) @@ -1326,7 +1326,7 @@ total (block $label$33 (br_if $label$33 (i32.eqz - (i32.load offset=44 + (i32.load $108 offset=44 (local.get $5) ) ) @@ -1334,21 +1334,21 @@ total (br_if $label$33 (i32.le_u (local.tee $4 - (i32.load offset=20 + (i32.load $108 offset=20 (local.get $2) ) ) (local.get $3) ) ) - (i32.store offset=48 + (i32.store $108 offset=48 (local.get $0) (call $fimport$14 - (i32.load offset=48 + (i32.load $108 offset=48 (local.get $0) ) (i32.add - (i32.load offset=8 + (i32.load $108 offset=8 (local.get $2) ) (local.get $3) @@ -1360,26 +1360,26 @@ total ) ) (local.set $5 - (i32.load offset=28 + (i32.load $108 offset=28 (local.get $2) ) ) ) (if (i32.eq - (i32.load offset=32 + (i32.load $108 offset=32 (local.get $2) ) - (i32.load offset=20 + (i32.load $108 offset=20 (local.get $5) ) ) (block - (i32.store offset=4 + (i32.store $108 offset=4 (local.get $2) (i32.const 73) ) - (i32.store offset=32 + (i32.store $108 offset=32 (local.get $2) (i32.const 0) ) @@ -1387,7 +1387,7 @@ total ) ) (local.set $3 - (i32.load offset=4 + (i32.load $108 offset=4 (local.get $2) ) ) @@ -1399,21 +1399,21 @@ total ) ) (local.set $5 - (i32.load offset=28 + (i32.load $108 offset=28 (local.get $2) ) ) ) (br_if $label$11 (i32.eqz - (i32.load offset=28 + (i32.load $108 offset=28 (local.get $5) ) ) ) (local.set $4 (local.tee $3 - (i32.load offset=20 + (i32.load $108 offset=20 (local.get $2) ) ) @@ -1424,7 +1424,7 @@ total (block $label$36 (if (i32.eq - (i32.load offset=12 + (i32.load $108 offset=12 (local.get $2) ) (local.get $3) @@ -1439,21 +1439,21 @@ total ) (br_if $label$39 (i32.eqz - (i32.load offset=44 - (i32.load offset=28 + (i32.load $108 offset=44 + (i32.load $108 offset=28 (local.get $2) ) ) ) ) - (i32.store offset=48 + (i32.store $108 offset=48 (local.get $0) (call $fimport$14 - (i32.load offset=48 + (i32.load $108 offset=48 (local.get $0) ) (i32.add - (i32.load offset=8 + (i32.load $108 offset=8 (local.get $2) ) (local.get $4) @@ -1471,14 +1471,14 @@ total (local.tee $3 (select (local.tee $3 - (i32.load offset=16 + (i32.load $108 offset=16 (local.get $0) ) ) (local.tee $5 - (i32.load offset=20 + (i32.load $108 offset=20 (local.tee $4 - (i32.load offset=28 + (i32.load $108 offset=28 (local.get $0) ) ) @@ -1494,60 +1494,60 @@ total ) (drop (call $fimport$98 - (i32.load offset=12 + (i32.load $108 offset=12 (local.get $0) ) - (i32.load offset=16 + (i32.load $108 offset=16 (local.get $4) ) (local.get $3) ) ) - (i32.store offset=12 + (i32.store $108 offset=12 (local.get $0) (i32.add - (i32.load offset=12 + (i32.load $108 offset=12 (local.get $0) ) (local.get $3) ) ) - (i32.store offset=16 + (i32.store $108 offset=16 (local.tee $4 - (i32.load offset=28 + (i32.load $108 offset=28 (local.get $0) ) ) (i32.add - (i32.load offset=16 + (i32.load $108 offset=16 (local.get $4) ) (local.get $3) ) ) - (i32.store offset=20 + (i32.store $108 offset=20 (local.get $0) (i32.add - (i32.load offset=20 + (i32.load $108 offset=20 (local.get $0) ) (local.get $3) ) ) - (i32.store offset=16 + (i32.store $108 offset=16 (local.get $0) (i32.sub - (i32.load offset=16 + (i32.load $108 offset=16 (local.get $0) ) (local.get $3) ) ) - (i32.store offset=20 + (i32.store $108 offset=20 (local.get $4) (local.tee $3 (i32.sub - (i32.load offset=20 + (i32.load $108 offset=20 (local.get $4) ) (local.get $3) @@ -1557,9 +1557,9 @@ total (br_if $label$40 (local.get $3) ) - (i32.store offset=16 + (i32.store $108 offset=16 (local.get $4) - (i32.load offset=8 + (i32.load $108 offset=8 (local.get $4) ) ) @@ -1567,11 +1567,11 @@ total (br_if $label$36 (i32.eq (local.tee $3 - (i32.load offset=20 + (i32.load $108 offset=20 (local.get $2) ) ) - (i32.load offset=12 + (i32.load $108 offset=12 (local.get $2) ) ) @@ -1582,17 +1582,17 @@ total ) ) (local.set $5 - (i32.load offset=28 - (i32.load offset=28 + (i32.load $108 offset=28 + (i32.load $108 offset=28 (local.get $2) ) ) ) - (i32.store offset=32 + (i32.store $108 offset=32 (local.get $2) (i32.add (local.tee $6 - (i32.load offset=32 + (i32.load $108 offset=32 (local.get $2) ) ) @@ -1600,23 +1600,23 @@ total ) ) (local.set $5 - (i32.load8_u + (i32.load8_u $108 (i32.add (local.get $5) (local.get $6) ) ) ) - (i32.store offset=20 + (i32.store $108 offset=20 (local.get $2) (i32.add (local.get $3) (i32.const 1) ) ) - (i32.store8 + (i32.store8 $108 (i32.add - (i32.load offset=8 + (i32.load $108 offset=8 (local.get $2) ) (local.get $3) @@ -1627,7 +1627,7 @@ total (local.get $5) (block (local.set $3 - (i32.load offset=20 + (i32.load $108 offset=20 (local.get $2) ) ) @@ -1650,8 +1650,8 @@ total (block $label$42 (br_if $label$42 (i32.eqz - (i32.load offset=44 - (i32.load offset=28 + (i32.load $108 offset=44 + (i32.load $108 offset=28 (local.get $2) ) ) @@ -1660,21 +1660,21 @@ total (br_if $label$42 (i32.le_u (local.tee $4 - (i32.load offset=20 + (i32.load $108 offset=20 (local.get $2) ) ) (local.get $3) ) ) - (i32.store offset=48 + (i32.store $108 offset=48 (local.get $0) (call $fimport$14 - (i32.load offset=48 + (i32.load $108 offset=48 (local.get $0) ) (i32.add - (i32.load offset=8 + (i32.load $108 offset=8 (local.get $2) ) (local.get $3) @@ -1692,7 +1692,7 @@ total ) ) (local.set $3 - (i32.load offset=4 + (i32.load $108 offset=4 (local.get $2) ) ) @@ -1705,20 +1705,20 @@ total ) (br $label$9) ) - (i32.store offset=32 + (i32.store $108 offset=32 (local.get $2) (i32.const 0) ) ) - (i32.store offset=4 + (i32.store $108 offset=4 (local.get $2) (i32.const 91) ) ) (br_if $label$8 (i32.eqz - (i32.load offset=36 - (i32.load offset=28 + (i32.load $108 offset=36 + (i32.load $108 offset=28 (local.get $2) ) ) @@ -1726,7 +1726,7 @@ total ) (local.set $4 (local.tee $3 - (i32.load offset=20 + (i32.load $108 offset=20 (local.get $2) ) ) @@ -1737,7 +1737,7 @@ total (block $label$44 (if (i32.eq - (i32.load offset=12 + (i32.load $108 offset=12 (local.get $2) ) (local.get $3) @@ -1752,21 +1752,21 @@ total ) (br_if $label$47 (i32.eqz - (i32.load offset=44 - (i32.load offset=28 + (i32.load $108 offset=44 + (i32.load $108 offset=28 (local.get $2) ) ) ) ) - (i32.store offset=48 + (i32.store $108 offset=48 (local.get $0) (call $fimport$14 - (i32.load offset=48 + (i32.load $108 offset=48 (local.get $0) ) (i32.add - (i32.load offset=8 + (i32.load $108 offset=8 (local.get $2) ) (local.get $4) @@ -1784,14 +1784,14 @@ total (local.tee $3 (select (local.tee $3 - (i32.load offset=16 + (i32.load $108 offset=16 (local.get $0) ) ) (local.tee $5 - (i32.load offset=20 + (i32.load $108 offset=20 (local.tee $4 - (i32.load offset=28 + (i32.load $108 offset=28 (local.get $0) ) ) @@ -1807,60 +1807,60 @@ total ) (drop (call $fimport$98 - (i32.load offset=12 + (i32.load $108 offset=12 (local.get $0) ) - (i32.load offset=16 + (i32.load $108 offset=16 (local.get $4) ) (local.get $3) ) ) - (i32.store offset=12 + (i32.store $108 offset=12 (local.get $0) (i32.add - (i32.load offset=12 + (i32.load $108 offset=12 (local.get $0) ) (local.get $3) ) ) - (i32.store offset=16 + (i32.store $108 offset=16 (local.tee $4 - (i32.load offset=28 + (i32.load $108 offset=28 (local.get $0) ) ) (i32.add - (i32.load offset=16 + (i32.load $108 offset=16 (local.get $4) ) (local.get $3) ) ) - (i32.store offset=20 + (i32.store $108 offset=20 (local.get $0) (i32.add - (i32.load offset=20 + (i32.load $108 offset=20 (local.get $0) ) (local.get $3) ) ) - (i32.store offset=16 + (i32.store $108 offset=16 (local.get $0) (i32.sub - (i32.load offset=16 + (i32.load $108 offset=16 (local.get $0) ) (local.get $3) ) ) - (i32.store offset=20 + (i32.store $108 offset=20 (local.get $4) (local.tee $3 (i32.sub - (i32.load offset=20 + (i32.load $108 offset=20 (local.get $4) ) (local.get $3) @@ -1870,9 +1870,9 @@ total (br_if $label$48 (local.get $3) ) - (i32.store offset=16 + (i32.store $108 offset=16 (local.get $4) - (i32.load offset=8 + (i32.load $108 offset=8 (local.get $4) ) ) @@ -1880,11 +1880,11 @@ total (br_if $label$44 (i32.eq (local.tee $3 - (i32.load offset=20 + (i32.load $108 offset=20 (local.get $2) ) ) - (i32.load offset=12 + (i32.load $108 offset=12 (local.get $2) ) ) @@ -1895,17 +1895,17 @@ total ) ) (local.set $5 - (i32.load offset=36 - (i32.load offset=28 + (i32.load $108 offset=36 + (i32.load $108 offset=28 (local.get $2) ) ) ) - (i32.store offset=32 + (i32.store $108 offset=32 (local.get $2) (i32.add (local.tee $6 - (i32.load offset=32 + (i32.load $108 offset=32 (local.get $2) ) ) @@ -1913,23 +1913,23 @@ total ) ) (local.set $5 - (i32.load8_u + (i32.load8_u $108 (i32.add (local.get $5) (local.get $6) ) ) ) - (i32.store offset=20 + (i32.store $108 offset=20 (local.get $2) (i32.add (local.get $3) (i32.const 1) ) ) - (i32.store8 + (i32.store8 $108 (i32.add - (i32.load offset=8 + (i32.load $108 offset=8 (local.get $2) ) (local.get $3) @@ -1940,7 +1940,7 @@ total (local.get $5) (block (local.set $3 - (i32.load offset=20 + (i32.load $108 offset=20 (local.get $2) ) ) @@ -1963,8 +1963,8 @@ total (block $label$50 (br_if $label$50 (i32.eqz - (i32.load offset=44 - (i32.load offset=28 + (i32.load $108 offset=44 + (i32.load $108 offset=28 (local.get $2) ) ) @@ -1973,21 +1973,21 @@ total (br_if $label$50 (i32.le_u (local.tee $4 - (i32.load offset=20 + (i32.load $108 offset=20 (local.get $2) ) ) (local.get $3) ) ) - (i32.store offset=48 + (i32.store $108 offset=48 (local.get $0) (call $fimport$14 - (i32.load offset=48 + (i32.load $108 offset=48 (local.get $0) ) (i32.add - (i32.load offset=8 + (i32.load $108 offset=8 (local.get $2) ) (local.get $3) @@ -2005,7 +2005,7 @@ total ) ) (local.set $3 - (i32.load offset=4 + (i32.load $108 offset=4 (local.get $2) ) ) @@ -2018,14 +2018,14 @@ total ) (br $label$6) ) - (i32.store offset=4 + (i32.store $108 offset=4 (local.get $2) (i32.const 103) ) ) (if - (i32.load offset=44 - (i32.load offset=28 + (i32.load $108 offset=44 + (i32.load $108 offset=28 (local.get $2) ) ) @@ -2033,11 +2033,11 @@ total (block $label$52 (br_if $label$52 (i32.ge_u - (i32.load offset=12 + (i32.load $108 offset=12 (local.get $2) ) (i32.add - (i32.load offset=20 + (i32.load $108 offset=20 (local.get $2) ) (i32.const 2) @@ -2049,14 +2049,14 @@ total (local.tee $3 (select (local.tee $3 - (i32.load offset=16 + (i32.load $108 offset=16 (local.get $0) ) ) (local.tee $5 - (i32.load offset=20 + (i32.load $108 offset=20 (local.tee $4 - (i32.load offset=28 + (i32.load $108 offset=28 (local.get $0) ) ) @@ -2072,60 +2072,60 @@ total ) (drop (call $fimport$98 - (i32.load offset=12 + (i32.load $108 offset=12 (local.get $0) ) - (i32.load offset=16 + (i32.load $108 offset=16 (local.get $4) ) (local.get $3) ) ) - (i32.store offset=12 + (i32.store $108 offset=12 (local.get $0) (i32.add - (i32.load offset=12 + (i32.load $108 offset=12 (local.get $0) ) (local.get $3) ) ) - (i32.store offset=16 + (i32.store $108 offset=16 (local.tee $4 - (i32.load offset=28 + (i32.load $108 offset=28 (local.get $0) ) ) (i32.add - (i32.load offset=16 + (i32.load $108 offset=16 (local.get $4) ) (local.get $3) ) ) - (i32.store offset=20 + (i32.store $108 offset=20 (local.get $0) (i32.add - (i32.load offset=20 + (i32.load $108 offset=20 (local.get $0) ) (local.get $3) ) ) - (i32.store offset=16 + (i32.store $108 offset=16 (local.get $0) (i32.sub - (i32.load offset=16 + (i32.load $108 offset=16 (local.get $0) ) (local.get $3) ) ) - (i32.store offset=20 + (i32.store $108 offset=20 (local.get $4) (local.tee $3 (i32.sub - (i32.load offset=20 + (i32.load $108 offset=20 (local.get $4) ) (local.get $3) @@ -2135,21 +2135,21 @@ total (br_if $label$52 (local.get $3) ) - (i32.store offset=16 + (i32.store $108 offset=16 (local.get $4) - (i32.load offset=8 + (i32.load $108 offset=8 (local.get $4) ) ) ) (br_if $label$6 (i32.lt_u - (i32.load offset=12 + (i32.load $108 offset=12 (local.get $2) ) (i32.add (local.tee $3 - (i32.load offset=20 + (i32.load $108 offset=20 (local.get $2) ) ) @@ -2158,20 +2158,20 @@ total ) ) (local.set $4 - (i32.load offset=48 + (i32.load $108 offset=48 (local.get $0) ) ) - (i32.store offset=20 + (i32.store $108 offset=20 (local.get $2) (i32.add (local.get $3) (i32.const 1) ) ) - (i32.store8 + (i32.store8 $108 (i32.add - (i32.load offset=8 + (i32.load $108 offset=8 (local.get $2) ) (local.get $3) @@ -2179,25 +2179,25 @@ total (local.get $4) ) (local.set $3 - (i32.load offset=48 + (i32.load $108 offset=48 (local.get $0) ) ) - (i32.store offset=20 + (i32.store $108 offset=20 (local.get $2) (i32.add (local.tee $4 - (i32.load offset=20 + (i32.load $108 offset=20 (local.get $2) ) ) (i32.const 1) ) ) - (i32.store8 + (i32.store8 $108 (i32.add (local.get $4) - (i32.load offset=8 + (i32.load $108 offset=8 (local.get $2) ) ) @@ -2206,7 +2206,7 @@ total (i32.const 8) ) ) - (i32.store offset=48 + (i32.store $108 offset=48 (local.get $0) (call $fimport$14 (i32.const 0) @@ -2214,21 +2214,21 @@ total (i32.const 0) ) ) - (i32.store offset=4 + (i32.store $108 offset=4 (local.get $2) (i32.const 113) ) (br $label$6) ) ) - (i32.store offset=4 + (i32.store $108 offset=4 (local.get $2) (i32.const 113) ) ) (block $label$53 (if - (i32.load offset=20 + (i32.load $108 offset=20 (local.get $2) ) (block @@ -2238,14 +2238,14 @@ total (local.tee $3 (select (local.tee $5 - (i32.load offset=16 + (i32.load $108 offset=16 (local.get $0) ) ) (local.tee $3 - (i32.load offset=20 + (i32.load $108 offset=20 (local.tee $4 - (i32.load offset=28 + (i32.load $108 offset=28 (local.get $0) ) ) @@ -2261,62 +2261,62 @@ total ) (drop (call $fimport$98 - (i32.load offset=12 + (i32.load $108 offset=12 (local.get $0) ) - (i32.load offset=16 + (i32.load $108 offset=16 (local.get $4) ) (local.get $3) ) ) - (i32.store offset=12 + (i32.store $108 offset=12 (local.get $0) (i32.add - (i32.load offset=12 + (i32.load $108 offset=12 (local.get $0) ) (local.get $3) ) ) - (i32.store offset=16 + (i32.store $108 offset=16 (local.tee $4 - (i32.load offset=28 + (i32.load $108 offset=28 (local.get $0) ) ) (i32.add - (i32.load offset=16 + (i32.load $108 offset=16 (local.get $4) ) (local.get $3) ) ) - (i32.store offset=20 + (i32.store $108 offset=20 (local.get $0) (i32.add - (i32.load offset=20 + (i32.load $108 offset=20 (local.get $0) ) (local.get $3) ) ) - (i32.store offset=16 + (i32.store $108 offset=16 (local.get $0) (local.tee $5 (i32.sub - (i32.load offset=16 + (i32.load $108 offset=16 (local.get $0) ) (local.get $3) ) ) ) - (i32.store offset=20 + (i32.store $108 offset=20 (local.get $4) (local.tee $3 (i32.sub - (i32.load offset=20 + (i32.load $108 offset=20 (local.get $4) ) (local.get $3) @@ -2326,9 +2326,9 @@ total (br_if $label$55 (local.get $3) ) - (i32.store offset=16 + (i32.store $108 offset=16 (local.get $4) - (i32.load offset=8 + (i32.load $108 offset=8 (local.get $4) ) ) @@ -2352,14 +2352,14 @@ total ) ) (br_if $label$53 - (i32.load offset=4 + (i32.load $108 offset=4 (local.get $0) ) ) (br $folding-inner0) ) (local.set $3 - (i32.load offset=4 + (i32.load $108 offset=4 (local.get $0) ) ) @@ -2369,7 +2369,7 @@ total (if (i32.eq (local.tee $4 - (i32.load offset=4 + (i32.load $108 offset=4 (local.get $2) ) ) @@ -2403,7 +2403,7 @@ total ) (br_if $label$56 (i32.eqz - (i32.load offset=116 + (i32.load $108 offset=116 (local.get $2) ) ) @@ -2418,7 +2418,7 @@ total (if (i32.ne (local.tee $3 - (i32.load offset=136 + (i32.load $108 offset=136 (local.get $2) ) ) @@ -2449,10 +2449,10 @@ total (call_indirect (type $2) (local.get $2) (local.get $1) - (i32.load + (i32.load $108 (i32.add (i32.mul - (i32.load offset=132 + (i32.load $108 offset=132 (local.get $2) ) (i32.const 12) @@ -2467,7 +2467,7 @@ total ) (i32.const 3) ) - (i32.store offset=4 + (i32.store $108 offset=4 (local.get $2) (i32.const 666) ) @@ -2484,7 +2484,7 @@ total (i32.const 0) ) (br_if $label$1 - (i32.load offset=16 + (i32.load $108 offset=16 (local.get $0) ) ) @@ -2528,17 +2528,17 @@ total (i32.const 3) ) ) - (i32.store16 + (i32.store16 $108 (i32.add (local.tee $3 - (i32.load offset=68 + (i32.load $108 offset=68 (local.get $2) ) ) (local.tee $4 (i32.sub (i32.shl - (i32.load offset=76 + (i32.load $108 offset=76 (local.get $2) ) (i32.const 1) @@ -2557,15 +2557,15 @@ total ) ) (br_if $label$65 - (i32.load offset=116 + (i32.load $108 offset=116 (local.get $2) ) ) - (i32.store offset=92 + (i32.store $108 offset=92 (local.get $2) (i32.const 0) ) - (i32.store offset=108 + (i32.store $108 offset=108 (local.get $2) (i32.const 0) ) @@ -2576,14 +2576,14 @@ total (local.tee $3 (select (local.tee $5 - (i32.load offset=16 + (i32.load $108 offset=16 (local.get $0) ) ) (local.tee $3 - (i32.load offset=20 + (i32.load $108 offset=20 (local.tee $4 - (i32.load offset=28 + (i32.load $108 offset=28 (local.get $0) ) ) @@ -2599,62 +2599,62 @@ total ) (drop (call $fimport$98 - (i32.load offset=12 + (i32.load $108 offset=12 (local.get $0) ) - (i32.load offset=16 + (i32.load $108 offset=16 (local.get $4) ) (local.get $3) ) ) - (i32.store offset=12 + (i32.store $108 offset=12 (local.get $0) (i32.add - (i32.load offset=12 + (i32.load $108 offset=12 (local.get $0) ) (local.get $3) ) ) - (i32.store offset=16 + (i32.store $108 offset=16 (local.tee $4 - (i32.load offset=28 + (i32.load $108 offset=28 (local.get $0) ) ) (i32.add - (i32.load offset=16 + (i32.load $108 offset=16 (local.get $4) ) (local.get $3) ) ) - (i32.store offset=20 + (i32.store $108 offset=20 (local.get $0) (i32.add - (i32.load offset=20 + (i32.load $108 offset=20 (local.get $0) ) (local.get $3) ) ) - (i32.store offset=16 + (i32.store $108 offset=16 (local.get $0) (local.tee $5 (i32.sub - (i32.load offset=16 + (i32.load $108 offset=16 (local.get $0) ) (local.get $3) ) ) ) - (i32.store offset=20 + (i32.store $108 offset=20 (local.get $4) (local.tee $3 (i32.sub - (i32.load offset=20 + (i32.load $108 offset=20 (local.get $4) ) (local.get $3) @@ -2664,9 +2664,9 @@ total (br_if $label$67 (local.get $3) ) - (i32.store offset=16 + (i32.store $108 offset=16 (local.get $4) - (i32.load offset=8 + (i32.load $108 offset=8 (local.get $4) ) ) @@ -2691,7 +2691,7 @@ total (br_if $label$1 (i32.le_s (local.tee $4 - (i32.load offset=24 + (i32.load $108 offset=24 (local.get $2) ) ) @@ -2699,11 +2699,11 @@ total ) ) (local.set $1 - (i32.load offset=48 + (i32.load $108 offset=48 (local.get $0) ) ) - (i32.store8 + (i32.store8 $108 (block $label$68 (result i32) (if (i32.eq @@ -2711,46 +2711,46 @@ total (i32.const 2) ) (block - (i32.store offset=20 + (i32.store $108 offset=20 (local.get $2) (i32.add (local.tee $3 - (i32.load offset=20 + (i32.load $108 offset=20 (local.get $2) ) ) (i32.const 1) ) ) - (i32.store8 + (i32.store8 $108 (i32.add (local.get $3) - (i32.load offset=8 + (i32.load $108 offset=8 (local.get $2) ) ) (local.get $1) ) (local.set $1 - (i32.load offset=48 + (i32.load $108 offset=48 (local.get $0) ) ) - (i32.store offset=20 + (i32.store $108 offset=20 (local.get $2) (i32.add (local.tee $3 - (i32.load offset=20 + (i32.load $108 offset=20 (local.get $2) ) ) (i32.const 1) ) ) - (i32.store8 + (i32.store8 $108 (i32.add (local.get $3) - (i32.load offset=8 + (i32.load $108 offset=8 (local.get $2) ) ) @@ -2760,100 +2760,100 @@ total ) ) (local.set $1 - (i32.load16_u offset=50 + (i32.load16_u $108 offset=50 (local.get $0) ) ) - (i32.store offset=20 + (i32.store $108 offset=20 (local.get $2) (i32.add (local.tee $3 - (i32.load offset=20 + (i32.load $108 offset=20 (local.get $2) ) ) (i32.const 1) ) ) - (i32.store8 + (i32.store8 $108 (i32.add (local.get $3) - (i32.load offset=8 + (i32.load $108 offset=8 (local.get $2) ) ) (local.get $1) ) (local.set $1 - (i32.load8_u offset=51 + (i32.load8_u $108 offset=51 (local.get $0) ) ) - (i32.store offset=20 + (i32.store $108 offset=20 (local.get $2) (i32.add (local.tee $3 - (i32.load offset=20 + (i32.load $108 offset=20 (local.get $2) ) ) (i32.const 1) ) ) - (i32.store8 + (i32.store8 $108 (i32.add (local.get $3) - (i32.load offset=8 + (i32.load $108 offset=8 (local.get $2) ) ) (local.get $1) ) (local.set $1 - (i32.load offset=8 + (i32.load $108 offset=8 (local.get $0) ) ) - (i32.store offset=20 + (i32.store $108 offset=20 (local.get $2) (i32.add (local.tee $3 - (i32.load offset=20 + (i32.load $108 offset=20 (local.get $2) ) ) (i32.const 1) ) ) - (i32.store8 + (i32.store8 $108 (i32.add (local.get $3) - (i32.load offset=8 + (i32.load $108 offset=8 (local.get $2) ) ) (local.get $1) ) (local.set $1 - (i32.load offset=8 + (i32.load $108 offset=8 (local.get $0) ) ) - (i32.store offset=20 + (i32.store $108 offset=20 (local.get $2) (i32.add (local.tee $3 - (i32.load offset=20 + (i32.load $108 offset=20 (local.get $2) ) ) (i32.const 1) ) ) - (i32.store8 + (i32.store8 $108 (i32.add (local.get $3) - (i32.load offset=8 + (i32.load $108 offset=8 (local.get $2) ) ) @@ -2863,40 +2863,40 @@ total ) ) (local.set $1 - (i32.load16_u offset=10 + (i32.load16_u $108 offset=10 (local.get $0) ) ) - (i32.store offset=20 + (i32.store $108 offset=20 (local.get $2) (i32.add (local.tee $3 - (i32.load offset=20 + (i32.load $108 offset=20 (local.get $2) ) ) (i32.const 1) ) ) - (i32.store8 + (i32.store8 $108 (i32.add (local.get $3) - (i32.load offset=8 + (i32.load $108 offset=8 (local.get $2) ) ) (local.get $1) ) (local.set $3 - (i32.load8_u offset=11 + (i32.load8_u $108 offset=11 (local.get $0) ) ) - (i32.store offset=20 + (i32.store $108 offset=20 (local.get $2) (i32.add (local.tee $1 - (i32.load offset=20 + (i32.load $108 offset=20 (local.get $2) ) ) @@ -2906,28 +2906,28 @@ total (br $label$68 (i32.add (local.get $1) - (i32.load offset=8 + (i32.load $108 offset=8 (local.get $2) ) ) ) ) ) - (i32.store offset=20 + (i32.store $108 offset=20 (local.get $2) (i32.add (local.tee $3 - (i32.load offset=20 + (i32.load $108 offset=20 (local.get $2) ) ) (i32.const 1) ) ) - (i32.store8 + (i32.store8 $108 (i32.add (local.get $3) - (i32.load offset=8 + (i32.load $108 offset=8 (local.get $2) ) ) @@ -2936,21 +2936,21 @@ total (i32.const 24) ) ) - (i32.store offset=20 + (i32.store $108 offset=20 (local.get $2) (i32.add (local.tee $3 - (i32.load offset=20 + (i32.load $108 offset=20 (local.get $2) ) ) (i32.const 1) ) ) - (i32.store8 + (i32.store8 $108 (i32.add (local.get $3) - (i32.load offset=8 + (i32.load $108 offset=8 (local.get $2) ) ) @@ -2960,25 +2960,25 @@ total ) ) (local.set $3 - (i32.load offset=48 + (i32.load $108 offset=48 (local.get $0) ) ) - (i32.store offset=20 + (i32.store $108 offset=20 (local.get $2) (i32.add (local.tee $1 - (i32.load offset=20 + (i32.load $108 offset=20 (local.get $2) ) ) (i32.const 1) ) ) - (i32.store8 + (i32.store8 $108 (i32.add (local.get $1) - (i32.load offset=8 + (i32.load $108 offset=8 (local.get $2) ) ) @@ -2987,11 +2987,11 @@ total (i32.const 8) ) ) - (i32.store offset=20 + (i32.store $108 offset=20 (local.get $2) (i32.add (local.tee $1 - (i32.load offset=20 + (i32.load $108 offset=20 (local.get $2) ) ) @@ -3000,7 +3000,7 @@ total ) (i32.add (local.get $1) - (i32.load offset=8 + (i32.load $108 offset=8 (local.get $2) ) ) @@ -3013,14 +3013,14 @@ total (local.tee $1 (select (local.tee $1 - (i32.load offset=16 + (i32.load $108 offset=16 (local.get $0) ) ) (local.tee $4 - (i32.load offset=20 + (i32.load $108 offset=20 (local.tee $3 - (i32.load offset=28 + (i32.load $108 offset=28 (local.get $0) ) ) @@ -3036,60 +3036,60 @@ total ) (drop (call $fimport$98 - (i32.load offset=12 + (i32.load $108 offset=12 (local.get $0) ) - (i32.load offset=16 + (i32.load $108 offset=16 (local.get $3) ) (local.get $1) ) ) - (i32.store offset=12 + (i32.store $108 offset=12 (local.get $0) (i32.add - (i32.load offset=12 + (i32.load $108 offset=12 (local.get $0) ) (local.get $1) ) ) - (i32.store offset=16 + (i32.store $108 offset=16 (local.tee $3 - (i32.load offset=28 + (i32.load $108 offset=28 (local.get $0) ) ) (i32.add - (i32.load offset=16 + (i32.load $108 offset=16 (local.get $3) ) (local.get $1) ) ) - (i32.store offset=20 + (i32.store $108 offset=20 (local.get $0) (i32.add - (i32.load offset=20 + (i32.load $108 offset=20 (local.get $0) ) (local.get $1) ) ) - (i32.store offset=16 + (i32.store $108 offset=16 (local.get $0) (i32.sub - (i32.load offset=16 + (i32.load $108 offset=16 (local.get $0) ) (local.get $1) ) ) - (i32.store offset=20 + (i32.store $108 offset=20 (local.get $3) (local.tee $0 (i32.sub - (i32.load offset=20 + (i32.load $108 offset=20 (local.get $3) ) (local.get $1) @@ -3099,9 +3099,9 @@ total (br_if $label$70 (local.get $0) ) - (i32.store offset=16 + (i32.store $108 offset=16 (local.get $3) - (i32.load offset=8 + (i32.load $108 offset=8 (local.get $3) ) ) @@ -3109,13 +3109,13 @@ total (if (i32.gt_s (local.tee $0 - (i32.load offset=24 + (i32.load $108 offset=24 (local.get $2) ) ) (i32.const 0) ) - (i32.store offset=24 + (i32.store $108 offset=24 (local.get $2) (i32.sub (i32.const 0) @@ -3125,7 +3125,7 @@ total ) (local.set $3 (i32.eqz - (i32.load offset=20 + (i32.load $108 offset=20 (local.get $2) ) ) @@ -3135,9 +3135,9 @@ total (local.get $3) ) ) - (i32.store offset=24 + (i32.store $108 offset=24 (local.get $0) - (i32.load + (i32.load $108 (i32.const 17004) ) ) @@ -3145,7 +3145,7 @@ total (i32.const -5) ) ) - (i32.store offset=40 + (i32.store $108 offset=40 (local.get $2) (i32.const -1) ) diff --git a/test/passes/converge_O3_metrics.bin.txt b/test/passes/converge_O3_metrics.bin.txt index 4a2d8a5c18b..fe99103bd9d 100644 --- a/test/passes/converge_O3_metrics.bin.txt +++ b/test/passes/converge_O3_metrics.bin.txt @@ -60,7 +60,7 @@ total ) (loop $label$3 (br_if $label$3 - (i32.load8_s + (i32.load8_s $mimport$0 (local.tee $0 (i32.add (local.get $0) @@ -71,11 +71,11 @@ total ) ) (local.set $1 - (i32.load offset=24 + (i32.load $mimport$0 offset=24 (i32.add - (i32.load + (i32.load $mimport$0 (i32.sub - (i32.load + (i32.load $mimport$0 (i32.const 18100) ) (i32.const 12) @@ -99,8 +99,8 @@ total (i32.const 10888) (local.get $0) (i32.add - (i32.load offset=48 - (i32.load + (i32.load $mimport$0 offset=48 + (i32.load $mimport$0 (local.get $1) ) ) @@ -113,14 +113,14 @@ total (block $label$1 (br_if $label$1 (if (result i32) - (i32.load + (i32.load $mimport$0 (i32.add (local.tee $0 - (i32.load + (i32.load $mimport$0 (i32.add - (i32.load + (i32.load $mimport$0 (i32.sub - (i32.load + (i32.load $mimport$0 (i32.const 18100) ) (i32.const 12) @@ -138,8 +138,8 @@ total (local.get $0) (i32.const 10) (i32.add - (i32.load offset=52 - (i32.load + (i32.load $mimport$0 offset=52 + (i32.load $mimport$0 (local.get $0) ) ) @@ -155,21 +155,21 @@ total (global.set $global$0 (i32.const 32) ) - (i32.store + (i32.store $mimport$0 (i32.const 8) (local.get $1) ) - (i32.store + (i32.store $mimport$0 (i32.const 12) (local.get $2) ) - (i32.store + (i32.store $mimport$0 (local.tee $0 (i32.const 32) ) (i32.const 1) ) - (i32.store offset=8 + (i32.store $mimport$0 offset=8 (local.get $0) (i32.const 2) ) @@ -182,7 +182,7 @@ total (i32.const 1) ) (func $__ZNSt3__211__stdoutbufIcE8overflowEi (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) - (i32.store8 + (i32.store8 $mimport$0 (i32.const 0) (local.get $1) ) @@ -192,8 +192,8 @@ total (i32.const 0) (i32.const 1) (i32.add - (i32.load offset=36 - (i32.load + (i32.load $mimport$0 offset=36 + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 32) @@ -213,8 +213,8 @@ total (local.get $1) (local.get $2) (i32.add - (i32.load offset=36 - (i32.load offset=32 + (i32.load $mimport$0 offset=36 + (i32.load $mimport$0 offset=32 (local.get $0) ) ) @@ -285,7 +285,7 @@ total ) (loop $label$3 (br_if $label$3 - (i32.load8_s + (i32.load8_s $mimport$0 (local.tee $0 (i32.add (local.get $0) @@ -296,11 +296,11 @@ total ) ) (local.set $1 - (i32.load offset=24 + (i32.load $mimport$0 offset=24 (i32.add - (i32.load + (i32.load $mimport$0 (i32.sub - (i32.load + (i32.load $mimport$0 (i32.const 18100) ) (i32.const 12) @@ -324,8 +324,8 @@ total (i32.const 10888) (local.get $0) (i32.add - (i32.load offset=48 - (i32.load + (i32.load $mimport$0 offset=48 + (i32.load $mimport$0 (local.get $1) ) ) @@ -338,14 +338,14 @@ total (block $label$1 (br_if $label$1 (if (result i32) - (i32.load + (i32.load $mimport$0 (i32.add (local.tee $0 - (i32.load + (i32.load $mimport$0 (i32.add - (i32.load + (i32.load $mimport$0 (i32.sub - (i32.load + (i32.load $mimport$0 (i32.const 18100) ) (i32.const 12) @@ -363,8 +363,8 @@ total (local.get $0) (i32.const 10) (i32.add - (i32.load offset=52 - (i32.load + (i32.load $mimport$0 offset=52 + (i32.load $mimport$0 (local.get $0) ) ) @@ -377,19 +377,19 @@ total (i32.const 0) ) (func $___stdout_write (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (i32.store + (i32.store $mimport$0 (i32.const 8) (local.get $1) ) - (i32.store + (i32.store $mimport$0 (i32.const 12) (local.get $2) ) - (i32.store + (i32.store $mimport$0 (i32.const 32) (i32.const 1) ) - (i32.store + (i32.store $mimport$0 (i32.const 40) (i32.const 2) ) @@ -402,7 +402,7 @@ total (i32.const 1) ) (func $__ZNSt3__211__stdoutbufIcE8overflowEi (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) - (i32.store8 + (i32.store8 $mimport$0 (i32.const 0) (local.get $1) ) @@ -412,8 +412,8 @@ total (i32.const 0) (i32.const 1) (i32.add - (i32.load offset=36 - (i32.load + (i32.load $mimport$0 offset=36 + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 32) @@ -433,8 +433,8 @@ total (local.get $1) (local.get $2) (i32.add - (i32.load offset=36 - (i32.load offset=32 + (i32.load $mimport$0 offset=36 + (i32.load $mimport$0 offset=32 (local.get $0) ) ) @@ -505,7 +505,7 @@ total ) (loop $label$3 (br_if $label$3 - (i32.load8_s + (i32.load8_s $mimport$0 (local.tee $0 (i32.add (local.get $0) @@ -516,11 +516,11 @@ total ) ) (local.set $1 - (i32.load offset=24 + (i32.load $mimport$0 offset=24 (i32.add - (i32.load + (i32.load $mimport$0 (i32.sub - (i32.load + (i32.load $mimport$0 (i32.const 18100) ) (i32.const 12) @@ -544,8 +544,8 @@ total (i32.const 10888) (local.get $0) (i32.add - (i32.load offset=48 - (i32.load + (i32.load $mimport$0 offset=48 + (i32.load $mimport$0 (local.get $1) ) ) @@ -558,14 +558,14 @@ total (block $label$1 (br_if $label$1 (if (result i32) - (i32.load + (i32.load $mimport$0 (i32.add (local.tee $0 - (i32.load + (i32.load $mimport$0 (i32.add - (i32.load + (i32.load $mimport$0 (i32.sub - (i32.load + (i32.load $mimport$0 (i32.const 18100) ) (i32.const 12) @@ -583,8 +583,8 @@ total (local.get $0) (i32.const 10) (i32.add - (i32.load offset=52 - (i32.load + (i32.load $mimport$0 offset=52 + (i32.load $mimport$0 (local.get $0) ) ) @@ -597,19 +597,19 @@ total (i32.const 0) ) (func $___stdout_write (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (i32.store + (i32.store $mimport$0 (i32.const 8) (local.get $1) ) - (i32.store + (i32.store $mimport$0 (i32.const 12) (local.get $2) ) - (i32.store + (i32.store $mimport$0 (i32.const 32) (i32.const 1) ) - (i32.store + (i32.store $mimport$0 (i32.const 40) (i32.const 2) ) @@ -622,7 +622,7 @@ total (i32.const 1) ) (func $__ZNSt3__211__stdoutbufIcE8overflowEi (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) - (i32.store8 + (i32.store8 $mimport$0 (i32.const 0) (local.get $1) ) @@ -632,8 +632,8 @@ total (i32.const 0) (i32.const 1) (i32.add - (i32.load offset=36 - (i32.load + (i32.load $mimport$0 offset=36 + (i32.load $mimport$0 (i32.add (local.get $0) (i32.const 32) @@ -653,8 +653,8 @@ total (local.get $1) (local.get $2) (i32.add - (i32.load offset=36 - (i32.load offset=32 + (i32.load $mimport$0 offset=36 + (i32.load $mimport$0 offset=32 (local.get $0) ) ) diff --git a/test/passes/duplicate-function-elimination_optimize-level=1.txt b/test/passes/duplicate-function-elimination_optimize-level=1.txt index c5f9b268e34..7c3e0c52c14 100644 --- a/test/passes/duplicate-function-elimination_optimize-level=1.txt +++ b/test/passes/duplicate-function-elimination_optimize-level=1.txt @@ -495,12 +495,12 @@ (memory $0 10) (func $erase (drop - (i32.load + (i32.load $0 (i32.const 0) ) ) (drop - (i32.load16_s offset=3 + (i32.load16_s $0 offset=3 (i32.const 0) ) ) @@ -511,14 +511,14 @@ (memory $0 10) (func $keep2 (drop - (i32.load offset=3 + (i32.load $0 offset=3 (i32.const 0) ) ) ) (func $other (drop - (i32.load16_s offset=3 + (i32.load16_s $0 offset=3 (i32.const 0) ) ) @@ -529,14 +529,14 @@ (memory $0 10) (func $keep2 (drop - (i32.load16_s offset=3 + (i32.load16_s $0 offset=3 (i32.const 0) ) ) ) (func $other (drop - (i32.load16_s offset=3 align=1 + (i32.load16_s $0 offset=3 align=1 (i32.const 0) ) ) @@ -547,14 +547,14 @@ (memory $0 10) (func $keep2 (drop - (i32.load16_s + (i32.load16_s $0 (i32.const 0) ) ) ) (func $other (drop - (i32.load16_s offset=3 + (i32.load16_s $0 offset=3 (i32.const 0) ) ) @@ -565,14 +565,14 @@ (memory $0 10) (func $keep2 (drop - (i32.load16_s offset=3 + (i32.load16_s $0 offset=3 (i32.const 0) ) ) ) (func $other (drop - (i32.load16_s offset=3 + (i32.load16_s $0 offset=3 (i32.const 1) ) ) @@ -583,14 +583,14 @@ (memory $0 10) (func $keep2 (drop - (i32.load16_u offset=3 + (i32.load16_u $0 offset=3 (i32.const 0) ) ) ) (func $other (drop - (i32.load16_s offset=3 + (i32.load16_s $0 offset=3 (i32.const 0) ) ) @@ -600,11 +600,11 @@ (type $0 (func)) (memory $0 10) (func $erase - (i32.store + (i32.store $0 (i32.const 0) (i32.const 100) ) - (i32.store16 offset=3 + (i32.store16 $0 offset=3 (i32.const 0) (i32.const 100) ) @@ -614,13 +614,13 @@ (type $0 (func)) (memory $0 10) (func $keep2 - (i32.store offset=3 + (i32.store $0 offset=3 (i32.const 0) (i32.const 100) ) ) (func $other - (i32.store16 offset=3 + (i32.store16 $0 offset=3 (i32.const 0) (i32.const 100) ) @@ -630,13 +630,13 @@ (type $0 (func)) (memory $0 10) (func $keep2 - (i32.store16 offset=3 + (i32.store16 $0 offset=3 (i32.const 0) (i32.const 100) ) ) (func $other - (i32.store16 offset=3 align=1 + (i32.store16 $0 offset=3 align=1 (i32.const 0) (i32.const 100) ) @@ -646,13 +646,13 @@ (type $0 (func)) (memory $0 10) (func $keep2 - (i32.store16 + (i32.store16 $0 (i32.const 0) (i32.const 100) ) ) (func $other - (i32.store16 offset=3 + (i32.store16 $0 offset=3 (i32.const 0) (i32.const 100) ) @@ -662,13 +662,13 @@ (type $0 (func)) (memory $0 10) (func $keep2 - (i32.store16 offset=3 + (i32.store16 $0 offset=3 (i32.const 0) (i32.const 100) ) ) (func $other - (i32.store16 offset=3 + (i32.store16 $0 offset=3 (i32.const 1) (i32.const 100) ) @@ -678,13 +678,13 @@ (type $0 (func)) (memory $0 10) (func $keep2 - (i32.store16 offset=3 + (i32.store16 $0 offset=3 (i32.const 0) (i32.const 100) ) ) (func $other - (i32.store16 offset=3 + (i32.store16 $0 offset=3 (i32.const 0) (i32.const 101) ) @@ -1007,7 +1007,7 @@ (memory $0 0) (func $erase (drop - (memory.size) + (memory.size $0) ) ) ) @@ -1016,7 +1016,7 @@ (memory $0 0) (func $erase (drop - (memory.grow + (memory.grow $0 (i32.const 10) ) ) @@ -1027,14 +1027,14 @@ (memory $0 0) (func $keep (drop - (memory.grow + (memory.grow $0 (i32.const 10) ) ) ) (func $other (drop - (memory.grow + (memory.grow $0 (i32.const 11) ) ) @@ -1045,12 +1045,12 @@ (memory $0 0) (func $keep (drop - (memory.size) + (memory.size $0) ) ) (func $other (drop - (memory.grow + (memory.grow $0 (i32.const 10) ) ) diff --git a/test/passes/duplicate-function-elimination_optimize-level=2.txt b/test/passes/duplicate-function-elimination_optimize-level=2.txt index 0ab205f10ca..1c68bbb86bc 100644 --- a/test/passes/duplicate-function-elimination_optimize-level=2.txt +++ b/test/passes/duplicate-function-elimination_optimize-level=2.txt @@ -492,12 +492,12 @@ (memory $0 10) (func $erase (drop - (i32.load + (i32.load $0 (i32.const 0) ) ) (drop - (i32.load16_s offset=3 + (i32.load16_s $0 offset=3 (i32.const 0) ) ) @@ -508,14 +508,14 @@ (memory $0 10) (func $keep2 (drop - (i32.load offset=3 + (i32.load $0 offset=3 (i32.const 0) ) ) ) (func $other (drop - (i32.load16_s offset=3 + (i32.load16_s $0 offset=3 (i32.const 0) ) ) @@ -526,14 +526,14 @@ (memory $0 10) (func $keep2 (drop - (i32.load16_s offset=3 + (i32.load16_s $0 offset=3 (i32.const 0) ) ) ) (func $other (drop - (i32.load16_s offset=3 align=1 + (i32.load16_s $0 offset=3 align=1 (i32.const 0) ) ) @@ -544,14 +544,14 @@ (memory $0 10) (func $keep2 (drop - (i32.load16_s + (i32.load16_s $0 (i32.const 0) ) ) ) (func $other (drop - (i32.load16_s offset=3 + (i32.load16_s $0 offset=3 (i32.const 0) ) ) @@ -562,14 +562,14 @@ (memory $0 10) (func $keep2 (drop - (i32.load16_s offset=3 + (i32.load16_s $0 offset=3 (i32.const 0) ) ) ) (func $other (drop - (i32.load16_s offset=3 + (i32.load16_s $0 offset=3 (i32.const 1) ) ) @@ -580,14 +580,14 @@ (memory $0 10) (func $keep2 (drop - (i32.load16_u offset=3 + (i32.load16_u $0 offset=3 (i32.const 0) ) ) ) (func $other (drop - (i32.load16_s offset=3 + (i32.load16_s $0 offset=3 (i32.const 0) ) ) @@ -597,11 +597,11 @@ (type $0 (func)) (memory $0 10) (func $erase - (i32.store + (i32.store $0 (i32.const 0) (i32.const 100) ) - (i32.store16 offset=3 + (i32.store16 $0 offset=3 (i32.const 0) (i32.const 100) ) @@ -611,13 +611,13 @@ (type $0 (func)) (memory $0 10) (func $keep2 - (i32.store offset=3 + (i32.store $0 offset=3 (i32.const 0) (i32.const 100) ) ) (func $other - (i32.store16 offset=3 + (i32.store16 $0 offset=3 (i32.const 0) (i32.const 100) ) @@ -627,13 +627,13 @@ (type $0 (func)) (memory $0 10) (func $keep2 - (i32.store16 offset=3 + (i32.store16 $0 offset=3 (i32.const 0) (i32.const 100) ) ) (func $other - (i32.store16 offset=3 align=1 + (i32.store16 $0 offset=3 align=1 (i32.const 0) (i32.const 100) ) @@ -643,13 +643,13 @@ (type $0 (func)) (memory $0 10) (func $keep2 - (i32.store16 + (i32.store16 $0 (i32.const 0) (i32.const 100) ) ) (func $other - (i32.store16 offset=3 + (i32.store16 $0 offset=3 (i32.const 0) (i32.const 100) ) @@ -659,13 +659,13 @@ (type $0 (func)) (memory $0 10) (func $keep2 - (i32.store16 offset=3 + (i32.store16 $0 offset=3 (i32.const 0) (i32.const 100) ) ) (func $other - (i32.store16 offset=3 + (i32.store16 $0 offset=3 (i32.const 1) (i32.const 100) ) @@ -675,13 +675,13 @@ (type $0 (func)) (memory $0 10) (func $keep2 - (i32.store16 offset=3 + (i32.store16 $0 offset=3 (i32.const 0) (i32.const 100) ) ) (func $other - (i32.store16 offset=3 + (i32.store16 $0 offset=3 (i32.const 0) (i32.const 101) ) @@ -1004,7 +1004,7 @@ (memory $0 0) (func $erase (drop - (memory.size) + (memory.size $0) ) ) ) @@ -1013,7 +1013,7 @@ (memory $0 0) (func $erase (drop - (memory.grow + (memory.grow $0 (i32.const 10) ) ) @@ -1024,14 +1024,14 @@ (memory $0 0) (func $keep (drop - (memory.grow + (memory.grow $0 (i32.const 10) ) ) ) (func $other (drop - (memory.grow + (memory.grow $0 (i32.const 11) ) ) @@ -1042,12 +1042,12 @@ (memory $0 0) (func $keep (drop - (memory.size) + (memory.size $0) ) ) (func $other (drop - (memory.grow + (memory.grow $0 (i32.const 10) ) ) diff --git a/test/passes/dwarf-local-order.bin.txt b/test/passes/dwarf-local-order.bin.txt index e854507e51e..6b5d12e62bf 100644 --- a/test/passes/dwarf-local-order.bin.txt +++ b/test/passes/dwarf-local-order.bin.txt @@ -54,20 +54,20 @@ (local.set $5 (i32.const 1) ) - (i32.store offset=12 + (i32.store $0 offset=12 (local.get $2) (local.get $5) ) - (f32.store offset=8 + (f32.store $0 offset=8 (local.get $2) (local.get $4) ) - (i32.store offset=4 + (i32.store $0 offset=4 (local.get $2) (local.get $3) ) (local.set $6 - (i32.load offset=12 + (i32.load $0 offset=12 (local.get $2) ) ) @@ -77,7 +77,7 @@ ) ) (local.set $8 - (f32.load offset=8 + (f32.load $0 offset=8 (local.get $2) ) ) @@ -88,7 +88,7 @@ ) ) (local.set $10 - (i32.load offset=4 + (i32.load $0 offset=4 (local.get $2) ) ) @@ -228,21 +228,21 @@ (i32.const 1) ) ;; code offset: 0x53 - (i32.store offset=12 + (i32.store $0 offset=12 ;; code offset: 0x4f (local.get $2) ;; code offset: 0x51 (local.get $5) ) ;; code offset: 0x5a - (f32.store offset=8 + (f32.store $0 offset=8 ;; code offset: 0x56 (local.get $2) ;; code offset: 0x58 (local.get $4) ) ;; code offset: 0x61 - (i32.store offset=4 + (i32.store $0 offset=4 ;; code offset: 0x5d (local.get $2) ;; code offset: 0x5f @@ -251,7 +251,7 @@ ;; code offset: 0x69 (local.set $6 ;; code offset: 0x66 - (i32.load offset=12 + (i32.load $0 offset=12 ;; code offset: 0x64 (local.get $2) ) @@ -267,7 +267,7 @@ ;; code offset: 0x75 (local.set $8 ;; code offset: 0x72 - (f32.load offset=8 + (f32.load $0 offset=8 ;; code offset: 0x70 (local.get $2) ) @@ -285,7 +285,7 @@ ;; code offset: 0x83 (local.set $10 ;; code offset: 0x80 - (i32.load offset=4 + (i32.load $0 offset=4 ;; code offset: 0x7e (local.get $2) ) @@ -447,20 +447,20 @@ (local.set $4 (i32.const 1) ) - (i32.store offset=12 + (i32.store $0 offset=12 (local.get $2) (local.get $4) ) - (f32.store offset=8 + (f32.store $0 offset=8 (local.get $2) (local.get $13) ) - (i32.store offset=4 + (i32.store $0 offset=4 (local.get $2) (local.get $3) ) (local.set $5 - (i32.load offset=12 + (i32.load $0 offset=12 (local.get $2) ) ) @@ -470,7 +470,7 @@ ) ) (local.set $15 - (f32.load offset=8 + (f32.load $0 offset=8 (local.get $2) ) ) @@ -481,7 +481,7 @@ ) ) (local.set $6 - (i32.load offset=4 + (i32.load $0 offset=4 (local.get $2) ) ) @@ -602,20 +602,20 @@ (local.set $4 (i32.const 1) ) - (i32.store offset=12 + (i32.store $0 offset=12 (local.get $2) (local.get $4) ) - (f32.store offset=8 + (f32.store $0 offset=8 (local.get $2) (local.get $13) ) - (i32.store offset=4 + (i32.store $0 offset=4 (local.get $2) (local.get $3) ) (local.set $5 - (i32.load offset=12 + (i32.load $0 offset=12 (local.get $2) ) ) @@ -625,7 +625,7 @@ ) ) (local.set $15 - (f32.load offset=8 + (f32.load $0 offset=8 (local.get $2) ) ) @@ -636,7 +636,7 @@ ) ) (local.set $6 - (i32.load offset=4 + (i32.load $0 offset=4 (local.get $2) ) ) diff --git a/test/passes/fannkuch0_dwarf.bin.txt b/test/passes/fannkuch0_dwarf.bin.txt index aab7c229c2a..18fe26effa1 100644 --- a/test/passes/fannkuch0_dwarf.bin.txt +++ b/test/passes/fannkuch0_dwarf.bin.txt @@ -5485,7 +5485,7 @@ file_names[ 3]: (i32.const 0) ) ;; code offset: 0x20c - (i32.store offset=60 + (i32.store $mimport$0 offset=60 ;; code offset: 0x208 (local.get $3) ;; code offset: 0x20a @@ -5494,20 +5494,20 @@ file_names[ 3]: ;; code offset: 0x214 (local.set $5 ;; code offset: 0x211 - (i32.load offset=60 + (i32.load $mimport$0 offset=60 ;; code offset: 0x20f (local.get $3) ) ) ;; code offset: 0x21a - (i32.store offset=56 + (i32.store $mimport$0 offset=56 ;; code offset: 0x216 (local.get $3) ;; code offset: 0x218 (local.get $5) ) ;; code offset: 0x221 - (i32.store offset=40 + (i32.store $mimport$0 offset=40 ;; code offset: 0x21d (local.get $3) ;; code offset: 0x21f @@ -5516,7 +5516,7 @@ file_names[ 3]: ;; code offset: 0x229 (local.set $6 ;; code offset: 0x226 - (i32.load offset=56 + (i32.load $mimport$0 offset=56 ;; code offset: 0x224 (local.get $3) ) @@ -5524,13 +5524,13 @@ file_names[ 3]: ;; code offset: 0x230 (local.set $7 ;; code offset: 0x22d - (i32.load offset=4 + (i32.load $mimport$0 offset=4 ;; code offset: 0x22b (local.get $6) ) ) ;; code offset: 0x236 - (i32.store offset=28 + (i32.store $mimport$0 offset=28 ;; code offset: 0x232 (local.get $3) ;; code offset: 0x234 @@ -5539,7 +5539,7 @@ file_names[ 3]: ;; code offset: 0x23e (local.set $8 ;; code offset: 0x23b - (i32.load offset=28 + (i32.load $mimport$0 offset=28 ;; code offset: 0x239 (local.get $3) ) @@ -5568,7 +5568,7 @@ file_names[ 3]: ) ) ;; code offset: 0x255 - (i32.store offset=52 + (i32.store $mimport$0 offset=52 ;; code offset: 0x251 (local.get $3) ;; code offset: 0x253 @@ -5577,7 +5577,7 @@ file_names[ 3]: ;; code offset: 0x25d (local.set $12 ;; code offset: 0x25a - (i32.load offset=28 + (i32.load $mimport$0 offset=28 ;; code offset: 0x258 (local.get $3) ) @@ -5606,7 +5606,7 @@ file_names[ 3]: ) ) ;; code offset: 0x274 - (i32.store offset=44 + (i32.store $mimport$0 offset=44 ;; code offset: 0x270 (local.get $3) ;; code offset: 0x272 @@ -5615,7 +5615,7 @@ file_names[ 3]: ;; code offset: 0x27c (local.set $16 ;; code offset: 0x279 - (i32.load offset=28 + (i32.load $mimport$0 offset=28 ;; code offset: 0x277 (local.get $3) ) @@ -5644,14 +5644,14 @@ file_names[ 3]: ) ) ;; code offset: 0x293 - (i32.store offset=48 + (i32.store $mimport$0 offset=48 ;; code offset: 0x28f (local.get $3) ;; code offset: 0x291 (local.get $19) ) ;; code offset: 0x29a - (i32.store offset=32 + (i32.store $mimport$0 offset=32 ;; code offset: 0x296 (local.get $3) ;; code offset: 0x298 @@ -5664,7 +5664,7 @@ file_names[ 3]: ;; code offset: 0x2a6 (local.set $20 ;; code offset: 0x2a3 - (i32.load offset=32 + (i32.load $mimport$0 offset=32 ;; code offset: 0x2a1 (local.get $3) ) @@ -5672,7 +5672,7 @@ file_names[ 3]: ;; code offset: 0x2ad (local.set $21 ;; code offset: 0x2aa - (i32.load offset=28 + (i32.load $mimport$0 offset=28 ;; code offset: 0x2a8 (local.get $3) ) @@ -5723,7 +5723,7 @@ file_names[ 3]: ;; code offset: 0x2d3 (local.set $27 ;; code offset: 0x2d0 - (i32.load offset=32 + (i32.load $mimport$0 offset=32 ;; code offset: 0x2ce (local.get $3) ) @@ -5731,7 +5731,7 @@ file_names[ 3]: ;; code offset: 0x2da (local.set $28 ;; code offset: 0x2d7 - (i32.load offset=52 + (i32.load $mimport$0 offset=52 ;; code offset: 0x2d5 (local.get $3) ) @@ -5739,7 +5739,7 @@ file_names[ 3]: ;; code offset: 0x2e1 (local.set $29 ;; code offset: 0x2de - (i32.load offset=32 + (i32.load $mimport$0 offset=32 ;; code offset: 0x2dc (local.get $3) ) @@ -5770,7 +5770,7 @@ file_names[ 3]: ) ) ;; code offset: 0x2f9 - (i32.store + (i32.store $mimport$0 ;; code offset: 0x2f5 (local.get $32) ;; code offset: 0x2f7 @@ -5779,7 +5779,7 @@ file_names[ 3]: ;; code offset: 0x301 (local.set $33 ;; code offset: 0x2fe - (i32.load offset=32 + (i32.load $mimport$0 offset=32 ;; code offset: 0x2fc (local.get $3) ) @@ -5800,7 +5800,7 @@ file_names[ 3]: ) ) ;; code offset: 0x312 - (i32.store offset=32 + (i32.store $mimport$0 offset=32 ;; code offset: 0x30e (local.get $3) ;; code offset: 0x310 @@ -5813,7 +5813,7 @@ file_names[ 3]: ;; code offset: 0x31f (local.set $36 ;; code offset: 0x31c - (i32.load offset=28 + (i32.load $mimport$0 offset=28 ;; code offset: 0x31a (local.get $3) ) @@ -5836,7 +5836,7 @@ file_names[ 3]: ;; code offset: 0x331 (local.set $39 ;; code offset: 0x32e - (i32.load offset=52 + (i32.load $mimport$0 offset=52 ;; code offset: 0x32c (local.get $3) ) @@ -5844,7 +5844,7 @@ file_names[ 3]: ;; code offset: 0x338 (local.set $40 ;; code offset: 0x335 - (i32.load offset=56 + (i32.load $mimport$0 offset=56 ;; code offset: 0x333 (local.get $3) ) @@ -5852,7 +5852,7 @@ file_names[ 3]: ;; code offset: 0x33f (local.set $41 ;; code offset: 0x33c - (i32.load + (i32.load $mimport$0 ;; code offset: 0x33a (local.get $40) ) @@ -5883,7 +5883,7 @@ file_names[ 3]: ) ) ;; code offset: 0x357 - (i32.store + (i32.store $mimport$0 ;; code offset: 0x353 (local.get $44) ;; code offset: 0x355 @@ -5892,7 +5892,7 @@ file_names[ 3]: ;; code offset: 0x35f (local.set $45 ;; code offset: 0x35c - (i32.load offset=56 + (i32.load $mimport$0 offset=56 ;; code offset: 0x35a (local.get $3) ) @@ -5900,7 +5900,7 @@ file_names[ 3]: ;; code offset: 0x366 (local.set $46 ;; code offset: 0x363 - (i32.load + (i32.load $mimport$0 ;; code offset: 0x361 (local.get $45) ) @@ -5908,7 +5908,7 @@ file_names[ 3]: ;; code offset: 0x36d (local.set $47 ;; code offset: 0x36a - (i32.load offset=52 + (i32.load $mimport$0 offset=52 ;; code offset: 0x368 (local.get $3) ) @@ -5916,7 +5916,7 @@ file_names[ 3]: ;; code offset: 0x374 (local.set $48 ;; code offset: 0x371 - (i32.load offset=28 + (i32.load $mimport$0 offset=28 ;; code offset: 0x36f (local.get $3) ) @@ -5962,7 +5962,7 @@ file_names[ 3]: ) ) ;; code offset: 0x397 - (i32.store + (i32.store $mimport$0 ;; code offset: 0x393 (local.get $53) ;; code offset: 0x395 @@ -5971,13 +5971,13 @@ file_names[ 3]: ;; code offset: 0x39f (local.set $54 ;; code offset: 0x39c - (i32.load offset=28 + (i32.load $mimport$0 offset=28 ;; code offset: 0x39a (local.get $3) ) ) ;; code offset: 0x3a5 - (i32.store offset=24 + (i32.store $mimport$0 offset=24 ;; code offset: 0x3a1 (local.get $3) ;; code offset: 0x3a3 @@ -5997,7 +5997,7 @@ file_names[ 3]: ;; code offset: 0x3b7 (local.set $56 ;; code offset: 0x3b4 - (i32.load offset=24 + (i32.load $mimport$0 offset=24 ;; code offset: 0x3b2 (local.get $3) ) @@ -6048,7 +6048,7 @@ file_names[ 3]: ;; code offset: 0x3dd (local.set $62 ;; code offset: 0x3da - (i32.load offset=24 + (i32.load $mimport$0 offset=24 ;; code offset: 0x3d8 (local.get $3) ) @@ -6056,7 +6056,7 @@ file_names[ 3]: ;; code offset: 0x3e4 (local.set $63 ;; code offset: 0x3e1 - (i32.load offset=48 + (i32.load $mimport$0 offset=48 ;; code offset: 0x3df (local.get $3) ) @@ -6064,7 +6064,7 @@ file_names[ 3]: ;; code offset: 0x3eb (local.set $64 ;; code offset: 0x3e8 - (i32.load offset=24 + (i32.load $mimport$0 offset=24 ;; code offset: 0x3e6 (local.get $3) ) @@ -6110,7 +6110,7 @@ file_names[ 3]: ) ) ;; code offset: 0x40e - (i32.store + (i32.store $mimport$0 ;; code offset: 0x40a (local.get $69) ;; code offset: 0x40c @@ -6119,7 +6119,7 @@ file_names[ 3]: ;; code offset: 0x416 (local.set $70 ;; code offset: 0x413 - (i32.load offset=24 + (i32.load $mimport$0 offset=24 ;; code offset: 0x411 (local.get $3) ) @@ -6140,7 +6140,7 @@ file_names[ 3]: ) ) ;; code offset: 0x427 - (i32.store offset=24 + (i32.store $mimport$0 offset=24 ;; code offset: 0x423 (local.get $3) ;; code offset: 0x425 @@ -6153,7 +6153,7 @@ file_names[ 3]: ;; code offset: 0x434 (local.set $73 ;; code offset: 0x431 - (i32.load offset=52 + (i32.load $mimport$0 offset=52 ;; code offset: 0x42f (local.get $3) ) @@ -6161,7 +6161,7 @@ file_names[ 3]: ;; code offset: 0x43b (local.set $74 ;; code offset: 0x438 - (i32.load + (i32.load $mimport$0 ;; code offset: 0x436 (local.get $73) ) @@ -6179,7 +6179,7 @@ file_names[ 3]: ;; code offset: 0x449 (local.set $75 ;; code offset: 0x446 - (i32.load offset=52 + (i32.load $mimport$0 offset=52 ;; code offset: 0x444 (local.get $3) ) @@ -6187,7 +6187,7 @@ file_names[ 3]: ;; code offset: 0x450 (local.set $76 ;; code offset: 0x44d - (i32.load offset=28 + (i32.load $mimport$0 offset=28 ;; code offset: 0x44b (local.get $3) ) @@ -6235,7 +6235,7 @@ file_names[ 3]: ;; code offset: 0x474 (local.set $82 ;; code offset: 0x471 - (i32.load + (i32.load $mimport$0 ;; code offset: 0x46f (local.get $81) ) @@ -6243,7 +6243,7 @@ file_names[ 3]: ;; code offset: 0x47b (local.set $83 ;; code offset: 0x478 - (i32.load offset=28 + (i32.load $mimport$0 offset=28 ;; code offset: 0x476 (local.get $3) ) @@ -6312,7 +6312,7 @@ file_names[ 3]: (i32.const 0) ) ;; code offset: 0x4af - (i32.store offset=32 + (i32.store $mimport$0 offset=32 ;; code offset: 0x4ab (local.get $3) ;; code offset: 0x4ad @@ -6325,7 +6325,7 @@ file_names[ 3]: ;; code offset: 0x4bb (local.set $92 ;; code offset: 0x4b8 - (i32.load offset=32 + (i32.load $mimport$0 offset=32 ;; code offset: 0x4b6 (local.get $3) ) @@ -6333,7 +6333,7 @@ file_names[ 3]: ;; code offset: 0x4c2 (local.set $93 ;; code offset: 0x4bf - (i32.load offset=28 + (i32.load $mimport$0 offset=28 ;; code offset: 0x4bd (local.get $3) ) @@ -6384,7 +6384,7 @@ file_names[ 3]: ;; code offset: 0x4e8 (local.set $99 ;; code offset: 0x4e5 - (i32.load offset=52 + (i32.load $mimport$0 offset=52 ;; code offset: 0x4e3 (local.get $3) ) @@ -6392,7 +6392,7 @@ file_names[ 3]: ;; code offset: 0x4ef (local.set $100 ;; code offset: 0x4ec - (i32.load offset=32 + (i32.load $mimport$0 offset=32 ;; code offset: 0x4ea (local.get $3) ) @@ -6425,7 +6425,7 @@ file_names[ 3]: ;; code offset: 0x508 (local.set $104 ;; code offset: 0x505 - (i32.load + (i32.load $mimport$0 ;; code offset: 0x503 (local.get $103) ) @@ -6433,7 +6433,7 @@ file_names[ 3]: ;; code offset: 0x50f (local.set $105 ;; code offset: 0x50c - (i32.load offset=44 + (i32.load $mimport$0 offset=44 ;; code offset: 0x50a (local.get $3) ) @@ -6441,7 +6441,7 @@ file_names[ 3]: ;; code offset: 0x516 (local.set $106 ;; code offset: 0x513 - (i32.load offset=32 + (i32.load $mimport$0 offset=32 ;; code offset: 0x511 (local.get $3) ) @@ -6472,7 +6472,7 @@ file_names[ 3]: ) ) ;; code offset: 0x52e - (i32.store + (i32.store $mimport$0 ;; code offset: 0x52a (local.get $109) ;; code offset: 0x52c @@ -6481,7 +6481,7 @@ file_names[ 3]: ;; code offset: 0x536 (local.set $110 ;; code offset: 0x533 - (i32.load offset=32 + (i32.load $mimport$0 offset=32 ;; code offset: 0x531 (local.get $3) ) @@ -6502,7 +6502,7 @@ file_names[ 3]: ) ) ;; code offset: 0x547 - (i32.store offset=32 + (i32.store $mimport$0 offset=32 ;; code offset: 0x543 (local.get $3) ;; code offset: 0x545 @@ -6518,7 +6518,7 @@ file_names[ 3]: (i32.const 0) ) ;; code offset: 0x557 - (i32.store offset=36 + (i32.store $mimport$0 offset=36 ;; code offset: 0x553 (local.get $3) ;; code offset: 0x555 @@ -6527,7 +6527,7 @@ file_names[ 3]: ;; code offset: 0x55f (local.set $114 ;; code offset: 0x55c - (i32.load offset=44 + (i32.load $mimport$0 offset=44 ;; code offset: 0x55a (local.get $3) ) @@ -6535,13 +6535,13 @@ file_names[ 3]: ;; code offset: 0x566 (local.set $115 ;; code offset: 0x563 - (i32.load + (i32.load $mimport$0 ;; code offset: 0x561 (local.get $114) ) ) ;; code offset: 0x56c - (i32.store offset=16 + (i32.store $mimport$0 offset=16 ;; code offset: 0x568 (local.get $3) ;; code offset: 0x56a @@ -6555,7 +6555,7 @@ file_names[ 3]: (i32.const 1) ) ;; code offset: 0x579 - (i32.store offset=32 + (i32.store $mimport$0 offset=32 ;; code offset: 0x575 (local.get $3) ;; code offset: 0x577 @@ -6564,7 +6564,7 @@ file_names[ 3]: ;; code offset: 0x581 (local.set $117 ;; code offset: 0x57e - (i32.load offset=16 + (i32.load $mimport$0 offset=16 ;; code offset: 0x57c (local.get $3) ) @@ -6585,7 +6585,7 @@ file_names[ 3]: ) ) ;; code offset: 0x592 - (i32.store offset=20 + (i32.store $mimport$0 offset=20 ;; code offset: 0x58e (local.get $3) ;; code offset: 0x590 @@ -6598,7 +6598,7 @@ file_names[ 3]: ;; code offset: 0x59e (local.set $120 ;; code offset: 0x59b - (i32.load offset=32 + (i32.load $mimport$0 offset=32 ;; code offset: 0x599 (local.get $3) ) @@ -6606,7 +6606,7 @@ file_names[ 3]: ;; code offset: 0x5a5 (local.set $121 ;; code offset: 0x5a2 - (i32.load offset=20 + (i32.load $mimport$0 offset=20 ;; code offset: 0x5a0 (local.get $3) ) @@ -6657,7 +6657,7 @@ file_names[ 3]: ;; code offset: 0x5cb (local.set $127 ;; code offset: 0x5c8 - (i32.load offset=44 + (i32.load $mimport$0 offset=44 ;; code offset: 0x5c6 (local.get $3) ) @@ -6665,7 +6665,7 @@ file_names[ 3]: ;; code offset: 0x5d2 (local.set $128 ;; code offset: 0x5cf - (i32.load offset=32 + (i32.load $mimport$0 offset=32 ;; code offset: 0x5cd (local.get $3) ) @@ -6698,13 +6698,13 @@ file_names[ 3]: ;; code offset: 0x5f3 (local.set $132 ;; code offset: 0x5f0 - (i32.load + (i32.load $mimport$0 ;; code offset: 0x5ed (local.get $131) ) ) ;; code offset: 0x5fb - (i32.store offset=12 + (i32.store $mimport$0 offset=12 ;; code offset: 0x5f6 (local.get $3) ;; code offset: 0x5f8 @@ -6713,7 +6713,7 @@ file_names[ 3]: ;; code offset: 0x603 (local.set $133 ;; code offset: 0x600 - (i32.load offset=44 + (i32.load $mimport$0 offset=44 ;; code offset: 0x5fe (local.get $3) ) @@ -6721,7 +6721,7 @@ file_names[ 3]: ;; code offset: 0x60b (local.set $134 ;; code offset: 0x608 - (i32.load offset=20 + (i32.load $mimport$0 offset=20 ;; code offset: 0x606 (local.get $3) ) @@ -6754,7 +6754,7 @@ file_names[ 3]: ;; code offset: 0x62d (local.set $138 ;; code offset: 0x62a - (i32.load + (i32.load $mimport$0 ;; code offset: 0x627 (local.get $137) ) @@ -6762,7 +6762,7 @@ file_names[ 3]: ;; code offset: 0x635 (local.set $139 ;; code offset: 0x632 - (i32.load offset=44 + (i32.load $mimport$0 offset=44 ;; code offset: 0x630 (local.get $3) ) @@ -6770,7 +6770,7 @@ file_names[ 3]: ;; code offset: 0x63d (local.set $140 ;; code offset: 0x63a - (i32.load offset=32 + (i32.load $mimport$0 offset=32 ;; code offset: 0x638 (local.get $3) ) @@ -6801,7 +6801,7 @@ file_names[ 3]: ) ) ;; code offset: 0x65f - (i32.store + (i32.store $mimport$0 ;; code offset: 0x659 (local.get $143) ;; code offset: 0x65c @@ -6810,7 +6810,7 @@ file_names[ 3]: ;; code offset: 0x667 (local.set $144 ;; code offset: 0x664 - (i32.load offset=12 + (i32.load $mimport$0 offset=12 ;; code offset: 0x662 (local.get $3) ) @@ -6818,7 +6818,7 @@ file_names[ 3]: ;; code offset: 0x66f (local.set $145 ;; code offset: 0x66c - (i32.load offset=44 + (i32.load $mimport$0 offset=44 ;; code offset: 0x66a (local.get $3) ) @@ -6826,7 +6826,7 @@ file_names[ 3]: ;; code offset: 0x677 (local.set $146 ;; code offset: 0x674 - (i32.load offset=20 + (i32.load $mimport$0 offset=20 ;; code offset: 0x672 (local.get $3) ) @@ -6857,7 +6857,7 @@ file_names[ 3]: ) ) ;; code offset: 0x699 - (i32.store + (i32.store $mimport$0 ;; code offset: 0x693 (local.get $149) ;; code offset: 0x696 @@ -6866,7 +6866,7 @@ file_names[ 3]: ;; code offset: 0x6a1 (local.set $150 ;; code offset: 0x69e - (i32.load offset=32 + (i32.load $mimport$0 offset=32 ;; code offset: 0x69c (local.get $3) ) @@ -6887,7 +6887,7 @@ file_names[ 3]: ) ) ;; code offset: 0x6b8 - (i32.store offset=32 + (i32.store $mimport$0 offset=32 ;; code offset: 0x6b3 (local.get $3) ;; code offset: 0x6b5 @@ -6896,7 +6896,7 @@ file_names[ 3]: ;; code offset: 0x6c0 (local.set $153 ;; code offset: 0x6bd - (i32.load offset=20 + (i32.load $mimport$0 offset=20 ;; code offset: 0x6bb (local.get $3) ) @@ -6917,7 +6917,7 @@ file_names[ 3]: ) ) ;; code offset: 0x6d7 - (i32.store offset=20 + (i32.store $mimport$0 offset=20 ;; code offset: 0x6d2 (local.get $3) ;; code offset: 0x6d4 @@ -6930,7 +6930,7 @@ file_names[ 3]: ;; code offset: 0x6e4 (local.set $156 ;; code offset: 0x6e1 - (i32.load offset=36 + (i32.load $mimport$0 offset=36 ;; code offset: 0x6df (local.get $3) ) @@ -6951,7 +6951,7 @@ file_names[ 3]: ) ) ;; code offset: 0x6fb - (i32.store offset=36 + (i32.store $mimport$0 offset=36 ;; code offset: 0x6f6 (local.get $3) ;; code offset: 0x6f8 @@ -6960,7 +6960,7 @@ file_names[ 3]: ;; code offset: 0x703 (local.set $159 ;; code offset: 0x700 - (i32.load offset=44 + (i32.load $mimport$0 offset=44 ;; code offset: 0x6fe (local.get $3) ) @@ -6968,7 +6968,7 @@ file_names[ 3]: ;; code offset: 0x70b (local.set $160 ;; code offset: 0x708 - (i32.load offset=16 + (i32.load $mimport$0 offset=16 ;; code offset: 0x706 (local.get $3) ) @@ -7001,13 +7001,13 @@ file_names[ 3]: ;; code offset: 0x72d (local.set $164 ;; code offset: 0x72a - (i32.load + (i32.load $mimport$0 ;; code offset: 0x727 (local.get $163) ) ) ;; code offset: 0x735 - (i32.store offset=12 + (i32.store $mimport$0 offset=12 ;; code offset: 0x730 (local.get $3) ;; code offset: 0x732 @@ -7016,7 +7016,7 @@ file_names[ 3]: ;; code offset: 0x73d (local.set $165 ;; code offset: 0x73a - (i32.load offset=16 + (i32.load $mimport$0 offset=16 ;; code offset: 0x738 (local.get $3) ) @@ -7024,7 +7024,7 @@ file_names[ 3]: ;; code offset: 0x745 (local.set $166 ;; code offset: 0x742 - (i32.load offset=44 + (i32.load $mimport$0 offset=44 ;; code offset: 0x740 (local.get $3) ) @@ -7032,7 +7032,7 @@ file_names[ 3]: ;; code offset: 0x74d (local.set $167 ;; code offset: 0x74a - (i32.load offset=16 + (i32.load $mimport$0 offset=16 ;; code offset: 0x748 (local.get $3) ) @@ -7063,7 +7063,7 @@ file_names[ 3]: ) ) ;; code offset: 0x76f - (i32.store + (i32.store $mimport$0 ;; code offset: 0x769 (local.get $170) ;; code offset: 0x76c @@ -7072,13 +7072,13 @@ file_names[ 3]: ;; code offset: 0x777 (local.set $171 ;; code offset: 0x774 - (i32.load offset=12 + (i32.load $mimport$0 offset=12 ;; code offset: 0x772 (local.get $3) ) ) ;; code offset: 0x77f - (i32.store offset=16 + (i32.store $mimport$0 offset=16 ;; code offset: 0x77a (local.get $3) ;; code offset: 0x77c @@ -7087,7 +7087,7 @@ file_names[ 3]: ;; code offset: 0x787 (local.set $172 ;; code offset: 0x784 - (i32.load offset=16 + (i32.load $mimport$0 offset=16 ;; code offset: 0x782 (local.get $3) ) @@ -7101,7 +7101,7 @@ file_names[ 3]: ;; code offset: 0x795 (local.set $173 ;; code offset: 0x792 - (i32.load offset=40 + (i32.load $mimport$0 offset=40 ;; code offset: 0x790 (local.get $3) ) @@ -7109,7 +7109,7 @@ file_names[ 3]: ;; code offset: 0x79d (local.set $174 ;; code offset: 0x79a - (i32.load offset=36 + (i32.load $mimport$0 offset=36 ;; code offset: 0x798 (local.get $3) ) @@ -7162,13 +7162,13 @@ file_names[ 3]: ;; code offset: 0x7d2 (local.set $180 ;; code offset: 0x7cf - (i32.load offset=36 + (i32.load $mimport$0 offset=36 ;; code offset: 0x7cd (local.get $3) ) ) ;; code offset: 0x7da - (i32.store offset=40 + (i32.store $mimport$0 offset=40 ;; code offset: 0x7d5 (local.get $3) ;; code offset: 0x7d7 @@ -7181,7 +7181,7 @@ file_names[ 3]: ;; code offset: 0x7e6 (local.set $181 ;; code offset: 0x7e3 - (i32.load offset=24 + (i32.load $mimport$0 offset=24 ;; code offset: 0x7e1 (local.get $3) ) @@ -7189,7 +7189,7 @@ file_names[ 3]: ;; code offset: 0x7ee (local.set $182 ;; code offset: 0x7eb - (i32.load offset=28 + (i32.load $mimport$0 offset=28 ;; code offset: 0x7e9 (local.get $3) ) @@ -7257,7 +7257,7 @@ file_names[ 3]: ;; code offset: 0x832 (local.set $190 ;; code offset: 0x82f - (i32.load offset=52 + (i32.load $mimport$0 offset=52 ;; code offset: 0x82d (local.get $3) ) @@ -7270,7 +7270,7 @@ file_names[ 3]: ;; code offset: 0x83f (local.set $191 ;; code offset: 0x83c - (i32.load offset=44 + (i32.load $mimport$0 offset=44 ;; code offset: 0x83a (local.get $3) ) @@ -7283,7 +7283,7 @@ file_names[ 3]: ;; code offset: 0x84c (local.set $192 ;; code offset: 0x849 - (i32.load offset=48 + (i32.load $mimport$0 offset=48 ;; code offset: 0x847 (local.get $3) ) @@ -7296,7 +7296,7 @@ file_names[ 3]: ;; code offset: 0x859 (local.set $193 ;; code offset: 0x856 - (i32.load offset=40 + (i32.load $mimport$0 offset=40 ;; code offset: 0x854 (local.get $3) ) @@ -7335,7 +7335,7 @@ file_names[ 3]: ;; code offset: 0x87f (local.set $197 ;; code offset: 0x87c - (i32.load offset=52 + (i32.load $mimport$0 offset=52 ;; code offset: 0x87a (local.get $3) ) @@ -7343,20 +7343,20 @@ file_names[ 3]: ;; code offset: 0x888 (local.set $198 ;; code offset: 0x885 - (i32.load + (i32.load $mimport$0 ;; code offset: 0x882 (local.get $197) ) ) ;; code offset: 0x890 - (i32.store offset=8 + (i32.store $mimport$0 offset=8 ;; code offset: 0x88b (local.get $3) ;; code offset: 0x88d (local.get $198) ) ;; code offset: 0x898 - (i32.store offset=32 + (i32.store $mimport$0 offset=32 ;; code offset: 0x893 (local.get $3) ;; code offset: 0x895 @@ -7369,7 +7369,7 @@ file_names[ 3]: ;; code offset: 0x8a4 (local.set $199 ;; code offset: 0x8a1 - (i32.load offset=32 + (i32.load $mimport$0 offset=32 ;; code offset: 0x89f (local.get $3) ) @@ -7377,7 +7377,7 @@ file_names[ 3]: ;; code offset: 0x8ac (local.set $200 ;; code offset: 0x8a9 - (i32.load offset=24 + (i32.load $mimport$0 offset=24 ;; code offset: 0x8a7 (local.get $3) ) @@ -7428,7 +7428,7 @@ file_names[ 3]: ;; code offset: 0x8df (local.set $206 ;; code offset: 0x8dc - (i32.load offset=52 + (i32.load $mimport$0 offset=52 ;; code offset: 0x8da (local.get $3) ) @@ -7436,7 +7436,7 @@ file_names[ 3]: ;; code offset: 0x8e7 (local.set $207 ;; code offset: 0x8e4 - (i32.load offset=32 + (i32.load $mimport$0 offset=32 ;; code offset: 0x8e2 (local.get $3) ) @@ -7484,7 +7484,7 @@ file_names[ 3]: ;; code offset: 0x918 (local.set $213 ;; code offset: 0x915 - (i32.load + (i32.load $mimport$0 ;; code offset: 0x912 (local.get $212) ) @@ -7492,7 +7492,7 @@ file_names[ 3]: ;; code offset: 0x920 (local.set $214 ;; code offset: 0x91d - (i32.load offset=52 + (i32.load $mimport$0 offset=52 ;; code offset: 0x91b (local.get $3) ) @@ -7500,7 +7500,7 @@ file_names[ 3]: ;; code offset: 0x928 (local.set $215 ;; code offset: 0x925 - (i32.load offset=32 + (i32.load $mimport$0 offset=32 ;; code offset: 0x923 (local.get $3) ) @@ -7531,7 +7531,7 @@ file_names[ 3]: ) ) ;; code offset: 0x94a - (i32.store + (i32.store $mimport$0 ;; code offset: 0x944 (local.get $218) ;; code offset: 0x947 @@ -7540,7 +7540,7 @@ file_names[ 3]: ;; code offset: 0x952 (local.set $219 ;; code offset: 0x94f - (i32.load offset=32 + (i32.load $mimport$0 offset=32 ;; code offset: 0x94d (local.get $3) ) @@ -7561,7 +7561,7 @@ file_names[ 3]: ) ) ;; code offset: 0x969 - (i32.store offset=32 + (i32.store $mimport$0 offset=32 ;; code offset: 0x964 (local.get $3) ;; code offset: 0x966 @@ -7579,7 +7579,7 @@ file_names[ 3]: ;; code offset: 0x97b (local.set $223 ;; code offset: 0x978 - (i32.load offset=8 + (i32.load $mimport$0 offset=8 ;; code offset: 0x976 (local.get $3) ) @@ -7587,7 +7587,7 @@ file_names[ 3]: ;; code offset: 0x983 (local.set $224 ;; code offset: 0x980 - (i32.load offset=52 + (i32.load $mimport$0 offset=52 ;; code offset: 0x97e (local.get $3) ) @@ -7595,7 +7595,7 @@ file_names[ 3]: ;; code offset: 0x98b (local.set $225 ;; code offset: 0x988 - (i32.load offset=32 + (i32.load $mimport$0 offset=32 ;; code offset: 0x986 (local.get $3) ) @@ -7626,7 +7626,7 @@ file_names[ 3]: ) ) ;; code offset: 0x9ad - (i32.store + (i32.store $mimport$0 ;; code offset: 0x9a7 (local.get $228) ;; code offset: 0x9aa @@ -7635,7 +7635,7 @@ file_names[ 3]: ;; code offset: 0x9b5 (local.set $229 ;; code offset: 0x9b2 - (i32.load offset=48 + (i32.load $mimport$0 offset=48 ;; code offset: 0x9b0 (local.get $3) ) @@ -7643,7 +7643,7 @@ file_names[ 3]: ;; code offset: 0x9bd (local.set $230 ;; code offset: 0x9ba - (i32.load offset=24 + (i32.load $mimport$0 offset=24 ;; code offset: 0x9b8 (local.get $3) ) @@ -7676,7 +7676,7 @@ file_names[ 3]: ;; code offset: 0x9df (local.set $234 ;; code offset: 0x9dc - (i32.load + (i32.load $mimport$0 ;; code offset: 0x9d9 (local.get $233) ) @@ -7697,7 +7697,7 @@ file_names[ 3]: ) ) ;; code offset: 0x9f7 - (i32.store + (i32.store $mimport$0 ;; code offset: 0x9f1 (local.get $233) ;; code offset: 0x9f4 @@ -7755,7 +7755,7 @@ file_names[ 3]: ;; code offset: 0xa31 (local.set $242 ;; code offset: 0xa2e - (i32.load offset=24 + (i32.load $mimport$0 offset=24 ;; code offset: 0xa2c (local.get $3) ) @@ -7776,7 +7776,7 @@ file_names[ 3]: ) ) ;; code offset: 0xa48 - (i32.store offset=24 + (i32.store $mimport$0 offset=24 ;; code offset: 0xa43 (local.get $3) ;; code offset: 0xa45 @@ -7862,21 +7862,21 @@ file_names[ 3]: (i32.const 0) ) ;; code offset: 0xabb - (i32.store offset=28 + (i32.store $mimport$0 offset=28 ;; code offset: 0xab7 (local.get $4) ;; code offset: 0xab9 (local.get $6) ) ;; code offset: 0xac2 - (i32.store offset=24 + (i32.store $mimport$0 offset=24 ;; code offset: 0xabe (local.get $4) ;; code offset: 0xac0 (local.get $0) ) ;; code offset: 0xac9 - (i32.store offset=20 + (i32.store $mimport$0 offset=20 ;; code offset: 0xac5 (local.get $4) ;; code offset: 0xac7 @@ -7885,7 +7885,7 @@ file_names[ 3]: ;; code offset: 0xad1 (local.set $7 ;; code offset: 0xace - (i32.load offset=24 + (i32.load $mimport$0 offset=24 ;; code offset: 0xacc (local.get $4) ) @@ -7939,7 +7939,7 @@ file_names[ 3]: ;; code offset: 0xafb (local.set $13 ;; code offset: 0xaf8 - (i32.load offset=20 + (i32.load $mimport$0 offset=20 ;; code offset: 0xaf6 (local.get $4) ) @@ -7947,7 +7947,7 @@ file_names[ 3]: ;; code offset: 0xb02 (local.set $14 ;; code offset: 0xaff - (i32.load offset=4 + (i32.load $mimport$0 offset=4 ;; code offset: 0xafd (local.get $13) ) @@ -7990,7 +7990,7 @@ file_names[ 3]: (i32.const 1) ) ;; code offset: 0xb26 - (i32.store offset=16 + (i32.store $mimport$0 offset=16 ;; code offset: 0xb22 (local.get $4) ;; code offset: 0xb24 @@ -7999,7 +7999,7 @@ file_names[ 3]: ;; code offset: 0xb2e (local.set $20 ;; code offset: 0xb2b - (i32.load offset=16 + (i32.load $mimport$0 offset=16 ;; code offset: 0xb29 (local.get $4) ) @@ -8076,7 +8076,7 @@ file_names[ 3]: (i32.const 1) ) ;; code offset: 0xb6b - (i32.store offset=28 + (i32.store $mimport$0 offset=28 ;; code offset: 0xb67 (local.get $4) ;; code offset: 0xb69 @@ -8088,7 +8088,7 @@ file_names[ 3]: ;; code offset: 0xb76 (local.set $29 ;; code offset: 0xb73 - (i32.load offset=16 + (i32.load $mimport$0 offset=16 ;; code offset: 0xb71 (local.get $4) ) @@ -8096,7 +8096,7 @@ file_names[ 3]: ;; code offset: 0xb7d (local.set $30 ;; code offset: 0xb7a - (i32.load offset=16 + (i32.load $mimport$0 offset=16 ;; code offset: 0xb78 (local.get $4) ) @@ -8110,14 +8110,14 @@ file_names[ 3]: ) ) ;; code offset: 0xb89 - (i32.store offset=4 + (i32.store $mimport$0 offset=4 ;; code offset: 0xb85 (local.get $4) ;; code offset: 0xb87 (local.get $31) ) ;; code offset: 0xb90 - (i32.store + (i32.store $mimport$0 ;; code offset: 0xb8c (local.get $4) ;; code offset: 0xb8e @@ -8144,7 +8144,7 @@ file_names[ 3]: (i32.const 0) ) ;; code offset: 0xba7 - (i32.store offset=28 + (i32.store $mimport$0 offset=28 ;; code offset: 0xba3 (local.get $4) ;; code offset: 0xba5 @@ -8154,7 +8154,7 @@ file_names[ 3]: ;; code offset: 0xbb0 (local.set $34 ;; code offset: 0xbad - (i32.load offset=28 + (i32.load $mimport$0 offset=28 ;; code offset: 0xbab (local.get $4) ) @@ -8401,28 +8401,28 @@ file_names[ 3]: (i32.const 30) ) ;; code offset: 0xd4e - (i32.store offset=44 + (i32.store $mimport$0 offset=44 ;; code offset: 0xd4a (local.get $3) ;; code offset: 0xd4c (local.get $0) ) ;; code offset: 0xd55 - (i32.store offset=32 + (i32.store $mimport$0 offset=32 ;; code offset: 0xd51 (local.get $3) ;; code offset: 0xd53 (local.get $5) ) ;; code offset: 0xd5c - (i32.store offset=40 + (i32.store $mimport$0 offset=40 ;; code offset: 0xd58 (local.get $3) ;; code offset: 0xd5a (local.get $4) ) ;; code offset: 0xd63 - (i32.store offset=20 + (i32.store $mimport$0 offset=20 ;; code offset: 0xd5f (local.get $3) ;; code offset: 0xd61 @@ -8435,7 +8435,7 @@ file_names[ 3]: ;; code offset: 0xd6f (local.set $6 ;; code offset: 0xd6c - (i32.load offset=20 + (i32.load $mimport$0 offset=20 ;; code offset: 0xd6a (local.get $3) ) @@ -8443,7 +8443,7 @@ file_names[ 3]: ;; code offset: 0xd76 (local.set $7 ;; code offset: 0xd73 - (i32.load offset=44 + (i32.load $mimport$0 offset=44 ;; code offset: 0xd71 (local.get $3) ) @@ -8520,7 +8520,7 @@ file_names[ 3]: ) ) ;; code offset: 0xdb0 - (i32.store offset=36 + (i32.store $mimport$0 offset=36 ;; code offset: 0xdac (local.get $3) ;; code offset: 0xdae @@ -8529,7 +8529,7 @@ file_names[ 3]: ;; code offset: 0xdb8 (local.set $17 ;; code offset: 0xdb5 - (i32.load offset=20 + (i32.load $mimport$0 offset=20 ;; code offset: 0xdb3 (local.get $3) ) @@ -8537,13 +8537,13 @@ file_names[ 3]: ;; code offset: 0xdbf (local.set $18 ;; code offset: 0xdbc - (i32.load offset=36 + (i32.load $mimport$0 offset=36 ;; code offset: 0xdba (local.get $3) ) ) ;; code offset: 0xdc5 - (i32.store + (i32.store $mimport$0 ;; code offset: 0xdc1 (local.get $18) ;; code offset: 0xdc3 @@ -8552,7 +8552,7 @@ file_names[ 3]: ;; code offset: 0xdcd (local.set $19 ;; code offset: 0xdca - (i32.load offset=44 + (i32.load $mimport$0 offset=44 ;; code offset: 0xdc8 (local.get $3) ) @@ -8560,13 +8560,13 @@ file_names[ 3]: ;; code offset: 0xdd4 (local.set $20 ;; code offset: 0xdd1 - (i32.load offset=36 + (i32.load $mimport$0 offset=36 ;; code offset: 0xdcf (local.get $3) ) ) ;; code offset: 0xdda - (i32.store offset=4 + (i32.store $mimport$0 offset=4 ;; code offset: 0xdd6 (local.get $20) ;; code offset: 0xdd8 @@ -8575,7 +8575,7 @@ file_names[ 3]: ;; code offset: 0xde2 (local.set $21 ;; code offset: 0xddf - (i32.load offset=40 + (i32.load $mimport$0 offset=40 ;; code offset: 0xddd (local.get $3) ) @@ -8583,13 +8583,13 @@ file_names[ 3]: ;; code offset: 0xde9 (local.set $22 ;; code offset: 0xde6 - (i32.load offset=36 + (i32.load $mimport$0 offset=36 ;; code offset: 0xde4 (local.get $3) ) ) ;; code offset: 0xdef - (i32.store offset=8 + (i32.store $mimport$0 offset=8 ;; code offset: 0xdeb (local.get $22) ;; code offset: 0xded @@ -8598,13 +8598,13 @@ file_names[ 3]: ;; code offset: 0xdf7 (local.set $23 ;; code offset: 0xdf4 - (i32.load offset=36 + (i32.load $mimport$0 offset=36 ;; code offset: 0xdf2 (local.get $3) ) ) ;; code offset: 0xdfd - (i32.store offset=40 + (i32.store $mimport$0 offset=40 ;; code offset: 0xdf9 (local.get $3) ;; code offset: 0xdfb @@ -8613,7 +8613,7 @@ file_names[ 3]: ;; code offset: 0xe05 (local.set $24 ;; code offset: 0xe02 - (i32.load offset=20 + (i32.load $mimport$0 offset=20 ;; code offset: 0xe00 (local.get $3) ) @@ -8634,7 +8634,7 @@ file_names[ 3]: ) ) ;; code offset: 0xe16 - (i32.store offset=20 + (i32.store $mimport$0 offset=20 ;; code offset: 0xe12 (local.get $3) ;; code offset: 0xe14 @@ -8652,7 +8652,7 @@ file_names[ 3]: ;; code offset: 0xe27 (local.set $28 ;; code offset: 0xe24 - (i32.load offset=44 + (i32.load $mimport$0 offset=44 ;; code offset: 0xe22 (local.get $3) ) @@ -8681,7 +8681,7 @@ file_names[ 3]: ) ) ;; code offset: 0xe3e - (i32.store offset=28 + (i32.store $mimport$0 offset=28 ;; code offset: 0xe3a (local.get $3) ;; code offset: 0xe3c @@ -8690,7 +8690,7 @@ file_names[ 3]: ;; code offset: 0xe46 (local.set $32 ;; code offset: 0xe43 - (i32.load offset=44 + (i32.load $mimport$0 offset=44 ;; code offset: 0xe41 (local.get $3) ) @@ -8719,14 +8719,14 @@ file_names[ 3]: ) ) ;; code offset: 0xe5d - (i32.store offset=24 + (i32.store $mimport$0 offset=24 ;; code offset: 0xe59 (local.get $3) ;; code offset: 0xe5b (local.get $35) ) ;; code offset: 0xe64 - (i32.store offset=20 + (i32.store $mimport$0 offset=20 ;; code offset: 0xe60 (local.get $3) ;; code offset: 0xe62 @@ -8739,7 +8739,7 @@ file_names[ 3]: ;; code offset: 0xe70 (local.set $36 ;; code offset: 0xe6d - (i32.load offset=20 + (i32.load $mimport$0 offset=20 ;; code offset: 0xe6b (local.get $3) ) @@ -8747,7 +8747,7 @@ file_names[ 3]: ;; code offset: 0xe77 (local.set $37 ;; code offset: 0xe74 - (i32.load offset=44 + (i32.load $mimport$0 offset=44 ;; code offset: 0xe72 (local.get $3) ) @@ -8798,7 +8798,7 @@ file_names[ 3]: ;; code offset: 0xe9d (local.set $43 ;; code offset: 0xe9a - (i32.load offset=20 + (i32.load $mimport$0 offset=20 ;; code offset: 0xe98 (local.get $3) ) @@ -8806,7 +8806,7 @@ file_names[ 3]: ;; code offset: 0xea4 (local.set $44 ;; code offset: 0xea1 - (i32.load offset=28 + (i32.load $mimport$0 offset=28 ;; code offset: 0xe9f (local.get $3) ) @@ -8814,7 +8814,7 @@ file_names[ 3]: ;; code offset: 0xeab (local.set $45 ;; code offset: 0xea8 - (i32.load offset=20 + (i32.load $mimport$0 offset=20 ;; code offset: 0xea6 (local.get $3) ) @@ -8845,7 +8845,7 @@ file_names[ 3]: ) ) ;; code offset: 0xec3 - (i32.store + (i32.store $mimport$0 ;; code offset: 0xebf (local.get $48) ;; code offset: 0xec1 @@ -8854,7 +8854,7 @@ file_names[ 3]: ;; code offset: 0xecb (local.set $49 ;; code offset: 0xec8 - (i32.load offset=20 + (i32.load $mimport$0 offset=20 ;; code offset: 0xec6 (local.get $3) ) @@ -8875,7 +8875,7 @@ file_names[ 3]: ) ) ;; code offset: 0xedc - (i32.store offset=20 + (i32.store $mimport$0 offset=20 ;; code offset: 0xed8 (local.get $3) ;; code offset: 0xeda @@ -8888,13 +8888,13 @@ file_names[ 3]: ;; code offset: 0xee9 (local.set $52 ;; code offset: 0xee6 - (i32.load offset=44 + (i32.load $mimport$0 offset=44 ;; code offset: 0xee4 (local.get $3) ) ) ;; code offset: 0xeef - (i32.store offset=16 + (i32.store $mimport$0 offset=16 ;; code offset: 0xeeb (local.get $3) ;; code offset: 0xeed @@ -8907,7 +8907,7 @@ file_names[ 3]: ;; code offset: 0xefb (local.set $53 ;; code offset: 0xef8 - (i32.load offset=32 + (i32.load $mimport$0 offset=32 ;; code offset: 0xef6 (local.get $3) ) @@ -8929,7 +8929,7 @@ file_names[ 3]: (i32.const 0) ) ;; code offset: 0xf0e - (i32.store offset=20 + (i32.store $mimport$0 offset=20 ;; code offset: 0xf0a (local.get $3) ;; code offset: 0xf0c @@ -8942,7 +8942,7 @@ file_names[ 3]: ;; code offset: 0xf1a (local.set $55 ;; code offset: 0xf17 - (i32.load offset=20 + (i32.load $mimport$0 offset=20 ;; code offset: 0xf15 (local.get $3) ) @@ -8950,7 +8950,7 @@ file_names[ 3]: ;; code offset: 0xf21 (local.set $56 ;; code offset: 0xf1e - (i32.load offset=44 + (i32.load $mimport$0 offset=44 ;; code offset: 0xf1c (local.get $3) ) @@ -9001,7 +9001,7 @@ file_names[ 3]: ;; code offset: 0xf47 (local.set $62 ;; code offset: 0xf44 - (i32.load offset=28 + (i32.load $mimport$0 offset=28 ;; code offset: 0xf42 (local.get $3) ) @@ -9009,7 +9009,7 @@ file_names[ 3]: ;; code offset: 0xf4e (local.set $63 ;; code offset: 0xf4b - (i32.load offset=20 + (i32.load $mimport$0 offset=20 ;; code offset: 0xf49 (local.get $3) ) @@ -9042,7 +9042,7 @@ file_names[ 3]: ;; code offset: 0xf67 (local.set $67 ;; code offset: 0xf64 - (i32.load + (i32.load $mimport$0 ;; code offset: 0xf62 (local.get $66) ) @@ -9063,7 +9063,7 @@ file_names[ 3]: ) ) ;; code offset: 0xf78 - (i32.store + (i32.store $mimport$0 ;; code offset: 0xf74 (local.get $3) ;; code offset: 0xf76 @@ -9087,7 +9087,7 @@ file_names[ 3]: ;; code offset: 0xf8c (local.set $71 ;; code offset: 0xf89 - (i32.load offset=20 + (i32.load $mimport$0 offset=20 ;; code offset: 0xf87 (local.get $3) ) @@ -9108,7 +9108,7 @@ file_names[ 3]: ) ) ;; code offset: 0xf9d - (i32.store offset=20 + (i32.store $mimport$0 offset=20 ;; code offset: 0xf99 (local.get $3) ;; code offset: 0xf9b @@ -9141,7 +9141,7 @@ file_names[ 3]: ;; code offset: 0xfba (local.set $76 ;; code offset: 0xfb7 - (i32.load offset=32 + (i32.load $mimport$0 offset=32 ;; code offset: 0xfb5 (local.get $3) ) @@ -9162,7 +9162,7 @@ file_names[ 3]: ) ) ;; code offset: 0xfcb - (i32.store offset=32 + (i32.store $mimport$0 offset=32 ;; code offset: 0xfc7 (local.get $3) ;; code offset: 0xfc9 @@ -9186,7 +9186,7 @@ file_names[ 3]: ;; code offset: 0xfe1 (local.set $80 ;; code offset: 0xfde - (i32.load offset=16 + (i32.load $mimport$0 offset=16 ;; code offset: 0xfdc (local.get $3) ) @@ -9237,7 +9237,7 @@ file_names[ 3]: ;; code offset: 0x1007 (local.set $86 ;; code offset: 0x1004 - (i32.load offset=16 + (i32.load $mimport$0 offset=16 ;; code offset: 0x1002 (local.get $3) ) @@ -9245,7 +9245,7 @@ file_names[ 3]: ;; code offset: 0x100e (local.set $87 ;; code offset: 0x100b - (i32.load offset=24 + (i32.load $mimport$0 offset=24 ;; code offset: 0x1009 (local.get $3) ) @@ -9253,7 +9253,7 @@ file_names[ 3]: ;; code offset: 0x1015 (local.set $88 ;; code offset: 0x1012 - (i32.load offset=16 + (i32.load $mimport$0 offset=16 ;; code offset: 0x1010 (local.get $3) ) @@ -9299,7 +9299,7 @@ file_names[ 3]: ) ) ;; code offset: 0x1038 - (i32.store + (i32.store $mimport$0 ;; code offset: 0x1034 (local.get $93) ;; code offset: 0x1036 @@ -9308,7 +9308,7 @@ file_names[ 3]: ;; code offset: 0x1040 (local.set $94 ;; code offset: 0x103d - (i32.load offset=16 + (i32.load $mimport$0 offset=16 ;; code offset: 0x103b (local.get $3) ) @@ -9329,7 +9329,7 @@ file_names[ 3]: ) ) ;; code offset: 0x1051 - (i32.store offset=16 + (i32.store $mimport$0 offset=16 ;; code offset: 0x104d (local.get $3) ;; code offset: 0x104f @@ -9344,7 +9344,7 @@ file_names[ 3]: ;; code offset: 0x1060 (local.set $97 ;; code offset: 0x105d - (i32.load offset=16 + (i32.load $mimport$0 offset=16 ;; code offset: 0x105b (local.get $3) ) @@ -9352,7 +9352,7 @@ file_names[ 3]: ;; code offset: 0x1067 (local.set $98 ;; code offset: 0x1064 - (i32.load offset=44 + (i32.load $mimport$0 offset=44 ;; code offset: 0x1062 (local.get $3) ) @@ -9413,7 +9413,7 @@ file_names[ 3]: ;; code offset: 0x1096 (local.set $105 ;; code offset: 0x1093 - (i32.load offset=28 + (i32.load $mimport$0 offset=28 ;; code offset: 0x1091 (local.get $3) ) @@ -9421,20 +9421,20 @@ file_names[ 3]: ;; code offset: 0x109d (local.set $106 ;; code offset: 0x109a - (i32.load + (i32.load $mimport$0 ;; code offset: 0x1098 (local.get $105) ) ) ;; code offset: 0x10a3 - (i32.store offset=4 + (i32.store $mimport$0 offset=4 ;; code offset: 0x109f (local.get $3) ;; code offset: 0x10a1 (local.get $106) ) ;; code offset: 0x10aa - (i32.store offset=20 + (i32.store $mimport$0 offset=20 ;; code offset: 0x10a6 (local.get $3) ;; code offset: 0x10a8 @@ -9447,7 +9447,7 @@ file_names[ 3]: ;; code offset: 0x10b6 (local.set $107 ;; code offset: 0x10b3 - (i32.load offset=20 + (i32.load $mimport$0 offset=20 ;; code offset: 0x10b1 (local.get $3) ) @@ -9455,7 +9455,7 @@ file_names[ 3]: ;; code offset: 0x10bd (local.set $108 ;; code offset: 0x10ba - (i32.load offset=16 + (i32.load $mimport$0 offset=16 ;; code offset: 0x10b8 (local.get $3) ) @@ -9506,7 +9506,7 @@ file_names[ 3]: ;; code offset: 0x10e3 (local.set $114 ;; code offset: 0x10e0 - (i32.load offset=28 + (i32.load $mimport$0 offset=28 ;; code offset: 0x10de (local.get $3) ) @@ -9514,7 +9514,7 @@ file_names[ 3]: ;; code offset: 0x10ea (local.set $115 ;; code offset: 0x10e7 - (i32.load offset=20 + (i32.load $mimport$0 offset=20 ;; code offset: 0x10e5 (local.get $3) ) @@ -9562,7 +9562,7 @@ file_names[ 3]: ;; code offset: 0x110e (local.set $121 ;; code offset: 0x110b - (i32.load + (i32.load $mimport$0 ;; code offset: 0x1109 (local.get $120) ) @@ -9570,7 +9570,7 @@ file_names[ 3]: ;; code offset: 0x1115 (local.set $122 ;; code offset: 0x1112 - (i32.load offset=28 + (i32.load $mimport$0 offset=28 ;; code offset: 0x1110 (local.get $3) ) @@ -9578,7 +9578,7 @@ file_names[ 3]: ;; code offset: 0x111c (local.set $123 ;; code offset: 0x1119 - (i32.load offset=20 + (i32.load $mimport$0 offset=20 ;; code offset: 0x1117 (local.get $3) ) @@ -9609,7 +9609,7 @@ file_names[ 3]: ) ) ;; code offset: 0x1134 - (i32.store + (i32.store $mimport$0 ;; code offset: 0x1130 (local.get $126) ;; code offset: 0x1132 @@ -9618,7 +9618,7 @@ file_names[ 3]: ;; code offset: 0x113c (local.set $127 ;; code offset: 0x1139 - (i32.load offset=20 + (i32.load $mimport$0 offset=20 ;; code offset: 0x1137 (local.get $3) ) @@ -9639,7 +9639,7 @@ file_names[ 3]: ) ) ;; code offset: 0x1151 - (i32.store offset=20 + (i32.store $mimport$0 offset=20 ;; code offset: 0x114c (local.get $3) ;; code offset: 0x114e @@ -9657,7 +9657,7 @@ file_names[ 3]: ;; code offset: 0x1163 (local.set $131 ;; code offset: 0x1160 - (i32.load offset=4 + (i32.load $mimport$0 offset=4 ;; code offset: 0x115e (local.get $3) ) @@ -9665,7 +9665,7 @@ file_names[ 3]: ;; code offset: 0x116b (local.set $132 ;; code offset: 0x1168 - (i32.load offset=28 + (i32.load $mimport$0 offset=28 ;; code offset: 0x1166 (local.get $3) ) @@ -9673,7 +9673,7 @@ file_names[ 3]: ;; code offset: 0x1173 (local.set $133 ;; code offset: 0x1170 - (i32.load offset=20 + (i32.load $mimport$0 offset=20 ;; code offset: 0x116e (local.get $3) ) @@ -9704,7 +9704,7 @@ file_names[ 3]: ) ) ;; code offset: 0x1195 - (i32.store + (i32.store $mimport$0 ;; code offset: 0x118f (local.get $136) ;; code offset: 0x1192 @@ -9713,7 +9713,7 @@ file_names[ 3]: ;; code offset: 0x119d (local.set $137 ;; code offset: 0x119a - (i32.load offset=24 + (i32.load $mimport$0 offset=24 ;; code offset: 0x1198 (local.get $3) ) @@ -9721,7 +9721,7 @@ file_names[ 3]: ;; code offset: 0x11a5 (local.set $138 ;; code offset: 0x11a2 - (i32.load offset=16 + (i32.load $mimport$0 offset=16 ;; code offset: 0x11a0 (local.get $3) ) @@ -9754,7 +9754,7 @@ file_names[ 3]: ;; code offset: 0x11c7 (local.set $142 ;; code offset: 0x11c4 - (i32.load + (i32.load $mimport$0 ;; code offset: 0x11c1 (local.get $141) ) @@ -9775,7 +9775,7 @@ file_names[ 3]: ) ) ;; code offset: 0x11df - (i32.store + (i32.store $mimport$0 ;; code offset: 0x11d9 (local.get $141) ;; code offset: 0x11dc @@ -9833,7 +9833,7 @@ file_names[ 3]: ;; code offset: 0x1219 (local.set $150 ;; code offset: 0x1216 - (i32.load offset=16 + (i32.load $mimport$0 offset=16 ;; code offset: 0x1214 (local.get $3) ) @@ -9854,7 +9854,7 @@ file_names[ 3]: ) ) ;; code offset: 0x1230 - (i32.store offset=16 + (i32.store $mimport$0 offset=16 ;; code offset: 0x122b (local.get $3) ;; code offset: 0x122d @@ -9876,7 +9876,7 @@ file_names[ 3]: ;; code offset: 0x1246 (local.set $154 ;; code offset: 0x1243 - (i32.load offset=28 + (i32.load $mimport$0 offset=28 ;; code offset: 0x1241 (local.get $3) ) @@ -9889,7 +9889,7 @@ file_names[ 3]: ;; code offset: 0x1253 (local.set $155 ;; code offset: 0x1250 - (i32.load offset=24 + (i32.load $mimport$0 offset=24 ;; code offset: 0x124e (local.get $3) ) @@ -9900,7 +9900,7 @@ file_names[ 3]: (local.get $155) ) ;; code offset: 0x1260 - (i32.store offset=12 + (i32.store $mimport$0 offset=12 ;; code offset: 0x125b (local.get $3) ;; code offset: 0x125d @@ -9918,7 +9918,7 @@ file_names[ 3]: ;; code offset: 0x1271 (local.set $157 ;; code offset: 0x126e - (i32.load offset=40 + (i32.load $mimport$0 offset=40 ;; code offset: 0x126c (local.get $3) ) @@ -9969,7 +9969,7 @@ file_names[ 3]: ;; code offset: 0x12a4 (local.set $163 ;; code offset: 0x12a1 - (i32.load offset=40 + (i32.load $mimport$0 offset=40 ;; code offset: 0x129f (local.get $3) ) @@ -9983,7 +9983,7 @@ file_names[ 3]: ) ) ;; code offset: 0x12b4 - (i32.store offset=8 + (i32.store $mimport$0 offset=8 ;; code offset: 0x12af (local.get $3) ;; code offset: 0x12b1 @@ -9992,7 +9992,7 @@ file_names[ 3]: ;; code offset: 0x12bc (local.set $165 ;; code offset: 0x12b9 - (i32.load offset=12 + (i32.load $mimport$0 offset=12 ;; code offset: 0x12b7 (local.get $3) ) @@ -10000,7 +10000,7 @@ file_names[ 3]: ;; code offset: 0x12c4 (local.set $166 ;; code offset: 0x12c1 - (i32.load offset=8 + (i32.load $mimport$0 offset=8 ;; code offset: 0x12bf (local.get $3) ) @@ -10053,13 +10053,13 @@ file_names[ 3]: ;; code offset: 0x12f9 (local.set $172 ;; code offset: 0x12f6 - (i32.load offset=8 + (i32.load $mimport$0 offset=8 ;; code offset: 0x12f4 (local.get $3) ) ) ;; code offset: 0x1301 - (i32.store offset=12 + (i32.store $mimport$0 offset=12 ;; code offset: 0x12fc (local.get $3) ;; code offset: 0x12fe @@ -10069,13 +10069,13 @@ file_names[ 3]: ;; code offset: 0x130a (local.set $173 ;; code offset: 0x1307 - (i32.load offset=40 + (i32.load $mimport$0 offset=40 ;; code offset: 0x1305 (local.get $3) ) ) ;; code offset: 0x1312 - (i32.store offset=36 + (i32.store $mimport$0 offset=36 ;; code offset: 0x130d (local.get $3) ;; code offset: 0x130f @@ -10084,7 +10084,7 @@ file_names[ 3]: ;; code offset: 0x131a (local.set $174 ;; code offset: 0x1317 - (i32.load offset=40 + (i32.load $mimport$0 offset=40 ;; code offset: 0x1315 (local.get $3) ) @@ -10092,13 +10092,13 @@ file_names[ 3]: ;; code offset: 0x1323 (local.set $175 ;; code offset: 0x1320 - (i32.load offset=8 + (i32.load $mimport$0 offset=8 ;; code offset: 0x131d (local.get $174) ) ) ;; code offset: 0x132b - (i32.store offset=40 + (i32.store $mimport$0 offset=40 ;; code offset: 0x1326 (local.get $3) ;; code offset: 0x1328 @@ -10107,7 +10107,7 @@ file_names[ 3]: ;; code offset: 0x1333 (local.set $176 ;; code offset: 0x1330 - (i32.load offset=36 + (i32.load $mimport$0 offset=36 ;; code offset: 0x132e (local.get $3) ) @@ -10124,7 +10124,7 @@ file_names[ 3]: ;; code offset: 0x1345 (local.set $177 ;; code offset: 0x1342 - (i32.load offset=12 + (i32.load $mimport$0 offset=12 ;; code offset: 0x1340 (local.get $3) ) diff --git a/test/passes/fannkuch3_dwarf.bin.txt b/test/passes/fannkuch3_dwarf.bin.txt index 3b98476e260..78d590a61a5 100644 --- a/test/passes/fannkuch3_dwarf.bin.txt +++ b/test/passes/fannkuch3_dwarf.bin.txt @@ -4845,7 +4845,7 @@ file_names[ 4]: ;; code offset: 0x30 (local.tee $2 ;; code offset: 0x2d - (i32.load offset=4 + (i32.load $mimport$0 offset=4 ;; code offset: 0x2b (local.get $0) ) @@ -4889,7 +4889,7 @@ file_names[ 4]: ;; code offset: 0x54 (loop $label$4 ;; code offset: 0x60 - (i32.store + (i32.store $mimport$0 ;; code offset: 0x5d (i32.add ;; code offset: 0x56 @@ -4925,7 +4925,7 @@ file_names[ 4]: ) ) ;; code offset: 0x84 - (i32.store + (i32.store $mimport$0 ;; code offset: 0x7c (i32.add ;; code offset: 0x70 @@ -4935,7 +4935,7 @@ file_names[ 4]: ;; code offset: 0x77 (local.tee $1 ;; code offset: 0x74 - (i32.load + (i32.load $mimport$0 ;; code offset: 0x72 (local.get $0) ) @@ -4956,7 +4956,7 @@ file_names[ 4]: ) ) ;; code offset: 0x93 - (i32.store + (i32.store $mimport$0 ;; code offset: 0x8f (local.tee $8 ;; code offset: 0x8e @@ -5007,7 +5007,7 @@ file_names[ 4]: ;; code offset: 0xac (loop $label$7 ;; code offset: 0xbd - (i32.store + (i32.store $mimport$0 ;; code offset: 0xba (i32.add ;; code offset: 0xae @@ -5062,7 +5062,7 @@ file_names[ 4]: ;; code offset: 0xd8 (local.tee $10 ;; code offset: 0xd5 - (i32.load + (i32.load $mimport$0 ;; code offset: 0xd3 (local.get $4) ) @@ -5074,7 +5074,7 @@ file_names[ 4]: ;; code offset: 0xe4 (i32.eq ;; code offset: 0xdf - (i32.load + (i32.load $mimport$0 ;; code offset: 0xdd (local.get $8) ) @@ -5085,7 +5085,7 @@ file_names[ 4]: ;; code offset: 0xf4 (local.set $12 ;; code offset: 0xf1 - (i32.load + (i32.load $mimport$0 ;; code offset: 0xef (local.tee $11 ;; code offset: 0xed @@ -5144,7 +5144,7 @@ file_names[ 4]: ;; code offset: 0x123 (local.set $15 ;; code offset: 0x120 - (i32.load + (i32.load $mimport$0 ;; code offset: 0x11e (local.tee $14 ;; code offset: 0x11d @@ -5163,11 +5163,11 @@ file_names[ 4]: ) ) ;; code offset: 0x134 - (i32.store + (i32.store $mimport$0 ;; code offset: 0x125 (local.get $14) ;; code offset: 0x131 - (i32.load + (i32.load $mimport$0 ;; code offset: 0x12f (local.tee $16 ;; code offset: 0x12e @@ -5186,7 +5186,7 @@ file_names[ 4]: ) ) ;; code offset: 0x13b - (i32.store + (i32.store $mimport$0 ;; code offset: 0x137 (local.get $16) ;; code offset: 0x139 @@ -5223,7 +5223,7 @@ file_names[ 4]: ;; code offset: 0x15e (local.set $1 ;; code offset: 0x15b - (i32.load + (i32.load $mimport$0 ;; code offset: 0x159 (local.tee $0 ;; code offset: 0x158 @@ -5242,7 +5242,7 @@ file_names[ 4]: ) ) ;; code offset: 0x164 - (i32.store + (i32.store $mimport$0 ;; code offset: 0x160 (local.get $0) ;; code offset: 0x162 @@ -5319,7 +5319,7 @@ file_names[ 4]: ;; code offset: 0x19a (loop $label$14 ;; code offset: 0x1b4 - (i32.store + (i32.store $mimport$0 ;; code offset: 0x1a3 (i32.add ;; code offset: 0x19c @@ -5333,7 +5333,7 @@ file_names[ 4]: ) ) ;; code offset: 0x1b1 - (i32.load + (i32.load $mimport$0 ;; code offset: 0x1b0 (i32.add ;; code offset: 0x1a4 @@ -5374,7 +5374,7 @@ file_names[ 4]: ) ) ;; code offset: 0x1ce - (i32.store + (i32.store $mimport$0 ;; code offset: 0x1cb (i32.add ;; code offset: 0x1c4 @@ -5391,7 +5391,7 @@ file_names[ 4]: (local.get $10) ) ;; code offset: 0x1e5 - (i32.store + (i32.store $mimport$0 ;; code offset: 0x1d9 (local.tee $1 ;; code offset: 0x1d8 @@ -5412,7 +5412,7 @@ file_names[ 4]: ;; code offset: 0x1e0 (local.tee $1 ;; code offset: 0x1dd - (i32.load + (i32.load $mimport$0 ;; code offset: 0x1db (local.get $1) ) @@ -5452,7 +5452,7 @@ file_names[ 4]: ;; code offset: 0x200 (local.set $10 ;; code offset: 0x1fd - (i32.load + (i32.load $mimport$0 ;; code offset: 0x1fb (local.get $4) ) @@ -5463,7 +5463,7 @@ file_names[ 4]: ) ) ;; code offset: 0x21d - (i32.store + (i32.store $mimport$0 ;; code offset: 0x215 (i32.add ;; code offset: 0x209 @@ -5473,7 +5473,7 @@ file_names[ 4]: ;; code offset: 0x210 (local.tee $1 ;; code offset: 0x20d - (i32.load + (i32.load $mimport$0 ;; code offset: 0x20b (local.get $0) ) @@ -5494,7 +5494,7 @@ file_names[ 4]: ) ) ;; code offset: 0x22c - (i32.store + (i32.store $mimport$0 ;; code offset: 0x228 (local.tee $8 ;; code offset: 0x227 @@ -5536,7 +5536,7 @@ file_names[ 4]: ;; code offset: 0x23f (loop $label$17 ;; code offset: 0x250 - (i32.store + (i32.store $mimport$0 ;; code offset: 0x24d (i32.add ;; code offset: 0x241 @@ -5591,7 +5591,7 @@ file_names[ 4]: ;; code offset: 0x26b (local.tee $12 ;; code offset: 0x268 - (i32.load + (i32.load $mimport$0 ;; code offset: 0x266 (local.get $4) ) @@ -5603,7 +5603,7 @@ file_names[ 4]: ;; code offset: 0x277 (i32.eq ;; code offset: 0x272 - (i32.load + (i32.load $mimport$0 ;; code offset: 0x270 (local.get $8) ) @@ -5614,7 +5614,7 @@ file_names[ 4]: ;; code offset: 0x27f (local.set $16 ;; code offset: 0x27c - (i32.load + (i32.load $mimport$0 ;; code offset: 0x27a (local.get $5) ) @@ -5663,7 +5663,7 @@ file_names[ 4]: ;; code offset: 0x2ae (local.set $14 ;; code offset: 0x2ab - (i32.load + (i32.load $mimport$0 ;; code offset: 0x2a9 (local.tee $11 ;; code offset: 0x2a8 @@ -5682,11 +5682,11 @@ file_names[ 4]: ) ) ;; code offset: 0x2bf - (i32.store + (i32.store $mimport$0 ;; code offset: 0x2b0 (local.get $11) ;; code offset: 0x2bc - (i32.load + (i32.load $mimport$0 ;; code offset: 0x2ba (local.tee $15 ;; code offset: 0x2b9 @@ -5705,7 +5705,7 @@ file_names[ 4]: ) ) ;; code offset: 0x2c6 - (i32.store + (i32.store $mimport$0 ;; code offset: 0x2c2 (local.get $15) ;; code offset: 0x2c4 @@ -5742,7 +5742,7 @@ file_names[ 4]: ;; code offset: 0x2e9 (local.set $1 ;; code offset: 0x2e6 - (i32.load + (i32.load $mimport$0 ;; code offset: 0x2e4 (local.tee $0 ;; code offset: 0x2e3 @@ -5761,7 +5761,7 @@ file_names[ 4]: ) ) ;; code offset: 0x2ef - (i32.store + (i32.store $mimport$0 ;; code offset: 0x2eb (local.get $0) ;; code offset: 0x2ed @@ -5838,7 +5838,7 @@ file_names[ 4]: ;; code offset: 0x325 (loop $label$24 ;; code offset: 0x33f - (i32.store + (i32.store $mimport$0 ;; code offset: 0x32e (i32.add ;; code offset: 0x327 @@ -5852,7 +5852,7 @@ file_names[ 4]: ) ) ;; code offset: 0x33c - (i32.load + (i32.load $mimport$0 ;; code offset: 0x33b (i32.add ;; code offset: 0x32f @@ -5893,7 +5893,7 @@ file_names[ 4]: ) ) ;; code offset: 0x359 - (i32.store + (i32.store $mimport$0 ;; code offset: 0x356 (i32.add ;; code offset: 0x34f @@ -5910,7 +5910,7 @@ file_names[ 4]: (local.get $12) ) ;; code offset: 0x370 - (i32.store + (i32.store $mimport$0 ;; code offset: 0x364 (local.tee $1 ;; code offset: 0x363 @@ -5931,7 +5931,7 @@ file_names[ 4]: ;; code offset: 0x36b (local.tee $1 ;; code offset: 0x368 - (i32.load + (i32.load $mimport$0 ;; code offset: 0x366 (local.get $1) ) @@ -5971,7 +5971,7 @@ file_names[ 4]: ;; code offset: 0x38b (local.set $12 ;; code offset: 0x388 - (i32.load + (i32.load $mimport$0 ;; code offset: 0x386 (local.get $4) ) @@ -6048,7 +6048,7 @@ file_names[ 4]: ;; code offset: 0x3d3 (call $atoi ;; code offset: 0x3d0 - (i32.load offset=4 + (i32.load $mimport$0 offset=4 ;; code offset: 0x3ce (local.get $1) ) @@ -6110,7 +6110,7 @@ file_names[ 4]: ;; code offset: 0x402 (loop $label$5 ;; code offset: 0x40c - (i32.store offset=8 + (i32.store $mimport$0 offset=8 ;; code offset: 0x408 (local.tee $3 ;; code offset: 0x406 @@ -6123,14 +6123,14 @@ file_names[ 4]: (local.get $1) ) ;; code offset: 0x413 - (i32.store offset=4 + (i32.store $mimport$0 offset=4 ;; code offset: 0x40f (local.get $3) ;; code offset: 0x411 (local.get $4) ) ;; code offset: 0x41a - (i32.store + (i32.store $mimport$0 ;; code offset: 0x416 (local.get $3) ;; code offset: 0x418 @@ -6208,7 +6208,7 @@ file_names[ 4]: ;; code offset: 0x453 (loop $label$10 ;; code offset: 0x45f - (i32.store + (i32.store $mimport$0 ;; code offset: 0x45c (i32.add ;; code offset: 0x455 @@ -6279,13 +6279,13 @@ file_names[ 4]: ;; code offset: 0x48b (loop $label$12 ;; code offset: 0x49d - (i32.store offset=16 + (i32.store $mimport$0 offset=16 ;; code offset: 0x48d (local.get $2) ;; code offset: 0x49c (i32.add ;; code offset: 0x497 - (i32.load + (i32.load $mimport$0 ;; code offset: 0x496 (i32.add ;; code offset: 0x48f @@ -6360,7 +6360,7 @@ file_names[ 4]: ;; code offset: 0x4c6 (loop $label$14 ;; code offset: 0x4d7 - (i32.store + (i32.store $mimport$0 ;; code offset: 0x4d4 (i32.add ;; code offset: 0x4c8 @@ -6436,7 +6436,7 @@ file_names[ 4]: ;; code offset: 0x504 (local.set $8 ;; code offset: 0x501 - (i32.load + (i32.load $mimport$0 ;; code offset: 0x4ff (local.get $1) ) @@ -6456,7 +6456,7 @@ file_names[ 4]: ;; code offset: 0x50f (loop $label$17 ;; code offset: 0x529 - (i32.store + (i32.store $mimport$0 ;; code offset: 0x518 (i32.add ;; code offset: 0x511 @@ -6470,7 +6470,7 @@ file_names[ 4]: ) ) ;; code offset: 0x526 - (i32.load + (i32.load $mimport$0 ;; code offset: 0x525 (i32.add ;; code offset: 0x519 @@ -6511,7 +6511,7 @@ file_names[ 4]: ) ) ;; code offset: 0x543 - (i32.store + (i32.store $mimport$0 ;; code offset: 0x540 (i32.add ;; code offset: 0x539 @@ -6528,7 +6528,7 @@ file_names[ 4]: (local.get $8) ) ;; code offset: 0x55a - (i32.store + (i32.store $mimport$0 ;; code offset: 0x54e (local.tee $0 ;; code offset: 0x54d @@ -6549,7 +6549,7 @@ file_names[ 4]: ;; code offset: 0x555 (local.tee $0 ;; code offset: 0x552 - (i32.load + (i32.load $mimport$0 ;; code offset: 0x550 (local.get $0) ) @@ -6629,7 +6629,7 @@ file_names[ 4]: ;; code offset: 0x590 (loop $label$21 ;; code offset: 0x5a1 - (i32.store + (i32.store $mimport$0 ;; code offset: 0x59e (i32.add ;; code offset: 0x592 @@ -6700,7 +6700,7 @@ file_names[ 4]: ;; code offset: 0x5ca (local.set $8 ;; code offset: 0x5c7 - (i32.load + (i32.load $mimport$0 ;; code offset: 0x5c5 (local.get $1) ) @@ -6725,7 +6725,7 @@ file_names[ 4]: ;; code offset: 0x5d9 (loop $label$24 ;; code offset: 0x5f3 - (i32.store + (i32.store $mimport$0 ;; code offset: 0x5e2 (i32.add ;; code offset: 0x5db @@ -6739,7 +6739,7 @@ file_names[ 4]: ) ) ;; code offset: 0x5f0 - (i32.load + (i32.load $mimport$0 ;; code offset: 0x5ef (i32.add ;; code offset: 0x5e3 @@ -6780,7 +6780,7 @@ file_names[ 4]: ) ) ;; code offset: 0x60d - (i32.store + (i32.store $mimport$0 ;; code offset: 0x60a (i32.add ;; code offset: 0x603 @@ -6797,7 +6797,7 @@ file_names[ 4]: (local.get $8) ) ;; code offset: 0x624 - (i32.store + (i32.store $mimport$0 ;; code offset: 0x618 (local.tee $0 ;; code offset: 0x617 @@ -6818,7 +6818,7 @@ file_names[ 4]: ;; code offset: 0x61f (local.tee $0 ;; code offset: 0x61c - (i32.load + (i32.load $mimport$0 ;; code offset: 0x61a (local.get $0) ) @@ -6916,7 +6916,7 @@ file_names[ 4]: ;; code offset: 0x66e (local.set $6 ;; code offset: 0x66b - (i32.load offset=8 + (i32.load $mimport$0 offset=8 ;; code offset: 0x669 (local.get $3) ) @@ -6956,14 +6956,14 @@ file_names[ 4]: ) ) ;; code offset: 0x68e - (i32.store offset=4 + (i32.store $mimport$0 offset=4 ;; code offset: 0x68a (local.get $2) ;; code offset: 0x68c (local.get $0) ) ;; code offset: 0x695 - (i32.store + (i32.store $mimport$0 ;; code offset: 0x691 (local.get $2) ;; code offset: 0x693 diff --git a/test/passes/fannkuch3_manyopts_dwarf.bin.txt b/test/passes/fannkuch3_manyopts_dwarf.bin.txt index b9750d21e48..3c9fded9657 100644 --- a/test/passes/fannkuch3_manyopts_dwarf.bin.txt +++ b/test/passes/fannkuch3_manyopts_dwarf.bin.txt @@ -4749,7 +4749,7 @@ file_names[ 4]: ;; code offset: 0x2d (local.tee $2 ;; code offset: 0x2a - (i32.load offset=4 + (i32.load $mimport$0 offset=4 ;; code offset: 0x28 (local.get $0) ) @@ -4792,7 +4792,7 @@ file_names[ 4]: ;; code offset: 0x4f (loop $label$4 ;; code offset: 0x5b - (i32.store + (i32.store $mimport$0 ;; code offset: 0x58 (i32.add ;; code offset: 0x51 @@ -4828,7 +4828,7 @@ file_names[ 4]: ) ) ;; code offset: 0x7f - (i32.store + (i32.store $mimport$0 ;; code offset: 0x77 (i32.add ;; code offset: 0x6b @@ -4838,7 +4838,7 @@ file_names[ 4]: ;; code offset: 0x72 (local.tee $1 ;; code offset: 0x6f - (i32.load + (i32.load $mimport$0 ;; code offset: 0x6d (local.get $0) ) @@ -4859,7 +4859,7 @@ file_names[ 4]: ) ) ;; code offset: 0x8e - (i32.store + (i32.store $mimport$0 ;; code offset: 0x8a (local.tee $13 ;; code offset: 0x89 @@ -4902,7 +4902,7 @@ file_names[ 4]: ;; code offset: 0xa1 (loop $label$7 ;; code offset: 0xb2 - (i32.store + (i32.store $mimport$0 ;; code offset: 0xaf (i32.add ;; code offset: 0xa3 @@ -4957,7 +4957,7 @@ file_names[ 4]: ;; code offset: 0xcd (local.tee $10 ;; code offset: 0xca - (i32.load + (i32.load $mimport$0 ;; code offset: 0xc8 (local.get $3) ) @@ -4969,7 +4969,7 @@ file_names[ 4]: ;; code offset: 0xd9 (i32.eq ;; code offset: 0xd4 - (i32.load + (i32.load $mimport$0 ;; code offset: 0xd2 (local.get $13) ) @@ -4980,7 +4980,7 @@ file_names[ 4]: ;; code offset: 0xe9 (local.set $6 ;; code offset: 0xe6 - (i32.load + (i32.load $mimport$0 ;; code offset: 0xe4 (local.tee $11 ;; code offset: 0xe2 @@ -5037,7 +5037,7 @@ file_names[ 4]: ;; code offset: 0x116 (local.set $15 ;; code offset: 0x113 - (i32.load + (i32.load $mimport$0 ;; code offset: 0x111 (local.tee $14 ;; code offset: 0x110 @@ -5056,11 +5056,11 @@ file_names[ 4]: ) ) ;; code offset: 0x127 - (i32.store + (i32.store $mimport$0 ;; code offset: 0x118 (local.get $14) ;; code offset: 0x124 - (i32.load + (i32.load $mimport$0 ;; code offset: 0x122 (local.tee $7 ;; code offset: 0x121 @@ -5079,7 +5079,7 @@ file_names[ 4]: ) ) ;; code offset: 0x12e - (i32.store + (i32.store $mimport$0 ;; code offset: 0x12a (local.get $7) ;; code offset: 0x12c @@ -5117,7 +5117,7 @@ file_names[ 4]: ;; code offset: 0x151 (local.set $1 ;; code offset: 0x14e - (i32.load + (i32.load $mimport$0 ;; code offset: 0x14c (local.tee $0 ;; code offset: 0x14b @@ -5136,7 +5136,7 @@ file_names[ 4]: ) ) ;; code offset: 0x157 - (i32.store + (i32.store $mimport$0 ;; code offset: 0x153 (local.get $0) ;; code offset: 0x155 @@ -5211,7 +5211,7 @@ file_names[ 4]: ;; code offset: 0x18b (loop $label$14 ;; code offset: 0x1a5 - (i32.store + (i32.store $mimport$0 ;; code offset: 0x194 (i32.add ;; code offset: 0x18d @@ -5225,7 +5225,7 @@ file_names[ 4]: ) ) ;; code offset: 0x1a2 - (i32.load + (i32.load $mimport$0 ;; code offset: 0x1a1 (i32.add ;; code offset: 0x195 @@ -5267,7 +5267,7 @@ file_names[ 4]: ) ) ;; code offset: 0x1bf - (i32.store + (i32.store $mimport$0 ;; code offset: 0x1bc (i32.add ;; code offset: 0x1b5 @@ -5284,7 +5284,7 @@ file_names[ 4]: (local.get $10) ) ;; code offset: 0x1d6 - (i32.store + (i32.store $mimport$0 ;; code offset: 0x1ca (local.tee $1 ;; code offset: 0x1c9 @@ -5305,7 +5305,7 @@ file_names[ 4]: ;; code offset: 0x1d1 (local.tee $1 ;; code offset: 0x1ce - (i32.load + (i32.load $mimport$0 ;; code offset: 0x1cc (local.get $1) ) @@ -5345,7 +5345,7 @@ file_names[ 4]: ;; code offset: 0x1f1 (local.set $10 ;; code offset: 0x1ee - (i32.load + (i32.load $mimport$0 ;; code offset: 0x1ec (local.get $3) ) @@ -5357,7 +5357,7 @@ file_names[ 4]: ) ) ;; code offset: 0x20e - (i32.store + (i32.store $mimport$0 ;; code offset: 0x206 (i32.add ;; code offset: 0x1fa @@ -5367,7 +5367,7 @@ file_names[ 4]: ;; code offset: 0x201 (local.tee $1 ;; code offset: 0x1fe - (i32.load + (i32.load $mimport$0 ;; code offset: 0x1fc (local.get $0) ) @@ -5388,7 +5388,7 @@ file_names[ 4]: ) ) ;; code offset: 0x21d - (i32.store + (i32.store $mimport$0 ;; code offset: 0x219 (local.tee $13 ;; code offset: 0x218 @@ -5422,7 +5422,7 @@ file_names[ 4]: ;; code offset: 0x22a (loop $label$17 ;; code offset: 0x23b - (i32.store + (i32.store $mimport$0 ;; code offset: 0x238 (i32.add ;; code offset: 0x22c @@ -5477,7 +5477,7 @@ file_names[ 4]: ;; code offset: 0x256 (local.tee $6 ;; code offset: 0x253 - (i32.load + (i32.load $mimport$0 ;; code offset: 0x251 (local.get $3) ) @@ -5489,7 +5489,7 @@ file_names[ 4]: ;; code offset: 0x262 (i32.eq ;; code offset: 0x25d - (i32.load + (i32.load $mimport$0 ;; code offset: 0x25b (local.get $13) ) @@ -5500,7 +5500,7 @@ file_names[ 4]: ;; code offset: 0x26a (local.set $7 ;; code offset: 0x267 - (i32.load + (i32.load $mimport$0 ;; code offset: 0x265 (local.get $8) ) @@ -5547,7 +5547,7 @@ file_names[ 4]: ;; code offset: 0x297 (local.set $14 ;; code offset: 0x294 - (i32.load + (i32.load $mimport$0 ;; code offset: 0x292 (local.tee $11 ;; code offset: 0x291 @@ -5566,11 +5566,11 @@ file_names[ 4]: ) ) ;; code offset: 0x2a8 - (i32.store + (i32.store $mimport$0 ;; code offset: 0x299 (local.get $11) ;; code offset: 0x2a5 - (i32.load + (i32.load $mimport$0 ;; code offset: 0x2a3 (local.tee $15 ;; code offset: 0x2a2 @@ -5589,7 +5589,7 @@ file_names[ 4]: ) ) ;; code offset: 0x2af - (i32.store + (i32.store $mimport$0 ;; code offset: 0x2ab (local.get $15) ;; code offset: 0x2ad @@ -5627,7 +5627,7 @@ file_names[ 4]: ;; code offset: 0x2d2 (local.set $1 ;; code offset: 0x2cf - (i32.load + (i32.load $mimport$0 ;; code offset: 0x2cd (local.tee $0 ;; code offset: 0x2cc @@ -5646,7 +5646,7 @@ file_names[ 4]: ) ) ;; code offset: 0x2d8 - (i32.store + (i32.store $mimport$0 ;; code offset: 0x2d4 (local.get $0) ;; code offset: 0x2d6 @@ -5721,7 +5721,7 @@ file_names[ 4]: ;; code offset: 0x30c (loop $label$24 ;; code offset: 0x326 - (i32.store + (i32.store $mimport$0 ;; code offset: 0x315 (i32.add ;; code offset: 0x30e @@ -5735,7 +5735,7 @@ file_names[ 4]: ) ) ;; code offset: 0x323 - (i32.load + (i32.load $mimport$0 ;; code offset: 0x322 (i32.add ;; code offset: 0x316 @@ -5777,7 +5777,7 @@ file_names[ 4]: ) ) ;; code offset: 0x340 - (i32.store + (i32.store $mimport$0 ;; code offset: 0x33d (i32.add ;; code offset: 0x336 @@ -5794,7 +5794,7 @@ file_names[ 4]: (local.get $6) ) ;; code offset: 0x357 - (i32.store + (i32.store $mimport$0 ;; code offset: 0x34b (local.tee $1 ;; code offset: 0x34a @@ -5815,7 +5815,7 @@ file_names[ 4]: ;; code offset: 0x352 (local.tee $1 ;; code offset: 0x34f - (i32.load + (i32.load $mimport$0 ;; code offset: 0x34d (local.get $1) ) @@ -5855,7 +5855,7 @@ file_names[ 4]: ;; code offset: 0x372 (local.set $6 ;; code offset: 0x36f - (i32.load + (i32.load $mimport$0 ;; code offset: 0x36d (local.get $3) ) @@ -5925,7 +5925,7 @@ file_names[ 4]: ;; code offset: 0x3b4 (call $atoi ;; code offset: 0x3b1 - (i32.load offset=4 + (i32.load $mimport$0 offset=4 ;; code offset: 0x3af (local.get $1) ) @@ -5985,7 +5985,7 @@ file_names[ 4]: ;; code offset: 0x3e1 (loop $label$5 ;; code offset: 0x3eb - (i32.store offset=8 + (i32.store $mimport$0 offset=8 ;; code offset: 0x3e7 (local.tee $4 ;; code offset: 0x3e5 @@ -5998,14 +5998,14 @@ file_names[ 4]: (local.get $1) ) ;; code offset: 0x3f2 - (i32.store offset=4 + (i32.store $mimport$0 offset=4 ;; code offset: 0x3ee (local.get $4) ;; code offset: 0x3f0 (local.get $3) ) ;; code offset: 0x3f9 - (i32.store + (i32.store $mimport$0 ;; code offset: 0x3f5 (local.get $4) ;; code offset: 0x3f7 @@ -6083,7 +6083,7 @@ file_names[ 4]: ;; code offset: 0x430 (loop $label$10 ;; code offset: 0x43c - (i32.store + (i32.store $mimport$0 ;; code offset: 0x439 (i32.add ;; code offset: 0x432 @@ -6155,13 +6155,13 @@ file_names[ 4]: ;; code offset: 0x468 (loop $label$12 ;; code offset: 0x47a - (i32.store offset=16 + (i32.store $mimport$0 offset=16 ;; code offset: 0x46a (local.get $8) ;; code offset: 0x479 (i32.add ;; code offset: 0x474 - (i32.load + (i32.load $mimport$0 ;; code offset: 0x473 (i32.add ;; code offset: 0x46c @@ -6233,7 +6233,7 @@ file_names[ 4]: ;; code offset: 0x4a1 (loop $label$14 ;; code offset: 0x4b2 - (i32.store + (i32.store $mimport$0 ;; code offset: 0x4af (i32.add ;; code offset: 0x4a3 @@ -6309,7 +6309,7 @@ file_names[ 4]: ;; code offset: 0x4df (local.set $7 ;; code offset: 0x4dc - (i32.load + (i32.load $mimport$0 ;; code offset: 0x4da (local.get $1) ) @@ -6327,7 +6327,7 @@ file_names[ 4]: ;; code offset: 0x4e8 (loop $label$17 ;; code offset: 0x502 - (i32.store + (i32.store $mimport$0 ;; code offset: 0x4f1 (i32.add ;; code offset: 0x4ea @@ -6341,7 +6341,7 @@ file_names[ 4]: ) ) ;; code offset: 0x4ff - (i32.load + (i32.load $mimport$0 ;; code offset: 0x4fe (i32.add ;; code offset: 0x4f2 @@ -6383,7 +6383,7 @@ file_names[ 4]: ) ) ;; code offset: 0x51c - (i32.store + (i32.store $mimport$0 ;; code offset: 0x519 (i32.add ;; code offset: 0x512 @@ -6400,7 +6400,7 @@ file_names[ 4]: (local.get $7) ) ;; code offset: 0x533 - (i32.store + (i32.store $mimport$0 ;; code offset: 0x527 (local.tee $0 ;; code offset: 0x526 @@ -6421,7 +6421,7 @@ file_names[ 4]: ;; code offset: 0x52e (local.tee $0 ;; code offset: 0x52b - (i32.load + (i32.load $mimport$0 ;; code offset: 0x529 (local.get $0) ) @@ -6494,7 +6494,7 @@ file_names[ 4]: ;; code offset: 0x563 (loop $label$21 ;; code offset: 0x574 - (i32.store + (i32.store $mimport$0 ;; code offset: 0x571 (i32.add ;; code offset: 0x565 @@ -6565,7 +6565,7 @@ file_names[ 4]: ;; code offset: 0x59d (local.set $7 ;; code offset: 0x59a - (i32.load + (i32.load $mimport$0 ;; code offset: 0x598 (local.get $1) ) @@ -6588,7 +6588,7 @@ file_names[ 4]: ;; code offset: 0x5aa (loop $label$24 ;; code offset: 0x5c4 - (i32.store + (i32.store $mimport$0 ;; code offset: 0x5b3 (i32.add ;; code offset: 0x5ac @@ -6602,7 +6602,7 @@ file_names[ 4]: ) ) ;; code offset: 0x5c1 - (i32.load + (i32.load $mimport$0 ;; code offset: 0x5c0 (i32.add ;; code offset: 0x5b4 @@ -6644,7 +6644,7 @@ file_names[ 4]: ) ) ;; code offset: 0x5de - (i32.store + (i32.store $mimport$0 ;; code offset: 0x5db (i32.add ;; code offset: 0x5d4 @@ -6661,7 +6661,7 @@ file_names[ 4]: (local.get $7) ) ;; code offset: 0x5f5 - (i32.store + (i32.store $mimport$0 ;; code offset: 0x5e9 (local.tee $0 ;; code offset: 0x5e8 @@ -6682,7 +6682,7 @@ file_names[ 4]: ;; code offset: 0x5f0 (local.tee $0 ;; code offset: 0x5ed - (i32.load + (i32.load $mimport$0 ;; code offset: 0x5eb (local.get $0) ) @@ -6768,7 +6768,7 @@ file_names[ 4]: ;; code offset: 0x636 (local.set $2 ;; code offset: 0x633 - (i32.load offset=8 + (i32.load $mimport$0 offset=8 ;; code offset: 0x631 (local.get $4) ) @@ -6808,14 +6808,14 @@ file_names[ 4]: ) ) ;; code offset: 0x656 - (i32.store offset=4 + (i32.store $mimport$0 offset=4 ;; code offset: 0x652 (local.get $8) ;; code offset: 0x654 (local.get $0) ) ;; code offset: 0x65d - (i32.store + (i32.store $mimport$0 ;; code offset: 0x659 (local.get $8) ;; code offset: 0x65b diff --git a/test/passes/fuzz-exec_O.txt b/test/passes/fuzz-exec_O.txt index 21bf30eb9cb..760fd66fb43 100644 --- a/test/passes/fuzz-exec_O.txt +++ b/test/passes/fuzz-exec_O.txt @@ -12,14 +12,14 @@ (block $label$0 (result i64) (br_if $label$0 (i64.const 1234) - (i32.load16_s offset=22 align=1 + (i32.load16_s $0 offset=22 align=1 (i32.const -1) ) ) ) ) (func $func_1 (; has Stack IR ;) (result i32) - (i32.load16_s offset=22 align=1 + (i32.load16_s $0 offset=22 align=1 (i32.const -1) ) ) diff --git a/test/passes/fuzz-exec_all-features.txt b/test/passes/fuzz-exec_all-features.txt index 4b3e64e7c82..6f2ae13563a 100644 --- a/test/passes/fuzz-exec_all-features.txt +++ b/test/passes/fuzz-exec_all-features.txt @@ -83,43 +83,43 @@ (export "wrap_cmpxchg" (func $4)) (export "oob_notify" (func $5)) (func $0 (result i32) - (i32.atomic.load + (i32.atomic.load $0 (i32.const 1) ) ) (func $1 (result i32) - (i32.atomic.load offset=1 + (i32.atomic.load $0 offset=1 (i32.const 0) ) ) (func $2 (result i32) - (i32.atomic.load16_u offset=2 + (i32.atomic.load16_u $0 offset=2 (i32.const 0) ) ) (func $3 (result i32) - (memory.atomic.notify + (memory.atomic.notify $0 (i32.const 1) (i32.const 1) ) ) (func $4 (param $0 i32) (param $1 i32) (drop - (i32.atomic.rmw8.cmpxchg_u + (i32.atomic.rmw8.cmpxchg_u $0 (i32.const 0) (i32.const 256) (i32.const 42) ) ) (call $fimport$0 - (i32.load + (i32.load $0 (i32.const 0) ) ) ) (func $5 (drop - (memory.atomic.notify offset=22 + (memory.atomic.notify $0 offset=22 (i32.const -104) (i32.const -72) ) @@ -152,7 +152,7 @@ (data (i32.const 0) "\ff\ff") (export "unsigned_2_bytes" (func $0)) (func $0 (result i32) - (i32.atomic.rmw16.xor_u + (i32.atomic.rmw16.xor_u $0 (i32.const 0) (i32.const 0) ) @@ -171,13 +171,13 @@ (export "rmw-reads-modifies-and-writes" (func $0)) (func $0 (drop - (i64.atomic.rmw16.and_u offset=4 + (i64.atomic.rmw16.and_u $0 offset=4 (i32.const 0) (i64.const 65535) ) ) (call $fimport$0 - (i32.load8_u + (i32.load8_u $0 (i32.const 5) ) ) @@ -196,13 +196,13 @@ (export "rmw-reads-modifies-and-writes-asymmetrical" (func $0)) (func $0 (drop - (i32.atomic.rmw8.sub_u + (i32.atomic.rmw8.sub_u $0 (i32.const 3) (i32.const 42) ) ) (call $fimport$0 - (i32.load8_u + (i32.load8_u $0 (i32.const 3) ) ) diff --git a/test/passes/generate-stack-ir_optimize-stack-ir_print-stack-ir_optimize-level=3.txt b/test/passes/generate-stack-ir_optimize-stack-ir_print-stack-ir_optimize-level=3.txt index e94bc35318d..53f920a2ddb 100644 --- a/test/passes/generate-stack-ir_optimize-stack-ir_print-stack-ir_optimize-level=3.txt +++ b/test/passes/generate-stack-ir_optimize-stack-ir_print-stack-ir_optimize-level=3.txt @@ -34,21 +34,21 @@ (local $temp f64) block $topmost (result f64) i32.const 8 - f64.load + f64.load $0 i32.const 16 - f64.load + f64.load $0 f64.add i32.const 16 - f64.load + f64.load $0 f64.neg f64.add i32.const 8 - f64.load + f64.load $0 f64.neg f64.add local.set $temp i32.const 24 - i32.load + i32.load $0 i32.const 0 i32.gt_s if @@ -56,7 +56,7 @@ br $topmost end i32.const 32 - f64.load + f64.load $0 f64.const 0 f64.gt if @@ -323,7 +323,7 @@ (func $i64-store32 (param $0 i32) (param $1 i64) local.get $0 local.get $1 - i64.store32 + i64.store32 $0 ) (func $return-unreachable (result i32) i32.const 1 @@ -674,21 +674,21 @@ (f64.add (f64.add (f64.add - (f64.load + (f64.load $0 (i32.const 8) ) - (f64.load + (f64.load $0 (i32.const 16) ) ) (f64.neg - (f64.load + (f64.load $0 (i32.const 16) ) ) ) (f64.neg - (f64.load + (f64.load $0 (i32.const 8) ) ) @@ -696,7 +696,7 @@ ) (if (i32.gt_s - (i32.load + (i32.load $0 (i32.const 24) ) (i32.const 0) @@ -707,7 +707,7 @@ ) (if (f64.gt - (f64.load + (f64.load $0 (i32.const 32) ) (f64.const 0) @@ -1072,7 +1072,7 @@ (i64.const -9218868437227405313) ) (func $i64-store32 (; has Stack IR ;) (param $0 i32) (param $1 i64) - (i64.store32 + (i64.store32 $0 (local.get $0) (local.get $1) ) diff --git a/test/passes/ignore_missing_func_dwarf.bin.txt b/test/passes/ignore_missing_func_dwarf.bin.txt index 2ac6414481f..cda2aa3a996 100644 --- a/test/passes/ignore_missing_func_dwarf.bin.txt +++ b/test/passes/ignore_missing_func_dwarf.bin.txt @@ -46,7 +46,7 @@ ) ) ;; code offset: 0x1f - (i32.store offset=12 + (i32.store $mimport$0 offset=12 ;; code offset: 0x1b (local.get $3) ;; code offset: 0x1d @@ -55,7 +55,7 @@ ;; code offset: 0x27 (local.set $4 ;; code offset: 0x24 - (i32.load offset=12 + (i32.load $mimport$0 offset=12 ;; code offset: 0x22 (local.get $3) ) @@ -76,7 +76,7 @@ ) ) ;; code offset: 0x38 - (i32.store offset=12 + (i32.store $mimport$0 offset=12 ;; code offset: 0x34 (local.get $3) ;; code offset: 0x36 @@ -85,7 +85,7 @@ ;; code offset: 0x40 (local.set $7 ;; code offset: 0x3d - (i32.load offset=12 + (i32.load $mimport$0 offset=12 ;; code offset: 0x3b (local.get $3) ) @@ -106,7 +106,7 @@ ) ) ;; code offset: 0x51 - (i32.store offset=12 + (i32.store $mimport$0 offset=12 ;; code offset: 0x4d (local.get $3) ;; code offset: 0x4f @@ -115,7 +115,7 @@ ;; code offset: 0x59 (local.set $10 ;; code offset: 0x56 - (i32.load offset=12 + (i32.load $mimport$0 offset=12 ;; code offset: 0x54 (local.get $3) ) @@ -174,7 +174,7 @@ (i32.const 0) ) ;; code offset: 0x8a - (i32.store offset=12 + (i32.store $mimport$0 offset=12 ;; code offset: 0x86 (local.get $2) ;; code offset: 0x88 @@ -196,7 +196,7 @@ ;; code offset: 0xa4 (local.set $7 ;; code offset: 0x9d - (i32.load offset=1168 + (i32.load $mimport$0 offset=1168 ;; code offset: 0x9b (local.get $6) ) @@ -869,7 +869,7 @@ file_names[ 1]: ) ) ;; code offset: 0x2d - (i32.store offset=12 + (i32.store $mimport$0 offset=12 ;; code offset: 0x29 (local.get $3) ;; code offset: 0x2b @@ -878,7 +878,7 @@ file_names[ 1]: ;; code offset: 0x35 (local.set $4 ;; code offset: 0x32 - (i32.load offset=12 + (i32.load $mimport$0 offset=12 ;; code offset: 0x30 (local.get $3) ) @@ -899,7 +899,7 @@ file_names[ 1]: ) ) ;; code offset: 0x46 - (i32.store offset=12 + (i32.store $mimport$0 offset=12 ;; code offset: 0x42 (local.get $3) ;; code offset: 0x44 @@ -908,7 +908,7 @@ file_names[ 1]: ;; code offset: 0x4e (local.set $7 ;; code offset: 0x4b - (i32.load offset=12 + (i32.load $mimport$0 offset=12 ;; code offset: 0x49 (local.get $3) ) @@ -929,7 +929,7 @@ file_names[ 1]: ) ) ;; code offset: 0x5f - (i32.store offset=12 + (i32.store $mimport$0 offset=12 ;; code offset: 0x5b (local.get $3) ;; code offset: 0x5d @@ -938,7 +938,7 @@ file_names[ 1]: ;; code offset: 0x67 (local.set $10 ;; code offset: 0x64 - (i32.load offset=12 + (i32.load $mimport$0 offset=12 ;; code offset: 0x62 (local.get $3) ) @@ -997,7 +997,7 @@ file_names[ 1]: (i32.const 0) ) ;; code offset: 0xa4 - (i32.store offset=12 + (i32.store $mimport$0 offset=12 ;; code offset: 0xa0 (local.get $2) ;; code offset: 0xa2 @@ -1019,7 +1019,7 @@ file_names[ 1]: ;; code offset: 0xb7 (local.set $7 ;; code offset: 0xb3 - (i32.load offset=1168 + (i32.load $mimport$0 offset=1168 ;; code offset: 0xb1 (local.get $6) ) diff --git a/test/passes/licm.txt b/test/passes/licm.txt index 0ad7af77154..28181027984 100644 --- a/test/passes/licm.txt +++ b/test/passes/licm.txt @@ -51,7 +51,7 @@ ) (func $loop4 (drop - (i32.load + (i32.load $0 (i32.const 1) ) ) @@ -65,13 +65,13 @@ (func $loop3-4 (loop $loop (drop - (i32.load + (i32.load $0 (i32.const 10) ) ) (call $loop2) (drop - (i32.load + (i32.load $0 (i32.const 20) ) ) @@ -82,12 +82,12 @@ ) (func $loop3-4-b (drop - (i32.load + (i32.load $0 (i32.const 10) ) ) (drop - (i32.load + (i32.load $0 (i32.const 20) ) ) @@ -101,7 +101,7 @@ ) (func $loop5 (loop $loop - (i32.store + (i32.store $0 (i32.const 1) (i32.const 2) ) @@ -112,11 +112,11 @@ ) (func $loop6 (loop $loop - (i32.store + (i32.store $0 (i32.const 1) (i32.const 2) ) - (i32.store + (i32.store $0 (i32.const 2) (i32.const 3) ) @@ -124,11 +124,11 @@ ) (func $loop7 (loop $loop - (i32.store + (i32.store $0 (i32.const 1) (i32.const 2) ) - (i32.store + (i32.store $0 (i32.const 2) (i32.const 3) ) @@ -139,7 +139,7 @@ ) (func $loop8 (loop $loop - (i32.store + (i32.store $0 (i32.const 1) (i32.const 2) ) @@ -151,11 +151,11 @@ (func $loop9 (loop $loop (drop - (i32.load + (i32.load $0 (i32.const 1) ) ) - (i32.store + (i32.store $0 (i32.const 1) (i32.const 2) ) @@ -166,12 +166,12 @@ ) (func $loop10 (drop - (i32.load + (i32.load $0 (i32.const 1) ) ) (drop - (i32.load + (i32.load $0 (i32.const 2) ) ) @@ -605,11 +605,11 @@ (func $load-store (param $x i32) (loop $loop (drop - (i32.load + (i32.load $0 (i32.const 0) ) ) - (i32.store + (i32.store $0 (local.get $x) (local.get $x) ) diff --git a/test/passes/memory64-lowering_enable-memory64_enable-bulk-memory_enable-threads.txt b/test/passes/memory64-lowering_enable-memory64_enable-bulk-memory_enable-threads.txt index 53577823230..99a767dbb96 100644 --- a/test/passes/memory64-lowering_enable-memory64_enable-bulk-memory_enable-threads.txt +++ b/test/passes/memory64-lowering_enable-memory64_enable-bulk-memory_enable-threads.txt @@ -5,119 +5,119 @@ (func $func_1 (local $0 i64) (drop - (i32.load + (i32.load $0 (i32.wrap_i64 (i64.const 4) ) ) ) (drop - (i32.load align=1 + (i32.load $0 align=1 (i32.wrap_i64 (i64.const 4) ) ) ) (drop - (i32.load align=2 + (i32.load $0 align=2 (i32.wrap_i64 (i64.const 4) ) ) ) (drop - (i32.load + (i32.load $0 (i32.wrap_i64 (i64.const 4) ) ) ) (drop - (i32.load offset=100 + (i32.load $0 offset=100 (i32.wrap_i64 (i64.const 4) ) ) ) (drop - (i32.load offset=100 align=1 + (i32.load $0 offset=100 align=1 (i32.wrap_i64 (i64.const 4) ) ) ) (drop - (i32.load offset=100 align=2 + (i32.load $0 offset=100 align=2 (i32.wrap_i64 (i64.const 4) ) ) ) (drop - (i32.load offset=100 + (i32.load $0 offset=100 (i32.wrap_i64 (i64.const 4) ) ) ) (drop - (i32.load offset=100 align=1 + (i32.load $0 offset=100 align=1 (unreachable) ) ) - (i32.store + (i32.store $0 (i32.wrap_i64 (i64.const 4) ) (i32.const 8) ) - (i32.store align=1 + (i32.store $0 align=1 (i32.wrap_i64 (i64.const 4) ) (i32.const 8) ) - (i32.store align=2 + (i32.store $0 align=2 (i32.wrap_i64 (i64.const 4) ) (i32.const 8) ) - (i32.store + (i32.store $0 (i32.wrap_i64 (i64.const 4) ) (i32.const 8) ) - (i32.store offset=100 + (i32.store $0 offset=100 (i32.wrap_i64 (i64.const 4) ) (i32.const 8) ) - (i32.store offset=100 align=1 + (i32.store $0 offset=100 align=1 (i32.wrap_i64 (i64.const 4) ) (i32.const 8) ) - (i32.store offset=100 align=2 + (i32.store $0 offset=100 align=2 (i32.wrap_i64 (i64.const 4) ) (i32.const 8) ) - (i32.store offset=100 + (i32.store $0 offset=100 (i32.wrap_i64 (i64.const 4) ) (i32.const 8) ) - (i32.store offset=100 align=1 + (i32.store $0 offset=100 align=1 (unreachable) (i32.const 8) ) - (i32.store offset=100 align=1 + (i32.store $0 offset=100 align=1 (i32.wrap_i64 (i64.const 4) ) @@ -125,26 +125,26 @@ ) (local.set $0 (i64.extend_i32_u - (memory.size) + (memory.size $0) ) ) (local.set $0 (i64.extend_i32_u - (memory.grow + (memory.grow $0 (i32.wrap_i64 (i64.const 1) ) ) ) ) - (memory.init 0 + (memory.init $0 0 (i32.wrap_i64 (i64.const 1) ) (i32.const 2) (i32.const 3) ) - (memory.fill + (memory.fill $0 (i32.wrap_i64 (i64.const 1) ) @@ -153,7 +153,7 @@ (i64.const 3) ) ) - (memory.copy + (memory.copy $0 $0 (i32.wrap_i64 (i64.const 1) ) @@ -165,20 +165,20 @@ ) ) (drop - (i32.atomic.load + (i32.atomic.load $0 (i32.wrap_i64 (i64.const 4) ) ) ) - (i32.atomic.store + (i32.atomic.store $0 (i32.wrap_i64 (i64.const 4) ) (i32.const 8) ) (drop - (i32.atomic.rmw8.add_u + (i32.atomic.rmw8.add_u $0 (i32.wrap_i64 (i64.const 1) ) @@ -186,7 +186,7 @@ ) ) (drop - (i32.atomic.rmw8.cmpxchg_u + (i32.atomic.rmw8.cmpxchg_u $0 (i32.wrap_i64 (i64.const 1) ) @@ -195,7 +195,7 @@ ) ) (drop - (memory.atomic.wait32 + (memory.atomic.wait32 $0 (i32.wrap_i64 (i64.const 1) ) @@ -204,7 +204,7 @@ ) ) (drop - (memory.atomic.notify + (memory.atomic.notify $0 (i32.wrap_i64 (i64.const 1) ) diff --git a/test/passes/optimize-added-constants-propagate_low-memory-unused.txt b/test/passes/optimize-added-constants-propagate_low-memory-unused.txt index ee073ff1d16..b57e1f02aac 100644 --- a/test/passes/optimize-added-constants-propagate_low-memory-unused.txt +++ b/test/passes/optimize-added-constants-propagate_low-memory-unused.txt @@ -5,78 +5,78 @@ (memory $0 1 1) (func $consts (drop - (i32.load + (i32.load $0 (i32.const 0) ) ) (drop - (i32.load + (i32.load $0 (i32.const 1) ) ) (drop - (i32.load + (i32.load $0 (i32.const 1023) ) ) (drop - (i32.load + (i32.load $0 (i32.const 1024) ) ) (drop - (i32.load + (i32.load $0 (i32.const 0) ) ) (drop - (i32.load + (i32.load $0 (i32.const 1) ) ) (drop - (i32.load + (i32.load $0 (i32.const 1023) ) ) (drop - (i32.load + (i32.load $0 (i32.const 1024) ) ) (drop - (i32.load + (i32.load $0 (i32.const 1023) ) ) (drop - (i32.load + (i32.load $0 (i32.const 1024) ) ) - (i32.store + (i32.store $0 (i32.const 1) (i32.const 1) ) ) (func $offsets (param $x i32) (drop - (i32.load offset=1 + (i32.load $0 offset=1 (local.get $x) ) ) (drop - (i32.load offset=8 + (i32.load $0 offset=8 (local.get $x) ) ) (drop - (i32.load offset=1023 + (i32.load $0 offset=1023 (local.get $x) ) ) (drop - (i32.load + (i32.load $0 (i32.add (local.get $x) (i32.const 1024) @@ -84,7 +84,7 @@ ) ) (drop - (i32.load + (i32.load $0 (i32.add (local.get $x) (i32.const 2048) @@ -92,115 +92,115 @@ ) ) (drop - (i32.load offset=4 + (i32.load $0 offset=4 (local.get $x) ) ) ) (func $load-off-2 (param $0 i32) (result i32) - (i32.store + (i32.store $0 (i32.const 6) (local.get $0) ) - (i32.store + (i32.store $0 (i32.const 6) (local.get $0) ) - (i32.store offset=7 + (i32.store $0 offset=7 (local.get $0) (local.get $0) ) - (i32.store offset=9 + (i32.store $0 offset=9 (local.get $0) (local.get $0) ) - (i32.store offset=2 + (i32.store $0 offset=2 (i32.add (i32.const -11) (local.get $0) ) (local.get $0) ) - (i32.store offset=2 + (i32.store $0 offset=2 (i32.add (local.get $0) (i32.const -13) ) (local.get $0) ) - (i32.store offset=19 + (i32.store $0 offset=19 (i32.const -15) (local.get $0) ) - (i32.store offset=21 + (i32.store $0 offset=21 (i32.const -21) (local.get $0) ) - (i32.store + (i32.store $0 (i32.const 25) (local.get $0) ) - (i32.store + (i32.store $0 (i32.const -23) (local.get $0) ) (drop - (i32.load + (i32.load $0 (i32.const 8) ) ) (drop - (i32.load + (i32.load $0 (i32.const 8) ) ) (drop - (i32.load offset=8 + (i32.load $0 offset=8 (local.get $0) ) ) (drop - (i32.load + (i32.load $0 (i32.const 10) ) ) - (i32.load offset=12 + (i32.load $0 offset=12 (local.get $0) ) ) (func $offset-constant (drop - (i32.load + (i32.load $0 (i32.const 10) ) ) (drop - (i32.load + (i32.load $0 (i32.const 10) ) ) (drop - (i32.load + (i32.load $0 (i32.const 20) ) ) (drop - (i32.load + (i32.load $0 (i32.const 1024) ) ) (drop - (i32.load + (i32.load $0 (i32.const 1023) ) ) (drop - (i32.load + (i32.load $0 (i32.const 1023) ) ) (drop - (i32.load + (i32.load $0 (i32.const 100511) ) ) @@ -209,7 +209,7 @@ (local $y i32) (nop) (drop - (i32.load offset=1 + (i32.load $0 offset=1 (local.get $y) ) ) @@ -219,7 +219,7 @@ (local $y i32) (nop) (drop - (i32.load offset=1 + (i32.load $0 offset=1 (local.get $y) ) ) @@ -237,7 +237,7 @@ ) ) (drop - (i32.load + (i32.load $0 (local.get $x) ) ) @@ -247,7 +247,7 @@ (local $y i32) (nop) (drop - (i32.load offset=1 + (i32.load $0 offset=1 (local.get $y) ) ) @@ -260,7 +260,7 @@ ) (nop) (drop - (i32.load offset=1 + (i32.load $0 offset=1 (local.get $y) ) ) @@ -282,7 +282,7 @@ (nop) ) (drop - (i32.load offset=1 + (i32.load $0 offset=1 (local.get $3) ) ) @@ -304,7 +304,7 @@ (i32.const -2) ) (drop - (i32.load offset=1 + (i32.load $0 offset=1 (local.get $3) ) ) @@ -331,7 +331,7 @@ ) ) (drop - (i32.load + (i32.load $0 (local.get $x) ) ) @@ -345,31 +345,31 @@ (nop) (loop $l (call $offset-realistic - (i32.load offset=8 + (i32.load $0 offset=8 (local.get $ptr) ) ) (call $offset-realistic - (i32.load offset=16 + (i32.load $0 offset=16 (local.get $ptr) ) ) (call $offset-realistic - (i32.load offset=16 + (i32.load $0 offset=16 (local.get $ptr) ) ) - (i32.store offset=24 + (i32.store $0 offset=24 (local.get $ptr) (i32.add - (i32.load offset=24 + (i32.load $0 offset=24 (local.get $ptr) ) (i32.const 1) ) ) (br_if $l - (i32.load offset=24 + (i32.load $0 offset=24 (local.get $ptr) ) ) @@ -380,7 +380,7 @@ (local $$vararg_ptr1 i32) (nop) (nop) - (i32.store offset=20 + (i32.store $0 offset=20 (local.get $sp) (i32.const 1) ) @@ -398,7 +398,7 @@ (drop (local.get $$vararg_buffer) ) - (i32.store offset=4 + (i32.store $0 offset=4 (local.get $$vararg_buffer) (i32.const 1) ) diff --git a/test/passes/optimize-added-constants_low-memory-unused.txt b/test/passes/optimize-added-constants_low-memory-unused.txt index d36532e6006..b47e88d0292 100644 --- a/test/passes/optimize-added-constants_low-memory-unused.txt +++ b/test/passes/optimize-added-constants_low-memory-unused.txt @@ -5,78 +5,78 @@ (memory $0 1 1) (func $consts (drop - (i32.load + (i32.load $0 (i32.const 0) ) ) (drop - (i32.load + (i32.load $0 (i32.const 1) ) ) (drop - (i32.load + (i32.load $0 (i32.const 1023) ) ) (drop - (i32.load + (i32.load $0 (i32.const 1024) ) ) (drop - (i32.load + (i32.load $0 (i32.const 0) ) ) (drop - (i32.load + (i32.load $0 (i32.const 1) ) ) (drop - (i32.load + (i32.load $0 (i32.const 1023) ) ) (drop - (i32.load + (i32.load $0 (i32.const 1024) ) ) (drop - (i32.load + (i32.load $0 (i32.const 1023) ) ) (drop - (i32.load + (i32.load $0 (i32.const 1024) ) ) - (i32.store + (i32.store $0 (i32.const 1) (i32.const 1) ) ) (func $offsets (param $x i32) (drop - (i32.load offset=1 + (i32.load $0 offset=1 (local.get $x) ) ) (drop - (i32.load offset=8 + (i32.load $0 offset=8 (local.get $x) ) ) (drop - (i32.load offset=1023 + (i32.load $0 offset=1023 (local.get $x) ) ) (drop - (i32.load + (i32.load $0 (i32.add (local.get $x) (i32.const 1024) @@ -84,7 +84,7 @@ ) ) (drop - (i32.load + (i32.load $0 (i32.add (local.get $x) (i32.const 2048) @@ -92,115 +92,115 @@ ) ) (drop - (i32.load offset=4 + (i32.load $0 offset=4 (local.get $x) ) ) ) (func $load-off-2 (param $0 i32) (result i32) - (i32.store + (i32.store $0 (i32.const 6) (local.get $0) ) - (i32.store + (i32.store $0 (i32.const 6) (local.get $0) ) - (i32.store offset=7 + (i32.store $0 offset=7 (local.get $0) (local.get $0) ) - (i32.store offset=9 + (i32.store $0 offset=9 (local.get $0) (local.get $0) ) - (i32.store offset=2 + (i32.store $0 offset=2 (i32.add (i32.const -11) (local.get $0) ) (local.get $0) ) - (i32.store offset=2 + (i32.store $0 offset=2 (i32.add (local.get $0) (i32.const -13) ) (local.get $0) ) - (i32.store offset=19 + (i32.store $0 offset=19 (i32.const -15) (local.get $0) ) - (i32.store offset=21 + (i32.store $0 offset=21 (i32.const -21) (local.get $0) ) - (i32.store + (i32.store $0 (i32.const 25) (local.get $0) ) - (i32.store + (i32.store $0 (i32.const -23) (local.get $0) ) (drop - (i32.load + (i32.load $0 (i32.const 8) ) ) (drop - (i32.load + (i32.load $0 (i32.const 8) ) ) (drop - (i32.load offset=8 + (i32.load $0 offset=8 (local.get $0) ) ) (drop - (i32.load + (i32.load $0 (i32.const 10) ) ) - (i32.load offset=12 + (i32.load $0 offset=12 (local.get $0) ) ) (func $offset-constant (drop - (i32.load + (i32.load $0 (i32.const 10) ) ) (drop - (i32.load + (i32.load $0 (i32.const 10) ) ) (drop - (i32.load + (i32.load $0 (i32.const 20) ) ) (drop - (i32.load + (i32.load $0 (i32.const 1024) ) ) (drop - (i32.load + (i32.load $0 (i32.const 1023) ) ) (drop - (i32.load + (i32.load $0 (i32.const 1023) ) ) (drop - (i32.load + (i32.load $0 (i32.const 100511) ) ) @@ -214,7 +214,7 @@ ) ) (drop - (i32.load + (i32.load $0 (local.get $x) ) ) @@ -229,7 +229,7 @@ ) ) (drop - (i32.load + (i32.load $0 (local.get $x) ) ) @@ -247,7 +247,7 @@ ) ) (drop - (i32.load + (i32.load $0 (local.get $x) ) ) @@ -262,7 +262,7 @@ ) ) (drop - (i32.load + (i32.load $0 (local.get $x) ) ) @@ -280,7 +280,7 @@ ) ) (drop - (i32.load + (i32.load $0 (local.get $x) ) ) @@ -301,7 +301,7 @@ ) ) (drop - (i32.load + (i32.load $0 (local.get $x) ) ) @@ -322,7 +322,7 @@ (i32.const -2) ) (drop - (i32.load + (i32.load $0 (local.get $x) ) ) @@ -351,31 +351,31 @@ ) (loop $l (call $offset-realistic - (i32.load + (i32.load $0 (local.get $x) ) ) (call $offset-realistic - (i32.load + (i32.load $0 (local.get $y) ) ) (call $offset-realistic - (i32.load + (i32.load $0 (local.get $y) ) ) - (i32.store + (i32.store $0 (local.get $z) (i32.add - (i32.load + (i32.load $0 (local.get $z) ) (i32.const 1) ) ) (br_if $l - (i32.load + (i32.load $0 (local.get $z) ) ) diff --git a/test/passes/pick-load-signs.txt b/test/passes/pick-load-signs.txt index c4cd6f7e9c6..c2309ccb49f 100644 --- a/test/passes/pick-load-signs.txt +++ b/test/passes/pick-load-signs.txt @@ -5,7 +5,7 @@ (func $a (local $y i32) (local.set $y - (i32.load8_u + (i32.load8_u $0 (i32.const 1024) ) ) @@ -19,7 +19,7 @@ (func $b (local $y i32) (local.set $y - (i32.load16_u + (i32.load16_u $0 (i32.const 1024) ) ) @@ -33,7 +33,7 @@ (func $c (local $y i32) (local.set $y - (i32.load8_u + (i32.load8_u $0 (i32.const 1024) ) ) @@ -47,7 +47,7 @@ (func $d (local $y i32) (local.set $y - (i32.load16_u + (i32.load16_u $0 (i32.const 1024) ) ) @@ -61,7 +61,7 @@ (func $one-of-each (local $y i32) (local.set $y - (i32.load8_s + (i32.load8_s $0 (i32.const 1024) ) ) @@ -84,7 +84,7 @@ (func $more-of-one (local $y i32) (local.set $y - (i32.load8_s + (i32.load8_s $0 (i32.const 1024) ) ) @@ -113,7 +113,7 @@ (func $many-more-of-one (local $y i32) (local.set $y - (i32.load8_u + (i32.load8_u $0 (i32.const 1024) ) ) @@ -148,7 +148,7 @@ (func $a-sign (local $y i32) (local.set $y - (i32.load8_s + (i32.load8_s $0 (i32.const 1024) ) ) @@ -166,7 +166,7 @@ (local $x i32) (local $y i32) (local.set $x - (i32.load8_u + (i32.load8_u $0 (i32.const 1024) ) ) @@ -177,7 +177,7 @@ ) ) (local.set $y - (i32.load8_s + (i32.load8_s $0 (i32.const 1024) ) ) @@ -194,12 +194,12 @@ (func $corners (local $y i32) (drop - (i32.load8_s + (i32.load8_s $0 (i32.const 1024) ) ) (drop - (i32.load8_u + (i32.load8_u $0 (i32.const 1024) ) ) @@ -210,7 +210,7 @@ (func $wrong-size (local $y i32) (local.set $y - (i32.load8_s + (i32.load8_s $0 (i32.const 1024) ) ) @@ -224,7 +224,7 @@ (func $wrong-size_s (local $y i32) (local.set $y - (i32.load8_u + (i32.load8_u $0 (i32.const 1024) ) ) @@ -241,7 +241,7 @@ (func $non-sign-or-unsigned-use (local $y i32) (local.set $y - (i32.load8_s + (i32.load8_s $0 (i32.const 1024) ) ) @@ -256,7 +256,7 @@ ) ) (func $toplevel-load (result i32) - (i32.load8_s + (i32.load8_s $0 (i32.const 1024) ) ) @@ -264,7 +264,7 @@ (local $y i32) (drop (local.tee $y - (i32.load8_s + (i32.load8_s $0 (i32.const 1024) ) ) diff --git a/test/passes/pick-load-signs_all-features.txt b/test/passes/pick-load-signs_all-features.txt index 4b08c75dec4..24261eb5e50 100644 --- a/test/passes/pick-load-signs_all-features.txt +++ b/test/passes/pick-load-signs_all-features.txt @@ -6,7 +6,7 @@ (drop (block $block (result i32) (local.set $0 - (i32.atomic.load16_u + (i32.atomic.load16_u $0 (i32.const 27) ) ) diff --git a/test/passes/precompute-propagate_all-features.txt b/test/passes/precompute-propagate_all-features.txt index 6001d54ba96..f6a39534404 100644 --- a/test/passes/precompute-propagate_all-features.txt +++ b/test/passes/precompute-propagate_all-features.txt @@ -264,7 +264,7 @@ (func $simd-load (result v128) (local $x v128) (local.set $x - (v128.load8_splat + (v128.load8_splat $0 (i32.const 0) ) ) diff --git a/test/passes/precompute_all-features.txt b/test/passes/precompute_all-features.txt index 70c790484fc..1c53c8482c7 100644 --- a/test/passes/precompute_all-features.txt +++ b/test/passes/precompute_all-features.txt @@ -140,7 +140,7 @@ ) (func $reuse-br-value (result f64) (block $label$0 (result f64) - (i32.store8 + (i32.store8 $0 (i32.const 1919623207) (if (result i32) (i32.const 1) @@ -157,7 +157,7 @@ (f64.const 6.134856208230095e-154) ) ) - (i32.load offset=3 align=2 + (i32.load $0 offset=3 align=2 (i32.const 169901344) ) ) @@ -221,7 +221,7 @@ (v128.const i32x4 0x00000000 0x00000000 0x00000000 0x00000000) ) (func $no-memory-init-precompute - (memory.init 0 + (memory.init $0 0 (i32.const 512) (i32.const 0) (i32.const 12) @@ -231,14 +231,14 @@ (data.drop 0) ) (func $no-memory-copy-precompute - (memory.copy + (memory.copy $0 $0 (i32.const 512) (i32.const 0) (i32.const 12) ) ) (func $no-memory-fill-precompute - (memory.fill + (memory.fill $0 (i32.const 512) (i32.const 0) (i32.const 12) diff --git a/test/passes/print-call-graph.txt b/test/passes/print-call-graph.txt index 4b2cefb81bc..382b6477678 100644 --- a/test/passes/print-call-graph.txt +++ b/test/passes/print-call-graph.txt @@ -251,7 +251,7 @@ digraph call { ) (func $_main (result i32) (local $0 i32) - (i64.store align=4 + (i64.store $0 align=4 (local.tee $0 (call $__Znwj (i32.const 8) @@ -273,11 +273,11 @@ digraph call { (i32.const 16) ) ) - (i32.store + (i32.store $0 (local.tee $2 (local.get $1) ) - (i32.load offset=60 + (i32.load $0 offset=60 (local.get $0) ) ) @@ -325,7 +325,7 @@ digraph call { (local.set $9 (local.get $7) ) - (i32.store + (i32.store $0 (local.tee $3 (i32.add (local.get $7) @@ -333,7 +333,7 @@ digraph call { ) ) (local.tee $5 - (i32.load + (i32.load $0 (local.tee $6 (i32.add (local.get $0) @@ -343,11 +343,11 @@ digraph call { ) ) ) - (i32.store offset=4 + (i32.store $0 offset=4 (local.get $3) (local.tee $4 (i32.sub - (i32.load + (i32.load $0 (local.tee $10 (i32.add (local.get $0) @@ -359,11 +359,11 @@ digraph call { ) ) ) - (i32.store offset=8 + (i32.store $0 offset=8 (local.get $3) (local.get $1) ) - (i32.store offset=12 + (i32.store $0 offset=12 (local.get $3) (local.get $2) ) @@ -401,7 +401,7 @@ digraph call { (local.get $11) (local.tee $4 (if (result i32) - (i32.load + (i32.load $0 (i32.const 1140) ) (block $block (result i32) @@ -409,17 +409,17 @@ digraph call { (i32.const 1) (local.get $0) ) - (i32.store + (i32.store $0 (local.get $9) - (i32.load + (i32.load $0 (local.get $13) ) ) - (i32.store offset=4 + (i32.store $0 offset=4 (local.get $9) (local.get $1) ) - (i32.store offset=8 + (i32.store $0 offset=8 (local.get $9) (local.get $5) ) @@ -437,17 +437,17 @@ digraph call { (local.get $3) ) (block $block0 (result i32) - (i32.store + (i32.store $0 (local.get $8) - (i32.load + (i32.load $0 (local.get $13) ) ) - (i32.store offset=4 + (i32.store $0 offset=4 (local.get $8) (local.get $1) ) - (i32.store offset=8 + (i32.store $0 offset=8 (local.get $8) (local.get $5) ) @@ -479,21 +479,21 @@ digraph call { (i32.gt_u (local.get $4) (local.tee $12 - (i32.load offset=4 + (i32.load $0 offset=4 (local.get $1) ) ) ) (block $block2 (result i32) - (i32.store + (i32.store $0 (local.get $6) (local.tee $3 - (i32.load + (i32.load $0 (local.get $14) ) ) ) - (i32.store + (i32.store $0 (local.get $10) (local.get $3) ) @@ -515,7 +515,7 @@ digraph call { (i32.const -1) ) ) - (i32.load offset=12 + (i32.load $0 offset=12 (local.get $1) ) ) @@ -525,10 +525,10 @@ digraph call { (i32.const 2) ) (block $block4 (result i32) - (i32.store + (i32.store $0 (local.get $6) (i32.add - (i32.load + (i32.load $0 (local.get $6) ) (local.get $4) @@ -551,16 +551,16 @@ digraph call { ) ) ) - (i32.store + (i32.store $0 (local.get $3) (i32.add - (i32.load + (i32.load $0 (local.get $3) ) (local.get $4) ) ) - (i32.store offset=4 + (i32.store $0 offset=4 (local.get $3) (i32.sub (local.get $1) @@ -573,26 +573,26 @@ digraph call { (br $while-in) ) ) - (i32.store offset=16 + (i32.store $0 offset=16 (local.get $0) (i32.add (local.tee $1 - (i32.load + (i32.load $0 (local.get $14) ) ) - (i32.load offset=48 + (i32.load $0 offset=48 (local.get $0) ) ) ) - (i32.store + (i32.store $0 (local.get $6) (local.tee $0 (local.get $1) ) ) - (i32.store + (i32.store $0 (local.get $10) (local.get $0) ) @@ -600,22 +600,22 @@ digraph call { (local.get $2) ) ) - (i32.store offset=16 + (i32.store $0 offset=16 (local.get $0) (i32.const 0) ) - (i32.store + (i32.store $0 (local.get $6) (i32.const 0) ) - (i32.store + (i32.store $0 (local.get $10) (i32.const 0) ) - (i32.store + (i32.store $0 (local.get $0) (i32.or - (i32.load + (i32.load $0 (local.get $0) ) (i32.const 32) @@ -625,7 +625,7 @@ digraph call { (i32.const 0) (i32.sub (local.get $2) - (i32.load offset=4 + (i32.load $0 offset=4 (local.get $1) ) ) @@ -653,23 +653,23 @@ digraph call { (i32.const 32) ) ) - (i32.store + (i32.store $0 (local.tee $3 (local.get $4) ) - (i32.load offset=60 + (i32.load $0 offset=60 (local.get $0) ) ) - (i32.store offset=4 + (i32.store $0 offset=4 (local.get $3) (i32.const 0) ) - (i32.store offset=8 + (i32.store $0 offset=8 (local.get $3) (local.get $1) ) - (i32.store offset=12 + (i32.store $0 offset=12 (local.get $3) (local.tee $0 (i32.add @@ -678,7 +678,7 @@ digraph call { ) ) ) - (i32.store offset=16 + (i32.store $0 offset=16 (local.get $3) (local.get $2) ) @@ -694,13 +694,13 @@ digraph call { (i32.const 0) ) (block $block (result i32) - (i32.store + (i32.store $0 (local.get $0) (i32.const -1) ) (i32.const -1) ) - (i32.load + (i32.load $0 (local.get $0) ) ) @@ -717,7 +717,7 @@ digraph call { (i32.const -4096) ) (block $block (result i32) - (i32.store + (i32.store $0 (call $___errno_location) (i32.sub (i32.const 0) @@ -731,10 +731,10 @@ digraph call { ) (func $___errno_location (result i32) (if (result i32) - (i32.load + (i32.load $0 (i32.const 1140) ) - (i32.load offset=64 + (i32.load $0 offset=64 (call $_pthread_self) ) (i32.const 1184) @@ -743,7 +743,7 @@ digraph call { (func $_cleanup_387 (param $0 i32) (if (i32.eqz - (i32.load offset=68 + (i32.load $0 offset=68 (local.get $0) ) ) @@ -774,31 +774,31 @@ digraph call { (i32.const 12) ) ) - (i32.store offset=36 + (i32.store $0 offset=36 (local.get $0) (i32.const 3) ) (if (i32.eqz (i32.and - (i32.load + (i32.load $0 (local.get $0) ) (i32.const 64) ) ) (block $block - (i32.store + (i32.store $0 (local.get $3) - (i32.load offset=60 + (i32.load $0 offset=60 (local.get $0) ) ) - (i32.store offset=4 + (i32.store $0 offset=4 (local.get $3) (i32.const 21505) ) - (i32.store offset=8 + (i32.store $0 offset=8 (local.get $3) (local.get $5) ) @@ -807,7 +807,7 @@ digraph call { (i32.const 54) (local.get $3) ) - (i32.store8 offset=75 + (i32.store8 $0 offset=75 (local.get $0) (i32.const -1) ) @@ -835,7 +835,7 @@ digraph call { (block $block (result i32) (if (i32.le_s - (i32.load offset=76 + (i32.load $0 offset=76 (local.get $0) ) (i32.const -1) @@ -872,11 +872,11 @@ digraph call { (block $block10 (result i32) (local.set $0 (if (result i32) - (i32.load + (i32.load $0 (i32.const 1136) ) (call $_fflush - (i32.load + (i32.load $0 (i32.const 1136) ) ) @@ -888,7 +888,7 @@ digraph call { ) (if (local.tee $1 - (i32.load + (i32.load $0 (i32.const 1164) ) ) @@ -896,7 +896,7 @@ digraph call { (local.set $2 (if (result i32) (i32.gt_s - (i32.load offset=76 + (i32.load $0 offset=76 (local.get $1) ) (i32.const -1) @@ -910,10 +910,10 @@ digraph call { (local.set $0 (if (result i32) (i32.gt_u - (i32.load offset=20 + (i32.load $0 offset=20 (local.get $1) ) - (i32.load offset=28 + (i32.load $0 offset=28 (local.get $1) ) ) @@ -934,7 +934,7 @@ digraph call { ) (br_if $while-in (local.tee $1 - (i32.load offset=56 + (i32.load $0 offset=56 (local.get $1) ) ) @@ -960,7 +960,7 @@ digraph call { (block $jumpthreading$inner$0 (br_if $jumpthreading$inner$0 (i32.le_u - (i32.load + (i32.load $0 (local.tee $1 (i32.add (local.get $0) @@ -968,7 +968,7 @@ digraph call { ) ) ) - (i32.load + (i32.load $0 (local.tee $2 (i32.add (local.get $0) @@ -985,7 +985,7 @@ digraph call { (i32.const 0) (i32.add (i32.and - (i32.load offset=36 + (i32.load $0 offset=36 (local.get $0) ) (i32.const 3) @@ -995,7 +995,7 @@ digraph call { ) ) (br_if $jumpthreading$inner$0 - (i32.load + (i32.load $0 (local.get $1) ) ) @@ -1006,7 +1006,7 @@ digraph call { (if (i32.lt_u (local.tee $4 - (i32.load + (i32.load $0 (local.tee $3 (i32.add (local.get $0) @@ -1016,7 +1016,7 @@ digraph call { ) ) (local.tee $6 - (i32.load + (i32.load $0 (local.tee $5 (i32.add (local.get $0) @@ -1036,7 +1036,7 @@ digraph call { (i32.const 1) (i32.add (i32.and - (i32.load offset=40 + (i32.load $0 offset=40 (local.get $0) ) (i32.const 3) @@ -1046,23 +1046,23 @@ digraph call { ) ) ) - (i32.store offset=16 + (i32.store $0 offset=16 (local.get $0) (i32.const 0) ) - (i32.store + (i32.store $0 (local.get $2) (i32.const 0) ) - (i32.store + (i32.store $0 (local.get $1) (i32.const 0) ) - (i32.store + (i32.store $0 (local.get $5) (i32.const 0) ) - (i32.store + (i32.store $0 (local.get $3) (i32.const 0) ) @@ -1113,11 +1113,11 @@ digraph call { ) (func $__ZSt15get_new_handlerv (result i32) (local $0 i32) - (i32.store + (i32.store $0 (i32.const 1188) (i32.add (local.tee $0 - (i32.load + (i32.load $0 (i32.const 1188) ) ) @@ -1202,7 +1202,7 @@ digraph call { (local.get $3) ) (block $block19 - (i32.store8 + (i32.store8 $0 (local.get $0) (local.get $1) ) @@ -1225,7 +1225,7 @@ digraph call { (local.get $6) ) (block $block21 - (i32.store + (i32.store $0 (local.get $0) (local.get $5) ) @@ -1248,7 +1248,7 @@ digraph call { (local.get $4) ) (block $block23 - (i32.store8 + (i32.store8 $0 (local.get $0) (local.get $1) ) @@ -1315,9 +1315,9 @@ digraph call { (local.get $3) ) ) - (i32.store8 + (i32.store8 $0 (local.get $0) - (i32.load8_s + (i32.load8_s $0 (local.get $1) ) ) @@ -1349,9 +1349,9 @@ digraph call { (i32.const 4) ) (block $block27 - (i32.store + (i32.store $0 (local.get $0) - (i32.load + (i32.load $0 (local.get $1) ) ) @@ -1386,9 +1386,9 @@ digraph call { (i32.const 0) ) (block $block29 - (i32.store8 + (i32.store8 $0 (local.get $0) - (i32.load8_s + (i32.load8_s $0 (local.get $1) ) ) diff --git a/test/passes/print.bin.txt b/test/passes/print.bin.txt index aa1cac6bdc7..6b6a0e66391 100644 --- a/test/passes/print.bin.txt +++ b/test/passes/print.bin.txt @@ -80,7 +80,7 @@ ) ) (func $__growWasmMemory (param $0 i32) (result i32) - (memory.grow + (memory.grow $mimport$0 (local.get $0) ) ) @@ -171,7 +171,7 @@ ) ) (func $__growWasmMemory (param $0 i32) (result i32) - (memory.grow + (memory.grow $mimport$0 (local.get $0) ) ) diff --git a/test/passes/print_g.bin.txt b/test/passes/print_g.bin.txt index a8ee34fba84..2a24831bf00 100644 --- a/test/passes/print_g.bin.txt +++ b/test/passes/print_g.bin.txt @@ -118,7 +118,7 @@ ) (func $__growWasmMemory (param $0 i32) (result i32) ;; code offset: 0x56 - (memory.grow + (memory.grow $mimport$0 ;; code offset: 0x54 (local.get $0) ) @@ -248,7 +248,7 @@ ) (func $__growWasmMemory (param $0 i32) (result i32) ;; code offset: 0x56 - (memory.grow + (memory.grow $mimport$0 ;; code offset: 0x54 (local.get $0) ) diff --git a/test/passes/print_g_strip-dwarf.bin.txt b/test/passes/print_g_strip-dwarf.bin.txt index 9a425e643c8..257a333a891 100644 --- a/test/passes/print_g_strip-dwarf.bin.txt +++ b/test/passes/print_g_strip-dwarf.bin.txt @@ -80,7 +80,7 @@ ) ) (func $__growWasmMemory (param $0 i32) (result i32) - (memory.grow + (memory.grow $mimport$0 (local.get $0) ) ) @@ -171,7 +171,7 @@ ) ) (func $__growWasmMemory (param $0 i32) (result i32) - (memory.grow + (memory.grow $mimport$0 (local.get $0) ) ) diff --git a/test/passes/remove-unused-brs_enable-multivalue.txt b/test/passes/remove-unused-brs_enable-multivalue.txt index cf8ad7ec20e..0a990b35455 100644 --- a/test/passes/remove-unused-brs_enable-multivalue.txt +++ b/test/passes/remove-unused-brs_enable-multivalue.txt @@ -890,7 +890,7 @@ (block $switch$26 ) ) - (i32.store + (i32.store $0 (i32.const 5724) (i32.const -254899267) ) @@ -1004,12 +1004,12 @@ (i32.const 607395945) ) (br_if $label$1 - (i32.load offset=3 align=1 + (i32.load $0 offset=3 align=1 (select (call $untaken-brs-might-prevent-block-removal (f32.const 1.4904844647389837e-07) (br_if $label$0 - (i32.store16 offset=4 align=1 + (i32.store16 $0 offset=4 align=1 (i32.const 1900641) (br $label$0 (i32.const 1628075109) @@ -1036,7 +1036,7 @@ (loop $label$0 (loop $label$1 (br_if $label$0 - (i32.load8_s + (i32.load8_s $0 (i32.const 201460482) ) ) @@ -2673,7 +2673,7 @@ ) ) ) - (i32.store + (i32.store $0 (i32.const 1024) (i32.add (local.get $0) @@ -2686,7 +2686,7 @@ (block $label$1 (result i32) (br_table $label$1 (block $label$2 (result i32) - (i32.store + (i32.store $0 (i32.const 1) (i32.const 2) ) diff --git a/test/passes/remove-unused-brs_shrink-level=1.txt b/test/passes/remove-unused-brs_shrink-level=1.txt index 22f70fff167..025bccee38b 100644 --- a/test/passes/remove-unused-brs_shrink-level=1.txt +++ b/test/passes/remove-unused-brs_shrink-level=1.txt @@ -17,7 +17,7 @@ (drop (if (result i32) (i32.const 1) - (i32.load + (i32.load $0 (i32.const 10) ) (i32.const 27) @@ -126,7 +126,7 @@ (block $label$1 (block $block (br_if $label$1 - (i32.load8_u + (i32.load8_u $0 (i32.const -93487262) ) ) diff --git a/test/passes/remove-unused-brs_shrink-level=1_ignore-implicit-traps.txt b/test/passes/remove-unused-brs_shrink-level=1_ignore-implicit-traps.txt index 6f8f400424a..2a6b7ab0b0c 100644 --- a/test/passes/remove-unused-brs_shrink-level=1_ignore-implicit-traps.txt +++ b/test/passes/remove-unused-brs_shrink-level=1_ignore-implicit-traps.txt @@ -16,7 +16,7 @@ ) (drop (select - (i32.load + (i32.load $0 (i32.const 10) ) (i32.const 27) diff --git a/test/passes/remove-unused-module-elements_all-features.txt b/test/passes/remove-unused-module-elements_all-features.txt index ecf30316021..b24237d7dde 100644 --- a/test/passes/remove-unused-module-elements_all-features.txt +++ b/test/passes/remove-unused-module-elements_all-features.txt @@ -118,7 +118,7 @@ (export "user" (func $user)) (func $user (drop - (i32.load + (i32.load $0 (i32.const 0) ) ) @@ -132,7 +132,7 @@ (memory $0 (shared 23 256)) (export "user" (func $user)) (func $user - (i32.store + (i32.store $0 (i32.const 0) (i32.const 0) ) @@ -143,7 +143,7 @@ (memory $0 (shared 23 256)) (export "user" (func $user)) (func $user (result i32) - (i32.atomic.rmw.add + (i32.atomic.rmw.add $0 (i32.const 0) (i32.const 0) ) @@ -154,7 +154,7 @@ (memory $0 (shared 23 256)) (export "user" (func $user)) (func $user (result i32) - (i32.atomic.rmw8.cmpxchg_u + (i32.atomic.rmw8.cmpxchg_u $0 (i32.const 0) (i32.const 0) (i32.const 0) @@ -169,7 +169,7 @@ (local $0 i32) (local $1 i64) (drop - (memory.atomic.wait32 + (memory.atomic.wait32 $0 (local.get $0) (local.get $0) (local.get $1) @@ -182,7 +182,7 @@ (memory $0 (shared 23 256)) (export "user" (func $user)) (func $user (result i32) - (memory.atomic.notify + (memory.atomic.notify $0 (i32.const 0) (i32.const 0) ) @@ -193,7 +193,7 @@ (memory $0 23 256) (export "user" (func $user)) (func $user (result i32) - (memory.grow + (memory.grow $0 (i32.const 0) ) ) @@ -203,7 +203,7 @@ (import "env" "memory" (memory $0 256)) (export "user" (func $user)) (func $user (result i32) - (memory.grow + (memory.grow $0 (i32.const 0) ) ) @@ -213,7 +213,7 @@ (memory $0 23 256) (export "user" (func $user)) (func $user (result i32) - (memory.size) + (memory.size $0) ) ) (module diff --git a/test/passes/remove-unused-names_merge-blocks_all-features.txt b/test/passes/remove-unused-names_merge-blocks_all-features.txt index e92d2ab9b64..d9171fc4f0d 100644 --- a/test/passes/remove-unused-names_merge-blocks_all-features.txt +++ b/test/passes/remove-unused-names_merge-blocks_all-features.txt @@ -162,7 +162,7 @@ (i32.const 10) ) (drop - (i32.load + (i32.load $0 (i32.const 20) ) ) @@ -277,14 +277,14 @@ (drop (i32.const 20) ) - (i32.store + (i32.store $0 (i32.const 10) (i32.const 30) ) (drop (i32.const 10) ) - (i32.store + (i32.store $0 (i32.const 20) (i32.const 30) ) @@ -728,7 +728,7 @@ (i32.const 50) ) (drop - (i32.atomic.rmw.cmpxchg + (i32.atomic.rmw.cmpxchg $0 (i32.const 20) (i32.const 40) (i32.const 60) @@ -738,7 +738,7 @@ (i32.const 10) ) (drop - (i32.atomic.rmw.add + (i32.atomic.rmw.add $0 (i32.const 20) (i32.const 30) ) diff --git a/test/passes/remove-unused-names_precompute.txt b/test/passes/remove-unused-names_precompute.txt index 97daf47bf39..f5ca51f728d 100644 --- a/test/passes/remove-unused-names_precompute.txt +++ b/test/passes/remove-unused-names_precompute.txt @@ -5,7 +5,7 @@ (block $switch-default (nop) (block - (i32.store + (i32.store $0 (i32.const 12) (i32.const 26) ) @@ -16,7 +16,7 @@ (local.set $$0 (i32.const 4) ) - (i32.store + (i32.store $0 (local.get $$0) (i32.const 1) ) diff --git a/test/passes/remove-unused-names_remove-unused-brs_vacuum.txt b/test/passes/remove-unused-names_remove-unused-brs_vacuum.txt index 83be83c5ae4..537f1f73028 100644 --- a/test/passes/remove-unused-names_remove-unused-brs_vacuum.txt +++ b/test/passes/remove-unused-names_remove-unused-brs_vacuum.txt @@ -99,7 +99,7 @@ (loop $label$0 (loop $label$1 (br_if $label$0 - (i32.load8_s + (i32.load8_s $0 (i32.const 201460482) ) ) diff --git a/test/passes/remove-unused-nonfunction-module-elements_all-features.txt b/test/passes/remove-unused-nonfunction-module-elements_all-features.txt index 28391b50d67..f3481dd2cb2 100644 --- a/test/passes/remove-unused-nonfunction-module-elements_all-features.txt +++ b/test/passes/remove-unused-nonfunction-module-elements_all-features.txt @@ -121,7 +121,7 @@ (export "user" (func $user)) (func $user (drop - (i32.load + (i32.load $0 (i32.const 0) ) ) @@ -135,7 +135,7 @@ (memory $0 (shared 23 256)) (export "user" (func $user)) (func $user - (i32.store + (i32.store $0 (i32.const 0) (i32.const 0) ) @@ -146,7 +146,7 @@ (memory $0 (shared 23 256)) (export "user" (func $user)) (func $user (result i32) - (i32.atomic.rmw.add + (i32.atomic.rmw.add $0 (i32.const 0) (i32.const 0) ) @@ -157,7 +157,7 @@ (memory $0 (shared 23 256)) (export "user" (func $user)) (func $user (result i32) - (i32.atomic.rmw8.cmpxchg_u + (i32.atomic.rmw8.cmpxchg_u $0 (i32.const 0) (i32.const 0) (i32.const 0) @@ -172,7 +172,7 @@ (local $0 i32) (local $1 i64) (drop - (memory.atomic.wait32 + (memory.atomic.wait32 $0 (local.get $0) (local.get $0) (local.get $1) @@ -185,7 +185,7 @@ (memory $0 (shared 23 256)) (export "user" (func $user)) (func $user (result i32) - (memory.atomic.notify + (memory.atomic.notify $0 (i32.const 0) (i32.const 0) ) @@ -196,7 +196,7 @@ (memory $0 23 256) (export "user" (func $user)) (func $user (result i32) - (memory.grow + (memory.grow $0 (i32.const 0) ) ) @@ -206,7 +206,7 @@ (import "env" "memory" (memory $0 256)) (export "user" (func $user)) (func $user (result i32) - (memory.grow + (memory.grow $0 (i32.const 0) ) ) @@ -216,7 +216,7 @@ (memory $0 23 256) (export "user" (func $user)) (func $user (result i32) - (memory.size) + (memory.size $0) ) ) (module diff --git a/test/passes/reverse_dwarf_abbrevs.bin.txt b/test/passes/reverse_dwarf_abbrevs.bin.txt index a9874aa7b82..621467db049 100644 --- a/test/passes/reverse_dwarf_abbrevs.bin.txt +++ b/test/passes/reverse_dwarf_abbrevs.bin.txt @@ -182,7 +182,7 @@ file_names[ 1]: ) ) ;; code offset: 0x2a - (i32.store + (i32.store $mimport$0 ;; code offset: 0x26 (call $3) ;; code offset: 0x28 @@ -213,13 +213,13 @@ file_names[ 1]: ) ) ;; code offset: 0x53 - (i32.store offset=16 + (i32.store $mimport$0 offset=16 ;; code offset: 0x4a (local.get $3) ;; code offset: 0x51 (local.tee $4 ;; code offset: 0x4e - (i32.load offset=28 + (i32.load $mimport$0 offset=28 ;; code offset: 0x4c (local.get $0) ) @@ -228,27 +228,27 @@ file_names[ 1]: ;; code offset: 0x5b (local.set $5 ;; code offset: 0x58 - (i32.load offset=20 + (i32.load $mimport$0 offset=20 ;; code offset: 0x56 (local.get $0) ) ) ;; code offset: 0x61 - (i32.store offset=28 + (i32.store $mimport$0 offset=28 ;; code offset: 0x5d (local.get $3) ;; code offset: 0x5f (local.get $2) ) ;; code offset: 0x68 - (i32.store offset=24 + (i32.store $mimport$0 offset=24 ;; code offset: 0x64 (local.get $3) ;; code offset: 0x66 (local.get $1) ) ;; code offset: 0x74 - (i32.store offset=20 + (i32.store $mimport$0 offset=20 ;; code offset: 0x6b (local.get $3) ;; code offset: 0x72 @@ -302,7 +302,7 @@ file_names[ 1]: ;; code offset: 0xa0 (call $fimport$0 ;; code offset: 0x91 - (i32.load offset=60 + (i32.load $mimport$0 offset=60 ;; code offset: 0x8f (local.get $0) ) @@ -336,7 +336,7 @@ file_names[ 1]: ;; code offset: 0xb0 (local.tee $4 ;; code offset: 0xad - (i32.load offset=12 + (i32.load $mimport$0 offset=12 ;; code offset: 0xab (local.get $3) ) @@ -354,7 +354,7 @@ file_names[ 1]: ) ) ;; code offset: 0xe2 - (i32.store + (i32.store $mimport$0 ;; code offset: 0xce (local.tee $9 ;; code offset: 0xcd @@ -372,7 +372,7 @@ file_names[ 1]: ;; code offset: 0xc5 (local.tee $8 ;; code offset: 0xc2 - (i32.load offset=4 + (i32.load $mimport$0 offset=4 ;; code offset: 0xc0 (local.get $1) ) @@ -404,14 +404,14 @@ file_names[ 1]: ) ) ;; code offset: 0xde - (i32.load + (i32.load $mimport$0 ;; code offset: 0xdc (local.get $9) ) ) ) ;; code offset: 0xf9 - (i32.store + (i32.store $mimport$0 ;; code offset: 0xef (local.tee $9 ;; code offset: 0xee @@ -432,7 +432,7 @@ file_names[ 1]: ;; code offset: 0xf8 (i32.sub ;; code offset: 0xf3 - (i32.load + (i32.load $mimport$0 ;; code offset: 0xf1 (local.get $9) ) @@ -459,7 +459,7 @@ file_names[ 1]: ;; code offset: 0x120 (call $fimport$0 ;; code offset: 0x105 - (i32.load offset=60 + (i32.load $mimport$0 offset=60 ;; code offset: 0x103 (local.get $0) ) @@ -504,7 +504,7 @@ file_names[ 1]: ) ) ;; code offset: 0x12d - (i32.store offset=12 + (i32.store $mimport$0 offset=12 ;; code offset: 0x129 (local.get $3) ;; code offset: 0x12b @@ -522,27 +522,27 @@ file_names[ 1]: ) ) ;; code offset: 0x141 - (i32.store offset=28 + (i32.store $mimport$0 offset=28 ;; code offset: 0x138 (local.get $0) ;; code offset: 0x13f (local.tee $1 ;; code offset: 0x13c - (i32.load offset=44 + (i32.load $mimport$0 offset=44 ;; code offset: 0x13a (local.get $0) ) ) ) ;; code offset: 0x148 - (i32.store offset=20 + (i32.store $mimport$0 offset=20 ;; code offset: 0x144 (local.get $0) ;; code offset: 0x146 (local.get $1) ) ;; code offset: 0x155 - (i32.store offset=16 + (i32.store $mimport$0 offset=16 ;; code offset: 0x14b (local.get $0) ;; code offset: 0x154 @@ -550,7 +550,7 @@ file_names[ 1]: ;; code offset: 0x14d (local.get $1) ;; code offset: 0x151 - (i32.load offset=48 + (i32.load $mimport$0 offset=48 ;; code offset: 0x14f (local.get $0) ) @@ -563,27 +563,27 @@ file_names[ 1]: ) ) ;; code offset: 0x161 - (i32.store offset=28 + (i32.store $mimport$0 offset=28 ;; code offset: 0x15d (local.get $0) ;; code offset: 0x15f (i32.const 0) ) ;; code offset: 0x168 - (i64.store offset=16 + (i64.store $mimport$0 offset=16 ;; code offset: 0x164 (local.get $0) ;; code offset: 0x166 (i64.const 0) ) ;; code offset: 0x175 - (i32.store + (i32.store $mimport$0 ;; code offset: 0x16b (local.get $0) ;; code offset: 0x174 (i32.or ;; code offset: 0x16f - (i32.load + (i32.load $mimport$0 ;; code offset: 0x16d (local.get $0) ) @@ -614,7 +614,7 @@ file_names[ 1]: ;; code offset: 0x184 (local.get $2) ;; code offset: 0x188 - (i32.load offset=4 + (i32.load $mimport$0 offset=4 ;; code offset: 0x186 (local.get $1) ) @@ -645,7 +645,7 @@ file_names[ 1]: (func $8 (param $0 i32) (result i32) (local $1 i32) ;; code offset: 0x1b6 - (i32.store8 offset=74 + (i32.store8 $mimport$0 offset=74 ;; code offset: 0x1a7 (local.get $0) ;; code offset: 0x1b5 @@ -655,7 +655,7 @@ file_names[ 1]: ;; code offset: 0x1ae (local.tee $1 ;; code offset: 0x1ab - (i32.load8_u offset=74 + (i32.load8_u $mimport$0 offset=74 ;; code offset: 0x1a9 (local.get $0) ) @@ -674,7 +674,7 @@ file_names[ 1]: ;; code offset: 0x1be (local.tee $1 ;; code offset: 0x1bb - (i32.load + (i32.load $mimport$0 ;; code offset: 0x1b9 (local.get $0) ) @@ -684,7 +684,7 @@ file_names[ 1]: ) (block ;; code offset: 0x1cc - (i32.store + (i32.store $mimport$0 ;; code offset: 0x1c5 (local.get $0) ;; code offset: 0x1cb @@ -703,34 +703,34 @@ file_names[ 1]: ) ) ;; code offset: 0x1d7 - (i64.store offset=4 align=4 + (i64.store $mimport$0 offset=4 align=4 ;; code offset: 0x1d3 (local.get $0) ;; code offset: 0x1d5 (i64.const 0) ) ;; code offset: 0x1e3 - (i32.store offset=28 + (i32.store $mimport$0 offset=28 ;; code offset: 0x1da (local.get $0) ;; code offset: 0x1e1 (local.tee $1 ;; code offset: 0x1de - (i32.load offset=44 + (i32.load $mimport$0 offset=44 ;; code offset: 0x1dc (local.get $0) ) ) ) ;; code offset: 0x1ea - (i32.store offset=20 + (i32.store $mimport$0 offset=20 ;; code offset: 0x1e6 (local.get $0) ;; code offset: 0x1e8 (local.get $1) ) ;; code offset: 0x1f7 - (i32.store offset=16 + (i32.store $mimport$0 offset=16 ;; code offset: 0x1ed (local.get $0) ;; code offset: 0x1f6 @@ -738,7 +738,7 @@ file_names[ 1]: ;; code offset: 0x1ef (local.get $1) ;; code offset: 0x1f3 - (i32.load offset=48 + (i32.load $mimport$0 offset=48 ;; code offset: 0x1f1 (local.get $0) ) @@ -861,11 +861,11 @@ file_names[ 1]: ;; code offset: 0x252 (loop $label$7 ;; code offset: 0x25b - (i32.store8 + (i32.store8 $mimport$0 ;; code offset: 0x254 (local.get $2) ;; code offset: 0x258 - (i32.load8_u + (i32.load8_u $mimport$0 ;; code offset: 0x256 (local.get $1) ) @@ -951,161 +951,161 @@ file_names[ 1]: ;; code offset: 0x295 (loop $label$9 ;; code offset: 0x29e - (i32.store + (i32.store $mimport$0 ;; code offset: 0x297 (local.get $2) ;; code offset: 0x29b - (i32.load + (i32.load $mimport$0 ;; code offset: 0x299 (local.get $1) ) ) ;; code offset: 0x2a8 - (i32.store offset=4 + (i32.store $mimport$0 offset=4 ;; code offset: 0x2a1 (local.get $2) ;; code offset: 0x2a5 - (i32.load offset=4 + (i32.load $mimport$0 offset=4 ;; code offset: 0x2a3 (local.get $1) ) ) ;; code offset: 0x2b2 - (i32.store offset=8 + (i32.store $mimport$0 offset=8 ;; code offset: 0x2ab (local.get $2) ;; code offset: 0x2af - (i32.load offset=8 + (i32.load $mimport$0 offset=8 ;; code offset: 0x2ad (local.get $1) ) ) ;; code offset: 0x2bc - (i32.store offset=12 + (i32.store $mimport$0 offset=12 ;; code offset: 0x2b5 (local.get $2) ;; code offset: 0x2b9 - (i32.load offset=12 + (i32.load $mimport$0 offset=12 ;; code offset: 0x2b7 (local.get $1) ) ) ;; code offset: 0x2c6 - (i32.store offset=16 + (i32.store $mimport$0 offset=16 ;; code offset: 0x2bf (local.get $2) ;; code offset: 0x2c3 - (i32.load offset=16 + (i32.load $mimport$0 offset=16 ;; code offset: 0x2c1 (local.get $1) ) ) ;; code offset: 0x2d0 - (i32.store offset=20 + (i32.store $mimport$0 offset=20 ;; code offset: 0x2c9 (local.get $2) ;; code offset: 0x2cd - (i32.load offset=20 + (i32.load $mimport$0 offset=20 ;; code offset: 0x2cb (local.get $1) ) ) ;; code offset: 0x2da - (i32.store offset=24 + (i32.store $mimport$0 offset=24 ;; code offset: 0x2d3 (local.get $2) ;; code offset: 0x2d7 - (i32.load offset=24 + (i32.load $mimport$0 offset=24 ;; code offset: 0x2d5 (local.get $1) ) ) ;; code offset: 0x2e4 - (i32.store offset=28 + (i32.store $mimport$0 offset=28 ;; code offset: 0x2dd (local.get $2) ;; code offset: 0x2e1 - (i32.load offset=28 + (i32.load $mimport$0 offset=28 ;; code offset: 0x2df (local.get $1) ) ) ;; code offset: 0x2ee - (i32.store offset=32 + (i32.store $mimport$0 offset=32 ;; code offset: 0x2e7 (local.get $2) ;; code offset: 0x2eb - (i32.load offset=32 + (i32.load $mimport$0 offset=32 ;; code offset: 0x2e9 (local.get $1) ) ) ;; code offset: 0x2f8 - (i32.store offset=36 + (i32.store $mimport$0 offset=36 ;; code offset: 0x2f1 (local.get $2) ;; code offset: 0x2f5 - (i32.load offset=36 + (i32.load $mimport$0 offset=36 ;; code offset: 0x2f3 (local.get $1) ) ) ;; code offset: 0x302 - (i32.store offset=40 + (i32.store $mimport$0 offset=40 ;; code offset: 0x2fb (local.get $2) ;; code offset: 0x2ff - (i32.load offset=40 + (i32.load $mimport$0 offset=40 ;; code offset: 0x2fd (local.get $1) ) ) ;; code offset: 0x30c - (i32.store offset=44 + (i32.store $mimport$0 offset=44 ;; code offset: 0x305 (local.get $2) ;; code offset: 0x309 - (i32.load offset=44 + (i32.load $mimport$0 offset=44 ;; code offset: 0x307 (local.get $1) ) ) ;; code offset: 0x316 - (i32.store offset=48 + (i32.store $mimport$0 offset=48 ;; code offset: 0x30f (local.get $2) ;; code offset: 0x313 - (i32.load offset=48 + (i32.load $mimport$0 offset=48 ;; code offset: 0x311 (local.get $1) ) ) ;; code offset: 0x320 - (i32.store offset=52 + (i32.store $mimport$0 offset=52 ;; code offset: 0x319 (local.get $2) ;; code offset: 0x31d - (i32.load offset=52 + (i32.load $mimport$0 offset=52 ;; code offset: 0x31b (local.get $1) ) ) ;; code offset: 0x32a - (i32.store offset=56 + (i32.store $mimport$0 offset=56 ;; code offset: 0x323 (local.get $2) ;; code offset: 0x327 - (i32.load offset=56 + (i32.load $mimport$0 offset=56 ;; code offset: 0x325 (local.get $1) ) ) ;; code offset: 0x334 - (i32.store offset=60 + (i32.store $mimport$0 offset=60 ;; code offset: 0x32d (local.get $2) ;; code offset: 0x331 - (i32.load offset=60 + (i32.load $mimport$0 offset=60 ;; code offset: 0x32f (local.get $1) ) @@ -1153,11 +1153,11 @@ file_names[ 1]: ;; code offset: 0x353 (loop $label$10 ;; code offset: 0x35c - (i32.store + (i32.store $mimport$0 ;; code offset: 0x355 (local.get $2) ;; code offset: 0x359 - (i32.load + (i32.load $mimport$0 ;; code offset: 0x357 (local.get $1) ) @@ -1249,41 +1249,41 @@ file_names[ 1]: ;; code offset: 0x39b (loop $label$13 ;; code offset: 0x3a4 - (i32.store8 + (i32.store8 $mimport$0 ;; code offset: 0x39d (local.get $2) ;; code offset: 0x3a1 - (i32.load8_u + (i32.load8_u $mimport$0 ;; code offset: 0x39f (local.get $1) ) ) ;; code offset: 0x3ae - (i32.store8 offset=1 + (i32.store8 $mimport$0 offset=1 ;; code offset: 0x3a7 (local.get $2) ;; code offset: 0x3ab - (i32.load8_u offset=1 + (i32.load8_u $mimport$0 offset=1 ;; code offset: 0x3a9 (local.get $1) ) ) ;; code offset: 0x3b8 - (i32.store8 offset=2 + (i32.store8 $mimport$0 offset=2 ;; code offset: 0x3b1 (local.get $2) ;; code offset: 0x3b5 - (i32.load8_u offset=2 + (i32.load8_u $mimport$0 offset=2 ;; code offset: 0x3b3 (local.get $1) ) ) ;; code offset: 0x3c2 - (i32.store8 offset=3 + (i32.store8 $mimport$0 offset=3 ;; code offset: 0x3bb (local.get $2) ;; code offset: 0x3bf - (i32.load8_u offset=3 + (i32.load8_u $mimport$0 offset=3 ;; code offset: 0x3bd (local.get $1) ) @@ -1330,11 +1330,11 @@ file_names[ 1]: ;; code offset: 0x3e1 (loop $label$15 ;; code offset: 0x3ea - (i32.store8 + (i32.store8 $mimport$0 ;; code offset: 0x3e3 (local.get $2) ;; code offset: 0x3e7 - (i32.load8_u + (i32.load8_u $mimport$0 ;; code offset: 0x3e5 (local.get $1) ) @@ -1389,7 +1389,7 @@ file_names[ 1]: ;; code offset: 0x419 (local.tee $3 ;; code offset: 0x416 - (i32.load offset=16 + (i32.load $mimport$0 offset=16 ;; code offset: 0x414 (local.get $2) ) @@ -1407,7 +1407,7 @@ file_names[ 1]: ;; code offset: 0x429 (local.set $3 ;; code offset: 0x426 - (i32.load offset=16 + (i32.load $mimport$0 offset=16 ;; code offset: 0x424 (local.get $2) ) @@ -1423,7 +1423,7 @@ file_names[ 1]: ;; code offset: 0x433 (local.tee $5 ;; code offset: 0x430 - (i32.load offset=20 + (i32.load $mimport$0 offset=20 ;; code offset: 0x42e (local.get $2) ) @@ -1444,7 +1444,7 @@ file_names[ 1]: ;; code offset: 0x440 (local.get $1) ;; code offset: 0x444 - (i32.load offset=36 + (i32.load $mimport$0 offset=36 ;; code offset: 0x442 (local.get $2) ) @@ -1458,7 +1458,7 @@ file_names[ 1]: ;; code offset: 0x455 (i32.lt_s ;; code offset: 0x450 - (i32.load8_s offset=75 + (i32.load8_s $mimport$0 offset=75 ;; code offset: 0x44e (local.get $2) ) @@ -1489,7 +1489,7 @@ file_names[ 1]: ;; code offset: 0x474 (i32.ne ;; code offset: 0x46f - (i32.load8_u + (i32.load8_u $mimport$0 ;; code offset: 0x46e (i32.add ;; code offset: 0x465 @@ -1526,7 +1526,7 @@ file_names[ 1]: ;; code offset: 0x47c (local.get $3) ;; code offset: 0x480 - (i32.load offset=36 + (i32.load $mimport$0 offset=36 ;; code offset: 0x47e (local.get $2) ) @@ -1559,7 +1559,7 @@ file_names[ 1]: ;; code offset: 0x4a0 (local.set $5 ;; code offset: 0x49d - (i32.load offset=20 + (i32.load $mimport$0 offset=20 ;; code offset: 0x49b (local.get $2) ) @@ -1583,13 +1583,13 @@ file_names[ 1]: ) ) ;; code offset: 0x4ba - (i32.store offset=20 + (i32.store $mimport$0 offset=20 ;; code offset: 0x4b0 (local.get $2) ;; code offset: 0x4b9 (i32.add ;; code offset: 0x4b4 - (i32.load offset=20 + (i32.load $mimport$0 offset=20 ;; code offset: 0x4b2 (local.get $2) ) @@ -1631,7 +1631,7 @@ file_names[ 1]: ;; code offset: 0x4de (i32.le_s ;; code offset: 0x4d9 - (i32.load offset=76 + (i32.load $mimport$0 offset=76 ;; code offset: 0x4d7 (local.get $3) ) @@ -1769,7 +1769,7 @@ file_names[ 1]: ) ) ;; code offset: 0x54f - (i32.store8 offset=15 + (i32.store8 $mimport$0 offset=15 ;; code offset: 0x54b (local.get $3) ;; code offset: 0x54d @@ -1784,7 +1784,7 @@ file_names[ 1]: ;; code offset: 0x559 (local.tee $2 ;; code offset: 0x556 - (i32.load offset=16 + (i32.load $mimport$0 offset=16 ;; code offset: 0x554 (local.get $0) ) @@ -1807,7 +1807,7 @@ file_names[ 1]: ;; code offset: 0x56d (local.set $2 ;; code offset: 0x56a - (i32.load offset=16 + (i32.load $mimport$0 offset=16 ;; code offset: 0x568 (local.get $0) ) @@ -1823,7 +1823,7 @@ file_names[ 1]: ;; code offset: 0x577 (local.tee $4 ;; code offset: 0x574 - (i32.load offset=20 + (i32.load $mimport$0 offset=20 ;; code offset: 0x572 (local.get $0) ) @@ -1847,14 +1847,14 @@ file_names[ 1]: ) ) ;; code offset: 0x588 - (i32.load8_s offset=75 + (i32.load8_s $mimport$0 offset=75 ;; code offset: 0x586 (local.get $0) ) ) ) ;; code offset: 0x595 - (i32.store offset=20 + (i32.store $mimport$0 offset=20 ;; code offset: 0x58e (local.get $0) ;; code offset: 0x594 @@ -1866,7 +1866,7 @@ file_names[ 1]: ) ) ;; code offset: 0x59c - (i32.store8 + (i32.store8 $mimport$0 ;; code offset: 0x598 (local.get $4) ;; code offset: 0x59a @@ -1898,7 +1898,7 @@ file_names[ 1]: ;; code offset: 0x5ad (i32.const 1) ;; code offset: 0x5b1 - (i32.load offset=36 + (i32.load $mimport$0 offset=36 ;; code offset: 0x5af (local.get $0) ) @@ -1910,7 +1910,7 @@ file_names[ 1]: ;; code offset: 0x5c1 (local.set $2 ;; code offset: 0x5be - (i32.load8_u offset=15 + (i32.load8_u $mimport$0 offset=15 ;; code offset: 0x5bc (local.get $3) ) @@ -1937,11 +1937,11 @@ file_names[ 1]: ;; code offset: 0x5e1 (i32.ge_s ;; code offset: 0x5dc - (i32.load offset=76 + (i32.load $mimport$0 offset=76 ;; code offset: 0x5da (local.tee $1 ;; code offset: 0x5d7 - (i32.load + (i32.load $mimport$0 ;; code offset: 0x5d4 (i32.const 1040) ) @@ -1990,7 +1990,7 @@ file_names[ 1]: ;; code offset: 0x604 (i32.eq ;; code offset: 0x5ff - (i32.load8_u offset=75 + (i32.load8_u $mimport$0 offset=75 ;; code offset: 0x5fd (local.get $1) ) @@ -2005,20 +2005,20 @@ file_names[ 1]: ;; code offset: 0x60c (local.tee $0 ;; code offset: 0x609 - (i32.load offset=20 + (i32.load $mimport$0 offset=20 ;; code offset: 0x607 (local.get $1) ) ) ;; code offset: 0x610 - (i32.load offset=16 + (i32.load $mimport$0 offset=16 ;; code offset: 0x60e (local.get $1) ) ) ) ;; code offset: 0x61d - (i32.store offset=20 + (i32.store $mimport$0 offset=20 ;; code offset: 0x616 (local.get $1) ;; code offset: 0x61c @@ -2030,7 +2030,7 @@ file_names[ 1]: ) ) ;; code offset: 0x624 - (i32.store8 + (i32.store8 $mimport$0 ;; code offset: 0x620 (local.get $0) ;; code offset: 0x622 @@ -2107,7 +2107,7 @@ file_names[ 1]: ;; code offset: 0x66b (i32.eqz ;; code offset: 0x668 - (i32.load8_u + (i32.load8_u $mimport$0 ;; code offset: 0x666 (local.get $0) ) @@ -2144,7 +2144,7 @@ file_names[ 1]: ;; code offset: 0x686 (br_if $label$4 ;; code offset: 0x683 - (i32.load8_u + (i32.load8_u $mimport$0 ;; code offset: 0x681 (local.get $1) ) @@ -2181,7 +2181,7 @@ file_names[ 1]: ;; code offset: 0x69c (local.tee $3 ;; code offset: 0x699 - (i32.load + (i32.load $mimport$0 ;; code offset: 0x697 (local.get $2) ) @@ -2231,7 +2231,7 @@ file_names[ 1]: ;; code offset: 0x6cc (local.set $3 ;; code offset: 0x6c9 - (i32.load8_u offset=1 + (i32.load8_u $mimport$0 offset=1 ;; code offset: 0x6c7 (local.get $2) ) @@ -2362,7 +2362,7 @@ file_names[ 1]: ) (func $23 (param $0 i32) (result i32) ;; code offset: 0x736 - (memory.grow + (memory.grow $mimport$0 ;; code offset: 0x734 (local.get $0) ) diff --git a/test/passes/roundtrip_signed.bin.txt b/test/passes/roundtrip_signed.bin.txt index f696e074e01..5eb9b9198e6 100644 --- a/test/passes/roundtrip_signed.bin.txt +++ b/test/passes/roundtrip_signed.bin.txt @@ -18,7 +18,7 @@ ) ) (drop - (i32.load + (i32.load $0 (i32.const 0) ) ) diff --git a/test/passes/safe-heap_disable-simd.txt b/test/passes/safe-heap_disable-simd.txt index 493d2905b6f..caeafbd1980 100644 --- a/test/passes/safe-heap_disable-simd.txt +++ b/test/passes/safe-heap_disable-simd.txt @@ -32,14 +32,14 @@ (local.get $2) (i32.const 1) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load8_s + (i32.load8_s $0 (local.get $2) ) ) @@ -62,14 +62,14 @@ (local.get $2) (i32.const 1) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load8_u + (i32.load8_u $0 (local.get $2) ) ) @@ -92,14 +92,14 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load16_s align=1 + (i32.load16_s $0 align=1 (local.get $2) ) ) @@ -122,7 +122,7 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -136,7 +136,7 @@ ) (call $alignfault) ) - (i32.load16_s + (i32.load16_s $0 (local.get $2) ) ) @@ -159,14 +159,14 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load16_u align=1 + (i32.load16_u $0 align=1 (local.get $2) ) ) @@ -189,7 +189,7 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -203,7 +203,7 @@ ) (call $alignfault) ) - (i32.load16_u + (i32.load16_u $0 (local.get $2) ) ) @@ -226,14 +226,14 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load align=1 + (i32.load $0 align=1 (local.get $2) ) ) @@ -256,7 +256,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -270,7 +270,7 @@ ) (call $alignfault) ) - (i32.load align=2 + (i32.load $0 align=2 (local.get $2) ) ) @@ -293,7 +293,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -307,7 +307,7 @@ ) (call $alignfault) ) - (i32.load + (i32.load $0 (local.get $2) ) ) @@ -330,14 +330,14 @@ (local.get $2) (i32.const 1) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load8_s + (i64.load8_s $0 (local.get $2) ) ) @@ -360,14 +360,14 @@ (local.get $2) (i32.const 1) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load8_u + (i64.load8_u $0 (local.get $2) ) ) @@ -390,14 +390,14 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load16_s align=1 + (i64.load16_s $0 align=1 (local.get $2) ) ) @@ -420,7 +420,7 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -434,7 +434,7 @@ ) (call $alignfault) ) - (i64.load16_s + (i64.load16_s $0 (local.get $2) ) ) @@ -457,14 +457,14 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load16_u align=1 + (i64.load16_u $0 align=1 (local.get $2) ) ) @@ -487,7 +487,7 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -501,7 +501,7 @@ ) (call $alignfault) ) - (i64.load16_u + (i64.load16_u $0 (local.get $2) ) ) @@ -524,14 +524,14 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load32_s align=1 + (i64.load32_s $0 align=1 (local.get $2) ) ) @@ -554,7 +554,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -568,7 +568,7 @@ ) (call $alignfault) ) - (i64.load32_s align=2 + (i64.load32_s $0 align=2 (local.get $2) ) ) @@ -591,7 +591,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -605,7 +605,7 @@ ) (call $alignfault) ) - (i64.load32_s + (i64.load32_s $0 (local.get $2) ) ) @@ -628,14 +628,14 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load32_u align=1 + (i64.load32_u $0 align=1 (local.get $2) ) ) @@ -658,7 +658,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -672,7 +672,7 @@ ) (call $alignfault) ) - (i64.load32_u align=2 + (i64.load32_u $0 align=2 (local.get $2) ) ) @@ -695,7 +695,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -709,7 +709,7 @@ ) (call $alignfault) ) - (i64.load32_u + (i64.load32_u $0 (local.get $2) ) ) @@ -732,14 +732,14 @@ (local.get $2) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load align=1 + (i64.load $0 align=1 (local.get $2) ) ) @@ -762,7 +762,7 @@ (local.get $2) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -776,7 +776,7 @@ ) (call $alignfault) ) - (i64.load align=2 + (i64.load $0 align=2 (local.get $2) ) ) @@ -799,7 +799,7 @@ (local.get $2) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -813,7 +813,7 @@ ) (call $alignfault) ) - (i64.load align=4 + (i64.load $0 align=4 (local.get $2) ) ) @@ -836,7 +836,7 @@ (local.get $2) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -850,7 +850,7 @@ ) (call $alignfault) ) - (i64.load + (i64.load $0 (local.get $2) ) ) @@ -873,14 +873,14 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (f32.load align=1 + (f32.load $0 align=1 (local.get $2) ) ) @@ -903,7 +903,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -917,7 +917,7 @@ ) (call $alignfault) ) - (f32.load align=2 + (f32.load $0 align=2 (local.get $2) ) ) @@ -940,7 +940,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -954,7 +954,7 @@ ) (call $alignfault) ) - (f32.load + (f32.load $0 (local.get $2) ) ) @@ -977,14 +977,14 @@ (local.get $2) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (f64.load align=1 + (f64.load $0 align=1 (local.get $2) ) ) @@ -1007,7 +1007,7 @@ (local.get $2) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1021,7 +1021,7 @@ ) (call $alignfault) ) - (f64.load align=2 + (f64.load $0 align=2 (local.get $2) ) ) @@ -1044,7 +1044,7 @@ (local.get $2) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1058,7 +1058,7 @@ ) (call $alignfault) ) - (f64.load align=4 + (f64.load $0 align=4 (local.get $2) ) ) @@ -1081,7 +1081,7 @@ (local.get $2) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1095,7 +1095,7 @@ ) (call $alignfault) ) - (f64.load + (f64.load $0 (local.get $2) ) ) @@ -1118,14 +1118,14 @@ (local.get $3) (i32.const 1) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.store8 + (i32.store8 $0 (local.get $3) (local.get $2) ) @@ -1149,14 +1149,14 @@ (local.get $3) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.store16 align=1 + (i32.store16 $0 align=1 (local.get $3) (local.get $2) ) @@ -1180,7 +1180,7 @@ (local.get $3) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1194,7 +1194,7 @@ ) (call $alignfault) ) - (i32.store16 + (i32.store16 $0 (local.get $3) (local.get $2) ) @@ -1218,14 +1218,14 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.store align=1 + (i32.store $0 align=1 (local.get $3) (local.get $2) ) @@ -1249,7 +1249,7 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1263,7 +1263,7 @@ ) (call $alignfault) ) - (i32.store align=2 + (i32.store $0 align=2 (local.get $3) (local.get $2) ) @@ -1287,7 +1287,7 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1301,7 +1301,7 @@ ) (call $alignfault) ) - (i32.store + (i32.store $0 (local.get $3) (local.get $2) ) @@ -1325,14 +1325,14 @@ (local.get $3) (i32.const 1) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.store8 + (i64.store8 $0 (local.get $3) (local.get $2) ) @@ -1356,14 +1356,14 @@ (local.get $3) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.store16 align=1 + (i64.store16 $0 align=1 (local.get $3) (local.get $2) ) @@ -1387,7 +1387,7 @@ (local.get $3) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1401,7 +1401,7 @@ ) (call $alignfault) ) - (i64.store16 + (i64.store16 $0 (local.get $3) (local.get $2) ) @@ -1425,14 +1425,14 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.store32 align=1 + (i64.store32 $0 align=1 (local.get $3) (local.get $2) ) @@ -1456,7 +1456,7 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1470,7 +1470,7 @@ ) (call $alignfault) ) - (i64.store32 align=2 + (i64.store32 $0 align=2 (local.get $3) (local.get $2) ) @@ -1494,7 +1494,7 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1508,7 +1508,7 @@ ) (call $alignfault) ) - (i64.store32 + (i64.store32 $0 (local.get $3) (local.get $2) ) @@ -1532,14 +1532,14 @@ (local.get $3) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.store align=1 + (i64.store $0 align=1 (local.get $3) (local.get $2) ) @@ -1563,7 +1563,7 @@ (local.get $3) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1577,7 +1577,7 @@ ) (call $alignfault) ) - (i64.store align=2 + (i64.store $0 align=2 (local.get $3) (local.get $2) ) @@ -1601,7 +1601,7 @@ (local.get $3) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1615,7 +1615,7 @@ ) (call $alignfault) ) - (i64.store align=4 + (i64.store $0 align=4 (local.get $3) (local.get $2) ) @@ -1639,7 +1639,7 @@ (local.get $3) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1653,7 +1653,7 @@ ) (call $alignfault) ) - (i64.store + (i64.store $0 (local.get $3) (local.get $2) ) @@ -1677,14 +1677,14 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (f32.store align=1 + (f32.store $0 align=1 (local.get $3) (local.get $2) ) @@ -1708,7 +1708,7 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1722,7 +1722,7 @@ ) (call $alignfault) ) - (f32.store align=2 + (f32.store $0 align=2 (local.get $3) (local.get $2) ) @@ -1746,7 +1746,7 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1760,7 +1760,7 @@ ) (call $alignfault) ) - (f32.store + (f32.store $0 (local.get $3) (local.get $2) ) @@ -1784,14 +1784,14 @@ (local.get $3) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (f64.store align=1 + (f64.store $0 align=1 (local.get $3) (local.get $2) ) @@ -1815,7 +1815,7 @@ (local.get $3) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1829,7 +1829,7 @@ ) (call $alignfault) ) - (f64.store align=2 + (f64.store $0 align=2 (local.get $3) (local.get $2) ) @@ -1853,7 +1853,7 @@ (local.get $3) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1867,7 +1867,7 @@ ) (call $alignfault) ) - (f64.store align=4 + (f64.store $0 align=4 (local.get $3) (local.get $2) ) @@ -1891,7 +1891,7 @@ (local.get $3) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1905,7 +1905,7 @@ ) (call $alignfault) ) - (f64.store + (f64.store $0 (local.get $3) (local.get $2) ) @@ -1945,14 +1945,14 @@ (local.get $2) (i32.const 1) ) - (i32.load + (i32.load $0 (call $foo) ) ) ) (call $segfault) ) - (i32.load8_s + (i32.load8_s $0 (local.get $2) ) ) @@ -1975,14 +1975,14 @@ (local.get $2) (i32.const 1) ) - (i32.load + (i32.load $0 (call $foo) ) ) ) (call $segfault) ) - (i32.load8_u + (i32.load8_u $0 (local.get $2) ) ) @@ -2005,14 +2005,14 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $foo) ) ) ) (call $segfault) ) - (i32.load16_s align=1 + (i32.load16_s $0 align=1 (local.get $2) ) ) @@ -2035,7 +2035,7 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -2049,7 +2049,7 @@ ) (call $alignfault) ) - (i32.load16_s + (i32.load16_s $0 (local.get $2) ) ) @@ -2072,14 +2072,14 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $foo) ) ) ) (call $segfault) ) - (i32.load16_u align=1 + (i32.load16_u $0 align=1 (local.get $2) ) ) @@ -2102,7 +2102,7 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -2116,7 +2116,7 @@ ) (call $alignfault) ) - (i32.load16_u + (i32.load16_u $0 (local.get $2) ) ) @@ -2139,14 +2139,14 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $foo) ) ) ) (call $segfault) ) - (i32.load align=1 + (i32.load $0 align=1 (local.get $2) ) ) @@ -2169,7 +2169,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -2183,7 +2183,7 @@ ) (call $alignfault) ) - (i32.load align=2 + (i32.load $0 align=2 (local.get $2) ) ) @@ -2206,7 +2206,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -2220,7 +2220,7 @@ ) (call $alignfault) ) - (i32.load + (i32.load $0 (local.get $2) ) ) @@ -2243,14 +2243,14 @@ (local.get $2) (i32.const 1) ) - (i32.load + (i32.load $0 (call $foo) ) ) ) (call $segfault) ) - (i64.load8_s + (i64.load8_s $0 (local.get $2) ) ) @@ -2273,14 +2273,14 @@ (local.get $2) (i32.const 1) ) - (i32.load + (i32.load $0 (call $foo) ) ) ) (call $segfault) ) - (i64.load8_u + (i64.load8_u $0 (local.get $2) ) ) @@ -2303,14 +2303,14 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $foo) ) ) ) (call $segfault) ) - (i64.load16_s align=1 + (i64.load16_s $0 align=1 (local.get $2) ) ) @@ -2333,7 +2333,7 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -2347,7 +2347,7 @@ ) (call $alignfault) ) - (i64.load16_s + (i64.load16_s $0 (local.get $2) ) ) @@ -2370,14 +2370,14 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $foo) ) ) ) (call $segfault) ) - (i64.load16_u align=1 + (i64.load16_u $0 align=1 (local.get $2) ) ) @@ -2400,7 +2400,7 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -2414,7 +2414,7 @@ ) (call $alignfault) ) - (i64.load16_u + (i64.load16_u $0 (local.get $2) ) ) @@ -2437,14 +2437,14 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $foo) ) ) ) (call $segfault) ) - (i64.load32_s align=1 + (i64.load32_s $0 align=1 (local.get $2) ) ) @@ -2467,7 +2467,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -2481,7 +2481,7 @@ ) (call $alignfault) ) - (i64.load32_s align=2 + (i64.load32_s $0 align=2 (local.get $2) ) ) @@ -2504,7 +2504,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -2518,7 +2518,7 @@ ) (call $alignfault) ) - (i64.load32_s + (i64.load32_s $0 (local.get $2) ) ) @@ -2541,14 +2541,14 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $foo) ) ) ) (call $segfault) ) - (i64.load32_u align=1 + (i64.load32_u $0 align=1 (local.get $2) ) ) @@ -2571,7 +2571,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -2585,7 +2585,7 @@ ) (call $alignfault) ) - (i64.load32_u align=2 + (i64.load32_u $0 align=2 (local.get $2) ) ) @@ -2608,7 +2608,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -2622,7 +2622,7 @@ ) (call $alignfault) ) - (i64.load32_u + (i64.load32_u $0 (local.get $2) ) ) @@ -2645,14 +2645,14 @@ (local.get $2) (i32.const 8) ) - (i32.load + (i32.load $0 (call $foo) ) ) ) (call $segfault) ) - (i64.load align=1 + (i64.load $0 align=1 (local.get $2) ) ) @@ -2675,7 +2675,7 @@ (local.get $2) (i32.const 8) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -2689,7 +2689,7 @@ ) (call $alignfault) ) - (i64.load align=2 + (i64.load $0 align=2 (local.get $2) ) ) @@ -2712,7 +2712,7 @@ (local.get $2) (i32.const 8) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -2726,7 +2726,7 @@ ) (call $alignfault) ) - (i64.load align=4 + (i64.load $0 align=4 (local.get $2) ) ) @@ -2749,7 +2749,7 @@ (local.get $2) (i32.const 8) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -2763,7 +2763,7 @@ ) (call $alignfault) ) - (i64.load + (i64.load $0 (local.get $2) ) ) @@ -2786,14 +2786,14 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $foo) ) ) ) (call $segfault) ) - (f32.load align=1 + (f32.load $0 align=1 (local.get $2) ) ) @@ -2816,7 +2816,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -2830,7 +2830,7 @@ ) (call $alignfault) ) - (f32.load align=2 + (f32.load $0 align=2 (local.get $2) ) ) @@ -2853,7 +2853,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -2867,7 +2867,7 @@ ) (call $alignfault) ) - (f32.load + (f32.load $0 (local.get $2) ) ) @@ -2890,14 +2890,14 @@ (local.get $2) (i32.const 8) ) - (i32.load + (i32.load $0 (call $foo) ) ) ) (call $segfault) ) - (f64.load align=1 + (f64.load $0 align=1 (local.get $2) ) ) @@ -2920,7 +2920,7 @@ (local.get $2) (i32.const 8) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -2934,7 +2934,7 @@ ) (call $alignfault) ) - (f64.load align=2 + (f64.load $0 align=2 (local.get $2) ) ) @@ -2957,7 +2957,7 @@ (local.get $2) (i32.const 8) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -2971,7 +2971,7 @@ ) (call $alignfault) ) - (f64.load align=4 + (f64.load $0 align=4 (local.get $2) ) ) @@ -2994,7 +2994,7 @@ (local.get $2) (i32.const 8) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -3008,7 +3008,7 @@ ) (call $alignfault) ) - (f64.load + (f64.load $0 (local.get $2) ) ) @@ -3031,14 +3031,14 @@ (local.get $3) (i32.const 1) ) - (i32.load + (i32.load $0 (call $foo) ) ) ) (call $segfault) ) - (i32.store8 + (i32.store8 $0 (local.get $3) (local.get $2) ) @@ -3062,14 +3062,14 @@ (local.get $3) (i32.const 2) ) - (i32.load + (i32.load $0 (call $foo) ) ) ) (call $segfault) ) - (i32.store16 align=1 + (i32.store16 $0 align=1 (local.get $3) (local.get $2) ) @@ -3093,7 +3093,7 @@ (local.get $3) (i32.const 2) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -3107,7 +3107,7 @@ ) (call $alignfault) ) - (i32.store16 + (i32.store16 $0 (local.get $3) (local.get $2) ) @@ -3131,14 +3131,14 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $foo) ) ) ) (call $segfault) ) - (i32.store align=1 + (i32.store $0 align=1 (local.get $3) (local.get $2) ) @@ -3162,7 +3162,7 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -3176,7 +3176,7 @@ ) (call $alignfault) ) - (i32.store align=2 + (i32.store $0 align=2 (local.get $3) (local.get $2) ) @@ -3200,7 +3200,7 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -3214,7 +3214,7 @@ ) (call $alignfault) ) - (i32.store + (i32.store $0 (local.get $3) (local.get $2) ) @@ -3238,14 +3238,14 @@ (local.get $3) (i32.const 1) ) - (i32.load + (i32.load $0 (call $foo) ) ) ) (call $segfault) ) - (i64.store8 + (i64.store8 $0 (local.get $3) (local.get $2) ) @@ -3269,14 +3269,14 @@ (local.get $3) (i32.const 2) ) - (i32.load + (i32.load $0 (call $foo) ) ) ) (call $segfault) ) - (i64.store16 align=1 + (i64.store16 $0 align=1 (local.get $3) (local.get $2) ) @@ -3300,7 +3300,7 @@ (local.get $3) (i32.const 2) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -3314,7 +3314,7 @@ ) (call $alignfault) ) - (i64.store16 + (i64.store16 $0 (local.get $3) (local.get $2) ) @@ -3338,14 +3338,14 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $foo) ) ) ) (call $segfault) ) - (i64.store32 align=1 + (i64.store32 $0 align=1 (local.get $3) (local.get $2) ) @@ -3369,7 +3369,7 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -3383,7 +3383,7 @@ ) (call $alignfault) ) - (i64.store32 align=2 + (i64.store32 $0 align=2 (local.get $3) (local.get $2) ) @@ -3407,7 +3407,7 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -3421,7 +3421,7 @@ ) (call $alignfault) ) - (i64.store32 + (i64.store32 $0 (local.get $3) (local.get $2) ) @@ -3445,14 +3445,14 @@ (local.get $3) (i32.const 8) ) - (i32.load + (i32.load $0 (call $foo) ) ) ) (call $segfault) ) - (i64.store align=1 + (i64.store $0 align=1 (local.get $3) (local.get $2) ) @@ -3476,7 +3476,7 @@ (local.get $3) (i32.const 8) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -3490,7 +3490,7 @@ ) (call $alignfault) ) - (i64.store align=2 + (i64.store $0 align=2 (local.get $3) (local.get $2) ) @@ -3514,7 +3514,7 @@ (local.get $3) (i32.const 8) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -3528,7 +3528,7 @@ ) (call $alignfault) ) - (i64.store align=4 + (i64.store $0 align=4 (local.get $3) (local.get $2) ) @@ -3552,7 +3552,7 @@ (local.get $3) (i32.const 8) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -3566,7 +3566,7 @@ ) (call $alignfault) ) - (i64.store + (i64.store $0 (local.get $3) (local.get $2) ) @@ -3590,14 +3590,14 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $foo) ) ) ) (call $segfault) ) - (f32.store align=1 + (f32.store $0 align=1 (local.get $3) (local.get $2) ) @@ -3621,7 +3621,7 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -3635,7 +3635,7 @@ ) (call $alignfault) ) - (f32.store align=2 + (f32.store $0 align=2 (local.get $3) (local.get $2) ) @@ -3659,7 +3659,7 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -3673,7 +3673,7 @@ ) (call $alignfault) ) - (f32.store + (f32.store $0 (local.get $3) (local.get $2) ) @@ -3697,14 +3697,14 @@ (local.get $3) (i32.const 8) ) - (i32.load + (i32.load $0 (call $foo) ) ) ) (call $segfault) ) - (f64.store align=1 + (f64.store $0 align=1 (local.get $3) (local.get $2) ) @@ -3728,7 +3728,7 @@ (local.get $3) (i32.const 8) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -3742,7 +3742,7 @@ ) (call $alignfault) ) - (f64.store align=2 + (f64.store $0 align=2 (local.get $3) (local.get $2) ) @@ -3766,7 +3766,7 @@ (local.get $3) (i32.const 8) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -3780,7 +3780,7 @@ ) (call $alignfault) ) - (f64.store align=4 + (f64.store $0 align=4 (local.get $3) (local.get $2) ) @@ -3804,7 +3804,7 @@ (local.get $3) (i32.const 8) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -3818,7 +3818,7 @@ ) (call $alignfault) ) - (f64.store + (f64.store $0 (local.get $3) (local.get $2) ) @@ -3841,7 +3841,7 @@ (export "emscripten_get_sbrk_ptr" (func $foo)) (func $foo (result i32) (drop - (i32.load + (i32.load $0 (i32.const 0) ) ) @@ -3866,14 +3866,14 @@ (local.get $2) (i32.const 1) ) - (i32.load + (i32.load $0 (call $foo) ) ) ) (call $segfault) ) - (i32.load8_s + (i32.load8_s $0 (local.get $2) ) ) @@ -3896,14 +3896,14 @@ (local.get $2) (i32.const 1) ) - (i32.load + (i32.load $0 (call $foo) ) ) ) (call $segfault) ) - (i32.load8_u + (i32.load8_u $0 (local.get $2) ) ) @@ -3926,14 +3926,14 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $foo) ) ) ) (call $segfault) ) - (i32.load16_s align=1 + (i32.load16_s $0 align=1 (local.get $2) ) ) @@ -3956,7 +3956,7 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -3970,7 +3970,7 @@ ) (call $alignfault) ) - (i32.load16_s + (i32.load16_s $0 (local.get $2) ) ) @@ -3993,14 +3993,14 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $foo) ) ) ) (call $segfault) ) - (i32.load16_u align=1 + (i32.load16_u $0 align=1 (local.get $2) ) ) @@ -4023,7 +4023,7 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -4037,7 +4037,7 @@ ) (call $alignfault) ) - (i32.load16_u + (i32.load16_u $0 (local.get $2) ) ) @@ -4060,14 +4060,14 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $foo) ) ) ) (call $segfault) ) - (i32.load align=1 + (i32.load $0 align=1 (local.get $2) ) ) @@ -4090,7 +4090,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -4104,7 +4104,7 @@ ) (call $alignfault) ) - (i32.load align=2 + (i32.load $0 align=2 (local.get $2) ) ) @@ -4127,7 +4127,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -4141,7 +4141,7 @@ ) (call $alignfault) ) - (i32.load + (i32.load $0 (local.get $2) ) ) @@ -4164,14 +4164,14 @@ (local.get $2) (i32.const 1) ) - (i32.load + (i32.load $0 (call $foo) ) ) ) (call $segfault) ) - (i64.load8_s + (i64.load8_s $0 (local.get $2) ) ) @@ -4194,14 +4194,14 @@ (local.get $2) (i32.const 1) ) - (i32.load + (i32.load $0 (call $foo) ) ) ) (call $segfault) ) - (i64.load8_u + (i64.load8_u $0 (local.get $2) ) ) @@ -4224,14 +4224,14 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $foo) ) ) ) (call $segfault) ) - (i64.load16_s align=1 + (i64.load16_s $0 align=1 (local.get $2) ) ) @@ -4254,7 +4254,7 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -4268,7 +4268,7 @@ ) (call $alignfault) ) - (i64.load16_s + (i64.load16_s $0 (local.get $2) ) ) @@ -4291,14 +4291,14 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $foo) ) ) ) (call $segfault) ) - (i64.load16_u align=1 + (i64.load16_u $0 align=1 (local.get $2) ) ) @@ -4321,7 +4321,7 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -4335,7 +4335,7 @@ ) (call $alignfault) ) - (i64.load16_u + (i64.load16_u $0 (local.get $2) ) ) @@ -4358,14 +4358,14 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $foo) ) ) ) (call $segfault) ) - (i64.load32_s align=1 + (i64.load32_s $0 align=1 (local.get $2) ) ) @@ -4388,7 +4388,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -4402,7 +4402,7 @@ ) (call $alignfault) ) - (i64.load32_s align=2 + (i64.load32_s $0 align=2 (local.get $2) ) ) @@ -4425,7 +4425,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -4439,7 +4439,7 @@ ) (call $alignfault) ) - (i64.load32_s + (i64.load32_s $0 (local.get $2) ) ) @@ -4462,14 +4462,14 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $foo) ) ) ) (call $segfault) ) - (i64.load32_u align=1 + (i64.load32_u $0 align=1 (local.get $2) ) ) @@ -4492,7 +4492,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -4506,7 +4506,7 @@ ) (call $alignfault) ) - (i64.load32_u align=2 + (i64.load32_u $0 align=2 (local.get $2) ) ) @@ -4529,7 +4529,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -4543,7 +4543,7 @@ ) (call $alignfault) ) - (i64.load32_u + (i64.load32_u $0 (local.get $2) ) ) @@ -4566,14 +4566,14 @@ (local.get $2) (i32.const 8) ) - (i32.load + (i32.load $0 (call $foo) ) ) ) (call $segfault) ) - (i64.load align=1 + (i64.load $0 align=1 (local.get $2) ) ) @@ -4596,7 +4596,7 @@ (local.get $2) (i32.const 8) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -4610,7 +4610,7 @@ ) (call $alignfault) ) - (i64.load align=2 + (i64.load $0 align=2 (local.get $2) ) ) @@ -4633,7 +4633,7 @@ (local.get $2) (i32.const 8) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -4647,7 +4647,7 @@ ) (call $alignfault) ) - (i64.load align=4 + (i64.load $0 align=4 (local.get $2) ) ) @@ -4670,7 +4670,7 @@ (local.get $2) (i32.const 8) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -4684,7 +4684,7 @@ ) (call $alignfault) ) - (i64.load + (i64.load $0 (local.get $2) ) ) @@ -4707,14 +4707,14 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $foo) ) ) ) (call $segfault) ) - (f32.load align=1 + (f32.load $0 align=1 (local.get $2) ) ) @@ -4737,7 +4737,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -4751,7 +4751,7 @@ ) (call $alignfault) ) - (f32.load align=2 + (f32.load $0 align=2 (local.get $2) ) ) @@ -4774,7 +4774,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -4788,7 +4788,7 @@ ) (call $alignfault) ) - (f32.load + (f32.load $0 (local.get $2) ) ) @@ -4811,14 +4811,14 @@ (local.get $2) (i32.const 8) ) - (i32.load + (i32.load $0 (call $foo) ) ) ) (call $segfault) ) - (f64.load align=1 + (f64.load $0 align=1 (local.get $2) ) ) @@ -4841,7 +4841,7 @@ (local.get $2) (i32.const 8) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -4855,7 +4855,7 @@ ) (call $alignfault) ) - (f64.load align=2 + (f64.load $0 align=2 (local.get $2) ) ) @@ -4878,7 +4878,7 @@ (local.get $2) (i32.const 8) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -4892,7 +4892,7 @@ ) (call $alignfault) ) - (f64.load align=4 + (f64.load $0 align=4 (local.get $2) ) ) @@ -4915,7 +4915,7 @@ (local.get $2) (i32.const 8) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -4929,7 +4929,7 @@ ) (call $alignfault) ) - (f64.load + (f64.load $0 (local.get $2) ) ) @@ -4952,14 +4952,14 @@ (local.get $3) (i32.const 1) ) - (i32.load + (i32.load $0 (call $foo) ) ) ) (call $segfault) ) - (i32.store8 + (i32.store8 $0 (local.get $3) (local.get $2) ) @@ -4983,14 +4983,14 @@ (local.get $3) (i32.const 2) ) - (i32.load + (i32.load $0 (call $foo) ) ) ) (call $segfault) ) - (i32.store16 align=1 + (i32.store16 $0 align=1 (local.get $3) (local.get $2) ) @@ -5014,7 +5014,7 @@ (local.get $3) (i32.const 2) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -5028,7 +5028,7 @@ ) (call $alignfault) ) - (i32.store16 + (i32.store16 $0 (local.get $3) (local.get $2) ) @@ -5052,14 +5052,14 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $foo) ) ) ) (call $segfault) ) - (i32.store align=1 + (i32.store $0 align=1 (local.get $3) (local.get $2) ) @@ -5083,7 +5083,7 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -5097,7 +5097,7 @@ ) (call $alignfault) ) - (i32.store align=2 + (i32.store $0 align=2 (local.get $3) (local.get $2) ) @@ -5121,7 +5121,7 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -5135,7 +5135,7 @@ ) (call $alignfault) ) - (i32.store + (i32.store $0 (local.get $3) (local.get $2) ) @@ -5159,14 +5159,14 @@ (local.get $3) (i32.const 1) ) - (i32.load + (i32.load $0 (call $foo) ) ) ) (call $segfault) ) - (i64.store8 + (i64.store8 $0 (local.get $3) (local.get $2) ) @@ -5190,14 +5190,14 @@ (local.get $3) (i32.const 2) ) - (i32.load + (i32.load $0 (call $foo) ) ) ) (call $segfault) ) - (i64.store16 align=1 + (i64.store16 $0 align=1 (local.get $3) (local.get $2) ) @@ -5221,7 +5221,7 @@ (local.get $3) (i32.const 2) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -5235,7 +5235,7 @@ ) (call $alignfault) ) - (i64.store16 + (i64.store16 $0 (local.get $3) (local.get $2) ) @@ -5259,14 +5259,14 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $foo) ) ) ) (call $segfault) ) - (i64.store32 align=1 + (i64.store32 $0 align=1 (local.get $3) (local.get $2) ) @@ -5290,7 +5290,7 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -5304,7 +5304,7 @@ ) (call $alignfault) ) - (i64.store32 align=2 + (i64.store32 $0 align=2 (local.get $3) (local.get $2) ) @@ -5328,7 +5328,7 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -5342,7 +5342,7 @@ ) (call $alignfault) ) - (i64.store32 + (i64.store32 $0 (local.get $3) (local.get $2) ) @@ -5366,14 +5366,14 @@ (local.get $3) (i32.const 8) ) - (i32.load + (i32.load $0 (call $foo) ) ) ) (call $segfault) ) - (i64.store align=1 + (i64.store $0 align=1 (local.get $3) (local.get $2) ) @@ -5397,7 +5397,7 @@ (local.get $3) (i32.const 8) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -5411,7 +5411,7 @@ ) (call $alignfault) ) - (i64.store align=2 + (i64.store $0 align=2 (local.get $3) (local.get $2) ) @@ -5435,7 +5435,7 @@ (local.get $3) (i32.const 8) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -5449,7 +5449,7 @@ ) (call $alignfault) ) - (i64.store align=4 + (i64.store $0 align=4 (local.get $3) (local.get $2) ) @@ -5473,7 +5473,7 @@ (local.get $3) (i32.const 8) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -5487,7 +5487,7 @@ ) (call $alignfault) ) - (i64.store + (i64.store $0 (local.get $3) (local.get $2) ) @@ -5511,14 +5511,14 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $foo) ) ) ) (call $segfault) ) - (f32.store align=1 + (f32.store $0 align=1 (local.get $3) (local.get $2) ) @@ -5542,7 +5542,7 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -5556,7 +5556,7 @@ ) (call $alignfault) ) - (f32.store align=2 + (f32.store $0 align=2 (local.get $3) (local.get $2) ) @@ -5580,7 +5580,7 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -5594,7 +5594,7 @@ ) (call $alignfault) ) - (f32.store + (f32.store $0 (local.get $3) (local.get $2) ) @@ -5618,14 +5618,14 @@ (local.get $3) (i32.const 8) ) - (i32.load + (i32.load $0 (call $foo) ) ) ) (call $segfault) ) - (f64.store align=1 + (f64.store $0 align=1 (local.get $3) (local.get $2) ) @@ -5649,7 +5649,7 @@ (local.get $3) (i32.const 8) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -5663,7 +5663,7 @@ ) (call $alignfault) ) - (f64.store align=2 + (f64.store $0 align=2 (local.get $3) (local.get $2) ) @@ -5687,7 +5687,7 @@ (local.get $3) (i32.const 8) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -5701,7 +5701,7 @@ ) (call $alignfault) ) - (f64.store align=4 + (f64.store $0 align=4 (local.get $3) (local.get $2) ) @@ -5725,7 +5725,7 @@ (local.get $3) (i32.const 8) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -5739,7 +5739,7 @@ ) (call $alignfault) ) - (f64.store + (f64.store $0 (local.get $3) (local.get $2) ) diff --git a/test/passes/safe-heap_enable-threads_enable-simd.txt b/test/passes/safe-heap_enable-threads_enable-simd.txt index 72a98d32b8e..7bbd4e3e5ae 100644 --- a/test/passes/safe-heap_enable-threads_enable-simd.txt +++ b/test/passes/safe-heap_enable-threads_enable-simd.txt @@ -203,7 +203,7 @@ (local.get $2) (i32.const 1) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -212,7 +212,7 @@ ) (i32.shr_s (i32.shl - (i32.atomic.load8_u + (i32.atomic.load8_u $0 (local.get $2) ) (i32.const 24) @@ -239,14 +239,14 @@ (local.get $2) (i32.const 1) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load8_s + (i32.load8_s $0 (local.get $2) ) ) @@ -269,14 +269,14 @@ (local.get $2) (i32.const 1) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.atomic.load8_u + (i32.atomic.load8_u $0 (local.get $2) ) ) @@ -299,14 +299,14 @@ (local.get $2) (i32.const 1) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load8_u + (i32.load8_u $0 (local.get $2) ) ) @@ -329,14 +329,14 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load16_s align=1 + (i32.load16_s $0 align=1 (local.get $2) ) ) @@ -359,7 +359,7 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -375,7 +375,7 @@ ) (i32.shr_s (i32.shl - (i32.atomic.load16_u + (i32.atomic.load16_u $0 (local.get $2) ) (i32.const 16) @@ -402,7 +402,7 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -416,7 +416,7 @@ ) (call $alignfault) ) - (i32.load16_s + (i32.load16_s $0 (local.get $2) ) ) @@ -439,14 +439,14 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load16_u align=1 + (i32.load16_u $0 align=1 (local.get $2) ) ) @@ -469,7 +469,7 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -483,7 +483,7 @@ ) (call $alignfault) ) - (i32.atomic.load16_u + (i32.atomic.load16_u $0 (local.get $2) ) ) @@ -506,7 +506,7 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -520,7 +520,7 @@ ) (call $alignfault) ) - (i32.load16_u + (i32.load16_u $0 (local.get $2) ) ) @@ -543,14 +543,14 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load align=1 + (i32.load $0 align=1 (local.get $2) ) ) @@ -573,7 +573,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -587,7 +587,7 @@ ) (call $alignfault) ) - (i32.load align=2 + (i32.load $0 align=2 (local.get $2) ) ) @@ -610,7 +610,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -624,7 +624,7 @@ ) (call $alignfault) ) - (i32.atomic.load + (i32.atomic.load $0 (local.get $2) ) ) @@ -647,7 +647,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -661,7 +661,7 @@ ) (call $alignfault) ) - (i32.load + (i32.load $0 (local.get $2) ) ) @@ -684,7 +684,7 @@ (local.get $2) (i32.const 1) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -693,7 +693,7 @@ ) (i64.shr_s (i64.shl - (i64.atomic.load8_u + (i64.atomic.load8_u $0 (local.get $2) ) (i64.const 56) @@ -720,14 +720,14 @@ (local.get $2) (i32.const 1) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load8_s + (i64.load8_s $0 (local.get $2) ) ) @@ -750,14 +750,14 @@ (local.get $2) (i32.const 1) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.atomic.load8_u + (i64.atomic.load8_u $0 (local.get $2) ) ) @@ -780,14 +780,14 @@ (local.get $2) (i32.const 1) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load8_u + (i64.load8_u $0 (local.get $2) ) ) @@ -810,14 +810,14 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load16_s align=1 + (i64.load16_s $0 align=1 (local.get $2) ) ) @@ -840,7 +840,7 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -856,7 +856,7 @@ ) (i64.shr_s (i64.shl - (i64.atomic.load16_u + (i64.atomic.load16_u $0 (local.get $2) ) (i64.const 48) @@ -883,7 +883,7 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -897,7 +897,7 @@ ) (call $alignfault) ) - (i64.load16_s + (i64.load16_s $0 (local.get $2) ) ) @@ -920,14 +920,14 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load16_u align=1 + (i64.load16_u $0 align=1 (local.get $2) ) ) @@ -950,7 +950,7 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -964,7 +964,7 @@ ) (call $alignfault) ) - (i64.atomic.load16_u + (i64.atomic.load16_u $0 (local.get $2) ) ) @@ -987,7 +987,7 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1001,7 +1001,7 @@ ) (call $alignfault) ) - (i64.load16_u + (i64.load16_u $0 (local.get $2) ) ) @@ -1024,14 +1024,14 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load32_s align=1 + (i64.load32_s $0 align=1 (local.get $2) ) ) @@ -1054,7 +1054,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1068,7 +1068,7 @@ ) (call $alignfault) ) - (i64.load32_s align=2 + (i64.load32_s $0 align=2 (local.get $2) ) ) @@ -1091,7 +1091,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1107,7 +1107,7 @@ ) (i64.shr_s (i64.shl - (i64.atomic.load32_u + (i64.atomic.load32_u $0 (local.get $2) ) (i64.const 32) @@ -1134,7 +1134,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1148,7 +1148,7 @@ ) (call $alignfault) ) - (i64.load32_s + (i64.load32_s $0 (local.get $2) ) ) @@ -1171,14 +1171,14 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load32_u align=1 + (i64.load32_u $0 align=1 (local.get $2) ) ) @@ -1201,7 +1201,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1215,7 +1215,7 @@ ) (call $alignfault) ) - (i64.load32_u align=2 + (i64.load32_u $0 align=2 (local.get $2) ) ) @@ -1238,7 +1238,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1252,7 +1252,7 @@ ) (call $alignfault) ) - (i64.atomic.load32_u + (i64.atomic.load32_u $0 (local.get $2) ) ) @@ -1275,7 +1275,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1289,7 +1289,7 @@ ) (call $alignfault) ) - (i64.load32_u + (i64.load32_u $0 (local.get $2) ) ) @@ -1312,14 +1312,14 @@ (local.get $2) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load align=1 + (i64.load $0 align=1 (local.get $2) ) ) @@ -1342,7 +1342,7 @@ (local.get $2) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1356,7 +1356,7 @@ ) (call $alignfault) ) - (i64.load align=2 + (i64.load $0 align=2 (local.get $2) ) ) @@ -1379,7 +1379,7 @@ (local.get $2) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1393,7 +1393,7 @@ ) (call $alignfault) ) - (i64.load align=4 + (i64.load $0 align=4 (local.get $2) ) ) @@ -1416,7 +1416,7 @@ (local.get $2) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1430,7 +1430,7 @@ ) (call $alignfault) ) - (i64.atomic.load + (i64.atomic.load $0 (local.get $2) ) ) @@ -1453,7 +1453,7 @@ (local.get $2) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1467,7 +1467,7 @@ ) (call $alignfault) ) - (i64.load + (i64.load $0 (local.get $2) ) ) @@ -1490,14 +1490,14 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (f32.load align=1 + (f32.load $0 align=1 (local.get $2) ) ) @@ -1520,7 +1520,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1534,7 +1534,7 @@ ) (call $alignfault) ) - (f32.load align=2 + (f32.load $0 align=2 (local.get $2) ) ) @@ -1557,7 +1557,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1571,7 +1571,7 @@ ) (call $alignfault) ) - (f32.load + (f32.load $0 (local.get $2) ) ) @@ -1594,14 +1594,14 @@ (local.get $2) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (f64.load align=1 + (f64.load $0 align=1 (local.get $2) ) ) @@ -1624,7 +1624,7 @@ (local.get $2) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1638,7 +1638,7 @@ ) (call $alignfault) ) - (f64.load align=2 + (f64.load $0 align=2 (local.get $2) ) ) @@ -1661,7 +1661,7 @@ (local.get $2) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1675,7 +1675,7 @@ ) (call $alignfault) ) - (f64.load align=4 + (f64.load $0 align=4 (local.get $2) ) ) @@ -1698,7 +1698,7 @@ (local.get $2) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1712,7 +1712,7 @@ ) (call $alignfault) ) - (f64.load + (f64.load $0 (local.get $2) ) ) @@ -1735,14 +1735,14 @@ (local.get $2) (i32.const 16) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (v128.load align=1 + (v128.load $0 align=1 (local.get $2) ) ) @@ -1765,7 +1765,7 @@ (local.get $2) (i32.const 16) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1779,7 +1779,7 @@ ) (call $alignfault) ) - (v128.load align=2 + (v128.load $0 align=2 (local.get $2) ) ) @@ -1802,7 +1802,7 @@ (local.get $2) (i32.const 16) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1816,7 +1816,7 @@ ) (call $alignfault) ) - (v128.load align=4 + (v128.load $0 align=4 (local.get $2) ) ) @@ -1839,7 +1839,7 @@ (local.get $2) (i32.const 16) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1853,7 +1853,7 @@ ) (call $alignfault) ) - (v128.load align=8 + (v128.load $0 align=8 (local.get $2) ) ) @@ -1876,7 +1876,7 @@ (local.get $2) (i32.const 16) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1890,7 +1890,7 @@ ) (call $alignfault) ) - (v128.load + (v128.load $0 (local.get $2) ) ) @@ -1913,14 +1913,14 @@ (local.get $3) (i32.const 1) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.atomic.store8 + (i32.atomic.store8 $0 (local.get $3) (local.get $2) ) @@ -1944,14 +1944,14 @@ (local.get $3) (i32.const 1) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.store8 + (i32.store8 $0 (local.get $3) (local.get $2) ) @@ -1975,14 +1975,14 @@ (local.get $3) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.store16 align=1 + (i32.store16 $0 align=1 (local.get $3) (local.get $2) ) @@ -2006,7 +2006,7 @@ (local.get $3) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -2020,7 +2020,7 @@ ) (call $alignfault) ) - (i32.atomic.store16 + (i32.atomic.store16 $0 (local.get $3) (local.get $2) ) @@ -2044,7 +2044,7 @@ (local.get $3) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -2058,7 +2058,7 @@ ) (call $alignfault) ) - (i32.store16 + (i32.store16 $0 (local.get $3) (local.get $2) ) @@ -2082,14 +2082,14 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.store align=1 + (i32.store $0 align=1 (local.get $3) (local.get $2) ) @@ -2113,7 +2113,7 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -2127,7 +2127,7 @@ ) (call $alignfault) ) - (i32.store align=2 + (i32.store $0 align=2 (local.get $3) (local.get $2) ) @@ -2151,7 +2151,7 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -2165,7 +2165,7 @@ ) (call $alignfault) ) - (i32.atomic.store + (i32.atomic.store $0 (local.get $3) (local.get $2) ) @@ -2189,7 +2189,7 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -2203,7 +2203,7 @@ ) (call $alignfault) ) - (i32.store + (i32.store $0 (local.get $3) (local.get $2) ) @@ -2227,14 +2227,14 @@ (local.get $3) (i32.const 1) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.atomic.store8 + (i64.atomic.store8 $0 (local.get $3) (local.get $2) ) @@ -2258,14 +2258,14 @@ (local.get $3) (i32.const 1) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.store8 + (i64.store8 $0 (local.get $3) (local.get $2) ) @@ -2289,14 +2289,14 @@ (local.get $3) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.store16 align=1 + (i64.store16 $0 align=1 (local.get $3) (local.get $2) ) @@ -2320,7 +2320,7 @@ (local.get $3) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -2334,7 +2334,7 @@ ) (call $alignfault) ) - (i64.atomic.store16 + (i64.atomic.store16 $0 (local.get $3) (local.get $2) ) @@ -2358,7 +2358,7 @@ (local.get $3) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -2372,7 +2372,7 @@ ) (call $alignfault) ) - (i64.store16 + (i64.store16 $0 (local.get $3) (local.get $2) ) @@ -2396,14 +2396,14 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.store32 align=1 + (i64.store32 $0 align=1 (local.get $3) (local.get $2) ) @@ -2427,7 +2427,7 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -2441,7 +2441,7 @@ ) (call $alignfault) ) - (i64.store32 align=2 + (i64.store32 $0 align=2 (local.get $3) (local.get $2) ) @@ -2465,7 +2465,7 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -2479,7 +2479,7 @@ ) (call $alignfault) ) - (i64.atomic.store32 + (i64.atomic.store32 $0 (local.get $3) (local.get $2) ) @@ -2503,7 +2503,7 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -2517,7 +2517,7 @@ ) (call $alignfault) ) - (i64.store32 + (i64.store32 $0 (local.get $3) (local.get $2) ) @@ -2541,14 +2541,14 @@ (local.get $3) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.store align=1 + (i64.store $0 align=1 (local.get $3) (local.get $2) ) @@ -2572,7 +2572,7 @@ (local.get $3) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -2586,7 +2586,7 @@ ) (call $alignfault) ) - (i64.store align=2 + (i64.store $0 align=2 (local.get $3) (local.get $2) ) @@ -2610,7 +2610,7 @@ (local.get $3) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -2624,7 +2624,7 @@ ) (call $alignfault) ) - (i64.store align=4 + (i64.store $0 align=4 (local.get $3) (local.get $2) ) @@ -2648,7 +2648,7 @@ (local.get $3) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -2662,7 +2662,7 @@ ) (call $alignfault) ) - (i64.atomic.store + (i64.atomic.store $0 (local.get $3) (local.get $2) ) @@ -2686,7 +2686,7 @@ (local.get $3) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -2700,7 +2700,7 @@ ) (call $alignfault) ) - (i64.store + (i64.store $0 (local.get $3) (local.get $2) ) @@ -2724,14 +2724,14 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (f32.store align=1 + (f32.store $0 align=1 (local.get $3) (local.get $2) ) @@ -2755,7 +2755,7 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -2769,7 +2769,7 @@ ) (call $alignfault) ) - (f32.store align=2 + (f32.store $0 align=2 (local.get $3) (local.get $2) ) @@ -2793,7 +2793,7 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -2807,7 +2807,7 @@ ) (call $alignfault) ) - (f32.store + (f32.store $0 (local.get $3) (local.get $2) ) @@ -2831,14 +2831,14 @@ (local.get $3) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (f64.store align=1 + (f64.store $0 align=1 (local.get $3) (local.get $2) ) @@ -2862,7 +2862,7 @@ (local.get $3) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -2876,7 +2876,7 @@ ) (call $alignfault) ) - (f64.store align=2 + (f64.store $0 align=2 (local.get $3) (local.get $2) ) @@ -2900,7 +2900,7 @@ (local.get $3) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -2914,7 +2914,7 @@ ) (call $alignfault) ) - (f64.store align=4 + (f64.store $0 align=4 (local.get $3) (local.get $2) ) @@ -2938,7 +2938,7 @@ (local.get $3) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -2952,7 +2952,7 @@ ) (call $alignfault) ) - (f64.store + (f64.store $0 (local.get $3) (local.get $2) ) @@ -2976,14 +2976,14 @@ (local.get $3) (i32.const 16) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (v128.store align=1 + (v128.store $0 align=1 (local.get $3) (local.get $2) ) @@ -3007,7 +3007,7 @@ (local.get $3) (i32.const 16) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -3021,7 +3021,7 @@ ) (call $alignfault) ) - (v128.store align=2 + (v128.store $0 align=2 (local.get $3) (local.get $2) ) @@ -3045,7 +3045,7 @@ (local.get $3) (i32.const 16) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -3059,7 +3059,7 @@ ) (call $alignfault) ) - (v128.store align=4 + (v128.store $0 align=4 (local.get $3) (local.get $2) ) @@ -3083,7 +3083,7 @@ (local.get $3) (i32.const 16) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -3097,7 +3097,7 @@ ) (call $alignfault) ) - (v128.store align=8 + (v128.store $0 align=8 (local.get $3) (local.get $2) ) @@ -3121,7 +3121,7 @@ (local.get $3) (i32.const 16) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -3135,7 +3135,7 @@ ) (call $alignfault) ) - (v128.store + (v128.store $0 (local.get $3) (local.get $2) ) @@ -3185,14 +3185,14 @@ (local.get $2) (i32.const 1) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load8_s + (i32.load8_s $0 (local.get $2) ) ) @@ -3215,14 +3215,14 @@ (local.get $2) (i32.const 1) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load8_u + (i32.load8_u $0 (local.get $2) ) ) @@ -3245,14 +3245,14 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load16_s align=1 + (i32.load16_s $0 align=1 (local.get $2) ) ) @@ -3275,7 +3275,7 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -3289,7 +3289,7 @@ ) (call $alignfault) ) - (i32.load16_s + (i32.load16_s $0 (local.get $2) ) ) @@ -3312,14 +3312,14 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load16_u align=1 + (i32.load16_u $0 align=1 (local.get $2) ) ) @@ -3342,7 +3342,7 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -3356,7 +3356,7 @@ ) (call $alignfault) ) - (i32.load16_u + (i32.load16_u $0 (local.get $2) ) ) @@ -3379,14 +3379,14 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load align=1 + (i32.load $0 align=1 (local.get $2) ) ) @@ -3409,7 +3409,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -3423,7 +3423,7 @@ ) (call $alignfault) ) - (i32.load align=2 + (i32.load $0 align=2 (local.get $2) ) ) @@ -3446,7 +3446,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -3460,7 +3460,7 @@ ) (call $alignfault) ) - (i32.load + (i32.load $0 (local.get $2) ) ) @@ -3483,14 +3483,14 @@ (local.get $2) (i32.const 1) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load8_s + (i64.load8_s $0 (local.get $2) ) ) @@ -3513,14 +3513,14 @@ (local.get $2) (i32.const 1) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load8_u + (i64.load8_u $0 (local.get $2) ) ) @@ -3543,14 +3543,14 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load16_s align=1 + (i64.load16_s $0 align=1 (local.get $2) ) ) @@ -3573,7 +3573,7 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -3587,7 +3587,7 @@ ) (call $alignfault) ) - (i64.load16_s + (i64.load16_s $0 (local.get $2) ) ) @@ -3610,14 +3610,14 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load16_u align=1 + (i64.load16_u $0 align=1 (local.get $2) ) ) @@ -3640,7 +3640,7 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -3654,7 +3654,7 @@ ) (call $alignfault) ) - (i64.load16_u + (i64.load16_u $0 (local.get $2) ) ) @@ -3677,14 +3677,14 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load32_s align=1 + (i64.load32_s $0 align=1 (local.get $2) ) ) @@ -3707,7 +3707,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -3721,7 +3721,7 @@ ) (call $alignfault) ) - (i64.load32_s align=2 + (i64.load32_s $0 align=2 (local.get $2) ) ) @@ -3744,7 +3744,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -3758,7 +3758,7 @@ ) (call $alignfault) ) - (i64.load32_s + (i64.load32_s $0 (local.get $2) ) ) @@ -3781,14 +3781,14 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load32_u align=1 + (i64.load32_u $0 align=1 (local.get $2) ) ) @@ -3811,7 +3811,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -3825,7 +3825,7 @@ ) (call $alignfault) ) - (i64.load32_u align=2 + (i64.load32_u $0 align=2 (local.get $2) ) ) @@ -3848,7 +3848,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -3862,7 +3862,7 @@ ) (call $alignfault) ) - (i64.load32_u + (i64.load32_u $0 (local.get $2) ) ) @@ -3885,14 +3885,14 @@ (local.get $2) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load align=1 + (i64.load $0 align=1 (local.get $2) ) ) @@ -3915,7 +3915,7 @@ (local.get $2) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -3929,7 +3929,7 @@ ) (call $alignfault) ) - (i64.load align=2 + (i64.load $0 align=2 (local.get $2) ) ) @@ -3952,7 +3952,7 @@ (local.get $2) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -3966,7 +3966,7 @@ ) (call $alignfault) ) - (i64.load align=4 + (i64.load $0 align=4 (local.get $2) ) ) @@ -3989,7 +3989,7 @@ (local.get $2) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -4003,7 +4003,7 @@ ) (call $alignfault) ) - (i64.load + (i64.load $0 (local.get $2) ) ) @@ -4026,14 +4026,14 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (f32.load align=1 + (f32.load $0 align=1 (local.get $2) ) ) @@ -4056,7 +4056,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -4070,7 +4070,7 @@ ) (call $alignfault) ) - (f32.load align=2 + (f32.load $0 align=2 (local.get $2) ) ) @@ -4093,7 +4093,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -4107,7 +4107,7 @@ ) (call $alignfault) ) - (f32.load + (f32.load $0 (local.get $2) ) ) @@ -4130,14 +4130,14 @@ (local.get $2) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (f64.load align=1 + (f64.load $0 align=1 (local.get $2) ) ) @@ -4160,7 +4160,7 @@ (local.get $2) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -4174,7 +4174,7 @@ ) (call $alignfault) ) - (f64.load align=2 + (f64.load $0 align=2 (local.get $2) ) ) @@ -4197,7 +4197,7 @@ (local.get $2) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -4211,7 +4211,7 @@ ) (call $alignfault) ) - (f64.load align=4 + (f64.load $0 align=4 (local.get $2) ) ) @@ -4234,7 +4234,7 @@ (local.get $2) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -4248,7 +4248,7 @@ ) (call $alignfault) ) - (f64.load + (f64.load $0 (local.get $2) ) ) @@ -4271,14 +4271,14 @@ (local.get $2) (i32.const 16) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (v128.load align=1 + (v128.load $0 align=1 (local.get $2) ) ) @@ -4301,7 +4301,7 @@ (local.get $2) (i32.const 16) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -4315,7 +4315,7 @@ ) (call $alignfault) ) - (v128.load align=2 + (v128.load $0 align=2 (local.get $2) ) ) @@ -4338,7 +4338,7 @@ (local.get $2) (i32.const 16) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -4352,7 +4352,7 @@ ) (call $alignfault) ) - (v128.load align=4 + (v128.load $0 align=4 (local.get $2) ) ) @@ -4375,7 +4375,7 @@ (local.get $2) (i32.const 16) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -4389,7 +4389,7 @@ ) (call $alignfault) ) - (v128.load align=8 + (v128.load $0 align=8 (local.get $2) ) ) @@ -4412,7 +4412,7 @@ (local.get $2) (i32.const 16) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -4426,7 +4426,7 @@ ) (call $alignfault) ) - (v128.load + (v128.load $0 (local.get $2) ) ) @@ -4449,14 +4449,14 @@ (local.get $3) (i32.const 1) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.store8 + (i32.store8 $0 (local.get $3) (local.get $2) ) @@ -4480,14 +4480,14 @@ (local.get $3) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.store16 align=1 + (i32.store16 $0 align=1 (local.get $3) (local.get $2) ) @@ -4511,7 +4511,7 @@ (local.get $3) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -4525,7 +4525,7 @@ ) (call $alignfault) ) - (i32.store16 + (i32.store16 $0 (local.get $3) (local.get $2) ) @@ -4549,14 +4549,14 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.store align=1 + (i32.store $0 align=1 (local.get $3) (local.get $2) ) @@ -4580,7 +4580,7 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -4594,7 +4594,7 @@ ) (call $alignfault) ) - (i32.store align=2 + (i32.store $0 align=2 (local.get $3) (local.get $2) ) @@ -4618,7 +4618,7 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -4632,7 +4632,7 @@ ) (call $alignfault) ) - (i32.store + (i32.store $0 (local.get $3) (local.get $2) ) @@ -4656,14 +4656,14 @@ (local.get $3) (i32.const 1) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.store8 + (i64.store8 $0 (local.get $3) (local.get $2) ) @@ -4687,14 +4687,14 @@ (local.get $3) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.store16 align=1 + (i64.store16 $0 align=1 (local.get $3) (local.get $2) ) @@ -4718,7 +4718,7 @@ (local.get $3) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -4732,7 +4732,7 @@ ) (call $alignfault) ) - (i64.store16 + (i64.store16 $0 (local.get $3) (local.get $2) ) @@ -4756,14 +4756,14 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.store32 align=1 + (i64.store32 $0 align=1 (local.get $3) (local.get $2) ) @@ -4787,7 +4787,7 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -4801,7 +4801,7 @@ ) (call $alignfault) ) - (i64.store32 align=2 + (i64.store32 $0 align=2 (local.get $3) (local.get $2) ) @@ -4825,7 +4825,7 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -4839,7 +4839,7 @@ ) (call $alignfault) ) - (i64.store32 + (i64.store32 $0 (local.get $3) (local.get $2) ) @@ -4863,14 +4863,14 @@ (local.get $3) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.store align=1 + (i64.store $0 align=1 (local.get $3) (local.get $2) ) @@ -4894,7 +4894,7 @@ (local.get $3) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -4908,7 +4908,7 @@ ) (call $alignfault) ) - (i64.store align=2 + (i64.store $0 align=2 (local.get $3) (local.get $2) ) @@ -4932,7 +4932,7 @@ (local.get $3) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -4946,7 +4946,7 @@ ) (call $alignfault) ) - (i64.store align=4 + (i64.store $0 align=4 (local.get $3) (local.get $2) ) @@ -4970,7 +4970,7 @@ (local.get $3) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -4984,7 +4984,7 @@ ) (call $alignfault) ) - (i64.store + (i64.store $0 (local.get $3) (local.get $2) ) @@ -5008,14 +5008,14 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (f32.store align=1 + (f32.store $0 align=1 (local.get $3) (local.get $2) ) @@ -5039,7 +5039,7 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -5053,7 +5053,7 @@ ) (call $alignfault) ) - (f32.store align=2 + (f32.store $0 align=2 (local.get $3) (local.get $2) ) @@ -5077,7 +5077,7 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -5091,7 +5091,7 @@ ) (call $alignfault) ) - (f32.store + (f32.store $0 (local.get $3) (local.get $2) ) @@ -5115,14 +5115,14 @@ (local.get $3) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (f64.store align=1 + (f64.store $0 align=1 (local.get $3) (local.get $2) ) @@ -5146,7 +5146,7 @@ (local.get $3) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -5160,7 +5160,7 @@ ) (call $alignfault) ) - (f64.store align=2 + (f64.store $0 align=2 (local.get $3) (local.get $2) ) @@ -5184,7 +5184,7 @@ (local.get $3) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -5198,7 +5198,7 @@ ) (call $alignfault) ) - (f64.store align=4 + (f64.store $0 align=4 (local.get $3) (local.get $2) ) @@ -5222,7 +5222,7 @@ (local.get $3) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -5236,7 +5236,7 @@ ) (call $alignfault) ) - (f64.store + (f64.store $0 (local.get $3) (local.get $2) ) @@ -5260,14 +5260,14 @@ (local.get $3) (i32.const 16) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (v128.store align=1 + (v128.store $0 align=1 (local.get $3) (local.get $2) ) @@ -5291,7 +5291,7 @@ (local.get $3) (i32.const 16) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -5305,7 +5305,7 @@ ) (call $alignfault) ) - (v128.store align=2 + (v128.store $0 align=2 (local.get $3) (local.get $2) ) @@ -5329,7 +5329,7 @@ (local.get $3) (i32.const 16) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -5343,7 +5343,7 @@ ) (call $alignfault) ) - (v128.store align=4 + (v128.store $0 align=4 (local.get $3) (local.get $2) ) @@ -5367,7 +5367,7 @@ (local.get $3) (i32.const 16) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -5381,7 +5381,7 @@ ) (call $alignfault) ) - (v128.store align=8 + (v128.store $0 align=8 (local.get $3) (local.get $2) ) @@ -5405,7 +5405,7 @@ (local.get $3) (i32.const 16) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -5419,7 +5419,7 @@ ) (call $alignfault) ) - (v128.store + (v128.store $0 (local.get $3) (local.get $2) ) @@ -5474,7 +5474,7 @@ (local.get $2) (i32.const 1) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -5483,7 +5483,7 @@ ) (i32.shr_s (i32.shl - (i32.atomic.load8_u + (i32.atomic.load8_u $0 (local.get $2) ) (i32.const 24) @@ -5510,14 +5510,14 @@ (local.get $2) (i32.const 1) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load8_s + (i32.load8_s $0 (local.get $2) ) ) @@ -5540,14 +5540,14 @@ (local.get $2) (i32.const 1) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.atomic.load8_u + (i32.atomic.load8_u $0 (local.get $2) ) ) @@ -5570,14 +5570,14 @@ (local.get $2) (i32.const 1) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load8_u + (i32.load8_u $0 (local.get $2) ) ) @@ -5600,14 +5600,14 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load16_s align=1 + (i32.load16_s $0 align=1 (local.get $2) ) ) @@ -5630,7 +5630,7 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -5646,7 +5646,7 @@ ) (i32.shr_s (i32.shl - (i32.atomic.load16_u + (i32.atomic.load16_u $0 (local.get $2) ) (i32.const 16) @@ -5673,7 +5673,7 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -5687,7 +5687,7 @@ ) (call $alignfault) ) - (i32.load16_s + (i32.load16_s $0 (local.get $2) ) ) @@ -5710,14 +5710,14 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load16_u align=1 + (i32.load16_u $0 align=1 (local.get $2) ) ) @@ -5740,7 +5740,7 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -5754,7 +5754,7 @@ ) (call $alignfault) ) - (i32.atomic.load16_u + (i32.atomic.load16_u $0 (local.get $2) ) ) @@ -5777,7 +5777,7 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -5791,7 +5791,7 @@ ) (call $alignfault) ) - (i32.load16_u + (i32.load16_u $0 (local.get $2) ) ) @@ -5814,14 +5814,14 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load align=1 + (i32.load $0 align=1 (local.get $2) ) ) @@ -5844,7 +5844,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -5858,7 +5858,7 @@ ) (call $alignfault) ) - (i32.load align=2 + (i32.load $0 align=2 (local.get $2) ) ) @@ -5881,7 +5881,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -5895,7 +5895,7 @@ ) (call $alignfault) ) - (i32.atomic.load + (i32.atomic.load $0 (local.get $2) ) ) @@ -5918,7 +5918,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -5932,7 +5932,7 @@ ) (call $alignfault) ) - (i32.load + (i32.load $0 (local.get $2) ) ) @@ -5955,7 +5955,7 @@ (local.get $2) (i32.const 1) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -5964,7 +5964,7 @@ ) (i64.shr_s (i64.shl - (i64.atomic.load8_u + (i64.atomic.load8_u $0 (local.get $2) ) (i64.const 56) @@ -5991,14 +5991,14 @@ (local.get $2) (i32.const 1) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load8_s + (i64.load8_s $0 (local.get $2) ) ) @@ -6021,14 +6021,14 @@ (local.get $2) (i32.const 1) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.atomic.load8_u + (i64.atomic.load8_u $0 (local.get $2) ) ) @@ -6051,14 +6051,14 @@ (local.get $2) (i32.const 1) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load8_u + (i64.load8_u $0 (local.get $2) ) ) @@ -6081,14 +6081,14 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load16_s align=1 + (i64.load16_s $0 align=1 (local.get $2) ) ) @@ -6111,7 +6111,7 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -6127,7 +6127,7 @@ ) (i64.shr_s (i64.shl - (i64.atomic.load16_u + (i64.atomic.load16_u $0 (local.get $2) ) (i64.const 48) @@ -6154,7 +6154,7 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -6168,7 +6168,7 @@ ) (call $alignfault) ) - (i64.load16_s + (i64.load16_s $0 (local.get $2) ) ) @@ -6191,14 +6191,14 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load16_u align=1 + (i64.load16_u $0 align=1 (local.get $2) ) ) @@ -6221,7 +6221,7 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -6235,7 +6235,7 @@ ) (call $alignfault) ) - (i64.atomic.load16_u + (i64.atomic.load16_u $0 (local.get $2) ) ) @@ -6258,7 +6258,7 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -6272,7 +6272,7 @@ ) (call $alignfault) ) - (i64.load16_u + (i64.load16_u $0 (local.get $2) ) ) @@ -6295,14 +6295,14 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load32_s align=1 + (i64.load32_s $0 align=1 (local.get $2) ) ) @@ -6325,7 +6325,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -6339,7 +6339,7 @@ ) (call $alignfault) ) - (i64.load32_s align=2 + (i64.load32_s $0 align=2 (local.get $2) ) ) @@ -6362,7 +6362,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -6378,7 +6378,7 @@ ) (i64.shr_s (i64.shl - (i64.atomic.load32_u + (i64.atomic.load32_u $0 (local.get $2) ) (i64.const 32) @@ -6405,7 +6405,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -6419,7 +6419,7 @@ ) (call $alignfault) ) - (i64.load32_s + (i64.load32_s $0 (local.get $2) ) ) @@ -6442,14 +6442,14 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load32_u align=1 + (i64.load32_u $0 align=1 (local.get $2) ) ) @@ -6472,7 +6472,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -6486,7 +6486,7 @@ ) (call $alignfault) ) - (i64.load32_u align=2 + (i64.load32_u $0 align=2 (local.get $2) ) ) @@ -6509,7 +6509,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -6523,7 +6523,7 @@ ) (call $alignfault) ) - (i64.atomic.load32_u + (i64.atomic.load32_u $0 (local.get $2) ) ) @@ -6546,7 +6546,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -6560,7 +6560,7 @@ ) (call $alignfault) ) - (i64.load32_u + (i64.load32_u $0 (local.get $2) ) ) @@ -6583,14 +6583,14 @@ (local.get $2) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load align=1 + (i64.load $0 align=1 (local.get $2) ) ) @@ -6613,7 +6613,7 @@ (local.get $2) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -6627,7 +6627,7 @@ ) (call $alignfault) ) - (i64.load align=2 + (i64.load $0 align=2 (local.get $2) ) ) @@ -6650,7 +6650,7 @@ (local.get $2) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -6664,7 +6664,7 @@ ) (call $alignfault) ) - (i64.load align=4 + (i64.load $0 align=4 (local.get $2) ) ) @@ -6687,7 +6687,7 @@ (local.get $2) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -6701,7 +6701,7 @@ ) (call $alignfault) ) - (i64.atomic.load + (i64.atomic.load $0 (local.get $2) ) ) @@ -6724,7 +6724,7 @@ (local.get $2) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -6738,7 +6738,7 @@ ) (call $alignfault) ) - (i64.load + (i64.load $0 (local.get $2) ) ) @@ -6761,14 +6761,14 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (f32.load align=1 + (f32.load $0 align=1 (local.get $2) ) ) @@ -6791,7 +6791,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -6805,7 +6805,7 @@ ) (call $alignfault) ) - (f32.load align=2 + (f32.load $0 align=2 (local.get $2) ) ) @@ -6828,7 +6828,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -6842,7 +6842,7 @@ ) (call $alignfault) ) - (f32.load + (f32.load $0 (local.get $2) ) ) @@ -6865,14 +6865,14 @@ (local.get $2) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (f64.load align=1 + (f64.load $0 align=1 (local.get $2) ) ) @@ -6895,7 +6895,7 @@ (local.get $2) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -6909,7 +6909,7 @@ ) (call $alignfault) ) - (f64.load align=2 + (f64.load $0 align=2 (local.get $2) ) ) @@ -6932,7 +6932,7 @@ (local.get $2) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -6946,7 +6946,7 @@ ) (call $alignfault) ) - (f64.load align=4 + (f64.load $0 align=4 (local.get $2) ) ) @@ -6969,7 +6969,7 @@ (local.get $2) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -6983,7 +6983,7 @@ ) (call $alignfault) ) - (f64.load + (f64.load $0 (local.get $2) ) ) @@ -7006,14 +7006,14 @@ (local.get $2) (i32.const 16) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (v128.load align=1 + (v128.load $0 align=1 (local.get $2) ) ) @@ -7036,7 +7036,7 @@ (local.get $2) (i32.const 16) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -7050,7 +7050,7 @@ ) (call $alignfault) ) - (v128.load align=2 + (v128.load $0 align=2 (local.get $2) ) ) @@ -7073,7 +7073,7 @@ (local.get $2) (i32.const 16) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -7087,7 +7087,7 @@ ) (call $alignfault) ) - (v128.load align=4 + (v128.load $0 align=4 (local.get $2) ) ) @@ -7110,7 +7110,7 @@ (local.get $2) (i32.const 16) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -7124,7 +7124,7 @@ ) (call $alignfault) ) - (v128.load align=8 + (v128.load $0 align=8 (local.get $2) ) ) @@ -7147,7 +7147,7 @@ (local.get $2) (i32.const 16) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -7161,7 +7161,7 @@ ) (call $alignfault) ) - (v128.load + (v128.load $0 (local.get $2) ) ) @@ -7184,14 +7184,14 @@ (local.get $3) (i32.const 1) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.atomic.store8 + (i32.atomic.store8 $0 (local.get $3) (local.get $2) ) @@ -7215,14 +7215,14 @@ (local.get $3) (i32.const 1) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.store8 + (i32.store8 $0 (local.get $3) (local.get $2) ) @@ -7246,14 +7246,14 @@ (local.get $3) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.store16 align=1 + (i32.store16 $0 align=1 (local.get $3) (local.get $2) ) @@ -7277,7 +7277,7 @@ (local.get $3) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -7291,7 +7291,7 @@ ) (call $alignfault) ) - (i32.atomic.store16 + (i32.atomic.store16 $0 (local.get $3) (local.get $2) ) @@ -7315,7 +7315,7 @@ (local.get $3) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -7329,7 +7329,7 @@ ) (call $alignfault) ) - (i32.store16 + (i32.store16 $0 (local.get $3) (local.get $2) ) @@ -7353,14 +7353,14 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.store align=1 + (i32.store $0 align=1 (local.get $3) (local.get $2) ) @@ -7384,7 +7384,7 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -7398,7 +7398,7 @@ ) (call $alignfault) ) - (i32.store align=2 + (i32.store $0 align=2 (local.get $3) (local.get $2) ) @@ -7422,7 +7422,7 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -7436,7 +7436,7 @@ ) (call $alignfault) ) - (i32.atomic.store + (i32.atomic.store $0 (local.get $3) (local.get $2) ) @@ -7460,7 +7460,7 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -7474,7 +7474,7 @@ ) (call $alignfault) ) - (i32.store + (i32.store $0 (local.get $3) (local.get $2) ) @@ -7498,14 +7498,14 @@ (local.get $3) (i32.const 1) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.atomic.store8 + (i64.atomic.store8 $0 (local.get $3) (local.get $2) ) @@ -7529,14 +7529,14 @@ (local.get $3) (i32.const 1) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.store8 + (i64.store8 $0 (local.get $3) (local.get $2) ) @@ -7560,14 +7560,14 @@ (local.get $3) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.store16 align=1 + (i64.store16 $0 align=1 (local.get $3) (local.get $2) ) @@ -7591,7 +7591,7 @@ (local.get $3) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -7605,7 +7605,7 @@ ) (call $alignfault) ) - (i64.atomic.store16 + (i64.atomic.store16 $0 (local.get $3) (local.get $2) ) @@ -7629,7 +7629,7 @@ (local.get $3) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -7643,7 +7643,7 @@ ) (call $alignfault) ) - (i64.store16 + (i64.store16 $0 (local.get $3) (local.get $2) ) @@ -7667,14 +7667,14 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.store32 align=1 + (i64.store32 $0 align=1 (local.get $3) (local.get $2) ) @@ -7698,7 +7698,7 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -7712,7 +7712,7 @@ ) (call $alignfault) ) - (i64.store32 align=2 + (i64.store32 $0 align=2 (local.get $3) (local.get $2) ) @@ -7736,7 +7736,7 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -7750,7 +7750,7 @@ ) (call $alignfault) ) - (i64.atomic.store32 + (i64.atomic.store32 $0 (local.get $3) (local.get $2) ) @@ -7774,7 +7774,7 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -7788,7 +7788,7 @@ ) (call $alignfault) ) - (i64.store32 + (i64.store32 $0 (local.get $3) (local.get $2) ) @@ -7812,14 +7812,14 @@ (local.get $3) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.store align=1 + (i64.store $0 align=1 (local.get $3) (local.get $2) ) @@ -7843,7 +7843,7 @@ (local.get $3) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -7857,7 +7857,7 @@ ) (call $alignfault) ) - (i64.store align=2 + (i64.store $0 align=2 (local.get $3) (local.get $2) ) @@ -7881,7 +7881,7 @@ (local.get $3) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -7895,7 +7895,7 @@ ) (call $alignfault) ) - (i64.store align=4 + (i64.store $0 align=4 (local.get $3) (local.get $2) ) @@ -7919,7 +7919,7 @@ (local.get $3) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -7933,7 +7933,7 @@ ) (call $alignfault) ) - (i64.atomic.store + (i64.atomic.store $0 (local.get $3) (local.get $2) ) @@ -7957,7 +7957,7 @@ (local.get $3) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -7971,7 +7971,7 @@ ) (call $alignfault) ) - (i64.store + (i64.store $0 (local.get $3) (local.get $2) ) @@ -7995,14 +7995,14 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (f32.store align=1 + (f32.store $0 align=1 (local.get $3) (local.get $2) ) @@ -8026,7 +8026,7 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -8040,7 +8040,7 @@ ) (call $alignfault) ) - (f32.store align=2 + (f32.store $0 align=2 (local.get $3) (local.get $2) ) @@ -8064,7 +8064,7 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -8078,7 +8078,7 @@ ) (call $alignfault) ) - (f32.store + (f32.store $0 (local.get $3) (local.get $2) ) @@ -8102,14 +8102,14 @@ (local.get $3) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (f64.store align=1 + (f64.store $0 align=1 (local.get $3) (local.get $2) ) @@ -8133,7 +8133,7 @@ (local.get $3) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -8147,7 +8147,7 @@ ) (call $alignfault) ) - (f64.store align=2 + (f64.store $0 align=2 (local.get $3) (local.get $2) ) @@ -8171,7 +8171,7 @@ (local.get $3) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -8185,7 +8185,7 @@ ) (call $alignfault) ) - (f64.store align=4 + (f64.store $0 align=4 (local.get $3) (local.get $2) ) @@ -8209,7 +8209,7 @@ (local.get $3) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -8223,7 +8223,7 @@ ) (call $alignfault) ) - (f64.store + (f64.store $0 (local.get $3) (local.get $2) ) @@ -8247,14 +8247,14 @@ (local.get $3) (i32.const 16) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (v128.store align=1 + (v128.store $0 align=1 (local.get $3) (local.get $2) ) @@ -8278,7 +8278,7 @@ (local.get $3) (i32.const 16) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -8292,7 +8292,7 @@ ) (call $alignfault) ) - (v128.store align=2 + (v128.store $0 align=2 (local.get $3) (local.get $2) ) @@ -8316,7 +8316,7 @@ (local.get $3) (i32.const 16) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -8330,7 +8330,7 @@ ) (call $alignfault) ) - (v128.store align=4 + (v128.store $0 align=4 (local.get $3) (local.get $2) ) @@ -8354,7 +8354,7 @@ (local.get $3) (i32.const 16) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -8368,7 +8368,7 @@ ) (call $alignfault) ) - (v128.store align=8 + (v128.store $0 align=8 (local.get $3) (local.get $2) ) @@ -8392,7 +8392,7 @@ (local.get $3) (i32.const 16) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -8406,7 +8406,7 @@ ) (call $alignfault) ) - (v128.store + (v128.store $0 (local.get $3) (local.get $2) ) diff --git a/test/passes/safe-heap_enable-threads_enable-simd64.txt b/test/passes/safe-heap_enable-threads_enable-simd64.txt index f582c87db3e..57b10258f1a 100644 --- a/test/passes/safe-heap_enable-threads_enable-simd64.txt +++ b/test/passes/safe-heap_enable-threads_enable-simd64.txt @@ -203,7 +203,7 @@ (local.get $2) (i64.const 1) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -212,7 +212,7 @@ ) (i32.shr_s (i32.shl - (i32.atomic.load8_u + (i32.atomic.load8_u $0 (local.get $2) ) (i32.const 24) @@ -239,14 +239,14 @@ (local.get $2) (i64.const 1) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load8_s + (i32.load8_s $0 (local.get $2) ) ) @@ -269,14 +269,14 @@ (local.get $2) (i64.const 1) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.atomic.load8_u + (i32.atomic.load8_u $0 (local.get $2) ) ) @@ -299,14 +299,14 @@ (local.get $2) (i64.const 1) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load8_u + (i32.load8_u $0 (local.get $2) ) ) @@ -329,14 +329,14 @@ (local.get $2) (i64.const 2) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load16_s align=1 + (i32.load16_s $0 align=1 (local.get $2) ) ) @@ -359,7 +359,7 @@ (local.get $2) (i64.const 2) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -377,7 +377,7 @@ ) (i32.shr_s (i32.shl - (i32.atomic.load16_u + (i32.atomic.load16_u $0 (local.get $2) ) (i32.const 16) @@ -404,7 +404,7 @@ (local.get $2) (i64.const 2) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -420,7 +420,7 @@ ) (call $alignfault) ) - (i32.load16_s + (i32.load16_s $0 (local.get $2) ) ) @@ -443,14 +443,14 @@ (local.get $2) (i64.const 2) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load16_u align=1 + (i32.load16_u $0 align=1 (local.get $2) ) ) @@ -473,7 +473,7 @@ (local.get $2) (i64.const 2) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -489,7 +489,7 @@ ) (call $alignfault) ) - (i32.atomic.load16_u + (i32.atomic.load16_u $0 (local.get $2) ) ) @@ -512,7 +512,7 @@ (local.get $2) (i64.const 2) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -528,7 +528,7 @@ ) (call $alignfault) ) - (i32.load16_u + (i32.load16_u $0 (local.get $2) ) ) @@ -551,14 +551,14 @@ (local.get $2) (i64.const 4) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load align=1 + (i32.load $0 align=1 (local.get $2) ) ) @@ -581,7 +581,7 @@ (local.get $2) (i64.const 4) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -597,7 +597,7 @@ ) (call $alignfault) ) - (i32.load align=2 + (i32.load $0 align=2 (local.get $2) ) ) @@ -620,7 +620,7 @@ (local.get $2) (i64.const 4) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -636,7 +636,7 @@ ) (call $alignfault) ) - (i32.atomic.load + (i32.atomic.load $0 (local.get $2) ) ) @@ -659,7 +659,7 @@ (local.get $2) (i64.const 4) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -675,7 +675,7 @@ ) (call $alignfault) ) - (i32.load + (i32.load $0 (local.get $2) ) ) @@ -698,7 +698,7 @@ (local.get $2) (i64.const 1) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -707,7 +707,7 @@ ) (i64.shr_s (i64.shl - (i64.atomic.load8_u + (i64.atomic.load8_u $0 (local.get $2) ) (i64.const 56) @@ -734,14 +734,14 @@ (local.get $2) (i64.const 1) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load8_s + (i64.load8_s $0 (local.get $2) ) ) @@ -764,14 +764,14 @@ (local.get $2) (i64.const 1) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.atomic.load8_u + (i64.atomic.load8_u $0 (local.get $2) ) ) @@ -794,14 +794,14 @@ (local.get $2) (i64.const 1) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load8_u + (i64.load8_u $0 (local.get $2) ) ) @@ -824,14 +824,14 @@ (local.get $2) (i64.const 2) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load16_s align=1 + (i64.load16_s $0 align=1 (local.get $2) ) ) @@ -854,7 +854,7 @@ (local.get $2) (i64.const 2) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -872,7 +872,7 @@ ) (i64.shr_s (i64.shl - (i64.atomic.load16_u + (i64.atomic.load16_u $0 (local.get $2) ) (i64.const 48) @@ -899,7 +899,7 @@ (local.get $2) (i64.const 2) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -915,7 +915,7 @@ ) (call $alignfault) ) - (i64.load16_s + (i64.load16_s $0 (local.get $2) ) ) @@ -938,14 +938,14 @@ (local.get $2) (i64.const 2) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load16_u align=1 + (i64.load16_u $0 align=1 (local.get $2) ) ) @@ -968,7 +968,7 @@ (local.get $2) (i64.const 2) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -984,7 +984,7 @@ ) (call $alignfault) ) - (i64.atomic.load16_u + (i64.atomic.load16_u $0 (local.get $2) ) ) @@ -1007,7 +1007,7 @@ (local.get $2) (i64.const 2) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1023,7 +1023,7 @@ ) (call $alignfault) ) - (i64.load16_u + (i64.load16_u $0 (local.get $2) ) ) @@ -1046,14 +1046,14 @@ (local.get $2) (i64.const 4) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load32_s align=1 + (i64.load32_s $0 align=1 (local.get $2) ) ) @@ -1076,7 +1076,7 @@ (local.get $2) (i64.const 4) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1092,7 +1092,7 @@ ) (call $alignfault) ) - (i64.load32_s align=2 + (i64.load32_s $0 align=2 (local.get $2) ) ) @@ -1115,7 +1115,7 @@ (local.get $2) (i64.const 4) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1133,7 +1133,7 @@ ) (i64.shr_s (i64.shl - (i64.atomic.load32_u + (i64.atomic.load32_u $0 (local.get $2) ) (i64.const 32) @@ -1160,7 +1160,7 @@ (local.get $2) (i64.const 4) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1176,7 +1176,7 @@ ) (call $alignfault) ) - (i64.load32_s + (i64.load32_s $0 (local.get $2) ) ) @@ -1199,14 +1199,14 @@ (local.get $2) (i64.const 4) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load32_u align=1 + (i64.load32_u $0 align=1 (local.get $2) ) ) @@ -1229,7 +1229,7 @@ (local.get $2) (i64.const 4) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1245,7 +1245,7 @@ ) (call $alignfault) ) - (i64.load32_u align=2 + (i64.load32_u $0 align=2 (local.get $2) ) ) @@ -1268,7 +1268,7 @@ (local.get $2) (i64.const 4) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1284,7 +1284,7 @@ ) (call $alignfault) ) - (i64.atomic.load32_u + (i64.atomic.load32_u $0 (local.get $2) ) ) @@ -1307,7 +1307,7 @@ (local.get $2) (i64.const 4) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1323,7 +1323,7 @@ ) (call $alignfault) ) - (i64.load32_u + (i64.load32_u $0 (local.get $2) ) ) @@ -1346,14 +1346,14 @@ (local.get $2) (i64.const 8) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load align=1 + (i64.load $0 align=1 (local.get $2) ) ) @@ -1376,7 +1376,7 @@ (local.get $2) (i64.const 8) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1392,7 +1392,7 @@ ) (call $alignfault) ) - (i64.load align=2 + (i64.load $0 align=2 (local.get $2) ) ) @@ -1415,7 +1415,7 @@ (local.get $2) (i64.const 8) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1431,7 +1431,7 @@ ) (call $alignfault) ) - (i64.load align=4 + (i64.load $0 align=4 (local.get $2) ) ) @@ -1454,7 +1454,7 @@ (local.get $2) (i64.const 8) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1470,7 +1470,7 @@ ) (call $alignfault) ) - (i64.atomic.load + (i64.atomic.load $0 (local.get $2) ) ) @@ -1493,7 +1493,7 @@ (local.get $2) (i64.const 8) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1509,7 +1509,7 @@ ) (call $alignfault) ) - (i64.load + (i64.load $0 (local.get $2) ) ) @@ -1532,14 +1532,14 @@ (local.get $2) (i64.const 4) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (f32.load align=1 + (f32.load $0 align=1 (local.get $2) ) ) @@ -1562,7 +1562,7 @@ (local.get $2) (i64.const 4) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1578,7 +1578,7 @@ ) (call $alignfault) ) - (f32.load align=2 + (f32.load $0 align=2 (local.get $2) ) ) @@ -1601,7 +1601,7 @@ (local.get $2) (i64.const 4) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1617,7 +1617,7 @@ ) (call $alignfault) ) - (f32.load + (f32.load $0 (local.get $2) ) ) @@ -1640,14 +1640,14 @@ (local.get $2) (i64.const 8) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (f64.load align=1 + (f64.load $0 align=1 (local.get $2) ) ) @@ -1670,7 +1670,7 @@ (local.get $2) (i64.const 8) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1686,7 +1686,7 @@ ) (call $alignfault) ) - (f64.load align=2 + (f64.load $0 align=2 (local.get $2) ) ) @@ -1709,7 +1709,7 @@ (local.get $2) (i64.const 8) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1725,7 +1725,7 @@ ) (call $alignfault) ) - (f64.load align=4 + (f64.load $0 align=4 (local.get $2) ) ) @@ -1748,7 +1748,7 @@ (local.get $2) (i64.const 8) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1764,7 +1764,7 @@ ) (call $alignfault) ) - (f64.load + (f64.load $0 (local.get $2) ) ) @@ -1787,14 +1787,14 @@ (local.get $2) (i64.const 16) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (v128.load align=1 + (v128.load $0 align=1 (local.get $2) ) ) @@ -1817,7 +1817,7 @@ (local.get $2) (i64.const 16) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1833,7 +1833,7 @@ ) (call $alignfault) ) - (v128.load align=2 + (v128.load $0 align=2 (local.get $2) ) ) @@ -1856,7 +1856,7 @@ (local.get $2) (i64.const 16) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1872,7 +1872,7 @@ ) (call $alignfault) ) - (v128.load align=4 + (v128.load $0 align=4 (local.get $2) ) ) @@ -1895,7 +1895,7 @@ (local.get $2) (i64.const 16) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1911,7 +1911,7 @@ ) (call $alignfault) ) - (v128.load align=8 + (v128.load $0 align=8 (local.get $2) ) ) @@ -1934,7 +1934,7 @@ (local.get $2) (i64.const 16) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1950,7 +1950,7 @@ ) (call $alignfault) ) - (v128.load + (v128.load $0 (local.get $2) ) ) @@ -1973,14 +1973,14 @@ (local.get $3) (i64.const 1) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.atomic.store8 + (i32.atomic.store8 $0 (local.get $3) (local.get $2) ) @@ -2004,14 +2004,14 @@ (local.get $3) (i64.const 1) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.store8 + (i32.store8 $0 (local.get $3) (local.get $2) ) @@ -2035,14 +2035,14 @@ (local.get $3) (i64.const 2) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.store16 align=1 + (i32.store16 $0 align=1 (local.get $3) (local.get $2) ) @@ -2066,7 +2066,7 @@ (local.get $3) (i64.const 2) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -2082,7 +2082,7 @@ ) (call $alignfault) ) - (i32.atomic.store16 + (i32.atomic.store16 $0 (local.get $3) (local.get $2) ) @@ -2106,7 +2106,7 @@ (local.get $3) (i64.const 2) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -2122,7 +2122,7 @@ ) (call $alignfault) ) - (i32.store16 + (i32.store16 $0 (local.get $3) (local.get $2) ) @@ -2146,14 +2146,14 @@ (local.get $3) (i64.const 4) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.store align=1 + (i32.store $0 align=1 (local.get $3) (local.get $2) ) @@ -2177,7 +2177,7 @@ (local.get $3) (i64.const 4) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -2193,7 +2193,7 @@ ) (call $alignfault) ) - (i32.store align=2 + (i32.store $0 align=2 (local.get $3) (local.get $2) ) @@ -2217,7 +2217,7 @@ (local.get $3) (i64.const 4) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -2233,7 +2233,7 @@ ) (call $alignfault) ) - (i32.atomic.store + (i32.atomic.store $0 (local.get $3) (local.get $2) ) @@ -2257,7 +2257,7 @@ (local.get $3) (i64.const 4) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -2273,7 +2273,7 @@ ) (call $alignfault) ) - (i32.store + (i32.store $0 (local.get $3) (local.get $2) ) @@ -2297,14 +2297,14 @@ (local.get $3) (i64.const 1) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.atomic.store8 + (i64.atomic.store8 $0 (local.get $3) (local.get $2) ) @@ -2328,14 +2328,14 @@ (local.get $3) (i64.const 1) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.store8 + (i64.store8 $0 (local.get $3) (local.get $2) ) @@ -2359,14 +2359,14 @@ (local.get $3) (i64.const 2) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.store16 align=1 + (i64.store16 $0 align=1 (local.get $3) (local.get $2) ) @@ -2390,7 +2390,7 @@ (local.get $3) (i64.const 2) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -2406,7 +2406,7 @@ ) (call $alignfault) ) - (i64.atomic.store16 + (i64.atomic.store16 $0 (local.get $3) (local.get $2) ) @@ -2430,7 +2430,7 @@ (local.get $3) (i64.const 2) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -2446,7 +2446,7 @@ ) (call $alignfault) ) - (i64.store16 + (i64.store16 $0 (local.get $3) (local.get $2) ) @@ -2470,14 +2470,14 @@ (local.get $3) (i64.const 4) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.store32 align=1 + (i64.store32 $0 align=1 (local.get $3) (local.get $2) ) @@ -2501,7 +2501,7 @@ (local.get $3) (i64.const 4) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -2517,7 +2517,7 @@ ) (call $alignfault) ) - (i64.store32 align=2 + (i64.store32 $0 align=2 (local.get $3) (local.get $2) ) @@ -2541,7 +2541,7 @@ (local.get $3) (i64.const 4) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -2557,7 +2557,7 @@ ) (call $alignfault) ) - (i64.atomic.store32 + (i64.atomic.store32 $0 (local.get $3) (local.get $2) ) @@ -2581,7 +2581,7 @@ (local.get $3) (i64.const 4) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -2597,7 +2597,7 @@ ) (call $alignfault) ) - (i64.store32 + (i64.store32 $0 (local.get $3) (local.get $2) ) @@ -2621,14 +2621,14 @@ (local.get $3) (i64.const 8) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.store align=1 + (i64.store $0 align=1 (local.get $3) (local.get $2) ) @@ -2652,7 +2652,7 @@ (local.get $3) (i64.const 8) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -2668,7 +2668,7 @@ ) (call $alignfault) ) - (i64.store align=2 + (i64.store $0 align=2 (local.get $3) (local.get $2) ) @@ -2692,7 +2692,7 @@ (local.get $3) (i64.const 8) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -2708,7 +2708,7 @@ ) (call $alignfault) ) - (i64.store align=4 + (i64.store $0 align=4 (local.get $3) (local.get $2) ) @@ -2732,7 +2732,7 @@ (local.get $3) (i64.const 8) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -2748,7 +2748,7 @@ ) (call $alignfault) ) - (i64.atomic.store + (i64.atomic.store $0 (local.get $3) (local.get $2) ) @@ -2772,7 +2772,7 @@ (local.get $3) (i64.const 8) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -2788,7 +2788,7 @@ ) (call $alignfault) ) - (i64.store + (i64.store $0 (local.get $3) (local.get $2) ) @@ -2812,14 +2812,14 @@ (local.get $3) (i64.const 4) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (f32.store align=1 + (f32.store $0 align=1 (local.get $3) (local.get $2) ) @@ -2843,7 +2843,7 @@ (local.get $3) (i64.const 4) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -2859,7 +2859,7 @@ ) (call $alignfault) ) - (f32.store align=2 + (f32.store $0 align=2 (local.get $3) (local.get $2) ) @@ -2883,7 +2883,7 @@ (local.get $3) (i64.const 4) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -2899,7 +2899,7 @@ ) (call $alignfault) ) - (f32.store + (f32.store $0 (local.get $3) (local.get $2) ) @@ -2923,14 +2923,14 @@ (local.get $3) (i64.const 8) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (f64.store align=1 + (f64.store $0 align=1 (local.get $3) (local.get $2) ) @@ -2954,7 +2954,7 @@ (local.get $3) (i64.const 8) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -2970,7 +2970,7 @@ ) (call $alignfault) ) - (f64.store align=2 + (f64.store $0 align=2 (local.get $3) (local.get $2) ) @@ -2994,7 +2994,7 @@ (local.get $3) (i64.const 8) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -3010,7 +3010,7 @@ ) (call $alignfault) ) - (f64.store align=4 + (f64.store $0 align=4 (local.get $3) (local.get $2) ) @@ -3034,7 +3034,7 @@ (local.get $3) (i64.const 8) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -3050,7 +3050,7 @@ ) (call $alignfault) ) - (f64.store + (f64.store $0 (local.get $3) (local.get $2) ) @@ -3074,14 +3074,14 @@ (local.get $3) (i64.const 16) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (v128.store align=1 + (v128.store $0 align=1 (local.get $3) (local.get $2) ) @@ -3105,7 +3105,7 @@ (local.get $3) (i64.const 16) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -3121,7 +3121,7 @@ ) (call $alignfault) ) - (v128.store align=2 + (v128.store $0 align=2 (local.get $3) (local.get $2) ) @@ -3145,7 +3145,7 @@ (local.get $3) (i64.const 16) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -3161,7 +3161,7 @@ ) (call $alignfault) ) - (v128.store align=4 + (v128.store $0 align=4 (local.get $3) (local.get $2) ) @@ -3185,7 +3185,7 @@ (local.get $3) (i64.const 16) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -3201,7 +3201,7 @@ ) (call $alignfault) ) - (v128.store align=8 + (v128.store $0 align=8 (local.get $3) (local.get $2) ) @@ -3225,7 +3225,7 @@ (local.get $3) (i64.const 16) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -3241,7 +3241,7 @@ ) (call $alignfault) ) - (v128.store + (v128.store $0 (local.get $3) (local.get $2) ) @@ -3291,14 +3291,14 @@ (local.get $2) (i64.const 1) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load8_s + (i32.load8_s $0 (local.get $2) ) ) @@ -3321,14 +3321,14 @@ (local.get $2) (i64.const 1) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load8_u + (i32.load8_u $0 (local.get $2) ) ) @@ -3351,14 +3351,14 @@ (local.get $2) (i64.const 2) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load16_s align=1 + (i32.load16_s $0 align=1 (local.get $2) ) ) @@ -3381,7 +3381,7 @@ (local.get $2) (i64.const 2) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -3397,7 +3397,7 @@ ) (call $alignfault) ) - (i32.load16_s + (i32.load16_s $0 (local.get $2) ) ) @@ -3420,14 +3420,14 @@ (local.get $2) (i64.const 2) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load16_u align=1 + (i32.load16_u $0 align=1 (local.get $2) ) ) @@ -3450,7 +3450,7 @@ (local.get $2) (i64.const 2) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -3466,7 +3466,7 @@ ) (call $alignfault) ) - (i32.load16_u + (i32.load16_u $0 (local.get $2) ) ) @@ -3489,14 +3489,14 @@ (local.get $2) (i64.const 4) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load align=1 + (i32.load $0 align=1 (local.get $2) ) ) @@ -3519,7 +3519,7 @@ (local.get $2) (i64.const 4) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -3535,7 +3535,7 @@ ) (call $alignfault) ) - (i32.load align=2 + (i32.load $0 align=2 (local.get $2) ) ) @@ -3558,7 +3558,7 @@ (local.get $2) (i64.const 4) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -3574,7 +3574,7 @@ ) (call $alignfault) ) - (i32.load + (i32.load $0 (local.get $2) ) ) @@ -3597,14 +3597,14 @@ (local.get $2) (i64.const 1) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load8_s + (i64.load8_s $0 (local.get $2) ) ) @@ -3627,14 +3627,14 @@ (local.get $2) (i64.const 1) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load8_u + (i64.load8_u $0 (local.get $2) ) ) @@ -3657,14 +3657,14 @@ (local.get $2) (i64.const 2) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load16_s align=1 + (i64.load16_s $0 align=1 (local.get $2) ) ) @@ -3687,7 +3687,7 @@ (local.get $2) (i64.const 2) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -3703,7 +3703,7 @@ ) (call $alignfault) ) - (i64.load16_s + (i64.load16_s $0 (local.get $2) ) ) @@ -3726,14 +3726,14 @@ (local.get $2) (i64.const 2) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load16_u align=1 + (i64.load16_u $0 align=1 (local.get $2) ) ) @@ -3756,7 +3756,7 @@ (local.get $2) (i64.const 2) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -3772,7 +3772,7 @@ ) (call $alignfault) ) - (i64.load16_u + (i64.load16_u $0 (local.get $2) ) ) @@ -3795,14 +3795,14 @@ (local.get $2) (i64.const 4) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load32_s align=1 + (i64.load32_s $0 align=1 (local.get $2) ) ) @@ -3825,7 +3825,7 @@ (local.get $2) (i64.const 4) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -3841,7 +3841,7 @@ ) (call $alignfault) ) - (i64.load32_s align=2 + (i64.load32_s $0 align=2 (local.get $2) ) ) @@ -3864,7 +3864,7 @@ (local.get $2) (i64.const 4) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -3880,7 +3880,7 @@ ) (call $alignfault) ) - (i64.load32_s + (i64.load32_s $0 (local.get $2) ) ) @@ -3903,14 +3903,14 @@ (local.get $2) (i64.const 4) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load32_u align=1 + (i64.load32_u $0 align=1 (local.get $2) ) ) @@ -3933,7 +3933,7 @@ (local.get $2) (i64.const 4) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -3949,7 +3949,7 @@ ) (call $alignfault) ) - (i64.load32_u align=2 + (i64.load32_u $0 align=2 (local.get $2) ) ) @@ -3972,7 +3972,7 @@ (local.get $2) (i64.const 4) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -3988,7 +3988,7 @@ ) (call $alignfault) ) - (i64.load32_u + (i64.load32_u $0 (local.get $2) ) ) @@ -4011,14 +4011,14 @@ (local.get $2) (i64.const 8) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load align=1 + (i64.load $0 align=1 (local.get $2) ) ) @@ -4041,7 +4041,7 @@ (local.get $2) (i64.const 8) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -4057,7 +4057,7 @@ ) (call $alignfault) ) - (i64.load align=2 + (i64.load $0 align=2 (local.get $2) ) ) @@ -4080,7 +4080,7 @@ (local.get $2) (i64.const 8) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -4096,7 +4096,7 @@ ) (call $alignfault) ) - (i64.load align=4 + (i64.load $0 align=4 (local.get $2) ) ) @@ -4119,7 +4119,7 @@ (local.get $2) (i64.const 8) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -4135,7 +4135,7 @@ ) (call $alignfault) ) - (i64.load + (i64.load $0 (local.get $2) ) ) @@ -4158,14 +4158,14 @@ (local.get $2) (i64.const 4) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (f32.load align=1 + (f32.load $0 align=1 (local.get $2) ) ) @@ -4188,7 +4188,7 @@ (local.get $2) (i64.const 4) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -4204,7 +4204,7 @@ ) (call $alignfault) ) - (f32.load align=2 + (f32.load $0 align=2 (local.get $2) ) ) @@ -4227,7 +4227,7 @@ (local.get $2) (i64.const 4) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -4243,7 +4243,7 @@ ) (call $alignfault) ) - (f32.load + (f32.load $0 (local.get $2) ) ) @@ -4266,14 +4266,14 @@ (local.get $2) (i64.const 8) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (f64.load align=1 + (f64.load $0 align=1 (local.get $2) ) ) @@ -4296,7 +4296,7 @@ (local.get $2) (i64.const 8) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -4312,7 +4312,7 @@ ) (call $alignfault) ) - (f64.load align=2 + (f64.load $0 align=2 (local.get $2) ) ) @@ -4335,7 +4335,7 @@ (local.get $2) (i64.const 8) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -4351,7 +4351,7 @@ ) (call $alignfault) ) - (f64.load align=4 + (f64.load $0 align=4 (local.get $2) ) ) @@ -4374,7 +4374,7 @@ (local.get $2) (i64.const 8) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -4390,7 +4390,7 @@ ) (call $alignfault) ) - (f64.load + (f64.load $0 (local.get $2) ) ) @@ -4413,14 +4413,14 @@ (local.get $2) (i64.const 16) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (v128.load align=1 + (v128.load $0 align=1 (local.get $2) ) ) @@ -4443,7 +4443,7 @@ (local.get $2) (i64.const 16) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -4459,7 +4459,7 @@ ) (call $alignfault) ) - (v128.load align=2 + (v128.load $0 align=2 (local.get $2) ) ) @@ -4482,7 +4482,7 @@ (local.get $2) (i64.const 16) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -4498,7 +4498,7 @@ ) (call $alignfault) ) - (v128.load align=4 + (v128.load $0 align=4 (local.get $2) ) ) @@ -4521,7 +4521,7 @@ (local.get $2) (i64.const 16) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -4537,7 +4537,7 @@ ) (call $alignfault) ) - (v128.load align=8 + (v128.load $0 align=8 (local.get $2) ) ) @@ -4560,7 +4560,7 @@ (local.get $2) (i64.const 16) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -4576,7 +4576,7 @@ ) (call $alignfault) ) - (v128.load + (v128.load $0 (local.get $2) ) ) @@ -4599,14 +4599,14 @@ (local.get $3) (i64.const 1) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.store8 + (i32.store8 $0 (local.get $3) (local.get $2) ) @@ -4630,14 +4630,14 @@ (local.get $3) (i64.const 2) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.store16 align=1 + (i32.store16 $0 align=1 (local.get $3) (local.get $2) ) @@ -4661,7 +4661,7 @@ (local.get $3) (i64.const 2) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -4677,7 +4677,7 @@ ) (call $alignfault) ) - (i32.store16 + (i32.store16 $0 (local.get $3) (local.get $2) ) @@ -4701,14 +4701,14 @@ (local.get $3) (i64.const 4) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.store align=1 + (i32.store $0 align=1 (local.get $3) (local.get $2) ) @@ -4732,7 +4732,7 @@ (local.get $3) (i64.const 4) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -4748,7 +4748,7 @@ ) (call $alignfault) ) - (i32.store align=2 + (i32.store $0 align=2 (local.get $3) (local.get $2) ) @@ -4772,7 +4772,7 @@ (local.get $3) (i64.const 4) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -4788,7 +4788,7 @@ ) (call $alignfault) ) - (i32.store + (i32.store $0 (local.get $3) (local.get $2) ) @@ -4812,14 +4812,14 @@ (local.get $3) (i64.const 1) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.store8 + (i64.store8 $0 (local.get $3) (local.get $2) ) @@ -4843,14 +4843,14 @@ (local.get $3) (i64.const 2) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.store16 align=1 + (i64.store16 $0 align=1 (local.get $3) (local.get $2) ) @@ -4874,7 +4874,7 @@ (local.get $3) (i64.const 2) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -4890,7 +4890,7 @@ ) (call $alignfault) ) - (i64.store16 + (i64.store16 $0 (local.get $3) (local.get $2) ) @@ -4914,14 +4914,14 @@ (local.get $3) (i64.const 4) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.store32 align=1 + (i64.store32 $0 align=1 (local.get $3) (local.get $2) ) @@ -4945,7 +4945,7 @@ (local.get $3) (i64.const 4) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -4961,7 +4961,7 @@ ) (call $alignfault) ) - (i64.store32 align=2 + (i64.store32 $0 align=2 (local.get $3) (local.get $2) ) @@ -4985,7 +4985,7 @@ (local.get $3) (i64.const 4) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -5001,7 +5001,7 @@ ) (call $alignfault) ) - (i64.store32 + (i64.store32 $0 (local.get $3) (local.get $2) ) @@ -5025,14 +5025,14 @@ (local.get $3) (i64.const 8) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.store align=1 + (i64.store $0 align=1 (local.get $3) (local.get $2) ) @@ -5056,7 +5056,7 @@ (local.get $3) (i64.const 8) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -5072,7 +5072,7 @@ ) (call $alignfault) ) - (i64.store align=2 + (i64.store $0 align=2 (local.get $3) (local.get $2) ) @@ -5096,7 +5096,7 @@ (local.get $3) (i64.const 8) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -5112,7 +5112,7 @@ ) (call $alignfault) ) - (i64.store align=4 + (i64.store $0 align=4 (local.get $3) (local.get $2) ) @@ -5136,7 +5136,7 @@ (local.get $3) (i64.const 8) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -5152,7 +5152,7 @@ ) (call $alignfault) ) - (i64.store + (i64.store $0 (local.get $3) (local.get $2) ) @@ -5176,14 +5176,14 @@ (local.get $3) (i64.const 4) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (f32.store align=1 + (f32.store $0 align=1 (local.get $3) (local.get $2) ) @@ -5207,7 +5207,7 @@ (local.get $3) (i64.const 4) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -5223,7 +5223,7 @@ ) (call $alignfault) ) - (f32.store align=2 + (f32.store $0 align=2 (local.get $3) (local.get $2) ) @@ -5247,7 +5247,7 @@ (local.get $3) (i64.const 4) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -5263,7 +5263,7 @@ ) (call $alignfault) ) - (f32.store + (f32.store $0 (local.get $3) (local.get $2) ) @@ -5287,14 +5287,14 @@ (local.get $3) (i64.const 8) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (f64.store align=1 + (f64.store $0 align=1 (local.get $3) (local.get $2) ) @@ -5318,7 +5318,7 @@ (local.get $3) (i64.const 8) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -5334,7 +5334,7 @@ ) (call $alignfault) ) - (f64.store align=2 + (f64.store $0 align=2 (local.get $3) (local.get $2) ) @@ -5358,7 +5358,7 @@ (local.get $3) (i64.const 8) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -5374,7 +5374,7 @@ ) (call $alignfault) ) - (f64.store align=4 + (f64.store $0 align=4 (local.get $3) (local.get $2) ) @@ -5398,7 +5398,7 @@ (local.get $3) (i64.const 8) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -5414,7 +5414,7 @@ ) (call $alignfault) ) - (f64.store + (f64.store $0 (local.get $3) (local.get $2) ) @@ -5438,14 +5438,14 @@ (local.get $3) (i64.const 16) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (v128.store align=1 + (v128.store $0 align=1 (local.get $3) (local.get $2) ) @@ -5469,7 +5469,7 @@ (local.get $3) (i64.const 16) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -5485,7 +5485,7 @@ ) (call $alignfault) ) - (v128.store align=2 + (v128.store $0 align=2 (local.get $3) (local.get $2) ) @@ -5509,7 +5509,7 @@ (local.get $3) (i64.const 16) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -5525,7 +5525,7 @@ ) (call $alignfault) ) - (v128.store align=4 + (v128.store $0 align=4 (local.get $3) (local.get $2) ) @@ -5549,7 +5549,7 @@ (local.get $3) (i64.const 16) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -5565,7 +5565,7 @@ ) (call $alignfault) ) - (v128.store align=8 + (v128.store $0 align=8 (local.get $3) (local.get $2) ) @@ -5589,7 +5589,7 @@ (local.get $3) (i64.const 16) ) - (i64.load + (i64.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -5605,7 +5605,7 @@ ) (call $alignfault) ) - (v128.store + (v128.store $0 (local.get $3) (local.get $2) ) @@ -5660,7 +5660,7 @@ (local.get $2) (i64.const 1) ) - (i64.load + (i64.load $0 (call $foo) ) ) @@ -5669,7 +5669,7 @@ ) (i32.shr_s (i32.shl - (i32.atomic.load8_u + (i32.atomic.load8_u $0 (local.get $2) ) (i32.const 24) @@ -5696,14 +5696,14 @@ (local.get $2) (i64.const 1) ) - (i64.load + (i64.load $0 (call $foo) ) ) ) (call $segfault) ) - (i32.load8_s + (i32.load8_s $0 (local.get $2) ) ) @@ -5726,14 +5726,14 @@ (local.get $2) (i64.const 1) ) - (i64.load + (i64.load $0 (call $foo) ) ) ) (call $segfault) ) - (i32.atomic.load8_u + (i32.atomic.load8_u $0 (local.get $2) ) ) @@ -5756,14 +5756,14 @@ (local.get $2) (i64.const 1) ) - (i64.load + (i64.load $0 (call $foo) ) ) ) (call $segfault) ) - (i32.load8_u + (i32.load8_u $0 (local.get $2) ) ) @@ -5786,14 +5786,14 @@ (local.get $2) (i64.const 2) ) - (i64.load + (i64.load $0 (call $foo) ) ) ) (call $segfault) ) - (i32.load16_s align=1 + (i32.load16_s $0 align=1 (local.get $2) ) ) @@ -5816,7 +5816,7 @@ (local.get $2) (i64.const 2) ) - (i64.load + (i64.load $0 (call $foo) ) ) @@ -5834,7 +5834,7 @@ ) (i32.shr_s (i32.shl - (i32.atomic.load16_u + (i32.atomic.load16_u $0 (local.get $2) ) (i32.const 16) @@ -5861,7 +5861,7 @@ (local.get $2) (i64.const 2) ) - (i64.load + (i64.load $0 (call $foo) ) ) @@ -5877,7 +5877,7 @@ ) (call $alignfault) ) - (i32.load16_s + (i32.load16_s $0 (local.get $2) ) ) @@ -5900,14 +5900,14 @@ (local.get $2) (i64.const 2) ) - (i64.load + (i64.load $0 (call $foo) ) ) ) (call $segfault) ) - (i32.load16_u align=1 + (i32.load16_u $0 align=1 (local.get $2) ) ) @@ -5930,7 +5930,7 @@ (local.get $2) (i64.const 2) ) - (i64.load + (i64.load $0 (call $foo) ) ) @@ -5946,7 +5946,7 @@ ) (call $alignfault) ) - (i32.atomic.load16_u + (i32.atomic.load16_u $0 (local.get $2) ) ) @@ -5969,7 +5969,7 @@ (local.get $2) (i64.const 2) ) - (i64.load + (i64.load $0 (call $foo) ) ) @@ -5985,7 +5985,7 @@ ) (call $alignfault) ) - (i32.load16_u + (i32.load16_u $0 (local.get $2) ) ) @@ -6008,14 +6008,14 @@ (local.get $2) (i64.const 4) ) - (i64.load + (i64.load $0 (call $foo) ) ) ) (call $segfault) ) - (i32.load align=1 + (i32.load $0 align=1 (local.get $2) ) ) @@ -6038,7 +6038,7 @@ (local.get $2) (i64.const 4) ) - (i64.load + (i64.load $0 (call $foo) ) ) @@ -6054,7 +6054,7 @@ ) (call $alignfault) ) - (i32.load align=2 + (i32.load $0 align=2 (local.get $2) ) ) @@ -6077,7 +6077,7 @@ (local.get $2) (i64.const 4) ) - (i64.load + (i64.load $0 (call $foo) ) ) @@ -6093,7 +6093,7 @@ ) (call $alignfault) ) - (i32.atomic.load + (i32.atomic.load $0 (local.get $2) ) ) @@ -6116,7 +6116,7 @@ (local.get $2) (i64.const 4) ) - (i64.load + (i64.load $0 (call $foo) ) ) @@ -6132,7 +6132,7 @@ ) (call $alignfault) ) - (i32.load + (i32.load $0 (local.get $2) ) ) @@ -6155,7 +6155,7 @@ (local.get $2) (i64.const 1) ) - (i64.load + (i64.load $0 (call $foo) ) ) @@ -6164,7 +6164,7 @@ ) (i64.shr_s (i64.shl - (i64.atomic.load8_u + (i64.atomic.load8_u $0 (local.get $2) ) (i64.const 56) @@ -6191,14 +6191,14 @@ (local.get $2) (i64.const 1) ) - (i64.load + (i64.load $0 (call $foo) ) ) ) (call $segfault) ) - (i64.load8_s + (i64.load8_s $0 (local.get $2) ) ) @@ -6221,14 +6221,14 @@ (local.get $2) (i64.const 1) ) - (i64.load + (i64.load $0 (call $foo) ) ) ) (call $segfault) ) - (i64.atomic.load8_u + (i64.atomic.load8_u $0 (local.get $2) ) ) @@ -6251,14 +6251,14 @@ (local.get $2) (i64.const 1) ) - (i64.load + (i64.load $0 (call $foo) ) ) ) (call $segfault) ) - (i64.load8_u + (i64.load8_u $0 (local.get $2) ) ) @@ -6281,14 +6281,14 @@ (local.get $2) (i64.const 2) ) - (i64.load + (i64.load $0 (call $foo) ) ) ) (call $segfault) ) - (i64.load16_s align=1 + (i64.load16_s $0 align=1 (local.get $2) ) ) @@ -6311,7 +6311,7 @@ (local.get $2) (i64.const 2) ) - (i64.load + (i64.load $0 (call $foo) ) ) @@ -6329,7 +6329,7 @@ ) (i64.shr_s (i64.shl - (i64.atomic.load16_u + (i64.atomic.load16_u $0 (local.get $2) ) (i64.const 48) @@ -6356,7 +6356,7 @@ (local.get $2) (i64.const 2) ) - (i64.load + (i64.load $0 (call $foo) ) ) @@ -6372,7 +6372,7 @@ ) (call $alignfault) ) - (i64.load16_s + (i64.load16_s $0 (local.get $2) ) ) @@ -6395,14 +6395,14 @@ (local.get $2) (i64.const 2) ) - (i64.load + (i64.load $0 (call $foo) ) ) ) (call $segfault) ) - (i64.load16_u align=1 + (i64.load16_u $0 align=1 (local.get $2) ) ) @@ -6425,7 +6425,7 @@ (local.get $2) (i64.const 2) ) - (i64.load + (i64.load $0 (call $foo) ) ) @@ -6441,7 +6441,7 @@ ) (call $alignfault) ) - (i64.atomic.load16_u + (i64.atomic.load16_u $0 (local.get $2) ) ) @@ -6464,7 +6464,7 @@ (local.get $2) (i64.const 2) ) - (i64.load + (i64.load $0 (call $foo) ) ) @@ -6480,7 +6480,7 @@ ) (call $alignfault) ) - (i64.load16_u + (i64.load16_u $0 (local.get $2) ) ) @@ -6503,14 +6503,14 @@ (local.get $2) (i64.const 4) ) - (i64.load + (i64.load $0 (call $foo) ) ) ) (call $segfault) ) - (i64.load32_s align=1 + (i64.load32_s $0 align=1 (local.get $2) ) ) @@ -6533,7 +6533,7 @@ (local.get $2) (i64.const 4) ) - (i64.load + (i64.load $0 (call $foo) ) ) @@ -6549,7 +6549,7 @@ ) (call $alignfault) ) - (i64.load32_s align=2 + (i64.load32_s $0 align=2 (local.get $2) ) ) @@ -6572,7 +6572,7 @@ (local.get $2) (i64.const 4) ) - (i64.load + (i64.load $0 (call $foo) ) ) @@ -6590,7 +6590,7 @@ ) (i64.shr_s (i64.shl - (i64.atomic.load32_u + (i64.atomic.load32_u $0 (local.get $2) ) (i64.const 32) @@ -6617,7 +6617,7 @@ (local.get $2) (i64.const 4) ) - (i64.load + (i64.load $0 (call $foo) ) ) @@ -6633,7 +6633,7 @@ ) (call $alignfault) ) - (i64.load32_s + (i64.load32_s $0 (local.get $2) ) ) @@ -6656,14 +6656,14 @@ (local.get $2) (i64.const 4) ) - (i64.load + (i64.load $0 (call $foo) ) ) ) (call $segfault) ) - (i64.load32_u align=1 + (i64.load32_u $0 align=1 (local.get $2) ) ) @@ -6686,7 +6686,7 @@ (local.get $2) (i64.const 4) ) - (i64.load + (i64.load $0 (call $foo) ) ) @@ -6702,7 +6702,7 @@ ) (call $alignfault) ) - (i64.load32_u align=2 + (i64.load32_u $0 align=2 (local.get $2) ) ) @@ -6725,7 +6725,7 @@ (local.get $2) (i64.const 4) ) - (i64.load + (i64.load $0 (call $foo) ) ) @@ -6741,7 +6741,7 @@ ) (call $alignfault) ) - (i64.atomic.load32_u + (i64.atomic.load32_u $0 (local.get $2) ) ) @@ -6764,7 +6764,7 @@ (local.get $2) (i64.const 4) ) - (i64.load + (i64.load $0 (call $foo) ) ) @@ -6780,7 +6780,7 @@ ) (call $alignfault) ) - (i64.load32_u + (i64.load32_u $0 (local.get $2) ) ) @@ -6803,14 +6803,14 @@ (local.get $2) (i64.const 8) ) - (i64.load + (i64.load $0 (call $foo) ) ) ) (call $segfault) ) - (i64.load align=1 + (i64.load $0 align=1 (local.get $2) ) ) @@ -6833,7 +6833,7 @@ (local.get $2) (i64.const 8) ) - (i64.load + (i64.load $0 (call $foo) ) ) @@ -6849,7 +6849,7 @@ ) (call $alignfault) ) - (i64.load align=2 + (i64.load $0 align=2 (local.get $2) ) ) @@ -6872,7 +6872,7 @@ (local.get $2) (i64.const 8) ) - (i64.load + (i64.load $0 (call $foo) ) ) @@ -6888,7 +6888,7 @@ ) (call $alignfault) ) - (i64.load align=4 + (i64.load $0 align=4 (local.get $2) ) ) @@ -6911,7 +6911,7 @@ (local.get $2) (i64.const 8) ) - (i64.load + (i64.load $0 (call $foo) ) ) @@ -6927,7 +6927,7 @@ ) (call $alignfault) ) - (i64.atomic.load + (i64.atomic.load $0 (local.get $2) ) ) @@ -6950,7 +6950,7 @@ (local.get $2) (i64.const 8) ) - (i64.load + (i64.load $0 (call $foo) ) ) @@ -6966,7 +6966,7 @@ ) (call $alignfault) ) - (i64.load + (i64.load $0 (local.get $2) ) ) @@ -6989,14 +6989,14 @@ (local.get $2) (i64.const 4) ) - (i64.load + (i64.load $0 (call $foo) ) ) ) (call $segfault) ) - (f32.load align=1 + (f32.load $0 align=1 (local.get $2) ) ) @@ -7019,7 +7019,7 @@ (local.get $2) (i64.const 4) ) - (i64.load + (i64.load $0 (call $foo) ) ) @@ -7035,7 +7035,7 @@ ) (call $alignfault) ) - (f32.load align=2 + (f32.load $0 align=2 (local.get $2) ) ) @@ -7058,7 +7058,7 @@ (local.get $2) (i64.const 4) ) - (i64.load + (i64.load $0 (call $foo) ) ) @@ -7074,7 +7074,7 @@ ) (call $alignfault) ) - (f32.load + (f32.load $0 (local.get $2) ) ) @@ -7097,14 +7097,14 @@ (local.get $2) (i64.const 8) ) - (i64.load + (i64.load $0 (call $foo) ) ) ) (call $segfault) ) - (f64.load align=1 + (f64.load $0 align=1 (local.get $2) ) ) @@ -7127,7 +7127,7 @@ (local.get $2) (i64.const 8) ) - (i64.load + (i64.load $0 (call $foo) ) ) @@ -7143,7 +7143,7 @@ ) (call $alignfault) ) - (f64.load align=2 + (f64.load $0 align=2 (local.get $2) ) ) @@ -7166,7 +7166,7 @@ (local.get $2) (i64.const 8) ) - (i64.load + (i64.load $0 (call $foo) ) ) @@ -7182,7 +7182,7 @@ ) (call $alignfault) ) - (f64.load align=4 + (f64.load $0 align=4 (local.get $2) ) ) @@ -7205,7 +7205,7 @@ (local.get $2) (i64.const 8) ) - (i64.load + (i64.load $0 (call $foo) ) ) @@ -7221,7 +7221,7 @@ ) (call $alignfault) ) - (f64.load + (f64.load $0 (local.get $2) ) ) @@ -7244,14 +7244,14 @@ (local.get $2) (i64.const 16) ) - (i64.load + (i64.load $0 (call $foo) ) ) ) (call $segfault) ) - (v128.load align=1 + (v128.load $0 align=1 (local.get $2) ) ) @@ -7274,7 +7274,7 @@ (local.get $2) (i64.const 16) ) - (i64.load + (i64.load $0 (call $foo) ) ) @@ -7290,7 +7290,7 @@ ) (call $alignfault) ) - (v128.load align=2 + (v128.load $0 align=2 (local.get $2) ) ) @@ -7313,7 +7313,7 @@ (local.get $2) (i64.const 16) ) - (i64.load + (i64.load $0 (call $foo) ) ) @@ -7329,7 +7329,7 @@ ) (call $alignfault) ) - (v128.load align=4 + (v128.load $0 align=4 (local.get $2) ) ) @@ -7352,7 +7352,7 @@ (local.get $2) (i64.const 16) ) - (i64.load + (i64.load $0 (call $foo) ) ) @@ -7368,7 +7368,7 @@ ) (call $alignfault) ) - (v128.load align=8 + (v128.load $0 align=8 (local.get $2) ) ) @@ -7391,7 +7391,7 @@ (local.get $2) (i64.const 16) ) - (i64.load + (i64.load $0 (call $foo) ) ) @@ -7407,7 +7407,7 @@ ) (call $alignfault) ) - (v128.load + (v128.load $0 (local.get $2) ) ) @@ -7430,14 +7430,14 @@ (local.get $3) (i64.const 1) ) - (i64.load + (i64.load $0 (call $foo) ) ) ) (call $segfault) ) - (i32.atomic.store8 + (i32.atomic.store8 $0 (local.get $3) (local.get $2) ) @@ -7461,14 +7461,14 @@ (local.get $3) (i64.const 1) ) - (i64.load + (i64.load $0 (call $foo) ) ) ) (call $segfault) ) - (i32.store8 + (i32.store8 $0 (local.get $3) (local.get $2) ) @@ -7492,14 +7492,14 @@ (local.get $3) (i64.const 2) ) - (i64.load + (i64.load $0 (call $foo) ) ) ) (call $segfault) ) - (i32.store16 align=1 + (i32.store16 $0 align=1 (local.get $3) (local.get $2) ) @@ -7523,7 +7523,7 @@ (local.get $3) (i64.const 2) ) - (i64.load + (i64.load $0 (call $foo) ) ) @@ -7539,7 +7539,7 @@ ) (call $alignfault) ) - (i32.atomic.store16 + (i32.atomic.store16 $0 (local.get $3) (local.get $2) ) @@ -7563,7 +7563,7 @@ (local.get $3) (i64.const 2) ) - (i64.load + (i64.load $0 (call $foo) ) ) @@ -7579,7 +7579,7 @@ ) (call $alignfault) ) - (i32.store16 + (i32.store16 $0 (local.get $3) (local.get $2) ) @@ -7603,14 +7603,14 @@ (local.get $3) (i64.const 4) ) - (i64.load + (i64.load $0 (call $foo) ) ) ) (call $segfault) ) - (i32.store align=1 + (i32.store $0 align=1 (local.get $3) (local.get $2) ) @@ -7634,7 +7634,7 @@ (local.get $3) (i64.const 4) ) - (i64.load + (i64.load $0 (call $foo) ) ) @@ -7650,7 +7650,7 @@ ) (call $alignfault) ) - (i32.store align=2 + (i32.store $0 align=2 (local.get $3) (local.get $2) ) @@ -7674,7 +7674,7 @@ (local.get $3) (i64.const 4) ) - (i64.load + (i64.load $0 (call $foo) ) ) @@ -7690,7 +7690,7 @@ ) (call $alignfault) ) - (i32.atomic.store + (i32.atomic.store $0 (local.get $3) (local.get $2) ) @@ -7714,7 +7714,7 @@ (local.get $3) (i64.const 4) ) - (i64.load + (i64.load $0 (call $foo) ) ) @@ -7730,7 +7730,7 @@ ) (call $alignfault) ) - (i32.store + (i32.store $0 (local.get $3) (local.get $2) ) @@ -7754,14 +7754,14 @@ (local.get $3) (i64.const 1) ) - (i64.load + (i64.load $0 (call $foo) ) ) ) (call $segfault) ) - (i64.atomic.store8 + (i64.atomic.store8 $0 (local.get $3) (local.get $2) ) @@ -7785,14 +7785,14 @@ (local.get $3) (i64.const 1) ) - (i64.load + (i64.load $0 (call $foo) ) ) ) (call $segfault) ) - (i64.store8 + (i64.store8 $0 (local.get $3) (local.get $2) ) @@ -7816,14 +7816,14 @@ (local.get $3) (i64.const 2) ) - (i64.load + (i64.load $0 (call $foo) ) ) ) (call $segfault) ) - (i64.store16 align=1 + (i64.store16 $0 align=1 (local.get $3) (local.get $2) ) @@ -7847,7 +7847,7 @@ (local.get $3) (i64.const 2) ) - (i64.load + (i64.load $0 (call $foo) ) ) @@ -7863,7 +7863,7 @@ ) (call $alignfault) ) - (i64.atomic.store16 + (i64.atomic.store16 $0 (local.get $3) (local.get $2) ) @@ -7887,7 +7887,7 @@ (local.get $3) (i64.const 2) ) - (i64.load + (i64.load $0 (call $foo) ) ) @@ -7903,7 +7903,7 @@ ) (call $alignfault) ) - (i64.store16 + (i64.store16 $0 (local.get $3) (local.get $2) ) @@ -7927,14 +7927,14 @@ (local.get $3) (i64.const 4) ) - (i64.load + (i64.load $0 (call $foo) ) ) ) (call $segfault) ) - (i64.store32 align=1 + (i64.store32 $0 align=1 (local.get $3) (local.get $2) ) @@ -7958,7 +7958,7 @@ (local.get $3) (i64.const 4) ) - (i64.load + (i64.load $0 (call $foo) ) ) @@ -7974,7 +7974,7 @@ ) (call $alignfault) ) - (i64.store32 align=2 + (i64.store32 $0 align=2 (local.get $3) (local.get $2) ) @@ -7998,7 +7998,7 @@ (local.get $3) (i64.const 4) ) - (i64.load + (i64.load $0 (call $foo) ) ) @@ -8014,7 +8014,7 @@ ) (call $alignfault) ) - (i64.atomic.store32 + (i64.atomic.store32 $0 (local.get $3) (local.get $2) ) @@ -8038,7 +8038,7 @@ (local.get $3) (i64.const 4) ) - (i64.load + (i64.load $0 (call $foo) ) ) @@ -8054,7 +8054,7 @@ ) (call $alignfault) ) - (i64.store32 + (i64.store32 $0 (local.get $3) (local.get $2) ) @@ -8078,14 +8078,14 @@ (local.get $3) (i64.const 8) ) - (i64.load + (i64.load $0 (call $foo) ) ) ) (call $segfault) ) - (i64.store align=1 + (i64.store $0 align=1 (local.get $3) (local.get $2) ) @@ -8109,7 +8109,7 @@ (local.get $3) (i64.const 8) ) - (i64.load + (i64.load $0 (call $foo) ) ) @@ -8125,7 +8125,7 @@ ) (call $alignfault) ) - (i64.store align=2 + (i64.store $0 align=2 (local.get $3) (local.get $2) ) @@ -8149,7 +8149,7 @@ (local.get $3) (i64.const 8) ) - (i64.load + (i64.load $0 (call $foo) ) ) @@ -8165,7 +8165,7 @@ ) (call $alignfault) ) - (i64.store align=4 + (i64.store $0 align=4 (local.get $3) (local.get $2) ) @@ -8189,7 +8189,7 @@ (local.get $3) (i64.const 8) ) - (i64.load + (i64.load $0 (call $foo) ) ) @@ -8205,7 +8205,7 @@ ) (call $alignfault) ) - (i64.atomic.store + (i64.atomic.store $0 (local.get $3) (local.get $2) ) @@ -8229,7 +8229,7 @@ (local.get $3) (i64.const 8) ) - (i64.load + (i64.load $0 (call $foo) ) ) @@ -8245,7 +8245,7 @@ ) (call $alignfault) ) - (i64.store + (i64.store $0 (local.get $3) (local.get $2) ) @@ -8269,14 +8269,14 @@ (local.get $3) (i64.const 4) ) - (i64.load + (i64.load $0 (call $foo) ) ) ) (call $segfault) ) - (f32.store align=1 + (f32.store $0 align=1 (local.get $3) (local.get $2) ) @@ -8300,7 +8300,7 @@ (local.get $3) (i64.const 4) ) - (i64.load + (i64.load $0 (call $foo) ) ) @@ -8316,7 +8316,7 @@ ) (call $alignfault) ) - (f32.store align=2 + (f32.store $0 align=2 (local.get $3) (local.get $2) ) @@ -8340,7 +8340,7 @@ (local.get $3) (i64.const 4) ) - (i64.load + (i64.load $0 (call $foo) ) ) @@ -8356,7 +8356,7 @@ ) (call $alignfault) ) - (f32.store + (f32.store $0 (local.get $3) (local.get $2) ) @@ -8380,14 +8380,14 @@ (local.get $3) (i64.const 8) ) - (i64.load + (i64.load $0 (call $foo) ) ) ) (call $segfault) ) - (f64.store align=1 + (f64.store $0 align=1 (local.get $3) (local.get $2) ) @@ -8411,7 +8411,7 @@ (local.get $3) (i64.const 8) ) - (i64.load + (i64.load $0 (call $foo) ) ) @@ -8427,7 +8427,7 @@ ) (call $alignfault) ) - (f64.store align=2 + (f64.store $0 align=2 (local.get $3) (local.get $2) ) @@ -8451,7 +8451,7 @@ (local.get $3) (i64.const 8) ) - (i64.load + (i64.load $0 (call $foo) ) ) @@ -8467,7 +8467,7 @@ ) (call $alignfault) ) - (f64.store align=4 + (f64.store $0 align=4 (local.get $3) (local.get $2) ) @@ -8491,7 +8491,7 @@ (local.get $3) (i64.const 8) ) - (i64.load + (i64.load $0 (call $foo) ) ) @@ -8507,7 +8507,7 @@ ) (call $alignfault) ) - (f64.store + (f64.store $0 (local.get $3) (local.get $2) ) @@ -8531,14 +8531,14 @@ (local.get $3) (i64.const 16) ) - (i64.load + (i64.load $0 (call $foo) ) ) ) (call $segfault) ) - (v128.store align=1 + (v128.store $0 align=1 (local.get $3) (local.get $2) ) @@ -8562,7 +8562,7 @@ (local.get $3) (i64.const 16) ) - (i64.load + (i64.load $0 (call $foo) ) ) @@ -8578,7 +8578,7 @@ ) (call $alignfault) ) - (v128.store align=2 + (v128.store $0 align=2 (local.get $3) (local.get $2) ) @@ -8602,7 +8602,7 @@ (local.get $3) (i64.const 16) ) - (i64.load + (i64.load $0 (call $foo) ) ) @@ -8618,7 +8618,7 @@ ) (call $alignfault) ) - (v128.store align=4 + (v128.store $0 align=4 (local.get $3) (local.get $2) ) @@ -8642,7 +8642,7 @@ (local.get $3) (i64.const 16) ) - (i64.load + (i64.load $0 (call $foo) ) ) @@ -8658,7 +8658,7 @@ ) (call $alignfault) ) - (v128.store align=8 + (v128.store $0 align=8 (local.get $3) (local.get $2) ) @@ -8682,7 +8682,7 @@ (local.get $3) (i64.const 16) ) - (i64.load + (i64.load $0 (call $foo) ) ) @@ -8698,7 +8698,7 @@ ) (call $alignfault) ) - (v128.store + (v128.store $0 (local.get $3) (local.get $2) ) diff --git a/test/passes/safe-heap_low-memory-unused_enable-threads_enable-simd.txt b/test/passes/safe-heap_low-memory-unused_enable-threads_enable-simd.txt index 4474b16a445..e34ce321537 100644 --- a/test/passes/safe-heap_low-memory-unused_enable-threads_enable-simd.txt +++ b/test/passes/safe-heap_low-memory-unused_enable-threads_enable-simd.txt @@ -203,7 +203,7 @@ (local.get $2) (i32.const 1) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -212,7 +212,7 @@ ) (i32.shr_s (i32.shl - (i32.atomic.load8_u + (i32.atomic.load8_u $0 (local.get $2) ) (i32.const 24) @@ -239,14 +239,14 @@ (local.get $2) (i32.const 1) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load8_s + (i32.load8_s $0 (local.get $2) ) ) @@ -269,14 +269,14 @@ (local.get $2) (i32.const 1) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.atomic.load8_u + (i32.atomic.load8_u $0 (local.get $2) ) ) @@ -299,14 +299,14 @@ (local.get $2) (i32.const 1) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load8_u + (i32.load8_u $0 (local.get $2) ) ) @@ -329,14 +329,14 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load16_s align=1 + (i32.load16_s $0 align=1 (local.get $2) ) ) @@ -359,7 +359,7 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -375,7 +375,7 @@ ) (i32.shr_s (i32.shl - (i32.atomic.load16_u + (i32.atomic.load16_u $0 (local.get $2) ) (i32.const 16) @@ -402,7 +402,7 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -416,7 +416,7 @@ ) (call $alignfault) ) - (i32.load16_s + (i32.load16_s $0 (local.get $2) ) ) @@ -439,14 +439,14 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load16_u align=1 + (i32.load16_u $0 align=1 (local.get $2) ) ) @@ -469,7 +469,7 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -483,7 +483,7 @@ ) (call $alignfault) ) - (i32.atomic.load16_u + (i32.atomic.load16_u $0 (local.get $2) ) ) @@ -506,7 +506,7 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -520,7 +520,7 @@ ) (call $alignfault) ) - (i32.load16_u + (i32.load16_u $0 (local.get $2) ) ) @@ -543,14 +543,14 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load align=1 + (i32.load $0 align=1 (local.get $2) ) ) @@ -573,7 +573,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -587,7 +587,7 @@ ) (call $alignfault) ) - (i32.load align=2 + (i32.load $0 align=2 (local.get $2) ) ) @@ -610,7 +610,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -624,7 +624,7 @@ ) (call $alignfault) ) - (i32.atomic.load + (i32.atomic.load $0 (local.get $2) ) ) @@ -647,7 +647,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -661,7 +661,7 @@ ) (call $alignfault) ) - (i32.load + (i32.load $0 (local.get $2) ) ) @@ -684,7 +684,7 @@ (local.get $2) (i32.const 1) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -693,7 +693,7 @@ ) (i64.shr_s (i64.shl - (i64.atomic.load8_u + (i64.atomic.load8_u $0 (local.get $2) ) (i64.const 56) @@ -720,14 +720,14 @@ (local.get $2) (i32.const 1) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load8_s + (i64.load8_s $0 (local.get $2) ) ) @@ -750,14 +750,14 @@ (local.get $2) (i32.const 1) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.atomic.load8_u + (i64.atomic.load8_u $0 (local.get $2) ) ) @@ -780,14 +780,14 @@ (local.get $2) (i32.const 1) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load8_u + (i64.load8_u $0 (local.get $2) ) ) @@ -810,14 +810,14 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load16_s align=1 + (i64.load16_s $0 align=1 (local.get $2) ) ) @@ -840,7 +840,7 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -856,7 +856,7 @@ ) (i64.shr_s (i64.shl - (i64.atomic.load16_u + (i64.atomic.load16_u $0 (local.get $2) ) (i64.const 48) @@ -883,7 +883,7 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -897,7 +897,7 @@ ) (call $alignfault) ) - (i64.load16_s + (i64.load16_s $0 (local.get $2) ) ) @@ -920,14 +920,14 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load16_u align=1 + (i64.load16_u $0 align=1 (local.get $2) ) ) @@ -950,7 +950,7 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -964,7 +964,7 @@ ) (call $alignfault) ) - (i64.atomic.load16_u + (i64.atomic.load16_u $0 (local.get $2) ) ) @@ -987,7 +987,7 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1001,7 +1001,7 @@ ) (call $alignfault) ) - (i64.load16_u + (i64.load16_u $0 (local.get $2) ) ) @@ -1024,14 +1024,14 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load32_s align=1 + (i64.load32_s $0 align=1 (local.get $2) ) ) @@ -1054,7 +1054,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1068,7 +1068,7 @@ ) (call $alignfault) ) - (i64.load32_s align=2 + (i64.load32_s $0 align=2 (local.get $2) ) ) @@ -1091,7 +1091,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1107,7 +1107,7 @@ ) (i64.shr_s (i64.shl - (i64.atomic.load32_u + (i64.atomic.load32_u $0 (local.get $2) ) (i64.const 32) @@ -1134,7 +1134,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1148,7 +1148,7 @@ ) (call $alignfault) ) - (i64.load32_s + (i64.load32_s $0 (local.get $2) ) ) @@ -1171,14 +1171,14 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load32_u align=1 + (i64.load32_u $0 align=1 (local.get $2) ) ) @@ -1201,7 +1201,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1215,7 +1215,7 @@ ) (call $alignfault) ) - (i64.load32_u align=2 + (i64.load32_u $0 align=2 (local.get $2) ) ) @@ -1238,7 +1238,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1252,7 +1252,7 @@ ) (call $alignfault) ) - (i64.atomic.load32_u + (i64.atomic.load32_u $0 (local.get $2) ) ) @@ -1275,7 +1275,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1289,7 +1289,7 @@ ) (call $alignfault) ) - (i64.load32_u + (i64.load32_u $0 (local.get $2) ) ) @@ -1312,14 +1312,14 @@ (local.get $2) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load align=1 + (i64.load $0 align=1 (local.get $2) ) ) @@ -1342,7 +1342,7 @@ (local.get $2) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1356,7 +1356,7 @@ ) (call $alignfault) ) - (i64.load align=2 + (i64.load $0 align=2 (local.get $2) ) ) @@ -1379,7 +1379,7 @@ (local.get $2) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1393,7 +1393,7 @@ ) (call $alignfault) ) - (i64.load align=4 + (i64.load $0 align=4 (local.get $2) ) ) @@ -1416,7 +1416,7 @@ (local.get $2) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1430,7 +1430,7 @@ ) (call $alignfault) ) - (i64.atomic.load + (i64.atomic.load $0 (local.get $2) ) ) @@ -1453,7 +1453,7 @@ (local.get $2) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1467,7 +1467,7 @@ ) (call $alignfault) ) - (i64.load + (i64.load $0 (local.get $2) ) ) @@ -1490,14 +1490,14 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (f32.load align=1 + (f32.load $0 align=1 (local.get $2) ) ) @@ -1520,7 +1520,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1534,7 +1534,7 @@ ) (call $alignfault) ) - (f32.load align=2 + (f32.load $0 align=2 (local.get $2) ) ) @@ -1557,7 +1557,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1571,7 +1571,7 @@ ) (call $alignfault) ) - (f32.load + (f32.load $0 (local.get $2) ) ) @@ -1594,14 +1594,14 @@ (local.get $2) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (f64.load align=1 + (f64.load $0 align=1 (local.get $2) ) ) @@ -1624,7 +1624,7 @@ (local.get $2) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1638,7 +1638,7 @@ ) (call $alignfault) ) - (f64.load align=2 + (f64.load $0 align=2 (local.get $2) ) ) @@ -1661,7 +1661,7 @@ (local.get $2) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1675,7 +1675,7 @@ ) (call $alignfault) ) - (f64.load align=4 + (f64.load $0 align=4 (local.get $2) ) ) @@ -1698,7 +1698,7 @@ (local.get $2) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1712,7 +1712,7 @@ ) (call $alignfault) ) - (f64.load + (f64.load $0 (local.get $2) ) ) @@ -1735,14 +1735,14 @@ (local.get $2) (i32.const 16) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (v128.load align=1 + (v128.load $0 align=1 (local.get $2) ) ) @@ -1765,7 +1765,7 @@ (local.get $2) (i32.const 16) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1779,7 +1779,7 @@ ) (call $alignfault) ) - (v128.load align=2 + (v128.load $0 align=2 (local.get $2) ) ) @@ -1802,7 +1802,7 @@ (local.get $2) (i32.const 16) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1816,7 +1816,7 @@ ) (call $alignfault) ) - (v128.load align=4 + (v128.load $0 align=4 (local.get $2) ) ) @@ -1839,7 +1839,7 @@ (local.get $2) (i32.const 16) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1853,7 +1853,7 @@ ) (call $alignfault) ) - (v128.load align=8 + (v128.load $0 align=8 (local.get $2) ) ) @@ -1876,7 +1876,7 @@ (local.get $2) (i32.const 16) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1890,7 +1890,7 @@ ) (call $alignfault) ) - (v128.load + (v128.load $0 (local.get $2) ) ) @@ -1913,14 +1913,14 @@ (local.get $3) (i32.const 1) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.atomic.store8 + (i32.atomic.store8 $0 (local.get $3) (local.get $2) ) @@ -1944,14 +1944,14 @@ (local.get $3) (i32.const 1) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.store8 + (i32.store8 $0 (local.get $3) (local.get $2) ) @@ -1975,14 +1975,14 @@ (local.get $3) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.store16 align=1 + (i32.store16 $0 align=1 (local.get $3) (local.get $2) ) @@ -2006,7 +2006,7 @@ (local.get $3) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -2020,7 +2020,7 @@ ) (call $alignfault) ) - (i32.atomic.store16 + (i32.atomic.store16 $0 (local.get $3) (local.get $2) ) @@ -2044,7 +2044,7 @@ (local.get $3) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -2058,7 +2058,7 @@ ) (call $alignfault) ) - (i32.store16 + (i32.store16 $0 (local.get $3) (local.get $2) ) @@ -2082,14 +2082,14 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.store align=1 + (i32.store $0 align=1 (local.get $3) (local.get $2) ) @@ -2113,7 +2113,7 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -2127,7 +2127,7 @@ ) (call $alignfault) ) - (i32.store align=2 + (i32.store $0 align=2 (local.get $3) (local.get $2) ) @@ -2151,7 +2151,7 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -2165,7 +2165,7 @@ ) (call $alignfault) ) - (i32.atomic.store + (i32.atomic.store $0 (local.get $3) (local.get $2) ) @@ -2189,7 +2189,7 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -2203,7 +2203,7 @@ ) (call $alignfault) ) - (i32.store + (i32.store $0 (local.get $3) (local.get $2) ) @@ -2227,14 +2227,14 @@ (local.get $3) (i32.const 1) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.atomic.store8 + (i64.atomic.store8 $0 (local.get $3) (local.get $2) ) @@ -2258,14 +2258,14 @@ (local.get $3) (i32.const 1) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.store8 + (i64.store8 $0 (local.get $3) (local.get $2) ) @@ -2289,14 +2289,14 @@ (local.get $3) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.store16 align=1 + (i64.store16 $0 align=1 (local.get $3) (local.get $2) ) @@ -2320,7 +2320,7 @@ (local.get $3) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -2334,7 +2334,7 @@ ) (call $alignfault) ) - (i64.atomic.store16 + (i64.atomic.store16 $0 (local.get $3) (local.get $2) ) @@ -2358,7 +2358,7 @@ (local.get $3) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -2372,7 +2372,7 @@ ) (call $alignfault) ) - (i64.store16 + (i64.store16 $0 (local.get $3) (local.get $2) ) @@ -2396,14 +2396,14 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.store32 align=1 + (i64.store32 $0 align=1 (local.get $3) (local.get $2) ) @@ -2427,7 +2427,7 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -2441,7 +2441,7 @@ ) (call $alignfault) ) - (i64.store32 align=2 + (i64.store32 $0 align=2 (local.get $3) (local.get $2) ) @@ -2465,7 +2465,7 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -2479,7 +2479,7 @@ ) (call $alignfault) ) - (i64.atomic.store32 + (i64.atomic.store32 $0 (local.get $3) (local.get $2) ) @@ -2503,7 +2503,7 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -2517,7 +2517,7 @@ ) (call $alignfault) ) - (i64.store32 + (i64.store32 $0 (local.get $3) (local.get $2) ) @@ -2541,14 +2541,14 @@ (local.get $3) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.store align=1 + (i64.store $0 align=1 (local.get $3) (local.get $2) ) @@ -2572,7 +2572,7 @@ (local.get $3) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -2586,7 +2586,7 @@ ) (call $alignfault) ) - (i64.store align=2 + (i64.store $0 align=2 (local.get $3) (local.get $2) ) @@ -2610,7 +2610,7 @@ (local.get $3) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -2624,7 +2624,7 @@ ) (call $alignfault) ) - (i64.store align=4 + (i64.store $0 align=4 (local.get $3) (local.get $2) ) @@ -2648,7 +2648,7 @@ (local.get $3) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -2662,7 +2662,7 @@ ) (call $alignfault) ) - (i64.atomic.store + (i64.atomic.store $0 (local.get $3) (local.get $2) ) @@ -2686,7 +2686,7 @@ (local.get $3) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -2700,7 +2700,7 @@ ) (call $alignfault) ) - (i64.store + (i64.store $0 (local.get $3) (local.get $2) ) @@ -2724,14 +2724,14 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (f32.store align=1 + (f32.store $0 align=1 (local.get $3) (local.get $2) ) @@ -2755,7 +2755,7 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -2769,7 +2769,7 @@ ) (call $alignfault) ) - (f32.store align=2 + (f32.store $0 align=2 (local.get $3) (local.get $2) ) @@ -2793,7 +2793,7 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -2807,7 +2807,7 @@ ) (call $alignfault) ) - (f32.store + (f32.store $0 (local.get $3) (local.get $2) ) @@ -2831,14 +2831,14 @@ (local.get $3) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (f64.store align=1 + (f64.store $0 align=1 (local.get $3) (local.get $2) ) @@ -2862,7 +2862,7 @@ (local.get $3) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -2876,7 +2876,7 @@ ) (call $alignfault) ) - (f64.store align=2 + (f64.store $0 align=2 (local.get $3) (local.get $2) ) @@ -2900,7 +2900,7 @@ (local.get $3) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -2914,7 +2914,7 @@ ) (call $alignfault) ) - (f64.store align=4 + (f64.store $0 align=4 (local.get $3) (local.get $2) ) @@ -2938,7 +2938,7 @@ (local.get $3) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -2952,7 +2952,7 @@ ) (call $alignfault) ) - (f64.store + (f64.store $0 (local.get $3) (local.get $2) ) @@ -2976,14 +2976,14 @@ (local.get $3) (i32.const 16) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (v128.store align=1 + (v128.store $0 align=1 (local.get $3) (local.get $2) ) @@ -3007,7 +3007,7 @@ (local.get $3) (i32.const 16) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -3021,7 +3021,7 @@ ) (call $alignfault) ) - (v128.store align=2 + (v128.store $0 align=2 (local.get $3) (local.get $2) ) @@ -3045,7 +3045,7 @@ (local.get $3) (i32.const 16) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -3059,7 +3059,7 @@ ) (call $alignfault) ) - (v128.store align=4 + (v128.store $0 align=4 (local.get $3) (local.get $2) ) @@ -3083,7 +3083,7 @@ (local.get $3) (i32.const 16) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -3097,7 +3097,7 @@ ) (call $alignfault) ) - (v128.store align=8 + (v128.store $0 align=8 (local.get $3) (local.get $2) ) @@ -3121,7 +3121,7 @@ (local.get $3) (i32.const 16) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -3135,7 +3135,7 @@ ) (call $alignfault) ) - (v128.store + (v128.store $0 (local.get $3) (local.get $2) ) @@ -3185,14 +3185,14 @@ (local.get $2) (i32.const 1) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load8_s + (i32.load8_s $0 (local.get $2) ) ) @@ -3215,14 +3215,14 @@ (local.get $2) (i32.const 1) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load8_u + (i32.load8_u $0 (local.get $2) ) ) @@ -3245,14 +3245,14 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load16_s align=1 + (i32.load16_s $0 align=1 (local.get $2) ) ) @@ -3275,7 +3275,7 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -3289,7 +3289,7 @@ ) (call $alignfault) ) - (i32.load16_s + (i32.load16_s $0 (local.get $2) ) ) @@ -3312,14 +3312,14 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load16_u align=1 + (i32.load16_u $0 align=1 (local.get $2) ) ) @@ -3342,7 +3342,7 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -3356,7 +3356,7 @@ ) (call $alignfault) ) - (i32.load16_u + (i32.load16_u $0 (local.get $2) ) ) @@ -3379,14 +3379,14 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load align=1 + (i32.load $0 align=1 (local.get $2) ) ) @@ -3409,7 +3409,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -3423,7 +3423,7 @@ ) (call $alignfault) ) - (i32.load align=2 + (i32.load $0 align=2 (local.get $2) ) ) @@ -3446,7 +3446,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -3460,7 +3460,7 @@ ) (call $alignfault) ) - (i32.load + (i32.load $0 (local.get $2) ) ) @@ -3483,14 +3483,14 @@ (local.get $2) (i32.const 1) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load8_s + (i64.load8_s $0 (local.get $2) ) ) @@ -3513,14 +3513,14 @@ (local.get $2) (i32.const 1) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load8_u + (i64.load8_u $0 (local.get $2) ) ) @@ -3543,14 +3543,14 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load16_s align=1 + (i64.load16_s $0 align=1 (local.get $2) ) ) @@ -3573,7 +3573,7 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -3587,7 +3587,7 @@ ) (call $alignfault) ) - (i64.load16_s + (i64.load16_s $0 (local.get $2) ) ) @@ -3610,14 +3610,14 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load16_u align=1 + (i64.load16_u $0 align=1 (local.get $2) ) ) @@ -3640,7 +3640,7 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -3654,7 +3654,7 @@ ) (call $alignfault) ) - (i64.load16_u + (i64.load16_u $0 (local.get $2) ) ) @@ -3677,14 +3677,14 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load32_s align=1 + (i64.load32_s $0 align=1 (local.get $2) ) ) @@ -3707,7 +3707,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -3721,7 +3721,7 @@ ) (call $alignfault) ) - (i64.load32_s align=2 + (i64.load32_s $0 align=2 (local.get $2) ) ) @@ -3744,7 +3744,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -3758,7 +3758,7 @@ ) (call $alignfault) ) - (i64.load32_s + (i64.load32_s $0 (local.get $2) ) ) @@ -3781,14 +3781,14 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load32_u align=1 + (i64.load32_u $0 align=1 (local.get $2) ) ) @@ -3811,7 +3811,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -3825,7 +3825,7 @@ ) (call $alignfault) ) - (i64.load32_u align=2 + (i64.load32_u $0 align=2 (local.get $2) ) ) @@ -3848,7 +3848,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -3862,7 +3862,7 @@ ) (call $alignfault) ) - (i64.load32_u + (i64.load32_u $0 (local.get $2) ) ) @@ -3885,14 +3885,14 @@ (local.get $2) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load align=1 + (i64.load $0 align=1 (local.get $2) ) ) @@ -3915,7 +3915,7 @@ (local.get $2) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -3929,7 +3929,7 @@ ) (call $alignfault) ) - (i64.load align=2 + (i64.load $0 align=2 (local.get $2) ) ) @@ -3952,7 +3952,7 @@ (local.get $2) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -3966,7 +3966,7 @@ ) (call $alignfault) ) - (i64.load align=4 + (i64.load $0 align=4 (local.get $2) ) ) @@ -3989,7 +3989,7 @@ (local.get $2) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -4003,7 +4003,7 @@ ) (call $alignfault) ) - (i64.load + (i64.load $0 (local.get $2) ) ) @@ -4026,14 +4026,14 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (f32.load align=1 + (f32.load $0 align=1 (local.get $2) ) ) @@ -4056,7 +4056,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -4070,7 +4070,7 @@ ) (call $alignfault) ) - (f32.load align=2 + (f32.load $0 align=2 (local.get $2) ) ) @@ -4093,7 +4093,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -4107,7 +4107,7 @@ ) (call $alignfault) ) - (f32.load + (f32.load $0 (local.get $2) ) ) @@ -4130,14 +4130,14 @@ (local.get $2) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (f64.load align=1 + (f64.load $0 align=1 (local.get $2) ) ) @@ -4160,7 +4160,7 @@ (local.get $2) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -4174,7 +4174,7 @@ ) (call $alignfault) ) - (f64.load align=2 + (f64.load $0 align=2 (local.get $2) ) ) @@ -4197,7 +4197,7 @@ (local.get $2) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -4211,7 +4211,7 @@ ) (call $alignfault) ) - (f64.load align=4 + (f64.load $0 align=4 (local.get $2) ) ) @@ -4234,7 +4234,7 @@ (local.get $2) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -4248,7 +4248,7 @@ ) (call $alignfault) ) - (f64.load + (f64.load $0 (local.get $2) ) ) @@ -4271,14 +4271,14 @@ (local.get $2) (i32.const 16) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (v128.load align=1 + (v128.load $0 align=1 (local.get $2) ) ) @@ -4301,7 +4301,7 @@ (local.get $2) (i32.const 16) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -4315,7 +4315,7 @@ ) (call $alignfault) ) - (v128.load align=2 + (v128.load $0 align=2 (local.get $2) ) ) @@ -4338,7 +4338,7 @@ (local.get $2) (i32.const 16) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -4352,7 +4352,7 @@ ) (call $alignfault) ) - (v128.load align=4 + (v128.load $0 align=4 (local.get $2) ) ) @@ -4375,7 +4375,7 @@ (local.get $2) (i32.const 16) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -4389,7 +4389,7 @@ ) (call $alignfault) ) - (v128.load align=8 + (v128.load $0 align=8 (local.get $2) ) ) @@ -4412,7 +4412,7 @@ (local.get $2) (i32.const 16) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -4426,7 +4426,7 @@ ) (call $alignfault) ) - (v128.load + (v128.load $0 (local.get $2) ) ) @@ -4449,14 +4449,14 @@ (local.get $3) (i32.const 1) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.store8 + (i32.store8 $0 (local.get $3) (local.get $2) ) @@ -4480,14 +4480,14 @@ (local.get $3) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.store16 align=1 + (i32.store16 $0 align=1 (local.get $3) (local.get $2) ) @@ -4511,7 +4511,7 @@ (local.get $3) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -4525,7 +4525,7 @@ ) (call $alignfault) ) - (i32.store16 + (i32.store16 $0 (local.get $3) (local.get $2) ) @@ -4549,14 +4549,14 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.store align=1 + (i32.store $0 align=1 (local.get $3) (local.get $2) ) @@ -4580,7 +4580,7 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -4594,7 +4594,7 @@ ) (call $alignfault) ) - (i32.store align=2 + (i32.store $0 align=2 (local.get $3) (local.get $2) ) @@ -4618,7 +4618,7 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -4632,7 +4632,7 @@ ) (call $alignfault) ) - (i32.store + (i32.store $0 (local.get $3) (local.get $2) ) @@ -4656,14 +4656,14 @@ (local.get $3) (i32.const 1) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.store8 + (i64.store8 $0 (local.get $3) (local.get $2) ) @@ -4687,14 +4687,14 @@ (local.get $3) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.store16 align=1 + (i64.store16 $0 align=1 (local.get $3) (local.get $2) ) @@ -4718,7 +4718,7 @@ (local.get $3) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -4732,7 +4732,7 @@ ) (call $alignfault) ) - (i64.store16 + (i64.store16 $0 (local.get $3) (local.get $2) ) @@ -4756,14 +4756,14 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.store32 align=1 + (i64.store32 $0 align=1 (local.get $3) (local.get $2) ) @@ -4787,7 +4787,7 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -4801,7 +4801,7 @@ ) (call $alignfault) ) - (i64.store32 align=2 + (i64.store32 $0 align=2 (local.get $3) (local.get $2) ) @@ -4825,7 +4825,7 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -4839,7 +4839,7 @@ ) (call $alignfault) ) - (i64.store32 + (i64.store32 $0 (local.get $3) (local.get $2) ) @@ -4863,14 +4863,14 @@ (local.get $3) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.store align=1 + (i64.store $0 align=1 (local.get $3) (local.get $2) ) @@ -4894,7 +4894,7 @@ (local.get $3) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -4908,7 +4908,7 @@ ) (call $alignfault) ) - (i64.store align=2 + (i64.store $0 align=2 (local.get $3) (local.get $2) ) @@ -4932,7 +4932,7 @@ (local.get $3) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -4946,7 +4946,7 @@ ) (call $alignfault) ) - (i64.store align=4 + (i64.store $0 align=4 (local.get $3) (local.get $2) ) @@ -4970,7 +4970,7 @@ (local.get $3) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -4984,7 +4984,7 @@ ) (call $alignfault) ) - (i64.store + (i64.store $0 (local.get $3) (local.get $2) ) @@ -5008,14 +5008,14 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (f32.store align=1 + (f32.store $0 align=1 (local.get $3) (local.get $2) ) @@ -5039,7 +5039,7 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -5053,7 +5053,7 @@ ) (call $alignfault) ) - (f32.store align=2 + (f32.store $0 align=2 (local.get $3) (local.get $2) ) @@ -5077,7 +5077,7 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -5091,7 +5091,7 @@ ) (call $alignfault) ) - (f32.store + (f32.store $0 (local.get $3) (local.get $2) ) @@ -5115,14 +5115,14 @@ (local.get $3) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (f64.store align=1 + (f64.store $0 align=1 (local.get $3) (local.get $2) ) @@ -5146,7 +5146,7 @@ (local.get $3) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -5160,7 +5160,7 @@ ) (call $alignfault) ) - (f64.store align=2 + (f64.store $0 align=2 (local.get $3) (local.get $2) ) @@ -5184,7 +5184,7 @@ (local.get $3) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -5198,7 +5198,7 @@ ) (call $alignfault) ) - (f64.store align=4 + (f64.store $0 align=4 (local.get $3) (local.get $2) ) @@ -5222,7 +5222,7 @@ (local.get $3) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -5236,7 +5236,7 @@ ) (call $alignfault) ) - (f64.store + (f64.store $0 (local.get $3) (local.get $2) ) @@ -5260,14 +5260,14 @@ (local.get $3) (i32.const 16) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (v128.store align=1 + (v128.store $0 align=1 (local.get $3) (local.get $2) ) @@ -5291,7 +5291,7 @@ (local.get $3) (i32.const 16) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -5305,7 +5305,7 @@ ) (call $alignfault) ) - (v128.store align=2 + (v128.store $0 align=2 (local.get $3) (local.get $2) ) @@ -5329,7 +5329,7 @@ (local.get $3) (i32.const 16) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -5343,7 +5343,7 @@ ) (call $alignfault) ) - (v128.store align=4 + (v128.store $0 align=4 (local.get $3) (local.get $2) ) @@ -5367,7 +5367,7 @@ (local.get $3) (i32.const 16) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -5381,7 +5381,7 @@ ) (call $alignfault) ) - (v128.store align=8 + (v128.store $0 align=8 (local.get $3) (local.get $2) ) @@ -5405,7 +5405,7 @@ (local.get $3) (i32.const 16) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -5419,7 +5419,7 @@ ) (call $alignfault) ) - (v128.store + (v128.store $0 (local.get $3) (local.get $2) ) @@ -5474,7 +5474,7 @@ (local.get $2) (i32.const 1) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -5483,7 +5483,7 @@ ) (i32.shr_s (i32.shl - (i32.atomic.load8_u + (i32.atomic.load8_u $0 (local.get $2) ) (i32.const 24) @@ -5510,14 +5510,14 @@ (local.get $2) (i32.const 1) ) - (i32.load + (i32.load $0 (call $foo) ) ) ) (call $segfault) ) - (i32.load8_s + (i32.load8_s $0 (local.get $2) ) ) @@ -5540,14 +5540,14 @@ (local.get $2) (i32.const 1) ) - (i32.load + (i32.load $0 (call $foo) ) ) ) (call $segfault) ) - (i32.atomic.load8_u + (i32.atomic.load8_u $0 (local.get $2) ) ) @@ -5570,14 +5570,14 @@ (local.get $2) (i32.const 1) ) - (i32.load + (i32.load $0 (call $foo) ) ) ) (call $segfault) ) - (i32.load8_u + (i32.load8_u $0 (local.get $2) ) ) @@ -5600,14 +5600,14 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $foo) ) ) ) (call $segfault) ) - (i32.load16_s align=1 + (i32.load16_s $0 align=1 (local.get $2) ) ) @@ -5630,7 +5630,7 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -5646,7 +5646,7 @@ ) (i32.shr_s (i32.shl - (i32.atomic.load16_u + (i32.atomic.load16_u $0 (local.get $2) ) (i32.const 16) @@ -5673,7 +5673,7 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -5687,7 +5687,7 @@ ) (call $alignfault) ) - (i32.load16_s + (i32.load16_s $0 (local.get $2) ) ) @@ -5710,14 +5710,14 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $foo) ) ) ) (call $segfault) ) - (i32.load16_u align=1 + (i32.load16_u $0 align=1 (local.get $2) ) ) @@ -5740,7 +5740,7 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -5754,7 +5754,7 @@ ) (call $alignfault) ) - (i32.atomic.load16_u + (i32.atomic.load16_u $0 (local.get $2) ) ) @@ -5777,7 +5777,7 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -5791,7 +5791,7 @@ ) (call $alignfault) ) - (i32.load16_u + (i32.load16_u $0 (local.get $2) ) ) @@ -5814,14 +5814,14 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $foo) ) ) ) (call $segfault) ) - (i32.load align=1 + (i32.load $0 align=1 (local.get $2) ) ) @@ -5844,7 +5844,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -5858,7 +5858,7 @@ ) (call $alignfault) ) - (i32.load align=2 + (i32.load $0 align=2 (local.get $2) ) ) @@ -5881,7 +5881,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -5895,7 +5895,7 @@ ) (call $alignfault) ) - (i32.atomic.load + (i32.atomic.load $0 (local.get $2) ) ) @@ -5918,7 +5918,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -5932,7 +5932,7 @@ ) (call $alignfault) ) - (i32.load + (i32.load $0 (local.get $2) ) ) @@ -5955,7 +5955,7 @@ (local.get $2) (i32.const 1) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -5964,7 +5964,7 @@ ) (i64.shr_s (i64.shl - (i64.atomic.load8_u + (i64.atomic.load8_u $0 (local.get $2) ) (i64.const 56) @@ -5991,14 +5991,14 @@ (local.get $2) (i32.const 1) ) - (i32.load + (i32.load $0 (call $foo) ) ) ) (call $segfault) ) - (i64.load8_s + (i64.load8_s $0 (local.get $2) ) ) @@ -6021,14 +6021,14 @@ (local.get $2) (i32.const 1) ) - (i32.load + (i32.load $0 (call $foo) ) ) ) (call $segfault) ) - (i64.atomic.load8_u + (i64.atomic.load8_u $0 (local.get $2) ) ) @@ -6051,14 +6051,14 @@ (local.get $2) (i32.const 1) ) - (i32.load + (i32.load $0 (call $foo) ) ) ) (call $segfault) ) - (i64.load8_u + (i64.load8_u $0 (local.get $2) ) ) @@ -6081,14 +6081,14 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $foo) ) ) ) (call $segfault) ) - (i64.load16_s align=1 + (i64.load16_s $0 align=1 (local.get $2) ) ) @@ -6111,7 +6111,7 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -6127,7 +6127,7 @@ ) (i64.shr_s (i64.shl - (i64.atomic.load16_u + (i64.atomic.load16_u $0 (local.get $2) ) (i64.const 48) @@ -6154,7 +6154,7 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -6168,7 +6168,7 @@ ) (call $alignfault) ) - (i64.load16_s + (i64.load16_s $0 (local.get $2) ) ) @@ -6191,14 +6191,14 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $foo) ) ) ) (call $segfault) ) - (i64.load16_u align=1 + (i64.load16_u $0 align=1 (local.get $2) ) ) @@ -6221,7 +6221,7 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -6235,7 +6235,7 @@ ) (call $alignfault) ) - (i64.atomic.load16_u + (i64.atomic.load16_u $0 (local.get $2) ) ) @@ -6258,7 +6258,7 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -6272,7 +6272,7 @@ ) (call $alignfault) ) - (i64.load16_u + (i64.load16_u $0 (local.get $2) ) ) @@ -6295,14 +6295,14 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $foo) ) ) ) (call $segfault) ) - (i64.load32_s align=1 + (i64.load32_s $0 align=1 (local.get $2) ) ) @@ -6325,7 +6325,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -6339,7 +6339,7 @@ ) (call $alignfault) ) - (i64.load32_s align=2 + (i64.load32_s $0 align=2 (local.get $2) ) ) @@ -6362,7 +6362,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -6378,7 +6378,7 @@ ) (i64.shr_s (i64.shl - (i64.atomic.load32_u + (i64.atomic.load32_u $0 (local.get $2) ) (i64.const 32) @@ -6405,7 +6405,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -6419,7 +6419,7 @@ ) (call $alignfault) ) - (i64.load32_s + (i64.load32_s $0 (local.get $2) ) ) @@ -6442,14 +6442,14 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $foo) ) ) ) (call $segfault) ) - (i64.load32_u align=1 + (i64.load32_u $0 align=1 (local.get $2) ) ) @@ -6472,7 +6472,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -6486,7 +6486,7 @@ ) (call $alignfault) ) - (i64.load32_u align=2 + (i64.load32_u $0 align=2 (local.get $2) ) ) @@ -6509,7 +6509,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -6523,7 +6523,7 @@ ) (call $alignfault) ) - (i64.atomic.load32_u + (i64.atomic.load32_u $0 (local.get $2) ) ) @@ -6546,7 +6546,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -6560,7 +6560,7 @@ ) (call $alignfault) ) - (i64.load32_u + (i64.load32_u $0 (local.get $2) ) ) @@ -6583,14 +6583,14 @@ (local.get $2) (i32.const 8) ) - (i32.load + (i32.load $0 (call $foo) ) ) ) (call $segfault) ) - (i64.load align=1 + (i64.load $0 align=1 (local.get $2) ) ) @@ -6613,7 +6613,7 @@ (local.get $2) (i32.const 8) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -6627,7 +6627,7 @@ ) (call $alignfault) ) - (i64.load align=2 + (i64.load $0 align=2 (local.get $2) ) ) @@ -6650,7 +6650,7 @@ (local.get $2) (i32.const 8) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -6664,7 +6664,7 @@ ) (call $alignfault) ) - (i64.load align=4 + (i64.load $0 align=4 (local.get $2) ) ) @@ -6687,7 +6687,7 @@ (local.get $2) (i32.const 8) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -6701,7 +6701,7 @@ ) (call $alignfault) ) - (i64.atomic.load + (i64.atomic.load $0 (local.get $2) ) ) @@ -6724,7 +6724,7 @@ (local.get $2) (i32.const 8) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -6738,7 +6738,7 @@ ) (call $alignfault) ) - (i64.load + (i64.load $0 (local.get $2) ) ) @@ -6761,14 +6761,14 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $foo) ) ) ) (call $segfault) ) - (f32.load align=1 + (f32.load $0 align=1 (local.get $2) ) ) @@ -6791,7 +6791,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -6805,7 +6805,7 @@ ) (call $alignfault) ) - (f32.load align=2 + (f32.load $0 align=2 (local.get $2) ) ) @@ -6828,7 +6828,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -6842,7 +6842,7 @@ ) (call $alignfault) ) - (f32.load + (f32.load $0 (local.get $2) ) ) @@ -6865,14 +6865,14 @@ (local.get $2) (i32.const 8) ) - (i32.load + (i32.load $0 (call $foo) ) ) ) (call $segfault) ) - (f64.load align=1 + (f64.load $0 align=1 (local.get $2) ) ) @@ -6895,7 +6895,7 @@ (local.get $2) (i32.const 8) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -6909,7 +6909,7 @@ ) (call $alignfault) ) - (f64.load align=2 + (f64.load $0 align=2 (local.get $2) ) ) @@ -6932,7 +6932,7 @@ (local.get $2) (i32.const 8) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -6946,7 +6946,7 @@ ) (call $alignfault) ) - (f64.load align=4 + (f64.load $0 align=4 (local.get $2) ) ) @@ -6969,7 +6969,7 @@ (local.get $2) (i32.const 8) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -6983,7 +6983,7 @@ ) (call $alignfault) ) - (f64.load + (f64.load $0 (local.get $2) ) ) @@ -7006,14 +7006,14 @@ (local.get $2) (i32.const 16) ) - (i32.load + (i32.load $0 (call $foo) ) ) ) (call $segfault) ) - (v128.load align=1 + (v128.load $0 align=1 (local.get $2) ) ) @@ -7036,7 +7036,7 @@ (local.get $2) (i32.const 16) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -7050,7 +7050,7 @@ ) (call $alignfault) ) - (v128.load align=2 + (v128.load $0 align=2 (local.get $2) ) ) @@ -7073,7 +7073,7 @@ (local.get $2) (i32.const 16) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -7087,7 +7087,7 @@ ) (call $alignfault) ) - (v128.load align=4 + (v128.load $0 align=4 (local.get $2) ) ) @@ -7110,7 +7110,7 @@ (local.get $2) (i32.const 16) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -7124,7 +7124,7 @@ ) (call $alignfault) ) - (v128.load align=8 + (v128.load $0 align=8 (local.get $2) ) ) @@ -7147,7 +7147,7 @@ (local.get $2) (i32.const 16) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -7161,7 +7161,7 @@ ) (call $alignfault) ) - (v128.load + (v128.load $0 (local.get $2) ) ) @@ -7184,14 +7184,14 @@ (local.get $3) (i32.const 1) ) - (i32.load + (i32.load $0 (call $foo) ) ) ) (call $segfault) ) - (i32.atomic.store8 + (i32.atomic.store8 $0 (local.get $3) (local.get $2) ) @@ -7215,14 +7215,14 @@ (local.get $3) (i32.const 1) ) - (i32.load + (i32.load $0 (call $foo) ) ) ) (call $segfault) ) - (i32.store8 + (i32.store8 $0 (local.get $3) (local.get $2) ) @@ -7246,14 +7246,14 @@ (local.get $3) (i32.const 2) ) - (i32.load + (i32.load $0 (call $foo) ) ) ) (call $segfault) ) - (i32.store16 align=1 + (i32.store16 $0 align=1 (local.get $3) (local.get $2) ) @@ -7277,7 +7277,7 @@ (local.get $3) (i32.const 2) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -7291,7 +7291,7 @@ ) (call $alignfault) ) - (i32.atomic.store16 + (i32.atomic.store16 $0 (local.get $3) (local.get $2) ) @@ -7315,7 +7315,7 @@ (local.get $3) (i32.const 2) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -7329,7 +7329,7 @@ ) (call $alignfault) ) - (i32.store16 + (i32.store16 $0 (local.get $3) (local.get $2) ) @@ -7353,14 +7353,14 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $foo) ) ) ) (call $segfault) ) - (i32.store align=1 + (i32.store $0 align=1 (local.get $3) (local.get $2) ) @@ -7384,7 +7384,7 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -7398,7 +7398,7 @@ ) (call $alignfault) ) - (i32.store align=2 + (i32.store $0 align=2 (local.get $3) (local.get $2) ) @@ -7422,7 +7422,7 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -7436,7 +7436,7 @@ ) (call $alignfault) ) - (i32.atomic.store + (i32.atomic.store $0 (local.get $3) (local.get $2) ) @@ -7460,7 +7460,7 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -7474,7 +7474,7 @@ ) (call $alignfault) ) - (i32.store + (i32.store $0 (local.get $3) (local.get $2) ) @@ -7498,14 +7498,14 @@ (local.get $3) (i32.const 1) ) - (i32.load + (i32.load $0 (call $foo) ) ) ) (call $segfault) ) - (i64.atomic.store8 + (i64.atomic.store8 $0 (local.get $3) (local.get $2) ) @@ -7529,14 +7529,14 @@ (local.get $3) (i32.const 1) ) - (i32.load + (i32.load $0 (call $foo) ) ) ) (call $segfault) ) - (i64.store8 + (i64.store8 $0 (local.get $3) (local.get $2) ) @@ -7560,14 +7560,14 @@ (local.get $3) (i32.const 2) ) - (i32.load + (i32.load $0 (call $foo) ) ) ) (call $segfault) ) - (i64.store16 align=1 + (i64.store16 $0 align=1 (local.get $3) (local.get $2) ) @@ -7591,7 +7591,7 @@ (local.get $3) (i32.const 2) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -7605,7 +7605,7 @@ ) (call $alignfault) ) - (i64.atomic.store16 + (i64.atomic.store16 $0 (local.get $3) (local.get $2) ) @@ -7629,7 +7629,7 @@ (local.get $3) (i32.const 2) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -7643,7 +7643,7 @@ ) (call $alignfault) ) - (i64.store16 + (i64.store16 $0 (local.get $3) (local.get $2) ) @@ -7667,14 +7667,14 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $foo) ) ) ) (call $segfault) ) - (i64.store32 align=1 + (i64.store32 $0 align=1 (local.get $3) (local.get $2) ) @@ -7698,7 +7698,7 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -7712,7 +7712,7 @@ ) (call $alignfault) ) - (i64.store32 align=2 + (i64.store32 $0 align=2 (local.get $3) (local.get $2) ) @@ -7736,7 +7736,7 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -7750,7 +7750,7 @@ ) (call $alignfault) ) - (i64.atomic.store32 + (i64.atomic.store32 $0 (local.get $3) (local.get $2) ) @@ -7774,7 +7774,7 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -7788,7 +7788,7 @@ ) (call $alignfault) ) - (i64.store32 + (i64.store32 $0 (local.get $3) (local.get $2) ) @@ -7812,14 +7812,14 @@ (local.get $3) (i32.const 8) ) - (i32.load + (i32.load $0 (call $foo) ) ) ) (call $segfault) ) - (i64.store align=1 + (i64.store $0 align=1 (local.get $3) (local.get $2) ) @@ -7843,7 +7843,7 @@ (local.get $3) (i32.const 8) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -7857,7 +7857,7 @@ ) (call $alignfault) ) - (i64.store align=2 + (i64.store $0 align=2 (local.get $3) (local.get $2) ) @@ -7881,7 +7881,7 @@ (local.get $3) (i32.const 8) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -7895,7 +7895,7 @@ ) (call $alignfault) ) - (i64.store align=4 + (i64.store $0 align=4 (local.get $3) (local.get $2) ) @@ -7919,7 +7919,7 @@ (local.get $3) (i32.const 8) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -7933,7 +7933,7 @@ ) (call $alignfault) ) - (i64.atomic.store + (i64.atomic.store $0 (local.get $3) (local.get $2) ) @@ -7957,7 +7957,7 @@ (local.get $3) (i32.const 8) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -7971,7 +7971,7 @@ ) (call $alignfault) ) - (i64.store + (i64.store $0 (local.get $3) (local.get $2) ) @@ -7995,14 +7995,14 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $foo) ) ) ) (call $segfault) ) - (f32.store align=1 + (f32.store $0 align=1 (local.get $3) (local.get $2) ) @@ -8026,7 +8026,7 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -8040,7 +8040,7 @@ ) (call $alignfault) ) - (f32.store align=2 + (f32.store $0 align=2 (local.get $3) (local.get $2) ) @@ -8064,7 +8064,7 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -8078,7 +8078,7 @@ ) (call $alignfault) ) - (f32.store + (f32.store $0 (local.get $3) (local.get $2) ) @@ -8102,14 +8102,14 @@ (local.get $3) (i32.const 8) ) - (i32.load + (i32.load $0 (call $foo) ) ) ) (call $segfault) ) - (f64.store align=1 + (f64.store $0 align=1 (local.get $3) (local.get $2) ) @@ -8133,7 +8133,7 @@ (local.get $3) (i32.const 8) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -8147,7 +8147,7 @@ ) (call $alignfault) ) - (f64.store align=2 + (f64.store $0 align=2 (local.get $3) (local.get $2) ) @@ -8171,7 +8171,7 @@ (local.get $3) (i32.const 8) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -8185,7 +8185,7 @@ ) (call $alignfault) ) - (f64.store align=4 + (f64.store $0 align=4 (local.get $3) (local.get $2) ) @@ -8209,7 +8209,7 @@ (local.get $3) (i32.const 8) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -8223,7 +8223,7 @@ ) (call $alignfault) ) - (f64.store + (f64.store $0 (local.get $3) (local.get $2) ) @@ -8247,14 +8247,14 @@ (local.get $3) (i32.const 16) ) - (i32.load + (i32.load $0 (call $foo) ) ) ) (call $segfault) ) - (v128.store align=1 + (v128.store $0 align=1 (local.get $3) (local.get $2) ) @@ -8278,7 +8278,7 @@ (local.get $3) (i32.const 16) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -8292,7 +8292,7 @@ ) (call $alignfault) ) - (v128.store align=2 + (v128.store $0 align=2 (local.get $3) (local.get $2) ) @@ -8316,7 +8316,7 @@ (local.get $3) (i32.const 16) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -8330,7 +8330,7 @@ ) (call $alignfault) ) - (v128.store align=4 + (v128.store $0 align=4 (local.get $3) (local.get $2) ) @@ -8354,7 +8354,7 @@ (local.get $3) (i32.const 16) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -8368,7 +8368,7 @@ ) (call $alignfault) ) - (v128.store align=8 + (v128.store $0 align=8 (local.get $3) (local.get $2) ) @@ -8392,7 +8392,7 @@ (local.get $3) (i32.const 16) ) - (i32.load + (i32.load $0 (call $foo) ) ) @@ -8406,7 +8406,7 @@ ) (call $alignfault) ) - (v128.store + (v128.store $0 (local.get $3) (local.get $2) ) diff --git a/test/passes/safe-heap_start-function.txt b/test/passes/safe-heap_start-function.txt index 7670530cc84..26b915bcb65 100644 --- a/test/passes/safe-heap_start-function.txt +++ b/test/passes/safe-heap_start-function.txt @@ -15,8 +15,8 @@ (memory $0 1 1) (start $mystart) (func $mystart - (i32.store - (i32.load + (i32.store $0 + (i32.load $0 (i32.const 42) ) (i32.const 43) @@ -24,8 +24,8 @@ (call $foo) ) (func $foo - (i32.store - (i32.load + (i32.store $0 + (i32.load $0 (i32.const 1234) ) (i32.const 5678) @@ -33,8 +33,8 @@ (call $foo2) ) (func $foo2 - (i32.store - (i32.load + (i32.store $0 + (i32.load $0 (i32.const 98) ) (i32.const 99) @@ -69,14 +69,14 @@ (local.get $2) (i32.const 1) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load8_s + (i32.load8_s $0 (local.get $2) ) ) @@ -99,14 +99,14 @@ (local.get $2) (i32.const 1) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load8_u + (i32.load8_u $0 (local.get $2) ) ) @@ -129,14 +129,14 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load16_s align=1 + (i32.load16_s $0 align=1 (local.get $2) ) ) @@ -159,7 +159,7 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -173,7 +173,7 @@ ) (call $alignfault) ) - (i32.load16_s + (i32.load16_s $0 (local.get $2) ) ) @@ -196,14 +196,14 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load16_u align=1 + (i32.load16_u $0 align=1 (local.get $2) ) ) @@ -226,7 +226,7 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -240,7 +240,7 @@ ) (call $alignfault) ) - (i32.load16_u + (i32.load16_u $0 (local.get $2) ) ) @@ -263,14 +263,14 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load align=1 + (i32.load $0 align=1 (local.get $2) ) ) @@ -293,7 +293,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -307,7 +307,7 @@ ) (call $alignfault) ) - (i32.load align=2 + (i32.load $0 align=2 (local.get $2) ) ) @@ -330,7 +330,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -344,7 +344,7 @@ ) (call $alignfault) ) - (i32.load + (i32.load $0 (local.get $2) ) ) @@ -367,14 +367,14 @@ (local.get $2) (i32.const 1) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load8_s + (i64.load8_s $0 (local.get $2) ) ) @@ -397,14 +397,14 @@ (local.get $2) (i32.const 1) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load8_u + (i64.load8_u $0 (local.get $2) ) ) @@ -427,14 +427,14 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load16_s align=1 + (i64.load16_s $0 align=1 (local.get $2) ) ) @@ -457,7 +457,7 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -471,7 +471,7 @@ ) (call $alignfault) ) - (i64.load16_s + (i64.load16_s $0 (local.get $2) ) ) @@ -494,14 +494,14 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load16_u align=1 + (i64.load16_u $0 align=1 (local.get $2) ) ) @@ -524,7 +524,7 @@ (local.get $2) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -538,7 +538,7 @@ ) (call $alignfault) ) - (i64.load16_u + (i64.load16_u $0 (local.get $2) ) ) @@ -561,14 +561,14 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load32_s align=1 + (i64.load32_s $0 align=1 (local.get $2) ) ) @@ -591,7 +591,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -605,7 +605,7 @@ ) (call $alignfault) ) - (i64.load32_s align=2 + (i64.load32_s $0 align=2 (local.get $2) ) ) @@ -628,7 +628,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -642,7 +642,7 @@ ) (call $alignfault) ) - (i64.load32_s + (i64.load32_s $0 (local.get $2) ) ) @@ -665,14 +665,14 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load32_u align=1 + (i64.load32_u $0 align=1 (local.get $2) ) ) @@ -695,7 +695,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -709,7 +709,7 @@ ) (call $alignfault) ) - (i64.load32_u align=2 + (i64.load32_u $0 align=2 (local.get $2) ) ) @@ -732,7 +732,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -746,7 +746,7 @@ ) (call $alignfault) ) - (i64.load32_u + (i64.load32_u $0 (local.get $2) ) ) @@ -769,14 +769,14 @@ (local.get $2) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load align=1 + (i64.load $0 align=1 (local.get $2) ) ) @@ -799,7 +799,7 @@ (local.get $2) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -813,7 +813,7 @@ ) (call $alignfault) ) - (i64.load align=2 + (i64.load $0 align=2 (local.get $2) ) ) @@ -836,7 +836,7 @@ (local.get $2) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -850,7 +850,7 @@ ) (call $alignfault) ) - (i64.load align=4 + (i64.load $0 align=4 (local.get $2) ) ) @@ -873,7 +873,7 @@ (local.get $2) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -887,7 +887,7 @@ ) (call $alignfault) ) - (i64.load + (i64.load $0 (local.get $2) ) ) @@ -910,14 +910,14 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (f32.load align=1 + (f32.load $0 align=1 (local.get $2) ) ) @@ -940,7 +940,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -954,7 +954,7 @@ ) (call $alignfault) ) - (f32.load align=2 + (f32.load $0 align=2 (local.get $2) ) ) @@ -977,7 +977,7 @@ (local.get $2) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -991,7 +991,7 @@ ) (call $alignfault) ) - (f32.load + (f32.load $0 (local.get $2) ) ) @@ -1014,14 +1014,14 @@ (local.get $2) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (f64.load align=1 + (f64.load $0 align=1 (local.get $2) ) ) @@ -1044,7 +1044,7 @@ (local.get $2) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1058,7 +1058,7 @@ ) (call $alignfault) ) - (f64.load align=2 + (f64.load $0 align=2 (local.get $2) ) ) @@ -1081,7 +1081,7 @@ (local.get $2) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1095,7 +1095,7 @@ ) (call $alignfault) ) - (f64.load align=4 + (f64.load $0 align=4 (local.get $2) ) ) @@ -1118,7 +1118,7 @@ (local.get $2) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1132,7 +1132,7 @@ ) (call $alignfault) ) - (f64.load + (f64.load $0 (local.get $2) ) ) @@ -1155,14 +1155,14 @@ (local.get $3) (i32.const 1) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.store8 + (i32.store8 $0 (local.get $3) (local.get $2) ) @@ -1186,14 +1186,14 @@ (local.get $3) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.store16 align=1 + (i32.store16 $0 align=1 (local.get $3) (local.get $2) ) @@ -1217,7 +1217,7 @@ (local.get $3) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1231,7 +1231,7 @@ ) (call $alignfault) ) - (i32.store16 + (i32.store16 $0 (local.get $3) (local.get $2) ) @@ -1255,14 +1255,14 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.store align=1 + (i32.store $0 align=1 (local.get $3) (local.get $2) ) @@ -1286,7 +1286,7 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1300,7 +1300,7 @@ ) (call $alignfault) ) - (i32.store align=2 + (i32.store $0 align=2 (local.get $3) (local.get $2) ) @@ -1324,7 +1324,7 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1338,7 +1338,7 @@ ) (call $alignfault) ) - (i32.store + (i32.store $0 (local.get $3) (local.get $2) ) @@ -1362,14 +1362,14 @@ (local.get $3) (i32.const 1) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.store8 + (i64.store8 $0 (local.get $3) (local.get $2) ) @@ -1393,14 +1393,14 @@ (local.get $3) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.store16 align=1 + (i64.store16 $0 align=1 (local.get $3) (local.get $2) ) @@ -1424,7 +1424,7 @@ (local.get $3) (i32.const 2) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1438,7 +1438,7 @@ ) (call $alignfault) ) - (i64.store16 + (i64.store16 $0 (local.get $3) (local.get $2) ) @@ -1462,14 +1462,14 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.store32 align=1 + (i64.store32 $0 align=1 (local.get $3) (local.get $2) ) @@ -1493,7 +1493,7 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1507,7 +1507,7 @@ ) (call $alignfault) ) - (i64.store32 align=2 + (i64.store32 $0 align=2 (local.get $3) (local.get $2) ) @@ -1531,7 +1531,7 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1545,7 +1545,7 @@ ) (call $alignfault) ) - (i64.store32 + (i64.store32 $0 (local.get $3) (local.get $2) ) @@ -1569,14 +1569,14 @@ (local.get $3) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.store align=1 + (i64.store $0 align=1 (local.get $3) (local.get $2) ) @@ -1600,7 +1600,7 @@ (local.get $3) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1614,7 +1614,7 @@ ) (call $alignfault) ) - (i64.store align=2 + (i64.store $0 align=2 (local.get $3) (local.get $2) ) @@ -1638,7 +1638,7 @@ (local.get $3) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1652,7 +1652,7 @@ ) (call $alignfault) ) - (i64.store align=4 + (i64.store $0 align=4 (local.get $3) (local.get $2) ) @@ -1676,7 +1676,7 @@ (local.get $3) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1690,7 +1690,7 @@ ) (call $alignfault) ) - (i64.store + (i64.store $0 (local.get $3) (local.get $2) ) @@ -1714,14 +1714,14 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (f32.store align=1 + (f32.store $0 align=1 (local.get $3) (local.get $2) ) @@ -1745,7 +1745,7 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1759,7 +1759,7 @@ ) (call $alignfault) ) - (f32.store align=2 + (f32.store $0 align=2 (local.get $3) (local.get $2) ) @@ -1783,7 +1783,7 @@ (local.get $3) (i32.const 4) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1797,7 +1797,7 @@ ) (call $alignfault) ) - (f32.store + (f32.store $0 (local.get $3) (local.get $2) ) @@ -1821,14 +1821,14 @@ (local.get $3) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (f64.store align=1 + (f64.store $0 align=1 (local.get $3) (local.get $2) ) @@ -1852,7 +1852,7 @@ (local.get $3) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1866,7 +1866,7 @@ ) (call $alignfault) ) - (f64.store align=2 + (f64.store $0 align=2 (local.get $3) (local.get $2) ) @@ -1890,7 +1890,7 @@ (local.get $3) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1904,7 +1904,7 @@ ) (call $alignfault) ) - (f64.store align=4 + (f64.store $0 align=4 (local.get $3) (local.get $2) ) @@ -1928,7 +1928,7 @@ (local.get $3) (i32.const 8) ) - (i32.load + (i32.load $0 (call $emscripten_get_sbrk_ptr) ) ) @@ -1942,7 +1942,7 @@ ) (call $alignfault) ) - (f64.store + (f64.store $0 (local.get $3) (local.get $2) ) diff --git a/test/passes/simplify-locals-nostructure.txt b/test/passes/simplify-locals-nostructure.txt index 2293f1147b2..3d9a1305e46 100644 --- a/test/passes/simplify-locals-nostructure.txt +++ b/test/passes/simplify-locals-nostructure.txt @@ -75,7 +75,7 @@ (f64.const -nan:0xfffffffffffc3) ) ) - (f32.store align=1 + (f32.store $0 align=1 (i32.const 22) (f32.const 154) ) @@ -105,12 +105,12 @@ (func $multi-pass-get-equivs-right (param $var$0 i32) (param $var$1 i32) (result f64) (local $var$2 i32) (nop) - (i32.store + (i32.store $0 (local.get $var$0) (i32.const 1) ) (f64.promote_f32 - (f32.load + (f32.load $0 (local.get $var$0) ) ) diff --git a/test/passes/simplify-locals_all-features.txt b/test/passes/simplify-locals_all-features.txt index 0c25ea54bc9..bdcedd0d8d8 100644 --- a/test/passes/simplify-locals_all-features.txt +++ b/test/passes/simplify-locals_all-features.txt @@ -183,7 +183,7 @@ (nop) (nop) (drop - (i32.load + (i32.load $0 (i32.const 24) ) ) @@ -201,7 +201,7 @@ ) (nop) (nop) - (i32.store + (i32.store $0 (i32.const 48) (i32.const 96) ) @@ -230,7 +230,7 @@ (call $waka_int) ) (drop - (i32.load + (i32.load $0 (i32.const 1) ) ) @@ -241,7 +241,7 @@ (local.set $a (call $waka_int) ) - (i32.store + (i32.store $0 (i32.const 1) (i32.const 2) ) @@ -251,25 +251,25 @@ (call $waka) (nop) (local.set $a - (i32.load + (i32.load $0 (i32.const 100) ) ) (call $waka) (nop) (drop - (i32.load + (i32.load $0 (i32.const 1) ) ) (local.set $a - (i32.load + (i32.load $0 (i32.const 101) ) ) (call $waka) (local.set $a - (i32.load + (i32.load $0 (i32.const 102) ) ) @@ -279,11 +279,11 @@ ) (call $waka) (local.set $a - (i32.load + (i32.load $0 (i32.const 103) ) ) - (i32.store + (i32.store $0 (i32.const 1) (i32.const 2) ) @@ -296,7 +296,7 @@ (block $block (result i32) (block $block5 (nop) - (i32.store + (i32.store $0 (i32.const 104) (local.tee $5 (i32.const 105) @@ -311,7 +311,7 @@ (block $block6 (result i32) (block $block7 (nop) - (i32.store + (i32.store $0 (i32.const 106) (local.tee $6 (i32.const 107) @@ -330,7 +330,7 @@ (block $block8 (result i32) (block $block9 (nop) - (i32.store + (i32.store $0 (i32.const 108) (local.tee $7 (i32.const 109) @@ -341,7 +341,7 @@ ) ) (drop - (i32.load + (i32.load $0 (i32.const 1) ) ) @@ -353,7 +353,7 @@ (block $block10 (result i32) (block $block11 (nop) - (i32.store + (i32.store $0 (i32.const 110) (local.tee $8 (i32.const 111) @@ -363,7 +363,7 @@ (local.get $8) ) ) - (i32.store + (i32.store $0 (i32.const 1) (i32.const 2) ) @@ -420,19 +420,19 @@ (func $memories (param $i2 i32) (param $i3 i32) (param $bi2 i32) (param $bi3 i32) (param $ci3 i32) (param $di3 i32) (local $set_with_no_get i32) (nop) - (i32.store8 + (i32.store8 $0 (local.get $i2) (i32.const 1) ) (nop) - (i32.store8 + (i32.store8 $0 (local.tee $bi3 (i32.const 1) ) (local.get $bi3) ) (nop) - (i32.store8 + (i32.store8 $0 (local.get $bi3) (local.get $bi3) ) @@ -441,7 +441,7 @@ (i32.const 123) ) ) - (i32.store8 + (i32.store8 $0 (local.get $bi3) (local.get $di3) ) @@ -460,14 +460,14 @@ (local $$10$0 i32) (local $$6$0 i32) (local.set $__stackBase__ - (i32.load + (i32.load $0 (i32.const 8) ) ) - (i32.store + (i32.store $0 (i32.const 8) (i32.add - (i32.load + (i32.load $0 (i32.const 8) ) (i32.const 16) @@ -582,7 +582,7 @@ (local.get $$1$0) (local.get $$1$1) ) - (i32.load + (i32.load $0 (i32.const 168) ) (call $_i64Subtract @@ -597,7 +597,7 @@ (local.get $$2$0) (local.get $$2$1) ) - (i32.load + (i32.load $0 (i32.const 168) ) (local.get $$rem) @@ -606,13 +606,13 @@ (local.set $$10$0 (call $_i64Subtract (i32.xor - (i32.load + (i32.load $0 (local.get $$rem) ) (local.get $$1$0) ) (i32.xor - (i32.load offset=4 + (i32.load $0 offset=4 (local.get $$rem) ) (local.get $$1$1) @@ -622,17 +622,17 @@ ) ) (local.set $$10$1 - (i32.load + (i32.load $0 (i32.const 168) ) ) - (i32.store + (i32.store $0 (i32.const 8) (local.get $__stackBase__) ) (return (block $block12 (result i32) - (i32.store + (i32.store $0 (i32.const 168) (local.get $$10$1) ) @@ -726,11 +726,11 @@ (local.get $p) ) (local.set $p - (i32.load + (i32.load $0 (i32.const 0) ) ) - (i32.store + (i32.store $0 (local.get $r) (local.get $t) ) @@ -1141,25 +1141,25 @@ (local $x i32) (nop) (drop - (i32.load + (i32.load $0 (i32.const 1028) ) ) - (i32.load + (i32.load $0 (i32.const 1024) ) ) (func $nonatomic-growmem (result i32) (local $x i32) (local.set $x - (i32.load - (memory.grow + (i32.load $0 + (memory.grow $0 (i32.const 1) ) ) ) (drop - (i32.load + (i32.load $0 (i32.const 1028) ) ) @@ -1168,12 +1168,12 @@ (func $atomics (local $x i32) (local.set $x - (i32.atomic.load + (i32.atomic.load $0 (i32.const 1024) ) ) (drop - (i32.atomic.load + (i32.atomic.load $0 (i32.const 1028) ) ) @@ -1184,12 +1184,12 @@ (func $one-atomic (local $x i32) (local.set $x - (i32.load + (i32.load $0 (i32.const 1024) ) ) (drop - (i32.atomic.load + (i32.atomic.load $0 (i32.const 1028) ) ) @@ -1200,12 +1200,12 @@ (func $other-atomic (local $x i32) (local.set $x - (i32.atomic.load + (i32.atomic.load $0 (i32.const 1024) ) ) (drop - (i32.load + (i32.load $0 (i32.const 1028) ) ) @@ -1216,14 +1216,14 @@ (func $atomic-growmem (result i32) (local $x i32) (local.set $x - (i32.load - (memory.grow + (i32.load $0 + (memory.grow $0 (i32.const 1) ) ) ) (drop - (i32.atomic.load + (i32.atomic.load $0 (i32.const 1028) ) ) @@ -1232,13 +1232,13 @@ (func $atomicrmw (local $x i32) (local.set $x - (i32.atomic.rmw.add + (i32.atomic.rmw.add $0 (i32.const 1024) (i32.const 1) ) ) (drop - (i32.atomic.load + (i32.atomic.load $0 (i32.const 1028) ) ) @@ -1249,14 +1249,14 @@ (func $atomic-cmpxchg (local $x i32) (local.set $x - (i32.atomic.rmw.cmpxchg + (i32.atomic.rmw.cmpxchg $0 (i32.const 1024) (i32.const 1) (i32.const 2) ) ) (drop - (i32.atomic.load + (i32.atomic.load $0 (i32.const 1028) ) ) @@ -1595,12 +1595,12 @@ (func $multi-pass-get-equivs-right (param $var$0 i32) (param $var$1 i32) (result f64) (local $var$2 i32) (nop) - (i32.store + (i32.store $0 (local.get $var$0) (i32.const 1) ) (f64.promote_f32 - (f32.load + (f32.load $0 (local.get $var$0) ) ) @@ -1730,11 +1730,11 @@ (func $memory-init-load (local $x i32) (local.set $x - (i32.load + (i32.load $0 (i32.const 0) ) ) - (memory.init 0 + (memory.init $0 0 (i32.const 0) (i32.const 0) (i32.const 5) @@ -1747,14 +1747,14 @@ (local $x i32) (local.set $x (block $block (result i32) - (i32.store + (i32.store $0 (i32.const 0) (i32.const 42) ) (i32.const 0) ) ) - (memory.init 0 + (memory.init $0 0 (i32.const 0) (i32.const 0) (i32.const 5) @@ -1766,11 +1766,11 @@ (func $memory-copy-load (local $x i32) (local.set $x - (i32.load + (i32.load $0 (i32.const 0) ) ) - (memory.copy + (memory.copy $0 $0 (i32.const 0) (i32.const 8) (i32.const 8) @@ -1783,14 +1783,14 @@ (local $x i32) (local.set $x (block $block (result i32) - (i32.store + (i32.store $0 (i32.const 0) (i32.const 42) ) (i32.const 0) ) ) - (memory.copy + (memory.copy $0 $0 (i32.const 0) (i32.const 8) (i32.const 8) @@ -1802,11 +1802,11 @@ (func $memory-fill-load (local $x i32) (local.set $x - (i32.load + (i32.load $0 (i32.const 0) ) ) - (memory.fill + (memory.fill $0 (i32.const 0) (i32.const 42) (i32.const 8) @@ -1819,14 +1819,14 @@ (local $x i32) (local.set $x (block $block (result i32) - (i32.store + (i32.store $0 (i32.const 0) (i32.const 42) ) (i32.const 0) ) ) - (memory.fill + (memory.fill $0 (i32.const 0) (i32.const 8) (i32.const 8) @@ -1838,7 +1838,7 @@ (func $data-drop-load (local $x i32) (local.set $x - (i32.load + (i32.load $0 (i32.const 0) ) ) @@ -1851,7 +1851,7 @@ (local $x i32) (local.set $x (block $block (result i32) - (i32.store + (i32.store $0 (i32.const 0) (i32.const 42) ) @@ -1867,7 +1867,7 @@ (local $x i32) (local.set $x (block $block (result i32) - (memory.init 0 + (memory.init $0 0 (i32.const 0) (i32.const 0) (i32.const 5) diff --git a/test/passes/simplify-locals_all-features_disable-exception-handling.txt b/test/passes/simplify-locals_all-features_disable-exception-handling.txt index 2f8825c728f..1e7876fc0cc 100644 --- a/test/passes/simplify-locals_all-features_disable-exception-handling.txt +++ b/test/passes/simplify-locals_all-features_disable-exception-handling.txt @@ -179,7 +179,7 @@ (nop) (nop) (drop - (i32.load + (i32.load $0 (i32.const 24) ) ) @@ -197,7 +197,7 @@ ) (nop) (nop) - (i32.store + (i32.store $0 (i32.const 48) (i32.const 96) ) @@ -224,7 +224,7 @@ (call $waka_int) ) (drop - (i32.load + (i32.load $0 (i32.const 1) ) ) @@ -235,7 +235,7 @@ (local.set $a (call $waka_int) ) - (i32.store + (i32.store $0 (i32.const 1) (i32.const 2) ) @@ -245,25 +245,25 @@ (call $waka) (nop) (local.set $a - (i32.load + (i32.load $0 (i32.const 100) ) ) (call $waka) (nop) (drop - (i32.load + (i32.load $0 (i32.const 1) ) ) (local.set $a - (i32.load + (i32.load $0 (i32.const 101) ) ) (call $waka) (local.set $a - (i32.load + (i32.load $0 (i32.const 102) ) ) @@ -273,11 +273,11 @@ ) (call $waka) (local.set $a - (i32.load + (i32.load $0 (i32.const 103) ) ) - (i32.store + (i32.store $0 (i32.const 1) (i32.const 2) ) @@ -290,7 +290,7 @@ (block $block (result i32) (block $block5 (nop) - (i32.store + (i32.store $0 (i32.const 104) (local.tee $5 (i32.const 105) @@ -305,7 +305,7 @@ (block $block6 (result i32) (block $block7 (nop) - (i32.store + (i32.store $0 (i32.const 106) (local.tee $6 (i32.const 107) @@ -324,7 +324,7 @@ (block $block8 (result i32) (block $block9 (nop) - (i32.store + (i32.store $0 (i32.const 108) (local.tee $7 (i32.const 109) @@ -335,7 +335,7 @@ ) ) (drop - (i32.load + (i32.load $0 (i32.const 1) ) ) @@ -347,7 +347,7 @@ (block $block10 (result i32) (block $block11 (nop) - (i32.store + (i32.store $0 (i32.const 110) (local.tee $8 (i32.const 111) @@ -357,7 +357,7 @@ (local.get $8) ) ) - (i32.store + (i32.store $0 (i32.const 1) (i32.const 2) ) @@ -414,19 +414,19 @@ (func $memories (param $i2 i32) (param $i3 i32) (param $bi2 i32) (param $bi3 i32) (param $ci3 i32) (param $di3 i32) (local $set_with_no_get i32) (nop) - (i32.store8 + (i32.store8 $0 (local.get $i2) (i32.const 1) ) (nop) - (i32.store8 + (i32.store8 $0 (local.tee $bi3 (i32.const 1) ) (local.get $bi3) ) (nop) - (i32.store8 + (i32.store8 $0 (local.get $bi3) (local.get $bi3) ) @@ -435,7 +435,7 @@ (i32.const 123) ) ) - (i32.store8 + (i32.store8 $0 (local.get $bi3) (local.get $di3) ) @@ -454,14 +454,14 @@ (local $$10$0 i32) (local $$6$0 i32) (local.set $__stackBase__ - (i32.load + (i32.load $0 (i32.const 8) ) ) - (i32.store + (i32.store $0 (i32.const 8) (i32.add - (i32.load + (i32.load $0 (i32.const 8) ) (i32.const 16) @@ -533,7 +533,7 @@ (local.get $$1$0) (local.get $$1$1) ) - (i32.load + (i32.load $0 (i32.const 168) ) (call $_i64Subtract @@ -591,7 +591,7 @@ (local.get $$2$0) (local.get $$2$1) ) - (i32.load + (i32.load $0 (i32.const 168) ) (local.get $$rem) @@ -600,13 +600,13 @@ (local.set $$10$0 (call $_i64Subtract (i32.xor - (i32.load + (i32.load $0 (local.get $$rem) ) (local.get $$1$0) ) (i32.xor - (i32.load offset=4 + (i32.load $0 offset=4 (local.get $$rem) ) (local.get $$1$1) @@ -616,17 +616,17 @@ ) ) (local.set $$10$1 - (i32.load + (i32.load $0 (i32.const 168) ) ) - (i32.store + (i32.store $0 (i32.const 8) (local.get $__stackBase__) ) (return (block $block12 (result i32) - (i32.store + (i32.store $0 (i32.const 168) (local.get $$10$1) ) @@ -720,11 +720,11 @@ (local.get $p) ) (local.set $p - (i32.load + (i32.load $0 (i32.const 0) ) ) - (i32.store + (i32.store $0 (local.get $r) (local.get $t) ) @@ -1135,25 +1135,25 @@ (local $x i32) (nop) (drop - (i32.load + (i32.load $0 (i32.const 1028) ) ) - (i32.load + (i32.load $0 (i32.const 1024) ) ) (func $nonatomic-growmem (result i32) (local $x i32) (local.set $x - (i32.load - (memory.grow + (i32.load $0 + (memory.grow $0 (i32.const 1) ) ) ) (drop - (i32.load + (i32.load $0 (i32.const 1028) ) ) @@ -1162,12 +1162,12 @@ (func $atomics (local $x i32) (local.set $x - (i32.atomic.load + (i32.atomic.load $0 (i32.const 1024) ) ) (drop - (i32.atomic.load + (i32.atomic.load $0 (i32.const 1028) ) ) @@ -1178,12 +1178,12 @@ (func $one-atomic (local $x i32) (local.set $x - (i32.load + (i32.load $0 (i32.const 1024) ) ) (drop - (i32.atomic.load + (i32.atomic.load $0 (i32.const 1028) ) ) @@ -1194,12 +1194,12 @@ (func $other-atomic (local $x i32) (local.set $x - (i32.atomic.load + (i32.atomic.load $0 (i32.const 1024) ) ) (drop - (i32.load + (i32.load $0 (i32.const 1028) ) ) @@ -1210,14 +1210,14 @@ (func $atomic-growmem (result i32) (local $x i32) (local.set $x - (i32.load - (memory.grow + (i32.load $0 + (memory.grow $0 (i32.const 1) ) ) ) (drop - (i32.atomic.load + (i32.atomic.load $0 (i32.const 1028) ) ) @@ -1226,13 +1226,13 @@ (func $atomicrmw (local $x i32) (local.set $x - (i32.atomic.rmw.add + (i32.atomic.rmw.add $0 (i32.const 1024) (i32.const 1) ) ) (drop - (i32.atomic.load + (i32.atomic.load $0 (i32.const 1028) ) ) @@ -1243,14 +1243,14 @@ (func $atomic-cmpxchg (local $x i32) (local.set $x - (i32.atomic.rmw.cmpxchg + (i32.atomic.rmw.cmpxchg $0 (i32.const 1024) (i32.const 1) (i32.const 2) ) ) (drop - (i32.atomic.load + (i32.atomic.load $0 (i32.const 1028) ) ) @@ -1589,12 +1589,12 @@ (func $multi-pass-get-equivs-right (param $var$0 i32) (param $var$1 i32) (result f64) (local $var$2 i32) (nop) - (i32.store + (i32.store $0 (local.get $var$0) (i32.const 1) ) (f64.promote_f32 - (f32.load + (f32.load $0 (local.get $var$0) ) ) @@ -1724,11 +1724,11 @@ (func $memory-init-load (local $x i32) (local.set $x - (i32.load + (i32.load $0 (i32.const 0) ) ) - (memory.init 0 + (memory.init $0 0 (i32.const 0) (i32.const 0) (i32.const 5) @@ -1741,14 +1741,14 @@ (local $x i32) (local.set $x (block $block (result i32) - (i32.store + (i32.store $0 (i32.const 0) (i32.const 42) ) (i32.const 0) ) ) - (memory.init 0 + (memory.init $0 0 (i32.const 0) (i32.const 0) (i32.const 5) @@ -1760,11 +1760,11 @@ (func $memory-copy-load (local $x i32) (local.set $x - (i32.load + (i32.load $0 (i32.const 0) ) ) - (memory.copy + (memory.copy $0 $0 (i32.const 0) (i32.const 8) (i32.const 8) @@ -1777,14 +1777,14 @@ (local $x i32) (local.set $x (block $block (result i32) - (i32.store + (i32.store $0 (i32.const 0) (i32.const 42) ) (i32.const 0) ) ) - (memory.copy + (memory.copy $0 $0 (i32.const 0) (i32.const 8) (i32.const 8) @@ -1796,11 +1796,11 @@ (func $memory-fill-load (local $x i32) (local.set $x - (i32.load + (i32.load $0 (i32.const 0) ) ) - (memory.fill + (memory.fill $0 (i32.const 0) (i32.const 42) (i32.const 8) @@ -1813,14 +1813,14 @@ (local $x i32) (local.set $x (block $block (result i32) - (i32.store + (i32.store $0 (i32.const 0) (i32.const 42) ) (i32.const 0) ) ) - (memory.fill + (memory.fill $0 (i32.const 0) (i32.const 8) (i32.const 8) @@ -1832,7 +1832,7 @@ (func $data-drop-load (local $x i32) (local.set $x - (i32.load + (i32.load $0 (i32.const 0) ) ) @@ -1845,7 +1845,7 @@ (local $x i32) (local.set $x (block $block (result i32) - (i32.store + (i32.store $0 (i32.const 0) (i32.const 42) ) @@ -1861,7 +1861,7 @@ (local $x i32) (local.set $x (block $block (result i32) - (memory.init 0 + (memory.init $0 0 (i32.const 0) (i32.const 0) (i32.const 5) diff --git a/test/passes/spill-pointers.txt b/test/passes/spill-pointers.txt index dcd8b2cbfdc..348cb633c44 100644 --- a/test/passes/spill-pointers.txt +++ b/test/passes/spill-pointers.txt @@ -35,7 +35,7 @@ ) (block (block - (i32.store + (i32.store $0 (local.get $1) (local.get $x) ) @@ -78,7 +78,7 @@ (f64.const 1) ) (block - (i32.store + (i32.store $0 (local.get $4) (local.get $x) ) @@ -130,19 +130,19 @@ (i32.const 1) ) (block - (i32.store + (i32.store $0 (local.get $4) (local.get $x) ) - (i32.store offset=4 + (i32.store $0 offset=4 (local.get $4) (local.get $y) ) - (i32.store offset=8 + (i32.store $0 offset=8 (local.get $4) (local.get $z) ) - (i32.store offset=12 + (i32.store $0 offset=12 (local.get $4) (local.get $w) ) @@ -198,23 +198,23 @@ (i32.const 1) ) (block - (i32.store + (i32.store $0 (local.get $5) (local.get $x) ) - (i32.store offset=4 + (i32.store $0 offset=4 (local.get $5) (local.get $y) ) - (i32.store offset=8 + (i32.store $0 offset=8 (local.get $5) (local.get $z) ) - (i32.store offset=12 + (i32.store $0 offset=12 (local.get $5) (local.get $w) ) - (i32.store offset=16 + (i32.store $0 offset=16 (local.get $5) (local.get $a) ) @@ -255,7 +255,7 @@ ) (block (block - (i32.store + (i32.store $0 (local.get $2) (local.get $x) ) @@ -291,7 +291,7 @@ (local.set $5 (i32.const 2) ) - (i32.store offset=8 + (i32.store $0 offset=8 (local.get $3) (local.get $x) ) @@ -326,7 +326,7 @@ (local.set $4 (block (result i32) (block - (i32.store + (i32.store $0 (local.get $1) (local.get $x) ) @@ -384,7 +384,7 @@ (local.set $2 (block (result i32) (block - (i32.store + (i32.store $0 (local.get $1) (local.get $x) ) @@ -428,7 +428,7 @@ (local.set $4 (i32.const 1) ) - (i32.store offset=4 + (i32.store $0 offset=4 (local.get $2) (local.get $x) ) @@ -437,7 +437,7 @@ ) ) ) - (i32.store offset=4 + (i32.store $0 offset=4 (local.get $2) (local.get $x) ) @@ -493,7 +493,7 @@ (local.set $3 (block (result i32) (block - (i32.store + (i32.store $0 (local.get $1) (local.get $x) ) @@ -548,7 +548,7 @@ (local.set $3 (f64.const 1) ) - (i32.store + (i32.store $0 (local.get $2) (local.get $x) ) @@ -590,7 +590,7 @@ (local.set $4 (i32.const 789) ) - (i32.store + (i32.store $0 (local.get $1) (local.get $x) ) @@ -626,7 +626,7 @@ (local.set $2 (i32.const 200) ) - (i32.store + (i32.store $0 (local.get $1) (local.get $x) ) @@ -683,7 +683,7 @@ ) (block (block - (i32.store + (i32.store $0 (local.get $1) (local.get $x) ) @@ -726,7 +726,7 @@ (f64.const 1) ) (block - (i32.store + (i32.store $0 (local.get $4) (local.get $x) ) @@ -778,19 +778,19 @@ (i32.const 1) ) (block - (i32.store + (i32.store $0 (local.get $4) (local.get $x) ) - (i32.store offset=4 + (i32.store $0 offset=4 (local.get $4) (local.get $y) ) - (i32.store offset=8 + (i32.store $0 offset=8 (local.get $4) (local.get $z) ) - (i32.store offset=12 + (i32.store $0 offset=12 (local.get $4) (local.get $w) ) @@ -846,23 +846,23 @@ (i32.const 1) ) (block - (i32.store + (i32.store $0 (local.get $5) (local.get $x) ) - (i32.store offset=4 + (i32.store $0 offset=4 (local.get $5) (local.get $y) ) - (i32.store offset=8 + (i32.store $0 offset=8 (local.get $5) (local.get $z) ) - (i32.store offset=12 + (i32.store $0 offset=12 (local.get $5) (local.get $w) ) - (i32.store offset=16 + (i32.store $0 offset=16 (local.get $5) (local.get $a) ) @@ -903,7 +903,7 @@ ) (block (block - (i32.store + (i32.store $0 (local.get $2) (local.get $x) ) @@ -939,7 +939,7 @@ (local.set $5 (i32.const 2) ) - (i32.store offset=8 + (i32.store $0 offset=8 (local.get $3) (local.get $x) ) @@ -974,7 +974,7 @@ (local.set $4 (block (result i32) (block - (i32.store + (i32.store $0 (local.get $1) (local.get $x) ) @@ -1032,7 +1032,7 @@ (local.set $2 (block (result i32) (block - (i32.store + (i32.store $0 (local.get $1) (local.get $x) ) @@ -1076,7 +1076,7 @@ (local.set $4 (i32.const 1) ) - (i32.store offset=4 + (i32.store $0 offset=4 (local.get $2) (local.get $x) ) @@ -1085,7 +1085,7 @@ ) ) ) - (i32.store offset=4 + (i32.store $0 offset=4 (local.get $2) (local.get $x) ) @@ -1141,7 +1141,7 @@ (local.set $3 (block (result i32) (block - (i32.store + (i32.store $0 (local.get $1) (local.get $x) ) @@ -1196,7 +1196,7 @@ (local.set $3 (f64.const 1) ) - (i32.store + (i32.store $0 (local.get $2) (local.get $x) ) @@ -1238,7 +1238,7 @@ (local.set $4 (i32.const 789) ) - (i32.store + (i32.store $0 (local.get $1) (local.get $x) ) @@ -1274,7 +1274,7 @@ (local.set $2 (i32.const 200) ) - (i32.store + (i32.store $0 (local.get $1) (local.get $x) ) diff --git a/test/passes/ssa-nomerge_enable-simd.txt b/test/passes/ssa-nomerge_enable-simd.txt index 1e2a4b92812..42e4a06804a 100644 --- a/test/passes/ssa-nomerge_enable-simd.txt +++ b/test/passes/ssa-nomerge_enable-simd.txt @@ -203,7 +203,7 @@ ) (func $simd-zero (local $0 v128) - (v128.store align=4 + (v128.store $0 align=4 (i32.const 0) (i32x4.splat (i32.const 0) diff --git a/test/passes/vacuum_all-features.txt b/test/passes/vacuum_all-features.txt index b95959552dc..5cce030d58a 100644 --- a/test/passes/vacuum_all-features.txt +++ b/test/passes/vacuum_all-features.txt @@ -64,7 +64,7 @@ (local.get $d) (f64.ne (f64.promote_f32 - (f32.load + (f32.load $0 (local.tee $l (i32.add (local.get $b) @@ -209,7 +209,7 @@ ) (func $a (block $block - (i32.store + (i32.store $0 (i32.const 1) (i32.const 2) ) @@ -223,7 +223,7 @@ ) (func $leave-block-even-if-br-not-taken (result f64) (block $label$0 (result f64) - (f64.store align=1 + (f64.store $0 align=1 (i32.const 879179022) (br_if $label$0 (loop $label$9 @@ -250,7 +250,7 @@ (i64.ge_s (block $block (result i64) (drop - (i64.load32_s + (i64.load32_s $0 (i32.const 678585719) ) ) @@ -351,33 +351,33 @@ (i32.const -64) ) ) - (i32.store + (i32.store $0 (local.get $3) (local.get $2) ) - (i32.store offset=4 + (i32.store $0 offset=4 (local.get $3) (i32.const 100000) ) - (i32.store offset=12 + (i32.store $0 offset=12 (local.get $3) (local.get $0) ) - (i32.store offset=16 + (i32.store $0 offset=16 (local.get $3) - (i32.load + (i32.load $0 (local.get $1) ) ) - (i32.store offset=32 + (i32.store $0 offset=32 (local.get $3) (i32.const 0) ) - (i32.store offset=36 + (i32.store $0 offset=36 (local.get $3) (i32.const 0) ) - (i32.store offset=40 + (i32.store $0 offset=40 (local.get $3) (i32.const 0) ) @@ -403,9 +403,9 @@ (i32.const 1) ) (block $block1 (result i32) - (i32.store + (i32.store $0 (local.get $1) - (i32.load offset=20 + (i32.load $0 offset=20 (local.get $3) ) ) diff --git a/test/print/min.minified.txt b/test/print/min.minified.txt index 214f9447b1b..0acd3e1f442 100644 --- a/test/print/min.minified.txt +++ b/test/print/min.minified.txt @@ -1,4 +1,4 @@ (module(type $0 (func(param f32)(result f32)))(type $1 (func(param i32 i32)(result f32)))(type $2 (func(param i32)(result i32)))(type $3 (func(param i32 i32 i32)(result i32)))(memory $0 256 256) -(export "floats" (func $floats))(func $floats(param $f f32)(result f32)(local $t f32)(f32.add(local.get $t)(local.get $f)))(func $neg(param $k i32)(param $p i32)(result f32)(local $n f32)(local.tee $n(f32.neg(block $block0 (result f32)(i32.store(local.get $k)(local.get $p))(f32.load(local.get $k))))))(func $littleswitch(param $x i32)(result i32)(block $topmost (result i32)(block $switch-case$2(block $switch-case$1(br_table $switch-case$1 $switch-case$2 $switch-case$1(i32.sub(local.get $x)(i32.const 1)))) +(export "floats" (func $floats))(func $floats(param $f f32)(result f32)(local $t f32)(f32.add(local.get $t)(local.get $f)))(func $neg(param $k i32)(param $p i32)(result f32)(local $n f32)(local.tee $n(f32.neg(block $block0 (result f32)(i32.store $0(local.get $k)(local.get $p))(f32.load $0(local.get $k))))))(func $littleswitch(param $x i32)(result i32)(block $topmost (result i32)(block $switch-case$2(block $switch-case$1(br_table $switch-case$1 $switch-case$2 $switch-case$1(i32.sub(local.get $x)(i32.const 1)))) (br $topmost(i32.const 1))) (br $topmost(i32.const 2))(i32.const 0)))(func $f1(param $i1 i32)(param $i2 i32)(param $i3 i32)(result i32)(block $topmost (result i32)(local.get $i3)))) \ No newline at end of file diff --git a/test/print/min.txt b/test/print/min.txt index f0c5016725a..a6fd0a9e569 100644 --- a/test/print/min.txt +++ b/test/print/min.txt @@ -17,11 +17,11 @@ (local.tee $n (f32.neg (block $block0 (result f32) - (i32.store + (i32.store $0 (local.get $k) (local.get $p) ) - (f32.load + (f32.load $0 (local.get $k) ) ) diff --git a/test/reduce/atomics-and-bulk-memory.wast.txt b/test/reduce/atomics-and-bulk-memory.wast.txt index ace3f57d9ca..50167e1c10e 100644 --- a/test/reduce/atomics-and-bulk-memory.wast.txt +++ b/test/reduce/atomics-and-bulk-memory.wast.txt @@ -3,11 +3,11 @@ (memory $0 1 1) (export "foo" (func $0)) (func $0 (result i32) - (i32.atomic.store8 + (i32.atomic.store8 $0 (i32.const 0) (i32.const 99) ) - (i32.atomic.load8_u + (i32.atomic.load8_u $0 (i32.const 0) ) ) diff --git a/test/reduce/memory_table.wast.txt b/test/reduce/memory_table.wast.txt index fe9e8207217..2d0895d061c 100644 --- a/test/reduce/memory_table.wast.txt +++ b/test/reduce/memory_table.wast.txt @@ -9,11 +9,11 @@ (nop) ) (func $1 (result i32) - (i32.store + (i32.store $0 (i32.const 0) (i32.const 65530) ) - (i32.load + (i32.load $0 (i32.const 0) ) ) diff --git a/test/simd.wast.from-wast b/test/simd.wast.from-wast index 729706286e4..99cdfd8f23a 100644 --- a/test/simd.wast.from-wast +++ b/test/simd.wast.from-wast @@ -18,62 +18,62 @@ (type $v128_v128_v128_=>_v128 (func (param v128 v128 v128) (result v128))) (memory $0 1 1) (func $v128.load (param $0 i32) (result v128) - (v128.load + (v128.load $0 (local.get $0) ) ) (func $v128.load8x8_s (param $0 i32) (result v128) - (v128.load8x8_s + (v128.load8x8_s $0 (local.get $0) ) ) (func $v128.load8x8_u (param $0 i32) (result v128) - (v128.load8x8_u + (v128.load8x8_u $0 (local.get $0) ) ) (func $v128.load16x4_s (param $0 i32) (result v128) - (v128.load16x4_s + (v128.load16x4_s $0 (local.get $0) ) ) (func $v128.load16x4_u (param $0 i32) (result v128) - (v128.load16x4_u + (v128.load16x4_u $0 (local.get $0) ) ) (func $v128.load32x2_s (param $0 i32) (result v128) - (v128.load32x2_s + (v128.load32x2_s $0 (local.get $0) ) ) (func $v128.load32x2_u (param $0 i32) (result v128) - (v128.load32x2_u + (v128.load32x2_u $0 (local.get $0) ) ) (func $v128.load8_splat (param $0 i32) (result v128) - (v128.load8_splat + (v128.load8_splat $0 (local.get $0) ) ) (func $v128.load16_splat (param $0 i32) (result v128) - (v128.load16_splat + (v128.load16_splat $0 (local.get $0) ) ) (func $v128.load32_splat (param $0 i32) (result v128) - (v128.load32_splat + (v128.load32_splat $0 (local.get $0) ) ) (func $v128.load64_splat (param $0 i32) (result v128) - (v128.load64_splat + (v128.load64_splat $0 (local.get $0) ) ) (func $v128.store (param $0 i32) (param $1 v128) - (v128.store + (v128.store $0 (local.get $0) (local.get $1) ) @@ -498,96 +498,96 @@ ) ) (func $v128.load8_lane (param $0 i32) (param $1 v128) (result v128) - (v128.load8_lane 0 + (v128.load8_lane $0 0 (local.get $0) (local.get $1) ) ) (func $v128.load16_lane (param $0 i32) (param $1 v128) (result v128) - (v128.load16_lane 0 + (v128.load16_lane $0 0 (local.get $0) (local.get $1) ) ) (func $v128.load32_lane (param $0 i32) (param $1 v128) (result v128) - (v128.load32_lane 0 + (v128.load32_lane $0 0 (local.get $0) (local.get $1) ) ) (func $v128.load64_lane (param $0 i32) (param $1 v128) (result v128) - (v128.load64_lane 0 + (v128.load64_lane $0 0 (local.get $0) (local.get $1) ) ) (func $v128.load64_lane_align (param $0 i32) (param $1 v128) (result v128) - (v128.load64_lane align=1 0 + (v128.load64_lane $0 align=1 0 (local.get $0) (local.get $1) ) ) (func $v128.load64_lane_offset (param $0 i32) (param $1 v128) (result v128) - (v128.load64_lane offset=32 0 + (v128.load64_lane $0 offset=32 0 (local.get $0) (local.get $1) ) ) (func $v128.load64_lane_align_offset (param $0 i32) (param $1 v128) (result v128) - (v128.load64_lane offset=32 align=1 0 + (v128.load64_lane $0 offset=32 align=1 0 (local.get $0) (local.get $1) ) ) (func $v128.store8_lane (param $0 i32) (param $1 v128) - (v128.store8_lane 0 + (v128.store8_lane $0 0 (local.get $0) (local.get $1) ) ) (func $v128.store16_lane (param $0 i32) (param $1 v128) - (v128.store16_lane 0 + (v128.store16_lane $0 0 (local.get $0) (local.get $1) ) ) (func $v128.store32_lane (param $0 i32) (param $1 v128) - (v128.store32_lane 0 + (v128.store32_lane $0 0 (local.get $0) (local.get $1) ) ) (func $v128.store64_lane (param $0 i32) (param $1 v128) - (v128.store64_lane 0 + (v128.store64_lane $0 0 (local.get $0) (local.get $1) ) ) (func $v128.store64_lane_align (param $0 i32) (param $1 v128) - (v128.store64_lane align=1 0 + (v128.store64_lane $0 align=1 0 (local.get $0) (local.get $1) ) ) (func $v128.store64_lane_offset (param $0 i32) (param $1 v128) - (v128.store64_lane offset=32 0 + (v128.store64_lane $0 offset=32 0 (local.get $0) (local.get $1) ) ) (func $v128.store64_lane_align_offset (param $0 i32) (param $1 v128) - (v128.store64_lane offset=32 align=1 0 + (v128.store64_lane $0 offset=32 align=1 0 (local.get $0) (local.get $1) ) ) (func $v128.load32_zero (param $0 i32) (result v128) - (v128.load32_zero + (v128.load32_zero $0 (local.get $0) ) ) (func $v128.load64_zero (param $0 i32) (result v128) - (v128.load64_zero + (v128.load64_zero $0 (local.get $0) ) ) diff --git a/test/simd.wast.fromBinary b/test/simd.wast.fromBinary index abcfd024e5d..5894fdf185a 100644 --- a/test/simd.wast.fromBinary +++ b/test/simd.wast.fromBinary @@ -18,62 +18,62 @@ (type $v128_v128_v128_=>_v128 (func (param v128 v128 v128) (result v128))) (memory $0 1 1) (func $v128.load (param $0 i32) (result v128) - (v128.load + (v128.load $0 (local.get $0) ) ) (func $v128.load8x8_s (param $0 i32) (result v128) - (v128.load8x8_s + (v128.load8x8_s $0 (local.get $0) ) ) (func $v128.load8x8_u (param $0 i32) (result v128) - (v128.load8x8_u + (v128.load8x8_u $0 (local.get $0) ) ) (func $v128.load16x4_s (param $0 i32) (result v128) - (v128.load16x4_s + (v128.load16x4_s $0 (local.get $0) ) ) (func $v128.load16x4_u (param $0 i32) (result v128) - (v128.load16x4_u + (v128.load16x4_u $0 (local.get $0) ) ) (func $v128.load32x2_s (param $0 i32) (result v128) - (v128.load32x2_s + (v128.load32x2_s $0 (local.get $0) ) ) (func $v128.load32x2_u (param $0 i32) (result v128) - (v128.load32x2_u + (v128.load32x2_u $0 (local.get $0) ) ) (func $v128.load8_splat (param $0 i32) (result v128) - (v128.load8_splat + (v128.load8_splat $0 (local.get $0) ) ) (func $v128.load16_splat (param $0 i32) (result v128) - (v128.load16_splat + (v128.load16_splat $0 (local.get $0) ) ) (func $v128.load32_splat (param $0 i32) (result v128) - (v128.load32_splat + (v128.load32_splat $0 (local.get $0) ) ) (func $v128.load64_splat (param $0 i32) (result v128) - (v128.load64_splat + (v128.load64_splat $0 (local.get $0) ) ) (func $v128.store (param $0 i32) (param $1 v128) - (v128.store + (v128.store $0 (local.get $0) (local.get $1) ) @@ -498,96 +498,96 @@ ) ) (func $v128.load8_lane (param $0 i32) (param $1 v128) (result v128) - (v128.load8_lane 0 + (v128.load8_lane $0 0 (local.get $0) (local.get $1) ) ) (func $v128.load16_lane (param $0 i32) (param $1 v128) (result v128) - (v128.load16_lane 0 + (v128.load16_lane $0 0 (local.get $0) (local.get $1) ) ) (func $v128.load32_lane (param $0 i32) (param $1 v128) (result v128) - (v128.load32_lane 0 + (v128.load32_lane $0 0 (local.get $0) (local.get $1) ) ) (func $v128.load64_lane (param $0 i32) (param $1 v128) (result v128) - (v128.load64_lane 0 + (v128.load64_lane $0 0 (local.get $0) (local.get $1) ) ) (func $v128.load64_lane_align (param $0 i32) (param $1 v128) (result v128) - (v128.load64_lane align=1 0 + (v128.load64_lane $0 align=1 0 (local.get $0) (local.get $1) ) ) (func $v128.load64_lane_offset (param $0 i32) (param $1 v128) (result v128) - (v128.load64_lane offset=32 0 + (v128.load64_lane $0 offset=32 0 (local.get $0) (local.get $1) ) ) (func $v128.load64_lane_align_offset (param $0 i32) (param $1 v128) (result v128) - (v128.load64_lane offset=32 align=1 0 + (v128.load64_lane $0 offset=32 align=1 0 (local.get $0) (local.get $1) ) ) (func $v128.store8_lane (param $0 i32) (param $1 v128) - (v128.store8_lane 0 + (v128.store8_lane $0 0 (local.get $0) (local.get $1) ) ) (func $v128.store16_lane (param $0 i32) (param $1 v128) - (v128.store16_lane 0 + (v128.store16_lane $0 0 (local.get $0) (local.get $1) ) ) (func $v128.store32_lane (param $0 i32) (param $1 v128) - (v128.store32_lane 0 + (v128.store32_lane $0 0 (local.get $0) (local.get $1) ) ) (func $v128.store64_lane (param $0 i32) (param $1 v128) - (v128.store64_lane 0 + (v128.store64_lane $0 0 (local.get $0) (local.get $1) ) ) (func $v128.store64_lane_align (param $0 i32) (param $1 v128) - (v128.store64_lane align=1 0 + (v128.store64_lane $0 align=1 0 (local.get $0) (local.get $1) ) ) (func $v128.store64_lane_offset (param $0 i32) (param $1 v128) - (v128.store64_lane offset=32 0 + (v128.store64_lane $0 offset=32 0 (local.get $0) (local.get $1) ) ) (func $v128.store64_lane_align_offset (param $0 i32) (param $1 v128) - (v128.store64_lane offset=32 align=1 0 + (v128.store64_lane $0 offset=32 align=1 0 (local.get $0) (local.get $1) ) ) (func $v128.load32_zero (param $0 i32) (result v128) - (v128.load32_zero + (v128.load32_zero $0 (local.get $0) ) ) (func $v128.load64_zero (param $0 i32) (result v128) - (v128.load64_zero + (v128.load64_zero $0 (local.get $0) ) ) diff --git a/test/simd.wast.fromBinary.noDebugInfo b/test/simd.wast.fromBinary.noDebugInfo index 0567be049b3..372662a0cb0 100644 --- a/test/simd.wast.fromBinary.noDebugInfo +++ b/test/simd.wast.fromBinary.noDebugInfo @@ -18,62 +18,62 @@ (type $v128_v128_v128_=>_v128 (func (param v128 v128 v128) (result v128))) (memory $0 1 1) (func $0 (param $0 i32) (result v128) - (v128.load + (v128.load $0 (local.get $0) ) ) (func $1 (param $0 i32) (result v128) - (v128.load8x8_s + (v128.load8x8_s $0 (local.get $0) ) ) (func $2 (param $0 i32) (result v128) - (v128.load8x8_u + (v128.load8x8_u $0 (local.get $0) ) ) (func $3 (param $0 i32) (result v128) - (v128.load16x4_s + (v128.load16x4_s $0 (local.get $0) ) ) (func $4 (param $0 i32) (result v128) - (v128.load16x4_u + (v128.load16x4_u $0 (local.get $0) ) ) (func $5 (param $0 i32) (result v128) - (v128.load32x2_s + (v128.load32x2_s $0 (local.get $0) ) ) (func $6 (param $0 i32) (result v128) - (v128.load32x2_u + (v128.load32x2_u $0 (local.get $0) ) ) (func $7 (param $0 i32) (result v128) - (v128.load8_splat + (v128.load8_splat $0 (local.get $0) ) ) (func $8 (param $0 i32) (result v128) - (v128.load16_splat + (v128.load16_splat $0 (local.get $0) ) ) (func $9 (param $0 i32) (result v128) - (v128.load32_splat + (v128.load32_splat $0 (local.get $0) ) ) (func $10 (param $0 i32) (result v128) - (v128.load64_splat + (v128.load64_splat $0 (local.get $0) ) ) (func $11 (param $0 i32) (param $1 v128) - (v128.store + (v128.store $0 (local.get $0) (local.get $1) ) @@ -498,96 +498,96 @@ ) ) (func $87 (param $0 i32) (param $1 v128) (result v128) - (v128.load8_lane 0 + (v128.load8_lane $0 0 (local.get $0) (local.get $1) ) ) (func $88 (param $0 i32) (param $1 v128) (result v128) - (v128.load16_lane 0 + (v128.load16_lane $0 0 (local.get $0) (local.get $1) ) ) (func $89 (param $0 i32) (param $1 v128) (result v128) - (v128.load32_lane 0 + (v128.load32_lane $0 0 (local.get $0) (local.get $1) ) ) (func $90 (param $0 i32) (param $1 v128) (result v128) - (v128.load64_lane 0 + (v128.load64_lane $0 0 (local.get $0) (local.get $1) ) ) (func $91 (param $0 i32) (param $1 v128) (result v128) - (v128.load64_lane align=1 0 + (v128.load64_lane $0 align=1 0 (local.get $0) (local.get $1) ) ) (func $92 (param $0 i32) (param $1 v128) (result v128) - (v128.load64_lane offset=32 0 + (v128.load64_lane $0 offset=32 0 (local.get $0) (local.get $1) ) ) (func $93 (param $0 i32) (param $1 v128) (result v128) - (v128.load64_lane offset=32 align=1 0 + (v128.load64_lane $0 offset=32 align=1 0 (local.get $0) (local.get $1) ) ) (func $94 (param $0 i32) (param $1 v128) - (v128.store8_lane 0 + (v128.store8_lane $0 0 (local.get $0) (local.get $1) ) ) (func $95 (param $0 i32) (param $1 v128) - (v128.store16_lane 0 + (v128.store16_lane $0 0 (local.get $0) (local.get $1) ) ) (func $96 (param $0 i32) (param $1 v128) - (v128.store32_lane 0 + (v128.store32_lane $0 0 (local.get $0) (local.get $1) ) ) (func $97 (param $0 i32) (param $1 v128) - (v128.store64_lane 0 + (v128.store64_lane $0 0 (local.get $0) (local.get $1) ) ) (func $98 (param $0 i32) (param $1 v128) - (v128.store64_lane align=1 0 + (v128.store64_lane $0 align=1 0 (local.get $0) (local.get $1) ) ) (func $99 (param $0 i32) (param $1 v128) - (v128.store64_lane offset=32 0 + (v128.store64_lane $0 offset=32 0 (local.get $0) (local.get $1) ) ) (func $100 (param $0 i32) (param $1 v128) - (v128.store64_lane offset=32 align=1 0 + (v128.store64_lane $0 offset=32 align=1 0 (local.get $0) (local.get $1) ) ) (func $101 (param $0 i32) (result v128) - (v128.load32_zero + (v128.load32_zero $0 (local.get $0) ) ) (func $102 (param $0 i32) (result v128) - (v128.load64_zero + (v128.load64_zero $0 (local.get $0) ) ) diff --git a/test/simd64.wast.from-wast b/test/simd64.wast.from-wast index a12e5d08f78..1e3c58bd276 100644 --- a/test/simd64.wast.from-wast +++ b/test/simd64.wast.from-wast @@ -3,73 +3,73 @@ (type $i64_v128_=>_none (func (param i64 v128))) (memory $0 i64 1 1) (func $v128.load (param $0 i64) (result v128) - (v128.load + (v128.load $0 (local.get $0) ) ) (func $v128.store (param $0 i64) (param $1 v128) - (v128.store + (v128.store $0 (local.get $0) (local.get $1) ) ) (func $v128.load8_splat (param $0 i64) (result v128) - (v128.load8_splat + (v128.load8_splat $0 (local.get $0) ) ) (func $v128.load16_splat (param $0 i64) (result v128) - (v128.load16_splat + (v128.load16_splat $0 (local.get $0) ) ) (func $v128.load32_splat (param $0 i64) (result v128) - (v128.load32_splat + (v128.load32_splat $0 (local.get $0) ) ) (func $v128.load64_splat (param $0 i64) (result v128) - (v128.load64_splat + (v128.load64_splat $0 (local.get $0) ) ) (func $v128.load8x8_u (param $0 i64) (result v128) - (v128.load8x8_u + (v128.load8x8_u $0 (local.get $0) ) ) (func $v128.load8x8_s (param $0 i64) (result v128) - (v128.load8x8_s + (v128.load8x8_s $0 (local.get $0) ) ) (func $v128.load16x4_s (param $0 i64) (result v128) - (v128.load16x4_s + (v128.load16x4_s $0 (local.get $0) ) ) (func $v128.load16x4_u (param $0 i64) (result v128) - (v128.load16x4_u + (v128.load16x4_u $0 (local.get $0) ) ) (func $v128.load32x2_s (param $0 i64) (result v128) - (v128.load32x2_s + (v128.load32x2_s $0 (local.get $0) ) ) (func $v128.load32x2_u (param $0 i64) (result v128) - (v128.load32x2_u + (v128.load32x2_u $0 (local.get $0) ) ) (func $v128.load32_zero (param $0 i64) (result v128) - (v128.load32_zero + (v128.load32_zero $0 (local.get $0) ) ) (func $v128.load64_zero (param $0 i64) (result v128) - (v128.load64_zero + (v128.load64_zero $0 (local.get $0) ) ) diff --git a/test/simd64.wast.fromBinary b/test/simd64.wast.fromBinary index 988f678b8a9..be5a319d2da 100644 --- a/test/simd64.wast.fromBinary +++ b/test/simd64.wast.fromBinary @@ -3,73 +3,73 @@ (type $i64_v128_=>_none (func (param i64 v128))) (memory $0 i64 1 1) (func $v128.load (param $0 i64) (result v128) - (v128.load + (v128.load $0 (local.get $0) ) ) (func $v128.store (param $0 i64) (param $1 v128) - (v128.store + (v128.store $0 (local.get $0) (local.get $1) ) ) (func $v128.load8_splat (param $0 i64) (result v128) - (v128.load8_splat + (v128.load8_splat $0 (local.get $0) ) ) (func $v128.load16_splat (param $0 i64) (result v128) - (v128.load16_splat + (v128.load16_splat $0 (local.get $0) ) ) (func $v128.load32_splat (param $0 i64) (result v128) - (v128.load32_splat + (v128.load32_splat $0 (local.get $0) ) ) (func $v128.load64_splat (param $0 i64) (result v128) - (v128.load64_splat + (v128.load64_splat $0 (local.get $0) ) ) (func $v128.load8x8_u (param $0 i64) (result v128) - (v128.load8x8_u + (v128.load8x8_u $0 (local.get $0) ) ) (func $v128.load8x8_s (param $0 i64) (result v128) - (v128.load8x8_s + (v128.load8x8_s $0 (local.get $0) ) ) (func $v128.load16x4_s (param $0 i64) (result v128) - (v128.load16x4_s + (v128.load16x4_s $0 (local.get $0) ) ) (func $v128.load16x4_u (param $0 i64) (result v128) - (v128.load16x4_u + (v128.load16x4_u $0 (local.get $0) ) ) (func $v128.load32x2_s (param $0 i64) (result v128) - (v128.load32x2_s + (v128.load32x2_s $0 (local.get $0) ) ) (func $v128.load32x2_u (param $0 i64) (result v128) - (v128.load32x2_u + (v128.load32x2_u $0 (local.get $0) ) ) (func $v128.load32_zero (param $0 i64) (result v128) - (v128.load32_zero + (v128.load32_zero $0 (local.get $0) ) ) (func $v128.load64_zero (param $0 i64) (result v128) - (v128.load64_zero + (v128.load64_zero $0 (local.get $0) ) ) diff --git a/test/simd64.wast.fromBinary.noDebugInfo b/test/simd64.wast.fromBinary.noDebugInfo index 2e96dfe6412..ddc78920506 100644 --- a/test/simd64.wast.fromBinary.noDebugInfo +++ b/test/simd64.wast.fromBinary.noDebugInfo @@ -3,73 +3,73 @@ (type $i64_v128_=>_none (func (param i64 v128))) (memory $0 i64 1 1) (func $0 (param $0 i64) (result v128) - (v128.load + (v128.load $0 (local.get $0) ) ) (func $1 (param $0 i64) (param $1 v128) - (v128.store + (v128.store $0 (local.get $0) (local.get $1) ) ) (func $2 (param $0 i64) (result v128) - (v128.load8_splat + (v128.load8_splat $0 (local.get $0) ) ) (func $3 (param $0 i64) (result v128) - (v128.load16_splat + (v128.load16_splat $0 (local.get $0) ) ) (func $4 (param $0 i64) (result v128) - (v128.load32_splat + (v128.load32_splat $0 (local.get $0) ) ) (func $5 (param $0 i64) (result v128) - (v128.load64_splat + (v128.load64_splat $0 (local.get $0) ) ) (func $6 (param $0 i64) (result v128) - (v128.load8x8_u + (v128.load8x8_u $0 (local.get $0) ) ) (func $7 (param $0 i64) (result v128) - (v128.load8x8_s + (v128.load8x8_s $0 (local.get $0) ) ) (func $8 (param $0 i64) (result v128) - (v128.load16x4_s + (v128.load16x4_s $0 (local.get $0) ) ) (func $9 (param $0 i64) (result v128) - (v128.load16x4_u + (v128.load16x4_u $0 (local.get $0) ) ) (func $10 (param $0 i64) (result v128) - (v128.load32x2_s + (v128.load32x2_s $0 (local.get $0) ) ) (func $11 (param $0 i64) (result v128) - (v128.load32x2_u + (v128.load32x2_u $0 (local.get $0) ) ) (func $12 (param $0 i64) (result v128) - (v128.load32_zero + (v128.load32_zero $0 (local.get $0) ) ) (func $13 (param $0 i64) (result v128) - (v128.load64_zero + (v128.load64_zero $0 (local.get $0) ) ) diff --git a/test/unreachable-instr-type.wast.from-wast b/test/unreachable-instr-type.wast.from-wast index 311c98a669b..98d4672384b 100644 --- a/test/unreachable-instr-type.wast.from-wast +++ b/test/unreachable-instr-type.wast.from-wast @@ -2,23 +2,23 @@ (type $none_=>_none (func)) (memory $0 (shared 1 1)) (func $test - (i32.load + (i32.load $0 (unreachable) ) - (f32.store + (f32.store $0 (unreachable) (f32.const 0) ) - (i32.atomic.rmw.add + (i32.atomic.rmw.add $0 (unreachable) (i64.const 0) ) - (i32.atomic.rmw.cmpxchg + (i32.atomic.rmw.cmpxchg $0 (unreachable) (i64.const 0) (i64.const 1) ) - (memory.atomic.wait64 + (memory.atomic.wait64 $0 (unreachable) (i64.const 0) (i64.const 0) From 7b44ae4636accbfe35c343490edb79375488744d Mon Sep 17 00:00:00 2001 From: Ashley Nelson Date: Mon, 25 Jul 2022 20:15:14 +0000 Subject: [PATCH 59/78] clang-format --- src/wasm/wasm-s-parser.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/wasm/wasm-s-parser.cpp b/src/wasm/wasm-s-parser.cpp index 3a1d3b425a0..6fa51c05675 100644 --- a/src/wasm/wasm-s-parser.cpp +++ b/src/wasm/wasm-s-parser.cpp @@ -1939,7 +1939,9 @@ SExpressionWasmBuilder::makeLoad(Element& s, Type type, bool isAtomic) { Index memIdx = 0; // Check to make sure there are more than the default args & this str isn't // the mem attributes - if (s.size() > 2 && !s[i]->isList() && strncmp(s[i]->c_str(), "align", 5) != 0 && strncmp(s[i]->c_str(), "offset", 6) != 0) { + if (s.size() > 2 && !s[i]->isList() && + strncmp(s[i]->c_str(), "align", 5) != 0 && + strncmp(s[i]->c_str(), "offset", 6) != 0) { memIdx = atoi(s[i++]->c_str()); } auto memory = getMemoryAtIdx(memIdx); @@ -2277,7 +2279,8 @@ SExpressionWasmBuilder::makeSIMDLoadStoreLane(Element& s, Index memIdx = 0; // Check to make sure there are more than the default args & this str isn't // the mem attributes - if (s.size() > 4 && !s[i]->isList() && strncmp(s[i]->c_str(), "align", 5) != 0 && + if (s.size() > 4 && !s[i]->isList() && + strncmp(s[i]->c_str(), "align", 5) != 0 && strncmp(s[i]->c_str(), "offset", 6) != 0) { memIdx = atoi(s[i++]->c_str()); } From 73716db446cd826c5f42e13598518cd89981e187 Mon Sep 17 00:00:00 2001 From: Ashley Nelson Date: Mon, 25 Jul 2022 23:28:17 +0000 Subject: [PATCH 60/78] updating gufa --- test/lit/passes/gufa-refs.wast | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/test/lit/passes/gufa-refs.wast b/test/lit/passes/gufa-refs.wast index d8fb51e50a3..0cf195ad04d 100644 --- a/test/lit/passes/gufa-refs.wast +++ b/test/lit/passes/gufa-refs.wast @@ -2999,41 +2999,41 @@ ;; CHECK: (func $memory (type $none_=>_none) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load $0 ;; CHECK-NEXT: (i32.const 5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.atomic.rmw.add + ;; CHECK-NEXT: (i32.atomic.rmw.add $0 ;; CHECK-NEXT: (i32.const 5) ;; CHECK-NEXT: (i32.const 10) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.atomic.rmw.cmpxchg + ;; CHECK-NEXT: (i32.atomic.rmw.cmpxchg $0 ;; CHECK-NEXT: (i32.const 5) ;; CHECK-NEXT: (i32.const 10) ;; CHECK-NEXT: (i32.const 15) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (memory.atomic.wait32 + ;; CHECK-NEXT: (memory.atomic.wait32 $0 ;; CHECK-NEXT: (i32.const 5) ;; CHECK-NEXT: (i32.const 10) ;; CHECK-NEXT: (i64.const 15) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (memory.atomic.notify + ;; CHECK-NEXT: (memory.atomic.notify $0 ;; CHECK-NEXT: (i32.const 5) ;; CHECK-NEXT: (i32.const 10) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (memory.size) + ;; CHECK-NEXT: (memory.size $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (memory.grow + ;; CHECK-NEXT: (memory.grow $0 ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -3112,12 +3112,12 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (v128.load8_splat + ;; CHECK-NEXT: (v128.load8_splat $0 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (v128.load8_lane 0 + ;; CHECK-NEXT: (v128.load8_lane $0 0 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (v128.const i32x4 0x00000001 0x00000000 0x00000002 0x00000000) ;; CHECK-NEXT: ) From 0249723d0b9613dadaaf881d539aa4a155d52ec9 Mon Sep 17 00:00:00 2001 From: Ashley Nelson Date: Tue, 26 Jul 2022 19:28:08 +0000 Subject: [PATCH 61/78] updating binaryenjs test output --- test/binaryen.js/atomics.js.txt | 34 ++--- test/binaryen.js/expressions.js | 30 ++-- test/binaryen.js/expressions.js.txt | 28 ++-- test/binaryen.js/kitchen-sink.js.txt | 174 +++++++++++----------- test/binaryen.js/low-memory-unused.js.txt | 6 +- test/binaryen.js/sieve.js.txt | 16 +- 6 files changed, 146 insertions(+), 142 deletions(-) diff --git a/test/binaryen.js/atomics.js.txt b/test/binaryen.js/atomics.js.txt index 091298d579c..df2c3bcb780 100644 --- a/test/binaryen.js/atomics.js.txt +++ b/test/binaryen.js/atomics.js.txt @@ -2,64 +2,64 @@ (type $none_=>_none (func)) (memory $0 (shared 1 1)) (func $main - (i32.atomic.store + (i32.atomic.store $0 (i32.const 0) - (i32.atomic.load + (i32.atomic.load $0 (i32.const 0) ) ) - (i32.atomic.store8 + (i32.atomic.store8 $0 (i32.const 0) - (i32.atomic.load8_u + (i32.atomic.load8_u $0 (i32.const 0) ) ) - (i32.atomic.store16 + (i32.atomic.store16 $0 (i32.const 0) - (i32.atomic.load16_u + (i32.atomic.load16_u $0 (i32.const 0) ) ) - (i64.atomic.store + (i64.atomic.store $0 (i32.const 0) - (i64.atomic.load + (i64.atomic.load $0 (i32.const 0) ) ) - (i64.atomic.store8 + (i64.atomic.store8 $0 (i32.const 0) - (i64.atomic.load8_u + (i64.atomic.load8_u $0 (i32.const 0) ) ) - (i64.atomic.store16 + (i64.atomic.store16 $0 (i32.const 0) - (i64.atomic.load16_u + (i64.atomic.load16_u $0 (i32.const 0) ) ) - (i64.atomic.store32 + (i64.atomic.store32 $0 (i32.const 0) - (i64.atomic.load32_u + (i64.atomic.load32_u $0 (i32.const 0) ) ) (drop - (memory.atomic.wait32 + (memory.atomic.wait32 $0 (i32.const 0) (i32.const 0) (i64.const 0) ) ) (drop - (memory.atomic.wait64 + (memory.atomic.wait64 $0 (i32.const 0) (i64.const 0) (i64.const 0) ) ) (drop - (memory.atomic.notify + (memory.atomic.notify $0 (i32.const 0) (i32.const 0) ) diff --git a/test/binaryen.js/expressions.js b/test/binaryen.js/expressions.js index b4a3167a2c6..71846f3c6e8 100644 --- a/test/binaryen.js/expressions.js +++ b/test/binaryen.js/expressions.js @@ -478,7 +478,7 @@ console.log("# MemorySize"); const module = new binaryen.Module(); module.setMemory(1, 1, null); var type = binaryen.i32; - const theMemorySize = binaryen.MemorySize(module.memory.size("0")); + const theMemorySize = binaryen.MemorySize(module.memory.size()); assert(theMemorySize instanceof binaryen.MemorySize); assert(theMemorySize instanceof binaryen.Expression); assert(theMemorySize.type === type); @@ -492,7 +492,7 @@ console.log("# MemorySize"); assert( theMemorySize.toText() == - "(memory.size)\n" + "(memory.size $0)\n" ); module.dispose(); @@ -522,7 +522,7 @@ console.log("# MemoryGrow"); assert( theMemoryGrow.toText() == - "(memory.grow\n (i32.const 2)\n)\n" + "(memory.grow $0\n (i32.const 2)\n)\n" ); module.dispose(); @@ -568,7 +568,7 @@ console.log("# Load"); assert( theLoad.toText() == - "(i64.atomic.load offset=32 align=4\n (i32.const 128)\n)\n" + "(i64.atomic.load $0 offset=32 align=4\n (i32.const 128)\n)\n" ); module.dispose(); @@ -618,7 +618,7 @@ console.log("# Store"); assert( theStore.toText() == - "(i64.atomic.store offset=32 align=4\n (i32.const 128)\n (i32.const 2)\n)\n" + "(i64.atomic.store $0 offset=32 align=4\n (i32.const 128)\n (i32.const 2)\n)\n" ); module.dispose(); @@ -859,7 +859,7 @@ console.log("# AtomicRMW"); assert( theAtomicRMW.toText() == - "(i64.atomic.rmw16.sub_u offset=16\n (i32.const 4)\n (i64.const 5)\n)\n" + "(i64.atomic.rmw16.sub_u $0 offset=16\n (i32.const 4)\n (i64.const 5)\n)\n" ); module.dispose(); @@ -902,7 +902,7 @@ console.log("# AtomicCmpxchg"); assert( theAtomicCmpxchg.toText() == - "(i64.atomic.rmw16.cmpxchg_u offset=16\n (i32.const 5)\n (i64.const 6)\n (i64.const 7)\n)\n" + "(i64.atomic.rmw16.cmpxchg_u $0 offset=16\n (i32.const 5)\n (i64.const 6)\n (i64.const 7)\n)\n" ); module.dispose(); @@ -941,7 +941,7 @@ console.log("# AtomicWait"); assert( theAtomicWait.toText() == - "(memory.atomic.wait64\n (i32.const 5)\n (i32.const 6)\n (i64.const 7)\n)\n" + "(memory.atomic.wait64 $0\n (i32.const 5)\n (i32.const 6)\n (i64.const 7)\n)\n" ); module.dispose(); @@ -973,7 +973,7 @@ console.log("# AtomicNotify"); assert( theAtomicNotify.toText() == - "(memory.atomic.notify\n (i32.const 3)\n (i32.const 4)\n)\n" + "(memory.atomic.notify $0\n (i32.const 3)\n (i32.const 4)\n)\n" ); module.dispose(); @@ -1209,7 +1209,7 @@ console.log("# SIMDLoad"); assert( theSIMDLoad.toText() == - "(v128.load8_splat offset=32 align=4\n (i32.const 2)\n)\n" + "(v128.load8_splat $0 offset=32 align=4\n (i32.const 2)\n)\n" ); module.dispose(); @@ -1258,7 +1258,7 @@ console.log("# SIMDLoadStoreLane"); assert( theSIMDLoadStoreLane.toText() == - "(v128.load16_lane offset=32 2\n (i32.const 2)\n (v128.const i32x4 0x01010101 0x01010101 0x01010101 0x01010101)\n)\n" + "(v128.load16_lane $0 offset=32 2\n (i32.const 2)\n (v128.const i32x4 0x01010101 0x01010101 0x01010101 0x01010101)\n)\n" ); theSIMDLoadStoreLane.op = op = binaryen.Operations.Store16LaneVec128; @@ -1272,7 +1272,7 @@ console.log("# SIMDLoadStoreLane"); assert( theSIMDLoadStoreLane.toText() == - "(v128.store16_lane offset=32 2\n (i32.const 2)\n (v128.const i32x4 0x01010101 0x01010101 0x01010101 0x01010101)\n)\n" + "(v128.store16_lane $0 offset=32 2\n (i32.const 2)\n (v128.const i32x4 0x01010101 0x01010101 0x01010101 0x01010101)\n)\n" ); module.dispose(); @@ -1312,7 +1312,7 @@ console.log("# MemoryInit"); assert( theMemoryInit.toText() == - "(memory.init 5\n (i32.const 6)\n (i32.const 7)\n (i32.const 8)\n)\n" + "(memory.init $0 5\n (i32.const 6)\n (i32.const 7)\n (i32.const 8)\n)\n" ); module.dispose(); @@ -1375,7 +1375,7 @@ console.log("# MemoryCopy"); assert( theMemoryCopy.toText() == - "(memory.copy\n (i32.const 4)\n (i32.const 5)\n (i32.const 6)\n)\n" + "(memory.copy $0 $0\n (i32.const 4)\n (i32.const 5)\n (i32.const 6)\n)\n" ); module.dispose(); @@ -1411,7 +1411,7 @@ console.log("# MemoryFill"); assert( theMemoryFill.toText() == - "(memory.fill\n (i32.const 4)\n (i32.const 5)\n (i32.const 6)\n)\n" + "(memory.fill $0\n (i32.const 4)\n (i32.const 5)\n (i32.const 6)\n)\n" ); module.dispose(); diff --git a/test/binaryen.js/expressions.js.txt b/test/binaryen.js/expressions.js.txt index b9107f5c167..fbf69888a14 100644 --- a/test/binaryen.js/expressions.js.txt +++ b/test/binaryen.js/expressions.js.txt @@ -65,20 +65,20 @@ ) # MemorySize -(memory.size) +(memory.size $0) # MemoryGrow -(memory.grow +(memory.grow $0 (i32.const 2) ) # Load -(i64.atomic.load offset=32 align=4 +(i64.atomic.load $0 offset=32 align=4 (i32.const 128) ) # Store -(i64.atomic.store offset=32 align=4 +(i64.atomic.store $0 offset=32 align=4 (i32.const 128) (i32.const 2) ) @@ -115,27 +115,27 @@ ) # AtomicRMW -(i64.atomic.rmw16.sub_u offset=16 +(i64.atomic.rmw16.sub_u $0 offset=16 (i32.const 4) (i64.const 5) ) # AtomicCmpxchg -(i64.atomic.rmw16.cmpxchg_u offset=16 +(i64.atomic.rmw16.cmpxchg_u $0 offset=16 (i32.const 5) (i64.const 6) (i64.const 7) ) # AtomicWait -(memory.atomic.wait64 +(memory.atomic.wait64 $0 (i32.const 5) (i32.const 6) (i64.const 7) ) # AtomicNotify -(memory.atomic.notify +(memory.atomic.notify $0 (i32.const 3) (i32.const 4) ) @@ -175,23 +175,23 @@ ) # SIMDLoad -(v128.load8_splat offset=32 align=4 +(v128.load8_splat $0 offset=32 align=4 (i32.const 2) ) # SIMDLoadStoreLane -(v128.load16_lane offset=32 2 +(v128.load16_lane $0 offset=32 2 (i32.const 2) (v128.const i32x4 0x01010101 0x01010101 0x01010101 0x01010101) ) -(v128.store16_lane offset=32 2 +(v128.store16_lane $0 offset=32 2 (i32.const 2) (v128.const i32x4 0x01010101 0x01010101 0x01010101 0x01010101) ) # MemoryInit -(memory.init 5 +(memory.init $0 5 (i32.const 6) (i32.const 7) (i32.const 8) @@ -201,14 +201,14 @@ (data.drop 2) # MemoryCopy -(memory.copy +(memory.copy $0 $0 (i32.const 4) (i32.const 5) (i32.const 6) ) # MemoryFill -(memory.fill +(memory.fill $0 (i32.const 4) (i32.const 5) (i32.const 6) diff --git a/test/binaryen.js/kitchen-sink.js.txt b/test/binaryen.js/kitchen-sink.js.txt index 1be13aefef2..9cd36c3020a 100644 --- a/test/binaryen.js/kitchen-sink.js.txt +++ b/test/binaryen.js/kitchen-sink.js.txt @@ -1747,142 +1747,142 @@ getExpressionInfo(tuple[3])={"id":14,"type":5,"value":3.7} ) ) (drop - (v128.load8_splat + (v128.load8_splat $0 (i32.const 128) ) ) (drop - (v128.load16_splat offset=16 align=1 + (v128.load16_splat $0 offset=16 align=1 (i32.const 128) ) ) (drop - (v128.load32_splat offset=16 + (v128.load32_splat $0 offset=16 (i32.const 128) ) ) (drop - (v128.load64_splat align=4 + (v128.load64_splat $0 align=4 (i32.const 128) ) ) (drop - (v128.load8x8_s + (v128.load8x8_s $0 (i32.const 128) ) ) (drop - (v128.load8x8_u + (v128.load8x8_u $0 (i32.const 128) ) ) (drop - (v128.load16x4_s + (v128.load16x4_s $0 (i32.const 128) ) ) (drop - (v128.load16x4_u + (v128.load16x4_u $0 (i32.const 128) ) ) (drop - (v128.load32x2_s + (v128.load32x2_s $0 (i32.const 128) ) ) (drop - (v128.load32x2_u + (v128.load32x2_u $0 (i32.const 128) ) ) (drop - (v128.load32_zero + (v128.load32_zero $0 (i32.const 128) ) ) (drop - (v128.load64_zero + (v128.load64_zero $0 (i32.const 128) ) ) (drop - (v128.load8_lane 0 + (v128.load8_lane $0 0 (i32.const 128) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (v128.load8_lane offset=1 15 + (v128.load8_lane $0 offset=1 15 (i32.const 128) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (v128.load16_lane 0 + (v128.load16_lane $0 0 (i32.const 128) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (v128.load16_lane offset=2 align=1 7 + (v128.load16_lane $0 offset=2 align=1 7 (i32.const 128) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (v128.load32_lane 0 + (v128.load32_lane $0 0 (i32.const 128) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (v128.load32_lane offset=4 align=2 3 + (v128.load32_lane $0 offset=4 align=2 3 (i32.const 128) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (v128.load64_lane 0 + (v128.load64_lane $0 0 (i32.const 128) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (v128.load64_lane offset=8 align=4 1 + (v128.load64_lane $0 offset=8 align=4 1 (i32.const 128) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) - (v128.store8_lane 0 + (v128.store8_lane $0 0 (i32.const 128) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) - (v128.store8_lane offset=1 15 + (v128.store8_lane $0 offset=1 15 (i32.const 128) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) - (v128.store16_lane 0 + (v128.store16_lane $0 0 (i32.const 128) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) - (v128.store16_lane offset=2 align=1 7 + (v128.store16_lane $0 offset=2 align=1 7 (i32.const 128) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) - (v128.store32_lane 0 + (v128.store32_lane $0 0 (i32.const 128) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) - (v128.store32_lane offset=4 align=2 3 + (v128.store32_lane $0 offset=4 align=2 3 (i32.const 128) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) - (v128.store64_lane 0 + (v128.store64_lane $0 0 (i32.const 128) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) - (v128.store64_lane offset=8 align=4 1 + (v128.store64_lane $0 offset=8 align=4 1 (i32.const 128) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) @@ -1899,18 +1899,18 @@ getExpressionInfo(tuple[3])={"id":14,"type":5,"value":3.7} (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) - (memory.init 0 + (memory.init $0 0 (i32.const 1024) (i32.const 0) (i32.const 12) ) (data.drop 0) - (memory.copy + (memory.copy $0 $0 (i32.const 2048) (i32.const 1024) (i32.const 12) ) - (memory.fill + (memory.fill $0 (i32.const 0) (i32.const 42) (i32.const 1024) @@ -2005,30 +2005,30 @@ getExpressionInfo(tuple[3])={"id":14,"type":5,"value":3.7} ) ) (drop - (i32.load + (i32.load $0 (i32.const 1) ) ) (drop - (i64.load16_s offset=2 align=1 + (i64.load16_s $0 offset=2 align=1 (i32.const 8) ) ) (drop - (f32.load + (f32.load $0 (i32.const 2) ) ) (drop - (f64.load offset=2 + (f64.load $0 offset=2 (i32.const 9) ) ) - (i32.store + (i32.store $0 (i32.const 10) (i32.const 11) ) - (i64.store offset=2 align=4 + (i64.store $0 offset=2 align=4 (i32.const 110) (i64.const 111) ) @@ -2095,21 +2095,21 @@ getExpressionInfo(tuple[3])={"id":14,"type":5,"value":3.7} ) ) ) - (i32.atomic.store + (i32.atomic.store $0 (i32.const 0) - (i32.atomic.load + (i32.atomic.load $0 (i32.const 0) ) ) (drop - (memory.atomic.wait32 + (memory.atomic.wait32 $0 (i32.const 0) (i32.const 0) (i64.const 0) ) ) (drop - (memory.atomic.notify + (memory.atomic.notify $0 (i32.const 0) (i32.const 0) ) @@ -2167,6 +2167,7 @@ getExpressionInfo(tuple[3])={"id":14,"type":5,"value":3.7} (pop dataref) ) (drop +<<<<<<< HEAD (pop stringref) ) (drop @@ -2180,9 +2181,12 @@ getExpressionInfo(tuple[3])={"id":14,"type":5,"value":3.7} ) (drop (memory.size) +======= + (memory.size $0) +>>>>>>> b9160423d (updating binaryenjs test output) ) (drop - (memory.grow + (memory.grow $0 (i32.const 0) ) ) @@ -3851,142 +3855,142 @@ getExpressionInfo(tuple[3])={"id":14,"type":5,"value":3.7} ) ) (drop - (v128.load8_splat + (v128.load8_splat $0 (i32.const 128) ) ) (drop - (v128.load16_splat offset=16 align=1 + (v128.load16_splat $0 offset=16 align=1 (i32.const 128) ) ) (drop - (v128.load32_splat offset=16 + (v128.load32_splat $0 offset=16 (i32.const 128) ) ) (drop - (v128.load64_splat align=4 + (v128.load64_splat $0 align=4 (i32.const 128) ) ) (drop - (v128.load8x8_s + (v128.load8x8_s $0 (i32.const 128) ) ) (drop - (v128.load8x8_u + (v128.load8x8_u $0 (i32.const 128) ) ) (drop - (v128.load16x4_s + (v128.load16x4_s $0 (i32.const 128) ) ) (drop - (v128.load16x4_u + (v128.load16x4_u $0 (i32.const 128) ) ) (drop - (v128.load32x2_s + (v128.load32x2_s $0 (i32.const 128) ) ) (drop - (v128.load32x2_u + (v128.load32x2_u $0 (i32.const 128) ) ) (drop - (v128.load32_zero + (v128.load32_zero $0 (i32.const 128) ) ) (drop - (v128.load64_zero + (v128.load64_zero $0 (i32.const 128) ) ) (drop - (v128.load8_lane 0 + (v128.load8_lane $0 0 (i32.const 128) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (v128.load8_lane offset=1 15 + (v128.load8_lane $0 offset=1 15 (i32.const 128) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (v128.load16_lane 0 + (v128.load16_lane $0 0 (i32.const 128) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (v128.load16_lane offset=2 align=1 7 + (v128.load16_lane $0 offset=2 align=1 7 (i32.const 128) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (v128.load32_lane 0 + (v128.load32_lane $0 0 (i32.const 128) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (v128.load32_lane offset=4 align=2 3 + (v128.load32_lane $0 offset=4 align=2 3 (i32.const 128) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (v128.load64_lane 0 + (v128.load64_lane $0 0 (i32.const 128) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (v128.load64_lane offset=8 align=4 1 + (v128.load64_lane $0 offset=8 align=4 1 (i32.const 128) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) - (v128.store8_lane 0 + (v128.store8_lane $0 0 (i32.const 128) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) - (v128.store8_lane offset=1 15 + (v128.store8_lane $0 offset=1 15 (i32.const 128) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) - (v128.store16_lane 0 + (v128.store16_lane $0 0 (i32.const 128) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) - (v128.store16_lane offset=2 align=1 7 + (v128.store16_lane $0 offset=2 align=1 7 (i32.const 128) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) - (v128.store32_lane 0 + (v128.store32_lane $0 0 (i32.const 128) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) - (v128.store32_lane offset=4 align=2 3 + (v128.store32_lane $0 offset=4 align=2 3 (i32.const 128) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) - (v128.store64_lane 0 + (v128.store64_lane $0 0 (i32.const 128) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) - (v128.store64_lane offset=8 align=4 1 + (v128.store64_lane $0 offset=8 align=4 1 (i32.const 128) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) @@ -4003,18 +4007,18 @@ getExpressionInfo(tuple[3])={"id":14,"type":5,"value":3.7} (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) - (memory.init 0 + (memory.init $0 0 (i32.const 1024) (i32.const 0) (i32.const 12) ) (data.drop 0) - (memory.copy + (memory.copy $0 $0 (i32.const 2048) (i32.const 1024) (i32.const 12) ) - (memory.fill + (memory.fill $0 (i32.const 0) (i32.const 42) (i32.const 1024) @@ -4109,30 +4113,30 @@ getExpressionInfo(tuple[3])={"id":14,"type":5,"value":3.7} ) ) (drop - (i32.load + (i32.load $0 (i32.const 1) ) ) (drop - (i64.load16_s offset=2 align=1 + (i64.load16_s $0 offset=2 align=1 (i32.const 8) ) ) (drop - (f32.load + (f32.load $0 (i32.const 2) ) ) (drop - (f64.load offset=2 + (f64.load $0 offset=2 (i32.const 9) ) ) - (i32.store + (i32.store $0 (i32.const 10) (i32.const 11) ) - (i64.store offset=2 align=4 + (i64.store $0 offset=2 align=4 (i32.const 110) (i64.const 111) ) @@ -4199,21 +4203,21 @@ getExpressionInfo(tuple[3])={"id":14,"type":5,"value":3.7} ) ) ) - (i32.atomic.store + (i32.atomic.store $0 (i32.const 0) - (i32.atomic.load + (i32.atomic.load $0 (i32.const 0) ) ) (drop - (memory.atomic.wait32 + (memory.atomic.wait32 $0 (i32.const 0) (i32.const 0) (i64.const 0) ) ) (drop - (memory.atomic.notify + (memory.atomic.notify $0 (i32.const 0) (i32.const 0) ) @@ -4283,10 +4287,10 @@ getExpressionInfo(tuple[3])={"id":14,"type":5,"value":3.7} (pop stringview_iter) ) (drop - (memory.size) + (memory.size $0) ) (drop - (memory.grow + (memory.grow $0 (i32.const 0) ) ) diff --git a/test/binaryen.js/low-memory-unused.js.txt b/test/binaryen.js/low-memory-unused.js.txt index 08c36575dd2..f1df597af0c 100644 --- a/test/binaryen.js/low-memory-unused.js.txt +++ b/test/binaryen.js/low-memory-unused.js.txt @@ -18,7 +18,7 @@ (memory $0 1) (export "test" (func $test)) (func $test (param $0 i32) (result i32) - (i32.load + (i32.load $0 (i32.add (local.get $0) (i32.const 128) @@ -33,7 +33,7 @@ (memory $0 1) (export "test" (func $test)) (func $test (; has Stack IR ;) (param $0 i32) (result i32) - (i32.load + (i32.load $0 (i32.add (local.get $0) (i32.const 128) @@ -49,7 +49,7 @@ (memory $0 1) (export "test" (func $test)) (func $test (; has Stack IR ;) (param $0 i32) (result i32) - (i32.load offset=128 + (i32.load $0 offset=128 (local.get $0) ) ) diff --git a/test/binaryen.js/sieve.js.txt b/test/binaryen.js/sieve.js.txt index 1da65a09f15..b8a01057c9b 100644 --- a/test/binaryen.js/sieve.js.txt +++ b/test/binaryen.js/sieve.js.txt @@ -7,13 +7,13 @@ (if (i32.lt_u (i32.mul - (memory.size) + (memory.size $0) (i32.const 65536) ) (local.get $0) ) (drop - (memory.grow + (memory.grow $0 (i32.sub (i32.div_u (i32.add @@ -22,7 +22,7 @@ ) (i32.const 65536) ) - (memory.size) + (memory.size $0) ) ) ) @@ -31,7 +31,7 @@ (i32.const 0) ) (loop $clear - (i32.store8 + (i32.store8 $0 (local.get $1) (i32.const 0) ) @@ -65,13 +65,13 @@ optimized: (if (i32.lt_u (i32.shl - (memory.size) + (memory.size $0) (i32.const 16) ) (local.get $0) ) (drop - (memory.grow + (memory.grow $0 (i32.sub (i32.shr_u (i32.add @@ -80,13 +80,13 @@ optimized: ) (i32.const 16) ) - (memory.size) + (memory.size $0) ) ) ) ) (loop $clear - (i32.store8 + (i32.store8 $0 (local.get $1) (i32.const 0) ) From 6bd54f55b1411d706576a17d86595742974bea4a Mon Sep 17 00:00:00 2001 From: Ashley Nelson Date: Wed, 27 Jul 2022 17:30:50 +0000 Subject: [PATCH 62/78] converted memoryRefs to vector of Name* --- src/wasm-binary.h | 4 +-- src/wasm/wasm-binary.cpp | 64 ++++++++++------------------------------ 2 files changed, 17 insertions(+), 51 deletions(-) diff --git a/src/wasm-binary.h b/src/wasm-binary.h index e0d3410d072..9bd23b6823f 100644 --- a/src/wasm-binary.h +++ b/src/wasm-binary.h @@ -1537,9 +1537,7 @@ class WasmBinaryBuilder { // their names std::vector memoryImports; // at index i we have all references to the memory i - std::map> memoryRefs; - // special case for memoryCopy having two pointers to memory - std::map> memoryCopyRefs; + std::map> memoryRefs; // we store data here after being read from binary, before we know their names std::vector> dataSegments; diff --git a/src/wasm/wasm-binary.cpp b/src/wasm/wasm-binary.cpp index 43e9ccd9d48..4b8dee108cd 100644 --- a/src/wasm/wasm-binary.cpp +++ b/src/wasm/wasm-binary.cpp @@ -2997,38 +2997,6 @@ void WasmBinaryBuilder::processNames() { } for (auto& [index, refs] : memoryRefs) { - for (auto* ref : refs) { - if (auto* load = ref->dynCast()) { - load->memory = getMemoryName(index); - } else if (auto* store = ref->dynCast()) { - store->memory = getMemoryName(index); - } else if (auto* size = ref->dynCast()) { - size->memory = getMemoryName(index); - } else if (auto* grow = ref->dynCast()) { - grow->memory = getMemoryName(index); - } else if (auto* fill = ref->dynCast()) { - fill->memory = getMemoryName(index); - } else if (auto* init = ref->dynCast()) { - init->memory = getMemoryName(index); - } else if (auto* rmw = ref->dynCast()) { - rmw->memory = getMemoryName(index); - } else if (auto* cmpxchg = ref->dynCast()) { - cmpxchg->memory = getMemoryName(index); - } else if (auto* wait = ref->dynCast()) { - wait->memory = getMemoryName(index); - } else if (auto* notify = ref->dynCast()) { - notify->memory = getMemoryName(index); - } else if (auto* simdLoad = ref->dynCast()) { - simdLoad->memory = getMemoryName(index); - } else if (auto* simdLane = ref->dynCast()) { - simdLane->memory = getMemoryName(index); - } else { - WASM_UNREACHABLE("Invalid type in memory references"); - } - } - } - - for (auto& [index, refs] : memoryCopyRefs) { for (auto ref : refs) { *ref = getMemoryName(index); } @@ -4545,7 +4513,7 @@ bool WasmBinaryBuilder::maybeVisitLoad(Expression*& out, curr->isAtomic = isAtomic; Index memIdx = readMemoryAlignment(curr->align, curr->offset); - memoryRefs[memIdx].push_back(curr); + memoryRefs[memIdx].push_back(&curr->memory); curr->ptr = popNonVoidExpression(); curr->finalize(); out = curr; @@ -4651,7 +4619,7 @@ bool WasmBinaryBuilder::maybeVisitStore(Expression*& out, curr->isAtomic = isAtomic; BYN_TRACE("zz node: Store\n"); Index memIdx = readMemoryAlignment(curr->align, curr->offset); - memoryRefs[memIdx].push_back(curr); + memoryRefs[memIdx].push_back(&curr->memory); curr->value = popNonVoidExpression(); curr->ptr = popNonVoidExpression(); curr->finalize(); @@ -4712,7 +4680,7 @@ bool WasmBinaryBuilder::maybeVisitAtomicRMW(Expression*& out, uint8_t code) { BYN_TRACE("zz node: AtomicRMW\n"); Address readAlign; Index memIdx = readMemoryAlignment(readAlign, curr->offset); - memoryRefs[memIdx].push_back(curr); + memoryRefs[memIdx].push_back(&curr->memory); if (readAlign != curr->bytes) { throwError("Align of AtomicRMW must match size"); } @@ -4765,7 +4733,7 @@ bool WasmBinaryBuilder::maybeVisitAtomicCmpxchg(Expression*& out, BYN_TRACE("zz node: AtomicCmpxchg\n"); Address readAlign; Index memIdx = readMemoryAlignment(readAlign, curr->offset); - memoryRefs[memIdx].push_back(curr); + memoryRefs[memIdx].push_back(&curr->memory); if (readAlign != curr->bytes) { throwError("Align of AtomicCpxchg must match size"); } @@ -4801,7 +4769,7 @@ bool WasmBinaryBuilder::maybeVisitAtomicWait(Expression*& out, uint8_t code) { curr->ptr = popNonVoidExpression(); Address readAlign; Index memIdx = readMemoryAlignment(readAlign, curr->offset); - memoryRefs[memIdx].push_back(curr); + memoryRefs[memIdx].push_back(&curr->memory); if (readAlign != curr->expectedType.getByteSize()) { throwError("Align of AtomicWait must match size"); } @@ -4822,7 +4790,7 @@ bool WasmBinaryBuilder::maybeVisitAtomicNotify(Expression*& out, uint8_t code) { curr->ptr = popNonVoidExpression(); Address readAlign; Index memIdx = readMemoryAlignment(readAlign, curr->offset); - memoryRefs[memIdx].push_back(curr); + memoryRefs[memIdx].push_back(&curr->memory); if (readAlign != curr->type.getByteSize()) { throwError("Align of AtomicNotify must match size"); } @@ -5155,7 +5123,7 @@ bool WasmBinaryBuilder::maybeVisitMemoryInit(Expression*& out, uint32_t code) { curr->segment = getU32LEB(); Index memIdx = getU32LEB(); curr->finalize(); - memoryRefs[memIdx].push_back(curr); + memoryRefs[memIdx].push_back(&curr->memory); out = curr; return true; } @@ -5182,8 +5150,8 @@ bool WasmBinaryBuilder::maybeVisitMemoryCopy(Expression*& out, uint32_t code) { Index destIdx = getU32LEB(); Index sourceIdx = getU32LEB(); curr->finalize(); - memoryCopyRefs[destIdx].push_back(&curr->destMemory); - memoryCopyRefs[sourceIdx].push_back(&curr->sourceMemory); + memoryRefs[destIdx].push_back(&curr->destMemory); + memoryRefs[sourceIdx].push_back(&curr->sourceMemory); out = curr; return true; } @@ -5198,7 +5166,7 @@ bool WasmBinaryBuilder::maybeVisitMemoryFill(Expression*& out, uint32_t code) { curr->dest = popNonVoidExpression(); Index memIdx = getU32LEB(); curr->finalize(); - memoryRefs[memIdx].push_back(curr); + memoryRefs[memIdx].push_back(&curr->memory); out = curr; return true; } @@ -6143,7 +6111,7 @@ bool WasmBinaryBuilder::maybeVisitSIMDStore(Expression*& out, uint32_t code) { curr->bytes = 16; curr->valueType = Type::v128; Index memIdx = readMemoryAlignment(curr->align, curr->offset); - memoryRefs[memIdx].push_back(curr); + memoryRefs[memIdx].push_back(&curr->memory); curr->isAtomic = false; curr->value = popNonVoidExpression(); curr->ptr = popNonVoidExpression(); @@ -6383,7 +6351,7 @@ bool WasmBinaryBuilder::maybeVisitSIMDLoad(Expression*& out, uint32_t code) { curr->type = Type::v128; curr->bytes = 16; Index memIdx = readMemoryAlignment(curr->align, curr->offset); - memoryRefs[memIdx].push_back(curr); + memoryRefs[memIdx].push_back(&curr->memory); curr->isAtomic = false; curr->ptr = popNonVoidExpression(); curr->finalize(); @@ -6444,7 +6412,7 @@ bool WasmBinaryBuilder::maybeVisitSIMDLoad(Expression*& out, uint32_t code) { return false; } Index memIdx = readMemoryAlignment(curr->align, curr->offset); - memoryRefs[memIdx].push_back(curr); + memoryRefs[memIdx].push_back(&curr->memory); curr->ptr = popNonVoidExpression(); curr->finalize(); out = curr; @@ -6494,7 +6462,7 @@ bool WasmBinaryBuilder::maybeVisitSIMDLoadStoreLane(Expression*& out, auto* curr = allocator.alloc(); curr->op = op; Index memIdx = readMemoryAlignment(curr->align, curr->offset); - memoryRefs[memIdx].push_back(curr); + memoryRefs[memIdx].push_back(&curr->memory); curr->index = getLaneIndex(lanes); curr->vec = popNonVoidExpression(); curr->ptr = popNonVoidExpression(); @@ -6537,7 +6505,7 @@ void WasmBinaryBuilder::visitMemorySize(MemorySize* curr) { BYN_TRACE("zz node: MemorySize\n"); Index memIdx = getU32LEB(); curr->finalize(); - memoryRefs[memIdx].push_back(curr); + memoryRefs[memIdx].push_back(&curr->memory); } void WasmBinaryBuilder::visitMemoryGrow(MemoryGrow* curr) { @@ -6545,7 +6513,7 @@ void WasmBinaryBuilder::visitMemoryGrow(MemoryGrow* curr) { curr->delta = popNonVoidExpression(); Index memIdx = getU32LEB(); curr->finalize(); - memoryRefs[memIdx].push_back(curr); + memoryRefs[memIdx].push_back(&curr->memory); } void WasmBinaryBuilder::visitNop(Nop* curr) { BYN_TRACE("zz node: Nop\n"); } From 234066962fc4b84576de17400e727b2c8d7efa63 Mon Sep 17 00:00:00 2001 From: Ashley Nelson Date: Thu, 28 Jul 2022 22:25:42 +0000 Subject: [PATCH 63/78] parsing --- src/wasm-s-parser.h | 4 +- src/wasm/wasm-s-parser.cpp | 156 ++++++++++++++++++++----------------- 2 files changed, 89 insertions(+), 71 deletions(-) diff --git a/src/wasm-s-parser.h b/src/wasm-s-parser.h index 15524813ed8..5bc77888315 100644 --- a/src/wasm-s-parser.h +++ b/src/wasm-s-parser.h @@ -168,7 +168,6 @@ class SExpressionWasmBuilder { UniqueNameMapper nameMapper; - Memory getMemoryAtIdx(Index idx); Name getFunctionName(Element& s); Name getTableName(Element& s); @@ -176,6 +175,8 @@ class SExpressionWasmBuilder { Name getGlobalName(Element& s); Name getTagName(Element& s); void parseStart(Element& s) { wasm.addStart(getFunctionName(*s[1])); } + Name getMemoryNameAtIdx(Index i); + bool isMemory64(Name memoryName); // returns the next index in s size_t parseFunctionNames(Element& s, Name& name, Name& exportName); @@ -318,6 +319,7 @@ class SExpressionWasmBuilder { Type parseOptionalResultType(Element& s, Index& i); Index parseMemoryLimits(Element& s, Index i, std::unique_ptr& memory); Index parseMemoryIndex(Element& s, Index i, std::unique_ptr& memory); + Index parseMemoryForInstruction(const std::string& instrName, Memory& memory, Element& s, Index i); std::vector parseParamOrLocal(Element& s); std::vector parseParamOrLocal(Element& s, size_t& localIndex); std::vector parseResults(Element& s); diff --git a/src/wasm/wasm-s-parser.cpp b/src/wasm/wasm-s-parser.cpp index 6fa51c05675..4b69dafed77 100644 --- a/src/wasm/wasm-s-parser.cpp +++ b/src/wasm/wasm-s-parser.cpp @@ -503,12 +503,19 @@ Name SExpressionWasmBuilder::getTableName(Element& s) { } } -Memory SExpressionWasmBuilder::getMemoryAtIdx(Index idx) { - if (idx < wasm.memories.size()) { - auto& memory = wasm.memories[idx]; - return *memory; +bool SExpressionWasmBuilder::isMemory64(Name memoryName) { + auto* memory = wasm.getMemoryOrNull(memoryName); + if (!memory) { + throw ParseException("invalid memory name in isMemory64"); } - throw ParseException("Tried to access memories at idx > size"); + return memory->is64(); +} + +Name SExpressionWasmBuilder::getMemoryNameAtIdx(Index i) { + if (i >= memoryNames.size()) { + throw ParseException("unknown memory in getMemoryName"); + } + return memoryNames[i]; } Name SExpressionWasmBuilder::getMemoryName(Element& s) { @@ -517,10 +524,7 @@ Name SExpressionWasmBuilder::getMemoryName(Element& s) { } else { // index size_t offset = atoi(s.str().c_str()); - if (offset >= memoryNames.size()) { - throw ParseException("unknown memory in getMemoryName", s.line, s.col); - } - return memoryNames[offset]; + return getMemoryNameAtIdx(offset); } } @@ -1389,13 +1393,14 @@ Expression* SExpressionWasmBuilder::makeDrop(Element& s) { Expression* SExpressionWasmBuilder::makeMemorySize(Element& s) { auto ret = allocator.alloc(); Index i = 1; - Index memIdx = 0; + Name memory; if (s.size() > 1) { - memIdx = atoi(s[i]->c_str()); + memory = getMemoryName(*s[i++]); + } else { + memory = getMemoryNameAtIdx(0); } - auto memory = getMemoryAtIdx(memIdx); - ret->memory = memory.name; - if (memory.is64()) { + ret->memory = memory; + if (isMemory64(memory)) { ret->make64(); } ret->finalize(); @@ -1405,13 +1410,14 @@ Expression* SExpressionWasmBuilder::makeMemorySize(Element& s) { Expression* SExpressionWasmBuilder::makeMemoryGrow(Element& s) { auto ret = allocator.alloc(); Index i = 1; - Index memIdx = 0; + Name memory; if (s.size() > 2) { - memIdx = atoi(s[i++]->c_str()); + memory = getMemoryName(*s[i++]); + } else { + memory = getMemoryNameAtIdx(0); } - auto memory = getMemoryAtIdx(memIdx); - ret->memory = memory.name; - if (memory.is64()) { + ret->memory = memory; + if (isMemory64(memory)) { ret->make64(); } ret->delta = parseExpression(s[i]); @@ -1936,16 +1942,17 @@ SExpressionWasmBuilder::makeLoad(Element& s, Type type, bool isAtomic) { ret->bytes = parseMemBytes(extra, type.getByteSize()); ret->signed_ = extra[0] && extra[1] == 's'; Index i = 1; - Index memIdx = 0; + Name memory; // Check to make sure there are more than the default args & this str isn't // the mem attributes if (s.size() > 2 && !s[i]->isList() && strncmp(s[i]->c_str(), "align", 5) != 0 && strncmp(s[i]->c_str(), "offset", 6) != 0) { - memIdx = atoi(s[i++]->c_str()); + memory = getMemoryName(*s[i++]); + } else { + memory = getMemoryNameAtIdx(0); } - auto memory = getMemoryAtIdx(memIdx); - ret->memory = memory.name; + ret->memory = memory; i = parseMemAttributes(i, s, ret->offset, ret->align, ret->bytes); ret->ptr = parseExpression(s[i]); ret->finalize(); @@ -1960,16 +1967,17 @@ SExpressionWasmBuilder::makeStore(Element& s, Type type, bool isAtomic) { ret->valueType = type; ret->bytes = parseMemBytes(extra, type.getByteSize()); Index i = 1; - Index memIdx = 0; + Name memory; // Check to make sure there are more than the default args & this str isn't // the mem attributes if (s.size() > 3 && !s[i]->isList() && strncmp(s[i]->c_str(), "align", 5) != 0 && strncmp(s[i]->c_str(), "offset", 6) != 0) { - memIdx = atoi(s[i++]->c_str()); + memory = getMemoryName(*s[i++]); + } else { + memory = getMemoryNameAtIdx(0); } - auto memory = getMemoryAtIdx(memIdx); - ret->memory = memory.name; + ret->memory = memory; i = parseMemAttributes(i, s, ret->offset, ret->align, ret->bytes); ret->ptr = parseExpression(s[i]); ret->value = parseExpression(s[i + 1]); @@ -2015,16 +2023,17 @@ Expression* SExpressionWasmBuilder::makeAtomicRMW(Element& s, throw ParseException("bad atomic rmw operator", s.line, s.col); } Index i = 1; - Index memIdx = 0; + Name memory; // Check to make sure there are more than the default args & this str isn't // the mem attributes if (s.size() > 3 && !s[i]->isList() && strncmp(s[i]->c_str(), "align", 5) != 0 && strncmp(s[i]->c_str(), "offset", 6) != 0) { - memIdx = atoi(s[i++]->c_str()); + memory = getMemoryName(*s[i++]); + } else { + memory = getMemoryNameAtIdx(0); } - auto memory = getMemoryAtIdx(memIdx); - ret->memory = memory.name; + ret->memory = memory; Address align; i = parseMemAttributes(i, s, ret->offset, align, ret->bytes); if (align != ret->bytes) { @@ -2045,16 +2054,17 @@ Expression* SExpressionWasmBuilder::makeAtomicCmpxchg(Element& s, ret->bytes = bytes; Index i = 1; Address align; - Index memIdx = 0; + Name memory; // Check to make sure there are more than the default args & this str isn't // the mem attributes if (s.size() > 4 && !s[i]->isList() && strncmp(s[i]->c_str(), "align", 5) != 0 && strncmp(s[i]->c_str(), "offset", 6) != 0) { - memIdx = atoi(s[i++]->c_str()); + memory = getMemoryName(*s[i++]); + } else { + memory = getMemoryNameAtIdx(0); } - auto memory = getMemoryAtIdx(memIdx); - ret->memory = memory.name; + ret->memory = memory; i = parseMemAttributes(i, s, ret->offset, align, ret->bytes); if (align != ret->bytes) { throw ParseException( @@ -2081,16 +2091,17 @@ Expression* SExpressionWasmBuilder::makeAtomicWait(Element& s, Type type) { WASM_UNREACHABLE("Invalid prefix for memory.atomic.wait"); } Index i = 1; - Index memIdx = 0; + Name memory; // Check to make sure there are more than the default args & this str isn't // the mem attributes if (s.size() > 4 && !s[i]->isList() && strncmp(s[i]->c_str(), "align", 5) != 0 && strncmp(s[i]->c_str(), "offset", 6) != 0) { - memIdx = atoi(s[i++]->c_str()); + memory = getMemoryName(*s[i++]); + } else { + memory = getMemoryNameAtIdx(0); } - auto memory = getMemoryAtIdx(memIdx); - ret->memory = memory.name; + ret->memory = memory; i = parseMemAttributes(i, s, ret->offset, align, expectedAlign); if (align != expectedAlign) { throw ParseException( @@ -2107,16 +2118,17 @@ Expression* SExpressionWasmBuilder::makeAtomicNotify(Element& s) { auto ret = allocator.alloc(); ret->type = Type::i32; Index i = 1; - Index memIdx = 0; + Name memory; // Check to make sure there are more than the default args & this str isn't // the mem attributes if (s.size() > 3 && !s[i]->isList() && strncmp(s[i]->c_str(), "align", 5) != 0 && strncmp(s[i]->c_str(), "offset", 6) != 0) { - memIdx = atoi(s[i++]->c_str()); + memory = getMemoryName(*s[i++]); + } else { + memory = getMemoryNameAtIdx(0); } - auto memory = getMemoryAtIdx(memIdx); - ret->memory = memory.name; + ret->memory = memory; Address align; i = parseMemAttributes(i, s, ret->offset, align, 4); if (align != 4) { @@ -2228,16 +2240,17 @@ Expression* SExpressionWasmBuilder::makeSIMDLoad(Element& s, SIMDLoadOp op) { break; } Index i = 1; - Index memIdx = 0; + Name memory; // Check to make sure there are more than the default args & this str isn't // the mem attributes if (s.size() > 2 && !s[i]->isList() && strncmp(s[i]->c_str(), "align", 5) != 0 && strncmp(s[i]->c_str(), "offset", 6) != 0) { - memIdx = atoi(s[i++]->c_str()); + memory = getMemoryName(*s[i++]); + } else { + memory = getMemoryNameAtIdx(0); } - auto memory = getMemoryAtIdx(memIdx); - ret->memory = memory.name; + ret->memory = memory; i = parseMemAttributes(i, s, ret->offset, ret->align, defaultAlign); ret->ptr = parseExpression(s[i]); ret->finalize(); @@ -2276,16 +2289,17 @@ SExpressionWasmBuilder::makeSIMDLoadStoreLane(Element& s, WASM_UNREACHABLE("Unexpected SIMDLoadStoreLane op"); } Index i = 1; - Index memIdx = 0; + Name memory; // Check to make sure there are more than the default args & this str isn't // the mem attributes if (s.size() > 4 && !s[i]->isList() && strncmp(s[i]->c_str(), "align", 5) != 0 && strncmp(s[i]->c_str(), "offset", 6) != 0) { - memIdx = atoi(s[i++]->c_str()); + memory = getMemoryName(*s[i++]); + } else { + memory = getMemoryNameAtIdx(0); } - auto memory = getMemoryAtIdx(memIdx); - ret->memory = memory.name; + ret->memory = memory; i = parseMemAttributes(i, s, ret->offset, ret->align, defaultAlign); ret->index = parseLaneIndex(s[i++], lanes); ret->ptr = parseExpression(s[i++]); @@ -2297,12 +2311,13 @@ SExpressionWasmBuilder::makeSIMDLoadStoreLane(Element& s, Expression* SExpressionWasmBuilder::makeMemoryInit(Element& s) { auto ret = allocator.alloc(); Index i = 1; - Index memIdx = 0; + Name memory; if (s.size() > 5) { - memIdx = atoi(s[i++]->c_str()); + memory = getMemoryName(*s[i++]); + } else { + memory = getMemoryNameAtIdx(0); } - auto memory = getMemoryAtIdx(memIdx); - ret->memory = memory.name; + ret->memory = memory; ret->segment = atoi(s[i++]->str().c_str()); ret->dest = parseExpression(s[i++]); ret->offset = parseExpression(s[i++]); @@ -2321,16 +2336,17 @@ Expression* SExpressionWasmBuilder::makeDataDrop(Element& s) { Expression* SExpressionWasmBuilder::makeMemoryCopy(Element& s) { auto ret = allocator.alloc(); Index i = 1; - Index destIdx = 0; - Index sourceIdx = 0; + Name destMemory; + Name sourceMemory; if (s.size() > 4) { - destIdx = atoi(s[i++]->c_str()); - sourceIdx = atoi(s[i++]->c_str()); + destMemory = getMemoryName(*s[i++]); + sourceMemory = getMemoryName(*s[i++]); + } else { + destMemory = getMemoryNameAtIdx(0); + sourceMemory = getMemoryNameAtIdx(0); } - auto destMemory = getMemoryAtIdx(destIdx); - auto sourceMemory = getMemoryAtIdx(sourceIdx); - ret->destMemory = destMemory.name; - ret->sourceMemory = sourceMemory.name; + ret->destMemory = destMemory; + ret->sourceMemory = sourceMemory; ret->dest = parseExpression(s[i++]); ret->source = parseExpression(s[i++]); ret->size = parseExpression(s[i]); @@ -2341,12 +2357,13 @@ Expression* SExpressionWasmBuilder::makeMemoryCopy(Element& s) { Expression* SExpressionWasmBuilder::makeMemoryFill(Element& s) { auto ret = allocator.alloc(); Index i = 1; - Index memIdx = 0; + Name memory; if (s.size() > 4) { - memIdx = atoi(s[i++]->c_str()); + memory = getMemoryName(*s[i++]); + } else { + memory = getMemoryNameAtIdx(0); } - auto memory = getMemoryAtIdx(memIdx); - ret->memory = memory.name; + ret->memory = memory; ret->dest = parseExpression(s[i++]); ret->value = parseExpression(s[i++]); ret->size = parseExpression(s[i]); @@ -3312,6 +3329,8 @@ void SExpressionWasmBuilder::parseData(Element& s) { if (elementStartsWith(s[i], MEMORY)) { auto& inner = *s[i++]; memory = getMemoryName(*inner[1]); + } else { + memory = getMemoryNameAtIdx(0); } // Offset expression (offset ()) | () auto& inner = *s[i++]; @@ -3320,9 +3339,6 @@ void SExpressionWasmBuilder::parseData(Element& s) { } else { offset = parseExpression(inner); } - if (memory.isNull()) { - memory = getMemoryAtIdx(0).name; - } isPassive = false; } From af99ee0f1cb740b3f4423ab81a98d2221e7fb1f0 Mon Sep 17 00:00:00 2001 From: Ashley Nelson Date: Thu, 28 Jul 2022 23:07:53 +0000 Subject: [PATCH 64/78] helper func --- src/wasm-s-parser.h | 2 ++ src/wasm/wasm-s-parser.cpp | 41 ++++++++++++++++---------------------- 2 files changed, 19 insertions(+), 24 deletions(-) diff --git a/src/wasm-s-parser.h b/src/wasm-s-parser.h index 5bc77888315..b862921f199 100644 --- a/src/wasm-s-parser.h +++ b/src/wasm-s-parser.h @@ -175,8 +175,10 @@ class SExpressionWasmBuilder { Name getGlobalName(Element& s); Name getTagName(Element& s); void parseStart(Element& s) { wasm.addStart(getFunctionName(*s[1])); } + Name getMemoryNameAtIdx(Index i); bool isMemory64(Name memoryName); + bool hasMemoryIdx(Element& s, Index defaultSize, Index i); // returns the next index in s size_t parseFunctionNames(Element& s, Name& name, Name& exportName); diff --git a/src/wasm/wasm-s-parser.cpp b/src/wasm/wasm-s-parser.cpp index 4b69dafed77..4af219c59a7 100644 --- a/src/wasm/wasm-s-parser.cpp +++ b/src/wasm/wasm-s-parser.cpp @@ -1933,6 +1933,15 @@ static const char* findMemExtra(const Element& s, size_t skip, bool isAtomic) { return ret; } +bool SExpressionWasmBuilder::hasMemoryIdx(Element& s, Index defaultSize, Index i) { + if (s.size() > defaultSize && !s[i]->isList() && + strncmp(s[i]->c_str(), "align", 5) != 0 && + strncmp(s[i]->c_str(), "offset", 6) != 0) { + return true; + } + return false; +} + Expression* SExpressionWasmBuilder::makeLoad(Element& s, Type type, bool isAtomic) { const char* extra = findMemExtra(*s[0], 5 /* after "type.load" */, isAtomic); @@ -1945,9 +1954,7 @@ SExpressionWasmBuilder::makeLoad(Element& s, Type type, bool isAtomic) { Name memory; // Check to make sure there are more than the default args & this str isn't // the mem attributes - if (s.size() > 2 && !s[i]->isList() && - strncmp(s[i]->c_str(), "align", 5) != 0 && - strncmp(s[i]->c_str(), "offset", 6) != 0) { + if (hasMemoryIdx(s, 2, i)) { memory = getMemoryName(*s[i++]); } else { memory = getMemoryNameAtIdx(0); @@ -1970,9 +1977,7 @@ SExpressionWasmBuilder::makeStore(Element& s, Type type, bool isAtomic) { Name memory; // Check to make sure there are more than the default args & this str isn't // the mem attributes - if (s.size() > 3 && !s[i]->isList() && - strncmp(s[i]->c_str(), "align", 5) != 0 && - strncmp(s[i]->c_str(), "offset", 6) != 0) { + if (hasMemoryIdx(s, 3, i)) { memory = getMemoryName(*s[i++]); } else { memory = getMemoryNameAtIdx(0); @@ -2026,9 +2031,7 @@ Expression* SExpressionWasmBuilder::makeAtomicRMW(Element& s, Name memory; // Check to make sure there are more than the default args & this str isn't // the mem attributes - if (s.size() > 3 && !s[i]->isList() && - strncmp(s[i]->c_str(), "align", 5) != 0 && - strncmp(s[i]->c_str(), "offset", 6) != 0) { + if (hasMemoryIdx(s, 3, i)) { memory = getMemoryName(*s[i++]); } else { memory = getMemoryNameAtIdx(0); @@ -2057,9 +2060,7 @@ Expression* SExpressionWasmBuilder::makeAtomicCmpxchg(Element& s, Name memory; // Check to make sure there are more than the default args & this str isn't // the mem attributes - if (s.size() > 4 && !s[i]->isList() && - strncmp(s[i]->c_str(), "align", 5) != 0 && - strncmp(s[i]->c_str(), "offset", 6) != 0) { + if (hasMemoryIdx(s, 4, i)) { memory = getMemoryName(*s[i++]); } else { memory = getMemoryNameAtIdx(0); @@ -2094,9 +2095,7 @@ Expression* SExpressionWasmBuilder::makeAtomicWait(Element& s, Type type) { Name memory; // Check to make sure there are more than the default args & this str isn't // the mem attributes - if (s.size() > 4 && !s[i]->isList() && - strncmp(s[i]->c_str(), "align", 5) != 0 && - strncmp(s[i]->c_str(), "offset", 6) != 0) { + if (hasMemoryIdx(s, 4, i)) { memory = getMemoryName(*s[i++]); } else { memory = getMemoryNameAtIdx(0); @@ -2121,9 +2120,7 @@ Expression* SExpressionWasmBuilder::makeAtomicNotify(Element& s) { Name memory; // Check to make sure there are more than the default args & this str isn't // the mem attributes - if (s.size() > 3 && !s[i]->isList() && - strncmp(s[i]->c_str(), "align", 5) != 0 && - strncmp(s[i]->c_str(), "offset", 6) != 0) { + if (hasMemoryIdx(s, 3, i)) { memory = getMemoryName(*s[i++]); } else { memory = getMemoryNameAtIdx(0); @@ -2243,9 +2240,7 @@ Expression* SExpressionWasmBuilder::makeSIMDLoad(Element& s, SIMDLoadOp op) { Name memory; // Check to make sure there are more than the default args & this str isn't // the mem attributes - if (s.size() > 2 && !s[i]->isList() && - strncmp(s[i]->c_str(), "align", 5) != 0 && - strncmp(s[i]->c_str(), "offset", 6) != 0) { + if (hasMemoryIdx(s, 2, i)) { memory = getMemoryName(*s[i++]); } else { memory = getMemoryNameAtIdx(0); @@ -2292,9 +2287,7 @@ SExpressionWasmBuilder::makeSIMDLoadStoreLane(Element& s, Name memory; // Check to make sure there are more than the default args & this str isn't // the mem attributes - if (s.size() > 4 && !s[i]->isList() && - strncmp(s[i]->c_str(), "align", 5) != 0 && - strncmp(s[i]->c_str(), "offset", 6) != 0) { + if (hasMemoryIdx(s, 4, i)) { memory = getMemoryName(*s[i++]); } else { memory = getMemoryNameAtIdx(0); From 432d05e1616adc84532a8e5113b75a139925c182 Mon Sep 17 00:00:00 2001 From: Ashley Nelson Date: Fri, 29 Jul 2022 04:49:45 +0000 Subject: [PATCH 65/78] mem access --- src/wasm-binary.h | 2 +- src/wasm/wasm-binary.cpp | 37 +- src/wasm/wasm-stack.cpp | 7 +- test/example/c-api-unused-mem.txt | 2 +- test/passes/class_with_dwarf_noprint.bin.txt | 124 +- test/passes/dwarf-local-order.bin.txt | 116 +- test/passes/fannkuch0_dwarf.bin.txt | 4932 ++++++++--------- test/passes/fannkuch3_dwarf.bin.txt | 2884 +++++----- test/passes/fannkuch3_manyopts_dwarf.bin.txt | 2720 ++++----- test/passes/ignore_missing_func_dwarf.bin.txt | 200 +- test/passes/reverse_dwarf_abbrevs.bin.txt | 1646 +++--- 11 files changed, 6336 insertions(+), 6334 deletions(-) diff --git a/src/wasm-binary.h b/src/wasm-binary.h index 9bd23b6823f..9424f6fdaad 100644 --- a/src/wasm-binary.h +++ b/src/wasm-binary.h @@ -1659,7 +1659,7 @@ class WasmBinaryBuilder { BreakTarget getBreakTarget(int32_t offset); Name getExceptionTargetName(int32_t offset); - Index readMemoryAlignment(Address& alignment, Address& offset); + Index readMemoryAccess(Address& alignment, Address& offset); void visitIf(If* curr); void visitLoop(Loop* curr); diff --git a/src/wasm/wasm-binary.cpp b/src/wasm/wasm-binary.cpp index 4b8dee108cd..95afdb263b6 100644 --- a/src/wasm/wasm-binary.cpp +++ b/src/wasm/wasm-binary.cpp @@ -4345,20 +4345,21 @@ void WasmBinaryBuilder::visitGlobalSet(GlobalSet* curr) { curr->finalize(); } -Index WasmBinaryBuilder::readMemoryAlignment(Address& alignment, +Index WasmBinaryBuilder::readMemoryAccess(Address& alignment, Address& offset) { auto rawAlignment = getU32LEB(); - if (rawAlignment > 8) { - throwError("Alignment must be of a reasonable size"); - } - bool hasMemIdx = false; Index memIdx = 0; - // Check bit 6 in the alignment to know whether a memory index is present - // per + // Check bit 6 in the alignment to know whether a memory index is present per: // https://github.com/WebAssembly/multi-memory/blob/main/proposals/multi-memory/Overview.md - if (rawAlignment >= 6 && (rawAlignment & (1 << (6)))) { + if (rawAlignment & (1 << (6))) { hasMemIdx = true; + // Clear the bit before we parse alignment + rawAlignment = rawAlignment & ~(1 << 6); + } + + if (rawAlignment > 8) { + throwError("Alignment must be of a reasonable size"); } alignment = Bits::pow2(rawAlignment); @@ -4512,7 +4513,7 @@ bool WasmBinaryBuilder::maybeVisitLoad(Expression*& out, } curr->isAtomic = isAtomic; - Index memIdx = readMemoryAlignment(curr->align, curr->offset); + Index memIdx = readMemoryAccess(curr->align, curr->offset); memoryRefs[memIdx].push_back(&curr->memory); curr->ptr = popNonVoidExpression(); curr->finalize(); @@ -4618,7 +4619,7 @@ bool WasmBinaryBuilder::maybeVisitStore(Expression*& out, curr->isAtomic = isAtomic; BYN_TRACE("zz node: Store\n"); - Index memIdx = readMemoryAlignment(curr->align, curr->offset); + Index memIdx = readMemoryAccess(curr->align, curr->offset); memoryRefs[memIdx].push_back(&curr->memory); curr->value = popNonVoidExpression(); curr->ptr = popNonVoidExpression(); @@ -4679,7 +4680,7 @@ bool WasmBinaryBuilder::maybeVisitAtomicRMW(Expression*& out, uint8_t code) { BYN_TRACE("zz node: AtomicRMW\n"); Address readAlign; - Index memIdx = readMemoryAlignment(readAlign, curr->offset); + Index memIdx = readMemoryAccess(readAlign, curr->offset); memoryRefs[memIdx].push_back(&curr->memory); if (readAlign != curr->bytes) { throwError("Align of AtomicRMW must match size"); @@ -4732,7 +4733,7 @@ bool WasmBinaryBuilder::maybeVisitAtomicCmpxchg(Expression*& out, BYN_TRACE("zz node: AtomicCmpxchg\n"); Address readAlign; - Index memIdx = readMemoryAlignment(readAlign, curr->offset); + Index memIdx = readMemoryAccess(readAlign, curr->offset); memoryRefs[memIdx].push_back(&curr->memory); if (readAlign != curr->bytes) { throwError("Align of AtomicCpxchg must match size"); @@ -4768,7 +4769,7 @@ bool WasmBinaryBuilder::maybeVisitAtomicWait(Expression*& out, uint8_t code) { curr->expected = popNonVoidExpression(); curr->ptr = popNonVoidExpression(); Address readAlign; - Index memIdx = readMemoryAlignment(readAlign, curr->offset); + Index memIdx = readMemoryAccess(readAlign, curr->offset); memoryRefs[memIdx].push_back(&curr->memory); if (readAlign != curr->expectedType.getByteSize()) { throwError("Align of AtomicWait must match size"); @@ -4789,7 +4790,7 @@ bool WasmBinaryBuilder::maybeVisitAtomicNotify(Expression*& out, uint8_t code) { curr->notifyCount = popNonVoidExpression(); curr->ptr = popNonVoidExpression(); Address readAlign; - Index memIdx = readMemoryAlignment(readAlign, curr->offset); + Index memIdx = readMemoryAccess(readAlign, curr->offset); memoryRefs[memIdx].push_back(&curr->memory); if (readAlign != curr->type.getByteSize()) { throwError("Align of AtomicNotify must match size"); @@ -6110,7 +6111,7 @@ bool WasmBinaryBuilder::maybeVisitSIMDStore(Expression*& out, uint32_t code) { auto* curr = allocator.alloc(); curr->bytes = 16; curr->valueType = Type::v128; - Index memIdx = readMemoryAlignment(curr->align, curr->offset); + Index memIdx = readMemoryAccess(curr->align, curr->offset); memoryRefs[memIdx].push_back(&curr->memory); curr->isAtomic = false; curr->value = popNonVoidExpression(); @@ -6350,7 +6351,7 @@ bool WasmBinaryBuilder::maybeVisitSIMDLoad(Expression*& out, uint32_t code) { auto* curr = allocator.alloc(); curr->type = Type::v128; curr->bytes = 16; - Index memIdx = readMemoryAlignment(curr->align, curr->offset); + Index memIdx = readMemoryAccess(curr->align, curr->offset); memoryRefs[memIdx].push_back(&curr->memory); curr->isAtomic = false; curr->ptr = popNonVoidExpression(); @@ -6411,7 +6412,7 @@ bool WasmBinaryBuilder::maybeVisitSIMDLoad(Expression*& out, uint32_t code) { default: return false; } - Index memIdx = readMemoryAlignment(curr->align, curr->offset); + Index memIdx = readMemoryAccess(curr->align, curr->offset); memoryRefs[memIdx].push_back(&curr->memory); curr->ptr = popNonVoidExpression(); curr->finalize(); @@ -6461,7 +6462,7 @@ bool WasmBinaryBuilder::maybeVisitSIMDLoadStoreLane(Expression*& out, } auto* curr = allocator.alloc(); curr->op = op; - Index memIdx = readMemoryAlignment(curr->align, curr->offset); + Index memIdx = readMemoryAccess(curr->align, curr->offset); memoryRefs[memIdx].push_back(&curr->memory); curr->index = getLaneIndex(lanes); curr->vec = popNonVoidExpression(); diff --git a/src/wasm/wasm-stack.cpp b/src/wasm/wasm-stack.cpp index 8a2fad9dfc6..05c2bd335ee 100644 --- a/src/wasm/wasm-stack.cpp +++ b/src/wasm/wasm-stack.cpp @@ -2482,10 +2482,11 @@ void BinaryInstWriter::emitMemoryAccess(size_t alignment, uint32_t offset, Name memory) { uint32_t alignmentBits = Bits::log2(alignment ? alignment : bytes); + // Set bit 6 in the alignment to indicate a memory index is present per: + // https://github.com/WebAssembly/multi-memory/blob/main/proposals/multi-memory/Overview.md + alignmentBits = alignmentBits | 1 << 6; o << U32LEB(alignmentBits); - if (alignmentBits >= 6 && (alignmentBits & (1 << (6)))) { - o << U32LEB(parent.getMemoryIndex(memory)); - } + o << U32LEB(parent.getMemoryIndex(memory)); o << U32LEB(offset); } diff --git a/test/example/c-api-unused-mem.txt b/test/example/c-api-unused-mem.txt index e41e894f42b..81c96df6eac 100644 --- a/test/example/c-api-unused-mem.txt +++ b/test/example/c-api-unused-mem.txt @@ -36,7 +36,7 @@ (call $main) ) ) -145 +148 (module (type $none_=>_none (func)) (memory $0 1024 1024) diff --git a/test/passes/class_with_dwarf_noprint.bin.txt b/test/passes/class_with_dwarf_noprint.bin.txt index 50963b311aa..f1a81d72102 100644 --- a/test/passes/class_with_dwarf_noprint.bin.txt +++ b/test/passes/class_with_dwarf_noprint.bin.txt @@ -174,7 +174,7 @@ Abbrev table for offset: 0x00000000 DW_AT_stmt_list [DW_FORM_sec_offset] (0x00000000) DW_AT_comp_dir [DW_FORM_strp] ( .debug_str[0x000000c1] = "/tmp/emscripten_test_wasm3_2u9tontv") DW_AT_low_pc [DW_FORM_addr] (0x0000000000000006) - DW_AT_high_pc [DW_FORM_data4] (0x000000b0) + DW_AT_high_pc [DW_FORM_data4] (0x000000b5) 0x00000026: DW_TAG_variable [2] DW_AT_name [DW_FORM_strp] ( .debug_str[0x000000e5] = "rng1") @@ -307,7 +307,7 @@ Abbrev table for offset: 0x00000000 0x000000e9: DW_TAG_subprogram [20] * DW_AT_low_pc [DW_FORM_addr] (0x0000000000000006) - DW_AT_high_pc [DW_FORM_data4] (0x000000b0) + DW_AT_high_pc [DW_FORM_data4] (0x000000b5) DW_AT_frame_base [DW_FORM_exprloc] (DW_OP_WASM_location 0x0 +0, DW_OP_stack_value) DW_AT_GNU_all_call_sites [DW_FORM_flag_present] (true) DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000150] = "main") @@ -328,7 +328,7 @@ Abbrev table for offset: 0x00000000 0x00000110: DW_TAG_variable [21] DW_AT_location [DW_FORM_sec_offset] (0x00000023: [0x00000022, 0x0000002a): DW_OP_consts +0, DW_OP_stack_value - [0x0000008f, 0x0000009c): DW_OP_WASM_location 0x0 +2, DW_OP_stack_value) + [0x00000093, 0x000000a0): DW_OP_WASM_location 0x0 +2, DW_OP_stack_value) DW_AT_name [DW_FORM_strp] ( .debug_str[0x0000015e] = "count") DW_AT_decl_file [DW_FORM_data1] ("/tmp/emscripten_test_wasm3_2u9tontv/src.cpp") DW_AT_decl_line [DW_FORM_data1] (26) @@ -349,7 +349,7 @@ Abbrev table for offset: 0x00000000 0x00000137: DW_TAG_lexical_block [22] * DW_AT_low_pc [DW_FORM_addr] (0x0000000000000030) - DW_AT_high_pc [DW_FORM_data4] (0x0000005f) + DW_AT_high_pc [DW_FORM_data4] (0x00000063) 0x00000140: DW_TAG_variable [21] DW_AT_location [DW_FORM_sec_offset] (0x0000009b: @@ -371,7 +371,7 @@ Abbrev table for offset: 0x00000000 DW_AT_abstract_origin [DW_FORM_ref4] (cu + 0x00c5 => {0x000000c5} "_ZN6Random3getEf") DW_AT_ranges [DW_FORM_sec_offset] (0x00000000 [0x00000006, 0x00000007) - [0x0000006b, 0x00000074)) + [0x0000006d, 0x00000077)) DW_AT_call_file [DW_FORM_data1] ("/tmp/emscripten_test_wasm3_2u9tontv/src.cpp") DW_AT_call_line [DW_FORM_data1] (28) DW_AT_call_column [DW_FORM_data1] (0x15) @@ -381,14 +381,14 @@ Abbrev table for offset: 0x00000000 0x0000016f: DW_TAG_formal_parameter [25] DW_AT_location [DW_FORM_sec_offset] (0x00000069: - [0x0000002c, 0x0000009c): DW_OP_constu 0x3f800000, DW_OP_stack_value) + [0x0000002c, 0x000000a0): DW_OP_constu 0x3f800000, DW_OP_stack_value) DW_AT_abstract_origin [DW_FORM_ref4] (cu + 0x00d8 => {0x000000d8} "max") 0x00000178: NULL 0x00000179: DW_TAG_inlined_subroutine [26] * DW_AT_abstract_origin [DW_FORM_ref4] (cu + 0x00c5 => {0x000000c5} "_ZN6Random3getEf") - DW_AT_low_pc [DW_FORM_addr] (0x000000000000004a) + DW_AT_low_pc [DW_FORM_addr] (0x000000000000004c) DW_AT_high_pc [DW_FORM_data4] (0x00000019) DW_AT_call_file [DW_FORM_data1] ("/tmp/emscripten_test_wasm3_2u9tontv/src.cpp") DW_AT_call_line [DW_FORM_data1] (29) @@ -409,10 +409,10 @@ Abbrev table for offset: 0x00000000 0x00000199: NULL 0x0000019a: DW_TAG_GNU_call_site [27] - DW_AT_low_pc [DW_FORM_addr] (0x0000000000000084) + DW_AT_low_pc [DW_FORM_addr] (0x0000000000000088) 0x0000019f: DW_TAG_GNU_call_site [27] - DW_AT_low_pc [DW_FORM_addr] (0x00000000000000ab) + DW_AT_low_pc [DW_FORM_addr] (0x00000000000000b0) 0x000001a4: NULL @@ -430,14 +430,14 @@ Abbrev table for offset: 0x00000000 0x00000023: [0x0000001c, 0x00000024): DW_OP_consts +0, DW_OP_stack_value - [0x00000089, 0x00000096): DW_OP_WASM_location 0x0 +2, DW_OP_stack_value + [0x0000008d, 0x0000009a): DW_OP_WASM_location 0x0 +2, DW_OP_stack_value 0x00000046: [0x0000001c, 0x00000024): DW_OP_consts +0, DW_OP_stack_value [0x00000001, 0x00000001): DW_OP_WASM_location 0x0 +3, DW_OP_stack_value 0x00000069: - [0x00000026, 0x00000096): DW_OP_constu 0x3f800000, DW_OP_stack_value + [0x00000026, 0x0000009a): DW_OP_constu 0x3f800000, DW_OP_stack_value 0x00000082: [0x00000001, 0x00000001): DW_OP_constu 0x3f800000, DW_OP_stack_value @@ -502,177 +502,177 @@ file_names[ 3]: 0x0000000000000030 17 13 1 0 0 is_stmt prologue_end -0x0000009c: 00 DW_LNE_set_address (0x0000000000000037) +0x0000009c: 00 DW_LNE_set_address (0x0000000000000038) 0x000000a3: 05 DW_LNS_set_column (18) 0x000000a5: 06 DW_LNS_negate_stmt 0x000000a6: 01 DW_LNS_copy - 0x0000000000000037 17 18 1 0 0 + 0x0000000000000038 17 18 1 0 0 -0x000000a7: 00 DW_LNE_set_address (0x000000000000003c) +0x000000a7: 00 DW_LNE_set_address (0x000000000000003d) 0x000000ae: 05 DW_LNS_set_column (23) 0x000000b0: 01 DW_LNS_copy - 0x000000000000003c 17 23 1 0 0 + 0x000000000000003d 17 23 1 0 0 -0x000000b1: 00 DW_LNE_set_address (0x0000000000000041) +0x000000b1: 00 DW_LNE_set_address (0x0000000000000042) 0x000000b8: 05 DW_LNS_set_column (29) 0x000000ba: 01 DW_LNS_copy - 0x0000000000000041 17 29 1 0 0 + 0x0000000000000042 17 29 1 0 0 -0x000000bb: 00 DW_LNE_set_address (0x0000000000000042) +0x000000bb: 00 DW_LNE_set_address (0x0000000000000043) 0x000000c2: 05 DW_LNS_set_column (10) 0x000000c4: 01 DW_LNS_copy - 0x0000000000000042 17 10 1 0 0 + 0x0000000000000043 17 10 1 0 0 -0x000000c5: 00 DW_LNE_set_address (0x0000000000000048) +0x000000c5: 00 DW_LNE_set_address (0x000000000000004a) 0x000000cc: 03 DW_LNS_advance_line (30) 0x000000ce: 05 DW_LNS_set_column (5) 0x000000d0: 06 DW_LNS_negate_stmt 0x000000d1: 01 DW_LNS_copy - 0x0000000000000048 30 5 1 0 0 is_stmt + 0x000000000000004a 30 5 1 0 0 is_stmt -0x000000d2: 00 DW_LNE_set_address (0x000000000000004a) +0x000000d2: 00 DW_LNE_set_address (0x000000000000004c) 0x000000d9: 03 DW_LNS_advance_line (17) 0x000000db: 05 DW_LNS_set_column (18) 0x000000dd: 01 DW_LNS_copy - 0x000000000000004a 17 18 1 0 0 is_stmt + 0x000000000000004c 17 18 1 0 0 is_stmt -0x000000de: 00 DW_LNE_set_address (0x0000000000000054) +0x000000de: 00 DW_LNE_set_address (0x0000000000000056) 0x000000e5: 05 DW_LNS_set_column (23) 0x000000e7: 06 DW_LNS_negate_stmt 0x000000e8: 01 DW_LNS_copy - 0x0000000000000054 17 23 1 0 0 + 0x0000000000000056 17 23 1 0 0 -0x000000e9: 00 DW_LNE_set_address (0x0000000000000059) +0x000000e9: 00 DW_LNE_set_address (0x000000000000005b) 0x000000f0: 05 DW_LNS_set_column (29) 0x000000f2: 01 DW_LNS_copy - 0x0000000000000059 17 29 1 0 0 + 0x000000000000005b 17 29 1 0 0 -0x000000f3: 00 DW_LNE_set_address (0x000000000000005a) +0x000000f3: 00 DW_LNE_set_address (0x000000000000005c) 0x000000fa: 03 DW_LNS_advance_line (18) 0x000000fc: 05 DW_LNS_set_column (18) 0x000000fe: 06 DW_LNS_negate_stmt 0x000000ff: 01 DW_LNS_copy - 0x000000000000005a 18 18 1 0 0 is_stmt + 0x000000000000005c 18 18 1 0 0 is_stmt -0x00000100: 00 DW_LNE_set_address (0x0000000000000062) +0x00000100: 00 DW_LNE_set_address (0x0000000000000064) 0x00000107: 05 DW_LNS_set_column (23) 0x00000109: 06 DW_LNS_negate_stmt 0x0000010a: 01 DW_LNS_copy - 0x0000000000000062 18 23 1 0 0 + 0x0000000000000064 18 23 1 0 0 -0x0000010b: 00 DW_LNE_set_address (0x0000000000000063) +0x0000010b: 00 DW_LNE_set_address (0x0000000000000065) 0x00000112: 03 DW_LNS_advance_line (30) 0x00000114: 05 DW_LNS_set_column (28) 0x00000116: 06 DW_LNS_negate_stmt 0x00000117: 01 DW_LNS_copy - 0x0000000000000063 30 28 1 0 0 is_stmt + 0x0000000000000065 30 28 1 0 0 is_stmt -0x00000118: 00 DW_LNE_set_address (0x0000000000000066) +0x00000118: 00 DW_LNE_set_address (0x0000000000000068) 0x0000011f: 05 DW_LNS_set_column (5) 0x00000121: 06 DW_LNS_negate_stmt 0x00000122: 01 DW_LNS_copy - 0x0000000000000066 30 5 1 0 0 + 0x0000000000000068 30 5 1 0 0 -0x00000123: 00 DW_LNE_set_address (0x000000000000006b) +0x00000123: 00 DW_LNE_set_address (0x000000000000006e) 0x0000012a: 03 DW_LNS_advance_line (18) 0x0000012c: 05 DW_LNS_set_column (18) 0x0000012e: 06 DW_LNS_negate_stmt 0x0000012f: 01 DW_LNS_copy - 0x000000000000006b 18 18 1 0 0 is_stmt + 0x000000000000006e 18 18 1 0 0 is_stmt -0x00000130: 00 DW_LNE_set_address (0x0000000000000073) +0x00000130: 00 DW_LNE_set_address (0x0000000000000076) 0x00000137: 05 DW_LNS_set_column (23) 0x00000139: 06 DW_LNS_negate_stmt 0x0000013a: 01 DW_LNS_copy - 0x0000000000000073 18 23 1 0 0 + 0x0000000000000076 18 23 1 0 0 -0x0000013b: 00 DW_LNE_set_address (0x0000000000000074) +0x0000013b: 00 DW_LNE_set_address (0x0000000000000077) 0x00000142: 03 DW_LNS_advance_line (30) 0x00000144: 05 DW_LNS_set_column (24) 0x00000146: 06 DW_LNS_negate_stmt 0x00000147: 01 DW_LNS_copy - 0x0000000000000074 30 24 1 0 0 is_stmt + 0x0000000000000077 30 24 1 0 0 is_stmt -0x00000148: 00 DW_LNE_set_address (0x0000000000000077) +0x00000148: 00 DW_LNE_set_address (0x000000000000007a) 0x0000014f: 05 DW_LNS_set_column (5) 0x00000151: 06 DW_LNS_negate_stmt 0x00000152: 01 DW_LNS_copy - 0x0000000000000077 30 5 1 0 0 + 0x000000000000007a 30 5 1 0 0 -0x00000153: 00 DW_LNE_set_address (0x0000000000000085) +0x00000153: 00 DW_LNE_set_address (0x0000000000000089) 0x0000015a: 03 DW_LNS_advance_line (31) 0x0000015c: 05 DW_LNS_set_column (9) 0x0000015e: 06 DW_LNS_negate_stmt 0x0000015f: 01 DW_LNS_copy - 0x0000000000000085 31 9 1 0 0 is_stmt + 0x0000000000000089 31 9 1 0 0 is_stmt -0x00000160: 00 DW_LNE_set_address (0x0000000000000087) +0x00000160: 00 DW_LNE_set_address (0x000000000000008b) 0x00000167: 05 DW_LNS_set_column (12) 0x00000169: 06 DW_LNS_negate_stmt 0x0000016a: 01 DW_LNS_copy - 0x0000000000000087 31 12 1 0 0 + 0x000000000000008b 31 12 1 0 0 -0x0000016b: 00 DW_LNE_set_address (0x000000000000008c) +0x0000016b: 00 DW_LNE_set_address (0x0000000000000090) 0x00000172: 05 DW_LNS_set_column (9) 0x00000174: 01 DW_LNS_copy - 0x000000000000008c 31 9 1 0 0 + 0x0000000000000090 31 9 1 0 0 -0x00000175: 00 DW_LNE_set_address (0x000000000000008f) +0x00000175: 00 DW_LNE_set_address (0x0000000000000093) 0x0000017c: 03 DW_LNS_advance_line (27) 0x0000017e: 05 DW_LNS_set_column (29) 0x00000180: 06 DW_LNS_negate_stmt 0x00000181: 01 DW_LNS_copy - 0x000000000000008f 27 29 1 0 0 is_stmt + 0x0000000000000093 27 29 1 0 0 is_stmt -0x00000182: 00 DW_LNE_set_address (0x0000000000000099) +0x00000182: 00 DW_LNE_set_address (0x000000000000009d) 0x00000189: 05 DW_LNS_set_column (21) 0x0000018b: 06 DW_LNS_negate_stmt 0x0000018c: 01 DW_LNS_copy - 0x0000000000000099 27 21 1 0 0 + 0x000000000000009d 27 21 1 0 0 -0x0000018d: 00 DW_LNE_set_address (0x000000000000009a) +0x0000018d: 00 DW_LNE_set_address (0x000000000000009e) 0x00000194: 05 DW_LNS_set_column (3) 0x00000196: 01 DW_LNS_copy - 0x000000000000009a 27 3 1 0 0 + 0x000000000000009e 27 3 1 0 0 -0x00000197: 00 DW_LNE_set_address (0x000000000000009d) +0x00000197: 00 DW_LNE_set_address (0x00000000000000a1) 0x0000019e: 03 DW_LNS_advance_line (33) 0x000001a0: 06 DW_LNS_negate_stmt 0x000001a1: 01 DW_LNS_copy - 0x000000000000009d 33 3 1 0 0 is_stmt + 0x00000000000000a1 33 3 1 0 0 is_stmt -0x000001a2: 00 DW_LNE_set_address (0x00000000000000ac) +0x000001a2: 00 DW_LNE_set_address (0x00000000000000b1) 0x000001a9: 03 DW_LNS_advance_line (34) 0x000001ab: 01 DW_LNS_copy - 0x00000000000000ac 34 3 1 0 0 is_stmt + 0x00000000000000b1 34 3 1 0 0 is_stmt -0x000001ac: 00 DW_LNE_set_address (0x00000000000000b6) +0x000001ac: 00 DW_LNE_set_address (0x00000000000000bb) 0x000001b3: 00 DW_LNE_end_sequence - 0x00000000000000b6 34 3 1 0 0 is_stmt end_sequence + 0x00000000000000bb 34 3 1 0 0 is_stmt end_sequence .debug_str contents: @@ -704,5 +704,5 @@ file_names[ 3]: .debug_ranges contents: 00000000 00000000 00000001 -00000000 00000065 0000006e +00000000 00000067 00000071 00000000 diff --git a/test/passes/dwarf-local-order.bin.txt b/test/passes/dwarf-local-order.bin.txt index 6b5d12e62bf..f8e0ed04f76 100644 --- a/test/passes/dwarf-local-order.bin.txt +++ b/test/passes/dwarf-local-order.bin.txt @@ -234,154 +234,154 @@ ;; code offset: 0x51 (local.get $5) ) - ;; code offset: 0x5a + ;; code offset: 0x5b (f32.store $0 offset=8 - ;; code offset: 0x56 + ;; code offset: 0x57 (local.get $2) - ;; code offset: 0x58 + ;; code offset: 0x59 (local.get $4) ) - ;; code offset: 0x61 + ;; code offset: 0x63 (i32.store $0 offset=4 - ;; code offset: 0x5d - (local.get $2) ;; code offset: 0x5f + (local.get $2) + ;; code offset: 0x61 (local.get $3) ) - ;; code offset: 0x69 + ;; code offset: 0x6d (local.set $6 - ;; code offset: 0x66 + ;; code offset: 0x69 (i32.load $0 offset=12 - ;; code offset: 0x64 + ;; code offset: 0x67 (local.get $2) ) ) - ;; code offset: 0x6e + ;; code offset: 0x72 (local.set $7 - ;; code offset: 0x6d + ;; code offset: 0x71 (f32.convert_i32_s - ;; code offset: 0x6b + ;; code offset: 0x6f (local.get $6) ) ) - ;; code offset: 0x75 + ;; code offset: 0x7a (local.set $8 - ;; code offset: 0x72 + ;; code offset: 0x76 (f32.load $0 offset=8 - ;; code offset: 0x70 + ;; code offset: 0x74 (local.get $2) ) ) - ;; code offset: 0x7c + ;; code offset: 0x81 (local.set $9 - ;; code offset: 0x7b + ;; code offset: 0x80 (f32.add - ;; code offset: 0x77 + ;; code offset: 0x7c (local.get $7) - ;; code offset: 0x79 + ;; code offset: 0x7e (local.get $8) ) ) - ;; code offset: 0x83 + ;; code offset: 0x89 (local.set $10 - ;; code offset: 0x80 + ;; code offset: 0x85 (i32.load $0 offset=4 - ;; code offset: 0x7e + ;; code offset: 0x83 (local.get $2) ) ) - ;; code offset: 0x88 + ;; code offset: 0x8e (local.set $11 - ;; code offset: 0x87 + ;; code offset: 0x8d (f32.convert_i32_s - ;; code offset: 0x85 + ;; code offset: 0x8b (local.get $10) ) ) - ;; code offset: 0x8f + ;; code offset: 0x95 (local.set $12 - ;; code offset: 0x8e + ;; code offset: 0x94 (f32.add - ;; code offset: 0x8a + ;; code offset: 0x90 (local.get $9) - ;; code offset: 0x8c + ;; code offset: 0x92 (local.get $11) ) ) - ;; code offset: 0x94 + ;; code offset: 0x9a (local.set $13 - ;; code offset: 0x93 + ;; code offset: 0x99 (f32.abs - ;; code offset: 0x91 + ;; code offset: 0x97 (local.get $12) ) ) - ;; code offset: 0x9b + ;; code offset: 0xa1 (local.set $14 - ;; code offset: 0x96 + ;; code offset: 0x9c (f32.const 2147483648) ) - ;; code offset: 0xa2 + ;; code offset: 0xa8 (local.set $15 - ;; code offset: 0xa1 + ;; code offset: 0xa7 (f32.lt - ;; code offset: 0x9d + ;; code offset: 0xa3 (local.get $13) - ;; code offset: 0x9f + ;; code offset: 0xa5 (local.get $14) ) ) - ;; code offset: 0xa7 + ;; code offset: 0xad (local.set $16 - ;; code offset: 0xa6 + ;; code offset: 0xac (i32.eqz - ;; code offset: 0xa4 + ;; code offset: 0xaa (local.get $15) ) ) - ;; code offset: 0xa9 + ;; code offset: 0xaf (block $label$1 (block $label$2 - ;; code offset: 0xaf + ;; code offset: 0xb5 (br_if $label$2 - ;; code offset: 0xad + ;; code offset: 0xb3 (local.get $16) ) - ;; code offset: 0xb4 + ;; code offset: 0xba (local.set $17 - ;; code offset: 0xb3 + ;; code offset: 0xb9 (i32.trunc_f32_s - ;; code offset: 0xb1 + ;; code offset: 0xb7 (local.get $12) ) ) - ;; code offset: 0xb8 + ;; code offset: 0xbe (local.set $18 - ;; code offset: 0xb6 + ;; code offset: 0xbc (local.get $17) ) - ;; code offset: 0xba + ;; code offset: 0xc0 (br $label$1) ) - ;; code offset: 0xc3 + ;; code offset: 0xc9 (local.set $19 - ;; code offset: 0xbd + ;; code offset: 0xc3 (i32.const -2147483648) ) - ;; code offset: 0xc7 + ;; code offset: 0xcd (local.set $18 - ;; code offset: 0xc5 + ;; code offset: 0xcb (local.get $19) ) ) - ;; code offset: 0xcc + ;; code offset: 0xd2 (local.set $20 - ;; code offset: 0xca + ;; code offset: 0xd0 (local.get $18) ) - ;; code offset: 0xd0 + ;; code offset: 0xd6 (return - ;; code offset: 0xce + ;; code offset: 0xd4 (local.get $20) ) ) diff --git a/test/passes/fannkuch0_dwarf.bin.txt b/test/passes/fannkuch0_dwarf.bin.txt index 18fe26effa1..98dfd7325da 100644 --- a/test/passes/fannkuch0_dwarf.bin.txt +++ b/test/passes/fannkuch0_dwarf.bin.txt @@ -2420,9 +2420,9 @@ Abbrev table for offset: 0x00000000 DW_AT_comp_dir [DW_FORM_strp] ( .debug_str[0x000000a8] = "/home/alon/Dev/emscripten") DW_AT_low_pc [DW_FORM_addr] (0x0000000000000000) DW_AT_ranges [DW_FORM_sec_offset] (0x00000000 - [0x00000006, 0x00000a53) - [0x00000a55, 0x00000bc5) - [0x00000bc7, 0x00001360)) + [0x00000006, 0x00000ad7) + [0x00000ad9, 0x00000c58) + [0x00000c5a, 0x00001454)) 0x00000026: DW_TAG_pointer_type [2] DW_AT_type [DW_FORM_ref4] (cu + 0x002b => {0x0000002b} "worker_args") @@ -2486,7 +2486,7 @@ Abbrev table for offset: 0x00000000 0x00000082: DW_TAG_subprogram [10] * DW_AT_low_pc [DW_FORM_addr] (0x0000000000000006) - DW_AT_high_pc [DW_FORM_data4] (0x00000a4d) + DW_AT_high_pc [DW_FORM_data4] (0x00000ad1) DW_AT_linkage_name [DW_FORM_strp] ( .debug_str[0x000000fb] = "_Z15fannkuch_workerPv") DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000111] = "fannkuch_worker") DW_AT_decl_file [DW_FORM_data1] ("/home/alon/Dev/emscripten/tests/fannkuch.cpp") @@ -2586,8 +2586,8 @@ Abbrev table for offset: 0x00000000 DW_AT_type [DW_FORM_ref4] (cu + 0x0059 => {0x00000059} "int") 0x0000014f: DW_TAG_lexical_block [13] * - DW_AT_low_pc [DW_FORM_addr] (0x000000000000087a) - DW_AT_high_pc [DW_FORM_data4] (0x00000136) + DW_AT_low_pc [DW_FORM_addr] (0x00000000000008e6) + DW_AT_high_pc [DW_FORM_data4] (0x00000148) 0x00000158: DW_TAG_variable [12] DW_AT_location [DW_FORM_exprloc] (DW_OP_plus_uconst 0x8) @@ -2601,8 +2601,8 @@ Abbrev table for offset: 0x00000000 0x00000167: NULL 0x00000168: DW_TAG_subprogram [14] * - DW_AT_low_pc [DW_FORM_addr] (0x0000000000000a55) - DW_AT_high_pc [DW_FORM_data4] (0x00000170) + DW_AT_low_pc [DW_FORM_addr] (0x0000000000000ad9) + DW_AT_high_pc [DW_FORM_data4] (0x0000017f) DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000121] = "main") DW_AT_decl_file [DW_FORM_data1] ("/home/alon/Dev/emscripten/tests/fannkuch.cpp") DW_AT_decl_line [DW_FORM_data1] (152) @@ -2633,8 +2633,8 @@ Abbrev table for offset: 0x00000000 0x000001a5: NULL 0x000001a6: DW_TAG_subprogram [15] * - DW_AT_low_pc [DW_FORM_addr] (0x0000000000000bc7) - DW_AT_high_pc [DW_FORM_data4] (0x00000799) + DW_AT_low_pc [DW_FORM_addr] (0x0000000000000c5a) + DW_AT_high_pc [DW_FORM_data4] (0x000007fa) DW_AT_linkage_name [DW_FORM_strp] ( .debug_str[0x00000126] = "_ZL8fannkuchi") DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000134] = "fannkuch") DW_AT_decl_file [DW_FORM_data1] ("/home/alon/Dev/emscripten/tests/fannkuch.cpp") @@ -2715,11 +2715,11 @@ Abbrev table for offset: 0x00000000 DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000191] = "cleanup") DW_AT_decl_file [DW_FORM_data1] ("/home/alon/Dev/emscripten/tests/fannkuch.cpp") DW_AT_decl_line [DW_FORM_data1] (137) - DW_AT_low_pc [DW_FORM_addr] (0x0000000000001241) + DW_AT_low_pc [DW_FORM_addr] (0x0000000000001324) 0x00000254: DW_TAG_lexical_block [13] * - DW_AT_low_pc [DW_FORM_addr] (0x0000000000001091) - DW_AT_high_pc [DW_FORM_data4] (0x00000107) + DW_AT_low_pc [DW_FORM_addr] (0x000000000000115c) + DW_AT_high_pc [DW_FORM_data4] (0x00000119) 0x0000025d: DW_TAG_variable [12] DW_AT_location [DW_FORM_exprloc] (DW_OP_plus_uconst 0x4) @@ -2794,2359 +2794,2359 @@ file_names[ 3]: 0x0000000000000006 27 0 1 0 0 is_stmt -0x0000006d: 00 DW_LNE_set_address (0x000000000000020f) +0x0000006d: 00 DW_LNE_set_address (0x0000000000000210) 0x00000074: 03 DW_LNS_advance_line (28) 0x00000076: 05 DW_LNS_set_column (45) 0x00000078: 0a DW_LNS_set_prologue_end 0x00000079: 01 DW_LNS_copy - 0x000000000000020f 28 45 1 0 0 is_stmt prologue_end + 0x0000000000000210 28 45 1 0 0 is_stmt prologue_end -0x0000007a: 00 DW_LNE_set_address (0x0000000000000216) +0x0000007a: 00 DW_LNE_set_address (0x0000000000000218) 0x00000081: 05 DW_LNS_set_column (24) 0x00000083: 06 DW_LNS_negate_stmt 0x00000084: 01 DW_LNS_copy - 0x0000000000000216 28 24 1 0 0 + 0x0000000000000218 28 24 1 0 0 -0x00000085: 00 DW_LNE_set_address (0x000000000000021d) +0x00000085: 00 DW_LNE_set_address (0x0000000000000220) 0x0000008c: 03 DW_LNS_advance_line (32) 0x0000008e: 05 DW_LNS_set_column (13) 0x00000090: 06 DW_LNS_negate_stmt 0x00000091: 01 DW_LNS_copy - 0x000000000000021d 32 13 1 0 0 is_stmt + 0x0000000000000220 32 13 1 0 0 is_stmt -0x00000092: 00 DW_LNE_set_address (0x0000000000000224) +0x00000092: 00 DW_LNE_set_address (0x0000000000000228) 0x00000099: 03 DW_LNS_advance_line (33) 0x0000009b: 05 DW_LNS_set_column (8) 0x0000009d: 01 DW_LNS_copy - 0x0000000000000224 33 8 1 0 0 is_stmt + 0x0000000000000228 33 8 1 0 0 is_stmt -0x0000009e: 00 DW_LNE_set_address (0x000000000000022b) +0x0000009e: 00 DW_LNE_set_address (0x0000000000000230) 0x000000a5: 05 DW_LNS_set_column (14) 0x000000a7: 06 DW_LNS_negate_stmt 0x000000a8: 01 DW_LNS_copy - 0x000000000000022b 33 14 1 0 0 + 0x0000000000000230 33 14 1 0 0 -0x000000a9: 00 DW_LNE_set_address (0x0000000000000232) +0x000000a9: 00 DW_LNE_set_address (0x0000000000000238) 0x000000b0: 05 DW_LNS_set_column (6) 0x000000b2: 01 DW_LNS_copy - 0x0000000000000232 33 6 1 0 0 + 0x0000000000000238 33 6 1 0 0 -0x000000b3: 00 DW_LNE_set_address (0x0000000000000239) +0x000000b3: 00 DW_LNE_set_address (0x0000000000000240) 0x000000ba: 03 DW_LNS_advance_line (34) 0x000000bc: 05 DW_LNS_set_column (25) 0x000000be: 06 DW_LNS_negate_stmt 0x000000bf: 01 DW_LNS_copy - 0x0000000000000239 34 25 1 0 0 is_stmt + 0x0000000000000240 34 25 1 0 0 is_stmt -0x000000c0: 00 DW_LNE_set_address (0x0000000000000240) +0x000000c0: 00 DW_LNE_set_address (0x0000000000000248) 0x000000c7: 05 DW_LNS_set_column (27) 0x000000c9: 06 DW_LNS_negate_stmt 0x000000ca: 01 DW_LNS_copy - 0x0000000000000240 34 27 1 0 0 + 0x0000000000000248 34 27 1 0 0 -0x000000cb: 00 DW_LNE_set_address (0x000000000000024b) +0x000000cb: 00 DW_LNE_set_address (0x0000000000000253) 0x000000d2: 05 DW_LNS_set_column (18) 0x000000d4: 01 DW_LNS_copy - 0x000000000000024b 34 18 1 0 0 + 0x0000000000000253 34 18 1 0 0 -0x000000d5: 00 DW_LNE_set_address (0x0000000000000251) +0x000000d5: 00 DW_LNE_set_address (0x0000000000000259) 0x000000dc: 05 DW_LNS_set_column (10) 0x000000de: 01 DW_LNS_copy - 0x0000000000000251 34 10 1 0 0 + 0x0000000000000259 34 10 1 0 0 -0x000000df: 00 DW_LNE_set_address (0x0000000000000258) +0x000000df: 00 DW_LNE_set_address (0x0000000000000261) 0x000000e6: 03 DW_LNS_advance_line (35) 0x000000e8: 05 DW_LNS_set_column (24) 0x000000ea: 06 DW_LNS_negate_stmt 0x000000eb: 01 DW_LNS_copy - 0x0000000000000258 35 24 1 0 0 is_stmt + 0x0000000000000261 35 24 1 0 0 is_stmt -0x000000ec: 00 DW_LNE_set_address (0x000000000000025f) +0x000000ec: 00 DW_LNE_set_address (0x0000000000000269) 0x000000f3: 05 DW_LNS_set_column (26) 0x000000f5: 06 DW_LNS_negate_stmt 0x000000f6: 01 DW_LNS_copy - 0x000000000000025f 35 26 1 0 0 + 0x0000000000000269 35 26 1 0 0 -0x000000f7: 00 DW_LNE_set_address (0x000000000000026a) +0x000000f7: 00 DW_LNE_set_address (0x0000000000000274) 0x000000fe: 05 DW_LNS_set_column (17) 0x00000100: 01 DW_LNS_copy - 0x000000000000026a 35 17 1 0 0 + 0x0000000000000274 35 17 1 0 0 -0x00000101: 00 DW_LNE_set_address (0x0000000000000270) +0x00000101: 00 DW_LNE_set_address (0x000000000000027a) 0x00000108: 05 DW_LNS_set_column (9) 0x0000010a: 01 DW_LNS_copy - 0x0000000000000270 35 9 1 0 0 + 0x000000000000027a 35 9 1 0 0 -0x0000010b: 00 DW_LNE_set_address (0x0000000000000277) +0x0000010b: 00 DW_LNE_set_address (0x0000000000000282) 0x00000112: 03 DW_LNS_advance_line (36) 0x00000114: 05 DW_LNS_set_column (25) 0x00000116: 06 DW_LNS_negate_stmt 0x00000117: 01 DW_LNS_copy - 0x0000000000000277 36 25 1 0 0 is_stmt + 0x0000000000000282 36 25 1 0 0 is_stmt -0x00000118: 00 DW_LNE_set_address (0x000000000000027e) +0x00000118: 00 DW_LNE_set_address (0x000000000000028a) 0x0000011f: 05 DW_LNS_set_column (27) 0x00000121: 06 DW_LNS_negate_stmt 0x00000122: 01 DW_LNS_copy - 0x000000000000027e 36 27 1 0 0 + 0x000000000000028a 36 27 1 0 0 -0x00000123: 00 DW_LNE_set_address (0x0000000000000289) +0x00000123: 00 DW_LNE_set_address (0x0000000000000295) 0x0000012a: 05 DW_LNS_set_column (18) 0x0000012c: 01 DW_LNS_copy - 0x0000000000000289 36 18 1 0 0 + 0x0000000000000295 36 18 1 0 0 -0x0000012d: 00 DW_LNE_set_address (0x000000000000028f) +0x0000012d: 00 DW_LNE_set_address (0x000000000000029b) 0x00000134: 05 DW_LNS_set_column (10) 0x00000136: 01 DW_LNS_copy - 0x000000000000028f 36 10 1 0 0 + 0x000000000000029b 36 10 1 0 0 -0x00000137: 00 DW_LNE_set_address (0x0000000000000296) +0x00000137: 00 DW_LNE_set_address (0x00000000000002a3) 0x0000013e: 03 DW_LNS_advance_line (37) 0x00000140: 05 DW_LNS_set_column (11) 0x00000142: 06 DW_LNS_negate_stmt 0x00000143: 01 DW_LNS_copy - 0x0000000000000296 37 11 1 0 0 is_stmt + 0x00000000000002a3 37 11 1 0 0 is_stmt -0x00000144: 00 DW_LNE_set_address (0x000000000000029d) +0x00000144: 00 DW_LNE_set_address (0x00000000000002ab) 0x0000014b: 05 DW_LNS_set_column (16) 0x0000014d: 06 DW_LNS_negate_stmt 0x0000014e: 01 DW_LNS_copy - 0x000000000000029d 37 16 1 0 0 + 0x00000000000002ab 37 16 1 0 0 -0x0000014f: 00 DW_LNE_set_address (0x00000000000002a8) +0x0000014f: 00 DW_LNE_set_address (0x00000000000002b7) 0x00000156: 05 DW_LNS_set_column (20) 0x00000158: 01 DW_LNS_copy - 0x00000000000002a8 37 20 1 0 0 + 0x00000000000002b7 37 20 1 0 0 -0x00000159: 00 DW_LNE_set_address (0x00000000000002af) +0x00000159: 00 DW_LNE_set_address (0x00000000000002bf) 0x00000160: 05 DW_LNS_set_column (18) 0x00000162: 01 DW_LNS_copy - 0x00000000000002af 37 18 1 0 0 + 0x00000000000002bf 37 18 1 0 0 -0x00000163: 00 DW_LNE_set_address (0x00000000000002be) +0x00000163: 00 DW_LNE_set_address (0x00000000000002ce) 0x0000016a: 05 DW_LNS_set_column (4) 0x0000016c: 01 DW_LNS_copy - 0x00000000000002be 37 4 1 0 0 + 0x00000000000002ce 37 4 1 0 0 -0x0000016d: 00 DW_LNE_set_address (0x00000000000002ce) +0x0000016d: 00 DW_LNE_set_address (0x00000000000002de) 0x00000174: 03 DW_LNS_advance_line (38) 0x00000176: 05 DW_LNS_set_column (18) 0x00000178: 06 DW_LNS_negate_stmt 0x00000179: 01 DW_LNS_copy - 0x00000000000002ce 38 18 1 0 0 is_stmt + 0x00000000000002de 38 18 1 0 0 is_stmt -0x0000017a: 00 DW_LNE_set_address (0x00000000000002d5) +0x0000017a: 00 DW_LNE_set_address (0x00000000000002e6) 0x00000181: 05 DW_LNS_set_column (7) 0x00000183: 06 DW_LNS_negate_stmt 0x00000184: 01 DW_LNS_copy - 0x00000000000002d5 38 7 1 0 0 + 0x00000000000002e6 38 7 1 0 0 -0x00000185: 00 DW_LNE_set_address (0x00000000000002dc) +0x00000185: 00 DW_LNE_set_address (0x00000000000002ee) 0x0000018c: 05 DW_LNS_set_column (13) 0x0000018e: 01 DW_LNS_copy - 0x00000000000002dc 38 13 1 0 0 + 0x00000000000002ee 38 13 1 0 0 -0x0000018f: 00 DW_LNE_set_address (0x00000000000002e3) +0x0000018f: 00 DW_LNE_set_address (0x00000000000002f6) 0x00000196: 05 DW_LNS_set_column (7) 0x00000198: 01 DW_LNS_copy - 0x00000000000002e3 38 7 1 0 0 + 0x00000000000002f6 38 7 1 0 0 -0x00000199: 00 DW_LNE_set_address (0x00000000000002f5) +0x00000199: 00 DW_LNE_set_address (0x0000000000000308) 0x000001a0: 05 DW_LNS_set_column (16) 0x000001a2: 01 DW_LNS_copy - 0x00000000000002f5 38 16 1 0 0 + 0x0000000000000308 38 16 1 0 0 -0x000001a3: 00 DW_LNE_set_address (0x00000000000002fc) +0x000001a3: 00 DW_LNE_set_address (0x0000000000000310) 0x000001aa: 03 DW_LNS_advance_line (37) 0x000001ac: 05 DW_LNS_set_column (24) 0x000001ae: 06 DW_LNS_negate_stmt 0x000001af: 01 DW_LNS_copy - 0x00000000000002fc 37 24 1 0 0 is_stmt + 0x0000000000000310 37 24 1 0 0 is_stmt -0x000001b0: 00 DW_LNE_set_address (0x0000000000000315) +0x000001b0: 00 DW_LNE_set_address (0x000000000000032b) 0x000001b7: 05 DW_LNS_set_column (4) 0x000001b9: 06 DW_LNS_negate_stmt 0x000001ba: 01 DW_LNS_copy - 0x0000000000000315 37 4 1 0 0 + 0x000000000000032b 37 4 1 0 0 -0x000001bb: 00 DW_LNE_set_address (0x0000000000000317) +0x000001bb: 00 DW_LNE_set_address (0x000000000000032d) 0x000001c2: 01 DW_LNS_copy - 0x0000000000000317 37 4 1 0 0 + 0x000000000000032d 37 4 1 0 0 -0x000001c3: 00 DW_LNE_set_address (0x000000000000031a) +0x000001c3: 00 DW_LNE_set_address (0x0000000000000330) 0x000001ca: 03 DW_LNS_advance_line (39) 0x000001cc: 05 DW_LNS_set_column (21) 0x000001ce: 06 DW_LNS_negate_stmt 0x000001cf: 01 DW_LNS_copy - 0x000000000000031a 39 21 1 0 0 is_stmt + 0x0000000000000330 39 21 1 0 0 is_stmt -0x000001d0: 00 DW_LNE_set_address (0x0000000000000321) +0x000001d0: 00 DW_LNE_set_address (0x0000000000000338) 0x000001d7: 05 DW_LNS_set_column (23) 0x000001d9: 06 DW_LNS_negate_stmt 0x000001da: 01 DW_LNS_copy - 0x0000000000000321 39 23 1 0 0 + 0x0000000000000338 39 23 1 0 0 -0x000001db: 00 DW_LNE_set_address (0x000000000000032c) +0x000001db: 00 DW_LNE_set_address (0x0000000000000343) 0x000001e2: 05 DW_LNS_set_column (4) 0x000001e4: 01 DW_LNS_copy - 0x000000000000032c 39 4 1 0 0 + 0x0000000000000343 39 4 1 0 0 -0x000001e5: 00 DW_LNE_set_address (0x0000000000000333) +0x000001e5: 00 DW_LNE_set_address (0x000000000000034b) 0x000001ec: 05 DW_LNS_set_column (10) 0x000001ee: 01 DW_LNS_copy - 0x0000000000000333 39 10 1 0 0 + 0x000000000000034b 39 10 1 0 0 -0x000001ef: 00 DW_LNE_set_address (0x000000000000033a) +0x000001ef: 00 DW_LNE_set_address (0x0000000000000353) 0x000001f6: 05 DW_LNS_set_column (16) 0x000001f8: 01 DW_LNS_copy - 0x000000000000033a 39 16 1 0 0 + 0x0000000000000353 39 16 1 0 0 -0x000001f9: 00 DW_LNE_set_address (0x0000000000000341) +0x000001f9: 00 DW_LNE_set_address (0x000000000000035b) 0x00000200: 05 DW_LNS_set_column (4) 0x00000202: 01 DW_LNS_copy - 0x0000000000000341 39 4 1 0 0 + 0x000000000000035b 39 4 1 0 0 -0x00000203: 00 DW_LNE_set_address (0x0000000000000353) +0x00000203: 00 DW_LNE_set_address (0x000000000000036d) 0x0000020a: 05 DW_LNS_set_column (19) 0x0000020c: 01 DW_LNS_copy - 0x0000000000000353 39 19 1 0 0 + 0x000000000000036d 39 19 1 0 0 -0x0000020d: 00 DW_LNE_set_address (0x000000000000035a) +0x0000020d: 00 DW_LNE_set_address (0x0000000000000375) 0x00000214: 03 DW_LNS_advance_line (40) 0x00000216: 06 DW_LNS_negate_stmt 0x00000217: 01 DW_LNS_copy - 0x000000000000035a 40 19 1 0 0 is_stmt + 0x0000000000000375 40 19 1 0 0 is_stmt -0x00000218: 00 DW_LNE_set_address (0x0000000000000361) +0x00000218: 00 DW_LNE_set_address (0x000000000000037d) 0x0000021f: 05 DW_LNS_set_column (25) 0x00000221: 06 DW_LNS_negate_stmt 0x00000222: 01 DW_LNS_copy - 0x0000000000000361 40 25 1 0 0 + 0x000000000000037d 40 25 1 0 0 -0x00000223: 00 DW_LNE_set_address (0x0000000000000368) +0x00000223: 00 DW_LNE_set_address (0x0000000000000385) 0x0000022a: 05 DW_LNS_set_column (4) 0x0000022c: 01 DW_LNS_copy - 0x0000000000000368 40 4 1 0 0 + 0x0000000000000385 40 4 1 0 0 -0x0000022d: 00 DW_LNE_set_address (0x000000000000036f) +0x0000022d: 00 DW_LNE_set_address (0x000000000000038d) 0x00000234: 05 DW_LNS_set_column (10) 0x00000236: 01 DW_LNS_copy - 0x000000000000036f 40 10 1 0 0 + 0x000000000000038d 40 10 1 0 0 -0x00000237: 00 DW_LNE_set_address (0x0000000000000376) +0x00000237: 00 DW_LNE_set_address (0x0000000000000395) 0x0000023e: 05 DW_LNS_set_column (12) 0x00000240: 01 DW_LNS_copy - 0x0000000000000376 40 12 1 0 0 + 0x0000000000000395 40 12 1 0 0 -0x00000241: 00 DW_LNE_set_address (0x0000000000000381) +0x00000241: 00 DW_LNE_set_address (0x00000000000003a0) 0x00000248: 05 DW_LNS_set_column (4) 0x0000024a: 01 DW_LNS_copy - 0x0000000000000381 40 4 1 0 0 + 0x00000000000003a0 40 4 1 0 0 -0x0000024b: 00 DW_LNE_set_address (0x0000000000000393) +0x0000024b: 00 DW_LNE_set_address (0x00000000000003b2) 0x00000252: 05 DW_LNS_set_column (17) 0x00000254: 01 DW_LNS_copy - 0x0000000000000393 40 17 1 0 0 + 0x00000000000003b2 40 17 1 0 0 -0x00000255: 00 DW_LNE_set_address (0x000000000000039a) +0x00000255: 00 DW_LNE_set_address (0x00000000000003ba) 0x0000025c: 03 DW_LNS_advance_line (41) 0x0000025e: 05 DW_LNS_set_column (8) 0x00000260: 06 DW_LNS_negate_stmt 0x00000261: 01 DW_LNS_copy - 0x000000000000039a 41 8 1 0 0 is_stmt + 0x00000000000003ba 41 8 1 0 0 is_stmt -0x00000262: 00 DW_LNE_set_address (0x00000000000003a1) +0x00000262: 00 DW_LNE_set_address (0x00000000000003c2) 0x00000269: 05 DW_LNS_set_column (6) 0x0000026b: 06 DW_LNS_negate_stmt 0x0000026c: 01 DW_LNS_copy - 0x00000000000003a1 41 6 1 0 0 + 0x00000000000003c2 41 6 1 0 0 -0x0000026d: 00 DW_LNE_set_address (0x00000000000003b2) +0x0000026d: 00 DW_LNE_set_address (0x00000000000003d4) 0x00000274: 03 DW_LNS_advance_line (44) 0x00000276: 05 DW_LNS_set_column (14) 0x00000278: 06 DW_LNS_negate_stmt 0x00000279: 01 DW_LNS_copy - 0x00000000000003b2 44 14 1 0 0 is_stmt + 0x00000000000003d4 44 14 1 0 0 is_stmt -0x0000027a: 00 DW_LNE_set_address (0x00000000000003b9) +0x0000027a: 00 DW_LNE_set_address (0x00000000000003dc) 0x00000281: 05 DW_LNS_set_column (16) 0x00000283: 06 DW_LNS_negate_stmt 0x00000284: 01 DW_LNS_copy - 0x00000000000003b9 44 16 1 0 0 + 0x00000000000003dc 44 16 1 0 0 -0x00000285: 00 DW_LNE_set_address (0x00000000000003c8) +0x00000285: 00 DW_LNE_set_address (0x00000000000003eb) 0x0000028c: 05 DW_LNS_set_column (7) 0x0000028e: 01 DW_LNS_copy - 0x00000000000003c8 44 7 1 0 0 + 0x00000000000003eb 44 7 1 0 0 -0x0000028f: 00 DW_LNE_set_address (0x00000000000003d8) +0x0000028f: 00 DW_LNE_set_address (0x00000000000003fb) 0x00000296: 03 DW_LNS_advance_line (45) 0x00000298: 05 DW_LNS_set_column (25) 0x0000029a: 06 DW_LNS_negate_stmt 0x0000029b: 01 DW_LNS_copy - 0x00000000000003d8 45 25 1 0 0 is_stmt + 0x00000000000003fb 45 25 1 0 0 is_stmt -0x0000029c: 00 DW_LNE_set_address (0x00000000000003df) +0x0000029c: 00 DW_LNE_set_address (0x0000000000000403) 0x000002a3: 05 DW_LNS_set_column (10) 0x000002a5: 06 DW_LNS_negate_stmt 0x000002a6: 01 DW_LNS_copy - 0x00000000000003df 45 10 1 0 0 + 0x0000000000000403 45 10 1 0 0 -0x000002a7: 00 DW_LNE_set_address (0x00000000000003e6) +0x000002a7: 00 DW_LNE_set_address (0x000000000000040b) 0x000002ae: 05 DW_LNS_set_column (16) 0x000002b0: 01 DW_LNS_copy - 0x00000000000003e6 45 16 1 0 0 + 0x000000000000040b 45 16 1 0 0 -0x000002b1: 00 DW_LNE_set_address (0x00000000000003ed) +0x000002b1: 00 DW_LNE_set_address (0x0000000000000413) 0x000002b8: 05 DW_LNS_set_column (18) 0x000002ba: 01 DW_LNS_copy - 0x00000000000003ed 45 18 1 0 0 + 0x0000000000000413 45 18 1 0 0 -0x000002bb: 00 DW_LNE_set_address (0x00000000000003f8) +0x000002bb: 00 DW_LNE_set_address (0x000000000000041e) 0x000002c2: 05 DW_LNS_set_column (10) 0x000002c4: 01 DW_LNS_copy - 0x00000000000003f8 45 10 1 0 0 + 0x000000000000041e 45 10 1 0 0 -0x000002c5: 00 DW_LNE_set_address (0x000000000000040a) +0x000002c5: 00 DW_LNE_set_address (0x0000000000000430) 0x000002cc: 05 DW_LNS_set_column (23) 0x000002ce: 01 DW_LNS_copy - 0x000000000000040a 45 23 1 0 0 + 0x0000000000000430 45 23 1 0 0 -0x000002cf: 00 DW_LNE_set_address (0x0000000000000411) +0x000002cf: 00 DW_LNE_set_address (0x0000000000000438) 0x000002d6: 03 DW_LNS_advance_line (44) 0x000002d8: 05 DW_LNS_set_column (22) 0x000002da: 06 DW_LNS_negate_stmt 0x000002db: 01 DW_LNS_copy - 0x0000000000000411 44 22 1 0 0 is_stmt + 0x0000000000000438 44 22 1 0 0 is_stmt -0x000002dc: 00 DW_LNE_set_address (0x000000000000042a) +0x000002dc: 00 DW_LNE_set_address (0x0000000000000453) 0x000002e3: 05 DW_LNS_set_column (7) 0x000002e5: 06 DW_LNS_negate_stmt 0x000002e6: 01 DW_LNS_copy - 0x000000000000042a 44 7 1 0 0 + 0x0000000000000453 44 7 1 0 0 -0x000002e7: 00 DW_LNE_set_address (0x000000000000042c) +0x000002e7: 00 DW_LNE_set_address (0x0000000000000455) 0x000002ee: 01 DW_LNS_copy - 0x000000000000042c 44 7 1 0 0 + 0x0000000000000455 44 7 1 0 0 -0x000002ef: 00 DW_LNE_set_address (0x000000000000042f) +0x000002ef: 00 DW_LNE_set_address (0x0000000000000458) 0x000002f6: 03 DW_LNS_advance_line (46) 0x000002f8: 05 DW_LNS_set_column (11) 0x000002fa: 06 DW_LNS_negate_stmt 0x000002fb: 01 DW_LNS_copy - 0x000000000000042f 46 11 1 0 0 is_stmt + 0x0000000000000458 46 11 1 0 0 is_stmt -0x000002fc: 00 DW_LNE_set_address (0x000000000000043d) +0x000002fc: 00 DW_LNE_set_address (0x0000000000000468) 0x00000303: 05 DW_LNS_set_column (25) 0x00000305: 06 DW_LNS_negate_stmt 0x00000306: 01 DW_LNS_copy - 0x000000000000043d 46 25 1 0 0 + 0x0000000000000468 46 25 1 0 0 -0x00000307: 00 DW_LNE_set_address (0x0000000000000444) +0x00000307: 00 DW_LNE_set_address (0x000000000000046f) 0x0000030e: 05 DW_LNS_set_column (28) 0x00000310: 01 DW_LNS_copy - 0x0000000000000444 46 28 1 0 0 + 0x000000000000046f 46 28 1 0 0 -0x00000311: 00 DW_LNE_set_address (0x000000000000044b) +0x00000311: 00 DW_LNE_set_address (0x0000000000000477) 0x00000318: 05 DW_LNS_set_column (34) 0x0000031a: 01 DW_LNS_copy - 0x000000000000044b 46 34 1 0 0 + 0x0000000000000477 46 34 1 0 0 -0x0000031b: 00 DW_LNE_set_address (0x0000000000000452) +0x0000031b: 00 DW_LNE_set_address (0x000000000000047f) 0x00000322: 05 DW_LNS_set_column (36) 0x00000324: 01 DW_LNS_copy - 0x0000000000000452 46 36 1 0 0 + 0x000000000000047f 46 36 1 0 0 -0x00000325: 00 DW_LNE_set_address (0x000000000000045d) +0x00000325: 00 DW_LNE_set_address (0x000000000000048a) 0x0000032c: 05 DW_LNS_set_column (28) 0x0000032e: 01 DW_LNS_copy - 0x000000000000045d 46 28 1 0 0 + 0x000000000000048a 46 28 1 0 0 -0x0000032f: 00 DW_LNE_set_address (0x0000000000000476) +0x0000032f: 00 DW_LNE_set_address (0x00000000000004a4) 0x00000336: 05 DW_LNS_set_column (44) 0x00000338: 01 DW_LNS_copy - 0x0000000000000476 46 44 1 0 0 + 0x00000000000004a4 46 44 1 0 0 -0x00000339: 00 DW_LNE_set_address (0x000000000000047d) +0x00000339: 00 DW_LNE_set_address (0x00000000000004ac) 0x00000340: 05 DW_LNS_set_column (46) 0x00000342: 01 DW_LNS_copy - 0x000000000000047d 46 46 1 0 0 + 0x00000000000004ac 46 46 1 0 0 -0x00000343: 00 DW_LNE_set_address (0x0000000000000488) +0x00000343: 00 DW_LNE_set_address (0x00000000000004b7) 0x0000034a: 05 DW_LNS_set_column (41) 0x0000034c: 01 DW_LNS_copy - 0x0000000000000488 46 41 1 0 0 + 0x00000000000004b7 46 41 1 0 0 -0x0000034d: 00 DW_LNE_set_address (0x0000000000000497) +0x0000034d: 00 DW_LNE_set_address (0x00000000000004c6) 0x00000354: 05 DW_LNS_set_column (11) 0x00000356: 01 DW_LNS_copy - 0x0000000000000497 46 11 1 0 0 + 0x00000000000004c6 46 11 1 0 0 -0x00000357: 00 DW_LNE_set_address (0x00000000000004ab) +0x00000357: 00 DW_LNE_set_address (0x00000000000004da) 0x0000035e: 03 DW_LNS_advance_line (47) 0x00000360: 05 DW_LNS_set_column (17) 0x00000362: 06 DW_LNS_negate_stmt 0x00000363: 01 DW_LNS_copy - 0x00000000000004ab 47 17 1 0 0 is_stmt + 0x00000000000004da 47 17 1 0 0 is_stmt -0x00000364: 00 DW_LNE_set_address (0x00000000000004b2) +0x00000364: 00 DW_LNE_set_address (0x00000000000004e2) 0x0000036b: 05 DW_LNS_set_column (22) 0x0000036d: 06 DW_LNS_negate_stmt 0x0000036e: 01 DW_LNS_copy - 0x00000000000004b2 47 22 1 0 0 + 0x00000000000004e2 47 22 1 0 0 -0x0000036f: 00 DW_LNE_set_address (0x00000000000004bd) +0x0000036f: 00 DW_LNE_set_address (0x00000000000004ee) 0x00000376: 05 DW_LNS_set_column (26) 0x00000378: 01 DW_LNS_copy - 0x00000000000004bd 47 26 1 0 0 + 0x00000000000004ee 47 26 1 0 0 -0x00000379: 00 DW_LNE_set_address (0x00000000000004c4) +0x00000379: 00 DW_LNE_set_address (0x00000000000004f6) 0x00000380: 05 DW_LNS_set_column (24) 0x00000382: 01 DW_LNS_copy - 0x00000000000004c4 47 24 1 0 0 + 0x00000000000004f6 47 24 1 0 0 -0x00000383: 00 DW_LNE_set_address (0x00000000000004d3) +0x00000383: 00 DW_LNE_set_address (0x0000000000000505) 0x0000038a: 05 DW_LNS_set_column (10) 0x0000038c: 01 DW_LNS_copy - 0x00000000000004d3 47 10 1 0 0 + 0x0000000000000505 47 10 1 0 0 -0x0000038d: 00 DW_LNE_set_address (0x00000000000004e3) +0x0000038d: 00 DW_LNE_set_address (0x0000000000000515) 0x00000394: 03 DW_LNS_advance_line (48) 0x00000396: 05 DW_LNS_set_column (23) 0x00000398: 06 DW_LNS_negate_stmt 0x00000399: 01 DW_LNS_copy - 0x00000000000004e3 48 23 1 0 0 is_stmt + 0x0000000000000515 48 23 1 0 0 is_stmt -0x0000039a: 00 DW_LNE_set_address (0x00000000000004ea) +0x0000039a: 00 DW_LNE_set_address (0x000000000000051d) 0x000003a1: 05 DW_LNS_set_column (29) 0x000003a3: 06 DW_LNS_negate_stmt 0x000003a4: 01 DW_LNS_copy - 0x00000000000004ea 48 29 1 0 0 + 0x000000000000051d 48 29 1 0 0 -0x000003a5: 00 DW_LNE_set_address (0x00000000000004f1) +0x000003a5: 00 DW_LNE_set_address (0x0000000000000525) 0x000003ac: 05 DW_LNS_set_column (23) 0x000003ae: 01 DW_LNS_copy - 0x00000000000004f1 48 23 1 0 0 + 0x0000000000000525 48 23 1 0 0 -0x000003af: 00 DW_LNE_set_address (0x000000000000050a) +0x000003af: 00 DW_LNE_set_address (0x000000000000053f) 0x000003b6: 05 DW_LNS_set_column (13) 0x000003b8: 01 DW_LNS_copy - 0x000000000000050a 48 13 1 0 0 + 0x000000000000053f 48 13 1 0 0 -0x000003b9: 00 DW_LNE_set_address (0x0000000000000511) +0x000003b9: 00 DW_LNE_set_address (0x0000000000000547) 0x000003c0: 05 DW_LNS_set_column (18) 0x000003c2: 01 DW_LNS_copy - 0x0000000000000511 48 18 1 0 0 + 0x0000000000000547 48 18 1 0 0 -0x000003c3: 00 DW_LNE_set_address (0x0000000000000518) +0x000003c3: 00 DW_LNE_set_address (0x000000000000054f) 0x000003ca: 05 DW_LNS_set_column (13) 0x000003cc: 01 DW_LNS_copy - 0x0000000000000518 48 13 1 0 0 + 0x000000000000054f 48 13 1 0 0 -0x000003cd: 00 DW_LNE_set_address (0x000000000000052a) +0x000003cd: 00 DW_LNE_set_address (0x0000000000000561) 0x000003d4: 05 DW_LNS_set_column (21) 0x000003d6: 01 DW_LNS_copy - 0x000000000000052a 48 21 1 0 0 + 0x0000000000000561 48 21 1 0 0 -0x000003d7: 00 DW_LNE_set_address (0x0000000000000531) +0x000003d7: 00 DW_LNE_set_address (0x0000000000000569) 0x000003de: 03 DW_LNS_advance_line (47) 0x000003e0: 05 DW_LNS_set_column (30) 0x000003e2: 06 DW_LNS_negate_stmt 0x000003e3: 01 DW_LNS_copy - 0x0000000000000531 47 30 1 0 0 is_stmt + 0x0000000000000569 47 30 1 0 0 is_stmt -0x000003e4: 00 DW_LNE_set_address (0x000000000000054a) +0x000003e4: 00 DW_LNE_set_address (0x0000000000000584) 0x000003eb: 05 DW_LNS_set_column (10) 0x000003ed: 06 DW_LNS_negate_stmt 0x000003ee: 01 DW_LNS_copy - 0x000000000000054a 47 10 1 0 0 + 0x0000000000000584 47 10 1 0 0 -0x000003ef: 00 DW_LNE_set_address (0x000000000000054c) +0x000003ef: 00 DW_LNE_set_address (0x0000000000000586) 0x000003f6: 01 DW_LNS_copy - 0x000000000000054c 47 10 1 0 0 + 0x0000000000000586 47 10 1 0 0 -0x000003f7: 00 DW_LNE_set_address (0x0000000000000553) +0x000003f7: 00 DW_LNE_set_address (0x000000000000058d) 0x000003fe: 03 DW_LNS_advance_line (49) 0x00000400: 05 DW_LNS_set_column (16) 0x00000402: 06 DW_LNS_negate_stmt 0x00000403: 01 DW_LNS_copy - 0x0000000000000553 49 16 1 0 0 is_stmt + 0x000000000000058d 49 16 1 0 0 is_stmt -0x00000404: 00 DW_LNE_set_address (0x000000000000055a) +0x00000404: 00 DW_LNE_set_address (0x0000000000000595) 0x0000040b: 03 DW_LNS_advance_line (50) 0x0000040d: 05 DW_LNS_set_column (14) 0x0000040f: 01 DW_LNS_copy - 0x000000000000055a 50 14 1 0 0 is_stmt + 0x0000000000000595 50 14 1 0 0 is_stmt -0x00000410: 00 DW_LNE_set_address (0x0000000000000568) +0x00000410: 00 DW_LNE_set_address (0x00000000000005a5) 0x00000417: 05 DW_LNS_set_column (12) 0x00000419: 06 DW_LNS_negate_stmt 0x0000041a: 01 DW_LNS_copy - 0x0000000000000568 50 12 1 0 0 + 0x00000000000005a5 50 12 1 0 0 -0x0000041b: 00 DW_LNE_set_address (0x0000000000000575) +0x0000041b: 00 DW_LNE_set_address (0x00000000000005b3) 0x00000422: 03 DW_LNS_advance_line (52) 0x00000424: 05 DW_LNS_set_column (20) 0x00000426: 06 DW_LNS_negate_stmt 0x00000427: 01 DW_LNS_copy - 0x0000000000000575 52 20 1 0 0 is_stmt + 0x00000000000005b3 52 20 1 0 0 is_stmt -0x00000428: 00 DW_LNE_set_address (0x000000000000057c) +0x00000428: 00 DW_LNE_set_address (0x00000000000005bb) 0x0000042f: 05 DW_LNS_set_column (29) 0x00000431: 06 DW_LNS_negate_stmt 0x00000432: 01 DW_LNS_copy - 0x000000000000057c 52 29 1 0 0 + 0x00000000000005bb 52 29 1 0 0 -0x00000433: 00 DW_LNE_set_address (0x0000000000000583) +0x00000433: 00 DW_LNE_set_address (0x00000000000005c3) 0x0000043a: 05 DW_LNS_set_column (31) 0x0000043c: 01 DW_LNS_copy - 0x0000000000000583 52 31 1 0 0 + 0x00000000000005c3 52 31 1 0 0 -0x0000043d: 00 DW_LNE_set_address (0x000000000000058e) +0x0000043d: 00 DW_LNE_set_address (0x00000000000005ce) 0x00000444: 05 DW_LNS_set_column (27) 0x00000446: 01 DW_LNS_copy - 0x000000000000058e 52 27 1 0 0 + 0x00000000000005ce 52 27 1 0 0 -0x00000447: 00 DW_LNE_set_address (0x0000000000000595) +0x00000447: 00 DW_LNE_set_address (0x00000000000005d6) 0x0000044e: 05 DW_LNS_set_column (36) 0x00000450: 01 DW_LNS_copy - 0x0000000000000595 52 36 1 0 0 + 0x00000000000005d6 52 36 1 0 0 -0x00000451: 00 DW_LNE_set_address (0x00000000000005a0) +0x00000451: 00 DW_LNE_set_address (0x00000000000005e2) 0x00000458: 05 DW_LNS_set_column (40) 0x0000045a: 01 DW_LNS_copy - 0x00000000000005a0 52 40 1 0 0 + 0x00000000000005e2 52 40 1 0 0 -0x0000045b: 00 DW_LNE_set_address (0x00000000000005a7) +0x0000045b: 00 DW_LNE_set_address (0x00000000000005ea) 0x00000462: 05 DW_LNS_set_column (38) 0x00000464: 01 DW_LNS_copy - 0x00000000000005a7 52 38 1 0 0 + 0x00000000000005ea 52 38 1 0 0 -0x00000465: 00 DW_LNE_set_address (0x00000000000005b6) +0x00000465: 00 DW_LNE_set_address (0x00000000000005f9) 0x0000046c: 05 DW_LNS_set_column (13) 0x0000046e: 01 DW_LNS_copy - 0x00000000000005b6 52 13 1 0 0 + 0x00000000000005f9 52 13 1 0 0 -0x0000046f: 00 DW_LNE_set_address (0x00000000000005c6) +0x0000046f: 00 DW_LNE_set_address (0x0000000000000609) 0x00000476: 03 DW_LNS_advance_line (53) 0x00000478: 05 DW_LNS_set_column (22) 0x0000047a: 06 DW_LNS_negate_stmt 0x0000047b: 01 DW_LNS_copy - 0x00000000000005c6 53 22 1 0 0 is_stmt + 0x0000000000000609 53 22 1 0 0 is_stmt -0x0000047c: 00 DW_LNE_set_address (0x00000000000005cd) +0x0000047c: 00 DW_LNE_set_address (0x0000000000000611) 0x00000483: 05 DW_LNS_set_column (27) 0x00000485: 06 DW_LNS_negate_stmt 0x00000486: 01 DW_LNS_copy - 0x00000000000005cd 53 27 1 0 0 + 0x0000000000000611 53 27 1 0 0 -0x00000487: 00 DW_LNE_set_address (0x00000000000005d5) +0x00000487: 00 DW_LNE_set_address (0x000000000000061a) 0x0000048e: 05 DW_LNS_set_column (22) 0x00000490: 01 DW_LNS_copy - 0x00000000000005d5 53 22 1 0 0 + 0x000000000000061a 53 22 1 0 0 -0x00000491: 00 DW_LNE_set_address (0x00000000000005f6) +0x00000491: 00 DW_LNE_set_address (0x000000000000063c) 0x00000498: 05 DW_LNS_set_column (20) 0x0000049a: 01 DW_LNS_copy - 0x00000000000005f6 53 20 1 0 0 + 0x000000000000063c 53 20 1 0 0 -0x0000049b: 00 DW_LNE_set_address (0x00000000000005fe) +0x0000049b: 00 DW_LNE_set_address (0x0000000000000645) 0x000004a2: 03 DW_LNS_advance_line (54) 0x000004a4: 05 DW_LNS_set_column (26) 0x000004a6: 06 DW_LNS_negate_stmt 0x000004a7: 01 DW_LNS_copy - 0x00000000000005fe 54 26 1 0 0 is_stmt + 0x0000000000000645 54 26 1 0 0 is_stmt -0x000004a8: 00 DW_LNE_set_address (0x0000000000000606) +0x000004a8: 00 DW_LNE_set_address (0x000000000000064e) 0x000004af: 05 DW_LNS_set_column (31) 0x000004b1: 06 DW_LNS_negate_stmt 0x000004b2: 01 DW_LNS_copy - 0x0000000000000606 54 31 1 0 0 + 0x000000000000064e 54 31 1 0 0 -0x000004b3: 00 DW_LNE_set_address (0x000000000000060e) +0x000004b3: 00 DW_LNE_set_address (0x0000000000000657) 0x000004ba: 05 DW_LNS_set_column (26) 0x000004bc: 01 DW_LNS_copy - 0x000000000000060e 54 26 1 0 0 + 0x0000000000000657 54 26 1 0 0 -0x000004bd: 00 DW_LNE_set_address (0x0000000000000630) +0x000004bd: 00 DW_LNE_set_address (0x000000000000067a) 0x000004c4: 05 DW_LNS_set_column (16) 0x000004c6: 01 DW_LNS_copy - 0x0000000000000630 54 16 1 0 0 + 0x000000000000067a 54 16 1 0 0 -0x000004c7: 00 DW_LNE_set_address (0x0000000000000638) +0x000004c7: 00 DW_LNE_set_address (0x0000000000000683) 0x000004ce: 05 DW_LNS_set_column (21) 0x000004d0: 01 DW_LNS_copy - 0x0000000000000638 54 21 1 0 0 + 0x0000000000000683 54 21 1 0 0 -0x000004d1: 00 DW_LNE_set_address (0x0000000000000640) +0x000004d1: 00 DW_LNE_set_address (0x000000000000068c) 0x000004d8: 05 DW_LNS_set_column (16) 0x000004da: 01 DW_LNS_copy - 0x0000000000000640 54 16 1 0 0 + 0x000000000000068c 54 16 1 0 0 -0x000004db: 00 DW_LNE_set_address (0x0000000000000659) +0x000004db: 00 DW_LNE_set_address (0x00000000000006a5) 0x000004e2: 05 DW_LNS_set_column (24) 0x000004e4: 01 DW_LNS_copy - 0x0000000000000659 54 24 1 0 0 + 0x00000000000006a5 54 24 1 0 0 -0x000004e5: 00 DW_LNE_set_address (0x0000000000000662) +0x000004e5: 00 DW_LNE_set_address (0x00000000000006af) 0x000004ec: 03 DW_LNS_advance_line (55) 0x000004ee: 05 DW_LNS_set_column (26) 0x000004f0: 06 DW_LNS_negate_stmt 0x000004f1: 01 DW_LNS_copy - 0x0000000000000662 55 26 1 0 0 is_stmt + 0x00000000000006af 55 26 1 0 0 is_stmt -0x000004f2: 00 DW_LNE_set_address (0x000000000000066a) +0x000004f2: 00 DW_LNE_set_address (0x00000000000006b8) 0x000004f9: 05 DW_LNS_set_column (16) 0x000004fb: 06 DW_LNS_negate_stmt 0x000004fc: 01 DW_LNS_copy - 0x000000000000066a 55 16 1 0 0 + 0x00000000000006b8 55 16 1 0 0 -0x000004fd: 00 DW_LNE_set_address (0x0000000000000672) +0x000004fd: 00 DW_LNE_set_address (0x00000000000006c1) 0x00000504: 05 DW_LNS_set_column (21) 0x00000506: 01 DW_LNS_copy - 0x0000000000000672 55 21 1 0 0 + 0x00000000000006c1 55 21 1 0 0 -0x00000507: 00 DW_LNE_set_address (0x000000000000067a) +0x00000507: 00 DW_LNE_set_address (0x00000000000006ca) 0x0000050e: 05 DW_LNS_set_column (16) 0x00000510: 01 DW_LNS_copy - 0x000000000000067a 55 16 1 0 0 + 0x00000000000006ca 55 16 1 0 0 -0x00000511: 00 DW_LNE_set_address (0x0000000000000693) +0x00000511: 00 DW_LNE_set_address (0x00000000000006e3) 0x00000518: 05 DW_LNS_set_column (24) 0x0000051a: 01 DW_LNS_copy - 0x0000000000000693 55 24 1 0 0 + 0x00000000000006e3 55 24 1 0 0 -0x0000051b: 00 DW_LNE_set_address (0x000000000000069c) +0x0000051b: 00 DW_LNE_set_address (0x00000000000006ed) 0x00000522: 03 DW_LNS_advance_line (52) 0x00000524: 05 DW_LNS_set_column (44) 0x00000526: 06 DW_LNS_negate_stmt 0x00000527: 01 DW_LNS_copy - 0x000000000000069c 52 44 1 0 0 is_stmt + 0x00000000000006ed 52 44 1 0 0 is_stmt -0x00000528: 00 DW_LNE_set_address (0x00000000000006bb) +0x00000528: 00 DW_LNE_set_address (0x000000000000070e) 0x0000052f: 05 DW_LNS_set_column (49) 0x00000531: 06 DW_LNS_negate_stmt 0x00000532: 01 DW_LNS_copy - 0x00000000000006bb 52 49 1 0 0 + 0x000000000000070e 52 49 1 0 0 -0x00000533: 00 DW_LNE_set_address (0x00000000000006da) +0x00000533: 00 DW_LNE_set_address (0x000000000000072f) 0x0000053a: 05 DW_LNS_set_column (13) 0x0000053c: 01 DW_LNS_copy - 0x00000000000006da 52 13 1 0 0 + 0x000000000000072f 52 13 1 0 0 -0x0000053d: 00 DW_LNE_set_address (0x00000000000006dc) +0x0000053d: 00 DW_LNE_set_address (0x0000000000000731) 0x00000544: 01 DW_LNS_copy - 0x00000000000006dc 52 13 1 0 0 + 0x0000000000000731 52 13 1 0 0 -0x00000545: 00 DW_LNE_set_address (0x00000000000006df) +0x00000545: 00 DW_LNE_set_address (0x0000000000000734) 0x0000054c: 03 DW_LNS_advance_line (57) 0x0000054e: 05 DW_LNS_set_column (18) 0x00000550: 06 DW_LNS_negate_stmt 0x00000551: 01 DW_LNS_copy - 0x00000000000006df 57 18 1 0 0 is_stmt + 0x0000000000000734 57 18 1 0 0 is_stmt -0x00000552: 00 DW_LNE_set_address (0x00000000000006fe) +0x00000552: 00 DW_LNE_set_address (0x0000000000000755) 0x00000559: 03 DW_LNS_advance_line (58) 0x0000055b: 05 DW_LNS_set_column (19) 0x0000055d: 01 DW_LNS_copy - 0x00000000000006fe 58 19 1 0 0 is_stmt + 0x0000000000000755 58 19 1 0 0 is_stmt -0x0000055e: 00 DW_LNE_set_address (0x0000000000000706) +0x0000055e: 00 DW_LNE_set_address (0x000000000000075e) 0x00000565: 05 DW_LNS_set_column (24) 0x00000567: 06 DW_LNS_negate_stmt 0x00000568: 01 DW_LNS_copy - 0x0000000000000706 58 24 1 0 0 + 0x000000000000075e 58 24 1 0 0 -0x00000569: 00 DW_LNE_set_address (0x000000000000070e) +0x00000569: 00 DW_LNE_set_address (0x0000000000000767) 0x00000570: 05 DW_LNS_set_column (19) 0x00000572: 01 DW_LNS_copy - 0x000000000000070e 58 19 1 0 0 + 0x0000000000000767 58 19 1 0 0 -0x00000573: 00 DW_LNE_set_address (0x0000000000000730) +0x00000573: 00 DW_LNE_set_address (0x000000000000078a) 0x0000057a: 05 DW_LNS_set_column (17) 0x0000057c: 01 DW_LNS_copy - 0x0000000000000730 58 17 1 0 0 + 0x000000000000078a 58 17 1 0 0 -0x0000057d: 00 DW_LNE_set_address (0x0000000000000738) +0x0000057d: 00 DW_LNE_set_address (0x0000000000000793) 0x00000584: 03 DW_LNS_advance_line (59) 0x00000586: 05 DW_LNS_set_column (23) 0x00000588: 06 DW_LNS_negate_stmt 0x00000589: 01 DW_LNS_copy - 0x0000000000000738 59 23 1 0 0 is_stmt + 0x0000000000000793 59 23 1 0 0 is_stmt -0x0000058a: 00 DW_LNE_set_address (0x0000000000000740) +0x0000058a: 00 DW_LNE_set_address (0x000000000000079c) 0x00000591: 05 DW_LNS_set_column (13) 0x00000593: 06 DW_LNS_negate_stmt 0x00000594: 01 DW_LNS_copy - 0x0000000000000740 59 13 1 0 0 + 0x000000000000079c 59 13 1 0 0 -0x00000595: 00 DW_LNE_set_address (0x0000000000000748) +0x00000595: 00 DW_LNE_set_address (0x00000000000007a5) 0x0000059c: 05 DW_LNS_set_column (18) 0x0000059e: 01 DW_LNS_copy - 0x0000000000000748 59 18 1 0 0 + 0x00000000000007a5 59 18 1 0 0 -0x0000059f: 00 DW_LNE_set_address (0x0000000000000750) +0x0000059f: 00 DW_LNE_set_address (0x00000000000007ae) 0x000005a6: 05 DW_LNS_set_column (13) 0x000005a8: 01 DW_LNS_copy - 0x0000000000000750 59 13 1 0 0 + 0x00000000000007ae 59 13 1 0 0 -0x000005a9: 00 DW_LNE_set_address (0x0000000000000769) +0x000005a9: 00 DW_LNE_set_address (0x00000000000007c7) 0x000005b0: 05 DW_LNS_set_column (21) 0x000005b2: 01 DW_LNS_copy - 0x0000000000000769 59 21 1 0 0 + 0x00000000000007c7 59 21 1 0 0 -0x000005b3: 00 DW_LNE_set_address (0x0000000000000772) +0x000005b3: 00 DW_LNE_set_address (0x00000000000007d1) 0x000005ba: 03 DW_LNS_advance_line (60) 0x000005bc: 05 DW_LNS_set_column (17) 0x000005be: 06 DW_LNS_negate_stmt 0x000005bf: 01 DW_LNS_copy - 0x0000000000000772 60 17 1 0 0 is_stmt + 0x00000000000007d1 60 17 1 0 0 is_stmt -0x000005c0: 00 DW_LNE_set_address (0x000000000000077a) +0x000005c0: 00 DW_LNE_set_address (0x00000000000007da) 0x000005c7: 05 DW_LNS_set_column (15) 0x000005c9: 06 DW_LNS_negate_stmt 0x000005ca: 01 DW_LNS_copy - 0x000000000000077a 60 15 1 0 0 + 0x00000000000007da 60 15 1 0 0 -0x000005cb: 00 DW_LNE_set_address (0x0000000000000782) +0x000005cb: 00 DW_LNE_set_address (0x00000000000007e3) 0x000005d2: 03 DW_LNS_advance_line (61) 0x000005d4: 05 DW_LNS_set_column (19) 0x000005d6: 06 DW_LNS_negate_stmt 0x000005d7: 01 DW_LNS_copy - 0x0000000000000782 61 19 1 0 0 is_stmt + 0x00000000000007e3 61 19 1 0 0 is_stmt -0x000005d8: 00 DW_LNE_set_address (0x000000000000078a) +0x000005d8: 00 DW_LNE_set_address (0x00000000000007ec) 0x000005df: 05 DW_LNS_set_column (10) 0x000005e1: 06 DW_LNS_negate_stmt 0x000005e2: 01 DW_LNS_copy - 0x000000000000078a 61 10 1 0 0 + 0x00000000000007ec 61 10 1 0 0 -0x000005e3: 00 DW_LNE_set_address (0x0000000000000790) +0x000005e3: 00 DW_LNE_set_address (0x00000000000007f2) 0x000005ea: 03 DW_LNS_advance_line (62) 0x000005ec: 05 DW_LNS_set_column (14) 0x000005ee: 06 DW_LNS_negate_stmt 0x000005ef: 01 DW_LNS_copy - 0x0000000000000790 62 14 1 0 0 is_stmt + 0x00000000000007f2 62 14 1 0 0 is_stmt -0x000005f0: 00 DW_LNE_set_address (0x0000000000000798) +0x000005f0: 00 DW_LNE_set_address (0x00000000000007fb) 0x000005f7: 05 DW_LNS_set_column (25) 0x000005f9: 06 DW_LNS_negate_stmt 0x000005fa: 01 DW_LNS_copy - 0x0000000000000798 62 25 1 0 0 + 0x00000000000007fb 62 25 1 0 0 -0x000005fb: 00 DW_LNE_set_address (0x00000000000007a0) +0x000005fb: 00 DW_LNE_set_address (0x0000000000000804) 0x00000602: 05 DW_LNS_set_column (23) 0x00000604: 01 DW_LNS_copy - 0x00000000000007a0 62 23 1 0 0 + 0x0000000000000804 62 23 1 0 0 -0x00000605: 00 DW_LNE_set_address (0x00000000000007b6) +0x00000605: 00 DW_LNE_set_address (0x000000000000081a) 0x0000060c: 05 DW_LNS_set_column (14) 0x0000060e: 01 DW_LNS_copy - 0x00000000000007b6 62 14 1 0 0 + 0x000000000000081a 62 14 1 0 0 -0x0000060f: 00 DW_LNE_set_address (0x00000000000007cd) +0x0000060f: 00 DW_LNE_set_address (0x0000000000000831) 0x00000616: 03 DW_LNS_advance_line (63) 0x00000618: 05 DW_LNS_set_column (24) 0x0000061a: 06 DW_LNS_negate_stmt 0x0000061b: 01 DW_LNS_copy - 0x00000000000007cd 63 24 1 0 0 is_stmt + 0x0000000000000831 63 24 1 0 0 is_stmt -0x0000061c: 00 DW_LNE_set_address (0x00000000000007d5) +0x0000061c: 00 DW_LNE_set_address (0x000000000000083a) 0x00000623: 05 DW_LNS_set_column (22) 0x00000625: 06 DW_LNS_negate_stmt 0x00000626: 01 DW_LNS_copy - 0x00000000000007d5 63 22 1 0 0 + 0x000000000000083a 63 22 1 0 0 -0x00000627: 00 DW_LNE_set_address (0x00000000000007df) +0x00000627: 00 DW_LNE_set_address (0x0000000000000845) 0x0000062e: 03 DW_LNS_advance_line (66) 0x00000630: 05 DW_LNS_set_column (14) 0x00000632: 06 DW_LNS_negate_stmt 0x00000633: 01 DW_LNS_copy - 0x00000000000007df 66 14 1 0 0 is_stmt + 0x0000000000000845 66 14 1 0 0 is_stmt -0x00000634: 00 DW_LNE_set_address (0x00000000000007e9) +0x00000634: 00 DW_LNE_set_address (0x0000000000000850) 0x0000063b: 05 DW_LNS_set_column (19) 0x0000063d: 06 DW_LNS_negate_stmt 0x0000063e: 01 DW_LNS_copy - 0x00000000000007e9 66 19 1 0 0 + 0x0000000000000850 66 19 1 0 0 -0x0000063f: 00 DW_LNE_set_address (0x00000000000007f1) +0x0000063f: 00 DW_LNE_set_address (0x0000000000000859) 0x00000646: 05 DW_LNS_set_column (21) 0x00000648: 01 DW_LNS_copy - 0x00000000000007f1 66 21 1 0 0 + 0x0000000000000859 66 21 1 0 0 -0x00000649: 00 DW_LNE_set_address (0x0000000000000800) +0x00000649: 00 DW_LNE_set_address (0x0000000000000868) 0x00000650: 05 DW_LNS_set_column (16) 0x00000652: 01 DW_LNS_copy - 0x0000000000000800 66 16 1 0 0 + 0x0000000000000868 66 16 1 0 0 -0x00000653: 00 DW_LNE_set_address (0x0000000000000816) +0x00000653: 00 DW_LNE_set_address (0x000000000000087e) 0x0000065a: 05 DW_LNS_set_column (14) 0x0000065c: 01 DW_LNS_copy - 0x0000000000000816 66 14 1 0 0 + 0x000000000000087e 66 14 1 0 0 -0x0000065d: 00 DW_LNE_set_address (0x000000000000082d) +0x0000065d: 00 DW_LNE_set_address (0x0000000000000895) 0x00000664: 03 DW_LNS_advance_line (67) 0x00000666: 05 DW_LNS_set_column (18) 0x00000668: 06 DW_LNS_negate_stmt 0x00000669: 01 DW_LNS_copy - 0x000000000000082d 67 18 1 0 0 is_stmt + 0x0000000000000895 67 18 1 0 0 is_stmt -0x0000066a: 00 DW_LNE_set_address (0x0000000000000835) +0x0000066a: 00 DW_LNE_set_address (0x000000000000089e) 0x00000671: 05 DW_LNS_set_column (13) 0x00000673: 06 DW_LNS_negate_stmt 0x00000674: 01 DW_LNS_copy - 0x0000000000000835 67 13 1 0 0 + 0x000000000000089e 67 13 1 0 0 -0x00000675: 00 DW_LNE_set_address (0x000000000000083a) +0x00000675: 00 DW_LNE_set_address (0x00000000000008a3) 0x0000067c: 03 DW_LNS_advance_line (68) 0x0000067e: 05 DW_LNS_set_column (18) 0x00000680: 06 DW_LNS_negate_stmt 0x00000681: 01 DW_LNS_copy - 0x000000000000083a 68 18 1 0 0 is_stmt + 0x00000000000008a3 68 18 1 0 0 is_stmt -0x00000682: 00 DW_LNE_set_address (0x0000000000000842) +0x00000682: 00 DW_LNE_set_address (0x00000000000008ac) 0x00000689: 05 DW_LNS_set_column (13) 0x0000068b: 06 DW_LNS_negate_stmt 0x0000068c: 01 DW_LNS_copy - 0x0000000000000842 68 13 1 0 0 + 0x00000000000008ac 68 13 1 0 0 -0x0000068d: 00 DW_LNE_set_address (0x0000000000000847) +0x0000068d: 00 DW_LNE_set_address (0x00000000000008b1) 0x00000694: 03 DW_LNS_advance_line (69) 0x00000696: 05 DW_LNS_set_column (18) 0x00000698: 06 DW_LNS_negate_stmt 0x00000699: 01 DW_LNS_copy - 0x0000000000000847 69 18 1 0 0 is_stmt + 0x00000000000008b1 69 18 1 0 0 is_stmt -0x0000069a: 00 DW_LNE_set_address (0x000000000000084f) +0x0000069a: 00 DW_LNE_set_address (0x00000000000008ba) 0x000006a1: 05 DW_LNS_set_column (13) 0x000006a3: 06 DW_LNS_negate_stmt 0x000006a4: 01 DW_LNS_copy - 0x000000000000084f 69 13 1 0 0 + 0x00000000000008ba 69 13 1 0 0 -0x000006a5: 00 DW_LNE_set_address (0x0000000000000854) +0x000006a5: 00 DW_LNE_set_address (0x00000000000008bf) 0x000006ac: 03 DW_LNS_advance_line (70) 0x000006ae: 05 DW_LNS_set_column (20) 0x000006b0: 06 DW_LNS_negate_stmt 0x000006b1: 01 DW_LNS_copy - 0x0000000000000854 70 20 1 0 0 is_stmt + 0x00000000000008bf 70 20 1 0 0 is_stmt -0x000006b2: 00 DW_LNE_set_address (0x000000000000085c) +0x000006b2: 00 DW_LNE_set_address (0x00000000000008c8) 0x000006b9: 05 DW_LNS_set_column (13) 0x000006bb: 06 DW_LNS_negate_stmt 0x000006bc: 01 DW_LNS_copy - 0x000000000000085c 70 13 1 0 0 + 0x00000000000008c8 70 13 1 0 0 -0x000006bd: 00 DW_LNE_set_address (0x000000000000087a) +0x000006bd: 00 DW_LNE_set_address (0x00000000000008e6) 0x000006c4: 03 DW_LNS_advance_line (74) 0x000006c6: 05 DW_LNS_set_column (22) 0x000006c8: 06 DW_LNS_negate_stmt 0x000006c9: 01 DW_LNS_copy - 0x000000000000087a 74 22 1 0 0 is_stmt + 0x00000000000008e6 74 22 1 0 0 is_stmt -0x000006ca: 00 DW_LNE_set_address (0x000000000000088b) +0x000006ca: 00 DW_LNE_set_address (0x00000000000008f9) 0x000006d1: 05 DW_LNS_set_column (17) 0x000006d3: 06 DW_LNS_negate_stmt 0x000006d4: 01 DW_LNS_copy - 0x000000000000088b 74 17 1 0 0 + 0x00000000000008f9 74 17 1 0 0 -0x000006d5: 00 DW_LNE_set_address (0x0000000000000893) +0x000006d5: 00 DW_LNE_set_address (0x0000000000000902) 0x000006dc: 03 DW_LNS_advance_line (75) 0x000006de: 05 DW_LNS_set_column (20) 0x000006e0: 06 DW_LNS_negate_stmt 0x000006e1: 01 DW_LNS_copy - 0x0000000000000893 75 20 1 0 0 is_stmt + 0x0000000000000902 75 20 1 0 0 is_stmt -0x000006e2: 00 DW_LNE_set_address (0x000000000000089b) +0x000006e2: 00 DW_LNE_set_address (0x000000000000090b) 0x000006e9: 05 DW_LNS_set_column (25) 0x000006eb: 06 DW_LNS_negate_stmt 0x000006ec: 01 DW_LNS_copy - 0x000000000000089b 75 25 1 0 0 + 0x000000000000090b 75 25 1 0 0 -0x000006ed: 00 DW_LNE_set_address (0x00000000000008a7) +0x000006ed: 00 DW_LNE_set_address (0x0000000000000918) 0x000006f4: 05 DW_LNS_set_column (29) 0x000006f6: 01 DW_LNS_copy - 0x00000000000008a7 75 29 1 0 0 + 0x0000000000000918 75 29 1 0 0 -0x000006f7: 00 DW_LNE_set_address (0x00000000000008af) +0x000006f7: 00 DW_LNE_set_address (0x0000000000000921) 0x000006fe: 05 DW_LNS_set_column (27) 0x00000700: 01 DW_LNS_copy - 0x00000000000008af 75 27 1 0 0 + 0x0000000000000921 75 27 1 0 0 -0x00000701: 00 DW_LNE_set_address (0x00000000000008c5) +0x00000701: 00 DW_LNE_set_address (0x0000000000000937) 0x00000708: 05 DW_LNS_set_column (13) 0x0000070a: 01 DW_LNS_copy - 0x00000000000008c5 75 13 1 0 0 + 0x0000000000000937 75 13 1 0 0 -0x0000070b: 00 DW_LNE_set_address (0x00000000000008da) +0x0000070b: 00 DW_LNE_set_address (0x000000000000094c) 0x00000712: 03 DW_LNS_advance_line (76) 0x00000714: 05 DW_LNS_set_column (27) 0x00000716: 06 DW_LNS_negate_stmt 0x00000717: 01 DW_LNS_copy - 0x00000000000008da 76 27 1 0 0 is_stmt + 0x000000000000094c 76 27 1 0 0 is_stmt -0x00000718: 00 DW_LNE_set_address (0x00000000000008e2) +0x00000718: 00 DW_LNE_set_address (0x0000000000000955) 0x0000071f: 05 DW_LNS_set_column (33) 0x00000721: 06 DW_LNS_negate_stmt 0x00000722: 01 DW_LNS_copy - 0x00000000000008e2 76 33 1 0 0 + 0x0000000000000955 76 33 1 0 0 -0x00000723: 00 DW_LNE_set_address (0x00000000000008ea) +0x00000723: 00 DW_LNE_set_address (0x000000000000095e) 0x0000072a: 05 DW_LNS_set_column (35) 0x0000072c: 01 DW_LNS_copy - 0x00000000000008ea 76 35 1 0 0 + 0x000000000000095e 76 35 1 0 0 -0x0000072d: 00 DW_LNE_set_address (0x00000000000008f9) +0x0000072d: 00 DW_LNE_set_address (0x000000000000096d) 0x00000734: 05 DW_LNS_set_column (27) 0x00000736: 01 DW_LNS_copy - 0x00000000000008f9 76 27 1 0 0 + 0x000000000000096d 76 27 1 0 0 -0x00000737: 00 DW_LNE_set_address (0x000000000000091b) +0x00000737: 00 DW_LNE_set_address (0x0000000000000990) 0x0000073e: 05 DW_LNS_set_column (16) 0x00000740: 01 DW_LNS_copy - 0x000000000000091b 76 16 1 0 0 + 0x0000000000000990 76 16 1 0 0 -0x00000741: 00 DW_LNE_set_address (0x0000000000000923) +0x00000741: 00 DW_LNE_set_address (0x0000000000000999) 0x00000748: 05 DW_LNS_set_column (22) 0x0000074a: 01 DW_LNS_copy - 0x0000000000000923 76 22 1 0 0 + 0x0000000000000999 76 22 1 0 0 -0x0000074b: 00 DW_LNE_set_address (0x000000000000092b) +0x0000074b: 00 DW_LNE_set_address (0x00000000000009a2) 0x00000752: 05 DW_LNS_set_column (16) 0x00000754: 01 DW_LNS_copy - 0x000000000000092b 76 16 1 0 0 + 0x00000000000009a2 76 16 1 0 0 -0x00000755: 00 DW_LNE_set_address (0x0000000000000944) +0x00000755: 00 DW_LNE_set_address (0x00000000000009bb) 0x0000075c: 05 DW_LNS_set_column (25) 0x0000075e: 01 DW_LNS_copy - 0x0000000000000944 76 25 1 0 0 + 0x00000000000009bb 76 25 1 0 0 -0x0000075f: 00 DW_LNE_set_address (0x000000000000094d) +0x0000075f: 00 DW_LNE_set_address (0x00000000000009c5) 0x00000766: 03 DW_LNS_advance_line (75) 0x00000768: 05 DW_LNS_set_column (33) 0x0000076a: 06 DW_LNS_negate_stmt 0x0000076b: 01 DW_LNS_copy - 0x000000000000094d 75 33 1 0 0 is_stmt + 0x00000000000009c5 75 33 1 0 0 is_stmt -0x0000076c: 00 DW_LNE_set_address (0x000000000000096c) +0x0000076c: 00 DW_LNE_set_address (0x00000000000009e6) 0x00000773: 05 DW_LNS_set_column (13) 0x00000775: 06 DW_LNS_negate_stmt 0x00000776: 01 DW_LNS_copy - 0x000000000000096c 75 13 1 0 0 + 0x00000000000009e6 75 13 1 0 0 -0x00000777: 00 DW_LNE_set_address (0x000000000000096e) +0x00000777: 00 DW_LNE_set_address (0x00000000000009e8) 0x0000077e: 01 DW_LNS_copy - 0x000000000000096e 75 13 1 0 0 + 0x00000000000009e8 75 13 1 0 0 -0x0000077f: 00 DW_LNE_set_address (0x0000000000000976) +0x0000077f: 00 DW_LNE_set_address (0x00000000000009f0) 0x00000786: 03 DW_LNS_advance_line (77) 0x00000788: 05 DW_LNS_set_column (24) 0x0000078a: 06 DW_LNS_negate_stmt 0x0000078b: 01 DW_LNS_copy - 0x0000000000000976 77 24 1 0 0 is_stmt + 0x00000000000009f0 77 24 1 0 0 is_stmt -0x0000078c: 00 DW_LNE_set_address (0x000000000000097e) +0x0000078c: 00 DW_LNE_set_address (0x00000000000009f9) 0x00000793: 05 DW_LNS_set_column (13) 0x00000795: 06 DW_LNS_negate_stmt 0x00000796: 01 DW_LNS_copy - 0x000000000000097e 77 13 1 0 0 + 0x00000000000009f9 77 13 1 0 0 -0x00000797: 00 DW_LNE_set_address (0x0000000000000986) +0x00000797: 00 DW_LNE_set_address (0x0000000000000a02) 0x0000079e: 05 DW_LNS_set_column (19) 0x000007a0: 01 DW_LNS_copy - 0x0000000000000986 77 19 1 0 0 + 0x0000000000000a02 77 19 1 0 0 -0x000007a1: 00 DW_LNE_set_address (0x000000000000098e) +0x000007a1: 00 DW_LNE_set_address (0x0000000000000a0b) 0x000007a8: 05 DW_LNS_set_column (13) 0x000007aa: 01 DW_LNS_copy - 0x000000000000098e 77 13 1 0 0 + 0x0000000000000a0b 77 13 1 0 0 -0x000007ab: 00 DW_LNE_set_address (0x00000000000009a7) +0x000007ab: 00 DW_LNE_set_address (0x0000000000000a24) 0x000007b2: 05 DW_LNS_set_column (22) 0x000007b4: 01 DW_LNS_copy - 0x00000000000009a7 77 22 1 0 0 + 0x0000000000000a24 77 22 1 0 0 -0x000007b5: 00 DW_LNE_set_address (0x00000000000009b0) +0x000007b5: 00 DW_LNE_set_address (0x0000000000000a2e) 0x000007bc: 03 DW_LNS_advance_line (79) 0x000007be: 05 DW_LNS_set_column (16) 0x000007c0: 06 DW_LNS_negate_stmt 0x000007c1: 01 DW_LNS_copy - 0x00000000000009b0 79 16 1 0 0 is_stmt + 0x0000000000000a2e 79 16 1 0 0 is_stmt -0x000007c2: 00 DW_LNE_set_address (0x00000000000009b8) +0x000007c2: 00 DW_LNE_set_address (0x0000000000000a37) 0x000007c9: 05 DW_LNS_set_column (22) 0x000007cb: 06 DW_LNS_negate_stmt 0x000007cc: 01 DW_LNS_copy - 0x00000000000009b8 79 22 1 0 0 + 0x0000000000000a37 79 22 1 0 0 -0x000007cd: 00 DW_LNE_set_address (0x00000000000009c0) +0x000007cd: 00 DW_LNE_set_address (0x0000000000000a40) 0x000007d4: 05 DW_LNS_set_column (16) 0x000007d6: 01 DW_LNS_copy - 0x00000000000009c0 79 16 1 0 0 + 0x0000000000000a40 79 16 1 0 0 -0x000007d7: 00 DW_LNE_set_address (0x00000000000009d9) +0x000007d7: 00 DW_LNE_set_address (0x0000000000000a59) 0x000007de: 05 DW_LNS_set_column (14) 0x000007e0: 01 DW_LNS_copy - 0x00000000000009d9 79 14 1 0 0 + 0x0000000000000a59 79 14 1 0 0 -0x000007e1: 00 DW_LNE_set_address (0x00000000000009fa) +0x000007e1: 00 DW_LNE_set_address (0x0000000000000a7c) 0x000007e8: 05 DW_LNS_set_column (25) 0x000007ea: 01 DW_LNS_copy - 0x00000000000009fa 79 25 1 0 0 + 0x0000000000000a7c 79 25 1 0 0 -0x000007eb: 00 DW_LNE_set_address (0x0000000000000a10) +0x000007eb: 00 DW_LNE_set_address (0x0000000000000a92) 0x000007f2: 05 DW_LNS_set_column (14) 0x000007f4: 01 DW_LNS_copy - 0x0000000000000a10 79 14 1 0 0 + 0x0000000000000a92 79 14 1 0 0 -0x000007f5: 00 DW_LNE_set_address (0x0000000000000a29) +0x000007f5: 00 DW_LNE_set_address (0x0000000000000aab) 0x000007fc: 03 DW_LNS_advance_line (80) 0x000007fe: 05 DW_LNS_set_column (13) 0x00000800: 06 DW_LNS_negate_stmt 0x00000801: 01 DW_LNS_copy - 0x0000000000000a29 80 13 1 0 0 is_stmt + 0x0000000000000aab 80 13 1 0 0 is_stmt -0x00000802: 00 DW_LNE_set_address (0x0000000000000a2c) +0x00000802: 00 DW_LNE_set_address (0x0000000000000aae) 0x00000809: 03 DW_LNS_advance_line (81) 0x0000080b: 05 DW_LNS_set_column (11) 0x0000080d: 01 DW_LNS_copy - 0x0000000000000a2c 81 11 1 0 0 is_stmt + 0x0000000000000aae 81 11 1 0 0 is_stmt -0x0000080e: 00 DW_LNE_set_address (0x0000000000000a4b) +0x0000080e: 00 DW_LNE_set_address (0x0000000000000acf) 0x00000815: 03 DW_LNS_advance_line (65) 0x00000817: 05 DW_LNS_set_column (7) 0x00000819: 01 DW_LNS_copy - 0x0000000000000a4b 65 7 1 0 0 is_stmt + 0x0000000000000acf 65 7 1 0 0 is_stmt -0x0000081a: 00 DW_LNE_set_address (0x0000000000000a4e) +0x0000081a: 00 DW_LNE_set_address (0x0000000000000ad2) 0x00000821: 03 DW_LNS_advance_line (80) 0x00000823: 05 DW_LNS_set_column (13) 0x00000825: 01 DW_LNS_copy - 0x0000000000000a4e 80 13 1 0 0 is_stmt + 0x0000000000000ad2 80 13 1 0 0 is_stmt -0x00000826: 00 DW_LNE_set_address (0x0000000000000a4f) +0x00000826: 00 DW_LNE_set_address (0x0000000000000ad3) 0x0000082d: 03 DW_LNS_advance_line (43) 0x0000082f: 05 DW_LNS_set_column (4) 0x00000831: 00 DW_LNE_end_sequence - 0x0000000000000a4f 43 4 1 0 0 is_stmt end_sequence + 0x0000000000000ad3 43 4 1 0 0 is_stmt end_sequence -0x00000834: 00 DW_LNE_set_address (0x0000000000000a55) +0x00000834: 00 DW_LNE_set_address (0x0000000000000ad9) 0x0000083b: 03 DW_LNS_advance_line (152) 0x0000083e: 01 DW_LNS_copy - 0x0000000000000a55 152 0 1 0 0 is_stmt + 0x0000000000000ad9 152 0 1 0 0 is_stmt -0x0000083f: 00 DW_LNE_set_address (0x0000000000000acc) +0x0000083f: 00 DW_LNE_set_address (0x0000000000000b53) 0x00000846: 03 DW_LNS_advance_line (153) 0x00000848: 05 DW_LNS_set_column (12) 0x0000084a: 0a DW_LNS_set_prologue_end 0x0000084b: 01 DW_LNS_copy - 0x0000000000000acc 153 12 1 0 0 is_stmt prologue_end + 0x0000000000000b53 153 12 1 0 0 is_stmt prologue_end -0x0000084c: 00 DW_LNE_set_address (0x0000000000000ad3) +0x0000084c: 00 DW_LNE_set_address (0x0000000000000b5b) 0x00000853: 05 DW_LNS_set_column (17) 0x00000855: 06 DW_LNS_negate_stmt 0x00000856: 01 DW_LNS_copy - 0x0000000000000ad3 153 17 1 0 0 + 0x0000000000000b5b 153 17 1 0 0 -0x00000857: 00 DW_LNE_set_address (0x0000000000000ae2) +0x00000857: 00 DW_LNE_set_address (0x0000000000000b6a) 0x0000085e: 05 DW_LNS_set_column (12) 0x00000860: 01 DW_LNS_copy - 0x0000000000000ae2 153 12 1 0 0 + 0x0000000000000b6a 153 12 1 0 0 -0x00000861: 00 DW_LNE_set_address (0x0000000000000af6) +0x00000861: 00 DW_LNE_set_address (0x0000000000000b7e) 0x00000868: 05 DW_LNS_set_column (28) 0x0000086a: 01 DW_LNS_copy - 0x0000000000000af6 153 28 1 0 0 + 0x0000000000000b7e 153 28 1 0 0 -0x0000086b: 00 DW_LNE_set_address (0x0000000000000b04) +0x0000086b: 00 DW_LNE_set_address (0x0000000000000b8e) 0x00000872: 05 DW_LNS_set_column (23) 0x00000874: 01 DW_LNS_copy - 0x0000000000000b04 153 23 1 0 0 + 0x0000000000000b8e 153 23 1 0 0 -0x00000875: 00 DW_LNE_set_address (0x0000000000000b0a) +0x00000875: 00 DW_LNE_set_address (0x0000000000000b94) 0x0000087c: 05 DW_LNS_set_column (12) 0x0000087e: 01 DW_LNS_copy - 0x0000000000000b0a 153 12 1 0 0 + 0x0000000000000b94 153 12 1 0 0 -0x0000087f: 00 DW_LNE_set_address (0x0000000000000b15) +0x0000087f: 00 DW_LNE_set_address (0x0000000000000b9f) 0x00000886: 01 DW_LNS_copy - 0x0000000000000b15 153 12 1 0 0 + 0x0000000000000b9f 153 12 1 0 0 -0x00000887: 00 DW_LNE_set_address (0x0000000000000b1a) +0x00000887: 00 DW_LNE_set_address (0x0000000000000ba4) 0x0000088e: 01 DW_LNS_copy - 0x0000000000000b1a 153 12 1 0 0 + 0x0000000000000ba4 153 12 1 0 0 -0x0000088f: 00 DW_LNE_set_address (0x0000000000000b22) +0x0000088f: 00 DW_LNE_set_address (0x0000000000000bac) 0x00000896: 05 DW_LNS_set_column (8) 0x00000898: 01 DW_LNS_copy - 0x0000000000000b22 153 8 1 0 0 + 0x0000000000000bac 153 8 1 0 0 -0x00000899: 00 DW_LNE_set_address (0x0000000000000b29) +0x00000899: 00 DW_LNE_set_address (0x0000000000000bb4) 0x000008a0: 03 DW_LNS_advance_line (155) 0x000008a2: 06 DW_LNS_negate_stmt 0x000008a3: 01 DW_LNS_copy - 0x0000000000000b29 155 8 1 0 0 is_stmt + 0x0000000000000bb4 155 8 1 0 0 is_stmt -0x000008a4: 00 DW_LNE_set_address (0x0000000000000b30) +0x000008a4: 00 DW_LNE_set_address (0x0000000000000bbc) 0x000008ab: 05 DW_LNS_set_column (10) 0x000008ad: 06 DW_LNS_negate_stmt 0x000008ae: 01 DW_LNS_copy - 0x0000000000000b30 155 10 1 0 0 + 0x0000000000000bbc 155 10 1 0 0 -0x000008af: 00 DW_LNE_set_address (0x0000000000000b3f) +0x000008af: 00 DW_LNE_set_address (0x0000000000000bcb) 0x000008b6: 05 DW_LNS_set_column (8) 0x000008b8: 01 DW_LNS_copy - 0x0000000000000b3f 155 8 1 0 0 + 0x0000000000000bcb 155 8 1 0 0 -0x000008b9: 00 DW_LNE_set_address (0x0000000000000b53) +0x000008b9: 00 DW_LNE_set_address (0x0000000000000bdf) 0x000008c0: 03 DW_LNS_advance_line (156) 0x000008c2: 05 DW_LNS_set_column (7) 0x000008c4: 06 DW_LNS_negate_stmt 0x000008c5: 01 DW_LNS_copy - 0x0000000000000b53 156 7 1 0 0 is_stmt + 0x0000000000000bdf 156 7 1 0 0 is_stmt -0x000008c6: 00 DW_LNE_set_address (0x0000000000000b67) +0x000008c6: 00 DW_LNE_set_address (0x0000000000000bf3) 0x000008cd: 03 DW_LNS_advance_line (157) 0x000008cf: 01 DW_LNS_copy - 0x0000000000000b67 157 7 1 0 0 is_stmt + 0x0000000000000bf3 157 7 1 0 0 is_stmt -0x000008d0: 00 DW_LNE_set_address (0x0000000000000b71) +0x000008d0: 00 DW_LNE_set_address (0x0000000000000bfe) 0x000008d7: 03 DW_LNS_advance_line (159) 0x000008d9: 05 DW_LNS_set_column (38) 0x000008db: 01 DW_LNS_copy - 0x0000000000000b71 159 38 1 0 0 is_stmt + 0x0000000000000bfe 159 38 1 0 0 is_stmt -0x000008dc: 00 DW_LNE_set_address (0x0000000000000b78) +0x000008dc: 00 DW_LNE_set_address (0x0000000000000c06) 0x000008e3: 05 DW_LNS_set_column (50) 0x000008e5: 06 DW_LNS_negate_stmt 0x000008e6: 01 DW_LNS_copy - 0x0000000000000b78 159 50 1 0 0 + 0x0000000000000c06 159 50 1 0 0 -0x000008e7: 00 DW_LNE_set_address (0x0000000000000b7f) +0x000008e7: 00 DW_LNE_set_address (0x0000000000000c0e) 0x000008ee: 05 DW_LNS_set_column (41) 0x000008f0: 01 DW_LNS_copy - 0x0000000000000b7f 159 41 1 0 0 + 0x0000000000000c0e 159 41 1 0 0 -0x000008f1: 00 DW_LNE_set_address (0x0000000000000b85) +0x000008f1: 00 DW_LNE_set_address (0x0000000000000c14) 0x000008f8: 05 DW_LNS_set_column (4) 0x000008fa: 01 DW_LNS_copy - 0x0000000000000b85 159 4 1 0 0 + 0x0000000000000c14 159 4 1 0 0 -0x000008fb: 00 DW_LNE_set_address (0x0000000000000ba3) +0x000008fb: 00 DW_LNE_set_address (0x0000000000000c34) 0x00000902: 03 DW_LNS_advance_line (160) 0x00000904: 06 DW_LNS_negate_stmt 0x00000905: 01 DW_LNS_copy - 0x0000000000000ba3 160 4 1 0 0 is_stmt + 0x0000000000000c34 160 4 1 0 0 is_stmt -0x00000906: 00 DW_LNE_set_address (0x0000000000000bab) +0x00000906: 00 DW_LNE_set_address (0x0000000000000c3d) 0x0000090d: 03 DW_LNS_advance_line (161) 0x0000090f: 05 DW_LNS_set_column (1) 0x00000911: 01 DW_LNS_copy - 0x0000000000000bab 161 1 1 0 0 is_stmt + 0x0000000000000c3d 161 1 1 0 0 is_stmt -0x00000912: 00 DW_LNE_set_address (0x0000000000000bc5) +0x00000912: 00 DW_LNE_set_address (0x0000000000000c58) 0x00000919: 00 DW_LNE_end_sequence - 0x0000000000000bc5 161 1 1 0 0 is_stmt end_sequence + 0x0000000000000c58 161 1 1 0 0 is_stmt end_sequence -0x0000091c: 00 DW_LNE_set_address (0x0000000000000bc7) +0x0000091c: 00 DW_LNE_set_address (0x0000000000000c5a) 0x00000923: 03 DW_LNS_advance_line (88) 0x00000926: 01 DW_LNS_copy - 0x0000000000000bc7 88 0 1 0 0 is_stmt + 0x0000000000000c5a 88 0 1 0 0 is_stmt -0x00000927: 00 DW_LNE_set_address (0x0000000000000d51) +0x00000927: 00 DW_LNE_set_address (0x0000000000000de5) 0x0000092e: 03 DW_LNS_advance_line (90) 0x00000930: 05 DW_LNS_set_column (8) 0x00000932: 0a DW_LNS_set_prologue_end 0x00000933: 01 DW_LNS_copy - 0x0000000000000d51 90 8 1 0 0 is_stmt prologue_end + 0x0000000000000de5 90 8 1 0 0 is_stmt prologue_end -0x00000934: 00 DW_LNE_set_address (0x0000000000000d58) +0x00000934: 00 DW_LNE_set_address (0x0000000000000ded) 0x0000093b: 03 DW_LNS_advance_line (93) 0x0000093d: 05 DW_LNS_set_column (9) 0x0000093f: 01 DW_LNS_copy - 0x0000000000000d58 93 9 1 0 0 is_stmt + 0x0000000000000ded 93 9 1 0 0 is_stmt -0x00000940: 00 DW_LNE_set_address (0x0000000000000d5f) +0x00000940: 00 DW_LNE_set_address (0x0000000000000df5) 0x00000947: 03 DW_LNS_advance_line (94) 0x00000949: 05 DW_LNS_set_column (11) 0x0000094b: 01 DW_LNS_copy - 0x0000000000000d5f 94 11 1 0 0 is_stmt + 0x0000000000000df5 94 11 1 0 0 is_stmt -0x0000094c: 00 DW_LNE_set_address (0x0000000000000d66) +0x0000094c: 00 DW_LNE_set_address (0x0000000000000dfd) 0x00000953: 05 DW_LNS_set_column (16) 0x00000955: 06 DW_LNS_negate_stmt 0x00000956: 01 DW_LNS_copy - 0x0000000000000d66 94 16 1 0 0 + 0x0000000000000dfd 94 16 1 0 0 -0x00000957: 00 DW_LNE_set_address (0x0000000000000d71) +0x00000957: 00 DW_LNE_set_address (0x0000000000000e09) 0x0000095e: 05 DW_LNS_set_column (20) 0x00000960: 01 DW_LNS_copy - 0x0000000000000d71 94 20 1 0 0 + 0x0000000000000e09 94 20 1 0 0 -0x00000961: 00 DW_LNE_set_address (0x0000000000000d78) +0x00000961: 00 DW_LNE_set_address (0x0000000000000e11) 0x00000968: 05 DW_LNS_set_column (22) 0x0000096a: 01 DW_LNS_copy - 0x0000000000000d78 94 22 1 0 0 + 0x0000000000000e11 94 22 1 0 0 -0x0000096b: 00 DW_LNE_set_address (0x0000000000000d83) +0x0000096b: 00 DW_LNE_set_address (0x0000000000000e1c) 0x00000972: 05 DW_LNS_set_column (18) 0x00000974: 01 DW_LNS_copy - 0x0000000000000d83 94 18 1 0 0 + 0x0000000000000e1c 94 18 1 0 0 -0x00000975: 00 DW_LNE_set_address (0x0000000000000d92) +0x00000975: 00 DW_LNE_set_address (0x0000000000000e2b) 0x0000097c: 05 DW_LNS_set_column (4) 0x0000097e: 01 DW_LNS_copy - 0x0000000000000d92 94 4 1 0 0 + 0x0000000000000e2b 94 4 1 0 0 -0x0000097f: 00 DW_LNE_set_address (0x0000000000000da6) +0x0000097f: 00 DW_LNE_set_address (0x0000000000000e3f) 0x00000986: 03 DW_LNS_advance_line (95) 0x00000988: 05 DW_LNS_set_column (29) 0x0000098a: 06 DW_LNS_negate_stmt 0x0000098b: 01 DW_LNS_copy - 0x0000000000000da6 95 29 1 0 0 is_stmt + 0x0000000000000e3f 95 29 1 0 0 is_stmt -0x0000098c: 00 DW_LNE_set_address (0x0000000000000dac) +0x0000098c: 00 DW_LNE_set_address (0x0000000000000e45) 0x00000993: 05 DW_LNS_set_column (13) 0x00000995: 06 DW_LNS_negate_stmt 0x00000996: 01 DW_LNS_copy - 0x0000000000000dac 95 13 1 0 0 + 0x0000000000000e45 95 13 1 0 0 -0x00000997: 00 DW_LNE_set_address (0x0000000000000db3) +0x00000997: 00 DW_LNE_set_address (0x0000000000000e4d) 0x0000099e: 03 DW_LNS_advance_line (96) 0x000009a0: 05 DW_LNS_set_column (18) 0x000009a2: 06 DW_LNS_negate_stmt 0x000009a3: 01 DW_LNS_copy - 0x0000000000000db3 96 18 1 0 0 is_stmt + 0x0000000000000e4d 96 18 1 0 0 is_stmt -0x000009a4: 00 DW_LNE_set_address (0x0000000000000dba) +0x000009a4: 00 DW_LNE_set_address (0x0000000000000e55) 0x000009ab: 05 DW_LNS_set_column (7) 0x000009ad: 06 DW_LNS_negate_stmt 0x000009ae: 01 DW_LNS_copy - 0x0000000000000dba 96 7 1 0 0 + 0x0000000000000e55 96 7 1 0 0 -0x000009af: 00 DW_LNE_set_address (0x0000000000000dc1) +0x000009af: 00 DW_LNE_set_address (0x0000000000000e5d) 0x000009b6: 05 DW_LNS_set_column (16) 0x000009b8: 01 DW_LNS_copy - 0x0000000000000dc1 96 16 1 0 0 + 0x0000000000000e5d 96 16 1 0 0 -0x000009b9: 00 DW_LNE_set_address (0x0000000000000dc8) +0x000009b9: 00 DW_LNE_set_address (0x0000000000000e65) 0x000009c0: 03 DW_LNS_advance_line (97) 0x000009c2: 05 DW_LNS_set_column (18) 0x000009c4: 06 DW_LNS_negate_stmt 0x000009c5: 01 DW_LNS_copy - 0x0000000000000dc8 97 18 1 0 0 is_stmt + 0x0000000000000e65 97 18 1 0 0 is_stmt -0x000009c6: 00 DW_LNE_set_address (0x0000000000000dcf) +0x000009c6: 00 DW_LNE_set_address (0x0000000000000e6d) 0x000009cd: 05 DW_LNS_set_column (7) 0x000009cf: 06 DW_LNS_negate_stmt 0x000009d0: 01 DW_LNS_copy - 0x0000000000000dcf 97 7 1 0 0 + 0x0000000000000e6d 97 7 1 0 0 -0x000009d1: 00 DW_LNE_set_address (0x0000000000000dd6) +0x000009d1: 00 DW_LNE_set_address (0x0000000000000e75) 0x000009d8: 05 DW_LNS_set_column (16) 0x000009da: 01 DW_LNS_copy - 0x0000000000000dd6 97 16 1 0 0 + 0x0000000000000e75 97 16 1 0 0 -0x000009db: 00 DW_LNE_set_address (0x0000000000000ddd) +0x000009db: 00 DW_LNE_set_address (0x0000000000000e7d) 0x000009e2: 03 DW_LNS_advance_line (98) 0x000009e4: 05 DW_LNS_set_column (21) 0x000009e6: 06 DW_LNS_negate_stmt 0x000009e7: 01 DW_LNS_copy - 0x0000000000000ddd 98 21 1 0 0 is_stmt + 0x0000000000000e7d 98 21 1 0 0 is_stmt -0x000009e8: 00 DW_LNE_set_address (0x0000000000000de4) +0x000009e8: 00 DW_LNE_set_address (0x0000000000000e85) 0x000009ef: 05 DW_LNS_set_column (7) 0x000009f1: 06 DW_LNS_negate_stmt 0x000009f2: 01 DW_LNS_copy - 0x0000000000000de4 98 7 1 0 0 + 0x0000000000000e85 98 7 1 0 0 -0x000009f3: 00 DW_LNE_set_address (0x0000000000000deb) +0x000009f3: 00 DW_LNE_set_address (0x0000000000000e8d) 0x000009fa: 05 DW_LNS_set_column (19) 0x000009fc: 01 DW_LNS_copy - 0x0000000000000deb 98 19 1 0 0 + 0x0000000000000e8d 98 19 1 0 0 -0x000009fd: 00 DW_LNE_set_address (0x0000000000000df2) +0x000009fd: 00 DW_LNE_set_address (0x0000000000000e95) 0x00000a04: 03 DW_LNS_advance_line (99) 0x00000a06: 05 DW_LNS_set_column (14) 0x00000a08: 06 DW_LNS_negate_stmt 0x00000a09: 01 DW_LNS_copy - 0x0000000000000df2 99 14 1 0 0 is_stmt + 0x0000000000000e95 99 14 1 0 0 is_stmt -0x00000a0a: 00 DW_LNE_set_address (0x0000000000000df9) +0x00000a0a: 00 DW_LNE_set_address (0x0000000000000e9d) 0x00000a11: 05 DW_LNS_set_column (12) 0x00000a13: 06 DW_LNS_negate_stmt 0x00000a14: 01 DW_LNS_copy - 0x0000000000000df9 99 12 1 0 0 + 0x0000000000000e9d 99 12 1 0 0 -0x00000a15: 00 DW_LNE_set_address (0x0000000000000e00) +0x00000a15: 00 DW_LNE_set_address (0x0000000000000ea5) 0x00000a1c: 03 DW_LNS_advance_line (94) 0x00000a1e: 05 DW_LNS_set_column (28) 0x00000a20: 06 DW_LNS_negate_stmt 0x00000a21: 01 DW_LNS_copy - 0x0000000000000e00 94 28 1 0 0 is_stmt + 0x0000000000000ea5 94 28 1 0 0 is_stmt -0x00000a22: 00 DW_LNE_set_address (0x0000000000000e19) +0x00000a22: 00 DW_LNE_set_address (0x0000000000000ec0) 0x00000a29: 05 DW_LNS_set_column (4) 0x00000a2b: 06 DW_LNS_negate_stmt 0x00000a2c: 01 DW_LNS_copy - 0x0000000000000e19 94 4 1 0 0 + 0x0000000000000ec0 94 4 1 0 0 -0x00000a2d: 00 DW_LNE_set_address (0x0000000000000e1b) +0x00000a2d: 00 DW_LNE_set_address (0x0000000000000ec2) 0x00000a34: 01 DW_LNS_copy - 0x0000000000000e1b 94 4 1 0 0 + 0x0000000000000ec2 94 4 1 0 0 -0x00000a35: 00 DW_LNE_set_address (0x0000000000000e22) +0x00000a35: 00 DW_LNE_set_address (0x0000000000000ec9) 0x00000a3c: 03 DW_LNS_advance_line (102) 0x00000a3e: 05 DW_LNS_set_column (25) 0x00000a40: 06 DW_LNS_negate_stmt 0x00000a41: 01 DW_LNS_copy - 0x0000000000000e22 102 25 1 0 0 is_stmt + 0x0000000000000ec9 102 25 1 0 0 is_stmt -0x00000a42: 00 DW_LNE_set_address (0x0000000000000e29) +0x00000a42: 00 DW_LNE_set_address (0x0000000000000ed1) 0x00000a49: 05 DW_LNS_set_column (27) 0x00000a4b: 06 DW_LNS_negate_stmt 0x00000a4c: 01 DW_LNS_copy - 0x0000000000000e29 102 27 1 0 0 + 0x0000000000000ed1 102 27 1 0 0 -0x00000a4d: 00 DW_LNE_set_address (0x0000000000000e34) +0x00000a4d: 00 DW_LNE_set_address (0x0000000000000edc) 0x00000a54: 05 DW_LNS_set_column (18) 0x00000a56: 01 DW_LNS_copy - 0x0000000000000e34 102 18 1 0 0 + 0x0000000000000edc 102 18 1 0 0 -0x00000a57: 00 DW_LNE_set_address (0x0000000000000e3a) +0x00000a57: 00 DW_LNE_set_address (0x0000000000000ee2) 0x00000a5e: 05 DW_LNS_set_column (10) 0x00000a60: 01 DW_LNS_copy - 0x0000000000000e3a 102 10 1 0 0 + 0x0000000000000ee2 102 10 1 0 0 -0x00000a61: 00 DW_LNE_set_address (0x0000000000000e41) +0x00000a61: 00 DW_LNE_set_address (0x0000000000000eea) 0x00000a68: 03 DW_LNS_advance_line (103) 0x00000a6a: 05 DW_LNS_set_column (25) 0x00000a6c: 06 DW_LNS_negate_stmt 0x00000a6d: 01 DW_LNS_copy - 0x0000000000000e41 103 25 1 0 0 is_stmt + 0x0000000000000eea 103 25 1 0 0 is_stmt -0x00000a6e: 00 DW_LNE_set_address (0x0000000000000e48) +0x00000a6e: 00 DW_LNE_set_address (0x0000000000000ef2) 0x00000a75: 05 DW_LNS_set_column (27) 0x00000a77: 06 DW_LNS_negate_stmt 0x00000a78: 01 DW_LNS_copy - 0x0000000000000e48 103 27 1 0 0 + 0x0000000000000ef2 103 27 1 0 0 -0x00000a79: 00 DW_LNE_set_address (0x0000000000000e53) +0x00000a79: 00 DW_LNE_set_address (0x0000000000000efd) 0x00000a80: 05 DW_LNS_set_column (18) 0x00000a82: 01 DW_LNS_copy - 0x0000000000000e53 103 18 1 0 0 + 0x0000000000000efd 103 18 1 0 0 -0x00000a83: 00 DW_LNE_set_address (0x0000000000000e59) +0x00000a83: 00 DW_LNE_set_address (0x0000000000000f03) 0x00000a8a: 05 DW_LNS_set_column (10) 0x00000a8c: 01 DW_LNS_copy - 0x0000000000000e59 103 10 1 0 0 + 0x0000000000000f03 103 10 1 0 0 -0x00000a8d: 00 DW_LNE_set_address (0x0000000000000e60) +0x00000a8d: 00 DW_LNE_set_address (0x0000000000000f0b) 0x00000a94: 03 DW_LNS_advance_line (105) 0x00000a96: 05 DW_LNS_set_column (11) 0x00000a98: 06 DW_LNS_negate_stmt 0x00000a99: 01 DW_LNS_copy - 0x0000000000000e60 105 11 1 0 0 is_stmt + 0x0000000000000f0b 105 11 1 0 0 is_stmt -0x00000a9a: 00 DW_LNE_set_address (0x0000000000000e67) +0x00000a9a: 00 DW_LNE_set_address (0x0000000000000f13) 0x00000aa1: 05 DW_LNS_set_column (16) 0x00000aa3: 06 DW_LNS_negate_stmt 0x00000aa4: 01 DW_LNS_copy - 0x0000000000000e67 105 16 1 0 0 + 0x0000000000000f13 105 16 1 0 0 -0x00000aa5: 00 DW_LNE_set_address (0x0000000000000e72) +0x00000aa5: 00 DW_LNE_set_address (0x0000000000000f1f) 0x00000aac: 05 DW_LNS_set_column (20) 0x00000aae: 01 DW_LNS_copy - 0x0000000000000e72 105 20 1 0 0 + 0x0000000000000f1f 105 20 1 0 0 -0x00000aaf: 00 DW_LNE_set_address (0x0000000000000e79) +0x00000aaf: 00 DW_LNE_set_address (0x0000000000000f27) 0x00000ab6: 05 DW_LNS_set_column (18) 0x00000ab8: 01 DW_LNS_copy - 0x0000000000000e79 105 18 1 0 0 + 0x0000000000000f27 105 18 1 0 0 -0x00000ab9: 00 DW_LNE_set_address (0x0000000000000e88) +0x00000ab9: 00 DW_LNE_set_address (0x0000000000000f36) 0x00000ac0: 05 DW_LNS_set_column (4) 0x00000ac2: 01 DW_LNS_copy - 0x0000000000000e88 105 4 1 0 0 + 0x0000000000000f36 105 4 1 0 0 -0x00000ac3: 00 DW_LNE_set_address (0x0000000000000e98) +0x00000ac3: 00 DW_LNE_set_address (0x0000000000000f46) 0x00000aca: 03 DW_LNS_advance_line (106) 0x00000acc: 05 DW_LNS_set_column (18) 0x00000ace: 06 DW_LNS_negate_stmt 0x00000acf: 01 DW_LNS_copy - 0x0000000000000e98 106 18 1 0 0 is_stmt + 0x0000000000000f46 106 18 1 0 0 is_stmt -0x00000ad0: 00 DW_LNE_set_address (0x0000000000000e9f) +0x00000ad0: 00 DW_LNE_set_address (0x0000000000000f4e) 0x00000ad7: 05 DW_LNS_set_column (7) 0x00000ad9: 06 DW_LNS_negate_stmt 0x00000ada: 01 DW_LNS_copy - 0x0000000000000e9f 106 7 1 0 0 + 0x0000000000000f4e 106 7 1 0 0 -0x00000adb: 00 DW_LNE_set_address (0x0000000000000ea6) +0x00000adb: 00 DW_LNE_set_address (0x0000000000000f56) 0x00000ae2: 05 DW_LNS_set_column (13) 0x00000ae4: 01 DW_LNS_copy - 0x0000000000000ea6 106 13 1 0 0 + 0x0000000000000f56 106 13 1 0 0 -0x00000ae5: 00 DW_LNE_set_address (0x0000000000000ead) +0x00000ae5: 00 DW_LNE_set_address (0x0000000000000f5e) 0x00000aec: 05 DW_LNS_set_column (7) 0x00000aee: 01 DW_LNS_copy - 0x0000000000000ead 106 7 1 0 0 + 0x0000000000000f5e 106 7 1 0 0 -0x00000aef: 00 DW_LNE_set_address (0x0000000000000ebf) +0x00000aef: 00 DW_LNE_set_address (0x0000000000000f70) 0x00000af6: 05 DW_LNS_set_column (16) 0x00000af8: 01 DW_LNS_copy - 0x0000000000000ebf 106 16 1 0 0 + 0x0000000000000f70 106 16 1 0 0 -0x00000af9: 00 DW_LNE_set_address (0x0000000000000ec6) +0x00000af9: 00 DW_LNE_set_address (0x0000000000000f78) 0x00000b00: 03 DW_LNS_advance_line (105) 0x00000b02: 05 DW_LNS_set_column (24) 0x00000b04: 06 DW_LNS_negate_stmt 0x00000b05: 01 DW_LNS_copy - 0x0000000000000ec6 105 24 1 0 0 is_stmt + 0x0000000000000f78 105 24 1 0 0 is_stmt -0x00000b06: 00 DW_LNE_set_address (0x0000000000000edf) +0x00000b06: 00 DW_LNE_set_address (0x0000000000000f93) 0x00000b0d: 05 DW_LNS_set_column (4) 0x00000b0f: 06 DW_LNS_negate_stmt 0x00000b10: 01 DW_LNS_copy - 0x0000000000000edf 105 4 1 0 0 + 0x0000000000000f93 105 4 1 0 0 -0x00000b11: 00 DW_LNE_set_address (0x0000000000000ee1) +0x00000b11: 00 DW_LNE_set_address (0x0000000000000f95) 0x00000b18: 01 DW_LNS_copy - 0x0000000000000ee1 105 4 1 0 0 + 0x0000000000000f95 105 4 1 0 0 -0x00000b19: 00 DW_LNE_set_address (0x0000000000000ee4) +0x00000b19: 00 DW_LNE_set_address (0x0000000000000f98) 0x00000b20: 03 DW_LNS_advance_line (108) 0x00000b22: 05 DW_LNS_set_column (8) 0x00000b24: 06 DW_LNS_negate_stmt 0x00000b25: 01 DW_LNS_copy - 0x0000000000000ee4 108 8 1 0 0 is_stmt + 0x0000000000000f98 108 8 1 0 0 is_stmt -0x00000b26: 00 DW_LNE_set_address (0x0000000000000eeb) +0x00000b26: 00 DW_LNE_set_address (0x0000000000000fa0) 0x00000b2d: 05 DW_LNS_set_column (6) 0x00000b2f: 06 DW_LNS_negate_stmt 0x00000b30: 01 DW_LNS_copy - 0x0000000000000eeb 108 6 1 0 0 + 0x0000000000000fa0 108 6 1 0 0 -0x00000b31: 00 DW_LNE_set_address (0x0000000000000ef2) +0x00000b31: 00 DW_LNE_set_address (0x0000000000000fa8) 0x00000b38: 03 DW_LNS_advance_line (110) 0x00000b3a: 05 DW_LNS_set_column (11) 0x00000b3c: 06 DW_LNS_negate_stmt 0x00000b3d: 01 DW_LNS_copy - 0x0000000000000ef2 110 11 1 0 0 is_stmt + 0x0000000000000fa8 110 11 1 0 0 is_stmt -0x00000b3e: 00 DW_LNE_set_address (0x0000000000000efd) +0x00000b3e: 00 DW_LNE_set_address (0x0000000000000fb4) 0x00000b45: 06 DW_LNS_negate_stmt 0x00000b46: 01 DW_LNS_copy - 0x0000000000000efd 110 11 1 0 0 + 0x0000000000000fb4 110 11 1 0 0 -0x00000b47: 00 DW_LNE_set_address (0x0000000000000f0a) +0x00000b47: 00 DW_LNE_set_address (0x0000000000000fc1) 0x00000b4e: 03 DW_LNS_advance_line (111) 0x00000b50: 05 DW_LNS_set_column (17) 0x00000b52: 06 DW_LNS_negate_stmt 0x00000b53: 01 DW_LNS_copy - 0x0000000000000f0a 111 17 1 0 0 is_stmt + 0x0000000000000fc1 111 17 1 0 0 is_stmt -0x00000b54: 00 DW_LNE_set_address (0x0000000000000f11) +0x00000b54: 00 DW_LNE_set_address (0x0000000000000fc9) 0x00000b5b: 05 DW_LNS_set_column (22) 0x00000b5d: 06 DW_LNS_negate_stmt 0x00000b5e: 01 DW_LNS_copy - 0x0000000000000f11 111 22 1 0 0 + 0x0000000000000fc9 111 22 1 0 0 -0x00000b5f: 00 DW_LNE_set_address (0x0000000000000f1c) +0x00000b5f: 00 DW_LNE_set_address (0x0000000000000fd5) 0x00000b66: 05 DW_LNS_set_column (26) 0x00000b68: 01 DW_LNS_copy - 0x0000000000000f1c 111 26 1 0 0 + 0x0000000000000fd5 111 26 1 0 0 -0x00000b69: 00 DW_LNE_set_address (0x0000000000000f23) +0x00000b69: 00 DW_LNE_set_address (0x0000000000000fdd) 0x00000b70: 05 DW_LNS_set_column (24) 0x00000b72: 01 DW_LNS_copy - 0x0000000000000f23 111 24 1 0 0 + 0x0000000000000fdd 111 24 1 0 0 -0x00000b73: 00 DW_LNE_set_address (0x0000000000000f32) +0x00000b73: 00 DW_LNE_set_address (0x0000000000000fec) 0x00000b7a: 05 DW_LNS_set_column (10) 0x00000b7c: 01 DW_LNS_copy - 0x0000000000000f32 111 10 1 0 0 + 0x0000000000000fec 111 10 1 0 0 -0x00000b7d: 00 DW_LNE_set_address (0x0000000000000f42) +0x00000b7d: 00 DW_LNE_set_address (0x0000000000000ffc) 0x00000b84: 03 DW_LNS_advance_line (112) 0x00000b86: 05 DW_LNS_set_column (26) 0x00000b88: 06 DW_LNS_negate_stmt 0x00000b89: 01 DW_LNS_copy - 0x0000000000000f42 112 26 1 0 0 is_stmt + 0x0000000000000ffc 112 26 1 0 0 is_stmt -0x00000b8a: 00 DW_LNE_set_address (0x0000000000000f49) +0x00000b8a: 00 DW_LNE_set_address (0x0000000000001004) 0x00000b91: 05 DW_LNS_set_column (32) 0x00000b93: 06 DW_LNS_negate_stmt 0x00000b94: 01 DW_LNS_copy - 0x0000000000000f49 112 32 1 0 0 + 0x0000000000001004 112 32 1 0 0 -0x00000b95: 00 DW_LNE_set_address (0x0000000000000f50) +0x00000b95: 00 DW_LNE_set_address (0x000000000000100c) 0x00000b9c: 05 DW_LNS_set_column (26) 0x00000b9e: 01 DW_LNS_copy - 0x0000000000000f50 112 26 1 0 0 + 0x000000000000100c 112 26 1 0 0 -0x00000b9f: 00 DW_LNE_set_address (0x0000000000000f69) +0x00000b9f: 00 DW_LNE_set_address (0x0000000000001026) 0x00000ba6: 05 DW_LNS_set_column (35) 0x00000ba8: 01 DW_LNS_copy - 0x0000000000000f69 112 35 1 0 0 + 0x0000000000001026 112 35 1 0 0 -0x00000ba9: 00 DW_LNE_set_address (0x0000000000000f74) +0x00000ba9: 00 DW_LNE_set_address (0x0000000000001031) 0x00000bb0: 05 DW_LNS_set_column (13) 0x00000bb2: 01 DW_LNS_copy - 0x0000000000000f74 112 13 1 0 0 + 0x0000000000001031 112 13 1 0 0 -0x00000bb3: 00 DW_LNE_set_address (0x0000000000000f87) +0x00000bb3: 00 DW_LNE_set_address (0x0000000000001045) 0x00000bba: 03 DW_LNS_advance_line (111) 0x00000bbc: 05 DW_LNS_set_column (30) 0x00000bbe: 06 DW_LNS_negate_stmt 0x00000bbf: 01 DW_LNS_copy - 0x0000000000000f87 111 30 1 0 0 is_stmt + 0x0000000000001045 111 30 1 0 0 is_stmt -0x00000bc0: 00 DW_LNE_set_address (0x0000000000000fa0) +0x00000bc0: 00 DW_LNE_set_address (0x0000000000001060) 0x00000bc7: 05 DW_LNS_set_column (10) 0x00000bc9: 06 DW_LNS_negate_stmt 0x00000bca: 01 DW_LNS_copy - 0x0000000000000fa0 111 10 1 0 0 + 0x0000000000001060 111 10 1 0 0 -0x00000bcb: 00 DW_LNE_set_address (0x0000000000000fa2) +0x00000bcb: 00 DW_LNE_set_address (0x0000000000001062) 0x00000bd2: 01 DW_LNS_copy - 0x0000000000000fa2 111 10 1 0 0 + 0x0000000000001062 111 10 1 0 0 -0x00000bd3: 00 DW_LNE_set_address (0x0000000000000fa5) +0x00000bd3: 00 DW_LNE_set_address (0x0000000000001065) 0x00000bda: 03 DW_LNS_advance_line (113) 0x00000bdc: 06 DW_LNS_negate_stmt 0x00000bdd: 01 DW_LNS_copy - 0x0000000000000fa5 113 10 1 0 0 is_stmt + 0x0000000000001065 113 10 1 0 0 is_stmt -0x00000bde: 00 DW_LNE_set_address (0x0000000000000fb5) +0x00000bde: 00 DW_LNE_set_address (0x0000000000001075) 0x00000be5: 03 DW_LNS_advance_line (114) 0x00000be7: 05 DW_LNS_set_column (17) 0x00000be9: 01 DW_LNS_copy - 0x0000000000000fb5 114 17 1 0 0 is_stmt + 0x0000000000001075 114 17 1 0 0 is_stmt -0x00000bea: 00 DW_LNE_set_address (0x0000000000000fce) +0x00000bea: 00 DW_LNE_set_address (0x0000000000001090) 0x00000bf1: 03 DW_LNS_advance_line (115) 0x00000bf3: 05 DW_LNS_set_column (7) 0x00000bf5: 01 DW_LNS_copy - 0x0000000000000fce 115 7 1 0 0 is_stmt + 0x0000000000001090 115 7 1 0 0 is_stmt -0x00000bf6: 00 DW_LNE_set_address (0x0000000000000fd1) +0x00000bf6: 00 DW_LNE_set_address (0x0000000000001093) 0x00000bfd: 03 DW_LNS_advance_line (116) 0x00000bff: 05 DW_LNS_set_column (10) 0x00000c01: 01 DW_LNS_copy - 0x0000000000000fd1 116 10 1 0 0 is_stmt + 0x0000000000001093 116 10 1 0 0 is_stmt -0x00000c02: 00 DW_LNE_set_address (0x0000000000000fdc) +0x00000c02: 00 DW_LNE_set_address (0x000000000000109e) 0x00000c09: 03 DW_LNS_advance_line (118) 0x00000c0b: 05 DW_LNS_set_column (14) 0x00000c0d: 01 DW_LNS_copy - 0x0000000000000fdc 118 14 1 0 0 is_stmt + 0x000000000000109e 118 14 1 0 0 is_stmt -0x00000c0e: 00 DW_LNE_set_address (0x0000000000000fe3) +0x00000c0e: 00 DW_LNE_set_address (0x00000000000010a6) 0x00000c15: 05 DW_LNS_set_column (16) 0x00000c17: 06 DW_LNS_negate_stmt 0x00000c18: 01 DW_LNS_copy - 0x0000000000000fe3 118 16 1 0 0 + 0x00000000000010a6 118 16 1 0 0 -0x00000c19: 00 DW_LNE_set_address (0x0000000000000ff2) +0x00000c19: 00 DW_LNE_set_address (0x00000000000010b5) 0x00000c20: 05 DW_LNS_set_column (7) 0x00000c22: 01 DW_LNS_copy - 0x0000000000000ff2 118 7 1 0 0 + 0x00000000000010b5 118 7 1 0 0 -0x00000c23: 00 DW_LNE_set_address (0x0000000000001002) +0x00000c23: 00 DW_LNE_set_address (0x00000000000010c5) 0x00000c2a: 03 DW_LNS_advance_line (119) 0x00000c2c: 05 DW_LNS_set_column (25) 0x00000c2e: 06 DW_LNS_negate_stmt 0x00000c2f: 01 DW_LNS_copy - 0x0000000000001002 119 25 1 0 0 is_stmt + 0x00000000000010c5 119 25 1 0 0 is_stmt -0x00000c30: 00 DW_LNE_set_address (0x0000000000001009) +0x00000c30: 00 DW_LNE_set_address (0x00000000000010cd) 0x00000c37: 05 DW_LNS_set_column (10) 0x00000c39: 06 DW_LNS_negate_stmt 0x00000c3a: 01 DW_LNS_copy - 0x0000000000001009 119 10 1 0 0 + 0x00000000000010cd 119 10 1 0 0 -0x00000c3b: 00 DW_LNE_set_address (0x0000000000001010) +0x00000c3b: 00 DW_LNE_set_address (0x00000000000010d5) 0x00000c42: 05 DW_LNS_set_column (16) 0x00000c44: 01 DW_LNS_copy - 0x0000000000001010 119 16 1 0 0 + 0x00000000000010d5 119 16 1 0 0 -0x00000c45: 00 DW_LNE_set_address (0x0000000000001017) +0x00000c45: 00 DW_LNE_set_address (0x00000000000010dd) 0x00000c4c: 05 DW_LNS_set_column (18) 0x00000c4e: 01 DW_LNS_copy - 0x0000000000001017 119 18 1 0 0 + 0x00000000000010dd 119 18 1 0 0 -0x00000c4f: 00 DW_LNE_set_address (0x0000000000001022) +0x00000c4f: 00 DW_LNE_set_address (0x00000000000010e8) 0x00000c56: 05 DW_LNS_set_column (10) 0x00000c58: 01 DW_LNS_copy - 0x0000000000001022 119 10 1 0 0 + 0x00000000000010e8 119 10 1 0 0 -0x00000c59: 00 DW_LNE_set_address (0x0000000000001034) +0x00000c59: 00 DW_LNE_set_address (0x00000000000010fa) 0x00000c60: 05 DW_LNS_set_column (23) 0x00000c62: 01 DW_LNS_copy - 0x0000000000001034 119 23 1 0 0 + 0x00000000000010fa 119 23 1 0 0 -0x00000c63: 00 DW_LNE_set_address (0x000000000000103b) +0x00000c63: 00 DW_LNE_set_address (0x0000000000001102) 0x00000c6a: 03 DW_LNS_advance_line (118) 0x00000c6c: 05 DW_LNS_set_column (22) 0x00000c6e: 06 DW_LNS_negate_stmt 0x00000c6f: 01 DW_LNS_copy - 0x000000000000103b 118 22 1 0 0 is_stmt + 0x0000000000001102 118 22 1 0 0 is_stmt -0x00000c70: 00 DW_LNE_set_address (0x0000000000001054) +0x00000c70: 00 DW_LNE_set_address (0x000000000000111d) 0x00000c77: 05 DW_LNS_set_column (7) 0x00000c79: 06 DW_LNS_negate_stmt 0x00000c7a: 01 DW_LNS_copy - 0x0000000000001054 118 7 1 0 0 + 0x000000000000111d 118 7 1 0 0 -0x00000c7b: 00 DW_LNE_set_address (0x0000000000001056) +0x00000c7b: 00 DW_LNE_set_address (0x000000000000111f) 0x00000c82: 01 DW_LNS_copy - 0x0000000000001056 118 7 1 0 0 + 0x000000000000111f 118 7 1 0 0 -0x00000c83: 00 DW_LNE_set_address (0x0000000000001059) +0x00000c83: 00 DW_LNE_set_address (0x0000000000001122) 0x00000c8a: 03 DW_LNS_advance_line (122) 0x00000c8c: 05 DW_LNS_set_column (14) 0x00000c8e: 06 DW_LNS_negate_stmt 0x00000c8f: 01 DW_LNS_copy - 0x0000000000001059 122 14 1 0 0 is_stmt + 0x0000000000001122 122 14 1 0 0 is_stmt -0x00000c90: 00 DW_LNE_set_address (0x0000000000001062) +0x00000c90: 00 DW_LNE_set_address (0x000000000000112c) 0x00000c97: 05 DW_LNS_set_column (19) 0x00000c99: 06 DW_LNS_negate_stmt 0x00000c9a: 01 DW_LNS_copy - 0x0000000000001062 122 19 1 0 0 + 0x000000000000112c 122 19 1 0 0 -0x00000c9b: 00 DW_LNE_set_address (0x0000000000001069) +0x00000c9b: 00 DW_LNE_set_address (0x0000000000001134) 0x00000ca2: 05 DW_LNS_set_column (16) 0x00000ca4: 01 DW_LNS_copy - 0x0000000000001069 122 16 1 0 0 + 0x0000000000001134 122 16 1 0 0 -0x00000ca5: 00 DW_LNE_set_address (0x0000000000001078) +0x00000ca5: 00 DW_LNE_set_address (0x0000000000001143) 0x00000cac: 05 DW_LNS_set_column (14) 0x00000cae: 01 DW_LNS_copy - 0x0000000000001078 122 14 1 0 0 + 0x0000000000001143 122 14 1 0 0 -0x00000caf: 00 DW_LNE_set_address (0x000000000000108a) +0x00000caf: 00 DW_LNE_set_address (0x0000000000001155) 0x00000cb6: 03 DW_LNS_advance_line (123) 0x00000cb8: 05 DW_LNS_set_column (13) 0x00000cba: 06 DW_LNS_negate_stmt 0x00000cbb: 01 DW_LNS_copy - 0x000000000000108a 123 13 1 0 0 is_stmt + 0x0000000000001155 123 13 1 0 0 is_stmt -0x00000cbc: 00 DW_LNE_set_address (0x0000000000001091) +0x00000cbc: 00 DW_LNE_set_address (0x000000000000115c) 0x00000cc3: 03 DW_LNS_advance_line (125) 0x00000cc5: 05 DW_LNS_set_column (22) 0x00000cc7: 01 DW_LNS_copy - 0x0000000000001091 125 22 1 0 0 is_stmt + 0x000000000000115c 125 22 1 0 0 is_stmt -0x00000cc8: 00 DW_LNE_set_address (0x000000000000109f) +0x00000cc8: 00 DW_LNE_set_address (0x000000000000116c) 0x00000ccf: 05 DW_LNS_set_column (17) 0x00000cd1: 06 DW_LNS_negate_stmt 0x00000cd2: 01 DW_LNS_copy - 0x000000000000109f 125 17 1 0 0 + 0x000000000000116c 125 17 1 0 0 -0x00000cd3: 00 DW_LNE_set_address (0x00000000000010a6) +0x00000cd3: 00 DW_LNE_set_address (0x0000000000001174) 0x00000cda: 03 DW_LNS_advance_line (126) 0x00000cdc: 05 DW_LNS_set_column (20) 0x00000cde: 06 DW_LNS_negate_stmt 0x00000cdf: 01 DW_LNS_copy - 0x00000000000010a6 126 20 1 0 0 is_stmt + 0x0000000000001174 126 20 1 0 0 is_stmt -0x00000ce0: 00 DW_LNE_set_address (0x00000000000010ad) +0x00000ce0: 00 DW_LNE_set_address (0x000000000000117c) 0x00000ce7: 05 DW_LNS_set_column (25) 0x00000ce9: 06 DW_LNS_negate_stmt 0x00000cea: 01 DW_LNS_copy - 0x00000000000010ad 126 25 1 0 0 + 0x000000000000117c 126 25 1 0 0 -0x00000ceb: 00 DW_LNE_set_address (0x00000000000010b8) +0x00000ceb: 00 DW_LNE_set_address (0x0000000000001188) 0x00000cf2: 05 DW_LNS_set_column (29) 0x00000cf4: 01 DW_LNS_copy - 0x00000000000010b8 126 29 1 0 0 + 0x0000000000001188 126 29 1 0 0 -0x00000cf5: 00 DW_LNE_set_address (0x00000000000010bf) +0x00000cf5: 00 DW_LNE_set_address (0x0000000000001190) 0x00000cfc: 05 DW_LNS_set_column (27) 0x00000cfe: 01 DW_LNS_copy - 0x00000000000010bf 126 27 1 0 0 + 0x0000000000001190 126 27 1 0 0 -0x00000cff: 00 DW_LNE_set_address (0x00000000000010ce) +0x00000cff: 00 DW_LNE_set_address (0x000000000000119f) 0x00000d06: 05 DW_LNS_set_column (13) 0x00000d08: 01 DW_LNS_copy - 0x00000000000010ce 126 13 1 0 0 + 0x000000000000119f 126 13 1 0 0 -0x00000d09: 00 DW_LNE_set_address (0x00000000000010de) +0x00000d09: 00 DW_LNE_set_address (0x00000000000011af) 0x00000d10: 03 DW_LNS_advance_line (127) 0x00000d12: 05 DW_LNS_set_column (27) 0x00000d14: 06 DW_LNS_negate_stmt 0x00000d15: 01 DW_LNS_copy - 0x00000000000010de 127 27 1 0 0 is_stmt + 0x00000000000011af 127 27 1 0 0 is_stmt -0x00000d16: 00 DW_LNE_set_address (0x00000000000010e5) +0x00000d16: 00 DW_LNE_set_address (0x00000000000011b7) 0x00000d1d: 05 DW_LNS_set_column (33) 0x00000d1f: 06 DW_LNS_negate_stmt 0x00000d20: 01 DW_LNS_copy - 0x00000000000010e5 127 33 1 0 0 + 0x00000000000011b7 127 33 1 0 0 -0x00000d21: 00 DW_LNE_set_address (0x00000000000010ec) +0x00000d21: 00 DW_LNE_set_address (0x00000000000011bf) 0x00000d28: 05 DW_LNS_set_column (35) 0x00000d2a: 01 DW_LNS_copy - 0x00000000000010ec 127 35 1 0 0 + 0x00000000000011bf 127 35 1 0 0 -0x00000d2b: 00 DW_LNE_set_address (0x00000000000010f7) +0x00000d2b: 00 DW_LNE_set_address (0x00000000000011ca) 0x00000d32: 05 DW_LNS_set_column (27) 0x00000d34: 01 DW_LNS_copy - 0x00000000000010f7 127 27 1 0 0 + 0x00000000000011ca 127 27 1 0 0 -0x00000d35: 00 DW_LNE_set_address (0x0000000000001110) +0x00000d35: 00 DW_LNE_set_address (0x00000000000011e4) 0x00000d3c: 05 DW_LNS_set_column (16) 0x00000d3e: 01 DW_LNS_copy - 0x0000000000001110 127 16 1 0 0 + 0x00000000000011e4 127 16 1 0 0 -0x00000d3f: 00 DW_LNE_set_address (0x0000000000001117) +0x00000d3f: 00 DW_LNE_set_address (0x00000000000011ec) 0x00000d46: 05 DW_LNS_set_column (22) 0x00000d48: 01 DW_LNS_copy - 0x0000000000001117 127 22 1 0 0 + 0x00000000000011ec 127 22 1 0 0 -0x00000d49: 00 DW_LNE_set_address (0x000000000000111e) +0x00000d49: 00 DW_LNE_set_address (0x00000000000011f4) 0x00000d50: 05 DW_LNS_set_column (16) 0x00000d52: 01 DW_LNS_copy - 0x000000000000111e 127 16 1 0 0 + 0x00000000000011f4 127 16 1 0 0 -0x00000d53: 00 DW_LNE_set_address (0x0000000000001130) +0x00000d53: 00 DW_LNE_set_address (0x0000000000001206) 0x00000d5a: 05 DW_LNS_set_column (25) 0x00000d5c: 01 DW_LNS_copy - 0x0000000000001130 127 25 1 0 0 + 0x0000000000001206 127 25 1 0 0 -0x00000d5d: 00 DW_LNE_set_address (0x0000000000001137) +0x00000d5d: 00 DW_LNE_set_address (0x000000000000120e) 0x00000d64: 03 DW_LNS_advance_line (126) 0x00000d66: 05 DW_LNS_set_column (33) 0x00000d68: 06 DW_LNS_negate_stmt 0x00000d69: 01 DW_LNS_copy - 0x0000000000001137 126 33 1 0 0 is_stmt + 0x000000000000120e 126 33 1 0 0 is_stmt -0x00000d6a: 00 DW_LNE_set_address (0x0000000000001154) +0x00000d6a: 00 DW_LNE_set_address (0x000000000000122d) 0x00000d71: 05 DW_LNS_set_column (13) 0x00000d73: 06 DW_LNS_negate_stmt 0x00000d74: 01 DW_LNS_copy - 0x0000000000001154 126 13 1 0 0 + 0x000000000000122d 126 13 1 0 0 -0x00000d75: 00 DW_LNE_set_address (0x0000000000001156) +0x00000d75: 00 DW_LNE_set_address (0x000000000000122f) 0x00000d7c: 01 DW_LNS_copy - 0x0000000000001156 126 13 1 0 0 + 0x000000000000122f 126 13 1 0 0 -0x00000d7d: 00 DW_LNE_set_address (0x000000000000115e) +0x00000d7d: 00 DW_LNE_set_address (0x0000000000001237) 0x00000d84: 03 DW_LNS_advance_line (128) 0x00000d86: 05 DW_LNS_set_column (24) 0x00000d88: 06 DW_LNS_negate_stmt 0x00000d89: 01 DW_LNS_copy - 0x000000000000115e 128 24 1 0 0 is_stmt + 0x0000000000001237 128 24 1 0 0 is_stmt -0x00000d8a: 00 DW_LNE_set_address (0x0000000000001166) +0x00000d8a: 00 DW_LNE_set_address (0x0000000000001240) 0x00000d91: 05 DW_LNS_set_column (13) 0x00000d93: 06 DW_LNS_negate_stmt 0x00000d94: 01 DW_LNS_copy - 0x0000000000001166 128 13 1 0 0 + 0x0000000000001240 128 13 1 0 0 -0x00000d95: 00 DW_LNE_set_address (0x000000000000116e) +0x00000d95: 00 DW_LNE_set_address (0x0000000000001249) 0x00000d9c: 05 DW_LNS_set_column (19) 0x00000d9e: 01 DW_LNS_copy - 0x000000000000116e 128 19 1 0 0 + 0x0000000000001249 128 19 1 0 0 -0x00000d9f: 00 DW_LNE_set_address (0x0000000000001176) +0x00000d9f: 00 DW_LNE_set_address (0x0000000000001252) 0x00000da6: 05 DW_LNS_set_column (13) 0x00000da8: 01 DW_LNS_copy - 0x0000000000001176 128 13 1 0 0 + 0x0000000000001252 128 13 1 0 0 -0x00000da9: 00 DW_LNE_set_address (0x000000000000118f) +0x00000da9: 00 DW_LNE_set_address (0x000000000000126b) 0x00000db0: 05 DW_LNS_set_column (22) 0x00000db2: 01 DW_LNS_copy - 0x000000000000118f 128 22 1 0 0 + 0x000000000000126b 128 22 1 0 0 -0x00000db3: 00 DW_LNE_set_address (0x0000000000001198) +0x00000db3: 00 DW_LNE_set_address (0x0000000000001275) 0x00000dba: 03 DW_LNS_advance_line (130) 0x00000dbc: 05 DW_LNS_set_column (16) 0x00000dbe: 06 DW_LNS_negate_stmt 0x00000dbf: 01 DW_LNS_copy - 0x0000000000001198 130 16 1 0 0 is_stmt + 0x0000000000001275 130 16 1 0 0 is_stmt -0x00000dc0: 00 DW_LNE_set_address (0x00000000000011a0) +0x00000dc0: 00 DW_LNE_set_address (0x000000000000127e) 0x00000dc7: 05 DW_LNS_set_column (22) 0x00000dc9: 06 DW_LNS_negate_stmt 0x00000dca: 01 DW_LNS_copy - 0x00000000000011a0 130 22 1 0 0 + 0x000000000000127e 130 22 1 0 0 -0x00000dcb: 00 DW_LNE_set_address (0x00000000000011a8) +0x00000dcb: 00 DW_LNE_set_address (0x0000000000001287) 0x00000dd2: 05 DW_LNS_set_column (16) 0x00000dd4: 01 DW_LNS_copy - 0x00000000000011a8 130 16 1 0 0 + 0x0000000000001287 130 16 1 0 0 -0x00000dd5: 00 DW_LNE_set_address (0x00000000000011c1) +0x00000dd5: 00 DW_LNE_set_address (0x00000000000012a0) 0x00000ddc: 05 DW_LNS_set_column (14) 0x00000dde: 01 DW_LNS_copy - 0x00000000000011c1 130 14 1 0 0 + 0x00000000000012a0 130 14 1 0 0 -0x00000ddf: 00 DW_LNE_set_address (0x00000000000011e2) +0x00000ddf: 00 DW_LNE_set_address (0x00000000000012c3) 0x00000de6: 05 DW_LNS_set_column (25) 0x00000de8: 01 DW_LNS_copy - 0x00000000000011e2 130 25 1 0 0 + 0x00000000000012c3 130 25 1 0 0 -0x00000de9: 00 DW_LNE_set_address (0x00000000000011f8) +0x00000de9: 00 DW_LNE_set_address (0x00000000000012d9) 0x00000df0: 05 DW_LNS_set_column (14) 0x00000df2: 01 DW_LNS_copy - 0x00000000000011f8 130 14 1 0 0 + 0x00000000000012d9 130 14 1 0 0 -0x00000df3: 00 DW_LNE_set_address (0x0000000000001211) +0x00000df3: 00 DW_LNE_set_address (0x00000000000012f2) 0x00000dfa: 03 DW_LNS_advance_line (131) 0x00000dfc: 05 DW_LNS_set_column (13) 0x00000dfe: 06 DW_LNS_negate_stmt 0x00000dff: 01 DW_LNS_copy - 0x0000000000001211 131 13 1 0 0 is_stmt + 0x00000000000012f2 131 13 1 0 0 is_stmt -0x00000e00: 00 DW_LNE_set_address (0x0000000000001214) +0x00000e00: 00 DW_LNE_set_address (0x00000000000012f5) 0x00000e07: 03 DW_LNS_advance_line (133) 0x00000e09: 05 DW_LNS_set_column (11) 0x00000e0b: 01 DW_LNS_copy - 0x0000000000001214 133 11 1 0 0 is_stmt + 0x00000000000012f5 133 11 1 0 0 is_stmt -0x00000e0c: 00 DW_LNE_set_address (0x0000000000001233) +0x00000e0c: 00 DW_LNE_set_address (0x0000000000001316) 0x00000e13: 03 DW_LNS_advance_line (121) 0x00000e15: 05 DW_LNS_set_column (7) 0x00000e17: 01 DW_LNS_copy - 0x0000000000001233 121 7 1 0 0 is_stmt + 0x0000000000001316 121 7 1 0 0 is_stmt -0x00000e18: 00 DW_LNE_set_address (0x0000000000001236) +0x00000e18: 00 DW_LNE_set_address (0x0000000000001319) 0x00000e1f: 03 DW_LNS_advance_line (131) 0x00000e21: 05 DW_LNS_set_column (13) 0x00000e23: 01 DW_LNS_copy - 0x0000000000001236 131 13 1 0 0 is_stmt + 0x0000000000001319 131 13 1 0 0 is_stmt -0x00000e24: 00 DW_LNE_set_address (0x0000000000001237) +0x00000e24: 00 DW_LNE_set_address (0x000000000000131a) 0x00000e2b: 03 DW_LNS_advance_line (109) 0x00000e2d: 05 DW_LNS_set_column (4) 0x00000e2f: 01 DW_LNS_copy - 0x0000000000001237 109 4 1 0 0 is_stmt + 0x000000000000131a 109 4 1 0 0 is_stmt -0x00000e30: 00 DW_LNE_set_address (0x0000000000001239) +0x00000e30: 00 DW_LNE_set_address (0x000000000000131c) 0x00000e37: 03 DW_LNS_advance_line (123) 0x00000e39: 05 DW_LNS_set_column (13) 0x00000e3b: 01 DW_LNS_copy - 0x0000000000001239 123 13 1 0 0 is_stmt + 0x000000000000131c 123 13 1 0 0 is_stmt -0x00000e3c: 00 DW_LNE_set_address (0x0000000000001241) +0x00000e3c: 00 DW_LNE_set_address (0x0000000000001324) 0x00000e43: 03 DW_LNS_advance_line (138) 0x00000e45: 05 DW_LNS_set_column (9) 0x00000e47: 01 DW_LNS_copy - 0x0000000000001241 138 9 1 0 0 is_stmt + 0x0000000000001324 138 9 1 0 0 is_stmt -0x00000e48: 00 DW_LNE_set_address (0x0000000000001249) +0x00000e48: 00 DW_LNE_set_address (0x000000000000132d) 0x00000e4f: 05 DW_LNS_set_column (4) 0x00000e51: 06 DW_LNS_negate_stmt 0x00000e52: 01 DW_LNS_copy - 0x0000000000001249 138 4 1 0 0 + 0x000000000000132d 138 4 1 0 0 -0x00000e53: 00 DW_LNE_set_address (0x000000000000124e) +0x00000e53: 00 DW_LNE_set_address (0x0000000000001332) 0x00000e5a: 03 DW_LNS_advance_line (139) 0x00000e5c: 05 DW_LNS_set_column (9) 0x00000e5e: 06 DW_LNS_negate_stmt 0x00000e5f: 01 DW_LNS_copy - 0x000000000000124e 139 9 1 0 0 is_stmt + 0x0000000000001332 139 9 1 0 0 is_stmt -0x00000e60: 00 DW_LNE_set_address (0x0000000000001256) +0x00000e60: 00 DW_LNE_set_address (0x000000000000133b) 0x00000e67: 05 DW_LNS_set_column (4) 0x00000e69: 06 DW_LNS_negate_stmt 0x00000e6a: 01 DW_LNS_copy - 0x0000000000001256 139 4 1 0 0 + 0x000000000000133b 139 4 1 0 0 -0x00000e6b: 00 DW_LNE_set_address (0x000000000000125b) +0x00000e6b: 00 DW_LNE_set_address (0x0000000000001340) 0x00000e72: 03 DW_LNS_advance_line (140) 0x00000e74: 05 DW_LNS_set_column (13) 0x00000e76: 06 DW_LNS_negate_stmt 0x00000e77: 01 DW_LNS_copy - 0x000000000000125b 140 13 1 0 0 is_stmt + 0x0000000000001340 140 13 1 0 0 is_stmt -0x00000e78: 00 DW_LNE_set_address (0x000000000000126c) +0x00000e78: 00 DW_LNE_set_address (0x0000000000001352) 0x00000e7f: 03 DW_LNS_advance_line (141) 0x00000e81: 05 DW_LNS_set_column (11) 0x00000e83: 01 DW_LNS_copy - 0x000000000000126c 141 11 1 0 0 is_stmt + 0x0000000000001352 141 11 1 0 0 is_stmt -0x00000e84: 00 DW_LNE_set_address (0x0000000000001274) +0x00000e84: 00 DW_LNE_set_address (0x000000000000135b) 0x00000e8b: 05 DW_LNS_set_column (16) 0x00000e8d: 06 DW_LNS_negate_stmt 0x00000e8e: 01 DW_LNS_copy - 0x0000000000001274 141 16 1 0 0 + 0x000000000000135b 141 16 1 0 0 -0x00000e8f: 00 DW_LNE_set_address (0x000000000000128a) +0x00000e8f: 00 DW_LNE_set_address (0x0000000000001371) 0x00000e96: 05 DW_LNS_set_column (4) 0x00000e98: 01 DW_LNS_copy - 0x000000000000128a 141 4 1 0 0 + 0x0000000000001371 141 4 1 0 0 -0x00000e99: 00 DW_LNE_set_address (0x000000000000129f) +0x00000e99: 00 DW_LNE_set_address (0x0000000000001386) 0x00000ea0: 03 DW_LNS_advance_line (142) 0x00000ea2: 05 DW_LNS_set_column (36) 0x00000ea4: 06 DW_LNS_negate_stmt 0x00000ea5: 01 DW_LNS_copy - 0x000000000000129f 142 36 1 0 0 is_stmt + 0x0000000000001386 142 36 1 0 0 is_stmt -0x00000ea6: 00 DW_LNE_set_address (0x00000000000012a7) +0x00000ea6: 00 DW_LNE_set_address (0x000000000000138f) 0x00000ead: 05 DW_LNS_set_column (20) 0x00000eaf: 06 DW_LNS_negate_stmt 0x00000eb0: 01 DW_LNS_copy - 0x00000000000012a7 142 20 1 0 0 + 0x000000000000138f 142 20 1 0 0 -0x00000eb1: 00 DW_LNE_set_address (0x00000000000012af) +0x00000eb1: 00 DW_LNE_set_address (0x0000000000001397) 0x00000eb8: 05 DW_LNS_set_column (13) 0x00000eba: 01 DW_LNS_copy - 0x00000000000012af 142 13 1 0 0 + 0x0000000000001397 142 13 1 0 0 -0x00000ebb: 00 DW_LNE_set_address (0x00000000000012b7) +0x00000ebb: 00 DW_LNE_set_address (0x00000000000013a0) 0x00000ec2: 03 DW_LNS_advance_line (143) 0x00000ec4: 05 DW_LNS_set_column (11) 0x00000ec6: 06 DW_LNS_negate_stmt 0x00000ec7: 01 DW_LNS_copy - 0x00000000000012b7 143 11 1 0 0 is_stmt + 0x00000000000013a0 143 11 1 0 0 is_stmt -0x00000ec8: 00 DW_LNE_set_address (0x00000000000012bf) +0x00000ec8: 00 DW_LNE_set_address (0x00000000000013a9) 0x00000ecf: 05 DW_LNS_set_column (22) 0x00000ed1: 06 DW_LNS_negate_stmt 0x00000ed2: 01 DW_LNS_copy - 0x00000000000012bf 143 22 1 0 0 + 0x00000000000013a9 143 22 1 0 0 -0x00000ed3: 00 DW_LNE_set_address (0x00000000000012c7) +0x00000ed3: 00 DW_LNE_set_address (0x00000000000013b2) 0x00000eda: 05 DW_LNS_set_column (20) 0x00000edc: 01 DW_LNS_copy - 0x00000000000012c7 143 20 1 0 0 + 0x00000000000013b2 143 20 1 0 0 -0x00000edd: 00 DW_LNE_set_address (0x00000000000012dd) +0x00000edd: 00 DW_LNE_set_address (0x00000000000013c8) 0x00000ee4: 05 DW_LNS_set_column (11) 0x00000ee6: 01 DW_LNS_copy - 0x00000000000012dd 143 11 1 0 0 + 0x00000000000013c8 143 11 1 0 0 -0x00000ee7: 00 DW_LNE_set_address (0x00000000000012f4) +0x00000ee7: 00 DW_LNE_set_address (0x00000000000013df) 0x00000eee: 03 DW_LNS_advance_line (144) 0x00000ef0: 05 DW_LNS_set_column (21) 0x00000ef2: 06 DW_LNS_negate_stmt 0x00000ef3: 01 DW_LNS_copy - 0x00000000000012f4 144 21 1 0 0 is_stmt + 0x00000000000013df 144 21 1 0 0 is_stmt -0x00000ef4: 00 DW_LNE_set_address (0x00000000000012fc) +0x00000ef4: 00 DW_LNE_set_address (0x00000000000013e8) 0x00000efb: 05 DW_LNS_set_column (19) 0x00000efd: 06 DW_LNS_negate_stmt 0x00000efe: 01 DW_LNS_copy - 0x00000000000012fc 144 19 1 0 0 + 0x00000000000013e8 144 19 1 0 0 -0x00000eff: 00 DW_LNE_set_address (0x0000000000001305) +0x00000eff: 00 DW_LNE_set_address (0x00000000000013f2) 0x00000f06: 03 DW_LNS_advance_line (145) 0x00000f08: 05 DW_LNS_set_column (15) 0x00000f0a: 06 DW_LNS_negate_stmt 0x00000f0b: 01 DW_LNS_copy - 0x0000000000001305 145 15 1 0 0 is_stmt + 0x00000000000013f2 145 15 1 0 0 is_stmt -0x00000f0c: 00 DW_LNE_set_address (0x000000000000130d) +0x00000f0c: 00 DW_LNE_set_address (0x00000000000013fb) 0x00000f13: 05 DW_LNS_set_column (13) 0x00000f15: 06 DW_LNS_negate_stmt 0x00000f16: 01 DW_LNS_copy - 0x000000000000130d 145 13 1 0 0 + 0x00000000000013fb 145 13 1 0 0 -0x00000f17: 00 DW_LNE_set_address (0x0000000000001315) +0x00000f17: 00 DW_LNE_set_address (0x0000000000001404) 0x00000f1e: 03 DW_LNS_advance_line (146) 0x00000f20: 05 DW_LNS_set_column (14) 0x00000f22: 06 DW_LNS_negate_stmt 0x00000f23: 01 DW_LNS_copy - 0x0000000000001315 146 14 1 0 0 is_stmt + 0x0000000000001404 146 14 1 0 0 is_stmt -0x00000f24: 00 DW_LNE_set_address (0x000000000000131d) +0x00000f24: 00 DW_LNE_set_address (0x000000000000140d) 0x00000f2b: 05 DW_LNS_set_column (20) 0x00000f2d: 06 DW_LNS_negate_stmt 0x00000f2e: 01 DW_LNS_copy - 0x000000000000131d 146 20 1 0 0 + 0x000000000000140d 146 20 1 0 0 -0x00000f2f: 00 DW_LNE_set_address (0x0000000000001326) +0x00000f2f: 00 DW_LNE_set_address (0x0000000000001417) 0x00000f36: 05 DW_LNS_set_column (12) 0x00000f38: 01 DW_LNS_copy - 0x0000000000001326 146 12 1 0 0 + 0x0000000000001417 146 12 1 0 0 -0x00000f39: 00 DW_LNE_set_address (0x000000000000132e) +0x00000f39: 00 DW_LNE_set_address (0x0000000000001420) 0x00000f40: 03 DW_LNS_advance_line (147) 0x00000f42: 06 DW_LNS_negate_stmt 0x00000f43: 01 DW_LNS_copy - 0x000000000000132e 147 12 1 0 0 is_stmt + 0x0000000000001420 147 12 1 0 0 is_stmt -0x00000f44: 00 DW_LNE_set_address (0x0000000000001336) +0x00000f44: 00 DW_LNE_set_address (0x0000000000001429) 0x00000f4b: 05 DW_LNS_set_column (7) 0x00000f4d: 06 DW_LNS_negate_stmt 0x00000f4e: 01 DW_LNS_copy - 0x0000000000001336 147 7 1 0 0 + 0x0000000000001429 147 7 1 0 0 -0x00000f4f: 00 DW_LNE_set_address (0x000000000000133b) +0x00000f4f: 00 DW_LNE_set_address (0x000000000000142e) 0x00000f56: 03 DW_LNS_advance_line (141) 0x00000f58: 05 DW_LNS_set_column (4) 0x00000f5a: 06 DW_LNS_negate_stmt 0x00000f5b: 01 DW_LNS_copy - 0x000000000000133b 141 4 1 0 0 is_stmt + 0x000000000000142e 141 4 1 0 0 is_stmt -0x00000f5c: 00 DW_LNE_set_address (0x0000000000001340) +0x00000f5c: 00 DW_LNE_set_address (0x0000000000001433) 0x00000f63: 03 DW_LNS_advance_line (149) 0x00000f65: 05 DW_LNS_set_column (11) 0x00000f67: 01 DW_LNS_copy - 0x0000000000001340 149 11 1 0 0 is_stmt + 0x0000000000001433 149 11 1 0 0 is_stmt -0x00000f68: 00 DW_LNE_set_address (0x0000000000001348) +0x00000f68: 00 DW_LNE_set_address (0x000000000000143c) 0x00000f6f: 05 DW_LNS_set_column (4) 0x00000f71: 06 DW_LNS_negate_stmt 0x00000f72: 01 DW_LNS_copy - 0x0000000000001348 149 4 1 0 0 + 0x000000000000143c 149 4 1 0 0 -0x00000f73: 00 DW_LNE_set_address (0x0000000000001360) +0x00000f73: 00 DW_LNE_set_address (0x0000000000001454) 0x00000f7a: 00 DW_LNE_end_sequence - 0x0000000000001360 149 4 1 0 0 end_sequence + 0x0000000000001454 149 4 1 0 0 end_sequence .debug_str contents: @@ -5186,9 +5186,9 @@ file_names[ 3]: 0x00000191: "cleanup" .debug_ranges contents: -00000000 00000006 00000a53 -00000000 00000a55 00000bc5 -00000000 00000bc7 00001360 +00000000 00000006 00000ad7 +00000000 00000ad9 00000c58 +00000000 00000c5a 00001454 00000000 (module (type $i32_=>_i32 (func (param i32) (result i32))) @@ -5491,2302 +5491,2302 @@ file_names[ 3]: ;; code offset: 0x20a (local.get $0) ) - ;; code offset: 0x214 + ;; code offset: 0x216 (local.set $5 - ;; code offset: 0x211 + ;; code offset: 0x212 (i32.load $mimport$0 offset=60 - ;; code offset: 0x20f + ;; code offset: 0x210 (local.get $3) ) ) - ;; code offset: 0x21a + ;; code offset: 0x21c (i32.store $mimport$0 offset=56 - ;; code offset: 0x216 - (local.get $3) ;; code offset: 0x218 + (local.get $3) + ;; code offset: 0x21a (local.get $5) ) - ;; code offset: 0x221 + ;; code offset: 0x224 (i32.store $mimport$0 offset=40 - ;; code offset: 0x21d + ;; code offset: 0x220 (local.get $3) - ;; code offset: 0x21f + ;; code offset: 0x222 (local.get $4) ) - ;; code offset: 0x229 + ;; code offset: 0x22e (local.set $6 - ;; code offset: 0x226 + ;; code offset: 0x22a (i32.load $mimport$0 offset=56 - ;; code offset: 0x224 + ;; code offset: 0x228 (local.get $3) ) ) - ;; code offset: 0x230 + ;; code offset: 0x236 (local.set $7 - ;; code offset: 0x22d + ;; code offset: 0x232 (i32.load $mimport$0 offset=4 - ;; code offset: 0x22b + ;; code offset: 0x230 (local.get $6) ) ) - ;; code offset: 0x236 + ;; code offset: 0x23c (i32.store $mimport$0 offset=28 - ;; code offset: 0x232 + ;; code offset: 0x238 (local.get $3) - ;; code offset: 0x234 + ;; code offset: 0x23a (local.get $7) ) - ;; code offset: 0x23e + ;; code offset: 0x246 (local.set $8 - ;; code offset: 0x23b + ;; code offset: 0x242 (i32.load $mimport$0 offset=28 - ;; code offset: 0x239 + ;; code offset: 0x240 (local.get $3) ) ) - ;; code offset: 0x242 + ;; code offset: 0x24a (local.set $9 - ;; code offset: 0x240 + ;; code offset: 0x248 (i32.const 2) ) - ;; code offset: 0x249 + ;; code offset: 0x251 (local.set $10 - ;; code offset: 0x248 + ;; code offset: 0x250 (i32.shl - ;; code offset: 0x244 + ;; code offset: 0x24c (local.get $8) - ;; code offset: 0x246 + ;; code offset: 0x24e (local.get $9) ) ) - ;; code offset: 0x24f + ;; code offset: 0x257 (local.set $11 - ;; code offset: 0x24d + ;; code offset: 0x255 (call $malloc - ;; code offset: 0x24b + ;; code offset: 0x253 (local.get $10) ) ) - ;; code offset: 0x255 + ;; code offset: 0x25d (i32.store $mimport$0 offset=52 - ;; code offset: 0x251 + ;; code offset: 0x259 (local.get $3) - ;; code offset: 0x253 + ;; code offset: 0x25b (local.get $11) ) - ;; code offset: 0x25d + ;; code offset: 0x267 (local.set $12 - ;; code offset: 0x25a + ;; code offset: 0x263 (i32.load $mimport$0 offset=28 - ;; code offset: 0x258 + ;; code offset: 0x261 (local.get $3) ) ) - ;; code offset: 0x261 + ;; code offset: 0x26b (local.set $13 - ;; code offset: 0x25f + ;; code offset: 0x269 (i32.const 2) ) - ;; code offset: 0x268 + ;; code offset: 0x272 (local.set $14 - ;; code offset: 0x267 + ;; code offset: 0x271 (i32.shl - ;; code offset: 0x263 + ;; code offset: 0x26d (local.get $12) - ;; code offset: 0x265 + ;; code offset: 0x26f (local.get $13) ) ) - ;; code offset: 0x26e + ;; code offset: 0x278 (local.set $15 - ;; code offset: 0x26c + ;; code offset: 0x276 (call $malloc - ;; code offset: 0x26a + ;; code offset: 0x274 (local.get $14) ) ) - ;; code offset: 0x274 + ;; code offset: 0x27e (i32.store $mimport$0 offset=44 - ;; code offset: 0x270 + ;; code offset: 0x27a (local.get $3) - ;; code offset: 0x272 + ;; code offset: 0x27c (local.get $15) ) - ;; code offset: 0x27c + ;; code offset: 0x288 (local.set $16 - ;; code offset: 0x279 + ;; code offset: 0x284 (i32.load $mimport$0 offset=28 - ;; code offset: 0x277 + ;; code offset: 0x282 (local.get $3) ) ) - ;; code offset: 0x280 + ;; code offset: 0x28c (local.set $17 - ;; code offset: 0x27e + ;; code offset: 0x28a (i32.const 2) ) - ;; code offset: 0x287 + ;; code offset: 0x293 (local.set $18 - ;; code offset: 0x286 + ;; code offset: 0x292 (i32.shl - ;; code offset: 0x282 + ;; code offset: 0x28e (local.get $16) - ;; code offset: 0x284 + ;; code offset: 0x290 (local.get $17) ) ) - ;; code offset: 0x28d + ;; code offset: 0x299 (local.set $19 - ;; code offset: 0x28b + ;; code offset: 0x297 (call $malloc - ;; code offset: 0x289 + ;; code offset: 0x295 (local.get $18) ) ) - ;; code offset: 0x293 + ;; code offset: 0x29f (i32.store $mimport$0 offset=48 - ;; code offset: 0x28f + ;; code offset: 0x29b (local.get $3) - ;; code offset: 0x291 + ;; code offset: 0x29d (local.get $19) ) - ;; code offset: 0x29a + ;; code offset: 0x2a7 (i32.store $mimport$0 offset=32 - ;; code offset: 0x296 + ;; code offset: 0x2a3 (local.get $3) - ;; code offset: 0x298 + ;; code offset: 0x2a5 (local.get $4) ) - ;; code offset: 0x29d + ;; code offset: 0x2ab (block $label$1 - ;; code offset: 0x29f + ;; code offset: 0x2ad (loop $label$2 - ;; code offset: 0x2a6 + ;; code offset: 0x2b5 (local.set $20 - ;; code offset: 0x2a3 + ;; code offset: 0x2b1 (i32.load $mimport$0 offset=32 - ;; code offset: 0x2a1 + ;; code offset: 0x2af (local.get $3) ) ) - ;; code offset: 0x2ad + ;; code offset: 0x2bd (local.set $21 - ;; code offset: 0x2aa + ;; code offset: 0x2b9 (i32.load $mimport$0 offset=28 - ;; code offset: 0x2a8 + ;; code offset: 0x2b7 (local.get $3) ) ) - ;; code offset: 0x2b1 + ;; code offset: 0x2c1 (local.set $22 - ;; code offset: 0x2af + ;; code offset: 0x2bf (local.get $20) ) - ;; code offset: 0x2b5 + ;; code offset: 0x2c5 (local.set $23 - ;; code offset: 0x2b3 + ;; code offset: 0x2c3 (local.get $21) ) - ;; code offset: 0x2bc + ;; code offset: 0x2cc (local.set $24 - ;; code offset: 0x2bb + ;; code offset: 0x2cb (i32.lt_s - ;; code offset: 0x2b7 + ;; code offset: 0x2c7 (local.get $22) - ;; code offset: 0x2b9 + ;; code offset: 0x2c9 (local.get $23) ) ) - ;; code offset: 0x2c0 + ;; code offset: 0x2d0 (local.set $25 - ;; code offset: 0x2be + ;; code offset: 0x2ce (i32.const 1) ) - ;; code offset: 0x2c7 + ;; code offset: 0x2d7 (local.set $26 - ;; code offset: 0x2c6 + ;; code offset: 0x2d6 (i32.and - ;; code offset: 0x2c2 + ;; code offset: 0x2d2 (local.get $24) - ;; code offset: 0x2c4 + ;; code offset: 0x2d4 (local.get $25) ) ) - ;; code offset: 0x2cc + ;; code offset: 0x2dc (br_if $label$1 - ;; code offset: 0x2cb + ;; code offset: 0x2db (i32.eqz - ;; code offset: 0x2c9 + ;; code offset: 0x2d9 (local.get $26) ) ) - ;; code offset: 0x2d3 + ;; code offset: 0x2e4 (local.set $27 - ;; code offset: 0x2d0 + ;; code offset: 0x2e0 (i32.load $mimport$0 offset=32 - ;; code offset: 0x2ce + ;; code offset: 0x2de (local.get $3) ) ) - ;; code offset: 0x2da + ;; code offset: 0x2ec (local.set $28 - ;; code offset: 0x2d7 + ;; code offset: 0x2e8 (i32.load $mimport$0 offset=52 - ;; code offset: 0x2d5 + ;; code offset: 0x2e6 (local.get $3) ) ) - ;; code offset: 0x2e1 + ;; code offset: 0x2f4 (local.set $29 - ;; code offset: 0x2de + ;; code offset: 0x2f0 (i32.load $mimport$0 offset=32 - ;; code offset: 0x2dc + ;; code offset: 0x2ee (local.get $3) ) ) - ;; code offset: 0x2e5 + ;; code offset: 0x2f8 (local.set $30 - ;; code offset: 0x2e3 + ;; code offset: 0x2f6 (i32.const 2) ) - ;; code offset: 0x2ec + ;; code offset: 0x2ff (local.set $31 - ;; code offset: 0x2eb + ;; code offset: 0x2fe (i32.shl - ;; code offset: 0x2e7 + ;; code offset: 0x2fa (local.get $29) - ;; code offset: 0x2e9 + ;; code offset: 0x2fc (local.get $30) ) ) - ;; code offset: 0x2f3 + ;; code offset: 0x306 (local.set $32 - ;; code offset: 0x2f2 + ;; code offset: 0x305 (i32.add - ;; code offset: 0x2ee + ;; code offset: 0x301 (local.get $28) - ;; code offset: 0x2f0 + ;; code offset: 0x303 (local.get $31) ) ) - ;; code offset: 0x2f9 + ;; code offset: 0x30c (i32.store $mimport$0 - ;; code offset: 0x2f5 + ;; code offset: 0x308 (local.get $32) - ;; code offset: 0x2f7 + ;; code offset: 0x30a (local.get $27) ) - ;; code offset: 0x301 + ;; code offset: 0x316 (local.set $33 - ;; code offset: 0x2fe + ;; code offset: 0x312 (i32.load $mimport$0 offset=32 - ;; code offset: 0x2fc + ;; code offset: 0x310 (local.get $3) ) ) - ;; code offset: 0x305 + ;; code offset: 0x31a (local.set $34 - ;; code offset: 0x303 + ;; code offset: 0x318 (i32.const 1) ) - ;; code offset: 0x30c + ;; code offset: 0x321 (local.set $35 - ;; code offset: 0x30b + ;; code offset: 0x320 (i32.add - ;; code offset: 0x307 + ;; code offset: 0x31c (local.get $33) - ;; code offset: 0x309 + ;; code offset: 0x31e (local.get $34) ) ) - ;; code offset: 0x312 + ;; code offset: 0x327 (i32.store $mimport$0 offset=32 - ;; code offset: 0x30e + ;; code offset: 0x323 (local.get $3) - ;; code offset: 0x310 + ;; code offset: 0x325 (local.get $35) ) - ;; code offset: 0x315 + ;; code offset: 0x32b (br $label$2) ) ) - ;; code offset: 0x31f + ;; code offset: 0x336 (local.set $36 - ;; code offset: 0x31c + ;; code offset: 0x332 (i32.load $mimport$0 offset=28 - ;; code offset: 0x31a + ;; code offset: 0x330 (local.get $3) ) ) - ;; code offset: 0x323 + ;; code offset: 0x33a (local.set $37 - ;; code offset: 0x321 + ;; code offset: 0x338 (i32.const 1) ) - ;; code offset: 0x32a + ;; code offset: 0x341 (local.set $38 - ;; code offset: 0x329 + ;; code offset: 0x340 (i32.sub - ;; code offset: 0x325 + ;; code offset: 0x33c (local.get $36) - ;; code offset: 0x327 + ;; code offset: 0x33e (local.get $37) ) ) - ;; code offset: 0x331 + ;; code offset: 0x349 (local.set $39 - ;; code offset: 0x32e + ;; code offset: 0x345 (i32.load $mimport$0 offset=52 - ;; code offset: 0x32c + ;; code offset: 0x343 (local.get $3) ) ) - ;; code offset: 0x338 + ;; code offset: 0x351 (local.set $40 - ;; code offset: 0x335 + ;; code offset: 0x34d (i32.load $mimport$0 offset=56 - ;; code offset: 0x333 + ;; code offset: 0x34b (local.get $3) ) ) - ;; code offset: 0x33f + ;; code offset: 0x359 (local.set $41 - ;; code offset: 0x33c + ;; code offset: 0x355 (i32.load $mimport$0 - ;; code offset: 0x33a + ;; code offset: 0x353 (local.get $40) ) ) - ;; code offset: 0x343 + ;; code offset: 0x35d (local.set $42 - ;; code offset: 0x341 + ;; code offset: 0x35b (i32.const 2) ) - ;; code offset: 0x34a + ;; code offset: 0x364 (local.set $43 - ;; code offset: 0x349 + ;; code offset: 0x363 (i32.shl - ;; code offset: 0x345 + ;; code offset: 0x35f (local.get $41) - ;; code offset: 0x347 + ;; code offset: 0x361 (local.get $42) ) ) - ;; code offset: 0x351 + ;; code offset: 0x36b (local.set $44 - ;; code offset: 0x350 + ;; code offset: 0x36a (i32.add - ;; code offset: 0x34c + ;; code offset: 0x366 (local.get $39) - ;; code offset: 0x34e + ;; code offset: 0x368 (local.get $43) ) ) - ;; code offset: 0x357 + ;; code offset: 0x371 (i32.store $mimport$0 - ;; code offset: 0x353 + ;; code offset: 0x36d (local.get $44) - ;; code offset: 0x355 + ;; code offset: 0x36f (local.get $38) ) - ;; code offset: 0x35f + ;; code offset: 0x37b (local.set $45 - ;; code offset: 0x35c + ;; code offset: 0x377 (i32.load $mimport$0 offset=56 - ;; code offset: 0x35a + ;; code offset: 0x375 (local.get $3) ) ) - ;; code offset: 0x366 + ;; code offset: 0x383 (local.set $46 - ;; code offset: 0x363 + ;; code offset: 0x37f (i32.load $mimport$0 - ;; code offset: 0x361 + ;; code offset: 0x37d (local.get $45) ) ) - ;; code offset: 0x36d + ;; code offset: 0x38b (local.set $47 - ;; code offset: 0x36a + ;; code offset: 0x387 (i32.load $mimport$0 offset=52 - ;; code offset: 0x368 + ;; code offset: 0x385 (local.get $3) ) ) - ;; code offset: 0x374 + ;; code offset: 0x393 (local.set $48 - ;; code offset: 0x371 + ;; code offset: 0x38f (i32.load $mimport$0 offset=28 - ;; code offset: 0x36f + ;; code offset: 0x38d (local.get $3) ) ) - ;; code offset: 0x378 + ;; code offset: 0x397 (local.set $49 - ;; code offset: 0x376 + ;; code offset: 0x395 (i32.const 1) ) - ;; code offset: 0x37f + ;; code offset: 0x39e (local.set $50 - ;; code offset: 0x37e + ;; code offset: 0x39d (i32.sub - ;; code offset: 0x37a + ;; code offset: 0x399 (local.get $48) - ;; code offset: 0x37c + ;; code offset: 0x39b (local.get $49) ) ) - ;; code offset: 0x383 + ;; code offset: 0x3a2 (local.set $51 - ;; code offset: 0x381 + ;; code offset: 0x3a0 (i32.const 2) ) - ;; code offset: 0x38a + ;; code offset: 0x3a9 (local.set $52 - ;; code offset: 0x389 + ;; code offset: 0x3a8 (i32.shl - ;; code offset: 0x385 + ;; code offset: 0x3a4 (local.get $50) - ;; code offset: 0x387 + ;; code offset: 0x3a6 (local.get $51) ) ) - ;; code offset: 0x391 + ;; code offset: 0x3b0 (local.set $53 - ;; code offset: 0x390 + ;; code offset: 0x3af (i32.add - ;; code offset: 0x38c + ;; code offset: 0x3ab (local.get $47) - ;; code offset: 0x38e + ;; code offset: 0x3ad (local.get $52) ) ) - ;; code offset: 0x397 + ;; code offset: 0x3b6 (i32.store $mimport$0 - ;; code offset: 0x393 + ;; code offset: 0x3b2 (local.get $53) - ;; code offset: 0x395 + ;; code offset: 0x3b4 (local.get $46) ) - ;; code offset: 0x39f + ;; code offset: 0x3c0 (local.set $54 - ;; code offset: 0x39c + ;; code offset: 0x3bc (i32.load $mimport$0 offset=28 - ;; code offset: 0x39a + ;; code offset: 0x3ba (local.get $3) ) ) - ;; code offset: 0x3a5 + ;; code offset: 0x3c6 (i32.store $mimport$0 offset=24 - ;; code offset: 0x3a1 + ;; code offset: 0x3c2 (local.get $3) - ;; code offset: 0x3a3 + ;; code offset: 0x3c4 (local.get $54) ) - ;; code offset: 0x3a8 + ;; code offset: 0x3ca (loop $label$3 (result i32) - ;; code offset: 0x3aa + ;; code offset: 0x3cc (block $label$4 - ;; code offset: 0x3ac + ;; code offset: 0x3ce (loop $label$5 - ;; code offset: 0x3b0 + ;; code offset: 0x3d2 (local.set $55 - ;; code offset: 0x3ae + ;; code offset: 0x3d0 (i32.const 1) ) - ;; code offset: 0x3b7 + ;; code offset: 0x3da (local.set $56 - ;; code offset: 0x3b4 + ;; code offset: 0x3d6 (i32.load $mimport$0 offset=24 - ;; code offset: 0x3b2 + ;; code offset: 0x3d4 (local.get $3) ) ) - ;; code offset: 0x3bb + ;; code offset: 0x3de (local.set $57 - ;; code offset: 0x3b9 + ;; code offset: 0x3dc (local.get $56) ) - ;; code offset: 0x3bf + ;; code offset: 0x3e2 (local.set $58 - ;; code offset: 0x3bd + ;; code offset: 0x3e0 (local.get $55) ) - ;; code offset: 0x3c6 + ;; code offset: 0x3e9 (local.set $59 - ;; code offset: 0x3c5 + ;; code offset: 0x3e8 (i32.gt_s - ;; code offset: 0x3c1 + ;; code offset: 0x3e4 (local.get $57) - ;; code offset: 0x3c3 + ;; code offset: 0x3e6 (local.get $58) ) ) - ;; code offset: 0x3ca + ;; code offset: 0x3ed (local.set $60 - ;; code offset: 0x3c8 + ;; code offset: 0x3eb (i32.const 1) ) - ;; code offset: 0x3d1 + ;; code offset: 0x3f4 (local.set $61 - ;; code offset: 0x3d0 + ;; code offset: 0x3f3 (i32.and - ;; code offset: 0x3cc + ;; code offset: 0x3ef (local.get $59) - ;; code offset: 0x3ce + ;; code offset: 0x3f1 (local.get $60) ) ) - ;; code offset: 0x3d6 + ;; code offset: 0x3f9 (br_if $label$4 - ;; code offset: 0x3d5 + ;; code offset: 0x3f8 (i32.eqz - ;; code offset: 0x3d3 + ;; code offset: 0x3f6 (local.get $61) ) ) - ;; code offset: 0x3dd + ;; code offset: 0x401 (local.set $62 - ;; code offset: 0x3da + ;; code offset: 0x3fd (i32.load $mimport$0 offset=24 - ;; code offset: 0x3d8 + ;; code offset: 0x3fb (local.get $3) ) ) - ;; code offset: 0x3e4 + ;; code offset: 0x409 (local.set $63 - ;; code offset: 0x3e1 + ;; code offset: 0x405 (i32.load $mimport$0 offset=48 - ;; code offset: 0x3df + ;; code offset: 0x403 (local.get $3) ) ) - ;; code offset: 0x3eb + ;; code offset: 0x411 (local.set $64 - ;; code offset: 0x3e8 + ;; code offset: 0x40d (i32.load $mimport$0 offset=24 - ;; code offset: 0x3e6 + ;; code offset: 0x40b (local.get $3) ) ) - ;; code offset: 0x3ef + ;; code offset: 0x415 (local.set $65 - ;; code offset: 0x3ed + ;; code offset: 0x413 (i32.const 1) ) - ;; code offset: 0x3f6 + ;; code offset: 0x41c (local.set $66 - ;; code offset: 0x3f5 + ;; code offset: 0x41b (i32.sub - ;; code offset: 0x3f1 + ;; code offset: 0x417 (local.get $64) - ;; code offset: 0x3f3 + ;; code offset: 0x419 (local.get $65) ) ) - ;; code offset: 0x3fa + ;; code offset: 0x420 (local.set $67 - ;; code offset: 0x3f8 + ;; code offset: 0x41e (i32.const 2) ) - ;; code offset: 0x401 + ;; code offset: 0x427 (local.set $68 - ;; code offset: 0x400 + ;; code offset: 0x426 (i32.shl - ;; code offset: 0x3fc + ;; code offset: 0x422 (local.get $66) - ;; code offset: 0x3fe + ;; code offset: 0x424 (local.get $67) ) ) - ;; code offset: 0x408 + ;; code offset: 0x42e (local.set $69 - ;; code offset: 0x407 + ;; code offset: 0x42d (i32.add - ;; code offset: 0x403 + ;; code offset: 0x429 (local.get $63) - ;; code offset: 0x405 + ;; code offset: 0x42b (local.get $68) ) ) - ;; code offset: 0x40e + ;; code offset: 0x434 (i32.store $mimport$0 - ;; code offset: 0x40a + ;; code offset: 0x430 (local.get $69) - ;; code offset: 0x40c + ;; code offset: 0x432 (local.get $62) ) - ;; code offset: 0x416 + ;; code offset: 0x43e (local.set $70 - ;; code offset: 0x413 + ;; code offset: 0x43a (i32.load $mimport$0 offset=24 - ;; code offset: 0x411 + ;; code offset: 0x438 (local.get $3) ) ) - ;; code offset: 0x41a + ;; code offset: 0x442 (local.set $71 - ;; code offset: 0x418 + ;; code offset: 0x440 (i32.const -1) ) - ;; code offset: 0x421 + ;; code offset: 0x449 (local.set $72 - ;; code offset: 0x420 + ;; code offset: 0x448 (i32.add - ;; code offset: 0x41c + ;; code offset: 0x444 (local.get $70) - ;; code offset: 0x41e + ;; code offset: 0x446 (local.get $71) ) ) - ;; code offset: 0x427 + ;; code offset: 0x44f (i32.store $mimport$0 offset=24 - ;; code offset: 0x423 + ;; code offset: 0x44b (local.get $3) - ;; code offset: 0x425 + ;; code offset: 0x44d (local.get $72) ) - ;; code offset: 0x42a + ;; code offset: 0x453 (br $label$5) ) ) - ;; code offset: 0x434 + ;; code offset: 0x45e (local.set $73 - ;; code offset: 0x431 + ;; code offset: 0x45a (i32.load $mimport$0 offset=52 - ;; code offset: 0x42f + ;; code offset: 0x458 (local.get $3) ) ) - ;; code offset: 0x43b + ;; code offset: 0x466 (local.set $74 - ;; code offset: 0x438 + ;; code offset: 0x462 (i32.load $mimport$0 - ;; code offset: 0x436 + ;; code offset: 0x460 (local.get $73) ) ) - ;; code offset: 0x43d + ;; code offset: 0x468 (block $label$6 - ;; code offset: 0x442 + ;; code offset: 0x46d (br_if $label$6 - ;; code offset: 0x441 + ;; code offset: 0x46c (i32.eqz - ;; code offset: 0x43f + ;; code offset: 0x46a (local.get $74) ) ) - ;; code offset: 0x449 + ;; code offset: 0x475 (local.set $75 - ;; code offset: 0x446 + ;; code offset: 0x471 (i32.load $mimport$0 offset=52 - ;; code offset: 0x444 + ;; code offset: 0x46f (local.get $3) ) ) - ;; code offset: 0x450 + ;; code offset: 0x47d (local.set $76 - ;; code offset: 0x44d + ;; code offset: 0x479 (i32.load $mimport$0 offset=28 - ;; code offset: 0x44b + ;; code offset: 0x477 (local.get $3) ) ) - ;; code offset: 0x454 + ;; code offset: 0x481 (local.set $77 - ;; code offset: 0x452 + ;; code offset: 0x47f (i32.const 1) ) - ;; code offset: 0x45b + ;; code offset: 0x488 (local.set $78 - ;; code offset: 0x45a + ;; code offset: 0x487 (i32.sub - ;; code offset: 0x456 + ;; code offset: 0x483 (local.get $76) - ;; code offset: 0x458 + ;; code offset: 0x485 (local.get $77) ) ) - ;; code offset: 0x45f + ;; code offset: 0x48c (local.set $79 - ;; code offset: 0x45d + ;; code offset: 0x48a (i32.const 2) ) - ;; code offset: 0x466 + ;; code offset: 0x493 (local.set $80 - ;; code offset: 0x465 + ;; code offset: 0x492 (i32.shl - ;; code offset: 0x461 + ;; code offset: 0x48e (local.get $78) - ;; code offset: 0x463 + ;; code offset: 0x490 (local.get $79) ) ) - ;; code offset: 0x46d + ;; code offset: 0x49a (local.set $81 - ;; code offset: 0x46c + ;; code offset: 0x499 (i32.add - ;; code offset: 0x468 + ;; code offset: 0x495 (local.get $75) - ;; code offset: 0x46a + ;; code offset: 0x497 (local.get $80) ) ) - ;; code offset: 0x474 + ;; code offset: 0x4a2 (local.set $82 - ;; code offset: 0x471 + ;; code offset: 0x49e (i32.load $mimport$0 - ;; code offset: 0x46f + ;; code offset: 0x49c (local.get $81) ) ) - ;; code offset: 0x47b + ;; code offset: 0x4aa (local.set $83 - ;; code offset: 0x478 + ;; code offset: 0x4a6 (i32.load $mimport$0 offset=28 - ;; code offset: 0x476 + ;; code offset: 0x4a4 (local.get $3) ) ) - ;; code offset: 0x47f + ;; code offset: 0x4ae (local.set $84 - ;; code offset: 0x47d + ;; code offset: 0x4ac (i32.const 1) ) - ;; code offset: 0x486 + ;; code offset: 0x4b5 (local.set $85 - ;; code offset: 0x485 + ;; code offset: 0x4b4 (i32.sub - ;; code offset: 0x481 + ;; code offset: 0x4b0 (local.get $83) - ;; code offset: 0x483 + ;; code offset: 0x4b2 (local.get $84) ) ) - ;; code offset: 0x48a + ;; code offset: 0x4b9 (local.set $86 - ;; code offset: 0x488 + ;; code offset: 0x4b7 (local.get $82) ) - ;; code offset: 0x48e + ;; code offset: 0x4bd (local.set $87 - ;; code offset: 0x48c + ;; code offset: 0x4bb (local.get $85) ) - ;; code offset: 0x495 + ;; code offset: 0x4c4 (local.set $88 - ;; code offset: 0x494 + ;; code offset: 0x4c3 (i32.ne - ;; code offset: 0x490 + ;; code offset: 0x4bf (local.get $86) - ;; code offset: 0x492 + ;; code offset: 0x4c1 (local.get $87) ) ) - ;; code offset: 0x499 + ;; code offset: 0x4c8 (local.set $89 - ;; code offset: 0x497 + ;; code offset: 0x4c6 (i32.const 1) ) - ;; code offset: 0x4a0 + ;; code offset: 0x4cf (local.set $90 - ;; code offset: 0x49f + ;; code offset: 0x4ce (i32.and - ;; code offset: 0x49b + ;; code offset: 0x4ca (local.get $88) - ;; code offset: 0x49d + ;; code offset: 0x4cc (local.get $89) ) ) - ;; code offset: 0x4a5 + ;; code offset: 0x4d4 (br_if $label$6 - ;; code offset: 0x4a4 + ;; code offset: 0x4d3 (i32.eqz - ;; code offset: 0x4a2 + ;; code offset: 0x4d1 (local.get $90) ) ) - ;; code offset: 0x4a9 + ;; code offset: 0x4d8 (local.set $91 - ;; code offset: 0x4a7 + ;; code offset: 0x4d6 (i32.const 0) ) - ;; code offset: 0x4af + ;; code offset: 0x4de (i32.store $mimport$0 offset=32 - ;; code offset: 0x4ab + ;; code offset: 0x4da (local.get $3) - ;; code offset: 0x4ad + ;; code offset: 0x4dc (local.get $91) ) - ;; code offset: 0x4b2 + ;; code offset: 0x4e2 (block $label$7 - ;; code offset: 0x4b4 + ;; code offset: 0x4e4 (loop $label$8 - ;; code offset: 0x4bb + ;; code offset: 0x4ec (local.set $92 - ;; code offset: 0x4b8 + ;; code offset: 0x4e8 (i32.load $mimport$0 offset=32 - ;; code offset: 0x4b6 + ;; code offset: 0x4e6 (local.get $3) ) ) - ;; code offset: 0x4c2 + ;; code offset: 0x4f4 (local.set $93 - ;; code offset: 0x4bf + ;; code offset: 0x4f0 (i32.load $mimport$0 offset=28 - ;; code offset: 0x4bd + ;; code offset: 0x4ee (local.get $3) ) ) - ;; code offset: 0x4c6 + ;; code offset: 0x4f8 (local.set $94 - ;; code offset: 0x4c4 + ;; code offset: 0x4f6 (local.get $92) ) - ;; code offset: 0x4ca + ;; code offset: 0x4fc (local.set $95 - ;; code offset: 0x4c8 + ;; code offset: 0x4fa (local.get $93) ) - ;; code offset: 0x4d1 + ;; code offset: 0x503 (local.set $96 - ;; code offset: 0x4d0 + ;; code offset: 0x502 (i32.lt_s - ;; code offset: 0x4cc + ;; code offset: 0x4fe (local.get $94) - ;; code offset: 0x4ce + ;; code offset: 0x500 (local.get $95) ) ) - ;; code offset: 0x4d5 + ;; code offset: 0x507 (local.set $97 - ;; code offset: 0x4d3 + ;; code offset: 0x505 (i32.const 1) ) - ;; code offset: 0x4dc + ;; code offset: 0x50e (local.set $98 - ;; code offset: 0x4db + ;; code offset: 0x50d (i32.and - ;; code offset: 0x4d7 + ;; code offset: 0x509 (local.get $96) - ;; code offset: 0x4d9 + ;; code offset: 0x50b (local.get $97) ) ) - ;; code offset: 0x4e1 + ;; code offset: 0x513 (br_if $label$7 - ;; code offset: 0x4e0 + ;; code offset: 0x512 (i32.eqz - ;; code offset: 0x4de + ;; code offset: 0x510 (local.get $98) ) ) - ;; code offset: 0x4e8 + ;; code offset: 0x51b (local.set $99 - ;; code offset: 0x4e5 + ;; code offset: 0x517 (i32.load $mimport$0 offset=52 - ;; code offset: 0x4e3 + ;; code offset: 0x515 (local.get $3) ) ) - ;; code offset: 0x4ef + ;; code offset: 0x523 (local.set $100 - ;; code offset: 0x4ec + ;; code offset: 0x51f (i32.load $mimport$0 offset=32 - ;; code offset: 0x4ea + ;; code offset: 0x51d (local.get $3) ) ) - ;; code offset: 0x4f3 + ;; code offset: 0x527 (local.set $101 - ;; code offset: 0x4f1 + ;; code offset: 0x525 (i32.const 2) ) - ;; code offset: 0x4fa + ;; code offset: 0x52e (local.set $102 - ;; code offset: 0x4f9 + ;; code offset: 0x52d (i32.shl - ;; code offset: 0x4f5 + ;; code offset: 0x529 (local.get $100) - ;; code offset: 0x4f7 + ;; code offset: 0x52b (local.get $101) ) ) - ;; code offset: 0x501 + ;; code offset: 0x535 (local.set $103 - ;; code offset: 0x500 + ;; code offset: 0x534 (i32.add - ;; code offset: 0x4fc + ;; code offset: 0x530 (local.get $99) - ;; code offset: 0x4fe + ;; code offset: 0x532 (local.get $102) ) ) - ;; code offset: 0x508 + ;; code offset: 0x53d (local.set $104 - ;; code offset: 0x505 + ;; code offset: 0x539 (i32.load $mimport$0 - ;; code offset: 0x503 + ;; code offset: 0x537 (local.get $103) ) ) - ;; code offset: 0x50f + ;; code offset: 0x545 (local.set $105 - ;; code offset: 0x50c + ;; code offset: 0x541 (i32.load $mimport$0 offset=44 - ;; code offset: 0x50a + ;; code offset: 0x53f (local.get $3) ) ) - ;; code offset: 0x516 + ;; code offset: 0x54d (local.set $106 - ;; code offset: 0x513 + ;; code offset: 0x549 (i32.load $mimport$0 offset=32 - ;; code offset: 0x511 + ;; code offset: 0x547 (local.get $3) ) ) - ;; code offset: 0x51a + ;; code offset: 0x551 (local.set $107 - ;; code offset: 0x518 + ;; code offset: 0x54f (i32.const 2) ) - ;; code offset: 0x521 + ;; code offset: 0x558 (local.set $108 - ;; code offset: 0x520 + ;; code offset: 0x557 (i32.shl - ;; code offset: 0x51c + ;; code offset: 0x553 (local.get $106) - ;; code offset: 0x51e + ;; code offset: 0x555 (local.get $107) ) ) - ;; code offset: 0x528 + ;; code offset: 0x55f (local.set $109 - ;; code offset: 0x527 + ;; code offset: 0x55e (i32.add - ;; code offset: 0x523 + ;; code offset: 0x55a (local.get $105) - ;; code offset: 0x525 + ;; code offset: 0x55c (local.get $108) ) ) - ;; code offset: 0x52e + ;; code offset: 0x565 (i32.store $mimport$0 - ;; code offset: 0x52a + ;; code offset: 0x561 (local.get $109) - ;; code offset: 0x52c + ;; code offset: 0x563 (local.get $104) ) - ;; code offset: 0x536 + ;; code offset: 0x56f (local.set $110 - ;; code offset: 0x533 + ;; code offset: 0x56b (i32.load $mimport$0 offset=32 - ;; code offset: 0x531 + ;; code offset: 0x569 (local.get $3) ) ) - ;; code offset: 0x53a + ;; code offset: 0x573 (local.set $111 - ;; code offset: 0x538 + ;; code offset: 0x571 (i32.const 1) ) - ;; code offset: 0x541 + ;; code offset: 0x57a (local.set $112 - ;; code offset: 0x540 + ;; code offset: 0x579 (i32.add - ;; code offset: 0x53c + ;; code offset: 0x575 (local.get $110) - ;; code offset: 0x53e + ;; code offset: 0x577 (local.get $111) ) ) - ;; code offset: 0x547 + ;; code offset: 0x580 (i32.store $mimport$0 offset=32 - ;; code offset: 0x543 + ;; code offset: 0x57c (local.get $3) - ;; code offset: 0x545 + ;; code offset: 0x57e (local.get $112) ) - ;; code offset: 0x54a + ;; code offset: 0x584 (br $label$8) ) ) - ;; code offset: 0x551 + ;; code offset: 0x58b (local.set $113 - ;; code offset: 0x54f + ;; code offset: 0x589 (i32.const 0) ) - ;; code offset: 0x557 + ;; code offset: 0x591 (i32.store $mimport$0 offset=36 - ;; code offset: 0x553 + ;; code offset: 0x58d (local.get $3) - ;; code offset: 0x555 + ;; code offset: 0x58f (local.get $113) ) - ;; code offset: 0x55f + ;; code offset: 0x59b (local.set $114 - ;; code offset: 0x55c + ;; code offset: 0x597 (i32.load $mimport$0 offset=44 - ;; code offset: 0x55a + ;; code offset: 0x595 (local.get $3) ) ) - ;; code offset: 0x566 + ;; code offset: 0x5a3 (local.set $115 - ;; code offset: 0x563 + ;; code offset: 0x59f (i32.load $mimport$0 - ;; code offset: 0x561 + ;; code offset: 0x59d (local.get $114) ) ) - ;; code offset: 0x56c + ;; code offset: 0x5a9 (i32.store $mimport$0 offset=16 - ;; code offset: 0x568 + ;; code offset: 0x5a5 (local.get $3) - ;; code offset: 0x56a + ;; code offset: 0x5a7 (local.get $115) ) - ;; code offset: 0x56f + ;; code offset: 0x5ad (loop $label$9 - ;; code offset: 0x573 + ;; code offset: 0x5b1 (local.set $116 - ;; code offset: 0x571 + ;; code offset: 0x5af (i32.const 1) ) - ;; code offset: 0x579 + ;; code offset: 0x5b7 (i32.store $mimport$0 offset=32 - ;; code offset: 0x575 + ;; code offset: 0x5b3 (local.get $3) - ;; code offset: 0x577 + ;; code offset: 0x5b5 (local.get $116) ) - ;; code offset: 0x581 + ;; code offset: 0x5c1 (local.set $117 - ;; code offset: 0x57e + ;; code offset: 0x5bd (i32.load $mimport$0 offset=16 - ;; code offset: 0x57c + ;; code offset: 0x5bb (local.get $3) ) ) - ;; code offset: 0x585 + ;; code offset: 0x5c5 (local.set $118 - ;; code offset: 0x583 + ;; code offset: 0x5c3 (i32.const 1) ) - ;; code offset: 0x58c + ;; code offset: 0x5cc (local.set $119 - ;; code offset: 0x58b + ;; code offset: 0x5cb (i32.sub - ;; code offset: 0x587 + ;; code offset: 0x5c7 (local.get $117) - ;; code offset: 0x589 + ;; code offset: 0x5c9 (local.get $118) ) ) - ;; code offset: 0x592 + ;; code offset: 0x5d2 (i32.store $mimport$0 offset=20 - ;; code offset: 0x58e + ;; code offset: 0x5ce (local.get $3) - ;; code offset: 0x590 + ;; code offset: 0x5d0 (local.get $119) ) - ;; code offset: 0x595 + ;; code offset: 0x5d6 (block $label$10 - ;; code offset: 0x597 + ;; code offset: 0x5d8 (loop $label$11 - ;; code offset: 0x59e + ;; code offset: 0x5e0 (local.set $120 - ;; code offset: 0x59b + ;; code offset: 0x5dc (i32.load $mimport$0 offset=32 - ;; code offset: 0x599 + ;; code offset: 0x5da (local.get $3) ) ) - ;; code offset: 0x5a5 + ;; code offset: 0x5e8 (local.set $121 - ;; code offset: 0x5a2 + ;; code offset: 0x5e4 (i32.load $mimport$0 offset=20 - ;; code offset: 0x5a0 + ;; code offset: 0x5e2 (local.get $3) ) ) - ;; code offset: 0x5a9 + ;; code offset: 0x5ec (local.set $122 - ;; code offset: 0x5a7 + ;; code offset: 0x5ea (local.get $120) ) - ;; code offset: 0x5ad + ;; code offset: 0x5f0 (local.set $123 - ;; code offset: 0x5ab + ;; code offset: 0x5ee (local.get $121) ) - ;; code offset: 0x5b4 + ;; code offset: 0x5f7 (local.set $124 - ;; code offset: 0x5b3 + ;; code offset: 0x5f6 (i32.lt_s - ;; code offset: 0x5af + ;; code offset: 0x5f2 (local.get $122) - ;; code offset: 0x5b1 + ;; code offset: 0x5f4 (local.get $123) ) ) - ;; code offset: 0x5b8 + ;; code offset: 0x5fb (local.set $125 - ;; code offset: 0x5b6 + ;; code offset: 0x5f9 (i32.const 1) ) - ;; code offset: 0x5bf + ;; code offset: 0x602 (local.set $126 - ;; code offset: 0x5be + ;; code offset: 0x601 (i32.and - ;; code offset: 0x5ba + ;; code offset: 0x5fd (local.get $124) - ;; code offset: 0x5bc + ;; code offset: 0x5ff (local.get $125) ) ) - ;; code offset: 0x5c4 + ;; code offset: 0x607 (br_if $label$10 - ;; code offset: 0x5c3 + ;; code offset: 0x606 (i32.eqz - ;; code offset: 0x5c1 + ;; code offset: 0x604 (local.get $126) ) ) - ;; code offset: 0x5cb + ;; code offset: 0x60f (local.set $127 - ;; code offset: 0x5c8 + ;; code offset: 0x60b (i32.load $mimport$0 offset=44 - ;; code offset: 0x5c6 + ;; code offset: 0x609 (local.get $3) ) ) - ;; code offset: 0x5d2 + ;; code offset: 0x617 (local.set $128 - ;; code offset: 0x5cf + ;; code offset: 0x613 (i32.load $mimport$0 offset=32 - ;; code offset: 0x5cd + ;; code offset: 0x611 (local.get $3) ) ) - ;; code offset: 0x5d7 + ;; code offset: 0x61c (local.set $129 - ;; code offset: 0x5d5 + ;; code offset: 0x61a (i32.const 2) ) - ;; code offset: 0x5e1 + ;; code offset: 0x626 (local.set $130 - ;; code offset: 0x5e0 + ;; code offset: 0x625 (i32.shl - ;; code offset: 0x5da + ;; code offset: 0x61f (local.get $128) - ;; code offset: 0x5dd + ;; code offset: 0x622 (local.get $129) ) ) - ;; code offset: 0x5ea + ;; code offset: 0x62f (local.set $131 - ;; code offset: 0x5e9 + ;; code offset: 0x62e (i32.add - ;; code offset: 0x5e4 + ;; code offset: 0x629 (local.get $127) - ;; code offset: 0x5e6 + ;; code offset: 0x62b (local.get $130) ) ) - ;; code offset: 0x5f3 + ;; code offset: 0x639 (local.set $132 - ;; code offset: 0x5f0 + ;; code offset: 0x635 (i32.load $mimport$0 - ;; code offset: 0x5ed + ;; code offset: 0x632 (local.get $131) ) ) - ;; code offset: 0x5fb + ;; code offset: 0x641 (i32.store $mimport$0 offset=12 - ;; code offset: 0x5f6 + ;; code offset: 0x63c (local.get $3) - ;; code offset: 0x5f8 + ;; code offset: 0x63e (local.get $132) ) - ;; code offset: 0x603 + ;; code offset: 0x64b (local.set $133 - ;; code offset: 0x600 + ;; code offset: 0x647 (i32.load $mimport$0 offset=44 - ;; code offset: 0x5fe + ;; code offset: 0x645 (local.get $3) ) ) - ;; code offset: 0x60b + ;; code offset: 0x654 (local.set $134 - ;; code offset: 0x608 + ;; code offset: 0x650 (i32.load $mimport$0 offset=20 - ;; code offset: 0x606 + ;; code offset: 0x64e (local.get $3) ) ) - ;; code offset: 0x610 + ;; code offset: 0x659 (local.set $135 - ;; code offset: 0x60e + ;; code offset: 0x657 (i32.const 2) ) - ;; code offset: 0x61a + ;; code offset: 0x663 (local.set $136 - ;; code offset: 0x619 + ;; code offset: 0x662 (i32.shl - ;; code offset: 0x613 + ;; code offset: 0x65c (local.get $134) - ;; code offset: 0x616 + ;; code offset: 0x65f (local.get $135) ) ) - ;; code offset: 0x624 + ;; code offset: 0x66d (local.set $137 - ;; code offset: 0x623 + ;; code offset: 0x66c (i32.add - ;; code offset: 0x61d + ;; code offset: 0x666 (local.get $133) - ;; code offset: 0x620 + ;; code offset: 0x669 (local.get $136) ) ) - ;; code offset: 0x62d + ;; code offset: 0x677 (local.set $138 - ;; code offset: 0x62a + ;; code offset: 0x673 (i32.load $mimport$0 - ;; code offset: 0x627 + ;; code offset: 0x670 (local.get $137) ) ) - ;; code offset: 0x635 + ;; code offset: 0x680 (local.set $139 - ;; code offset: 0x632 + ;; code offset: 0x67c (i32.load $mimport$0 offset=44 - ;; code offset: 0x630 + ;; code offset: 0x67a (local.get $3) ) ) - ;; code offset: 0x63d + ;; code offset: 0x689 (local.set $140 - ;; code offset: 0x63a + ;; code offset: 0x685 (i32.load $mimport$0 offset=32 - ;; code offset: 0x638 + ;; code offset: 0x683 (local.get $3) ) ) - ;; code offset: 0x642 + ;; code offset: 0x68e (local.set $141 - ;; code offset: 0x640 + ;; code offset: 0x68c (i32.const 2) ) - ;; code offset: 0x64c + ;; code offset: 0x698 (local.set $142 - ;; code offset: 0x64b + ;; code offset: 0x697 (i32.shl - ;; code offset: 0x645 + ;; code offset: 0x691 (local.get $140) - ;; code offset: 0x648 + ;; code offset: 0x694 (local.get $141) ) ) - ;; code offset: 0x656 + ;; code offset: 0x6a2 (local.set $143 - ;; code offset: 0x655 + ;; code offset: 0x6a1 (i32.add - ;; code offset: 0x64f + ;; code offset: 0x69b (local.get $139) - ;; code offset: 0x652 + ;; code offset: 0x69e (local.get $142) ) ) - ;; code offset: 0x65f + ;; code offset: 0x6ab (i32.store $mimport$0 - ;; code offset: 0x659 + ;; code offset: 0x6a5 (local.get $143) - ;; code offset: 0x65c + ;; code offset: 0x6a8 (local.get $138) ) - ;; code offset: 0x667 + ;; code offset: 0x6b5 (local.set $144 - ;; code offset: 0x664 + ;; code offset: 0x6b1 (i32.load $mimport$0 offset=12 - ;; code offset: 0x662 + ;; code offset: 0x6af (local.get $3) ) ) - ;; code offset: 0x66f + ;; code offset: 0x6be (local.set $145 - ;; code offset: 0x66c + ;; code offset: 0x6ba (i32.load $mimport$0 offset=44 - ;; code offset: 0x66a + ;; code offset: 0x6b8 (local.get $3) ) ) - ;; code offset: 0x677 + ;; code offset: 0x6c7 (local.set $146 - ;; code offset: 0x674 + ;; code offset: 0x6c3 (i32.load $mimport$0 offset=20 - ;; code offset: 0x672 + ;; code offset: 0x6c1 (local.get $3) ) ) - ;; code offset: 0x67c + ;; code offset: 0x6cc (local.set $147 - ;; code offset: 0x67a + ;; code offset: 0x6ca (i32.const 2) ) - ;; code offset: 0x686 + ;; code offset: 0x6d6 (local.set $148 - ;; code offset: 0x685 + ;; code offset: 0x6d5 (i32.shl - ;; code offset: 0x67f + ;; code offset: 0x6cf (local.get $146) - ;; code offset: 0x682 + ;; code offset: 0x6d2 (local.get $147) ) ) - ;; code offset: 0x690 + ;; code offset: 0x6e0 (local.set $149 - ;; code offset: 0x68f + ;; code offset: 0x6df (i32.add - ;; code offset: 0x689 + ;; code offset: 0x6d9 (local.get $145) - ;; code offset: 0x68c + ;; code offset: 0x6dc (local.get $148) ) ) - ;; code offset: 0x699 + ;; code offset: 0x6e9 (i32.store $mimport$0 - ;; code offset: 0x693 + ;; code offset: 0x6e3 (local.get $149) - ;; code offset: 0x696 + ;; code offset: 0x6e6 (local.get $144) ) - ;; code offset: 0x6a1 + ;; code offset: 0x6f3 (local.set $150 - ;; code offset: 0x69e + ;; code offset: 0x6ef (i32.load $mimport$0 offset=32 - ;; code offset: 0x69c + ;; code offset: 0x6ed (local.get $3) ) ) - ;; code offset: 0x6a6 + ;; code offset: 0x6f8 (local.set $151 - ;; code offset: 0x6a4 + ;; code offset: 0x6f6 (i32.const 1) ) - ;; code offset: 0x6b0 + ;; code offset: 0x702 (local.set $152 - ;; code offset: 0x6af + ;; code offset: 0x701 (i32.add - ;; code offset: 0x6a9 + ;; code offset: 0x6fb (local.get $150) - ;; code offset: 0x6ac + ;; code offset: 0x6fe (local.get $151) ) ) - ;; code offset: 0x6b8 + ;; code offset: 0x70a (i32.store $mimport$0 offset=32 - ;; code offset: 0x6b3 + ;; code offset: 0x705 (local.get $3) - ;; code offset: 0x6b5 + ;; code offset: 0x707 (local.get $152) ) - ;; code offset: 0x6c0 + ;; code offset: 0x714 (local.set $153 - ;; code offset: 0x6bd + ;; code offset: 0x710 (i32.load $mimport$0 offset=20 - ;; code offset: 0x6bb + ;; code offset: 0x70e (local.get $3) ) ) - ;; code offset: 0x6c5 + ;; code offset: 0x719 (local.set $154 - ;; code offset: 0x6c3 + ;; code offset: 0x717 (i32.const -1) ) - ;; code offset: 0x6cf + ;; code offset: 0x723 (local.set $155 - ;; code offset: 0x6ce + ;; code offset: 0x722 (i32.add - ;; code offset: 0x6c8 + ;; code offset: 0x71c (local.get $153) - ;; code offset: 0x6cb + ;; code offset: 0x71f (local.get $154) ) ) - ;; code offset: 0x6d7 + ;; code offset: 0x72b (i32.store $mimport$0 offset=20 - ;; code offset: 0x6d2 + ;; code offset: 0x726 (local.get $3) - ;; code offset: 0x6d4 + ;; code offset: 0x728 (local.get $155) ) - ;; code offset: 0x6da + ;; code offset: 0x72f (br $label$11) ) ) - ;; code offset: 0x6e4 + ;; code offset: 0x73a (local.set $156 - ;; code offset: 0x6e1 + ;; code offset: 0x736 (i32.load $mimport$0 offset=36 - ;; code offset: 0x6df + ;; code offset: 0x734 (local.get $3) ) ) - ;; code offset: 0x6e9 + ;; code offset: 0x73f (local.set $157 - ;; code offset: 0x6e7 + ;; code offset: 0x73d (i32.const 1) ) - ;; code offset: 0x6f3 + ;; code offset: 0x749 (local.set $158 - ;; code offset: 0x6f2 + ;; code offset: 0x748 (i32.add - ;; code offset: 0x6ec + ;; code offset: 0x742 (local.get $156) - ;; code offset: 0x6ef + ;; code offset: 0x745 (local.get $157) ) ) - ;; code offset: 0x6fb + ;; code offset: 0x751 (i32.store $mimport$0 offset=36 - ;; code offset: 0x6f6 + ;; code offset: 0x74c (local.get $3) - ;; code offset: 0x6f8 + ;; code offset: 0x74e (local.get $158) ) - ;; code offset: 0x703 + ;; code offset: 0x75b (local.set $159 - ;; code offset: 0x700 + ;; code offset: 0x757 (i32.load $mimport$0 offset=44 - ;; code offset: 0x6fe + ;; code offset: 0x755 (local.get $3) ) ) - ;; code offset: 0x70b + ;; code offset: 0x764 (local.set $160 - ;; code offset: 0x708 + ;; code offset: 0x760 (i32.load $mimport$0 offset=16 - ;; code offset: 0x706 + ;; code offset: 0x75e (local.get $3) ) ) - ;; code offset: 0x710 + ;; code offset: 0x769 (local.set $161 - ;; code offset: 0x70e + ;; code offset: 0x767 (i32.const 2) ) - ;; code offset: 0x71a + ;; code offset: 0x773 (local.set $162 - ;; code offset: 0x719 + ;; code offset: 0x772 (i32.shl - ;; code offset: 0x713 + ;; code offset: 0x76c (local.get $160) - ;; code offset: 0x716 + ;; code offset: 0x76f (local.get $161) ) ) - ;; code offset: 0x724 + ;; code offset: 0x77d (local.set $163 - ;; code offset: 0x723 + ;; code offset: 0x77c (i32.add - ;; code offset: 0x71d + ;; code offset: 0x776 (local.get $159) - ;; code offset: 0x720 + ;; code offset: 0x779 (local.get $162) ) ) - ;; code offset: 0x72d + ;; code offset: 0x787 (local.set $164 - ;; code offset: 0x72a + ;; code offset: 0x783 (i32.load $mimport$0 - ;; code offset: 0x727 + ;; code offset: 0x780 (local.get $163) ) ) - ;; code offset: 0x735 + ;; code offset: 0x78f (i32.store $mimport$0 offset=12 - ;; code offset: 0x730 + ;; code offset: 0x78a (local.get $3) - ;; code offset: 0x732 + ;; code offset: 0x78c (local.get $164) ) - ;; code offset: 0x73d + ;; code offset: 0x799 (local.set $165 - ;; code offset: 0x73a + ;; code offset: 0x795 (i32.load $mimport$0 offset=16 - ;; code offset: 0x738 + ;; code offset: 0x793 (local.get $3) ) ) - ;; code offset: 0x745 + ;; code offset: 0x7a2 (local.set $166 - ;; code offset: 0x742 + ;; code offset: 0x79e (i32.load $mimport$0 offset=44 - ;; code offset: 0x740 + ;; code offset: 0x79c (local.get $3) ) ) - ;; code offset: 0x74d + ;; code offset: 0x7ab (local.set $167 - ;; code offset: 0x74a + ;; code offset: 0x7a7 (i32.load $mimport$0 offset=16 - ;; code offset: 0x748 + ;; code offset: 0x7a5 (local.get $3) ) ) - ;; code offset: 0x752 + ;; code offset: 0x7b0 (local.set $168 - ;; code offset: 0x750 + ;; code offset: 0x7ae (i32.const 2) ) - ;; code offset: 0x75c + ;; code offset: 0x7ba (local.set $169 - ;; code offset: 0x75b + ;; code offset: 0x7b9 (i32.shl - ;; code offset: 0x755 + ;; code offset: 0x7b3 (local.get $167) - ;; code offset: 0x758 + ;; code offset: 0x7b6 (local.get $168) ) ) - ;; code offset: 0x766 + ;; code offset: 0x7c4 (local.set $170 - ;; code offset: 0x765 + ;; code offset: 0x7c3 (i32.add - ;; code offset: 0x75f + ;; code offset: 0x7bd (local.get $166) - ;; code offset: 0x762 + ;; code offset: 0x7c0 (local.get $169) ) ) - ;; code offset: 0x76f + ;; code offset: 0x7cd (i32.store $mimport$0 - ;; code offset: 0x769 + ;; code offset: 0x7c7 (local.get $170) - ;; code offset: 0x76c + ;; code offset: 0x7ca (local.get $165) ) - ;; code offset: 0x777 + ;; code offset: 0x7d7 (local.set $171 - ;; code offset: 0x774 + ;; code offset: 0x7d3 (i32.load $mimport$0 offset=12 - ;; code offset: 0x772 + ;; code offset: 0x7d1 (local.get $3) ) ) - ;; code offset: 0x77f + ;; code offset: 0x7df (i32.store $mimport$0 offset=16 - ;; code offset: 0x77a + ;; code offset: 0x7da (local.get $3) - ;; code offset: 0x77c + ;; code offset: 0x7dc (local.get $171) ) - ;; code offset: 0x787 + ;; code offset: 0x7e9 (local.set $172 - ;; code offset: 0x784 + ;; code offset: 0x7e5 (i32.load $mimport$0 offset=16 - ;; code offset: 0x782 + ;; code offset: 0x7e3 (local.get $3) ) ) - ;; code offset: 0x78d + ;; code offset: 0x7ef (br_if $label$9 - ;; code offset: 0x78a + ;; code offset: 0x7ec (local.get $172) ) ) - ;; code offset: 0x795 + ;; code offset: 0x7f8 (local.set $173 - ;; code offset: 0x792 + ;; code offset: 0x7f4 (i32.load $mimport$0 offset=40 - ;; code offset: 0x790 + ;; code offset: 0x7f2 (local.get $3) ) ) - ;; code offset: 0x79d + ;; code offset: 0x801 (local.set $174 - ;; code offset: 0x79a + ;; code offset: 0x7fd (i32.load $mimport$0 offset=36 - ;; code offset: 0x798 + ;; code offset: 0x7fb (local.get $3) ) ) - ;; code offset: 0x7a3 + ;; code offset: 0x807 (local.set $175 - ;; code offset: 0x7a0 + ;; code offset: 0x804 (local.get $173) ) - ;; code offset: 0x7a9 + ;; code offset: 0x80d (local.set $176 - ;; code offset: 0x7a6 + ;; code offset: 0x80a (local.get $174) ) - ;; code offset: 0x7b3 + ;; code offset: 0x817 (local.set $177 - ;; code offset: 0x7b2 + ;; code offset: 0x816 (i32.lt_s - ;; code offset: 0x7ac + ;; code offset: 0x810 (local.get $175) - ;; code offset: 0x7af + ;; code offset: 0x813 (local.get $176) ) ) - ;; code offset: 0x7b8 + ;; code offset: 0x81c (local.set $178 - ;; code offset: 0x7b6 + ;; code offset: 0x81a (i32.const 1) ) - ;; code offset: 0x7c2 + ;; code offset: 0x826 (local.set $179 - ;; code offset: 0x7c1 + ;; code offset: 0x825 (i32.and - ;; code offset: 0x7bb + ;; code offset: 0x81f (local.get $177) - ;; code offset: 0x7be + ;; code offset: 0x822 (local.get $178) ) ) - ;; code offset: 0x7c5 + ;; code offset: 0x829 (block $label$12 - ;; code offset: 0x7cb + ;; code offset: 0x82f (br_if $label$12 - ;; code offset: 0x7ca + ;; code offset: 0x82e (i32.eqz - ;; code offset: 0x7c7 + ;; code offset: 0x82b (local.get $179) ) ) - ;; code offset: 0x7d2 + ;; code offset: 0x837 (local.set $180 - ;; code offset: 0x7cf + ;; code offset: 0x833 (i32.load $mimport$0 offset=36 - ;; code offset: 0x7cd + ;; code offset: 0x831 (local.get $3) ) ) - ;; code offset: 0x7da + ;; code offset: 0x83f (i32.store $mimport$0 offset=40 - ;; code offset: 0x7d5 + ;; code offset: 0x83a (local.get $3) - ;; code offset: 0x7d7 + ;; code offset: 0x83c (local.get $180) ) ) ) - ;; code offset: 0x7df + ;; code offset: 0x845 (loop $label$13 - ;; code offset: 0x7e6 + ;; code offset: 0x84d (local.set $181 - ;; code offset: 0x7e3 + ;; code offset: 0x849 (i32.load $mimport$0 offset=24 - ;; code offset: 0x7e1 + ;; code offset: 0x847 (local.get $3) ) ) - ;; code offset: 0x7ee + ;; code offset: 0x856 (local.set $182 - ;; code offset: 0x7eb + ;; code offset: 0x852 (i32.load $mimport$0 offset=28 - ;; code offset: 0x7e9 + ;; code offset: 0x850 (local.get $3) ) ) - ;; code offset: 0x7f3 + ;; code offset: 0x85b (local.set $183 - ;; code offset: 0x7f1 + ;; code offset: 0x859 (i32.const 1) ) - ;; code offset: 0x7fd + ;; code offset: 0x865 (local.set $184 - ;; code offset: 0x7fc + ;; code offset: 0x864 (i32.sub - ;; code offset: 0x7f6 + ;; code offset: 0x85e (local.get $182) - ;; code offset: 0x7f9 + ;; code offset: 0x861 (local.get $183) ) ) - ;; code offset: 0x803 + ;; code offset: 0x86b (local.set $185 - ;; code offset: 0x800 + ;; code offset: 0x868 (local.get $181) ) - ;; code offset: 0x809 + ;; code offset: 0x871 (local.set $186 - ;; code offset: 0x806 + ;; code offset: 0x86e (local.get $184) ) - ;; code offset: 0x813 + ;; code offset: 0x87b (local.set $187 - ;; code offset: 0x812 + ;; code offset: 0x87a (i32.ge_s - ;; code offset: 0x80c + ;; code offset: 0x874 (local.get $185) - ;; code offset: 0x80f + ;; code offset: 0x877 (local.get $186) ) ) - ;; code offset: 0x818 + ;; code offset: 0x880 (local.set $188 - ;; code offset: 0x816 + ;; code offset: 0x87e (i32.const 1) ) - ;; code offset: 0x822 + ;; code offset: 0x88a (local.set $189 - ;; code offset: 0x821 + ;; code offset: 0x889 (i32.and - ;; code offset: 0x81b + ;; code offset: 0x883 (local.get $187) - ;; code offset: 0x81e + ;; code offset: 0x886 (local.get $188) ) ) - ;; code offset: 0x825 + ;; code offset: 0x88d (block $label$14 - ;; code offset: 0x82b + ;; code offset: 0x893 (br_if $label$14 - ;; code offset: 0x82a + ;; code offset: 0x892 (i32.eqz - ;; code offset: 0x827 + ;; code offset: 0x88f (local.get $189) ) ) - ;; code offset: 0x832 + ;; code offset: 0x89b (local.set $190 - ;; code offset: 0x82f + ;; code offset: 0x897 (i32.load $mimport$0 offset=52 - ;; code offset: 0x82d + ;; code offset: 0x895 (local.get $3) ) ) - ;; code offset: 0x838 + ;; code offset: 0x8a1 (call $free - ;; code offset: 0x835 + ;; code offset: 0x89e (local.get $190) ) - ;; code offset: 0x83f + ;; code offset: 0x8a9 (local.set $191 - ;; code offset: 0x83c + ;; code offset: 0x8a5 (i32.load $mimport$0 offset=44 - ;; code offset: 0x83a + ;; code offset: 0x8a3 (local.get $3) ) ) - ;; code offset: 0x845 + ;; code offset: 0x8af (call $free - ;; code offset: 0x842 + ;; code offset: 0x8ac (local.get $191) ) - ;; code offset: 0x84c + ;; code offset: 0x8b7 (local.set $192 - ;; code offset: 0x849 + ;; code offset: 0x8b3 (i32.load $mimport$0 offset=48 - ;; code offset: 0x847 + ;; code offset: 0x8b1 (local.get $3) ) ) - ;; code offset: 0x852 + ;; code offset: 0x8bd (call $free - ;; code offset: 0x84f + ;; code offset: 0x8ba (local.get $192) ) - ;; code offset: 0x859 + ;; code offset: 0x8c5 (local.set $193 - ;; code offset: 0x856 + ;; code offset: 0x8c1 (i32.load $mimport$0 offset=40 - ;; code offset: 0x854 + ;; code offset: 0x8bf (local.get $3) ) ) - ;; code offset: 0x85f + ;; code offset: 0x8cb (local.set $194 - ;; code offset: 0x85c + ;; code offset: 0x8c8 (i32.const 64) ) - ;; code offset: 0x868 + ;; code offset: 0x8d4 (local.set $195 - ;; code offset: 0x867 + ;; code offset: 0x8d3 (i32.add - ;; code offset: 0x862 + ;; code offset: 0x8ce (local.get $3) - ;; code offset: 0x864 + ;; code offset: 0x8d0 (local.get $194) ) ) - ;; code offset: 0x86e + ;; code offset: 0x8da (global.set $global$0 - ;; code offset: 0x86b + ;; code offset: 0x8d7 (local.get $195) ) - ;; code offset: 0x873 + ;; code offset: 0x8df (return - ;; code offset: 0x870 + ;; code offset: 0x8dc (local.get $193) ) ) - ;; code offset: 0x877 + ;; code offset: 0x8e3 (local.set $196 - ;; code offset: 0x875 + ;; code offset: 0x8e1 (i32.const 0) ) - ;; code offset: 0x87f + ;; code offset: 0x8ec (local.set $197 - ;; code offset: 0x87c + ;; code offset: 0x8e8 (i32.load $mimport$0 offset=52 - ;; code offset: 0x87a + ;; code offset: 0x8e6 (local.get $3) ) ) - ;; code offset: 0x888 + ;; code offset: 0x8f6 (local.set $198 - ;; code offset: 0x885 + ;; code offset: 0x8f2 (i32.load $mimport$0 - ;; code offset: 0x882 + ;; code offset: 0x8ef (local.get $197) ) ) - ;; code offset: 0x890 + ;; code offset: 0x8fe (i32.store $mimport$0 offset=8 - ;; code offset: 0x88b + ;; code offset: 0x8f9 (local.get $3) - ;; code offset: 0x88d + ;; code offset: 0x8fb (local.get $198) ) - ;; code offset: 0x898 + ;; code offset: 0x907 (i32.store $mimport$0 offset=32 - ;; code offset: 0x893 + ;; code offset: 0x902 (local.get $3) - ;; code offset: 0x895 + ;; code offset: 0x904 (local.get $196) ) - ;; code offset: 0x89b + ;; code offset: 0x90b (block $label$15 - ;; code offset: 0x89d + ;; code offset: 0x90d (loop $label$16 - ;; code offset: 0x8a4 + ;; code offset: 0x915 (local.set $199 - ;; code offset: 0x8a1 + ;; code offset: 0x911 (i32.load $mimport$0 offset=32 - ;; code offset: 0x89f + ;; code offset: 0x90f (local.get $3) ) ) - ;; code offset: 0x8ac + ;; code offset: 0x91e (local.set $200 - ;; code offset: 0x8a9 + ;; code offset: 0x91a (i32.load $mimport$0 offset=24 - ;; code offset: 0x8a7 + ;; code offset: 0x918 (local.get $3) ) ) - ;; code offset: 0x8b2 + ;; code offset: 0x924 (local.set $201 - ;; code offset: 0x8af + ;; code offset: 0x921 (local.get $199) ) - ;; code offset: 0x8b8 + ;; code offset: 0x92a (local.set $202 - ;; code offset: 0x8b5 + ;; code offset: 0x927 (local.get $200) ) - ;; code offset: 0x8c2 + ;; code offset: 0x934 (local.set $203 - ;; code offset: 0x8c1 + ;; code offset: 0x933 (i32.lt_s - ;; code offset: 0x8bb + ;; code offset: 0x92d (local.get $201) - ;; code offset: 0x8be + ;; code offset: 0x930 (local.get $202) ) ) - ;; code offset: 0x8c7 + ;; code offset: 0x939 (local.set $204 - ;; code offset: 0x8c5 + ;; code offset: 0x937 (i32.const 1) ) - ;; code offset: 0x8d1 + ;; code offset: 0x943 (local.set $205 - ;; code offset: 0x8d0 + ;; code offset: 0x942 (i32.and - ;; code offset: 0x8ca + ;; code offset: 0x93c (local.get $203) - ;; code offset: 0x8cd + ;; code offset: 0x93f (local.get $204) ) ) - ;; code offset: 0x8d8 + ;; code offset: 0x94a (br_if $label$15 - ;; code offset: 0x8d7 + ;; code offset: 0x949 (i32.eqz - ;; code offset: 0x8d4 + ;; code offset: 0x946 (local.get $205) ) ) - ;; code offset: 0x8df + ;; code offset: 0x952 (local.set $206 - ;; code offset: 0x8dc + ;; code offset: 0x94e (i32.load $mimport$0 offset=52 - ;; code offset: 0x8da + ;; code offset: 0x94c (local.get $3) ) ) - ;; code offset: 0x8e7 + ;; code offset: 0x95b (local.set $207 - ;; code offset: 0x8e4 + ;; code offset: 0x957 (i32.load $mimport$0 offset=32 - ;; code offset: 0x8e2 + ;; code offset: 0x955 (local.get $3) ) ) - ;; code offset: 0x8ec + ;; code offset: 0x960 (local.set $208 - ;; code offset: 0x8ea + ;; code offset: 0x95e (i32.const 1) ) - ;; code offset: 0x8f6 + ;; code offset: 0x96a (local.set $209 - ;; code offset: 0x8f5 + ;; code offset: 0x969 (i32.add - ;; code offset: 0x8ef + ;; code offset: 0x963 (local.get $207) - ;; code offset: 0x8f2 + ;; code offset: 0x966 (local.get $208) ) ) - ;; code offset: 0x8fb + ;; code offset: 0x96f (local.set $210 - ;; code offset: 0x8f9 + ;; code offset: 0x96d (i32.const 2) ) - ;; code offset: 0x905 + ;; code offset: 0x979 (local.set $211 - ;; code offset: 0x904 + ;; code offset: 0x978 (i32.shl - ;; code offset: 0x8fe + ;; code offset: 0x972 (local.get $209) - ;; code offset: 0x901 + ;; code offset: 0x975 (local.get $210) ) ) - ;; code offset: 0x90f + ;; code offset: 0x983 (local.set $212 - ;; code offset: 0x90e + ;; code offset: 0x982 (i32.add - ;; code offset: 0x908 + ;; code offset: 0x97c (local.get $206) - ;; code offset: 0x90b + ;; code offset: 0x97f (local.get $211) ) ) - ;; code offset: 0x918 + ;; code offset: 0x98d (local.set $213 - ;; code offset: 0x915 + ;; code offset: 0x989 (i32.load $mimport$0 - ;; code offset: 0x912 + ;; code offset: 0x986 (local.get $212) ) ) - ;; code offset: 0x920 + ;; code offset: 0x996 (local.set $214 - ;; code offset: 0x91d + ;; code offset: 0x992 (i32.load $mimport$0 offset=52 - ;; code offset: 0x91b + ;; code offset: 0x990 (local.get $3) ) ) - ;; code offset: 0x928 + ;; code offset: 0x99f (local.set $215 - ;; code offset: 0x925 + ;; code offset: 0x99b (i32.load $mimport$0 offset=32 - ;; code offset: 0x923 + ;; code offset: 0x999 (local.get $3) ) ) - ;; code offset: 0x92d + ;; code offset: 0x9a4 (local.set $216 - ;; code offset: 0x92b + ;; code offset: 0x9a2 (i32.const 2) ) - ;; code offset: 0x937 + ;; code offset: 0x9ae (local.set $217 - ;; code offset: 0x936 + ;; code offset: 0x9ad (i32.shl - ;; code offset: 0x930 + ;; code offset: 0x9a7 (local.get $215) - ;; code offset: 0x933 + ;; code offset: 0x9aa (local.get $216) ) ) - ;; code offset: 0x941 + ;; code offset: 0x9b8 (local.set $218 - ;; code offset: 0x940 + ;; code offset: 0x9b7 (i32.add - ;; code offset: 0x93a + ;; code offset: 0x9b1 (local.get $214) - ;; code offset: 0x93d + ;; code offset: 0x9b4 (local.get $217) ) ) - ;; code offset: 0x94a + ;; code offset: 0x9c1 (i32.store $mimport$0 - ;; code offset: 0x944 + ;; code offset: 0x9bb (local.get $218) - ;; code offset: 0x947 + ;; code offset: 0x9be (local.get $213) ) - ;; code offset: 0x952 + ;; code offset: 0x9cb (local.set $219 - ;; code offset: 0x94f + ;; code offset: 0x9c7 (i32.load $mimport$0 offset=32 - ;; code offset: 0x94d + ;; code offset: 0x9c5 (local.get $3) ) ) - ;; code offset: 0x957 + ;; code offset: 0x9d0 (local.set $220 - ;; code offset: 0x955 + ;; code offset: 0x9ce (i32.const 1) ) - ;; code offset: 0x961 + ;; code offset: 0x9da (local.set $221 - ;; code offset: 0x960 + ;; code offset: 0x9d9 (i32.add - ;; code offset: 0x95a + ;; code offset: 0x9d3 (local.get $219) - ;; code offset: 0x95d + ;; code offset: 0x9d6 (local.get $220) ) ) - ;; code offset: 0x969 + ;; code offset: 0x9e2 (i32.store $mimport$0 offset=32 - ;; code offset: 0x964 + ;; code offset: 0x9dd (local.get $3) - ;; code offset: 0x966 + ;; code offset: 0x9df (local.get $221) ) - ;; code offset: 0x96c + ;; code offset: 0x9e6 (br $label$16) ) ) - ;; code offset: 0x973 + ;; code offset: 0x9ed (local.set $222 - ;; code offset: 0x971 + ;; code offset: 0x9eb (i32.const 0) ) - ;; code offset: 0x97b + ;; code offset: 0x9f6 (local.set $223 - ;; code offset: 0x978 + ;; code offset: 0x9f2 (i32.load $mimport$0 offset=8 - ;; code offset: 0x976 + ;; code offset: 0x9f0 (local.get $3) ) ) - ;; code offset: 0x983 + ;; code offset: 0x9ff (local.set $224 - ;; code offset: 0x980 + ;; code offset: 0x9fb (i32.load $mimport$0 offset=52 - ;; code offset: 0x97e + ;; code offset: 0x9f9 (local.get $3) ) ) - ;; code offset: 0x98b + ;; code offset: 0xa08 (local.set $225 - ;; code offset: 0x988 + ;; code offset: 0xa04 (i32.load $mimport$0 offset=32 - ;; code offset: 0x986 + ;; code offset: 0xa02 (local.get $3) ) ) - ;; code offset: 0x990 + ;; code offset: 0xa0d (local.set $226 - ;; code offset: 0x98e + ;; code offset: 0xa0b (i32.const 2) ) - ;; code offset: 0x99a + ;; code offset: 0xa17 (local.set $227 - ;; code offset: 0x999 + ;; code offset: 0xa16 (i32.shl - ;; code offset: 0x993 + ;; code offset: 0xa10 (local.get $225) - ;; code offset: 0x996 + ;; code offset: 0xa13 (local.get $226) ) ) - ;; code offset: 0x9a4 + ;; code offset: 0xa21 (local.set $228 - ;; code offset: 0x9a3 + ;; code offset: 0xa20 (i32.add - ;; code offset: 0x99d + ;; code offset: 0xa1a (local.get $224) - ;; code offset: 0x9a0 + ;; code offset: 0xa1d (local.get $227) ) ) - ;; code offset: 0x9ad + ;; code offset: 0xa2a (i32.store $mimport$0 - ;; code offset: 0x9a7 + ;; code offset: 0xa24 (local.get $228) - ;; code offset: 0x9aa + ;; code offset: 0xa27 (local.get $223) ) - ;; code offset: 0x9b5 + ;; code offset: 0xa34 (local.set $229 - ;; code offset: 0x9b2 + ;; code offset: 0xa30 (i32.load $mimport$0 offset=48 - ;; code offset: 0x9b0 + ;; code offset: 0xa2e (local.get $3) ) ) - ;; code offset: 0x9bd + ;; code offset: 0xa3d (local.set $230 - ;; code offset: 0x9ba + ;; code offset: 0xa39 (i32.load $mimport$0 offset=24 - ;; code offset: 0x9b8 + ;; code offset: 0xa37 (local.get $3) ) ) - ;; code offset: 0x9c2 + ;; code offset: 0xa42 (local.set $231 - ;; code offset: 0x9c0 + ;; code offset: 0xa40 (i32.const 2) ) - ;; code offset: 0x9cc + ;; code offset: 0xa4c (local.set $232 - ;; code offset: 0x9cb + ;; code offset: 0xa4b (i32.shl - ;; code offset: 0x9c5 + ;; code offset: 0xa45 (local.get $230) - ;; code offset: 0x9c8 + ;; code offset: 0xa48 (local.get $231) ) ) - ;; code offset: 0x9d6 + ;; code offset: 0xa56 (local.set $233 - ;; code offset: 0x9d5 + ;; code offset: 0xa55 (i32.add - ;; code offset: 0x9cf + ;; code offset: 0xa4f (local.get $229) - ;; code offset: 0x9d2 + ;; code offset: 0xa52 (local.get $232) ) ) - ;; code offset: 0x9df + ;; code offset: 0xa60 (local.set $234 - ;; code offset: 0x9dc + ;; code offset: 0xa5c (i32.load $mimport$0 - ;; code offset: 0x9d9 + ;; code offset: 0xa59 (local.get $233) ) ) - ;; code offset: 0x9e4 + ;; code offset: 0xa65 (local.set $235 - ;; code offset: 0x9e2 + ;; code offset: 0xa63 (i32.const -1) ) - ;; code offset: 0x9ee + ;; code offset: 0xa6f (local.set $236 - ;; code offset: 0x9ed + ;; code offset: 0xa6e (i32.add - ;; code offset: 0x9e7 + ;; code offset: 0xa68 (local.get $234) - ;; code offset: 0x9ea + ;; code offset: 0xa6b (local.get $235) ) ) - ;; code offset: 0x9f7 + ;; code offset: 0xa78 (i32.store $mimport$0 - ;; code offset: 0x9f1 + ;; code offset: 0xa72 (local.get $233) - ;; code offset: 0x9f4 + ;; code offset: 0xa75 (local.get $236) ) - ;; code offset: 0x9fd + ;; code offset: 0xa7f (local.set $237 - ;; code offset: 0x9fa + ;; code offset: 0xa7c (local.get $236) ) - ;; code offset: 0xa03 + ;; code offset: 0xa85 (local.set $238 - ;; code offset: 0xa00 + ;; code offset: 0xa82 (local.get $222) ) - ;; code offset: 0xa0d + ;; code offset: 0xa8f (local.set $239 - ;; code offset: 0xa0c + ;; code offset: 0xa8e (i32.gt_s - ;; code offset: 0xa06 + ;; code offset: 0xa88 (local.get $237) - ;; code offset: 0xa09 + ;; code offset: 0xa8b (local.get $238) ) ) - ;; code offset: 0xa12 + ;; code offset: 0xa94 (local.set $240 - ;; code offset: 0xa10 + ;; code offset: 0xa92 (i32.const 1) ) - ;; code offset: 0xa1c + ;; code offset: 0xa9e (local.set $241 - ;; code offset: 0xa1b + ;; code offset: 0xa9d (i32.and - ;; code offset: 0xa15 + ;; code offset: 0xa97 (local.get $239) - ;; code offset: 0xa18 + ;; code offset: 0xa9a (local.get $240) ) ) - ;; code offset: 0xa1f + ;; code offset: 0xaa1 (block $label$17 (block $label$18 - ;; code offset: 0xa27 + ;; code offset: 0xaa9 (br_if $label$18 - ;; code offset: 0xa26 + ;; code offset: 0xaa8 (i32.eqz - ;; code offset: 0xa23 + ;; code offset: 0xaa5 (local.get $241) ) ) - ;; code offset: 0xa29 + ;; code offset: 0xaab (br $label$17) ) - ;; code offset: 0xa31 + ;; code offset: 0xab4 (local.set $242 - ;; code offset: 0xa2e + ;; code offset: 0xab0 (i32.load $mimport$0 offset=24 - ;; code offset: 0xa2c + ;; code offset: 0xaae (local.get $3) ) ) - ;; code offset: 0xa36 + ;; code offset: 0xab9 (local.set $243 - ;; code offset: 0xa34 + ;; code offset: 0xab7 (i32.const 1) ) - ;; code offset: 0xa40 + ;; code offset: 0xac3 (local.set $244 - ;; code offset: 0xa3f + ;; code offset: 0xac2 (i32.add - ;; code offset: 0xa39 + ;; code offset: 0xabc (local.get $242) - ;; code offset: 0xa3c + ;; code offset: 0xabf (local.get $243) ) ) - ;; code offset: 0xa48 + ;; code offset: 0xacb (i32.store $mimport$0 offset=24 - ;; code offset: 0xa43 + ;; code offset: 0xac6 (local.get $3) - ;; code offset: 0xa45 + ;; code offset: 0xac8 (local.get $244) ) - ;; code offset: 0xa4b + ;; code offset: 0xacf (br $label$13) ) ) - ;; code offset: 0xa4f + ;; code offset: 0xad3 (br $label$3) ) ) @@ -7826,362 +7826,362 @@ file_names[ 3]: (local $34 i32) (local $35 i32) (local $36 i32) - ;; code offset: 0xa9e + ;; code offset: 0xb22 (local.set $2 - ;; code offset: 0xa9c + ;; code offset: 0xb20 (global.get $global$0) ) - ;; code offset: 0xaa2 + ;; code offset: 0xb26 (local.set $3 - ;; code offset: 0xaa0 + ;; code offset: 0xb24 (i32.const 32) ) - ;; code offset: 0xaa9 + ;; code offset: 0xb2d (local.set $4 - ;; code offset: 0xaa8 + ;; code offset: 0xb2c (i32.sub - ;; code offset: 0xaa4 + ;; code offset: 0xb28 (local.get $2) - ;; code offset: 0xaa6 + ;; code offset: 0xb2a (local.get $3) ) ) - ;; code offset: 0xaad + ;; code offset: 0xb31 (global.set $global$0 - ;; code offset: 0xaab + ;; code offset: 0xb2f (local.get $4) ) - ;; code offset: 0xab1 + ;; code offset: 0xb35 (local.set $5 - ;; code offset: 0xaaf + ;; code offset: 0xb33 (i32.const 1) ) - ;; code offset: 0xab5 + ;; code offset: 0xb39 (local.set $6 - ;; code offset: 0xab3 + ;; code offset: 0xb37 (i32.const 0) ) - ;; code offset: 0xabb + ;; code offset: 0xb3f (i32.store $mimport$0 offset=28 - ;; code offset: 0xab7 + ;; code offset: 0xb3b (local.get $4) - ;; code offset: 0xab9 + ;; code offset: 0xb3d (local.get $6) ) - ;; code offset: 0xac2 + ;; code offset: 0xb47 (i32.store $mimport$0 offset=24 - ;; code offset: 0xabe + ;; code offset: 0xb43 (local.get $4) - ;; code offset: 0xac0 + ;; code offset: 0xb45 (local.get $0) ) - ;; code offset: 0xac9 + ;; code offset: 0xb4f (i32.store $mimport$0 offset=20 - ;; code offset: 0xac5 + ;; code offset: 0xb4b (local.get $4) - ;; code offset: 0xac7 + ;; code offset: 0xb4d (local.get $1) ) - ;; code offset: 0xad1 + ;; code offset: 0xb59 (local.set $7 - ;; code offset: 0xace + ;; code offset: 0xb55 (i32.load $mimport$0 offset=24 - ;; code offset: 0xacc + ;; code offset: 0xb53 (local.get $4) ) ) - ;; code offset: 0xad5 + ;; code offset: 0xb5d (local.set $8 - ;; code offset: 0xad3 + ;; code offset: 0xb5b (local.get $7) ) - ;; code offset: 0xad9 + ;; code offset: 0xb61 (local.set $9 - ;; code offset: 0xad7 + ;; code offset: 0xb5f (local.get $5) ) - ;; code offset: 0xae0 + ;; code offset: 0xb68 (local.set $10 - ;; code offset: 0xadf + ;; code offset: 0xb67 (i32.gt_s - ;; code offset: 0xadb + ;; code offset: 0xb63 (local.get $8) - ;; code offset: 0xadd + ;; code offset: 0xb65 (local.get $9) ) ) - ;; code offset: 0xae4 + ;; code offset: 0xb6c (local.set $11 - ;; code offset: 0xae2 + ;; code offset: 0xb6a (i32.const 1) ) - ;; code offset: 0xaeb + ;; code offset: 0xb73 (local.set $12 - ;; code offset: 0xaea + ;; code offset: 0xb72 (i32.and - ;; code offset: 0xae6 + ;; code offset: 0xb6e (local.get $10) - ;; code offset: 0xae8 + ;; code offset: 0xb70 (local.get $11) ) ) - ;; code offset: 0xaed + ;; code offset: 0xb75 (block $label$1 (block $label$2 - ;; code offset: 0xaf4 + ;; code offset: 0xb7c (br_if $label$2 - ;; code offset: 0xaf3 + ;; code offset: 0xb7b (i32.eqz - ;; code offset: 0xaf1 + ;; code offset: 0xb79 (local.get $12) ) ) - ;; code offset: 0xafb + ;; code offset: 0xb84 (local.set $13 - ;; code offset: 0xaf8 + ;; code offset: 0xb80 (i32.load $mimport$0 offset=20 - ;; code offset: 0xaf6 + ;; code offset: 0xb7e (local.get $4) ) ) - ;; code offset: 0xb02 + ;; code offset: 0xb8c (local.set $14 - ;; code offset: 0xaff + ;; code offset: 0xb88 (i32.load $mimport$0 offset=4 - ;; code offset: 0xafd + ;; code offset: 0xb86 (local.get $13) ) ) - ;; code offset: 0xb08 + ;; code offset: 0xb92 (local.set $15 - ;; code offset: 0xb06 + ;; code offset: 0xb90 (call $atoi - ;; code offset: 0xb04 + ;; code offset: 0xb8e (local.get $14) ) ) - ;; code offset: 0xb0c + ;; code offset: 0xb96 (local.set $16 - ;; code offset: 0xb0a + ;; code offset: 0xb94 (local.get $15) ) - ;; code offset: 0xb0e + ;; code offset: 0xb98 (br $label$1) ) - ;; code offset: 0xb13 + ;; code offset: 0xb9d (local.set $17 - ;; code offset: 0xb11 + ;; code offset: 0xb9b (i32.const 0) ) - ;; code offset: 0xb17 + ;; code offset: 0xba1 (local.set $16 - ;; code offset: 0xb15 + ;; code offset: 0xb9f (local.get $17) ) ) - ;; code offset: 0xb1c + ;; code offset: 0xba6 (local.set $18 - ;; code offset: 0xb1a + ;; code offset: 0xba4 (local.get $16) ) - ;; code offset: 0xb20 + ;; code offset: 0xbaa (local.set $19 - ;; code offset: 0xb1e + ;; code offset: 0xba8 (i32.const 1) ) - ;; code offset: 0xb26 + ;; code offset: 0xbb0 (i32.store $mimport$0 offset=16 - ;; code offset: 0xb22 + ;; code offset: 0xbac (local.get $4) - ;; code offset: 0xb24 + ;; code offset: 0xbae (local.get $18) ) - ;; code offset: 0xb2e + ;; code offset: 0xbba (local.set $20 - ;; code offset: 0xb2b + ;; code offset: 0xbb6 (i32.load $mimport$0 offset=16 - ;; code offset: 0xb29 + ;; code offset: 0xbb4 (local.get $4) ) ) - ;; code offset: 0xb32 + ;; code offset: 0xbbe (local.set $21 - ;; code offset: 0xb30 + ;; code offset: 0xbbc (local.get $20) ) - ;; code offset: 0xb36 + ;; code offset: 0xbc2 (local.set $22 - ;; code offset: 0xb34 + ;; code offset: 0xbc0 (local.get $19) ) - ;; code offset: 0xb3d + ;; code offset: 0xbc9 (local.set $23 - ;; code offset: 0xb3c + ;; code offset: 0xbc8 (i32.lt_s - ;; code offset: 0xb38 + ;; code offset: 0xbc4 (local.get $21) - ;; code offset: 0xb3a + ;; code offset: 0xbc6 (local.get $22) ) ) - ;; code offset: 0xb41 + ;; code offset: 0xbcd (local.set $24 - ;; code offset: 0xb3f + ;; code offset: 0xbcb (i32.const 1) ) - ;; code offset: 0xb48 + ;; code offset: 0xbd4 (local.set $25 - ;; code offset: 0xb47 + ;; code offset: 0xbd3 (i32.and - ;; code offset: 0xb43 + ;; code offset: 0xbcf (local.get $23) - ;; code offset: 0xb45 + ;; code offset: 0xbd1 (local.get $24) ) ) - ;; code offset: 0xb4a + ;; code offset: 0xbd6 (block $label$3 (block $label$4 - ;; code offset: 0xb51 + ;; code offset: 0xbdd (br_if $label$4 - ;; code offset: 0xb50 + ;; code offset: 0xbdc (i32.eqz - ;; code offset: 0xb4e + ;; code offset: 0xbda (local.get $25) ) ) - ;; code offset: 0xb56 + ;; code offset: 0xbe2 (local.set $26 - ;; code offset: 0xb53 + ;; code offset: 0xbdf (i32.const 1024) ) - ;; code offset: 0xb5a + ;; code offset: 0xbe6 (local.set $27 - ;; code offset: 0xb58 + ;; code offset: 0xbe4 (i32.const 0) ) - ;; code offset: 0xb62 + ;; code offset: 0xbee (drop - ;; code offset: 0xb60 + ;; code offset: 0xbec (call $printf - ;; code offset: 0xb5c + ;; code offset: 0xbe8 (local.get $26) - ;; code offset: 0xb5e + ;; code offset: 0xbea (local.get $27) ) ) - ;; code offset: 0xb65 + ;; code offset: 0xbf1 (local.set $28 - ;; code offset: 0xb63 + ;; code offset: 0xbef (i32.const 1) ) - ;; code offset: 0xb6b + ;; code offset: 0xbf7 (i32.store $mimport$0 offset=28 - ;; code offset: 0xb67 + ;; code offset: 0xbf3 (local.get $4) - ;; code offset: 0xb69 + ;; code offset: 0xbf5 (local.get $28) ) - ;; code offset: 0xb6e + ;; code offset: 0xbfb (br $label$3) ) - ;; code offset: 0xb76 + ;; code offset: 0xc04 (local.set $29 - ;; code offset: 0xb73 + ;; code offset: 0xc00 (i32.load $mimport$0 offset=16 - ;; code offset: 0xb71 + ;; code offset: 0xbfe (local.get $4) ) ) - ;; code offset: 0xb7d + ;; code offset: 0xc0c (local.set $30 - ;; code offset: 0xb7a + ;; code offset: 0xc08 (i32.load $mimport$0 offset=16 - ;; code offset: 0xb78 + ;; code offset: 0xc06 (local.get $4) ) ) - ;; code offset: 0xb83 + ;; code offset: 0xc12 (local.set $31 - ;; code offset: 0xb81 + ;; code offset: 0xc10 (call $fannkuch\28int\29 - ;; code offset: 0xb7f + ;; code offset: 0xc0e (local.get $30) ) ) - ;; code offset: 0xb89 + ;; code offset: 0xc18 (i32.store $mimport$0 offset=4 - ;; code offset: 0xb85 + ;; code offset: 0xc14 (local.get $4) - ;; code offset: 0xb87 + ;; code offset: 0xc16 (local.get $31) ) - ;; code offset: 0xb90 + ;; code offset: 0xc20 (i32.store $mimport$0 - ;; code offset: 0xb8c + ;; code offset: 0xc1c (local.get $4) - ;; code offset: 0xb8e + ;; code offset: 0xc1e (local.get $29) ) - ;; code offset: 0xb96 + ;; code offset: 0xc27 (local.set $32 - ;; code offset: 0xb93 + ;; code offset: 0xc24 (i32.const 1041) ) - ;; code offset: 0xb9e + ;; code offset: 0xc2f (drop - ;; code offset: 0xb9c + ;; code offset: 0xc2d (call $printf - ;; code offset: 0xb98 + ;; code offset: 0xc29 (local.get $32) - ;; code offset: 0xb9a + ;; code offset: 0xc2b (local.get $4) ) ) - ;; code offset: 0xba1 + ;; code offset: 0xc32 (local.set $33 - ;; code offset: 0xb9f + ;; code offset: 0xc30 (i32.const 0) ) - ;; code offset: 0xba7 + ;; code offset: 0xc38 (i32.store $mimport$0 offset=28 - ;; code offset: 0xba3 + ;; code offset: 0xc34 (local.get $4) - ;; code offset: 0xba5 + ;; code offset: 0xc36 (local.get $33) ) ) - ;; code offset: 0xbb0 + ;; code offset: 0xc43 (local.set $34 - ;; code offset: 0xbad + ;; code offset: 0xc3f (i32.load $mimport$0 offset=28 - ;; code offset: 0xbab + ;; code offset: 0xc3d (local.get $4) ) ) - ;; code offset: 0xbb4 + ;; code offset: 0xc47 (local.set $35 - ;; code offset: 0xbb2 + ;; code offset: 0xc45 (i32.const 32) ) - ;; code offset: 0xbbb + ;; code offset: 0xc4e (local.set $36 - ;; code offset: 0xbba + ;; code offset: 0xc4d (i32.add - ;; code offset: 0xbb6 + ;; code offset: 0xc49 (local.get $4) - ;; code offset: 0xbb8 + ;; code offset: 0xc4b (local.get $35) ) ) - ;; code offset: 0xbbf + ;; code offset: 0xc52 (global.set $global$0 - ;; code offset: 0xbbd + ;; code offset: 0xc50 (local.get $36) ) - ;; code offset: 0xbc3 + ;; code offset: 0xc56 (return - ;; code offset: 0xbc1 + ;; code offset: 0xc54 (local.get $34) ) ) @@ -8365,1793 +8365,1793 @@ file_names[ 3]: (local $177 i32) (local $178 i32) (local $179 i32) - ;; code offset: 0xd31 + ;; code offset: 0xdc4 (local.set $1 - ;; code offset: 0xd2f + ;; code offset: 0xdc2 (global.get $global$0) ) - ;; code offset: 0xd35 + ;; code offset: 0xdc8 (local.set $2 - ;; code offset: 0xd33 + ;; code offset: 0xdc6 (i32.const 48) ) - ;; code offset: 0xd3c + ;; code offset: 0xdcf (local.set $3 - ;; code offset: 0xd3b + ;; code offset: 0xdce (i32.sub - ;; code offset: 0xd37 + ;; code offset: 0xdca (local.get $1) - ;; code offset: 0xd39 + ;; code offset: 0xdcc (local.get $2) ) ) - ;; code offset: 0xd40 + ;; code offset: 0xdd3 (global.set $global$0 - ;; code offset: 0xd3e + ;; code offset: 0xdd1 (local.get $3) ) - ;; code offset: 0xd44 + ;; code offset: 0xdd7 (local.set $4 - ;; code offset: 0xd42 + ;; code offset: 0xdd5 (i32.const 0) ) - ;; code offset: 0xd48 + ;; code offset: 0xddb (local.set $5 - ;; code offset: 0xd46 + ;; code offset: 0xdd9 (i32.const 30) ) - ;; code offset: 0xd4e + ;; code offset: 0xde1 (i32.store $mimport$0 offset=44 - ;; code offset: 0xd4a + ;; code offset: 0xddd (local.get $3) - ;; code offset: 0xd4c + ;; code offset: 0xddf (local.get $0) ) - ;; code offset: 0xd55 + ;; code offset: 0xde9 (i32.store $mimport$0 offset=32 - ;; code offset: 0xd51 + ;; code offset: 0xde5 (local.get $3) - ;; code offset: 0xd53 + ;; code offset: 0xde7 (local.get $5) ) - ;; code offset: 0xd5c + ;; code offset: 0xdf1 (i32.store $mimport$0 offset=40 - ;; code offset: 0xd58 + ;; code offset: 0xded (local.get $3) - ;; code offset: 0xd5a + ;; code offset: 0xdef (local.get $4) ) - ;; code offset: 0xd63 + ;; code offset: 0xdf9 (i32.store $mimport$0 offset=20 - ;; code offset: 0xd5f + ;; code offset: 0xdf5 (local.get $3) - ;; code offset: 0xd61 + ;; code offset: 0xdf7 (local.get $4) ) - ;; code offset: 0xd66 + ;; code offset: 0xdfd (block $label$1 - ;; code offset: 0xd68 + ;; code offset: 0xdff (loop $label$2 - ;; code offset: 0xd6f + ;; code offset: 0xe07 (local.set $6 - ;; code offset: 0xd6c + ;; code offset: 0xe03 (i32.load $mimport$0 offset=20 - ;; code offset: 0xd6a + ;; code offset: 0xe01 (local.get $3) ) ) - ;; code offset: 0xd76 + ;; code offset: 0xe0f (local.set $7 - ;; code offset: 0xd73 + ;; code offset: 0xe0b (i32.load $mimport$0 offset=44 - ;; code offset: 0xd71 + ;; code offset: 0xe09 (local.get $3) ) ) - ;; code offset: 0xd7a + ;; code offset: 0xe13 (local.set $8 - ;; code offset: 0xd78 + ;; code offset: 0xe11 (i32.const 1) ) - ;; code offset: 0xd81 + ;; code offset: 0xe1a (local.set $9 - ;; code offset: 0xd80 + ;; code offset: 0xe19 (i32.sub - ;; code offset: 0xd7c + ;; code offset: 0xe15 (local.get $7) - ;; code offset: 0xd7e + ;; code offset: 0xe17 (local.get $8) ) ) - ;; code offset: 0xd85 + ;; code offset: 0xe1e (local.set $10 - ;; code offset: 0xd83 + ;; code offset: 0xe1c (local.get $6) ) - ;; code offset: 0xd89 + ;; code offset: 0xe22 (local.set $11 - ;; code offset: 0xd87 + ;; code offset: 0xe20 (local.get $9) ) - ;; code offset: 0xd90 + ;; code offset: 0xe29 (local.set $12 - ;; code offset: 0xd8f + ;; code offset: 0xe28 (i32.lt_s - ;; code offset: 0xd8b + ;; code offset: 0xe24 (local.get $10) - ;; code offset: 0xd8d + ;; code offset: 0xe26 (local.get $11) ) ) - ;; code offset: 0xd94 + ;; code offset: 0xe2d (local.set $13 - ;; code offset: 0xd92 + ;; code offset: 0xe2b (i32.const 1) ) - ;; code offset: 0xd9b + ;; code offset: 0xe34 (local.set $14 - ;; code offset: 0xd9a + ;; code offset: 0xe33 (i32.and - ;; code offset: 0xd96 + ;; code offset: 0xe2f (local.get $12) - ;; code offset: 0xd98 + ;; code offset: 0xe31 (local.get $13) ) ) - ;; code offset: 0xda0 + ;; code offset: 0xe39 (br_if $label$1 - ;; code offset: 0xd9f + ;; code offset: 0xe38 (i32.eqz - ;; code offset: 0xd9d + ;; code offset: 0xe36 (local.get $14) ) ) - ;; code offset: 0xda4 + ;; code offset: 0xe3d (local.set $15 - ;; code offset: 0xda2 + ;; code offset: 0xe3b (i32.const 12) ) - ;; code offset: 0xdaa + ;; code offset: 0xe43 (local.set $16 - ;; code offset: 0xda8 + ;; code offset: 0xe41 (call $malloc - ;; code offset: 0xda6 + ;; code offset: 0xe3f (local.get $15) ) ) - ;; code offset: 0xdb0 + ;; code offset: 0xe49 (i32.store $mimport$0 offset=36 - ;; code offset: 0xdac + ;; code offset: 0xe45 (local.get $3) - ;; code offset: 0xdae + ;; code offset: 0xe47 (local.get $16) ) - ;; code offset: 0xdb8 + ;; code offset: 0xe53 (local.set $17 - ;; code offset: 0xdb5 + ;; code offset: 0xe4f (i32.load $mimport$0 offset=20 - ;; code offset: 0xdb3 + ;; code offset: 0xe4d (local.get $3) ) ) - ;; code offset: 0xdbf + ;; code offset: 0xe5b (local.set $18 - ;; code offset: 0xdbc + ;; code offset: 0xe57 (i32.load $mimport$0 offset=36 - ;; code offset: 0xdba + ;; code offset: 0xe55 (local.get $3) ) ) - ;; code offset: 0xdc5 + ;; code offset: 0xe61 (i32.store $mimport$0 - ;; code offset: 0xdc1 + ;; code offset: 0xe5d (local.get $18) - ;; code offset: 0xdc3 + ;; code offset: 0xe5f (local.get $17) ) - ;; code offset: 0xdcd + ;; code offset: 0xe6b (local.set $19 - ;; code offset: 0xdca + ;; code offset: 0xe67 (i32.load $mimport$0 offset=44 - ;; code offset: 0xdc8 + ;; code offset: 0xe65 (local.get $3) ) ) - ;; code offset: 0xdd4 + ;; code offset: 0xe73 (local.set $20 - ;; code offset: 0xdd1 + ;; code offset: 0xe6f (i32.load $mimport$0 offset=36 - ;; code offset: 0xdcf + ;; code offset: 0xe6d (local.get $3) ) ) - ;; code offset: 0xdda + ;; code offset: 0xe79 (i32.store $mimport$0 offset=4 - ;; code offset: 0xdd6 + ;; code offset: 0xe75 (local.get $20) - ;; code offset: 0xdd8 + ;; code offset: 0xe77 (local.get $19) ) - ;; code offset: 0xde2 + ;; code offset: 0xe83 (local.set $21 - ;; code offset: 0xddf + ;; code offset: 0xe7f (i32.load $mimport$0 offset=40 - ;; code offset: 0xddd + ;; code offset: 0xe7d (local.get $3) ) ) - ;; code offset: 0xde9 + ;; code offset: 0xe8b (local.set $22 - ;; code offset: 0xde6 + ;; code offset: 0xe87 (i32.load $mimport$0 offset=36 - ;; code offset: 0xde4 + ;; code offset: 0xe85 (local.get $3) ) ) - ;; code offset: 0xdef + ;; code offset: 0xe91 (i32.store $mimport$0 offset=8 - ;; code offset: 0xdeb + ;; code offset: 0xe8d (local.get $22) - ;; code offset: 0xded + ;; code offset: 0xe8f (local.get $21) ) - ;; code offset: 0xdf7 + ;; code offset: 0xe9b (local.set $23 - ;; code offset: 0xdf4 + ;; code offset: 0xe97 (i32.load $mimport$0 offset=36 - ;; code offset: 0xdf2 + ;; code offset: 0xe95 (local.get $3) ) ) - ;; code offset: 0xdfd + ;; code offset: 0xea1 (i32.store $mimport$0 offset=40 - ;; code offset: 0xdf9 + ;; code offset: 0xe9d (local.get $3) - ;; code offset: 0xdfb + ;; code offset: 0xe9f (local.get $23) ) - ;; code offset: 0xe05 + ;; code offset: 0xeab (local.set $24 - ;; code offset: 0xe02 + ;; code offset: 0xea7 (i32.load $mimport$0 offset=20 - ;; code offset: 0xe00 + ;; code offset: 0xea5 (local.get $3) ) ) - ;; code offset: 0xe09 + ;; code offset: 0xeaf (local.set $25 - ;; code offset: 0xe07 + ;; code offset: 0xead (i32.const 1) ) - ;; code offset: 0xe10 + ;; code offset: 0xeb6 (local.set $26 - ;; code offset: 0xe0f + ;; code offset: 0xeb5 (i32.add - ;; code offset: 0xe0b + ;; code offset: 0xeb1 (local.get $24) - ;; code offset: 0xe0d + ;; code offset: 0xeb3 (local.get $25) ) ) - ;; code offset: 0xe16 + ;; code offset: 0xebc (i32.store $mimport$0 offset=20 - ;; code offset: 0xe12 + ;; code offset: 0xeb8 (local.get $3) - ;; code offset: 0xe14 + ;; code offset: 0xeba (local.get $26) ) - ;; code offset: 0xe19 + ;; code offset: 0xec0 (br $label$2) ) ) - ;; code offset: 0xe20 + ;; code offset: 0xec7 (local.set $27 - ;; code offset: 0xe1e + ;; code offset: 0xec5 (i32.const 0) ) - ;; code offset: 0xe27 + ;; code offset: 0xecf (local.set $28 - ;; code offset: 0xe24 + ;; code offset: 0xecb (i32.load $mimport$0 offset=44 - ;; code offset: 0xe22 + ;; code offset: 0xec9 (local.get $3) ) ) - ;; code offset: 0xe2b + ;; code offset: 0xed3 (local.set $29 - ;; code offset: 0xe29 + ;; code offset: 0xed1 (i32.const 2) ) - ;; code offset: 0xe32 + ;; code offset: 0xeda (local.set $30 - ;; code offset: 0xe31 + ;; code offset: 0xed9 (i32.shl - ;; code offset: 0xe2d + ;; code offset: 0xed5 (local.get $28) - ;; code offset: 0xe2f + ;; code offset: 0xed7 (local.get $29) ) ) - ;; code offset: 0xe38 + ;; code offset: 0xee0 (local.set $31 - ;; code offset: 0xe36 + ;; code offset: 0xede (call $malloc - ;; code offset: 0xe34 + ;; code offset: 0xedc (local.get $30) ) ) - ;; code offset: 0xe3e + ;; code offset: 0xee6 (i32.store $mimport$0 offset=28 - ;; code offset: 0xe3a + ;; code offset: 0xee2 (local.get $3) - ;; code offset: 0xe3c + ;; code offset: 0xee4 (local.get $31) ) - ;; code offset: 0xe46 + ;; code offset: 0xef0 (local.set $32 - ;; code offset: 0xe43 + ;; code offset: 0xeec (i32.load $mimport$0 offset=44 - ;; code offset: 0xe41 + ;; code offset: 0xeea (local.get $3) ) ) - ;; code offset: 0xe4a + ;; code offset: 0xef4 (local.set $33 - ;; code offset: 0xe48 + ;; code offset: 0xef2 (i32.const 2) ) - ;; code offset: 0xe51 + ;; code offset: 0xefb (local.set $34 - ;; code offset: 0xe50 + ;; code offset: 0xefa (i32.shl - ;; code offset: 0xe4c + ;; code offset: 0xef6 (local.get $32) - ;; code offset: 0xe4e + ;; code offset: 0xef8 (local.get $33) ) ) - ;; code offset: 0xe57 + ;; code offset: 0xf01 (local.set $35 - ;; code offset: 0xe55 + ;; code offset: 0xeff (call $malloc - ;; code offset: 0xe53 + ;; code offset: 0xefd (local.get $34) ) ) - ;; code offset: 0xe5d + ;; code offset: 0xf07 (i32.store $mimport$0 offset=24 - ;; code offset: 0xe59 + ;; code offset: 0xf03 (local.get $3) - ;; code offset: 0xe5b + ;; code offset: 0xf05 (local.get $35) ) - ;; code offset: 0xe64 + ;; code offset: 0xf0f (i32.store $mimport$0 offset=20 - ;; code offset: 0xe60 + ;; code offset: 0xf0b (local.get $3) - ;; code offset: 0xe62 + ;; code offset: 0xf0d (local.get $27) ) - ;; code offset: 0xe67 + ;; code offset: 0xf13 (block $label$3 - ;; code offset: 0xe69 + ;; code offset: 0xf15 (loop $label$4 - ;; code offset: 0xe70 + ;; code offset: 0xf1d (local.set $36 - ;; code offset: 0xe6d + ;; code offset: 0xf19 (i32.load $mimport$0 offset=20 - ;; code offset: 0xe6b + ;; code offset: 0xf17 (local.get $3) ) ) - ;; code offset: 0xe77 + ;; code offset: 0xf25 (local.set $37 - ;; code offset: 0xe74 + ;; code offset: 0xf21 (i32.load $mimport$0 offset=44 - ;; code offset: 0xe72 + ;; code offset: 0xf1f (local.get $3) ) ) - ;; code offset: 0xe7b + ;; code offset: 0xf29 (local.set $38 - ;; code offset: 0xe79 + ;; code offset: 0xf27 (local.get $36) ) - ;; code offset: 0xe7f + ;; code offset: 0xf2d (local.set $39 - ;; code offset: 0xe7d + ;; code offset: 0xf2b (local.get $37) ) - ;; code offset: 0xe86 + ;; code offset: 0xf34 (local.set $40 - ;; code offset: 0xe85 + ;; code offset: 0xf33 (i32.lt_s - ;; code offset: 0xe81 + ;; code offset: 0xf2f (local.get $38) - ;; code offset: 0xe83 + ;; code offset: 0xf31 (local.get $39) ) ) - ;; code offset: 0xe8a + ;; code offset: 0xf38 (local.set $41 - ;; code offset: 0xe88 + ;; code offset: 0xf36 (i32.const 1) ) - ;; code offset: 0xe91 + ;; code offset: 0xf3f (local.set $42 - ;; code offset: 0xe90 + ;; code offset: 0xf3e (i32.and - ;; code offset: 0xe8c + ;; code offset: 0xf3a (local.get $40) - ;; code offset: 0xe8e + ;; code offset: 0xf3c (local.get $41) ) ) - ;; code offset: 0xe96 + ;; code offset: 0xf44 (br_if $label$3 - ;; code offset: 0xe95 + ;; code offset: 0xf43 (i32.eqz - ;; code offset: 0xe93 + ;; code offset: 0xf41 (local.get $42) ) ) - ;; code offset: 0xe9d + ;; code offset: 0xf4c (local.set $43 - ;; code offset: 0xe9a + ;; code offset: 0xf48 (i32.load $mimport$0 offset=20 - ;; code offset: 0xe98 + ;; code offset: 0xf46 (local.get $3) ) ) - ;; code offset: 0xea4 + ;; code offset: 0xf54 (local.set $44 - ;; code offset: 0xea1 + ;; code offset: 0xf50 (i32.load $mimport$0 offset=28 - ;; code offset: 0xe9f + ;; code offset: 0xf4e (local.get $3) ) ) - ;; code offset: 0xeab + ;; code offset: 0xf5c (local.set $45 - ;; code offset: 0xea8 + ;; code offset: 0xf58 (i32.load $mimport$0 offset=20 - ;; code offset: 0xea6 + ;; code offset: 0xf56 (local.get $3) ) ) - ;; code offset: 0xeaf + ;; code offset: 0xf60 (local.set $46 - ;; code offset: 0xead + ;; code offset: 0xf5e (i32.const 2) ) - ;; code offset: 0xeb6 + ;; code offset: 0xf67 (local.set $47 - ;; code offset: 0xeb5 + ;; code offset: 0xf66 (i32.shl - ;; code offset: 0xeb1 + ;; code offset: 0xf62 (local.get $45) - ;; code offset: 0xeb3 + ;; code offset: 0xf64 (local.get $46) ) ) - ;; code offset: 0xebd + ;; code offset: 0xf6e (local.set $48 - ;; code offset: 0xebc + ;; code offset: 0xf6d (i32.add - ;; code offset: 0xeb8 + ;; code offset: 0xf69 (local.get $44) - ;; code offset: 0xeba + ;; code offset: 0xf6b (local.get $47) ) ) - ;; code offset: 0xec3 + ;; code offset: 0xf74 (i32.store $mimport$0 - ;; code offset: 0xebf + ;; code offset: 0xf70 (local.get $48) - ;; code offset: 0xec1 + ;; code offset: 0xf72 (local.get $43) ) - ;; code offset: 0xecb + ;; code offset: 0xf7e (local.set $49 - ;; code offset: 0xec8 + ;; code offset: 0xf7a (i32.load $mimport$0 offset=20 - ;; code offset: 0xec6 + ;; code offset: 0xf78 (local.get $3) ) ) - ;; code offset: 0xecf + ;; code offset: 0xf82 (local.set $50 - ;; code offset: 0xecd + ;; code offset: 0xf80 (i32.const 1) ) - ;; code offset: 0xed6 + ;; code offset: 0xf89 (local.set $51 - ;; code offset: 0xed5 + ;; code offset: 0xf88 (i32.add - ;; code offset: 0xed1 + ;; code offset: 0xf84 (local.get $49) - ;; code offset: 0xed3 + ;; code offset: 0xf86 (local.get $50) ) ) - ;; code offset: 0xedc + ;; code offset: 0xf8f (i32.store $mimport$0 offset=20 - ;; code offset: 0xed8 + ;; code offset: 0xf8b (local.get $3) - ;; code offset: 0xeda + ;; code offset: 0xf8d (local.get $51) ) - ;; code offset: 0xedf + ;; code offset: 0xf93 (br $label$4) ) ) - ;; code offset: 0xee9 + ;; code offset: 0xf9e (local.set $52 - ;; code offset: 0xee6 + ;; code offset: 0xf9a (i32.load $mimport$0 offset=44 - ;; code offset: 0xee4 + ;; code offset: 0xf98 (local.get $3) ) ) - ;; code offset: 0xeef + ;; code offset: 0xfa4 (i32.store $mimport$0 offset=16 - ;; code offset: 0xeeb + ;; code offset: 0xfa0 (local.get $3) - ;; code offset: 0xeed + ;; code offset: 0xfa2 (local.get $52) ) - ;; code offset: 0xef2 + ;; code offset: 0xfa8 (block $label$5 - ;; code offset: 0xef4 + ;; code offset: 0xfaa (loop $label$6 - ;; code offset: 0xefb + ;; code offset: 0xfb2 (local.set $53 - ;; code offset: 0xef8 + ;; code offset: 0xfae (i32.load $mimport$0 offset=32 - ;; code offset: 0xef6 + ;; code offset: 0xfac (local.get $3) ) ) - ;; code offset: 0xefd + ;; code offset: 0xfb4 (block $label$7 (block $label$8 - ;; code offset: 0xf04 + ;; code offset: 0xfbb (br_if $label$8 - ;; code offset: 0xf03 + ;; code offset: 0xfba (i32.eqz - ;; code offset: 0xf01 + ;; code offset: 0xfb8 (local.get $53) ) ) - ;; code offset: 0xf08 + ;; code offset: 0xfbf (local.set $54 - ;; code offset: 0xf06 + ;; code offset: 0xfbd (i32.const 0) ) - ;; code offset: 0xf0e + ;; code offset: 0xfc5 (i32.store $mimport$0 offset=20 - ;; code offset: 0xf0a + ;; code offset: 0xfc1 (local.get $3) - ;; code offset: 0xf0c + ;; code offset: 0xfc3 (local.get $54) ) - ;; code offset: 0xf11 + ;; code offset: 0xfc9 (block $label$9 - ;; code offset: 0xf13 + ;; code offset: 0xfcb (loop $label$10 - ;; code offset: 0xf1a + ;; code offset: 0xfd3 (local.set $55 - ;; code offset: 0xf17 + ;; code offset: 0xfcf (i32.load $mimport$0 offset=20 - ;; code offset: 0xf15 + ;; code offset: 0xfcd (local.get $3) ) ) - ;; code offset: 0xf21 + ;; code offset: 0xfdb (local.set $56 - ;; code offset: 0xf1e + ;; code offset: 0xfd7 (i32.load $mimport$0 offset=44 - ;; code offset: 0xf1c + ;; code offset: 0xfd5 (local.get $3) ) ) - ;; code offset: 0xf25 + ;; code offset: 0xfdf (local.set $57 - ;; code offset: 0xf23 + ;; code offset: 0xfdd (local.get $55) ) - ;; code offset: 0xf29 + ;; code offset: 0xfe3 (local.set $58 - ;; code offset: 0xf27 + ;; code offset: 0xfe1 (local.get $56) ) - ;; code offset: 0xf30 + ;; code offset: 0xfea (local.set $59 - ;; code offset: 0xf2f + ;; code offset: 0xfe9 (i32.lt_s - ;; code offset: 0xf2b + ;; code offset: 0xfe5 (local.get $57) - ;; code offset: 0xf2d + ;; code offset: 0xfe7 (local.get $58) ) ) - ;; code offset: 0xf34 + ;; code offset: 0xfee (local.set $60 - ;; code offset: 0xf32 + ;; code offset: 0xfec (i32.const 1) ) - ;; code offset: 0xf3b + ;; code offset: 0xff5 (local.set $61 - ;; code offset: 0xf3a + ;; code offset: 0xff4 (i32.and - ;; code offset: 0xf36 + ;; code offset: 0xff0 (local.get $59) - ;; code offset: 0xf38 + ;; code offset: 0xff2 (local.get $60) ) ) - ;; code offset: 0xf40 + ;; code offset: 0xffa (br_if $label$9 - ;; code offset: 0xf3f + ;; code offset: 0xff9 (i32.eqz - ;; code offset: 0xf3d + ;; code offset: 0xff7 (local.get $61) ) ) - ;; code offset: 0xf47 + ;; code offset: 0x1002 (local.set $62 - ;; code offset: 0xf44 + ;; code offset: 0xffe (i32.load $mimport$0 offset=28 - ;; code offset: 0xf42 + ;; code offset: 0xffc (local.get $3) ) ) - ;; code offset: 0xf4e + ;; code offset: 0x100a (local.set $63 - ;; code offset: 0xf4b + ;; code offset: 0x1006 (i32.load $mimport$0 offset=20 - ;; code offset: 0xf49 + ;; code offset: 0x1004 (local.get $3) ) ) - ;; code offset: 0xf52 + ;; code offset: 0x100e (local.set $64 - ;; code offset: 0xf50 + ;; code offset: 0x100c (i32.const 2) ) - ;; code offset: 0xf59 + ;; code offset: 0x1015 (local.set $65 - ;; code offset: 0xf58 + ;; code offset: 0x1014 (i32.shl - ;; code offset: 0xf54 + ;; code offset: 0x1010 (local.get $63) - ;; code offset: 0xf56 + ;; code offset: 0x1012 (local.get $64) ) ) - ;; code offset: 0xf60 + ;; code offset: 0x101c (local.set $66 - ;; code offset: 0xf5f + ;; code offset: 0x101b (i32.add - ;; code offset: 0xf5b + ;; code offset: 0x1017 (local.get $62) - ;; code offset: 0xf5d + ;; code offset: 0x1019 (local.get $65) ) ) - ;; code offset: 0xf67 + ;; code offset: 0x1024 (local.set $67 - ;; code offset: 0xf64 + ;; code offset: 0x1020 (i32.load $mimport$0 - ;; code offset: 0xf62 + ;; code offset: 0x101e (local.get $66) ) ) - ;; code offset: 0xf6b + ;; code offset: 0x1028 (local.set $68 - ;; code offset: 0xf69 + ;; code offset: 0x1026 (i32.const 1) ) - ;; code offset: 0xf72 + ;; code offset: 0x102f (local.set $69 - ;; code offset: 0xf71 + ;; code offset: 0x102e (i32.add - ;; code offset: 0xf6d + ;; code offset: 0x102a (local.get $67) - ;; code offset: 0xf6f + ;; code offset: 0x102c (local.get $68) ) ) - ;; code offset: 0xf78 + ;; code offset: 0x1035 (i32.store $mimport$0 - ;; code offset: 0xf74 + ;; code offset: 0x1031 (local.get $3) - ;; code offset: 0xf76 + ;; code offset: 0x1033 (local.get $69) ) - ;; code offset: 0xf7e + ;; code offset: 0x103c (local.set $70 - ;; code offset: 0xf7b + ;; code offset: 0x1039 (i32.const 1064) ) - ;; code offset: 0xf86 + ;; code offset: 0x1044 (drop - ;; code offset: 0xf84 + ;; code offset: 0x1042 (call $printf - ;; code offset: 0xf80 + ;; code offset: 0x103e (local.get $70) - ;; code offset: 0xf82 + ;; code offset: 0x1040 (local.get $3) ) ) - ;; code offset: 0xf8c + ;; code offset: 0x104b (local.set $71 - ;; code offset: 0xf89 + ;; code offset: 0x1047 (i32.load $mimport$0 offset=20 - ;; code offset: 0xf87 + ;; code offset: 0x1045 (local.get $3) ) ) - ;; code offset: 0xf90 + ;; code offset: 0x104f (local.set $72 - ;; code offset: 0xf8e + ;; code offset: 0x104d (i32.const 1) ) - ;; code offset: 0xf97 + ;; code offset: 0x1056 (local.set $73 - ;; code offset: 0xf96 + ;; code offset: 0x1055 (i32.add - ;; code offset: 0xf92 + ;; code offset: 0x1051 (local.get $71) - ;; code offset: 0xf94 + ;; code offset: 0x1053 (local.get $72) ) ) - ;; code offset: 0xf9d + ;; code offset: 0x105c (i32.store $mimport$0 offset=20 - ;; code offset: 0xf99 + ;; code offset: 0x1058 (local.get $3) - ;; code offset: 0xf9b + ;; code offset: 0x105a (local.get $73) ) - ;; code offset: 0xfa0 + ;; code offset: 0x1060 (br $label$10) ) ) - ;; code offset: 0xfa8 + ;; code offset: 0x1068 (local.set $74 - ;; code offset: 0xfa5 + ;; code offset: 0x1065 (i32.const 1067) ) - ;; code offset: 0xfac + ;; code offset: 0x106c (local.set $75 - ;; code offset: 0xfaa + ;; code offset: 0x106a (i32.const 0) ) - ;; code offset: 0xfb4 + ;; code offset: 0x1074 (drop - ;; code offset: 0xfb2 + ;; code offset: 0x1072 (call $printf - ;; code offset: 0xfae + ;; code offset: 0x106e (local.get $74) - ;; code offset: 0xfb0 + ;; code offset: 0x1070 (local.get $75) ) ) - ;; code offset: 0xfba + ;; code offset: 0x107b (local.set $76 - ;; code offset: 0xfb7 + ;; code offset: 0x1077 (i32.load $mimport$0 offset=32 - ;; code offset: 0xfb5 + ;; code offset: 0x1075 (local.get $3) ) ) - ;; code offset: 0xfbe + ;; code offset: 0x107f (local.set $77 - ;; code offset: 0xfbc + ;; code offset: 0x107d (i32.const -1) ) - ;; code offset: 0xfc5 + ;; code offset: 0x1086 (local.set $78 - ;; code offset: 0xfc4 + ;; code offset: 0x1085 (i32.add - ;; code offset: 0xfc0 + ;; code offset: 0x1081 (local.get $76) - ;; code offset: 0xfc2 + ;; code offset: 0x1083 (local.get $77) ) ) - ;; code offset: 0xfcb + ;; code offset: 0x108c (i32.store $mimport$0 offset=32 - ;; code offset: 0xfc7 + ;; code offset: 0x1088 (local.get $3) - ;; code offset: 0xfc9 + ;; code offset: 0x108a (local.get $78) ) - ;; code offset: 0xfce + ;; code offset: 0x1090 (br $label$7) ) - ;; code offset: 0xfd1 + ;; code offset: 0x1093 (br $label$5) ) - ;; code offset: 0xfd4 + ;; code offset: 0x1096 (block $label$11 - ;; code offset: 0xfd6 + ;; code offset: 0x1098 (loop $label$12 - ;; code offset: 0xfda + ;; code offset: 0x109c (local.set $79 - ;; code offset: 0xfd8 + ;; code offset: 0x109a (i32.const 1) ) - ;; code offset: 0xfe1 + ;; code offset: 0x10a4 (local.set $80 - ;; code offset: 0xfde + ;; code offset: 0x10a0 (i32.load $mimport$0 offset=16 - ;; code offset: 0xfdc + ;; code offset: 0x109e (local.get $3) ) ) - ;; code offset: 0xfe5 + ;; code offset: 0x10a8 (local.set $81 - ;; code offset: 0xfe3 + ;; code offset: 0x10a6 (local.get $80) ) - ;; code offset: 0xfe9 + ;; code offset: 0x10ac (local.set $82 - ;; code offset: 0xfe7 + ;; code offset: 0x10aa (local.get $79) ) - ;; code offset: 0xff0 + ;; code offset: 0x10b3 (local.set $83 - ;; code offset: 0xfef + ;; code offset: 0x10b2 (i32.gt_s - ;; code offset: 0xfeb + ;; code offset: 0x10ae (local.get $81) - ;; code offset: 0xfed + ;; code offset: 0x10b0 (local.get $82) ) ) - ;; code offset: 0xff4 + ;; code offset: 0x10b7 (local.set $84 - ;; code offset: 0xff2 + ;; code offset: 0x10b5 (i32.const 1) ) - ;; code offset: 0xffb + ;; code offset: 0x10be (local.set $85 - ;; code offset: 0xffa + ;; code offset: 0x10bd (i32.and - ;; code offset: 0xff6 + ;; code offset: 0x10b9 (local.get $83) - ;; code offset: 0xff8 + ;; code offset: 0x10bb (local.get $84) ) ) - ;; code offset: 0x1000 + ;; code offset: 0x10c3 (br_if $label$11 - ;; code offset: 0xfff + ;; code offset: 0x10c2 (i32.eqz - ;; code offset: 0xffd + ;; code offset: 0x10c0 (local.get $85) ) ) - ;; code offset: 0x1007 + ;; code offset: 0x10cb (local.set $86 - ;; code offset: 0x1004 + ;; code offset: 0x10c7 (i32.load $mimport$0 offset=16 - ;; code offset: 0x1002 + ;; code offset: 0x10c5 (local.get $3) ) ) - ;; code offset: 0x100e + ;; code offset: 0x10d3 (local.set $87 - ;; code offset: 0x100b + ;; code offset: 0x10cf (i32.load $mimport$0 offset=24 - ;; code offset: 0x1009 + ;; code offset: 0x10cd (local.get $3) ) ) - ;; code offset: 0x1015 + ;; code offset: 0x10db (local.set $88 - ;; code offset: 0x1012 + ;; code offset: 0x10d7 (i32.load $mimport$0 offset=16 - ;; code offset: 0x1010 + ;; code offset: 0x10d5 (local.get $3) ) ) - ;; code offset: 0x1019 + ;; code offset: 0x10df (local.set $89 - ;; code offset: 0x1017 + ;; code offset: 0x10dd (i32.const 1) ) - ;; code offset: 0x1020 + ;; code offset: 0x10e6 (local.set $90 - ;; code offset: 0x101f + ;; code offset: 0x10e5 (i32.sub - ;; code offset: 0x101b + ;; code offset: 0x10e1 (local.get $88) - ;; code offset: 0x101d + ;; code offset: 0x10e3 (local.get $89) ) ) - ;; code offset: 0x1024 + ;; code offset: 0x10ea (local.set $91 - ;; code offset: 0x1022 + ;; code offset: 0x10e8 (i32.const 2) ) - ;; code offset: 0x102b + ;; code offset: 0x10f1 (local.set $92 - ;; code offset: 0x102a + ;; code offset: 0x10f0 (i32.shl - ;; code offset: 0x1026 + ;; code offset: 0x10ec (local.get $90) - ;; code offset: 0x1028 + ;; code offset: 0x10ee (local.get $91) ) ) - ;; code offset: 0x1032 + ;; code offset: 0x10f8 (local.set $93 - ;; code offset: 0x1031 + ;; code offset: 0x10f7 (i32.add - ;; code offset: 0x102d + ;; code offset: 0x10f3 (local.get $87) - ;; code offset: 0x102f + ;; code offset: 0x10f5 (local.get $92) ) ) - ;; code offset: 0x1038 + ;; code offset: 0x10fe (i32.store $mimport$0 - ;; code offset: 0x1034 + ;; code offset: 0x10fa (local.get $93) - ;; code offset: 0x1036 + ;; code offset: 0x10fc (local.get $86) ) - ;; code offset: 0x1040 + ;; code offset: 0x1108 (local.set $94 - ;; code offset: 0x103d + ;; code offset: 0x1104 (i32.load $mimport$0 offset=16 - ;; code offset: 0x103b + ;; code offset: 0x1102 (local.get $3) ) ) - ;; code offset: 0x1044 + ;; code offset: 0x110c (local.set $95 - ;; code offset: 0x1042 + ;; code offset: 0x110a (i32.const -1) ) - ;; code offset: 0x104b + ;; code offset: 0x1113 (local.set $96 - ;; code offset: 0x104a + ;; code offset: 0x1112 (i32.add - ;; code offset: 0x1046 + ;; code offset: 0x110e (local.get $94) - ;; code offset: 0x1048 + ;; code offset: 0x1110 (local.get $95) ) ) - ;; code offset: 0x1051 + ;; code offset: 0x1119 (i32.store $mimport$0 offset=16 - ;; code offset: 0x104d + ;; code offset: 0x1115 (local.get $3) - ;; code offset: 0x104f + ;; code offset: 0x1117 (local.get $96) ) - ;; code offset: 0x1054 + ;; code offset: 0x111d (br $label$12) ) ) - ;; code offset: 0x1059 + ;; code offset: 0x1122 (loop $label$13 - ;; code offset: 0x1060 + ;; code offset: 0x112a (local.set $97 - ;; code offset: 0x105d + ;; code offset: 0x1126 (i32.load $mimport$0 offset=16 - ;; code offset: 0x105b + ;; code offset: 0x1124 (local.get $3) ) ) - ;; code offset: 0x1067 + ;; code offset: 0x1132 (local.set $98 - ;; code offset: 0x1064 + ;; code offset: 0x112e (i32.load $mimport$0 offset=44 - ;; code offset: 0x1062 + ;; code offset: 0x112c (local.get $3) ) ) - ;; code offset: 0x106b + ;; code offset: 0x1136 (local.set $99 - ;; code offset: 0x1069 + ;; code offset: 0x1134 (local.get $97) ) - ;; code offset: 0x106f + ;; code offset: 0x113a (local.set $100 - ;; code offset: 0x106d + ;; code offset: 0x1138 (local.get $98) ) - ;; code offset: 0x1076 + ;; code offset: 0x1141 (local.set $101 - ;; code offset: 0x1075 + ;; code offset: 0x1140 (i32.eq - ;; code offset: 0x1071 + ;; code offset: 0x113c (local.get $99) - ;; code offset: 0x1073 + ;; code offset: 0x113e (local.get $100) ) ) - ;; code offset: 0x107a + ;; code offset: 0x1145 (local.set $102 - ;; code offset: 0x1078 + ;; code offset: 0x1143 (i32.const 1) ) - ;; code offset: 0x1081 + ;; code offset: 0x114c (local.set $103 - ;; code offset: 0x1080 + ;; code offset: 0x114b (i32.and - ;; code offset: 0x107c + ;; code offset: 0x1147 (local.get $101) - ;; code offset: 0x107e + ;; code offset: 0x1149 (local.get $102) ) ) - ;; code offset: 0x1083 + ;; code offset: 0x114e (block $label$14 - ;; code offset: 0x1088 + ;; code offset: 0x1153 (br_if $label$14 - ;; code offset: 0x1087 + ;; code offset: 0x1152 (i32.eqz - ;; code offset: 0x1085 + ;; code offset: 0x1150 (local.get $103) ) ) - ;; code offset: 0x108a + ;; code offset: 0x1155 (br $label$5) ) - ;; code offset: 0x108f + ;; code offset: 0x115a (local.set $104 - ;; code offset: 0x108d + ;; code offset: 0x1158 (i32.const 0) ) - ;; code offset: 0x1096 + ;; code offset: 0x1162 (local.set $105 - ;; code offset: 0x1093 + ;; code offset: 0x115e (i32.load $mimport$0 offset=28 - ;; code offset: 0x1091 + ;; code offset: 0x115c (local.get $3) ) ) - ;; code offset: 0x109d + ;; code offset: 0x116a (local.set $106 - ;; code offset: 0x109a + ;; code offset: 0x1166 (i32.load $mimport$0 - ;; code offset: 0x1098 + ;; code offset: 0x1164 (local.get $105) ) ) - ;; code offset: 0x10a3 + ;; code offset: 0x1170 (i32.store $mimport$0 offset=4 - ;; code offset: 0x109f + ;; code offset: 0x116c (local.get $3) - ;; code offset: 0x10a1 + ;; code offset: 0x116e (local.get $106) ) - ;; code offset: 0x10aa + ;; code offset: 0x1178 (i32.store $mimport$0 offset=20 - ;; code offset: 0x10a6 + ;; code offset: 0x1174 (local.get $3) - ;; code offset: 0x10a8 + ;; code offset: 0x1176 (local.get $104) ) - ;; code offset: 0x10ad + ;; code offset: 0x117c (block $label$15 - ;; code offset: 0x10af + ;; code offset: 0x117e (loop $label$16 - ;; code offset: 0x10b6 + ;; code offset: 0x1186 (local.set $107 - ;; code offset: 0x10b3 + ;; code offset: 0x1182 (i32.load $mimport$0 offset=20 - ;; code offset: 0x10b1 + ;; code offset: 0x1180 (local.get $3) ) ) - ;; code offset: 0x10bd + ;; code offset: 0x118e (local.set $108 - ;; code offset: 0x10ba + ;; code offset: 0x118a (i32.load $mimport$0 offset=16 - ;; code offset: 0x10b8 + ;; code offset: 0x1188 (local.get $3) ) ) - ;; code offset: 0x10c1 + ;; code offset: 0x1192 (local.set $109 - ;; code offset: 0x10bf + ;; code offset: 0x1190 (local.get $107) ) - ;; code offset: 0x10c5 + ;; code offset: 0x1196 (local.set $110 - ;; code offset: 0x10c3 + ;; code offset: 0x1194 (local.get $108) ) - ;; code offset: 0x10cc + ;; code offset: 0x119d (local.set $111 - ;; code offset: 0x10cb + ;; code offset: 0x119c (i32.lt_s - ;; code offset: 0x10c7 + ;; code offset: 0x1198 (local.get $109) - ;; code offset: 0x10c9 + ;; code offset: 0x119a (local.get $110) ) ) - ;; code offset: 0x10d0 + ;; code offset: 0x11a1 (local.set $112 - ;; code offset: 0x10ce + ;; code offset: 0x119f (i32.const 1) ) - ;; code offset: 0x10d7 + ;; code offset: 0x11a8 (local.set $113 - ;; code offset: 0x10d6 + ;; code offset: 0x11a7 (i32.and - ;; code offset: 0x10d2 + ;; code offset: 0x11a3 (local.get $111) - ;; code offset: 0x10d4 + ;; code offset: 0x11a5 (local.get $112) ) ) - ;; code offset: 0x10dc + ;; code offset: 0x11ad (br_if $label$15 - ;; code offset: 0x10db + ;; code offset: 0x11ac (i32.eqz - ;; code offset: 0x10d9 + ;; code offset: 0x11aa (local.get $113) ) ) - ;; code offset: 0x10e3 + ;; code offset: 0x11b5 (local.set $114 - ;; code offset: 0x10e0 + ;; code offset: 0x11b1 (i32.load $mimport$0 offset=28 - ;; code offset: 0x10de + ;; code offset: 0x11af (local.get $3) ) ) - ;; code offset: 0x10ea + ;; code offset: 0x11bd (local.set $115 - ;; code offset: 0x10e7 + ;; code offset: 0x11b9 (i32.load $mimport$0 offset=20 - ;; code offset: 0x10e5 + ;; code offset: 0x11b7 (local.get $3) ) ) - ;; code offset: 0x10ee + ;; code offset: 0x11c1 (local.set $116 - ;; code offset: 0x10ec + ;; code offset: 0x11bf (i32.const 1) ) - ;; code offset: 0x10f5 + ;; code offset: 0x11c8 (local.set $117 - ;; code offset: 0x10f4 + ;; code offset: 0x11c7 (i32.add - ;; code offset: 0x10f0 + ;; code offset: 0x11c3 (local.get $115) - ;; code offset: 0x10f2 + ;; code offset: 0x11c5 (local.get $116) ) ) - ;; code offset: 0x10f9 + ;; code offset: 0x11cc (local.set $118 - ;; code offset: 0x10f7 + ;; code offset: 0x11ca (i32.const 2) ) - ;; code offset: 0x1100 + ;; code offset: 0x11d3 (local.set $119 - ;; code offset: 0x10ff + ;; code offset: 0x11d2 (i32.shl - ;; code offset: 0x10fb + ;; code offset: 0x11ce (local.get $117) - ;; code offset: 0x10fd + ;; code offset: 0x11d0 (local.get $118) ) ) - ;; code offset: 0x1107 + ;; code offset: 0x11da (local.set $120 - ;; code offset: 0x1106 + ;; code offset: 0x11d9 (i32.add - ;; code offset: 0x1102 + ;; code offset: 0x11d5 (local.get $114) - ;; code offset: 0x1104 + ;; code offset: 0x11d7 (local.get $119) ) ) - ;; code offset: 0x110e + ;; code offset: 0x11e2 (local.set $121 - ;; code offset: 0x110b + ;; code offset: 0x11de (i32.load $mimport$0 - ;; code offset: 0x1109 + ;; code offset: 0x11dc (local.get $120) ) ) - ;; code offset: 0x1115 + ;; code offset: 0x11ea (local.set $122 - ;; code offset: 0x1112 + ;; code offset: 0x11e6 (i32.load $mimport$0 offset=28 - ;; code offset: 0x1110 + ;; code offset: 0x11e4 (local.get $3) ) ) - ;; code offset: 0x111c + ;; code offset: 0x11f2 (local.set $123 - ;; code offset: 0x1119 + ;; code offset: 0x11ee (i32.load $mimport$0 offset=20 - ;; code offset: 0x1117 + ;; code offset: 0x11ec (local.get $3) ) ) - ;; code offset: 0x1120 + ;; code offset: 0x11f6 (local.set $124 - ;; code offset: 0x111e + ;; code offset: 0x11f4 (i32.const 2) ) - ;; code offset: 0x1127 + ;; code offset: 0x11fd (local.set $125 - ;; code offset: 0x1126 + ;; code offset: 0x11fc (i32.shl - ;; code offset: 0x1122 + ;; code offset: 0x11f8 (local.get $123) - ;; code offset: 0x1124 + ;; code offset: 0x11fa (local.get $124) ) ) - ;; code offset: 0x112e + ;; code offset: 0x1204 (local.set $126 - ;; code offset: 0x112d + ;; code offset: 0x1203 (i32.add - ;; code offset: 0x1129 + ;; code offset: 0x11ff (local.get $122) - ;; code offset: 0x112b + ;; code offset: 0x1201 (local.get $125) ) ) - ;; code offset: 0x1134 + ;; code offset: 0x120a (i32.store $mimport$0 - ;; code offset: 0x1130 + ;; code offset: 0x1206 (local.get $126) - ;; code offset: 0x1132 + ;; code offset: 0x1208 (local.get $121) ) - ;; code offset: 0x113c + ;; code offset: 0x1214 (local.set $127 - ;; code offset: 0x1139 + ;; code offset: 0x1210 (i32.load $mimport$0 offset=20 - ;; code offset: 0x1137 + ;; code offset: 0x120e (local.get $3) ) ) - ;; code offset: 0x1140 + ;; code offset: 0x1218 (local.set $128 - ;; code offset: 0x113e + ;; code offset: 0x1216 (i32.const 1) ) - ;; code offset: 0x1149 + ;; code offset: 0x1221 (local.set $129 - ;; code offset: 0x1148 + ;; code offset: 0x1220 (i32.add - ;; code offset: 0x1143 + ;; code offset: 0x121b (local.get $127) - ;; code offset: 0x1145 + ;; code offset: 0x121d (local.get $128) ) ) - ;; code offset: 0x1151 + ;; code offset: 0x1229 (i32.store $mimport$0 offset=20 - ;; code offset: 0x114c + ;; code offset: 0x1224 (local.get $3) - ;; code offset: 0x114e + ;; code offset: 0x1226 (local.get $129) ) - ;; code offset: 0x1154 + ;; code offset: 0x122d (br $label$16) ) ) - ;; code offset: 0x115b + ;; code offset: 0x1234 (local.set $130 - ;; code offset: 0x1159 + ;; code offset: 0x1232 (i32.const 0) ) - ;; code offset: 0x1163 + ;; code offset: 0x123d (local.set $131 - ;; code offset: 0x1160 + ;; code offset: 0x1239 (i32.load $mimport$0 offset=4 - ;; code offset: 0x115e + ;; code offset: 0x1237 (local.get $3) ) ) - ;; code offset: 0x116b + ;; code offset: 0x1246 (local.set $132 - ;; code offset: 0x1168 + ;; code offset: 0x1242 (i32.load $mimport$0 offset=28 - ;; code offset: 0x1166 + ;; code offset: 0x1240 (local.get $3) ) ) - ;; code offset: 0x1173 + ;; code offset: 0x124f (local.set $133 - ;; code offset: 0x1170 + ;; code offset: 0x124b (i32.load $mimport$0 offset=20 - ;; code offset: 0x116e + ;; code offset: 0x1249 (local.get $3) ) ) - ;; code offset: 0x1178 + ;; code offset: 0x1254 (local.set $134 - ;; code offset: 0x1176 + ;; code offset: 0x1252 (i32.const 2) ) - ;; code offset: 0x1182 + ;; code offset: 0x125e (local.set $135 - ;; code offset: 0x1181 + ;; code offset: 0x125d (i32.shl - ;; code offset: 0x117b + ;; code offset: 0x1257 (local.get $133) - ;; code offset: 0x117e + ;; code offset: 0x125a (local.get $134) ) ) - ;; code offset: 0x118c + ;; code offset: 0x1268 (local.set $136 - ;; code offset: 0x118b + ;; code offset: 0x1267 (i32.add - ;; code offset: 0x1185 + ;; code offset: 0x1261 (local.get $132) - ;; code offset: 0x1188 + ;; code offset: 0x1264 (local.get $135) ) ) - ;; code offset: 0x1195 + ;; code offset: 0x1271 (i32.store $mimport$0 - ;; code offset: 0x118f + ;; code offset: 0x126b (local.get $136) - ;; code offset: 0x1192 + ;; code offset: 0x126e (local.get $131) ) - ;; code offset: 0x119d + ;; code offset: 0x127b (local.set $137 - ;; code offset: 0x119a + ;; code offset: 0x1277 (i32.load $mimport$0 offset=24 - ;; code offset: 0x1198 + ;; code offset: 0x1275 (local.get $3) ) ) - ;; code offset: 0x11a5 + ;; code offset: 0x1284 (local.set $138 - ;; code offset: 0x11a2 + ;; code offset: 0x1280 (i32.load $mimport$0 offset=16 - ;; code offset: 0x11a0 + ;; code offset: 0x127e (local.get $3) ) ) - ;; code offset: 0x11aa + ;; code offset: 0x1289 (local.set $139 - ;; code offset: 0x11a8 + ;; code offset: 0x1287 (i32.const 2) ) - ;; code offset: 0x11b4 + ;; code offset: 0x1293 (local.set $140 - ;; code offset: 0x11b3 + ;; code offset: 0x1292 (i32.shl - ;; code offset: 0x11ad + ;; code offset: 0x128c (local.get $138) - ;; code offset: 0x11b0 + ;; code offset: 0x128f (local.get $139) ) ) - ;; code offset: 0x11be + ;; code offset: 0x129d (local.set $141 - ;; code offset: 0x11bd + ;; code offset: 0x129c (i32.add - ;; code offset: 0x11b7 + ;; code offset: 0x1296 (local.get $137) - ;; code offset: 0x11ba + ;; code offset: 0x1299 (local.get $140) ) ) - ;; code offset: 0x11c7 + ;; code offset: 0x12a7 (local.set $142 - ;; code offset: 0x11c4 + ;; code offset: 0x12a3 (i32.load $mimport$0 - ;; code offset: 0x11c1 + ;; code offset: 0x12a0 (local.get $141) ) ) - ;; code offset: 0x11cc + ;; code offset: 0x12ac (local.set $143 - ;; code offset: 0x11ca + ;; code offset: 0x12aa (i32.const -1) ) - ;; code offset: 0x11d6 + ;; code offset: 0x12b6 (local.set $144 - ;; code offset: 0x11d5 + ;; code offset: 0x12b5 (i32.add - ;; code offset: 0x11cf + ;; code offset: 0x12af (local.get $142) - ;; code offset: 0x11d2 + ;; code offset: 0x12b2 (local.get $143) ) ) - ;; code offset: 0x11df + ;; code offset: 0x12bf (i32.store $mimport$0 - ;; code offset: 0x11d9 + ;; code offset: 0x12b9 (local.get $141) - ;; code offset: 0x11dc + ;; code offset: 0x12bc (local.get $144) ) - ;; code offset: 0x11e5 + ;; code offset: 0x12c6 (local.set $145 - ;; code offset: 0x11e2 + ;; code offset: 0x12c3 (local.get $144) ) - ;; code offset: 0x11eb + ;; code offset: 0x12cc (local.set $146 - ;; code offset: 0x11e8 + ;; code offset: 0x12c9 (local.get $130) ) - ;; code offset: 0x11f5 + ;; code offset: 0x12d6 (local.set $147 - ;; code offset: 0x11f4 + ;; code offset: 0x12d5 (i32.gt_s - ;; code offset: 0x11ee + ;; code offset: 0x12cf (local.get $145) - ;; code offset: 0x11f1 + ;; code offset: 0x12d2 (local.get $146) ) ) - ;; code offset: 0x11fa + ;; code offset: 0x12db (local.set $148 - ;; code offset: 0x11f8 + ;; code offset: 0x12d9 (i32.const 1) ) - ;; code offset: 0x1204 + ;; code offset: 0x12e5 (local.set $149 - ;; code offset: 0x1203 + ;; code offset: 0x12e4 (i32.and - ;; code offset: 0x11fd + ;; code offset: 0x12de (local.get $147) - ;; code offset: 0x1200 + ;; code offset: 0x12e1 (local.get $148) ) ) - ;; code offset: 0x1207 + ;; code offset: 0x12e8 (block $label$17 (block $label$18 - ;; code offset: 0x120f + ;; code offset: 0x12f0 (br_if $label$18 - ;; code offset: 0x120e + ;; code offset: 0x12ef (i32.eqz - ;; code offset: 0x120b + ;; code offset: 0x12ec (local.get $149) ) ) - ;; code offset: 0x1211 + ;; code offset: 0x12f2 (br $label$17) ) - ;; code offset: 0x1219 + ;; code offset: 0x12fb (local.set $150 - ;; code offset: 0x1216 + ;; code offset: 0x12f7 (i32.load $mimport$0 offset=16 - ;; code offset: 0x1214 + ;; code offset: 0x12f5 (local.get $3) ) ) - ;; code offset: 0x121e + ;; code offset: 0x1300 (local.set $151 - ;; code offset: 0x121c + ;; code offset: 0x12fe (i32.const 1) ) - ;; code offset: 0x1228 + ;; code offset: 0x130a (local.set $152 - ;; code offset: 0x1227 + ;; code offset: 0x1309 (i32.add - ;; code offset: 0x1221 + ;; code offset: 0x1303 (local.get $150) - ;; code offset: 0x1224 + ;; code offset: 0x1306 (local.get $151) ) ) - ;; code offset: 0x1230 + ;; code offset: 0x1312 (i32.store $mimport$0 offset=16 - ;; code offset: 0x122b + ;; code offset: 0x130d (local.get $3) - ;; code offset: 0x122d + ;; code offset: 0x130f (local.get $152) ) - ;; code offset: 0x1233 + ;; code offset: 0x1316 (br $label$13) ) ) - ;; code offset: 0x1237 + ;; code offset: 0x131a (br $label$6) ) ) - ;; code offset: 0x123e + ;; code offset: 0x1321 (local.set $153 - ;; code offset: 0x123c + ;; code offset: 0x131f (i32.const 0) ) - ;; code offset: 0x1246 + ;; code offset: 0x132a (local.set $154 - ;; code offset: 0x1243 + ;; code offset: 0x1326 (i32.load $mimport$0 offset=28 - ;; code offset: 0x1241 + ;; code offset: 0x1324 (local.get $3) ) ) - ;; code offset: 0x124c + ;; code offset: 0x1330 (call $free - ;; code offset: 0x1249 + ;; code offset: 0x132d (local.get $154) ) - ;; code offset: 0x1253 + ;; code offset: 0x1338 (local.set $155 - ;; code offset: 0x1250 + ;; code offset: 0x1334 (i32.load $mimport$0 offset=24 - ;; code offset: 0x124e + ;; code offset: 0x1332 (local.get $3) ) ) - ;; code offset: 0x1259 + ;; code offset: 0x133e (call $free - ;; code offset: 0x1256 + ;; code offset: 0x133b (local.get $155) ) - ;; code offset: 0x1260 + ;; code offset: 0x1345 (i32.store $mimport$0 offset=12 - ;; code offset: 0x125b + ;; code offset: 0x1340 (local.get $3) - ;; code offset: 0x125d + ;; code offset: 0x1342 (local.get $153) ) - ;; code offset: 0x1263 + ;; code offset: 0x1349 (block $label$19 - ;; code offset: 0x1265 + ;; code offset: 0x134b (loop $label$20 - ;; code offset: 0x1269 + ;; code offset: 0x134f (local.set $156 - ;; code offset: 0x1267 + ;; code offset: 0x134d (i32.const 0) ) - ;; code offset: 0x1271 + ;; code offset: 0x1358 (local.set $157 - ;; code offset: 0x126e + ;; code offset: 0x1354 (i32.load $mimport$0 offset=40 - ;; code offset: 0x126c + ;; code offset: 0x1352 (local.get $3) ) ) - ;; code offset: 0x1277 + ;; code offset: 0x135e (local.set $158 - ;; code offset: 0x1274 + ;; code offset: 0x135b (local.get $157) ) - ;; code offset: 0x127d + ;; code offset: 0x1364 (local.set $159 - ;; code offset: 0x127a + ;; code offset: 0x1361 (local.get $156) ) - ;; code offset: 0x1287 + ;; code offset: 0x136e (local.set $160 - ;; code offset: 0x1286 + ;; code offset: 0x136d (i32.ne - ;; code offset: 0x1280 + ;; code offset: 0x1367 (local.get $158) - ;; code offset: 0x1283 + ;; code offset: 0x136a (local.get $159) ) ) - ;; code offset: 0x128c + ;; code offset: 0x1373 (local.set $161 - ;; code offset: 0x128a + ;; code offset: 0x1371 (i32.const 1) ) - ;; code offset: 0x1296 + ;; code offset: 0x137d (local.set $162 - ;; code offset: 0x1295 + ;; code offset: 0x137c (i32.and - ;; code offset: 0x128f + ;; code offset: 0x1376 (local.get $160) - ;; code offset: 0x1292 + ;; code offset: 0x1379 (local.get $161) ) ) - ;; code offset: 0x129d + ;; code offset: 0x1384 (br_if $label$19 - ;; code offset: 0x129c + ;; code offset: 0x1383 (i32.eqz - ;; code offset: 0x1299 + ;; code offset: 0x1380 (local.get $162) ) ) - ;; code offset: 0x12a4 + ;; code offset: 0x138c (local.set $163 - ;; code offset: 0x12a1 + ;; code offset: 0x1388 (i32.load $mimport$0 offset=40 - ;; code offset: 0x129f + ;; code offset: 0x1386 (local.get $3) ) ) - ;; code offset: 0x12ac + ;; code offset: 0x1394 (local.set $164 - ;; code offset: 0x12aa + ;; code offset: 0x1392 (call $fannkuch_worker\28void*\29 - ;; code offset: 0x12a7 + ;; code offset: 0x138f (local.get $163) ) ) - ;; code offset: 0x12b4 + ;; code offset: 0x139c (i32.store $mimport$0 offset=8 - ;; code offset: 0x12af + ;; code offset: 0x1397 (local.get $3) - ;; code offset: 0x12b1 + ;; code offset: 0x1399 (local.get $164) ) - ;; code offset: 0x12bc + ;; code offset: 0x13a6 (local.set $165 - ;; code offset: 0x12b9 + ;; code offset: 0x13a2 (i32.load $mimport$0 offset=12 - ;; code offset: 0x12b7 + ;; code offset: 0x13a0 (local.get $3) ) ) - ;; code offset: 0x12c4 + ;; code offset: 0x13af (local.set $166 - ;; code offset: 0x12c1 + ;; code offset: 0x13ab (i32.load $mimport$0 offset=8 - ;; code offset: 0x12bf + ;; code offset: 0x13a9 (local.get $3) ) ) - ;; code offset: 0x12ca + ;; code offset: 0x13b5 (local.set $167 - ;; code offset: 0x12c7 + ;; code offset: 0x13b2 (local.get $165) ) - ;; code offset: 0x12d0 + ;; code offset: 0x13bb (local.set $168 - ;; code offset: 0x12cd + ;; code offset: 0x13b8 (local.get $166) ) - ;; code offset: 0x12da + ;; code offset: 0x13c5 (local.set $169 - ;; code offset: 0x12d9 + ;; code offset: 0x13c4 (i32.lt_s - ;; code offset: 0x12d3 + ;; code offset: 0x13be (local.get $167) - ;; code offset: 0x12d6 + ;; code offset: 0x13c1 (local.get $168) ) ) - ;; code offset: 0x12df + ;; code offset: 0x13ca (local.set $170 - ;; code offset: 0x12dd + ;; code offset: 0x13c8 (i32.const 1) ) - ;; code offset: 0x12e9 + ;; code offset: 0x13d4 (local.set $171 - ;; code offset: 0x12e8 + ;; code offset: 0x13d3 (i32.and - ;; code offset: 0x12e2 + ;; code offset: 0x13cd (local.get $169) - ;; code offset: 0x12e5 + ;; code offset: 0x13d0 (local.get $170) ) ) - ;; code offset: 0x12ec + ;; code offset: 0x13d7 (block $label$21 - ;; code offset: 0x12f2 + ;; code offset: 0x13dd (br_if $label$21 - ;; code offset: 0x12f1 + ;; code offset: 0x13dc (i32.eqz - ;; code offset: 0x12ee + ;; code offset: 0x13d9 (local.get $171) ) ) - ;; code offset: 0x12f9 + ;; code offset: 0x13e5 (local.set $172 - ;; code offset: 0x12f6 + ;; code offset: 0x13e1 (i32.load $mimport$0 offset=8 - ;; code offset: 0x12f4 + ;; code offset: 0x13df (local.get $3) ) ) - ;; code offset: 0x1301 + ;; code offset: 0x13ed (i32.store $mimport$0 offset=12 - ;; code offset: 0x12fc + ;; code offset: 0x13e8 (local.get $3) - ;; code offset: 0x12fe + ;; code offset: 0x13ea (local.get $172) ) ) - ;; code offset: 0x130a + ;; code offset: 0x13f8 (local.set $173 - ;; code offset: 0x1307 + ;; code offset: 0x13f4 (i32.load $mimport$0 offset=40 - ;; code offset: 0x1305 + ;; code offset: 0x13f2 (local.get $3) ) ) - ;; code offset: 0x1312 + ;; code offset: 0x1400 (i32.store $mimport$0 offset=36 - ;; code offset: 0x130d + ;; code offset: 0x13fb (local.get $3) - ;; code offset: 0x130f + ;; code offset: 0x13fd (local.get $173) ) - ;; code offset: 0x131a + ;; code offset: 0x140a (local.set $174 - ;; code offset: 0x1317 + ;; code offset: 0x1406 (i32.load $mimport$0 offset=40 - ;; code offset: 0x1315 + ;; code offset: 0x1404 (local.get $3) ) ) - ;; code offset: 0x1323 + ;; code offset: 0x1414 (local.set $175 - ;; code offset: 0x1320 + ;; code offset: 0x1410 (i32.load $mimport$0 offset=8 - ;; code offset: 0x131d + ;; code offset: 0x140d (local.get $174) ) ) - ;; code offset: 0x132b + ;; code offset: 0x141c (i32.store $mimport$0 offset=40 - ;; code offset: 0x1326 + ;; code offset: 0x1417 (local.get $3) - ;; code offset: 0x1328 + ;; code offset: 0x1419 (local.get $175) ) - ;; code offset: 0x1333 + ;; code offset: 0x1426 (local.set $176 - ;; code offset: 0x1330 + ;; code offset: 0x1422 (i32.load $mimport$0 offset=36 - ;; code offset: 0x132e + ;; code offset: 0x1420 (local.get $3) ) ) - ;; code offset: 0x1339 + ;; code offset: 0x142c (call $free - ;; code offset: 0x1336 + ;; code offset: 0x1429 (local.get $176) ) - ;; code offset: 0x133b + ;; code offset: 0x142e (br $label$20) ) ) - ;; code offset: 0x1345 + ;; code offset: 0x1439 (local.set $177 - ;; code offset: 0x1342 + ;; code offset: 0x1435 (i32.load $mimport$0 offset=12 - ;; code offset: 0x1340 + ;; code offset: 0x1433 (local.get $3) ) ) - ;; code offset: 0x134a + ;; code offset: 0x143e (local.set $178 - ;; code offset: 0x1348 + ;; code offset: 0x143c (i32.const 48) ) - ;; code offset: 0x1353 + ;; code offset: 0x1447 (local.set $179 - ;; code offset: 0x1352 + ;; code offset: 0x1446 (i32.add - ;; code offset: 0x134d + ;; code offset: 0x1441 (local.get $3) - ;; code offset: 0x134f + ;; code offset: 0x1443 (local.get $178) ) ) - ;; code offset: 0x1359 + ;; code offset: 0x144d (global.set $global$0 - ;; code offset: 0x1356 + ;; code offset: 0x144a (local.get $179) ) - ;; code offset: 0x135e + ;; code offset: 0x1452 (return - ;; code offset: 0x135b + ;; code offset: 0x144f (local.get $177) ) ) diff --git a/test/passes/fannkuch3_dwarf.bin.txt b/test/passes/fannkuch3_dwarf.bin.txt index 78d590a61a5..4613a1b3997 100644 --- a/test/passes/fannkuch3_dwarf.bin.txt +++ b/test/passes/fannkuch3_dwarf.bin.txt @@ -2469,8 +2469,8 @@ Abbrev table for offset: 0x00000000 DW_AT_comp_dir [DW_FORM_strp] ( .debug_str[0x000000a9] = "/usr/local/google/home/azakai/Dev/2-binaryen") DW_AT_low_pc [DW_FORM_addr] (0x0000000000000000) DW_AT_ranges [DW_FORM_sec_offset] (0x00000040 - [0x00000006, 0x000003a3) - [0x000003a5, 0x000006ab)) + [0x00000006, 0x000003cb) + [0x000003cd, 0x000006eb)) 0x00000026: DW_TAG_pointer_type [2] DW_AT_type [DW_FORM_ref4] (cu + 0x002b => {0x0000002b} "worker_args") @@ -2534,7 +2534,7 @@ Abbrev table for offset: 0x00000000 0x00000082: DW_TAG_subprogram [10] * DW_AT_low_pc [DW_FORM_addr] (0x0000000000000006) - DW_AT_high_pc [DW_FORM_data4] (0x0000039d) + DW_AT_high_pc [DW_FORM_data4] (0x000003c5) DW_AT_frame_base [DW_FORM_exprloc] (DW_OP_WASM_location 0x1 +0, DW_OP_stack_value) DW_AT_GNU_all_call_sites [DW_FORM_flag_present] (true) DW_AT_linkage_name [DW_FORM_strp] ( .debug_str[0x00000166] = "_Z15fannkuch_workerPv") @@ -2559,7 +2559,7 @@ Abbrev table for offset: 0x00000000 0x000000b4: DW_TAG_variable [13] DW_AT_location [DW_FORM_sec_offset] (0x00000000: [0xffffffff, 0x00000006): - [0x00000000, 0x0000004e): DW_OP_consts +0, DW_OP_stack_value) + [0x00000000, 0x0000004f): DW_OP_consts +0, DW_OP_stack_value) DW_AT_name [DW_FORM_strp] ( .debug_str[0x0000014c] = "maxflips") DW_AT_decl_file [DW_FORM_data1] ("/usr/local/google/home/azakai/Dev/emscripten/tests/fannkuch.cpp") DW_AT_decl_line [DW_FORM_data1] (30) @@ -2568,15 +2568,15 @@ Abbrev table for offset: 0x00000000 0x000000c3: DW_TAG_variable [13] DW_AT_location [DW_FORM_sec_offset] (0x0000001d: [0xffffffff, 0x0000002b): - [0x00000000, 0x00000029): DW_OP_consts +0, DW_OP_stack_value - [0x0000003f, 0x00000044): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value - [0x000000d5, 0x000000de): DW_OP_consts +1, DW_OP_stack_value - [0x0000011a, 0x00000124): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value - [0x00000162, 0x0000016f): DW_OP_consts +0, DW_OP_stack_value - [0x0000024f, 0x0000025a): DW_OP_consts +0, DW_OP_stack_value - [0x00000260, 0x00000269): DW_OP_consts +1, DW_OP_stack_value - [0x000002a5, 0x000002af): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value - [0x000002ed, 0x000002fa): DW_OP_consts +0, DW_OP_stack_value) + [0x00000000, 0x0000002a): DW_OP_consts +0, DW_OP_stack_value + [0x00000041, 0x00000046): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value + [0x000000de, 0x000000e7): DW_OP_consts +1, DW_OP_stack_value + [0x00000127, 0x00000131): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value + [0x00000171, 0x0000017e): DW_OP_consts +0, DW_OP_stack_value + [0x0000026a, 0x00000276): DW_OP_consts +0, DW_OP_stack_value + [0x0000027c, 0x00000285): DW_OP_consts +1, DW_OP_stack_value + [0x000002c5, 0x000002cf): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value + [0x0000030f, 0x0000031c): DW_OP_consts +0, DW_OP_stack_value) DW_AT_name [DW_FORM_strp] ( .debug_str[0x000000d6] = "i") DW_AT_decl_file [DW_FORM_data1] ("/usr/local/google/home/azakai/Dev/emscripten/tests/fannkuch.cpp") DW_AT_decl_line [DW_FORM_data1] (30) @@ -2584,7 +2584,7 @@ Abbrev table for offset: 0x00000000 0x000000d2: DW_TAG_variable [13] DW_AT_location [DW_FORM_sec_offset] (0x000000a5: - [0xffffffff, 0x00000032): + [0xffffffff, 0x00000033): [0x00000000, 0x00000022): DW_OP_WASM_location 0x0 +2, DW_OP_stack_value) DW_AT_name [DW_FORM_strp] ( .debug_str[0x000000dc] = "n") DW_AT_decl_file [DW_FORM_data1] ("/usr/local/google/home/azakai/Dev/emscripten/tests/fannkuch.cpp") @@ -2593,7 +2593,7 @@ Abbrev table for offset: 0x00000000 0x000000e1: DW_TAG_variable [13] DW_AT_location [DW_FORM_sec_offset] (0x000000c3: - [0xffffffff, 0x0000003b): + [0xffffffff, 0x0000003c): [0x00000000, 0x00000019): DW_OP_WASM_location 0x0 +4, DW_OP_stack_value) DW_AT_name [DW_FORM_strp] ( .debug_str[0x0000013e] = "perm1") DW_AT_decl_file [DW_FORM_data1] ("/usr/local/google/home/azakai/Dev/emscripten/tests/fannkuch.cpp") @@ -2602,7 +2602,7 @@ Abbrev table for offset: 0x00000000 0x000000f0: DW_TAG_variable [13] DW_AT_location [DW_FORM_sec_offset] (0x000000e1: - [0xffffffff, 0x00000041): + [0xffffffff, 0x00000042): [0x00000000, 0x00000013): DW_OP_WASM_location 0x0 +5, DW_OP_stack_value) DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000196] = "perm") DW_AT_decl_file [DW_FORM_data1] ("/usr/local/google/home/azakai/Dev/emscripten/tests/fannkuch.cpp") @@ -2611,7 +2611,7 @@ Abbrev table for offset: 0x00000000 0x000000ff: DW_TAG_variable [13] DW_AT_location [DW_FORM_sec_offset] (0x000000ff: - [0xffffffff, 0x00000047): + [0xffffffff, 0x00000048): [0x00000000, 0x0000000d): DW_OP_WASM_location 0x0 +6, DW_OP_stack_value) DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000144] = "count") DW_AT_decl_file [DW_FORM_data1] ("/usr/local/google/home/azakai/Dev/emscripten/tests/fannkuch.cpp") @@ -2620,9 +2620,9 @@ Abbrev table for offset: 0x00000000 0x0000010e: DW_TAG_variable [13] DW_AT_location [DW_FORM_sec_offset] (0x0000011d: - [0xffffffff, 0x000001f6): + [0xffffffff, 0x0000020a): [0x00000000, 0x00000005): DW_OP_WASM_location 0x0 +2, DW_OP_stack_value - [0x0000018b, 0x00000190): DW_OP_WASM_location 0x0 +2, DW_OP_stack_value) + [0x0000019e, 0x000001a3): DW_OP_WASM_location 0x0 +2, DW_OP_stack_value) DW_AT_name [DW_FORM_strp] ( .debug_str[0x0000014a] = "r") DW_AT_decl_file [DW_FORM_data1] ("/usr/local/google/home/azakai/Dev/emscripten/tests/fannkuch.cpp") DW_AT_decl_line [DW_FORM_data1] (30) @@ -2630,13 +2630,13 @@ Abbrev table for offset: 0x00000000 0x0000011d: DW_TAG_variable [13] DW_AT_location [DW_FORM_sec_offset] (0x00000149: - [0xffffffff, 0x000000e7): - [0x00000000, 0x00000013): DW_OP_consts +0, DW_OP_stack_value - [0x00000019, 0x00000022): DW_OP_WASM_location 0x0 +13, DW_OP_stack_value - [0x00000087, 0x0000008f): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value - [0x00000193, 0x0000019e): DW_OP_consts +0, DW_OP_stack_value - [0x000001a4, 0x000001ad): DW_OP_WASM_location 0x0 +10, DW_OP_stack_value - [0x00000212, 0x0000021a): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value) + [0xffffffff, 0x000000ef): + [0x00000000, 0x00000014): DW_OP_consts +0, DW_OP_stack_value + [0x0000001a, 0x00000023): DW_OP_WASM_location 0x0 +13, DW_OP_stack_value + [0x0000008e, 0x00000096): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value + [0x000001a6, 0x000001b2): DW_OP_consts +0, DW_OP_stack_value + [0x000001b8, 0x000001c1): DW_OP_WASM_location 0x0 +10, DW_OP_stack_value + [0x0000022c, 0x00000234): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value) DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000155] = "flips") DW_AT_decl_file [DW_FORM_data1] ("/usr/local/google/home/azakai/Dev/emscripten/tests/fannkuch.cpp") DW_AT_decl_line [DW_FORM_data1] (30) @@ -2644,9 +2644,9 @@ Abbrev table for offset: 0x00000000 0x0000012c: DW_TAG_variable [13] DW_AT_location [DW_FORM_sec_offset] (0x000001ab: - [0xffffffff, 0x000000f6): + [0xffffffff, 0x000000ff): [0x00000000, 0x00000004): DW_OP_WASM_location 0x0 +12, DW_OP_stack_value - [0x0000018b, 0x0000018f): DW_OP_WASM_location 0x0 +16, DW_OP_stack_value) + [0x0000019e, 0x000001a2): DW_OP_WASM_location 0x0 +16, DW_OP_stack_value) DW_AT_name [DW_FORM_strp] ( .debug_str[0x0000019b] = "k") DW_AT_decl_file [DW_FORM_data1] ("/usr/local/google/home/azakai/Dev/emscripten/tests/fannkuch.cpp") DW_AT_decl_line [DW_FORM_data1] (30) @@ -2654,11 +2654,11 @@ Abbrev table for offset: 0x00000000 0x0000013b: DW_TAG_variable [13] DW_AT_location [DW_FORM_sec_offset] (0x000001d7: - [0xffffffff, 0x00000110): + [0xffffffff, 0x00000119): [0x00000000, 0x00000004): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value - [0x0000003c, 0x0000003f): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value - [0x0000018b, 0x0000018f): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value - [0x000001c7, 0x000001ca): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value) + [0x00000040, 0x00000043): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value + [0x0000019e, 0x000001a2): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value + [0x000001de, 0x000001e1): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value) DW_AT_name [DW_FORM_strp] ( .debug_str[0x0000019d] = "j") DW_AT_decl_file [DW_FORM_data1] ("/usr/local/google/home/azakai/Dev/emscripten/tests/fannkuch.cpp") DW_AT_decl_line [DW_FORM_data1] (30) @@ -2666,11 +2666,11 @@ Abbrev table for offset: 0x00000000 0x0000014a: DW_TAG_variable [13] DW_AT_location [DW_FORM_sec_offset] (0x0000021f: - [0xffffffff, 0x00000125): - [0x00000000, 0x0000002a): DW_OP_WASM_location 0x0 +15, DW_OP_stack_value - [0x0000003b, 0x00000051): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value - [0x0000018b, 0x000001b5): DW_OP_WASM_location 0x0 +14, DW_OP_stack_value - [0x000001c6, 0x000001dc): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value) + [0xffffffff, 0x0000012f): + [0x00000000, 0x0000002d): DW_OP_WASM_location 0x0 +15, DW_OP_stack_value + [0x0000003f, 0x00000056): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value + [0x0000019e, 0x000001cb): DW_OP_WASM_location 0x0 +14, DW_OP_stack_value + [0x000001dd, 0x000001f4): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value) DW_AT_name [DW_FORM_strp] ( .debug_str[0x0000019f] = "tmp") DW_AT_decl_file [DW_FORM_data1] ("/usr/local/google/home/azakai/Dev/emscripten/tests/fannkuch.cpp") DW_AT_decl_line [DW_FORM_data1] (30) @@ -2678,10 +2678,10 @@ Abbrev table for offset: 0x00000000 0x00000159: DW_TAG_lexical_block [14] * DW_AT_ranges [DW_FORM_sec_offset] (0x00000000 - [0x00000193, 0x000001d1) - [0x000001fb, 0x00000204) - [0x0000031e, 0x0000035c) - [0x00000386, 0x0000038f)) + [0x000001a2, 0x000001e3) + [0x0000020f, 0x00000219) + [0x00000340, 0x00000381) + [0x000003ad, 0x000003b7)) 0x0000015e: DW_TAG_variable [12] DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000163] = "p0") @@ -2692,28 +2692,28 @@ Abbrev table for offset: 0x00000000 0x00000169: NULL 0x0000016a: DW_TAG_GNU_call_site [15] - DW_AT_low_pc [DW_FORM_addr] (0x0000000000000039) + DW_AT_low_pc [DW_FORM_addr] (0x000000000000003a) 0x0000016f: DW_TAG_GNU_call_site [15] - DW_AT_low_pc [DW_FORM_addr] (0x000000000000003f) + DW_AT_low_pc [DW_FORM_addr] (0x0000000000000040) 0x00000174: DW_TAG_GNU_call_site [15] - DW_AT_low_pc [DW_FORM_addr] (0x0000000000000045) + DW_AT_low_pc [DW_FORM_addr] (0x0000000000000046) 0x00000179: DW_TAG_GNU_call_site [15] - DW_AT_low_pc [DW_FORM_addr] (0x00000000000000ef) + DW_AT_low_pc [DW_FORM_addr] (0x00000000000000f7) 0x0000017e: DW_TAG_GNU_call_site [16] DW_AT_abstract_origin [DW_FORM_ref4] (cu + 0x019a => {0x0000019a} "free") - DW_AT_low_pc [DW_FORM_addr] (0x0000000000000398) + DW_AT_low_pc [DW_FORM_addr] (0x00000000000003c0) 0x00000187: DW_TAG_GNU_call_site [16] DW_AT_abstract_origin [DW_FORM_ref4] (cu + 0x019a => {0x0000019a} "free") - DW_AT_low_pc [DW_FORM_addr] (0x000000000000039c) + DW_AT_low_pc [DW_FORM_addr] (0x00000000000003c4) 0x00000190: DW_TAG_GNU_call_site [16] DW_AT_abstract_origin [DW_FORM_ref4] (cu + 0x019a => {0x0000019a} "free") - DW_AT_low_pc [DW_FORM_addr] (0x00000000000003a0) + DW_AT_low_pc [DW_FORM_addr] (0x00000000000003c8) 0x00000199: NULL @@ -2817,8 +2817,8 @@ Abbrev table for offset: 0x00000000 0x0000023a: NULL 0x0000023b: DW_TAG_subprogram [23] * - DW_AT_low_pc [DW_FORM_addr] (0x00000000000003a5) - DW_AT_high_pc [DW_FORM_data4] (0x00000306) + DW_AT_low_pc [DW_FORM_addr] (0x00000000000003cd) + DW_AT_high_pc [DW_FORM_data4] (0x0000031e) DW_AT_frame_base [DW_FORM_exprloc] (DW_OP_WASM_location 0x0 +2, DW_OP_stack_value) DW_AT_GNU_all_call_sites [DW_FORM_flag_present] (true) DW_AT_name [DW_FORM_strp] ( .debug_str[0x0000018c] = "main") @@ -2841,7 +2841,7 @@ Abbrev table for offset: 0x00000000 0x00000269: DW_TAG_variable [13] DW_AT_location [DW_FORM_sec_offset] (0x00000267: - [0xffffffff, 0x000003d7): + [0xffffffff, 0x00000400): [0x00000000, 0x00000005): DW_OP_WASM_location 0x0 +4, DW_OP_stack_value) DW_AT_name [DW_FORM_strp] ( .debug_str[0x000000dc] = "n") DW_AT_decl_file [DW_FORM_data1] ("/usr/local/google/home/azakai/Dev/emscripten/tests/fannkuch.cpp") @@ -2850,8 +2850,8 @@ Abbrev table for offset: 0x00000000 0x00000278: DW_TAG_inlined_subroutine [24] * DW_AT_abstract_origin [DW_FORM_ref4] (cu + 0x01a8 => {0x000001a8} "_ZL8fannkuchi") - DW_AT_low_pc [DW_FORM_addr] (0x00000000000003ec) - DW_AT_high_pc [DW_FORM_data4] (0x0000029e) + DW_AT_low_pc [DW_FORM_addr] (0x0000000000000415) + DW_AT_high_pc [DW_FORM_data4] (0x000002b3) DW_AT_call_file [DW_FORM_data1] ("/usr/local/google/home/azakai/Dev/emscripten/tests/fannkuch.cpp") DW_AT_call_line [DW_FORM_data1] (159) DW_AT_call_column [DW_FORM_data1] (0x29) @@ -2861,29 +2861,29 @@ Abbrev table for offset: 0x00000000 0x0000028d: DW_TAG_variable [26] DW_AT_location [DW_FORM_sec_offset] (0x00000285: - [0xffffffff, 0x000003ea): + [0xffffffff, 0x00000413): [0x00000000, 0x00000009): DW_OP_consts +30, DW_OP_stack_value) DW_AT_abstract_origin [DW_FORM_ref4] (cu + 0x01c3 => {0x000001c3} "showmax") 0x00000296: DW_TAG_variable [26] DW_AT_location [DW_FORM_sec_offset] (0x000002a2: - [0xffffffff, 0x000003ea): + [0xffffffff, 0x00000413): [0x00000000, 0x00000009): DW_OP_lit0, DW_OP_stack_value - [0x00000286, 0x0000029e): DW_OP_WASM_location 0x0 +6, DW_OP_stack_value) + [0x0000029b, 0x000002b3): DW_OP_WASM_location 0x0 +6, DW_OP_stack_value) DW_AT_abstract_origin [DW_FORM_ref4] (cu + 0x01ce => {0x000001ce} "args") 0x0000029f: DW_TAG_variable [26] DW_AT_location [DW_FORM_sec_offset] (0x000002cc: - [0xffffffff, 0x000003ea): + [0xffffffff, 0x00000413): [0x00000000, 0x00000009): DW_OP_consts +0, DW_OP_stack_value - [0x0000003e, 0x00000043): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value - [0x00000049, 0x00000069): DW_OP_consts +0, DW_OP_stack_value - [0x0000007f, 0x00000084): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value - [0x0000009d, 0x000000a1): DW_OP_consts +0, DW_OP_stack_value - [0x000000c8, 0x000000cd): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value - [0x00000115, 0x00000125): DW_OP_consts +0, DW_OP_stack_value - [0x00000198, 0x000001a6): DW_OP_consts +0, DW_OP_stack_value - [0x000001db, 0x000001ef): DW_OP_consts +0, DW_OP_stack_value) + [0x00000041, 0x00000046): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value + [0x0000004c, 0x0000006c): DW_OP_consts +0, DW_OP_stack_value + [0x00000083, 0x00000088): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value + [0x000000a1, 0x000000a5): DW_OP_consts +0, DW_OP_stack_value + [0x000000ce, 0x000000d3): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value + [0x0000011c, 0x0000012d): DW_OP_consts +0, DW_OP_stack_value + [0x000001a5, 0x000001b3): DW_OP_consts +0, DW_OP_stack_value + [0x000001e9, 0x000001fe): DW_OP_consts +0, DW_OP_stack_value) DW_AT_abstract_origin [DW_FORM_ref4] (cu + 0x01d9 => {0x000001d9} "i") 0x000002a8: DW_TAG_variable [27] @@ -2891,50 +2891,50 @@ Abbrev table for offset: 0x00000000 0x000002ad: DW_TAG_variable [26] DW_AT_location [DW_FORM_sec_offset] (0x00000354: - [0xffffffff, 0x0000043e): + [0xffffffff, 0x0000046a): [0x00000000, 0x00000015): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value) DW_AT_abstract_origin [DW_FORM_ref4] (cu + 0x01ef => {0x000001ef} "perm1") 0x000002b6: DW_TAG_variable [26] DW_AT_location [DW_FORM_sec_offset] (0x00000372: - [0xffffffff, 0x00000444): + [0xffffffff, 0x00000470): [0x00000000, 0x0000000f): DW_OP_WASM_location 0x0 +5, DW_OP_stack_value) DW_AT_abstract_origin [DW_FORM_ref4] (cu + 0x01fa => {0x000001fa} "count") 0x000002bf: DW_TAG_variable [26] DW_AT_location [DW_FORM_sec_offset] (0x00000390: - [0xffffffff, 0x0000056d): + [0xffffffff, 0x000005a3): [0x00000000, 0x00000007): DW_OP_WASM_location 0x0 +6, DW_OP_stack_value - [0x000000ca, 0x000000d1): DW_OP_WASM_location 0x0 +6, DW_OP_stack_value) + [0x000000d1, 0x000000d8): DW_OP_WASM_location 0x0 +6, DW_OP_stack_value) DW_AT_abstract_origin [DW_FORM_ref4] (cu + 0x0205 => {0x00000205} "r") 0x000002c8: DW_TAG_variable [26] DW_AT_location [DW_FORM_sec_offset] (0x000003e8: - [0xffffffff, 0x00000652): + [0xffffffff, 0x0000068f): [0x00000000, 0x0000000b): DW_OP_consts +0, DW_OP_stack_value - [0x0000002e, 0x00000036): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value) + [0x0000002f, 0x00000037): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value) DW_AT_abstract_origin [DW_FORM_ref4] (cu + 0x0210 => {0x00000210} "maxflips") 0x000002d1: DW_TAG_variable [26] DW_AT_location [DW_FORM_sec_offset] (0x00000413: - [0xffffffff, 0x00000669): - [0x00000000, 0x0000001f): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value) + [0xffffffff, 0x000006a6): + [0x00000000, 0x00000020): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value) DW_AT_abstract_origin [DW_FORM_ref4] (cu + 0x021b => {0x0000021b} "flips") 0x000002da: DW_TAG_label [28] DW_AT_abstract_origin [DW_FORM_ref4] (cu + 0x0226 => {0x00000226} "cleanup") - DW_AT_low_pc [DW_FORM_addr] (0x0000000000000646) + DW_AT_low_pc [DW_FORM_addr] (0x0000000000000683) 0x000002e3: DW_TAG_lexical_block [14] * DW_AT_ranges [DW_FORM_sec_offset] (0x00000028 - [0x000004ff, 0x00000546) - [0x000005c3, 0x00000610)) + [0x0000052f, 0x0000057a) + [0x000005fa, 0x0000064b)) 0x000002e8: DW_TAG_variable [26] DW_AT_location [DW_FORM_sec_offset] (0x000003bc: - [0xffffffff, 0x00000506): + [0xffffffff, 0x00000537): [0x00000000, 0x00000009): DW_OP_WASM_location 0x0 +8, DW_OP_stack_value - [0x000000c6, 0x000000d3): DW_OP_WASM_location 0x0 +8, DW_OP_stack_value) + [0x000000cd, 0x000000da): DW_OP_WASM_location 0x0 +8, DW_OP_stack_value) DW_AT_abstract_origin [DW_FORM_ref4] (cu + 0x022e => {0x0000022e} "p0") 0x000002f1: NULL @@ -2942,46 +2942,46 @@ Abbrev table for offset: 0x00000000 0x000002f2: NULL 0x000002f3: DW_TAG_GNU_call_site [15] - DW_AT_low_pc [DW_FORM_addr] (0x00000000000003d5) + DW_AT_low_pc [DW_FORM_addr] (0x00000000000003fe) 0x000002f8: DW_TAG_GNU_call_site [15] - DW_AT_low_pc [DW_FORM_addr] (0x00000000000003e2) + DW_AT_low_pc [DW_FORM_addr] (0x000000000000040b) 0x000002fd: DW_TAG_GNU_call_site [15] - DW_AT_low_pc [DW_FORM_addr] (0x0000000000000408) + DW_AT_low_pc [DW_FORM_addr] (0x0000000000000431) 0x00000302: DW_TAG_GNU_call_site [15] - DW_AT_low_pc [DW_FORM_addr] (0x000000000000043c) + DW_AT_low_pc [DW_FORM_addr] (0x0000000000000468) 0x00000307: DW_TAG_GNU_call_site [15] - DW_AT_low_pc [DW_FORM_addr] (0x0000000000000442) + DW_AT_low_pc [DW_FORM_addr] (0x000000000000046e) 0x0000030c: DW_TAG_GNU_call_site [15] - DW_AT_low_pc [DW_FORM_addr] (0x00000000000004aa) + DW_AT_low_pc [DW_FORM_addr] (0x00000000000004d9) 0x00000311: DW_TAG_GNU_call_site [15] - DW_AT_low_pc [DW_FORM_addr] (0x00000000000004bc) + DW_AT_low_pc [DW_FORM_addr] (0x00000000000004eb) 0x00000316: DW_TAG_GNU_call_site [15] - DW_AT_low_pc [DW_FORM_addr] (0x0000000000000586) + DW_AT_low_pc [DW_FORM_addr] (0x00000000000005bc) 0x0000031b: DW_TAG_GNU_call_site [16] DW_AT_abstract_origin [DW_FORM_ref4] (cu + 0x019a => {0x0000019a} "free") - DW_AT_low_pc [DW_FORM_addr] (0x000000000000064a) + DW_AT_low_pc [DW_FORM_addr] (0x0000000000000687) 0x00000324: DW_TAG_GNU_call_site [16] DW_AT_abstract_origin [DW_FORM_ref4] (cu + 0x019a => {0x0000019a} "free") - DW_AT_low_pc [DW_FORM_addr] (0x000000000000064e) + DW_AT_low_pc [DW_FORM_addr] (0x000000000000068b) 0x0000032d: DW_TAG_GNU_call_site [15] - DW_AT_low_pc [DW_FORM_addr] (0x0000000000000667) + DW_AT_low_pc [DW_FORM_addr] (0x00000000000006a4) 0x00000332: DW_TAG_GNU_call_site [16] DW_AT_abstract_origin [DW_FORM_ref4] (cu + 0x019a => {0x0000019a} "free") - DW_AT_low_pc [DW_FORM_addr] (0x0000000000000674) + DW_AT_low_pc [DW_FORM_addr] (0x00000000000006b2) 0x0000033b: DW_TAG_GNU_call_site [15] - DW_AT_low_pc [DW_FORM_addr] (0x000000000000069f) + DW_AT_low_pc [DW_FORM_addr] (0x00000000000006df) 0x00000340: NULL @@ -3001,120 +3001,120 @@ Abbrev table for offset: 0x00000000 .debug_loc contents: 0x00000000: [0xffffffff, 0x00000006): - [0x00000000, 0x0000004e): DW_OP_consts +0, DW_OP_stack_value + [0x00000000, 0x0000004f): DW_OP_consts +0, DW_OP_stack_value 0x0000001d: [0xffffffff, 0x0000002b): - [0x00000000, 0x00000029): DW_OP_consts +0, DW_OP_stack_value - [0x0000003f, 0x00000044): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value - [0x000000d5, 0x000000de): DW_OP_consts +1, DW_OP_stack_value - [0x0000011a, 0x00000124): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value - [0x00000162, 0x0000016f): DW_OP_consts +0, DW_OP_stack_value - [0x0000024f, 0x0000025a): DW_OP_consts +0, DW_OP_stack_value - [0x00000260, 0x00000269): DW_OP_consts +1, DW_OP_stack_value - [0x000002a5, 0x000002af): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value - [0x000002ed, 0x000002fa): DW_OP_consts +0, DW_OP_stack_value + [0x00000000, 0x0000002a): DW_OP_consts +0, DW_OP_stack_value + [0x00000041, 0x00000046): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value + [0x000000de, 0x000000e7): DW_OP_consts +1, DW_OP_stack_value + [0x00000127, 0x00000131): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value + [0x00000171, 0x0000017e): DW_OP_consts +0, DW_OP_stack_value + [0x0000026a, 0x00000276): DW_OP_consts +0, DW_OP_stack_value + [0x0000027c, 0x00000285): DW_OP_consts +1, DW_OP_stack_value + [0x000002c5, 0x000002cf): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value + [0x0000030f, 0x0000031c): DW_OP_consts +0, DW_OP_stack_value 0x000000a5: - [0xffffffff, 0x00000032): + [0xffffffff, 0x00000033): [0x00000000, 0x00000022): DW_OP_WASM_location 0x0 +2, DW_OP_stack_value 0x000000c3: - [0xffffffff, 0x0000003b): + [0xffffffff, 0x0000003c): [0x00000000, 0x00000019): DW_OP_WASM_location 0x0 +4, DW_OP_stack_value 0x000000e1: - [0xffffffff, 0x00000041): + [0xffffffff, 0x00000042): [0x00000000, 0x00000013): DW_OP_WASM_location 0x0 +5, DW_OP_stack_value 0x000000ff: - [0xffffffff, 0x00000047): + [0xffffffff, 0x00000048): [0x00000000, 0x0000000d): DW_OP_WASM_location 0x0 +6, DW_OP_stack_value 0x0000011d: - [0xffffffff, 0x000001f6): + [0xffffffff, 0x0000020a): [0x00000000, 0x00000005): DW_OP_WASM_location 0x0 +2, DW_OP_stack_value - [0x0000018b, 0x00000190): DW_OP_WASM_location 0x0 +2, DW_OP_stack_value + [0x0000019e, 0x000001a3): DW_OP_WASM_location 0x0 +2, DW_OP_stack_value 0x00000149: - [0xffffffff, 0x000000e7): - [0x00000000, 0x00000013): DW_OP_consts +0, DW_OP_stack_value - [0x00000019, 0x00000022): DW_OP_WASM_location 0x0 +13, DW_OP_stack_value - [0x00000087, 0x0000008f): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value - [0x00000193, 0x0000019e): DW_OP_consts +0, DW_OP_stack_value - [0x000001a4, 0x000001ad): DW_OP_WASM_location 0x0 +10, DW_OP_stack_value - [0x00000212, 0x0000021a): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value + [0xffffffff, 0x000000ef): + [0x00000000, 0x00000014): DW_OP_consts +0, DW_OP_stack_value + [0x0000001a, 0x00000023): DW_OP_WASM_location 0x0 +13, DW_OP_stack_value + [0x0000008e, 0x00000096): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value + [0x000001a6, 0x000001b2): DW_OP_consts +0, DW_OP_stack_value + [0x000001b8, 0x000001c1): DW_OP_WASM_location 0x0 +10, DW_OP_stack_value + [0x0000022c, 0x00000234): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value 0x000001ab: - [0xffffffff, 0x000000f6): + [0xffffffff, 0x000000ff): [0x00000000, 0x00000004): DW_OP_WASM_location 0x0 +12, DW_OP_stack_value - [0x0000018b, 0x0000018f): DW_OP_WASM_location 0x0 +16, DW_OP_stack_value + [0x0000019e, 0x000001a2): DW_OP_WASM_location 0x0 +16, DW_OP_stack_value 0x000001d7: - [0xffffffff, 0x00000110): + [0xffffffff, 0x00000119): [0x00000000, 0x00000004): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value - [0x0000003c, 0x0000003f): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value - [0x0000018b, 0x0000018f): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value - [0x000001c7, 0x000001ca): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value + [0x00000040, 0x00000043): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value + [0x0000019e, 0x000001a2): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value + [0x000001de, 0x000001e1): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value 0x0000021f: - [0xffffffff, 0x00000125): - [0x00000000, 0x0000002a): DW_OP_WASM_location 0x0 +15, DW_OP_stack_value - [0x0000003b, 0x00000051): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value - [0x0000018b, 0x000001b5): DW_OP_WASM_location 0x0 +14, DW_OP_stack_value - [0x000001c6, 0x000001dc): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value + [0xffffffff, 0x0000012f): + [0x00000000, 0x0000002d): DW_OP_WASM_location 0x0 +15, DW_OP_stack_value + [0x0000003f, 0x00000056): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value + [0x0000019e, 0x000001cb): DW_OP_WASM_location 0x0 +14, DW_OP_stack_value + [0x000001dd, 0x000001f4): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value 0x00000267: - [0xffffffff, 0x000003d7): + [0xffffffff, 0x00000400): [0x00000000, 0x00000005): DW_OP_WASM_location 0x0 +4, DW_OP_stack_value 0x00000285: - [0xffffffff, 0x000003ea): + [0xffffffff, 0x00000413): [0x00000000, 0x00000009): DW_OP_consts +30, DW_OP_stack_value 0x000002a2: - [0xffffffff, 0x000003ea): + [0xffffffff, 0x00000413): [0x00000000, 0x00000009): DW_OP_lit0, DW_OP_stack_value - [0x00000286, 0x0000029e): DW_OP_WASM_location 0x0 +6, DW_OP_stack_value + [0x0000029b, 0x000002b3): DW_OP_WASM_location 0x0 +6, DW_OP_stack_value 0x000002cc: - [0xffffffff, 0x000003ea): + [0xffffffff, 0x00000413): [0x00000000, 0x00000009): DW_OP_consts +0, DW_OP_stack_value - [0x0000003e, 0x00000043): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value - [0x00000049, 0x00000069): DW_OP_consts +0, DW_OP_stack_value - [0x0000007f, 0x00000084): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value - [0x0000009d, 0x000000a1): DW_OP_consts +0, DW_OP_stack_value - [0x000000c8, 0x000000cd): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value - [0x00000115, 0x00000125): DW_OP_consts +0, DW_OP_stack_value - [0x00000198, 0x000001a6): DW_OP_consts +0, DW_OP_stack_value - [0x000001db, 0x000001ef): DW_OP_consts +0, DW_OP_stack_value + [0x00000041, 0x00000046): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value + [0x0000004c, 0x0000006c): DW_OP_consts +0, DW_OP_stack_value + [0x00000083, 0x00000088): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value + [0x000000a1, 0x000000a5): DW_OP_consts +0, DW_OP_stack_value + [0x000000ce, 0x000000d3): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value + [0x0000011c, 0x0000012d): DW_OP_consts +0, DW_OP_stack_value + [0x000001a5, 0x000001b3): DW_OP_consts +0, DW_OP_stack_value + [0x000001e9, 0x000001fe): DW_OP_consts +0, DW_OP_stack_value 0x00000354: - [0xffffffff, 0x0000043e): + [0xffffffff, 0x0000046a): [0x00000000, 0x00000015): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value 0x00000372: - [0xffffffff, 0x00000444): + [0xffffffff, 0x00000470): [0x00000000, 0x0000000f): DW_OP_WASM_location 0x0 +5, DW_OP_stack_value 0x00000390: - [0xffffffff, 0x0000056d): + [0xffffffff, 0x000005a3): [0x00000000, 0x00000007): DW_OP_WASM_location 0x0 +6, DW_OP_stack_value - [0x000000ca, 0x000000d1): DW_OP_WASM_location 0x0 +6, DW_OP_stack_value + [0x000000d1, 0x000000d8): DW_OP_WASM_location 0x0 +6, DW_OP_stack_value 0x000003bc: - [0xffffffff, 0x00000506): + [0xffffffff, 0x00000537): [0x00000000, 0x00000009): DW_OP_WASM_location 0x0 +8, DW_OP_stack_value - [0x000000c6, 0x000000d3): DW_OP_WASM_location 0x0 +8, DW_OP_stack_value + [0x000000cd, 0x000000da): DW_OP_WASM_location 0x0 +8, DW_OP_stack_value 0x000003e8: - [0xffffffff, 0x00000652): + [0xffffffff, 0x0000068f): [0x00000000, 0x0000000b): DW_OP_consts +0, DW_OP_stack_value - [0x0000002e, 0x00000036): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value + [0x0000002f, 0x00000037): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value 0x00000413: - [0xffffffff, 0x00000669): - [0x00000000, 0x0000001f): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value + [0xffffffff, 0x000006a6): + [0x00000000, 0x00000020): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value .debug_line contents: debug_line[0x00000000] @@ -3175,1569 +3175,1569 @@ file_names[ 4]: 0x000000000000002b 33 14 1 0 0 is_stmt prologue_end -0x000000fe: 00 DW_LNE_set_address (0x0000000000000034) +0x000000fe: 00 DW_LNE_set_address (0x0000000000000035) 0x00000105: 03 DW_LNS_advance_line (34) 0x00000107: 05 DW_LNS_set_column (27) 0x00000109: 01 DW_LNS_copy - 0x0000000000000034 34 27 1 0 0 is_stmt + 0x0000000000000035 34 27 1 0 0 is_stmt -0x0000010a: 00 DW_LNE_set_address (0x0000000000000035) +0x0000010a: 00 DW_LNE_set_address (0x0000000000000036) 0x00000111: 05 DW_LNS_set_column (18) 0x00000113: 06 DW_LNS_negate_stmt 0x00000114: 01 DW_LNS_copy - 0x0000000000000035 34 18 1 0 0 + 0x0000000000000036 34 18 1 0 0 -0x00000115: 00 DW_LNE_set_address (0x000000000000003b) +0x00000115: 00 DW_LNE_set_address (0x000000000000003c) 0x0000011c: 03 DW_LNS_advance_line (35) 0x0000011e: 05 DW_LNS_set_column (17) 0x00000120: 06 DW_LNS_negate_stmt 0x00000121: 01 DW_LNS_copy - 0x000000000000003b 35 17 1 0 0 is_stmt + 0x000000000000003c 35 17 1 0 0 is_stmt -0x00000122: 00 DW_LNE_set_address (0x0000000000000041) +0x00000122: 00 DW_LNE_set_address (0x0000000000000042) 0x00000129: 03 DW_LNS_advance_line (36) 0x0000012b: 05 DW_LNS_set_column (18) 0x0000012d: 01 DW_LNS_copy - 0x0000000000000041 36 18 1 0 0 is_stmt + 0x0000000000000042 36 18 1 0 0 is_stmt -0x0000012e: 00 DW_LNE_set_address (0x000000000000004d) +0x0000012e: 00 DW_LNE_set_address (0x000000000000004e) 0x00000135: 03 DW_LNS_advance_line (37) 0x00000137: 01 DW_LNS_copy - 0x000000000000004d 37 18 1 0 0 is_stmt + 0x000000000000004e 37 18 1 0 0 is_stmt -0x00000138: 00 DW_LNE_set_address (0x0000000000000052) +0x00000138: 00 DW_LNE_set_address (0x0000000000000053) 0x0000013f: 05 DW_LNS_set_column (4) 0x00000141: 06 DW_LNS_negate_stmt 0x00000142: 01 DW_LNS_copy - 0x0000000000000052 37 4 1 0 0 + 0x0000000000000053 37 4 1 0 0 -0x00000143: 00 DW_LNE_set_address (0x0000000000000056) +0x00000143: 00 DW_LNE_set_address (0x0000000000000057) 0x0000014a: 03 DW_LNS_advance_line (38) 0x0000014c: 05 DW_LNS_set_column (7) 0x0000014e: 06 DW_LNS_negate_stmt 0x0000014f: 01 DW_LNS_copy - 0x0000000000000056 38 7 1 0 0 is_stmt + 0x0000000000000057 38 7 1 0 0 is_stmt -0x00000150: 00 DW_LNE_set_address (0x000000000000005e) +0x00000150: 00 DW_LNE_set_address (0x000000000000005f) 0x00000157: 05 DW_LNS_set_column (16) 0x00000159: 06 DW_LNS_negate_stmt 0x0000015a: 01 DW_LNS_copy - 0x000000000000005e 38 16 1 0 0 + 0x000000000000005f 38 16 1 0 0 -0x0000015b: 00 DW_LNE_set_address (0x0000000000000063) +0x0000015b: 00 DW_LNE_set_address (0x0000000000000065) 0x00000162: 03 DW_LNS_advance_line (37) 0x00000164: 05 DW_LNS_set_column (24) 0x00000166: 06 DW_LNS_negate_stmt 0x00000167: 01 DW_LNS_copy - 0x0000000000000063 37 24 1 0 0 is_stmt + 0x0000000000000065 37 24 1 0 0 is_stmt -0x00000168: 00 DW_LNE_set_address (0x0000000000000068) +0x00000168: 00 DW_LNE_set_address (0x000000000000006a) 0x0000016f: 05 DW_LNS_set_column (18) 0x00000171: 06 DW_LNS_negate_stmt 0x00000172: 01 DW_LNS_copy - 0x0000000000000068 37 18 1 0 0 + 0x000000000000006a 37 18 1 0 0 -0x00000173: 00 DW_LNE_set_address (0x000000000000006d) +0x00000173: 00 DW_LNE_set_address (0x000000000000006f) 0x0000017a: 05 DW_LNS_set_column (4) 0x0000017c: 01 DW_LNS_copy - 0x000000000000006d 37 4 1 0 0 + 0x000000000000006f 37 4 1 0 0 -0x0000017d: 00 DW_LNE_set_address (0x0000000000000070) +0x0000017d: 00 DW_LNE_set_address (0x0000000000000072) 0x00000184: 03 DW_LNS_advance_line (39) 0x00000186: 06 DW_LNS_negate_stmt 0x00000187: 01 DW_LNS_copy - 0x0000000000000070 39 4 1 0 0 is_stmt + 0x0000000000000072 39 4 1 0 0 is_stmt -0x00000188: 00 DW_LNE_set_address (0x0000000000000072) +0x00000188: 00 DW_LNE_set_address (0x0000000000000074) 0x0000018f: 05 DW_LNS_set_column (16) 0x00000191: 06 DW_LNS_negate_stmt 0x00000192: 01 DW_LNS_copy - 0x0000000000000072 39 16 1 0 0 + 0x0000000000000074 39 16 1 0 0 -0x00000193: 00 DW_LNE_set_address (0x000000000000007b) +0x00000193: 00 DW_LNE_set_address (0x000000000000007e) 0x0000019a: 05 DW_LNS_set_column (4) 0x0000019c: 01 DW_LNS_copy - 0x000000000000007b 39 4 1 0 0 + 0x000000000000007e 39 4 1 0 0 -0x0000019d: 00 DW_LNE_set_address (0x000000000000007d) +0x0000019d: 00 DW_LNE_set_address (0x0000000000000080) 0x000001a4: 05 DW_LNS_set_column (23) 0x000001a6: 01 DW_LNS_copy - 0x000000000000007d 39 23 1 0 0 + 0x0000000000000080 39 23 1 0 0 -0x000001a7: 00 DW_LNE_set_address (0x0000000000000082) +0x000001a7: 00 DW_LNE_set_address (0x0000000000000085) 0x000001ae: 05 DW_LNS_set_column (19) 0x000001b0: 01 DW_LNS_copy - 0x0000000000000082 39 19 1 0 0 + 0x0000000000000085 39 19 1 0 0 -0x000001b1: 00 DW_LNE_set_address (0x0000000000000087) +0x000001b1: 00 DW_LNE_set_address (0x000000000000008b) 0x000001b8: 03 DW_LNS_advance_line (40) 0x000001ba: 05 DW_LNS_set_column (4) 0x000001bc: 06 DW_LNS_negate_stmt 0x000001bd: 01 DW_LNS_copy - 0x0000000000000087 40 4 1 0 0 is_stmt + 0x000000000000008b 40 4 1 0 0 is_stmt -0x000001be: 00 DW_LNE_set_address (0x000000000000008f) +0x000001be: 00 DW_LNE_set_address (0x0000000000000093) 0x000001c5: 05 DW_LNS_set_column (17) 0x000001c7: 06 DW_LNS_negate_stmt 0x000001c8: 01 DW_LNS_copy - 0x000000000000008f 40 17 1 0 0 + 0x0000000000000093 40 17 1 0 0 -0x000001c9: 00 DW_LNE_set_address (0x000000000000009a) +0x000001c9: 00 DW_LNE_set_address (0x000000000000009f) 0x000001d0: 03 DW_LNS_advance_line (37) 0x000001d2: 05 DW_LNS_set_column (18) 0x000001d4: 06 DW_LNS_negate_stmt 0x000001d5: 01 DW_LNS_copy - 0x000000000000009a 37 18 1 0 0 is_stmt + 0x000000000000009f 37 18 1 0 0 is_stmt -0x000001d6: 00 DW_LNE_set_address (0x000000000000009f) +0x000001d6: 00 DW_LNE_set_address (0x00000000000000a4) 0x000001dd: 03 DW_LNS_advance_line (43) 0x000001df: 05 DW_LNS_set_column (4) 0x000001e1: 01 DW_LNS_copy - 0x000000000000009f 43 4 1 0 0 is_stmt + 0x00000000000000a4 43 4 1 0 0 is_stmt -0x000001e2: 00 DW_LNE_set_address (0x00000000000000a5) +0x000001e2: 00 DW_LNE_set_address (0x00000000000000aa) 0x000001e9: 03 DW_LNS_advance_line (44) 0x000001eb: 05 DW_LNS_set_column (16) 0x000001ed: 01 DW_LNS_copy - 0x00000000000000a5 44 16 1 0 0 is_stmt + 0x00000000000000aa 44 16 1 0 0 is_stmt -0x000001ee: 00 DW_LNE_set_address (0x00000000000000ae) +0x000001ee: 00 DW_LNE_set_address (0x00000000000000b3) 0x000001f5: 03 DW_LNS_advance_line (45) 0x000001f7: 05 DW_LNS_set_column (10) 0x000001f9: 01 DW_LNS_copy - 0x00000000000000ae 45 10 1 0 0 is_stmt + 0x00000000000000b3 45 10 1 0 0 is_stmt -0x000001fa: 00 DW_LNE_set_address (0x00000000000000b0) +0x000001fa: 00 DW_LNE_set_address (0x00000000000000b5) 0x00000201: 05 DW_LNS_set_column (18) 0x00000203: 06 DW_LNS_negate_stmt 0x00000204: 01 DW_LNS_copy - 0x00000000000000b0 45 18 1 0 0 + 0x00000000000000b5 45 18 1 0 0 -0x00000205: 00 DW_LNE_set_address (0x00000000000000b9) +0x00000205: 00 DW_LNE_set_address (0x00000000000000be) 0x0000020c: 05 DW_LNS_set_column (10) 0x0000020e: 01 DW_LNS_copy - 0x00000000000000b9 45 10 1 0 0 + 0x00000000000000be 45 10 1 0 0 -0x0000020f: 00 DW_LNE_set_address (0x00000000000000bb) +0x0000020f: 00 DW_LNE_set_address (0x00000000000000c0) 0x00000216: 05 DW_LNS_set_column (23) 0x00000218: 01 DW_LNS_copy - 0x00000000000000bb 45 23 1 0 0 + 0x00000000000000c0 45 23 1 0 0 -0x00000219: 00 DW_LNE_set_address (0x00000000000000c0) +0x00000219: 00 DW_LNE_set_address (0x00000000000000c6) 0x00000220: 03 DW_LNS_advance_line (44) 0x00000222: 05 DW_LNS_set_column (16) 0x00000224: 06 DW_LNS_negate_stmt 0x00000225: 01 DW_LNS_copy - 0x00000000000000c0 44 16 1 0 0 is_stmt + 0x00000000000000c6 44 16 1 0 0 is_stmt -0x00000226: 00 DW_LNE_set_address (0x00000000000000cb) +0x00000226: 00 DW_LNE_set_address (0x00000000000000d1) 0x0000022d: 05 DW_LNS_set_column (7) 0x0000022f: 06 DW_LNS_negate_stmt 0x00000230: 01 DW_LNS_copy - 0x00000000000000cb 44 7 1 0 0 + 0x00000000000000d1 44 7 1 0 0 -0x00000231: 00 DW_LNE_set_address (0x00000000000000d1) +0x00000231: 00 DW_LNE_set_address (0x00000000000000d7) 0x00000238: 03 DW_LNS_advance_line (46) 0x0000023a: 05 DW_LNS_set_column (11) 0x0000023c: 06 DW_LNS_negate_stmt 0x0000023d: 01 DW_LNS_copy - 0x00000000000000d1 46 11 1 0 0 is_stmt + 0x00000000000000d7 46 11 1 0 0 is_stmt -0x0000023e: 00 DW_LNE_set_address (0x00000000000000dd) +0x0000023e: 00 DW_LNE_set_address (0x00000000000000e4) 0x00000245: 05 DW_LNS_set_column (28) 0x00000247: 06 DW_LNS_negate_stmt 0x00000248: 01 DW_LNS_copy - 0x00000000000000dd 46 28 1 0 0 + 0x00000000000000e4 46 28 1 0 0 -0x00000249: 00 DW_LNE_set_address (0x00000000000000e2) +0x00000249: 00 DW_LNE_set_address (0x00000000000000ea) 0x00000250: 05 DW_LNS_set_column (41) 0x00000252: 01 DW_LNS_copy - 0x00000000000000e2 46 41 1 0 0 + 0x00000000000000ea 46 41 1 0 0 -0x00000253: 00 DW_LNE_set_address (0x00000000000000e7) +0x00000253: 00 DW_LNE_set_address (0x00000000000000ef) 0x0000025a: 03 DW_LNS_advance_line (48) 0x0000025c: 05 DW_LNS_set_column (21) 0x0000025e: 06 DW_LNS_negate_stmt 0x0000025f: 01 DW_LNS_copy - 0x00000000000000e7 48 21 1 0 0 is_stmt + 0x00000000000000ef 48 21 1 0 0 is_stmt -0x00000260: 00 DW_LNE_set_address (0x00000000000000ef) +0x00000260: 00 DW_LNE_set_address (0x00000000000000f7) 0x00000267: 03 DW_LNS_advance_line (50) 0x00000269: 05 DW_LNS_set_column (14) 0x0000026b: 01 DW_LNS_copy - 0x00000000000000ef 50 14 1 0 0 is_stmt + 0x00000000000000f7 50 14 1 0 0 is_stmt -0x0000026c: 00 DW_LNE_set_address (0x0000000000000102) +0x0000026c: 00 DW_LNE_set_address (0x000000000000010b) 0x00000273: 03 DW_LNS_advance_line (52) 0x00000275: 05 DW_LNS_set_column (38) 0x00000277: 01 DW_LNS_copy - 0x0000000000000102 52 38 1 0 0 is_stmt + 0x000000000000010b 52 38 1 0 0 is_stmt -0x00000278: 00 DW_LNE_set_address (0x0000000000000116) +0x00000278: 00 DW_LNE_set_address (0x000000000000011f) 0x0000027f: 03 DW_LNS_advance_line (53) 0x00000281: 05 DW_LNS_set_column (22) 0x00000283: 01 DW_LNS_copy - 0x0000000000000116 53 22 1 0 0 is_stmt + 0x000000000000011f 53 22 1 0 0 is_stmt -0x00000284: 00 DW_LNE_set_address (0x0000000000000125) +0x00000284: 00 DW_LNE_set_address (0x000000000000012f) 0x0000028b: 03 DW_LNS_advance_line (54) 0x0000028d: 05 DW_LNS_set_column (24) 0x0000028f: 01 DW_LNS_copy - 0x0000000000000125 54 24 1 0 0 is_stmt + 0x000000000000012f 54 24 1 0 0 is_stmt -0x00000290: 00 DW_LNE_set_address (0x0000000000000127) +0x00000290: 00 DW_LNE_set_address (0x0000000000000131) 0x00000297: 05 DW_LNS_set_column (26) 0x00000299: 06 DW_LNS_negate_stmt 0x0000029a: 01 DW_LNS_copy - 0x0000000000000127 54 26 1 0 0 + 0x0000000000000131 54 26 1 0 0 -0x0000029b: 00 DW_LNE_set_address (0x0000000000000134) +0x0000029b: 00 DW_LNE_set_address (0x000000000000013f) 0x000002a2: 05 DW_LNS_set_column (24) 0x000002a4: 01 DW_LNS_copy - 0x0000000000000134 54 24 1 0 0 + 0x000000000000013f 54 24 1 0 0 -0x000002a5: 00 DW_LNE_set_address (0x0000000000000137) +0x000002a5: 00 DW_LNE_set_address (0x0000000000000143) 0x000002ac: 03 DW_LNS_advance_line (55) 0x000002ae: 06 DW_LNS_negate_stmt 0x000002af: 01 DW_LNS_copy - 0x0000000000000137 55 24 1 0 0 is_stmt + 0x0000000000000143 55 24 1 0 0 is_stmt -0x000002b0: 00 DW_LNE_set_address (0x000000000000013e) +0x000002b0: 00 DW_LNE_set_address (0x000000000000014b) 0x000002b7: 03 DW_LNS_advance_line (52) 0x000002b9: 05 DW_LNS_set_column (44) 0x000002bb: 01 DW_LNS_copy - 0x000000000000013e 52 44 1 0 0 is_stmt + 0x000000000000014b 52 44 1 0 0 is_stmt -0x000002bc: 00 DW_LNE_set_address (0x000000000000014a) +0x000002bc: 00 DW_LNE_set_address (0x0000000000000157) 0x000002c3: 05 DW_LNS_set_column (38) 0x000002c5: 06 DW_LNS_negate_stmt 0x000002c6: 01 DW_LNS_copy - 0x000000000000014a 52 38 1 0 0 + 0x0000000000000157 52 38 1 0 0 -0x000002c7: 00 DW_LNE_set_address (0x000000000000014d) +0x000002c7: 00 DW_LNE_set_address (0x000000000000015a) 0x000002ce: 05 DW_LNS_set_column (13) 0x000002d0: 01 DW_LNS_copy - 0x000000000000014d 52 13 1 0 0 + 0x000000000000015a 52 13 1 0 0 -0x000002d1: 00 DW_LNE_set_address (0x0000000000000151) +0x000002d1: 00 DW_LNE_set_address (0x000000000000015e) 0x000002d8: 03 DW_LNS_advance_line (58) 0x000002da: 05 DW_LNS_set_column (19) 0x000002dc: 06 DW_LNS_negate_stmt 0x000002dd: 01 DW_LNS_copy - 0x0000000000000151 58 19 1 0 0 is_stmt + 0x000000000000015e 58 19 1 0 0 is_stmt -0x000002de: 00 DW_LNE_set_address (0x0000000000000160) +0x000002de: 00 DW_LNE_set_address (0x000000000000016e) 0x000002e5: 03 DW_LNS_advance_line (59) 0x000002e7: 05 DW_LNS_set_column (21) 0x000002e9: 01 DW_LNS_copy - 0x0000000000000160 59 21 1 0 0 is_stmt + 0x000000000000016e 59 21 1 0 0 is_stmt -0x000002ea: 00 DW_LNE_set_address (0x0000000000000167) +0x000002ea: 00 DW_LNE_set_address (0x0000000000000176) 0x000002f1: 03 DW_LNS_advance_line (57) 0x000002f3: 05 DW_LNS_set_column (18) 0x000002f5: 01 DW_LNS_copy - 0x0000000000000167 57 18 1 0 0 is_stmt + 0x0000000000000176 57 18 1 0 0 is_stmt -0x000002f6: 00 DW_LNE_set_address (0x0000000000000177) +0x000002f6: 00 DW_LNE_set_address (0x0000000000000186) 0x000002fd: 03 DW_LNS_advance_line (62) 0x000002ff: 05 DW_LNS_set_column (14) 0x00000301: 01 DW_LNS_copy - 0x0000000000000177 62 14 1 0 0 is_stmt + 0x0000000000000186 62 14 1 0 0 is_stmt -0x00000302: 00 DW_LNE_set_address (0x000000000000017b) +0x00000302: 00 DW_LNE_set_address (0x000000000000018a) 0x00000309: 05 DW_LNS_set_column (23) 0x0000030b: 06 DW_LNS_negate_stmt 0x0000030c: 01 DW_LNS_copy - 0x000000000000017b 62 23 1 0 0 + 0x000000000000018a 62 23 1 0 0 -0x0000030d: 00 DW_LNE_set_address (0x0000000000000180) +0x0000030d: 00 DW_LNE_set_address (0x000000000000018f) 0x00000314: 05 DW_LNS_set_column (14) 0x00000316: 01 DW_LNS_copy - 0x0000000000000180 62 14 1 0 0 + 0x000000000000018f 62 14 1 0 0 -0x00000317: 00 DW_LNE_set_address (0x0000000000000184) +0x00000317: 00 DW_LNE_set_address (0x0000000000000193) 0x0000031e: 03 DW_LNS_advance_line (66) 0x00000320: 05 DW_LNS_set_column (16) 0x00000322: 06 DW_LNS_negate_stmt 0x00000323: 01 DW_LNS_copy - 0x0000000000000184 66 16 1 0 0 is_stmt + 0x0000000000000193 66 16 1 0 0 is_stmt -0x00000324: 00 DW_LNE_set_address (0x0000000000000193) +0x00000324: 00 DW_LNE_set_address (0x00000000000001a2) 0x0000032b: 03 DW_LNS_advance_line (75) 0x0000032d: 05 DW_LNS_set_column (27) 0x0000032f: 01 DW_LNS_copy - 0x0000000000000193 75 27 1 0 0 is_stmt + 0x00000000000001a2 75 27 1 0 0 is_stmt -0x00000330: 00 DW_LNE_set_address (0x000000000000019c) +0x00000330: 00 DW_LNE_set_address (0x00000000000001ab) 0x00000337: 03 DW_LNS_advance_line (76) 0x00000339: 05 DW_LNS_set_column (16) 0x0000033b: 01 DW_LNS_copy - 0x000000000000019c 76 16 1 0 0 is_stmt + 0x00000000000001ab 76 16 1 0 0 is_stmt -0x0000033c: 00 DW_LNE_set_address (0x00000000000001a4) +0x0000033c: 00 DW_LNE_set_address (0x00000000000001b3) 0x00000343: 05 DW_LNS_set_column (27) 0x00000345: 06 DW_LNS_negate_stmt 0x00000346: 01 DW_LNS_copy - 0x00000000000001a4 76 27 1 0 0 + 0x00000000000001b3 76 27 1 0 0 -0x00000347: 00 DW_LNE_set_address (0x00000000000001a6) +0x00000347: 00 DW_LNE_set_address (0x00000000000001b5) 0x0000034e: 05 DW_LNS_set_column (35) 0x00000350: 01 DW_LNS_copy - 0x00000000000001a6 76 35 1 0 0 + 0x00000000000001b5 76 35 1 0 0 -0x00000351: 00 DW_LNE_set_address (0x00000000000001af) +0x00000351: 00 DW_LNE_set_address (0x00000000000001be) 0x00000358: 05 DW_LNS_set_column (27) 0x0000035a: 01 DW_LNS_copy - 0x00000000000001af 76 27 1 0 0 + 0x00000000000001be 76 27 1 0 0 -0x0000035b: 00 DW_LNE_set_address (0x00000000000001b4) +0x0000035b: 00 DW_LNE_set_address (0x00000000000001c4) 0x00000362: 05 DW_LNS_set_column (25) 0x00000364: 01 DW_LNS_copy - 0x00000000000001b4 76 25 1 0 0 + 0x00000000000001c4 76 25 1 0 0 -0x00000365: 00 DW_LNE_set_address (0x00000000000001b7) +0x00000365: 00 DW_LNE_set_address (0x00000000000001c8) 0x0000036c: 03 DW_LNS_advance_line (75) 0x0000036e: 05 DW_LNS_set_column (27) 0x00000370: 06 DW_LNS_negate_stmt 0x00000371: 01 DW_LNS_copy - 0x00000000000001b7 75 27 1 0 0 is_stmt + 0x00000000000001c8 75 27 1 0 0 is_stmt -0x00000372: 00 DW_LNE_set_address (0x00000000000001bc) +0x00000372: 00 DW_LNE_set_address (0x00000000000001cd) 0x00000379: 05 DW_LNS_set_column (13) 0x0000037b: 06 DW_LNS_negate_stmt 0x0000037c: 01 DW_LNS_copy - 0x00000000000001bc 75 13 1 0 0 + 0x00000000000001cd 75 13 1 0 0 -0x0000037d: 00 DW_LNE_set_address (0x00000000000001c4) +0x0000037d: 00 DW_LNE_set_address (0x00000000000001d5) 0x00000384: 03 DW_LNS_advance_line (77) 0x00000386: 06 DW_LNS_negate_stmt 0x00000387: 01 DW_LNS_copy - 0x00000000000001c4 77 13 1 0 0 is_stmt + 0x00000000000001d5 77 13 1 0 0 is_stmt -0x00000388: 00 DW_LNE_set_address (0x00000000000001cc) +0x00000388: 00 DW_LNE_set_address (0x00000000000001dd) 0x0000038f: 05 DW_LNS_set_column (22) 0x00000391: 06 DW_LNS_negate_stmt 0x00000392: 01 DW_LNS_copy - 0x00000000000001cc 77 22 1 0 0 + 0x00000000000001dd 77 22 1 0 0 -0x00000393: 00 DW_LNE_set_address (0x00000000000001d1) +0x00000393: 00 DW_LNE_set_address (0x00000000000001e3) 0x0000039a: 03 DW_LNS_advance_line (79) 0x0000039c: 05 DW_LNS_set_column (16) 0x0000039e: 06 DW_LNS_negate_stmt 0x0000039f: 01 DW_LNS_copy - 0x00000000000001d1 79 16 1 0 0 is_stmt + 0x00000000000001e3 79 16 1 0 0 is_stmt -0x000003a0: 00 DW_LNE_set_address (0x00000000000001d9) +0x000003a0: 00 DW_LNE_set_address (0x00000000000001eb) 0x000003a7: 05 DW_LNS_set_column (14) 0x000003a9: 06 DW_LNS_negate_stmt 0x000003aa: 01 DW_LNS_copy - 0x00000000000001d9 79 14 1 0 0 + 0x00000000000001eb 79 14 1 0 0 -0x000003ab: 00 DW_LNE_set_address (0x00000000000001e8) +0x000003ab: 00 DW_LNE_set_address (0x00000000000001fc) 0x000003b2: 05 DW_LNS_set_column (25) 0x000003b4: 01 DW_LNS_copy - 0x00000000000001e8 79 25 1 0 0 + 0x00000000000001fc 79 25 1 0 0 -0x000003b5: 00 DW_LNE_set_address (0x00000000000001ef) +0x000003b5: 00 DW_LNE_set_address (0x0000000000000203) 0x000003bc: 03 DW_LNS_advance_line (81) 0x000003be: 05 DW_LNS_set_column (11) 0x000003c0: 06 DW_LNS_negate_stmt 0x000003c1: 01 DW_LNS_copy - 0x00000000000001ef 81 11 1 0 0 is_stmt + 0x0000000000000203 81 11 1 0 0 is_stmt -0x000003c2: 00 DW_LNE_set_address (0x00000000000001f4) +0x000003c2: 00 DW_LNE_set_address (0x0000000000000208) 0x000003c9: 03 DW_LNS_advance_line (66) 0x000003cb: 05 DW_LNS_set_column (16) 0x000003cd: 01 DW_LNS_copy - 0x00000000000001f4 66 16 1 0 0 is_stmt + 0x0000000000000208 66 16 1 0 0 is_stmt -0x000003ce: 00 DW_LNE_set_address (0x00000000000001fb) +0x000003ce: 00 DW_LNE_set_address (0x000000000000020f) 0x000003d5: 03 DW_LNS_advance_line (74) 0x000003d7: 05 DW_LNS_set_column (22) 0x000003d9: 01 DW_LNS_copy - 0x00000000000001fb 74 22 1 0 0 is_stmt + 0x000000000000020f 74 22 1 0 0 is_stmt -0x000003da: 00 DW_LNE_set_address (0x0000000000000204) +0x000003da: 00 DW_LNE_set_address (0x0000000000000219) 0x000003e1: 03 DW_LNS_advance_line (37) 0x000003e3: 05 DW_LNS_set_column (4) 0x000003e5: 01 DW_LNS_copy - 0x0000000000000204 37 4 1 0 0 is_stmt + 0x0000000000000219 37 4 1 0 0 is_stmt -0x000003e6: 00 DW_LNE_set_address (0x0000000000000209) +0x000003e6: 00 DW_LNE_set_address (0x000000000000021e) 0x000003ed: 03 DW_LNS_advance_line (39) 0x000003ef: 01 DW_LNS_copy - 0x0000000000000209 39 4 1 0 0 is_stmt + 0x000000000000021e 39 4 1 0 0 is_stmt -0x000003f0: 00 DW_LNE_set_address (0x000000000000020b) +0x000003f0: 00 DW_LNE_set_address (0x0000000000000220) 0x000003f7: 05 DW_LNS_set_column (16) 0x000003f9: 06 DW_LNS_negate_stmt 0x000003fa: 01 DW_LNS_copy - 0x000000000000020b 39 16 1 0 0 + 0x0000000000000220 39 16 1 0 0 -0x000003fb: 00 DW_LNE_set_address (0x0000000000000214) +0x000003fb: 00 DW_LNE_set_address (0x000000000000022a) 0x00000402: 05 DW_LNS_set_column (4) 0x00000404: 01 DW_LNS_copy - 0x0000000000000214 39 4 1 0 0 + 0x000000000000022a 39 4 1 0 0 -0x00000405: 00 DW_LNE_set_address (0x0000000000000216) +0x00000405: 00 DW_LNE_set_address (0x000000000000022c) 0x0000040c: 05 DW_LNS_set_column (23) 0x0000040e: 01 DW_LNS_copy - 0x0000000000000216 39 23 1 0 0 + 0x000000000000022c 39 23 1 0 0 -0x0000040f: 00 DW_LNE_set_address (0x000000000000021b) +0x0000040f: 00 DW_LNE_set_address (0x0000000000000231) 0x00000416: 05 DW_LNS_set_column (19) 0x00000418: 01 DW_LNS_copy - 0x000000000000021b 39 19 1 0 0 + 0x0000000000000231 39 19 1 0 0 -0x00000419: 00 DW_LNE_set_address (0x0000000000000220) +0x00000419: 00 DW_LNE_set_address (0x0000000000000237) 0x00000420: 03 DW_LNS_advance_line (40) 0x00000422: 05 DW_LNS_set_column (4) 0x00000424: 06 DW_LNS_negate_stmt 0x00000425: 01 DW_LNS_copy - 0x0000000000000220 40 4 1 0 0 is_stmt + 0x0000000000000237 40 4 1 0 0 is_stmt -0x00000426: 00 DW_LNE_set_address (0x0000000000000228) +0x00000426: 00 DW_LNE_set_address (0x000000000000023f) 0x0000042d: 05 DW_LNS_set_column (17) 0x0000042f: 06 DW_LNS_negate_stmt 0x00000430: 01 DW_LNS_copy - 0x0000000000000228 40 17 1 0 0 + 0x000000000000023f 40 17 1 0 0 -0x00000431: 00 DW_LNE_set_address (0x0000000000000238) +0x00000431: 00 DW_LNE_set_address (0x0000000000000250) 0x00000438: 03 DW_LNS_advance_line (44) 0x0000043a: 05 DW_LNS_set_column (16) 0x0000043c: 06 DW_LNS_negate_stmt 0x0000043d: 01 DW_LNS_copy - 0x0000000000000238 44 16 1 0 0 is_stmt + 0x0000000000000250 44 16 1 0 0 is_stmt -0x0000043e: 00 DW_LNE_set_address (0x0000000000000241) +0x0000043e: 00 DW_LNE_set_address (0x0000000000000259) 0x00000445: 03 DW_LNS_advance_line (45) 0x00000447: 05 DW_LNS_set_column (10) 0x00000449: 01 DW_LNS_copy - 0x0000000000000241 45 10 1 0 0 is_stmt + 0x0000000000000259 45 10 1 0 0 is_stmt -0x0000044a: 00 DW_LNE_set_address (0x0000000000000243) +0x0000044a: 00 DW_LNE_set_address (0x000000000000025b) 0x00000451: 05 DW_LNS_set_column (18) 0x00000453: 06 DW_LNS_negate_stmt 0x00000454: 01 DW_LNS_copy - 0x0000000000000243 45 18 1 0 0 + 0x000000000000025b 45 18 1 0 0 -0x00000455: 00 DW_LNE_set_address (0x000000000000024c) +0x00000455: 00 DW_LNE_set_address (0x0000000000000264) 0x0000045c: 05 DW_LNS_set_column (10) 0x0000045e: 01 DW_LNS_copy - 0x000000000000024c 45 10 1 0 0 + 0x0000000000000264 45 10 1 0 0 -0x0000045f: 00 DW_LNE_set_address (0x000000000000024e) +0x0000045f: 00 DW_LNE_set_address (0x0000000000000266) 0x00000466: 05 DW_LNS_set_column (23) 0x00000468: 01 DW_LNS_copy - 0x000000000000024e 45 23 1 0 0 + 0x0000000000000266 45 23 1 0 0 -0x00000469: 00 DW_LNE_set_address (0x0000000000000253) +0x00000469: 00 DW_LNE_set_address (0x000000000000026c) 0x00000470: 03 DW_LNS_advance_line (44) 0x00000472: 05 DW_LNS_set_column (16) 0x00000474: 06 DW_LNS_negate_stmt 0x00000475: 01 DW_LNS_copy - 0x0000000000000253 44 16 1 0 0 is_stmt + 0x000000000000026c 44 16 1 0 0 is_stmt -0x00000476: 00 DW_LNE_set_address (0x0000000000000264) +0x00000476: 00 DW_LNE_set_address (0x000000000000027d) 0x0000047d: 03 DW_LNS_advance_line (46) 0x0000047f: 05 DW_LNS_set_column (11) 0x00000481: 01 DW_LNS_copy - 0x0000000000000264 46 11 1 0 0 is_stmt + 0x000000000000027d 46 11 1 0 0 is_stmt -0x00000482: 00 DW_LNE_set_address (0x0000000000000270) +0x00000482: 00 DW_LNE_set_address (0x000000000000028a) 0x00000489: 05 DW_LNS_set_column (28) 0x0000048b: 06 DW_LNS_negate_stmt 0x0000048c: 01 DW_LNS_copy - 0x0000000000000270 46 28 1 0 0 + 0x000000000000028a 46 28 1 0 0 -0x0000048d: 00 DW_LNE_set_address (0x0000000000000275) +0x0000048d: 00 DW_LNE_set_address (0x0000000000000290) 0x00000494: 05 DW_LNS_set_column (41) 0x00000496: 01 DW_LNS_copy - 0x0000000000000275 46 41 1 0 0 + 0x0000000000000290 46 41 1 0 0 -0x00000497: 00 DW_LNE_set_address (0x000000000000027a) +0x00000497: 00 DW_LNE_set_address (0x0000000000000295) 0x0000049e: 03 DW_LNS_advance_line (50) 0x000004a0: 05 DW_LNS_set_column (14) 0x000004a2: 06 DW_LNS_negate_stmt 0x000004a3: 01 DW_LNS_copy - 0x000000000000027a 50 14 1 0 0 is_stmt + 0x0000000000000295 50 14 1 0 0 is_stmt -0x000004a4: 00 DW_LNE_set_address (0x000000000000028d) +0x000004a4: 00 DW_LNE_set_address (0x00000000000002a9) 0x000004ab: 03 DW_LNS_advance_line (52) 0x000004ad: 05 DW_LNS_set_column (38) 0x000004af: 01 DW_LNS_copy - 0x000000000000028d 52 38 1 0 0 is_stmt + 0x00000000000002a9 52 38 1 0 0 is_stmt -0x000004b0: 00 DW_LNE_set_address (0x00000000000002a1) +0x000004b0: 00 DW_LNE_set_address (0x00000000000002bd) 0x000004b7: 03 DW_LNS_advance_line (53) 0x000004b9: 05 DW_LNS_set_column (22) 0x000004bb: 01 DW_LNS_copy - 0x00000000000002a1 53 22 1 0 0 is_stmt + 0x00000000000002bd 53 22 1 0 0 is_stmt -0x000004bc: 00 DW_LNE_set_address (0x00000000000002b0) +0x000004bc: 00 DW_LNE_set_address (0x00000000000002cd) 0x000004c3: 03 DW_LNS_advance_line (54) 0x000004c5: 05 DW_LNS_set_column (24) 0x000004c7: 01 DW_LNS_copy - 0x00000000000002b0 54 24 1 0 0 is_stmt + 0x00000000000002cd 54 24 1 0 0 is_stmt -0x000004c8: 00 DW_LNE_set_address (0x00000000000002b2) +0x000004c8: 00 DW_LNE_set_address (0x00000000000002cf) 0x000004cf: 05 DW_LNS_set_column (26) 0x000004d1: 06 DW_LNS_negate_stmt 0x000004d2: 01 DW_LNS_copy - 0x00000000000002b2 54 26 1 0 0 + 0x00000000000002cf 54 26 1 0 0 -0x000004d3: 00 DW_LNE_set_address (0x00000000000002bf) +0x000004d3: 00 DW_LNE_set_address (0x00000000000002dd) 0x000004da: 05 DW_LNS_set_column (24) 0x000004dc: 01 DW_LNS_copy - 0x00000000000002bf 54 24 1 0 0 + 0x00000000000002dd 54 24 1 0 0 -0x000004dd: 00 DW_LNE_set_address (0x00000000000002c2) +0x000004dd: 00 DW_LNE_set_address (0x00000000000002e1) 0x000004e4: 03 DW_LNS_advance_line (55) 0x000004e6: 06 DW_LNS_negate_stmt 0x000004e7: 01 DW_LNS_copy - 0x00000000000002c2 55 24 1 0 0 is_stmt + 0x00000000000002e1 55 24 1 0 0 is_stmt -0x000004e8: 00 DW_LNE_set_address (0x00000000000002c9) +0x000004e8: 00 DW_LNE_set_address (0x00000000000002e9) 0x000004ef: 03 DW_LNS_advance_line (52) 0x000004f1: 05 DW_LNS_set_column (44) 0x000004f3: 01 DW_LNS_copy - 0x00000000000002c9 52 44 1 0 0 is_stmt + 0x00000000000002e9 52 44 1 0 0 is_stmt -0x000004f4: 00 DW_LNE_set_address (0x00000000000002d5) +0x000004f4: 00 DW_LNE_set_address (0x00000000000002f5) 0x000004fb: 05 DW_LNS_set_column (38) 0x000004fd: 06 DW_LNS_negate_stmt 0x000004fe: 01 DW_LNS_copy - 0x00000000000002d5 52 38 1 0 0 + 0x00000000000002f5 52 38 1 0 0 -0x000004ff: 00 DW_LNE_set_address (0x00000000000002dc) +0x000004ff: 00 DW_LNE_set_address (0x00000000000002fc) 0x00000506: 03 DW_LNS_advance_line (58) 0x00000508: 05 DW_LNS_set_column (19) 0x0000050a: 06 DW_LNS_negate_stmt 0x0000050b: 01 DW_LNS_copy - 0x00000000000002dc 58 19 1 0 0 is_stmt + 0x00000000000002fc 58 19 1 0 0 is_stmt -0x0000050c: 00 DW_LNE_set_address (0x00000000000002eb) +0x0000050c: 00 DW_LNE_set_address (0x000000000000030c) 0x00000513: 03 DW_LNS_advance_line (59) 0x00000515: 05 DW_LNS_set_column (21) 0x00000517: 01 DW_LNS_copy - 0x00000000000002eb 59 21 1 0 0 is_stmt + 0x000000000000030c 59 21 1 0 0 is_stmt -0x00000518: 00 DW_LNE_set_address (0x00000000000002f2) +0x00000518: 00 DW_LNE_set_address (0x0000000000000314) 0x0000051f: 03 DW_LNS_advance_line (57) 0x00000521: 05 DW_LNS_set_column (18) 0x00000523: 01 DW_LNS_copy - 0x00000000000002f2 57 18 1 0 0 is_stmt + 0x0000000000000314 57 18 1 0 0 is_stmt -0x00000524: 00 DW_LNE_set_address (0x0000000000000302) +0x00000524: 00 DW_LNE_set_address (0x0000000000000324) 0x0000052b: 03 DW_LNS_advance_line (62) 0x0000052d: 05 DW_LNS_set_column (14) 0x0000052f: 01 DW_LNS_copy - 0x0000000000000302 62 14 1 0 0 is_stmt + 0x0000000000000324 62 14 1 0 0 is_stmt -0x00000530: 00 DW_LNE_set_address (0x0000000000000306) +0x00000530: 00 DW_LNE_set_address (0x0000000000000328) 0x00000537: 05 DW_LNS_set_column (23) 0x00000539: 06 DW_LNS_negate_stmt 0x0000053a: 01 DW_LNS_copy - 0x0000000000000306 62 23 1 0 0 + 0x0000000000000328 62 23 1 0 0 -0x0000053b: 00 DW_LNE_set_address (0x000000000000030b) +0x0000053b: 00 DW_LNE_set_address (0x000000000000032d) 0x00000542: 05 DW_LNS_set_column (14) 0x00000544: 01 DW_LNS_copy - 0x000000000000030b 62 14 1 0 0 + 0x000000000000032d 62 14 1 0 0 -0x00000545: 00 DW_LNE_set_address (0x000000000000030f) +0x00000545: 00 DW_LNE_set_address (0x0000000000000331) 0x0000054c: 03 DW_LNS_advance_line (66) 0x0000054e: 05 DW_LNS_set_column (16) 0x00000550: 06 DW_LNS_negate_stmt 0x00000551: 01 DW_LNS_copy - 0x000000000000030f 66 16 1 0 0 is_stmt + 0x0000000000000331 66 16 1 0 0 is_stmt -0x00000552: 00 DW_LNE_set_address (0x000000000000031e) +0x00000552: 00 DW_LNE_set_address (0x0000000000000340) 0x00000559: 03 DW_LNS_advance_line (75) 0x0000055b: 05 DW_LNS_set_column (27) 0x0000055d: 01 DW_LNS_copy - 0x000000000000031e 75 27 1 0 0 is_stmt + 0x0000000000000340 75 27 1 0 0 is_stmt -0x0000055e: 00 DW_LNE_set_address (0x0000000000000327) +0x0000055e: 00 DW_LNE_set_address (0x0000000000000349) 0x00000565: 03 DW_LNS_advance_line (76) 0x00000567: 05 DW_LNS_set_column (16) 0x00000569: 01 DW_LNS_copy - 0x0000000000000327 76 16 1 0 0 is_stmt + 0x0000000000000349 76 16 1 0 0 is_stmt -0x0000056a: 00 DW_LNE_set_address (0x000000000000032f) +0x0000056a: 00 DW_LNE_set_address (0x0000000000000351) 0x00000571: 05 DW_LNS_set_column (27) 0x00000573: 06 DW_LNS_negate_stmt 0x00000574: 01 DW_LNS_copy - 0x000000000000032f 76 27 1 0 0 + 0x0000000000000351 76 27 1 0 0 -0x00000575: 00 DW_LNE_set_address (0x0000000000000331) +0x00000575: 00 DW_LNE_set_address (0x0000000000000353) 0x0000057c: 05 DW_LNS_set_column (35) 0x0000057e: 01 DW_LNS_copy - 0x0000000000000331 76 35 1 0 0 + 0x0000000000000353 76 35 1 0 0 -0x0000057f: 00 DW_LNE_set_address (0x000000000000033a) +0x0000057f: 00 DW_LNE_set_address (0x000000000000035c) 0x00000586: 05 DW_LNS_set_column (27) 0x00000588: 01 DW_LNS_copy - 0x000000000000033a 76 27 1 0 0 + 0x000000000000035c 76 27 1 0 0 -0x00000589: 00 DW_LNE_set_address (0x000000000000033f) +0x00000589: 00 DW_LNE_set_address (0x0000000000000362) 0x00000590: 05 DW_LNS_set_column (25) 0x00000592: 01 DW_LNS_copy - 0x000000000000033f 76 25 1 0 0 + 0x0000000000000362 76 25 1 0 0 -0x00000593: 00 DW_LNE_set_address (0x0000000000000342) +0x00000593: 00 DW_LNE_set_address (0x0000000000000366) 0x0000059a: 03 DW_LNS_advance_line (75) 0x0000059c: 05 DW_LNS_set_column (27) 0x0000059e: 06 DW_LNS_negate_stmt 0x0000059f: 01 DW_LNS_copy - 0x0000000000000342 75 27 1 0 0 is_stmt + 0x0000000000000366 75 27 1 0 0 is_stmt -0x000005a0: 00 DW_LNE_set_address (0x000000000000034f) +0x000005a0: 00 DW_LNE_set_address (0x0000000000000373) 0x000005a7: 03 DW_LNS_advance_line (77) 0x000005a9: 05 DW_LNS_set_column (13) 0x000005ab: 01 DW_LNS_copy - 0x000000000000034f 77 13 1 0 0 is_stmt + 0x0000000000000373 77 13 1 0 0 is_stmt -0x000005ac: 00 DW_LNE_set_address (0x0000000000000357) +0x000005ac: 00 DW_LNE_set_address (0x000000000000037b) 0x000005b3: 05 DW_LNS_set_column (22) 0x000005b5: 06 DW_LNS_negate_stmt 0x000005b6: 01 DW_LNS_copy - 0x0000000000000357 77 22 1 0 0 + 0x000000000000037b 77 22 1 0 0 -0x000005b7: 00 DW_LNE_set_address (0x000000000000035c) +0x000005b7: 00 DW_LNE_set_address (0x0000000000000381) 0x000005be: 03 DW_LNS_advance_line (79) 0x000005c0: 05 DW_LNS_set_column (16) 0x000005c2: 06 DW_LNS_negate_stmt 0x000005c3: 01 DW_LNS_copy - 0x000000000000035c 79 16 1 0 0 is_stmt + 0x0000000000000381 79 16 1 0 0 is_stmt -0x000005c4: 00 DW_LNE_set_address (0x0000000000000364) +0x000005c4: 00 DW_LNE_set_address (0x0000000000000389) 0x000005cb: 05 DW_LNS_set_column (14) 0x000005cd: 06 DW_LNS_negate_stmt 0x000005ce: 01 DW_LNS_copy - 0x0000000000000364 79 14 1 0 0 + 0x0000000000000389 79 14 1 0 0 -0x000005cf: 00 DW_LNE_set_address (0x0000000000000373) +0x000005cf: 00 DW_LNE_set_address (0x000000000000039a) 0x000005d6: 05 DW_LNS_set_column (25) 0x000005d8: 01 DW_LNS_copy - 0x0000000000000373 79 25 1 0 0 + 0x000000000000039a 79 25 1 0 0 -0x000005d9: 00 DW_LNE_set_address (0x000000000000037a) +0x000005d9: 00 DW_LNE_set_address (0x00000000000003a1) 0x000005e0: 03 DW_LNS_advance_line (81) 0x000005e2: 05 DW_LNS_set_column (11) 0x000005e4: 06 DW_LNS_negate_stmt 0x000005e5: 01 DW_LNS_copy - 0x000000000000037a 81 11 1 0 0 is_stmt + 0x00000000000003a1 81 11 1 0 0 is_stmt -0x000005e6: 00 DW_LNE_set_address (0x000000000000037f) +0x000005e6: 00 DW_LNE_set_address (0x00000000000003a6) 0x000005ed: 03 DW_LNS_advance_line (66) 0x000005ef: 05 DW_LNS_set_column (16) 0x000005f1: 01 DW_LNS_copy - 0x000000000000037f 66 16 1 0 0 is_stmt + 0x00000000000003a6 66 16 1 0 0 is_stmt -0x000005f2: 00 DW_LNE_set_address (0x0000000000000386) +0x000005f2: 00 DW_LNE_set_address (0x00000000000003ad) 0x000005f9: 03 DW_LNS_advance_line (74) 0x000005fb: 05 DW_LNS_set_column (22) 0x000005fd: 01 DW_LNS_copy - 0x0000000000000386 74 22 1 0 0 is_stmt + 0x00000000000003ad 74 22 1 0 0 is_stmt -0x000005fe: 00 DW_LNE_set_address (0x0000000000000394) +0x000005fe: 00 DW_LNE_set_address (0x00000000000003bc) 0x00000605: 03 DW_LNS_advance_line (67) 0x00000607: 05 DW_LNS_set_column (13) 0x00000609: 01 DW_LNS_copy - 0x0000000000000394 67 13 1 0 0 is_stmt + 0x00000000000003bc 67 13 1 0 0 is_stmt -0x0000060a: 00 DW_LNE_set_address (0x0000000000000398) +0x0000060a: 00 DW_LNE_set_address (0x00000000000003c0) 0x00000611: 03 DW_LNS_advance_line (68) 0x00000613: 01 DW_LNS_copy - 0x0000000000000398 68 13 1 0 0 is_stmt + 0x00000000000003c0 68 13 1 0 0 is_stmt -0x00000614: 00 DW_LNE_set_address (0x000000000000039c) +0x00000614: 00 DW_LNE_set_address (0x00000000000003c4) 0x0000061b: 03 DW_LNS_advance_line (69) 0x0000061d: 01 DW_LNS_copy - 0x000000000000039c 69 13 1 0 0 is_stmt + 0x00000000000003c4 69 13 1 0 0 is_stmt -0x0000061e: 00 DW_LNE_set_address (0x00000000000003a0) +0x0000061e: 00 DW_LNE_set_address (0x00000000000003c8) 0x00000625: 03 DW_LNS_advance_line (70) 0x00000627: 01 DW_LNS_copy - 0x00000000000003a0 70 13 1 0 0 is_stmt + 0x00000000000003c8 70 13 1 0 0 is_stmt -0x00000628: 00 DW_LNE_set_address (0x00000000000003a3) +0x00000628: 00 DW_LNE_set_address (0x00000000000003cb) 0x0000062f: 00 DW_LNE_end_sequence - 0x00000000000003a3 70 13 1 0 0 is_stmt end_sequence + 0x00000000000003cb 70 13 1 0 0 is_stmt end_sequence -0x00000632: 00 DW_LNE_set_address (0x00000000000003a5) +0x00000632: 00 DW_LNE_set_address (0x00000000000003cd) 0x00000639: 03 DW_LNS_advance_line (152) 0x0000063c: 01 DW_LNS_copy - 0x00000000000003a5 152 0 1 0 0 is_stmt + 0x00000000000003cd 152 0 1 0 0 is_stmt -0x0000063d: 00 DW_LNE_set_address (0x00000000000003c3) +0x0000063d: 00 DW_LNE_set_address (0x00000000000003eb) 0x00000644: 03 DW_LNS_advance_line (153) 0x00000646: 05 DW_LNS_set_column (17) 0x00000648: 0a DW_LNS_set_prologue_end 0x00000649: 01 DW_LNS_copy - 0x00000000000003c3 153 17 1 0 0 is_stmt prologue_end + 0x00000000000003eb 153 17 1 0 0 is_stmt prologue_end -0x0000064a: 00 DW_LNE_set_address (0x00000000000003c8) +0x0000064a: 00 DW_LNE_set_address (0x00000000000003f0) 0x00000651: 05 DW_LNS_set_column (12) 0x00000653: 06 DW_LNS_negate_stmt 0x00000654: 01 DW_LNS_copy - 0x00000000000003c8 153 12 1 0 0 + 0x00000000000003f0 153 12 1 0 0 -0x00000655: 00 DW_LNE_set_address (0x00000000000003ce) +0x00000655: 00 DW_LNE_set_address (0x00000000000003f6) 0x0000065c: 05 DW_LNS_set_column (28) 0x0000065e: 01 DW_LNS_copy - 0x00000000000003ce 153 28 1 0 0 + 0x00000000000003f6 153 28 1 0 0 -0x0000065f: 00 DW_LNE_set_address (0x00000000000003d3) +0x0000065f: 00 DW_LNE_set_address (0x00000000000003fc) 0x00000666: 05 DW_LNS_set_column (23) 0x00000668: 01 DW_LNS_copy - 0x00000000000003d3 153 23 1 0 0 + 0x00000000000003fc 153 23 1 0 0 -0x00000669: 00 DW_LNE_set_address (0x00000000000003d9) +0x00000669: 00 DW_LNE_set_address (0x0000000000000402) 0x00000670: 03 DW_LNS_advance_line (155) 0x00000672: 05 DW_LNS_set_column (10) 0x00000674: 06 DW_LNS_negate_stmt 0x00000675: 01 DW_LNS_copy - 0x00000000000003d9 155 10 1 0 0 is_stmt + 0x0000000000000402 155 10 1 0 0 is_stmt -0x00000676: 00 DW_LNE_set_address (0x00000000000003da) +0x00000676: 00 DW_LNE_set_address (0x0000000000000403) 0x0000067d: 05 DW_LNS_set_column (8) 0x0000067f: 06 DW_LNS_negate_stmt 0x00000680: 01 DW_LNS_copy - 0x00000000000003da 155 8 1 0 0 + 0x0000000000000403 155 8 1 0 0 -0x00000681: 00 DW_LNE_set_address (0x00000000000003dd) +0x00000681: 00 DW_LNE_set_address (0x0000000000000406) 0x00000688: 03 DW_LNS_advance_line (156) 0x0000068a: 05 DW_LNS_set_column (7) 0x0000068c: 06 DW_LNS_negate_stmt 0x0000068d: 01 DW_LNS_copy - 0x00000000000003dd 156 7 1 0 0 is_stmt + 0x0000000000000406 156 7 1 0 0 is_stmt -0x0000068e: 00 DW_LNE_set_address (0x00000000000003ec) +0x0000068e: 00 DW_LNE_set_address (0x0000000000000415) 0x00000695: 03 DW_LNS_advance_line (94) 0x00000697: 05 DW_LNS_set_column (18) 0x00000699: 01 DW_LNS_copy - 0x00000000000003ec 94 18 1 0 0 is_stmt + 0x0000000000000415 94 18 1 0 0 is_stmt -0x0000069a: 00 DW_LNE_set_address (0x00000000000003f1) +0x0000069a: 00 DW_LNE_set_address (0x000000000000041a) 0x000006a1: 05 DW_LNS_set_column (4) 0x000006a3: 06 DW_LNS_negate_stmt 0x000006a4: 01 DW_LNS_copy - 0x00000000000003f1 94 4 1 0 0 + 0x000000000000041a 94 4 1 0 0 -0x000006a5: 00 DW_LNE_set_address (0x0000000000000406) +0x000006a5: 00 DW_LNE_set_address (0x000000000000042f) 0x000006ac: 03 DW_LNS_advance_line (95) 0x000006ae: 05 DW_LNS_set_column (29) 0x000006b0: 06 DW_LNS_negate_stmt 0x000006b1: 01 DW_LNS_copy - 0x0000000000000406 95 29 1 0 0 is_stmt + 0x000000000000042f 95 29 1 0 0 is_stmt -0x000006b2: 00 DW_LNE_set_address (0x0000000000000408) +0x000006b2: 00 DW_LNE_set_address (0x0000000000000431) 0x000006b9: 03 DW_LNS_advance_line (98) 0x000006bb: 05 DW_LNS_set_column (19) 0x000006bd: 01 DW_LNS_copy - 0x0000000000000408 98 19 1 0 0 is_stmt + 0x0000000000000431 98 19 1 0 0 is_stmt -0x000006be: 00 DW_LNE_set_address (0x000000000000040f) +0x000006be: 00 DW_LNE_set_address (0x0000000000000439) 0x000006c5: 03 DW_LNS_advance_line (97) 0x000006c7: 05 DW_LNS_set_column (16) 0x000006c9: 01 DW_LNS_copy - 0x000000000000040f 97 16 1 0 0 is_stmt + 0x0000000000000439 97 16 1 0 0 is_stmt -0x000006ca: 00 DW_LNE_set_address (0x0000000000000416) +0x000006ca: 00 DW_LNE_set_address (0x0000000000000441) 0x000006d1: 03 DW_LNS_advance_line (96) 0x000006d3: 01 DW_LNS_copy - 0x0000000000000416 96 16 1 0 0 is_stmt + 0x0000000000000441 96 16 1 0 0 is_stmt -0x000006d4: 00 DW_LNE_set_address (0x0000000000000421) +0x000006d4: 00 DW_LNE_set_address (0x000000000000044d) 0x000006db: 03 DW_LNS_advance_line (94) 0x000006dd: 05 DW_LNS_set_column (28) 0x000006df: 01 DW_LNS_copy - 0x0000000000000421 94 28 1 0 0 is_stmt + 0x000000000000044d 94 28 1 0 0 is_stmt -0x000006e0: 00 DW_LNE_set_address (0x0000000000000426) +0x000006e0: 00 DW_LNE_set_address (0x0000000000000452) 0x000006e7: 05 DW_LNS_set_column (18) 0x000006e9: 06 DW_LNS_negate_stmt 0x000006ea: 01 DW_LNS_copy - 0x0000000000000426 94 18 1 0 0 + 0x0000000000000452 94 18 1 0 0 -0x000006eb: 00 DW_LNE_set_address (0x000000000000042b) +0x000006eb: 00 DW_LNE_set_address (0x0000000000000457) 0x000006f2: 05 DW_LNS_set_column (4) 0x000006f4: 01 DW_LNS_copy - 0x000000000000042b 94 4 1 0 0 + 0x0000000000000457 94 4 1 0 0 -0x000006f5: 00 DW_LNE_set_address (0x0000000000000433) +0x000006f5: 00 DW_LNE_set_address (0x000000000000045f) 0x000006fc: 03 DW_LNS_advance_line (102) 0x000006fe: 05 DW_LNS_set_column (27) 0x00000700: 06 DW_LNS_negate_stmt 0x00000701: 01 DW_LNS_copy - 0x0000000000000433 102 27 1 0 0 is_stmt + 0x000000000000045f 102 27 1 0 0 is_stmt -0x00000702: 00 DW_LNE_set_address (0x0000000000000438) +0x00000702: 00 DW_LNE_set_address (0x0000000000000464) 0x00000709: 05 DW_LNS_set_column (18) 0x0000070b: 06 DW_LNS_negate_stmt 0x0000070c: 01 DW_LNS_copy - 0x0000000000000438 102 18 1 0 0 + 0x0000000000000464 102 18 1 0 0 -0x0000070d: 00 DW_LNE_set_address (0x000000000000043e) +0x0000070d: 00 DW_LNE_set_address (0x000000000000046a) 0x00000714: 03 DW_LNS_advance_line (103) 0x00000716: 06 DW_LNS_negate_stmt 0x00000717: 01 DW_LNS_copy - 0x000000000000043e 103 18 1 0 0 is_stmt + 0x000000000000046a 103 18 1 0 0 is_stmt -0x00000718: 00 DW_LNE_set_address (0x000000000000044c) +0x00000718: 00 DW_LNE_set_address (0x0000000000000478) 0x0000071f: 03 DW_LNS_advance_line (105) 0x00000721: 01 DW_LNS_copy - 0x000000000000044c 105 18 1 0 0 is_stmt + 0x0000000000000478 105 18 1 0 0 is_stmt -0x00000722: 00 DW_LNE_set_address (0x0000000000000451) +0x00000722: 00 DW_LNE_set_address (0x000000000000047d) 0x00000729: 05 DW_LNS_set_column (4) 0x0000072b: 06 DW_LNS_negate_stmt 0x0000072c: 01 DW_LNS_copy - 0x0000000000000451 105 4 1 0 0 + 0x000000000000047d 105 4 1 0 0 -0x0000072d: 00 DW_LNE_set_address (0x0000000000000455) +0x0000072d: 00 DW_LNE_set_address (0x0000000000000481) 0x00000734: 03 DW_LNS_advance_line (106) 0x00000736: 05 DW_LNS_set_column (7) 0x00000738: 06 DW_LNS_negate_stmt 0x00000739: 01 DW_LNS_copy - 0x0000000000000455 106 7 1 0 0 is_stmt + 0x0000000000000481 106 7 1 0 0 is_stmt -0x0000073a: 00 DW_LNE_set_address (0x000000000000045d) +0x0000073a: 00 DW_LNE_set_address (0x0000000000000489) 0x00000741: 05 DW_LNS_set_column (16) 0x00000743: 06 DW_LNS_negate_stmt 0x00000744: 01 DW_LNS_copy - 0x000000000000045d 106 16 1 0 0 + 0x0000000000000489 106 16 1 0 0 -0x00000745: 00 DW_LNE_set_address (0x0000000000000462) +0x00000745: 00 DW_LNE_set_address (0x000000000000048f) 0x0000074c: 03 DW_LNS_advance_line (105) 0x0000074e: 05 DW_LNS_set_column (24) 0x00000750: 06 DW_LNS_negate_stmt 0x00000751: 01 DW_LNS_copy - 0x0000000000000462 105 24 1 0 0 is_stmt + 0x000000000000048f 105 24 1 0 0 is_stmt -0x00000752: 00 DW_LNE_set_address (0x0000000000000467) +0x00000752: 00 DW_LNE_set_address (0x0000000000000494) 0x00000759: 05 DW_LNS_set_column (18) 0x0000075b: 06 DW_LNS_negate_stmt 0x0000075c: 01 DW_LNS_copy - 0x0000000000000467 105 18 1 0 0 + 0x0000000000000494 105 18 1 0 0 -0x0000075d: 00 DW_LNE_set_address (0x000000000000048d) +0x0000075d: 00 DW_LNE_set_address (0x00000000000004ba) 0x00000764: 03 DW_LNS_advance_line (112) 0x00000766: 05 DW_LNS_set_column (13) 0x00000768: 06 DW_LNS_negate_stmt 0x00000769: 01 DW_LNS_copy - 0x000000000000048d 112 13 1 0 0 is_stmt + 0x00000000000004ba 112 13 1 0 0 is_stmt -0x0000076a: 00 DW_LNE_set_address (0x000000000000048f) +0x0000076a: 00 DW_LNE_set_address (0x00000000000004bc) 0x00000771: 05 DW_LNS_set_column (26) 0x00000773: 06 DW_LNS_negate_stmt 0x00000774: 01 DW_LNS_copy - 0x000000000000048f 112 26 1 0 0 + 0x00000000000004bc 112 26 1 0 0 -0x00000775: 00 DW_LNE_set_address (0x000000000000049c) +0x00000775: 00 DW_LNE_set_address (0x00000000000004ca) 0x0000077c: 05 DW_LNS_set_column (35) 0x0000077e: 01 DW_LNS_copy - 0x000000000000049c 112 35 1 0 0 + 0x00000000000004ca 112 35 1 0 0 -0x0000077f: 00 DW_LNE_set_address (0x000000000000049d) +0x0000077f: 00 DW_LNE_set_address (0x00000000000004cb) 0x00000786: 05 DW_LNS_set_column (13) 0x00000788: 01 DW_LNS_copy - 0x000000000000049d 112 13 1 0 0 + 0x00000000000004cb 112 13 1 0 0 -0x00000789: 00 DW_LNE_set_address (0x00000000000004ab) +0x00000789: 00 DW_LNE_set_address (0x00000000000004da) 0x00000790: 03 DW_LNS_advance_line (111) 0x00000792: 05 DW_LNS_set_column (30) 0x00000794: 06 DW_LNS_negate_stmt 0x00000795: 01 DW_LNS_copy - 0x00000000000004ab 111 30 1 0 0 is_stmt + 0x00000000000004da 111 30 1 0 0 is_stmt -0x00000796: 00 DW_LNE_set_address (0x00000000000004b0) +0x00000796: 00 DW_LNE_set_address (0x00000000000004df) 0x0000079d: 05 DW_LNS_set_column (24) 0x0000079f: 06 DW_LNS_negate_stmt 0x000007a0: 01 DW_LNS_copy - 0x00000000000004b0 111 24 1 0 0 + 0x00000000000004df 111 24 1 0 0 -0x000007a1: 00 DW_LNE_set_address (0x00000000000004b5) +0x000007a1: 00 DW_LNE_set_address (0x00000000000004e4) 0x000007a8: 05 DW_LNS_set_column (10) 0x000007aa: 01 DW_LNS_copy - 0x00000000000004b5 111 10 1 0 0 + 0x00000000000004e4 111 10 1 0 0 -0x000007ab: 00 DW_LNE_set_address (0x00000000000004ba) +0x000007ab: 00 DW_LNE_set_address (0x00000000000004e9) 0x000007b2: 03 DW_LNS_advance_line (113) 0x000007b4: 06 DW_LNS_negate_stmt 0x000007b5: 01 DW_LNS_copy - 0x00000000000004ba 113 10 1 0 0 is_stmt + 0x00000000000004e9 113 10 1 0 0 is_stmt -0x000007b6: 00 DW_LNE_set_address (0x00000000000004bf) +0x000007b6: 00 DW_LNE_set_address (0x00000000000004ee) 0x000007bd: 03 DW_LNS_advance_line (118) 0x000007bf: 05 DW_LNS_set_column (16) 0x000007c1: 01 DW_LNS_copy - 0x00000000000004bf 118 16 1 0 0 is_stmt + 0x00000000000004ee 118 16 1 0 0 is_stmt -0x000007c2: 00 DW_LNE_set_address (0x00000000000004c4) +0x000007c2: 00 DW_LNE_set_address (0x00000000000004f3) 0x000007c9: 05 DW_LNS_set_column (7) 0x000007cb: 06 DW_LNS_negate_stmt 0x000007cc: 01 DW_LNS_copy - 0x00000000000004c4 118 7 1 0 0 + 0x00000000000004f3 118 7 1 0 0 -0x000007cd: 00 DW_LNE_set_address (0x00000000000004c8) +0x000007cd: 00 DW_LNE_set_address (0x00000000000004f7) 0x000007d4: 03 DW_LNS_advance_line (119) 0x000007d6: 05 DW_LNS_set_column (10) 0x000007d8: 06 DW_LNS_negate_stmt 0x000007d9: 01 DW_LNS_copy - 0x00000000000004c8 119 10 1 0 0 is_stmt + 0x00000000000004f7 119 10 1 0 0 is_stmt -0x000007da: 00 DW_LNE_set_address (0x00000000000004ca) +0x000007da: 00 DW_LNE_set_address (0x00000000000004f9) 0x000007e1: 05 DW_LNS_set_column (18) 0x000007e3: 06 DW_LNS_negate_stmt 0x000007e4: 01 DW_LNS_copy - 0x00000000000004ca 119 18 1 0 0 + 0x00000000000004f9 119 18 1 0 0 -0x000007e5: 00 DW_LNE_set_address (0x00000000000004d3) +0x000007e5: 00 DW_LNE_set_address (0x0000000000000502) 0x000007ec: 05 DW_LNS_set_column (10) 0x000007ee: 01 DW_LNS_copy - 0x00000000000004d3 119 10 1 0 0 + 0x0000000000000502 119 10 1 0 0 -0x000007ef: 00 DW_LNE_set_address (0x00000000000004d5) +0x000007ef: 00 DW_LNE_set_address (0x0000000000000504) 0x000007f6: 05 DW_LNS_set_column (23) 0x000007f8: 01 DW_LNS_copy - 0x00000000000004d5 119 23 1 0 0 + 0x0000000000000504 119 23 1 0 0 -0x000007f9: 00 DW_LNE_set_address (0x00000000000004da) +0x000007f9: 00 DW_LNE_set_address (0x000000000000050a) 0x00000800: 03 DW_LNS_advance_line (118) 0x00000802: 05 DW_LNS_set_column (16) 0x00000804: 06 DW_LNS_negate_stmt 0x00000805: 01 DW_LNS_copy - 0x00000000000004da 118 16 1 0 0 is_stmt + 0x000000000000050a 118 16 1 0 0 is_stmt -0x00000806: 00 DW_LNE_set_address (0x00000000000004e5) +0x00000806: 00 DW_LNE_set_address (0x0000000000000515) 0x0000080d: 05 DW_LNS_set_column (7) 0x0000080f: 06 DW_LNS_negate_stmt 0x00000810: 01 DW_LNS_copy - 0x00000000000004e5 118 7 1 0 0 + 0x0000000000000515 118 7 1 0 0 -0x00000811: 00 DW_LNE_set_address (0x00000000000004eb) +0x00000811: 00 DW_LNE_set_address (0x000000000000051b) 0x00000818: 03 DW_LNS_advance_line (122) 0x0000081a: 05 DW_LNS_set_column (16) 0x0000081c: 06 DW_LNS_negate_stmt 0x0000081d: 01 DW_LNS_copy - 0x00000000000004eb 122 16 1 0 0 is_stmt + 0x000000000000051b 122 16 1 0 0 is_stmt -0x0000081e: 00 DW_LNE_set_address (0x00000000000004ff) +0x0000081e: 00 DW_LNE_set_address (0x000000000000052f) 0x00000825: 03 DW_LNS_advance_line (125) 0x00000827: 05 DW_LNS_set_column (22) 0x00000829: 01 DW_LNS_copy - 0x00000000000004ff 125 22 1 0 0 is_stmt + 0x000000000000052f 125 22 1 0 0 is_stmt -0x0000082a: 00 DW_LNE_set_address (0x0000000000000508) +0x0000082a: 00 DW_LNE_set_address (0x0000000000000539) 0x00000831: 03 DW_LNS_advance_line (126) 0x00000833: 05 DW_LNS_set_column (27) 0x00000835: 01 DW_LNS_copy - 0x0000000000000508 126 27 1 0 0 is_stmt + 0x0000000000000539 126 27 1 0 0 is_stmt -0x00000836: 00 DW_LNE_set_address (0x000000000000050d) +0x00000836: 00 DW_LNE_set_address (0x000000000000053e) 0x0000083d: 05 DW_LNS_set_column (13) 0x0000083f: 06 DW_LNS_negate_stmt 0x00000840: 01 DW_LNS_copy - 0x000000000000050d 126 13 1 0 0 + 0x000000000000053e 126 13 1 0 0 -0x00000841: 00 DW_LNE_set_address (0x0000000000000511) +0x00000841: 00 DW_LNE_set_address (0x0000000000000542) 0x00000848: 03 DW_LNS_advance_line (127) 0x0000084a: 05 DW_LNS_set_column (16) 0x0000084c: 06 DW_LNS_negate_stmt 0x0000084d: 01 DW_LNS_copy - 0x0000000000000511 127 16 1 0 0 is_stmt + 0x0000000000000542 127 16 1 0 0 is_stmt -0x0000084e: 00 DW_LNE_set_address (0x0000000000000519) +0x0000084e: 00 DW_LNE_set_address (0x000000000000054a) 0x00000855: 05 DW_LNS_set_column (27) 0x00000857: 06 DW_LNS_negate_stmt 0x00000858: 01 DW_LNS_copy - 0x0000000000000519 127 27 1 0 0 + 0x000000000000054a 127 27 1 0 0 -0x00000859: 00 DW_LNE_set_address (0x000000000000051b) +0x00000859: 00 DW_LNE_set_address (0x000000000000054c) 0x00000860: 05 DW_LNS_set_column (35) 0x00000862: 01 DW_LNS_copy - 0x000000000000051b 127 35 1 0 0 + 0x000000000000054c 127 35 1 0 0 -0x00000863: 00 DW_LNE_set_address (0x0000000000000524) +0x00000863: 00 DW_LNE_set_address (0x0000000000000555) 0x0000086a: 05 DW_LNS_set_column (27) 0x0000086c: 01 DW_LNS_copy - 0x0000000000000524 127 27 1 0 0 + 0x0000000000000555 127 27 1 0 0 -0x0000086d: 00 DW_LNE_set_address (0x0000000000000529) +0x0000086d: 00 DW_LNE_set_address (0x000000000000055b) 0x00000874: 05 DW_LNS_set_column (25) 0x00000876: 01 DW_LNS_copy - 0x0000000000000529 127 25 1 0 0 + 0x000000000000055b 127 25 1 0 0 -0x00000877: 00 DW_LNE_set_address (0x000000000000052c) +0x00000877: 00 DW_LNE_set_address (0x000000000000055f) 0x0000087e: 03 DW_LNS_advance_line (126) 0x00000880: 05 DW_LNS_set_column (27) 0x00000882: 06 DW_LNS_negate_stmt 0x00000883: 01 DW_LNS_copy - 0x000000000000052c 126 27 1 0 0 is_stmt + 0x000000000000055f 126 27 1 0 0 is_stmt -0x00000884: 00 DW_LNE_set_address (0x0000000000000531) +0x00000884: 00 DW_LNE_set_address (0x0000000000000564) 0x0000088b: 05 DW_LNS_set_column (13) 0x0000088d: 06 DW_LNS_negate_stmt 0x0000088e: 01 DW_LNS_copy - 0x0000000000000531 126 13 1 0 0 + 0x0000000000000564 126 13 1 0 0 -0x0000088f: 00 DW_LNE_set_address (0x0000000000000539) +0x0000088f: 00 DW_LNE_set_address (0x000000000000056c) 0x00000896: 03 DW_LNS_advance_line (128) 0x00000898: 06 DW_LNS_negate_stmt 0x00000899: 01 DW_LNS_copy - 0x0000000000000539 128 13 1 0 0 is_stmt + 0x000000000000056c 128 13 1 0 0 is_stmt -0x0000089a: 00 DW_LNE_set_address (0x0000000000000541) +0x0000089a: 00 DW_LNE_set_address (0x0000000000000574) 0x000008a1: 05 DW_LNS_set_column (22) 0x000008a3: 06 DW_LNS_negate_stmt 0x000008a4: 01 DW_LNS_copy - 0x0000000000000541 128 22 1 0 0 + 0x0000000000000574 128 22 1 0 0 -0x000008a5: 00 DW_LNE_set_address (0x0000000000000546) +0x000008a5: 00 DW_LNE_set_address (0x000000000000057a) 0x000008ac: 03 DW_LNS_advance_line (130) 0x000008ae: 05 DW_LNS_set_column (16) 0x000008b0: 06 DW_LNS_negate_stmt 0x000008b1: 01 DW_LNS_copy - 0x0000000000000546 130 16 1 0 0 is_stmt + 0x000000000000057a 130 16 1 0 0 is_stmt -0x000008b2: 00 DW_LNE_set_address (0x000000000000054e) +0x000008b2: 00 DW_LNE_set_address (0x0000000000000582) 0x000008b9: 05 DW_LNS_set_column (14) 0x000008bb: 06 DW_LNS_negate_stmt 0x000008bc: 01 DW_LNS_copy - 0x000000000000054e 130 14 1 0 0 + 0x0000000000000582 130 14 1 0 0 -0x000008bd: 00 DW_LNE_set_address (0x000000000000055f) +0x000008bd: 00 DW_LNE_set_address (0x0000000000000595) 0x000008c4: 05 DW_LNS_set_column (25) 0x000008c6: 01 DW_LNS_copy - 0x000000000000055f 130 25 1 0 0 + 0x0000000000000595 130 25 1 0 0 -0x000008c7: 00 DW_LNE_set_address (0x0000000000000564) +0x000008c7: 00 DW_LNE_set_address (0x000000000000059a) 0x000008ce: 05 DW_LNS_set_column (14) 0x000008d0: 01 DW_LNS_copy - 0x0000000000000564 130 14 1 0 0 + 0x000000000000059a 130 14 1 0 0 -0x000008d1: 00 DW_LNE_set_address (0x0000000000000566) +0x000008d1: 00 DW_LNE_set_address (0x000000000000059c) 0x000008d8: 03 DW_LNS_advance_line (133) 0x000008da: 05 DW_LNS_set_column (11) 0x000008dc: 06 DW_LNS_negate_stmt 0x000008dd: 01 DW_LNS_copy - 0x0000000000000566 133 11 1 0 0 is_stmt + 0x000000000000059c 133 11 1 0 0 is_stmt -0x000008de: 00 DW_LNE_set_address (0x000000000000056b) +0x000008de: 00 DW_LNE_set_address (0x00000000000005a1) 0x000008e5: 03 DW_LNS_advance_line (122) 0x000008e7: 05 DW_LNS_set_column (16) 0x000008e9: 01 DW_LNS_copy - 0x000000000000056b 122 16 1 0 0 is_stmt + 0x00000000000005a1 122 16 1 0 0 is_stmt -0x000008ea: 00 DW_LNE_set_address (0x0000000000000570) +0x000008ea: 00 DW_LNE_set_address (0x00000000000005a6) 0x000008f1: 05 DW_LNS_set_column (14) 0x000008f3: 06 DW_LNS_negate_stmt 0x000008f4: 01 DW_LNS_copy - 0x0000000000000570 122 14 1 0 0 + 0x00000000000005a6 122 14 1 0 0 -0x000008f5: 00 DW_LNE_set_address (0x0000000000000575) +0x000008f5: 00 DW_LNE_set_address (0x00000000000005ab) 0x000008fc: 03 DW_LNS_advance_line (130) 0x000008fe: 06 DW_LNS_negate_stmt 0x000008ff: 01 DW_LNS_copy - 0x0000000000000575 130 14 1 0 0 is_stmt + 0x00000000000005ab 130 14 1 0 0 is_stmt -0x00000900: 00 DW_LNE_set_address (0x0000000000000576) +0x00000900: 00 DW_LNE_set_address (0x00000000000005ac) 0x00000907: 03 DW_LNS_advance_line (110) 0x00000909: 05 DW_LNS_set_column (11) 0x0000090b: 01 DW_LNS_copy - 0x0000000000000576 110 11 1 0 0 is_stmt + 0x00000000000005ac 110 11 1 0 0 is_stmt -0x0000090c: 00 DW_LNE_set_address (0x0000000000000584) +0x0000090c: 00 DW_LNE_set_address (0x00000000000005ba) 0x00000913: 03 DW_LNS_advance_line (113) 0x00000915: 05 DW_LNS_set_column (10) 0x00000917: 01 DW_LNS_copy - 0x0000000000000584 113 10 1 0 0 is_stmt + 0x00000000000005ba 113 10 1 0 0 is_stmt -0x00000918: 00 DW_LNE_set_address (0x0000000000000589) +0x00000918: 00 DW_LNE_set_address (0x00000000000005bf) 0x0000091f: 03 DW_LNS_advance_line (118) 0x00000921: 05 DW_LNS_set_column (16) 0x00000923: 01 DW_LNS_copy - 0x0000000000000589 118 16 1 0 0 is_stmt + 0x00000000000005bf 118 16 1 0 0 is_stmt -0x00000924: 00 DW_LNE_set_address (0x000000000000058e) +0x00000924: 00 DW_LNE_set_address (0x00000000000005c4) 0x0000092b: 05 DW_LNS_set_column (7) 0x0000092d: 06 DW_LNS_negate_stmt 0x0000092e: 01 DW_LNS_copy - 0x000000000000058e 118 7 1 0 0 + 0x00000000000005c4 118 7 1 0 0 -0x0000092f: 00 DW_LNE_set_address (0x0000000000000592) +0x0000092f: 00 DW_LNE_set_address (0x00000000000005c8) 0x00000936: 03 DW_LNS_advance_line (119) 0x00000938: 05 DW_LNS_set_column (10) 0x0000093a: 06 DW_LNS_negate_stmt 0x0000093b: 01 DW_LNS_copy - 0x0000000000000592 119 10 1 0 0 is_stmt + 0x00000000000005c8 119 10 1 0 0 is_stmt -0x0000093c: 00 DW_LNE_set_address (0x0000000000000594) +0x0000093c: 00 DW_LNE_set_address (0x00000000000005ca) 0x00000943: 05 DW_LNS_set_column (18) 0x00000945: 06 DW_LNS_negate_stmt 0x00000946: 01 DW_LNS_copy - 0x0000000000000594 119 18 1 0 0 + 0x00000000000005ca 119 18 1 0 0 -0x00000947: 00 DW_LNE_set_address (0x000000000000059d) +0x00000947: 00 DW_LNE_set_address (0x00000000000005d3) 0x0000094e: 05 DW_LNS_set_column (10) 0x00000950: 01 DW_LNS_copy - 0x000000000000059d 119 10 1 0 0 + 0x00000000000005d3 119 10 1 0 0 -0x00000951: 00 DW_LNE_set_address (0x000000000000059f) +0x00000951: 00 DW_LNE_set_address (0x00000000000005d5) 0x00000958: 05 DW_LNS_set_column (23) 0x0000095a: 01 DW_LNS_copy - 0x000000000000059f 119 23 1 0 0 + 0x00000000000005d5 119 23 1 0 0 -0x0000095b: 00 DW_LNE_set_address (0x00000000000005a4) +0x0000095b: 00 DW_LNE_set_address (0x00000000000005db) 0x00000962: 03 DW_LNS_advance_line (118) 0x00000964: 05 DW_LNS_set_column (16) 0x00000966: 06 DW_LNS_negate_stmt 0x00000967: 01 DW_LNS_copy - 0x00000000000005a4 118 16 1 0 0 is_stmt + 0x00000000000005db 118 16 1 0 0 is_stmt -0x00000968: 00 DW_LNE_set_address (0x00000000000005af) +0x00000968: 00 DW_LNE_set_address (0x00000000000005e6) 0x0000096f: 05 DW_LNS_set_column (7) 0x00000971: 06 DW_LNS_negate_stmt 0x00000972: 01 DW_LNS_copy - 0x00000000000005af 118 7 1 0 0 + 0x00000000000005e6 118 7 1 0 0 -0x00000973: 00 DW_LNE_set_address (0x00000000000005b5) +0x00000973: 00 DW_LNE_set_address (0x00000000000005ec) 0x0000097a: 03 DW_LNS_advance_line (122) 0x0000097c: 05 DW_LNS_set_column (16) 0x0000097e: 06 DW_LNS_negate_stmt 0x0000097f: 01 DW_LNS_copy - 0x00000000000005b5 122 16 1 0 0 is_stmt + 0x00000000000005ec 122 16 1 0 0 is_stmt -0x00000980: 00 DW_LNE_set_address (0x00000000000005ba) +0x00000980: 00 DW_LNE_set_address (0x00000000000005f1) 0x00000987: 05 DW_LNS_set_column (14) 0x00000989: 06 DW_LNS_negate_stmt 0x0000098a: 01 DW_LNS_copy - 0x00000000000005ba 122 14 1 0 0 + 0x00000000000005f1 122 14 1 0 0 -0x0000098b: 00 DW_LNE_set_address (0x00000000000005c3) +0x0000098b: 00 DW_LNE_set_address (0x00000000000005fa) 0x00000992: 03 DW_LNS_advance_line (125) 0x00000994: 05 DW_LNS_set_column (22) 0x00000996: 06 DW_LNS_negate_stmt 0x00000997: 01 DW_LNS_copy - 0x00000000000005c3 125 22 1 0 0 is_stmt + 0x00000000000005fa 125 22 1 0 0 is_stmt -0x00000998: 00 DW_LNE_set_address (0x00000000000005d2) +0x00000998: 00 DW_LNE_set_address (0x000000000000060a) 0x0000099f: 03 DW_LNS_advance_line (126) 0x000009a1: 05 DW_LNS_set_column (27) 0x000009a3: 01 DW_LNS_copy - 0x00000000000005d2 126 27 1 0 0 is_stmt + 0x000000000000060a 126 27 1 0 0 is_stmt -0x000009a4: 00 DW_LNE_set_address (0x00000000000005d7) +0x000009a4: 00 DW_LNE_set_address (0x000000000000060f) 0x000009ab: 05 DW_LNS_set_column (13) 0x000009ad: 06 DW_LNS_negate_stmt 0x000009ae: 01 DW_LNS_copy - 0x00000000000005d7 126 13 1 0 0 + 0x000000000000060f 126 13 1 0 0 -0x000009af: 00 DW_LNE_set_address (0x00000000000005db) +0x000009af: 00 DW_LNE_set_address (0x0000000000000613) 0x000009b6: 03 DW_LNS_advance_line (127) 0x000009b8: 05 DW_LNS_set_column (16) 0x000009ba: 06 DW_LNS_negate_stmt 0x000009bb: 01 DW_LNS_copy - 0x00000000000005db 127 16 1 0 0 is_stmt + 0x0000000000000613 127 16 1 0 0 is_stmt -0x000009bc: 00 DW_LNE_set_address (0x00000000000005e3) +0x000009bc: 00 DW_LNE_set_address (0x000000000000061b) 0x000009c3: 05 DW_LNS_set_column (27) 0x000009c5: 06 DW_LNS_negate_stmt 0x000009c6: 01 DW_LNS_copy - 0x00000000000005e3 127 27 1 0 0 + 0x000000000000061b 127 27 1 0 0 -0x000009c7: 00 DW_LNE_set_address (0x00000000000005e5) +0x000009c7: 00 DW_LNE_set_address (0x000000000000061d) 0x000009ce: 05 DW_LNS_set_column (35) 0x000009d0: 01 DW_LNS_copy - 0x00000000000005e5 127 35 1 0 0 + 0x000000000000061d 127 35 1 0 0 -0x000009d1: 00 DW_LNE_set_address (0x00000000000005ee) +0x000009d1: 00 DW_LNE_set_address (0x0000000000000626) 0x000009d8: 05 DW_LNS_set_column (27) 0x000009da: 01 DW_LNS_copy - 0x00000000000005ee 127 27 1 0 0 + 0x0000000000000626 127 27 1 0 0 -0x000009db: 00 DW_LNE_set_address (0x00000000000005f3) +0x000009db: 00 DW_LNE_set_address (0x000000000000062c) 0x000009e2: 05 DW_LNS_set_column (25) 0x000009e4: 01 DW_LNS_copy - 0x00000000000005f3 127 25 1 0 0 + 0x000000000000062c 127 25 1 0 0 -0x000009e5: 00 DW_LNE_set_address (0x00000000000005f6) +0x000009e5: 00 DW_LNE_set_address (0x0000000000000630) 0x000009ec: 03 DW_LNS_advance_line (126) 0x000009ee: 05 DW_LNS_set_column (27) 0x000009f0: 06 DW_LNS_negate_stmt 0x000009f1: 01 DW_LNS_copy - 0x00000000000005f6 126 27 1 0 0 is_stmt + 0x0000000000000630 126 27 1 0 0 is_stmt -0x000009f2: 00 DW_LNE_set_address (0x00000000000005fb) +0x000009f2: 00 DW_LNE_set_address (0x0000000000000635) 0x000009f9: 05 DW_LNS_set_column (13) 0x000009fb: 06 DW_LNS_negate_stmt 0x000009fc: 01 DW_LNS_copy - 0x00000000000005fb 126 13 1 0 0 + 0x0000000000000635 126 13 1 0 0 -0x000009fd: 00 DW_LNE_set_address (0x0000000000000603) +0x000009fd: 00 DW_LNE_set_address (0x000000000000063d) 0x00000a04: 03 DW_LNS_advance_line (128) 0x00000a06: 06 DW_LNS_negate_stmt 0x00000a07: 01 DW_LNS_copy - 0x0000000000000603 128 13 1 0 0 is_stmt + 0x000000000000063d 128 13 1 0 0 is_stmt -0x00000a08: 00 DW_LNE_set_address (0x000000000000060b) +0x00000a08: 00 DW_LNE_set_address (0x0000000000000645) 0x00000a0f: 05 DW_LNS_set_column (22) 0x00000a11: 06 DW_LNS_negate_stmt 0x00000a12: 01 DW_LNS_copy - 0x000000000000060b 128 22 1 0 0 + 0x0000000000000645 128 22 1 0 0 -0x00000a13: 00 DW_LNE_set_address (0x0000000000000610) +0x00000a13: 00 DW_LNE_set_address (0x000000000000064b) 0x00000a1a: 03 DW_LNS_advance_line (130) 0x00000a1c: 05 DW_LNS_set_column (16) 0x00000a1e: 06 DW_LNS_negate_stmt 0x00000a1f: 01 DW_LNS_copy - 0x0000000000000610 130 16 1 0 0 is_stmt + 0x000000000000064b 130 16 1 0 0 is_stmt -0x00000a20: 00 DW_LNE_set_address (0x0000000000000618) +0x00000a20: 00 DW_LNE_set_address (0x0000000000000653) 0x00000a27: 05 DW_LNS_set_column (14) 0x00000a29: 06 DW_LNS_negate_stmt 0x00000a2a: 01 DW_LNS_copy - 0x0000000000000618 130 14 1 0 0 + 0x0000000000000653 130 14 1 0 0 -0x00000a2b: 00 DW_LNE_set_address (0x0000000000000629) +0x00000a2b: 00 DW_LNE_set_address (0x0000000000000666) 0x00000a32: 05 DW_LNS_set_column (25) 0x00000a34: 01 DW_LNS_copy - 0x0000000000000629 130 25 1 0 0 + 0x0000000000000666 130 25 1 0 0 -0x00000a35: 00 DW_LNE_set_address (0x000000000000062e) +0x00000a35: 00 DW_LNE_set_address (0x000000000000066b) 0x00000a3c: 05 DW_LNS_set_column (14) 0x00000a3e: 01 DW_LNS_copy - 0x000000000000062e 130 14 1 0 0 + 0x000000000000066b 130 14 1 0 0 -0x00000a3f: 00 DW_LNE_set_address (0x0000000000000630) +0x00000a3f: 00 DW_LNE_set_address (0x000000000000066d) 0x00000a46: 03 DW_LNS_advance_line (133) 0x00000a48: 05 DW_LNS_set_column (11) 0x00000a4a: 06 DW_LNS_negate_stmt 0x00000a4b: 01 DW_LNS_copy - 0x0000000000000630 133 11 1 0 0 is_stmt + 0x000000000000066d 133 11 1 0 0 is_stmt -0x00000a4c: 00 DW_LNE_set_address (0x0000000000000635) +0x00000a4c: 00 DW_LNE_set_address (0x0000000000000672) 0x00000a53: 03 DW_LNS_advance_line (122) 0x00000a55: 05 DW_LNS_set_column (16) 0x00000a57: 01 DW_LNS_copy - 0x0000000000000635 122 16 1 0 0 is_stmt + 0x0000000000000672 122 16 1 0 0 is_stmt -0x00000a58: 00 DW_LNE_set_address (0x000000000000063a) +0x00000a58: 00 DW_LNE_set_address (0x0000000000000677) 0x00000a5f: 05 DW_LNS_set_column (14) 0x00000a61: 06 DW_LNS_negate_stmt 0x00000a62: 01 DW_LNS_copy - 0x000000000000063a 122 14 1 0 0 + 0x0000000000000677 122 14 1 0 0 -0x00000a63: 00 DW_LNE_set_address (0x000000000000063f) +0x00000a63: 00 DW_LNE_set_address (0x000000000000067c) 0x00000a6a: 03 DW_LNS_advance_line (130) 0x00000a6c: 06 DW_LNS_negate_stmt 0x00000a6d: 01 DW_LNS_copy - 0x000000000000063f 130 14 1 0 0 is_stmt + 0x000000000000067c 130 14 1 0 0 is_stmt -0x00000a6e: 00 DW_LNE_set_address (0x0000000000000640) +0x00000a6e: 00 DW_LNE_set_address (0x000000000000067d) 0x00000a75: 03 DW_LNS_advance_line (110) 0x00000a77: 05 DW_LNS_set_column (11) 0x00000a79: 01 DW_LNS_copy - 0x0000000000000640 110 11 1 0 0 is_stmt + 0x000000000000067d 110 11 1 0 0 is_stmt -0x00000a7a: 00 DW_LNE_set_address (0x0000000000000646) +0x00000a7a: 00 DW_LNE_set_address (0x0000000000000683) 0x00000a81: 03 DW_LNS_advance_line (138) 0x00000a83: 05 DW_LNS_set_column (4) 0x00000a85: 01 DW_LNS_copy - 0x0000000000000646 138 4 1 0 0 is_stmt + 0x0000000000000683 138 4 1 0 0 is_stmt -0x00000a86: 00 DW_LNE_set_address (0x000000000000064a) +0x00000a86: 00 DW_LNE_set_address (0x0000000000000687) 0x00000a8d: 03 DW_LNS_advance_line (139) 0x00000a8f: 01 DW_LNS_copy - 0x000000000000064a 139 4 1 0 0 is_stmt + 0x0000000000000687 139 4 1 0 0 is_stmt -0x00000a90: 00 DW_LNE_set_address (0x0000000000000656) +0x00000a90: 00 DW_LNE_set_address (0x0000000000000693) 0x00000a97: 03 DW_LNS_advance_line (141) 0x00000a99: 01 DW_LNS_copy - 0x0000000000000656 141 4 1 0 0 is_stmt + 0x0000000000000693 141 4 1 0 0 is_stmt -0x00000a9a: 00 DW_LNE_set_address (0x0000000000000661) +0x00000a9a: 00 DW_LNE_set_address (0x000000000000069e) 0x00000aa1: 03 DW_LNS_advance_line (142) 0x00000aa3: 05 DW_LNS_set_column (20) 0x00000aa5: 01 DW_LNS_copy - 0x0000000000000661 142 20 1 0 0 is_stmt + 0x000000000000069e 142 20 1 0 0 is_stmt -0x00000aa6: 00 DW_LNE_set_address (0x0000000000000669) +0x00000aa6: 00 DW_LNE_set_address (0x00000000000006a6) 0x00000aad: 03 DW_LNS_advance_line (146) 0x00000aaf: 01 DW_LNS_copy - 0x0000000000000669 146 20 1 0 0 is_stmt + 0x00000000000006a6 146 20 1 0 0 is_stmt -0x00000ab0: 00 DW_LNE_set_address (0x0000000000000670) +0x00000ab0: 00 DW_LNE_set_address (0x00000000000006ae) 0x00000ab7: 03 DW_LNS_advance_line (147) 0x00000ab9: 05 DW_LNS_set_column (7) 0x00000abb: 01 DW_LNS_copy - 0x0000000000000670 147 7 1 0 0 is_stmt + 0x00000000000006ae 147 7 1 0 0 is_stmt -0x00000abc: 00 DW_LNE_set_address (0x0000000000000674) +0x00000abc: 00 DW_LNE_set_address (0x00000000000006b2) 0x00000ac3: 03 DW_LNS_advance_line (143) 0x00000ac5: 05 DW_LNS_set_column (11) 0x00000ac7: 01 DW_LNS_copy - 0x0000000000000674 143 11 1 0 0 is_stmt + 0x00000000000006b2 143 11 1 0 0 is_stmt -0x00000ac8: 00 DW_LNE_set_address (0x0000000000000678) +0x00000ac8: 00 DW_LNE_set_address (0x00000000000006b6) 0x00000acf: 05 DW_LNS_set_column (20) 0x00000ad1: 06 DW_LNS_negate_stmt 0x00000ad2: 01 DW_LNS_copy - 0x0000000000000678 143 20 1 0 0 + 0x00000000000006b6 143 20 1 0 0 -0x00000ad3: 00 DW_LNE_set_address (0x000000000000067d) +0x00000ad3: 00 DW_LNE_set_address (0x00000000000006bb) 0x00000ada: 05 DW_LNS_set_column (11) 0x00000adc: 01 DW_LNS_copy - 0x000000000000067d 143 11 1 0 0 + 0x00000000000006bb 143 11 1 0 0 -0x00000add: 00 DW_LNE_set_address (0x0000000000000684) +0x00000add: 00 DW_LNE_set_address (0x00000000000006c2) 0x00000ae4: 03 DW_LNS_advance_line (141) 0x00000ae6: 05 DW_LNS_set_column (4) 0x00000ae8: 06 DW_LNS_negate_stmt 0x00000ae9: 01 DW_LNS_copy - 0x0000000000000684 141 4 1 0 0 is_stmt + 0x00000000000006c2 141 4 1 0 0 is_stmt -0x00000aea: 00 DW_LNE_set_address (0x000000000000068a) +0x00000aea: 00 DW_LNE_set_address (0x00000000000006c8) 0x00000af1: 03 DW_LNS_advance_line (159) 0x00000af3: 01 DW_LNS_copy - 0x000000000000068a 159 4 1 0 0 is_stmt + 0x00000000000006c8 159 4 1 0 0 is_stmt -0x00000af4: 00 DW_LNE_set_address (0x00000000000006a1) +0x00000af4: 00 DW_LNE_set_address (0x00000000000006e1) 0x00000afb: 03 DW_LNS_advance_line (161) 0x00000afd: 05 DW_LNS_set_column (1) 0x00000aff: 01 DW_LNS_copy - 0x00000000000006a1 161 1 1 0 0 is_stmt + 0x00000000000006e1 161 1 1 0 0 is_stmt -0x00000b00: 00 DW_LNE_set_address (0x00000000000006ab) +0x00000b00: 00 DW_LNE_set_address (0x00000000000006eb) 0x00000b07: 00 DW_LNE_end_sequence - 0x00000000000006ab 161 1 1 0 0 is_stmt end_sequence + 0x00000000000006eb 161 1 1 0 0 is_stmt end_sequence .debug_str contents: @@ -4778,16 +4778,16 @@ file_names[ 4]: 0x000001ad: "char" .debug_ranges contents: -00000000 00000193 000001d1 -00000000 000001fb 00000204 -00000000 0000031e 0000035c -00000000 00000386 0000038f +00000000 000001a2 000001e3 +00000000 0000020f 00000219 +00000000 00000340 00000381 +00000000 000003ad 000003b7 00000000 -00000028 000004ff 00000546 -00000028 000005c3 00000610 +00000028 0000052f 0000057a +00000028 000005fa 0000064b 00000028 -00000040 00000006 000003a3 -00000040 000003a5 000006ab +00000040 00000006 000003cb +00000040 000003cd 000006eb 00000040 (module (type $i32_=>_i32 (func (param i32) (result i32))) @@ -4834,15 +4834,15 @@ file_names[ 4]: ;; code offset: 0x27 (i32.const 0) ) - ;; code offset: 0x39 + ;; code offset: 0x3a (local.set $4 - ;; code offset: 0x37 + ;; code offset: 0x38 (call $malloc - ;; code offset: 0x35 + ;; code offset: 0x36 (local.tee $3 - ;; code offset: 0x34 + ;; code offset: 0x35 (i32.shl - ;; code offset: 0x30 + ;; code offset: 0x31 (local.tee $2 ;; code offset: 0x2d (i32.load $mimport$0 offset=4 @@ -4850,369 +4850,369 @@ file_names[ 4]: (local.get $0) ) ) - ;; code offset: 0x32 + ;; code offset: 0x33 (i32.const 2) ) ) ) ) - ;; code offset: 0x3f + ;; code offset: 0x40 (local.set $5 - ;; code offset: 0x3d + ;; code offset: 0x3e (call $malloc - ;; code offset: 0x3b + ;; code offset: 0x3c (local.get $3) ) ) - ;; code offset: 0x45 + ;; code offset: 0x46 (local.set $6 - ;; code offset: 0x43 + ;; code offset: 0x44 (call $malloc - ;; code offset: 0x41 + ;; code offset: 0x42 (local.get $3) ) ) - ;; code offset: 0x47 + ;; code offset: 0x48 (block $label$1 (block $label$2 (block $label$3 - ;; code offset: 0x52 + ;; code offset: 0x53 (br_if $label$3 - ;; code offset: 0x51 + ;; code offset: 0x52 (i32.le_s - ;; code offset: 0x4d + ;; code offset: 0x4e (local.get $2) - ;; code offset: 0x4f + ;; code offset: 0x50 (i32.const 0) ) ) - ;; code offset: 0x54 + ;; code offset: 0x55 (loop $label$4 - ;; code offset: 0x60 + ;; code offset: 0x61 (i32.store $mimport$0 - ;; code offset: 0x5d + ;; code offset: 0x5e (i32.add - ;; code offset: 0x56 + ;; code offset: 0x57 (local.get $4) - ;; code offset: 0x5c + ;; code offset: 0x5d (i32.shl - ;; code offset: 0x58 + ;; code offset: 0x59 (local.get $1) - ;; code offset: 0x5a + ;; code offset: 0x5b (i32.const 2) ) ) - ;; code offset: 0x5e + ;; code offset: 0x5f (local.get $1) ) - ;; code offset: 0x6d + ;; code offset: 0x6f (br_if $label$4 - ;; code offset: 0x6c + ;; code offset: 0x6e (i32.ne - ;; code offset: 0x68 + ;; code offset: 0x6a (local.tee $1 - ;; code offset: 0x67 + ;; code offset: 0x69 (i32.add - ;; code offset: 0x63 - (local.get $1) ;; code offset: 0x65 + (local.get $1) + ;; code offset: 0x67 (i32.const 1) ) ) - ;; code offset: 0x6a + ;; code offset: 0x6c (local.get $2) ) ) ) - ;; code offset: 0x84 + ;; code offset: 0x87 (i32.store $mimport$0 - ;; code offset: 0x7c + ;; code offset: 0x7f (i32.add - ;; code offset: 0x70 + ;; code offset: 0x72 (local.get $4) - ;; code offset: 0x7b + ;; code offset: 0x7e (i32.shl - ;; code offset: 0x77 + ;; code offset: 0x7a (local.tee $1 - ;; code offset: 0x74 + ;; code offset: 0x76 (i32.load $mimport$0 - ;; code offset: 0x72 + ;; code offset: 0x74 (local.get $0) ) ) - ;; code offset: 0x79 + ;; code offset: 0x7c (i32.const 2) ) ) - ;; code offset: 0x82 + ;; code offset: 0x85 (local.tee $7 - ;; code offset: 0x81 + ;; code offset: 0x84 (i32.add - ;; code offset: 0x7d + ;; code offset: 0x80 (local.get $2) - ;; code offset: 0x7f + ;; code offset: 0x82 (i32.const -1) ) ) ) - ;; code offset: 0x93 + ;; code offset: 0x97 (i32.store $mimport$0 - ;; code offset: 0x8f + ;; code offset: 0x93 (local.tee $8 - ;; code offset: 0x8e + ;; code offset: 0x92 (i32.add - ;; code offset: 0x87 + ;; code offset: 0x8b (local.get $4) - ;; code offset: 0x8d + ;; code offset: 0x91 (i32.shl - ;; code offset: 0x89 + ;; code offset: 0x8d (local.get $7) - ;; code offset: 0x8b + ;; code offset: 0x8f (i32.const 2) ) ) ) - ;; code offset: 0x91 + ;; code offset: 0x95 (local.get $1) ) - ;; code offset: 0x98 + ;; code offset: 0x9d (local.set $9 - ;; code offset: 0x96 + ;; code offset: 0x9b (i32.const 0) ) - ;; code offset: 0x9f + ;; code offset: 0xa4 (br_if $label$2 - ;; code offset: 0x9e + ;; code offset: 0xa3 (i32.le_s - ;; code offset: 0x9a + ;; code offset: 0x9f (local.get $2) - ;; code offset: 0x9c + ;; code offset: 0xa1 (i32.const 0) ) ) - ;; code offset: 0xa1 + ;; code offset: 0xa6 (loop $label$5 - ;; code offset: 0xa3 + ;; code offset: 0xa8 (block $label$6 - ;; code offset: 0xaa + ;; code offset: 0xaf (br_if $label$6 - ;; code offset: 0xa9 + ;; code offset: 0xae (i32.le_s - ;; code offset: 0xa5 + ;; code offset: 0xaa (local.get $2) - ;; code offset: 0xa7 + ;; code offset: 0xac (i32.const 1) ) ) - ;; code offset: 0xac + ;; code offset: 0xb1 (loop $label$7 - ;; code offset: 0xbd + ;; code offset: 0xc2 (i32.store $mimport$0 - ;; code offset: 0xba + ;; code offset: 0xbf (i32.add - ;; code offset: 0xae + ;; code offset: 0xb3 (local.get $6) - ;; code offset: 0xb9 + ;; code offset: 0xbe (i32.shl - ;; code offset: 0xb5 + ;; code offset: 0xba (local.tee $1 - ;; code offset: 0xb4 + ;; code offset: 0xb9 (i32.add - ;; code offset: 0xb0 + ;; code offset: 0xb5 (local.get $2) - ;; code offset: 0xb2 + ;; code offset: 0xb7 (i32.const -1) ) ) - ;; code offset: 0xb7 + ;; code offset: 0xbc (i32.const 2) ) ) - ;; code offset: 0xbb + ;; code offset: 0xc0 (local.get $2) ) - ;; code offset: 0xc5 + ;; code offset: 0xcb (local.set $0 - ;; code offset: 0xc4 + ;; code offset: 0xca (i32.gt_s - ;; code offset: 0xc0 + ;; code offset: 0xc6 (local.get $2) - ;; code offset: 0xc2 + ;; code offset: 0xc8 (i32.const 2) ) ) - ;; code offset: 0xc9 + ;; code offset: 0xcf (local.set $2 - ;; code offset: 0xc7 + ;; code offset: 0xcd (local.get $1) ) - ;; code offset: 0xcd + ;; code offset: 0xd3 (br_if $label$7 - ;; code offset: 0xcb + ;; code offset: 0xd1 (local.get $0) ) ) ) - ;; code offset: 0xd1 + ;; code offset: 0xd7 (block $label$8 - ;; code offset: 0xdb + ;; code offset: 0xe2 (br_if $label$8 - ;; code offset: 0xda + ;; code offset: 0xe1 (i32.eqz - ;; code offset: 0xd8 + ;; code offset: 0xdf (local.tee $10 - ;; code offset: 0xd5 + ;; code offset: 0xdb (i32.load $mimport$0 - ;; code offset: 0xd3 + ;; code offset: 0xd9 (local.get $4) ) ) ) ) - ;; code offset: 0xe5 + ;; code offset: 0xed (br_if $label$8 - ;; code offset: 0xe4 + ;; code offset: 0xec (i32.eq - ;; code offset: 0xdf + ;; code offset: 0xe6 (i32.load $mimport$0 - ;; code offset: 0xdd + ;; code offset: 0xe4 (local.get $8) ) - ;; code offset: 0xe2 + ;; code offset: 0xea (local.get $7) ) ) - ;; code offset: 0xf4 + ;; code offset: 0xfd (local.set $12 - ;; code offset: 0xf1 + ;; code offset: 0xf9 (i32.load $mimport$0 - ;; code offset: 0xef + ;; code offset: 0xf7 (local.tee $11 - ;; code offset: 0xed + ;; code offset: 0xf5 (call $memcpy - ;; code offset: 0xe7 + ;; code offset: 0xef (local.get $5) - ;; code offset: 0xe9 + ;; code offset: 0xf1 (local.get $4) - ;; code offset: 0xeb + ;; code offset: 0xf3 (local.get $3) ) ) ) ) - ;; code offset: 0xf8 + ;; code offset: 0x101 (local.set $0 - ;; code offset: 0xf6 + ;; code offset: 0xff (i32.const 0) ) - ;; code offset: 0xfa + ;; code offset: 0x103 (loop $label$9 - ;; code offset: 0xfe + ;; code offset: 0x107 (local.set $13 - ;; code offset: 0xfc + ;; code offset: 0x105 (local.get $0) ) - ;; code offset: 0x100 + ;; code offset: 0x109 (block $label$10 - ;; code offset: 0x107 + ;; code offset: 0x110 (br_if $label$10 - ;; code offset: 0x106 + ;; code offset: 0x10f (i32.lt_s - ;; code offset: 0x102 + ;; code offset: 0x10b (local.get $12) - ;; code offset: 0x104 + ;; code offset: 0x10d (i32.const 3) ) ) - ;; code offset: 0x10e + ;; code offset: 0x117 (local.set $1 - ;; code offset: 0x10d + ;; code offset: 0x116 (i32.add - ;; code offset: 0x109 + ;; code offset: 0x112 (local.get $12) - ;; code offset: 0x10b + ;; code offset: 0x114 (i32.const -1) ) ) - ;; code offset: 0x112 + ;; code offset: 0x11b (local.set $0 - ;; code offset: 0x110 + ;; code offset: 0x119 (i32.const 1) ) - ;; code offset: 0x114 + ;; code offset: 0x11d (loop $label$11 - ;; code offset: 0x123 + ;; code offset: 0x12d (local.set $15 - ;; code offset: 0x120 + ;; code offset: 0x129 (i32.load $mimport$0 - ;; code offset: 0x11e + ;; code offset: 0x127 (local.tee $14 - ;; code offset: 0x11d + ;; code offset: 0x126 (i32.add - ;; code offset: 0x116 + ;; code offset: 0x11f (local.get $11) - ;; code offset: 0x11c + ;; code offset: 0x125 (i32.shl - ;; code offset: 0x118 + ;; code offset: 0x121 (local.get $0) - ;; code offset: 0x11a + ;; code offset: 0x123 (i32.const 2) ) ) ) ) ) - ;; code offset: 0x134 + ;; code offset: 0x13f (i32.store $mimport$0 - ;; code offset: 0x125 + ;; code offset: 0x12f (local.get $14) - ;; code offset: 0x131 + ;; code offset: 0x13b (i32.load $mimport$0 - ;; code offset: 0x12f + ;; code offset: 0x139 (local.tee $16 - ;; code offset: 0x12e + ;; code offset: 0x138 (i32.add - ;; code offset: 0x127 + ;; code offset: 0x131 (local.get $11) - ;; code offset: 0x12d + ;; code offset: 0x137 (i32.shl - ;; code offset: 0x129 + ;; code offset: 0x133 (local.get $1) - ;; code offset: 0x12b + ;; code offset: 0x135 (i32.const 2) ) ) ) ) ) - ;; code offset: 0x13b + ;; code offset: 0x147 (i32.store $mimport$0 - ;; code offset: 0x137 + ;; code offset: 0x143 (local.get $16) - ;; code offset: 0x139 + ;; code offset: 0x145 (local.get $15) ) - ;; code offset: 0x14d + ;; code offset: 0x15a (br_if $label$11 - ;; code offset: 0x14c + ;; code offset: 0x159 (i32.lt_s - ;; code offset: 0x143 + ;; code offset: 0x150 (local.tee $0 - ;; code offset: 0x142 + ;; code offset: 0x14f (i32.add - ;; code offset: 0x13e + ;; code offset: 0x14b (local.get $0) - ;; code offset: 0x140 + ;; code offset: 0x14d (i32.const 1) ) ) - ;; code offset: 0x14a + ;; code offset: 0x157 (local.tee $1 - ;; code offset: 0x149 + ;; code offset: 0x156 (i32.add - ;; code offset: 0x145 + ;; code offset: 0x152 (local.get $1) - ;; code offset: 0x147 + ;; code offset: 0x154 (i32.const -1) ) ) @@ -5220,518 +5220,518 @@ file_names[ 4]: ) ) ) - ;; code offset: 0x15e + ;; code offset: 0x16c (local.set $1 - ;; code offset: 0x15b + ;; code offset: 0x168 (i32.load $mimport$0 - ;; code offset: 0x159 + ;; code offset: 0x166 (local.tee $0 - ;; code offset: 0x158 + ;; code offset: 0x165 (i32.add - ;; code offset: 0x151 + ;; code offset: 0x15e (local.get $11) - ;; code offset: 0x157 + ;; code offset: 0x164 (i32.shl - ;; code offset: 0x153 + ;; code offset: 0x160 (local.get $12) - ;; code offset: 0x155 + ;; code offset: 0x162 (i32.const 2) ) ) ) ) ) - ;; code offset: 0x164 + ;; code offset: 0x172 (i32.store $mimport$0 - ;; code offset: 0x160 + ;; code offset: 0x16e (local.get $0) - ;; code offset: 0x162 + ;; code offset: 0x170 (local.get $12) ) - ;; code offset: 0x16c + ;; code offset: 0x17b (local.set $0 - ;; code offset: 0x16b + ;; code offset: 0x17a (i32.add - ;; code offset: 0x167 + ;; code offset: 0x176 (local.get $13) - ;; code offset: 0x169 + ;; code offset: 0x178 (i32.const 1) ) ) - ;; code offset: 0x170 + ;; code offset: 0x17f (local.set $12 - ;; code offset: 0x16e + ;; code offset: 0x17d (local.get $1) ) - ;; code offset: 0x174 + ;; code offset: 0x183 (br_if $label$9 - ;; code offset: 0x172 + ;; code offset: 0x181 (local.get $1) ) ) - ;; code offset: 0x181 + ;; code offset: 0x190 (local.set $9 - ;; code offset: 0x180 + ;; code offset: 0x18f (select - ;; code offset: 0x177 + ;; code offset: 0x186 (local.get $9) - ;; code offset: 0x179 + ;; code offset: 0x188 (local.get $0) - ;; code offset: 0x17f + ;; code offset: 0x18e (i32.gt_s - ;; code offset: 0x17b + ;; code offset: 0x18a (local.get $9) - ;; code offset: 0x17d + ;; code offset: 0x18c (local.get $13) ) ) ) ) - ;; code offset: 0x189 + ;; code offset: 0x198 (br_if $label$1 - ;; code offset: 0x188 + ;; code offset: 0x197 (i32.ge_s - ;; code offset: 0x184 + ;; code offset: 0x193 (local.get $2) - ;; code offset: 0x186 + ;; code offset: 0x195 (local.get $7) ) ) - ;; code offset: 0x18b + ;; code offset: 0x19a (loop $label$12 - ;; code offset: 0x18f + ;; code offset: 0x19e (local.set $1 - ;; code offset: 0x18d + ;; code offset: 0x19c (i32.const 0) ) - ;; code offset: 0x191 + ;; code offset: 0x1a0 (block $label$13 - ;; code offset: 0x198 + ;; code offset: 0x1a7 (br_if $label$13 - ;; code offset: 0x197 + ;; code offset: 0x1a6 (i32.le_s - ;; code offset: 0x193 + ;; code offset: 0x1a2 (local.get $2) - ;; code offset: 0x195 + ;; code offset: 0x1a4 (i32.const 0) ) ) - ;; code offset: 0x19a + ;; code offset: 0x1a9 (loop $label$14 - ;; code offset: 0x1b4 + ;; code offset: 0x1c4 (i32.store $mimport$0 - ;; code offset: 0x1a3 + ;; code offset: 0x1b2 (i32.add - ;; code offset: 0x19c + ;; code offset: 0x1ab (local.get $4) - ;; code offset: 0x1a2 + ;; code offset: 0x1b1 (i32.shl - ;; code offset: 0x19e + ;; code offset: 0x1ad (local.get $1) - ;; code offset: 0x1a0 + ;; code offset: 0x1af (i32.const 2) ) ) - ;; code offset: 0x1b1 + ;; code offset: 0x1c0 (i32.load $mimport$0 - ;; code offset: 0x1b0 + ;; code offset: 0x1bf (i32.add - ;; code offset: 0x1a4 + ;; code offset: 0x1b3 (local.get $4) - ;; code offset: 0x1af + ;; code offset: 0x1be (i32.shl - ;; code offset: 0x1ab + ;; code offset: 0x1ba (local.tee $1 - ;; code offset: 0x1aa + ;; code offset: 0x1b9 (i32.add - ;; code offset: 0x1a6 + ;; code offset: 0x1b5 (local.get $1) - ;; code offset: 0x1a8 + ;; code offset: 0x1b7 (i32.const 1) ) ) - ;; code offset: 0x1ad + ;; code offset: 0x1bc (i32.const 2) ) ) ) ) - ;; code offset: 0x1bc + ;; code offset: 0x1cd (br_if $label$14 - ;; code offset: 0x1bb + ;; code offset: 0x1cc (i32.ne - ;; code offset: 0x1b7 + ;; code offset: 0x1c8 (local.get $1) - ;; code offset: 0x1b9 + ;; code offset: 0x1ca (local.get $2) ) ) ) - ;; code offset: 0x1c1 + ;; code offset: 0x1d2 (local.set $1 - ;; code offset: 0x1bf + ;; code offset: 0x1d0 (local.get $2) ) ) - ;; code offset: 0x1ce + ;; code offset: 0x1df (i32.store $mimport$0 - ;; code offset: 0x1cb + ;; code offset: 0x1dc (i32.add - ;; code offset: 0x1c4 + ;; code offset: 0x1d5 (local.get $4) - ;; code offset: 0x1ca + ;; code offset: 0x1db (i32.shl - ;; code offset: 0x1c6 + ;; code offset: 0x1d7 (local.get $1) - ;; code offset: 0x1c8 + ;; code offset: 0x1d9 (i32.const 2) ) ) - ;; code offset: 0x1cc + ;; code offset: 0x1dd (local.get $10) ) - ;; code offset: 0x1e5 + ;; code offset: 0x1f8 (i32.store $mimport$0 - ;; code offset: 0x1d9 + ;; code offset: 0x1eb (local.tee $1 - ;; code offset: 0x1d8 + ;; code offset: 0x1ea (i32.add - ;; code offset: 0x1d1 + ;; code offset: 0x1e3 (local.get $6) - ;; code offset: 0x1d7 + ;; code offset: 0x1e9 (i32.shl - ;; code offset: 0x1d3 + ;; code offset: 0x1e5 (local.get $2) - ;; code offset: 0x1d5 + ;; code offset: 0x1e7 (i32.const 2) ) ) ) - ;; code offset: 0x1e4 + ;; code offset: 0x1f7 (i32.add - ;; code offset: 0x1e0 + ;; code offset: 0x1f3 (local.tee $1 - ;; code offset: 0x1dd + ;; code offset: 0x1ef (i32.load $mimport$0 - ;; code offset: 0x1db + ;; code offset: 0x1ed (local.get $1) ) ) - ;; code offset: 0x1e2 + ;; code offset: 0x1f5 (i32.const -1) ) ) - ;; code offset: 0x1ed + ;; code offset: 0x201 (br_if $label$5 - ;; code offset: 0x1ec + ;; code offset: 0x200 (i32.gt_s - ;; code offset: 0x1e8 + ;; code offset: 0x1fc (local.get $1) - ;; code offset: 0x1ea + ;; code offset: 0x1fe (i32.const 1) ) ) - ;; code offset: 0x1f9 + ;; code offset: 0x20d (br_if $label$1 - ;; code offset: 0x1f8 + ;; code offset: 0x20c (i32.eq - ;; code offset: 0x1f4 + ;; code offset: 0x208 (local.tee $2 - ;; code offset: 0x1f3 + ;; code offset: 0x207 (i32.add - ;; code offset: 0x1ef + ;; code offset: 0x203 (local.get $2) - ;; code offset: 0x1f1 + ;; code offset: 0x205 (i32.const 1) ) ) - ;; code offset: 0x1f6 + ;; code offset: 0x20a (local.get $7) ) ) - ;; code offset: 0x200 + ;; code offset: 0x215 (local.set $10 - ;; code offset: 0x1fd + ;; code offset: 0x211 (i32.load $mimport$0 - ;; code offset: 0x1fb + ;; code offset: 0x20f (local.get $4) ) ) - ;; code offset: 0x202 + ;; code offset: 0x217 (br $label$12) ) ) ) - ;; code offset: 0x21d + ;; code offset: 0x233 (i32.store $mimport$0 - ;; code offset: 0x215 + ;; code offset: 0x22b (i32.add - ;; code offset: 0x209 + ;; code offset: 0x21e (local.get $4) - ;; code offset: 0x214 + ;; code offset: 0x22a (i32.shl - ;; code offset: 0x210 + ;; code offset: 0x226 (local.tee $1 - ;; code offset: 0x20d + ;; code offset: 0x222 (i32.load $mimport$0 - ;; code offset: 0x20b + ;; code offset: 0x220 (local.get $0) ) ) - ;; code offset: 0x212 + ;; code offset: 0x228 (i32.const 2) ) ) - ;; code offset: 0x21b + ;; code offset: 0x231 (local.tee $7 - ;; code offset: 0x21a + ;; code offset: 0x230 (i32.add - ;; code offset: 0x216 + ;; code offset: 0x22c (local.get $2) - ;; code offset: 0x218 + ;; code offset: 0x22e (i32.const -1) ) ) ) - ;; code offset: 0x22c + ;; code offset: 0x243 (i32.store $mimport$0 - ;; code offset: 0x228 + ;; code offset: 0x23f (local.tee $8 - ;; code offset: 0x227 + ;; code offset: 0x23e (i32.add - ;; code offset: 0x220 + ;; code offset: 0x237 (local.get $4) - ;; code offset: 0x226 + ;; code offset: 0x23d (i32.shl - ;; code offset: 0x222 + ;; code offset: 0x239 (local.get $7) - ;; code offset: 0x224 + ;; code offset: 0x23b (i32.const 2) ) ) ) - ;; code offset: 0x22a + ;; code offset: 0x241 (local.get $1) ) ) - ;; code offset: 0x232 + ;; code offset: 0x24a (local.set $9 - ;; code offset: 0x230 + ;; code offset: 0x248 (i32.const 0) ) - ;; code offset: 0x234 + ;; code offset: 0x24c (loop $label$15 - ;; code offset: 0x236 + ;; code offset: 0x24e (block $label$16 - ;; code offset: 0x23d + ;; code offset: 0x255 (br_if $label$16 - ;; code offset: 0x23c + ;; code offset: 0x254 (i32.lt_s - ;; code offset: 0x238 + ;; code offset: 0x250 (local.get $2) - ;; code offset: 0x23a + ;; code offset: 0x252 (i32.const 2) ) ) - ;; code offset: 0x23f + ;; code offset: 0x257 (loop $label$17 - ;; code offset: 0x250 + ;; code offset: 0x268 (i32.store $mimport$0 - ;; code offset: 0x24d + ;; code offset: 0x265 (i32.add - ;; code offset: 0x241 + ;; code offset: 0x259 (local.get $6) - ;; code offset: 0x24c + ;; code offset: 0x264 (i32.shl - ;; code offset: 0x248 + ;; code offset: 0x260 (local.tee $1 - ;; code offset: 0x247 + ;; code offset: 0x25f (i32.add - ;; code offset: 0x243 + ;; code offset: 0x25b (local.get $2) - ;; code offset: 0x245 + ;; code offset: 0x25d (i32.const -1) ) ) - ;; code offset: 0x24a + ;; code offset: 0x262 (i32.const 2) ) ) - ;; code offset: 0x24e + ;; code offset: 0x266 (local.get $2) ) - ;; code offset: 0x258 + ;; code offset: 0x271 (local.set $0 - ;; code offset: 0x257 + ;; code offset: 0x270 (i32.gt_s - ;; code offset: 0x253 + ;; code offset: 0x26c (local.get $2) - ;; code offset: 0x255 + ;; code offset: 0x26e (i32.const 2) ) ) - ;; code offset: 0x25c + ;; code offset: 0x275 (local.set $2 - ;; code offset: 0x25a + ;; code offset: 0x273 (local.get $1) ) - ;; code offset: 0x260 + ;; code offset: 0x279 (br_if $label$17 - ;; code offset: 0x25e + ;; code offset: 0x277 (local.get $0) ) ) ) - ;; code offset: 0x264 + ;; code offset: 0x27d (block $label$18 - ;; code offset: 0x26e + ;; code offset: 0x288 (br_if $label$18 - ;; code offset: 0x26d + ;; code offset: 0x287 (i32.eqz - ;; code offset: 0x26b + ;; code offset: 0x285 (local.tee $12 - ;; code offset: 0x268 + ;; code offset: 0x281 (i32.load $mimport$0 - ;; code offset: 0x266 + ;; code offset: 0x27f (local.get $4) ) ) ) ) - ;; code offset: 0x278 + ;; code offset: 0x293 (br_if $label$18 - ;; code offset: 0x277 + ;; code offset: 0x292 (i32.eq - ;; code offset: 0x272 + ;; code offset: 0x28c (i32.load $mimport$0 - ;; code offset: 0x270 + ;; code offset: 0x28a (local.get $8) ) - ;; code offset: 0x275 + ;; code offset: 0x290 (local.get $7) ) ) - ;; code offset: 0x27f + ;; code offset: 0x29b (local.set $16 - ;; code offset: 0x27c + ;; code offset: 0x297 (i32.load $mimport$0 - ;; code offset: 0x27a + ;; code offset: 0x295 (local.get $5) ) ) - ;; code offset: 0x283 + ;; code offset: 0x29f (local.set $0 - ;; code offset: 0x281 + ;; code offset: 0x29d (i32.const 0) ) - ;; code offset: 0x285 + ;; code offset: 0x2a1 (loop $label$19 - ;; code offset: 0x289 + ;; code offset: 0x2a5 (local.set $10 - ;; code offset: 0x287 + ;; code offset: 0x2a3 (local.get $0) ) - ;; code offset: 0x28b + ;; code offset: 0x2a7 (block $label$20 - ;; code offset: 0x292 + ;; code offset: 0x2ae (br_if $label$20 - ;; code offset: 0x291 + ;; code offset: 0x2ad (i32.lt_s - ;; code offset: 0x28d + ;; code offset: 0x2a9 (local.get $16) - ;; code offset: 0x28f + ;; code offset: 0x2ab (i32.const 3) ) ) - ;; code offset: 0x299 + ;; code offset: 0x2b5 (local.set $1 - ;; code offset: 0x298 + ;; code offset: 0x2b4 (i32.add - ;; code offset: 0x294 + ;; code offset: 0x2b0 (local.get $16) - ;; code offset: 0x296 + ;; code offset: 0x2b2 (i32.const -1) ) ) - ;; code offset: 0x29d + ;; code offset: 0x2b9 (local.set $0 - ;; code offset: 0x29b + ;; code offset: 0x2b7 (i32.const 1) ) - ;; code offset: 0x29f + ;; code offset: 0x2bb (loop $label$21 - ;; code offset: 0x2ae + ;; code offset: 0x2cb (local.set $14 - ;; code offset: 0x2ab + ;; code offset: 0x2c7 (i32.load $mimport$0 - ;; code offset: 0x2a9 + ;; code offset: 0x2c5 (local.tee $11 - ;; code offset: 0x2a8 + ;; code offset: 0x2c4 (i32.add - ;; code offset: 0x2a1 + ;; code offset: 0x2bd (local.get $5) - ;; code offset: 0x2a7 + ;; code offset: 0x2c3 (i32.shl - ;; code offset: 0x2a3 + ;; code offset: 0x2bf (local.get $0) - ;; code offset: 0x2a5 + ;; code offset: 0x2c1 (i32.const 2) ) ) ) ) ) - ;; code offset: 0x2bf + ;; code offset: 0x2dd (i32.store $mimport$0 - ;; code offset: 0x2b0 + ;; code offset: 0x2cd (local.get $11) - ;; code offset: 0x2bc + ;; code offset: 0x2d9 (i32.load $mimport$0 - ;; code offset: 0x2ba + ;; code offset: 0x2d7 (local.tee $15 - ;; code offset: 0x2b9 + ;; code offset: 0x2d6 (i32.add - ;; code offset: 0x2b2 + ;; code offset: 0x2cf (local.get $5) - ;; code offset: 0x2b8 + ;; code offset: 0x2d5 (i32.shl - ;; code offset: 0x2b4 + ;; code offset: 0x2d1 (local.get $1) - ;; code offset: 0x2b6 + ;; code offset: 0x2d3 (i32.const 2) ) ) ) ) ) - ;; code offset: 0x2c6 + ;; code offset: 0x2e5 (i32.store $mimport$0 - ;; code offset: 0x2c2 + ;; code offset: 0x2e1 (local.get $15) - ;; code offset: 0x2c4 + ;; code offset: 0x2e3 (local.get $14) ) - ;; code offset: 0x2d8 + ;; code offset: 0x2f8 (br_if $label$21 - ;; code offset: 0x2d7 + ;; code offset: 0x2f7 (i32.lt_s - ;; code offset: 0x2ce + ;; code offset: 0x2ee (local.tee $0 - ;; code offset: 0x2cd + ;; code offset: 0x2ed (i32.add - ;; code offset: 0x2c9 + ;; code offset: 0x2e9 (local.get $0) - ;; code offset: 0x2cb + ;; code offset: 0x2eb (i32.const 1) ) ) - ;; code offset: 0x2d5 + ;; code offset: 0x2f5 (local.tee $1 - ;; code offset: 0x2d4 + ;; code offset: 0x2f4 (i32.add - ;; code offset: 0x2d0 + ;; code offset: 0x2f0 (local.get $1) - ;; code offset: 0x2d2 + ;; code offset: 0x2f2 (i32.const -1) ) ) @@ -5739,264 +5739,264 @@ file_names[ 4]: ) ) ) - ;; code offset: 0x2e9 + ;; code offset: 0x30a (local.set $1 - ;; code offset: 0x2e6 + ;; code offset: 0x306 (i32.load $mimport$0 - ;; code offset: 0x2e4 + ;; code offset: 0x304 (local.tee $0 - ;; code offset: 0x2e3 + ;; code offset: 0x303 (i32.add - ;; code offset: 0x2dc + ;; code offset: 0x2fc (local.get $5) - ;; code offset: 0x2e2 + ;; code offset: 0x302 (i32.shl - ;; code offset: 0x2de + ;; code offset: 0x2fe (local.get $16) - ;; code offset: 0x2e0 + ;; code offset: 0x300 (i32.const 2) ) ) ) ) ) - ;; code offset: 0x2ef + ;; code offset: 0x310 (i32.store $mimport$0 - ;; code offset: 0x2eb + ;; code offset: 0x30c (local.get $0) - ;; code offset: 0x2ed + ;; code offset: 0x30e (local.get $16) ) - ;; code offset: 0x2f7 + ;; code offset: 0x319 (local.set $0 - ;; code offset: 0x2f6 + ;; code offset: 0x318 (i32.add - ;; code offset: 0x2f2 + ;; code offset: 0x314 (local.get $10) - ;; code offset: 0x2f4 + ;; code offset: 0x316 (i32.const 1) ) ) - ;; code offset: 0x2fb + ;; code offset: 0x31d (local.set $16 - ;; code offset: 0x2f9 + ;; code offset: 0x31b (local.get $1) ) - ;; code offset: 0x2ff + ;; code offset: 0x321 (br_if $label$19 - ;; code offset: 0x2fd + ;; code offset: 0x31f (local.get $1) ) ) - ;; code offset: 0x30c + ;; code offset: 0x32e (local.set $9 - ;; code offset: 0x30b + ;; code offset: 0x32d (select - ;; code offset: 0x302 + ;; code offset: 0x324 (local.get $9) - ;; code offset: 0x304 + ;; code offset: 0x326 (local.get $0) - ;; code offset: 0x30a + ;; code offset: 0x32c (i32.gt_s - ;; code offset: 0x306 + ;; code offset: 0x328 (local.get $9) - ;; code offset: 0x308 + ;; code offset: 0x32a (local.get $10) ) ) ) ) - ;; code offset: 0x314 + ;; code offset: 0x336 (br_if $label$1 - ;; code offset: 0x313 + ;; code offset: 0x335 (i32.ge_s - ;; code offset: 0x30f + ;; code offset: 0x331 (local.get $2) - ;; code offset: 0x311 + ;; code offset: 0x333 (local.get $7) ) ) - ;; code offset: 0x316 + ;; code offset: 0x338 (loop $label$22 - ;; code offset: 0x31a + ;; code offset: 0x33c (local.set $1 - ;; code offset: 0x318 + ;; code offset: 0x33a (i32.const 0) ) - ;; code offset: 0x31c + ;; code offset: 0x33e (block $label$23 - ;; code offset: 0x323 + ;; code offset: 0x345 (br_if $label$23 - ;; code offset: 0x322 + ;; code offset: 0x344 (i32.lt_s - ;; code offset: 0x31e + ;; code offset: 0x340 (local.get $2) - ;; code offset: 0x320 + ;; code offset: 0x342 (i32.const 1) ) ) - ;; code offset: 0x325 + ;; code offset: 0x347 (loop $label$24 - ;; code offset: 0x33f + ;; code offset: 0x362 (i32.store $mimport$0 - ;; code offset: 0x32e + ;; code offset: 0x350 (i32.add - ;; code offset: 0x327 + ;; code offset: 0x349 (local.get $4) - ;; code offset: 0x32d + ;; code offset: 0x34f (i32.shl - ;; code offset: 0x329 + ;; code offset: 0x34b (local.get $1) - ;; code offset: 0x32b + ;; code offset: 0x34d (i32.const 2) ) ) - ;; code offset: 0x33c + ;; code offset: 0x35e (i32.load $mimport$0 - ;; code offset: 0x33b + ;; code offset: 0x35d (i32.add - ;; code offset: 0x32f + ;; code offset: 0x351 (local.get $4) - ;; code offset: 0x33a + ;; code offset: 0x35c (i32.shl - ;; code offset: 0x336 + ;; code offset: 0x358 (local.tee $1 - ;; code offset: 0x335 + ;; code offset: 0x357 (i32.add - ;; code offset: 0x331 + ;; code offset: 0x353 (local.get $1) - ;; code offset: 0x333 + ;; code offset: 0x355 (i32.const 1) ) ) - ;; code offset: 0x338 + ;; code offset: 0x35a (i32.const 2) ) ) ) ) - ;; code offset: 0x347 + ;; code offset: 0x36b (br_if $label$24 - ;; code offset: 0x346 + ;; code offset: 0x36a (i32.ne - ;; code offset: 0x342 + ;; code offset: 0x366 (local.get $1) - ;; code offset: 0x344 + ;; code offset: 0x368 (local.get $2) ) ) ) - ;; code offset: 0x34c + ;; code offset: 0x370 (local.set $1 - ;; code offset: 0x34a + ;; code offset: 0x36e (local.get $2) ) ) - ;; code offset: 0x359 + ;; code offset: 0x37d (i32.store $mimport$0 - ;; code offset: 0x356 + ;; code offset: 0x37a (i32.add - ;; code offset: 0x34f + ;; code offset: 0x373 (local.get $4) - ;; code offset: 0x355 + ;; code offset: 0x379 (i32.shl - ;; code offset: 0x351 + ;; code offset: 0x375 (local.get $1) - ;; code offset: 0x353 + ;; code offset: 0x377 (i32.const 2) ) ) - ;; code offset: 0x357 + ;; code offset: 0x37b (local.get $12) ) - ;; code offset: 0x370 + ;; code offset: 0x396 (i32.store $mimport$0 - ;; code offset: 0x364 + ;; code offset: 0x389 (local.tee $1 - ;; code offset: 0x363 + ;; code offset: 0x388 (i32.add - ;; code offset: 0x35c + ;; code offset: 0x381 (local.get $6) - ;; code offset: 0x362 + ;; code offset: 0x387 (i32.shl - ;; code offset: 0x35e + ;; code offset: 0x383 (local.get $2) - ;; code offset: 0x360 + ;; code offset: 0x385 (i32.const 2) ) ) ) - ;; code offset: 0x36f + ;; code offset: 0x395 (i32.add - ;; code offset: 0x36b + ;; code offset: 0x391 (local.tee $1 - ;; code offset: 0x368 + ;; code offset: 0x38d (i32.load $mimport$0 - ;; code offset: 0x366 + ;; code offset: 0x38b (local.get $1) ) ) - ;; code offset: 0x36d + ;; code offset: 0x393 (i32.const -1) ) ) - ;; code offset: 0x378 + ;; code offset: 0x39f (br_if $label$15 - ;; code offset: 0x377 + ;; code offset: 0x39e (i32.gt_s - ;; code offset: 0x373 + ;; code offset: 0x39a (local.get $1) - ;; code offset: 0x375 + ;; code offset: 0x39c (i32.const 1) ) ) - ;; code offset: 0x384 + ;; code offset: 0x3ab (br_if $label$1 - ;; code offset: 0x383 + ;; code offset: 0x3aa (i32.eq - ;; code offset: 0x37f + ;; code offset: 0x3a6 (local.tee $2 - ;; code offset: 0x37e + ;; code offset: 0x3a5 (i32.add - ;; code offset: 0x37a + ;; code offset: 0x3a1 (local.get $2) - ;; code offset: 0x37c + ;; code offset: 0x3a3 (i32.const 1) ) ) - ;; code offset: 0x381 + ;; code offset: 0x3a8 (local.get $7) ) ) - ;; code offset: 0x38b + ;; code offset: 0x3b3 (local.set $12 - ;; code offset: 0x388 + ;; code offset: 0x3af (i32.load $mimport$0 - ;; code offset: 0x386 + ;; code offset: 0x3ad (local.get $4) ) ) - ;; code offset: 0x38d + ;; code offset: 0x3b5 (br $label$22) ) ) ) - ;; code offset: 0x396 + ;; code offset: 0x3be (call $free - ;; code offset: 0x394 + ;; code offset: 0x3bc (local.get $4) ) - ;; code offset: 0x39a + ;; code offset: 0x3c2 (call $free - ;; code offset: 0x398 + ;; code offset: 0x3c0 (local.get $5) ) - ;; code offset: 0x39e + ;; code offset: 0x3c6 (call $free - ;; code offset: 0x39c + ;; code offset: 0x3c4 (local.get $6) ) - ;; code offset: 0x3a0 + ;; code offset: 0x3c8 (local.get $9) ) (func $main (param $0 i32) (param $1 i32) (result i32) @@ -6007,990 +6007,990 @@ file_names[ 4]: (local $6 i32) (local $7 i32) (local $8 i32) - ;; code offset: 0x3bb + ;; code offset: 0x3e3 (global.set $global$0 - ;; code offset: 0x3b9 + ;; code offset: 0x3e1 (local.tee $2 - ;; code offset: 0x3b8 + ;; code offset: 0x3e0 (i32.sub - ;; code offset: 0x3b4 + ;; code offset: 0x3dc (global.get $global$0) - ;; code offset: 0x3b6 + ;; code offset: 0x3de (i32.const 32) ) ) ) - ;; code offset: 0x3bd + ;; code offset: 0x3e5 (block $label$1 (block $label$2 (block $label$3 - ;; code offset: 0x3c8 + ;; code offset: 0x3f0 (br_if $label$3 - ;; code offset: 0x3c7 + ;; code offset: 0x3ef (i32.lt_s - ;; code offset: 0x3c3 + ;; code offset: 0x3eb (local.get $0) - ;; code offset: 0x3c5 + ;; code offset: 0x3ed (i32.const 2) ) ) - ;; code offset: 0x3cc + ;; code offset: 0x3f4 (local.set $3 - ;; code offset: 0x3ca + ;; code offset: 0x3f2 (i32.const 0) ) - ;; code offset: 0x3da + ;; code offset: 0x403 (br_if $label$2 - ;; code offset: 0x3d9 + ;; code offset: 0x402 (i32.gt_s - ;; code offset: 0x3d5 + ;; code offset: 0x3fe (local.tee $4 - ;; code offset: 0x3d3 + ;; code offset: 0x3fc (call $atoi - ;; code offset: 0x3d0 + ;; code offset: 0x3f8 (i32.load $mimport$0 offset=4 - ;; code offset: 0x3ce + ;; code offset: 0x3f6 (local.get $1) ) ) ) - ;; code offset: 0x3d7 + ;; code offset: 0x400 (i32.const 0) ) ) ) - ;; code offset: 0x3e2 + ;; code offset: 0x40b (drop - ;; code offset: 0x3e0 + ;; code offset: 0x409 (call $puts - ;; code offset: 0x3dd + ;; code offset: 0x406 (i32.const 1050) ) ) - ;; code offset: 0x3e5 + ;; code offset: 0x40e (local.set $5 - ;; code offset: 0x3e3 + ;; code offset: 0x40c (i32.const 1) ) - ;; code offset: 0x3e7 + ;; code offset: 0x410 (br $label$1) ) - ;; code offset: 0x3ea + ;; code offset: 0x413 (block $label$4 - ;; code offset: 0x3f1 + ;; code offset: 0x41a (br_if $label$4 - ;; code offset: 0x3f0 + ;; code offset: 0x419 (i32.eq - ;; code offset: 0x3ec + ;; code offset: 0x415 (local.get $4) - ;; code offset: 0x3ee + ;; code offset: 0x417 (i32.const 1) ) ) - ;; code offset: 0x3f8 + ;; code offset: 0x421 (local.set $6 - ;; code offset: 0x3f7 + ;; code offset: 0x420 (i32.add - ;; code offset: 0x3f3 + ;; code offset: 0x41c (local.get $4) - ;; code offset: 0x3f5 + ;; code offset: 0x41e (i32.const -1) ) ) - ;; code offset: 0x3fc + ;; code offset: 0x425 (local.set $1 - ;; code offset: 0x3fa + ;; code offset: 0x423 (i32.const 0) ) - ;; code offset: 0x400 + ;; code offset: 0x429 (local.set $0 - ;; code offset: 0x3fe + ;; code offset: 0x427 (i32.const 0) ) - ;; code offset: 0x402 + ;; code offset: 0x42b (loop $label$5 - ;; code offset: 0x40c + ;; code offset: 0x435 (i32.store $mimport$0 offset=8 - ;; code offset: 0x408 + ;; code offset: 0x431 (local.tee $3 - ;; code offset: 0x406 + ;; code offset: 0x42f (call $malloc - ;; code offset: 0x404 + ;; code offset: 0x42d (i32.const 12) ) ) - ;; code offset: 0x40a + ;; code offset: 0x433 (local.get $1) ) - ;; code offset: 0x413 + ;; code offset: 0x43d (i32.store $mimport$0 offset=4 - ;; code offset: 0x40f + ;; code offset: 0x439 (local.get $3) - ;; code offset: 0x411 + ;; code offset: 0x43b (local.get $4) ) - ;; code offset: 0x41a + ;; code offset: 0x445 (i32.store $mimport$0 - ;; code offset: 0x416 + ;; code offset: 0x441 (local.get $3) - ;; code offset: 0x418 + ;; code offset: 0x443 (local.get $0) ) - ;; code offset: 0x41f + ;; code offset: 0x44b (local.set $1 - ;; code offset: 0x41d + ;; code offset: 0x449 (local.get $3) ) - ;; code offset: 0x42b + ;; code offset: 0x457 (br_if $label$5 - ;; code offset: 0x42a + ;; code offset: 0x456 (i32.ne - ;; code offset: 0x426 + ;; code offset: 0x452 (local.tee $0 - ;; code offset: 0x425 + ;; code offset: 0x451 (i32.add - ;; code offset: 0x421 + ;; code offset: 0x44d (local.get $0) - ;; code offset: 0x423 + ;; code offset: 0x44f (i32.const 1) ) ) - ;; code offset: 0x428 + ;; code offset: 0x454 (local.get $6) ) ) ) ) - ;; code offset: 0x431 + ;; code offset: 0x45d (local.set $0 - ;; code offset: 0x42f + ;; code offset: 0x45b (i32.const 0) ) - ;; code offset: 0x43c + ;; code offset: 0x468 (local.set $1 - ;; code offset: 0x43a + ;; code offset: 0x466 (call $malloc - ;; code offset: 0x438 + ;; code offset: 0x464 (local.tee $6 - ;; code offset: 0x437 + ;; code offset: 0x463 (i32.shl - ;; code offset: 0x433 + ;; code offset: 0x45f (local.get $4) - ;; code offset: 0x435 + ;; code offset: 0x461 (i32.const 2) ) ) ) ) - ;; code offset: 0x442 + ;; code offset: 0x46e (local.set $5 - ;; code offset: 0x440 + ;; code offset: 0x46c (call $malloc - ;; code offset: 0x43e + ;; code offset: 0x46a (local.get $6) ) ) - ;; code offset: 0x444 + ;; code offset: 0x470 (block $label$6 (block $label$7 (block $label$8 (block $label$9 - ;; code offset: 0x451 + ;; code offset: 0x47d (br_if $label$9 - ;; code offset: 0x450 + ;; code offset: 0x47c (i32.le_s - ;; code offset: 0x44c + ;; code offset: 0x478 (local.get $4) - ;; code offset: 0x44e + ;; code offset: 0x47a (i32.const 0) ) ) - ;; code offset: 0x453 + ;; code offset: 0x47f (loop $label$10 - ;; code offset: 0x45f + ;; code offset: 0x48b (i32.store $mimport$0 - ;; code offset: 0x45c + ;; code offset: 0x488 (i32.add - ;; code offset: 0x455 + ;; code offset: 0x481 (local.get $1) - ;; code offset: 0x45b + ;; code offset: 0x487 (i32.shl - ;; code offset: 0x457 + ;; code offset: 0x483 (local.get $0) - ;; code offset: 0x459 + ;; code offset: 0x485 (i32.const 2) ) ) - ;; code offset: 0x45d + ;; code offset: 0x489 (local.get $0) ) - ;; code offset: 0x46c + ;; code offset: 0x499 (br_if $label$10 - ;; code offset: 0x46b + ;; code offset: 0x498 (i32.ne - ;; code offset: 0x467 + ;; code offset: 0x494 (local.tee $0 - ;; code offset: 0x466 + ;; code offset: 0x493 (i32.add - ;; code offset: 0x462 + ;; code offset: 0x48f (local.get $0) - ;; code offset: 0x464 + ;; code offset: 0x491 (i32.const 1) ) ) - ;; code offset: 0x469 + ;; code offset: 0x496 (local.get $4) ) ) ) - ;; code offset: 0x471 + ;; code offset: 0x49e (local.set $7 - ;; code offset: 0x46f + ;; code offset: 0x49c (i32.const 30) ) - ;; code offset: 0x475 + ;; code offset: 0x4a2 (local.set $6 - ;; code offset: 0x473 + ;; code offset: 0x4a0 (local.get $4) ) - ;; code offset: 0x477 + ;; code offset: 0x4a4 (br $label$8) ) - ;; code offset: 0x47c + ;; code offset: 0x4a9 (local.set $7 - ;; code offset: 0x47a + ;; code offset: 0x4a7 (i32.const 30) ) - ;; code offset: 0x480 + ;; code offset: 0x4ad (local.set $6 - ;; code offset: 0x47e + ;; code offset: 0x4ab (local.get $4) ) - ;; code offset: 0x482 + ;; code offset: 0x4af (br $label$7) ) - ;; code offset: 0x485 + ;; code offset: 0x4b2 (loop $label$11 - ;; code offset: 0x489 + ;; code offset: 0x4b6 (local.set $0 - ;; code offset: 0x487 + ;; code offset: 0x4b4 (i32.const 0) ) - ;; code offset: 0x48b + ;; code offset: 0x4b8 (loop $label$12 - ;; code offset: 0x49d + ;; code offset: 0x4cb (i32.store $mimport$0 offset=16 - ;; code offset: 0x48d + ;; code offset: 0x4ba (local.get $2) - ;; code offset: 0x49c + ;; code offset: 0x4ca (i32.add - ;; code offset: 0x497 + ;; code offset: 0x4c4 (i32.load $mimport$0 - ;; code offset: 0x496 + ;; code offset: 0x4c3 (i32.add - ;; code offset: 0x48f + ;; code offset: 0x4bc (local.get $1) - ;; code offset: 0x495 + ;; code offset: 0x4c2 (i32.shl - ;; code offset: 0x491 + ;; code offset: 0x4be (local.get $0) - ;; code offset: 0x493 + ;; code offset: 0x4c0 (i32.const 2) ) ) ) - ;; code offset: 0x49a + ;; code offset: 0x4c8 (i32.const 1) ) ) - ;; code offset: 0x4aa + ;; code offset: 0x4d9 (drop - ;; code offset: 0x4a8 + ;; code offset: 0x4d7 (call $iprintf - ;; code offset: 0x4a0 + ;; code offset: 0x4cf (i32.const 1047) - ;; code offset: 0x4a7 + ;; code offset: 0x4d6 (i32.add - ;; code offset: 0x4a3 + ;; code offset: 0x4d2 (local.get $2) - ;; code offset: 0x4a5 + ;; code offset: 0x4d4 (i32.const 16) ) ) ) - ;; code offset: 0x4b5 + ;; code offset: 0x4e4 (br_if $label$12 - ;; code offset: 0x4b4 + ;; code offset: 0x4e3 (i32.ne - ;; code offset: 0x4b0 + ;; code offset: 0x4df (local.tee $0 - ;; code offset: 0x4af + ;; code offset: 0x4de (i32.add - ;; code offset: 0x4ab + ;; code offset: 0x4da (local.get $0) - ;; code offset: 0x4ad + ;; code offset: 0x4dc (i32.const 1) ) ) - ;; code offset: 0x4b2 + ;; code offset: 0x4e1 (local.get $4) ) ) ) - ;; code offset: 0x4bc + ;; code offset: 0x4eb (drop - ;; code offset: 0x4ba + ;; code offset: 0x4e9 (call $putchar - ;; code offset: 0x4b8 + ;; code offset: 0x4e7 (i32.const 10) ) ) - ;; code offset: 0x4bd + ;; code offset: 0x4ec (block $label$13 - ;; code offset: 0x4c4 + ;; code offset: 0x4f3 (br_if $label$13 - ;; code offset: 0x4c3 + ;; code offset: 0x4f2 (i32.le_s - ;; code offset: 0x4bf + ;; code offset: 0x4ee (local.get $6) - ;; code offset: 0x4c1 + ;; code offset: 0x4f0 (i32.const 1) ) ) - ;; code offset: 0x4c6 + ;; code offset: 0x4f5 (loop $label$14 - ;; code offset: 0x4d7 + ;; code offset: 0x506 (i32.store $mimport$0 - ;; code offset: 0x4d4 + ;; code offset: 0x503 (i32.add - ;; code offset: 0x4c8 + ;; code offset: 0x4f7 (local.get $5) - ;; code offset: 0x4d3 + ;; code offset: 0x502 (i32.shl - ;; code offset: 0x4cf + ;; code offset: 0x4fe (local.tee $0 - ;; code offset: 0x4ce + ;; code offset: 0x4fd (i32.add - ;; code offset: 0x4ca + ;; code offset: 0x4f9 (local.get $6) - ;; code offset: 0x4cc + ;; code offset: 0x4fb (i32.const -1) ) ) - ;; code offset: 0x4d1 + ;; code offset: 0x500 (i32.const 2) ) ) - ;; code offset: 0x4d5 + ;; code offset: 0x504 (local.get $6) ) - ;; code offset: 0x4df + ;; code offset: 0x50f (local.set $8 - ;; code offset: 0x4de + ;; code offset: 0x50e (i32.gt_s - ;; code offset: 0x4da + ;; code offset: 0x50a (local.get $6) - ;; code offset: 0x4dc + ;; code offset: 0x50c (i32.const 2) ) ) - ;; code offset: 0x4e3 + ;; code offset: 0x513 (local.set $6 - ;; code offset: 0x4e1 + ;; code offset: 0x511 (local.get $0) ) - ;; code offset: 0x4e7 + ;; code offset: 0x517 (br_if $label$14 - ;; code offset: 0x4e5 + ;; code offset: 0x515 (local.get $8) ) ) ) - ;; code offset: 0x4f0 + ;; code offset: 0x520 (br_if $label$6 - ;; code offset: 0x4ef + ;; code offset: 0x51f (i32.eq - ;; code offset: 0x4eb + ;; code offset: 0x51b (local.get $6) - ;; code offset: 0x4ed + ;; code offset: 0x51d (local.get $4) ) ) - ;; code offset: 0x4f7 + ;; code offset: 0x527 (local.set $7 - ;; code offset: 0x4f6 + ;; code offset: 0x526 (i32.add - ;; code offset: 0x4f2 + ;; code offset: 0x522 (local.get $7) - ;; code offset: 0x4f4 + ;; code offset: 0x524 (i32.const -1) ) ) - ;; code offset: 0x4f9 + ;; code offset: 0x529 (loop $label$15 - ;; code offset: 0x4fd + ;; code offset: 0x52d (local.set $0 - ;; code offset: 0x4fb + ;; code offset: 0x52b (i32.const 0) ) - ;; code offset: 0x504 + ;; code offset: 0x535 (local.set $8 - ;; code offset: 0x501 + ;; code offset: 0x531 (i32.load $mimport$0 - ;; code offset: 0x4ff + ;; code offset: 0x52f (local.get $1) ) ) - ;; code offset: 0x506 + ;; code offset: 0x537 (block $label$16 - ;; code offset: 0x50d + ;; code offset: 0x53e (br_if $label$16 - ;; code offset: 0x50c + ;; code offset: 0x53d (i32.le_s - ;; code offset: 0x508 + ;; code offset: 0x539 (local.get $6) - ;; code offset: 0x50a + ;; code offset: 0x53b (i32.const 0) ) ) - ;; code offset: 0x50f + ;; code offset: 0x540 (loop $label$17 - ;; code offset: 0x529 + ;; code offset: 0x55b (i32.store $mimport$0 - ;; code offset: 0x518 + ;; code offset: 0x549 (i32.add - ;; code offset: 0x511 + ;; code offset: 0x542 (local.get $1) - ;; code offset: 0x517 + ;; code offset: 0x548 (i32.shl - ;; code offset: 0x513 + ;; code offset: 0x544 (local.get $0) - ;; code offset: 0x515 + ;; code offset: 0x546 (i32.const 2) ) ) - ;; code offset: 0x526 + ;; code offset: 0x557 (i32.load $mimport$0 - ;; code offset: 0x525 + ;; code offset: 0x556 (i32.add - ;; code offset: 0x519 + ;; code offset: 0x54a (local.get $1) - ;; code offset: 0x524 + ;; code offset: 0x555 (i32.shl - ;; code offset: 0x520 + ;; code offset: 0x551 (local.tee $0 - ;; code offset: 0x51f + ;; code offset: 0x550 (i32.add - ;; code offset: 0x51b + ;; code offset: 0x54c (local.get $0) - ;; code offset: 0x51d + ;; code offset: 0x54e (i32.const 1) ) ) - ;; code offset: 0x522 + ;; code offset: 0x553 (i32.const 2) ) ) ) ) - ;; code offset: 0x531 + ;; code offset: 0x564 (br_if $label$17 - ;; code offset: 0x530 + ;; code offset: 0x563 (i32.ne - ;; code offset: 0x52c + ;; code offset: 0x55f (local.get $0) - ;; code offset: 0x52e + ;; code offset: 0x561 (local.get $6) ) ) ) - ;; code offset: 0x536 + ;; code offset: 0x569 (local.set $0 - ;; code offset: 0x534 + ;; code offset: 0x567 (local.get $6) ) ) - ;; code offset: 0x543 + ;; code offset: 0x576 (i32.store $mimport$0 - ;; code offset: 0x540 + ;; code offset: 0x573 (i32.add - ;; code offset: 0x539 + ;; code offset: 0x56c (local.get $1) - ;; code offset: 0x53f + ;; code offset: 0x572 (i32.shl - ;; code offset: 0x53b + ;; code offset: 0x56e (local.get $0) - ;; code offset: 0x53d + ;; code offset: 0x570 (i32.const 2) ) ) - ;; code offset: 0x541 + ;; code offset: 0x574 (local.get $8) ) - ;; code offset: 0x55a + ;; code offset: 0x58f (i32.store $mimport$0 - ;; code offset: 0x54e + ;; code offset: 0x582 (local.tee $0 - ;; code offset: 0x54d + ;; code offset: 0x581 (i32.add - ;; code offset: 0x546 + ;; code offset: 0x57a (local.get $5) - ;; code offset: 0x54c + ;; code offset: 0x580 (i32.shl - ;; code offset: 0x548 + ;; code offset: 0x57c (local.get $6) - ;; code offset: 0x54a + ;; code offset: 0x57e (i32.const 2) ) ) ) - ;; code offset: 0x559 + ;; code offset: 0x58e (i32.add - ;; code offset: 0x555 + ;; code offset: 0x58a (local.tee $0 - ;; code offset: 0x552 + ;; code offset: 0x586 (i32.load $mimport$0 - ;; code offset: 0x550 + ;; code offset: 0x584 (local.get $0) ) ) - ;; code offset: 0x557 + ;; code offset: 0x58c (i32.const -1) ) ) - ;; code offset: 0x55d + ;; code offset: 0x593 (block $label$18 - ;; code offset: 0x564 + ;; code offset: 0x59a (br_if $label$18 - ;; code offset: 0x563 + ;; code offset: 0x599 (i32.gt_s - ;; code offset: 0x55f + ;; code offset: 0x595 (local.get $0) - ;; code offset: 0x561 + ;; code offset: 0x597 (i32.const 1) ) ) - ;; code offset: 0x570 + ;; code offset: 0x5a6 (br_if $label$15 - ;; code offset: 0x56f + ;; code offset: 0x5a5 (i32.ne - ;; code offset: 0x56b + ;; code offset: 0x5a1 (local.tee $6 - ;; code offset: 0x56a + ;; code offset: 0x5a0 (i32.add - ;; code offset: 0x566 + ;; code offset: 0x59c (local.get $6) - ;; code offset: 0x568 + ;; code offset: 0x59e (i32.const 1) ) ) - ;; code offset: 0x56d + ;; code offset: 0x5a3 (local.get $4) ) ) - ;; code offset: 0x572 + ;; code offset: 0x5a8 (br $label$6) ) ) - ;; code offset: 0x579 + ;; code offset: 0x5af (br_if $label$6 - ;; code offset: 0x578 + ;; code offset: 0x5ae (i32.eqz - ;; code offset: 0x576 + ;; code offset: 0x5ac (local.get $7) ) ) - ;; code offset: 0x57b + ;; code offset: 0x5b1 (br $label$11) ) ) - ;; code offset: 0x580 + ;; code offset: 0x5b6 (loop $label$19 - ;; code offset: 0x586 + ;; code offset: 0x5bc (drop - ;; code offset: 0x584 + ;; code offset: 0x5ba (call $putchar - ;; code offset: 0x582 + ;; code offset: 0x5b8 (i32.const 10) ) ) - ;; code offset: 0x587 + ;; code offset: 0x5bd (block $label$20 - ;; code offset: 0x58e + ;; code offset: 0x5c4 (br_if $label$20 - ;; code offset: 0x58d + ;; code offset: 0x5c3 (i32.le_s - ;; code offset: 0x589 + ;; code offset: 0x5bf (local.get $6) - ;; code offset: 0x58b + ;; code offset: 0x5c1 (i32.const 1) ) ) - ;; code offset: 0x590 + ;; code offset: 0x5c6 (loop $label$21 - ;; code offset: 0x5a1 + ;; code offset: 0x5d7 (i32.store $mimport$0 - ;; code offset: 0x59e + ;; code offset: 0x5d4 (i32.add - ;; code offset: 0x592 + ;; code offset: 0x5c8 (local.get $5) - ;; code offset: 0x59d + ;; code offset: 0x5d3 (i32.shl - ;; code offset: 0x599 + ;; code offset: 0x5cf (local.tee $0 - ;; code offset: 0x598 + ;; code offset: 0x5ce (i32.add - ;; code offset: 0x594 + ;; code offset: 0x5ca (local.get $6) - ;; code offset: 0x596 + ;; code offset: 0x5cc (i32.const -1) ) ) - ;; code offset: 0x59b + ;; code offset: 0x5d1 (i32.const 2) ) ) - ;; code offset: 0x59f + ;; code offset: 0x5d5 (local.get $6) ) - ;; code offset: 0x5a9 + ;; code offset: 0x5e0 (local.set $8 - ;; code offset: 0x5a8 + ;; code offset: 0x5df (i32.gt_s - ;; code offset: 0x5a4 + ;; code offset: 0x5db (local.get $6) - ;; code offset: 0x5a6 + ;; code offset: 0x5dd (i32.const 2) ) ) - ;; code offset: 0x5ad + ;; code offset: 0x5e4 (local.set $6 - ;; code offset: 0x5ab + ;; code offset: 0x5e2 (local.get $0) ) - ;; code offset: 0x5b1 + ;; code offset: 0x5e8 (br_if $label$21 - ;; code offset: 0x5af + ;; code offset: 0x5e6 (local.get $8) ) ) ) - ;; code offset: 0x5ba + ;; code offset: 0x5f1 (br_if $label$6 - ;; code offset: 0x5b9 + ;; code offset: 0x5f0 (i32.eq - ;; code offset: 0x5b5 + ;; code offset: 0x5ec (local.get $6) - ;; code offset: 0x5b7 + ;; code offset: 0x5ee (local.get $4) ) ) - ;; code offset: 0x5c1 + ;; code offset: 0x5f8 (local.set $7 - ;; code offset: 0x5c0 + ;; code offset: 0x5f7 (i32.add - ;; code offset: 0x5bc + ;; code offset: 0x5f3 (local.get $7) - ;; code offset: 0x5be + ;; code offset: 0x5f5 (i32.const -1) ) ) - ;; code offset: 0x5c3 + ;; code offset: 0x5fa (loop $label$22 - ;; code offset: 0x5ca + ;; code offset: 0x602 (local.set $8 - ;; code offset: 0x5c7 + ;; code offset: 0x5fe (i32.load $mimport$0 - ;; code offset: 0x5c5 + ;; code offset: 0x5fc (local.get $1) ) ) - ;; code offset: 0x5ce + ;; code offset: 0x606 (local.set $0 - ;; code offset: 0x5cc + ;; code offset: 0x604 (i32.const 0) ) - ;; code offset: 0x5d0 + ;; code offset: 0x608 (block $label$23 - ;; code offset: 0x5d7 + ;; code offset: 0x60f (br_if $label$23 - ;; code offset: 0x5d6 + ;; code offset: 0x60e (i32.lt_s - ;; code offset: 0x5d2 + ;; code offset: 0x60a (local.get $6) - ;; code offset: 0x5d4 + ;; code offset: 0x60c (i32.const 1) ) ) - ;; code offset: 0x5d9 + ;; code offset: 0x611 (loop $label$24 - ;; code offset: 0x5f3 + ;; code offset: 0x62c (i32.store $mimport$0 - ;; code offset: 0x5e2 + ;; code offset: 0x61a (i32.add - ;; code offset: 0x5db + ;; code offset: 0x613 (local.get $1) - ;; code offset: 0x5e1 + ;; code offset: 0x619 (i32.shl - ;; code offset: 0x5dd + ;; code offset: 0x615 (local.get $0) - ;; code offset: 0x5df + ;; code offset: 0x617 (i32.const 2) ) ) - ;; code offset: 0x5f0 + ;; code offset: 0x628 (i32.load $mimport$0 - ;; code offset: 0x5ef + ;; code offset: 0x627 (i32.add - ;; code offset: 0x5e3 + ;; code offset: 0x61b (local.get $1) - ;; code offset: 0x5ee + ;; code offset: 0x626 (i32.shl - ;; code offset: 0x5ea + ;; code offset: 0x622 (local.tee $0 - ;; code offset: 0x5e9 + ;; code offset: 0x621 (i32.add - ;; code offset: 0x5e5 + ;; code offset: 0x61d (local.get $0) - ;; code offset: 0x5e7 + ;; code offset: 0x61f (i32.const 1) ) ) - ;; code offset: 0x5ec + ;; code offset: 0x624 (i32.const 2) ) ) ) ) - ;; code offset: 0x5fb + ;; code offset: 0x635 (br_if $label$24 - ;; code offset: 0x5fa + ;; code offset: 0x634 (i32.ne - ;; code offset: 0x5f6 + ;; code offset: 0x630 (local.get $0) - ;; code offset: 0x5f8 + ;; code offset: 0x632 (local.get $6) ) ) ) - ;; code offset: 0x600 + ;; code offset: 0x63a (local.set $0 - ;; code offset: 0x5fe + ;; code offset: 0x638 (local.get $6) ) ) - ;; code offset: 0x60d + ;; code offset: 0x647 (i32.store $mimport$0 - ;; code offset: 0x60a + ;; code offset: 0x644 (i32.add - ;; code offset: 0x603 + ;; code offset: 0x63d (local.get $1) - ;; code offset: 0x609 + ;; code offset: 0x643 (i32.shl - ;; code offset: 0x605 + ;; code offset: 0x63f (local.get $0) - ;; code offset: 0x607 + ;; code offset: 0x641 (i32.const 2) ) ) - ;; code offset: 0x60b + ;; code offset: 0x645 (local.get $8) ) - ;; code offset: 0x624 + ;; code offset: 0x660 (i32.store $mimport$0 - ;; code offset: 0x618 + ;; code offset: 0x653 (local.tee $0 - ;; code offset: 0x617 + ;; code offset: 0x652 (i32.add - ;; code offset: 0x610 + ;; code offset: 0x64b (local.get $5) - ;; code offset: 0x616 + ;; code offset: 0x651 (i32.shl - ;; code offset: 0x612 + ;; code offset: 0x64d (local.get $6) - ;; code offset: 0x614 + ;; code offset: 0x64f (i32.const 2) ) ) ) - ;; code offset: 0x623 + ;; code offset: 0x65f (i32.add - ;; code offset: 0x61f + ;; code offset: 0x65b (local.tee $0 - ;; code offset: 0x61c + ;; code offset: 0x657 (i32.load $mimport$0 - ;; code offset: 0x61a + ;; code offset: 0x655 (local.get $0) ) ) - ;; code offset: 0x621 + ;; code offset: 0x65d (i32.const -1) ) ) - ;; code offset: 0x627 + ;; code offset: 0x664 (block $label$25 - ;; code offset: 0x62e + ;; code offset: 0x66b (br_if $label$25 - ;; code offset: 0x62d + ;; code offset: 0x66a (i32.gt_s - ;; code offset: 0x629 + ;; code offset: 0x666 (local.get $0) - ;; code offset: 0x62b + ;; code offset: 0x668 (i32.const 1) ) ) - ;; code offset: 0x63a + ;; code offset: 0x677 (br_if $label$22 - ;; code offset: 0x639 + ;; code offset: 0x676 (i32.ne - ;; code offset: 0x635 + ;; code offset: 0x672 (local.tee $6 - ;; code offset: 0x634 + ;; code offset: 0x671 (i32.add - ;; code offset: 0x630 + ;; code offset: 0x66d (local.get $6) - ;; code offset: 0x632 + ;; code offset: 0x66f (i32.const 1) ) ) - ;; code offset: 0x637 + ;; code offset: 0x674 (local.get $4) ) ) - ;; code offset: 0x63c + ;; code offset: 0x679 (br $label$6) ) ) - ;; code offset: 0x642 + ;; code offset: 0x67f (br_if $label$19 - ;; code offset: 0x640 + ;; code offset: 0x67d (local.get $7) ) ) ) - ;; code offset: 0x648 + ;; code offset: 0x685 (call $free - ;; code offset: 0x646 + ;; code offset: 0x683 (local.get $1) ) - ;; code offset: 0x64c + ;; code offset: 0x689 (call $free - ;; code offset: 0x64a + ;; code offset: 0x687 (local.get $5) ) - ;; code offset: 0x650 + ;; code offset: 0x68d (local.set $5 - ;; code offset: 0x64e + ;; code offset: 0x68b (i32.const 0) ) - ;; code offset: 0x654 + ;; code offset: 0x691 (local.set $0 - ;; code offset: 0x652 + ;; code offset: 0x68f (i32.const 0) ) - ;; code offset: 0x656 + ;; code offset: 0x693 (block $label$26 - ;; code offset: 0x65b + ;; code offset: 0x698 (br_if $label$26 - ;; code offset: 0x65a + ;; code offset: 0x697 (i32.eqz - ;; code offset: 0x658 + ;; code offset: 0x695 (local.get $3) ) ) - ;; code offset: 0x65f + ;; code offset: 0x69c (local.set $0 - ;; code offset: 0x65d + ;; code offset: 0x69a (i32.const 0) ) - ;; code offset: 0x661 + ;; code offset: 0x69e (loop $label$27 - ;; code offset: 0x667 + ;; code offset: 0x6a4 (local.set $1 - ;; code offset: 0x665 + ;; code offset: 0x6a2 (call $fannkuch_worker\28void*\29 - ;; code offset: 0x663 + ;; code offset: 0x6a0 (local.get $3) ) ) - ;; code offset: 0x66e + ;; code offset: 0x6ac (local.set $6 - ;; code offset: 0x66b + ;; code offset: 0x6a8 (i32.load $mimport$0 offset=8 - ;; code offset: 0x669 + ;; code offset: 0x6a6 (local.get $3) ) ) - ;; code offset: 0x672 + ;; code offset: 0x6b0 (call $free - ;; code offset: 0x670 + ;; code offset: 0x6ae (local.get $3) ) - ;; code offset: 0x67e + ;; code offset: 0x6bc (local.set $0 - ;; code offset: 0x67d + ;; code offset: 0x6bb (select - ;; code offset: 0x674 + ;; code offset: 0x6b2 (local.get $1) - ;; code offset: 0x676 + ;; code offset: 0x6b4 (local.get $0) - ;; code offset: 0x67c + ;; code offset: 0x6ba (i32.lt_s - ;; code offset: 0x678 + ;; code offset: 0x6b6 (local.get $0) - ;; code offset: 0x67a + ;; code offset: 0x6b8 (local.get $1) ) ) ) - ;; code offset: 0x682 + ;; code offset: 0x6c0 (local.set $3 - ;; code offset: 0x680 + ;; code offset: 0x6be (local.get $6) ) - ;; code offset: 0x686 + ;; code offset: 0x6c4 (br_if $label$27 - ;; code offset: 0x684 + ;; code offset: 0x6c2 (local.get $6) ) ) ) - ;; code offset: 0x68e + ;; code offset: 0x6cc (i32.store $mimport$0 offset=4 - ;; code offset: 0x68a + ;; code offset: 0x6c8 (local.get $2) - ;; code offset: 0x68c + ;; code offset: 0x6ca (local.get $0) ) - ;; code offset: 0x695 + ;; code offset: 0x6d4 (i32.store $mimport$0 - ;; code offset: 0x691 + ;; code offset: 0x6d0 (local.get $2) - ;; code offset: 0x693 + ;; code offset: 0x6d2 (local.get $4) ) - ;; code offset: 0x69f + ;; code offset: 0x6df (drop - ;; code offset: 0x69d + ;; code offset: 0x6dd (call $iprintf - ;; code offset: 0x698 + ;; code offset: 0x6d8 (i32.const 1024) - ;; code offset: 0x69b + ;; code offset: 0x6db (local.get $2) ) ) ) - ;; code offset: 0x6a6 + ;; code offset: 0x6e6 (global.set $global$0 - ;; code offset: 0x6a5 + ;; code offset: 0x6e5 (i32.add - ;; code offset: 0x6a1 + ;; code offset: 0x6e1 (local.get $2) - ;; code offset: 0x6a3 + ;; code offset: 0x6e3 (i32.const 32) ) ) - ;; code offset: 0x6a8 + ;; code offset: 0x6e8 (local.get $5) ) ;; custom section ".debug_info", size 851 diff --git a/test/passes/fannkuch3_manyopts_dwarf.bin.txt b/test/passes/fannkuch3_manyopts_dwarf.bin.txt index 3c9fded9657..1b721edd7cb 100644 --- a/test/passes/fannkuch3_manyopts_dwarf.bin.txt +++ b/test/passes/fannkuch3_manyopts_dwarf.bin.txt @@ -2469,8 +2469,8 @@ Abbrev table for offset: 0x00000000 DW_AT_comp_dir [DW_FORM_strp] ( .debug_str[0x000000a9] = "/usr/local/google/home/azakai/Dev/2-binaryen") DW_AT_low_pc [DW_FORM_addr] (0x0000000000000000) DW_AT_ranges [DW_FORM_sec_offset] (0x00000040 - [0x00000007, 0x0000038a) - [0x0000038c, 0x00000673)) + [0x00000007, 0x000003b2) + [0x000003b4, 0x000006b3)) 0x00000026: DW_TAG_pointer_type [2] DW_AT_type [DW_FORM_ref4] (cu + 0x002b => {0x0000002b} "worker_args") @@ -2534,7 +2534,7 @@ Abbrev table for offset: 0x00000000 0x00000082: DW_TAG_subprogram [10] * DW_AT_low_pc [DW_FORM_addr] (0x0000000000000007) - DW_AT_high_pc [DW_FORM_data4] (0x00000383) + DW_AT_high_pc [DW_FORM_data4] (0x000003ab) DW_AT_frame_base [DW_FORM_exprloc] (DW_OP_WASM_location 0x1 +0, DW_OP_stack_value) DW_AT_GNU_all_call_sites [DW_FORM_flag_present] (true) DW_AT_linkage_name [DW_FORM_strp] ( .debug_str[0x00000166] = "_Z15fannkuch_workerPv") @@ -2569,13 +2569,13 @@ Abbrev table for offset: 0x00000000 DW_AT_location [DW_FORM_sec_offset] (0x0000001d: [0xffffffff, 0x00000028): [0x00000001, 0x00000001): DW_OP_consts +0, DW_OP_stack_value - [0x0000003d, 0x00000042): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value + [0x0000003f, 0x00000044): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value [0x00000001, 0x00000001): DW_OP_consts +1, DW_OP_stack_value - [0x00000110, 0x0000011a): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value + [0x0000011d, 0x00000127): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value [0x00000001, 0x00000001): DW_OP_consts +0, DW_OP_stack_value - [0x0000023d, 0x00000248): DW_OP_consts +0, DW_OP_stack_value + [0x00000258, 0x00000264): DW_OP_consts +0, DW_OP_stack_value [0x00000001, 0x00000001): DW_OP_consts +1, DW_OP_stack_value - [0x00000291, 0x0000029b): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value + [0x000002b1, 0x000002bb): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value [0x00000001, 0x00000001): DW_OP_consts +0, DW_OP_stack_value) DW_AT_name [DW_FORM_strp] ( .debug_str[0x000000d6] = "i") DW_AT_decl_file [DW_FORM_data1] ("/usr/local/google/home/azakai/Dev/emscripten/tests/fannkuch.cpp") @@ -2584,7 +2584,7 @@ Abbrev table for offset: 0x00000000 0x000000d2: DW_TAG_variable [13] DW_AT_location [DW_FORM_sec_offset] (0x000000a5: - [0xffffffff, 0x0000002f): + [0xffffffff, 0x00000030): [0x00000001, 0x00000001): DW_OP_WASM_location 0x0 +2, DW_OP_stack_value) DW_AT_name [DW_FORM_strp] ( .debug_str[0x000000dc] = "n") DW_AT_decl_file [DW_FORM_data1] ("/usr/local/google/home/azakai/Dev/emscripten/tests/fannkuch.cpp") @@ -2593,7 +2593,7 @@ Abbrev table for offset: 0x00000000 0x000000e1: DW_TAG_variable [13] DW_AT_location [DW_FORM_sec_offset] (0x000000c3: - [0xffffffff, 0x00000038): + [0xffffffff, 0x00000039): [0x00000001, 0x00000001): DW_OP_WASM_location 0x0 +4, DW_OP_stack_value) DW_AT_name [DW_FORM_strp] ( .debug_str[0x0000013e] = "perm1") DW_AT_decl_file [DW_FORM_data1] ("/usr/local/google/home/azakai/Dev/emscripten/tests/fannkuch.cpp") @@ -2602,7 +2602,7 @@ Abbrev table for offset: 0x00000000 0x000000f0: DW_TAG_variable [13] DW_AT_location [DW_FORM_sec_offset] (0x000000e1: - [0xffffffff, 0x0000003e): + [0xffffffff, 0x0000003f): [0x00000001, 0x00000001): DW_OP_WASM_location 0x0 +5, DW_OP_stack_value) DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000196] = "perm") DW_AT_decl_file [DW_FORM_data1] ("/usr/local/google/home/azakai/Dev/emscripten/tests/fannkuch.cpp") @@ -2611,7 +2611,7 @@ Abbrev table for offset: 0x00000000 0x000000ff: DW_TAG_variable [13] DW_AT_location [DW_FORM_sec_offset] (0x000000ff: - [0xffffffff, 0x00000044): + [0xffffffff, 0x00000045): [0x00000001, 0x00000001): DW_OP_WASM_location 0x0 +6, DW_OP_stack_value) DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000144] = "count") DW_AT_decl_file [DW_FORM_data1] ("/usr/local/google/home/azakai/Dev/emscripten/tests/fannkuch.cpp") @@ -2620,9 +2620,9 @@ Abbrev table for offset: 0x00000000 0x0000010e: DW_TAG_variable [13] DW_AT_location [DW_FORM_sec_offset] (0x0000011d: - [0xffffffff, 0x000001e7): + [0xffffffff, 0x000001fb): [0x00000000, 0x00000005): DW_OP_WASM_location 0x0 +2, DW_OP_stack_value - [0x00000181, 0x00000186): DW_OP_WASM_location 0x0 +2, DW_OP_stack_value) + [0x00000194, 0x00000199): DW_OP_WASM_location 0x0 +2, DW_OP_stack_value) DW_AT_name [DW_FORM_strp] ( .debug_str[0x0000014a] = "r") DW_AT_decl_file [DW_FORM_data1] ("/usr/local/google/home/azakai/Dev/emscripten/tests/fannkuch.cpp") DW_AT_decl_line [DW_FORM_data1] (30) @@ -2630,13 +2630,13 @@ Abbrev table for offset: 0x00000000 0x0000011d: DW_TAG_variable [13] DW_AT_location [DW_FORM_sec_offset] (0x00000149: - [0xffffffff, 0x000000dc): - [0x00000000, 0x00000013): DW_OP_consts +0, DW_OP_stack_value + [0xffffffff, 0x000000e4): + [0x00000000, 0x00000014): DW_OP_consts +0, DW_OP_stack_value [0x00000001, 0x00000001): DW_OP_WASM_location 0x0 +13, DW_OP_stack_value - [0x00000085, 0x0000008d): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value - [0x00000189, 0x00000194): DW_OP_consts +0, DW_OP_stack_value + [0x0000008c, 0x00000094): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value + [0x0000019c, 0x000001a8): DW_OP_consts +0, DW_OP_stack_value [0x00000001, 0x00000001): DW_OP_WASM_location 0x0 +10, DW_OP_stack_value - [0x00000206, 0x0000020e): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value) + [0x00000220, 0x00000228): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value) DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000155] = "flips") DW_AT_decl_file [DW_FORM_data1] ("/usr/local/google/home/azakai/Dev/emscripten/tests/fannkuch.cpp") DW_AT_decl_line [DW_FORM_data1] (30) @@ -2644,9 +2644,9 @@ Abbrev table for offset: 0x00000000 0x0000012c: DW_TAG_variable [13] DW_AT_location [DW_FORM_sec_offset] (0x000001ab: - [0xffffffff, 0x000000eb): + [0xffffffff, 0x000000f4): [0x00000000, 0x00000004): DW_OP_WASM_location 0x0 +12, DW_OP_stack_value - [0x00000181, 0x00000185): DW_OP_WASM_location 0x0 +16, DW_OP_stack_value) + [0x00000194, 0x00000198): DW_OP_WASM_location 0x0 +16, DW_OP_stack_value) DW_AT_name [DW_FORM_strp] ( .debug_str[0x0000019b] = "k") DW_AT_decl_file [DW_FORM_data1] ("/usr/local/google/home/azakai/Dev/emscripten/tests/fannkuch.cpp") DW_AT_decl_line [DW_FORM_data1] (30) @@ -2654,11 +2654,11 @@ Abbrev table for offset: 0x00000000 0x0000013b: DW_TAG_variable [13] DW_AT_location [DW_FORM_sec_offset] (0x000001d7: - [0xffffffff, 0x00000103): + [0xffffffff, 0x0000010c): [0x00000000, 0x00000004): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value - [0x0000003c, 0x0000003f): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value - [0x00000181, 0x00000185): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value - [0x000001bd, 0x000001c0): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value) + [0x00000040, 0x00000043): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value + [0x00000194, 0x00000198): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value + [0x000001d4, 0x000001d7): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value) DW_AT_name [DW_FORM_strp] ( .debug_str[0x0000019d] = "j") DW_AT_decl_file [DW_FORM_data1] ("/usr/local/google/home/azakai/Dev/emscripten/tests/fannkuch.cpp") DW_AT_decl_line [DW_FORM_data1] (30) @@ -2666,11 +2666,11 @@ Abbrev table for offset: 0x00000000 0x0000014a: DW_TAG_variable [13] DW_AT_location [DW_FORM_sec_offset] (0x0000021f: - [0xffffffff, 0x00000118): - [0x00000000, 0x0000002a): DW_OP_WASM_location 0x0 +15, DW_OP_stack_value - [0x0000003b, 0x00000051): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value - [0x00000181, 0x000001ab): DW_OP_WASM_location 0x0 +14, DW_OP_stack_value - [0x000001bc, 0x000001d2): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value) + [0xffffffff, 0x00000122): + [0x00000000, 0x0000002d): DW_OP_WASM_location 0x0 +15, DW_OP_stack_value + [0x0000003f, 0x00000056): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value + [0x00000194, 0x000001c1): DW_OP_WASM_location 0x0 +14, DW_OP_stack_value + [0x000001d3, 0x000001ea): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value) DW_AT_name [DW_FORM_strp] ( .debug_str[0x0000019f] = "tmp") DW_AT_decl_file [DW_FORM_data1] ("/usr/local/google/home/azakai/Dev/emscripten/tests/fannkuch.cpp") DW_AT_decl_line [DW_FORM_data1] (30) @@ -2678,10 +2678,10 @@ Abbrev table for offset: 0x00000000 0x00000159: DW_TAG_lexical_block [14] * DW_AT_ranges [DW_FORM_sec_offset] (0x00000000 - [0x00000184, 0x000001c2) - [0x000001ec, 0x000001f5) - [0x00000305, 0x00000343) - [0x0000036d, 0x00000376)) + [0x00000193, 0x000001d4) + [0x00000200, 0x0000020a) + [0x00000327, 0x00000368) + [0x00000394, 0x0000039e)) 0x0000015e: DW_TAG_variable [12] DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000163] = "p0") @@ -2692,28 +2692,28 @@ Abbrev table for offset: 0x00000000 0x00000169: NULL 0x0000016a: DW_TAG_GNU_call_site [15] - DW_AT_low_pc [DW_FORM_addr] (0x0000000000000036) + DW_AT_low_pc [DW_FORM_addr] (0x0000000000000037) 0x0000016f: DW_TAG_GNU_call_site [15] - DW_AT_low_pc [DW_FORM_addr] (0x000000000000003c) + DW_AT_low_pc [DW_FORM_addr] (0x000000000000003d) 0x00000174: DW_TAG_GNU_call_site [15] - DW_AT_low_pc [DW_FORM_addr] (0x0000000000000042) + DW_AT_low_pc [DW_FORM_addr] (0x0000000000000043) 0x00000179: DW_TAG_GNU_call_site [15] - DW_AT_low_pc [DW_FORM_addr] (0x00000000000000e4) + DW_AT_low_pc [DW_FORM_addr] (0x00000000000000ec) 0x0000017e: DW_TAG_GNU_call_site [16] DW_AT_abstract_origin [DW_FORM_ref4] (cu + 0x019a => {0x0000019a} "free") - DW_AT_low_pc [DW_FORM_addr] (0x000000000000037f) + DW_AT_low_pc [DW_FORM_addr] (0x00000000000003a7) 0x00000187: DW_TAG_GNU_call_site [16] DW_AT_abstract_origin [DW_FORM_ref4] (cu + 0x019a => {0x0000019a} "free") - DW_AT_low_pc [DW_FORM_addr] (0x0000000000000383) + DW_AT_low_pc [DW_FORM_addr] (0x00000000000003ab) 0x00000190: DW_TAG_GNU_call_site [16] DW_AT_abstract_origin [DW_FORM_ref4] (cu + 0x019a => {0x0000019a} "free") - DW_AT_low_pc [DW_FORM_addr] (0x0000000000000387) + DW_AT_low_pc [DW_FORM_addr] (0x00000000000003af) 0x00000199: NULL @@ -2817,8 +2817,8 @@ Abbrev table for offset: 0x00000000 0x0000023a: NULL 0x0000023b: DW_TAG_subprogram [23] * - DW_AT_low_pc [DW_FORM_addr] (0x000000000000038c) - DW_AT_high_pc [DW_FORM_data4] (0x000002e7) + DW_AT_low_pc [DW_FORM_addr] (0x00000000000003b4) + DW_AT_high_pc [DW_FORM_data4] (0x000002ff) DW_AT_frame_base [DW_FORM_exprloc] (DW_OP_WASM_location 0x0 +2, DW_OP_stack_value) DW_AT_GNU_all_call_sites [DW_FORM_flag_present] (true) DW_AT_name [DW_FORM_strp] ( .debug_str[0x0000018c] = "main") @@ -2841,7 +2841,7 @@ Abbrev table for offset: 0x00000000 0x00000269: DW_TAG_variable [13] DW_AT_location [DW_FORM_sec_offset] (0x00000267: - [0xffffffff, 0x000003b8): + [0xffffffff, 0x000003e1): [0x00000000, 0x00000005): DW_OP_WASM_location 0x0 +4, DW_OP_stack_value) DW_AT_name [DW_FORM_strp] ( .debug_str[0x000000dc] = "n") DW_AT_decl_file [DW_FORM_data1] ("/usr/local/google/home/azakai/Dev/emscripten/tests/fannkuch.cpp") @@ -2850,8 +2850,8 @@ Abbrev table for offset: 0x00000000 0x00000278: DW_TAG_inlined_subroutine [24] * DW_AT_abstract_origin [DW_FORM_ref4] (cu + 0x01a8 => {0x000001a8} "_ZL8fannkuchi") - DW_AT_low_pc [DW_FORM_addr] (0x00000000000003cb) - DW_AT_high_pc [DW_FORM_data4] (0xfffffc35) + DW_AT_low_pc [DW_FORM_addr] (0x00000000000003f4) + DW_AT_high_pc [DW_FORM_data4] (0xfffffc0c) DW_AT_call_file [DW_FORM_data1] ("/usr/local/google/home/azakai/Dev/emscripten/tests/fannkuch.cpp") DW_AT_call_line [DW_FORM_data1] (159) DW_AT_call_column [DW_FORM_data1] (0x29) @@ -2867,20 +2867,20 @@ Abbrev table for offset: 0x00000000 0x00000296: DW_TAG_variable [26] DW_AT_location [DW_FORM_sec_offset] (0x000002a2: - [0xffffffff, 0x00000638): + [0xffffffff, 0x00000676): [0x00000001, 0x00000001): DW_OP_lit0, DW_OP_stack_value [0x00000000, 0x00000018): DW_OP_WASM_location 0x0 +6, DW_OP_stack_value) DW_AT_abstract_origin [DW_FORM_ref4] (cu + 0x01ce => {0x000001ce} "args") 0x0000029f: DW_TAG_variable [26] DW_AT_location [DW_FORM_sec_offset] (0x000002cc: - [0xffffffff, 0x00000407): + [0xffffffff, 0x00000433): [0x00000001, 0x00000001): DW_OP_consts +0, DW_OP_stack_value [0x00000000, 0x00000005): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value [0x00000001, 0x00000001): DW_OP_consts +0, DW_OP_stack_value - [0x0000003f, 0x00000044): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value - [0x0000005d, 0x00000061): DW_OP_consts +0, DW_OP_stack_value - [0x00000088, 0x0000008d): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value + [0x00000040, 0x00000045): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value + [0x0000005e, 0x00000062): DW_OP_consts +0, DW_OP_stack_value + [0x0000008b, 0x00000090): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value [0x00000001, 0x00000001): DW_OP_consts +0, DW_OP_stack_value [0x00000001, 0x00000001): DW_OP_consts +0, DW_OP_stack_value [0x00000001, 0x00000001): DW_OP_consts +0, DW_OP_stack_value) @@ -2891,48 +2891,48 @@ Abbrev table for offset: 0x00000000 0x000002ad: DW_TAG_variable [26] DW_AT_location [DW_FORM_sec_offset] (0x00000354: - [0xffffffff, 0x0000041d): + [0xffffffff, 0x00000449): [0x00000001, 0x00000001): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value) DW_AT_abstract_origin [DW_FORM_ref4] (cu + 0x01ef => {0x000001ef} "perm1") 0x000002b6: DW_TAG_variable [26] DW_AT_location [DW_FORM_sec_offset] (0x00000372: - [0xffffffff, 0x00000423): + [0xffffffff, 0x0000044f): [0x00000001, 0x00000001): DW_OP_WASM_location 0x0 +5, DW_OP_stack_value) DW_AT_abstract_origin [DW_FORM_ref4] (cu + 0x01fa => {0x000001fa} "count") 0x000002bf: DW_TAG_variable [26] DW_AT_location [DW_FORM_sec_offset] (0x00000390: - [0xffffffff, 0x00000544): + [0xffffffff, 0x0000057a): [0x00000000, 0x00000007): DW_OP_WASM_location 0x0 +6, DW_OP_stack_value - [0x000000c2, 0x000000c9): DW_OP_WASM_location 0x0 +6, DW_OP_stack_value) + [0x000000c9, 0x000000d0): DW_OP_WASM_location 0x0 +6, DW_OP_stack_value) DW_AT_abstract_origin [DW_FORM_ref4] (cu + 0x0205 => {0x00000205} "r") 0x000002c8: DW_TAG_variable [26] DW_AT_location [DW_FORM_sec_offset] (0x000003e8: - [0xffffffff, 0x00000621): + [0xffffffff, 0x0000065e): [0x00000001, 0x00000001): DW_OP_consts +0, DW_OP_stack_value - [0x00000027, 0x0000002f): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value) + [0x00000028, 0x00000030): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value) DW_AT_abstract_origin [DW_FORM_ref4] (cu + 0x0210 => {0x00000210} "maxflips") 0x000002d1: DW_TAG_variable [26] DW_AT_location [DW_FORM_sec_offset] (0x00000413: - [0xffffffff, 0x00000631): - [0x00000000, 0x0000001f): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value) + [0xffffffff, 0x0000066e): + [0x00000000, 0x00000020): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value) DW_AT_abstract_origin [DW_FORM_ref4] (cu + 0x021b => {0x0000021b} "flips") 0x000002da: DW_TAG_label [28] DW_AT_abstract_origin [DW_FORM_ref4] (cu + 0x0226 => {0x00000226} "cleanup") - DW_AT_low_pc [DW_FORM_addr] (0x0000000000000615) + DW_AT_low_pc [DW_FORM_addr] (0x0000000000000652) 0x000002e3: DW_TAG_lexical_block [14] * DW_AT_ranges [DW_FORM_sec_offset] (0x00000028 - [0x000004da, 0x0000051f) - [0x00000596, 0x000005e1)) + [0x0000050a, 0x00000553) + [0x000005cd, 0x0000061c)) 0x000002e8: DW_TAG_variable [26] DW_AT_location [DW_FORM_sec_offset] (0x000003bc: - [0xffffffff, 0x0000059f): + [0xffffffff, 0x000005d7): [0x00000001, 0x00000001): DW_OP_WASM_location 0x0 +8, DW_OP_stack_value [0x00000001, 0x00000001): DW_OP_WASM_location 0x0 +8, DW_OP_stack_value) DW_AT_abstract_origin [DW_FORM_ref4] (cu + 0x022e => {0x0000022e} "p0") @@ -2942,46 +2942,46 @@ Abbrev table for offset: 0x00000000 0x000002f2: NULL 0x000002f3: DW_TAG_GNU_call_site [15] - DW_AT_low_pc [DW_FORM_addr] (0x00000000000003b6) + DW_AT_low_pc [DW_FORM_addr] (0x00000000000003df) 0x000002f8: DW_TAG_GNU_call_site [15] - DW_AT_low_pc [DW_FORM_addr] (0x00000000000003c3) + DW_AT_low_pc [DW_FORM_addr] (0x00000000000003ec) 0x000002fd: DW_TAG_GNU_call_site [15] - DW_AT_low_pc [DW_FORM_addr] (0x00000000000003e7) + DW_AT_low_pc [DW_FORM_addr] (0x0000000000000410) 0x00000302: DW_TAG_GNU_call_site [15] - DW_AT_low_pc [DW_FORM_addr] (0x000000000000041b) + DW_AT_low_pc [DW_FORM_addr] (0x0000000000000447) 0x00000307: DW_TAG_GNU_call_site [15] - DW_AT_low_pc [DW_FORM_addr] (0x0000000000000421) + DW_AT_low_pc [DW_FORM_addr] (0x000000000000044d) 0x0000030c: DW_TAG_GNU_call_site [15] - DW_AT_low_pc [DW_FORM_addr] (0x0000000000000487) + DW_AT_low_pc [DW_FORM_addr] (0x00000000000004b6) 0x00000311: DW_TAG_GNU_call_site [15] - DW_AT_low_pc [DW_FORM_addr] (0x0000000000000499) + DW_AT_low_pc [DW_FORM_addr] (0x00000000000004c8) 0x00000316: DW_TAG_GNU_call_site [15] - DW_AT_low_pc [DW_FORM_addr] (0x000000000000055b) + DW_AT_low_pc [DW_FORM_addr] (0x0000000000000591) 0x0000031b: DW_TAG_GNU_call_site [16] DW_AT_abstract_origin [DW_FORM_ref4] (cu + 0x019a => {0x0000019a} "free") - DW_AT_low_pc [DW_FORM_addr] (0x0000000000000619) + DW_AT_low_pc [DW_FORM_addr] (0x0000000000000656) 0x00000324: DW_TAG_GNU_call_site [16] DW_AT_abstract_origin [DW_FORM_ref4] (cu + 0x019a => {0x0000019a} "free") - DW_AT_low_pc [DW_FORM_addr] (0x000000000000061d) + DW_AT_low_pc [DW_FORM_addr] (0x000000000000065a) 0x0000032d: DW_TAG_GNU_call_site [15] - DW_AT_low_pc [DW_FORM_addr] (0x000000000000062f) + DW_AT_low_pc [DW_FORM_addr] (0x000000000000066c) 0x00000332: DW_TAG_GNU_call_site [16] DW_AT_abstract_origin [DW_FORM_ref4] (cu + 0x019a => {0x0000019a} "free") - DW_AT_low_pc [DW_FORM_addr] (0x000000000000063c) + DW_AT_low_pc [DW_FORM_addr] (0x000000000000067a) 0x0000033b: DW_TAG_GNU_call_site [15] - DW_AT_low_pc [DW_FORM_addr] (0x0000000000000667) + DW_AT_low_pc [DW_FORM_addr] (0x00000000000006a7) 0x00000340: NULL @@ -3006,66 +3006,66 @@ Abbrev table for offset: 0x00000000 0x0000001d: [0xffffffff, 0x00000028): [0x00000001, 0x00000001): DW_OP_consts +0, DW_OP_stack_value - [0x0000003d, 0x00000042): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value + [0x0000003f, 0x00000044): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value [0x00000001, 0x00000001): DW_OP_consts +1, DW_OP_stack_value - [0x00000110, 0x0000011a): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value + [0x0000011d, 0x00000127): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value [0x00000001, 0x00000001): DW_OP_consts +0, DW_OP_stack_value - [0x0000023d, 0x00000248): DW_OP_consts +0, DW_OP_stack_value + [0x00000258, 0x00000264): DW_OP_consts +0, DW_OP_stack_value [0x00000001, 0x00000001): DW_OP_consts +1, DW_OP_stack_value - [0x00000291, 0x0000029b): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value + [0x000002b1, 0x000002bb): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value [0x00000001, 0x00000001): DW_OP_consts +0, DW_OP_stack_value 0x000000a5: - [0xffffffff, 0x0000002f): + [0xffffffff, 0x00000030): [0x00000001, 0x00000001): DW_OP_WASM_location 0x0 +2, DW_OP_stack_value 0x000000c3: - [0xffffffff, 0x00000038): + [0xffffffff, 0x00000039): [0x00000001, 0x00000001): DW_OP_WASM_location 0x0 +4, DW_OP_stack_value 0x000000e1: - [0xffffffff, 0x0000003e): + [0xffffffff, 0x0000003f): [0x00000001, 0x00000001): DW_OP_WASM_location 0x0 +5, DW_OP_stack_value 0x000000ff: - [0xffffffff, 0x00000044): + [0xffffffff, 0x00000045): [0x00000001, 0x00000001): DW_OP_WASM_location 0x0 +6, DW_OP_stack_value 0x0000011d: - [0xffffffff, 0x000001e7): + [0xffffffff, 0x000001fb): [0x00000000, 0x00000005): DW_OP_WASM_location 0x0 +2, DW_OP_stack_value - [0x00000181, 0x00000186): DW_OP_WASM_location 0x0 +2, DW_OP_stack_value + [0x00000194, 0x00000199): DW_OP_WASM_location 0x0 +2, DW_OP_stack_value 0x00000149: - [0xffffffff, 0x000000dc): - [0x00000000, 0x00000013): DW_OP_consts +0, DW_OP_stack_value + [0xffffffff, 0x000000e4): + [0x00000000, 0x00000014): DW_OP_consts +0, DW_OP_stack_value [0x00000001, 0x00000001): DW_OP_WASM_location 0x0 +13, DW_OP_stack_value - [0x00000085, 0x0000008d): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value - [0x00000189, 0x00000194): DW_OP_consts +0, DW_OP_stack_value + [0x0000008c, 0x00000094): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value + [0x0000019c, 0x000001a8): DW_OP_consts +0, DW_OP_stack_value [0x00000001, 0x00000001): DW_OP_WASM_location 0x0 +10, DW_OP_stack_value - [0x00000206, 0x0000020e): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value + [0x00000220, 0x00000228): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value 0x000001ab: - [0xffffffff, 0x000000eb): + [0xffffffff, 0x000000f4): [0x00000000, 0x00000004): DW_OP_WASM_location 0x0 +12, DW_OP_stack_value - [0x00000181, 0x00000185): DW_OP_WASM_location 0x0 +16, DW_OP_stack_value + [0x00000194, 0x00000198): DW_OP_WASM_location 0x0 +16, DW_OP_stack_value 0x000001d7: - [0xffffffff, 0x00000103): + [0xffffffff, 0x0000010c): [0x00000000, 0x00000004): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value - [0x0000003c, 0x0000003f): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value - [0x00000181, 0x00000185): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value - [0x000001bd, 0x000001c0): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value + [0x00000040, 0x00000043): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value + [0x00000194, 0x00000198): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value + [0x000001d4, 0x000001d7): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value 0x0000021f: - [0xffffffff, 0x00000118): - [0x00000000, 0x0000002a): DW_OP_WASM_location 0x0 +15, DW_OP_stack_value - [0x0000003b, 0x00000051): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value - [0x00000181, 0x000001ab): DW_OP_WASM_location 0x0 +14, DW_OP_stack_value - [0x000001bc, 0x000001d2): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value + [0xffffffff, 0x00000122): + [0x00000000, 0x0000002d): DW_OP_WASM_location 0x0 +15, DW_OP_stack_value + [0x0000003f, 0x00000056): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value + [0x00000194, 0x000001c1): DW_OP_WASM_location 0x0 +14, DW_OP_stack_value + [0x000001d3, 0x000001ea): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value 0x00000267: - [0xffffffff, 0x000003b8): + [0xffffffff, 0x000003e1): [0x00000000, 0x00000005): DW_OP_WASM_location 0x0 +4, DW_OP_stack_value 0x00000285: @@ -3073,48 +3073,48 @@ Abbrev table for offset: 0x00000000 [0x00000001, 0x00000001): DW_OP_consts +30, DW_OP_stack_value 0x000002a2: - [0xffffffff, 0x00000638): + [0xffffffff, 0x00000676): [0x00000001, 0x00000001): DW_OP_lit0, DW_OP_stack_value [0x00000000, 0x00000018): DW_OP_WASM_location 0x0 +6, DW_OP_stack_value 0x000002cc: - [0xffffffff, 0x00000407): + [0xffffffff, 0x00000433): [0x00000001, 0x00000001): DW_OP_consts +0, DW_OP_stack_value [0x00000000, 0x00000005): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value [0x00000001, 0x00000001): DW_OP_consts +0, DW_OP_stack_value - [0x0000003f, 0x00000044): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value - [0x0000005d, 0x00000061): DW_OP_consts +0, DW_OP_stack_value - [0x00000088, 0x0000008d): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value + [0x00000040, 0x00000045): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value + [0x0000005e, 0x00000062): DW_OP_consts +0, DW_OP_stack_value + [0x0000008b, 0x00000090): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value [0x00000001, 0x00000001): DW_OP_consts +0, DW_OP_stack_value [0x00000001, 0x00000001): DW_OP_consts +0, DW_OP_stack_value [0x00000001, 0x00000001): DW_OP_consts +0, DW_OP_stack_value 0x00000354: - [0xffffffff, 0x0000041d): + [0xffffffff, 0x00000449): [0x00000001, 0x00000001): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value 0x00000372: - [0xffffffff, 0x00000423): + [0xffffffff, 0x0000044f): [0x00000001, 0x00000001): DW_OP_WASM_location 0x0 +5, DW_OP_stack_value 0x00000390: - [0xffffffff, 0x00000544): + [0xffffffff, 0x0000057a): [0x00000000, 0x00000007): DW_OP_WASM_location 0x0 +6, DW_OP_stack_value - [0x000000c2, 0x000000c9): DW_OP_WASM_location 0x0 +6, DW_OP_stack_value + [0x000000c9, 0x000000d0): DW_OP_WASM_location 0x0 +6, DW_OP_stack_value 0x000003bc: - [0xffffffff, 0x0000059f): + [0xffffffff, 0x000005d7): [0x00000001, 0x00000001): DW_OP_WASM_location 0x0 +8, DW_OP_stack_value [0x00000001, 0x00000001): DW_OP_WASM_location 0x0 +8, DW_OP_stack_value 0x000003e8: - [0xffffffff, 0x00000621): + [0xffffffff, 0x0000065e): [0x00000001, 0x00000001): DW_OP_consts +0, DW_OP_stack_value - [0x00000027, 0x0000002f): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value + [0x00000028, 0x00000030): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value 0x00000413: - [0xffffffff, 0x00000631): - [0x00000000, 0x0000001f): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value + [0xffffffff, 0x0000066e): + [0x00000000, 0x00000020): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value .debug_line contents: debug_line[0x00000000] @@ -3175,1477 +3175,1477 @@ file_names[ 4]: 0x0000000000000028 33 14 1 0 0 is_stmt prologue_end -0x000000fe: 00 DW_LNE_set_address (0x0000000000000031) +0x000000fe: 00 DW_LNE_set_address (0x0000000000000032) 0x00000105: 03 DW_LNS_advance_line (34) 0x00000107: 05 DW_LNS_set_column (27) 0x00000109: 01 DW_LNS_copy - 0x0000000000000031 34 27 1 0 0 is_stmt + 0x0000000000000032 34 27 1 0 0 is_stmt -0x0000010a: 00 DW_LNE_set_address (0x0000000000000032) +0x0000010a: 00 DW_LNE_set_address (0x0000000000000033) 0x00000111: 05 DW_LNS_set_column (18) 0x00000113: 06 DW_LNS_negate_stmt 0x00000114: 01 DW_LNS_copy - 0x0000000000000032 34 18 1 0 0 + 0x0000000000000033 34 18 1 0 0 -0x00000115: 00 DW_LNE_set_address (0x0000000000000038) +0x00000115: 00 DW_LNE_set_address (0x0000000000000039) 0x0000011c: 03 DW_LNS_advance_line (35) 0x0000011e: 05 DW_LNS_set_column (17) 0x00000120: 06 DW_LNS_negate_stmt 0x00000121: 01 DW_LNS_copy - 0x0000000000000038 35 17 1 0 0 is_stmt + 0x0000000000000039 35 17 1 0 0 is_stmt -0x00000122: 00 DW_LNE_set_address (0x000000000000003e) +0x00000122: 00 DW_LNE_set_address (0x000000000000003f) 0x00000129: 03 DW_LNS_advance_line (36) 0x0000012b: 05 DW_LNS_set_column (18) 0x0000012d: 01 DW_LNS_copy - 0x000000000000003e 36 18 1 0 0 is_stmt + 0x000000000000003f 36 18 1 0 0 is_stmt -0x0000012e: 00 DW_LNE_set_address (0x0000000000000048) +0x0000012e: 00 DW_LNE_set_address (0x0000000000000049) 0x00000135: 03 DW_LNS_advance_line (37) 0x00000137: 01 DW_LNS_copy - 0x0000000000000048 37 18 1 0 0 is_stmt + 0x0000000000000049 37 18 1 0 0 is_stmt -0x00000138: 00 DW_LNE_set_address (0x0000000000000051) +0x00000138: 00 DW_LNE_set_address (0x0000000000000052) 0x0000013f: 03 DW_LNS_advance_line (38) 0x00000141: 05 DW_LNS_set_column (7) 0x00000143: 01 DW_LNS_copy - 0x0000000000000051 38 7 1 0 0 is_stmt + 0x0000000000000052 38 7 1 0 0 is_stmt -0x00000144: 00 DW_LNE_set_address (0x0000000000000059) +0x00000144: 00 DW_LNE_set_address (0x000000000000005a) 0x0000014b: 05 DW_LNS_set_column (16) 0x0000014d: 06 DW_LNS_negate_stmt 0x0000014e: 01 DW_LNS_copy - 0x0000000000000059 38 16 1 0 0 + 0x000000000000005a 38 16 1 0 0 -0x0000014f: 00 DW_LNE_set_address (0x000000000000005e) +0x0000014f: 00 DW_LNE_set_address (0x0000000000000060) 0x00000156: 03 DW_LNS_advance_line (37) 0x00000158: 05 DW_LNS_set_column (24) 0x0000015a: 06 DW_LNS_negate_stmt 0x0000015b: 01 DW_LNS_copy - 0x000000000000005e 37 24 1 0 0 is_stmt + 0x0000000000000060 37 24 1 0 0 is_stmt -0x0000015c: 00 DW_LNE_set_address (0x0000000000000063) +0x0000015c: 00 DW_LNE_set_address (0x0000000000000065) 0x00000163: 05 DW_LNS_set_column (18) 0x00000165: 06 DW_LNS_negate_stmt 0x00000166: 01 DW_LNS_copy - 0x0000000000000063 37 18 1 0 0 + 0x0000000000000065 37 18 1 0 0 -0x00000167: 00 DW_LNE_set_address (0x0000000000000068) +0x00000167: 00 DW_LNE_set_address (0x000000000000006a) 0x0000016e: 05 DW_LNS_set_column (4) 0x00000170: 01 DW_LNS_copy - 0x0000000000000068 37 4 1 0 0 + 0x000000000000006a 37 4 1 0 0 -0x00000171: 00 DW_LNE_set_address (0x000000000000006b) +0x00000171: 00 DW_LNE_set_address (0x000000000000006d) 0x00000178: 03 DW_LNS_advance_line (39) 0x0000017a: 06 DW_LNS_negate_stmt 0x0000017b: 01 DW_LNS_copy - 0x000000000000006b 39 4 1 0 0 is_stmt + 0x000000000000006d 39 4 1 0 0 is_stmt -0x0000017c: 00 DW_LNE_set_address (0x000000000000006d) +0x0000017c: 00 DW_LNE_set_address (0x000000000000006f) 0x00000183: 05 DW_LNS_set_column (16) 0x00000185: 06 DW_LNS_negate_stmt 0x00000186: 01 DW_LNS_copy - 0x000000000000006d 39 16 1 0 0 + 0x000000000000006f 39 16 1 0 0 -0x00000187: 00 DW_LNE_set_address (0x0000000000000076) +0x00000187: 00 DW_LNE_set_address (0x0000000000000079) 0x0000018e: 05 DW_LNS_set_column (4) 0x00000190: 01 DW_LNS_copy - 0x0000000000000076 39 4 1 0 0 + 0x0000000000000079 39 4 1 0 0 -0x00000191: 00 DW_LNE_set_address (0x0000000000000078) +0x00000191: 00 DW_LNE_set_address (0x000000000000007b) 0x00000198: 05 DW_LNS_set_column (23) 0x0000019a: 01 DW_LNS_copy - 0x0000000000000078 39 23 1 0 0 + 0x000000000000007b 39 23 1 0 0 -0x0000019b: 00 DW_LNE_set_address (0x000000000000007d) +0x0000019b: 00 DW_LNE_set_address (0x0000000000000080) 0x000001a2: 05 DW_LNS_set_column (19) 0x000001a4: 01 DW_LNS_copy - 0x000000000000007d 39 19 1 0 0 + 0x0000000000000080 39 19 1 0 0 -0x000001a5: 00 DW_LNE_set_address (0x0000000000000082) +0x000001a5: 00 DW_LNE_set_address (0x0000000000000086) 0x000001ac: 03 DW_LNS_advance_line (40) 0x000001ae: 05 DW_LNS_set_column (4) 0x000001b0: 06 DW_LNS_negate_stmt 0x000001b1: 01 DW_LNS_copy - 0x0000000000000082 40 4 1 0 0 is_stmt + 0x0000000000000086 40 4 1 0 0 is_stmt -0x000001b2: 00 DW_LNE_set_address (0x000000000000008a) +0x000001b2: 00 DW_LNE_set_address (0x000000000000008e) 0x000001b9: 05 DW_LNS_set_column (17) 0x000001bb: 06 DW_LNS_negate_stmt 0x000001bc: 01 DW_LNS_copy - 0x000000000000008a 40 17 1 0 0 + 0x000000000000008e 40 17 1 0 0 -0x000001bd: 00 DW_LNE_set_address (0x0000000000000091) +0x000001bd: 00 DW_LNE_set_address (0x0000000000000096) 0x000001c4: 03 DW_LNS_advance_line (37) 0x000001c6: 05 DW_LNS_set_column (18) 0x000001c8: 06 DW_LNS_negate_stmt 0x000001c9: 01 DW_LNS_copy - 0x0000000000000091 37 18 1 0 0 is_stmt + 0x0000000000000096 37 18 1 0 0 is_stmt -0x000001ca: 00 DW_LNE_set_address (0x0000000000000096) +0x000001ca: 00 DW_LNE_set_address (0x000000000000009b) 0x000001d1: 03 DW_LNS_advance_line (43) 0x000001d3: 05 DW_LNS_set_column (4) 0x000001d5: 01 DW_LNS_copy - 0x0000000000000096 43 4 1 0 0 is_stmt + 0x000000000000009b 43 4 1 0 0 is_stmt -0x000001d6: 00 DW_LNE_set_address (0x000000000000009a) +0x000001d6: 00 DW_LNE_set_address (0x000000000000009f) 0x000001dd: 03 DW_LNS_advance_line (44) 0x000001df: 05 DW_LNS_set_column (16) 0x000001e1: 01 DW_LNS_copy - 0x000000000000009a 44 16 1 0 0 is_stmt + 0x000000000000009f 44 16 1 0 0 is_stmt -0x000001e2: 00 DW_LNE_set_address (0x00000000000000a3) +0x000001e2: 00 DW_LNE_set_address (0x00000000000000a8) 0x000001e9: 03 DW_LNS_advance_line (45) 0x000001eb: 05 DW_LNS_set_column (10) 0x000001ed: 01 DW_LNS_copy - 0x00000000000000a3 45 10 1 0 0 is_stmt + 0x00000000000000a8 45 10 1 0 0 is_stmt -0x000001ee: 00 DW_LNE_set_address (0x00000000000000a5) +0x000001ee: 00 DW_LNE_set_address (0x00000000000000aa) 0x000001f5: 05 DW_LNS_set_column (18) 0x000001f7: 06 DW_LNS_negate_stmt 0x000001f8: 01 DW_LNS_copy - 0x00000000000000a5 45 18 1 0 0 + 0x00000000000000aa 45 18 1 0 0 -0x000001f9: 00 DW_LNE_set_address (0x00000000000000ae) +0x000001f9: 00 DW_LNE_set_address (0x00000000000000b3) 0x00000200: 05 DW_LNS_set_column (10) 0x00000202: 01 DW_LNS_copy - 0x00000000000000ae 45 10 1 0 0 + 0x00000000000000b3 45 10 1 0 0 -0x00000203: 00 DW_LNE_set_address (0x00000000000000b0) +0x00000203: 00 DW_LNE_set_address (0x00000000000000b5) 0x0000020a: 05 DW_LNS_set_column (23) 0x0000020c: 01 DW_LNS_copy - 0x00000000000000b0 45 23 1 0 0 + 0x00000000000000b5 45 23 1 0 0 -0x0000020d: 00 DW_LNE_set_address (0x00000000000000b5) +0x0000020d: 00 DW_LNE_set_address (0x00000000000000bb) 0x00000214: 03 DW_LNS_advance_line (44) 0x00000216: 05 DW_LNS_set_column (16) 0x00000218: 06 DW_LNS_negate_stmt 0x00000219: 01 DW_LNS_copy - 0x00000000000000b5 44 16 1 0 0 is_stmt + 0x00000000000000bb 44 16 1 0 0 is_stmt -0x0000021a: 00 DW_LNE_set_address (0x00000000000000c0) +0x0000021a: 00 DW_LNE_set_address (0x00000000000000c6) 0x00000221: 05 DW_LNS_set_column (7) 0x00000223: 06 DW_LNS_negate_stmt 0x00000224: 01 DW_LNS_copy - 0x00000000000000c0 44 7 1 0 0 + 0x00000000000000c6 44 7 1 0 0 -0x00000225: 00 DW_LNE_set_address (0x00000000000000c6) +0x00000225: 00 DW_LNE_set_address (0x00000000000000cc) 0x0000022c: 03 DW_LNS_advance_line (46) 0x0000022e: 05 DW_LNS_set_column (11) 0x00000230: 06 DW_LNS_negate_stmt 0x00000231: 01 DW_LNS_copy - 0x00000000000000c6 46 11 1 0 0 is_stmt + 0x00000000000000cc 46 11 1 0 0 is_stmt -0x00000232: 00 DW_LNE_set_address (0x00000000000000d2) +0x00000232: 00 DW_LNE_set_address (0x00000000000000d9) 0x00000239: 05 DW_LNS_set_column (28) 0x0000023b: 06 DW_LNS_negate_stmt 0x0000023c: 01 DW_LNS_copy - 0x00000000000000d2 46 28 1 0 0 + 0x00000000000000d9 46 28 1 0 0 -0x0000023d: 00 DW_LNE_set_address (0x00000000000000d7) +0x0000023d: 00 DW_LNE_set_address (0x00000000000000df) 0x00000244: 05 DW_LNS_set_column (41) 0x00000246: 01 DW_LNS_copy - 0x00000000000000d7 46 41 1 0 0 + 0x00000000000000df 46 41 1 0 0 -0x00000247: 00 DW_LNE_set_address (0x00000000000000dc) +0x00000247: 00 DW_LNE_set_address (0x00000000000000e4) 0x0000024e: 03 DW_LNS_advance_line (48) 0x00000250: 05 DW_LNS_set_column (21) 0x00000252: 06 DW_LNS_negate_stmt 0x00000253: 01 DW_LNS_copy - 0x00000000000000dc 48 21 1 0 0 is_stmt + 0x00000000000000e4 48 21 1 0 0 is_stmt -0x00000254: 00 DW_LNE_set_address (0x00000000000000e4) +0x00000254: 00 DW_LNE_set_address (0x00000000000000ec) 0x0000025b: 03 DW_LNS_advance_line (50) 0x0000025d: 05 DW_LNS_set_column (14) 0x0000025f: 01 DW_LNS_copy - 0x00000000000000e4 50 14 1 0 0 is_stmt + 0x00000000000000ec 50 14 1 0 0 is_stmt -0x00000260: 00 DW_LNE_set_address (0x00000000000000f5) +0x00000260: 00 DW_LNE_set_address (0x00000000000000fe) 0x00000267: 03 DW_LNS_advance_line (52) 0x00000269: 05 DW_LNS_set_column (38) 0x0000026b: 01 DW_LNS_copy - 0x00000000000000f5 52 38 1 0 0 is_stmt + 0x00000000000000fe 52 38 1 0 0 is_stmt -0x0000026c: 00 DW_LNE_set_address (0x0000000000000109) +0x0000026c: 00 DW_LNE_set_address (0x0000000000000112) 0x00000273: 03 DW_LNS_advance_line (53) 0x00000275: 05 DW_LNS_set_column (22) 0x00000277: 01 DW_LNS_copy - 0x0000000000000109 53 22 1 0 0 is_stmt + 0x0000000000000112 53 22 1 0 0 is_stmt -0x00000278: 00 DW_LNE_set_address (0x0000000000000118) +0x00000278: 00 DW_LNE_set_address (0x0000000000000122) 0x0000027f: 03 DW_LNS_advance_line (54) 0x00000281: 05 DW_LNS_set_column (24) 0x00000283: 01 DW_LNS_copy - 0x0000000000000118 54 24 1 0 0 is_stmt + 0x0000000000000122 54 24 1 0 0 is_stmt -0x00000284: 00 DW_LNE_set_address (0x000000000000011a) +0x00000284: 00 DW_LNE_set_address (0x0000000000000124) 0x0000028b: 05 DW_LNS_set_column (26) 0x0000028d: 06 DW_LNS_negate_stmt 0x0000028e: 01 DW_LNS_copy - 0x000000000000011a 54 26 1 0 0 + 0x0000000000000124 54 26 1 0 0 -0x0000028f: 00 DW_LNE_set_address (0x0000000000000127) +0x0000028f: 00 DW_LNE_set_address (0x0000000000000132) 0x00000296: 05 DW_LNS_set_column (24) 0x00000298: 01 DW_LNS_copy - 0x0000000000000127 54 24 1 0 0 + 0x0000000000000132 54 24 1 0 0 -0x00000299: 00 DW_LNE_set_address (0x000000000000012a) +0x00000299: 00 DW_LNE_set_address (0x0000000000000136) 0x000002a0: 03 DW_LNS_advance_line (55) 0x000002a2: 06 DW_LNS_negate_stmt 0x000002a3: 01 DW_LNS_copy - 0x000000000000012a 55 24 1 0 0 is_stmt + 0x0000000000000136 55 24 1 0 0 is_stmt -0x000002a4: 00 DW_LNE_set_address (0x0000000000000131) +0x000002a4: 00 DW_LNE_set_address (0x000000000000013e) 0x000002ab: 03 DW_LNS_advance_line (52) 0x000002ad: 05 DW_LNS_set_column (44) 0x000002af: 01 DW_LNS_copy - 0x0000000000000131 52 44 1 0 0 is_stmt + 0x000000000000013e 52 44 1 0 0 is_stmt -0x000002b0: 00 DW_LNE_set_address (0x000000000000013d) +0x000002b0: 00 DW_LNE_set_address (0x000000000000014a) 0x000002b7: 05 DW_LNS_set_column (38) 0x000002b9: 06 DW_LNS_negate_stmt 0x000002ba: 01 DW_LNS_copy - 0x000000000000013d 52 38 1 0 0 + 0x000000000000014a 52 38 1 0 0 -0x000002bb: 00 DW_LNE_set_address (0x0000000000000140) +0x000002bb: 00 DW_LNE_set_address (0x000000000000014d) 0x000002c2: 05 DW_LNS_set_column (13) 0x000002c4: 01 DW_LNS_copy - 0x0000000000000140 52 13 1 0 0 + 0x000000000000014d 52 13 1 0 0 -0x000002c5: 00 DW_LNE_set_address (0x0000000000000144) +0x000002c5: 00 DW_LNE_set_address (0x0000000000000151) 0x000002cc: 03 DW_LNS_advance_line (58) 0x000002ce: 05 DW_LNS_set_column (19) 0x000002d0: 06 DW_LNS_negate_stmt 0x000002d1: 01 DW_LNS_copy - 0x0000000000000144 58 19 1 0 0 is_stmt + 0x0000000000000151 58 19 1 0 0 is_stmt -0x000002d2: 00 DW_LNE_set_address (0x0000000000000153) +0x000002d2: 00 DW_LNE_set_address (0x0000000000000161) 0x000002d9: 03 DW_LNS_advance_line (59) 0x000002db: 05 DW_LNS_set_column (21) 0x000002dd: 01 DW_LNS_copy - 0x0000000000000153 59 21 1 0 0 is_stmt + 0x0000000000000161 59 21 1 0 0 is_stmt -0x000002de: 00 DW_LNE_set_address (0x000000000000015a) +0x000002de: 00 DW_LNE_set_address (0x0000000000000169) 0x000002e5: 03 DW_LNS_advance_line (57) 0x000002e7: 05 DW_LNS_set_column (18) 0x000002e9: 01 DW_LNS_copy - 0x000000000000015a 57 18 1 0 0 is_stmt + 0x0000000000000169 57 18 1 0 0 is_stmt -0x000002ea: 00 DW_LNE_set_address (0x000000000000016a) +0x000002ea: 00 DW_LNE_set_address (0x0000000000000179) 0x000002f1: 03 DW_LNS_advance_line (62) 0x000002f3: 05 DW_LNS_set_column (14) 0x000002f5: 01 DW_LNS_copy - 0x000000000000016a 62 14 1 0 0 is_stmt + 0x0000000000000179 62 14 1 0 0 is_stmt -0x000002f6: 00 DW_LNE_set_address (0x000000000000016e) +0x000002f6: 00 DW_LNE_set_address (0x000000000000017d) 0x000002fd: 05 DW_LNS_set_column (23) 0x000002ff: 06 DW_LNS_negate_stmt 0x00000300: 01 DW_LNS_copy - 0x000000000000016e 62 23 1 0 0 + 0x000000000000017d 62 23 1 0 0 -0x00000301: 00 DW_LNE_set_address (0x0000000000000173) +0x00000301: 00 DW_LNE_set_address (0x0000000000000182) 0x00000308: 05 DW_LNS_set_column (14) 0x0000030a: 01 DW_LNS_copy - 0x0000000000000173 62 14 1 0 0 + 0x0000000000000182 62 14 1 0 0 -0x0000030b: 00 DW_LNE_set_address (0x0000000000000177) +0x0000030b: 00 DW_LNE_set_address (0x0000000000000186) 0x00000312: 03 DW_LNS_advance_line (66) 0x00000314: 05 DW_LNS_set_column (16) 0x00000316: 06 DW_LNS_negate_stmt 0x00000317: 01 DW_LNS_copy - 0x0000000000000177 66 16 1 0 0 is_stmt + 0x0000000000000186 66 16 1 0 0 is_stmt -0x00000318: 00 DW_LNE_set_address (0x0000000000000184) +0x00000318: 00 DW_LNE_set_address (0x0000000000000193) 0x0000031f: 03 DW_LNS_advance_line (75) 0x00000321: 05 DW_LNS_set_column (27) 0x00000323: 01 DW_LNS_copy - 0x0000000000000184 75 27 1 0 0 is_stmt + 0x0000000000000193 75 27 1 0 0 is_stmt -0x00000324: 00 DW_LNE_set_address (0x000000000000018d) +0x00000324: 00 DW_LNE_set_address (0x000000000000019c) 0x0000032b: 03 DW_LNS_advance_line (76) 0x0000032d: 05 DW_LNS_set_column (16) 0x0000032f: 01 DW_LNS_copy - 0x000000000000018d 76 16 1 0 0 is_stmt + 0x000000000000019c 76 16 1 0 0 is_stmt -0x00000330: 00 DW_LNE_set_address (0x0000000000000195) +0x00000330: 00 DW_LNE_set_address (0x00000000000001a4) 0x00000337: 05 DW_LNS_set_column (27) 0x00000339: 06 DW_LNS_negate_stmt 0x0000033a: 01 DW_LNS_copy - 0x0000000000000195 76 27 1 0 0 + 0x00000000000001a4 76 27 1 0 0 -0x0000033b: 00 DW_LNE_set_address (0x0000000000000197) +0x0000033b: 00 DW_LNE_set_address (0x00000000000001a6) 0x00000342: 05 DW_LNS_set_column (35) 0x00000344: 01 DW_LNS_copy - 0x0000000000000197 76 35 1 0 0 + 0x00000000000001a6 76 35 1 0 0 -0x00000345: 00 DW_LNE_set_address (0x00000000000001a0) +0x00000345: 00 DW_LNE_set_address (0x00000000000001af) 0x0000034c: 05 DW_LNS_set_column (27) 0x0000034e: 01 DW_LNS_copy - 0x00000000000001a0 76 27 1 0 0 + 0x00000000000001af 76 27 1 0 0 -0x0000034f: 00 DW_LNE_set_address (0x00000000000001a5) +0x0000034f: 00 DW_LNE_set_address (0x00000000000001b5) 0x00000356: 05 DW_LNS_set_column (25) 0x00000358: 01 DW_LNS_copy - 0x00000000000001a5 76 25 1 0 0 + 0x00000000000001b5 76 25 1 0 0 -0x00000359: 00 DW_LNE_set_address (0x00000000000001a8) +0x00000359: 00 DW_LNE_set_address (0x00000000000001b9) 0x00000360: 03 DW_LNS_advance_line (75) 0x00000362: 05 DW_LNS_set_column (27) 0x00000364: 06 DW_LNS_negate_stmt 0x00000365: 01 DW_LNS_copy - 0x00000000000001a8 75 27 1 0 0 is_stmt + 0x00000000000001b9 75 27 1 0 0 is_stmt -0x00000366: 00 DW_LNE_set_address (0x00000000000001ad) +0x00000366: 00 DW_LNE_set_address (0x00000000000001be) 0x0000036d: 05 DW_LNS_set_column (13) 0x0000036f: 06 DW_LNS_negate_stmt 0x00000370: 01 DW_LNS_copy - 0x00000000000001ad 75 13 1 0 0 + 0x00000000000001be 75 13 1 0 0 -0x00000371: 00 DW_LNE_set_address (0x00000000000001b5) +0x00000371: 00 DW_LNE_set_address (0x00000000000001c6) 0x00000378: 03 DW_LNS_advance_line (77) 0x0000037a: 06 DW_LNS_negate_stmt 0x0000037b: 01 DW_LNS_copy - 0x00000000000001b5 77 13 1 0 0 is_stmt + 0x00000000000001c6 77 13 1 0 0 is_stmt -0x0000037c: 00 DW_LNE_set_address (0x00000000000001bd) +0x0000037c: 00 DW_LNE_set_address (0x00000000000001ce) 0x00000383: 05 DW_LNS_set_column (22) 0x00000385: 06 DW_LNS_negate_stmt 0x00000386: 01 DW_LNS_copy - 0x00000000000001bd 77 22 1 0 0 + 0x00000000000001ce 77 22 1 0 0 -0x00000387: 00 DW_LNE_set_address (0x00000000000001c2) +0x00000387: 00 DW_LNE_set_address (0x00000000000001d4) 0x0000038e: 03 DW_LNS_advance_line (79) 0x00000390: 05 DW_LNS_set_column (16) 0x00000392: 06 DW_LNS_negate_stmt 0x00000393: 01 DW_LNS_copy - 0x00000000000001c2 79 16 1 0 0 is_stmt + 0x00000000000001d4 79 16 1 0 0 is_stmt -0x00000394: 00 DW_LNE_set_address (0x00000000000001ca) +0x00000394: 00 DW_LNE_set_address (0x00000000000001dc) 0x0000039b: 05 DW_LNS_set_column (14) 0x0000039d: 06 DW_LNS_negate_stmt 0x0000039e: 01 DW_LNS_copy - 0x00000000000001ca 79 14 1 0 0 + 0x00000000000001dc 79 14 1 0 0 -0x0000039f: 00 DW_LNE_set_address (0x00000000000001d9) +0x0000039f: 00 DW_LNE_set_address (0x00000000000001ed) 0x000003a6: 05 DW_LNS_set_column (25) 0x000003a8: 01 DW_LNS_copy - 0x00000000000001d9 79 25 1 0 0 + 0x00000000000001ed 79 25 1 0 0 -0x000003a9: 00 DW_LNE_set_address (0x00000000000001e0) +0x000003a9: 00 DW_LNE_set_address (0x00000000000001f4) 0x000003b0: 03 DW_LNS_advance_line (81) 0x000003b2: 05 DW_LNS_set_column (11) 0x000003b4: 06 DW_LNS_negate_stmt 0x000003b5: 01 DW_LNS_copy - 0x00000000000001e0 81 11 1 0 0 is_stmt + 0x00000000000001f4 81 11 1 0 0 is_stmt -0x000003b6: 00 DW_LNE_set_address (0x00000000000001e5) +0x000003b6: 00 DW_LNE_set_address (0x00000000000001f9) 0x000003bd: 03 DW_LNS_advance_line (66) 0x000003bf: 05 DW_LNS_set_column (16) 0x000003c1: 01 DW_LNS_copy - 0x00000000000001e5 66 16 1 0 0 is_stmt + 0x00000000000001f9 66 16 1 0 0 is_stmt -0x000003c2: 00 DW_LNE_set_address (0x00000000000001ec) +0x000003c2: 00 DW_LNE_set_address (0x0000000000000200) 0x000003c9: 03 DW_LNS_advance_line (74) 0x000003cb: 05 DW_LNS_set_column (22) 0x000003cd: 01 DW_LNS_copy - 0x00000000000001ec 74 22 1 0 0 is_stmt + 0x0000000000000200 74 22 1 0 0 is_stmt -0x000003ce: 00 DW_LNE_set_address (0x00000000000001f5) +0x000003ce: 00 DW_LNE_set_address (0x000000000000020a) 0x000003d5: 03 DW_LNS_advance_line (37) 0x000003d7: 05 DW_LNS_set_column (4) 0x000003d9: 01 DW_LNS_copy - 0x00000000000001f5 37 4 1 0 0 is_stmt + 0x000000000000020a 37 4 1 0 0 is_stmt -0x000003da: 00 DW_LNE_set_address (0x00000000000001fa) +0x000003da: 00 DW_LNE_set_address (0x000000000000020f) 0x000003e1: 03 DW_LNS_advance_line (39) 0x000003e3: 01 DW_LNS_copy - 0x00000000000001fa 39 4 1 0 0 is_stmt + 0x000000000000020f 39 4 1 0 0 is_stmt -0x000003e4: 00 DW_LNE_set_address (0x00000000000001fc) +0x000003e4: 00 DW_LNE_set_address (0x0000000000000211) 0x000003eb: 05 DW_LNS_set_column (16) 0x000003ed: 06 DW_LNS_negate_stmt 0x000003ee: 01 DW_LNS_copy - 0x00000000000001fc 39 16 1 0 0 + 0x0000000000000211 39 16 1 0 0 -0x000003ef: 00 DW_LNE_set_address (0x0000000000000205) +0x000003ef: 00 DW_LNE_set_address (0x000000000000021b) 0x000003f6: 05 DW_LNS_set_column (4) 0x000003f8: 01 DW_LNS_copy - 0x0000000000000205 39 4 1 0 0 + 0x000000000000021b 39 4 1 0 0 -0x000003f9: 00 DW_LNE_set_address (0x0000000000000207) +0x000003f9: 00 DW_LNE_set_address (0x000000000000021d) 0x00000400: 05 DW_LNS_set_column (23) 0x00000402: 01 DW_LNS_copy - 0x0000000000000207 39 23 1 0 0 + 0x000000000000021d 39 23 1 0 0 -0x00000403: 00 DW_LNE_set_address (0x000000000000020c) +0x00000403: 00 DW_LNE_set_address (0x0000000000000222) 0x0000040a: 05 DW_LNS_set_column (19) 0x0000040c: 01 DW_LNS_copy - 0x000000000000020c 39 19 1 0 0 + 0x0000000000000222 39 19 1 0 0 -0x0000040d: 00 DW_LNE_set_address (0x0000000000000211) +0x0000040d: 00 DW_LNE_set_address (0x0000000000000228) 0x00000414: 03 DW_LNS_advance_line (40) 0x00000416: 05 DW_LNS_set_column (4) 0x00000418: 06 DW_LNS_negate_stmt 0x00000419: 01 DW_LNS_copy - 0x0000000000000211 40 4 1 0 0 is_stmt + 0x0000000000000228 40 4 1 0 0 is_stmt -0x0000041a: 00 DW_LNE_set_address (0x0000000000000219) +0x0000041a: 00 DW_LNE_set_address (0x0000000000000230) 0x00000421: 05 DW_LNS_set_column (17) 0x00000423: 06 DW_LNS_negate_stmt 0x00000424: 01 DW_LNS_copy - 0x0000000000000219 40 17 1 0 0 + 0x0000000000000230 40 17 1 0 0 -0x00000425: 00 DW_LNE_set_address (0x0000000000000223) +0x00000425: 00 DW_LNE_set_address (0x000000000000023b) 0x0000042c: 03 DW_LNS_advance_line (44) 0x0000042e: 05 DW_LNS_set_column (16) 0x00000430: 06 DW_LNS_negate_stmt 0x00000431: 01 DW_LNS_copy - 0x0000000000000223 44 16 1 0 0 is_stmt + 0x000000000000023b 44 16 1 0 0 is_stmt -0x00000432: 00 DW_LNE_set_address (0x000000000000022c) +0x00000432: 00 DW_LNE_set_address (0x0000000000000244) 0x00000439: 03 DW_LNS_advance_line (45) 0x0000043b: 05 DW_LNS_set_column (10) 0x0000043d: 01 DW_LNS_copy - 0x000000000000022c 45 10 1 0 0 is_stmt + 0x0000000000000244 45 10 1 0 0 is_stmt -0x0000043e: 00 DW_LNE_set_address (0x000000000000022e) +0x0000043e: 00 DW_LNE_set_address (0x0000000000000246) 0x00000445: 05 DW_LNS_set_column (18) 0x00000447: 06 DW_LNS_negate_stmt 0x00000448: 01 DW_LNS_copy - 0x000000000000022e 45 18 1 0 0 + 0x0000000000000246 45 18 1 0 0 -0x00000449: 00 DW_LNE_set_address (0x0000000000000237) +0x00000449: 00 DW_LNE_set_address (0x000000000000024f) 0x00000450: 05 DW_LNS_set_column (10) 0x00000452: 01 DW_LNS_copy - 0x0000000000000237 45 10 1 0 0 + 0x000000000000024f 45 10 1 0 0 -0x00000453: 00 DW_LNE_set_address (0x0000000000000239) +0x00000453: 00 DW_LNE_set_address (0x0000000000000251) 0x0000045a: 05 DW_LNS_set_column (23) 0x0000045c: 01 DW_LNS_copy - 0x0000000000000239 45 23 1 0 0 + 0x0000000000000251 45 23 1 0 0 -0x0000045d: 00 DW_LNE_set_address (0x000000000000023e) +0x0000045d: 00 DW_LNE_set_address (0x0000000000000257) 0x00000464: 03 DW_LNS_advance_line (44) 0x00000466: 05 DW_LNS_set_column (16) 0x00000468: 06 DW_LNS_negate_stmt 0x00000469: 01 DW_LNS_copy - 0x000000000000023e 44 16 1 0 0 is_stmt + 0x0000000000000257 44 16 1 0 0 is_stmt -0x0000046a: 00 DW_LNE_set_address (0x000000000000024f) +0x0000046a: 00 DW_LNE_set_address (0x0000000000000268) 0x00000471: 03 DW_LNS_advance_line (46) 0x00000473: 05 DW_LNS_set_column (11) 0x00000475: 01 DW_LNS_copy - 0x000000000000024f 46 11 1 0 0 is_stmt + 0x0000000000000268 46 11 1 0 0 is_stmt -0x00000476: 00 DW_LNE_set_address (0x000000000000025b) +0x00000476: 00 DW_LNE_set_address (0x0000000000000275) 0x0000047d: 05 DW_LNS_set_column (28) 0x0000047f: 06 DW_LNS_negate_stmt 0x00000480: 01 DW_LNS_copy - 0x000000000000025b 46 28 1 0 0 + 0x0000000000000275 46 28 1 0 0 -0x00000481: 00 DW_LNE_set_address (0x0000000000000260) +0x00000481: 00 DW_LNE_set_address (0x000000000000027b) 0x00000488: 05 DW_LNS_set_column (41) 0x0000048a: 01 DW_LNS_copy - 0x0000000000000260 46 41 1 0 0 + 0x000000000000027b 46 41 1 0 0 -0x0000048b: 00 DW_LNE_set_address (0x0000000000000265) +0x0000048b: 00 DW_LNE_set_address (0x0000000000000280) 0x00000492: 03 DW_LNS_advance_line (50) 0x00000494: 05 DW_LNS_set_column (14) 0x00000496: 06 DW_LNS_negate_stmt 0x00000497: 01 DW_LNS_copy - 0x0000000000000265 50 14 1 0 0 is_stmt + 0x0000000000000280 50 14 1 0 0 is_stmt -0x00000498: 00 DW_LNE_set_address (0x0000000000000276) +0x00000498: 00 DW_LNE_set_address (0x0000000000000292) 0x0000049f: 03 DW_LNS_advance_line (52) 0x000004a1: 05 DW_LNS_set_column (38) 0x000004a3: 01 DW_LNS_copy - 0x0000000000000276 52 38 1 0 0 is_stmt + 0x0000000000000292 52 38 1 0 0 is_stmt -0x000004a4: 00 DW_LNE_set_address (0x000000000000028a) +0x000004a4: 00 DW_LNE_set_address (0x00000000000002a6) 0x000004ab: 03 DW_LNS_advance_line (53) 0x000004ad: 05 DW_LNS_set_column (22) 0x000004af: 01 DW_LNS_copy - 0x000000000000028a 53 22 1 0 0 is_stmt + 0x00000000000002a6 53 22 1 0 0 is_stmt -0x000004b0: 00 DW_LNE_set_address (0x0000000000000299) +0x000004b0: 00 DW_LNE_set_address (0x00000000000002b6) 0x000004b7: 03 DW_LNS_advance_line (54) 0x000004b9: 05 DW_LNS_set_column (24) 0x000004bb: 01 DW_LNS_copy - 0x0000000000000299 54 24 1 0 0 is_stmt + 0x00000000000002b6 54 24 1 0 0 is_stmt -0x000004bc: 00 DW_LNE_set_address (0x000000000000029b) +0x000004bc: 00 DW_LNE_set_address (0x00000000000002b8) 0x000004c3: 05 DW_LNS_set_column (26) 0x000004c5: 06 DW_LNS_negate_stmt 0x000004c6: 01 DW_LNS_copy - 0x000000000000029b 54 26 1 0 0 + 0x00000000000002b8 54 26 1 0 0 -0x000004c7: 00 DW_LNE_set_address (0x00000000000002a8) +0x000004c7: 00 DW_LNE_set_address (0x00000000000002c6) 0x000004ce: 05 DW_LNS_set_column (24) 0x000004d0: 01 DW_LNS_copy - 0x00000000000002a8 54 24 1 0 0 + 0x00000000000002c6 54 24 1 0 0 -0x000004d1: 00 DW_LNE_set_address (0x00000000000002ab) +0x000004d1: 00 DW_LNE_set_address (0x00000000000002ca) 0x000004d8: 03 DW_LNS_advance_line (55) 0x000004da: 06 DW_LNS_negate_stmt 0x000004db: 01 DW_LNS_copy - 0x00000000000002ab 55 24 1 0 0 is_stmt + 0x00000000000002ca 55 24 1 0 0 is_stmt -0x000004dc: 00 DW_LNE_set_address (0x00000000000002b2) +0x000004dc: 00 DW_LNE_set_address (0x00000000000002d2) 0x000004e3: 03 DW_LNS_advance_line (52) 0x000004e5: 05 DW_LNS_set_column (44) 0x000004e7: 01 DW_LNS_copy - 0x00000000000002b2 52 44 1 0 0 is_stmt + 0x00000000000002d2 52 44 1 0 0 is_stmt -0x000004e8: 00 DW_LNE_set_address (0x00000000000002be) +0x000004e8: 00 DW_LNE_set_address (0x00000000000002de) 0x000004ef: 05 DW_LNS_set_column (38) 0x000004f1: 06 DW_LNS_negate_stmt 0x000004f2: 01 DW_LNS_copy - 0x00000000000002be 52 38 1 0 0 + 0x00000000000002de 52 38 1 0 0 -0x000004f3: 00 DW_LNE_set_address (0x00000000000002c5) +0x000004f3: 00 DW_LNE_set_address (0x00000000000002e5) 0x000004fa: 03 DW_LNS_advance_line (58) 0x000004fc: 05 DW_LNS_set_column (19) 0x000004fe: 06 DW_LNS_negate_stmt 0x000004ff: 01 DW_LNS_copy - 0x00000000000002c5 58 19 1 0 0 is_stmt + 0x00000000000002e5 58 19 1 0 0 is_stmt -0x00000500: 00 DW_LNE_set_address (0x00000000000002d4) +0x00000500: 00 DW_LNE_set_address (0x00000000000002f5) 0x00000507: 03 DW_LNS_advance_line (59) 0x00000509: 05 DW_LNS_set_column (21) 0x0000050b: 01 DW_LNS_copy - 0x00000000000002d4 59 21 1 0 0 is_stmt + 0x00000000000002f5 59 21 1 0 0 is_stmt -0x0000050c: 00 DW_LNE_set_address (0x00000000000002db) +0x0000050c: 00 DW_LNE_set_address (0x00000000000002fd) 0x00000513: 03 DW_LNS_advance_line (57) 0x00000515: 05 DW_LNS_set_column (18) 0x00000517: 01 DW_LNS_copy - 0x00000000000002db 57 18 1 0 0 is_stmt + 0x00000000000002fd 57 18 1 0 0 is_stmt -0x00000518: 00 DW_LNE_set_address (0x00000000000002eb) +0x00000518: 00 DW_LNE_set_address (0x000000000000030d) 0x0000051f: 03 DW_LNS_advance_line (62) 0x00000521: 05 DW_LNS_set_column (14) 0x00000523: 01 DW_LNS_copy - 0x00000000000002eb 62 14 1 0 0 is_stmt + 0x000000000000030d 62 14 1 0 0 is_stmt -0x00000524: 00 DW_LNE_set_address (0x00000000000002ef) +0x00000524: 00 DW_LNE_set_address (0x0000000000000311) 0x0000052b: 05 DW_LNS_set_column (23) 0x0000052d: 06 DW_LNS_negate_stmt 0x0000052e: 01 DW_LNS_copy - 0x00000000000002ef 62 23 1 0 0 + 0x0000000000000311 62 23 1 0 0 -0x0000052f: 00 DW_LNE_set_address (0x00000000000002f4) +0x0000052f: 00 DW_LNE_set_address (0x0000000000000316) 0x00000536: 05 DW_LNS_set_column (14) 0x00000538: 01 DW_LNS_copy - 0x00000000000002f4 62 14 1 0 0 + 0x0000000000000316 62 14 1 0 0 -0x00000539: 00 DW_LNE_set_address (0x00000000000002f8) +0x00000539: 00 DW_LNE_set_address (0x000000000000031a) 0x00000540: 03 DW_LNS_advance_line (66) 0x00000542: 05 DW_LNS_set_column (16) 0x00000544: 06 DW_LNS_negate_stmt 0x00000545: 01 DW_LNS_copy - 0x00000000000002f8 66 16 1 0 0 is_stmt + 0x000000000000031a 66 16 1 0 0 is_stmt -0x00000546: 00 DW_LNE_set_address (0x0000000000000305) +0x00000546: 00 DW_LNE_set_address (0x0000000000000327) 0x0000054d: 03 DW_LNS_advance_line (75) 0x0000054f: 05 DW_LNS_set_column (27) 0x00000551: 01 DW_LNS_copy - 0x0000000000000305 75 27 1 0 0 is_stmt + 0x0000000000000327 75 27 1 0 0 is_stmt -0x00000552: 00 DW_LNE_set_address (0x000000000000030e) +0x00000552: 00 DW_LNE_set_address (0x0000000000000330) 0x00000559: 03 DW_LNS_advance_line (76) 0x0000055b: 05 DW_LNS_set_column (16) 0x0000055d: 01 DW_LNS_copy - 0x000000000000030e 76 16 1 0 0 is_stmt + 0x0000000000000330 76 16 1 0 0 is_stmt -0x0000055e: 00 DW_LNE_set_address (0x0000000000000316) +0x0000055e: 00 DW_LNE_set_address (0x0000000000000338) 0x00000565: 05 DW_LNS_set_column (27) 0x00000567: 06 DW_LNS_negate_stmt 0x00000568: 01 DW_LNS_copy - 0x0000000000000316 76 27 1 0 0 + 0x0000000000000338 76 27 1 0 0 -0x00000569: 00 DW_LNE_set_address (0x0000000000000318) +0x00000569: 00 DW_LNE_set_address (0x000000000000033a) 0x00000570: 05 DW_LNS_set_column (35) 0x00000572: 01 DW_LNS_copy - 0x0000000000000318 76 35 1 0 0 + 0x000000000000033a 76 35 1 0 0 -0x00000573: 00 DW_LNE_set_address (0x0000000000000321) +0x00000573: 00 DW_LNE_set_address (0x0000000000000343) 0x0000057a: 05 DW_LNS_set_column (27) 0x0000057c: 01 DW_LNS_copy - 0x0000000000000321 76 27 1 0 0 + 0x0000000000000343 76 27 1 0 0 -0x0000057d: 00 DW_LNE_set_address (0x0000000000000326) +0x0000057d: 00 DW_LNE_set_address (0x0000000000000349) 0x00000584: 05 DW_LNS_set_column (25) 0x00000586: 01 DW_LNS_copy - 0x0000000000000326 76 25 1 0 0 + 0x0000000000000349 76 25 1 0 0 -0x00000587: 00 DW_LNE_set_address (0x0000000000000329) +0x00000587: 00 DW_LNE_set_address (0x000000000000034d) 0x0000058e: 03 DW_LNS_advance_line (75) 0x00000590: 05 DW_LNS_set_column (27) 0x00000592: 06 DW_LNS_negate_stmt 0x00000593: 01 DW_LNS_copy - 0x0000000000000329 75 27 1 0 0 is_stmt + 0x000000000000034d 75 27 1 0 0 is_stmt -0x00000594: 00 DW_LNE_set_address (0x0000000000000336) +0x00000594: 00 DW_LNE_set_address (0x000000000000035a) 0x0000059b: 03 DW_LNS_advance_line (77) 0x0000059d: 05 DW_LNS_set_column (13) 0x0000059f: 01 DW_LNS_copy - 0x0000000000000336 77 13 1 0 0 is_stmt + 0x000000000000035a 77 13 1 0 0 is_stmt -0x000005a0: 00 DW_LNE_set_address (0x000000000000033e) +0x000005a0: 00 DW_LNE_set_address (0x0000000000000362) 0x000005a7: 05 DW_LNS_set_column (22) 0x000005a9: 06 DW_LNS_negate_stmt 0x000005aa: 01 DW_LNS_copy - 0x000000000000033e 77 22 1 0 0 + 0x0000000000000362 77 22 1 0 0 -0x000005ab: 00 DW_LNE_set_address (0x0000000000000343) +0x000005ab: 00 DW_LNE_set_address (0x0000000000000368) 0x000005b2: 03 DW_LNS_advance_line (79) 0x000005b4: 05 DW_LNS_set_column (16) 0x000005b6: 06 DW_LNS_negate_stmt 0x000005b7: 01 DW_LNS_copy - 0x0000000000000343 79 16 1 0 0 is_stmt + 0x0000000000000368 79 16 1 0 0 is_stmt -0x000005b8: 00 DW_LNE_set_address (0x000000000000034b) +0x000005b8: 00 DW_LNE_set_address (0x0000000000000370) 0x000005bf: 05 DW_LNS_set_column (14) 0x000005c1: 06 DW_LNS_negate_stmt 0x000005c2: 01 DW_LNS_copy - 0x000000000000034b 79 14 1 0 0 + 0x0000000000000370 79 14 1 0 0 -0x000005c3: 00 DW_LNE_set_address (0x000000000000035a) +0x000005c3: 00 DW_LNE_set_address (0x0000000000000381) 0x000005ca: 05 DW_LNS_set_column (25) 0x000005cc: 01 DW_LNS_copy - 0x000000000000035a 79 25 1 0 0 + 0x0000000000000381 79 25 1 0 0 -0x000005cd: 00 DW_LNE_set_address (0x0000000000000361) +0x000005cd: 00 DW_LNE_set_address (0x0000000000000388) 0x000005d4: 03 DW_LNS_advance_line (81) 0x000005d6: 05 DW_LNS_set_column (11) 0x000005d8: 06 DW_LNS_negate_stmt 0x000005d9: 01 DW_LNS_copy - 0x0000000000000361 81 11 1 0 0 is_stmt + 0x0000000000000388 81 11 1 0 0 is_stmt -0x000005da: 00 DW_LNE_set_address (0x0000000000000366) +0x000005da: 00 DW_LNE_set_address (0x000000000000038d) 0x000005e1: 03 DW_LNS_advance_line (66) 0x000005e3: 05 DW_LNS_set_column (16) 0x000005e5: 01 DW_LNS_copy - 0x0000000000000366 66 16 1 0 0 is_stmt + 0x000000000000038d 66 16 1 0 0 is_stmt -0x000005e6: 00 DW_LNE_set_address (0x000000000000036d) +0x000005e6: 00 DW_LNE_set_address (0x0000000000000394) 0x000005ed: 03 DW_LNS_advance_line (74) 0x000005ef: 05 DW_LNS_set_column (22) 0x000005f1: 01 DW_LNS_copy - 0x000000000000036d 74 22 1 0 0 is_stmt + 0x0000000000000394 74 22 1 0 0 is_stmt -0x000005f2: 00 DW_LNE_set_address (0x000000000000037b) +0x000005f2: 00 DW_LNE_set_address (0x00000000000003a3) 0x000005f9: 03 DW_LNS_advance_line (67) 0x000005fb: 05 DW_LNS_set_column (13) 0x000005fd: 01 DW_LNS_copy - 0x000000000000037b 67 13 1 0 0 is_stmt + 0x00000000000003a3 67 13 1 0 0 is_stmt -0x000005fe: 00 DW_LNE_set_address (0x000000000000037f) +0x000005fe: 00 DW_LNE_set_address (0x00000000000003a7) 0x00000605: 03 DW_LNS_advance_line (68) 0x00000607: 01 DW_LNS_copy - 0x000000000000037f 68 13 1 0 0 is_stmt + 0x00000000000003a7 68 13 1 0 0 is_stmt -0x00000608: 00 DW_LNE_set_address (0x0000000000000383) +0x00000608: 00 DW_LNE_set_address (0x00000000000003ab) 0x0000060f: 03 DW_LNS_advance_line (69) 0x00000611: 01 DW_LNS_copy - 0x0000000000000383 69 13 1 0 0 is_stmt + 0x00000000000003ab 69 13 1 0 0 is_stmt -0x00000612: 00 DW_LNE_set_address (0x0000000000000387) +0x00000612: 00 DW_LNE_set_address (0x00000000000003af) 0x00000619: 03 DW_LNS_advance_line (70) 0x0000061b: 01 DW_LNS_copy - 0x0000000000000387 70 13 1 0 0 is_stmt + 0x00000000000003af 70 13 1 0 0 is_stmt -0x0000061c: 00 DW_LNE_set_address (0x000000000000038a) +0x0000061c: 00 DW_LNE_set_address (0x00000000000003b2) 0x00000623: 00 DW_LNE_end_sequence - 0x000000000000038a 70 13 1 0 0 is_stmt end_sequence + 0x00000000000003b2 70 13 1 0 0 is_stmt end_sequence -0x00000626: 00 DW_LNE_set_address (0x000000000000038c) +0x00000626: 00 DW_LNE_set_address (0x00000000000003b4) 0x0000062d: 03 DW_LNS_advance_line (152) 0x00000630: 01 DW_LNS_copy - 0x000000000000038c 152 0 1 0 0 is_stmt + 0x00000000000003b4 152 0 1 0 0 is_stmt -0x00000631: 00 DW_LNE_set_address (0x00000000000003a8) +0x00000631: 00 DW_LNE_set_address (0x00000000000003d0) 0x00000638: 03 DW_LNS_advance_line (153) 0x0000063a: 05 DW_LNS_set_column (17) 0x0000063c: 0a DW_LNS_set_prologue_end 0x0000063d: 01 DW_LNS_copy - 0x00000000000003a8 153 17 1 0 0 is_stmt prologue_end + 0x00000000000003d0 153 17 1 0 0 is_stmt prologue_end -0x0000063e: 00 DW_LNE_set_address (0x00000000000003af) +0x0000063e: 00 DW_LNE_set_address (0x00000000000003d7) 0x00000645: 05 DW_LNS_set_column (28) 0x00000647: 06 DW_LNS_negate_stmt 0x00000648: 01 DW_LNS_copy - 0x00000000000003af 153 28 1 0 0 + 0x00000000000003d7 153 28 1 0 0 -0x00000649: 00 DW_LNE_set_address (0x00000000000003b4) +0x00000649: 00 DW_LNE_set_address (0x00000000000003dd) 0x00000650: 05 DW_LNS_set_column (23) 0x00000652: 01 DW_LNS_copy - 0x00000000000003b4 153 23 1 0 0 + 0x00000000000003dd 153 23 1 0 0 -0x00000653: 00 DW_LNE_set_address (0x00000000000003ba) +0x00000653: 00 DW_LNE_set_address (0x00000000000003e3) 0x0000065a: 03 DW_LNS_advance_line (155) 0x0000065c: 05 DW_LNS_set_column (10) 0x0000065e: 06 DW_LNS_negate_stmt 0x0000065f: 01 DW_LNS_copy - 0x00000000000003ba 155 10 1 0 0 is_stmt + 0x00000000000003e3 155 10 1 0 0 is_stmt -0x00000660: 00 DW_LNE_set_address (0x00000000000003bb) +0x00000660: 00 DW_LNE_set_address (0x00000000000003e4) 0x00000667: 05 DW_LNS_set_column (8) 0x00000669: 06 DW_LNS_negate_stmt 0x0000066a: 01 DW_LNS_copy - 0x00000000000003bb 155 8 1 0 0 + 0x00000000000003e4 155 8 1 0 0 -0x0000066b: 00 DW_LNE_set_address (0x00000000000003be) +0x0000066b: 00 DW_LNE_set_address (0x00000000000003e7) 0x00000672: 03 DW_LNS_advance_line (156) 0x00000674: 05 DW_LNS_set_column (7) 0x00000676: 06 DW_LNS_negate_stmt 0x00000677: 01 DW_LNS_copy - 0x00000000000003be 156 7 1 0 0 is_stmt + 0x00000000000003e7 156 7 1 0 0 is_stmt -0x00000678: 00 DW_LNE_set_address (0x00000000000003cb) +0x00000678: 00 DW_LNE_set_address (0x00000000000003f4) 0x0000067f: 03 DW_LNS_advance_line (94) 0x00000681: 05 DW_LNS_set_column (18) 0x00000683: 01 DW_LNS_copy - 0x00000000000003cb 94 18 1 0 0 is_stmt + 0x00000000000003f4 94 18 1 0 0 is_stmt -0x00000684: 00 DW_LNE_set_address (0x00000000000003e5) +0x00000684: 00 DW_LNE_set_address (0x000000000000040e) 0x0000068b: 03 DW_LNS_advance_line (95) 0x0000068d: 05 DW_LNS_set_column (29) 0x0000068f: 01 DW_LNS_copy - 0x00000000000003e5 95 29 1 0 0 is_stmt + 0x000000000000040e 95 29 1 0 0 is_stmt -0x00000690: 00 DW_LNE_set_address (0x00000000000003e7) +0x00000690: 00 DW_LNE_set_address (0x0000000000000410) 0x00000697: 03 DW_LNS_advance_line (98) 0x00000699: 05 DW_LNS_set_column (19) 0x0000069b: 01 DW_LNS_copy - 0x00000000000003e7 98 19 1 0 0 is_stmt + 0x0000000000000410 98 19 1 0 0 is_stmt -0x0000069c: 00 DW_LNE_set_address (0x00000000000003ee) +0x0000069c: 00 DW_LNE_set_address (0x0000000000000418) 0x000006a3: 03 DW_LNS_advance_line (97) 0x000006a5: 05 DW_LNS_set_column (16) 0x000006a7: 01 DW_LNS_copy - 0x00000000000003ee 97 16 1 0 0 is_stmt + 0x0000000000000418 97 16 1 0 0 is_stmt -0x000006a8: 00 DW_LNE_set_address (0x00000000000003f5) +0x000006a8: 00 DW_LNE_set_address (0x0000000000000420) 0x000006af: 03 DW_LNS_advance_line (96) 0x000006b1: 01 DW_LNS_copy - 0x00000000000003f5 96 16 1 0 0 is_stmt + 0x0000000000000420 96 16 1 0 0 is_stmt -0x000006b2: 00 DW_LNE_set_address (0x0000000000000400) +0x000006b2: 00 DW_LNE_set_address (0x000000000000042c) 0x000006b9: 03 DW_LNS_advance_line (94) 0x000006bb: 05 DW_LNS_set_column (28) 0x000006bd: 01 DW_LNS_copy - 0x0000000000000400 94 28 1 0 0 is_stmt + 0x000000000000042c 94 28 1 0 0 is_stmt -0x000006be: 00 DW_LNE_set_address (0x0000000000000405) +0x000006be: 00 DW_LNE_set_address (0x0000000000000431) 0x000006c5: 05 DW_LNS_set_column (18) 0x000006c7: 06 DW_LNS_negate_stmt 0x000006c8: 01 DW_LNS_copy - 0x0000000000000405 94 18 1 0 0 + 0x0000000000000431 94 18 1 0 0 -0x000006c9: 00 DW_LNE_set_address (0x000000000000040a) +0x000006c9: 00 DW_LNE_set_address (0x0000000000000436) 0x000006d0: 05 DW_LNS_set_column (4) 0x000006d2: 01 DW_LNS_copy - 0x000000000000040a 94 4 1 0 0 + 0x0000000000000436 94 4 1 0 0 -0x000006d3: 00 DW_LNE_set_address (0x0000000000000412) +0x000006d3: 00 DW_LNE_set_address (0x000000000000043e) 0x000006da: 03 DW_LNS_advance_line (102) 0x000006dc: 05 DW_LNS_set_column (27) 0x000006de: 06 DW_LNS_negate_stmt 0x000006df: 01 DW_LNS_copy - 0x0000000000000412 102 27 1 0 0 is_stmt + 0x000000000000043e 102 27 1 0 0 is_stmt -0x000006e0: 00 DW_LNE_set_address (0x0000000000000417) +0x000006e0: 00 DW_LNE_set_address (0x0000000000000443) 0x000006e7: 05 DW_LNS_set_column (18) 0x000006e9: 06 DW_LNS_negate_stmt 0x000006ea: 01 DW_LNS_copy - 0x0000000000000417 102 18 1 0 0 + 0x0000000000000443 102 18 1 0 0 -0x000006eb: 00 DW_LNE_set_address (0x000000000000041d) +0x000006eb: 00 DW_LNE_set_address (0x0000000000000449) 0x000006f2: 03 DW_LNS_advance_line (103) 0x000006f4: 06 DW_LNS_negate_stmt 0x000006f5: 01 DW_LNS_copy - 0x000000000000041d 103 18 1 0 0 is_stmt + 0x0000000000000449 103 18 1 0 0 is_stmt -0x000006f6: 00 DW_LNE_set_address (0x0000000000000429) +0x000006f6: 00 DW_LNE_set_address (0x0000000000000455) 0x000006fd: 03 DW_LNS_advance_line (105) 0x000006ff: 01 DW_LNS_copy - 0x0000000000000429 105 18 1 0 0 is_stmt + 0x0000000000000455 105 18 1 0 0 is_stmt -0x00000700: 00 DW_LNE_set_address (0x0000000000000432) +0x00000700: 00 DW_LNE_set_address (0x000000000000045e) 0x00000707: 03 DW_LNS_advance_line (106) 0x00000709: 05 DW_LNS_set_column (7) 0x0000070b: 01 DW_LNS_copy - 0x0000000000000432 106 7 1 0 0 is_stmt + 0x000000000000045e 106 7 1 0 0 is_stmt -0x0000070c: 00 DW_LNE_set_address (0x000000000000043a) +0x0000070c: 00 DW_LNE_set_address (0x0000000000000466) 0x00000713: 05 DW_LNS_set_column (16) 0x00000715: 06 DW_LNS_negate_stmt 0x00000716: 01 DW_LNS_copy - 0x000000000000043a 106 16 1 0 0 + 0x0000000000000466 106 16 1 0 0 -0x00000717: 00 DW_LNE_set_address (0x000000000000043f) +0x00000717: 00 DW_LNE_set_address (0x000000000000046c) 0x0000071e: 03 DW_LNS_advance_line (105) 0x00000720: 05 DW_LNS_set_column (24) 0x00000722: 06 DW_LNS_negate_stmt 0x00000723: 01 DW_LNS_copy - 0x000000000000043f 105 24 1 0 0 is_stmt + 0x000000000000046c 105 24 1 0 0 is_stmt -0x00000724: 00 DW_LNE_set_address (0x0000000000000444) +0x00000724: 00 DW_LNE_set_address (0x0000000000000471) 0x0000072b: 05 DW_LNS_set_column (18) 0x0000072d: 06 DW_LNS_negate_stmt 0x0000072e: 01 DW_LNS_copy - 0x0000000000000444 105 18 1 0 0 + 0x0000000000000471 105 18 1 0 0 -0x0000072f: 00 DW_LNE_set_address (0x000000000000046a) +0x0000072f: 00 DW_LNE_set_address (0x0000000000000497) 0x00000736: 03 DW_LNS_advance_line (112) 0x00000738: 05 DW_LNS_set_column (13) 0x0000073a: 06 DW_LNS_negate_stmt 0x0000073b: 01 DW_LNS_copy - 0x000000000000046a 112 13 1 0 0 is_stmt + 0x0000000000000497 112 13 1 0 0 is_stmt -0x0000073c: 00 DW_LNE_set_address (0x000000000000046c) +0x0000073c: 00 DW_LNE_set_address (0x0000000000000499) 0x00000743: 05 DW_LNS_set_column (26) 0x00000745: 06 DW_LNS_negate_stmt 0x00000746: 01 DW_LNS_copy - 0x000000000000046c 112 26 1 0 0 + 0x0000000000000499 112 26 1 0 0 -0x00000747: 00 DW_LNE_set_address (0x0000000000000479) +0x00000747: 00 DW_LNE_set_address (0x00000000000004a7) 0x0000074e: 05 DW_LNS_set_column (35) 0x00000750: 01 DW_LNS_copy - 0x0000000000000479 112 35 1 0 0 + 0x00000000000004a7 112 35 1 0 0 -0x00000751: 00 DW_LNE_set_address (0x000000000000047a) +0x00000751: 00 DW_LNE_set_address (0x00000000000004a8) 0x00000758: 05 DW_LNS_set_column (13) 0x0000075a: 01 DW_LNS_copy - 0x000000000000047a 112 13 1 0 0 + 0x00000000000004a8 112 13 1 0 0 -0x0000075b: 00 DW_LNE_set_address (0x0000000000000488) +0x0000075b: 00 DW_LNE_set_address (0x00000000000004b7) 0x00000762: 03 DW_LNS_advance_line (111) 0x00000764: 05 DW_LNS_set_column (30) 0x00000766: 06 DW_LNS_negate_stmt 0x00000767: 01 DW_LNS_copy - 0x0000000000000488 111 30 1 0 0 is_stmt + 0x00000000000004b7 111 30 1 0 0 is_stmt -0x00000768: 00 DW_LNE_set_address (0x000000000000048d) +0x00000768: 00 DW_LNE_set_address (0x00000000000004bc) 0x0000076f: 05 DW_LNS_set_column (24) 0x00000771: 06 DW_LNS_negate_stmt 0x00000772: 01 DW_LNS_copy - 0x000000000000048d 111 24 1 0 0 + 0x00000000000004bc 111 24 1 0 0 -0x00000773: 00 DW_LNE_set_address (0x0000000000000492) +0x00000773: 00 DW_LNE_set_address (0x00000000000004c1) 0x0000077a: 05 DW_LNS_set_column (10) 0x0000077c: 01 DW_LNS_copy - 0x0000000000000492 111 10 1 0 0 + 0x00000000000004c1 111 10 1 0 0 -0x0000077d: 00 DW_LNE_set_address (0x0000000000000497) +0x0000077d: 00 DW_LNE_set_address (0x00000000000004c6) 0x00000784: 03 DW_LNS_advance_line (113) 0x00000786: 06 DW_LNS_negate_stmt 0x00000787: 01 DW_LNS_copy - 0x0000000000000497 113 10 1 0 0 is_stmt + 0x00000000000004c6 113 10 1 0 0 is_stmt -0x00000788: 00 DW_LNE_set_address (0x000000000000049a) +0x00000788: 00 DW_LNE_set_address (0x00000000000004c9) 0x0000078f: 03 DW_LNS_advance_line (118) 0x00000791: 05 DW_LNS_set_column (16) 0x00000793: 01 DW_LNS_copy - 0x000000000000049a 118 16 1 0 0 is_stmt + 0x00000000000004c9 118 16 1 0 0 is_stmt -0x00000794: 00 DW_LNE_set_address (0x00000000000004a3) +0x00000794: 00 DW_LNE_set_address (0x00000000000004d2) 0x0000079b: 03 DW_LNS_advance_line (119) 0x0000079d: 05 DW_LNS_set_column (10) 0x0000079f: 01 DW_LNS_copy - 0x00000000000004a3 119 10 1 0 0 is_stmt + 0x00000000000004d2 119 10 1 0 0 is_stmt -0x000007a0: 00 DW_LNE_set_address (0x00000000000004a5) +0x000007a0: 00 DW_LNE_set_address (0x00000000000004d4) 0x000007a7: 05 DW_LNS_set_column (18) 0x000007a9: 06 DW_LNS_negate_stmt 0x000007aa: 01 DW_LNS_copy - 0x00000000000004a5 119 18 1 0 0 + 0x00000000000004d4 119 18 1 0 0 -0x000007ab: 00 DW_LNE_set_address (0x00000000000004ae) +0x000007ab: 00 DW_LNE_set_address (0x00000000000004dd) 0x000007b2: 05 DW_LNS_set_column (10) 0x000007b4: 01 DW_LNS_copy - 0x00000000000004ae 119 10 1 0 0 + 0x00000000000004dd 119 10 1 0 0 -0x000007b5: 00 DW_LNE_set_address (0x00000000000004b0) +0x000007b5: 00 DW_LNE_set_address (0x00000000000004df) 0x000007bc: 05 DW_LNS_set_column (23) 0x000007be: 01 DW_LNS_copy - 0x00000000000004b0 119 23 1 0 0 + 0x00000000000004df 119 23 1 0 0 -0x000007bf: 00 DW_LNE_set_address (0x00000000000004b5) +0x000007bf: 00 DW_LNE_set_address (0x00000000000004e5) 0x000007c6: 03 DW_LNS_advance_line (118) 0x000007c8: 05 DW_LNS_set_column (16) 0x000007ca: 06 DW_LNS_negate_stmt 0x000007cb: 01 DW_LNS_copy - 0x00000000000004b5 118 16 1 0 0 is_stmt + 0x00000000000004e5 118 16 1 0 0 is_stmt -0x000007cc: 00 DW_LNE_set_address (0x00000000000004c0) +0x000007cc: 00 DW_LNE_set_address (0x00000000000004f0) 0x000007d3: 05 DW_LNS_set_column (7) 0x000007d5: 06 DW_LNS_negate_stmt 0x000007d6: 01 DW_LNS_copy - 0x00000000000004c0 118 7 1 0 0 + 0x00000000000004f0 118 7 1 0 0 -0x000007d7: 00 DW_LNE_set_address (0x00000000000004c6) +0x000007d7: 00 DW_LNE_set_address (0x00000000000004f6) 0x000007de: 03 DW_LNS_advance_line (122) 0x000007e0: 05 DW_LNS_set_column (16) 0x000007e2: 06 DW_LNS_negate_stmt 0x000007e3: 01 DW_LNS_copy - 0x00000000000004c6 122 16 1 0 0 is_stmt + 0x00000000000004f6 122 16 1 0 0 is_stmt -0x000007e4: 00 DW_LNE_set_address (0x00000000000004da) +0x000007e4: 00 DW_LNE_set_address (0x000000000000050a) 0x000007eb: 03 DW_LNS_advance_line (125) 0x000007ed: 05 DW_LNS_set_column (22) 0x000007ef: 01 DW_LNS_copy - 0x00000000000004da 125 22 1 0 0 is_stmt + 0x000000000000050a 125 22 1 0 0 is_stmt -0x000007f0: 00 DW_LNE_set_address (0x00000000000004e1) +0x000007f0: 00 DW_LNE_set_address (0x0000000000000512) 0x000007f7: 03 DW_LNS_advance_line (126) 0x000007f9: 05 DW_LNS_set_column (27) 0x000007fb: 01 DW_LNS_copy - 0x00000000000004e1 126 27 1 0 0 is_stmt + 0x0000000000000512 126 27 1 0 0 is_stmt -0x000007fc: 00 DW_LNE_set_address (0x00000000000004ea) +0x000007fc: 00 DW_LNE_set_address (0x000000000000051b) 0x00000803: 03 DW_LNS_advance_line (127) 0x00000805: 05 DW_LNS_set_column (16) 0x00000807: 01 DW_LNS_copy - 0x00000000000004ea 127 16 1 0 0 is_stmt + 0x000000000000051b 127 16 1 0 0 is_stmt -0x00000808: 00 DW_LNE_set_address (0x00000000000004f2) +0x00000808: 00 DW_LNE_set_address (0x0000000000000523) 0x0000080f: 05 DW_LNS_set_column (27) 0x00000811: 06 DW_LNS_negate_stmt 0x00000812: 01 DW_LNS_copy - 0x00000000000004f2 127 27 1 0 0 + 0x0000000000000523 127 27 1 0 0 -0x00000813: 00 DW_LNE_set_address (0x00000000000004f4) +0x00000813: 00 DW_LNE_set_address (0x0000000000000525) 0x0000081a: 05 DW_LNS_set_column (35) 0x0000081c: 01 DW_LNS_copy - 0x00000000000004f4 127 35 1 0 0 + 0x0000000000000525 127 35 1 0 0 -0x0000081d: 00 DW_LNE_set_address (0x00000000000004fd) +0x0000081d: 00 DW_LNE_set_address (0x000000000000052e) 0x00000824: 05 DW_LNS_set_column (27) 0x00000826: 01 DW_LNS_copy - 0x00000000000004fd 127 27 1 0 0 + 0x000000000000052e 127 27 1 0 0 -0x00000827: 00 DW_LNE_set_address (0x0000000000000502) +0x00000827: 00 DW_LNE_set_address (0x0000000000000534) 0x0000082e: 05 DW_LNS_set_column (25) 0x00000830: 01 DW_LNS_copy - 0x0000000000000502 127 25 1 0 0 + 0x0000000000000534 127 25 1 0 0 -0x00000831: 00 DW_LNE_set_address (0x0000000000000505) +0x00000831: 00 DW_LNE_set_address (0x0000000000000538) 0x00000838: 03 DW_LNS_advance_line (126) 0x0000083a: 05 DW_LNS_set_column (27) 0x0000083c: 06 DW_LNS_negate_stmt 0x0000083d: 01 DW_LNS_copy - 0x0000000000000505 126 27 1 0 0 is_stmt + 0x0000000000000538 126 27 1 0 0 is_stmt -0x0000083e: 00 DW_LNE_set_address (0x000000000000050a) +0x0000083e: 00 DW_LNE_set_address (0x000000000000053d) 0x00000845: 05 DW_LNS_set_column (13) 0x00000847: 06 DW_LNS_negate_stmt 0x00000848: 01 DW_LNS_copy - 0x000000000000050a 126 13 1 0 0 + 0x000000000000053d 126 13 1 0 0 -0x00000849: 00 DW_LNE_set_address (0x0000000000000512) +0x00000849: 00 DW_LNE_set_address (0x0000000000000545) 0x00000850: 03 DW_LNS_advance_line (128) 0x00000852: 06 DW_LNS_negate_stmt 0x00000853: 01 DW_LNS_copy - 0x0000000000000512 128 13 1 0 0 is_stmt + 0x0000000000000545 128 13 1 0 0 is_stmt -0x00000854: 00 DW_LNE_set_address (0x000000000000051a) +0x00000854: 00 DW_LNE_set_address (0x000000000000054d) 0x0000085b: 05 DW_LNS_set_column (22) 0x0000085d: 06 DW_LNS_negate_stmt 0x0000085e: 01 DW_LNS_copy - 0x000000000000051a 128 22 1 0 0 + 0x000000000000054d 128 22 1 0 0 -0x0000085f: 00 DW_LNE_set_address (0x000000000000051f) +0x0000085f: 00 DW_LNE_set_address (0x0000000000000553) 0x00000866: 03 DW_LNS_advance_line (130) 0x00000868: 05 DW_LNS_set_column (16) 0x0000086a: 06 DW_LNS_negate_stmt 0x0000086b: 01 DW_LNS_copy - 0x000000000000051f 130 16 1 0 0 is_stmt + 0x0000000000000553 130 16 1 0 0 is_stmt -0x0000086c: 00 DW_LNE_set_address (0x0000000000000527) +0x0000086c: 00 DW_LNE_set_address (0x000000000000055b) 0x00000873: 05 DW_LNS_set_column (14) 0x00000875: 06 DW_LNS_negate_stmt 0x00000876: 01 DW_LNS_copy - 0x0000000000000527 130 14 1 0 0 + 0x000000000000055b 130 14 1 0 0 -0x00000877: 00 DW_LNE_set_address (0x0000000000000536) +0x00000877: 00 DW_LNE_set_address (0x000000000000056c) 0x0000087e: 05 DW_LNS_set_column (25) 0x00000880: 01 DW_LNS_copy - 0x0000000000000536 130 25 1 0 0 + 0x000000000000056c 130 25 1 0 0 -0x00000881: 00 DW_LNE_set_address (0x000000000000053d) +0x00000881: 00 DW_LNE_set_address (0x0000000000000573) 0x00000888: 03 DW_LNS_advance_line (133) 0x0000088a: 05 DW_LNS_set_column (11) 0x0000088c: 06 DW_LNS_negate_stmt 0x0000088d: 01 DW_LNS_copy - 0x000000000000053d 133 11 1 0 0 is_stmt + 0x0000000000000573 133 11 1 0 0 is_stmt -0x0000088e: 00 DW_LNE_set_address (0x0000000000000542) +0x0000088e: 00 DW_LNE_set_address (0x0000000000000578) 0x00000895: 03 DW_LNS_advance_line (122) 0x00000897: 05 DW_LNS_set_column (16) 0x00000899: 01 DW_LNS_copy - 0x0000000000000542 122 16 1 0 0 is_stmt + 0x0000000000000578 122 16 1 0 0 is_stmt -0x0000089a: 00 DW_LNE_set_address (0x0000000000000547) +0x0000089a: 00 DW_LNE_set_address (0x000000000000057d) 0x000008a1: 05 DW_LNS_set_column (14) 0x000008a3: 06 DW_LNS_negate_stmt 0x000008a4: 01 DW_LNS_copy - 0x0000000000000547 122 14 1 0 0 + 0x000000000000057d 122 14 1 0 0 -0x000008a5: 00 DW_LNE_set_address (0x000000000000054d) +0x000008a5: 00 DW_LNE_set_address (0x0000000000000583) 0x000008ac: 03 DW_LNS_advance_line (110) 0x000008ae: 05 DW_LNS_set_column (11) 0x000008b0: 06 DW_LNS_negate_stmt 0x000008b1: 01 DW_LNS_copy - 0x000000000000054d 110 11 1 0 0 is_stmt + 0x0000000000000583 110 11 1 0 0 is_stmt -0x000008b2: 00 DW_LNE_set_address (0x0000000000000559) +0x000008b2: 00 DW_LNE_set_address (0x000000000000058f) 0x000008b9: 03 DW_LNS_advance_line (113) 0x000008bb: 05 DW_LNS_set_column (10) 0x000008bd: 01 DW_LNS_copy - 0x0000000000000559 113 10 1 0 0 is_stmt + 0x000000000000058f 113 10 1 0 0 is_stmt -0x000008be: 00 DW_LNE_set_address (0x000000000000055c) +0x000008be: 00 DW_LNE_set_address (0x0000000000000592) 0x000008c5: 03 DW_LNS_advance_line (118) 0x000008c7: 05 DW_LNS_set_column (16) 0x000008c9: 01 DW_LNS_copy - 0x000000000000055c 118 16 1 0 0 is_stmt + 0x0000000000000592 118 16 1 0 0 is_stmt -0x000008ca: 00 DW_LNE_set_address (0x0000000000000565) +0x000008ca: 00 DW_LNE_set_address (0x000000000000059b) 0x000008d1: 03 DW_LNS_advance_line (119) 0x000008d3: 05 DW_LNS_set_column (10) 0x000008d5: 01 DW_LNS_copy - 0x0000000000000565 119 10 1 0 0 is_stmt + 0x000000000000059b 119 10 1 0 0 is_stmt -0x000008d6: 00 DW_LNE_set_address (0x0000000000000567) +0x000008d6: 00 DW_LNE_set_address (0x000000000000059d) 0x000008dd: 05 DW_LNS_set_column (18) 0x000008df: 06 DW_LNS_negate_stmt 0x000008e0: 01 DW_LNS_copy - 0x0000000000000567 119 18 1 0 0 + 0x000000000000059d 119 18 1 0 0 -0x000008e1: 00 DW_LNE_set_address (0x0000000000000570) +0x000008e1: 00 DW_LNE_set_address (0x00000000000005a6) 0x000008e8: 05 DW_LNS_set_column (10) 0x000008ea: 01 DW_LNS_copy - 0x0000000000000570 119 10 1 0 0 + 0x00000000000005a6 119 10 1 0 0 -0x000008eb: 00 DW_LNE_set_address (0x0000000000000572) +0x000008eb: 00 DW_LNE_set_address (0x00000000000005a8) 0x000008f2: 05 DW_LNS_set_column (23) 0x000008f4: 01 DW_LNS_copy - 0x0000000000000572 119 23 1 0 0 + 0x00000000000005a8 119 23 1 0 0 -0x000008f5: 00 DW_LNE_set_address (0x0000000000000577) +0x000008f5: 00 DW_LNE_set_address (0x00000000000005ae) 0x000008fc: 03 DW_LNS_advance_line (118) 0x000008fe: 05 DW_LNS_set_column (16) 0x00000900: 06 DW_LNS_negate_stmt 0x00000901: 01 DW_LNS_copy - 0x0000000000000577 118 16 1 0 0 is_stmt + 0x00000000000005ae 118 16 1 0 0 is_stmt -0x00000902: 00 DW_LNE_set_address (0x0000000000000582) +0x00000902: 00 DW_LNE_set_address (0x00000000000005b9) 0x00000909: 05 DW_LNS_set_column (7) 0x0000090b: 06 DW_LNS_negate_stmt 0x0000090c: 01 DW_LNS_copy - 0x0000000000000582 118 7 1 0 0 + 0x00000000000005b9 118 7 1 0 0 -0x0000090d: 00 DW_LNE_set_address (0x0000000000000588) +0x0000090d: 00 DW_LNE_set_address (0x00000000000005bf) 0x00000914: 03 DW_LNS_advance_line (122) 0x00000916: 05 DW_LNS_set_column (16) 0x00000918: 06 DW_LNS_negate_stmt 0x00000919: 01 DW_LNS_copy - 0x0000000000000588 122 16 1 0 0 is_stmt + 0x00000000000005bf 122 16 1 0 0 is_stmt -0x0000091a: 00 DW_LNE_set_address (0x000000000000058d) +0x0000091a: 00 DW_LNE_set_address (0x00000000000005c4) 0x00000921: 05 DW_LNS_set_column (14) 0x00000923: 06 DW_LNS_negate_stmt 0x00000924: 01 DW_LNS_copy - 0x000000000000058d 122 14 1 0 0 + 0x00000000000005c4 122 14 1 0 0 -0x00000925: 00 DW_LNE_set_address (0x0000000000000596) +0x00000925: 00 DW_LNE_set_address (0x00000000000005cd) 0x0000092c: 03 DW_LNS_advance_line (125) 0x0000092e: 05 DW_LNS_set_column (22) 0x00000930: 06 DW_LNS_negate_stmt 0x00000931: 01 DW_LNS_copy - 0x0000000000000596 125 22 1 0 0 is_stmt + 0x00000000000005cd 125 22 1 0 0 is_stmt -0x00000932: 00 DW_LNE_set_address (0x00000000000005a3) +0x00000932: 00 DW_LNE_set_address (0x00000000000005db) 0x00000939: 03 DW_LNS_advance_line (126) 0x0000093b: 05 DW_LNS_set_column (27) 0x0000093d: 01 DW_LNS_copy - 0x00000000000005a3 126 27 1 0 0 is_stmt + 0x00000000000005db 126 27 1 0 0 is_stmt -0x0000093e: 00 DW_LNE_set_address (0x00000000000005ac) +0x0000093e: 00 DW_LNE_set_address (0x00000000000005e4) 0x00000945: 03 DW_LNS_advance_line (127) 0x00000947: 05 DW_LNS_set_column (16) 0x00000949: 01 DW_LNS_copy - 0x00000000000005ac 127 16 1 0 0 is_stmt + 0x00000000000005e4 127 16 1 0 0 is_stmt -0x0000094a: 00 DW_LNE_set_address (0x00000000000005b4) +0x0000094a: 00 DW_LNE_set_address (0x00000000000005ec) 0x00000951: 05 DW_LNS_set_column (27) 0x00000953: 06 DW_LNS_negate_stmt 0x00000954: 01 DW_LNS_copy - 0x00000000000005b4 127 27 1 0 0 + 0x00000000000005ec 127 27 1 0 0 -0x00000955: 00 DW_LNE_set_address (0x00000000000005b6) +0x00000955: 00 DW_LNE_set_address (0x00000000000005ee) 0x0000095c: 05 DW_LNS_set_column (35) 0x0000095e: 01 DW_LNS_copy - 0x00000000000005b6 127 35 1 0 0 + 0x00000000000005ee 127 35 1 0 0 -0x0000095f: 00 DW_LNE_set_address (0x00000000000005bf) +0x0000095f: 00 DW_LNE_set_address (0x00000000000005f7) 0x00000966: 05 DW_LNS_set_column (27) 0x00000968: 01 DW_LNS_copy - 0x00000000000005bf 127 27 1 0 0 + 0x00000000000005f7 127 27 1 0 0 -0x00000969: 00 DW_LNE_set_address (0x00000000000005c4) +0x00000969: 00 DW_LNE_set_address (0x00000000000005fd) 0x00000970: 05 DW_LNS_set_column (25) 0x00000972: 01 DW_LNS_copy - 0x00000000000005c4 127 25 1 0 0 + 0x00000000000005fd 127 25 1 0 0 -0x00000973: 00 DW_LNE_set_address (0x00000000000005c7) +0x00000973: 00 DW_LNE_set_address (0x0000000000000601) 0x0000097a: 03 DW_LNS_advance_line (126) 0x0000097c: 05 DW_LNS_set_column (27) 0x0000097e: 06 DW_LNS_negate_stmt 0x0000097f: 01 DW_LNS_copy - 0x00000000000005c7 126 27 1 0 0 is_stmt + 0x0000000000000601 126 27 1 0 0 is_stmt -0x00000980: 00 DW_LNE_set_address (0x00000000000005cc) +0x00000980: 00 DW_LNE_set_address (0x0000000000000606) 0x00000987: 05 DW_LNS_set_column (13) 0x00000989: 06 DW_LNS_negate_stmt 0x0000098a: 01 DW_LNS_copy - 0x00000000000005cc 126 13 1 0 0 + 0x0000000000000606 126 13 1 0 0 -0x0000098b: 00 DW_LNE_set_address (0x00000000000005d4) +0x0000098b: 00 DW_LNE_set_address (0x000000000000060e) 0x00000992: 03 DW_LNS_advance_line (128) 0x00000994: 06 DW_LNS_negate_stmt 0x00000995: 01 DW_LNS_copy - 0x00000000000005d4 128 13 1 0 0 is_stmt + 0x000000000000060e 128 13 1 0 0 is_stmt -0x00000996: 00 DW_LNE_set_address (0x00000000000005dc) +0x00000996: 00 DW_LNE_set_address (0x0000000000000616) 0x0000099d: 05 DW_LNS_set_column (22) 0x0000099f: 06 DW_LNS_negate_stmt 0x000009a0: 01 DW_LNS_copy - 0x00000000000005dc 128 22 1 0 0 + 0x0000000000000616 128 22 1 0 0 -0x000009a1: 00 DW_LNE_set_address (0x00000000000005e1) +0x000009a1: 00 DW_LNE_set_address (0x000000000000061c) 0x000009a8: 03 DW_LNS_advance_line (130) 0x000009aa: 05 DW_LNS_set_column (16) 0x000009ac: 06 DW_LNS_negate_stmt 0x000009ad: 01 DW_LNS_copy - 0x00000000000005e1 130 16 1 0 0 is_stmt + 0x000000000000061c 130 16 1 0 0 is_stmt -0x000009ae: 00 DW_LNE_set_address (0x00000000000005e9) +0x000009ae: 00 DW_LNE_set_address (0x0000000000000624) 0x000009b5: 05 DW_LNS_set_column (14) 0x000009b7: 06 DW_LNS_negate_stmt 0x000009b8: 01 DW_LNS_copy - 0x00000000000005e9 130 14 1 0 0 + 0x0000000000000624 130 14 1 0 0 -0x000009b9: 00 DW_LNE_set_address (0x00000000000005f8) +0x000009b9: 00 DW_LNE_set_address (0x0000000000000635) 0x000009c0: 05 DW_LNS_set_column (25) 0x000009c2: 01 DW_LNS_copy - 0x00000000000005f8 130 25 1 0 0 + 0x0000000000000635 130 25 1 0 0 -0x000009c3: 00 DW_LNE_set_address (0x00000000000005ff) +0x000009c3: 00 DW_LNE_set_address (0x000000000000063c) 0x000009ca: 03 DW_LNS_advance_line (133) 0x000009cc: 05 DW_LNS_set_column (11) 0x000009ce: 06 DW_LNS_negate_stmt 0x000009cf: 01 DW_LNS_copy - 0x00000000000005ff 133 11 1 0 0 is_stmt + 0x000000000000063c 133 11 1 0 0 is_stmt -0x000009d0: 00 DW_LNE_set_address (0x0000000000000604) +0x000009d0: 00 DW_LNE_set_address (0x0000000000000641) 0x000009d7: 03 DW_LNS_advance_line (122) 0x000009d9: 05 DW_LNS_set_column (16) 0x000009db: 01 DW_LNS_copy - 0x0000000000000604 122 16 1 0 0 is_stmt + 0x0000000000000641 122 16 1 0 0 is_stmt -0x000009dc: 00 DW_LNE_set_address (0x0000000000000609) +0x000009dc: 00 DW_LNE_set_address (0x0000000000000646) 0x000009e3: 05 DW_LNS_set_column (14) 0x000009e5: 06 DW_LNS_negate_stmt 0x000009e6: 01 DW_LNS_copy - 0x0000000000000609 122 14 1 0 0 + 0x0000000000000646 122 14 1 0 0 -0x000009e7: 00 DW_LNE_set_address (0x000000000000060f) +0x000009e7: 00 DW_LNE_set_address (0x000000000000064c) 0x000009ee: 03 DW_LNS_advance_line (110) 0x000009f0: 05 DW_LNS_set_column (11) 0x000009f2: 06 DW_LNS_negate_stmt 0x000009f3: 01 DW_LNS_copy - 0x000000000000060f 110 11 1 0 0 is_stmt + 0x000000000000064c 110 11 1 0 0 is_stmt -0x000009f4: 00 DW_LNE_set_address (0x0000000000000615) +0x000009f4: 00 DW_LNE_set_address (0x0000000000000652) 0x000009fb: 03 DW_LNS_advance_line (138) 0x000009fd: 05 DW_LNS_set_column (4) 0x000009ff: 01 DW_LNS_copy - 0x0000000000000615 138 4 1 0 0 is_stmt + 0x0000000000000652 138 4 1 0 0 is_stmt -0x00000a00: 00 DW_LNE_set_address (0x0000000000000619) +0x00000a00: 00 DW_LNE_set_address (0x0000000000000656) 0x00000a07: 03 DW_LNS_advance_line (139) 0x00000a09: 01 DW_LNS_copy - 0x0000000000000619 139 4 1 0 0 is_stmt + 0x0000000000000656 139 4 1 0 0 is_stmt -0x00000a0a: 00 DW_LNE_set_address (0x0000000000000629) +0x00000a0a: 00 DW_LNE_set_address (0x0000000000000666) 0x00000a11: 03 DW_LNS_advance_line (142) 0x00000a13: 05 DW_LNS_set_column (20) 0x00000a15: 01 DW_LNS_copy - 0x0000000000000629 142 20 1 0 0 is_stmt + 0x0000000000000666 142 20 1 0 0 is_stmt -0x00000a16: 00 DW_LNE_set_address (0x0000000000000631) +0x00000a16: 00 DW_LNE_set_address (0x000000000000066e) 0x00000a1d: 03 DW_LNS_advance_line (146) 0x00000a1f: 01 DW_LNS_copy - 0x0000000000000631 146 20 1 0 0 is_stmt + 0x000000000000066e 146 20 1 0 0 is_stmt -0x00000a20: 00 DW_LNE_set_address (0x0000000000000638) +0x00000a20: 00 DW_LNE_set_address (0x0000000000000676) 0x00000a27: 03 DW_LNS_advance_line (147) 0x00000a29: 05 DW_LNS_set_column (7) 0x00000a2b: 01 DW_LNS_copy - 0x0000000000000638 147 7 1 0 0 is_stmt + 0x0000000000000676 147 7 1 0 0 is_stmt -0x00000a2c: 00 DW_LNE_set_address (0x000000000000063c) +0x00000a2c: 00 DW_LNE_set_address (0x000000000000067a) 0x00000a33: 03 DW_LNS_advance_line (143) 0x00000a35: 05 DW_LNS_set_column (11) 0x00000a37: 01 DW_LNS_copy - 0x000000000000063c 143 11 1 0 0 is_stmt + 0x000000000000067a 143 11 1 0 0 is_stmt -0x00000a38: 00 DW_LNE_set_address (0x0000000000000640) +0x00000a38: 00 DW_LNE_set_address (0x000000000000067e) 0x00000a3f: 05 DW_LNS_set_column (20) 0x00000a41: 06 DW_LNS_negate_stmt 0x00000a42: 01 DW_LNS_copy - 0x0000000000000640 143 20 1 0 0 + 0x000000000000067e 143 20 1 0 0 -0x00000a43: 00 DW_LNE_set_address (0x0000000000000645) +0x00000a43: 00 DW_LNE_set_address (0x0000000000000683) 0x00000a4a: 05 DW_LNS_set_column (11) 0x00000a4c: 01 DW_LNS_copy - 0x0000000000000645 143 11 1 0 0 + 0x0000000000000683 143 11 1 0 0 -0x00000a4d: 00 DW_LNE_set_address (0x000000000000064c) +0x00000a4d: 00 DW_LNE_set_address (0x000000000000068a) 0x00000a54: 03 DW_LNS_advance_line (141) 0x00000a56: 05 DW_LNS_set_column (4) 0x00000a58: 06 DW_LNS_negate_stmt 0x00000a59: 01 DW_LNS_copy - 0x000000000000064c 141 4 1 0 0 is_stmt + 0x000000000000068a 141 4 1 0 0 is_stmt -0x00000a5a: 00 DW_LNE_set_address (0x0000000000000652) +0x00000a5a: 00 DW_LNE_set_address (0x0000000000000690) 0x00000a61: 03 DW_LNS_advance_line (159) 0x00000a63: 01 DW_LNS_copy - 0x0000000000000652 159 4 1 0 0 is_stmt + 0x0000000000000690 159 4 1 0 0 is_stmt -0x00000a64: 00 DW_LNE_set_address (0x0000000000000669) +0x00000a64: 00 DW_LNE_set_address (0x00000000000006a9) 0x00000a6b: 03 DW_LNS_advance_line (161) 0x00000a6d: 05 DW_LNS_set_column (1) 0x00000a6f: 01 DW_LNS_copy - 0x0000000000000669 161 1 1 0 0 is_stmt + 0x00000000000006a9 161 1 1 0 0 is_stmt -0x00000a70: 00 DW_LNE_set_address (0x0000000000000673) +0x00000a70: 00 DW_LNE_set_address (0x00000000000006b3) 0x00000a77: 00 DW_LNE_end_sequence - 0x0000000000000673 161 1 1 0 0 is_stmt end_sequence + 0x00000000000006b3 161 1 1 0 0 is_stmt end_sequence .debug_str contents: @@ -4686,16 +4686,16 @@ file_names[ 4]: 0x000001ad: "char" .debug_ranges contents: -00000000 00000184 000001c2 -00000000 000001ec 000001f5 -00000000 00000305 00000343 -00000000 0000036d 00000376 +00000000 00000193 000001d4 +00000000 00000200 0000020a +00000000 00000327 00000368 +00000000 00000394 0000039e 00000000 -00000028 000004da 0000051f -00000028 00000596 000005e1 +00000028 0000050a 00000553 +00000028 000005cd 0000061c 00000028 -00000040 00000007 0000038a -00000040 0000038c 00000673 +00000040 00000007 000003b2 +00000040 000003b4 000006b3 00000040 (module (type $i32_=>_i32 (func (param i32) (result i32))) @@ -4738,15 +4738,15 @@ file_names[ 4]: (local $14 i32) (local $15 i32) (local $16 i32) - ;; code offset: 0x36 + ;; code offset: 0x37 (local.set $3 - ;; code offset: 0x34 + ;; code offset: 0x35 (call $malloc - ;; code offset: 0x32 + ;; code offset: 0x33 (local.tee $12 - ;; code offset: 0x31 + ;; code offset: 0x32 (i32.shl - ;; code offset: 0x2d + ;; code offset: 0x2e (local.tee $2 ;; code offset: 0x2a (i32.load $mimport$0 offset=4 @@ -4754,358 +4754,358 @@ file_names[ 4]: (local.get $0) ) ) - ;; code offset: 0x2f + ;; code offset: 0x30 (i32.const 2) ) ) ) ) - ;; code offset: 0x3c + ;; code offset: 0x3d (local.set $8 - ;; code offset: 0x3a + ;; code offset: 0x3b (call $malloc - ;; code offset: 0x38 + ;; code offset: 0x39 (local.get $12) ) ) - ;; code offset: 0x42 + ;; code offset: 0x43 (local.set $9 - ;; code offset: 0x40 + ;; code offset: 0x41 (call $malloc - ;; code offset: 0x3e + ;; code offset: 0x3f (local.get $12) ) ) - ;; code offset: 0x44 + ;; code offset: 0x45 (block $label$1 (block $label$2 - ;; code offset: 0x4d + ;; code offset: 0x4e (if - ;; code offset: 0x4c + ;; code offset: 0x4d (i32.gt_s - ;; code offset: 0x48 + ;; code offset: 0x49 (local.get $2) - ;; code offset: 0x4a + ;; code offset: 0x4b (i32.const 0) ) (block - ;; code offset: 0x4f + ;; code offset: 0x50 (loop $label$4 - ;; code offset: 0x5b + ;; code offset: 0x5c (i32.store $mimport$0 - ;; code offset: 0x58 + ;; code offset: 0x59 (i32.add - ;; code offset: 0x51 + ;; code offset: 0x52 (local.get $3) - ;; code offset: 0x57 + ;; code offset: 0x58 (i32.shl - ;; code offset: 0x53 + ;; code offset: 0x54 (local.get $1) - ;; code offset: 0x55 + ;; code offset: 0x56 (i32.const 2) ) ) - ;; code offset: 0x59 + ;; code offset: 0x5a (local.get $1) ) - ;; code offset: 0x68 + ;; code offset: 0x6a (br_if $label$4 - ;; code offset: 0x67 + ;; code offset: 0x69 (i32.ne - ;; code offset: 0x63 + ;; code offset: 0x65 (local.tee $1 - ;; code offset: 0x62 + ;; code offset: 0x64 (i32.add - ;; code offset: 0x5e - (local.get $1) ;; code offset: 0x60 + (local.get $1) + ;; code offset: 0x62 (i32.const 1) ) ) - ;; code offset: 0x65 + ;; code offset: 0x67 (local.get $2) ) ) ) - ;; code offset: 0x7f + ;; code offset: 0x82 (i32.store $mimport$0 - ;; code offset: 0x77 + ;; code offset: 0x7a (i32.add - ;; code offset: 0x6b + ;; code offset: 0x6d (local.get $3) - ;; code offset: 0x76 + ;; code offset: 0x79 (i32.shl - ;; code offset: 0x72 + ;; code offset: 0x75 (local.tee $1 - ;; code offset: 0x6f + ;; code offset: 0x71 (i32.load $mimport$0 - ;; code offset: 0x6d + ;; code offset: 0x6f (local.get $0) ) ) - ;; code offset: 0x74 + ;; code offset: 0x77 (i32.const 2) ) ) - ;; code offset: 0x7d + ;; code offset: 0x80 (local.tee $4 - ;; code offset: 0x7c + ;; code offset: 0x7f (i32.sub - ;; code offset: 0x78 + ;; code offset: 0x7b (local.get $2) - ;; code offset: 0x7a + ;; code offset: 0x7d (i32.const 1) ) ) ) - ;; code offset: 0x8e + ;; code offset: 0x92 (i32.store $mimport$0 - ;; code offset: 0x8a + ;; code offset: 0x8e (local.tee $13 - ;; code offset: 0x89 + ;; code offset: 0x8d (i32.add - ;; code offset: 0x82 + ;; code offset: 0x86 (local.get $3) - ;; code offset: 0x88 + ;; code offset: 0x8c (i32.shl - ;; code offset: 0x84 + ;; code offset: 0x88 (local.get $4) - ;; code offset: 0x86 + ;; code offset: 0x8a (i32.const 2) ) ) ) - ;; code offset: 0x8c + ;; code offset: 0x90 (local.get $1) ) - ;; code offset: 0x96 + ;; code offset: 0x9b (br_if $label$2 - ;; code offset: 0x95 + ;; code offset: 0x9a (i32.le_s - ;; code offset: 0x91 + ;; code offset: 0x96 (local.get $2) - ;; code offset: 0x93 + ;; code offset: 0x98 (i32.const 0) ) ) - ;; code offset: 0x98 + ;; code offset: 0x9d (loop $label$5 - ;; code offset: 0x9f + ;; code offset: 0xa4 (if - ;; code offset: 0x9e + ;; code offset: 0xa3 (i32.gt_s - ;; code offset: 0x9a + ;; code offset: 0x9f (local.get $2) - ;; code offset: 0x9c + ;; code offset: 0xa1 (i32.const 1) ) - ;; code offset: 0xa1 + ;; code offset: 0xa6 (loop $label$7 - ;; code offset: 0xb2 + ;; code offset: 0xb7 (i32.store $mimport$0 - ;; code offset: 0xaf + ;; code offset: 0xb4 (i32.add - ;; code offset: 0xa3 + ;; code offset: 0xa8 (local.get $9) - ;; code offset: 0xae + ;; code offset: 0xb3 (i32.shl - ;; code offset: 0xaa + ;; code offset: 0xaf (local.tee $1 - ;; code offset: 0xa9 + ;; code offset: 0xae (i32.sub - ;; code offset: 0xa5 + ;; code offset: 0xaa (local.get $2) - ;; code offset: 0xa7 + ;; code offset: 0xac (i32.const 1) ) ) - ;; code offset: 0xac + ;; code offset: 0xb1 (i32.const 2) ) ) - ;; code offset: 0xb0 + ;; code offset: 0xb5 (local.get $2) ) - ;; code offset: 0xba + ;; code offset: 0xc0 (local.set $0 - ;; code offset: 0xb9 + ;; code offset: 0xbf (i32.gt_s - ;; code offset: 0xb5 + ;; code offset: 0xbb (local.get $2) - ;; code offset: 0xb7 + ;; code offset: 0xbd (i32.const 2) ) ) - ;; code offset: 0xbe + ;; code offset: 0xc4 (local.set $2 - ;; code offset: 0xbc + ;; code offset: 0xc2 (local.get $1) ) - ;; code offset: 0xc2 + ;; code offset: 0xc8 (br_if $label$7 - ;; code offset: 0xc0 + ;; code offset: 0xc6 (local.get $0) ) ) ) - ;; code offset: 0xc6 + ;; code offset: 0xcc (block $label$8 - ;; code offset: 0xd0 + ;; code offset: 0xd7 (br_if $label$8 - ;; code offset: 0xcf + ;; code offset: 0xd6 (i32.eqz - ;; code offset: 0xcd + ;; code offset: 0xd4 (local.tee $10 - ;; code offset: 0xca + ;; code offset: 0xd0 (i32.load $mimport$0 - ;; code offset: 0xc8 + ;; code offset: 0xce (local.get $3) ) ) ) ) - ;; code offset: 0xda + ;; code offset: 0xe2 (br_if $label$8 - ;; code offset: 0xd9 + ;; code offset: 0xe1 (i32.eq - ;; code offset: 0xd4 + ;; code offset: 0xdb (i32.load $mimport$0 - ;; code offset: 0xd2 + ;; code offset: 0xd9 (local.get $13) ) - ;; code offset: 0xd7 + ;; code offset: 0xdf (local.get $4) ) ) - ;; code offset: 0xe9 + ;; code offset: 0xf2 (local.set $6 - ;; code offset: 0xe6 + ;; code offset: 0xee (i32.load $mimport$0 - ;; code offset: 0xe4 + ;; code offset: 0xec (local.tee $11 - ;; code offset: 0xe2 + ;; code offset: 0xea (call $memcpy - ;; code offset: 0xdc + ;; code offset: 0xe4 (local.get $8) - ;; code offset: 0xde + ;; code offset: 0xe6 (local.get $3) - ;; code offset: 0xe0 + ;; code offset: 0xe8 (local.get $12) ) ) ) ) - ;; code offset: 0xed + ;; code offset: 0xf6 (local.set $0 - ;; code offset: 0xeb + ;; code offset: 0xf4 (i32.const 0) ) - ;; code offset: 0xef + ;; code offset: 0xf8 (loop $label$9 - ;; code offset: 0xf3 + ;; code offset: 0xfc (local.set $16 - ;; code offset: 0xf1 + ;; code offset: 0xfa (local.get $0) ) - ;; code offset: 0xfa + ;; code offset: 0x103 (if - ;; code offset: 0xf9 + ;; code offset: 0x102 (i32.ge_s - ;; code offset: 0xf5 + ;; code offset: 0xfe (local.get $6) - ;; code offset: 0xf7 + ;; code offset: 0x100 (i32.const 3) ) (block - ;; code offset: 0x101 + ;; code offset: 0x10a (local.set $1 - ;; code offset: 0x100 + ;; code offset: 0x109 (i32.sub - ;; code offset: 0xfc + ;; code offset: 0x105 (local.get $6) - ;; code offset: 0xfe + ;; code offset: 0x107 (i32.const 1) ) ) - ;; code offset: 0x105 + ;; code offset: 0x10e (local.set $0 - ;; code offset: 0x103 + ;; code offset: 0x10c (i32.const 1) ) - ;; code offset: 0x107 + ;; code offset: 0x110 (loop $label$11 - ;; code offset: 0x116 + ;; code offset: 0x120 (local.set $15 - ;; code offset: 0x113 + ;; code offset: 0x11c (i32.load $mimport$0 - ;; code offset: 0x111 + ;; code offset: 0x11a (local.tee $14 - ;; code offset: 0x110 + ;; code offset: 0x119 (i32.add - ;; code offset: 0x109 + ;; code offset: 0x112 (local.get $11) - ;; code offset: 0x10f + ;; code offset: 0x118 (i32.shl - ;; code offset: 0x10b + ;; code offset: 0x114 (local.get $0) - ;; code offset: 0x10d + ;; code offset: 0x116 (i32.const 2) ) ) ) ) ) - ;; code offset: 0x127 + ;; code offset: 0x132 (i32.store $mimport$0 - ;; code offset: 0x118 + ;; code offset: 0x122 (local.get $14) - ;; code offset: 0x124 + ;; code offset: 0x12e (i32.load $mimport$0 - ;; code offset: 0x122 + ;; code offset: 0x12c (local.tee $7 - ;; code offset: 0x121 + ;; code offset: 0x12b (i32.add - ;; code offset: 0x11a + ;; code offset: 0x124 (local.get $11) - ;; code offset: 0x120 + ;; code offset: 0x12a (i32.shl - ;; code offset: 0x11c + ;; code offset: 0x126 (local.get $1) - ;; code offset: 0x11e + ;; code offset: 0x128 (i32.const 2) ) ) ) ) ) - ;; code offset: 0x12e + ;; code offset: 0x13a (i32.store $mimport$0 - ;; code offset: 0x12a + ;; code offset: 0x136 (local.get $7) - ;; code offset: 0x12c + ;; code offset: 0x138 (local.get $15) ) - ;; code offset: 0x140 + ;; code offset: 0x14d (br_if $label$11 - ;; code offset: 0x13f + ;; code offset: 0x14c (i32.lt_s - ;; code offset: 0x136 + ;; code offset: 0x143 (local.tee $0 - ;; code offset: 0x135 + ;; code offset: 0x142 (i32.add - ;; code offset: 0x131 + ;; code offset: 0x13e (local.get $0) - ;; code offset: 0x133 + ;; code offset: 0x140 (i32.const 1) ) ) - ;; code offset: 0x13d + ;; code offset: 0x14a (local.tee $1 - ;; code offset: 0x13c + ;; code offset: 0x149 (i32.sub - ;; code offset: 0x138 + ;; code offset: 0x145 (local.get $1) - ;; code offset: 0x13a + ;; code offset: 0x147 (i32.const 1) ) ) @@ -5114,508 +5114,508 @@ file_names[ 4]: ) ) ) - ;; code offset: 0x151 + ;; code offset: 0x15f (local.set $1 - ;; code offset: 0x14e + ;; code offset: 0x15b (i32.load $mimport$0 - ;; code offset: 0x14c + ;; code offset: 0x159 (local.tee $0 - ;; code offset: 0x14b + ;; code offset: 0x158 (i32.add - ;; code offset: 0x144 + ;; code offset: 0x151 (local.get $11) - ;; code offset: 0x14a + ;; code offset: 0x157 (i32.shl - ;; code offset: 0x146 + ;; code offset: 0x153 (local.get $6) - ;; code offset: 0x148 + ;; code offset: 0x155 (i32.const 2) ) ) ) ) ) - ;; code offset: 0x157 + ;; code offset: 0x165 (i32.store $mimport$0 - ;; code offset: 0x153 + ;; code offset: 0x161 (local.get $0) - ;; code offset: 0x155 + ;; code offset: 0x163 (local.get $6) ) - ;; code offset: 0x15f + ;; code offset: 0x16e (local.set $0 - ;; code offset: 0x15e + ;; code offset: 0x16d (i32.add - ;; code offset: 0x15a + ;; code offset: 0x169 (local.get $16) - ;; code offset: 0x15c + ;; code offset: 0x16b (i32.const 1) ) ) - ;; code offset: 0x163 + ;; code offset: 0x172 (local.set $6 - ;; code offset: 0x161 + ;; code offset: 0x170 (local.get $1) ) - ;; code offset: 0x167 + ;; code offset: 0x176 (br_if $label$9 - ;; code offset: 0x165 + ;; code offset: 0x174 (local.get $1) ) ) - ;; code offset: 0x174 + ;; code offset: 0x183 (local.set $5 - ;; code offset: 0x173 + ;; code offset: 0x182 (select - ;; code offset: 0x16a + ;; code offset: 0x179 (local.get $5) - ;; code offset: 0x16c + ;; code offset: 0x17b (local.get $0) - ;; code offset: 0x172 + ;; code offset: 0x181 (i32.gt_s - ;; code offset: 0x16e + ;; code offset: 0x17d (local.get $5) - ;; code offset: 0x170 + ;; code offset: 0x17f (local.get $16) ) ) ) ) - ;; code offset: 0x17c + ;; code offset: 0x18b (br_if $label$1 - ;; code offset: 0x17b + ;; code offset: 0x18a (i32.ge_s - ;; code offset: 0x177 + ;; code offset: 0x186 (local.get $2) - ;; code offset: 0x179 + ;; code offset: 0x188 (local.get $4) ) ) - ;; code offset: 0x17e + ;; code offset: 0x18d (loop $label$12 - ;; code offset: 0x182 + ;; code offset: 0x191 (local.set $1 - ;; code offset: 0x180 + ;; code offset: 0x18f (i32.const 0) ) - ;; code offset: 0x189 + ;; code offset: 0x198 (if - ;; code offset: 0x188 + ;; code offset: 0x197 (i32.gt_s - ;; code offset: 0x184 + ;; code offset: 0x193 (local.get $2) - ;; code offset: 0x186 + ;; code offset: 0x195 (i32.const 0) ) (block - ;; code offset: 0x18b + ;; code offset: 0x19a (loop $label$14 - ;; code offset: 0x1a5 + ;; code offset: 0x1b5 (i32.store $mimport$0 - ;; code offset: 0x194 + ;; code offset: 0x1a3 (i32.add - ;; code offset: 0x18d + ;; code offset: 0x19c (local.get $3) - ;; code offset: 0x193 + ;; code offset: 0x1a2 (i32.shl - ;; code offset: 0x18f + ;; code offset: 0x19e (local.get $1) - ;; code offset: 0x191 + ;; code offset: 0x1a0 (i32.const 2) ) ) - ;; code offset: 0x1a2 + ;; code offset: 0x1b1 (i32.load $mimport$0 - ;; code offset: 0x1a1 + ;; code offset: 0x1b0 (i32.add - ;; code offset: 0x195 + ;; code offset: 0x1a4 (local.get $3) - ;; code offset: 0x1a0 + ;; code offset: 0x1af (i32.shl - ;; code offset: 0x19c + ;; code offset: 0x1ab (local.tee $1 - ;; code offset: 0x19b + ;; code offset: 0x1aa (i32.add - ;; code offset: 0x197 + ;; code offset: 0x1a6 (local.get $1) - ;; code offset: 0x199 + ;; code offset: 0x1a8 (i32.const 1) ) ) - ;; code offset: 0x19e + ;; code offset: 0x1ad (i32.const 2) ) ) ) ) - ;; code offset: 0x1ad + ;; code offset: 0x1be (br_if $label$14 - ;; code offset: 0x1ac + ;; code offset: 0x1bd (i32.ne - ;; code offset: 0x1a8 + ;; code offset: 0x1b9 (local.get $1) - ;; code offset: 0x1aa + ;; code offset: 0x1bb (local.get $2) ) ) ) - ;; code offset: 0x1b2 + ;; code offset: 0x1c3 (local.set $1 - ;; code offset: 0x1b0 + ;; code offset: 0x1c1 (local.get $2) ) ) ) - ;; code offset: 0x1bf + ;; code offset: 0x1d0 (i32.store $mimport$0 - ;; code offset: 0x1bc + ;; code offset: 0x1cd (i32.add - ;; code offset: 0x1b5 + ;; code offset: 0x1c6 (local.get $3) - ;; code offset: 0x1bb + ;; code offset: 0x1cc (i32.shl - ;; code offset: 0x1b7 + ;; code offset: 0x1c8 (local.get $1) - ;; code offset: 0x1b9 + ;; code offset: 0x1ca (i32.const 2) ) ) - ;; code offset: 0x1bd + ;; code offset: 0x1ce (local.get $10) ) - ;; code offset: 0x1d6 + ;; code offset: 0x1e9 (i32.store $mimport$0 - ;; code offset: 0x1ca + ;; code offset: 0x1dc (local.tee $1 - ;; code offset: 0x1c9 + ;; code offset: 0x1db (i32.add - ;; code offset: 0x1c2 + ;; code offset: 0x1d4 (local.get $9) - ;; code offset: 0x1c8 + ;; code offset: 0x1da (i32.shl - ;; code offset: 0x1c4 + ;; code offset: 0x1d6 (local.get $2) - ;; code offset: 0x1c6 + ;; code offset: 0x1d8 (i32.const 2) ) ) ) - ;; code offset: 0x1d5 + ;; code offset: 0x1e8 (i32.sub - ;; code offset: 0x1d1 + ;; code offset: 0x1e4 (local.tee $1 - ;; code offset: 0x1ce + ;; code offset: 0x1e0 (i32.load $mimport$0 - ;; code offset: 0x1cc + ;; code offset: 0x1de (local.get $1) ) ) - ;; code offset: 0x1d3 + ;; code offset: 0x1e6 (i32.const 1) ) ) - ;; code offset: 0x1de + ;; code offset: 0x1f2 (br_if $label$5 - ;; code offset: 0x1dd + ;; code offset: 0x1f1 (i32.gt_s - ;; code offset: 0x1d9 + ;; code offset: 0x1ed (local.get $1) - ;; code offset: 0x1db + ;; code offset: 0x1ef (i32.const 1) ) ) - ;; code offset: 0x1ea + ;; code offset: 0x1fe (br_if $label$1 - ;; code offset: 0x1e9 + ;; code offset: 0x1fd (i32.eq - ;; code offset: 0x1e5 + ;; code offset: 0x1f9 (local.tee $2 - ;; code offset: 0x1e4 + ;; code offset: 0x1f8 (i32.add - ;; code offset: 0x1e0 + ;; code offset: 0x1f4 (local.get $2) - ;; code offset: 0x1e2 + ;; code offset: 0x1f6 (i32.const 1) ) ) - ;; code offset: 0x1e7 + ;; code offset: 0x1fb (local.get $4) ) ) - ;; code offset: 0x1f1 + ;; code offset: 0x206 (local.set $10 - ;; code offset: 0x1ee + ;; code offset: 0x202 (i32.load $mimport$0 - ;; code offset: 0x1ec + ;; code offset: 0x200 (local.get $3) ) ) - ;; code offset: 0x1f3 + ;; code offset: 0x208 (br $label$12) ) ) ) ) - ;; code offset: 0x20e + ;; code offset: 0x224 (i32.store $mimport$0 - ;; code offset: 0x206 + ;; code offset: 0x21c (i32.add - ;; code offset: 0x1fa + ;; code offset: 0x20f (local.get $3) - ;; code offset: 0x205 + ;; code offset: 0x21b (i32.shl - ;; code offset: 0x201 + ;; code offset: 0x217 (local.tee $1 - ;; code offset: 0x1fe + ;; code offset: 0x213 (i32.load $mimport$0 - ;; code offset: 0x1fc + ;; code offset: 0x211 (local.get $0) ) ) - ;; code offset: 0x203 + ;; code offset: 0x219 (i32.const 2) ) ) - ;; code offset: 0x20c + ;; code offset: 0x222 (local.tee $4 - ;; code offset: 0x20b + ;; code offset: 0x221 (i32.sub - ;; code offset: 0x207 + ;; code offset: 0x21d (local.get $2) - ;; code offset: 0x209 + ;; code offset: 0x21f (i32.const 1) ) ) ) - ;; code offset: 0x21d + ;; code offset: 0x234 (i32.store $mimport$0 - ;; code offset: 0x219 + ;; code offset: 0x230 (local.tee $13 - ;; code offset: 0x218 + ;; code offset: 0x22f (i32.add - ;; code offset: 0x211 + ;; code offset: 0x228 (local.get $3) - ;; code offset: 0x217 + ;; code offset: 0x22e (i32.shl - ;; code offset: 0x213 + ;; code offset: 0x22a (local.get $4) - ;; code offset: 0x215 + ;; code offset: 0x22c (i32.const 2) ) ) ) - ;; code offset: 0x21b + ;; code offset: 0x232 (local.get $1) ) ) - ;; code offset: 0x221 + ;; code offset: 0x239 (loop $label$15 - ;; code offset: 0x228 + ;; code offset: 0x240 (if - ;; code offset: 0x227 + ;; code offset: 0x23f (i32.ge_s - ;; code offset: 0x223 + ;; code offset: 0x23b (local.get $2) - ;; code offset: 0x225 + ;; code offset: 0x23d (i32.const 2) ) - ;; code offset: 0x22a + ;; code offset: 0x242 (loop $label$17 - ;; code offset: 0x23b + ;; code offset: 0x253 (i32.store $mimport$0 - ;; code offset: 0x238 + ;; code offset: 0x250 (i32.add - ;; code offset: 0x22c + ;; code offset: 0x244 (local.get $9) - ;; code offset: 0x237 + ;; code offset: 0x24f (i32.shl - ;; code offset: 0x233 + ;; code offset: 0x24b (local.tee $1 - ;; code offset: 0x232 + ;; code offset: 0x24a (i32.sub - ;; code offset: 0x22e + ;; code offset: 0x246 (local.get $2) - ;; code offset: 0x230 + ;; code offset: 0x248 (i32.const 1) ) ) - ;; code offset: 0x235 + ;; code offset: 0x24d (i32.const 2) ) ) - ;; code offset: 0x239 + ;; code offset: 0x251 (local.get $2) ) - ;; code offset: 0x243 + ;; code offset: 0x25c (local.set $0 - ;; code offset: 0x242 + ;; code offset: 0x25b (i32.gt_s - ;; code offset: 0x23e + ;; code offset: 0x257 (local.get $2) - ;; code offset: 0x240 + ;; code offset: 0x259 (i32.const 2) ) ) - ;; code offset: 0x247 + ;; code offset: 0x260 (local.set $2 - ;; code offset: 0x245 + ;; code offset: 0x25e (local.get $1) ) - ;; code offset: 0x24b + ;; code offset: 0x264 (br_if $label$17 - ;; code offset: 0x249 + ;; code offset: 0x262 (local.get $0) ) ) ) - ;; code offset: 0x24f + ;; code offset: 0x268 (block $label$18 - ;; code offset: 0x259 + ;; code offset: 0x273 (br_if $label$18 - ;; code offset: 0x258 + ;; code offset: 0x272 (i32.eqz - ;; code offset: 0x256 + ;; code offset: 0x270 (local.tee $6 - ;; code offset: 0x253 + ;; code offset: 0x26c (i32.load $mimport$0 - ;; code offset: 0x251 + ;; code offset: 0x26a (local.get $3) ) ) ) ) - ;; code offset: 0x263 + ;; code offset: 0x27e (br_if $label$18 - ;; code offset: 0x262 + ;; code offset: 0x27d (i32.eq - ;; code offset: 0x25d + ;; code offset: 0x277 (i32.load $mimport$0 - ;; code offset: 0x25b + ;; code offset: 0x275 (local.get $13) ) - ;; code offset: 0x260 + ;; code offset: 0x27b (local.get $4) ) ) - ;; code offset: 0x26a + ;; code offset: 0x286 (local.set $7 - ;; code offset: 0x267 + ;; code offset: 0x282 (i32.load $mimport$0 - ;; code offset: 0x265 + ;; code offset: 0x280 (local.get $8) ) ) - ;; code offset: 0x26e + ;; code offset: 0x28a (local.set $0 - ;; code offset: 0x26c + ;; code offset: 0x288 (i32.const 0) ) - ;; code offset: 0x270 + ;; code offset: 0x28c (loop $label$19 - ;; code offset: 0x274 + ;; code offset: 0x290 (local.set $10 - ;; code offset: 0x272 + ;; code offset: 0x28e (local.get $0) ) - ;; code offset: 0x27b + ;; code offset: 0x297 (if - ;; code offset: 0x27a + ;; code offset: 0x296 (i32.ge_s - ;; code offset: 0x276 + ;; code offset: 0x292 (local.get $7) - ;; code offset: 0x278 + ;; code offset: 0x294 (i32.const 3) ) (block - ;; code offset: 0x282 + ;; code offset: 0x29e (local.set $1 - ;; code offset: 0x281 + ;; code offset: 0x29d (i32.sub - ;; code offset: 0x27d + ;; code offset: 0x299 (local.get $7) - ;; code offset: 0x27f + ;; code offset: 0x29b (i32.const 1) ) ) - ;; code offset: 0x286 + ;; code offset: 0x2a2 (local.set $0 - ;; code offset: 0x284 + ;; code offset: 0x2a0 (i32.const 1) ) - ;; code offset: 0x288 + ;; code offset: 0x2a4 (loop $label$21 - ;; code offset: 0x297 + ;; code offset: 0x2b4 (local.set $14 - ;; code offset: 0x294 + ;; code offset: 0x2b0 (i32.load $mimport$0 - ;; code offset: 0x292 + ;; code offset: 0x2ae (local.tee $11 - ;; code offset: 0x291 + ;; code offset: 0x2ad (i32.add - ;; code offset: 0x28a + ;; code offset: 0x2a6 (local.get $8) - ;; code offset: 0x290 + ;; code offset: 0x2ac (i32.shl - ;; code offset: 0x28c + ;; code offset: 0x2a8 (local.get $0) - ;; code offset: 0x28e + ;; code offset: 0x2aa (i32.const 2) ) ) ) ) ) - ;; code offset: 0x2a8 + ;; code offset: 0x2c6 (i32.store $mimport$0 - ;; code offset: 0x299 + ;; code offset: 0x2b6 (local.get $11) - ;; code offset: 0x2a5 + ;; code offset: 0x2c2 (i32.load $mimport$0 - ;; code offset: 0x2a3 + ;; code offset: 0x2c0 (local.tee $15 - ;; code offset: 0x2a2 + ;; code offset: 0x2bf (i32.add - ;; code offset: 0x29b + ;; code offset: 0x2b8 (local.get $8) - ;; code offset: 0x2a1 + ;; code offset: 0x2be (i32.shl - ;; code offset: 0x29d + ;; code offset: 0x2ba (local.get $1) - ;; code offset: 0x29f + ;; code offset: 0x2bc (i32.const 2) ) ) ) ) ) - ;; code offset: 0x2af + ;; code offset: 0x2ce (i32.store $mimport$0 - ;; code offset: 0x2ab + ;; code offset: 0x2ca (local.get $15) - ;; code offset: 0x2ad + ;; code offset: 0x2cc (local.get $14) ) - ;; code offset: 0x2c1 + ;; code offset: 0x2e1 (br_if $label$21 - ;; code offset: 0x2c0 + ;; code offset: 0x2e0 (i32.lt_s - ;; code offset: 0x2b7 + ;; code offset: 0x2d7 (local.tee $0 - ;; code offset: 0x2b6 + ;; code offset: 0x2d6 (i32.add - ;; code offset: 0x2b2 + ;; code offset: 0x2d2 (local.get $0) - ;; code offset: 0x2b4 + ;; code offset: 0x2d4 (i32.const 1) ) ) - ;; code offset: 0x2be + ;; code offset: 0x2de (local.tee $1 - ;; code offset: 0x2bd + ;; code offset: 0x2dd (i32.sub - ;; code offset: 0x2b9 + ;; code offset: 0x2d9 (local.get $1) - ;; code offset: 0x2bb + ;; code offset: 0x2db (i32.const 1) ) ) @@ -5624,263 +5624,263 @@ file_names[ 4]: ) ) ) - ;; code offset: 0x2d2 + ;; code offset: 0x2f3 (local.set $1 - ;; code offset: 0x2cf + ;; code offset: 0x2ef (i32.load $mimport$0 - ;; code offset: 0x2cd + ;; code offset: 0x2ed (local.tee $0 - ;; code offset: 0x2cc + ;; code offset: 0x2ec (i32.add - ;; code offset: 0x2c5 + ;; code offset: 0x2e5 (local.get $8) - ;; code offset: 0x2cb + ;; code offset: 0x2eb (i32.shl - ;; code offset: 0x2c7 + ;; code offset: 0x2e7 (local.get $7) - ;; code offset: 0x2c9 + ;; code offset: 0x2e9 (i32.const 2) ) ) ) ) ) - ;; code offset: 0x2d8 + ;; code offset: 0x2f9 (i32.store $mimport$0 - ;; code offset: 0x2d4 + ;; code offset: 0x2f5 (local.get $0) - ;; code offset: 0x2d6 + ;; code offset: 0x2f7 (local.get $7) ) - ;; code offset: 0x2e0 + ;; code offset: 0x302 (local.set $0 - ;; code offset: 0x2df + ;; code offset: 0x301 (i32.add - ;; code offset: 0x2db + ;; code offset: 0x2fd (local.get $10) - ;; code offset: 0x2dd + ;; code offset: 0x2ff (i32.const 1) ) ) - ;; code offset: 0x2e4 + ;; code offset: 0x306 (local.set $7 - ;; code offset: 0x2e2 + ;; code offset: 0x304 (local.get $1) ) - ;; code offset: 0x2e8 + ;; code offset: 0x30a (br_if $label$19 - ;; code offset: 0x2e6 + ;; code offset: 0x308 (local.get $1) ) ) - ;; code offset: 0x2f5 + ;; code offset: 0x317 (local.set $5 - ;; code offset: 0x2f4 + ;; code offset: 0x316 (select - ;; code offset: 0x2eb + ;; code offset: 0x30d (local.get $5) - ;; code offset: 0x2ed + ;; code offset: 0x30f (local.get $0) - ;; code offset: 0x2f3 + ;; code offset: 0x315 (i32.gt_s - ;; code offset: 0x2ef + ;; code offset: 0x311 (local.get $5) - ;; code offset: 0x2f1 + ;; code offset: 0x313 (local.get $10) ) ) ) ) - ;; code offset: 0x2fd + ;; code offset: 0x31f (br_if $label$1 - ;; code offset: 0x2fc + ;; code offset: 0x31e (i32.ge_s - ;; code offset: 0x2f8 + ;; code offset: 0x31a (local.get $2) - ;; code offset: 0x2fa + ;; code offset: 0x31c (local.get $4) ) ) - ;; code offset: 0x2ff + ;; code offset: 0x321 (loop $label$22 - ;; code offset: 0x303 + ;; code offset: 0x325 (local.set $1 - ;; code offset: 0x301 + ;; code offset: 0x323 (i32.const 0) ) - ;; code offset: 0x30a + ;; code offset: 0x32c (if - ;; code offset: 0x309 + ;; code offset: 0x32b (i32.gt_s - ;; code offset: 0x305 + ;; code offset: 0x327 (local.get $2) - ;; code offset: 0x307 + ;; code offset: 0x329 (i32.const 0) ) (block - ;; code offset: 0x30c + ;; code offset: 0x32e (loop $label$24 - ;; code offset: 0x326 + ;; code offset: 0x349 (i32.store $mimport$0 - ;; code offset: 0x315 + ;; code offset: 0x337 (i32.add - ;; code offset: 0x30e + ;; code offset: 0x330 (local.get $3) - ;; code offset: 0x314 + ;; code offset: 0x336 (i32.shl - ;; code offset: 0x310 + ;; code offset: 0x332 (local.get $1) - ;; code offset: 0x312 + ;; code offset: 0x334 (i32.const 2) ) ) - ;; code offset: 0x323 + ;; code offset: 0x345 (i32.load $mimport$0 - ;; code offset: 0x322 + ;; code offset: 0x344 (i32.add - ;; code offset: 0x316 + ;; code offset: 0x338 (local.get $3) - ;; code offset: 0x321 + ;; code offset: 0x343 (i32.shl - ;; code offset: 0x31d + ;; code offset: 0x33f (local.tee $1 - ;; code offset: 0x31c + ;; code offset: 0x33e (i32.add - ;; code offset: 0x318 + ;; code offset: 0x33a (local.get $1) - ;; code offset: 0x31a + ;; code offset: 0x33c (i32.const 1) ) ) - ;; code offset: 0x31f + ;; code offset: 0x341 (i32.const 2) ) ) ) ) - ;; code offset: 0x32e + ;; code offset: 0x352 (br_if $label$24 - ;; code offset: 0x32d + ;; code offset: 0x351 (i32.ne - ;; code offset: 0x329 + ;; code offset: 0x34d (local.get $1) - ;; code offset: 0x32b + ;; code offset: 0x34f (local.get $2) ) ) ) - ;; code offset: 0x333 + ;; code offset: 0x357 (local.set $1 - ;; code offset: 0x331 + ;; code offset: 0x355 (local.get $2) ) ) ) - ;; code offset: 0x340 + ;; code offset: 0x364 (i32.store $mimport$0 - ;; code offset: 0x33d + ;; code offset: 0x361 (i32.add - ;; code offset: 0x336 + ;; code offset: 0x35a (local.get $3) - ;; code offset: 0x33c + ;; code offset: 0x360 (i32.shl - ;; code offset: 0x338 + ;; code offset: 0x35c (local.get $1) - ;; code offset: 0x33a + ;; code offset: 0x35e (i32.const 2) ) ) - ;; code offset: 0x33e + ;; code offset: 0x362 (local.get $6) ) - ;; code offset: 0x357 + ;; code offset: 0x37d (i32.store $mimport$0 - ;; code offset: 0x34b + ;; code offset: 0x370 (local.tee $1 - ;; code offset: 0x34a + ;; code offset: 0x36f (i32.add - ;; code offset: 0x343 + ;; code offset: 0x368 (local.get $9) - ;; code offset: 0x349 + ;; code offset: 0x36e (i32.shl - ;; code offset: 0x345 + ;; code offset: 0x36a (local.get $2) - ;; code offset: 0x347 + ;; code offset: 0x36c (i32.const 2) ) ) ) - ;; code offset: 0x356 + ;; code offset: 0x37c (i32.sub - ;; code offset: 0x352 + ;; code offset: 0x378 (local.tee $1 - ;; code offset: 0x34f + ;; code offset: 0x374 (i32.load $mimport$0 - ;; code offset: 0x34d + ;; code offset: 0x372 (local.get $1) ) ) - ;; code offset: 0x354 + ;; code offset: 0x37a (i32.const 1) ) ) - ;; code offset: 0x35f + ;; code offset: 0x386 (br_if $label$15 - ;; code offset: 0x35e + ;; code offset: 0x385 (i32.gt_s - ;; code offset: 0x35a + ;; code offset: 0x381 (local.get $1) - ;; code offset: 0x35c + ;; code offset: 0x383 (i32.const 1) ) ) - ;; code offset: 0x36b + ;; code offset: 0x392 (br_if $label$1 - ;; code offset: 0x36a + ;; code offset: 0x391 (i32.eq - ;; code offset: 0x366 + ;; code offset: 0x38d (local.tee $2 - ;; code offset: 0x365 + ;; code offset: 0x38c (i32.add - ;; code offset: 0x361 + ;; code offset: 0x388 (local.get $2) - ;; code offset: 0x363 + ;; code offset: 0x38a (i32.const 1) ) ) - ;; code offset: 0x368 + ;; code offset: 0x38f (local.get $4) ) ) - ;; code offset: 0x372 + ;; code offset: 0x39a (local.set $6 - ;; code offset: 0x36f + ;; code offset: 0x396 (i32.load $mimport$0 - ;; code offset: 0x36d + ;; code offset: 0x394 (local.get $3) ) ) - ;; code offset: 0x374 + ;; code offset: 0x39c (br $label$22) ) ) ) - ;; code offset: 0x37d + ;; code offset: 0x3a5 (call $free - ;; code offset: 0x37b + ;; code offset: 0x3a3 (local.get $3) ) - ;; code offset: 0x381 + ;; code offset: 0x3a9 (call $free - ;; code offset: 0x37f + ;; code offset: 0x3a7 (local.get $8) ) - ;; code offset: 0x385 + ;; code offset: 0x3ad (call $free - ;; code offset: 0x383 + ;; code offset: 0x3ab (local.get $9) ) - ;; code offset: 0x387 + ;; code offset: 0x3af (local.get $5) ) (func $main (param $0 i32) (param $1 i32) (result i32) @@ -5891,958 +5891,958 @@ file_names[ 4]: (local $6 i32) (local $7 i32) (local $8 i32) - ;; code offset: 0x3a2 + ;; code offset: 0x3ca (global.set $global$0 - ;; code offset: 0x3a0 + ;; code offset: 0x3c8 (local.tee $8 - ;; code offset: 0x39f + ;; code offset: 0x3c7 (i32.sub - ;; code offset: 0x39b + ;; code offset: 0x3c3 (global.get $global$0) - ;; code offset: 0x39d + ;; code offset: 0x3c5 (i32.const 32) ) ) ) - ;; code offset: 0x3a4 + ;; code offset: 0x3cc (block $label$1 (block $label$2 - ;; code offset: 0x3ad + ;; code offset: 0x3d5 (if - ;; code offset: 0x3ac + ;; code offset: 0x3d4 (i32.ge_s - ;; code offset: 0x3a8 + ;; code offset: 0x3d0 (local.get $0) - ;; code offset: 0x3aa + ;; code offset: 0x3d2 (i32.const 2) ) - ;; code offset: 0x3bb + ;; code offset: 0x3e4 (br_if $label$2 - ;; code offset: 0x3ba + ;; code offset: 0x3e3 (i32.gt_s - ;; code offset: 0x3b6 + ;; code offset: 0x3df (local.tee $3 - ;; code offset: 0x3b4 + ;; code offset: 0x3dd (call $atoi - ;; code offset: 0x3b1 + ;; code offset: 0x3d9 (i32.load $mimport$0 offset=4 - ;; code offset: 0x3af + ;; code offset: 0x3d7 (local.get $1) ) ) ) - ;; code offset: 0x3b8 + ;; code offset: 0x3e1 (i32.const 0) ) ) ) - ;; code offset: 0x3c3 + ;; code offset: 0x3ec (drop - ;; code offset: 0x3c1 + ;; code offset: 0x3ea (call $puts - ;; code offset: 0x3be + ;; code offset: 0x3e7 (i32.const 1050) ) ) - ;; code offset: 0x3c6 + ;; code offset: 0x3ef (local.set $5 - ;; code offset: 0x3c4 + ;; code offset: 0x3ed (i32.const 1) ) - ;; code offset: 0x3c8 + ;; code offset: 0x3f1 (br $label$1) ) - ;; code offset: 0x3d0 + ;; code offset: 0x3f9 (if - ;; code offset: 0x3cf + ;; code offset: 0x3f8 (i32.ne - ;; code offset: 0x3cb + ;; code offset: 0x3f4 (local.get $3) - ;; code offset: 0x3cd + ;; code offset: 0x3f6 (i32.const 1) ) (block - ;; code offset: 0x3d7 + ;; code offset: 0x400 (local.set $2 - ;; code offset: 0x3d6 + ;; code offset: 0x3ff (i32.sub - ;; code offset: 0x3d2 + ;; code offset: 0x3fb (local.get $3) - ;; code offset: 0x3d4 + ;; code offset: 0x3fd (i32.const 1) ) ) - ;; code offset: 0x3db + ;; code offset: 0x404 (local.set $1 - ;; code offset: 0x3d9 + ;; code offset: 0x402 (i32.const 0) ) - ;; code offset: 0x3df + ;; code offset: 0x408 (local.set $0 - ;; code offset: 0x3dd + ;; code offset: 0x406 (i32.const 0) ) - ;; code offset: 0x3e1 + ;; code offset: 0x40a (loop $label$5 - ;; code offset: 0x3eb + ;; code offset: 0x414 (i32.store $mimport$0 offset=8 - ;; code offset: 0x3e7 + ;; code offset: 0x410 (local.tee $4 - ;; code offset: 0x3e5 + ;; code offset: 0x40e (call $malloc - ;; code offset: 0x3e3 + ;; code offset: 0x40c (i32.const 12) ) ) - ;; code offset: 0x3e9 + ;; code offset: 0x412 (local.get $1) ) - ;; code offset: 0x3f2 + ;; code offset: 0x41c (i32.store $mimport$0 offset=4 - ;; code offset: 0x3ee + ;; code offset: 0x418 (local.get $4) - ;; code offset: 0x3f0 + ;; code offset: 0x41a (local.get $3) ) - ;; code offset: 0x3f9 + ;; code offset: 0x424 (i32.store $mimport$0 - ;; code offset: 0x3f5 + ;; code offset: 0x420 (local.get $4) - ;; code offset: 0x3f7 + ;; code offset: 0x422 (local.get $0) ) - ;; code offset: 0x3fe + ;; code offset: 0x42a (local.set $1 - ;; code offset: 0x3fc + ;; code offset: 0x428 (local.get $4) ) - ;; code offset: 0x40a + ;; code offset: 0x436 (br_if $label$5 - ;; code offset: 0x409 + ;; code offset: 0x435 (i32.ne - ;; code offset: 0x405 + ;; code offset: 0x431 (local.tee $0 - ;; code offset: 0x404 + ;; code offset: 0x430 (i32.add - ;; code offset: 0x400 + ;; code offset: 0x42c (local.get $0) - ;; code offset: 0x402 + ;; code offset: 0x42e (i32.const 1) ) ) - ;; code offset: 0x407 + ;; code offset: 0x433 (local.get $2) ) ) ) ) ) - ;; code offset: 0x410 + ;; code offset: 0x43c (local.set $0 - ;; code offset: 0x40e + ;; code offset: 0x43a (i32.const 0) ) - ;; code offset: 0x41b + ;; code offset: 0x447 (local.set $1 - ;; code offset: 0x419 + ;; code offset: 0x445 (call $malloc - ;; code offset: 0x417 + ;; code offset: 0x443 (local.tee $2 - ;; code offset: 0x416 + ;; code offset: 0x442 (i32.shl - ;; code offset: 0x412 + ;; code offset: 0x43e (local.get $3) - ;; code offset: 0x414 + ;; code offset: 0x440 (i32.const 2) ) ) ) ) - ;; code offset: 0x421 + ;; code offset: 0x44d (local.set $5 - ;; code offset: 0x41f + ;; code offset: 0x44b (call $malloc - ;; code offset: 0x41d + ;; code offset: 0x449 (local.get $2) ) ) - ;; code offset: 0x423 + ;; code offset: 0x44f (block $label$6 (block $label$7 (block $label$8 - ;; code offset: 0x42e + ;; code offset: 0x45a (if - ;; code offset: 0x42d + ;; code offset: 0x459 (i32.gt_s - ;; code offset: 0x429 + ;; code offset: 0x455 (local.get $3) - ;; code offset: 0x42b + ;; code offset: 0x457 (i32.const 0) ) (block - ;; code offset: 0x430 + ;; code offset: 0x45c (loop $label$10 - ;; code offset: 0x43c + ;; code offset: 0x468 (i32.store $mimport$0 - ;; code offset: 0x439 + ;; code offset: 0x465 (i32.add - ;; code offset: 0x432 + ;; code offset: 0x45e (local.get $1) - ;; code offset: 0x438 + ;; code offset: 0x464 (i32.shl - ;; code offset: 0x434 + ;; code offset: 0x460 (local.get $0) - ;; code offset: 0x436 + ;; code offset: 0x462 (i32.const 2) ) ) - ;; code offset: 0x43a + ;; code offset: 0x466 (local.get $0) ) - ;; code offset: 0x449 + ;; code offset: 0x476 (br_if $label$10 - ;; code offset: 0x448 + ;; code offset: 0x475 (i32.ne - ;; code offset: 0x444 + ;; code offset: 0x471 (local.tee $0 - ;; code offset: 0x443 + ;; code offset: 0x470 (i32.add - ;; code offset: 0x43f + ;; code offset: 0x46c (local.get $0) - ;; code offset: 0x441 + ;; code offset: 0x46e (i32.const 1) ) ) - ;; code offset: 0x446 + ;; code offset: 0x473 (local.get $3) ) ) ) - ;; code offset: 0x44e + ;; code offset: 0x47b (local.set $6 - ;; code offset: 0x44c + ;; code offset: 0x479 (i32.const 30) ) - ;; code offset: 0x452 + ;; code offset: 0x47f (local.set $2 - ;; code offset: 0x450 + ;; code offset: 0x47d (local.get $3) ) - ;; code offset: 0x454 + ;; code offset: 0x481 (br $label$8) ) ) - ;; code offset: 0x459 + ;; code offset: 0x486 (local.set $6 - ;; code offset: 0x457 + ;; code offset: 0x484 (i32.const 30) ) - ;; code offset: 0x45d + ;; code offset: 0x48a (local.set $2 - ;; code offset: 0x45b + ;; code offset: 0x488 (local.get $3) ) - ;; code offset: 0x45f + ;; code offset: 0x48c (br $label$7) ) - ;; code offset: 0x462 + ;; code offset: 0x48f (loop $label$11 - ;; code offset: 0x466 + ;; code offset: 0x493 (local.set $0 - ;; code offset: 0x464 + ;; code offset: 0x491 (i32.const 0) ) - ;; code offset: 0x468 + ;; code offset: 0x495 (loop $label$12 - ;; code offset: 0x47a + ;; code offset: 0x4a8 (i32.store $mimport$0 offset=16 - ;; code offset: 0x46a + ;; code offset: 0x497 (local.get $8) - ;; code offset: 0x479 + ;; code offset: 0x4a7 (i32.add - ;; code offset: 0x474 + ;; code offset: 0x4a1 (i32.load $mimport$0 - ;; code offset: 0x473 + ;; code offset: 0x4a0 (i32.add - ;; code offset: 0x46c + ;; code offset: 0x499 (local.get $1) - ;; code offset: 0x472 + ;; code offset: 0x49f (i32.shl - ;; code offset: 0x46e + ;; code offset: 0x49b (local.get $0) - ;; code offset: 0x470 + ;; code offset: 0x49d (i32.const 2) ) ) ) - ;; code offset: 0x477 + ;; code offset: 0x4a5 (i32.const 1) ) ) - ;; code offset: 0x487 + ;; code offset: 0x4b6 (drop - ;; code offset: 0x485 + ;; code offset: 0x4b4 (call $iprintf - ;; code offset: 0x47d + ;; code offset: 0x4ac (i32.const 1047) - ;; code offset: 0x484 + ;; code offset: 0x4b3 (i32.add - ;; code offset: 0x480 + ;; code offset: 0x4af (local.get $8) - ;; code offset: 0x482 + ;; code offset: 0x4b1 (i32.const 16) ) ) ) - ;; code offset: 0x492 + ;; code offset: 0x4c1 (br_if $label$12 - ;; code offset: 0x491 + ;; code offset: 0x4c0 (i32.ne - ;; code offset: 0x48d + ;; code offset: 0x4bc (local.tee $0 - ;; code offset: 0x48c + ;; code offset: 0x4bb (i32.add - ;; code offset: 0x488 + ;; code offset: 0x4b7 (local.get $0) - ;; code offset: 0x48a + ;; code offset: 0x4b9 (i32.const 1) ) ) - ;; code offset: 0x48f + ;; code offset: 0x4be (local.get $3) ) ) ) - ;; code offset: 0x499 + ;; code offset: 0x4c8 (drop - ;; code offset: 0x497 + ;; code offset: 0x4c6 (call $putchar - ;; code offset: 0x495 + ;; code offset: 0x4c4 (i32.const 10) ) ) - ;; code offset: 0x49f + ;; code offset: 0x4ce (if - ;; code offset: 0x49e + ;; code offset: 0x4cd (i32.gt_s - ;; code offset: 0x49a + ;; code offset: 0x4c9 (local.get $2) - ;; code offset: 0x49c + ;; code offset: 0x4cb (i32.const 1) ) - ;; code offset: 0x4a1 + ;; code offset: 0x4d0 (loop $label$14 - ;; code offset: 0x4b2 + ;; code offset: 0x4e1 (i32.store $mimport$0 - ;; code offset: 0x4af + ;; code offset: 0x4de (i32.add - ;; code offset: 0x4a3 + ;; code offset: 0x4d2 (local.get $5) - ;; code offset: 0x4ae + ;; code offset: 0x4dd (i32.shl - ;; code offset: 0x4aa + ;; code offset: 0x4d9 (local.tee $0 - ;; code offset: 0x4a9 + ;; code offset: 0x4d8 (i32.sub - ;; code offset: 0x4a5 + ;; code offset: 0x4d4 (local.get $2) - ;; code offset: 0x4a7 + ;; code offset: 0x4d6 (i32.const 1) ) ) - ;; code offset: 0x4ac + ;; code offset: 0x4db (i32.const 2) ) ) - ;; code offset: 0x4b0 + ;; code offset: 0x4df (local.get $2) ) - ;; code offset: 0x4ba + ;; code offset: 0x4ea (local.set $7 - ;; code offset: 0x4b9 + ;; code offset: 0x4e9 (i32.gt_s - ;; code offset: 0x4b5 + ;; code offset: 0x4e5 (local.get $2) - ;; code offset: 0x4b7 + ;; code offset: 0x4e7 (i32.const 2) ) ) - ;; code offset: 0x4be + ;; code offset: 0x4ee (local.set $2 - ;; code offset: 0x4bc + ;; code offset: 0x4ec (local.get $0) ) - ;; code offset: 0x4c2 + ;; code offset: 0x4f2 (br_if $label$14 - ;; code offset: 0x4c0 + ;; code offset: 0x4f0 (local.get $7) ) ) ) - ;; code offset: 0x4cb + ;; code offset: 0x4fb (br_if $label$6 - ;; code offset: 0x4ca + ;; code offset: 0x4fa (i32.eq - ;; code offset: 0x4c6 + ;; code offset: 0x4f6 (local.get $2) - ;; code offset: 0x4c8 + ;; code offset: 0x4f8 (local.get $3) ) ) - ;; code offset: 0x4d2 + ;; code offset: 0x502 (local.set $6 - ;; code offset: 0x4d1 + ;; code offset: 0x501 (i32.sub - ;; code offset: 0x4cd + ;; code offset: 0x4fd (local.get $6) - ;; code offset: 0x4cf + ;; code offset: 0x4ff (i32.const 1) ) ) - ;; code offset: 0x4d4 + ;; code offset: 0x504 (loop $label$15 - ;; code offset: 0x4d8 + ;; code offset: 0x508 (local.set $0 - ;; code offset: 0x4d6 + ;; code offset: 0x506 (i32.const 0) ) - ;; code offset: 0x4df + ;; code offset: 0x510 (local.set $7 - ;; code offset: 0x4dc + ;; code offset: 0x50c (i32.load $mimport$0 - ;; code offset: 0x4da + ;; code offset: 0x50a (local.get $1) ) ) - ;; code offset: 0x4e6 + ;; code offset: 0x517 (if - ;; code offset: 0x4e5 + ;; code offset: 0x516 (i32.gt_s - ;; code offset: 0x4e1 + ;; code offset: 0x512 (local.get $2) - ;; code offset: 0x4e3 + ;; code offset: 0x514 (i32.const 0) ) (block - ;; code offset: 0x4e8 + ;; code offset: 0x519 (loop $label$17 - ;; code offset: 0x502 + ;; code offset: 0x534 (i32.store $mimport$0 - ;; code offset: 0x4f1 + ;; code offset: 0x522 (i32.add - ;; code offset: 0x4ea + ;; code offset: 0x51b (local.get $1) - ;; code offset: 0x4f0 + ;; code offset: 0x521 (i32.shl - ;; code offset: 0x4ec + ;; code offset: 0x51d (local.get $0) - ;; code offset: 0x4ee + ;; code offset: 0x51f (i32.const 2) ) ) - ;; code offset: 0x4ff + ;; code offset: 0x530 (i32.load $mimport$0 - ;; code offset: 0x4fe + ;; code offset: 0x52f (i32.add - ;; code offset: 0x4f2 + ;; code offset: 0x523 (local.get $1) - ;; code offset: 0x4fd + ;; code offset: 0x52e (i32.shl - ;; code offset: 0x4f9 + ;; code offset: 0x52a (local.tee $0 - ;; code offset: 0x4f8 + ;; code offset: 0x529 (i32.add - ;; code offset: 0x4f4 + ;; code offset: 0x525 (local.get $0) - ;; code offset: 0x4f6 + ;; code offset: 0x527 (i32.const 1) ) ) - ;; code offset: 0x4fb + ;; code offset: 0x52c (i32.const 2) ) ) ) ) - ;; code offset: 0x50a + ;; code offset: 0x53d (br_if $label$17 - ;; code offset: 0x509 + ;; code offset: 0x53c (i32.ne - ;; code offset: 0x505 + ;; code offset: 0x538 (local.get $0) - ;; code offset: 0x507 + ;; code offset: 0x53a (local.get $2) ) ) ) - ;; code offset: 0x50f + ;; code offset: 0x542 (local.set $0 - ;; code offset: 0x50d + ;; code offset: 0x540 (local.get $2) ) ) ) - ;; code offset: 0x51c + ;; code offset: 0x54f (i32.store $mimport$0 - ;; code offset: 0x519 + ;; code offset: 0x54c (i32.add - ;; code offset: 0x512 + ;; code offset: 0x545 (local.get $1) - ;; code offset: 0x518 + ;; code offset: 0x54b (i32.shl - ;; code offset: 0x514 + ;; code offset: 0x547 (local.get $0) - ;; code offset: 0x516 + ;; code offset: 0x549 (i32.const 2) ) ) - ;; code offset: 0x51a + ;; code offset: 0x54d (local.get $7) ) - ;; code offset: 0x533 + ;; code offset: 0x568 (i32.store $mimport$0 - ;; code offset: 0x527 + ;; code offset: 0x55b (local.tee $0 - ;; code offset: 0x526 + ;; code offset: 0x55a (i32.add - ;; code offset: 0x51f + ;; code offset: 0x553 (local.get $5) - ;; code offset: 0x525 + ;; code offset: 0x559 (i32.shl - ;; code offset: 0x521 + ;; code offset: 0x555 (local.get $2) - ;; code offset: 0x523 + ;; code offset: 0x557 (i32.const 2) ) ) ) - ;; code offset: 0x532 + ;; code offset: 0x567 (i32.sub - ;; code offset: 0x52e + ;; code offset: 0x563 (local.tee $0 - ;; code offset: 0x52b + ;; code offset: 0x55f (i32.load $mimport$0 - ;; code offset: 0x529 + ;; code offset: 0x55d (local.get $0) ) ) - ;; code offset: 0x530 + ;; code offset: 0x565 (i32.const 1) ) ) - ;; code offset: 0x53b + ;; code offset: 0x571 (if - ;; code offset: 0x53a + ;; code offset: 0x570 (i32.le_s - ;; code offset: 0x536 + ;; code offset: 0x56c (local.get $0) - ;; code offset: 0x538 + ;; code offset: 0x56e (i32.const 1) ) (block - ;; code offset: 0x547 + ;; code offset: 0x57d (br_if $label$15 - ;; code offset: 0x546 + ;; code offset: 0x57c (i32.ne - ;; code offset: 0x542 + ;; code offset: 0x578 (local.tee $2 - ;; code offset: 0x541 + ;; code offset: 0x577 (i32.add - ;; code offset: 0x53d + ;; code offset: 0x573 (local.get $2) - ;; code offset: 0x53f + ;; code offset: 0x575 (i32.const 1) ) ) - ;; code offset: 0x544 + ;; code offset: 0x57a (local.get $3) ) ) - ;; code offset: 0x549 + ;; code offset: 0x57f (br $label$6) ) ) ) - ;; code offset: 0x54f + ;; code offset: 0x585 (br_if $label$11 - ;; code offset: 0x54d + ;; code offset: 0x583 (local.get $6) ) ) - ;; code offset: 0x552 + ;; code offset: 0x588 (br $label$6) ) - ;; code offset: 0x555 + ;; code offset: 0x58b (loop $label$19 - ;; code offset: 0x55b + ;; code offset: 0x591 (drop - ;; code offset: 0x559 + ;; code offset: 0x58f (call $putchar - ;; code offset: 0x557 + ;; code offset: 0x58d (i32.const 10) ) ) - ;; code offset: 0x561 + ;; code offset: 0x597 (if - ;; code offset: 0x560 + ;; code offset: 0x596 (i32.gt_s - ;; code offset: 0x55c + ;; code offset: 0x592 (local.get $2) - ;; code offset: 0x55e + ;; code offset: 0x594 (i32.const 1) ) - ;; code offset: 0x563 + ;; code offset: 0x599 (loop $label$21 - ;; code offset: 0x574 + ;; code offset: 0x5aa (i32.store $mimport$0 - ;; code offset: 0x571 + ;; code offset: 0x5a7 (i32.add - ;; code offset: 0x565 + ;; code offset: 0x59b (local.get $5) - ;; code offset: 0x570 + ;; code offset: 0x5a6 (i32.shl - ;; code offset: 0x56c + ;; code offset: 0x5a2 (local.tee $0 - ;; code offset: 0x56b + ;; code offset: 0x5a1 (i32.sub - ;; code offset: 0x567 + ;; code offset: 0x59d (local.get $2) - ;; code offset: 0x569 + ;; code offset: 0x59f (i32.const 1) ) ) - ;; code offset: 0x56e + ;; code offset: 0x5a4 (i32.const 2) ) ) - ;; code offset: 0x572 + ;; code offset: 0x5a8 (local.get $2) ) - ;; code offset: 0x57c + ;; code offset: 0x5b3 (local.set $7 - ;; code offset: 0x57b + ;; code offset: 0x5b2 (i32.gt_s - ;; code offset: 0x577 + ;; code offset: 0x5ae (local.get $2) - ;; code offset: 0x579 + ;; code offset: 0x5b0 (i32.const 2) ) ) - ;; code offset: 0x580 + ;; code offset: 0x5b7 (local.set $2 - ;; code offset: 0x57e + ;; code offset: 0x5b5 (local.get $0) ) - ;; code offset: 0x584 + ;; code offset: 0x5bb (br_if $label$21 - ;; code offset: 0x582 + ;; code offset: 0x5b9 (local.get $7) ) ) ) - ;; code offset: 0x58d + ;; code offset: 0x5c4 (br_if $label$6 - ;; code offset: 0x58c + ;; code offset: 0x5c3 (i32.eq - ;; code offset: 0x588 + ;; code offset: 0x5bf (local.get $2) - ;; code offset: 0x58a + ;; code offset: 0x5c1 (local.get $3) ) ) - ;; code offset: 0x594 + ;; code offset: 0x5cb (local.set $6 - ;; code offset: 0x593 + ;; code offset: 0x5ca (i32.sub - ;; code offset: 0x58f + ;; code offset: 0x5c6 (local.get $6) - ;; code offset: 0x591 + ;; code offset: 0x5c8 (i32.const 1) ) ) - ;; code offset: 0x596 + ;; code offset: 0x5cd (loop $label$22 - ;; code offset: 0x59d + ;; code offset: 0x5d5 (local.set $7 - ;; code offset: 0x59a + ;; code offset: 0x5d1 (i32.load $mimport$0 - ;; code offset: 0x598 + ;; code offset: 0x5cf (local.get $1) ) ) - ;; code offset: 0x5a1 + ;; code offset: 0x5d9 (local.set $0 - ;; code offset: 0x59f + ;; code offset: 0x5d7 (i32.const 0) ) - ;; code offset: 0x5a8 + ;; code offset: 0x5e0 (if - ;; code offset: 0x5a7 + ;; code offset: 0x5df (i32.gt_s - ;; code offset: 0x5a3 + ;; code offset: 0x5db (local.get $2) - ;; code offset: 0x5a5 + ;; code offset: 0x5dd (i32.const 0) ) (block - ;; code offset: 0x5aa + ;; code offset: 0x5e2 (loop $label$24 - ;; code offset: 0x5c4 + ;; code offset: 0x5fd (i32.store $mimport$0 - ;; code offset: 0x5b3 + ;; code offset: 0x5eb (i32.add - ;; code offset: 0x5ac + ;; code offset: 0x5e4 (local.get $1) - ;; code offset: 0x5b2 + ;; code offset: 0x5ea (i32.shl - ;; code offset: 0x5ae + ;; code offset: 0x5e6 (local.get $0) - ;; code offset: 0x5b0 + ;; code offset: 0x5e8 (i32.const 2) ) ) - ;; code offset: 0x5c1 + ;; code offset: 0x5f9 (i32.load $mimport$0 - ;; code offset: 0x5c0 + ;; code offset: 0x5f8 (i32.add - ;; code offset: 0x5b4 + ;; code offset: 0x5ec (local.get $1) - ;; code offset: 0x5bf + ;; code offset: 0x5f7 (i32.shl - ;; code offset: 0x5bb + ;; code offset: 0x5f3 (local.tee $0 - ;; code offset: 0x5ba + ;; code offset: 0x5f2 (i32.add - ;; code offset: 0x5b6 + ;; code offset: 0x5ee (local.get $0) - ;; code offset: 0x5b8 + ;; code offset: 0x5f0 (i32.const 1) ) ) - ;; code offset: 0x5bd + ;; code offset: 0x5f5 (i32.const 2) ) ) ) ) - ;; code offset: 0x5cc + ;; code offset: 0x606 (br_if $label$24 - ;; code offset: 0x5cb + ;; code offset: 0x605 (i32.ne - ;; code offset: 0x5c7 + ;; code offset: 0x601 (local.get $0) - ;; code offset: 0x5c9 + ;; code offset: 0x603 (local.get $2) ) ) ) - ;; code offset: 0x5d1 + ;; code offset: 0x60b (local.set $0 - ;; code offset: 0x5cf + ;; code offset: 0x609 (local.get $2) ) ) ) - ;; code offset: 0x5de + ;; code offset: 0x618 (i32.store $mimport$0 - ;; code offset: 0x5db + ;; code offset: 0x615 (i32.add - ;; code offset: 0x5d4 + ;; code offset: 0x60e (local.get $1) - ;; code offset: 0x5da + ;; code offset: 0x614 (i32.shl - ;; code offset: 0x5d6 + ;; code offset: 0x610 (local.get $0) - ;; code offset: 0x5d8 + ;; code offset: 0x612 (i32.const 2) ) ) - ;; code offset: 0x5dc + ;; code offset: 0x616 (local.get $7) ) - ;; code offset: 0x5f5 + ;; code offset: 0x631 (i32.store $mimport$0 - ;; code offset: 0x5e9 + ;; code offset: 0x624 (local.tee $0 - ;; code offset: 0x5e8 + ;; code offset: 0x623 (i32.add - ;; code offset: 0x5e1 + ;; code offset: 0x61c (local.get $5) - ;; code offset: 0x5e7 + ;; code offset: 0x622 (i32.shl - ;; code offset: 0x5e3 + ;; code offset: 0x61e (local.get $2) - ;; code offset: 0x5e5 + ;; code offset: 0x620 (i32.const 2) ) ) ) - ;; code offset: 0x5f4 + ;; code offset: 0x630 (i32.sub - ;; code offset: 0x5f0 + ;; code offset: 0x62c (local.tee $0 - ;; code offset: 0x5ed + ;; code offset: 0x628 (i32.load $mimport$0 - ;; code offset: 0x5eb + ;; code offset: 0x626 (local.get $0) ) ) - ;; code offset: 0x5f2 + ;; code offset: 0x62e (i32.const 1) ) ) - ;; code offset: 0x5fd + ;; code offset: 0x63a (if - ;; code offset: 0x5fc + ;; code offset: 0x639 (i32.le_s - ;; code offset: 0x5f8 + ;; code offset: 0x635 (local.get $0) - ;; code offset: 0x5fa + ;; code offset: 0x637 (i32.const 1) ) (block - ;; code offset: 0x609 + ;; code offset: 0x646 (br_if $label$22 - ;; code offset: 0x608 + ;; code offset: 0x645 (i32.ne - ;; code offset: 0x604 + ;; code offset: 0x641 (local.tee $2 - ;; code offset: 0x603 + ;; code offset: 0x640 (i32.add - ;; code offset: 0x5ff + ;; code offset: 0x63c (local.get $2) - ;; code offset: 0x601 + ;; code offset: 0x63e (i32.const 1) ) ) - ;; code offset: 0x606 + ;; code offset: 0x643 (local.get $3) ) ) - ;; code offset: 0x60b + ;; code offset: 0x648 (br $label$6) ) ) ) - ;; code offset: 0x611 + ;; code offset: 0x64e (br_if $label$19 - ;; code offset: 0x60f + ;; code offset: 0x64c (local.get $6) ) ) ) - ;; code offset: 0x617 + ;; code offset: 0x654 (call $free - ;; code offset: 0x615 + ;; code offset: 0x652 (local.get $1) ) - ;; code offset: 0x61b + ;; code offset: 0x658 (call $free - ;; code offset: 0x619 + ;; code offset: 0x656 (local.get $5) ) - ;; code offset: 0x61f + ;; code offset: 0x65c (local.set $5 - ;; code offset: 0x61d + ;; code offset: 0x65a (i32.const 0) ) - ;; code offset: 0x623 + ;; code offset: 0x660 (local.set $0 - ;; code offset: 0x621 + ;; code offset: 0x65e (i32.const 0) ) - ;; code offset: 0x627 + ;; code offset: 0x664 (if - ;; code offset: 0x625 + ;; code offset: 0x662 (local.get $4) - ;; code offset: 0x629 + ;; code offset: 0x666 (loop $label$27 - ;; code offset: 0x62f + ;; code offset: 0x66c (local.set $1 - ;; code offset: 0x62d + ;; code offset: 0x66a (call $fannkuch_worker\28void*\29 - ;; code offset: 0x62b + ;; code offset: 0x668 (local.get $4) ) ) - ;; code offset: 0x636 + ;; code offset: 0x674 (local.set $2 - ;; code offset: 0x633 + ;; code offset: 0x670 (i32.load $mimport$0 offset=8 - ;; code offset: 0x631 + ;; code offset: 0x66e (local.get $4) ) ) - ;; code offset: 0x63a + ;; code offset: 0x678 (call $free - ;; code offset: 0x638 + ;; code offset: 0x676 (local.get $4) ) - ;; code offset: 0x646 + ;; code offset: 0x684 (local.set $0 - ;; code offset: 0x645 + ;; code offset: 0x683 (select - ;; code offset: 0x63c + ;; code offset: 0x67a (local.get $1) - ;; code offset: 0x63e + ;; code offset: 0x67c (local.get $0) - ;; code offset: 0x644 + ;; code offset: 0x682 (i32.lt_s - ;; code offset: 0x640 + ;; code offset: 0x67e (local.get $0) - ;; code offset: 0x642 + ;; code offset: 0x680 (local.get $1) ) ) ) - ;; code offset: 0x64a + ;; code offset: 0x688 (local.set $4 - ;; code offset: 0x648 + ;; code offset: 0x686 (local.get $2) ) - ;; code offset: 0x64e + ;; code offset: 0x68c (br_if $label$27 - ;; code offset: 0x64c + ;; code offset: 0x68a (local.get $2) ) ) ) - ;; code offset: 0x656 + ;; code offset: 0x694 (i32.store $mimport$0 offset=4 - ;; code offset: 0x652 + ;; code offset: 0x690 (local.get $8) - ;; code offset: 0x654 + ;; code offset: 0x692 (local.get $0) ) - ;; code offset: 0x65d + ;; code offset: 0x69c (i32.store $mimport$0 - ;; code offset: 0x659 + ;; code offset: 0x698 (local.get $8) - ;; code offset: 0x65b + ;; code offset: 0x69a (local.get $3) ) - ;; code offset: 0x667 + ;; code offset: 0x6a7 (drop - ;; code offset: 0x665 + ;; code offset: 0x6a5 (call $iprintf - ;; code offset: 0x660 + ;; code offset: 0x6a0 (i32.const 1024) - ;; code offset: 0x663 + ;; code offset: 0x6a3 (local.get $8) ) ) ) - ;; code offset: 0x66e + ;; code offset: 0x6ae (global.set $global$0 - ;; code offset: 0x66d + ;; code offset: 0x6ad (i32.add - ;; code offset: 0x669 + ;; code offset: 0x6a9 (local.get $8) - ;; code offset: 0x66b + ;; code offset: 0x6ab (i32.const 32) ) ) - ;; code offset: 0x670 + ;; code offset: 0x6b0 (local.get $5) ) ;; custom section ".debug_info", size 851 diff --git a/test/passes/ignore_missing_func_dwarf.bin.txt b/test/passes/ignore_missing_func_dwarf.bin.txt index cda2aa3a996..788f3be6565 100644 --- a/test/passes/ignore_missing_func_dwarf.bin.txt +++ b/test/passes/ignore_missing_func_dwarf.bin.txt @@ -622,7 +622,7 @@ Abbrev table for offset: 0x00000000 DW_AT_comp_dir [DW_FORM_strp] ( .debug_str[0x0000009b] = "/home/alon/Dev/emscripten") DW_AT_low_pc [DW_FORM_addr] (0x0000000000000000) DW_AT_ranges [DW_FORM_sec_offset] (0x00000000 - [0x00000005, 0x0000006d)) + [0x00000005, 0x00000073)) 0x00000026: DW_TAG_variable [2] DW_AT_name [DW_FORM_strp] ( .debug_str[0x000000b5] = "quine") @@ -650,7 +650,7 @@ Abbrev table for offset: 0x00000000 0x0000004f: DW_TAG_subprogram [6] * DW_AT_low_pc [DW_FORM_addr] (0x0000000000000005) - DW_AT_high_pc [DW_FORM_data4] (0x00000068) + DW_AT_high_pc [DW_FORM_data4] (0x0000006e) DW_AT_linkage_name [DW_FORM_strp] ( .debug_str[0x000000c4] = "_Z4usedi") DW_AT_name [DW_FORM_strp] ( .debug_str[0x000000cd] = "used") DW_AT_decl_file [DW_FORM_data1] ("/home/alon/Dev/emscripten/a.cpp") @@ -687,8 +687,8 @@ Abbrev table for offset: 0x00000000 0x0000009a: NULL 0x0000009b: DW_TAG_subprogram [8] - DW_AT_low_pc [DW_FORM_addr] (0x000000000000006e) - DW_AT_high_pc [DW_FORM_data4] (0x00000065) + DW_AT_low_pc [DW_FORM_addr] (0x0000000000000074) + DW_AT_high_pc [DW_FORM_data4] (0x00000067) DW_AT_name [DW_FORM_strp] ( .debug_str[0x000000e4] = "main") DW_AT_decl_file [DW_FORM_data1] ("/home/alon/Dev/emscripten/a.cpp") DW_AT_decl_line [DW_FORM_data1] (16) @@ -732,74 +732,74 @@ file_names[ 1]: 0x0000000000000005 4 0 1 0 0 is_stmt -0x00000031: 00 DW_LNE_set_address (0x0000000000000030) +0x00000031: 00 DW_LNE_set_address (0x0000000000000031) 0x00000038: 03 DW_LNS_advance_line (5) 0x0000003a: 05 DW_LNS_set_column (4) 0x0000003c: 0a DW_LNS_set_prologue_end 0x0000003d: 01 DW_LNS_copy - 0x0000000000000030 5 4 1 0 0 is_stmt prologue_end + 0x0000000000000031 5 4 1 0 0 is_stmt prologue_end -0x0000003e: 00 DW_LNE_set_address (0x0000000000000049) +0x0000003e: 00 DW_LNE_set_address (0x000000000000004c) 0x00000045: 03 DW_LNS_advance_line (6) 0x00000047: 01 DW_LNS_copy - 0x0000000000000049 6 4 1 0 0 is_stmt + 0x000000000000004c 6 4 1 0 0 is_stmt -0x00000048: 00 DW_LNE_set_address (0x0000000000000062) +0x00000048: 00 DW_LNE_set_address (0x0000000000000067) 0x0000004f: 03 DW_LNS_advance_line (7) 0x00000051: 05 DW_LNS_set_column (10) 0x00000053: 01 DW_LNS_copy - 0x0000000000000062 7 10 1 0 0 is_stmt + 0x0000000000000067 7 10 1 0 0 is_stmt -0x00000054: 00 DW_LNE_set_address (0x0000000000000069) +0x00000054: 00 DW_LNE_set_address (0x000000000000006f) 0x0000005b: 05 DW_LNS_set_column (3) 0x0000005d: 06 DW_LNS_negate_stmt 0x0000005e: 01 DW_LNS_copy - 0x0000000000000069 7 3 1 0 0 + 0x000000000000006f 7 3 1 0 0 -0x0000005f: 00 DW_LNE_set_address (0x000000000000006d) +0x0000005f: 00 DW_LNE_set_address (0x0000000000000073) 0x00000066: 00 DW_LNE_end_sequence - 0x000000000000006d 7 3 1 0 0 end_sequence + 0x0000000000000073 7 3 1 0 0 end_sequence -0x00000069: 00 DW_LNE_set_address (0x000000000000006e) +0x00000069: 00 DW_LNE_set_address (0x0000000000000074) 0x00000070: 03 DW_LNS_advance_line (16) 0x00000072: 01 DW_LNS_copy - 0x000000000000006e 16 0 1 0 0 is_stmt + 0x0000000000000074 16 0 1 0 0 is_stmt -0x00000073: 00 DW_LNE_set_address (0x00000000000000a7) +0x00000073: 00 DW_LNE_set_address (0x00000000000000ae) 0x0000007a: 03 DW_LNS_advance_line (17) 0x0000007c: 05 DW_LNS_set_column (10) 0x0000007e: 0a DW_LNS_set_prologue_end 0x0000007f: 01 DW_LNS_copy - 0x00000000000000a7 17 10 1 0 0 is_stmt prologue_end + 0x00000000000000ae 17 10 1 0 0 is_stmt prologue_end -0x00000080: 00 DW_LNE_set_address (0x00000000000000ad) +0x00000080: 00 DW_LNE_set_address (0x00000000000000b4) 0x00000087: 05 DW_LNS_set_column (25) 0x00000089: 06 DW_LNS_negate_stmt 0x0000008a: 01 DW_LNS_copy - 0x00000000000000ad 17 25 1 0 0 + 0x00000000000000b4 17 25 1 0 0 -0x0000008b: 00 DW_LNE_set_address (0x00000000000000b9) +0x0000008b: 00 DW_LNE_set_address (0x00000000000000c1) 0x00000092: 05 DW_LNS_set_column (19) 0x00000094: 01 DW_LNS_copy - 0x00000000000000b9 17 19 1 0 0 + 0x00000000000000c1 17 19 1 0 0 -0x00000095: 00 DW_LNE_set_address (0x00000000000000c0) +0x00000095: 00 DW_LNE_set_address (0x00000000000000c8) 0x0000009c: 05 DW_LNS_set_column (3) 0x0000009e: 01 DW_LNS_copy - 0x00000000000000c0 17 3 1 0 0 + 0x00000000000000c8 17 3 1 0 0 -0x0000009f: 00 DW_LNE_set_address (0x00000000000000d3) +0x0000009f: 00 DW_LNE_set_address (0x00000000000000db) 0x000000a6: 00 DW_LNE_end_sequence - 0x00000000000000d3 17 3 1 0 0 end_sequence + 0x00000000000000db 17 3 1 0 0 end_sequence .debug_str contents: @@ -817,9 +817,9 @@ file_names[ 1]: 0x000000e9: "x" .debug_ranges contents: -00000000 00000005 0000006d +00000000 00000005 00000073 00000000 -00000010 0000006e 000000d3 +00000010 00000074 000000db 00000010 (module (type $none_=>_none (func)) @@ -875,77 +875,77 @@ file_names[ 1]: ;; code offset: 0x2b (local.get $0) ) - ;; code offset: 0x35 + ;; code offset: 0x37 (local.set $4 - ;; code offset: 0x32 + ;; code offset: 0x33 (i32.load $mimport$0 offset=12 - ;; code offset: 0x30 + ;; code offset: 0x31 (local.get $3) ) ) - ;; code offset: 0x39 + ;; code offset: 0x3b (local.set $5 - ;; code offset: 0x37 + ;; code offset: 0x39 (i32.const 1) ) - ;; code offset: 0x40 + ;; code offset: 0x42 (local.set $6 - ;; code offset: 0x3f + ;; code offset: 0x41 (i32.add - ;; code offset: 0x3b - (local.get $4) ;; code offset: 0x3d + (local.get $4) + ;; code offset: 0x3f (local.get $5) ) ) - ;; code offset: 0x46 + ;; code offset: 0x48 (i32.store $mimport$0 offset=12 - ;; code offset: 0x42 - (local.get $3) ;; code offset: 0x44 + (local.get $3) + ;; code offset: 0x46 (local.get $6) ) - ;; code offset: 0x4e + ;; code offset: 0x52 (local.set $7 - ;; code offset: 0x4b + ;; code offset: 0x4e (i32.load $mimport$0 offset=12 - ;; code offset: 0x49 + ;; code offset: 0x4c (local.get $3) ) ) - ;; code offset: 0x52 + ;; code offset: 0x56 (local.set $8 - ;; code offset: 0x50 + ;; code offset: 0x54 (i32.const -1) ) - ;; code offset: 0x59 + ;; code offset: 0x5d (local.set $9 - ;; code offset: 0x58 + ;; code offset: 0x5c (i32.add - ;; code offset: 0x54 + ;; code offset: 0x58 (local.get $7) - ;; code offset: 0x56 + ;; code offset: 0x5a (local.get $8) ) ) - ;; code offset: 0x5f + ;; code offset: 0x63 (i32.store $mimport$0 offset=12 - ;; code offset: 0x5b + ;; code offset: 0x5f (local.get $3) - ;; code offset: 0x5d + ;; code offset: 0x61 (local.get $9) ) - ;; code offset: 0x67 + ;; code offset: 0x6d (local.set $10 - ;; code offset: 0x64 + ;; code offset: 0x69 (i32.load $mimport$0 offset=12 - ;; code offset: 0x62 + ;; code offset: 0x67 (local.get $3) ) ) - ;; code offset: 0x6b + ;; code offset: 0x71 (return - ;; code offset: 0x69 + ;; code offset: 0x6f (local.get $10) ) ) @@ -961,115 +961,115 @@ file_names[ 1]: (local $8 i32) (local $9 i32) (local $10 i32) - ;; code offset: 0x87 + ;; code offset: 0x8d (local.set $0 - ;; code offset: 0x85 + ;; code offset: 0x8b (global.get $global$0) ) - ;; code offset: 0x8b + ;; code offset: 0x91 (local.set $1 - ;; code offset: 0x89 + ;; code offset: 0x8f (i32.const 16) ) - ;; code offset: 0x92 + ;; code offset: 0x98 (local.set $2 - ;; code offset: 0x91 + ;; code offset: 0x97 (i32.sub - ;; code offset: 0x8d + ;; code offset: 0x93 (local.get $0) - ;; code offset: 0x8f + ;; code offset: 0x95 (local.get $1) ) ) - ;; code offset: 0x96 + ;; code offset: 0x9c (global.set $global$0 - ;; code offset: 0x94 + ;; code offset: 0x9a (local.get $2) ) - ;; code offset: 0x9a + ;; code offset: 0xa0 (local.set $3 - ;; code offset: 0x98 + ;; code offset: 0x9e (i32.const 42) ) - ;; code offset: 0x9e + ;; code offset: 0xa4 (local.set $4 - ;; code offset: 0x9c + ;; code offset: 0xa2 (i32.const 0) ) - ;; code offset: 0xa4 + ;; code offset: 0xaa (i32.store $mimport$0 offset=12 - ;; code offset: 0xa0 + ;; code offset: 0xa6 (local.get $2) - ;; code offset: 0xa2 + ;; code offset: 0xa8 (local.get $4) ) - ;; code offset: 0xab + ;; code offset: 0xb2 (local.set $5 - ;; code offset: 0xa9 + ;; code offset: 0xb0 (call $used\28int\29 - ;; code offset: 0xa7 + ;; code offset: 0xae (local.get $3) ) ) - ;; code offset: 0xaf + ;; code offset: 0xb6 (local.set $6 - ;; code offset: 0xad + ;; code offset: 0xb4 (i32.const 0) ) - ;; code offset: 0xb7 + ;; code offset: 0xbf (local.set $7 - ;; code offset: 0xb3 + ;; code offset: 0xba (i32.load $mimport$0 offset=1168 - ;; code offset: 0xb1 + ;; code offset: 0xb8 (local.get $6) ) ) - ;; code offset: 0xbe + ;; code offset: 0xc6 (local.set $8 - ;; code offset: 0xbd + ;; code offset: 0xc5 (i32.add - ;; code offset: 0xb9 + ;; code offset: 0xc1 (local.get $5) - ;; code offset: 0xbb + ;; code offset: 0xc3 (local.get $7) ) ) - ;; code offset: 0xc2 + ;; code offset: 0xca (local.set $9 - ;; code offset: 0xc0 + ;; code offset: 0xc8 (i32.const 16) ) - ;; code offset: 0xc9 + ;; code offset: 0xd1 (local.set $10 - ;; code offset: 0xc8 + ;; code offset: 0xd0 (i32.add - ;; code offset: 0xc4 + ;; code offset: 0xcc (local.get $2) - ;; code offset: 0xc6 + ;; code offset: 0xce (local.get $9) ) ) - ;; code offset: 0xcd + ;; code offset: 0xd5 (global.set $global$0 - ;; code offset: 0xcb + ;; code offset: 0xd3 (local.get $10) ) - ;; code offset: 0xd1 + ;; code offset: 0xd9 (return - ;; code offset: 0xcf + ;; code offset: 0xd7 (local.get $8) ) ) (func $main (param $0 i32) (param $1 i32) (result i32) (local $2 i32) - ;; code offset: 0xd9 + ;; code offset: 0xe1 (local.set $2 - ;; code offset: 0xd7 + ;; code offset: 0xdf (call $__original_main) ) - ;; code offset: 0xdd + ;; code offset: 0xe5 (return - ;; code offset: 0xdb + ;; code offset: 0xe3 (local.get $2) ) ) diff --git a/test/passes/reverse_dwarf_abbrevs.bin.txt b/test/passes/reverse_dwarf_abbrevs.bin.txt index 621467db049..c313269452d 100644 --- a/test/passes/reverse_dwarf_abbrevs.bin.txt +++ b/test/passes/reverse_dwarf_abbrevs.bin.txt @@ -188,7 +188,7 @@ file_names[ 1]: ;; code offset: 0x28 (local.get $0) ) - ;; code offset: 0x2d + ;; code offset: 0x2e (i32.const -1) ) (func $5 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) @@ -199,302 +199,302 @@ file_names[ 1]: (local $7 i32) (local $8 i32) (local $9 i32) - ;; code offset: 0x48 + ;; code offset: 0x49 (global.set $global$0 - ;; code offset: 0x46 + ;; code offset: 0x47 (local.tee $3 - ;; code offset: 0x45 + ;; code offset: 0x46 (i32.sub - ;; code offset: 0x41 + ;; code offset: 0x42 (global.get $global$0) - ;; code offset: 0x43 + ;; code offset: 0x44 (i32.const 32) ) ) ) - ;; code offset: 0x53 + ;; code offset: 0x55 (i32.store $mimport$0 offset=16 - ;; code offset: 0x4a + ;; code offset: 0x4b (local.get $3) - ;; code offset: 0x51 + ;; code offset: 0x53 (local.tee $4 - ;; code offset: 0x4e + ;; code offset: 0x4f (i32.load $mimport$0 offset=28 - ;; code offset: 0x4c + ;; code offset: 0x4d (local.get $0) ) ) ) - ;; code offset: 0x5b + ;; code offset: 0x5f (local.set $5 - ;; code offset: 0x58 + ;; code offset: 0x5b (i32.load $mimport$0 offset=20 - ;; code offset: 0x56 + ;; code offset: 0x59 (local.get $0) ) ) - ;; code offset: 0x61 + ;; code offset: 0x65 (i32.store $mimport$0 offset=28 - ;; code offset: 0x5d + ;; code offset: 0x61 (local.get $3) - ;; code offset: 0x5f + ;; code offset: 0x63 (local.get $2) ) - ;; code offset: 0x68 + ;; code offset: 0x6d (i32.store $mimport$0 offset=24 - ;; code offset: 0x64 + ;; code offset: 0x69 (local.get $3) - ;; code offset: 0x66 + ;; code offset: 0x6b (local.get $1) ) - ;; code offset: 0x74 + ;; code offset: 0x7a (i32.store $mimport$0 offset=20 - ;; code offset: 0x6b + ;; code offset: 0x71 (local.get $3) - ;; code offset: 0x72 + ;; code offset: 0x78 (local.tee $1 - ;; code offset: 0x71 + ;; code offset: 0x77 (i32.sub - ;; code offset: 0x6d + ;; code offset: 0x73 (local.get $5) - ;; code offset: 0x6f + ;; code offset: 0x75 (local.get $4) ) ) ) - ;; code offset: 0x7c + ;; code offset: 0x83 (local.set $6 - ;; code offset: 0x7b + ;; code offset: 0x82 (i32.add - ;; code offset: 0x77 + ;; code offset: 0x7e (local.get $1) - ;; code offset: 0x79 + ;; code offset: 0x80 (local.get $2) ) ) - ;; code offset: 0x80 + ;; code offset: 0x87 (local.set $7 - ;; code offset: 0x7e + ;; code offset: 0x85 (i32.const 2) ) - ;; code offset: 0x87 + ;; code offset: 0x8e (local.set $1 - ;; code offset: 0x86 + ;; code offset: 0x8d (i32.add - ;; code offset: 0x82 + ;; code offset: 0x89 (local.get $3) - ;; code offset: 0x84 + ;; code offset: 0x8b (i32.const 16) ) ) - ;; code offset: 0x18d + ;; code offset: 0x1a7 (local.set $4 - ;; code offset: 0x89 + ;; code offset: 0x90 (block $label$1 (result i32) (block $label$2 (block $label$3 - ;; code offset: 0xa5 + ;; code offset: 0xad (if - ;; code offset: 0xa4 + ;; code offset: 0xac (i32.eqz - ;; code offset: 0xa2 + ;; code offset: 0xaa (call $4 - ;; code offset: 0xa0 + ;; code offset: 0xa8 (call $fimport$0 - ;; code offset: 0x91 + ;; code offset: 0x98 (i32.load $mimport$0 offset=60 - ;; code offset: 0x8f + ;; code offset: 0x96 (local.get $0) ) - ;; code offset: 0x98 + ;; code offset: 0xa0 (i32.add - ;; code offset: 0x94 + ;; code offset: 0x9c (local.get $3) - ;; code offset: 0x96 + ;; code offset: 0x9e (i32.const 16) ) - ;; code offset: 0x99 + ;; code offset: 0xa1 (i32.const 2) - ;; code offset: 0x9f + ;; code offset: 0xa7 (i32.add - ;; code offset: 0x9b + ;; code offset: 0xa3 (local.get $3) - ;; code offset: 0x9d + ;; code offset: 0xa5 (i32.const 12) ) ) ) ) - ;; code offset: 0xa7 + ;; code offset: 0xaf (loop $label$5 - ;; code offset: 0xb3 + ;; code offset: 0xbc (br_if $label$3 - ;; code offset: 0xb2 + ;; code offset: 0xbb (i32.eq - ;; code offset: 0xa9 + ;; code offset: 0xb1 (local.get $6) - ;; code offset: 0xb0 + ;; code offset: 0xb9 (local.tee $4 - ;; code offset: 0xad + ;; code offset: 0xb5 (i32.load $mimport$0 offset=12 - ;; code offset: 0xab + ;; code offset: 0xb3 (local.get $3) ) ) ) ) - ;; code offset: 0xba + ;; code offset: 0xc3 (br_if $label$2 - ;; code offset: 0xb9 + ;; code offset: 0xc2 (i32.le_s - ;; code offset: 0xb5 + ;; code offset: 0xbe (local.get $4) - ;; code offset: 0xb7 + ;; code offset: 0xc0 (i32.const -1) ) ) - ;; code offset: 0xe2 + ;; code offset: 0xed (i32.store $mimport$0 - ;; code offset: 0xce + ;; code offset: 0xd8 (local.tee $9 - ;; code offset: 0xcd + ;; code offset: 0xd7 (i32.add - ;; code offset: 0xbc + ;; code offset: 0xc5 (local.get $1) - ;; code offset: 0xcc + ;; code offset: 0xd6 (i32.shl - ;; code offset: 0xc8 + ;; code offset: 0xd2 (local.tee $5 - ;; code offset: 0xc7 + ;; code offset: 0xd1 (i32.gt_u - ;; code offset: 0xbe + ;; code offset: 0xc7 (local.get $4) - ;; code offset: 0xc5 + ;; code offset: 0xcf (local.tee $8 - ;; code offset: 0xc2 + ;; code offset: 0xcb (i32.load $mimport$0 offset=4 - ;; code offset: 0xc0 + ;; code offset: 0xc9 (local.get $1) ) ) ) ) - ;; code offset: 0xca + ;; code offset: 0xd4 (i32.const 3) ) ) ) - ;; code offset: 0xe1 + ;; code offset: 0xec (i32.add - ;; code offset: 0xda + ;; code offset: 0xe4 (local.tee $8 - ;; code offset: 0xd9 + ;; code offset: 0xe3 (i32.sub - ;; code offset: 0xd0 + ;; code offset: 0xda (local.get $4) - ;; code offset: 0xd8 + ;; code offset: 0xe2 (select - ;; code offset: 0xd2 + ;; code offset: 0xdc (local.get $8) - ;; code offset: 0xd4 + ;; code offset: 0xde (i32.const 0) - ;; code offset: 0xd6 + ;; code offset: 0xe0 (local.get $5) ) ) ) - ;; code offset: 0xde + ;; code offset: 0xe8 (i32.load $mimport$0 - ;; code offset: 0xdc + ;; code offset: 0xe6 (local.get $9) ) ) ) - ;; code offset: 0xf9 + ;; code offset: 0x106 (i32.store $mimport$0 - ;; code offset: 0xef + ;; code offset: 0xfb (local.tee $9 - ;; code offset: 0xee + ;; code offset: 0xfa (i32.add - ;; code offset: 0xe5 + ;; code offset: 0xf1 (local.get $1) - ;; code offset: 0xed + ;; code offset: 0xf9 (select - ;; code offset: 0xe7 + ;; code offset: 0xf3 (i32.const 12) - ;; code offset: 0xe9 + ;; code offset: 0xf5 (i32.const 4) - ;; code offset: 0xeb + ;; code offset: 0xf7 (local.get $5) ) ) ) - ;; code offset: 0xf8 + ;; code offset: 0x105 (i32.sub - ;; code offset: 0xf3 + ;; code offset: 0xff (i32.load $mimport$0 - ;; code offset: 0xf1 + ;; code offset: 0xfd (local.get $9) ) - ;; code offset: 0xf6 + ;; code offset: 0x103 (local.get $8) ) ) - ;; code offset: 0x101 + ;; code offset: 0x10f (local.set $6 - ;; code offset: 0x100 + ;; code offset: 0x10e (i32.sub - ;; code offset: 0xfc + ;; code offset: 0x10a (local.get $6) - ;; code offset: 0xfe + ;; code offset: 0x10c (local.get $4) ) ) - ;; code offset: 0x125 + ;; code offset: 0x134 (br_if $label$5 - ;; code offset: 0x124 + ;; code offset: 0x133 (i32.eqz - ;; code offset: 0x122 + ;; code offset: 0x131 (call $4 - ;; code offset: 0x120 + ;; code offset: 0x12f (call $fimport$0 - ;; code offset: 0x105 + ;; code offset: 0x113 (i32.load $mimport$0 offset=60 - ;; code offset: 0x103 + ;; code offset: 0x111 (local.get $0) ) - ;; code offset: 0x112 + ;; code offset: 0x121 (local.tee $1 - ;; code offset: 0x111 + ;; code offset: 0x120 (select - ;; code offset: 0x10c + ;; code offset: 0x11b (i32.add - ;; code offset: 0x108 + ;; code offset: 0x117 (local.get $1) - ;; code offset: 0x10a + ;; code offset: 0x119 (i32.const 8) ) - ;; code offset: 0x10d + ;; code offset: 0x11c (local.get $1) - ;; code offset: 0x10f + ;; code offset: 0x11e (local.get $5) ) ) - ;; code offset: 0x119 + ;; code offset: 0x128 (local.tee $7 - ;; code offset: 0x118 + ;; code offset: 0x127 (i32.sub - ;; code offset: 0x114 + ;; code offset: 0x123 (local.get $7) - ;; code offset: 0x116 + ;; code offset: 0x125 (local.get $5) ) ) - ;; code offset: 0x11f + ;; code offset: 0x12e (i32.add - ;; code offset: 0x11b + ;; code offset: 0x12a (local.get $3) - ;; code offset: 0x11d + ;; code offset: 0x12c (i32.const 12) ) ) @@ -503,873 +503,873 @@ file_names[ 1]: ) ) ) - ;; code offset: 0x12d + ;; code offset: 0x13c (i32.store $mimport$0 offset=12 - ;; code offset: 0x129 + ;; code offset: 0x138 (local.get $3) - ;; code offset: 0x12b + ;; code offset: 0x13a (i32.const -1) ) - ;; code offset: 0x135 + ;; code offset: 0x145 (br_if $label$2 - ;; code offset: 0x134 + ;; code offset: 0x144 (i32.ne - ;; code offset: 0x130 + ;; code offset: 0x140 (local.get $6) - ;; code offset: 0x132 + ;; code offset: 0x142 (i32.const -1) ) ) ) - ;; code offset: 0x141 + ;; code offset: 0x152 (i32.store $mimport$0 offset=28 - ;; code offset: 0x138 + ;; code offset: 0x148 (local.get $0) - ;; code offset: 0x13f + ;; code offset: 0x150 (local.tee $1 - ;; code offset: 0x13c + ;; code offset: 0x14c (i32.load $mimport$0 offset=44 - ;; code offset: 0x13a + ;; code offset: 0x14a (local.get $0) ) ) ) - ;; code offset: 0x148 + ;; code offset: 0x15a (i32.store $mimport$0 offset=20 - ;; code offset: 0x144 + ;; code offset: 0x156 (local.get $0) - ;; code offset: 0x146 + ;; code offset: 0x158 (local.get $1) ) - ;; code offset: 0x155 + ;; code offset: 0x169 (i32.store $mimport$0 offset=16 - ;; code offset: 0x14b + ;; code offset: 0x15e (local.get $0) - ;; code offset: 0x154 + ;; code offset: 0x168 (i32.add - ;; code offset: 0x14d + ;; code offset: 0x160 (local.get $1) - ;; code offset: 0x151 + ;; code offset: 0x164 (i32.load $mimport$0 offset=48 - ;; code offset: 0x14f + ;; code offset: 0x162 (local.get $0) ) ) ) - ;; code offset: 0x15a + ;; code offset: 0x16f (br $label$1 - ;; code offset: 0x158 + ;; code offset: 0x16d (local.get $2) ) ) - ;; code offset: 0x161 + ;; code offset: 0x176 (i32.store $mimport$0 offset=28 - ;; code offset: 0x15d + ;; code offset: 0x172 (local.get $0) - ;; code offset: 0x15f + ;; code offset: 0x174 (i32.const 0) ) - ;; code offset: 0x168 + ;; code offset: 0x17e (i64.store $mimport$0 offset=16 - ;; code offset: 0x164 + ;; code offset: 0x17a (local.get $0) - ;; code offset: 0x166 + ;; code offset: 0x17c (i64.const 0) ) - ;; code offset: 0x175 + ;; code offset: 0x18d (i32.store $mimport$0 - ;; code offset: 0x16b + ;; code offset: 0x182 (local.get $0) - ;; code offset: 0x174 + ;; code offset: 0x18c (i32.or - ;; code offset: 0x16f + ;; code offset: 0x186 (i32.load $mimport$0 - ;; code offset: 0x16d + ;; code offset: 0x184 (local.get $0) ) - ;; code offset: 0x172 + ;; code offset: 0x18a (i32.const 32) ) ) - ;; code offset: 0x183 + ;; code offset: 0x19c (drop - ;; code offset: 0x181 + ;; code offset: 0x19a (br_if $label$1 - ;; code offset: 0x17a + ;; code offset: 0x193 (local.tee $4 - ;; code offset: 0x178 + ;; code offset: 0x191 (i32.const 0) ) - ;; code offset: 0x180 + ;; code offset: 0x199 (i32.eq - ;; code offset: 0x17c + ;; code offset: 0x195 (local.get $7) - ;; code offset: 0x17e + ;; code offset: 0x197 (i32.const 2) ) ) ) - ;; code offset: 0x18b + ;; code offset: 0x1a5 (i32.sub - ;; code offset: 0x184 + ;; code offset: 0x19d (local.get $2) - ;; code offset: 0x188 + ;; code offset: 0x1a1 (i32.load $mimport$0 offset=4 - ;; code offset: 0x186 + ;; code offset: 0x19f (local.get $1) ) ) ) ) - ;; code offset: 0x194 + ;; code offset: 0x1ae (global.set $global$0 - ;; code offset: 0x193 + ;; code offset: 0x1ad (i32.add - ;; code offset: 0x18f + ;; code offset: 0x1a9 (local.get $3) - ;; code offset: 0x191 + ;; code offset: 0x1ab (i32.const 32) ) ) - ;; code offset: 0x196 + ;; code offset: 0x1b0 (local.get $4) ) (func $6 (param $0 i32) (result i32) - ;; code offset: 0x19b + ;; code offset: 0x1b5 (i32.const 0) ) (func $7 (param $0 i32) (param $1 i64) (param $2 i32) (result i64) - ;; code offset: 0x1a0 + ;; code offset: 0x1ba (i64.const 0) ) (func $8 (param $0 i32) (result i32) (local $1 i32) - ;; code offset: 0x1b6 + ;; code offset: 0x1d1 (i32.store8 $mimport$0 offset=74 - ;; code offset: 0x1a7 + ;; code offset: 0x1c1 (local.get $0) - ;; code offset: 0x1b5 + ;; code offset: 0x1d0 (i32.or - ;; code offset: 0x1b2 + ;; code offset: 0x1cd (i32.add - ;; code offset: 0x1ae + ;; code offset: 0x1c9 (local.tee $1 - ;; code offset: 0x1ab + ;; code offset: 0x1c5 (i32.load8_u $mimport$0 offset=74 - ;; code offset: 0x1a9 + ;; code offset: 0x1c3 (local.get $0) ) ) - ;; code offset: 0x1b0 + ;; code offset: 0x1cb (i32.const -1) ) - ;; code offset: 0x1b3 + ;; code offset: 0x1ce (local.get $1) ) ) - ;; code offset: 0x1c3 + ;; code offset: 0x1e0 (if - ;; code offset: 0x1c2 + ;; code offset: 0x1df (i32.and - ;; code offset: 0x1be + ;; code offset: 0x1db (local.tee $1 - ;; code offset: 0x1bb + ;; code offset: 0x1d7 (i32.load $mimport$0 - ;; code offset: 0x1b9 + ;; code offset: 0x1d5 (local.get $0) ) ) - ;; code offset: 0x1c0 + ;; code offset: 0x1dd (i32.const 8) ) (block - ;; code offset: 0x1cc + ;; code offset: 0x1e9 (i32.store $mimport$0 - ;; code offset: 0x1c5 + ;; code offset: 0x1e2 (local.get $0) - ;; code offset: 0x1cb + ;; code offset: 0x1e8 (i32.or - ;; code offset: 0x1c7 + ;; code offset: 0x1e4 (local.get $1) - ;; code offset: 0x1c9 + ;; code offset: 0x1e6 (i32.const 32) ) ) - ;; code offset: 0x1d1 + ;; code offset: 0x1ef (return - ;; code offset: 0x1cf + ;; code offset: 0x1ed (i32.const -1) ) ) ) - ;; code offset: 0x1d7 + ;; code offset: 0x1f5 (i64.store $mimport$0 offset=4 align=4 - ;; code offset: 0x1d3 + ;; code offset: 0x1f1 (local.get $0) - ;; code offset: 0x1d5 + ;; code offset: 0x1f3 (i64.const 0) ) - ;; code offset: 0x1e3 + ;; code offset: 0x203 (i32.store $mimport$0 offset=28 - ;; code offset: 0x1da + ;; code offset: 0x1f9 (local.get $0) - ;; code offset: 0x1e1 + ;; code offset: 0x201 (local.tee $1 - ;; code offset: 0x1de + ;; code offset: 0x1fd (i32.load $mimport$0 offset=44 - ;; code offset: 0x1dc + ;; code offset: 0x1fb (local.get $0) ) ) ) - ;; code offset: 0x1ea + ;; code offset: 0x20b (i32.store $mimport$0 offset=20 - ;; code offset: 0x1e6 + ;; code offset: 0x207 (local.get $0) - ;; code offset: 0x1e8 + ;; code offset: 0x209 (local.get $1) ) - ;; code offset: 0x1f7 + ;; code offset: 0x21a (i32.store $mimport$0 offset=16 - ;; code offset: 0x1ed + ;; code offset: 0x20f (local.get $0) - ;; code offset: 0x1f6 + ;; code offset: 0x219 (i32.add - ;; code offset: 0x1ef + ;; code offset: 0x211 (local.get $1) - ;; code offset: 0x1f3 + ;; code offset: 0x215 (i32.load $mimport$0 offset=48 - ;; code offset: 0x1f1 + ;; code offset: 0x213 (local.get $0) ) ) ) - ;; code offset: 0x1fa + ;; code offset: 0x21e (i32.const 0) ) (func $9 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) - ;; code offset: 0x20c + ;; code offset: 0x230 (if - ;; code offset: 0x20b + ;; code offset: 0x22f (i32.ge_u - ;; code offset: 0x206 + ;; code offset: 0x22a (local.get $2) - ;; code offset: 0x208 + ;; code offset: 0x22c (i32.const 512) ) (block - ;; code offset: 0x216 + ;; code offset: 0x23a (drop - ;; code offset: 0x214 + ;; code offset: 0x238 (call $fimport$1 - ;; code offset: 0x20e + ;; code offset: 0x232 (local.get $0) - ;; code offset: 0x210 + ;; code offset: 0x234 (local.get $1) - ;; code offset: 0x212 + ;; code offset: 0x236 (local.get $2) ) ) - ;; code offset: 0x219 + ;; code offset: 0x23d (return - ;; code offset: 0x217 + ;; code offset: 0x23b (local.get $0) ) ) ) - ;; code offset: 0x220 + ;; code offset: 0x244 (local.set $3 - ;; code offset: 0x21f + ;; code offset: 0x243 (i32.add - ;; code offset: 0x21b + ;; code offset: 0x23f (local.get $0) - ;; code offset: 0x21d + ;; code offset: 0x241 (local.get $2) ) ) - ;; code offset: 0x222 + ;; code offset: 0x246 (block $label$2 - ;; code offset: 0x22d + ;; code offset: 0x251 (if - ;; code offset: 0x22c + ;; code offset: 0x250 (i32.eqz - ;; code offset: 0x22b + ;; code offset: 0x24f (i32.and - ;; code offset: 0x228 + ;; code offset: 0x24c (i32.xor - ;; code offset: 0x224 + ;; code offset: 0x248 (local.get $0) - ;; code offset: 0x226 + ;; code offset: 0x24a (local.get $1) ) - ;; code offset: 0x229 + ;; code offset: 0x24d (i32.const 3) ) ) (block - ;; code offset: 0x22f + ;; code offset: 0x253 (block $label$4 - ;; code offset: 0x236 + ;; code offset: 0x25a (if - ;; code offset: 0x235 + ;; code offset: 0x259 (i32.lt_s - ;; code offset: 0x231 + ;; code offset: 0x255 (local.get $2) - ;; code offset: 0x233 + ;; code offset: 0x257 (i32.const 1) ) (block - ;; code offset: 0x23a + ;; code offset: 0x25e (local.set $2 - ;; code offset: 0x238 + ;; code offset: 0x25c (local.get $0) ) - ;; code offset: 0x23c + ;; code offset: 0x260 (br $label$4) ) ) - ;; code offset: 0x245 + ;; code offset: 0x269 (if - ;; code offset: 0x244 + ;; code offset: 0x268 (i32.eqz - ;; code offset: 0x243 + ;; code offset: 0x267 (i32.and - ;; code offset: 0x23f + ;; code offset: 0x263 (local.get $0) - ;; code offset: 0x241 + ;; code offset: 0x265 (i32.const 3) ) ) (block - ;; code offset: 0x249 + ;; code offset: 0x26d (local.set $2 - ;; code offset: 0x247 + ;; code offset: 0x26b (local.get $0) ) - ;; code offset: 0x24b + ;; code offset: 0x26f (br $label$4) ) ) - ;; code offset: 0x250 + ;; code offset: 0x274 (local.set $2 - ;; code offset: 0x24e + ;; code offset: 0x272 (local.get $0) ) - ;; code offset: 0x252 + ;; code offset: 0x276 (loop $label$7 - ;; code offset: 0x25b + ;; code offset: 0x280 (i32.store8 $mimport$0 - ;; code offset: 0x254 + ;; code offset: 0x278 (local.get $2) - ;; code offset: 0x258 + ;; code offset: 0x27c (i32.load8_u $mimport$0 - ;; code offset: 0x256 + ;; code offset: 0x27a (local.get $1) ) ) - ;; code offset: 0x263 + ;; code offset: 0x289 (local.set $1 - ;; code offset: 0x262 + ;; code offset: 0x288 (i32.add - ;; code offset: 0x25e + ;; code offset: 0x284 (local.get $1) - ;; code offset: 0x260 + ;; code offset: 0x286 (i32.const 1) ) ) - ;; code offset: 0x26f + ;; code offset: 0x295 (br_if $label$4 - ;; code offset: 0x26e + ;; code offset: 0x294 (i32.ge_u - ;; code offset: 0x26a + ;; code offset: 0x290 (local.tee $2 - ;; code offset: 0x269 + ;; code offset: 0x28f (i32.add - ;; code offset: 0x265 + ;; code offset: 0x28b (local.get $2) - ;; code offset: 0x267 + ;; code offset: 0x28d (i32.const 1) ) ) - ;; code offset: 0x26c + ;; code offset: 0x292 (local.get $3) ) ) - ;; code offset: 0x276 + ;; code offset: 0x29c (br_if $label$7 - ;; code offset: 0x275 + ;; code offset: 0x29b (i32.and - ;; code offset: 0x271 + ;; code offset: 0x297 (local.get $2) - ;; code offset: 0x273 + ;; code offset: 0x299 (i32.const 3) ) ) ) ) - ;; code offset: 0x27a + ;; code offset: 0x2a0 (block $label$8 - ;; code offset: 0x287 + ;; code offset: 0x2ad (br_if $label$8 - ;; code offset: 0x286 + ;; code offset: 0x2ac (i32.lt_u - ;; code offset: 0x281 + ;; code offset: 0x2a7 (local.tee $4 - ;; code offset: 0x280 + ;; code offset: 0x2a6 (i32.and - ;; code offset: 0x27c + ;; code offset: 0x2a2 (local.get $3) - ;; code offset: 0x27e + ;; code offset: 0x2a4 (i32.const -4) ) ) - ;; code offset: 0x283 + ;; code offset: 0x2a9 (i32.const 64) ) ) - ;; code offset: 0x293 + ;; code offset: 0x2b9 (br_if $label$8 - ;; code offset: 0x292 + ;; code offset: 0x2b8 (i32.gt_u - ;; code offset: 0x289 + ;; code offset: 0x2af (local.get $2) - ;; code offset: 0x290 + ;; code offset: 0x2b6 (local.tee $5 - ;; code offset: 0x28f + ;; code offset: 0x2b5 (i32.add - ;; code offset: 0x28b + ;; code offset: 0x2b1 (local.get $4) - ;; code offset: 0x28d + ;; code offset: 0x2b3 (i32.const -64) ) ) ) ) - ;; code offset: 0x295 + ;; code offset: 0x2bb (loop $label$9 - ;; code offset: 0x29e + ;; code offset: 0x2c5 (i32.store $mimport$0 - ;; code offset: 0x297 + ;; code offset: 0x2bd (local.get $2) - ;; code offset: 0x29b + ;; code offset: 0x2c1 (i32.load $mimport$0 - ;; code offset: 0x299 + ;; code offset: 0x2bf (local.get $1) ) ) - ;; code offset: 0x2a8 + ;; code offset: 0x2d1 (i32.store $mimport$0 offset=4 - ;; code offset: 0x2a1 + ;; code offset: 0x2c9 (local.get $2) - ;; code offset: 0x2a5 + ;; code offset: 0x2cd (i32.load $mimport$0 offset=4 - ;; code offset: 0x2a3 + ;; code offset: 0x2cb (local.get $1) ) ) - ;; code offset: 0x2b2 + ;; code offset: 0x2dd (i32.store $mimport$0 offset=8 - ;; code offset: 0x2ab + ;; code offset: 0x2d5 (local.get $2) - ;; code offset: 0x2af + ;; code offset: 0x2d9 (i32.load $mimport$0 offset=8 - ;; code offset: 0x2ad + ;; code offset: 0x2d7 (local.get $1) ) ) - ;; code offset: 0x2bc + ;; code offset: 0x2e9 (i32.store $mimport$0 offset=12 - ;; code offset: 0x2b5 + ;; code offset: 0x2e1 (local.get $2) - ;; code offset: 0x2b9 + ;; code offset: 0x2e5 (i32.load $mimport$0 offset=12 - ;; code offset: 0x2b7 + ;; code offset: 0x2e3 (local.get $1) ) ) - ;; code offset: 0x2c6 + ;; code offset: 0x2f5 (i32.store $mimport$0 offset=16 - ;; code offset: 0x2bf + ;; code offset: 0x2ed (local.get $2) - ;; code offset: 0x2c3 + ;; code offset: 0x2f1 (i32.load $mimport$0 offset=16 - ;; code offset: 0x2c1 + ;; code offset: 0x2ef (local.get $1) ) ) - ;; code offset: 0x2d0 + ;; code offset: 0x301 (i32.store $mimport$0 offset=20 - ;; code offset: 0x2c9 + ;; code offset: 0x2f9 (local.get $2) - ;; code offset: 0x2cd + ;; code offset: 0x2fd (i32.load $mimport$0 offset=20 - ;; code offset: 0x2cb + ;; code offset: 0x2fb (local.get $1) ) ) - ;; code offset: 0x2da + ;; code offset: 0x30d (i32.store $mimport$0 offset=24 - ;; code offset: 0x2d3 + ;; code offset: 0x305 (local.get $2) - ;; code offset: 0x2d7 + ;; code offset: 0x309 (i32.load $mimport$0 offset=24 - ;; code offset: 0x2d5 + ;; code offset: 0x307 (local.get $1) ) ) - ;; code offset: 0x2e4 + ;; code offset: 0x319 (i32.store $mimport$0 offset=28 - ;; code offset: 0x2dd + ;; code offset: 0x311 (local.get $2) - ;; code offset: 0x2e1 + ;; code offset: 0x315 (i32.load $mimport$0 offset=28 - ;; code offset: 0x2df + ;; code offset: 0x313 (local.get $1) ) ) - ;; code offset: 0x2ee + ;; code offset: 0x325 (i32.store $mimport$0 offset=32 - ;; code offset: 0x2e7 + ;; code offset: 0x31d (local.get $2) - ;; code offset: 0x2eb + ;; code offset: 0x321 (i32.load $mimport$0 offset=32 - ;; code offset: 0x2e9 + ;; code offset: 0x31f (local.get $1) ) ) - ;; code offset: 0x2f8 + ;; code offset: 0x331 (i32.store $mimport$0 offset=36 - ;; code offset: 0x2f1 + ;; code offset: 0x329 (local.get $2) - ;; code offset: 0x2f5 + ;; code offset: 0x32d (i32.load $mimport$0 offset=36 - ;; code offset: 0x2f3 + ;; code offset: 0x32b (local.get $1) ) ) - ;; code offset: 0x302 + ;; code offset: 0x33d (i32.store $mimport$0 offset=40 - ;; code offset: 0x2fb + ;; code offset: 0x335 (local.get $2) - ;; code offset: 0x2ff + ;; code offset: 0x339 (i32.load $mimport$0 offset=40 - ;; code offset: 0x2fd + ;; code offset: 0x337 (local.get $1) ) ) - ;; code offset: 0x30c + ;; code offset: 0x349 (i32.store $mimport$0 offset=44 - ;; code offset: 0x305 + ;; code offset: 0x341 (local.get $2) - ;; code offset: 0x309 + ;; code offset: 0x345 (i32.load $mimport$0 offset=44 - ;; code offset: 0x307 + ;; code offset: 0x343 (local.get $1) ) ) - ;; code offset: 0x316 + ;; code offset: 0x355 (i32.store $mimport$0 offset=48 - ;; code offset: 0x30f + ;; code offset: 0x34d (local.get $2) - ;; code offset: 0x313 + ;; code offset: 0x351 (i32.load $mimport$0 offset=48 - ;; code offset: 0x311 + ;; code offset: 0x34f (local.get $1) ) ) - ;; code offset: 0x320 + ;; code offset: 0x361 (i32.store $mimport$0 offset=52 - ;; code offset: 0x319 + ;; code offset: 0x359 (local.get $2) - ;; code offset: 0x31d + ;; code offset: 0x35d (i32.load $mimport$0 offset=52 - ;; code offset: 0x31b + ;; code offset: 0x35b (local.get $1) ) ) - ;; code offset: 0x32a + ;; code offset: 0x36d (i32.store $mimport$0 offset=56 - ;; code offset: 0x323 + ;; code offset: 0x365 (local.get $2) - ;; code offset: 0x327 + ;; code offset: 0x369 (i32.load $mimport$0 offset=56 - ;; code offset: 0x325 + ;; code offset: 0x367 (local.get $1) ) ) - ;; code offset: 0x334 + ;; code offset: 0x379 (i32.store $mimport$0 offset=60 - ;; code offset: 0x32d + ;; code offset: 0x371 (local.get $2) - ;; code offset: 0x331 + ;; code offset: 0x375 (i32.load $mimport$0 offset=60 - ;; code offset: 0x32f + ;; code offset: 0x373 (local.get $1) ) ) - ;; code offset: 0x33c + ;; code offset: 0x382 (local.set $1 - ;; code offset: 0x33b + ;; code offset: 0x381 (i32.sub - ;; code offset: 0x337 + ;; code offset: 0x37d (local.get $1) - ;; code offset: 0x339 + ;; code offset: 0x37f (i32.const -64) ) ) - ;; code offset: 0x348 + ;; code offset: 0x38e (br_if $label$9 - ;; code offset: 0x347 + ;; code offset: 0x38d (i32.le_u - ;; code offset: 0x343 + ;; code offset: 0x389 (local.tee $2 - ;; code offset: 0x342 + ;; code offset: 0x388 (i32.sub - ;; code offset: 0x33e + ;; code offset: 0x384 (local.get $2) - ;; code offset: 0x340 + ;; code offset: 0x386 (i32.const -64) ) ) - ;; code offset: 0x345 + ;; code offset: 0x38b (local.get $5) ) ) ) ) - ;; code offset: 0x351 + ;; code offset: 0x397 (br_if $label$2 - ;; code offset: 0x350 + ;; code offset: 0x396 (i32.ge_u - ;; code offset: 0x34c + ;; code offset: 0x392 (local.get $2) - ;; code offset: 0x34e + ;; code offset: 0x394 (local.get $4) ) ) - ;; code offset: 0x353 + ;; code offset: 0x399 (loop $label$10 - ;; code offset: 0x35c + ;; code offset: 0x3a3 (i32.store $mimport$0 - ;; code offset: 0x355 + ;; code offset: 0x39b (local.get $2) - ;; code offset: 0x359 + ;; code offset: 0x39f (i32.load $mimport$0 - ;; code offset: 0x357 + ;; code offset: 0x39d (local.get $1) ) ) - ;; code offset: 0x364 + ;; code offset: 0x3ac (local.set $1 - ;; code offset: 0x363 + ;; code offset: 0x3ab (i32.add - ;; code offset: 0x35f + ;; code offset: 0x3a7 (local.get $1) - ;; code offset: 0x361 + ;; code offset: 0x3a9 (i32.const 4) ) ) - ;; code offset: 0x370 + ;; code offset: 0x3b8 (br_if $label$10 - ;; code offset: 0x36f + ;; code offset: 0x3b7 (i32.lt_u - ;; code offset: 0x36b + ;; code offset: 0x3b3 (local.tee $2 - ;; code offset: 0x36a + ;; code offset: 0x3b2 (i32.add - ;; code offset: 0x366 + ;; code offset: 0x3ae (local.get $2) - ;; code offset: 0x368 + ;; code offset: 0x3b0 (i32.const 4) ) ) - ;; code offset: 0x36d + ;; code offset: 0x3b5 (local.get $4) ) ) ) - ;; code offset: 0x373 + ;; code offset: 0x3bb (br $label$2) ) ) - ;; code offset: 0x37b + ;; code offset: 0x3c3 (if - ;; code offset: 0x37a + ;; code offset: 0x3c2 (i32.lt_u - ;; code offset: 0x376 + ;; code offset: 0x3be (local.get $3) - ;; code offset: 0x378 + ;; code offset: 0x3c0 (i32.const 4) ) (block - ;; code offset: 0x37f + ;; code offset: 0x3c7 (local.set $2 - ;; code offset: 0x37d + ;; code offset: 0x3c5 (local.get $0) ) - ;; code offset: 0x381 + ;; code offset: 0x3c9 (br $label$2) ) ) - ;; code offset: 0x38e + ;; code offset: 0x3d6 (if - ;; code offset: 0x38d + ;; code offset: 0x3d5 (i32.lt_u - ;; code offset: 0x389 + ;; code offset: 0x3d1 (local.tee $4 - ;; code offset: 0x388 + ;; code offset: 0x3d0 (i32.add - ;; code offset: 0x384 + ;; code offset: 0x3cc (local.get $3) - ;; code offset: 0x386 + ;; code offset: 0x3ce (i32.const -4) ) ) - ;; code offset: 0x38b + ;; code offset: 0x3d3 (local.get $0) ) (block - ;; code offset: 0x392 + ;; code offset: 0x3da (local.set $2 - ;; code offset: 0x390 + ;; code offset: 0x3d8 (local.get $0) ) - ;; code offset: 0x394 + ;; code offset: 0x3dc (br $label$2) ) ) - ;; code offset: 0x399 + ;; code offset: 0x3e1 (local.set $2 - ;; code offset: 0x397 + ;; code offset: 0x3df (local.get $0) ) - ;; code offset: 0x39b + ;; code offset: 0x3e3 (loop $label$13 - ;; code offset: 0x3a4 + ;; code offset: 0x3ed (i32.store8 $mimport$0 - ;; code offset: 0x39d + ;; code offset: 0x3e5 (local.get $2) - ;; code offset: 0x3a1 + ;; code offset: 0x3e9 (i32.load8_u $mimport$0 - ;; code offset: 0x39f + ;; code offset: 0x3e7 (local.get $1) ) ) - ;; code offset: 0x3ae + ;; code offset: 0x3f9 (i32.store8 $mimport$0 offset=1 - ;; code offset: 0x3a7 + ;; code offset: 0x3f1 (local.get $2) - ;; code offset: 0x3ab + ;; code offset: 0x3f5 (i32.load8_u $mimport$0 offset=1 - ;; code offset: 0x3a9 + ;; code offset: 0x3f3 (local.get $1) ) ) - ;; code offset: 0x3b8 + ;; code offset: 0x405 (i32.store8 $mimport$0 offset=2 - ;; code offset: 0x3b1 + ;; code offset: 0x3fd (local.get $2) - ;; code offset: 0x3b5 + ;; code offset: 0x401 (i32.load8_u $mimport$0 offset=2 - ;; code offset: 0x3b3 + ;; code offset: 0x3ff (local.get $1) ) ) - ;; code offset: 0x3c2 + ;; code offset: 0x411 (i32.store8 $mimport$0 offset=3 - ;; code offset: 0x3bb + ;; code offset: 0x409 (local.get $2) - ;; code offset: 0x3bf + ;; code offset: 0x40d (i32.load8_u $mimport$0 offset=3 - ;; code offset: 0x3bd + ;; code offset: 0x40b (local.get $1) ) ) - ;; code offset: 0x3ca + ;; code offset: 0x41a (local.set $1 - ;; code offset: 0x3c9 + ;; code offset: 0x419 (i32.add - ;; code offset: 0x3c5 + ;; code offset: 0x415 (local.get $1) - ;; code offset: 0x3c7 + ;; code offset: 0x417 (i32.const 4) ) ) - ;; code offset: 0x3d6 + ;; code offset: 0x426 (br_if $label$13 - ;; code offset: 0x3d5 + ;; code offset: 0x425 (i32.le_u - ;; code offset: 0x3d1 + ;; code offset: 0x421 (local.tee $2 - ;; code offset: 0x3d0 + ;; code offset: 0x420 (i32.add - ;; code offset: 0x3cc + ;; code offset: 0x41c (local.get $2) - ;; code offset: 0x3ce + ;; code offset: 0x41e (i32.const 4) ) ) - ;; code offset: 0x3d3 + ;; code offset: 0x423 (local.get $4) ) ) ) ) - ;; code offset: 0x3df + ;; code offset: 0x42f (if - ;; code offset: 0x3de + ;; code offset: 0x42e (i32.lt_u - ;; code offset: 0x3da + ;; code offset: 0x42a (local.get $2) - ;; code offset: 0x3dc + ;; code offset: 0x42c (local.get $3) ) - ;; code offset: 0x3e1 + ;; code offset: 0x431 (loop $label$15 - ;; code offset: 0x3ea + ;; code offset: 0x43b (i32.store8 $mimport$0 - ;; code offset: 0x3e3 + ;; code offset: 0x433 (local.get $2) - ;; code offset: 0x3e7 + ;; code offset: 0x437 (i32.load8_u $mimport$0 - ;; code offset: 0x3e5 + ;; code offset: 0x435 (local.get $1) ) ) - ;; code offset: 0x3f2 + ;; code offset: 0x444 (local.set $1 - ;; code offset: 0x3f1 + ;; code offset: 0x443 (i32.add - ;; code offset: 0x3ed + ;; code offset: 0x43f (local.get $1) - ;; code offset: 0x3ef + ;; code offset: 0x441 (i32.const 1) ) ) - ;; code offset: 0x3fe + ;; code offset: 0x450 (br_if $label$15 - ;; code offset: 0x3fd + ;; code offset: 0x44f (i32.ne - ;; code offset: 0x3f9 + ;; code offset: 0x44b (local.tee $2 - ;; code offset: 0x3f8 + ;; code offset: 0x44a (i32.add - ;; code offset: 0x3f4 + ;; code offset: 0x446 (local.get $2) - ;; code offset: 0x3f6 + ;; code offset: 0x448 (i32.const 1) ) ) - ;; code offset: 0x3fb + ;; code offset: 0x44d (local.get $3) ) ) ) ) - ;; code offset: 0x402 + ;; code offset: 0x454 (local.get $0) ) (func $10 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) @@ -1377,376 +1377,376 @@ file_names[ 1]: (local $4 i32) (local $5 i32) (local $6 i32) - ;; code offset: 0x410 + ;; code offset: 0x462 (block $label$1 - ;; code offset: 0x43a + ;; code offset: 0x48f (if (block $label$2 (result i32) - ;; code offset: 0x41c + ;; code offset: 0x46f (if - ;; code offset: 0x41b + ;; code offset: 0x46e (i32.eqz - ;; code offset: 0x419 + ;; code offset: 0x46c (local.tee $3 - ;; code offset: 0x416 + ;; code offset: 0x468 (i32.load $mimport$0 offset=16 - ;; code offset: 0x414 + ;; code offset: 0x466 (local.get $2) ) ) ) (block - ;; code offset: 0x422 + ;; code offset: 0x475 (br_if $label$1 - ;; code offset: 0x420 + ;; code offset: 0x473 (call $8 - ;; code offset: 0x41e + ;; code offset: 0x471 (local.get $2) ) ) - ;; code offset: 0x429 + ;; code offset: 0x47d (local.set $3 - ;; code offset: 0x426 + ;; code offset: 0x479 (i32.load $mimport$0 offset=16 - ;; code offset: 0x424 + ;; code offset: 0x477 (local.get $2) ) ) ) ) - ;; code offset: 0x438 + ;; code offset: 0x48d (i32.lt_u - ;; code offset: 0x435 + ;; code offset: 0x48a (i32.sub - ;; code offset: 0x42c + ;; code offset: 0x480 (local.get $3) - ;; code offset: 0x433 + ;; code offset: 0x488 (local.tee $5 - ;; code offset: 0x430 + ;; code offset: 0x484 (i32.load $mimport$0 offset=20 - ;; code offset: 0x42e + ;; code offset: 0x482 (local.get $2) ) ) ) - ;; code offset: 0x436 + ;; code offset: 0x48b (local.get $1) ) ) - ;; code offset: 0x44a + ;; code offset: 0x4a0 (return - ;; code offset: 0x447 + ;; code offset: 0x49d (call_indirect (type $i32_i32_i32_=>_i32) - ;; code offset: 0x43c + ;; code offset: 0x491 (local.get $2) - ;; code offset: 0x43e + ;; code offset: 0x493 (local.get $0) - ;; code offset: 0x440 + ;; code offset: 0x495 (local.get $1) - ;; code offset: 0x444 + ;; code offset: 0x499 (i32.load $mimport$0 offset=36 - ;; code offset: 0x442 + ;; code offset: 0x497 (local.get $2) ) ) ) ) - ;; code offset: 0x44c + ;; code offset: 0x4a2 (block $label$5 - ;; code offset: 0x456 + ;; code offset: 0x4ad (br_if $label$5 - ;; code offset: 0x455 + ;; code offset: 0x4ac (i32.lt_s - ;; code offset: 0x450 + ;; code offset: 0x4a6 (i32.load8_s $mimport$0 offset=75 - ;; code offset: 0x44e + ;; code offset: 0x4a4 (local.get $2) ) - ;; code offset: 0x453 + ;; code offset: 0x4aa (i32.const 0) ) ) - ;; code offset: 0x45a + ;; code offset: 0x4b1 (local.set $4 - ;; code offset: 0x458 + ;; code offset: 0x4af (local.get $1) ) - ;; code offset: 0x45c + ;; code offset: 0x4b3 (loop $label$6 - ;; code offset: 0x463 + ;; code offset: 0x4ba (br_if $label$5 - ;; code offset: 0x462 + ;; code offset: 0x4b9 (i32.eqz - ;; code offset: 0x460 + ;; code offset: 0x4b7 (local.tee $3 - ;; code offset: 0x45e + ;; code offset: 0x4b5 (local.get $4) ) ) ) - ;; code offset: 0x475 + ;; code offset: 0x4cd (br_if $label$6 - ;; code offset: 0x474 + ;; code offset: 0x4cc (i32.ne - ;; code offset: 0x46f + ;; code offset: 0x4c6 (i32.load8_u $mimport$0 - ;; code offset: 0x46e + ;; code offset: 0x4c5 (i32.add - ;; code offset: 0x465 + ;; code offset: 0x4bc (local.get $0) - ;; code offset: 0x46c + ;; code offset: 0x4c3 (local.tee $4 - ;; code offset: 0x46b + ;; code offset: 0x4c2 (i32.add - ;; code offset: 0x467 + ;; code offset: 0x4be (local.get $3) - ;; code offset: 0x469 + ;; code offset: 0x4c0 (i32.const -1) ) ) ) ) - ;; code offset: 0x472 + ;; code offset: 0x4ca (i32.const 10) ) ) ) - ;; code offset: 0x48b + ;; code offset: 0x4e4 (br_if $label$1 - ;; code offset: 0x48a + ;; code offset: 0x4e3 (i32.lt_u - ;; code offset: 0x486 + ;; code offset: 0x4df (local.tee $4 - ;; code offset: 0x483 + ;; code offset: 0x4dc (call_indirect (type $i32_i32_i32_=>_i32) - ;; code offset: 0x478 + ;; code offset: 0x4d0 (local.get $2) - ;; code offset: 0x47a + ;; code offset: 0x4d2 (local.get $0) - ;; code offset: 0x47c + ;; code offset: 0x4d4 (local.get $3) - ;; code offset: 0x480 + ;; code offset: 0x4d8 (i32.load $mimport$0 offset=36 - ;; code offset: 0x47e + ;; code offset: 0x4d6 (local.get $2) ) ) ) - ;; code offset: 0x488 + ;; code offset: 0x4e1 (local.get $3) ) ) - ;; code offset: 0x492 + ;; code offset: 0x4eb (local.set $0 - ;; code offset: 0x491 + ;; code offset: 0x4ea (i32.add - ;; code offset: 0x48d + ;; code offset: 0x4e6 (local.get $0) - ;; code offset: 0x48f + ;; code offset: 0x4e8 (local.get $3) ) ) - ;; code offset: 0x499 + ;; code offset: 0x4f2 (local.set $1 - ;; code offset: 0x498 + ;; code offset: 0x4f1 (i32.sub - ;; code offset: 0x494 + ;; code offset: 0x4ed (local.get $1) - ;; code offset: 0x496 + ;; code offset: 0x4ef (local.get $3) ) ) - ;; code offset: 0x4a0 + ;; code offset: 0x4fa (local.set $5 - ;; code offset: 0x49d + ;; code offset: 0x4f6 (i32.load $mimport$0 offset=20 - ;; code offset: 0x49b + ;; code offset: 0x4f4 (local.get $2) ) ) - ;; code offset: 0x4a4 + ;; code offset: 0x4fe (local.set $6 - ;; code offset: 0x4a2 + ;; code offset: 0x4fc (local.get $3) ) ) - ;; code offset: 0x4af + ;; code offset: 0x509 (drop - ;; code offset: 0x4ad + ;; code offset: 0x507 (call $9 - ;; code offset: 0x4a7 + ;; code offset: 0x501 (local.get $5) - ;; code offset: 0x4a9 + ;; code offset: 0x503 (local.get $0) - ;; code offset: 0x4ab + ;; code offset: 0x505 (local.get $1) ) ) - ;; code offset: 0x4ba + ;; code offset: 0x515 (i32.store $mimport$0 offset=20 - ;; code offset: 0x4b0 + ;; code offset: 0x50a (local.get $2) - ;; code offset: 0x4b9 + ;; code offset: 0x514 (i32.add - ;; code offset: 0x4b4 + ;; code offset: 0x50e (i32.load $mimport$0 offset=20 - ;; code offset: 0x4b2 + ;; code offset: 0x50c (local.get $2) ) - ;; code offset: 0x4b7 + ;; code offset: 0x512 (local.get $1) ) ) - ;; code offset: 0x4c2 + ;; code offset: 0x51e (local.set $4 - ;; code offset: 0x4c1 + ;; code offset: 0x51d (i32.add - ;; code offset: 0x4bd + ;; code offset: 0x519 (local.get $1) - ;; code offset: 0x4bf + ;; code offset: 0x51b (local.get $6) ) ) ) - ;; code offset: 0x4c5 + ;; code offset: 0x521 (local.get $4) ) (func $11 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (local $5 i32) - ;; code offset: 0x4d3 + ;; code offset: 0x52f (local.set $4 - ;; code offset: 0x4d2 + ;; code offset: 0x52e (i32.mul - ;; code offset: 0x4ce + ;; code offset: 0x52a (local.get $1) - ;; code offset: 0x4d0 + ;; code offset: 0x52c (local.get $2) ) ) - ;; code offset: 0x4d5 + ;; code offset: 0x531 (block $label$1 - ;; code offset: 0x4df + ;; code offset: 0x53c (if - ;; code offset: 0x4de + ;; code offset: 0x53b (i32.le_s - ;; code offset: 0x4d9 + ;; code offset: 0x535 (i32.load $mimport$0 offset=76 - ;; code offset: 0x4d7 + ;; code offset: 0x533 (local.get $3) ) - ;; code offset: 0x4dc + ;; code offset: 0x539 (i32.const -1) ) (block - ;; code offset: 0x4e9 + ;; code offset: 0x546 (local.set $0 - ;; code offset: 0x4e7 + ;; code offset: 0x544 (call $10 - ;; code offset: 0x4e1 + ;; code offset: 0x53e (local.get $0) - ;; code offset: 0x4e3 + ;; code offset: 0x540 (local.get $4) - ;; code offset: 0x4e5 + ;; code offset: 0x542 (local.get $3) ) ) - ;; code offset: 0x4eb + ;; code offset: 0x548 (br $label$1) ) ) - ;; code offset: 0x4f2 + ;; code offset: 0x54f (local.set $5 - ;; code offset: 0x4f0 + ;; code offset: 0x54d (call $15 - ;; code offset: 0x4ee + ;; code offset: 0x54b (local.get $3) ) ) - ;; code offset: 0x4fc + ;; code offset: 0x559 (local.set $0 - ;; code offset: 0x4fa + ;; code offset: 0x557 (call $10 - ;; code offset: 0x4f4 + ;; code offset: 0x551 (local.get $0) - ;; code offset: 0x4f6 + ;; code offset: 0x553 (local.get $4) - ;; code offset: 0x4f8 + ;; code offset: 0x555 (local.get $3) ) ) - ;; code offset: 0x501 + ;; code offset: 0x55e (br_if $label$1 - ;; code offset: 0x500 + ;; code offset: 0x55d (i32.eqz - ;; code offset: 0x4fe + ;; code offset: 0x55b (local.get $5) ) ) - ;; code offset: 0x505 + ;; code offset: 0x562 (call $16 - ;; code offset: 0x503 + ;; code offset: 0x560 (local.get $3) ) ) - ;; code offset: 0x50d + ;; code offset: 0x56a (if - ;; code offset: 0x50c + ;; code offset: 0x569 (i32.eq - ;; code offset: 0x508 + ;; code offset: 0x565 (local.get $0) - ;; code offset: 0x50a + ;; code offset: 0x567 (local.get $4) ) - ;; code offset: 0x516 + ;; code offset: 0x573 (return - ;; code offset: 0x515 + ;; code offset: 0x572 (select - ;; code offset: 0x50f + ;; code offset: 0x56c (local.get $2) - ;; code offset: 0x511 + ;; code offset: 0x56e (i32.const 0) - ;; code offset: 0x513 + ;; code offset: 0x570 (local.get $1) ) ) ) - ;; code offset: 0x51c + ;; code offset: 0x579 (i32.div_u - ;; code offset: 0x518 + ;; code offset: 0x575 (local.get $0) - ;; code offset: 0x51a + ;; code offset: 0x577 (local.get $1) ) ) (func $12 (param $0 i32) (param $1 i32) (result i32) (local $2 i32) - ;; code offset: 0x537 + ;; code offset: 0x594 (select - ;; code offset: 0x522 + ;; code offset: 0x57f (i32.const -1) - ;; code offset: 0x524 + ;; code offset: 0x581 (i32.const 0) - ;; code offset: 0x536 + ;; code offset: 0x593 (i32.ne - ;; code offset: 0x532 + ;; code offset: 0x58f (call $11 - ;; code offset: 0x526 + ;; code offset: 0x583 (local.get $0) - ;; code offset: 0x528 + ;; code offset: 0x585 (i32.const 1) - ;; code offset: 0x52e + ;; code offset: 0x58b (local.tee $2 - ;; code offset: 0x52c + ;; code offset: 0x589 (call $17 - ;; code offset: 0x52a + ;; code offset: 0x587 (local.get $0) ) ) - ;; code offset: 0x530 + ;; code offset: 0x58d (local.get $1) ) - ;; code offset: 0x534 + ;; code offset: 0x591 (local.get $2) ) ) @@ -1755,615 +1755,615 @@ file_names[ 1]: (local $2 i32) (local $3 i32) (local $4 i32) - ;; code offset: 0x549 + ;; code offset: 0x5a6 (global.set $global$0 - ;; code offset: 0x547 + ;; code offset: 0x5a4 (local.tee $3 - ;; code offset: 0x546 + ;; code offset: 0x5a3 (i32.sub - ;; code offset: 0x542 + ;; code offset: 0x59f (global.get $global$0) - ;; code offset: 0x544 + ;; code offset: 0x5a1 (i32.const 16) ) ) ) - ;; code offset: 0x54f + ;; code offset: 0x5ac (i32.store8 $mimport$0 offset=15 - ;; code offset: 0x54b + ;; code offset: 0x5a8 (local.get $3) - ;; code offset: 0x54d + ;; code offset: 0x5aa (local.get $1) ) - ;; code offset: 0x552 + ;; code offset: 0x5b0 (block $label$1 - ;; code offset: 0x55c + ;; code offset: 0x5bb (if - ;; code offset: 0x55b + ;; code offset: 0x5ba (i32.eqz - ;; code offset: 0x559 + ;; code offset: 0x5b8 (local.tee $2 - ;; code offset: 0x556 + ;; code offset: 0x5b4 (i32.load $mimport$0 offset=16 - ;; code offset: 0x554 + ;; code offset: 0x5b2 (local.get $0) ) ) ) (block - ;; code offset: 0x560 + ;; code offset: 0x5bf (local.set $2 - ;; code offset: 0x55e + ;; code offset: 0x5bd (i32.const -1) ) - ;; code offset: 0x566 + ;; code offset: 0x5c5 (br_if $label$1 - ;; code offset: 0x564 + ;; code offset: 0x5c3 (call $8 - ;; code offset: 0x562 + ;; code offset: 0x5c1 (local.get $0) ) ) - ;; code offset: 0x56d + ;; code offset: 0x5cd (local.set $2 - ;; code offset: 0x56a + ;; code offset: 0x5c9 (i32.load $mimport$0 offset=16 - ;; code offset: 0x568 + ;; code offset: 0x5c7 (local.get $0) ) ) ) ) - ;; code offset: 0x570 + ;; code offset: 0x5d0 (block $label$3 - ;; code offset: 0x57c + ;; code offset: 0x5dd (br_if $label$3 - ;; code offset: 0x57b + ;; code offset: 0x5dc (i32.ge_u - ;; code offset: 0x577 + ;; code offset: 0x5d8 (local.tee $4 - ;; code offset: 0x574 + ;; code offset: 0x5d4 (i32.load $mimport$0 offset=20 - ;; code offset: 0x572 + ;; code offset: 0x5d2 (local.get $0) ) ) - ;; code offset: 0x579 + ;; code offset: 0x5da (local.get $2) ) ) - ;; code offset: 0x58c + ;; code offset: 0x5ee (br_if $label$3 - ;; code offset: 0x58b + ;; code offset: 0x5ed (i32.eq - ;; code offset: 0x584 + ;; code offset: 0x5e5 (local.tee $2 - ;; code offset: 0x583 + ;; code offset: 0x5e4 (i32.and - ;; code offset: 0x57e + ;; code offset: 0x5df (local.get $1) - ;; code offset: 0x580 + ;; code offset: 0x5e1 (i32.const 255) ) ) - ;; code offset: 0x588 + ;; code offset: 0x5e9 (i32.load8_s $mimport$0 offset=75 - ;; code offset: 0x586 + ;; code offset: 0x5e7 (local.get $0) ) ) ) - ;; code offset: 0x595 + ;; code offset: 0x5f7 (i32.store $mimport$0 offset=20 - ;; code offset: 0x58e + ;; code offset: 0x5f0 (local.get $0) - ;; code offset: 0x594 + ;; code offset: 0x5f6 (i32.add - ;; code offset: 0x590 + ;; code offset: 0x5f2 (local.get $4) - ;; code offset: 0x592 + ;; code offset: 0x5f4 (i32.const 1) ) ) - ;; code offset: 0x59c + ;; code offset: 0x5ff (i32.store8 $mimport$0 - ;; code offset: 0x598 + ;; code offset: 0x5fb (local.get $4) - ;; code offset: 0x59a + ;; code offset: 0x5fd (local.get $1) ) - ;; code offset: 0x59f + ;; code offset: 0x603 (br $label$1) ) - ;; code offset: 0x5a4 + ;; code offset: 0x608 (local.set $2 - ;; code offset: 0x5a2 + ;; code offset: 0x606 (i32.const -1) ) - ;; code offset: 0x5ba + ;; code offset: 0x61f (br_if $label$1 - ;; code offset: 0x5b9 + ;; code offset: 0x61e (i32.ne - ;; code offset: 0x5b4 + ;; code offset: 0x619 (call_indirect (type $i32_i32_i32_=>_i32) - ;; code offset: 0x5a6 + ;; code offset: 0x60a (local.get $0) - ;; code offset: 0x5ac + ;; code offset: 0x610 (i32.add - ;; code offset: 0x5a8 + ;; code offset: 0x60c (local.get $3) - ;; code offset: 0x5aa + ;; code offset: 0x60e (i32.const 15) ) - ;; code offset: 0x5ad + ;; code offset: 0x611 (i32.const 1) - ;; code offset: 0x5b1 + ;; code offset: 0x615 (i32.load $mimport$0 offset=36 - ;; code offset: 0x5af + ;; code offset: 0x613 (local.get $0) ) ) - ;; code offset: 0x5b7 + ;; code offset: 0x61c (i32.const 1) ) ) - ;; code offset: 0x5c1 + ;; code offset: 0x627 (local.set $2 - ;; code offset: 0x5be + ;; code offset: 0x623 (i32.load8_u $mimport$0 offset=15 - ;; code offset: 0x5bc + ;; code offset: 0x621 (local.get $3) ) ) ) - ;; code offset: 0x5c9 + ;; code offset: 0x62f (global.set $global$0 - ;; code offset: 0x5c8 + ;; code offset: 0x62e (i32.add - ;; code offset: 0x5c4 + ;; code offset: 0x62a (local.get $3) - ;; code offset: 0x5c6 + ;; code offset: 0x62c (i32.const 16) ) ) - ;; code offset: 0x5cb + ;; code offset: 0x631 (local.get $2) ) (func $14 (param $0 i32) (result i32) (local $1 i32) (local $2 i32) - ;; code offset: 0x5e2 + ;; code offset: 0x64a (if - ;; code offset: 0x5e1 + ;; code offset: 0x649 (i32.ge_s - ;; code offset: 0x5dc + ;; code offset: 0x643 (i32.load $mimport$0 offset=76 - ;; code offset: 0x5da + ;; code offset: 0x641 (local.tee $1 - ;; code offset: 0x5d7 + ;; code offset: 0x63d (i32.load $mimport$0 - ;; code offset: 0x5d4 + ;; code offset: 0x63a (i32.const 1040) ) ) ) - ;; code offset: 0x5df + ;; code offset: 0x647 (i32.const 0) ) - ;; code offset: 0x5e8 + ;; code offset: 0x650 (local.set $2 - ;; code offset: 0x5e6 + ;; code offset: 0x64e (call $15 - ;; code offset: 0x5e4 + ;; code offset: 0x64c (local.get $1) ) ) ) - ;; code offset: 0x636 + ;; code offset: 0x6a3 (local.set $0 - ;; code offset: 0x5eb + ;; code offset: 0x653 (block $label$2 (result i32) - ;; code offset: 0x5fa + ;; code offset: 0x662 (drop - ;; code offset: 0x5f8 + ;; code offset: 0x660 (br_if $label$2 - ;; code offset: 0x5ed + ;; code offset: 0x655 (i32.const -1) - ;; code offset: 0x5f7 + ;; code offset: 0x65f (i32.lt_s - ;; code offset: 0x5f3 + ;; code offset: 0x65b (call $12 - ;; code offset: 0x5ef + ;; code offset: 0x657 (local.get $0) - ;; code offset: 0x5f1 + ;; code offset: 0x659 (local.get $1) ) - ;; code offset: 0x5f5 + ;; code offset: 0x65d (i32.const 0) ) ) ) - ;; code offset: 0x5fb + ;; code offset: 0x663 (block $label$3 - ;; code offset: 0x605 + ;; code offset: 0x66e (br_if $label$3 - ;; code offset: 0x604 + ;; code offset: 0x66d (i32.eq - ;; code offset: 0x5ff + ;; code offset: 0x667 (i32.load8_u $mimport$0 offset=75 - ;; code offset: 0x5fd + ;; code offset: 0x665 (local.get $1) ) - ;; code offset: 0x602 + ;; code offset: 0x66b (i32.const 10) ) ) - ;; code offset: 0x614 + ;; code offset: 0x67f (br_if $label$3 - ;; code offset: 0x613 + ;; code offset: 0x67e (i32.ge_u - ;; code offset: 0x60c + ;; code offset: 0x676 (local.tee $0 - ;; code offset: 0x609 + ;; code offset: 0x672 (i32.load $mimport$0 offset=20 - ;; code offset: 0x607 + ;; code offset: 0x670 (local.get $1) ) ) - ;; code offset: 0x610 + ;; code offset: 0x67a (i32.load $mimport$0 offset=16 - ;; code offset: 0x60e + ;; code offset: 0x678 (local.get $1) ) ) ) - ;; code offset: 0x61d + ;; code offset: 0x688 (i32.store $mimport$0 offset=20 - ;; code offset: 0x616 + ;; code offset: 0x681 (local.get $1) - ;; code offset: 0x61c + ;; code offset: 0x687 (i32.add - ;; code offset: 0x618 + ;; code offset: 0x683 (local.get $0) - ;; code offset: 0x61a + ;; code offset: 0x685 (i32.const 1) ) ) - ;; code offset: 0x624 + ;; code offset: 0x690 (i32.store8 $mimport$0 - ;; code offset: 0x620 + ;; code offset: 0x68c (local.get $0) - ;; code offset: 0x622 + ;; code offset: 0x68e (i32.const 10) ) - ;; code offset: 0x629 + ;; code offset: 0x696 (br $label$2 - ;; code offset: 0x627 + ;; code offset: 0x694 (i32.const 0) ) ) - ;; code offset: 0x634 + ;; code offset: 0x6a1 (i32.shr_s - ;; code offset: 0x630 + ;; code offset: 0x69d (call $13 - ;; code offset: 0x62c + ;; code offset: 0x699 (local.get $1) - ;; code offset: 0x62e + ;; code offset: 0x69b (i32.const 10) ) - ;; code offset: 0x632 + ;; code offset: 0x69f (i32.const 31) ) ) ) - ;; code offset: 0x63a + ;; code offset: 0x6a7 (if - ;; code offset: 0x638 + ;; code offset: 0x6a5 (local.get $2) - ;; code offset: 0x63e + ;; code offset: 0x6ab (call $16 - ;; code offset: 0x63c + ;; code offset: 0x6a9 (local.get $1) ) ) - ;; code offset: 0x641 + ;; code offset: 0x6ae (local.get $0) ) (func $15 (param $0 i32) (result i32) - ;; code offset: 0x646 + ;; code offset: 0x6b3 (i32.const 1) ) (func $16 (param $0 i32) - ;; code offset: 0x64b + ;; code offset: 0x6b8 (nop) ) (func $17 (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) - ;; code offset: 0x658 + ;; code offset: 0x6c5 (local.set $1 - ;; code offset: 0x656 + ;; code offset: 0x6c3 (local.get $0) ) - ;; code offset: 0x65a + ;; code offset: 0x6c7 (block $label$1 (block $label$2 - ;; code offset: 0x664 + ;; code offset: 0x6d1 (br_if $label$2 - ;; code offset: 0x663 + ;; code offset: 0x6d0 (i32.eqz - ;; code offset: 0x662 + ;; code offset: 0x6cf (i32.and - ;; code offset: 0x65e + ;; code offset: 0x6cb (local.get $0) - ;; code offset: 0x660 + ;; code offset: 0x6cd (i32.const 3) ) ) ) - ;; code offset: 0x66c + ;; code offset: 0x6da (if - ;; code offset: 0x66b + ;; code offset: 0x6d9 (i32.eqz - ;; code offset: 0x668 + ;; code offset: 0x6d5 (i32.load8_u $mimport$0 - ;; code offset: 0x666 + ;; code offset: 0x6d3 (local.get $0) ) ) - ;; code offset: 0x670 + ;; code offset: 0x6de (return - ;; code offset: 0x66e + ;; code offset: 0x6dc (i32.const 0) ) ) - ;; code offset: 0x672 + ;; code offset: 0x6e0 (loop $label$4 - ;; code offset: 0x67f + ;; code offset: 0x6ed (br_if $label$2 - ;; code offset: 0x67e + ;; code offset: 0x6ec (i32.eqz - ;; code offset: 0x67d + ;; code offset: 0x6eb (i32.and - ;; code offset: 0x679 + ;; code offset: 0x6e7 (local.tee $1 - ;; code offset: 0x678 + ;; code offset: 0x6e6 (i32.add - ;; code offset: 0x674 + ;; code offset: 0x6e2 (local.get $1) - ;; code offset: 0x676 + ;; code offset: 0x6e4 (i32.const 1) ) ) - ;; code offset: 0x67b + ;; code offset: 0x6e9 (i32.const 3) ) ) ) - ;; code offset: 0x686 + ;; code offset: 0x6f5 (br_if $label$4 - ;; code offset: 0x683 + ;; code offset: 0x6f1 (i32.load8_u $mimport$0 - ;; code offset: 0x681 + ;; code offset: 0x6ef (local.get $1) ) ) ) - ;; code offset: 0x689 + ;; code offset: 0x6f8 (br $label$1) ) - ;; code offset: 0x68c + ;; code offset: 0x6fb (loop $label$5 - ;; code offset: 0x695 + ;; code offset: 0x704 (local.set $1 - ;; code offset: 0x694 + ;; code offset: 0x703 (i32.add - ;; code offset: 0x690 + ;; code offset: 0x6ff (local.tee $2 - ;; code offset: 0x68e + ;; code offset: 0x6fd (local.get $1) ) - ;; code offset: 0x692 + ;; code offset: 0x701 (i32.const 4) ) ) - ;; code offset: 0x6b2 + ;; code offset: 0x722 (br_if $label$5 - ;; code offset: 0x6b1 + ;; code offset: 0x721 (i32.eqz - ;; code offset: 0x6b0 + ;; code offset: 0x720 (i32.and - ;; code offset: 0x6a9 + ;; code offset: 0x719 (i32.and - ;; code offset: 0x6a0 + ;; code offset: 0x710 (i32.xor - ;; code offset: 0x69c + ;; code offset: 0x70c (local.tee $3 - ;; code offset: 0x699 + ;; code offset: 0x708 (i32.load $mimport$0 - ;; code offset: 0x697 + ;; code offset: 0x706 (local.get $2) ) ) - ;; code offset: 0x69e + ;; code offset: 0x70e (i32.const -1) ) - ;; code offset: 0x6a8 + ;; code offset: 0x718 (i32.add - ;; code offset: 0x6a1 + ;; code offset: 0x711 (local.get $3) - ;; code offset: 0x6a3 + ;; code offset: 0x713 (i32.const -16843009) ) ) - ;; code offset: 0x6aa + ;; code offset: 0x71a (i32.const -2139062144) ) ) ) ) - ;; code offset: 0x6bc + ;; code offset: 0x72c (if - ;; code offset: 0x6bb + ;; code offset: 0x72b (i32.eqz - ;; code offset: 0x6ba + ;; code offset: 0x72a (i32.and - ;; code offset: 0x6b5 + ;; code offset: 0x725 (local.get $3) - ;; code offset: 0x6b7 + ;; code offset: 0x727 (i32.const 255) ) ) - ;; code offset: 0x6c3 + ;; code offset: 0x733 (return - ;; code offset: 0x6c2 + ;; code offset: 0x732 (i32.sub - ;; code offset: 0x6be + ;; code offset: 0x72e (local.get $2) - ;; code offset: 0x6c0 + ;; code offset: 0x730 (local.get $0) ) ) ) - ;; code offset: 0x6c5 + ;; code offset: 0x735 (loop $label$7 - ;; code offset: 0x6cc + ;; code offset: 0x73d (local.set $3 - ;; code offset: 0x6c9 + ;; code offset: 0x739 (i32.load8_u $mimport$0 offset=1 - ;; code offset: 0x6c7 + ;; code offset: 0x737 (local.get $2) ) ) - ;; code offset: 0x6d5 + ;; code offset: 0x746 (local.set $2 - ;; code offset: 0x6d3 + ;; code offset: 0x744 (local.tee $1 - ;; code offset: 0x6d2 + ;; code offset: 0x743 (i32.add - ;; code offset: 0x6ce + ;; code offset: 0x73f (local.get $2) - ;; code offset: 0x6d0 + ;; code offset: 0x741 (i32.const 1) ) ) ) - ;; code offset: 0x6d9 + ;; code offset: 0x74a (br_if $label$7 - ;; code offset: 0x6d7 + ;; code offset: 0x748 (local.get $3) ) ) ) - ;; code offset: 0x6e1 + ;; code offset: 0x752 (i32.sub - ;; code offset: 0x6dd + ;; code offset: 0x74e (local.get $1) - ;; code offset: 0x6df + ;; code offset: 0x750 (local.get $0) ) ) (func $18 (result i32) - ;; code offset: 0x6e5 + ;; code offset: 0x756 (global.get $global$0) ) (func $19 (param $0 i32) - ;; code offset: 0x6ec + ;; code offset: 0x75d (global.set $global$0 - ;; code offset: 0x6ea + ;; code offset: 0x75b (local.get $0) ) ) (func $20 (param $0 i32) (result i32) (local $1 i32) - ;; code offset: 0x6fd + ;; code offset: 0x76e (global.set $global$0 - ;; code offset: 0x6fb + ;; code offset: 0x76c (local.tee $1 - ;; code offset: 0x6fa + ;; code offset: 0x76b (i32.and - ;; code offset: 0x6f7 + ;; code offset: 0x768 (i32.sub - ;; code offset: 0x6f3 + ;; code offset: 0x764 (global.get $global$0) - ;; code offset: 0x6f5 + ;; code offset: 0x766 (local.get $0) ) - ;; code offset: 0x6f8 + ;; code offset: 0x769 (i32.const -16) ) ) ) - ;; code offset: 0x6ff + ;; code offset: 0x770 (local.get $1) ) (func $21 (param $0 i32) (param $1 i32) (param $2 i64) (param $3 i32) (result i64) - ;; code offset: 0x70c + ;; code offset: 0x77d (call_indirect (type $i32_i64_i32_=>_i64) - ;; code offset: 0x704 + ;; code offset: 0x775 (local.get $1) - ;; code offset: 0x706 + ;; code offset: 0x777 (local.get $2) - ;; code offset: 0x708 + ;; code offset: 0x779 (local.get $3) - ;; code offset: 0x70a + ;; code offset: 0x77b (local.get $0) ) ) (func $22 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32) (local $5 i64) - ;; code offset: 0x72c + ;; code offset: 0x79d (call $fimport$2 - ;; code offset: 0x72b + ;; code offset: 0x79c (i32.wrap_i64 - ;; code offset: 0x72a + ;; code offset: 0x79b (i64.shr_u - ;; code offset: 0x726 + ;; code offset: 0x797 (local.tee $5 - ;; code offset: 0x724 + ;; code offset: 0x795 (call $21 - ;; code offset: 0x714 + ;; code offset: 0x785 (local.get $0) - ;; code offset: 0x716 + ;; code offset: 0x787 (local.get $1) - ;; code offset: 0x721 + ;; code offset: 0x792 (i64.or - ;; code offset: 0x71a + ;; code offset: 0x78b (i64.extend_i32_u - ;; code offset: 0x718 + ;; code offset: 0x789 (local.get $2) ) - ;; code offset: 0x720 + ;; code offset: 0x791 (i64.shl - ;; code offset: 0x71d + ;; code offset: 0x78e (i64.extend_i32_u - ;; code offset: 0x71b + ;; code offset: 0x78c (local.get $3) ) - ;; code offset: 0x71e + ;; code offset: 0x78f (i64.const 32) ) ) - ;; code offset: 0x722 + ;; code offset: 0x793 (local.get $4) ) ) - ;; code offset: 0x728 + ;; code offset: 0x799 (i64.const 32) ) ) ) - ;; code offset: 0x730 + ;; code offset: 0x7a1 (i32.wrap_i64 - ;; code offset: 0x72e + ;; code offset: 0x79f (local.get $5) ) ) (func $23 (param $0 i32) (result i32) - ;; code offset: 0x736 + ;; code offset: 0x7a7 (memory.grow $mimport$0 - ;; code offset: 0x734 + ;; code offset: 0x7a5 (local.get $0) ) ) From c04851c8e69d91fc6ff000ef3c90dd043a6e4a54 Mon Sep 17 00:00:00 2001 From: Ashley Nelson Date: Fri, 29 Jul 2022 05:46:10 +0000 Subject: [PATCH 66/78] tests --- test/lit/multi-memories-atomics64.wast | 704 ++++++++++++++++++ test/lit/multi-memories-basics.wast | 175 +++++ test/lit/multi-memories-simd.wast | 635 ++++++++++++++++ test/multi-memories-atomics64.wasm | Bin 0 -> 835 bytes test/multi-memories-atomics64.wasm.fromBinary | 352 +++++++++ test/multi-memories-basics.wasm | Bin 0 -> 400 bytes test/multi-memories-basics.wasm.fromBinary | 117 +++ test/multi-memories-simd.wasm | Bin 0 -> 2292 bytes test/multi-memories-simd.wasm.fromBinary | 320 ++++++++ test/spec/multi-memories_size.wast | 35 + 10 files changed, 2338 insertions(+) create mode 100644 test/lit/multi-memories-atomics64.wast create mode 100644 test/lit/multi-memories-basics.wast create mode 100644 test/lit/multi-memories-simd.wast create mode 100644 test/multi-memories-atomics64.wasm create mode 100644 test/multi-memories-atomics64.wasm.fromBinary create mode 100644 test/multi-memories-basics.wasm create mode 100644 test/multi-memories-basics.wasm.fromBinary create mode 100644 test/multi-memories-simd.wasm create mode 100644 test/multi-memories-simd.wasm.fromBinary create mode 100644 test/spec/multi-memories_size.wast diff --git a/test/lit/multi-memories-atomics64.wast b/test/lit/multi-memories-atomics64.wast new file mode 100644 index 00000000000..15941b12a87 --- /dev/null +++ b/test/lit/multi-memories-atomics64.wast @@ -0,0 +1,704 @@ +;; NOTE: Assertions have been generated by update_lit_checks.py and should not be edited. +;; RUN: wasm-as %s -all -g -o %t.wasm +;; RUN: wasm-dis %t.wasm -o - | filecheck %s + +(module + ;; CHECK: (type $0 (func)) + (type $0 (func)) + ;; CHECK: (memory $appMemory (shared i64 23 256)) + (memory $appMemory (shared i64 23 256)) + ;; CHECK: (memory $dataMemory (shared i64 23 256)) + (memory $dataMemory (shared i64 23 256)) + ;; CHECK: (memory $instrumentMemory (shared i64 23 256)) + (memory $instrumentMemory (shared i64 23 256)) + ;; CHECK: (func $atomic-loadstore + ;; CHECK-NEXT: (local $0 i64) + ;; CHECK-NEXT: (local $1 i64) + ;; CHECK-NEXT: (local $2 i32) + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (i32.atomic.load8_u $appMemory offset=4 + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (i32.atomic.load8_u $appMemory offset=4 + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (i32.atomic.load16_u $dataMemory offset=4 + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (i32.atomic.load16_u $instrumentMemory offset=4 + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (i32.atomic.load $dataMemory offset=4 + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (i32.atomic.load $appMemory offset=4 + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (i64.atomic.load8_u $appMemory + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (i64.atomic.load8_u $dataMemory + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (i64.atomic.load16_u $appMemory + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (i64.atomic.load16_u $appMemory + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (i64.atomic.load32_u $instrumentMemory + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (i64.atomic.load32_u $appMemory + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (i64.atomic.load $appMemory + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (i64.atomic.load $instrumentMemory + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (i32.atomic.store $appMemory offset=4 + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $2) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (i32.atomic.store $appMemory offset=4 + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $2) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (i32.atomic.store8 $instrumentMemory offset=4 + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $2) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (i32.atomic.store8 $dataMemory offset=4 + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $2) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (i32.atomic.store16 $appMemory offset=4 + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $2) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (i32.atomic.store16 $dataMemory offset=4 + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $2) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (i64.atomic.store $appMemory offset=4 + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (i64.atomic.store $appMemory offset=4 + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (i64.atomic.store8 $dataMemory offset=4 + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (i64.atomic.store8 $instrumentMemory offset=4 + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (i64.atomic.store16 $appMemory offset=4 + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (i64.atomic.store16 $appMemory offset=4 + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (i64.atomic.store32 $instrumentMemory offset=4 + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (i64.atomic.store32 $dataMemory offset=4 + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + (func $atomic-loadstore (type $0) + (local $0 i64) + (local $1 i64) + (local $2 i32) + (drop + (i32.atomic.load8_u 0 offset=4 + (local.get $0) + ) + ) + (drop + (i32.atomic.load8_u $appMemory offset=4 + (local.get $0) + ) + ) + (drop + (i32.atomic.load16_u 1 offset=4 + (local.get $0) + ) + ) + (drop + (i32.atomic.load16_u $instrumentMemory offset=4 + (local.get $0) + ) + ) + (drop + (i32.atomic.load 1 offset=4 + (local.get $0) + ) + ) + (drop + (i32.atomic.load $appMemory offset=4 + (local.get $0) + ) + ) + (drop + (i64.atomic.load8_u + (local.get $0) + ) + ) + (drop + (i64.atomic.load8_u $dataMemory + (local.get $0) + ) + ) + (drop + (i64.atomic.load16_u + (local.get $0) + ) + ) + (drop + (i64.atomic.load16_u $appMemory + (local.get $0) + ) + ) + (drop + (i64.atomic.load32_u 2 + (local.get $0) + ) + ) + (drop + (i64.atomic.load32_u $appMemory + (local.get $0) + ) + ) + (drop + (i64.atomic.load + (local.get $0) + ) + ) + (drop + (i64.atomic.load $instrumentMemory + (local.get $0) + ) + ) + (i32.atomic.store 0 offset=4 align=4 + (local.get $0) + (local.get $2) + ) + (i32.atomic.store $appMemory offset=4 align=4 + (local.get $0) + (local.get $2) + ) + (i32.atomic.store8 2 offset=4 align=1 + (local.get $0) + (local.get $2) + ) + (i32.atomic.store8 $dataMemory offset=4 align=1 + (local.get $0) + (local.get $2) + ) + (i32.atomic.store16 0 offset=4 + (local.get $0) + (local.get $2) + ) + (i32.atomic.store16 $dataMemory offset=4 + (local.get $0) + (local.get $2) + ) + (i64.atomic.store offset=4 + (local.get $0) + (local.get $1) + ) + (i64.atomic.store $appMemory offset=4 + (local.get $0) + (local.get $1) + ) + (i64.atomic.store8 1 offset=4 + (local.get $0) + (local.get $1) + ) + (i64.atomic.store8 $instrumentMemory offset=4 + (local.get $0) + (local.get $1) + ) + (i64.atomic.store16 offset=4 + (local.get $0) + (local.get $1) + ) + (i64.atomic.store16 $appMemory offset=4 + (local.get $0) + (local.get $1) + ) + (i64.atomic.store32 2 offset=4 + (local.get $0) + (local.get $1) + ) + (i64.atomic.store32 $dataMemory offset=4 + (local.get $0) + (local.get $1) + ) + ) + ;; CHECK: (func $atomic-rmw + ;; CHECK-NEXT: (local $0 i64) + ;; CHECK-NEXT: (local $1 i64) + ;; CHECK-NEXT: (local $2 i32) + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (i32.atomic.rmw.add $dataMemory offset=4 + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $2) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (i32.atomic.rmw.add $instrumentMemory offset=4 + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $2) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (i32.atomic.rmw8.add_u $appMemory offset=4 + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $2) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (i32.atomic.rmw8.add_u $appMemory offset=4 + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $2) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (i32.atomic.rmw16.and_u $dataMemory + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $2) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (i32.atomic.rmw16.and_u $instrumentMemory + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $2) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (i64.atomic.rmw32.or_u $appMemory + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (i64.atomic.rmw32.or_u $appMemory + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (i32.atomic.rmw8.xchg_u $appMemory + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $2) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (i32.atomic.rmw8.xchg_u $dataMemory + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $2) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + (func $atomic-rmw (type $0) + (local $0 i64) + (local $1 i64) + (local $2 i32) + (drop + (i32.atomic.rmw.add $dataMemory offset=4 + (local.get $0) + (local.get $2) + ) + ) + (drop + (i32.atomic.rmw.add 2 offset=4 + (local.get $0) + (local.get $2) + ) + ) + (drop + (i32.atomic.rmw8.add_u 0 offset=4 + (local.get $0) + (local.get $2) + ) + ) + (drop + (i32.atomic.rmw8.add_u $appMemory offset=4 + (local.get $0) + (local.get $2) + ) + ) + (drop + (i32.atomic.rmw16.and_u 1 align=2 + (local.get $0) + (local.get $2) + ) + ) + (drop + (i32.atomic.rmw16.and_u $instrumentMemory align=2 + (local.get $0) + (local.get $2) + ) + ) + (drop + (i64.atomic.rmw32.or_u 0 + (local.get $0) + (local.get $1) + ) + ) + (drop + (i64.atomic.rmw32.or_u $appMemory + (local.get $0) + (local.get $1) + ) + ) + (drop + (i32.atomic.rmw8.xchg_u 0 align=1 + (local.get $0) + (local.get $2) + ) + ) + (drop + (i32.atomic.rmw8.xchg_u $dataMemory align=1 + (local.get $0) + (local.get $2) + ) + ) + ) + ;; CHECK: (func $atomic-cmpxchg + ;; CHECK-NEXT: (local $0 i64) + ;; CHECK-NEXT: (local $1 i64) + ;; CHECK-NEXT: (local $2 i32) + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (i32.atomic.rmw.cmpxchg $appMemory offset=4 + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $2) + ;; CHECK-NEXT: (local.get $2) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (i32.atomic.rmw.cmpxchg $instrumentMemory offset=4 + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $2) + ;; CHECK-NEXT: (local.get $2) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (i32.atomic.rmw8.cmpxchg_u $appMemory + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $2) + ;; CHECK-NEXT: (local.get $2) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (i32.atomic.rmw8.cmpxchg_u $appMemory + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $2) + ;; CHECK-NEXT: (local.get $2) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (i64.atomic.rmw.cmpxchg $appMemory offset=4 + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (i64.atomic.rmw.cmpxchg $dataMemory offset=4 + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (i64.atomic.rmw32.cmpxchg_u $instrumentMemory + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (i64.atomic.rmw32.cmpxchg_u $dataMemory + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + (func $atomic-cmpxchg (type $0) + (local $0 i64) + (local $1 i64) + (local $2 i32) + (drop + (i32.atomic.rmw.cmpxchg 0 offset=4 + (local.get $0) + (local.get $2) + (local.get $2) + ) + ) + (drop + (i32.atomic.rmw.cmpxchg $instrumentMemory offset=4 + (local.get $0) + (local.get $2) + (local.get $2) + ) + ) + (drop + (i32.atomic.rmw8.cmpxchg_u + (local.get $0) + (local.get $2) + (local.get $2) + ) + ) + (drop + (i32.atomic.rmw8.cmpxchg_u $appMemory + (local.get $0) + (local.get $2) + (local.get $2) + ) + ) + (drop + (i64.atomic.rmw.cmpxchg offset=4 + (local.get $0) + (local.get $1) + (local.get $1) + ) + ) + (drop + (i64.atomic.rmw.cmpxchg $dataMemory offset=4 + (local.get $0) + (local.get $1) + (local.get $1) + ) + ) + (drop + (i64.atomic.rmw32.cmpxchg_u 2 align=4 + (local.get $0) + (local.get $1) + (local.get $1) + ) + ) + (drop + (i64.atomic.rmw32.cmpxchg_u $dataMemory align=4 + (local.get $0) + (local.get $1) + (local.get $1) + ) + ) + ) + ;; CHECK: (func $atomic-wait-notify + ;; CHECK-NEXT: (local $0 i64) + ;; CHECK-NEXT: (local $1 i64) + ;; CHECK-NEXT: (local $2 i32) + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (memory.atomic.wait32 $dataMemory + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $2) + ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (memory.atomic.wait32 $instrumentMemory + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $2) + ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (memory.atomic.wait32 $appMemory offset=4 + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $2) + ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (memory.atomic.wait32 $instrumentMemory offset=4 + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $2) + ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (memory.atomic.notify $dataMemory + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $2) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (memory.atomic.notify $dataMemory + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $2) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (memory.atomic.notify $appMemory offset=24 + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $2) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (memory.atomic.notify $dataMemory offset=24 + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $2) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (memory.atomic.wait64 $instrumentMemory + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (memory.atomic.wait64 $instrumentMemory + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (memory.atomic.wait64 $appMemory offset=16 + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (memory.atomic.wait64 $appMemory offset=16 + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + (func $atomic-wait-notify (type $0) + (local $0 i64) + (local $1 i64) + (local $2 i32) + (drop + (memory.atomic.wait32 $dataMemory + (local.get $0) + (local.get $2) + (local.get $1) + ) + ) + (drop + (memory.atomic.wait32 2 + (local.get $0) + (local.get $2) + (local.get $1) + ) + ) + (drop + (memory.atomic.wait32 $appMemory offset=4 align=4 + (local.get $0) + (local.get $2) + (local.get $1) + ) + ) + (drop + (memory.atomic.wait32 2 offset=4 align=4 + (local.get $0) + (local.get $2) + (local.get $1) + ) + ) + (drop + (memory.atomic.notify 1 + (local.get $0) + (local.get $2) + ) + ) + (drop + (memory.atomic.notify $dataMemory + (local.get $0) + (local.get $2) + ) + ) + (drop + (memory.atomic.notify $appMemory offset=24 align=4 + (local.get $0) + (local.get $2) + ) + ) + (drop + (memory.atomic.notify 1 offset=24 align=4 + (local.get $0) + (local.get $2) + ) + ) + (drop + (memory.atomic.wait64 $instrumentMemory + (local.get $0) + (local.get $1) + (local.get $1) + ) + ) + (drop + (memory.atomic.wait64 2 + (local.get $0) + (local.get $1) + (local.get $1) + ) + ) + (drop + (memory.atomic.wait64 $appMemory align=8 offset=16 + (local.get $0) + (local.get $1) + (local.get $1) + ) + ) + (drop + (memory.atomic.wait64 0 align=8 offset=16 + (local.get $0) + (local.get $1) + (local.get $1) + ) + ) + ) + ;; CHECK: (func $atomic-fence + ;; CHECK-NEXT: (atomic.fence) + ;; CHECK-NEXT: ) + (func $atomic-fence (type $0) + (atomic.fence) + ) +) diff --git a/test/lit/multi-memories-basics.wast b/test/lit/multi-memories-basics.wast new file mode 100644 index 00000000000..42b60915bce --- /dev/null +++ b/test/lit/multi-memories-basics.wast @@ -0,0 +1,175 @@ +;; NOTE: Assertions have been generated by update_lit_checks.py and should not be edited. +;; RUN: wasm-as %s -all -g -o %t.wasm +;; RUN: wasm-dis %t.wasm -o - | filecheck %s + +(module + ;; CHECK: (import "env" "memory" (memory $importedMemory 1 1)) + + ;; CHECK: (memory $memory1 1 500) + (memory $memory1 1 500) + ;; CHECK: (memory $memory2 1 800) + (memory $memory2 1 800) + ;; CHECK: (memory $memory3 1 400) + (memory $memory3 1 400) + (data (memory $memory1) (i32.const 0) "a" "" "bcd") + (import "env" "memory" (memory $importedMemory 1 1)) + ;; CHECK: (data (i32.const 0) "abcd") + + ;; CHECK: (func $memory.fill + ;; CHECK-NEXT: (memory.fill $memory2 + ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: (i32.const 1) + ;; CHECK-NEXT: (i32.const 2) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + (func $memory.fill + (memory.fill 1 + (i32.const 0) + (i32.const 1) + (i32.const 2) + ) + ) + ;; CHECK: (func $memory.copy + ;; CHECK-NEXT: (memory.copy $memory2 $memory3 + ;; CHECK-NEXT: (i32.const 512) + ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: (i32.const 12) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + (func $memory.copy + (memory.copy 1 2 + (i32.const 512) + (i32.const 0) + (i32.const 12) + ) + ) + ;; CHECK: (func $memory.init + ;; CHECK-NEXT: (memory.init $memory1 0 + ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: (i32.const 45) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + (func $memory.init + (memory.init 0 0 + (i32.const 0) + (i32.const 0) + (i32.const 45) + ) + ) + ;; CHECK: (func $memory.grow (result i32) + ;; CHECK-NEXT: (memory.grow $memory3 + ;; CHECK-NEXT: (i32.const 10) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + (func $memory.grow (result i32) + (memory.grow 2 + (i32.const 10) + ) + ) + ;; CHECK: (func $memory.size (result i32) + ;; CHECK-NEXT: (memory.size $memory3) + ;; CHECK-NEXT: ) + (func $memory.size (result i32) + (memory.size 2) + ) + ;; CHECK: (func $loads + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (i32.load $memory1 + ;; CHECK-NEXT: (i32.const 12) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (i32.load $memory3 + ;; CHECK-NEXT: (i32.const 12) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (i32.load16_s $memory2 + ;; CHECK-NEXT: (i32.const 12) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (i32.load16_s $memory2 + ;; CHECK-NEXT: (i32.const 12) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (i32.load8_s $memory3 + ;; CHECK-NEXT: (i32.const 12) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (i32.load8_s $memory3 + ;; CHECK-NEXT: (i32.const 12) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (i32.load16_u $memory1 + ;; CHECK-NEXT: (i32.const 12) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (i32.load16_u $memory1 + ;; CHECK-NEXT: (i32.const 12) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (i32.load8_u $memory2 + ;; CHECK-NEXT: (i32.const 12) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (i32.load8_u $memory2 + ;; CHECK-NEXT: (i32.const 12) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + (func $loads + (drop (i32.load 0 (i32.const 12))) + (drop (i32.load $memory3 (i32.const 12))) + (drop (i32.load16_s 1 (i32.const 12))) + (drop (i32.load16_s $memory2 (i32.const 12))) + (drop (i32.load8_s 2 (i32.const 12))) + (drop (i32.load8_s $memory3 (i32.const 12))) + (drop (i32.load16_u 0 (i32.const 12))) + (drop (i32.load16_u $memory1 (i32.const 12))) + (drop (i32.load8_u 1 (i32.const 12))) + (drop (i32.load8_u $memory2 (i32.const 12))) + ) + ;; CHECK: (func $stores + ;; CHECK-NEXT: (i32.store $memory1 + ;; CHECK-NEXT: (i32.const 12) + ;; CHECK-NEXT: (i32.const 115) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (i32.store $memory1 + ;; CHECK-NEXT: (i32.const 12) + ;; CHECK-NEXT: (i32.const 115) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (i32.store16 $memory2 + ;; CHECK-NEXT: (i32.const 20) + ;; CHECK-NEXT: (i32.const 31353) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (i32.store16 $importedMemory + ;; CHECK-NEXT: (i32.const 20) + ;; CHECK-NEXT: (i32.const 31353) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (i32.store8 $memory3 + ;; CHECK-NEXT: (i32.const 23) + ;; CHECK-NEXT: (i32.const 120) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (i32.store8 $memory3 + ;; CHECK-NEXT: (i32.const 23) + ;; CHECK-NEXT: (i32.const 120) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + (func $stores + (i32.store 0 (i32.const 12) (i32.const 115)) + (i32.store $memory1 (i32.const 12) (i32.const 115)) + (i32.store16 1 (i32.const 20) (i32.const 31353)) + (i32.store16 $importedMemory (i32.const 20) (i32.const 31353)) + (i32.store8 2 (i32.const 23) (i32.const 120)) + (i32.store8 $memory3 (i32.const 23) (i32.const 120)) + ) +) + diff --git a/test/lit/multi-memories-simd.wast b/test/lit/multi-memories-simd.wast new file mode 100644 index 00000000000..184d98876fe --- /dev/null +++ b/test/lit/multi-memories-simd.wast @@ -0,0 +1,635 @@ +;; NOTE: Assertions have been generated by update_lit_checks.py and should not be edited. +;; RUN: wasm-as %s -all -g -o %t.wasm +;; RUN: wasm-dis %t.wasm -o - | filecheck %s + +(module + ;; CHECK: (memory $memorya 1 1) + (memory $memorya 1 1) + ;; CHECK: (memory $memoryb 1 1) + (memory $memoryb 1 1) + ;; CHECK: (memory $memoryc 1 1) + (memory $memoryc 1 1) + ;; CHECK: (memory $memoryd 1 1) + (memory $memoryd 1 1) + ;; CHECK: (func $v128.load (param $0 i32) (result v128) + ;; CHECK-NEXT: (v128.load $memorya + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + (func $v128.load (param $0 i32) (result v128) + (v128.load offset=0 align=16 + (local.get $0) + ) + ) + ;; CHECK: (func $v128.load2 (param $0 i32) (result v128) + ;; CHECK-NEXT: (v128.load $memoryb + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + (func $v128.load2 (param $0 i32) (result v128) + (v128.load $memoryb offset=0 align=16 + (local.get $0) + ) + ) + ;; CHECK: (func $v128.load8x8_s (param $0 i32) (result v128) + ;; CHECK-NEXT: (v128.load8x8_s $memoryc + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + (func $v128.load8x8_s (param $0 i32) (result v128) + (v128.load8x8_s 2 + (local.get $0) + ) + ) + ;; CHECK: (func $v128.load8x8_s2 (param $0 i32) (result v128) + ;; CHECK-NEXT: (v128.load8x8_s $memoryb + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + (func $v128.load8x8_s2 (param $0 i32) (result v128) + (v128.load8x8_s 1 + (local.get $0) + ) + ) + ;; CHECK: (func $v128.load8x8_u (param $0 i32) (result v128) + ;; CHECK-NEXT: (v128.load8x8_u $memoryd + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + (func $v128.load8x8_u (param $0 i32) (result v128) + (v128.load8x8_u 3 + (local.get $0) + ) + ) + ;; CHECK: (func $v128.load8x8_u2 (param $0 i32) (result v128) + ;; CHECK-NEXT: (v128.load8x8_u $memoryd + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + (func $v128.load8x8_u2 (param $0 i32) (result v128) + (v128.load8x8_u $memoryd + (local.get $0) + ) + ) + ;; CHECK: (func $v128.load16x4_s (param $0 i32) (result v128) + ;; CHECK-NEXT: (v128.load16x4_s $memorya + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + (func $v128.load16x4_s (param $0 i32) (result v128) + (v128.load16x4_s 0 + (local.get $0) + ) + ) + ;; CHECK: (func $v128.load16x4_s2 (param $0 i32) (result v128) + ;; CHECK-NEXT: (v128.load16x4_s $memoryb + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + (func $v128.load16x4_s2 (param $0 i32) (result v128) + (v128.load16x4_s $memoryb + (local.get $0) + ) + ) + ;; CHECK: (func $v128.load16x4_u (param $0 i32) (result v128) + ;; CHECK-NEXT: (v128.load16x4_u $memorya + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + (func $v128.load16x4_u (param $0 i32) (result v128) + (v128.load16x4_u 0 + (local.get $0) + ) + ) + ;; CHECK: (func $v128.load16x4_u2 (param $0 i32) (result v128) + ;; CHECK-NEXT: (v128.load16x4_u $memorya + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + (func $v128.load16x4_u2 (param $0 i32) (result v128) + (v128.load16x4_u $memorya + (local.get $0) + ) + ) + ;; CHECK: (func $v128.load32x2_s (param $0 i32) (result v128) + ;; CHECK-NEXT: (v128.load32x2_s $memoryc + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + (func $v128.load32x2_s (param $0 i32) (result v128) + (v128.load32x2_s 2 + (local.get $0) + ) + ) + ;; CHECK: (func $v128.load32x2_s2 (param $0 i32) (result v128) + ;; CHECK-NEXT: (v128.load32x2_s $memoryb + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + (func $v128.load32x2_s2 (param $0 i32) (result v128) + (v128.load32x2_s $memoryb + (local.get $0) + ) + ) + ;; CHECK: (func $v128.load32x2_u (param $0 i32) (result v128) + ;; CHECK-NEXT: (v128.load32x2_u $memoryb + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + (func $v128.load32x2_u (param $0 i32) (result v128) + (v128.load32x2_u 1 + (local.get $0) + ) + ) + ;; CHECK: (func $v128.load32x2_u2 (param $0 i32) (result v128) + ;; CHECK-NEXT: (v128.load32x2_u $memoryc + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + (func $v128.load32x2_u2 (param $0 i32) (result v128) + (v128.load32x2_u $memoryc + (local.get $0) + ) + ) + ;; CHECK: (func $v128.load8_splat (param $0 i32) (result v128) + ;; CHECK-NEXT: (v128.load8_splat $memoryb + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + (func $v128.load8_splat (param $0 i32) (result v128) + (v128.load8_splat 1 + (local.get $0) + ) + ) + ;; CHECK: (func $v128.load8_splat2 (param $0 i32) (result v128) + ;; CHECK-NEXT: (v128.load8_splat $memoryb + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + (func $v128.load8_splat2 (param $0 i32) (result v128) + (v128.load8_splat $memoryb + (local.get $0) + ) + ) + ;; CHECK: (func $v128.load16_splat (param $0 i32) (result v128) + ;; CHECK-NEXT: (v128.load16_splat $memorya + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + (func $v128.load16_splat (param $0 i32) (result v128) + (v128.load16_splat $memorya + (local.get $0) + ) + ) + ;; CHECK: (func $v128.load16_splat2 (param $0 i32) (result v128) + ;; CHECK-NEXT: (v128.load16_splat $memorya + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + (func $v128.load16_splat2 (param $0 i32) (result v128) + (v128.load16_splat 0 + (local.get $0) + ) + ) + ;; CHECK: (func $v128.load32_splat (param $0 i32) (result v128) + ;; CHECK-NEXT: (v128.load32_splat $memoryb + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + (func $v128.load32_splat (param $0 i32) (result v128) + (v128.load32_splat 1 + (local.get $0) + ) + ) + ;; CHECK: (func $v128.load32_splat2 (param $0 i32) (result v128) + ;; CHECK-NEXT: (v128.load32_splat $memoryd + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + (func $v128.load32_splat2 (param $0 i32) (result v128) + (v128.load32_splat $memoryd + (local.get $0) + ) + ) + ;; CHECK: (func $v128.load64_splat (param $0 i32) (result v128) + ;; CHECK-NEXT: (v128.load64_splat $memoryb + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + (func $v128.load64_splat (param $0 i32) (result v128) + (v128.load64_splat 1 + (local.get $0) + ) + ) + ;; CHECK: (func $v128.load64_splat2 (param $0 i32) (result v128) + ;; CHECK-NEXT: (v128.load64_splat $memorya + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + (func $v128.load64_splat2 (param $0 i32) (result v128) + (v128.load64_splat $memorya + (local.get $0) + ) + ) + ;; CHECK: (func $v128.store (param $0 i32) (param $1 v128) + ;; CHECK-NEXT: (v128.store $memorya + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + (func $v128.store (param $0 i32) (param $1 v128) + (v128.store 0 offset=0 align=16 + (local.get $0) + (local.get $1) + ) + ) + ;; CHECK: (func $v128.store2 (param $0 i32) (param $1 v128) + ;; CHECK-NEXT: (v128.store $memoryb + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + (func $v128.store2 (param $0 i32) (param $1 v128) + (v128.store 1 offset=0 align=16 + (local.get $0) + (local.get $1) + ) + ) + ;; CHECK: (func $v128.load8_lane (param $0 i32) (param $1 v128) (result v128) + ;; CHECK-NEXT: (v128.load8_lane $memorya 0 + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + (func $v128.load8_lane (param $0 i32) (param $1 v128) (result v128) + (v128.load8_lane 0 0 + (local.get $0) + (local.get $1) + ) + ) + ;; CHECK: (func $v128.load8_lane2 (param $0 i32) (param $1 v128) (result v128) + ;; CHECK-NEXT: (v128.load8_lane $memoryb 0 + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + (func $v128.load8_lane2 (param $0 i32) (param $1 v128) (result v128) + (v128.load8_lane $memoryb 0 + (local.get $0) + (local.get $1) + ) + ) + ;; CHECK: (func $v128.load16_lane (param $0 i32) (param $1 v128) (result v128) + ;; CHECK-NEXT: (v128.load16_lane $memoryb 0 + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + (func $v128.load16_lane (param $0 i32) (param $1 v128) (result v128) + (v128.load16_lane 1 0 + (local.get $0) + (local.get $1) + ) + ) + ;; CHECK: (func $v128.load16_lane2 (param $0 i32) (param $1 v128) (result v128) + ;; CHECK-NEXT: (v128.load16_lane $memoryd 0 + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + (func $v128.load16_lane2 (param $0 i32) (param $1 v128) (result v128) + (v128.load16_lane $memoryd 0 + (local.get $0) + (local.get $1) + ) + ) + ;; CHECK: (func $v128.load32_lane (param $0 i32) (param $1 v128) (result v128) + ;; CHECK-NEXT: (v128.load32_lane $memorya 0 + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + (func $v128.load32_lane (param $0 i32) (param $1 v128) (result v128) + (v128.load32_lane $memorya 0 + (local.get $0) + (local.get $1) + ) + ) + ;; CHECK: (func $v128.load32_lane2 (param $0 i32) (param $1 v128) (result v128) + ;; CHECK-NEXT: (v128.load32_lane $memoryb 0 + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + (func $v128.load32_lane2 (param $0 i32) (param $1 v128) (result v128) + (v128.load32_lane 1 0 + (local.get $0) + (local.get $1) + ) + ) + ;; CHECK: (func $v128.load64_lane (param $0 i32) (param $1 v128) (result v128) + ;; CHECK-NEXT: (v128.load64_lane $memoryd 0 + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + (func $v128.load64_lane (param $0 i32) (param $1 v128) (result v128) + (v128.load64_lane $memoryd 0 + (local.get $0) + (local.get $1) + ) + ) + ;; CHECK: (func $v128.load64_lane2 (param $0 i32) (param $1 v128) (result v128) + ;; CHECK-NEXT: (v128.load64_lane $memoryb 0 + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + (func $v128.load64_lane2 (param $0 i32) (param $1 v128) (result v128) + (v128.load64_lane 1 0 + (local.get $0) + (local.get $1) + ) + ) + ;; CHECK: (func $v128.load64_lane_align (param $0 i32) (param $1 v128) (result v128) + ;; CHECK-NEXT: (v128.load64_lane $memorya align=1 0 + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + (func $v128.load64_lane_align (param $0 i32) (param $1 v128) (result v128) + (v128.load64_lane 0 align=1 0 + (local.get $0) + (local.get $1) + ) + ) + ;; CHECK: (func $v128.load64_lane_align2 (param $0 i32) (param $1 v128) (result v128) + ;; CHECK-NEXT: (v128.load64_lane $memoryb align=1 0 + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + (func $v128.load64_lane_align2 (param $0 i32) (param $1 v128) (result v128) + (v128.load64_lane $memoryb align=1 0 + (local.get $0) + (local.get $1) + ) + ) + ;; CHECK: (func $v128.load64_lane_offset (param $0 i32) (param $1 v128) (result v128) + ;; CHECK-NEXT: (v128.load64_lane $memoryc offset=32 0 + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + (func $v128.load64_lane_offset (param $0 i32) (param $1 v128) (result v128) + (v128.load64_lane 2 offset=32 0 + (local.get $0) + (local.get $1) + ) + ) + ;; CHECK: (func $v128.load64_lane_offset2 (param $0 i32) (param $1 v128) (result v128) + ;; CHECK-NEXT: (v128.load64_lane $memoryb offset=32 0 + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + (func $v128.load64_lane_offset2 (param $0 i32) (param $1 v128) (result v128) + (v128.load64_lane $memoryb offset=32 0 + (local.get $0) + (local.get $1) + ) + ) + ;; CHECK: (func $v128.load64_lane_align_offset (param $0 i32) (param $1 v128) (result v128) + ;; CHECK-NEXT: (v128.load64_lane $memorya offset=32 align=1 0 + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + (func $v128.load64_lane_align_offset (param $0 i32) (param $1 v128) (result v128) + (v128.load64_lane align=1 offset=32 0 + (local.get $0) + (local.get $1) + ) + ) + ;; CHECK: (func $v128.load64_lane_align_offset2 (param $0 i32) (param $1 v128) (result v128) + ;; CHECK-NEXT: (v128.load64_lane $memoryd offset=32 align=1 0 + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + (func $v128.load64_lane_align_offset2 (param $0 i32) (param $1 v128) (result v128) + (v128.load64_lane $memoryd align=1 offset=32 0 + (local.get $0) + (local.get $1) + ) + ) + ;; CHECK: (func $v128.store8_lane (param $0 i32) (param $1 v128) + ;; CHECK-NEXT: (v128.store8_lane $memorya 0 + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + (func $v128.store8_lane (param $0 i32) (param $1 v128) + (v128.store8_lane 0 0 + (local.get $0) + (local.get $1) + ) + ) + ;; CHECK: (func $v128.store8_lane2 (param $0 i32) (param $1 v128) + ;; CHECK-NEXT: (v128.store8_lane $memoryd 0 + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + (func $v128.store8_lane2 (param $0 i32) (param $1 v128) + (v128.store8_lane $memoryd 0 + (local.get $0) + (local.get $1) + ) + ) + ;; CHECK: (func $v128.store16_lane (param $0 i32) (param $1 v128) + ;; CHECK-NEXT: (v128.store16_lane $memorya 0 + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + (func $v128.store16_lane (param $0 i32) (param $1 v128) + (v128.store16_lane $memorya 0 + (local.get $0) + (local.get $1) + ) + ) + ;; CHECK: (func $v128.store16_lane2 (param $0 i32) (param $1 v128) + ;; CHECK-NEXT: (v128.store16_lane $memoryb 0 + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + (func $v128.store16_lane2 (param $0 i32) (param $1 v128) + (v128.store16_lane 1 0 + (local.get $0) + (local.get $1) + ) + ) + ;; CHECK: (func $v128.store32_lane (param $0 i32) (param $1 v128) + ;; CHECK-NEXT: (v128.store32_lane $memoryb 0 + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + (func $v128.store32_lane (param $0 i32) (param $1 v128) + (v128.store32_lane $memoryb 0 + (local.get $0) + (local.get $1) + ) + ) + ;; CHECK: (func $v128.store32_lane2 (param $0 i32) (param $1 v128) + ;; CHECK-NEXT: (v128.store32_lane $memoryc 0 + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + (func $v128.store32_lane2 (param $0 i32) (param $1 v128) + (v128.store32_lane 2 0 + (local.get $0) + (local.get $1) + ) + ) + ;; CHECK: (func $v128.store64_lane (param $0 i32) (param $1 v128) + ;; CHECK-NEXT: (v128.store64_lane $memoryc 0 + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + (func $v128.store64_lane (param $0 i32) (param $1 v128) + (v128.store64_lane $memoryc 0 + (local.get $0) + (local.get $1) + ) + ) + ;; CHECK: (func $v128.store64_lane2 (param $0 i32) (param $1 v128) + ;; CHECK-NEXT: (v128.store64_lane $memoryb 0 + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + (func $v128.store64_lane2 (param $0 i32) (param $1 v128) + (v128.store64_lane 1 0 + (local.get $0) + (local.get $1) + ) + ) + ;; CHECK: (func $v128.store64_lane_align (param $0 i32) (param $1 v128) + ;; CHECK-NEXT: (v128.store64_lane $memoryb align=1 0 + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + (func $v128.store64_lane_align (param $0 i32) (param $1 v128) + (v128.store64_lane $memoryb align=1 0 + (local.get $0) + (local.get $1) + ) + ) + ;; CHECK: (func $v128.store64_lane_align2 (param $0 i32) (param $1 v128) + ;; CHECK-NEXT: (v128.store64_lane $memorya align=1 0 + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + (func $v128.store64_lane_align2 (param $0 i32) (param $1 v128) + (v128.store64_lane 0 align=1 0 + (local.get $0) + (local.get $1) + ) + ) + ;; CHECK: (func $v128.store64_lane_offset (param $0 i32) (param $1 v128) + ;; CHECK-NEXT: (v128.store64_lane $memoryd offset=32 0 + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + (func $v128.store64_lane_offset (param $0 i32) (param $1 v128) + (v128.store64_lane 3 offset=32 0 + (local.get $0) + (local.get $1) + ) + ) + ;; CHECK: (func $v128.store64_lane_offset2 (param $0 i32) (param $1 v128) + ;; CHECK-NEXT: (v128.store64_lane $memorya offset=32 0 + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + (func $v128.store64_lane_offset2 (param $0 i32) (param $1 v128) + (v128.store64_lane $memorya offset=32 0 + (local.get $0) + (local.get $1) + ) + ) + ;; CHECK: (func $v128.store64_lane_align_offset (param $0 i32) (param $1 v128) + ;; CHECK-NEXT: (v128.store64_lane $memoryb offset=32 align=1 0 + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + (func $v128.store64_lane_align_offset (param $0 i32) (param $1 v128) + (v128.store64_lane 1 align=1 offset=32 0 + (local.get $0) + (local.get $1) + ) + ) + ;; CHECK: (func $v128.store64_lane_align_offset2 (param $0 i32) (param $1 v128) + ;; CHECK-NEXT: (v128.store64_lane $memoryd offset=32 align=1 0 + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + (func $v128.store64_lane_align_offset2 (param $0 i32) (param $1 v128) + (v128.store64_lane $memoryd align=1 offset=32 0 + (local.get $0) + (local.get $1) + ) + ) + ;; CHECK: (func $v128.load32_zero (param $0 i32) (result v128) + ;; CHECK-NEXT: (v128.load32_zero $memorya + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + (func $v128.load32_zero (param $0 i32) (result v128) + (v128.load32_zero 0 + (local.get $0) + ) + ) + ;; CHECK: (func $v128.load32_zero2 (param $0 i32) (result v128) + ;; CHECK-NEXT: (v128.load32_zero $memoryb + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + (func $v128.load32_zero2 (param $0 i32) (result v128) + (v128.load32_zero $memoryb + (local.get $0) + ) + ) + ;; CHECK: (func $v128.load64_zero (param $0 i32) (result v128) + ;; CHECK-NEXT: (v128.load64_zero $memoryb + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + (func $v128.load64_zero (param $0 i32) (result v128) + (v128.load64_zero 1 + (local.get $0) + ) + ) + ;; CHECK: (func $v128.load64_zero2 (param $0 i32) (result v128) + ;; CHECK-NEXT: (v128.load64_zero $memoryc + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + (func $v128.load64_zero2 (param $0 i32) (result v128) + (v128.load64_zero $memoryc + (local.get $0) + ) + ) +) + diff --git a/test/multi-memories-atomics64.wasm b/test/multi-memories-atomics64.wasm new file mode 100644 index 0000000000000000000000000000000000000000..a138262855950f9febe422378622263ae3b160c5 GIT binary patch literal 835 zcmZXROHRW;42Eqd0nq{qw7kkgStC_EcI@)l01`;tfT*NUM3Slv0ye-2xDTh{60Ao! z;~5&nBJ$^79^1bI=`=?GKo_q8oH>sfz*}G3*T zjA}E{N&~i~7}d5sN3|ob8n7Gd&Zu_TM*H5F=Gl8j zVQiMwZ0@aD`bmwo3$|J{2{!A=RBM{*9Vju@|1tP>PfD2E9w-Oe@QH4b<{4gj;HOoY zj|TmRGQF8rk literal 0 HcmV?d00001 diff --git a/test/multi-memories-atomics64.wasm.fromBinary b/test/multi-memories-atomics64.wasm.fromBinary new file mode 100644 index 00000000000..565a5e63a85 --- /dev/null +++ b/test/multi-memories-atomics64.wasm.fromBinary @@ -0,0 +1,352 @@ +(module + (type $0 (func)) + (memory $appMemory (shared i64 23 256)) + (memory $dataMemory (shared i64 23 256)) + (memory $instrumentMemory (shared i64 23 256)) + (func $atomic-loadstore + (local $0 i64) + (local $1 i64) + (local $2 i32) + (drop + (i32.atomic.load8_u $appMemory offset=4 + (local.get $0) + ) + ) + (drop + (i32.atomic.load8_u $appMemory offset=4 + (local.get $0) + ) + ) + (drop + (i32.atomic.load16_u $dataMemory offset=4 + (local.get $0) + ) + ) + (drop + (i32.atomic.load16_u $instrumentMemory offset=4 + (local.get $0) + ) + ) + (drop + (i32.atomic.load $dataMemory offset=4 + (local.get $0) + ) + ) + (drop + (i32.atomic.load $appMemory offset=4 + (local.get $0) + ) + ) + (drop + (i64.atomic.load8_u $appMemory + (local.get $0) + ) + ) + (drop + (i64.atomic.load8_u $dataMemory + (local.get $0) + ) + ) + (drop + (i64.atomic.load16_u $appMemory + (local.get $0) + ) + ) + (drop + (i64.atomic.load16_u $appMemory + (local.get $0) + ) + ) + (drop + (i64.atomic.load32_u $instrumentMemory + (local.get $0) + ) + ) + (drop + (i64.atomic.load32_u $appMemory + (local.get $0) + ) + ) + (drop + (i64.atomic.load $appMemory + (local.get $0) + ) + ) + (drop + (i64.atomic.load $instrumentMemory + (local.get $0) + ) + ) + (i32.atomic.store $appMemory offset=4 + (local.get $0) + (local.get $2) + ) + (i32.atomic.store $appMemory offset=4 + (local.get $0) + (local.get $2) + ) + (i32.atomic.store8 $instrumentMemory offset=4 + (local.get $0) + (local.get $2) + ) + (i32.atomic.store8 $dataMemory offset=4 + (local.get $0) + (local.get $2) + ) + (i32.atomic.store16 $appMemory offset=4 + (local.get $0) + (local.get $2) + ) + (i32.atomic.store16 $dataMemory offset=4 + (local.get $0) + (local.get $2) + ) + (i64.atomic.store $appMemory offset=4 + (local.get $0) + (local.get $1) + ) + (i64.atomic.store $appMemory offset=4 + (local.get $0) + (local.get $1) + ) + (i64.atomic.store8 $dataMemory offset=4 + (local.get $0) + (local.get $1) + ) + (i64.atomic.store8 $instrumentMemory offset=4 + (local.get $0) + (local.get $1) + ) + (i64.atomic.store16 $appMemory offset=4 + (local.get $0) + (local.get $1) + ) + (i64.atomic.store16 $appMemory offset=4 + (local.get $0) + (local.get $1) + ) + (i64.atomic.store32 $instrumentMemory offset=4 + (local.get $0) + (local.get $1) + ) + (i64.atomic.store32 $dataMemory offset=4 + (local.get $0) + (local.get $1) + ) + ) + (func $atomic-rmw + (local $0 i64) + (local $1 i64) + (local $2 i32) + (drop + (i32.atomic.rmw.add $dataMemory offset=4 + (local.get $0) + (local.get $2) + ) + ) + (drop + (i32.atomic.rmw.add $instrumentMemory offset=4 + (local.get $0) + (local.get $2) + ) + ) + (drop + (i32.atomic.rmw8.add_u $appMemory offset=4 + (local.get $0) + (local.get $2) + ) + ) + (drop + (i32.atomic.rmw8.add_u $appMemory offset=4 + (local.get $0) + (local.get $2) + ) + ) + (drop + (i32.atomic.rmw16.and_u $dataMemory + (local.get $0) + (local.get $2) + ) + ) + (drop + (i32.atomic.rmw16.and_u $instrumentMemory + (local.get $0) + (local.get $2) + ) + ) + (drop + (i64.atomic.rmw32.or_u $appMemory + (local.get $0) + (local.get $1) + ) + ) + (drop + (i64.atomic.rmw32.or_u $appMemory + (local.get $0) + (local.get $1) + ) + ) + (drop + (i32.atomic.rmw8.xchg_u $appMemory + (local.get $0) + (local.get $2) + ) + ) + (drop + (i32.atomic.rmw8.xchg_u $dataMemory + (local.get $0) + (local.get $2) + ) + ) + ) + (func $atomic-cmpxchg + (local $0 i64) + (local $1 i64) + (local $2 i32) + (drop + (i32.atomic.rmw.cmpxchg $appMemory offset=4 + (local.get $0) + (local.get $2) + (local.get $2) + ) + ) + (drop + (i32.atomic.rmw.cmpxchg $instrumentMemory offset=4 + (local.get $0) + (local.get $2) + (local.get $2) + ) + ) + (drop + (i32.atomic.rmw8.cmpxchg_u $appMemory + (local.get $0) + (local.get $2) + (local.get $2) + ) + ) + (drop + (i32.atomic.rmw8.cmpxchg_u $appMemory + (local.get $0) + (local.get $2) + (local.get $2) + ) + ) + (drop + (i64.atomic.rmw.cmpxchg $appMemory offset=4 + (local.get $0) + (local.get $1) + (local.get $1) + ) + ) + (drop + (i64.atomic.rmw.cmpxchg $dataMemory offset=4 + (local.get $0) + (local.get $1) + (local.get $1) + ) + ) + (drop + (i64.atomic.rmw32.cmpxchg_u $instrumentMemory + (local.get $0) + (local.get $1) + (local.get $1) + ) + ) + (drop + (i64.atomic.rmw32.cmpxchg_u $dataMemory + (local.get $0) + (local.get $1) + (local.get $1) + ) + ) + ) + (func $atomic-wait-notify + (local $0 i64) + (local $1 i64) + (local $2 i32) + (drop + (memory.atomic.wait32 $dataMemory + (local.get $0) + (local.get $2) + (local.get $1) + ) + ) + (drop + (memory.atomic.wait32 $instrumentMemory + (local.get $0) + (local.get $2) + (local.get $1) + ) + ) + (drop + (memory.atomic.wait32 $appMemory offset=4 + (local.get $0) + (local.get $2) + (local.get $1) + ) + ) + (drop + (memory.atomic.wait32 $instrumentMemory offset=4 + (local.get $0) + (local.get $2) + (local.get $1) + ) + ) + (drop + (memory.atomic.notify $dataMemory + (local.get $0) + (local.get $2) + ) + ) + (drop + (memory.atomic.notify $dataMemory + (local.get $0) + (local.get $2) + ) + ) + (drop + (memory.atomic.notify $appMemory offset=24 + (local.get $0) + (local.get $2) + ) + ) + (drop + (memory.atomic.notify $dataMemory offset=24 + (local.get $0) + (local.get $2) + ) + ) + (drop + (memory.atomic.wait64 $instrumentMemory + (local.get $0) + (local.get $1) + (local.get $1) + ) + ) + (drop + (memory.atomic.wait64 $instrumentMemory + (local.get $0) + (local.get $1) + (local.get $1) + ) + ) + (drop + (memory.atomic.wait64 $appMemory offset=16 + (local.get $0) + (local.get $1) + (local.get $1) + ) + ) + (drop + (memory.atomic.wait64 $appMemory offset=16 + (local.get $0) + (local.get $1) + (local.get $1) + ) + ) + ) + (func $atomic-fence + (atomic.fence) + ) +) + diff --git a/test/multi-memories-basics.wasm b/test/multi-memories-basics.wasm new file mode 100644 index 0000000000000000000000000000000000000000..d75c74cff3173c0d85ebd31dd2f1ac6cd24d6863 GIT binary patch literal 400 zcmYk2u};G<6h+^&9Vg055d#tuU%=270TM$Q=wo7G;13!agCZqyl|-Pjz{Jca@EQCU z9YD%}lP17moqO&3u4O}9WDzKtvh%ZNkO8kwo0M^{x@$ zWP})gpijWS$f6-ZBj6Y1Y}AB8Qq-ORPnrObG;lbVq~Jo*l}j96A{?}kEv78~VLb0P zdmM3>>@k^l$qqDgMf?e8uIo?i@%IMLT_N`hfcN_none (func)) + (type $none_=>_i32 (func (result i32))) + (import "env" "memory" (memory $importedMemory 1 1)) + (memory $memory1 1 500) + (memory $memory2 1 800) + (memory $memory3 1 400) + (data (i32.const 0) "abcd") + (func $memory.fill + (memory.fill $memory2 + (i32.const 0) + (i32.const 1) + (i32.const 2) + ) + ) + (func $memory.copy + (memory.copy $memory2 $memory3 + (i32.const 512) + (i32.const 0) + (i32.const 12) + ) + ) + (func $memory.init + (memory.init $memory1 0 + (i32.const 0) + (i32.const 0) + (i32.const 45) + ) + ) + (func $memory.grow (result i32) + (memory.grow $memory3 + (i32.const 10) + ) + ) + (func $memory.size (result i32) + (memory.size $memory3) + ) + (func $loads + (drop + (i32.load $memory1 + (i32.const 12) + ) + ) + (drop + (i32.load $memory3 + (i32.const 12) + ) + ) + (drop + (i32.load16_s $memory2 + (i32.const 12) + ) + ) + (drop + (i32.load16_s $memory2 + (i32.const 12) + ) + ) + (drop + (i32.load8_s $memory3 + (i32.const 12) + ) + ) + (drop + (i32.load8_s $memory3 + (i32.const 12) + ) + ) + (drop + (i32.load16_u $memory1 + (i32.const 12) + ) + ) + (drop + (i32.load16_u $memory1 + (i32.const 12) + ) + ) + (drop + (i32.load8_u $memory2 + (i32.const 12) + ) + ) + (drop + (i32.load8_u $memory2 + (i32.const 12) + ) + ) + ) + (func $stores + (i32.store $memory1 + (i32.const 12) + (i32.const 115) + ) + (i32.store $memory1 + (i32.const 12) + (i32.const 115) + ) + (i32.store16 $memory2 + (i32.const 20) + (i32.const 31353) + ) + (i32.store16 $importedMemory + (i32.const 20) + (i32.const 31353) + ) + (i32.store8 $memory3 + (i32.const 23) + (i32.const 120) + ) + (i32.store8 $memory3 + (i32.const 23) + (i32.const 120) + ) + ) +) + diff --git a/test/multi-memories-simd.wasm b/test/multi-memories-simd.wasm new file mode 100644 index 0000000000000000000000000000000000000000..e8925efd6a8f6b682fd092839fe4d70fba7a094e GIT binary patch literal 2292 zcmaJ>$xa(V5bd7vZnKzu31IepaT(0yX6$@I!sa031QSKFafES1!hu}#jrok6kQ;Am|DV@+GLl16<4n(+? z`W^L>A}3zNJ0a2(Ns45}F;Sp76_+#{xs_nATM2v-quD5G&Wjpfj77n1@ltS#jS?rp z9X3jq17ETnRFyL4rLcmu>MbW<(%7Ae)vk=z-_Xbbhm+94wVBg0+jFW)FbABe z*{}uA@O#cwd(7tK*g~>JN$`bh7w7!6^AfxC;)K<9!CScGg(Gfnh7HN?btui+OG$w@)}(4f)0{Pt z0`u0SDnrwPHIV|j2{R0mYW3#VFL#TRuj{bXpJ?CSb{Y@MQ++#h0#@ewGX5PkonM{* zZyMHgAN~aO)Yf$$Oo0t1(UdmzoAF)2;I^2J=CsXh!RU6FjmEOeY{BsM^ep@vLetyV zv*=I2!7CX(hWxZYhR_}wAm|B&Qhb7ih5oHP4~OA%tOsEW!xFD8d-RIKqUZ zK+60i@f7hi@eJ`S@f+ef;(6i);vDfJ@e=Ve@e1)O@fz_u@doiG@fPtm@ec7W@gDI$ p@d0t37>EnRhuHKHLJ{E@A+{P3@m8bNzW-5|6nt_h`0P?}^AFkt?y>*? literal 0 HcmV?d00001 diff --git a/test/multi-memories-simd.wasm.fromBinary b/test/multi-memories-simd.wasm.fromBinary new file mode 100644 index 00000000000..48cde73c387 --- /dev/null +++ b/test/multi-memories-simd.wasm.fromBinary @@ -0,0 +1,320 @@ +(module + (type $i32_=>_v128 (func (param i32) (result v128))) + (type $i32_v128_=>_none (func (param i32 v128))) + (type $i32_v128_=>_v128 (func (param i32 v128) (result v128))) + (memory $memorya 1 1) + (memory $memoryb 1 1) + (memory $memoryc 1 1) + (memory $memoryd 1 1) + (func $v128.load (param $0 i32) (result v128) + (v128.load $memorya + (local.get $0) + ) + ) + (func $v128.load2 (param $0 i32) (result v128) + (v128.load $memoryb + (local.get $0) + ) + ) + (func $v128.load8x8_s (param $0 i32) (result v128) + (v128.load8x8_s $memoryc + (local.get $0) + ) + ) + (func $v128.load8x8_s2 (param $0 i32) (result v128) + (v128.load8x8_s $memoryb + (local.get $0) + ) + ) + (func $v128.load8x8_u (param $0 i32) (result v128) + (v128.load8x8_u $memoryd + (local.get $0) + ) + ) + (func $v128.load8x8_u2 (param $0 i32) (result v128) + (v128.load8x8_u $memoryd + (local.get $0) + ) + ) + (func $v128.load16x4_s (param $0 i32) (result v128) + (v128.load16x4_s $memorya + (local.get $0) + ) + ) + (func $v128.load16x4_s2 (param $0 i32) (result v128) + (v128.load16x4_s $memoryb + (local.get $0) + ) + ) + (func $v128.load16x4_u (param $0 i32) (result v128) + (v128.load16x4_u $memorya + (local.get $0) + ) + ) + (func $v128.load16x4_u2 (param $0 i32) (result v128) + (v128.load16x4_u $memorya + (local.get $0) + ) + ) + (func $v128.load32x2_s (param $0 i32) (result v128) + (v128.load32x2_s $memoryc + (local.get $0) + ) + ) + (func $v128.load32x2_s2 (param $0 i32) (result v128) + (v128.load32x2_s $memoryb + (local.get $0) + ) + ) + (func $v128.load32x2_u (param $0 i32) (result v128) + (v128.load32x2_u $memoryb + (local.get $0) + ) + ) + (func $v128.load32x2_u2 (param $0 i32) (result v128) + (v128.load32x2_u $memoryc + (local.get $0) + ) + ) + (func $v128.load8_splat (param $0 i32) (result v128) + (v128.load8_splat $memoryb + (local.get $0) + ) + ) + (func $v128.load8_splat2 (param $0 i32) (result v128) + (v128.load8_splat $memoryb + (local.get $0) + ) + ) + (func $v128.load16_splat (param $0 i32) (result v128) + (v128.load16_splat $memorya + (local.get $0) + ) + ) + (func $v128.load16_splat2 (param $0 i32) (result v128) + (v128.load16_splat $memorya + (local.get $0) + ) + ) + (func $v128.load32_splat (param $0 i32) (result v128) + (v128.load32_splat $memoryb + (local.get $0) + ) + ) + (func $v128.load32_splat2 (param $0 i32) (result v128) + (v128.load32_splat $memoryd + (local.get $0) + ) + ) + (func $v128.load64_splat (param $0 i32) (result v128) + (v128.load64_splat $memoryb + (local.get $0) + ) + ) + (func $v128.load64_splat2 (param $0 i32) (result v128) + (v128.load64_splat $memorya + (local.get $0) + ) + ) + (func $v128.store (param $0 i32) (param $1 v128) + (v128.store $memorya + (local.get $0) + (local.get $1) + ) + ) + (func $v128.store2 (param $0 i32) (param $1 v128) + (v128.store $memoryb + (local.get $0) + (local.get $1) + ) + ) + (func $v128.load8_lane (param $0 i32) (param $1 v128) (result v128) + (v128.load8_lane $memorya 0 + (local.get $0) + (local.get $1) + ) + ) + (func $v128.load8_lane2 (param $0 i32) (param $1 v128) (result v128) + (v128.load8_lane $memoryb 0 + (local.get $0) + (local.get $1) + ) + ) + (func $v128.load16_lane (param $0 i32) (param $1 v128) (result v128) + (v128.load16_lane $memoryb 0 + (local.get $0) + (local.get $1) + ) + ) + (func $v128.load16_lane2 (param $0 i32) (param $1 v128) (result v128) + (v128.load16_lane $memoryd 0 + (local.get $0) + (local.get $1) + ) + ) + (func $v128.load32_lane (param $0 i32) (param $1 v128) (result v128) + (v128.load32_lane $memorya 0 + (local.get $0) + (local.get $1) + ) + ) + (func $v128.load32_lane2 (param $0 i32) (param $1 v128) (result v128) + (v128.load32_lane $memoryb 0 + (local.get $0) + (local.get $1) + ) + ) + (func $v128.load64_lane (param $0 i32) (param $1 v128) (result v128) + (v128.load64_lane $memoryd 0 + (local.get $0) + (local.get $1) + ) + ) + (func $v128.load64_lane2 (param $0 i32) (param $1 v128) (result v128) + (v128.load64_lane $memoryb 0 + (local.get $0) + (local.get $1) + ) + ) + (func $v128.load64_lane_align (param $0 i32) (param $1 v128) (result v128) + (v128.load64_lane $memorya align=1 0 + (local.get $0) + (local.get $1) + ) + ) + (func $v128.load64_lane_align2 (param $0 i32) (param $1 v128) (result v128) + (v128.load64_lane $memoryb align=1 0 + (local.get $0) + (local.get $1) + ) + ) + (func $v128.load64_lane_offset (param $0 i32) (param $1 v128) (result v128) + (v128.load64_lane $memoryc offset=32 0 + (local.get $0) + (local.get $1) + ) + ) + (func $v128.load64_lane_offset2 (param $0 i32) (param $1 v128) (result v128) + (v128.load64_lane $memoryb offset=32 0 + (local.get $0) + (local.get $1) + ) + ) + (func $v128.load64_lane_align_offset (param $0 i32) (param $1 v128) (result v128) + (v128.load64_lane $memorya offset=32 align=1 0 + (local.get $0) + (local.get $1) + ) + ) + (func $v128.load64_lane_align_offset2 (param $0 i32) (param $1 v128) (result v128) + (v128.load64_lane $memoryd offset=32 align=1 0 + (local.get $0) + (local.get $1) + ) + ) + (func $v128.store8_lane (param $0 i32) (param $1 v128) + (v128.store8_lane $memorya 0 + (local.get $0) + (local.get $1) + ) + ) + (func $v128.store8_lane2 (param $0 i32) (param $1 v128) + (v128.store8_lane $memoryd 0 + (local.get $0) + (local.get $1) + ) + ) + (func $v128.store16_lane (param $0 i32) (param $1 v128) + (v128.store16_lane $memorya 0 + (local.get $0) + (local.get $1) + ) + ) + (func $v128.store16_lane2 (param $0 i32) (param $1 v128) + (v128.store16_lane $memoryb 0 + (local.get $0) + (local.get $1) + ) + ) + (func $v128.store32_lane (param $0 i32) (param $1 v128) + (v128.store32_lane $memoryb 0 + (local.get $0) + (local.get $1) + ) + ) + (func $v128.store32_lane2 (param $0 i32) (param $1 v128) + (v128.store32_lane $memoryc 0 + (local.get $0) + (local.get $1) + ) + ) + (func $v128.store64_lane (param $0 i32) (param $1 v128) + (v128.store64_lane $memoryc 0 + (local.get $0) + (local.get $1) + ) + ) + (func $v128.store64_lane2 (param $0 i32) (param $1 v128) + (v128.store64_lane $memoryb 0 + (local.get $0) + (local.get $1) + ) + ) + (func $v128.store64_lane_align (param $0 i32) (param $1 v128) + (v128.store64_lane $memoryb align=1 0 + (local.get $0) + (local.get $1) + ) + ) + (func $v128.store64_lane_align2 (param $0 i32) (param $1 v128) + (v128.store64_lane $memorya align=1 0 + (local.get $0) + (local.get $1) + ) + ) + (func $v128.store64_lane_offset (param $0 i32) (param $1 v128) + (v128.store64_lane $memoryd offset=32 0 + (local.get $0) + (local.get $1) + ) + ) + (func $v128.store64_lane_offset2 (param $0 i32) (param $1 v128) + (v128.store64_lane $memorya offset=32 0 + (local.get $0) + (local.get $1) + ) + ) + (func $v128.store64_lane_align_offset (param $0 i32) (param $1 v128) + (v128.store64_lane $memoryb offset=32 align=1 0 + (local.get $0) + (local.get $1) + ) + ) + (func $v128.store64_lane_align_offset2 (param $0 i32) (param $1 v128) + (v128.store64_lane $memoryd offset=32 align=1 0 + (local.get $0) + (local.get $1) + ) + ) + (func $v128.load32_zero (param $0 i32) (result v128) + (v128.load32_zero $memorya + (local.get $0) + ) + ) + (func $v128.load32_zero2 (param $0 i32) (result v128) + (v128.load32_zero $memoryb + (local.get $0) + ) + ) + (func $v128.load64_zero (param $0 i32) (result v128) + (v128.load64_zero $memoryb + (local.get $0) + ) + ) + (func $v128.load64_zero2 (param $0 i32) (result v128) + (v128.load64_zero $memoryc + (local.get $0) + ) + ) +) + diff --git a/test/spec/multi-memories_size.wast b/test/spec/multi-memories_size.wast new file mode 100644 index 00000000000..8f0e7bdc31e --- /dev/null +++ b/test/spec/multi-memories_size.wast @@ -0,0 +1,35 @@ +(module + (memory $appMemory 0) + (memory $dataMemory 2) + (memory $instrumentMemory 4) + (func (export "size") (result i32) (memory.size)) + (func (export "grow") (param $sz i32) (drop (memory.grow (local.get $sz)))) + (func (export "size1") (result i32) (memory.size 1)) + (func (export "grow1") (param $sz i32) (drop (memory.grow 1 (local.get $sz)))) + (func (export "size2") (result i32) (memory.size 2)) + (func (export "grow2") (param $sz i32) (drop (memory.grow 2 (local.get $sz)))) +) + +(assert_return (invoke "size") (i32.const 0)) +(assert_return (invoke "grow" (i32.const 1))) +(assert_return (invoke "size") (i32.const 1)) +(assert_return (invoke "grow" (i32.const 4))) +(assert_return (invoke "size") (i32.const 5)) +(assert_return (invoke "grow" (i32.const 0))) +(assert_return (invoke "size") (i32.const 5)) + +(assert_return (invoke "size1") (i32.const 2)) +(assert_return (invoke "grow1" (i32.const 2))) +(assert_return (invoke "size1") (i32.const 4)) +(assert_return (invoke "grow1" (i32.const 4))) +(assert_return (invoke "size1") (i32.const 8)) +(assert_return (invoke "grow1" (i32.const 0))) +(assert_return (invoke "size1") (i32.const 8)) + +(assert_return (invoke "size2") (i32.const 4)) +(assert_return (invoke "grow2" (i32.const 4))) +(assert_return (invoke "size2") (i32.const 8)) +(assert_return (invoke "grow2" (i32.const 8))) +(assert_return (invoke "size2") (i32.const 16)) +(assert_return (invoke "grow2" (i32.const 0))) +(assert_return (invoke "size2") (i32.const 16)) From ee685b77c8b029cacef327a57712d144b0255857 Mon Sep 17 00:00:00 2001 From: Ashley Nelson Date: Fri, 29 Jul 2022 06:55:15 +0000 Subject: [PATCH 67/78] fixing merge conflict in test output --- test/binaryen.js/kitchen-sink.js.txt | 4 ---- 1 file changed, 4 deletions(-) diff --git a/test/binaryen.js/kitchen-sink.js.txt b/test/binaryen.js/kitchen-sink.js.txt index 9cd36c3020a..75eab2119a8 100644 --- a/test/binaryen.js/kitchen-sink.js.txt +++ b/test/binaryen.js/kitchen-sink.js.txt @@ -2167,7 +2167,6 @@ getExpressionInfo(tuple[3])={"id":14,"type":5,"value":3.7} (pop dataref) ) (drop -<<<<<<< HEAD (pop stringref) ) (drop @@ -2180,10 +2179,7 @@ getExpressionInfo(tuple[3])={"id":14,"type":5,"value":3.7} (pop stringview_iter) ) (drop - (memory.size) -======= (memory.size $0) ->>>>>>> b9160423d (updating binaryenjs test output) ) (drop (memory.grow $0 From d1b2723a212abbf848d3ad2211bb3d49cd3dea73 Mon Sep 17 00:00:00 2001 From: Ashley Nelson Date: Fri, 29 Jul 2022 06:57:05 +0000 Subject: [PATCH 68/78] clang-format --- src/wasm-s-parser.h | 6 ++++-- src/wasm/wasm-binary.cpp | 3 +-- src/wasm/wasm-s-parser.cpp | 8 +++++--- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/src/wasm-s-parser.h b/src/wasm-s-parser.h index b862921f199..c91c018427e 100644 --- a/src/wasm-s-parser.h +++ b/src/wasm-s-parser.h @@ -168,7 +168,6 @@ class SExpressionWasmBuilder { UniqueNameMapper nameMapper; - Name getFunctionName(Element& s); Name getTableName(Element& s); Name getMemoryName(Element& s); @@ -321,7 +320,10 @@ class SExpressionWasmBuilder { Type parseOptionalResultType(Element& s, Index& i); Index parseMemoryLimits(Element& s, Index i, std::unique_ptr& memory); Index parseMemoryIndex(Element& s, Index i, std::unique_ptr& memory); - Index parseMemoryForInstruction(const std::string& instrName, Memory& memory, Element& s, Index i); + Index parseMemoryForInstruction(const std::string& instrName, + Memory& memory, + Element& s, + Index i); std::vector parseParamOrLocal(Element& s); std::vector parseParamOrLocal(Element& s, size_t& localIndex); std::vector parseResults(Element& s); diff --git a/src/wasm/wasm-binary.cpp b/src/wasm/wasm-binary.cpp index 95afdb263b6..7008d185c8c 100644 --- a/src/wasm/wasm-binary.cpp +++ b/src/wasm/wasm-binary.cpp @@ -4345,8 +4345,7 @@ void WasmBinaryBuilder::visitGlobalSet(GlobalSet* curr) { curr->finalize(); } -Index WasmBinaryBuilder::readMemoryAccess(Address& alignment, - Address& offset) { +Index WasmBinaryBuilder::readMemoryAccess(Address& alignment, Address& offset) { auto rawAlignment = getU32LEB(); bool hasMemIdx = false; Index memIdx = 0; diff --git a/src/wasm/wasm-s-parser.cpp b/src/wasm/wasm-s-parser.cpp index 4af219c59a7..55551ef58e9 100644 --- a/src/wasm/wasm-s-parser.cpp +++ b/src/wasm/wasm-s-parser.cpp @@ -1933,10 +1933,12 @@ static const char* findMemExtra(const Element& s, size_t skip, bool isAtomic) { return ret; } -bool SExpressionWasmBuilder::hasMemoryIdx(Element& s, Index defaultSize, Index i) { +bool SExpressionWasmBuilder::hasMemoryIdx(Element& s, + Index defaultSize, + Index i) { if (s.size() > defaultSize && !s[i]->isList() && - strncmp(s[i]->c_str(), "align", 5) != 0 && - strncmp(s[i]->c_str(), "offset", 6) != 0) { + strncmp(s[i]->c_str(), "align", 5) != 0 && + strncmp(s[i]->c_str(), "offset", 6) != 0) { return true; } return false; From 2d7d965c5613f18fb1933db886e04db9cdf667af Mon Sep 17 00:00:00 2001 From: Ashley Nelson Date: Fri, 29 Jul 2022 19:48:44 +0000 Subject: [PATCH 69/78] only emitting binary idx when non 0 --- src/wasm/wasm-stack.cpp | 13 +- test/example/c-api-unused-mem.txt | 2 +- test/passes/class_with_dwarf_noprint.bin.txt | 124 +- test/passes/dwarf-local-order.bin.txt | 116 +- test/passes/fannkuch0_dwarf.bin.txt | 4932 ++++++++--------- test/passes/fannkuch3_dwarf.bin.txt | 2884 +++++----- test/passes/fannkuch3_manyopts_dwarf.bin.txt | 2720 ++++----- test/passes/ignore_missing_func_dwarf.bin.txt | 200 +- test/passes/reverse_dwarf_abbrevs.bin.txt | 1646 +++--- 9 files changed, 6321 insertions(+), 6316 deletions(-) diff --git a/src/wasm/wasm-stack.cpp b/src/wasm/wasm-stack.cpp index 05c2bd335ee..13bd09927b8 100644 --- a/src/wasm/wasm-stack.cpp +++ b/src/wasm/wasm-stack.cpp @@ -2482,11 +2482,16 @@ void BinaryInstWriter::emitMemoryAccess(size_t alignment, uint32_t offset, Name memory) { uint32_t alignmentBits = Bits::log2(alignment ? alignment : bytes); - // Set bit 6 in the alignment to indicate a memory index is present per: - // https://github.com/WebAssembly/multi-memory/blob/main/proposals/multi-memory/Overview.md - alignmentBits = alignmentBits | 1 << 6; + uint32_t memoryIdx = parent.getMemoryIndex(memory); + if (memoryIdx > 0) { + // Set bit 6 in the alignment to indicate a memory index is present per: + // https://github.com/WebAssembly/multi-memory/blob/main/proposals/multi-memory/Overview.md + alignmentBits = alignmentBits | 1 << 6; + } o << U32LEB(alignmentBits); - o << U32LEB(parent.getMemoryIndex(memory)); + if (memoryIdx > 0) { + o << U32LEB(memoryIdx); + } o << U32LEB(offset); } diff --git a/test/example/c-api-unused-mem.txt b/test/example/c-api-unused-mem.txt index 81c96df6eac..e41e894f42b 100644 --- a/test/example/c-api-unused-mem.txt +++ b/test/example/c-api-unused-mem.txt @@ -36,7 +36,7 @@ (call $main) ) ) -148 +145 (module (type $none_=>_none (func)) (memory $0 1024 1024) diff --git a/test/passes/class_with_dwarf_noprint.bin.txt b/test/passes/class_with_dwarf_noprint.bin.txt index f1a81d72102..50963b311aa 100644 --- a/test/passes/class_with_dwarf_noprint.bin.txt +++ b/test/passes/class_with_dwarf_noprint.bin.txt @@ -174,7 +174,7 @@ Abbrev table for offset: 0x00000000 DW_AT_stmt_list [DW_FORM_sec_offset] (0x00000000) DW_AT_comp_dir [DW_FORM_strp] ( .debug_str[0x000000c1] = "/tmp/emscripten_test_wasm3_2u9tontv") DW_AT_low_pc [DW_FORM_addr] (0x0000000000000006) - DW_AT_high_pc [DW_FORM_data4] (0x000000b5) + DW_AT_high_pc [DW_FORM_data4] (0x000000b0) 0x00000026: DW_TAG_variable [2] DW_AT_name [DW_FORM_strp] ( .debug_str[0x000000e5] = "rng1") @@ -307,7 +307,7 @@ Abbrev table for offset: 0x00000000 0x000000e9: DW_TAG_subprogram [20] * DW_AT_low_pc [DW_FORM_addr] (0x0000000000000006) - DW_AT_high_pc [DW_FORM_data4] (0x000000b5) + DW_AT_high_pc [DW_FORM_data4] (0x000000b0) DW_AT_frame_base [DW_FORM_exprloc] (DW_OP_WASM_location 0x0 +0, DW_OP_stack_value) DW_AT_GNU_all_call_sites [DW_FORM_flag_present] (true) DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000150] = "main") @@ -328,7 +328,7 @@ Abbrev table for offset: 0x00000000 0x00000110: DW_TAG_variable [21] DW_AT_location [DW_FORM_sec_offset] (0x00000023: [0x00000022, 0x0000002a): DW_OP_consts +0, DW_OP_stack_value - [0x00000093, 0x000000a0): DW_OP_WASM_location 0x0 +2, DW_OP_stack_value) + [0x0000008f, 0x0000009c): DW_OP_WASM_location 0x0 +2, DW_OP_stack_value) DW_AT_name [DW_FORM_strp] ( .debug_str[0x0000015e] = "count") DW_AT_decl_file [DW_FORM_data1] ("/tmp/emscripten_test_wasm3_2u9tontv/src.cpp") DW_AT_decl_line [DW_FORM_data1] (26) @@ -349,7 +349,7 @@ Abbrev table for offset: 0x00000000 0x00000137: DW_TAG_lexical_block [22] * DW_AT_low_pc [DW_FORM_addr] (0x0000000000000030) - DW_AT_high_pc [DW_FORM_data4] (0x00000063) + DW_AT_high_pc [DW_FORM_data4] (0x0000005f) 0x00000140: DW_TAG_variable [21] DW_AT_location [DW_FORM_sec_offset] (0x0000009b: @@ -371,7 +371,7 @@ Abbrev table for offset: 0x00000000 DW_AT_abstract_origin [DW_FORM_ref4] (cu + 0x00c5 => {0x000000c5} "_ZN6Random3getEf") DW_AT_ranges [DW_FORM_sec_offset] (0x00000000 [0x00000006, 0x00000007) - [0x0000006d, 0x00000077)) + [0x0000006b, 0x00000074)) DW_AT_call_file [DW_FORM_data1] ("/tmp/emscripten_test_wasm3_2u9tontv/src.cpp") DW_AT_call_line [DW_FORM_data1] (28) DW_AT_call_column [DW_FORM_data1] (0x15) @@ -381,14 +381,14 @@ Abbrev table for offset: 0x00000000 0x0000016f: DW_TAG_formal_parameter [25] DW_AT_location [DW_FORM_sec_offset] (0x00000069: - [0x0000002c, 0x000000a0): DW_OP_constu 0x3f800000, DW_OP_stack_value) + [0x0000002c, 0x0000009c): DW_OP_constu 0x3f800000, DW_OP_stack_value) DW_AT_abstract_origin [DW_FORM_ref4] (cu + 0x00d8 => {0x000000d8} "max") 0x00000178: NULL 0x00000179: DW_TAG_inlined_subroutine [26] * DW_AT_abstract_origin [DW_FORM_ref4] (cu + 0x00c5 => {0x000000c5} "_ZN6Random3getEf") - DW_AT_low_pc [DW_FORM_addr] (0x000000000000004c) + DW_AT_low_pc [DW_FORM_addr] (0x000000000000004a) DW_AT_high_pc [DW_FORM_data4] (0x00000019) DW_AT_call_file [DW_FORM_data1] ("/tmp/emscripten_test_wasm3_2u9tontv/src.cpp") DW_AT_call_line [DW_FORM_data1] (29) @@ -409,10 +409,10 @@ Abbrev table for offset: 0x00000000 0x00000199: NULL 0x0000019a: DW_TAG_GNU_call_site [27] - DW_AT_low_pc [DW_FORM_addr] (0x0000000000000088) + DW_AT_low_pc [DW_FORM_addr] (0x0000000000000084) 0x0000019f: DW_TAG_GNU_call_site [27] - DW_AT_low_pc [DW_FORM_addr] (0x00000000000000b0) + DW_AT_low_pc [DW_FORM_addr] (0x00000000000000ab) 0x000001a4: NULL @@ -430,14 +430,14 @@ Abbrev table for offset: 0x00000000 0x00000023: [0x0000001c, 0x00000024): DW_OP_consts +0, DW_OP_stack_value - [0x0000008d, 0x0000009a): DW_OP_WASM_location 0x0 +2, DW_OP_stack_value + [0x00000089, 0x00000096): DW_OP_WASM_location 0x0 +2, DW_OP_stack_value 0x00000046: [0x0000001c, 0x00000024): DW_OP_consts +0, DW_OP_stack_value [0x00000001, 0x00000001): DW_OP_WASM_location 0x0 +3, DW_OP_stack_value 0x00000069: - [0x00000026, 0x0000009a): DW_OP_constu 0x3f800000, DW_OP_stack_value + [0x00000026, 0x00000096): DW_OP_constu 0x3f800000, DW_OP_stack_value 0x00000082: [0x00000001, 0x00000001): DW_OP_constu 0x3f800000, DW_OP_stack_value @@ -502,177 +502,177 @@ file_names[ 3]: 0x0000000000000030 17 13 1 0 0 is_stmt prologue_end -0x0000009c: 00 DW_LNE_set_address (0x0000000000000038) +0x0000009c: 00 DW_LNE_set_address (0x0000000000000037) 0x000000a3: 05 DW_LNS_set_column (18) 0x000000a5: 06 DW_LNS_negate_stmt 0x000000a6: 01 DW_LNS_copy - 0x0000000000000038 17 18 1 0 0 + 0x0000000000000037 17 18 1 0 0 -0x000000a7: 00 DW_LNE_set_address (0x000000000000003d) +0x000000a7: 00 DW_LNE_set_address (0x000000000000003c) 0x000000ae: 05 DW_LNS_set_column (23) 0x000000b0: 01 DW_LNS_copy - 0x000000000000003d 17 23 1 0 0 + 0x000000000000003c 17 23 1 0 0 -0x000000b1: 00 DW_LNE_set_address (0x0000000000000042) +0x000000b1: 00 DW_LNE_set_address (0x0000000000000041) 0x000000b8: 05 DW_LNS_set_column (29) 0x000000ba: 01 DW_LNS_copy - 0x0000000000000042 17 29 1 0 0 + 0x0000000000000041 17 29 1 0 0 -0x000000bb: 00 DW_LNE_set_address (0x0000000000000043) +0x000000bb: 00 DW_LNE_set_address (0x0000000000000042) 0x000000c2: 05 DW_LNS_set_column (10) 0x000000c4: 01 DW_LNS_copy - 0x0000000000000043 17 10 1 0 0 + 0x0000000000000042 17 10 1 0 0 -0x000000c5: 00 DW_LNE_set_address (0x000000000000004a) +0x000000c5: 00 DW_LNE_set_address (0x0000000000000048) 0x000000cc: 03 DW_LNS_advance_line (30) 0x000000ce: 05 DW_LNS_set_column (5) 0x000000d0: 06 DW_LNS_negate_stmt 0x000000d1: 01 DW_LNS_copy - 0x000000000000004a 30 5 1 0 0 is_stmt + 0x0000000000000048 30 5 1 0 0 is_stmt -0x000000d2: 00 DW_LNE_set_address (0x000000000000004c) +0x000000d2: 00 DW_LNE_set_address (0x000000000000004a) 0x000000d9: 03 DW_LNS_advance_line (17) 0x000000db: 05 DW_LNS_set_column (18) 0x000000dd: 01 DW_LNS_copy - 0x000000000000004c 17 18 1 0 0 is_stmt + 0x000000000000004a 17 18 1 0 0 is_stmt -0x000000de: 00 DW_LNE_set_address (0x0000000000000056) +0x000000de: 00 DW_LNE_set_address (0x0000000000000054) 0x000000e5: 05 DW_LNS_set_column (23) 0x000000e7: 06 DW_LNS_negate_stmt 0x000000e8: 01 DW_LNS_copy - 0x0000000000000056 17 23 1 0 0 + 0x0000000000000054 17 23 1 0 0 -0x000000e9: 00 DW_LNE_set_address (0x000000000000005b) +0x000000e9: 00 DW_LNE_set_address (0x0000000000000059) 0x000000f0: 05 DW_LNS_set_column (29) 0x000000f2: 01 DW_LNS_copy - 0x000000000000005b 17 29 1 0 0 + 0x0000000000000059 17 29 1 0 0 -0x000000f3: 00 DW_LNE_set_address (0x000000000000005c) +0x000000f3: 00 DW_LNE_set_address (0x000000000000005a) 0x000000fa: 03 DW_LNS_advance_line (18) 0x000000fc: 05 DW_LNS_set_column (18) 0x000000fe: 06 DW_LNS_negate_stmt 0x000000ff: 01 DW_LNS_copy - 0x000000000000005c 18 18 1 0 0 is_stmt + 0x000000000000005a 18 18 1 0 0 is_stmt -0x00000100: 00 DW_LNE_set_address (0x0000000000000064) +0x00000100: 00 DW_LNE_set_address (0x0000000000000062) 0x00000107: 05 DW_LNS_set_column (23) 0x00000109: 06 DW_LNS_negate_stmt 0x0000010a: 01 DW_LNS_copy - 0x0000000000000064 18 23 1 0 0 + 0x0000000000000062 18 23 1 0 0 -0x0000010b: 00 DW_LNE_set_address (0x0000000000000065) +0x0000010b: 00 DW_LNE_set_address (0x0000000000000063) 0x00000112: 03 DW_LNS_advance_line (30) 0x00000114: 05 DW_LNS_set_column (28) 0x00000116: 06 DW_LNS_negate_stmt 0x00000117: 01 DW_LNS_copy - 0x0000000000000065 30 28 1 0 0 is_stmt + 0x0000000000000063 30 28 1 0 0 is_stmt -0x00000118: 00 DW_LNE_set_address (0x0000000000000068) +0x00000118: 00 DW_LNE_set_address (0x0000000000000066) 0x0000011f: 05 DW_LNS_set_column (5) 0x00000121: 06 DW_LNS_negate_stmt 0x00000122: 01 DW_LNS_copy - 0x0000000000000068 30 5 1 0 0 + 0x0000000000000066 30 5 1 0 0 -0x00000123: 00 DW_LNE_set_address (0x000000000000006e) +0x00000123: 00 DW_LNE_set_address (0x000000000000006b) 0x0000012a: 03 DW_LNS_advance_line (18) 0x0000012c: 05 DW_LNS_set_column (18) 0x0000012e: 06 DW_LNS_negate_stmt 0x0000012f: 01 DW_LNS_copy - 0x000000000000006e 18 18 1 0 0 is_stmt + 0x000000000000006b 18 18 1 0 0 is_stmt -0x00000130: 00 DW_LNE_set_address (0x0000000000000076) +0x00000130: 00 DW_LNE_set_address (0x0000000000000073) 0x00000137: 05 DW_LNS_set_column (23) 0x00000139: 06 DW_LNS_negate_stmt 0x0000013a: 01 DW_LNS_copy - 0x0000000000000076 18 23 1 0 0 + 0x0000000000000073 18 23 1 0 0 -0x0000013b: 00 DW_LNE_set_address (0x0000000000000077) +0x0000013b: 00 DW_LNE_set_address (0x0000000000000074) 0x00000142: 03 DW_LNS_advance_line (30) 0x00000144: 05 DW_LNS_set_column (24) 0x00000146: 06 DW_LNS_negate_stmt 0x00000147: 01 DW_LNS_copy - 0x0000000000000077 30 24 1 0 0 is_stmt + 0x0000000000000074 30 24 1 0 0 is_stmt -0x00000148: 00 DW_LNE_set_address (0x000000000000007a) +0x00000148: 00 DW_LNE_set_address (0x0000000000000077) 0x0000014f: 05 DW_LNS_set_column (5) 0x00000151: 06 DW_LNS_negate_stmt 0x00000152: 01 DW_LNS_copy - 0x000000000000007a 30 5 1 0 0 + 0x0000000000000077 30 5 1 0 0 -0x00000153: 00 DW_LNE_set_address (0x0000000000000089) +0x00000153: 00 DW_LNE_set_address (0x0000000000000085) 0x0000015a: 03 DW_LNS_advance_line (31) 0x0000015c: 05 DW_LNS_set_column (9) 0x0000015e: 06 DW_LNS_negate_stmt 0x0000015f: 01 DW_LNS_copy - 0x0000000000000089 31 9 1 0 0 is_stmt + 0x0000000000000085 31 9 1 0 0 is_stmt -0x00000160: 00 DW_LNE_set_address (0x000000000000008b) +0x00000160: 00 DW_LNE_set_address (0x0000000000000087) 0x00000167: 05 DW_LNS_set_column (12) 0x00000169: 06 DW_LNS_negate_stmt 0x0000016a: 01 DW_LNS_copy - 0x000000000000008b 31 12 1 0 0 + 0x0000000000000087 31 12 1 0 0 -0x0000016b: 00 DW_LNE_set_address (0x0000000000000090) +0x0000016b: 00 DW_LNE_set_address (0x000000000000008c) 0x00000172: 05 DW_LNS_set_column (9) 0x00000174: 01 DW_LNS_copy - 0x0000000000000090 31 9 1 0 0 + 0x000000000000008c 31 9 1 0 0 -0x00000175: 00 DW_LNE_set_address (0x0000000000000093) +0x00000175: 00 DW_LNE_set_address (0x000000000000008f) 0x0000017c: 03 DW_LNS_advance_line (27) 0x0000017e: 05 DW_LNS_set_column (29) 0x00000180: 06 DW_LNS_negate_stmt 0x00000181: 01 DW_LNS_copy - 0x0000000000000093 27 29 1 0 0 is_stmt + 0x000000000000008f 27 29 1 0 0 is_stmt -0x00000182: 00 DW_LNE_set_address (0x000000000000009d) +0x00000182: 00 DW_LNE_set_address (0x0000000000000099) 0x00000189: 05 DW_LNS_set_column (21) 0x0000018b: 06 DW_LNS_negate_stmt 0x0000018c: 01 DW_LNS_copy - 0x000000000000009d 27 21 1 0 0 + 0x0000000000000099 27 21 1 0 0 -0x0000018d: 00 DW_LNE_set_address (0x000000000000009e) +0x0000018d: 00 DW_LNE_set_address (0x000000000000009a) 0x00000194: 05 DW_LNS_set_column (3) 0x00000196: 01 DW_LNS_copy - 0x000000000000009e 27 3 1 0 0 + 0x000000000000009a 27 3 1 0 0 -0x00000197: 00 DW_LNE_set_address (0x00000000000000a1) +0x00000197: 00 DW_LNE_set_address (0x000000000000009d) 0x0000019e: 03 DW_LNS_advance_line (33) 0x000001a0: 06 DW_LNS_negate_stmt 0x000001a1: 01 DW_LNS_copy - 0x00000000000000a1 33 3 1 0 0 is_stmt + 0x000000000000009d 33 3 1 0 0 is_stmt -0x000001a2: 00 DW_LNE_set_address (0x00000000000000b1) +0x000001a2: 00 DW_LNE_set_address (0x00000000000000ac) 0x000001a9: 03 DW_LNS_advance_line (34) 0x000001ab: 01 DW_LNS_copy - 0x00000000000000b1 34 3 1 0 0 is_stmt + 0x00000000000000ac 34 3 1 0 0 is_stmt -0x000001ac: 00 DW_LNE_set_address (0x00000000000000bb) +0x000001ac: 00 DW_LNE_set_address (0x00000000000000b6) 0x000001b3: 00 DW_LNE_end_sequence - 0x00000000000000bb 34 3 1 0 0 is_stmt end_sequence + 0x00000000000000b6 34 3 1 0 0 is_stmt end_sequence .debug_str contents: @@ -704,5 +704,5 @@ file_names[ 3]: .debug_ranges contents: 00000000 00000000 00000001 -00000000 00000067 00000071 +00000000 00000065 0000006e 00000000 diff --git a/test/passes/dwarf-local-order.bin.txt b/test/passes/dwarf-local-order.bin.txt index f8e0ed04f76..6b5d12e62bf 100644 --- a/test/passes/dwarf-local-order.bin.txt +++ b/test/passes/dwarf-local-order.bin.txt @@ -234,154 +234,154 @@ ;; code offset: 0x51 (local.get $5) ) - ;; code offset: 0x5b + ;; code offset: 0x5a (f32.store $0 offset=8 - ;; code offset: 0x57 + ;; code offset: 0x56 (local.get $2) - ;; code offset: 0x59 + ;; code offset: 0x58 (local.get $4) ) - ;; code offset: 0x63 + ;; code offset: 0x61 (i32.store $0 offset=4 - ;; code offset: 0x5f + ;; code offset: 0x5d (local.get $2) - ;; code offset: 0x61 + ;; code offset: 0x5f (local.get $3) ) - ;; code offset: 0x6d + ;; code offset: 0x69 (local.set $6 - ;; code offset: 0x69 + ;; code offset: 0x66 (i32.load $0 offset=12 - ;; code offset: 0x67 + ;; code offset: 0x64 (local.get $2) ) ) - ;; code offset: 0x72 + ;; code offset: 0x6e (local.set $7 - ;; code offset: 0x71 + ;; code offset: 0x6d (f32.convert_i32_s - ;; code offset: 0x6f + ;; code offset: 0x6b (local.get $6) ) ) - ;; code offset: 0x7a + ;; code offset: 0x75 (local.set $8 - ;; code offset: 0x76 + ;; code offset: 0x72 (f32.load $0 offset=8 - ;; code offset: 0x74 + ;; code offset: 0x70 (local.get $2) ) ) - ;; code offset: 0x81 + ;; code offset: 0x7c (local.set $9 - ;; code offset: 0x80 + ;; code offset: 0x7b (f32.add - ;; code offset: 0x7c + ;; code offset: 0x77 (local.get $7) - ;; code offset: 0x7e + ;; code offset: 0x79 (local.get $8) ) ) - ;; code offset: 0x89 + ;; code offset: 0x83 (local.set $10 - ;; code offset: 0x85 + ;; code offset: 0x80 (i32.load $0 offset=4 - ;; code offset: 0x83 + ;; code offset: 0x7e (local.get $2) ) ) - ;; code offset: 0x8e + ;; code offset: 0x88 (local.set $11 - ;; code offset: 0x8d + ;; code offset: 0x87 (f32.convert_i32_s - ;; code offset: 0x8b + ;; code offset: 0x85 (local.get $10) ) ) - ;; code offset: 0x95 + ;; code offset: 0x8f (local.set $12 - ;; code offset: 0x94 + ;; code offset: 0x8e (f32.add - ;; code offset: 0x90 + ;; code offset: 0x8a (local.get $9) - ;; code offset: 0x92 + ;; code offset: 0x8c (local.get $11) ) ) - ;; code offset: 0x9a + ;; code offset: 0x94 (local.set $13 - ;; code offset: 0x99 + ;; code offset: 0x93 (f32.abs - ;; code offset: 0x97 + ;; code offset: 0x91 (local.get $12) ) ) - ;; code offset: 0xa1 + ;; code offset: 0x9b (local.set $14 - ;; code offset: 0x9c + ;; code offset: 0x96 (f32.const 2147483648) ) - ;; code offset: 0xa8 + ;; code offset: 0xa2 (local.set $15 - ;; code offset: 0xa7 + ;; code offset: 0xa1 (f32.lt - ;; code offset: 0xa3 + ;; code offset: 0x9d (local.get $13) - ;; code offset: 0xa5 + ;; code offset: 0x9f (local.get $14) ) ) - ;; code offset: 0xad + ;; code offset: 0xa7 (local.set $16 - ;; code offset: 0xac + ;; code offset: 0xa6 (i32.eqz - ;; code offset: 0xaa + ;; code offset: 0xa4 (local.get $15) ) ) - ;; code offset: 0xaf + ;; code offset: 0xa9 (block $label$1 (block $label$2 - ;; code offset: 0xb5 + ;; code offset: 0xaf (br_if $label$2 - ;; code offset: 0xb3 + ;; code offset: 0xad (local.get $16) ) - ;; code offset: 0xba + ;; code offset: 0xb4 (local.set $17 - ;; code offset: 0xb9 + ;; code offset: 0xb3 (i32.trunc_f32_s - ;; code offset: 0xb7 + ;; code offset: 0xb1 (local.get $12) ) ) - ;; code offset: 0xbe + ;; code offset: 0xb8 (local.set $18 - ;; code offset: 0xbc + ;; code offset: 0xb6 (local.get $17) ) - ;; code offset: 0xc0 + ;; code offset: 0xba (br $label$1) ) - ;; code offset: 0xc9 + ;; code offset: 0xc3 (local.set $19 - ;; code offset: 0xc3 + ;; code offset: 0xbd (i32.const -2147483648) ) - ;; code offset: 0xcd + ;; code offset: 0xc7 (local.set $18 - ;; code offset: 0xcb + ;; code offset: 0xc5 (local.get $19) ) ) - ;; code offset: 0xd2 + ;; code offset: 0xcc (local.set $20 - ;; code offset: 0xd0 + ;; code offset: 0xca (local.get $18) ) - ;; code offset: 0xd6 + ;; code offset: 0xd0 (return - ;; code offset: 0xd4 + ;; code offset: 0xce (local.get $20) ) ) diff --git a/test/passes/fannkuch0_dwarf.bin.txt b/test/passes/fannkuch0_dwarf.bin.txt index 98dfd7325da..18fe26effa1 100644 --- a/test/passes/fannkuch0_dwarf.bin.txt +++ b/test/passes/fannkuch0_dwarf.bin.txt @@ -2420,9 +2420,9 @@ Abbrev table for offset: 0x00000000 DW_AT_comp_dir [DW_FORM_strp] ( .debug_str[0x000000a8] = "/home/alon/Dev/emscripten") DW_AT_low_pc [DW_FORM_addr] (0x0000000000000000) DW_AT_ranges [DW_FORM_sec_offset] (0x00000000 - [0x00000006, 0x00000ad7) - [0x00000ad9, 0x00000c58) - [0x00000c5a, 0x00001454)) + [0x00000006, 0x00000a53) + [0x00000a55, 0x00000bc5) + [0x00000bc7, 0x00001360)) 0x00000026: DW_TAG_pointer_type [2] DW_AT_type [DW_FORM_ref4] (cu + 0x002b => {0x0000002b} "worker_args") @@ -2486,7 +2486,7 @@ Abbrev table for offset: 0x00000000 0x00000082: DW_TAG_subprogram [10] * DW_AT_low_pc [DW_FORM_addr] (0x0000000000000006) - DW_AT_high_pc [DW_FORM_data4] (0x00000ad1) + DW_AT_high_pc [DW_FORM_data4] (0x00000a4d) DW_AT_linkage_name [DW_FORM_strp] ( .debug_str[0x000000fb] = "_Z15fannkuch_workerPv") DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000111] = "fannkuch_worker") DW_AT_decl_file [DW_FORM_data1] ("/home/alon/Dev/emscripten/tests/fannkuch.cpp") @@ -2586,8 +2586,8 @@ Abbrev table for offset: 0x00000000 DW_AT_type [DW_FORM_ref4] (cu + 0x0059 => {0x00000059} "int") 0x0000014f: DW_TAG_lexical_block [13] * - DW_AT_low_pc [DW_FORM_addr] (0x00000000000008e6) - DW_AT_high_pc [DW_FORM_data4] (0x00000148) + DW_AT_low_pc [DW_FORM_addr] (0x000000000000087a) + DW_AT_high_pc [DW_FORM_data4] (0x00000136) 0x00000158: DW_TAG_variable [12] DW_AT_location [DW_FORM_exprloc] (DW_OP_plus_uconst 0x8) @@ -2601,8 +2601,8 @@ Abbrev table for offset: 0x00000000 0x00000167: NULL 0x00000168: DW_TAG_subprogram [14] * - DW_AT_low_pc [DW_FORM_addr] (0x0000000000000ad9) - DW_AT_high_pc [DW_FORM_data4] (0x0000017f) + DW_AT_low_pc [DW_FORM_addr] (0x0000000000000a55) + DW_AT_high_pc [DW_FORM_data4] (0x00000170) DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000121] = "main") DW_AT_decl_file [DW_FORM_data1] ("/home/alon/Dev/emscripten/tests/fannkuch.cpp") DW_AT_decl_line [DW_FORM_data1] (152) @@ -2633,8 +2633,8 @@ Abbrev table for offset: 0x00000000 0x000001a5: NULL 0x000001a6: DW_TAG_subprogram [15] * - DW_AT_low_pc [DW_FORM_addr] (0x0000000000000c5a) - DW_AT_high_pc [DW_FORM_data4] (0x000007fa) + DW_AT_low_pc [DW_FORM_addr] (0x0000000000000bc7) + DW_AT_high_pc [DW_FORM_data4] (0x00000799) DW_AT_linkage_name [DW_FORM_strp] ( .debug_str[0x00000126] = "_ZL8fannkuchi") DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000134] = "fannkuch") DW_AT_decl_file [DW_FORM_data1] ("/home/alon/Dev/emscripten/tests/fannkuch.cpp") @@ -2715,11 +2715,11 @@ Abbrev table for offset: 0x00000000 DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000191] = "cleanup") DW_AT_decl_file [DW_FORM_data1] ("/home/alon/Dev/emscripten/tests/fannkuch.cpp") DW_AT_decl_line [DW_FORM_data1] (137) - DW_AT_low_pc [DW_FORM_addr] (0x0000000000001324) + DW_AT_low_pc [DW_FORM_addr] (0x0000000000001241) 0x00000254: DW_TAG_lexical_block [13] * - DW_AT_low_pc [DW_FORM_addr] (0x000000000000115c) - DW_AT_high_pc [DW_FORM_data4] (0x00000119) + DW_AT_low_pc [DW_FORM_addr] (0x0000000000001091) + DW_AT_high_pc [DW_FORM_data4] (0x00000107) 0x0000025d: DW_TAG_variable [12] DW_AT_location [DW_FORM_exprloc] (DW_OP_plus_uconst 0x4) @@ -2794,2359 +2794,2359 @@ file_names[ 3]: 0x0000000000000006 27 0 1 0 0 is_stmt -0x0000006d: 00 DW_LNE_set_address (0x0000000000000210) +0x0000006d: 00 DW_LNE_set_address (0x000000000000020f) 0x00000074: 03 DW_LNS_advance_line (28) 0x00000076: 05 DW_LNS_set_column (45) 0x00000078: 0a DW_LNS_set_prologue_end 0x00000079: 01 DW_LNS_copy - 0x0000000000000210 28 45 1 0 0 is_stmt prologue_end + 0x000000000000020f 28 45 1 0 0 is_stmt prologue_end -0x0000007a: 00 DW_LNE_set_address (0x0000000000000218) +0x0000007a: 00 DW_LNE_set_address (0x0000000000000216) 0x00000081: 05 DW_LNS_set_column (24) 0x00000083: 06 DW_LNS_negate_stmt 0x00000084: 01 DW_LNS_copy - 0x0000000000000218 28 24 1 0 0 + 0x0000000000000216 28 24 1 0 0 -0x00000085: 00 DW_LNE_set_address (0x0000000000000220) +0x00000085: 00 DW_LNE_set_address (0x000000000000021d) 0x0000008c: 03 DW_LNS_advance_line (32) 0x0000008e: 05 DW_LNS_set_column (13) 0x00000090: 06 DW_LNS_negate_stmt 0x00000091: 01 DW_LNS_copy - 0x0000000000000220 32 13 1 0 0 is_stmt + 0x000000000000021d 32 13 1 0 0 is_stmt -0x00000092: 00 DW_LNE_set_address (0x0000000000000228) +0x00000092: 00 DW_LNE_set_address (0x0000000000000224) 0x00000099: 03 DW_LNS_advance_line (33) 0x0000009b: 05 DW_LNS_set_column (8) 0x0000009d: 01 DW_LNS_copy - 0x0000000000000228 33 8 1 0 0 is_stmt + 0x0000000000000224 33 8 1 0 0 is_stmt -0x0000009e: 00 DW_LNE_set_address (0x0000000000000230) +0x0000009e: 00 DW_LNE_set_address (0x000000000000022b) 0x000000a5: 05 DW_LNS_set_column (14) 0x000000a7: 06 DW_LNS_negate_stmt 0x000000a8: 01 DW_LNS_copy - 0x0000000000000230 33 14 1 0 0 + 0x000000000000022b 33 14 1 0 0 -0x000000a9: 00 DW_LNE_set_address (0x0000000000000238) +0x000000a9: 00 DW_LNE_set_address (0x0000000000000232) 0x000000b0: 05 DW_LNS_set_column (6) 0x000000b2: 01 DW_LNS_copy - 0x0000000000000238 33 6 1 0 0 + 0x0000000000000232 33 6 1 0 0 -0x000000b3: 00 DW_LNE_set_address (0x0000000000000240) +0x000000b3: 00 DW_LNE_set_address (0x0000000000000239) 0x000000ba: 03 DW_LNS_advance_line (34) 0x000000bc: 05 DW_LNS_set_column (25) 0x000000be: 06 DW_LNS_negate_stmt 0x000000bf: 01 DW_LNS_copy - 0x0000000000000240 34 25 1 0 0 is_stmt + 0x0000000000000239 34 25 1 0 0 is_stmt -0x000000c0: 00 DW_LNE_set_address (0x0000000000000248) +0x000000c0: 00 DW_LNE_set_address (0x0000000000000240) 0x000000c7: 05 DW_LNS_set_column (27) 0x000000c9: 06 DW_LNS_negate_stmt 0x000000ca: 01 DW_LNS_copy - 0x0000000000000248 34 27 1 0 0 + 0x0000000000000240 34 27 1 0 0 -0x000000cb: 00 DW_LNE_set_address (0x0000000000000253) +0x000000cb: 00 DW_LNE_set_address (0x000000000000024b) 0x000000d2: 05 DW_LNS_set_column (18) 0x000000d4: 01 DW_LNS_copy - 0x0000000000000253 34 18 1 0 0 + 0x000000000000024b 34 18 1 0 0 -0x000000d5: 00 DW_LNE_set_address (0x0000000000000259) +0x000000d5: 00 DW_LNE_set_address (0x0000000000000251) 0x000000dc: 05 DW_LNS_set_column (10) 0x000000de: 01 DW_LNS_copy - 0x0000000000000259 34 10 1 0 0 + 0x0000000000000251 34 10 1 0 0 -0x000000df: 00 DW_LNE_set_address (0x0000000000000261) +0x000000df: 00 DW_LNE_set_address (0x0000000000000258) 0x000000e6: 03 DW_LNS_advance_line (35) 0x000000e8: 05 DW_LNS_set_column (24) 0x000000ea: 06 DW_LNS_negate_stmt 0x000000eb: 01 DW_LNS_copy - 0x0000000000000261 35 24 1 0 0 is_stmt + 0x0000000000000258 35 24 1 0 0 is_stmt -0x000000ec: 00 DW_LNE_set_address (0x0000000000000269) +0x000000ec: 00 DW_LNE_set_address (0x000000000000025f) 0x000000f3: 05 DW_LNS_set_column (26) 0x000000f5: 06 DW_LNS_negate_stmt 0x000000f6: 01 DW_LNS_copy - 0x0000000000000269 35 26 1 0 0 + 0x000000000000025f 35 26 1 0 0 -0x000000f7: 00 DW_LNE_set_address (0x0000000000000274) +0x000000f7: 00 DW_LNE_set_address (0x000000000000026a) 0x000000fe: 05 DW_LNS_set_column (17) 0x00000100: 01 DW_LNS_copy - 0x0000000000000274 35 17 1 0 0 + 0x000000000000026a 35 17 1 0 0 -0x00000101: 00 DW_LNE_set_address (0x000000000000027a) +0x00000101: 00 DW_LNE_set_address (0x0000000000000270) 0x00000108: 05 DW_LNS_set_column (9) 0x0000010a: 01 DW_LNS_copy - 0x000000000000027a 35 9 1 0 0 + 0x0000000000000270 35 9 1 0 0 -0x0000010b: 00 DW_LNE_set_address (0x0000000000000282) +0x0000010b: 00 DW_LNE_set_address (0x0000000000000277) 0x00000112: 03 DW_LNS_advance_line (36) 0x00000114: 05 DW_LNS_set_column (25) 0x00000116: 06 DW_LNS_negate_stmt 0x00000117: 01 DW_LNS_copy - 0x0000000000000282 36 25 1 0 0 is_stmt + 0x0000000000000277 36 25 1 0 0 is_stmt -0x00000118: 00 DW_LNE_set_address (0x000000000000028a) +0x00000118: 00 DW_LNE_set_address (0x000000000000027e) 0x0000011f: 05 DW_LNS_set_column (27) 0x00000121: 06 DW_LNS_negate_stmt 0x00000122: 01 DW_LNS_copy - 0x000000000000028a 36 27 1 0 0 + 0x000000000000027e 36 27 1 0 0 -0x00000123: 00 DW_LNE_set_address (0x0000000000000295) +0x00000123: 00 DW_LNE_set_address (0x0000000000000289) 0x0000012a: 05 DW_LNS_set_column (18) 0x0000012c: 01 DW_LNS_copy - 0x0000000000000295 36 18 1 0 0 + 0x0000000000000289 36 18 1 0 0 -0x0000012d: 00 DW_LNE_set_address (0x000000000000029b) +0x0000012d: 00 DW_LNE_set_address (0x000000000000028f) 0x00000134: 05 DW_LNS_set_column (10) 0x00000136: 01 DW_LNS_copy - 0x000000000000029b 36 10 1 0 0 + 0x000000000000028f 36 10 1 0 0 -0x00000137: 00 DW_LNE_set_address (0x00000000000002a3) +0x00000137: 00 DW_LNE_set_address (0x0000000000000296) 0x0000013e: 03 DW_LNS_advance_line (37) 0x00000140: 05 DW_LNS_set_column (11) 0x00000142: 06 DW_LNS_negate_stmt 0x00000143: 01 DW_LNS_copy - 0x00000000000002a3 37 11 1 0 0 is_stmt + 0x0000000000000296 37 11 1 0 0 is_stmt -0x00000144: 00 DW_LNE_set_address (0x00000000000002ab) +0x00000144: 00 DW_LNE_set_address (0x000000000000029d) 0x0000014b: 05 DW_LNS_set_column (16) 0x0000014d: 06 DW_LNS_negate_stmt 0x0000014e: 01 DW_LNS_copy - 0x00000000000002ab 37 16 1 0 0 + 0x000000000000029d 37 16 1 0 0 -0x0000014f: 00 DW_LNE_set_address (0x00000000000002b7) +0x0000014f: 00 DW_LNE_set_address (0x00000000000002a8) 0x00000156: 05 DW_LNS_set_column (20) 0x00000158: 01 DW_LNS_copy - 0x00000000000002b7 37 20 1 0 0 + 0x00000000000002a8 37 20 1 0 0 -0x00000159: 00 DW_LNE_set_address (0x00000000000002bf) +0x00000159: 00 DW_LNE_set_address (0x00000000000002af) 0x00000160: 05 DW_LNS_set_column (18) 0x00000162: 01 DW_LNS_copy - 0x00000000000002bf 37 18 1 0 0 + 0x00000000000002af 37 18 1 0 0 -0x00000163: 00 DW_LNE_set_address (0x00000000000002ce) +0x00000163: 00 DW_LNE_set_address (0x00000000000002be) 0x0000016a: 05 DW_LNS_set_column (4) 0x0000016c: 01 DW_LNS_copy - 0x00000000000002ce 37 4 1 0 0 + 0x00000000000002be 37 4 1 0 0 -0x0000016d: 00 DW_LNE_set_address (0x00000000000002de) +0x0000016d: 00 DW_LNE_set_address (0x00000000000002ce) 0x00000174: 03 DW_LNS_advance_line (38) 0x00000176: 05 DW_LNS_set_column (18) 0x00000178: 06 DW_LNS_negate_stmt 0x00000179: 01 DW_LNS_copy - 0x00000000000002de 38 18 1 0 0 is_stmt + 0x00000000000002ce 38 18 1 0 0 is_stmt -0x0000017a: 00 DW_LNE_set_address (0x00000000000002e6) +0x0000017a: 00 DW_LNE_set_address (0x00000000000002d5) 0x00000181: 05 DW_LNS_set_column (7) 0x00000183: 06 DW_LNS_negate_stmt 0x00000184: 01 DW_LNS_copy - 0x00000000000002e6 38 7 1 0 0 + 0x00000000000002d5 38 7 1 0 0 -0x00000185: 00 DW_LNE_set_address (0x00000000000002ee) +0x00000185: 00 DW_LNE_set_address (0x00000000000002dc) 0x0000018c: 05 DW_LNS_set_column (13) 0x0000018e: 01 DW_LNS_copy - 0x00000000000002ee 38 13 1 0 0 + 0x00000000000002dc 38 13 1 0 0 -0x0000018f: 00 DW_LNE_set_address (0x00000000000002f6) +0x0000018f: 00 DW_LNE_set_address (0x00000000000002e3) 0x00000196: 05 DW_LNS_set_column (7) 0x00000198: 01 DW_LNS_copy - 0x00000000000002f6 38 7 1 0 0 + 0x00000000000002e3 38 7 1 0 0 -0x00000199: 00 DW_LNE_set_address (0x0000000000000308) +0x00000199: 00 DW_LNE_set_address (0x00000000000002f5) 0x000001a0: 05 DW_LNS_set_column (16) 0x000001a2: 01 DW_LNS_copy - 0x0000000000000308 38 16 1 0 0 + 0x00000000000002f5 38 16 1 0 0 -0x000001a3: 00 DW_LNE_set_address (0x0000000000000310) +0x000001a3: 00 DW_LNE_set_address (0x00000000000002fc) 0x000001aa: 03 DW_LNS_advance_line (37) 0x000001ac: 05 DW_LNS_set_column (24) 0x000001ae: 06 DW_LNS_negate_stmt 0x000001af: 01 DW_LNS_copy - 0x0000000000000310 37 24 1 0 0 is_stmt + 0x00000000000002fc 37 24 1 0 0 is_stmt -0x000001b0: 00 DW_LNE_set_address (0x000000000000032b) +0x000001b0: 00 DW_LNE_set_address (0x0000000000000315) 0x000001b7: 05 DW_LNS_set_column (4) 0x000001b9: 06 DW_LNS_negate_stmt 0x000001ba: 01 DW_LNS_copy - 0x000000000000032b 37 4 1 0 0 + 0x0000000000000315 37 4 1 0 0 -0x000001bb: 00 DW_LNE_set_address (0x000000000000032d) +0x000001bb: 00 DW_LNE_set_address (0x0000000000000317) 0x000001c2: 01 DW_LNS_copy - 0x000000000000032d 37 4 1 0 0 + 0x0000000000000317 37 4 1 0 0 -0x000001c3: 00 DW_LNE_set_address (0x0000000000000330) +0x000001c3: 00 DW_LNE_set_address (0x000000000000031a) 0x000001ca: 03 DW_LNS_advance_line (39) 0x000001cc: 05 DW_LNS_set_column (21) 0x000001ce: 06 DW_LNS_negate_stmt 0x000001cf: 01 DW_LNS_copy - 0x0000000000000330 39 21 1 0 0 is_stmt + 0x000000000000031a 39 21 1 0 0 is_stmt -0x000001d0: 00 DW_LNE_set_address (0x0000000000000338) +0x000001d0: 00 DW_LNE_set_address (0x0000000000000321) 0x000001d7: 05 DW_LNS_set_column (23) 0x000001d9: 06 DW_LNS_negate_stmt 0x000001da: 01 DW_LNS_copy - 0x0000000000000338 39 23 1 0 0 + 0x0000000000000321 39 23 1 0 0 -0x000001db: 00 DW_LNE_set_address (0x0000000000000343) +0x000001db: 00 DW_LNE_set_address (0x000000000000032c) 0x000001e2: 05 DW_LNS_set_column (4) 0x000001e4: 01 DW_LNS_copy - 0x0000000000000343 39 4 1 0 0 + 0x000000000000032c 39 4 1 0 0 -0x000001e5: 00 DW_LNE_set_address (0x000000000000034b) +0x000001e5: 00 DW_LNE_set_address (0x0000000000000333) 0x000001ec: 05 DW_LNS_set_column (10) 0x000001ee: 01 DW_LNS_copy - 0x000000000000034b 39 10 1 0 0 + 0x0000000000000333 39 10 1 0 0 -0x000001ef: 00 DW_LNE_set_address (0x0000000000000353) +0x000001ef: 00 DW_LNE_set_address (0x000000000000033a) 0x000001f6: 05 DW_LNS_set_column (16) 0x000001f8: 01 DW_LNS_copy - 0x0000000000000353 39 16 1 0 0 + 0x000000000000033a 39 16 1 0 0 -0x000001f9: 00 DW_LNE_set_address (0x000000000000035b) +0x000001f9: 00 DW_LNE_set_address (0x0000000000000341) 0x00000200: 05 DW_LNS_set_column (4) 0x00000202: 01 DW_LNS_copy - 0x000000000000035b 39 4 1 0 0 + 0x0000000000000341 39 4 1 0 0 -0x00000203: 00 DW_LNE_set_address (0x000000000000036d) +0x00000203: 00 DW_LNE_set_address (0x0000000000000353) 0x0000020a: 05 DW_LNS_set_column (19) 0x0000020c: 01 DW_LNS_copy - 0x000000000000036d 39 19 1 0 0 + 0x0000000000000353 39 19 1 0 0 -0x0000020d: 00 DW_LNE_set_address (0x0000000000000375) +0x0000020d: 00 DW_LNE_set_address (0x000000000000035a) 0x00000214: 03 DW_LNS_advance_line (40) 0x00000216: 06 DW_LNS_negate_stmt 0x00000217: 01 DW_LNS_copy - 0x0000000000000375 40 19 1 0 0 is_stmt + 0x000000000000035a 40 19 1 0 0 is_stmt -0x00000218: 00 DW_LNE_set_address (0x000000000000037d) +0x00000218: 00 DW_LNE_set_address (0x0000000000000361) 0x0000021f: 05 DW_LNS_set_column (25) 0x00000221: 06 DW_LNS_negate_stmt 0x00000222: 01 DW_LNS_copy - 0x000000000000037d 40 25 1 0 0 + 0x0000000000000361 40 25 1 0 0 -0x00000223: 00 DW_LNE_set_address (0x0000000000000385) +0x00000223: 00 DW_LNE_set_address (0x0000000000000368) 0x0000022a: 05 DW_LNS_set_column (4) 0x0000022c: 01 DW_LNS_copy - 0x0000000000000385 40 4 1 0 0 + 0x0000000000000368 40 4 1 0 0 -0x0000022d: 00 DW_LNE_set_address (0x000000000000038d) +0x0000022d: 00 DW_LNE_set_address (0x000000000000036f) 0x00000234: 05 DW_LNS_set_column (10) 0x00000236: 01 DW_LNS_copy - 0x000000000000038d 40 10 1 0 0 + 0x000000000000036f 40 10 1 0 0 -0x00000237: 00 DW_LNE_set_address (0x0000000000000395) +0x00000237: 00 DW_LNE_set_address (0x0000000000000376) 0x0000023e: 05 DW_LNS_set_column (12) 0x00000240: 01 DW_LNS_copy - 0x0000000000000395 40 12 1 0 0 + 0x0000000000000376 40 12 1 0 0 -0x00000241: 00 DW_LNE_set_address (0x00000000000003a0) +0x00000241: 00 DW_LNE_set_address (0x0000000000000381) 0x00000248: 05 DW_LNS_set_column (4) 0x0000024a: 01 DW_LNS_copy - 0x00000000000003a0 40 4 1 0 0 + 0x0000000000000381 40 4 1 0 0 -0x0000024b: 00 DW_LNE_set_address (0x00000000000003b2) +0x0000024b: 00 DW_LNE_set_address (0x0000000000000393) 0x00000252: 05 DW_LNS_set_column (17) 0x00000254: 01 DW_LNS_copy - 0x00000000000003b2 40 17 1 0 0 + 0x0000000000000393 40 17 1 0 0 -0x00000255: 00 DW_LNE_set_address (0x00000000000003ba) +0x00000255: 00 DW_LNE_set_address (0x000000000000039a) 0x0000025c: 03 DW_LNS_advance_line (41) 0x0000025e: 05 DW_LNS_set_column (8) 0x00000260: 06 DW_LNS_negate_stmt 0x00000261: 01 DW_LNS_copy - 0x00000000000003ba 41 8 1 0 0 is_stmt + 0x000000000000039a 41 8 1 0 0 is_stmt -0x00000262: 00 DW_LNE_set_address (0x00000000000003c2) +0x00000262: 00 DW_LNE_set_address (0x00000000000003a1) 0x00000269: 05 DW_LNS_set_column (6) 0x0000026b: 06 DW_LNS_negate_stmt 0x0000026c: 01 DW_LNS_copy - 0x00000000000003c2 41 6 1 0 0 + 0x00000000000003a1 41 6 1 0 0 -0x0000026d: 00 DW_LNE_set_address (0x00000000000003d4) +0x0000026d: 00 DW_LNE_set_address (0x00000000000003b2) 0x00000274: 03 DW_LNS_advance_line (44) 0x00000276: 05 DW_LNS_set_column (14) 0x00000278: 06 DW_LNS_negate_stmt 0x00000279: 01 DW_LNS_copy - 0x00000000000003d4 44 14 1 0 0 is_stmt + 0x00000000000003b2 44 14 1 0 0 is_stmt -0x0000027a: 00 DW_LNE_set_address (0x00000000000003dc) +0x0000027a: 00 DW_LNE_set_address (0x00000000000003b9) 0x00000281: 05 DW_LNS_set_column (16) 0x00000283: 06 DW_LNS_negate_stmt 0x00000284: 01 DW_LNS_copy - 0x00000000000003dc 44 16 1 0 0 + 0x00000000000003b9 44 16 1 0 0 -0x00000285: 00 DW_LNE_set_address (0x00000000000003eb) +0x00000285: 00 DW_LNE_set_address (0x00000000000003c8) 0x0000028c: 05 DW_LNS_set_column (7) 0x0000028e: 01 DW_LNS_copy - 0x00000000000003eb 44 7 1 0 0 + 0x00000000000003c8 44 7 1 0 0 -0x0000028f: 00 DW_LNE_set_address (0x00000000000003fb) +0x0000028f: 00 DW_LNE_set_address (0x00000000000003d8) 0x00000296: 03 DW_LNS_advance_line (45) 0x00000298: 05 DW_LNS_set_column (25) 0x0000029a: 06 DW_LNS_negate_stmt 0x0000029b: 01 DW_LNS_copy - 0x00000000000003fb 45 25 1 0 0 is_stmt + 0x00000000000003d8 45 25 1 0 0 is_stmt -0x0000029c: 00 DW_LNE_set_address (0x0000000000000403) +0x0000029c: 00 DW_LNE_set_address (0x00000000000003df) 0x000002a3: 05 DW_LNS_set_column (10) 0x000002a5: 06 DW_LNS_negate_stmt 0x000002a6: 01 DW_LNS_copy - 0x0000000000000403 45 10 1 0 0 + 0x00000000000003df 45 10 1 0 0 -0x000002a7: 00 DW_LNE_set_address (0x000000000000040b) +0x000002a7: 00 DW_LNE_set_address (0x00000000000003e6) 0x000002ae: 05 DW_LNS_set_column (16) 0x000002b0: 01 DW_LNS_copy - 0x000000000000040b 45 16 1 0 0 + 0x00000000000003e6 45 16 1 0 0 -0x000002b1: 00 DW_LNE_set_address (0x0000000000000413) +0x000002b1: 00 DW_LNE_set_address (0x00000000000003ed) 0x000002b8: 05 DW_LNS_set_column (18) 0x000002ba: 01 DW_LNS_copy - 0x0000000000000413 45 18 1 0 0 + 0x00000000000003ed 45 18 1 0 0 -0x000002bb: 00 DW_LNE_set_address (0x000000000000041e) +0x000002bb: 00 DW_LNE_set_address (0x00000000000003f8) 0x000002c2: 05 DW_LNS_set_column (10) 0x000002c4: 01 DW_LNS_copy - 0x000000000000041e 45 10 1 0 0 + 0x00000000000003f8 45 10 1 0 0 -0x000002c5: 00 DW_LNE_set_address (0x0000000000000430) +0x000002c5: 00 DW_LNE_set_address (0x000000000000040a) 0x000002cc: 05 DW_LNS_set_column (23) 0x000002ce: 01 DW_LNS_copy - 0x0000000000000430 45 23 1 0 0 + 0x000000000000040a 45 23 1 0 0 -0x000002cf: 00 DW_LNE_set_address (0x0000000000000438) +0x000002cf: 00 DW_LNE_set_address (0x0000000000000411) 0x000002d6: 03 DW_LNS_advance_line (44) 0x000002d8: 05 DW_LNS_set_column (22) 0x000002da: 06 DW_LNS_negate_stmt 0x000002db: 01 DW_LNS_copy - 0x0000000000000438 44 22 1 0 0 is_stmt + 0x0000000000000411 44 22 1 0 0 is_stmt -0x000002dc: 00 DW_LNE_set_address (0x0000000000000453) +0x000002dc: 00 DW_LNE_set_address (0x000000000000042a) 0x000002e3: 05 DW_LNS_set_column (7) 0x000002e5: 06 DW_LNS_negate_stmt 0x000002e6: 01 DW_LNS_copy - 0x0000000000000453 44 7 1 0 0 + 0x000000000000042a 44 7 1 0 0 -0x000002e7: 00 DW_LNE_set_address (0x0000000000000455) +0x000002e7: 00 DW_LNE_set_address (0x000000000000042c) 0x000002ee: 01 DW_LNS_copy - 0x0000000000000455 44 7 1 0 0 + 0x000000000000042c 44 7 1 0 0 -0x000002ef: 00 DW_LNE_set_address (0x0000000000000458) +0x000002ef: 00 DW_LNE_set_address (0x000000000000042f) 0x000002f6: 03 DW_LNS_advance_line (46) 0x000002f8: 05 DW_LNS_set_column (11) 0x000002fa: 06 DW_LNS_negate_stmt 0x000002fb: 01 DW_LNS_copy - 0x0000000000000458 46 11 1 0 0 is_stmt + 0x000000000000042f 46 11 1 0 0 is_stmt -0x000002fc: 00 DW_LNE_set_address (0x0000000000000468) +0x000002fc: 00 DW_LNE_set_address (0x000000000000043d) 0x00000303: 05 DW_LNS_set_column (25) 0x00000305: 06 DW_LNS_negate_stmt 0x00000306: 01 DW_LNS_copy - 0x0000000000000468 46 25 1 0 0 + 0x000000000000043d 46 25 1 0 0 -0x00000307: 00 DW_LNE_set_address (0x000000000000046f) +0x00000307: 00 DW_LNE_set_address (0x0000000000000444) 0x0000030e: 05 DW_LNS_set_column (28) 0x00000310: 01 DW_LNS_copy - 0x000000000000046f 46 28 1 0 0 + 0x0000000000000444 46 28 1 0 0 -0x00000311: 00 DW_LNE_set_address (0x0000000000000477) +0x00000311: 00 DW_LNE_set_address (0x000000000000044b) 0x00000318: 05 DW_LNS_set_column (34) 0x0000031a: 01 DW_LNS_copy - 0x0000000000000477 46 34 1 0 0 + 0x000000000000044b 46 34 1 0 0 -0x0000031b: 00 DW_LNE_set_address (0x000000000000047f) +0x0000031b: 00 DW_LNE_set_address (0x0000000000000452) 0x00000322: 05 DW_LNS_set_column (36) 0x00000324: 01 DW_LNS_copy - 0x000000000000047f 46 36 1 0 0 + 0x0000000000000452 46 36 1 0 0 -0x00000325: 00 DW_LNE_set_address (0x000000000000048a) +0x00000325: 00 DW_LNE_set_address (0x000000000000045d) 0x0000032c: 05 DW_LNS_set_column (28) 0x0000032e: 01 DW_LNS_copy - 0x000000000000048a 46 28 1 0 0 + 0x000000000000045d 46 28 1 0 0 -0x0000032f: 00 DW_LNE_set_address (0x00000000000004a4) +0x0000032f: 00 DW_LNE_set_address (0x0000000000000476) 0x00000336: 05 DW_LNS_set_column (44) 0x00000338: 01 DW_LNS_copy - 0x00000000000004a4 46 44 1 0 0 + 0x0000000000000476 46 44 1 0 0 -0x00000339: 00 DW_LNE_set_address (0x00000000000004ac) +0x00000339: 00 DW_LNE_set_address (0x000000000000047d) 0x00000340: 05 DW_LNS_set_column (46) 0x00000342: 01 DW_LNS_copy - 0x00000000000004ac 46 46 1 0 0 + 0x000000000000047d 46 46 1 0 0 -0x00000343: 00 DW_LNE_set_address (0x00000000000004b7) +0x00000343: 00 DW_LNE_set_address (0x0000000000000488) 0x0000034a: 05 DW_LNS_set_column (41) 0x0000034c: 01 DW_LNS_copy - 0x00000000000004b7 46 41 1 0 0 + 0x0000000000000488 46 41 1 0 0 -0x0000034d: 00 DW_LNE_set_address (0x00000000000004c6) +0x0000034d: 00 DW_LNE_set_address (0x0000000000000497) 0x00000354: 05 DW_LNS_set_column (11) 0x00000356: 01 DW_LNS_copy - 0x00000000000004c6 46 11 1 0 0 + 0x0000000000000497 46 11 1 0 0 -0x00000357: 00 DW_LNE_set_address (0x00000000000004da) +0x00000357: 00 DW_LNE_set_address (0x00000000000004ab) 0x0000035e: 03 DW_LNS_advance_line (47) 0x00000360: 05 DW_LNS_set_column (17) 0x00000362: 06 DW_LNS_negate_stmt 0x00000363: 01 DW_LNS_copy - 0x00000000000004da 47 17 1 0 0 is_stmt + 0x00000000000004ab 47 17 1 0 0 is_stmt -0x00000364: 00 DW_LNE_set_address (0x00000000000004e2) +0x00000364: 00 DW_LNE_set_address (0x00000000000004b2) 0x0000036b: 05 DW_LNS_set_column (22) 0x0000036d: 06 DW_LNS_negate_stmt 0x0000036e: 01 DW_LNS_copy - 0x00000000000004e2 47 22 1 0 0 + 0x00000000000004b2 47 22 1 0 0 -0x0000036f: 00 DW_LNE_set_address (0x00000000000004ee) +0x0000036f: 00 DW_LNE_set_address (0x00000000000004bd) 0x00000376: 05 DW_LNS_set_column (26) 0x00000378: 01 DW_LNS_copy - 0x00000000000004ee 47 26 1 0 0 + 0x00000000000004bd 47 26 1 0 0 -0x00000379: 00 DW_LNE_set_address (0x00000000000004f6) +0x00000379: 00 DW_LNE_set_address (0x00000000000004c4) 0x00000380: 05 DW_LNS_set_column (24) 0x00000382: 01 DW_LNS_copy - 0x00000000000004f6 47 24 1 0 0 + 0x00000000000004c4 47 24 1 0 0 -0x00000383: 00 DW_LNE_set_address (0x0000000000000505) +0x00000383: 00 DW_LNE_set_address (0x00000000000004d3) 0x0000038a: 05 DW_LNS_set_column (10) 0x0000038c: 01 DW_LNS_copy - 0x0000000000000505 47 10 1 0 0 + 0x00000000000004d3 47 10 1 0 0 -0x0000038d: 00 DW_LNE_set_address (0x0000000000000515) +0x0000038d: 00 DW_LNE_set_address (0x00000000000004e3) 0x00000394: 03 DW_LNS_advance_line (48) 0x00000396: 05 DW_LNS_set_column (23) 0x00000398: 06 DW_LNS_negate_stmt 0x00000399: 01 DW_LNS_copy - 0x0000000000000515 48 23 1 0 0 is_stmt + 0x00000000000004e3 48 23 1 0 0 is_stmt -0x0000039a: 00 DW_LNE_set_address (0x000000000000051d) +0x0000039a: 00 DW_LNE_set_address (0x00000000000004ea) 0x000003a1: 05 DW_LNS_set_column (29) 0x000003a3: 06 DW_LNS_negate_stmt 0x000003a4: 01 DW_LNS_copy - 0x000000000000051d 48 29 1 0 0 + 0x00000000000004ea 48 29 1 0 0 -0x000003a5: 00 DW_LNE_set_address (0x0000000000000525) +0x000003a5: 00 DW_LNE_set_address (0x00000000000004f1) 0x000003ac: 05 DW_LNS_set_column (23) 0x000003ae: 01 DW_LNS_copy - 0x0000000000000525 48 23 1 0 0 + 0x00000000000004f1 48 23 1 0 0 -0x000003af: 00 DW_LNE_set_address (0x000000000000053f) +0x000003af: 00 DW_LNE_set_address (0x000000000000050a) 0x000003b6: 05 DW_LNS_set_column (13) 0x000003b8: 01 DW_LNS_copy - 0x000000000000053f 48 13 1 0 0 + 0x000000000000050a 48 13 1 0 0 -0x000003b9: 00 DW_LNE_set_address (0x0000000000000547) +0x000003b9: 00 DW_LNE_set_address (0x0000000000000511) 0x000003c0: 05 DW_LNS_set_column (18) 0x000003c2: 01 DW_LNS_copy - 0x0000000000000547 48 18 1 0 0 + 0x0000000000000511 48 18 1 0 0 -0x000003c3: 00 DW_LNE_set_address (0x000000000000054f) +0x000003c3: 00 DW_LNE_set_address (0x0000000000000518) 0x000003ca: 05 DW_LNS_set_column (13) 0x000003cc: 01 DW_LNS_copy - 0x000000000000054f 48 13 1 0 0 + 0x0000000000000518 48 13 1 0 0 -0x000003cd: 00 DW_LNE_set_address (0x0000000000000561) +0x000003cd: 00 DW_LNE_set_address (0x000000000000052a) 0x000003d4: 05 DW_LNS_set_column (21) 0x000003d6: 01 DW_LNS_copy - 0x0000000000000561 48 21 1 0 0 + 0x000000000000052a 48 21 1 0 0 -0x000003d7: 00 DW_LNE_set_address (0x0000000000000569) +0x000003d7: 00 DW_LNE_set_address (0x0000000000000531) 0x000003de: 03 DW_LNS_advance_line (47) 0x000003e0: 05 DW_LNS_set_column (30) 0x000003e2: 06 DW_LNS_negate_stmt 0x000003e3: 01 DW_LNS_copy - 0x0000000000000569 47 30 1 0 0 is_stmt + 0x0000000000000531 47 30 1 0 0 is_stmt -0x000003e4: 00 DW_LNE_set_address (0x0000000000000584) +0x000003e4: 00 DW_LNE_set_address (0x000000000000054a) 0x000003eb: 05 DW_LNS_set_column (10) 0x000003ed: 06 DW_LNS_negate_stmt 0x000003ee: 01 DW_LNS_copy - 0x0000000000000584 47 10 1 0 0 + 0x000000000000054a 47 10 1 0 0 -0x000003ef: 00 DW_LNE_set_address (0x0000000000000586) +0x000003ef: 00 DW_LNE_set_address (0x000000000000054c) 0x000003f6: 01 DW_LNS_copy - 0x0000000000000586 47 10 1 0 0 + 0x000000000000054c 47 10 1 0 0 -0x000003f7: 00 DW_LNE_set_address (0x000000000000058d) +0x000003f7: 00 DW_LNE_set_address (0x0000000000000553) 0x000003fe: 03 DW_LNS_advance_line (49) 0x00000400: 05 DW_LNS_set_column (16) 0x00000402: 06 DW_LNS_negate_stmt 0x00000403: 01 DW_LNS_copy - 0x000000000000058d 49 16 1 0 0 is_stmt + 0x0000000000000553 49 16 1 0 0 is_stmt -0x00000404: 00 DW_LNE_set_address (0x0000000000000595) +0x00000404: 00 DW_LNE_set_address (0x000000000000055a) 0x0000040b: 03 DW_LNS_advance_line (50) 0x0000040d: 05 DW_LNS_set_column (14) 0x0000040f: 01 DW_LNS_copy - 0x0000000000000595 50 14 1 0 0 is_stmt + 0x000000000000055a 50 14 1 0 0 is_stmt -0x00000410: 00 DW_LNE_set_address (0x00000000000005a5) +0x00000410: 00 DW_LNE_set_address (0x0000000000000568) 0x00000417: 05 DW_LNS_set_column (12) 0x00000419: 06 DW_LNS_negate_stmt 0x0000041a: 01 DW_LNS_copy - 0x00000000000005a5 50 12 1 0 0 + 0x0000000000000568 50 12 1 0 0 -0x0000041b: 00 DW_LNE_set_address (0x00000000000005b3) +0x0000041b: 00 DW_LNE_set_address (0x0000000000000575) 0x00000422: 03 DW_LNS_advance_line (52) 0x00000424: 05 DW_LNS_set_column (20) 0x00000426: 06 DW_LNS_negate_stmt 0x00000427: 01 DW_LNS_copy - 0x00000000000005b3 52 20 1 0 0 is_stmt + 0x0000000000000575 52 20 1 0 0 is_stmt -0x00000428: 00 DW_LNE_set_address (0x00000000000005bb) +0x00000428: 00 DW_LNE_set_address (0x000000000000057c) 0x0000042f: 05 DW_LNS_set_column (29) 0x00000431: 06 DW_LNS_negate_stmt 0x00000432: 01 DW_LNS_copy - 0x00000000000005bb 52 29 1 0 0 + 0x000000000000057c 52 29 1 0 0 -0x00000433: 00 DW_LNE_set_address (0x00000000000005c3) +0x00000433: 00 DW_LNE_set_address (0x0000000000000583) 0x0000043a: 05 DW_LNS_set_column (31) 0x0000043c: 01 DW_LNS_copy - 0x00000000000005c3 52 31 1 0 0 + 0x0000000000000583 52 31 1 0 0 -0x0000043d: 00 DW_LNE_set_address (0x00000000000005ce) +0x0000043d: 00 DW_LNE_set_address (0x000000000000058e) 0x00000444: 05 DW_LNS_set_column (27) 0x00000446: 01 DW_LNS_copy - 0x00000000000005ce 52 27 1 0 0 + 0x000000000000058e 52 27 1 0 0 -0x00000447: 00 DW_LNE_set_address (0x00000000000005d6) +0x00000447: 00 DW_LNE_set_address (0x0000000000000595) 0x0000044e: 05 DW_LNS_set_column (36) 0x00000450: 01 DW_LNS_copy - 0x00000000000005d6 52 36 1 0 0 + 0x0000000000000595 52 36 1 0 0 -0x00000451: 00 DW_LNE_set_address (0x00000000000005e2) +0x00000451: 00 DW_LNE_set_address (0x00000000000005a0) 0x00000458: 05 DW_LNS_set_column (40) 0x0000045a: 01 DW_LNS_copy - 0x00000000000005e2 52 40 1 0 0 + 0x00000000000005a0 52 40 1 0 0 -0x0000045b: 00 DW_LNE_set_address (0x00000000000005ea) +0x0000045b: 00 DW_LNE_set_address (0x00000000000005a7) 0x00000462: 05 DW_LNS_set_column (38) 0x00000464: 01 DW_LNS_copy - 0x00000000000005ea 52 38 1 0 0 + 0x00000000000005a7 52 38 1 0 0 -0x00000465: 00 DW_LNE_set_address (0x00000000000005f9) +0x00000465: 00 DW_LNE_set_address (0x00000000000005b6) 0x0000046c: 05 DW_LNS_set_column (13) 0x0000046e: 01 DW_LNS_copy - 0x00000000000005f9 52 13 1 0 0 + 0x00000000000005b6 52 13 1 0 0 -0x0000046f: 00 DW_LNE_set_address (0x0000000000000609) +0x0000046f: 00 DW_LNE_set_address (0x00000000000005c6) 0x00000476: 03 DW_LNS_advance_line (53) 0x00000478: 05 DW_LNS_set_column (22) 0x0000047a: 06 DW_LNS_negate_stmt 0x0000047b: 01 DW_LNS_copy - 0x0000000000000609 53 22 1 0 0 is_stmt + 0x00000000000005c6 53 22 1 0 0 is_stmt -0x0000047c: 00 DW_LNE_set_address (0x0000000000000611) +0x0000047c: 00 DW_LNE_set_address (0x00000000000005cd) 0x00000483: 05 DW_LNS_set_column (27) 0x00000485: 06 DW_LNS_negate_stmt 0x00000486: 01 DW_LNS_copy - 0x0000000000000611 53 27 1 0 0 + 0x00000000000005cd 53 27 1 0 0 -0x00000487: 00 DW_LNE_set_address (0x000000000000061a) +0x00000487: 00 DW_LNE_set_address (0x00000000000005d5) 0x0000048e: 05 DW_LNS_set_column (22) 0x00000490: 01 DW_LNS_copy - 0x000000000000061a 53 22 1 0 0 + 0x00000000000005d5 53 22 1 0 0 -0x00000491: 00 DW_LNE_set_address (0x000000000000063c) +0x00000491: 00 DW_LNE_set_address (0x00000000000005f6) 0x00000498: 05 DW_LNS_set_column (20) 0x0000049a: 01 DW_LNS_copy - 0x000000000000063c 53 20 1 0 0 + 0x00000000000005f6 53 20 1 0 0 -0x0000049b: 00 DW_LNE_set_address (0x0000000000000645) +0x0000049b: 00 DW_LNE_set_address (0x00000000000005fe) 0x000004a2: 03 DW_LNS_advance_line (54) 0x000004a4: 05 DW_LNS_set_column (26) 0x000004a6: 06 DW_LNS_negate_stmt 0x000004a7: 01 DW_LNS_copy - 0x0000000000000645 54 26 1 0 0 is_stmt + 0x00000000000005fe 54 26 1 0 0 is_stmt -0x000004a8: 00 DW_LNE_set_address (0x000000000000064e) +0x000004a8: 00 DW_LNE_set_address (0x0000000000000606) 0x000004af: 05 DW_LNS_set_column (31) 0x000004b1: 06 DW_LNS_negate_stmt 0x000004b2: 01 DW_LNS_copy - 0x000000000000064e 54 31 1 0 0 + 0x0000000000000606 54 31 1 0 0 -0x000004b3: 00 DW_LNE_set_address (0x0000000000000657) +0x000004b3: 00 DW_LNE_set_address (0x000000000000060e) 0x000004ba: 05 DW_LNS_set_column (26) 0x000004bc: 01 DW_LNS_copy - 0x0000000000000657 54 26 1 0 0 + 0x000000000000060e 54 26 1 0 0 -0x000004bd: 00 DW_LNE_set_address (0x000000000000067a) +0x000004bd: 00 DW_LNE_set_address (0x0000000000000630) 0x000004c4: 05 DW_LNS_set_column (16) 0x000004c6: 01 DW_LNS_copy - 0x000000000000067a 54 16 1 0 0 + 0x0000000000000630 54 16 1 0 0 -0x000004c7: 00 DW_LNE_set_address (0x0000000000000683) +0x000004c7: 00 DW_LNE_set_address (0x0000000000000638) 0x000004ce: 05 DW_LNS_set_column (21) 0x000004d0: 01 DW_LNS_copy - 0x0000000000000683 54 21 1 0 0 + 0x0000000000000638 54 21 1 0 0 -0x000004d1: 00 DW_LNE_set_address (0x000000000000068c) +0x000004d1: 00 DW_LNE_set_address (0x0000000000000640) 0x000004d8: 05 DW_LNS_set_column (16) 0x000004da: 01 DW_LNS_copy - 0x000000000000068c 54 16 1 0 0 + 0x0000000000000640 54 16 1 0 0 -0x000004db: 00 DW_LNE_set_address (0x00000000000006a5) +0x000004db: 00 DW_LNE_set_address (0x0000000000000659) 0x000004e2: 05 DW_LNS_set_column (24) 0x000004e4: 01 DW_LNS_copy - 0x00000000000006a5 54 24 1 0 0 + 0x0000000000000659 54 24 1 0 0 -0x000004e5: 00 DW_LNE_set_address (0x00000000000006af) +0x000004e5: 00 DW_LNE_set_address (0x0000000000000662) 0x000004ec: 03 DW_LNS_advance_line (55) 0x000004ee: 05 DW_LNS_set_column (26) 0x000004f0: 06 DW_LNS_negate_stmt 0x000004f1: 01 DW_LNS_copy - 0x00000000000006af 55 26 1 0 0 is_stmt + 0x0000000000000662 55 26 1 0 0 is_stmt -0x000004f2: 00 DW_LNE_set_address (0x00000000000006b8) +0x000004f2: 00 DW_LNE_set_address (0x000000000000066a) 0x000004f9: 05 DW_LNS_set_column (16) 0x000004fb: 06 DW_LNS_negate_stmt 0x000004fc: 01 DW_LNS_copy - 0x00000000000006b8 55 16 1 0 0 + 0x000000000000066a 55 16 1 0 0 -0x000004fd: 00 DW_LNE_set_address (0x00000000000006c1) +0x000004fd: 00 DW_LNE_set_address (0x0000000000000672) 0x00000504: 05 DW_LNS_set_column (21) 0x00000506: 01 DW_LNS_copy - 0x00000000000006c1 55 21 1 0 0 + 0x0000000000000672 55 21 1 0 0 -0x00000507: 00 DW_LNE_set_address (0x00000000000006ca) +0x00000507: 00 DW_LNE_set_address (0x000000000000067a) 0x0000050e: 05 DW_LNS_set_column (16) 0x00000510: 01 DW_LNS_copy - 0x00000000000006ca 55 16 1 0 0 + 0x000000000000067a 55 16 1 0 0 -0x00000511: 00 DW_LNE_set_address (0x00000000000006e3) +0x00000511: 00 DW_LNE_set_address (0x0000000000000693) 0x00000518: 05 DW_LNS_set_column (24) 0x0000051a: 01 DW_LNS_copy - 0x00000000000006e3 55 24 1 0 0 + 0x0000000000000693 55 24 1 0 0 -0x0000051b: 00 DW_LNE_set_address (0x00000000000006ed) +0x0000051b: 00 DW_LNE_set_address (0x000000000000069c) 0x00000522: 03 DW_LNS_advance_line (52) 0x00000524: 05 DW_LNS_set_column (44) 0x00000526: 06 DW_LNS_negate_stmt 0x00000527: 01 DW_LNS_copy - 0x00000000000006ed 52 44 1 0 0 is_stmt + 0x000000000000069c 52 44 1 0 0 is_stmt -0x00000528: 00 DW_LNE_set_address (0x000000000000070e) +0x00000528: 00 DW_LNE_set_address (0x00000000000006bb) 0x0000052f: 05 DW_LNS_set_column (49) 0x00000531: 06 DW_LNS_negate_stmt 0x00000532: 01 DW_LNS_copy - 0x000000000000070e 52 49 1 0 0 + 0x00000000000006bb 52 49 1 0 0 -0x00000533: 00 DW_LNE_set_address (0x000000000000072f) +0x00000533: 00 DW_LNE_set_address (0x00000000000006da) 0x0000053a: 05 DW_LNS_set_column (13) 0x0000053c: 01 DW_LNS_copy - 0x000000000000072f 52 13 1 0 0 + 0x00000000000006da 52 13 1 0 0 -0x0000053d: 00 DW_LNE_set_address (0x0000000000000731) +0x0000053d: 00 DW_LNE_set_address (0x00000000000006dc) 0x00000544: 01 DW_LNS_copy - 0x0000000000000731 52 13 1 0 0 + 0x00000000000006dc 52 13 1 0 0 -0x00000545: 00 DW_LNE_set_address (0x0000000000000734) +0x00000545: 00 DW_LNE_set_address (0x00000000000006df) 0x0000054c: 03 DW_LNS_advance_line (57) 0x0000054e: 05 DW_LNS_set_column (18) 0x00000550: 06 DW_LNS_negate_stmt 0x00000551: 01 DW_LNS_copy - 0x0000000000000734 57 18 1 0 0 is_stmt + 0x00000000000006df 57 18 1 0 0 is_stmt -0x00000552: 00 DW_LNE_set_address (0x0000000000000755) +0x00000552: 00 DW_LNE_set_address (0x00000000000006fe) 0x00000559: 03 DW_LNS_advance_line (58) 0x0000055b: 05 DW_LNS_set_column (19) 0x0000055d: 01 DW_LNS_copy - 0x0000000000000755 58 19 1 0 0 is_stmt + 0x00000000000006fe 58 19 1 0 0 is_stmt -0x0000055e: 00 DW_LNE_set_address (0x000000000000075e) +0x0000055e: 00 DW_LNE_set_address (0x0000000000000706) 0x00000565: 05 DW_LNS_set_column (24) 0x00000567: 06 DW_LNS_negate_stmt 0x00000568: 01 DW_LNS_copy - 0x000000000000075e 58 24 1 0 0 + 0x0000000000000706 58 24 1 0 0 -0x00000569: 00 DW_LNE_set_address (0x0000000000000767) +0x00000569: 00 DW_LNE_set_address (0x000000000000070e) 0x00000570: 05 DW_LNS_set_column (19) 0x00000572: 01 DW_LNS_copy - 0x0000000000000767 58 19 1 0 0 + 0x000000000000070e 58 19 1 0 0 -0x00000573: 00 DW_LNE_set_address (0x000000000000078a) +0x00000573: 00 DW_LNE_set_address (0x0000000000000730) 0x0000057a: 05 DW_LNS_set_column (17) 0x0000057c: 01 DW_LNS_copy - 0x000000000000078a 58 17 1 0 0 + 0x0000000000000730 58 17 1 0 0 -0x0000057d: 00 DW_LNE_set_address (0x0000000000000793) +0x0000057d: 00 DW_LNE_set_address (0x0000000000000738) 0x00000584: 03 DW_LNS_advance_line (59) 0x00000586: 05 DW_LNS_set_column (23) 0x00000588: 06 DW_LNS_negate_stmt 0x00000589: 01 DW_LNS_copy - 0x0000000000000793 59 23 1 0 0 is_stmt + 0x0000000000000738 59 23 1 0 0 is_stmt -0x0000058a: 00 DW_LNE_set_address (0x000000000000079c) +0x0000058a: 00 DW_LNE_set_address (0x0000000000000740) 0x00000591: 05 DW_LNS_set_column (13) 0x00000593: 06 DW_LNS_negate_stmt 0x00000594: 01 DW_LNS_copy - 0x000000000000079c 59 13 1 0 0 + 0x0000000000000740 59 13 1 0 0 -0x00000595: 00 DW_LNE_set_address (0x00000000000007a5) +0x00000595: 00 DW_LNE_set_address (0x0000000000000748) 0x0000059c: 05 DW_LNS_set_column (18) 0x0000059e: 01 DW_LNS_copy - 0x00000000000007a5 59 18 1 0 0 + 0x0000000000000748 59 18 1 0 0 -0x0000059f: 00 DW_LNE_set_address (0x00000000000007ae) +0x0000059f: 00 DW_LNE_set_address (0x0000000000000750) 0x000005a6: 05 DW_LNS_set_column (13) 0x000005a8: 01 DW_LNS_copy - 0x00000000000007ae 59 13 1 0 0 + 0x0000000000000750 59 13 1 0 0 -0x000005a9: 00 DW_LNE_set_address (0x00000000000007c7) +0x000005a9: 00 DW_LNE_set_address (0x0000000000000769) 0x000005b0: 05 DW_LNS_set_column (21) 0x000005b2: 01 DW_LNS_copy - 0x00000000000007c7 59 21 1 0 0 + 0x0000000000000769 59 21 1 0 0 -0x000005b3: 00 DW_LNE_set_address (0x00000000000007d1) +0x000005b3: 00 DW_LNE_set_address (0x0000000000000772) 0x000005ba: 03 DW_LNS_advance_line (60) 0x000005bc: 05 DW_LNS_set_column (17) 0x000005be: 06 DW_LNS_negate_stmt 0x000005bf: 01 DW_LNS_copy - 0x00000000000007d1 60 17 1 0 0 is_stmt + 0x0000000000000772 60 17 1 0 0 is_stmt -0x000005c0: 00 DW_LNE_set_address (0x00000000000007da) +0x000005c0: 00 DW_LNE_set_address (0x000000000000077a) 0x000005c7: 05 DW_LNS_set_column (15) 0x000005c9: 06 DW_LNS_negate_stmt 0x000005ca: 01 DW_LNS_copy - 0x00000000000007da 60 15 1 0 0 + 0x000000000000077a 60 15 1 0 0 -0x000005cb: 00 DW_LNE_set_address (0x00000000000007e3) +0x000005cb: 00 DW_LNE_set_address (0x0000000000000782) 0x000005d2: 03 DW_LNS_advance_line (61) 0x000005d4: 05 DW_LNS_set_column (19) 0x000005d6: 06 DW_LNS_negate_stmt 0x000005d7: 01 DW_LNS_copy - 0x00000000000007e3 61 19 1 0 0 is_stmt + 0x0000000000000782 61 19 1 0 0 is_stmt -0x000005d8: 00 DW_LNE_set_address (0x00000000000007ec) +0x000005d8: 00 DW_LNE_set_address (0x000000000000078a) 0x000005df: 05 DW_LNS_set_column (10) 0x000005e1: 06 DW_LNS_negate_stmt 0x000005e2: 01 DW_LNS_copy - 0x00000000000007ec 61 10 1 0 0 + 0x000000000000078a 61 10 1 0 0 -0x000005e3: 00 DW_LNE_set_address (0x00000000000007f2) +0x000005e3: 00 DW_LNE_set_address (0x0000000000000790) 0x000005ea: 03 DW_LNS_advance_line (62) 0x000005ec: 05 DW_LNS_set_column (14) 0x000005ee: 06 DW_LNS_negate_stmt 0x000005ef: 01 DW_LNS_copy - 0x00000000000007f2 62 14 1 0 0 is_stmt + 0x0000000000000790 62 14 1 0 0 is_stmt -0x000005f0: 00 DW_LNE_set_address (0x00000000000007fb) +0x000005f0: 00 DW_LNE_set_address (0x0000000000000798) 0x000005f7: 05 DW_LNS_set_column (25) 0x000005f9: 06 DW_LNS_negate_stmt 0x000005fa: 01 DW_LNS_copy - 0x00000000000007fb 62 25 1 0 0 + 0x0000000000000798 62 25 1 0 0 -0x000005fb: 00 DW_LNE_set_address (0x0000000000000804) +0x000005fb: 00 DW_LNE_set_address (0x00000000000007a0) 0x00000602: 05 DW_LNS_set_column (23) 0x00000604: 01 DW_LNS_copy - 0x0000000000000804 62 23 1 0 0 + 0x00000000000007a0 62 23 1 0 0 -0x00000605: 00 DW_LNE_set_address (0x000000000000081a) +0x00000605: 00 DW_LNE_set_address (0x00000000000007b6) 0x0000060c: 05 DW_LNS_set_column (14) 0x0000060e: 01 DW_LNS_copy - 0x000000000000081a 62 14 1 0 0 + 0x00000000000007b6 62 14 1 0 0 -0x0000060f: 00 DW_LNE_set_address (0x0000000000000831) +0x0000060f: 00 DW_LNE_set_address (0x00000000000007cd) 0x00000616: 03 DW_LNS_advance_line (63) 0x00000618: 05 DW_LNS_set_column (24) 0x0000061a: 06 DW_LNS_negate_stmt 0x0000061b: 01 DW_LNS_copy - 0x0000000000000831 63 24 1 0 0 is_stmt + 0x00000000000007cd 63 24 1 0 0 is_stmt -0x0000061c: 00 DW_LNE_set_address (0x000000000000083a) +0x0000061c: 00 DW_LNE_set_address (0x00000000000007d5) 0x00000623: 05 DW_LNS_set_column (22) 0x00000625: 06 DW_LNS_negate_stmt 0x00000626: 01 DW_LNS_copy - 0x000000000000083a 63 22 1 0 0 + 0x00000000000007d5 63 22 1 0 0 -0x00000627: 00 DW_LNE_set_address (0x0000000000000845) +0x00000627: 00 DW_LNE_set_address (0x00000000000007df) 0x0000062e: 03 DW_LNS_advance_line (66) 0x00000630: 05 DW_LNS_set_column (14) 0x00000632: 06 DW_LNS_negate_stmt 0x00000633: 01 DW_LNS_copy - 0x0000000000000845 66 14 1 0 0 is_stmt + 0x00000000000007df 66 14 1 0 0 is_stmt -0x00000634: 00 DW_LNE_set_address (0x0000000000000850) +0x00000634: 00 DW_LNE_set_address (0x00000000000007e9) 0x0000063b: 05 DW_LNS_set_column (19) 0x0000063d: 06 DW_LNS_negate_stmt 0x0000063e: 01 DW_LNS_copy - 0x0000000000000850 66 19 1 0 0 + 0x00000000000007e9 66 19 1 0 0 -0x0000063f: 00 DW_LNE_set_address (0x0000000000000859) +0x0000063f: 00 DW_LNE_set_address (0x00000000000007f1) 0x00000646: 05 DW_LNS_set_column (21) 0x00000648: 01 DW_LNS_copy - 0x0000000000000859 66 21 1 0 0 + 0x00000000000007f1 66 21 1 0 0 -0x00000649: 00 DW_LNE_set_address (0x0000000000000868) +0x00000649: 00 DW_LNE_set_address (0x0000000000000800) 0x00000650: 05 DW_LNS_set_column (16) 0x00000652: 01 DW_LNS_copy - 0x0000000000000868 66 16 1 0 0 + 0x0000000000000800 66 16 1 0 0 -0x00000653: 00 DW_LNE_set_address (0x000000000000087e) +0x00000653: 00 DW_LNE_set_address (0x0000000000000816) 0x0000065a: 05 DW_LNS_set_column (14) 0x0000065c: 01 DW_LNS_copy - 0x000000000000087e 66 14 1 0 0 + 0x0000000000000816 66 14 1 0 0 -0x0000065d: 00 DW_LNE_set_address (0x0000000000000895) +0x0000065d: 00 DW_LNE_set_address (0x000000000000082d) 0x00000664: 03 DW_LNS_advance_line (67) 0x00000666: 05 DW_LNS_set_column (18) 0x00000668: 06 DW_LNS_negate_stmt 0x00000669: 01 DW_LNS_copy - 0x0000000000000895 67 18 1 0 0 is_stmt + 0x000000000000082d 67 18 1 0 0 is_stmt -0x0000066a: 00 DW_LNE_set_address (0x000000000000089e) +0x0000066a: 00 DW_LNE_set_address (0x0000000000000835) 0x00000671: 05 DW_LNS_set_column (13) 0x00000673: 06 DW_LNS_negate_stmt 0x00000674: 01 DW_LNS_copy - 0x000000000000089e 67 13 1 0 0 + 0x0000000000000835 67 13 1 0 0 -0x00000675: 00 DW_LNE_set_address (0x00000000000008a3) +0x00000675: 00 DW_LNE_set_address (0x000000000000083a) 0x0000067c: 03 DW_LNS_advance_line (68) 0x0000067e: 05 DW_LNS_set_column (18) 0x00000680: 06 DW_LNS_negate_stmt 0x00000681: 01 DW_LNS_copy - 0x00000000000008a3 68 18 1 0 0 is_stmt + 0x000000000000083a 68 18 1 0 0 is_stmt -0x00000682: 00 DW_LNE_set_address (0x00000000000008ac) +0x00000682: 00 DW_LNE_set_address (0x0000000000000842) 0x00000689: 05 DW_LNS_set_column (13) 0x0000068b: 06 DW_LNS_negate_stmt 0x0000068c: 01 DW_LNS_copy - 0x00000000000008ac 68 13 1 0 0 + 0x0000000000000842 68 13 1 0 0 -0x0000068d: 00 DW_LNE_set_address (0x00000000000008b1) +0x0000068d: 00 DW_LNE_set_address (0x0000000000000847) 0x00000694: 03 DW_LNS_advance_line (69) 0x00000696: 05 DW_LNS_set_column (18) 0x00000698: 06 DW_LNS_negate_stmt 0x00000699: 01 DW_LNS_copy - 0x00000000000008b1 69 18 1 0 0 is_stmt + 0x0000000000000847 69 18 1 0 0 is_stmt -0x0000069a: 00 DW_LNE_set_address (0x00000000000008ba) +0x0000069a: 00 DW_LNE_set_address (0x000000000000084f) 0x000006a1: 05 DW_LNS_set_column (13) 0x000006a3: 06 DW_LNS_negate_stmt 0x000006a4: 01 DW_LNS_copy - 0x00000000000008ba 69 13 1 0 0 + 0x000000000000084f 69 13 1 0 0 -0x000006a5: 00 DW_LNE_set_address (0x00000000000008bf) +0x000006a5: 00 DW_LNE_set_address (0x0000000000000854) 0x000006ac: 03 DW_LNS_advance_line (70) 0x000006ae: 05 DW_LNS_set_column (20) 0x000006b0: 06 DW_LNS_negate_stmt 0x000006b1: 01 DW_LNS_copy - 0x00000000000008bf 70 20 1 0 0 is_stmt + 0x0000000000000854 70 20 1 0 0 is_stmt -0x000006b2: 00 DW_LNE_set_address (0x00000000000008c8) +0x000006b2: 00 DW_LNE_set_address (0x000000000000085c) 0x000006b9: 05 DW_LNS_set_column (13) 0x000006bb: 06 DW_LNS_negate_stmt 0x000006bc: 01 DW_LNS_copy - 0x00000000000008c8 70 13 1 0 0 + 0x000000000000085c 70 13 1 0 0 -0x000006bd: 00 DW_LNE_set_address (0x00000000000008e6) +0x000006bd: 00 DW_LNE_set_address (0x000000000000087a) 0x000006c4: 03 DW_LNS_advance_line (74) 0x000006c6: 05 DW_LNS_set_column (22) 0x000006c8: 06 DW_LNS_negate_stmt 0x000006c9: 01 DW_LNS_copy - 0x00000000000008e6 74 22 1 0 0 is_stmt + 0x000000000000087a 74 22 1 0 0 is_stmt -0x000006ca: 00 DW_LNE_set_address (0x00000000000008f9) +0x000006ca: 00 DW_LNE_set_address (0x000000000000088b) 0x000006d1: 05 DW_LNS_set_column (17) 0x000006d3: 06 DW_LNS_negate_stmt 0x000006d4: 01 DW_LNS_copy - 0x00000000000008f9 74 17 1 0 0 + 0x000000000000088b 74 17 1 0 0 -0x000006d5: 00 DW_LNE_set_address (0x0000000000000902) +0x000006d5: 00 DW_LNE_set_address (0x0000000000000893) 0x000006dc: 03 DW_LNS_advance_line (75) 0x000006de: 05 DW_LNS_set_column (20) 0x000006e0: 06 DW_LNS_negate_stmt 0x000006e1: 01 DW_LNS_copy - 0x0000000000000902 75 20 1 0 0 is_stmt + 0x0000000000000893 75 20 1 0 0 is_stmt -0x000006e2: 00 DW_LNE_set_address (0x000000000000090b) +0x000006e2: 00 DW_LNE_set_address (0x000000000000089b) 0x000006e9: 05 DW_LNS_set_column (25) 0x000006eb: 06 DW_LNS_negate_stmt 0x000006ec: 01 DW_LNS_copy - 0x000000000000090b 75 25 1 0 0 + 0x000000000000089b 75 25 1 0 0 -0x000006ed: 00 DW_LNE_set_address (0x0000000000000918) +0x000006ed: 00 DW_LNE_set_address (0x00000000000008a7) 0x000006f4: 05 DW_LNS_set_column (29) 0x000006f6: 01 DW_LNS_copy - 0x0000000000000918 75 29 1 0 0 + 0x00000000000008a7 75 29 1 0 0 -0x000006f7: 00 DW_LNE_set_address (0x0000000000000921) +0x000006f7: 00 DW_LNE_set_address (0x00000000000008af) 0x000006fe: 05 DW_LNS_set_column (27) 0x00000700: 01 DW_LNS_copy - 0x0000000000000921 75 27 1 0 0 + 0x00000000000008af 75 27 1 0 0 -0x00000701: 00 DW_LNE_set_address (0x0000000000000937) +0x00000701: 00 DW_LNE_set_address (0x00000000000008c5) 0x00000708: 05 DW_LNS_set_column (13) 0x0000070a: 01 DW_LNS_copy - 0x0000000000000937 75 13 1 0 0 + 0x00000000000008c5 75 13 1 0 0 -0x0000070b: 00 DW_LNE_set_address (0x000000000000094c) +0x0000070b: 00 DW_LNE_set_address (0x00000000000008da) 0x00000712: 03 DW_LNS_advance_line (76) 0x00000714: 05 DW_LNS_set_column (27) 0x00000716: 06 DW_LNS_negate_stmt 0x00000717: 01 DW_LNS_copy - 0x000000000000094c 76 27 1 0 0 is_stmt + 0x00000000000008da 76 27 1 0 0 is_stmt -0x00000718: 00 DW_LNE_set_address (0x0000000000000955) +0x00000718: 00 DW_LNE_set_address (0x00000000000008e2) 0x0000071f: 05 DW_LNS_set_column (33) 0x00000721: 06 DW_LNS_negate_stmt 0x00000722: 01 DW_LNS_copy - 0x0000000000000955 76 33 1 0 0 + 0x00000000000008e2 76 33 1 0 0 -0x00000723: 00 DW_LNE_set_address (0x000000000000095e) +0x00000723: 00 DW_LNE_set_address (0x00000000000008ea) 0x0000072a: 05 DW_LNS_set_column (35) 0x0000072c: 01 DW_LNS_copy - 0x000000000000095e 76 35 1 0 0 + 0x00000000000008ea 76 35 1 0 0 -0x0000072d: 00 DW_LNE_set_address (0x000000000000096d) +0x0000072d: 00 DW_LNE_set_address (0x00000000000008f9) 0x00000734: 05 DW_LNS_set_column (27) 0x00000736: 01 DW_LNS_copy - 0x000000000000096d 76 27 1 0 0 + 0x00000000000008f9 76 27 1 0 0 -0x00000737: 00 DW_LNE_set_address (0x0000000000000990) +0x00000737: 00 DW_LNE_set_address (0x000000000000091b) 0x0000073e: 05 DW_LNS_set_column (16) 0x00000740: 01 DW_LNS_copy - 0x0000000000000990 76 16 1 0 0 + 0x000000000000091b 76 16 1 0 0 -0x00000741: 00 DW_LNE_set_address (0x0000000000000999) +0x00000741: 00 DW_LNE_set_address (0x0000000000000923) 0x00000748: 05 DW_LNS_set_column (22) 0x0000074a: 01 DW_LNS_copy - 0x0000000000000999 76 22 1 0 0 + 0x0000000000000923 76 22 1 0 0 -0x0000074b: 00 DW_LNE_set_address (0x00000000000009a2) +0x0000074b: 00 DW_LNE_set_address (0x000000000000092b) 0x00000752: 05 DW_LNS_set_column (16) 0x00000754: 01 DW_LNS_copy - 0x00000000000009a2 76 16 1 0 0 + 0x000000000000092b 76 16 1 0 0 -0x00000755: 00 DW_LNE_set_address (0x00000000000009bb) +0x00000755: 00 DW_LNE_set_address (0x0000000000000944) 0x0000075c: 05 DW_LNS_set_column (25) 0x0000075e: 01 DW_LNS_copy - 0x00000000000009bb 76 25 1 0 0 + 0x0000000000000944 76 25 1 0 0 -0x0000075f: 00 DW_LNE_set_address (0x00000000000009c5) +0x0000075f: 00 DW_LNE_set_address (0x000000000000094d) 0x00000766: 03 DW_LNS_advance_line (75) 0x00000768: 05 DW_LNS_set_column (33) 0x0000076a: 06 DW_LNS_negate_stmt 0x0000076b: 01 DW_LNS_copy - 0x00000000000009c5 75 33 1 0 0 is_stmt + 0x000000000000094d 75 33 1 0 0 is_stmt -0x0000076c: 00 DW_LNE_set_address (0x00000000000009e6) +0x0000076c: 00 DW_LNE_set_address (0x000000000000096c) 0x00000773: 05 DW_LNS_set_column (13) 0x00000775: 06 DW_LNS_negate_stmt 0x00000776: 01 DW_LNS_copy - 0x00000000000009e6 75 13 1 0 0 + 0x000000000000096c 75 13 1 0 0 -0x00000777: 00 DW_LNE_set_address (0x00000000000009e8) +0x00000777: 00 DW_LNE_set_address (0x000000000000096e) 0x0000077e: 01 DW_LNS_copy - 0x00000000000009e8 75 13 1 0 0 + 0x000000000000096e 75 13 1 0 0 -0x0000077f: 00 DW_LNE_set_address (0x00000000000009f0) +0x0000077f: 00 DW_LNE_set_address (0x0000000000000976) 0x00000786: 03 DW_LNS_advance_line (77) 0x00000788: 05 DW_LNS_set_column (24) 0x0000078a: 06 DW_LNS_negate_stmt 0x0000078b: 01 DW_LNS_copy - 0x00000000000009f0 77 24 1 0 0 is_stmt + 0x0000000000000976 77 24 1 0 0 is_stmt -0x0000078c: 00 DW_LNE_set_address (0x00000000000009f9) +0x0000078c: 00 DW_LNE_set_address (0x000000000000097e) 0x00000793: 05 DW_LNS_set_column (13) 0x00000795: 06 DW_LNS_negate_stmt 0x00000796: 01 DW_LNS_copy - 0x00000000000009f9 77 13 1 0 0 + 0x000000000000097e 77 13 1 0 0 -0x00000797: 00 DW_LNE_set_address (0x0000000000000a02) +0x00000797: 00 DW_LNE_set_address (0x0000000000000986) 0x0000079e: 05 DW_LNS_set_column (19) 0x000007a0: 01 DW_LNS_copy - 0x0000000000000a02 77 19 1 0 0 + 0x0000000000000986 77 19 1 0 0 -0x000007a1: 00 DW_LNE_set_address (0x0000000000000a0b) +0x000007a1: 00 DW_LNE_set_address (0x000000000000098e) 0x000007a8: 05 DW_LNS_set_column (13) 0x000007aa: 01 DW_LNS_copy - 0x0000000000000a0b 77 13 1 0 0 + 0x000000000000098e 77 13 1 0 0 -0x000007ab: 00 DW_LNE_set_address (0x0000000000000a24) +0x000007ab: 00 DW_LNE_set_address (0x00000000000009a7) 0x000007b2: 05 DW_LNS_set_column (22) 0x000007b4: 01 DW_LNS_copy - 0x0000000000000a24 77 22 1 0 0 + 0x00000000000009a7 77 22 1 0 0 -0x000007b5: 00 DW_LNE_set_address (0x0000000000000a2e) +0x000007b5: 00 DW_LNE_set_address (0x00000000000009b0) 0x000007bc: 03 DW_LNS_advance_line (79) 0x000007be: 05 DW_LNS_set_column (16) 0x000007c0: 06 DW_LNS_negate_stmt 0x000007c1: 01 DW_LNS_copy - 0x0000000000000a2e 79 16 1 0 0 is_stmt + 0x00000000000009b0 79 16 1 0 0 is_stmt -0x000007c2: 00 DW_LNE_set_address (0x0000000000000a37) +0x000007c2: 00 DW_LNE_set_address (0x00000000000009b8) 0x000007c9: 05 DW_LNS_set_column (22) 0x000007cb: 06 DW_LNS_negate_stmt 0x000007cc: 01 DW_LNS_copy - 0x0000000000000a37 79 22 1 0 0 + 0x00000000000009b8 79 22 1 0 0 -0x000007cd: 00 DW_LNE_set_address (0x0000000000000a40) +0x000007cd: 00 DW_LNE_set_address (0x00000000000009c0) 0x000007d4: 05 DW_LNS_set_column (16) 0x000007d6: 01 DW_LNS_copy - 0x0000000000000a40 79 16 1 0 0 + 0x00000000000009c0 79 16 1 0 0 -0x000007d7: 00 DW_LNE_set_address (0x0000000000000a59) +0x000007d7: 00 DW_LNE_set_address (0x00000000000009d9) 0x000007de: 05 DW_LNS_set_column (14) 0x000007e0: 01 DW_LNS_copy - 0x0000000000000a59 79 14 1 0 0 + 0x00000000000009d9 79 14 1 0 0 -0x000007e1: 00 DW_LNE_set_address (0x0000000000000a7c) +0x000007e1: 00 DW_LNE_set_address (0x00000000000009fa) 0x000007e8: 05 DW_LNS_set_column (25) 0x000007ea: 01 DW_LNS_copy - 0x0000000000000a7c 79 25 1 0 0 + 0x00000000000009fa 79 25 1 0 0 -0x000007eb: 00 DW_LNE_set_address (0x0000000000000a92) +0x000007eb: 00 DW_LNE_set_address (0x0000000000000a10) 0x000007f2: 05 DW_LNS_set_column (14) 0x000007f4: 01 DW_LNS_copy - 0x0000000000000a92 79 14 1 0 0 + 0x0000000000000a10 79 14 1 0 0 -0x000007f5: 00 DW_LNE_set_address (0x0000000000000aab) +0x000007f5: 00 DW_LNE_set_address (0x0000000000000a29) 0x000007fc: 03 DW_LNS_advance_line (80) 0x000007fe: 05 DW_LNS_set_column (13) 0x00000800: 06 DW_LNS_negate_stmt 0x00000801: 01 DW_LNS_copy - 0x0000000000000aab 80 13 1 0 0 is_stmt + 0x0000000000000a29 80 13 1 0 0 is_stmt -0x00000802: 00 DW_LNE_set_address (0x0000000000000aae) +0x00000802: 00 DW_LNE_set_address (0x0000000000000a2c) 0x00000809: 03 DW_LNS_advance_line (81) 0x0000080b: 05 DW_LNS_set_column (11) 0x0000080d: 01 DW_LNS_copy - 0x0000000000000aae 81 11 1 0 0 is_stmt + 0x0000000000000a2c 81 11 1 0 0 is_stmt -0x0000080e: 00 DW_LNE_set_address (0x0000000000000acf) +0x0000080e: 00 DW_LNE_set_address (0x0000000000000a4b) 0x00000815: 03 DW_LNS_advance_line (65) 0x00000817: 05 DW_LNS_set_column (7) 0x00000819: 01 DW_LNS_copy - 0x0000000000000acf 65 7 1 0 0 is_stmt + 0x0000000000000a4b 65 7 1 0 0 is_stmt -0x0000081a: 00 DW_LNE_set_address (0x0000000000000ad2) +0x0000081a: 00 DW_LNE_set_address (0x0000000000000a4e) 0x00000821: 03 DW_LNS_advance_line (80) 0x00000823: 05 DW_LNS_set_column (13) 0x00000825: 01 DW_LNS_copy - 0x0000000000000ad2 80 13 1 0 0 is_stmt + 0x0000000000000a4e 80 13 1 0 0 is_stmt -0x00000826: 00 DW_LNE_set_address (0x0000000000000ad3) +0x00000826: 00 DW_LNE_set_address (0x0000000000000a4f) 0x0000082d: 03 DW_LNS_advance_line (43) 0x0000082f: 05 DW_LNS_set_column (4) 0x00000831: 00 DW_LNE_end_sequence - 0x0000000000000ad3 43 4 1 0 0 is_stmt end_sequence + 0x0000000000000a4f 43 4 1 0 0 is_stmt end_sequence -0x00000834: 00 DW_LNE_set_address (0x0000000000000ad9) +0x00000834: 00 DW_LNE_set_address (0x0000000000000a55) 0x0000083b: 03 DW_LNS_advance_line (152) 0x0000083e: 01 DW_LNS_copy - 0x0000000000000ad9 152 0 1 0 0 is_stmt + 0x0000000000000a55 152 0 1 0 0 is_stmt -0x0000083f: 00 DW_LNE_set_address (0x0000000000000b53) +0x0000083f: 00 DW_LNE_set_address (0x0000000000000acc) 0x00000846: 03 DW_LNS_advance_line (153) 0x00000848: 05 DW_LNS_set_column (12) 0x0000084a: 0a DW_LNS_set_prologue_end 0x0000084b: 01 DW_LNS_copy - 0x0000000000000b53 153 12 1 0 0 is_stmt prologue_end + 0x0000000000000acc 153 12 1 0 0 is_stmt prologue_end -0x0000084c: 00 DW_LNE_set_address (0x0000000000000b5b) +0x0000084c: 00 DW_LNE_set_address (0x0000000000000ad3) 0x00000853: 05 DW_LNS_set_column (17) 0x00000855: 06 DW_LNS_negate_stmt 0x00000856: 01 DW_LNS_copy - 0x0000000000000b5b 153 17 1 0 0 + 0x0000000000000ad3 153 17 1 0 0 -0x00000857: 00 DW_LNE_set_address (0x0000000000000b6a) +0x00000857: 00 DW_LNE_set_address (0x0000000000000ae2) 0x0000085e: 05 DW_LNS_set_column (12) 0x00000860: 01 DW_LNS_copy - 0x0000000000000b6a 153 12 1 0 0 + 0x0000000000000ae2 153 12 1 0 0 -0x00000861: 00 DW_LNE_set_address (0x0000000000000b7e) +0x00000861: 00 DW_LNE_set_address (0x0000000000000af6) 0x00000868: 05 DW_LNS_set_column (28) 0x0000086a: 01 DW_LNS_copy - 0x0000000000000b7e 153 28 1 0 0 + 0x0000000000000af6 153 28 1 0 0 -0x0000086b: 00 DW_LNE_set_address (0x0000000000000b8e) +0x0000086b: 00 DW_LNE_set_address (0x0000000000000b04) 0x00000872: 05 DW_LNS_set_column (23) 0x00000874: 01 DW_LNS_copy - 0x0000000000000b8e 153 23 1 0 0 + 0x0000000000000b04 153 23 1 0 0 -0x00000875: 00 DW_LNE_set_address (0x0000000000000b94) +0x00000875: 00 DW_LNE_set_address (0x0000000000000b0a) 0x0000087c: 05 DW_LNS_set_column (12) 0x0000087e: 01 DW_LNS_copy - 0x0000000000000b94 153 12 1 0 0 + 0x0000000000000b0a 153 12 1 0 0 -0x0000087f: 00 DW_LNE_set_address (0x0000000000000b9f) +0x0000087f: 00 DW_LNE_set_address (0x0000000000000b15) 0x00000886: 01 DW_LNS_copy - 0x0000000000000b9f 153 12 1 0 0 + 0x0000000000000b15 153 12 1 0 0 -0x00000887: 00 DW_LNE_set_address (0x0000000000000ba4) +0x00000887: 00 DW_LNE_set_address (0x0000000000000b1a) 0x0000088e: 01 DW_LNS_copy - 0x0000000000000ba4 153 12 1 0 0 + 0x0000000000000b1a 153 12 1 0 0 -0x0000088f: 00 DW_LNE_set_address (0x0000000000000bac) +0x0000088f: 00 DW_LNE_set_address (0x0000000000000b22) 0x00000896: 05 DW_LNS_set_column (8) 0x00000898: 01 DW_LNS_copy - 0x0000000000000bac 153 8 1 0 0 + 0x0000000000000b22 153 8 1 0 0 -0x00000899: 00 DW_LNE_set_address (0x0000000000000bb4) +0x00000899: 00 DW_LNE_set_address (0x0000000000000b29) 0x000008a0: 03 DW_LNS_advance_line (155) 0x000008a2: 06 DW_LNS_negate_stmt 0x000008a3: 01 DW_LNS_copy - 0x0000000000000bb4 155 8 1 0 0 is_stmt + 0x0000000000000b29 155 8 1 0 0 is_stmt -0x000008a4: 00 DW_LNE_set_address (0x0000000000000bbc) +0x000008a4: 00 DW_LNE_set_address (0x0000000000000b30) 0x000008ab: 05 DW_LNS_set_column (10) 0x000008ad: 06 DW_LNS_negate_stmt 0x000008ae: 01 DW_LNS_copy - 0x0000000000000bbc 155 10 1 0 0 + 0x0000000000000b30 155 10 1 0 0 -0x000008af: 00 DW_LNE_set_address (0x0000000000000bcb) +0x000008af: 00 DW_LNE_set_address (0x0000000000000b3f) 0x000008b6: 05 DW_LNS_set_column (8) 0x000008b8: 01 DW_LNS_copy - 0x0000000000000bcb 155 8 1 0 0 + 0x0000000000000b3f 155 8 1 0 0 -0x000008b9: 00 DW_LNE_set_address (0x0000000000000bdf) +0x000008b9: 00 DW_LNE_set_address (0x0000000000000b53) 0x000008c0: 03 DW_LNS_advance_line (156) 0x000008c2: 05 DW_LNS_set_column (7) 0x000008c4: 06 DW_LNS_negate_stmt 0x000008c5: 01 DW_LNS_copy - 0x0000000000000bdf 156 7 1 0 0 is_stmt + 0x0000000000000b53 156 7 1 0 0 is_stmt -0x000008c6: 00 DW_LNE_set_address (0x0000000000000bf3) +0x000008c6: 00 DW_LNE_set_address (0x0000000000000b67) 0x000008cd: 03 DW_LNS_advance_line (157) 0x000008cf: 01 DW_LNS_copy - 0x0000000000000bf3 157 7 1 0 0 is_stmt + 0x0000000000000b67 157 7 1 0 0 is_stmt -0x000008d0: 00 DW_LNE_set_address (0x0000000000000bfe) +0x000008d0: 00 DW_LNE_set_address (0x0000000000000b71) 0x000008d7: 03 DW_LNS_advance_line (159) 0x000008d9: 05 DW_LNS_set_column (38) 0x000008db: 01 DW_LNS_copy - 0x0000000000000bfe 159 38 1 0 0 is_stmt + 0x0000000000000b71 159 38 1 0 0 is_stmt -0x000008dc: 00 DW_LNE_set_address (0x0000000000000c06) +0x000008dc: 00 DW_LNE_set_address (0x0000000000000b78) 0x000008e3: 05 DW_LNS_set_column (50) 0x000008e5: 06 DW_LNS_negate_stmt 0x000008e6: 01 DW_LNS_copy - 0x0000000000000c06 159 50 1 0 0 + 0x0000000000000b78 159 50 1 0 0 -0x000008e7: 00 DW_LNE_set_address (0x0000000000000c0e) +0x000008e7: 00 DW_LNE_set_address (0x0000000000000b7f) 0x000008ee: 05 DW_LNS_set_column (41) 0x000008f0: 01 DW_LNS_copy - 0x0000000000000c0e 159 41 1 0 0 + 0x0000000000000b7f 159 41 1 0 0 -0x000008f1: 00 DW_LNE_set_address (0x0000000000000c14) +0x000008f1: 00 DW_LNE_set_address (0x0000000000000b85) 0x000008f8: 05 DW_LNS_set_column (4) 0x000008fa: 01 DW_LNS_copy - 0x0000000000000c14 159 4 1 0 0 + 0x0000000000000b85 159 4 1 0 0 -0x000008fb: 00 DW_LNE_set_address (0x0000000000000c34) +0x000008fb: 00 DW_LNE_set_address (0x0000000000000ba3) 0x00000902: 03 DW_LNS_advance_line (160) 0x00000904: 06 DW_LNS_negate_stmt 0x00000905: 01 DW_LNS_copy - 0x0000000000000c34 160 4 1 0 0 is_stmt + 0x0000000000000ba3 160 4 1 0 0 is_stmt -0x00000906: 00 DW_LNE_set_address (0x0000000000000c3d) +0x00000906: 00 DW_LNE_set_address (0x0000000000000bab) 0x0000090d: 03 DW_LNS_advance_line (161) 0x0000090f: 05 DW_LNS_set_column (1) 0x00000911: 01 DW_LNS_copy - 0x0000000000000c3d 161 1 1 0 0 is_stmt + 0x0000000000000bab 161 1 1 0 0 is_stmt -0x00000912: 00 DW_LNE_set_address (0x0000000000000c58) +0x00000912: 00 DW_LNE_set_address (0x0000000000000bc5) 0x00000919: 00 DW_LNE_end_sequence - 0x0000000000000c58 161 1 1 0 0 is_stmt end_sequence + 0x0000000000000bc5 161 1 1 0 0 is_stmt end_sequence -0x0000091c: 00 DW_LNE_set_address (0x0000000000000c5a) +0x0000091c: 00 DW_LNE_set_address (0x0000000000000bc7) 0x00000923: 03 DW_LNS_advance_line (88) 0x00000926: 01 DW_LNS_copy - 0x0000000000000c5a 88 0 1 0 0 is_stmt + 0x0000000000000bc7 88 0 1 0 0 is_stmt -0x00000927: 00 DW_LNE_set_address (0x0000000000000de5) +0x00000927: 00 DW_LNE_set_address (0x0000000000000d51) 0x0000092e: 03 DW_LNS_advance_line (90) 0x00000930: 05 DW_LNS_set_column (8) 0x00000932: 0a DW_LNS_set_prologue_end 0x00000933: 01 DW_LNS_copy - 0x0000000000000de5 90 8 1 0 0 is_stmt prologue_end + 0x0000000000000d51 90 8 1 0 0 is_stmt prologue_end -0x00000934: 00 DW_LNE_set_address (0x0000000000000ded) +0x00000934: 00 DW_LNE_set_address (0x0000000000000d58) 0x0000093b: 03 DW_LNS_advance_line (93) 0x0000093d: 05 DW_LNS_set_column (9) 0x0000093f: 01 DW_LNS_copy - 0x0000000000000ded 93 9 1 0 0 is_stmt + 0x0000000000000d58 93 9 1 0 0 is_stmt -0x00000940: 00 DW_LNE_set_address (0x0000000000000df5) +0x00000940: 00 DW_LNE_set_address (0x0000000000000d5f) 0x00000947: 03 DW_LNS_advance_line (94) 0x00000949: 05 DW_LNS_set_column (11) 0x0000094b: 01 DW_LNS_copy - 0x0000000000000df5 94 11 1 0 0 is_stmt + 0x0000000000000d5f 94 11 1 0 0 is_stmt -0x0000094c: 00 DW_LNE_set_address (0x0000000000000dfd) +0x0000094c: 00 DW_LNE_set_address (0x0000000000000d66) 0x00000953: 05 DW_LNS_set_column (16) 0x00000955: 06 DW_LNS_negate_stmt 0x00000956: 01 DW_LNS_copy - 0x0000000000000dfd 94 16 1 0 0 + 0x0000000000000d66 94 16 1 0 0 -0x00000957: 00 DW_LNE_set_address (0x0000000000000e09) +0x00000957: 00 DW_LNE_set_address (0x0000000000000d71) 0x0000095e: 05 DW_LNS_set_column (20) 0x00000960: 01 DW_LNS_copy - 0x0000000000000e09 94 20 1 0 0 + 0x0000000000000d71 94 20 1 0 0 -0x00000961: 00 DW_LNE_set_address (0x0000000000000e11) +0x00000961: 00 DW_LNE_set_address (0x0000000000000d78) 0x00000968: 05 DW_LNS_set_column (22) 0x0000096a: 01 DW_LNS_copy - 0x0000000000000e11 94 22 1 0 0 + 0x0000000000000d78 94 22 1 0 0 -0x0000096b: 00 DW_LNE_set_address (0x0000000000000e1c) +0x0000096b: 00 DW_LNE_set_address (0x0000000000000d83) 0x00000972: 05 DW_LNS_set_column (18) 0x00000974: 01 DW_LNS_copy - 0x0000000000000e1c 94 18 1 0 0 + 0x0000000000000d83 94 18 1 0 0 -0x00000975: 00 DW_LNE_set_address (0x0000000000000e2b) +0x00000975: 00 DW_LNE_set_address (0x0000000000000d92) 0x0000097c: 05 DW_LNS_set_column (4) 0x0000097e: 01 DW_LNS_copy - 0x0000000000000e2b 94 4 1 0 0 + 0x0000000000000d92 94 4 1 0 0 -0x0000097f: 00 DW_LNE_set_address (0x0000000000000e3f) +0x0000097f: 00 DW_LNE_set_address (0x0000000000000da6) 0x00000986: 03 DW_LNS_advance_line (95) 0x00000988: 05 DW_LNS_set_column (29) 0x0000098a: 06 DW_LNS_negate_stmt 0x0000098b: 01 DW_LNS_copy - 0x0000000000000e3f 95 29 1 0 0 is_stmt + 0x0000000000000da6 95 29 1 0 0 is_stmt -0x0000098c: 00 DW_LNE_set_address (0x0000000000000e45) +0x0000098c: 00 DW_LNE_set_address (0x0000000000000dac) 0x00000993: 05 DW_LNS_set_column (13) 0x00000995: 06 DW_LNS_negate_stmt 0x00000996: 01 DW_LNS_copy - 0x0000000000000e45 95 13 1 0 0 + 0x0000000000000dac 95 13 1 0 0 -0x00000997: 00 DW_LNE_set_address (0x0000000000000e4d) +0x00000997: 00 DW_LNE_set_address (0x0000000000000db3) 0x0000099e: 03 DW_LNS_advance_line (96) 0x000009a0: 05 DW_LNS_set_column (18) 0x000009a2: 06 DW_LNS_negate_stmt 0x000009a3: 01 DW_LNS_copy - 0x0000000000000e4d 96 18 1 0 0 is_stmt + 0x0000000000000db3 96 18 1 0 0 is_stmt -0x000009a4: 00 DW_LNE_set_address (0x0000000000000e55) +0x000009a4: 00 DW_LNE_set_address (0x0000000000000dba) 0x000009ab: 05 DW_LNS_set_column (7) 0x000009ad: 06 DW_LNS_negate_stmt 0x000009ae: 01 DW_LNS_copy - 0x0000000000000e55 96 7 1 0 0 + 0x0000000000000dba 96 7 1 0 0 -0x000009af: 00 DW_LNE_set_address (0x0000000000000e5d) +0x000009af: 00 DW_LNE_set_address (0x0000000000000dc1) 0x000009b6: 05 DW_LNS_set_column (16) 0x000009b8: 01 DW_LNS_copy - 0x0000000000000e5d 96 16 1 0 0 + 0x0000000000000dc1 96 16 1 0 0 -0x000009b9: 00 DW_LNE_set_address (0x0000000000000e65) +0x000009b9: 00 DW_LNE_set_address (0x0000000000000dc8) 0x000009c0: 03 DW_LNS_advance_line (97) 0x000009c2: 05 DW_LNS_set_column (18) 0x000009c4: 06 DW_LNS_negate_stmt 0x000009c5: 01 DW_LNS_copy - 0x0000000000000e65 97 18 1 0 0 is_stmt + 0x0000000000000dc8 97 18 1 0 0 is_stmt -0x000009c6: 00 DW_LNE_set_address (0x0000000000000e6d) +0x000009c6: 00 DW_LNE_set_address (0x0000000000000dcf) 0x000009cd: 05 DW_LNS_set_column (7) 0x000009cf: 06 DW_LNS_negate_stmt 0x000009d0: 01 DW_LNS_copy - 0x0000000000000e6d 97 7 1 0 0 + 0x0000000000000dcf 97 7 1 0 0 -0x000009d1: 00 DW_LNE_set_address (0x0000000000000e75) +0x000009d1: 00 DW_LNE_set_address (0x0000000000000dd6) 0x000009d8: 05 DW_LNS_set_column (16) 0x000009da: 01 DW_LNS_copy - 0x0000000000000e75 97 16 1 0 0 + 0x0000000000000dd6 97 16 1 0 0 -0x000009db: 00 DW_LNE_set_address (0x0000000000000e7d) +0x000009db: 00 DW_LNE_set_address (0x0000000000000ddd) 0x000009e2: 03 DW_LNS_advance_line (98) 0x000009e4: 05 DW_LNS_set_column (21) 0x000009e6: 06 DW_LNS_negate_stmt 0x000009e7: 01 DW_LNS_copy - 0x0000000000000e7d 98 21 1 0 0 is_stmt + 0x0000000000000ddd 98 21 1 0 0 is_stmt -0x000009e8: 00 DW_LNE_set_address (0x0000000000000e85) +0x000009e8: 00 DW_LNE_set_address (0x0000000000000de4) 0x000009ef: 05 DW_LNS_set_column (7) 0x000009f1: 06 DW_LNS_negate_stmt 0x000009f2: 01 DW_LNS_copy - 0x0000000000000e85 98 7 1 0 0 + 0x0000000000000de4 98 7 1 0 0 -0x000009f3: 00 DW_LNE_set_address (0x0000000000000e8d) +0x000009f3: 00 DW_LNE_set_address (0x0000000000000deb) 0x000009fa: 05 DW_LNS_set_column (19) 0x000009fc: 01 DW_LNS_copy - 0x0000000000000e8d 98 19 1 0 0 + 0x0000000000000deb 98 19 1 0 0 -0x000009fd: 00 DW_LNE_set_address (0x0000000000000e95) +0x000009fd: 00 DW_LNE_set_address (0x0000000000000df2) 0x00000a04: 03 DW_LNS_advance_line (99) 0x00000a06: 05 DW_LNS_set_column (14) 0x00000a08: 06 DW_LNS_negate_stmt 0x00000a09: 01 DW_LNS_copy - 0x0000000000000e95 99 14 1 0 0 is_stmt + 0x0000000000000df2 99 14 1 0 0 is_stmt -0x00000a0a: 00 DW_LNE_set_address (0x0000000000000e9d) +0x00000a0a: 00 DW_LNE_set_address (0x0000000000000df9) 0x00000a11: 05 DW_LNS_set_column (12) 0x00000a13: 06 DW_LNS_negate_stmt 0x00000a14: 01 DW_LNS_copy - 0x0000000000000e9d 99 12 1 0 0 + 0x0000000000000df9 99 12 1 0 0 -0x00000a15: 00 DW_LNE_set_address (0x0000000000000ea5) +0x00000a15: 00 DW_LNE_set_address (0x0000000000000e00) 0x00000a1c: 03 DW_LNS_advance_line (94) 0x00000a1e: 05 DW_LNS_set_column (28) 0x00000a20: 06 DW_LNS_negate_stmt 0x00000a21: 01 DW_LNS_copy - 0x0000000000000ea5 94 28 1 0 0 is_stmt + 0x0000000000000e00 94 28 1 0 0 is_stmt -0x00000a22: 00 DW_LNE_set_address (0x0000000000000ec0) +0x00000a22: 00 DW_LNE_set_address (0x0000000000000e19) 0x00000a29: 05 DW_LNS_set_column (4) 0x00000a2b: 06 DW_LNS_negate_stmt 0x00000a2c: 01 DW_LNS_copy - 0x0000000000000ec0 94 4 1 0 0 + 0x0000000000000e19 94 4 1 0 0 -0x00000a2d: 00 DW_LNE_set_address (0x0000000000000ec2) +0x00000a2d: 00 DW_LNE_set_address (0x0000000000000e1b) 0x00000a34: 01 DW_LNS_copy - 0x0000000000000ec2 94 4 1 0 0 + 0x0000000000000e1b 94 4 1 0 0 -0x00000a35: 00 DW_LNE_set_address (0x0000000000000ec9) +0x00000a35: 00 DW_LNE_set_address (0x0000000000000e22) 0x00000a3c: 03 DW_LNS_advance_line (102) 0x00000a3e: 05 DW_LNS_set_column (25) 0x00000a40: 06 DW_LNS_negate_stmt 0x00000a41: 01 DW_LNS_copy - 0x0000000000000ec9 102 25 1 0 0 is_stmt + 0x0000000000000e22 102 25 1 0 0 is_stmt -0x00000a42: 00 DW_LNE_set_address (0x0000000000000ed1) +0x00000a42: 00 DW_LNE_set_address (0x0000000000000e29) 0x00000a49: 05 DW_LNS_set_column (27) 0x00000a4b: 06 DW_LNS_negate_stmt 0x00000a4c: 01 DW_LNS_copy - 0x0000000000000ed1 102 27 1 0 0 + 0x0000000000000e29 102 27 1 0 0 -0x00000a4d: 00 DW_LNE_set_address (0x0000000000000edc) +0x00000a4d: 00 DW_LNE_set_address (0x0000000000000e34) 0x00000a54: 05 DW_LNS_set_column (18) 0x00000a56: 01 DW_LNS_copy - 0x0000000000000edc 102 18 1 0 0 + 0x0000000000000e34 102 18 1 0 0 -0x00000a57: 00 DW_LNE_set_address (0x0000000000000ee2) +0x00000a57: 00 DW_LNE_set_address (0x0000000000000e3a) 0x00000a5e: 05 DW_LNS_set_column (10) 0x00000a60: 01 DW_LNS_copy - 0x0000000000000ee2 102 10 1 0 0 + 0x0000000000000e3a 102 10 1 0 0 -0x00000a61: 00 DW_LNE_set_address (0x0000000000000eea) +0x00000a61: 00 DW_LNE_set_address (0x0000000000000e41) 0x00000a68: 03 DW_LNS_advance_line (103) 0x00000a6a: 05 DW_LNS_set_column (25) 0x00000a6c: 06 DW_LNS_negate_stmt 0x00000a6d: 01 DW_LNS_copy - 0x0000000000000eea 103 25 1 0 0 is_stmt + 0x0000000000000e41 103 25 1 0 0 is_stmt -0x00000a6e: 00 DW_LNE_set_address (0x0000000000000ef2) +0x00000a6e: 00 DW_LNE_set_address (0x0000000000000e48) 0x00000a75: 05 DW_LNS_set_column (27) 0x00000a77: 06 DW_LNS_negate_stmt 0x00000a78: 01 DW_LNS_copy - 0x0000000000000ef2 103 27 1 0 0 + 0x0000000000000e48 103 27 1 0 0 -0x00000a79: 00 DW_LNE_set_address (0x0000000000000efd) +0x00000a79: 00 DW_LNE_set_address (0x0000000000000e53) 0x00000a80: 05 DW_LNS_set_column (18) 0x00000a82: 01 DW_LNS_copy - 0x0000000000000efd 103 18 1 0 0 + 0x0000000000000e53 103 18 1 0 0 -0x00000a83: 00 DW_LNE_set_address (0x0000000000000f03) +0x00000a83: 00 DW_LNE_set_address (0x0000000000000e59) 0x00000a8a: 05 DW_LNS_set_column (10) 0x00000a8c: 01 DW_LNS_copy - 0x0000000000000f03 103 10 1 0 0 + 0x0000000000000e59 103 10 1 0 0 -0x00000a8d: 00 DW_LNE_set_address (0x0000000000000f0b) +0x00000a8d: 00 DW_LNE_set_address (0x0000000000000e60) 0x00000a94: 03 DW_LNS_advance_line (105) 0x00000a96: 05 DW_LNS_set_column (11) 0x00000a98: 06 DW_LNS_negate_stmt 0x00000a99: 01 DW_LNS_copy - 0x0000000000000f0b 105 11 1 0 0 is_stmt + 0x0000000000000e60 105 11 1 0 0 is_stmt -0x00000a9a: 00 DW_LNE_set_address (0x0000000000000f13) +0x00000a9a: 00 DW_LNE_set_address (0x0000000000000e67) 0x00000aa1: 05 DW_LNS_set_column (16) 0x00000aa3: 06 DW_LNS_negate_stmt 0x00000aa4: 01 DW_LNS_copy - 0x0000000000000f13 105 16 1 0 0 + 0x0000000000000e67 105 16 1 0 0 -0x00000aa5: 00 DW_LNE_set_address (0x0000000000000f1f) +0x00000aa5: 00 DW_LNE_set_address (0x0000000000000e72) 0x00000aac: 05 DW_LNS_set_column (20) 0x00000aae: 01 DW_LNS_copy - 0x0000000000000f1f 105 20 1 0 0 + 0x0000000000000e72 105 20 1 0 0 -0x00000aaf: 00 DW_LNE_set_address (0x0000000000000f27) +0x00000aaf: 00 DW_LNE_set_address (0x0000000000000e79) 0x00000ab6: 05 DW_LNS_set_column (18) 0x00000ab8: 01 DW_LNS_copy - 0x0000000000000f27 105 18 1 0 0 + 0x0000000000000e79 105 18 1 0 0 -0x00000ab9: 00 DW_LNE_set_address (0x0000000000000f36) +0x00000ab9: 00 DW_LNE_set_address (0x0000000000000e88) 0x00000ac0: 05 DW_LNS_set_column (4) 0x00000ac2: 01 DW_LNS_copy - 0x0000000000000f36 105 4 1 0 0 + 0x0000000000000e88 105 4 1 0 0 -0x00000ac3: 00 DW_LNE_set_address (0x0000000000000f46) +0x00000ac3: 00 DW_LNE_set_address (0x0000000000000e98) 0x00000aca: 03 DW_LNS_advance_line (106) 0x00000acc: 05 DW_LNS_set_column (18) 0x00000ace: 06 DW_LNS_negate_stmt 0x00000acf: 01 DW_LNS_copy - 0x0000000000000f46 106 18 1 0 0 is_stmt + 0x0000000000000e98 106 18 1 0 0 is_stmt -0x00000ad0: 00 DW_LNE_set_address (0x0000000000000f4e) +0x00000ad0: 00 DW_LNE_set_address (0x0000000000000e9f) 0x00000ad7: 05 DW_LNS_set_column (7) 0x00000ad9: 06 DW_LNS_negate_stmt 0x00000ada: 01 DW_LNS_copy - 0x0000000000000f4e 106 7 1 0 0 + 0x0000000000000e9f 106 7 1 0 0 -0x00000adb: 00 DW_LNE_set_address (0x0000000000000f56) +0x00000adb: 00 DW_LNE_set_address (0x0000000000000ea6) 0x00000ae2: 05 DW_LNS_set_column (13) 0x00000ae4: 01 DW_LNS_copy - 0x0000000000000f56 106 13 1 0 0 + 0x0000000000000ea6 106 13 1 0 0 -0x00000ae5: 00 DW_LNE_set_address (0x0000000000000f5e) +0x00000ae5: 00 DW_LNE_set_address (0x0000000000000ead) 0x00000aec: 05 DW_LNS_set_column (7) 0x00000aee: 01 DW_LNS_copy - 0x0000000000000f5e 106 7 1 0 0 + 0x0000000000000ead 106 7 1 0 0 -0x00000aef: 00 DW_LNE_set_address (0x0000000000000f70) +0x00000aef: 00 DW_LNE_set_address (0x0000000000000ebf) 0x00000af6: 05 DW_LNS_set_column (16) 0x00000af8: 01 DW_LNS_copy - 0x0000000000000f70 106 16 1 0 0 + 0x0000000000000ebf 106 16 1 0 0 -0x00000af9: 00 DW_LNE_set_address (0x0000000000000f78) +0x00000af9: 00 DW_LNE_set_address (0x0000000000000ec6) 0x00000b00: 03 DW_LNS_advance_line (105) 0x00000b02: 05 DW_LNS_set_column (24) 0x00000b04: 06 DW_LNS_negate_stmt 0x00000b05: 01 DW_LNS_copy - 0x0000000000000f78 105 24 1 0 0 is_stmt + 0x0000000000000ec6 105 24 1 0 0 is_stmt -0x00000b06: 00 DW_LNE_set_address (0x0000000000000f93) +0x00000b06: 00 DW_LNE_set_address (0x0000000000000edf) 0x00000b0d: 05 DW_LNS_set_column (4) 0x00000b0f: 06 DW_LNS_negate_stmt 0x00000b10: 01 DW_LNS_copy - 0x0000000000000f93 105 4 1 0 0 + 0x0000000000000edf 105 4 1 0 0 -0x00000b11: 00 DW_LNE_set_address (0x0000000000000f95) +0x00000b11: 00 DW_LNE_set_address (0x0000000000000ee1) 0x00000b18: 01 DW_LNS_copy - 0x0000000000000f95 105 4 1 0 0 + 0x0000000000000ee1 105 4 1 0 0 -0x00000b19: 00 DW_LNE_set_address (0x0000000000000f98) +0x00000b19: 00 DW_LNE_set_address (0x0000000000000ee4) 0x00000b20: 03 DW_LNS_advance_line (108) 0x00000b22: 05 DW_LNS_set_column (8) 0x00000b24: 06 DW_LNS_negate_stmt 0x00000b25: 01 DW_LNS_copy - 0x0000000000000f98 108 8 1 0 0 is_stmt + 0x0000000000000ee4 108 8 1 0 0 is_stmt -0x00000b26: 00 DW_LNE_set_address (0x0000000000000fa0) +0x00000b26: 00 DW_LNE_set_address (0x0000000000000eeb) 0x00000b2d: 05 DW_LNS_set_column (6) 0x00000b2f: 06 DW_LNS_negate_stmt 0x00000b30: 01 DW_LNS_copy - 0x0000000000000fa0 108 6 1 0 0 + 0x0000000000000eeb 108 6 1 0 0 -0x00000b31: 00 DW_LNE_set_address (0x0000000000000fa8) +0x00000b31: 00 DW_LNE_set_address (0x0000000000000ef2) 0x00000b38: 03 DW_LNS_advance_line (110) 0x00000b3a: 05 DW_LNS_set_column (11) 0x00000b3c: 06 DW_LNS_negate_stmt 0x00000b3d: 01 DW_LNS_copy - 0x0000000000000fa8 110 11 1 0 0 is_stmt + 0x0000000000000ef2 110 11 1 0 0 is_stmt -0x00000b3e: 00 DW_LNE_set_address (0x0000000000000fb4) +0x00000b3e: 00 DW_LNE_set_address (0x0000000000000efd) 0x00000b45: 06 DW_LNS_negate_stmt 0x00000b46: 01 DW_LNS_copy - 0x0000000000000fb4 110 11 1 0 0 + 0x0000000000000efd 110 11 1 0 0 -0x00000b47: 00 DW_LNE_set_address (0x0000000000000fc1) +0x00000b47: 00 DW_LNE_set_address (0x0000000000000f0a) 0x00000b4e: 03 DW_LNS_advance_line (111) 0x00000b50: 05 DW_LNS_set_column (17) 0x00000b52: 06 DW_LNS_negate_stmt 0x00000b53: 01 DW_LNS_copy - 0x0000000000000fc1 111 17 1 0 0 is_stmt + 0x0000000000000f0a 111 17 1 0 0 is_stmt -0x00000b54: 00 DW_LNE_set_address (0x0000000000000fc9) +0x00000b54: 00 DW_LNE_set_address (0x0000000000000f11) 0x00000b5b: 05 DW_LNS_set_column (22) 0x00000b5d: 06 DW_LNS_negate_stmt 0x00000b5e: 01 DW_LNS_copy - 0x0000000000000fc9 111 22 1 0 0 + 0x0000000000000f11 111 22 1 0 0 -0x00000b5f: 00 DW_LNE_set_address (0x0000000000000fd5) +0x00000b5f: 00 DW_LNE_set_address (0x0000000000000f1c) 0x00000b66: 05 DW_LNS_set_column (26) 0x00000b68: 01 DW_LNS_copy - 0x0000000000000fd5 111 26 1 0 0 + 0x0000000000000f1c 111 26 1 0 0 -0x00000b69: 00 DW_LNE_set_address (0x0000000000000fdd) +0x00000b69: 00 DW_LNE_set_address (0x0000000000000f23) 0x00000b70: 05 DW_LNS_set_column (24) 0x00000b72: 01 DW_LNS_copy - 0x0000000000000fdd 111 24 1 0 0 + 0x0000000000000f23 111 24 1 0 0 -0x00000b73: 00 DW_LNE_set_address (0x0000000000000fec) +0x00000b73: 00 DW_LNE_set_address (0x0000000000000f32) 0x00000b7a: 05 DW_LNS_set_column (10) 0x00000b7c: 01 DW_LNS_copy - 0x0000000000000fec 111 10 1 0 0 + 0x0000000000000f32 111 10 1 0 0 -0x00000b7d: 00 DW_LNE_set_address (0x0000000000000ffc) +0x00000b7d: 00 DW_LNE_set_address (0x0000000000000f42) 0x00000b84: 03 DW_LNS_advance_line (112) 0x00000b86: 05 DW_LNS_set_column (26) 0x00000b88: 06 DW_LNS_negate_stmt 0x00000b89: 01 DW_LNS_copy - 0x0000000000000ffc 112 26 1 0 0 is_stmt + 0x0000000000000f42 112 26 1 0 0 is_stmt -0x00000b8a: 00 DW_LNE_set_address (0x0000000000001004) +0x00000b8a: 00 DW_LNE_set_address (0x0000000000000f49) 0x00000b91: 05 DW_LNS_set_column (32) 0x00000b93: 06 DW_LNS_negate_stmt 0x00000b94: 01 DW_LNS_copy - 0x0000000000001004 112 32 1 0 0 + 0x0000000000000f49 112 32 1 0 0 -0x00000b95: 00 DW_LNE_set_address (0x000000000000100c) +0x00000b95: 00 DW_LNE_set_address (0x0000000000000f50) 0x00000b9c: 05 DW_LNS_set_column (26) 0x00000b9e: 01 DW_LNS_copy - 0x000000000000100c 112 26 1 0 0 + 0x0000000000000f50 112 26 1 0 0 -0x00000b9f: 00 DW_LNE_set_address (0x0000000000001026) +0x00000b9f: 00 DW_LNE_set_address (0x0000000000000f69) 0x00000ba6: 05 DW_LNS_set_column (35) 0x00000ba8: 01 DW_LNS_copy - 0x0000000000001026 112 35 1 0 0 + 0x0000000000000f69 112 35 1 0 0 -0x00000ba9: 00 DW_LNE_set_address (0x0000000000001031) +0x00000ba9: 00 DW_LNE_set_address (0x0000000000000f74) 0x00000bb0: 05 DW_LNS_set_column (13) 0x00000bb2: 01 DW_LNS_copy - 0x0000000000001031 112 13 1 0 0 + 0x0000000000000f74 112 13 1 0 0 -0x00000bb3: 00 DW_LNE_set_address (0x0000000000001045) +0x00000bb3: 00 DW_LNE_set_address (0x0000000000000f87) 0x00000bba: 03 DW_LNS_advance_line (111) 0x00000bbc: 05 DW_LNS_set_column (30) 0x00000bbe: 06 DW_LNS_negate_stmt 0x00000bbf: 01 DW_LNS_copy - 0x0000000000001045 111 30 1 0 0 is_stmt + 0x0000000000000f87 111 30 1 0 0 is_stmt -0x00000bc0: 00 DW_LNE_set_address (0x0000000000001060) +0x00000bc0: 00 DW_LNE_set_address (0x0000000000000fa0) 0x00000bc7: 05 DW_LNS_set_column (10) 0x00000bc9: 06 DW_LNS_negate_stmt 0x00000bca: 01 DW_LNS_copy - 0x0000000000001060 111 10 1 0 0 + 0x0000000000000fa0 111 10 1 0 0 -0x00000bcb: 00 DW_LNE_set_address (0x0000000000001062) +0x00000bcb: 00 DW_LNE_set_address (0x0000000000000fa2) 0x00000bd2: 01 DW_LNS_copy - 0x0000000000001062 111 10 1 0 0 + 0x0000000000000fa2 111 10 1 0 0 -0x00000bd3: 00 DW_LNE_set_address (0x0000000000001065) +0x00000bd3: 00 DW_LNE_set_address (0x0000000000000fa5) 0x00000bda: 03 DW_LNS_advance_line (113) 0x00000bdc: 06 DW_LNS_negate_stmt 0x00000bdd: 01 DW_LNS_copy - 0x0000000000001065 113 10 1 0 0 is_stmt + 0x0000000000000fa5 113 10 1 0 0 is_stmt -0x00000bde: 00 DW_LNE_set_address (0x0000000000001075) +0x00000bde: 00 DW_LNE_set_address (0x0000000000000fb5) 0x00000be5: 03 DW_LNS_advance_line (114) 0x00000be7: 05 DW_LNS_set_column (17) 0x00000be9: 01 DW_LNS_copy - 0x0000000000001075 114 17 1 0 0 is_stmt + 0x0000000000000fb5 114 17 1 0 0 is_stmt -0x00000bea: 00 DW_LNE_set_address (0x0000000000001090) +0x00000bea: 00 DW_LNE_set_address (0x0000000000000fce) 0x00000bf1: 03 DW_LNS_advance_line (115) 0x00000bf3: 05 DW_LNS_set_column (7) 0x00000bf5: 01 DW_LNS_copy - 0x0000000000001090 115 7 1 0 0 is_stmt + 0x0000000000000fce 115 7 1 0 0 is_stmt -0x00000bf6: 00 DW_LNE_set_address (0x0000000000001093) +0x00000bf6: 00 DW_LNE_set_address (0x0000000000000fd1) 0x00000bfd: 03 DW_LNS_advance_line (116) 0x00000bff: 05 DW_LNS_set_column (10) 0x00000c01: 01 DW_LNS_copy - 0x0000000000001093 116 10 1 0 0 is_stmt + 0x0000000000000fd1 116 10 1 0 0 is_stmt -0x00000c02: 00 DW_LNE_set_address (0x000000000000109e) +0x00000c02: 00 DW_LNE_set_address (0x0000000000000fdc) 0x00000c09: 03 DW_LNS_advance_line (118) 0x00000c0b: 05 DW_LNS_set_column (14) 0x00000c0d: 01 DW_LNS_copy - 0x000000000000109e 118 14 1 0 0 is_stmt + 0x0000000000000fdc 118 14 1 0 0 is_stmt -0x00000c0e: 00 DW_LNE_set_address (0x00000000000010a6) +0x00000c0e: 00 DW_LNE_set_address (0x0000000000000fe3) 0x00000c15: 05 DW_LNS_set_column (16) 0x00000c17: 06 DW_LNS_negate_stmt 0x00000c18: 01 DW_LNS_copy - 0x00000000000010a6 118 16 1 0 0 + 0x0000000000000fe3 118 16 1 0 0 -0x00000c19: 00 DW_LNE_set_address (0x00000000000010b5) +0x00000c19: 00 DW_LNE_set_address (0x0000000000000ff2) 0x00000c20: 05 DW_LNS_set_column (7) 0x00000c22: 01 DW_LNS_copy - 0x00000000000010b5 118 7 1 0 0 + 0x0000000000000ff2 118 7 1 0 0 -0x00000c23: 00 DW_LNE_set_address (0x00000000000010c5) +0x00000c23: 00 DW_LNE_set_address (0x0000000000001002) 0x00000c2a: 03 DW_LNS_advance_line (119) 0x00000c2c: 05 DW_LNS_set_column (25) 0x00000c2e: 06 DW_LNS_negate_stmt 0x00000c2f: 01 DW_LNS_copy - 0x00000000000010c5 119 25 1 0 0 is_stmt + 0x0000000000001002 119 25 1 0 0 is_stmt -0x00000c30: 00 DW_LNE_set_address (0x00000000000010cd) +0x00000c30: 00 DW_LNE_set_address (0x0000000000001009) 0x00000c37: 05 DW_LNS_set_column (10) 0x00000c39: 06 DW_LNS_negate_stmt 0x00000c3a: 01 DW_LNS_copy - 0x00000000000010cd 119 10 1 0 0 + 0x0000000000001009 119 10 1 0 0 -0x00000c3b: 00 DW_LNE_set_address (0x00000000000010d5) +0x00000c3b: 00 DW_LNE_set_address (0x0000000000001010) 0x00000c42: 05 DW_LNS_set_column (16) 0x00000c44: 01 DW_LNS_copy - 0x00000000000010d5 119 16 1 0 0 + 0x0000000000001010 119 16 1 0 0 -0x00000c45: 00 DW_LNE_set_address (0x00000000000010dd) +0x00000c45: 00 DW_LNE_set_address (0x0000000000001017) 0x00000c4c: 05 DW_LNS_set_column (18) 0x00000c4e: 01 DW_LNS_copy - 0x00000000000010dd 119 18 1 0 0 + 0x0000000000001017 119 18 1 0 0 -0x00000c4f: 00 DW_LNE_set_address (0x00000000000010e8) +0x00000c4f: 00 DW_LNE_set_address (0x0000000000001022) 0x00000c56: 05 DW_LNS_set_column (10) 0x00000c58: 01 DW_LNS_copy - 0x00000000000010e8 119 10 1 0 0 + 0x0000000000001022 119 10 1 0 0 -0x00000c59: 00 DW_LNE_set_address (0x00000000000010fa) +0x00000c59: 00 DW_LNE_set_address (0x0000000000001034) 0x00000c60: 05 DW_LNS_set_column (23) 0x00000c62: 01 DW_LNS_copy - 0x00000000000010fa 119 23 1 0 0 + 0x0000000000001034 119 23 1 0 0 -0x00000c63: 00 DW_LNE_set_address (0x0000000000001102) +0x00000c63: 00 DW_LNE_set_address (0x000000000000103b) 0x00000c6a: 03 DW_LNS_advance_line (118) 0x00000c6c: 05 DW_LNS_set_column (22) 0x00000c6e: 06 DW_LNS_negate_stmt 0x00000c6f: 01 DW_LNS_copy - 0x0000000000001102 118 22 1 0 0 is_stmt + 0x000000000000103b 118 22 1 0 0 is_stmt -0x00000c70: 00 DW_LNE_set_address (0x000000000000111d) +0x00000c70: 00 DW_LNE_set_address (0x0000000000001054) 0x00000c77: 05 DW_LNS_set_column (7) 0x00000c79: 06 DW_LNS_negate_stmt 0x00000c7a: 01 DW_LNS_copy - 0x000000000000111d 118 7 1 0 0 + 0x0000000000001054 118 7 1 0 0 -0x00000c7b: 00 DW_LNE_set_address (0x000000000000111f) +0x00000c7b: 00 DW_LNE_set_address (0x0000000000001056) 0x00000c82: 01 DW_LNS_copy - 0x000000000000111f 118 7 1 0 0 + 0x0000000000001056 118 7 1 0 0 -0x00000c83: 00 DW_LNE_set_address (0x0000000000001122) +0x00000c83: 00 DW_LNE_set_address (0x0000000000001059) 0x00000c8a: 03 DW_LNS_advance_line (122) 0x00000c8c: 05 DW_LNS_set_column (14) 0x00000c8e: 06 DW_LNS_negate_stmt 0x00000c8f: 01 DW_LNS_copy - 0x0000000000001122 122 14 1 0 0 is_stmt + 0x0000000000001059 122 14 1 0 0 is_stmt -0x00000c90: 00 DW_LNE_set_address (0x000000000000112c) +0x00000c90: 00 DW_LNE_set_address (0x0000000000001062) 0x00000c97: 05 DW_LNS_set_column (19) 0x00000c99: 06 DW_LNS_negate_stmt 0x00000c9a: 01 DW_LNS_copy - 0x000000000000112c 122 19 1 0 0 + 0x0000000000001062 122 19 1 0 0 -0x00000c9b: 00 DW_LNE_set_address (0x0000000000001134) +0x00000c9b: 00 DW_LNE_set_address (0x0000000000001069) 0x00000ca2: 05 DW_LNS_set_column (16) 0x00000ca4: 01 DW_LNS_copy - 0x0000000000001134 122 16 1 0 0 + 0x0000000000001069 122 16 1 0 0 -0x00000ca5: 00 DW_LNE_set_address (0x0000000000001143) +0x00000ca5: 00 DW_LNE_set_address (0x0000000000001078) 0x00000cac: 05 DW_LNS_set_column (14) 0x00000cae: 01 DW_LNS_copy - 0x0000000000001143 122 14 1 0 0 + 0x0000000000001078 122 14 1 0 0 -0x00000caf: 00 DW_LNE_set_address (0x0000000000001155) +0x00000caf: 00 DW_LNE_set_address (0x000000000000108a) 0x00000cb6: 03 DW_LNS_advance_line (123) 0x00000cb8: 05 DW_LNS_set_column (13) 0x00000cba: 06 DW_LNS_negate_stmt 0x00000cbb: 01 DW_LNS_copy - 0x0000000000001155 123 13 1 0 0 is_stmt + 0x000000000000108a 123 13 1 0 0 is_stmt -0x00000cbc: 00 DW_LNE_set_address (0x000000000000115c) +0x00000cbc: 00 DW_LNE_set_address (0x0000000000001091) 0x00000cc3: 03 DW_LNS_advance_line (125) 0x00000cc5: 05 DW_LNS_set_column (22) 0x00000cc7: 01 DW_LNS_copy - 0x000000000000115c 125 22 1 0 0 is_stmt + 0x0000000000001091 125 22 1 0 0 is_stmt -0x00000cc8: 00 DW_LNE_set_address (0x000000000000116c) +0x00000cc8: 00 DW_LNE_set_address (0x000000000000109f) 0x00000ccf: 05 DW_LNS_set_column (17) 0x00000cd1: 06 DW_LNS_negate_stmt 0x00000cd2: 01 DW_LNS_copy - 0x000000000000116c 125 17 1 0 0 + 0x000000000000109f 125 17 1 0 0 -0x00000cd3: 00 DW_LNE_set_address (0x0000000000001174) +0x00000cd3: 00 DW_LNE_set_address (0x00000000000010a6) 0x00000cda: 03 DW_LNS_advance_line (126) 0x00000cdc: 05 DW_LNS_set_column (20) 0x00000cde: 06 DW_LNS_negate_stmt 0x00000cdf: 01 DW_LNS_copy - 0x0000000000001174 126 20 1 0 0 is_stmt + 0x00000000000010a6 126 20 1 0 0 is_stmt -0x00000ce0: 00 DW_LNE_set_address (0x000000000000117c) +0x00000ce0: 00 DW_LNE_set_address (0x00000000000010ad) 0x00000ce7: 05 DW_LNS_set_column (25) 0x00000ce9: 06 DW_LNS_negate_stmt 0x00000cea: 01 DW_LNS_copy - 0x000000000000117c 126 25 1 0 0 + 0x00000000000010ad 126 25 1 0 0 -0x00000ceb: 00 DW_LNE_set_address (0x0000000000001188) +0x00000ceb: 00 DW_LNE_set_address (0x00000000000010b8) 0x00000cf2: 05 DW_LNS_set_column (29) 0x00000cf4: 01 DW_LNS_copy - 0x0000000000001188 126 29 1 0 0 + 0x00000000000010b8 126 29 1 0 0 -0x00000cf5: 00 DW_LNE_set_address (0x0000000000001190) +0x00000cf5: 00 DW_LNE_set_address (0x00000000000010bf) 0x00000cfc: 05 DW_LNS_set_column (27) 0x00000cfe: 01 DW_LNS_copy - 0x0000000000001190 126 27 1 0 0 + 0x00000000000010bf 126 27 1 0 0 -0x00000cff: 00 DW_LNE_set_address (0x000000000000119f) +0x00000cff: 00 DW_LNE_set_address (0x00000000000010ce) 0x00000d06: 05 DW_LNS_set_column (13) 0x00000d08: 01 DW_LNS_copy - 0x000000000000119f 126 13 1 0 0 + 0x00000000000010ce 126 13 1 0 0 -0x00000d09: 00 DW_LNE_set_address (0x00000000000011af) +0x00000d09: 00 DW_LNE_set_address (0x00000000000010de) 0x00000d10: 03 DW_LNS_advance_line (127) 0x00000d12: 05 DW_LNS_set_column (27) 0x00000d14: 06 DW_LNS_negate_stmt 0x00000d15: 01 DW_LNS_copy - 0x00000000000011af 127 27 1 0 0 is_stmt + 0x00000000000010de 127 27 1 0 0 is_stmt -0x00000d16: 00 DW_LNE_set_address (0x00000000000011b7) +0x00000d16: 00 DW_LNE_set_address (0x00000000000010e5) 0x00000d1d: 05 DW_LNS_set_column (33) 0x00000d1f: 06 DW_LNS_negate_stmt 0x00000d20: 01 DW_LNS_copy - 0x00000000000011b7 127 33 1 0 0 + 0x00000000000010e5 127 33 1 0 0 -0x00000d21: 00 DW_LNE_set_address (0x00000000000011bf) +0x00000d21: 00 DW_LNE_set_address (0x00000000000010ec) 0x00000d28: 05 DW_LNS_set_column (35) 0x00000d2a: 01 DW_LNS_copy - 0x00000000000011bf 127 35 1 0 0 + 0x00000000000010ec 127 35 1 0 0 -0x00000d2b: 00 DW_LNE_set_address (0x00000000000011ca) +0x00000d2b: 00 DW_LNE_set_address (0x00000000000010f7) 0x00000d32: 05 DW_LNS_set_column (27) 0x00000d34: 01 DW_LNS_copy - 0x00000000000011ca 127 27 1 0 0 + 0x00000000000010f7 127 27 1 0 0 -0x00000d35: 00 DW_LNE_set_address (0x00000000000011e4) +0x00000d35: 00 DW_LNE_set_address (0x0000000000001110) 0x00000d3c: 05 DW_LNS_set_column (16) 0x00000d3e: 01 DW_LNS_copy - 0x00000000000011e4 127 16 1 0 0 + 0x0000000000001110 127 16 1 0 0 -0x00000d3f: 00 DW_LNE_set_address (0x00000000000011ec) +0x00000d3f: 00 DW_LNE_set_address (0x0000000000001117) 0x00000d46: 05 DW_LNS_set_column (22) 0x00000d48: 01 DW_LNS_copy - 0x00000000000011ec 127 22 1 0 0 + 0x0000000000001117 127 22 1 0 0 -0x00000d49: 00 DW_LNE_set_address (0x00000000000011f4) +0x00000d49: 00 DW_LNE_set_address (0x000000000000111e) 0x00000d50: 05 DW_LNS_set_column (16) 0x00000d52: 01 DW_LNS_copy - 0x00000000000011f4 127 16 1 0 0 + 0x000000000000111e 127 16 1 0 0 -0x00000d53: 00 DW_LNE_set_address (0x0000000000001206) +0x00000d53: 00 DW_LNE_set_address (0x0000000000001130) 0x00000d5a: 05 DW_LNS_set_column (25) 0x00000d5c: 01 DW_LNS_copy - 0x0000000000001206 127 25 1 0 0 + 0x0000000000001130 127 25 1 0 0 -0x00000d5d: 00 DW_LNE_set_address (0x000000000000120e) +0x00000d5d: 00 DW_LNE_set_address (0x0000000000001137) 0x00000d64: 03 DW_LNS_advance_line (126) 0x00000d66: 05 DW_LNS_set_column (33) 0x00000d68: 06 DW_LNS_negate_stmt 0x00000d69: 01 DW_LNS_copy - 0x000000000000120e 126 33 1 0 0 is_stmt + 0x0000000000001137 126 33 1 0 0 is_stmt -0x00000d6a: 00 DW_LNE_set_address (0x000000000000122d) +0x00000d6a: 00 DW_LNE_set_address (0x0000000000001154) 0x00000d71: 05 DW_LNS_set_column (13) 0x00000d73: 06 DW_LNS_negate_stmt 0x00000d74: 01 DW_LNS_copy - 0x000000000000122d 126 13 1 0 0 + 0x0000000000001154 126 13 1 0 0 -0x00000d75: 00 DW_LNE_set_address (0x000000000000122f) +0x00000d75: 00 DW_LNE_set_address (0x0000000000001156) 0x00000d7c: 01 DW_LNS_copy - 0x000000000000122f 126 13 1 0 0 + 0x0000000000001156 126 13 1 0 0 -0x00000d7d: 00 DW_LNE_set_address (0x0000000000001237) +0x00000d7d: 00 DW_LNE_set_address (0x000000000000115e) 0x00000d84: 03 DW_LNS_advance_line (128) 0x00000d86: 05 DW_LNS_set_column (24) 0x00000d88: 06 DW_LNS_negate_stmt 0x00000d89: 01 DW_LNS_copy - 0x0000000000001237 128 24 1 0 0 is_stmt + 0x000000000000115e 128 24 1 0 0 is_stmt -0x00000d8a: 00 DW_LNE_set_address (0x0000000000001240) +0x00000d8a: 00 DW_LNE_set_address (0x0000000000001166) 0x00000d91: 05 DW_LNS_set_column (13) 0x00000d93: 06 DW_LNS_negate_stmt 0x00000d94: 01 DW_LNS_copy - 0x0000000000001240 128 13 1 0 0 + 0x0000000000001166 128 13 1 0 0 -0x00000d95: 00 DW_LNE_set_address (0x0000000000001249) +0x00000d95: 00 DW_LNE_set_address (0x000000000000116e) 0x00000d9c: 05 DW_LNS_set_column (19) 0x00000d9e: 01 DW_LNS_copy - 0x0000000000001249 128 19 1 0 0 + 0x000000000000116e 128 19 1 0 0 -0x00000d9f: 00 DW_LNE_set_address (0x0000000000001252) +0x00000d9f: 00 DW_LNE_set_address (0x0000000000001176) 0x00000da6: 05 DW_LNS_set_column (13) 0x00000da8: 01 DW_LNS_copy - 0x0000000000001252 128 13 1 0 0 + 0x0000000000001176 128 13 1 0 0 -0x00000da9: 00 DW_LNE_set_address (0x000000000000126b) +0x00000da9: 00 DW_LNE_set_address (0x000000000000118f) 0x00000db0: 05 DW_LNS_set_column (22) 0x00000db2: 01 DW_LNS_copy - 0x000000000000126b 128 22 1 0 0 + 0x000000000000118f 128 22 1 0 0 -0x00000db3: 00 DW_LNE_set_address (0x0000000000001275) +0x00000db3: 00 DW_LNE_set_address (0x0000000000001198) 0x00000dba: 03 DW_LNS_advance_line (130) 0x00000dbc: 05 DW_LNS_set_column (16) 0x00000dbe: 06 DW_LNS_negate_stmt 0x00000dbf: 01 DW_LNS_copy - 0x0000000000001275 130 16 1 0 0 is_stmt + 0x0000000000001198 130 16 1 0 0 is_stmt -0x00000dc0: 00 DW_LNE_set_address (0x000000000000127e) +0x00000dc0: 00 DW_LNE_set_address (0x00000000000011a0) 0x00000dc7: 05 DW_LNS_set_column (22) 0x00000dc9: 06 DW_LNS_negate_stmt 0x00000dca: 01 DW_LNS_copy - 0x000000000000127e 130 22 1 0 0 + 0x00000000000011a0 130 22 1 0 0 -0x00000dcb: 00 DW_LNE_set_address (0x0000000000001287) +0x00000dcb: 00 DW_LNE_set_address (0x00000000000011a8) 0x00000dd2: 05 DW_LNS_set_column (16) 0x00000dd4: 01 DW_LNS_copy - 0x0000000000001287 130 16 1 0 0 + 0x00000000000011a8 130 16 1 0 0 -0x00000dd5: 00 DW_LNE_set_address (0x00000000000012a0) +0x00000dd5: 00 DW_LNE_set_address (0x00000000000011c1) 0x00000ddc: 05 DW_LNS_set_column (14) 0x00000dde: 01 DW_LNS_copy - 0x00000000000012a0 130 14 1 0 0 + 0x00000000000011c1 130 14 1 0 0 -0x00000ddf: 00 DW_LNE_set_address (0x00000000000012c3) +0x00000ddf: 00 DW_LNE_set_address (0x00000000000011e2) 0x00000de6: 05 DW_LNS_set_column (25) 0x00000de8: 01 DW_LNS_copy - 0x00000000000012c3 130 25 1 0 0 + 0x00000000000011e2 130 25 1 0 0 -0x00000de9: 00 DW_LNE_set_address (0x00000000000012d9) +0x00000de9: 00 DW_LNE_set_address (0x00000000000011f8) 0x00000df0: 05 DW_LNS_set_column (14) 0x00000df2: 01 DW_LNS_copy - 0x00000000000012d9 130 14 1 0 0 + 0x00000000000011f8 130 14 1 0 0 -0x00000df3: 00 DW_LNE_set_address (0x00000000000012f2) +0x00000df3: 00 DW_LNE_set_address (0x0000000000001211) 0x00000dfa: 03 DW_LNS_advance_line (131) 0x00000dfc: 05 DW_LNS_set_column (13) 0x00000dfe: 06 DW_LNS_negate_stmt 0x00000dff: 01 DW_LNS_copy - 0x00000000000012f2 131 13 1 0 0 is_stmt + 0x0000000000001211 131 13 1 0 0 is_stmt -0x00000e00: 00 DW_LNE_set_address (0x00000000000012f5) +0x00000e00: 00 DW_LNE_set_address (0x0000000000001214) 0x00000e07: 03 DW_LNS_advance_line (133) 0x00000e09: 05 DW_LNS_set_column (11) 0x00000e0b: 01 DW_LNS_copy - 0x00000000000012f5 133 11 1 0 0 is_stmt + 0x0000000000001214 133 11 1 0 0 is_stmt -0x00000e0c: 00 DW_LNE_set_address (0x0000000000001316) +0x00000e0c: 00 DW_LNE_set_address (0x0000000000001233) 0x00000e13: 03 DW_LNS_advance_line (121) 0x00000e15: 05 DW_LNS_set_column (7) 0x00000e17: 01 DW_LNS_copy - 0x0000000000001316 121 7 1 0 0 is_stmt + 0x0000000000001233 121 7 1 0 0 is_stmt -0x00000e18: 00 DW_LNE_set_address (0x0000000000001319) +0x00000e18: 00 DW_LNE_set_address (0x0000000000001236) 0x00000e1f: 03 DW_LNS_advance_line (131) 0x00000e21: 05 DW_LNS_set_column (13) 0x00000e23: 01 DW_LNS_copy - 0x0000000000001319 131 13 1 0 0 is_stmt + 0x0000000000001236 131 13 1 0 0 is_stmt -0x00000e24: 00 DW_LNE_set_address (0x000000000000131a) +0x00000e24: 00 DW_LNE_set_address (0x0000000000001237) 0x00000e2b: 03 DW_LNS_advance_line (109) 0x00000e2d: 05 DW_LNS_set_column (4) 0x00000e2f: 01 DW_LNS_copy - 0x000000000000131a 109 4 1 0 0 is_stmt + 0x0000000000001237 109 4 1 0 0 is_stmt -0x00000e30: 00 DW_LNE_set_address (0x000000000000131c) +0x00000e30: 00 DW_LNE_set_address (0x0000000000001239) 0x00000e37: 03 DW_LNS_advance_line (123) 0x00000e39: 05 DW_LNS_set_column (13) 0x00000e3b: 01 DW_LNS_copy - 0x000000000000131c 123 13 1 0 0 is_stmt + 0x0000000000001239 123 13 1 0 0 is_stmt -0x00000e3c: 00 DW_LNE_set_address (0x0000000000001324) +0x00000e3c: 00 DW_LNE_set_address (0x0000000000001241) 0x00000e43: 03 DW_LNS_advance_line (138) 0x00000e45: 05 DW_LNS_set_column (9) 0x00000e47: 01 DW_LNS_copy - 0x0000000000001324 138 9 1 0 0 is_stmt + 0x0000000000001241 138 9 1 0 0 is_stmt -0x00000e48: 00 DW_LNE_set_address (0x000000000000132d) +0x00000e48: 00 DW_LNE_set_address (0x0000000000001249) 0x00000e4f: 05 DW_LNS_set_column (4) 0x00000e51: 06 DW_LNS_negate_stmt 0x00000e52: 01 DW_LNS_copy - 0x000000000000132d 138 4 1 0 0 + 0x0000000000001249 138 4 1 0 0 -0x00000e53: 00 DW_LNE_set_address (0x0000000000001332) +0x00000e53: 00 DW_LNE_set_address (0x000000000000124e) 0x00000e5a: 03 DW_LNS_advance_line (139) 0x00000e5c: 05 DW_LNS_set_column (9) 0x00000e5e: 06 DW_LNS_negate_stmt 0x00000e5f: 01 DW_LNS_copy - 0x0000000000001332 139 9 1 0 0 is_stmt + 0x000000000000124e 139 9 1 0 0 is_stmt -0x00000e60: 00 DW_LNE_set_address (0x000000000000133b) +0x00000e60: 00 DW_LNE_set_address (0x0000000000001256) 0x00000e67: 05 DW_LNS_set_column (4) 0x00000e69: 06 DW_LNS_negate_stmt 0x00000e6a: 01 DW_LNS_copy - 0x000000000000133b 139 4 1 0 0 + 0x0000000000001256 139 4 1 0 0 -0x00000e6b: 00 DW_LNE_set_address (0x0000000000001340) +0x00000e6b: 00 DW_LNE_set_address (0x000000000000125b) 0x00000e72: 03 DW_LNS_advance_line (140) 0x00000e74: 05 DW_LNS_set_column (13) 0x00000e76: 06 DW_LNS_negate_stmt 0x00000e77: 01 DW_LNS_copy - 0x0000000000001340 140 13 1 0 0 is_stmt + 0x000000000000125b 140 13 1 0 0 is_stmt -0x00000e78: 00 DW_LNE_set_address (0x0000000000001352) +0x00000e78: 00 DW_LNE_set_address (0x000000000000126c) 0x00000e7f: 03 DW_LNS_advance_line (141) 0x00000e81: 05 DW_LNS_set_column (11) 0x00000e83: 01 DW_LNS_copy - 0x0000000000001352 141 11 1 0 0 is_stmt + 0x000000000000126c 141 11 1 0 0 is_stmt -0x00000e84: 00 DW_LNE_set_address (0x000000000000135b) +0x00000e84: 00 DW_LNE_set_address (0x0000000000001274) 0x00000e8b: 05 DW_LNS_set_column (16) 0x00000e8d: 06 DW_LNS_negate_stmt 0x00000e8e: 01 DW_LNS_copy - 0x000000000000135b 141 16 1 0 0 + 0x0000000000001274 141 16 1 0 0 -0x00000e8f: 00 DW_LNE_set_address (0x0000000000001371) +0x00000e8f: 00 DW_LNE_set_address (0x000000000000128a) 0x00000e96: 05 DW_LNS_set_column (4) 0x00000e98: 01 DW_LNS_copy - 0x0000000000001371 141 4 1 0 0 + 0x000000000000128a 141 4 1 0 0 -0x00000e99: 00 DW_LNE_set_address (0x0000000000001386) +0x00000e99: 00 DW_LNE_set_address (0x000000000000129f) 0x00000ea0: 03 DW_LNS_advance_line (142) 0x00000ea2: 05 DW_LNS_set_column (36) 0x00000ea4: 06 DW_LNS_negate_stmt 0x00000ea5: 01 DW_LNS_copy - 0x0000000000001386 142 36 1 0 0 is_stmt + 0x000000000000129f 142 36 1 0 0 is_stmt -0x00000ea6: 00 DW_LNE_set_address (0x000000000000138f) +0x00000ea6: 00 DW_LNE_set_address (0x00000000000012a7) 0x00000ead: 05 DW_LNS_set_column (20) 0x00000eaf: 06 DW_LNS_negate_stmt 0x00000eb0: 01 DW_LNS_copy - 0x000000000000138f 142 20 1 0 0 + 0x00000000000012a7 142 20 1 0 0 -0x00000eb1: 00 DW_LNE_set_address (0x0000000000001397) +0x00000eb1: 00 DW_LNE_set_address (0x00000000000012af) 0x00000eb8: 05 DW_LNS_set_column (13) 0x00000eba: 01 DW_LNS_copy - 0x0000000000001397 142 13 1 0 0 + 0x00000000000012af 142 13 1 0 0 -0x00000ebb: 00 DW_LNE_set_address (0x00000000000013a0) +0x00000ebb: 00 DW_LNE_set_address (0x00000000000012b7) 0x00000ec2: 03 DW_LNS_advance_line (143) 0x00000ec4: 05 DW_LNS_set_column (11) 0x00000ec6: 06 DW_LNS_negate_stmt 0x00000ec7: 01 DW_LNS_copy - 0x00000000000013a0 143 11 1 0 0 is_stmt + 0x00000000000012b7 143 11 1 0 0 is_stmt -0x00000ec8: 00 DW_LNE_set_address (0x00000000000013a9) +0x00000ec8: 00 DW_LNE_set_address (0x00000000000012bf) 0x00000ecf: 05 DW_LNS_set_column (22) 0x00000ed1: 06 DW_LNS_negate_stmt 0x00000ed2: 01 DW_LNS_copy - 0x00000000000013a9 143 22 1 0 0 + 0x00000000000012bf 143 22 1 0 0 -0x00000ed3: 00 DW_LNE_set_address (0x00000000000013b2) +0x00000ed3: 00 DW_LNE_set_address (0x00000000000012c7) 0x00000eda: 05 DW_LNS_set_column (20) 0x00000edc: 01 DW_LNS_copy - 0x00000000000013b2 143 20 1 0 0 + 0x00000000000012c7 143 20 1 0 0 -0x00000edd: 00 DW_LNE_set_address (0x00000000000013c8) +0x00000edd: 00 DW_LNE_set_address (0x00000000000012dd) 0x00000ee4: 05 DW_LNS_set_column (11) 0x00000ee6: 01 DW_LNS_copy - 0x00000000000013c8 143 11 1 0 0 + 0x00000000000012dd 143 11 1 0 0 -0x00000ee7: 00 DW_LNE_set_address (0x00000000000013df) +0x00000ee7: 00 DW_LNE_set_address (0x00000000000012f4) 0x00000eee: 03 DW_LNS_advance_line (144) 0x00000ef0: 05 DW_LNS_set_column (21) 0x00000ef2: 06 DW_LNS_negate_stmt 0x00000ef3: 01 DW_LNS_copy - 0x00000000000013df 144 21 1 0 0 is_stmt + 0x00000000000012f4 144 21 1 0 0 is_stmt -0x00000ef4: 00 DW_LNE_set_address (0x00000000000013e8) +0x00000ef4: 00 DW_LNE_set_address (0x00000000000012fc) 0x00000efb: 05 DW_LNS_set_column (19) 0x00000efd: 06 DW_LNS_negate_stmt 0x00000efe: 01 DW_LNS_copy - 0x00000000000013e8 144 19 1 0 0 + 0x00000000000012fc 144 19 1 0 0 -0x00000eff: 00 DW_LNE_set_address (0x00000000000013f2) +0x00000eff: 00 DW_LNE_set_address (0x0000000000001305) 0x00000f06: 03 DW_LNS_advance_line (145) 0x00000f08: 05 DW_LNS_set_column (15) 0x00000f0a: 06 DW_LNS_negate_stmt 0x00000f0b: 01 DW_LNS_copy - 0x00000000000013f2 145 15 1 0 0 is_stmt + 0x0000000000001305 145 15 1 0 0 is_stmt -0x00000f0c: 00 DW_LNE_set_address (0x00000000000013fb) +0x00000f0c: 00 DW_LNE_set_address (0x000000000000130d) 0x00000f13: 05 DW_LNS_set_column (13) 0x00000f15: 06 DW_LNS_negate_stmt 0x00000f16: 01 DW_LNS_copy - 0x00000000000013fb 145 13 1 0 0 + 0x000000000000130d 145 13 1 0 0 -0x00000f17: 00 DW_LNE_set_address (0x0000000000001404) +0x00000f17: 00 DW_LNE_set_address (0x0000000000001315) 0x00000f1e: 03 DW_LNS_advance_line (146) 0x00000f20: 05 DW_LNS_set_column (14) 0x00000f22: 06 DW_LNS_negate_stmt 0x00000f23: 01 DW_LNS_copy - 0x0000000000001404 146 14 1 0 0 is_stmt + 0x0000000000001315 146 14 1 0 0 is_stmt -0x00000f24: 00 DW_LNE_set_address (0x000000000000140d) +0x00000f24: 00 DW_LNE_set_address (0x000000000000131d) 0x00000f2b: 05 DW_LNS_set_column (20) 0x00000f2d: 06 DW_LNS_negate_stmt 0x00000f2e: 01 DW_LNS_copy - 0x000000000000140d 146 20 1 0 0 + 0x000000000000131d 146 20 1 0 0 -0x00000f2f: 00 DW_LNE_set_address (0x0000000000001417) +0x00000f2f: 00 DW_LNE_set_address (0x0000000000001326) 0x00000f36: 05 DW_LNS_set_column (12) 0x00000f38: 01 DW_LNS_copy - 0x0000000000001417 146 12 1 0 0 + 0x0000000000001326 146 12 1 0 0 -0x00000f39: 00 DW_LNE_set_address (0x0000000000001420) +0x00000f39: 00 DW_LNE_set_address (0x000000000000132e) 0x00000f40: 03 DW_LNS_advance_line (147) 0x00000f42: 06 DW_LNS_negate_stmt 0x00000f43: 01 DW_LNS_copy - 0x0000000000001420 147 12 1 0 0 is_stmt + 0x000000000000132e 147 12 1 0 0 is_stmt -0x00000f44: 00 DW_LNE_set_address (0x0000000000001429) +0x00000f44: 00 DW_LNE_set_address (0x0000000000001336) 0x00000f4b: 05 DW_LNS_set_column (7) 0x00000f4d: 06 DW_LNS_negate_stmt 0x00000f4e: 01 DW_LNS_copy - 0x0000000000001429 147 7 1 0 0 + 0x0000000000001336 147 7 1 0 0 -0x00000f4f: 00 DW_LNE_set_address (0x000000000000142e) +0x00000f4f: 00 DW_LNE_set_address (0x000000000000133b) 0x00000f56: 03 DW_LNS_advance_line (141) 0x00000f58: 05 DW_LNS_set_column (4) 0x00000f5a: 06 DW_LNS_negate_stmt 0x00000f5b: 01 DW_LNS_copy - 0x000000000000142e 141 4 1 0 0 is_stmt + 0x000000000000133b 141 4 1 0 0 is_stmt -0x00000f5c: 00 DW_LNE_set_address (0x0000000000001433) +0x00000f5c: 00 DW_LNE_set_address (0x0000000000001340) 0x00000f63: 03 DW_LNS_advance_line (149) 0x00000f65: 05 DW_LNS_set_column (11) 0x00000f67: 01 DW_LNS_copy - 0x0000000000001433 149 11 1 0 0 is_stmt + 0x0000000000001340 149 11 1 0 0 is_stmt -0x00000f68: 00 DW_LNE_set_address (0x000000000000143c) +0x00000f68: 00 DW_LNE_set_address (0x0000000000001348) 0x00000f6f: 05 DW_LNS_set_column (4) 0x00000f71: 06 DW_LNS_negate_stmt 0x00000f72: 01 DW_LNS_copy - 0x000000000000143c 149 4 1 0 0 + 0x0000000000001348 149 4 1 0 0 -0x00000f73: 00 DW_LNE_set_address (0x0000000000001454) +0x00000f73: 00 DW_LNE_set_address (0x0000000000001360) 0x00000f7a: 00 DW_LNE_end_sequence - 0x0000000000001454 149 4 1 0 0 end_sequence + 0x0000000000001360 149 4 1 0 0 end_sequence .debug_str contents: @@ -5186,9 +5186,9 @@ file_names[ 3]: 0x00000191: "cleanup" .debug_ranges contents: -00000000 00000006 00000ad7 -00000000 00000ad9 00000c58 -00000000 00000c5a 00001454 +00000000 00000006 00000a53 +00000000 00000a55 00000bc5 +00000000 00000bc7 00001360 00000000 (module (type $i32_=>_i32 (func (param i32) (result i32))) @@ -5491,2302 +5491,2302 @@ file_names[ 3]: ;; code offset: 0x20a (local.get $0) ) - ;; code offset: 0x216 + ;; code offset: 0x214 (local.set $5 - ;; code offset: 0x212 + ;; code offset: 0x211 (i32.load $mimport$0 offset=60 - ;; code offset: 0x210 + ;; code offset: 0x20f (local.get $3) ) ) - ;; code offset: 0x21c + ;; code offset: 0x21a (i32.store $mimport$0 offset=56 - ;; code offset: 0x218 + ;; code offset: 0x216 (local.get $3) - ;; code offset: 0x21a + ;; code offset: 0x218 (local.get $5) ) - ;; code offset: 0x224 + ;; code offset: 0x221 (i32.store $mimport$0 offset=40 - ;; code offset: 0x220 + ;; code offset: 0x21d (local.get $3) - ;; code offset: 0x222 + ;; code offset: 0x21f (local.get $4) ) - ;; code offset: 0x22e + ;; code offset: 0x229 (local.set $6 - ;; code offset: 0x22a + ;; code offset: 0x226 (i32.load $mimport$0 offset=56 - ;; code offset: 0x228 + ;; code offset: 0x224 (local.get $3) ) ) - ;; code offset: 0x236 + ;; code offset: 0x230 (local.set $7 - ;; code offset: 0x232 + ;; code offset: 0x22d (i32.load $mimport$0 offset=4 - ;; code offset: 0x230 + ;; code offset: 0x22b (local.get $6) ) ) - ;; code offset: 0x23c + ;; code offset: 0x236 (i32.store $mimport$0 offset=28 - ;; code offset: 0x238 + ;; code offset: 0x232 (local.get $3) - ;; code offset: 0x23a + ;; code offset: 0x234 (local.get $7) ) - ;; code offset: 0x246 + ;; code offset: 0x23e (local.set $8 - ;; code offset: 0x242 + ;; code offset: 0x23b (i32.load $mimport$0 offset=28 - ;; code offset: 0x240 + ;; code offset: 0x239 (local.get $3) ) ) - ;; code offset: 0x24a + ;; code offset: 0x242 (local.set $9 - ;; code offset: 0x248 + ;; code offset: 0x240 (i32.const 2) ) - ;; code offset: 0x251 + ;; code offset: 0x249 (local.set $10 - ;; code offset: 0x250 + ;; code offset: 0x248 (i32.shl - ;; code offset: 0x24c + ;; code offset: 0x244 (local.get $8) - ;; code offset: 0x24e + ;; code offset: 0x246 (local.get $9) ) ) - ;; code offset: 0x257 + ;; code offset: 0x24f (local.set $11 - ;; code offset: 0x255 + ;; code offset: 0x24d (call $malloc - ;; code offset: 0x253 + ;; code offset: 0x24b (local.get $10) ) ) - ;; code offset: 0x25d + ;; code offset: 0x255 (i32.store $mimport$0 offset=52 - ;; code offset: 0x259 + ;; code offset: 0x251 (local.get $3) - ;; code offset: 0x25b + ;; code offset: 0x253 (local.get $11) ) - ;; code offset: 0x267 + ;; code offset: 0x25d (local.set $12 - ;; code offset: 0x263 + ;; code offset: 0x25a (i32.load $mimport$0 offset=28 - ;; code offset: 0x261 + ;; code offset: 0x258 (local.get $3) ) ) - ;; code offset: 0x26b + ;; code offset: 0x261 (local.set $13 - ;; code offset: 0x269 + ;; code offset: 0x25f (i32.const 2) ) - ;; code offset: 0x272 + ;; code offset: 0x268 (local.set $14 - ;; code offset: 0x271 + ;; code offset: 0x267 (i32.shl - ;; code offset: 0x26d + ;; code offset: 0x263 (local.get $12) - ;; code offset: 0x26f + ;; code offset: 0x265 (local.get $13) ) ) - ;; code offset: 0x278 + ;; code offset: 0x26e (local.set $15 - ;; code offset: 0x276 + ;; code offset: 0x26c (call $malloc - ;; code offset: 0x274 + ;; code offset: 0x26a (local.get $14) ) ) - ;; code offset: 0x27e + ;; code offset: 0x274 (i32.store $mimport$0 offset=44 - ;; code offset: 0x27a + ;; code offset: 0x270 (local.get $3) - ;; code offset: 0x27c + ;; code offset: 0x272 (local.get $15) ) - ;; code offset: 0x288 + ;; code offset: 0x27c (local.set $16 - ;; code offset: 0x284 + ;; code offset: 0x279 (i32.load $mimport$0 offset=28 - ;; code offset: 0x282 + ;; code offset: 0x277 (local.get $3) ) ) - ;; code offset: 0x28c + ;; code offset: 0x280 (local.set $17 - ;; code offset: 0x28a + ;; code offset: 0x27e (i32.const 2) ) - ;; code offset: 0x293 + ;; code offset: 0x287 (local.set $18 - ;; code offset: 0x292 + ;; code offset: 0x286 (i32.shl - ;; code offset: 0x28e + ;; code offset: 0x282 (local.get $16) - ;; code offset: 0x290 + ;; code offset: 0x284 (local.get $17) ) ) - ;; code offset: 0x299 + ;; code offset: 0x28d (local.set $19 - ;; code offset: 0x297 + ;; code offset: 0x28b (call $malloc - ;; code offset: 0x295 + ;; code offset: 0x289 (local.get $18) ) ) - ;; code offset: 0x29f + ;; code offset: 0x293 (i32.store $mimport$0 offset=48 - ;; code offset: 0x29b + ;; code offset: 0x28f (local.get $3) - ;; code offset: 0x29d + ;; code offset: 0x291 (local.get $19) ) - ;; code offset: 0x2a7 + ;; code offset: 0x29a (i32.store $mimport$0 offset=32 - ;; code offset: 0x2a3 + ;; code offset: 0x296 (local.get $3) - ;; code offset: 0x2a5 + ;; code offset: 0x298 (local.get $4) ) - ;; code offset: 0x2ab + ;; code offset: 0x29d (block $label$1 - ;; code offset: 0x2ad + ;; code offset: 0x29f (loop $label$2 - ;; code offset: 0x2b5 + ;; code offset: 0x2a6 (local.set $20 - ;; code offset: 0x2b1 + ;; code offset: 0x2a3 (i32.load $mimport$0 offset=32 - ;; code offset: 0x2af + ;; code offset: 0x2a1 (local.get $3) ) ) - ;; code offset: 0x2bd + ;; code offset: 0x2ad (local.set $21 - ;; code offset: 0x2b9 + ;; code offset: 0x2aa (i32.load $mimport$0 offset=28 - ;; code offset: 0x2b7 + ;; code offset: 0x2a8 (local.get $3) ) ) - ;; code offset: 0x2c1 + ;; code offset: 0x2b1 (local.set $22 - ;; code offset: 0x2bf + ;; code offset: 0x2af (local.get $20) ) - ;; code offset: 0x2c5 + ;; code offset: 0x2b5 (local.set $23 - ;; code offset: 0x2c3 + ;; code offset: 0x2b3 (local.get $21) ) - ;; code offset: 0x2cc + ;; code offset: 0x2bc (local.set $24 - ;; code offset: 0x2cb + ;; code offset: 0x2bb (i32.lt_s - ;; code offset: 0x2c7 + ;; code offset: 0x2b7 (local.get $22) - ;; code offset: 0x2c9 + ;; code offset: 0x2b9 (local.get $23) ) ) - ;; code offset: 0x2d0 + ;; code offset: 0x2c0 (local.set $25 - ;; code offset: 0x2ce + ;; code offset: 0x2be (i32.const 1) ) - ;; code offset: 0x2d7 + ;; code offset: 0x2c7 (local.set $26 - ;; code offset: 0x2d6 + ;; code offset: 0x2c6 (i32.and - ;; code offset: 0x2d2 + ;; code offset: 0x2c2 (local.get $24) - ;; code offset: 0x2d4 + ;; code offset: 0x2c4 (local.get $25) ) ) - ;; code offset: 0x2dc + ;; code offset: 0x2cc (br_if $label$1 - ;; code offset: 0x2db + ;; code offset: 0x2cb (i32.eqz - ;; code offset: 0x2d9 + ;; code offset: 0x2c9 (local.get $26) ) ) - ;; code offset: 0x2e4 + ;; code offset: 0x2d3 (local.set $27 - ;; code offset: 0x2e0 + ;; code offset: 0x2d0 (i32.load $mimport$0 offset=32 - ;; code offset: 0x2de + ;; code offset: 0x2ce (local.get $3) ) ) - ;; code offset: 0x2ec + ;; code offset: 0x2da (local.set $28 - ;; code offset: 0x2e8 + ;; code offset: 0x2d7 (i32.load $mimport$0 offset=52 - ;; code offset: 0x2e6 + ;; code offset: 0x2d5 (local.get $3) ) ) - ;; code offset: 0x2f4 + ;; code offset: 0x2e1 (local.set $29 - ;; code offset: 0x2f0 + ;; code offset: 0x2de (i32.load $mimport$0 offset=32 - ;; code offset: 0x2ee + ;; code offset: 0x2dc (local.get $3) ) ) - ;; code offset: 0x2f8 + ;; code offset: 0x2e5 (local.set $30 - ;; code offset: 0x2f6 + ;; code offset: 0x2e3 (i32.const 2) ) - ;; code offset: 0x2ff + ;; code offset: 0x2ec (local.set $31 - ;; code offset: 0x2fe + ;; code offset: 0x2eb (i32.shl - ;; code offset: 0x2fa + ;; code offset: 0x2e7 (local.get $29) - ;; code offset: 0x2fc + ;; code offset: 0x2e9 (local.get $30) ) ) - ;; code offset: 0x306 + ;; code offset: 0x2f3 (local.set $32 - ;; code offset: 0x305 + ;; code offset: 0x2f2 (i32.add - ;; code offset: 0x301 + ;; code offset: 0x2ee (local.get $28) - ;; code offset: 0x303 + ;; code offset: 0x2f0 (local.get $31) ) ) - ;; code offset: 0x30c + ;; code offset: 0x2f9 (i32.store $mimport$0 - ;; code offset: 0x308 + ;; code offset: 0x2f5 (local.get $32) - ;; code offset: 0x30a + ;; code offset: 0x2f7 (local.get $27) ) - ;; code offset: 0x316 + ;; code offset: 0x301 (local.set $33 - ;; code offset: 0x312 + ;; code offset: 0x2fe (i32.load $mimport$0 offset=32 - ;; code offset: 0x310 + ;; code offset: 0x2fc (local.get $3) ) ) - ;; code offset: 0x31a + ;; code offset: 0x305 (local.set $34 - ;; code offset: 0x318 + ;; code offset: 0x303 (i32.const 1) ) - ;; code offset: 0x321 + ;; code offset: 0x30c (local.set $35 - ;; code offset: 0x320 + ;; code offset: 0x30b (i32.add - ;; code offset: 0x31c + ;; code offset: 0x307 (local.get $33) - ;; code offset: 0x31e + ;; code offset: 0x309 (local.get $34) ) ) - ;; code offset: 0x327 + ;; code offset: 0x312 (i32.store $mimport$0 offset=32 - ;; code offset: 0x323 + ;; code offset: 0x30e (local.get $3) - ;; code offset: 0x325 + ;; code offset: 0x310 (local.get $35) ) - ;; code offset: 0x32b + ;; code offset: 0x315 (br $label$2) ) ) - ;; code offset: 0x336 + ;; code offset: 0x31f (local.set $36 - ;; code offset: 0x332 + ;; code offset: 0x31c (i32.load $mimport$0 offset=28 - ;; code offset: 0x330 + ;; code offset: 0x31a (local.get $3) ) ) - ;; code offset: 0x33a + ;; code offset: 0x323 (local.set $37 - ;; code offset: 0x338 + ;; code offset: 0x321 (i32.const 1) ) - ;; code offset: 0x341 + ;; code offset: 0x32a (local.set $38 - ;; code offset: 0x340 + ;; code offset: 0x329 (i32.sub - ;; code offset: 0x33c + ;; code offset: 0x325 (local.get $36) - ;; code offset: 0x33e + ;; code offset: 0x327 (local.get $37) ) ) - ;; code offset: 0x349 + ;; code offset: 0x331 (local.set $39 - ;; code offset: 0x345 + ;; code offset: 0x32e (i32.load $mimport$0 offset=52 - ;; code offset: 0x343 + ;; code offset: 0x32c (local.get $3) ) ) - ;; code offset: 0x351 + ;; code offset: 0x338 (local.set $40 - ;; code offset: 0x34d + ;; code offset: 0x335 (i32.load $mimport$0 offset=56 - ;; code offset: 0x34b + ;; code offset: 0x333 (local.get $3) ) ) - ;; code offset: 0x359 + ;; code offset: 0x33f (local.set $41 - ;; code offset: 0x355 + ;; code offset: 0x33c (i32.load $mimport$0 - ;; code offset: 0x353 + ;; code offset: 0x33a (local.get $40) ) ) - ;; code offset: 0x35d + ;; code offset: 0x343 (local.set $42 - ;; code offset: 0x35b + ;; code offset: 0x341 (i32.const 2) ) - ;; code offset: 0x364 + ;; code offset: 0x34a (local.set $43 - ;; code offset: 0x363 + ;; code offset: 0x349 (i32.shl - ;; code offset: 0x35f + ;; code offset: 0x345 (local.get $41) - ;; code offset: 0x361 + ;; code offset: 0x347 (local.get $42) ) ) - ;; code offset: 0x36b + ;; code offset: 0x351 (local.set $44 - ;; code offset: 0x36a + ;; code offset: 0x350 (i32.add - ;; code offset: 0x366 + ;; code offset: 0x34c (local.get $39) - ;; code offset: 0x368 + ;; code offset: 0x34e (local.get $43) ) ) - ;; code offset: 0x371 + ;; code offset: 0x357 (i32.store $mimport$0 - ;; code offset: 0x36d + ;; code offset: 0x353 (local.get $44) - ;; code offset: 0x36f + ;; code offset: 0x355 (local.get $38) ) - ;; code offset: 0x37b + ;; code offset: 0x35f (local.set $45 - ;; code offset: 0x377 + ;; code offset: 0x35c (i32.load $mimport$0 offset=56 - ;; code offset: 0x375 + ;; code offset: 0x35a (local.get $3) ) ) - ;; code offset: 0x383 + ;; code offset: 0x366 (local.set $46 - ;; code offset: 0x37f + ;; code offset: 0x363 (i32.load $mimport$0 - ;; code offset: 0x37d + ;; code offset: 0x361 (local.get $45) ) ) - ;; code offset: 0x38b + ;; code offset: 0x36d (local.set $47 - ;; code offset: 0x387 + ;; code offset: 0x36a (i32.load $mimport$0 offset=52 - ;; code offset: 0x385 + ;; code offset: 0x368 (local.get $3) ) ) - ;; code offset: 0x393 + ;; code offset: 0x374 (local.set $48 - ;; code offset: 0x38f + ;; code offset: 0x371 (i32.load $mimport$0 offset=28 - ;; code offset: 0x38d + ;; code offset: 0x36f (local.get $3) ) ) - ;; code offset: 0x397 + ;; code offset: 0x378 (local.set $49 - ;; code offset: 0x395 + ;; code offset: 0x376 (i32.const 1) ) - ;; code offset: 0x39e + ;; code offset: 0x37f (local.set $50 - ;; code offset: 0x39d + ;; code offset: 0x37e (i32.sub - ;; code offset: 0x399 + ;; code offset: 0x37a (local.get $48) - ;; code offset: 0x39b + ;; code offset: 0x37c (local.get $49) ) ) - ;; code offset: 0x3a2 + ;; code offset: 0x383 (local.set $51 - ;; code offset: 0x3a0 + ;; code offset: 0x381 (i32.const 2) ) - ;; code offset: 0x3a9 + ;; code offset: 0x38a (local.set $52 - ;; code offset: 0x3a8 + ;; code offset: 0x389 (i32.shl - ;; code offset: 0x3a4 + ;; code offset: 0x385 (local.get $50) - ;; code offset: 0x3a6 + ;; code offset: 0x387 (local.get $51) ) ) - ;; code offset: 0x3b0 + ;; code offset: 0x391 (local.set $53 - ;; code offset: 0x3af + ;; code offset: 0x390 (i32.add - ;; code offset: 0x3ab + ;; code offset: 0x38c (local.get $47) - ;; code offset: 0x3ad + ;; code offset: 0x38e (local.get $52) ) ) - ;; code offset: 0x3b6 + ;; code offset: 0x397 (i32.store $mimport$0 - ;; code offset: 0x3b2 + ;; code offset: 0x393 (local.get $53) - ;; code offset: 0x3b4 + ;; code offset: 0x395 (local.get $46) ) - ;; code offset: 0x3c0 + ;; code offset: 0x39f (local.set $54 - ;; code offset: 0x3bc + ;; code offset: 0x39c (i32.load $mimport$0 offset=28 - ;; code offset: 0x3ba + ;; code offset: 0x39a (local.get $3) ) ) - ;; code offset: 0x3c6 + ;; code offset: 0x3a5 (i32.store $mimport$0 offset=24 - ;; code offset: 0x3c2 + ;; code offset: 0x3a1 (local.get $3) - ;; code offset: 0x3c4 + ;; code offset: 0x3a3 (local.get $54) ) - ;; code offset: 0x3ca + ;; code offset: 0x3a8 (loop $label$3 (result i32) - ;; code offset: 0x3cc + ;; code offset: 0x3aa (block $label$4 - ;; code offset: 0x3ce + ;; code offset: 0x3ac (loop $label$5 - ;; code offset: 0x3d2 + ;; code offset: 0x3b0 (local.set $55 - ;; code offset: 0x3d0 + ;; code offset: 0x3ae (i32.const 1) ) - ;; code offset: 0x3da + ;; code offset: 0x3b7 (local.set $56 - ;; code offset: 0x3d6 + ;; code offset: 0x3b4 (i32.load $mimport$0 offset=24 - ;; code offset: 0x3d4 + ;; code offset: 0x3b2 (local.get $3) ) ) - ;; code offset: 0x3de + ;; code offset: 0x3bb (local.set $57 - ;; code offset: 0x3dc + ;; code offset: 0x3b9 (local.get $56) ) - ;; code offset: 0x3e2 + ;; code offset: 0x3bf (local.set $58 - ;; code offset: 0x3e0 + ;; code offset: 0x3bd (local.get $55) ) - ;; code offset: 0x3e9 + ;; code offset: 0x3c6 (local.set $59 - ;; code offset: 0x3e8 + ;; code offset: 0x3c5 (i32.gt_s - ;; code offset: 0x3e4 + ;; code offset: 0x3c1 (local.get $57) - ;; code offset: 0x3e6 + ;; code offset: 0x3c3 (local.get $58) ) ) - ;; code offset: 0x3ed + ;; code offset: 0x3ca (local.set $60 - ;; code offset: 0x3eb + ;; code offset: 0x3c8 (i32.const 1) ) - ;; code offset: 0x3f4 + ;; code offset: 0x3d1 (local.set $61 - ;; code offset: 0x3f3 + ;; code offset: 0x3d0 (i32.and - ;; code offset: 0x3ef + ;; code offset: 0x3cc (local.get $59) - ;; code offset: 0x3f1 + ;; code offset: 0x3ce (local.get $60) ) ) - ;; code offset: 0x3f9 + ;; code offset: 0x3d6 (br_if $label$4 - ;; code offset: 0x3f8 + ;; code offset: 0x3d5 (i32.eqz - ;; code offset: 0x3f6 + ;; code offset: 0x3d3 (local.get $61) ) ) - ;; code offset: 0x401 + ;; code offset: 0x3dd (local.set $62 - ;; code offset: 0x3fd + ;; code offset: 0x3da (i32.load $mimport$0 offset=24 - ;; code offset: 0x3fb + ;; code offset: 0x3d8 (local.get $3) ) ) - ;; code offset: 0x409 + ;; code offset: 0x3e4 (local.set $63 - ;; code offset: 0x405 + ;; code offset: 0x3e1 (i32.load $mimport$0 offset=48 - ;; code offset: 0x403 + ;; code offset: 0x3df (local.get $3) ) ) - ;; code offset: 0x411 + ;; code offset: 0x3eb (local.set $64 - ;; code offset: 0x40d + ;; code offset: 0x3e8 (i32.load $mimport$0 offset=24 - ;; code offset: 0x40b + ;; code offset: 0x3e6 (local.get $3) ) ) - ;; code offset: 0x415 + ;; code offset: 0x3ef (local.set $65 - ;; code offset: 0x413 + ;; code offset: 0x3ed (i32.const 1) ) - ;; code offset: 0x41c + ;; code offset: 0x3f6 (local.set $66 - ;; code offset: 0x41b + ;; code offset: 0x3f5 (i32.sub - ;; code offset: 0x417 + ;; code offset: 0x3f1 (local.get $64) - ;; code offset: 0x419 + ;; code offset: 0x3f3 (local.get $65) ) ) - ;; code offset: 0x420 + ;; code offset: 0x3fa (local.set $67 - ;; code offset: 0x41e + ;; code offset: 0x3f8 (i32.const 2) ) - ;; code offset: 0x427 + ;; code offset: 0x401 (local.set $68 - ;; code offset: 0x426 + ;; code offset: 0x400 (i32.shl - ;; code offset: 0x422 + ;; code offset: 0x3fc (local.get $66) - ;; code offset: 0x424 + ;; code offset: 0x3fe (local.get $67) ) ) - ;; code offset: 0x42e + ;; code offset: 0x408 (local.set $69 - ;; code offset: 0x42d + ;; code offset: 0x407 (i32.add - ;; code offset: 0x429 + ;; code offset: 0x403 (local.get $63) - ;; code offset: 0x42b + ;; code offset: 0x405 (local.get $68) ) ) - ;; code offset: 0x434 + ;; code offset: 0x40e (i32.store $mimport$0 - ;; code offset: 0x430 + ;; code offset: 0x40a (local.get $69) - ;; code offset: 0x432 + ;; code offset: 0x40c (local.get $62) ) - ;; code offset: 0x43e + ;; code offset: 0x416 (local.set $70 - ;; code offset: 0x43a + ;; code offset: 0x413 (i32.load $mimport$0 offset=24 - ;; code offset: 0x438 + ;; code offset: 0x411 (local.get $3) ) ) - ;; code offset: 0x442 + ;; code offset: 0x41a (local.set $71 - ;; code offset: 0x440 + ;; code offset: 0x418 (i32.const -1) ) - ;; code offset: 0x449 + ;; code offset: 0x421 (local.set $72 - ;; code offset: 0x448 + ;; code offset: 0x420 (i32.add - ;; code offset: 0x444 + ;; code offset: 0x41c (local.get $70) - ;; code offset: 0x446 + ;; code offset: 0x41e (local.get $71) ) ) - ;; code offset: 0x44f + ;; code offset: 0x427 (i32.store $mimport$0 offset=24 - ;; code offset: 0x44b + ;; code offset: 0x423 (local.get $3) - ;; code offset: 0x44d + ;; code offset: 0x425 (local.get $72) ) - ;; code offset: 0x453 + ;; code offset: 0x42a (br $label$5) ) ) - ;; code offset: 0x45e + ;; code offset: 0x434 (local.set $73 - ;; code offset: 0x45a + ;; code offset: 0x431 (i32.load $mimport$0 offset=52 - ;; code offset: 0x458 + ;; code offset: 0x42f (local.get $3) ) ) - ;; code offset: 0x466 + ;; code offset: 0x43b (local.set $74 - ;; code offset: 0x462 + ;; code offset: 0x438 (i32.load $mimport$0 - ;; code offset: 0x460 + ;; code offset: 0x436 (local.get $73) ) ) - ;; code offset: 0x468 + ;; code offset: 0x43d (block $label$6 - ;; code offset: 0x46d + ;; code offset: 0x442 (br_if $label$6 - ;; code offset: 0x46c + ;; code offset: 0x441 (i32.eqz - ;; code offset: 0x46a + ;; code offset: 0x43f (local.get $74) ) ) - ;; code offset: 0x475 + ;; code offset: 0x449 (local.set $75 - ;; code offset: 0x471 + ;; code offset: 0x446 (i32.load $mimport$0 offset=52 - ;; code offset: 0x46f + ;; code offset: 0x444 (local.get $3) ) ) - ;; code offset: 0x47d + ;; code offset: 0x450 (local.set $76 - ;; code offset: 0x479 + ;; code offset: 0x44d (i32.load $mimport$0 offset=28 - ;; code offset: 0x477 + ;; code offset: 0x44b (local.get $3) ) ) - ;; code offset: 0x481 + ;; code offset: 0x454 (local.set $77 - ;; code offset: 0x47f + ;; code offset: 0x452 (i32.const 1) ) - ;; code offset: 0x488 + ;; code offset: 0x45b (local.set $78 - ;; code offset: 0x487 + ;; code offset: 0x45a (i32.sub - ;; code offset: 0x483 + ;; code offset: 0x456 (local.get $76) - ;; code offset: 0x485 + ;; code offset: 0x458 (local.get $77) ) ) - ;; code offset: 0x48c + ;; code offset: 0x45f (local.set $79 - ;; code offset: 0x48a + ;; code offset: 0x45d (i32.const 2) ) - ;; code offset: 0x493 + ;; code offset: 0x466 (local.set $80 - ;; code offset: 0x492 + ;; code offset: 0x465 (i32.shl - ;; code offset: 0x48e + ;; code offset: 0x461 (local.get $78) - ;; code offset: 0x490 + ;; code offset: 0x463 (local.get $79) ) ) - ;; code offset: 0x49a + ;; code offset: 0x46d (local.set $81 - ;; code offset: 0x499 + ;; code offset: 0x46c (i32.add - ;; code offset: 0x495 + ;; code offset: 0x468 (local.get $75) - ;; code offset: 0x497 + ;; code offset: 0x46a (local.get $80) ) ) - ;; code offset: 0x4a2 + ;; code offset: 0x474 (local.set $82 - ;; code offset: 0x49e + ;; code offset: 0x471 (i32.load $mimport$0 - ;; code offset: 0x49c + ;; code offset: 0x46f (local.get $81) ) ) - ;; code offset: 0x4aa + ;; code offset: 0x47b (local.set $83 - ;; code offset: 0x4a6 + ;; code offset: 0x478 (i32.load $mimport$0 offset=28 - ;; code offset: 0x4a4 + ;; code offset: 0x476 (local.get $3) ) ) - ;; code offset: 0x4ae + ;; code offset: 0x47f (local.set $84 - ;; code offset: 0x4ac + ;; code offset: 0x47d (i32.const 1) ) - ;; code offset: 0x4b5 + ;; code offset: 0x486 (local.set $85 - ;; code offset: 0x4b4 + ;; code offset: 0x485 (i32.sub - ;; code offset: 0x4b0 + ;; code offset: 0x481 (local.get $83) - ;; code offset: 0x4b2 + ;; code offset: 0x483 (local.get $84) ) ) - ;; code offset: 0x4b9 + ;; code offset: 0x48a (local.set $86 - ;; code offset: 0x4b7 + ;; code offset: 0x488 (local.get $82) ) - ;; code offset: 0x4bd + ;; code offset: 0x48e (local.set $87 - ;; code offset: 0x4bb + ;; code offset: 0x48c (local.get $85) ) - ;; code offset: 0x4c4 + ;; code offset: 0x495 (local.set $88 - ;; code offset: 0x4c3 + ;; code offset: 0x494 (i32.ne - ;; code offset: 0x4bf + ;; code offset: 0x490 (local.get $86) - ;; code offset: 0x4c1 + ;; code offset: 0x492 (local.get $87) ) ) - ;; code offset: 0x4c8 + ;; code offset: 0x499 (local.set $89 - ;; code offset: 0x4c6 + ;; code offset: 0x497 (i32.const 1) ) - ;; code offset: 0x4cf + ;; code offset: 0x4a0 (local.set $90 - ;; code offset: 0x4ce + ;; code offset: 0x49f (i32.and - ;; code offset: 0x4ca + ;; code offset: 0x49b (local.get $88) - ;; code offset: 0x4cc + ;; code offset: 0x49d (local.get $89) ) ) - ;; code offset: 0x4d4 + ;; code offset: 0x4a5 (br_if $label$6 - ;; code offset: 0x4d3 + ;; code offset: 0x4a4 (i32.eqz - ;; code offset: 0x4d1 + ;; code offset: 0x4a2 (local.get $90) ) ) - ;; code offset: 0x4d8 + ;; code offset: 0x4a9 (local.set $91 - ;; code offset: 0x4d6 + ;; code offset: 0x4a7 (i32.const 0) ) - ;; code offset: 0x4de + ;; code offset: 0x4af (i32.store $mimport$0 offset=32 - ;; code offset: 0x4da + ;; code offset: 0x4ab (local.get $3) - ;; code offset: 0x4dc + ;; code offset: 0x4ad (local.get $91) ) - ;; code offset: 0x4e2 + ;; code offset: 0x4b2 (block $label$7 - ;; code offset: 0x4e4 + ;; code offset: 0x4b4 (loop $label$8 - ;; code offset: 0x4ec + ;; code offset: 0x4bb (local.set $92 - ;; code offset: 0x4e8 + ;; code offset: 0x4b8 (i32.load $mimport$0 offset=32 - ;; code offset: 0x4e6 + ;; code offset: 0x4b6 (local.get $3) ) ) - ;; code offset: 0x4f4 + ;; code offset: 0x4c2 (local.set $93 - ;; code offset: 0x4f0 + ;; code offset: 0x4bf (i32.load $mimport$0 offset=28 - ;; code offset: 0x4ee + ;; code offset: 0x4bd (local.get $3) ) ) - ;; code offset: 0x4f8 + ;; code offset: 0x4c6 (local.set $94 - ;; code offset: 0x4f6 + ;; code offset: 0x4c4 (local.get $92) ) - ;; code offset: 0x4fc + ;; code offset: 0x4ca (local.set $95 - ;; code offset: 0x4fa + ;; code offset: 0x4c8 (local.get $93) ) - ;; code offset: 0x503 + ;; code offset: 0x4d1 (local.set $96 - ;; code offset: 0x502 + ;; code offset: 0x4d0 (i32.lt_s - ;; code offset: 0x4fe + ;; code offset: 0x4cc (local.get $94) - ;; code offset: 0x500 + ;; code offset: 0x4ce (local.get $95) ) ) - ;; code offset: 0x507 + ;; code offset: 0x4d5 (local.set $97 - ;; code offset: 0x505 + ;; code offset: 0x4d3 (i32.const 1) ) - ;; code offset: 0x50e + ;; code offset: 0x4dc (local.set $98 - ;; code offset: 0x50d + ;; code offset: 0x4db (i32.and - ;; code offset: 0x509 + ;; code offset: 0x4d7 (local.get $96) - ;; code offset: 0x50b + ;; code offset: 0x4d9 (local.get $97) ) ) - ;; code offset: 0x513 + ;; code offset: 0x4e1 (br_if $label$7 - ;; code offset: 0x512 + ;; code offset: 0x4e0 (i32.eqz - ;; code offset: 0x510 + ;; code offset: 0x4de (local.get $98) ) ) - ;; code offset: 0x51b + ;; code offset: 0x4e8 (local.set $99 - ;; code offset: 0x517 + ;; code offset: 0x4e5 (i32.load $mimport$0 offset=52 - ;; code offset: 0x515 + ;; code offset: 0x4e3 (local.get $3) ) ) - ;; code offset: 0x523 + ;; code offset: 0x4ef (local.set $100 - ;; code offset: 0x51f + ;; code offset: 0x4ec (i32.load $mimport$0 offset=32 - ;; code offset: 0x51d + ;; code offset: 0x4ea (local.get $3) ) ) - ;; code offset: 0x527 + ;; code offset: 0x4f3 (local.set $101 - ;; code offset: 0x525 + ;; code offset: 0x4f1 (i32.const 2) ) - ;; code offset: 0x52e + ;; code offset: 0x4fa (local.set $102 - ;; code offset: 0x52d + ;; code offset: 0x4f9 (i32.shl - ;; code offset: 0x529 + ;; code offset: 0x4f5 (local.get $100) - ;; code offset: 0x52b + ;; code offset: 0x4f7 (local.get $101) ) ) - ;; code offset: 0x535 + ;; code offset: 0x501 (local.set $103 - ;; code offset: 0x534 + ;; code offset: 0x500 (i32.add - ;; code offset: 0x530 + ;; code offset: 0x4fc (local.get $99) - ;; code offset: 0x532 + ;; code offset: 0x4fe (local.get $102) ) ) - ;; code offset: 0x53d + ;; code offset: 0x508 (local.set $104 - ;; code offset: 0x539 + ;; code offset: 0x505 (i32.load $mimport$0 - ;; code offset: 0x537 + ;; code offset: 0x503 (local.get $103) ) ) - ;; code offset: 0x545 + ;; code offset: 0x50f (local.set $105 - ;; code offset: 0x541 + ;; code offset: 0x50c (i32.load $mimport$0 offset=44 - ;; code offset: 0x53f + ;; code offset: 0x50a (local.get $3) ) ) - ;; code offset: 0x54d + ;; code offset: 0x516 (local.set $106 - ;; code offset: 0x549 + ;; code offset: 0x513 (i32.load $mimport$0 offset=32 - ;; code offset: 0x547 + ;; code offset: 0x511 (local.get $3) ) ) - ;; code offset: 0x551 + ;; code offset: 0x51a (local.set $107 - ;; code offset: 0x54f + ;; code offset: 0x518 (i32.const 2) ) - ;; code offset: 0x558 + ;; code offset: 0x521 (local.set $108 - ;; code offset: 0x557 + ;; code offset: 0x520 (i32.shl - ;; code offset: 0x553 + ;; code offset: 0x51c (local.get $106) - ;; code offset: 0x555 + ;; code offset: 0x51e (local.get $107) ) ) - ;; code offset: 0x55f + ;; code offset: 0x528 (local.set $109 - ;; code offset: 0x55e + ;; code offset: 0x527 (i32.add - ;; code offset: 0x55a + ;; code offset: 0x523 (local.get $105) - ;; code offset: 0x55c + ;; code offset: 0x525 (local.get $108) ) ) - ;; code offset: 0x565 + ;; code offset: 0x52e (i32.store $mimport$0 - ;; code offset: 0x561 + ;; code offset: 0x52a (local.get $109) - ;; code offset: 0x563 + ;; code offset: 0x52c (local.get $104) ) - ;; code offset: 0x56f + ;; code offset: 0x536 (local.set $110 - ;; code offset: 0x56b + ;; code offset: 0x533 (i32.load $mimport$0 offset=32 - ;; code offset: 0x569 + ;; code offset: 0x531 (local.get $3) ) ) - ;; code offset: 0x573 + ;; code offset: 0x53a (local.set $111 - ;; code offset: 0x571 + ;; code offset: 0x538 (i32.const 1) ) - ;; code offset: 0x57a + ;; code offset: 0x541 (local.set $112 - ;; code offset: 0x579 + ;; code offset: 0x540 (i32.add - ;; code offset: 0x575 + ;; code offset: 0x53c (local.get $110) - ;; code offset: 0x577 + ;; code offset: 0x53e (local.get $111) ) ) - ;; code offset: 0x580 + ;; code offset: 0x547 (i32.store $mimport$0 offset=32 - ;; code offset: 0x57c + ;; code offset: 0x543 (local.get $3) - ;; code offset: 0x57e + ;; code offset: 0x545 (local.get $112) ) - ;; code offset: 0x584 + ;; code offset: 0x54a (br $label$8) ) ) - ;; code offset: 0x58b + ;; code offset: 0x551 (local.set $113 - ;; code offset: 0x589 + ;; code offset: 0x54f (i32.const 0) ) - ;; code offset: 0x591 + ;; code offset: 0x557 (i32.store $mimport$0 offset=36 - ;; code offset: 0x58d + ;; code offset: 0x553 (local.get $3) - ;; code offset: 0x58f + ;; code offset: 0x555 (local.get $113) ) - ;; code offset: 0x59b + ;; code offset: 0x55f (local.set $114 - ;; code offset: 0x597 + ;; code offset: 0x55c (i32.load $mimport$0 offset=44 - ;; code offset: 0x595 + ;; code offset: 0x55a (local.get $3) ) ) - ;; code offset: 0x5a3 + ;; code offset: 0x566 (local.set $115 - ;; code offset: 0x59f + ;; code offset: 0x563 (i32.load $mimport$0 - ;; code offset: 0x59d + ;; code offset: 0x561 (local.get $114) ) ) - ;; code offset: 0x5a9 + ;; code offset: 0x56c (i32.store $mimport$0 offset=16 - ;; code offset: 0x5a5 + ;; code offset: 0x568 (local.get $3) - ;; code offset: 0x5a7 + ;; code offset: 0x56a (local.get $115) ) - ;; code offset: 0x5ad + ;; code offset: 0x56f (loop $label$9 - ;; code offset: 0x5b1 + ;; code offset: 0x573 (local.set $116 - ;; code offset: 0x5af + ;; code offset: 0x571 (i32.const 1) ) - ;; code offset: 0x5b7 + ;; code offset: 0x579 (i32.store $mimport$0 offset=32 - ;; code offset: 0x5b3 + ;; code offset: 0x575 (local.get $3) - ;; code offset: 0x5b5 + ;; code offset: 0x577 (local.get $116) ) - ;; code offset: 0x5c1 + ;; code offset: 0x581 (local.set $117 - ;; code offset: 0x5bd + ;; code offset: 0x57e (i32.load $mimport$0 offset=16 - ;; code offset: 0x5bb + ;; code offset: 0x57c (local.get $3) ) ) - ;; code offset: 0x5c5 + ;; code offset: 0x585 (local.set $118 - ;; code offset: 0x5c3 + ;; code offset: 0x583 (i32.const 1) ) - ;; code offset: 0x5cc + ;; code offset: 0x58c (local.set $119 - ;; code offset: 0x5cb + ;; code offset: 0x58b (i32.sub - ;; code offset: 0x5c7 + ;; code offset: 0x587 (local.get $117) - ;; code offset: 0x5c9 + ;; code offset: 0x589 (local.get $118) ) ) - ;; code offset: 0x5d2 + ;; code offset: 0x592 (i32.store $mimport$0 offset=20 - ;; code offset: 0x5ce + ;; code offset: 0x58e (local.get $3) - ;; code offset: 0x5d0 + ;; code offset: 0x590 (local.get $119) ) - ;; code offset: 0x5d6 + ;; code offset: 0x595 (block $label$10 - ;; code offset: 0x5d8 + ;; code offset: 0x597 (loop $label$11 - ;; code offset: 0x5e0 + ;; code offset: 0x59e (local.set $120 - ;; code offset: 0x5dc + ;; code offset: 0x59b (i32.load $mimport$0 offset=32 - ;; code offset: 0x5da + ;; code offset: 0x599 (local.get $3) ) ) - ;; code offset: 0x5e8 + ;; code offset: 0x5a5 (local.set $121 - ;; code offset: 0x5e4 + ;; code offset: 0x5a2 (i32.load $mimport$0 offset=20 - ;; code offset: 0x5e2 + ;; code offset: 0x5a0 (local.get $3) ) ) - ;; code offset: 0x5ec + ;; code offset: 0x5a9 (local.set $122 - ;; code offset: 0x5ea + ;; code offset: 0x5a7 (local.get $120) ) - ;; code offset: 0x5f0 + ;; code offset: 0x5ad (local.set $123 - ;; code offset: 0x5ee + ;; code offset: 0x5ab (local.get $121) ) - ;; code offset: 0x5f7 + ;; code offset: 0x5b4 (local.set $124 - ;; code offset: 0x5f6 + ;; code offset: 0x5b3 (i32.lt_s - ;; code offset: 0x5f2 + ;; code offset: 0x5af (local.get $122) - ;; code offset: 0x5f4 + ;; code offset: 0x5b1 (local.get $123) ) ) - ;; code offset: 0x5fb + ;; code offset: 0x5b8 (local.set $125 - ;; code offset: 0x5f9 + ;; code offset: 0x5b6 (i32.const 1) ) - ;; code offset: 0x602 + ;; code offset: 0x5bf (local.set $126 - ;; code offset: 0x601 + ;; code offset: 0x5be (i32.and - ;; code offset: 0x5fd + ;; code offset: 0x5ba (local.get $124) - ;; code offset: 0x5ff + ;; code offset: 0x5bc (local.get $125) ) ) - ;; code offset: 0x607 + ;; code offset: 0x5c4 (br_if $label$10 - ;; code offset: 0x606 + ;; code offset: 0x5c3 (i32.eqz - ;; code offset: 0x604 + ;; code offset: 0x5c1 (local.get $126) ) ) - ;; code offset: 0x60f + ;; code offset: 0x5cb (local.set $127 - ;; code offset: 0x60b + ;; code offset: 0x5c8 (i32.load $mimport$0 offset=44 - ;; code offset: 0x609 + ;; code offset: 0x5c6 (local.get $3) ) ) - ;; code offset: 0x617 + ;; code offset: 0x5d2 (local.set $128 - ;; code offset: 0x613 + ;; code offset: 0x5cf (i32.load $mimport$0 offset=32 - ;; code offset: 0x611 + ;; code offset: 0x5cd (local.get $3) ) ) - ;; code offset: 0x61c + ;; code offset: 0x5d7 (local.set $129 - ;; code offset: 0x61a + ;; code offset: 0x5d5 (i32.const 2) ) - ;; code offset: 0x626 + ;; code offset: 0x5e1 (local.set $130 - ;; code offset: 0x625 + ;; code offset: 0x5e0 (i32.shl - ;; code offset: 0x61f + ;; code offset: 0x5da (local.get $128) - ;; code offset: 0x622 + ;; code offset: 0x5dd (local.get $129) ) ) - ;; code offset: 0x62f + ;; code offset: 0x5ea (local.set $131 - ;; code offset: 0x62e + ;; code offset: 0x5e9 (i32.add - ;; code offset: 0x629 + ;; code offset: 0x5e4 (local.get $127) - ;; code offset: 0x62b + ;; code offset: 0x5e6 (local.get $130) ) ) - ;; code offset: 0x639 + ;; code offset: 0x5f3 (local.set $132 - ;; code offset: 0x635 + ;; code offset: 0x5f0 (i32.load $mimport$0 - ;; code offset: 0x632 + ;; code offset: 0x5ed (local.get $131) ) ) - ;; code offset: 0x641 + ;; code offset: 0x5fb (i32.store $mimport$0 offset=12 - ;; code offset: 0x63c + ;; code offset: 0x5f6 (local.get $3) - ;; code offset: 0x63e + ;; code offset: 0x5f8 (local.get $132) ) - ;; code offset: 0x64b + ;; code offset: 0x603 (local.set $133 - ;; code offset: 0x647 + ;; code offset: 0x600 (i32.load $mimport$0 offset=44 - ;; code offset: 0x645 + ;; code offset: 0x5fe (local.get $3) ) ) - ;; code offset: 0x654 + ;; code offset: 0x60b (local.set $134 - ;; code offset: 0x650 + ;; code offset: 0x608 (i32.load $mimport$0 offset=20 - ;; code offset: 0x64e + ;; code offset: 0x606 (local.get $3) ) ) - ;; code offset: 0x659 + ;; code offset: 0x610 (local.set $135 - ;; code offset: 0x657 + ;; code offset: 0x60e (i32.const 2) ) - ;; code offset: 0x663 + ;; code offset: 0x61a (local.set $136 - ;; code offset: 0x662 + ;; code offset: 0x619 (i32.shl - ;; code offset: 0x65c + ;; code offset: 0x613 (local.get $134) - ;; code offset: 0x65f + ;; code offset: 0x616 (local.get $135) ) ) - ;; code offset: 0x66d + ;; code offset: 0x624 (local.set $137 - ;; code offset: 0x66c + ;; code offset: 0x623 (i32.add - ;; code offset: 0x666 + ;; code offset: 0x61d (local.get $133) - ;; code offset: 0x669 + ;; code offset: 0x620 (local.get $136) ) ) - ;; code offset: 0x677 + ;; code offset: 0x62d (local.set $138 - ;; code offset: 0x673 + ;; code offset: 0x62a (i32.load $mimport$0 - ;; code offset: 0x670 + ;; code offset: 0x627 (local.get $137) ) ) - ;; code offset: 0x680 + ;; code offset: 0x635 (local.set $139 - ;; code offset: 0x67c + ;; code offset: 0x632 (i32.load $mimport$0 offset=44 - ;; code offset: 0x67a + ;; code offset: 0x630 (local.get $3) ) ) - ;; code offset: 0x689 + ;; code offset: 0x63d (local.set $140 - ;; code offset: 0x685 + ;; code offset: 0x63a (i32.load $mimport$0 offset=32 - ;; code offset: 0x683 + ;; code offset: 0x638 (local.get $3) ) ) - ;; code offset: 0x68e + ;; code offset: 0x642 (local.set $141 - ;; code offset: 0x68c + ;; code offset: 0x640 (i32.const 2) ) - ;; code offset: 0x698 + ;; code offset: 0x64c (local.set $142 - ;; code offset: 0x697 + ;; code offset: 0x64b (i32.shl - ;; code offset: 0x691 + ;; code offset: 0x645 (local.get $140) - ;; code offset: 0x694 + ;; code offset: 0x648 (local.get $141) ) ) - ;; code offset: 0x6a2 + ;; code offset: 0x656 (local.set $143 - ;; code offset: 0x6a1 + ;; code offset: 0x655 (i32.add - ;; code offset: 0x69b + ;; code offset: 0x64f (local.get $139) - ;; code offset: 0x69e + ;; code offset: 0x652 (local.get $142) ) ) - ;; code offset: 0x6ab + ;; code offset: 0x65f (i32.store $mimport$0 - ;; code offset: 0x6a5 + ;; code offset: 0x659 (local.get $143) - ;; code offset: 0x6a8 + ;; code offset: 0x65c (local.get $138) ) - ;; code offset: 0x6b5 + ;; code offset: 0x667 (local.set $144 - ;; code offset: 0x6b1 + ;; code offset: 0x664 (i32.load $mimport$0 offset=12 - ;; code offset: 0x6af + ;; code offset: 0x662 (local.get $3) ) ) - ;; code offset: 0x6be + ;; code offset: 0x66f (local.set $145 - ;; code offset: 0x6ba + ;; code offset: 0x66c (i32.load $mimport$0 offset=44 - ;; code offset: 0x6b8 + ;; code offset: 0x66a (local.get $3) ) ) - ;; code offset: 0x6c7 + ;; code offset: 0x677 (local.set $146 - ;; code offset: 0x6c3 + ;; code offset: 0x674 (i32.load $mimport$0 offset=20 - ;; code offset: 0x6c1 + ;; code offset: 0x672 (local.get $3) ) ) - ;; code offset: 0x6cc + ;; code offset: 0x67c (local.set $147 - ;; code offset: 0x6ca + ;; code offset: 0x67a (i32.const 2) ) - ;; code offset: 0x6d6 + ;; code offset: 0x686 (local.set $148 - ;; code offset: 0x6d5 + ;; code offset: 0x685 (i32.shl - ;; code offset: 0x6cf + ;; code offset: 0x67f (local.get $146) - ;; code offset: 0x6d2 + ;; code offset: 0x682 (local.get $147) ) ) - ;; code offset: 0x6e0 + ;; code offset: 0x690 (local.set $149 - ;; code offset: 0x6df + ;; code offset: 0x68f (i32.add - ;; code offset: 0x6d9 + ;; code offset: 0x689 (local.get $145) - ;; code offset: 0x6dc + ;; code offset: 0x68c (local.get $148) ) ) - ;; code offset: 0x6e9 + ;; code offset: 0x699 (i32.store $mimport$0 - ;; code offset: 0x6e3 + ;; code offset: 0x693 (local.get $149) - ;; code offset: 0x6e6 + ;; code offset: 0x696 (local.get $144) ) - ;; code offset: 0x6f3 + ;; code offset: 0x6a1 (local.set $150 - ;; code offset: 0x6ef + ;; code offset: 0x69e (i32.load $mimport$0 offset=32 - ;; code offset: 0x6ed + ;; code offset: 0x69c (local.get $3) ) ) - ;; code offset: 0x6f8 + ;; code offset: 0x6a6 (local.set $151 - ;; code offset: 0x6f6 + ;; code offset: 0x6a4 (i32.const 1) ) - ;; code offset: 0x702 + ;; code offset: 0x6b0 (local.set $152 - ;; code offset: 0x701 + ;; code offset: 0x6af (i32.add - ;; code offset: 0x6fb + ;; code offset: 0x6a9 (local.get $150) - ;; code offset: 0x6fe + ;; code offset: 0x6ac (local.get $151) ) ) - ;; code offset: 0x70a + ;; code offset: 0x6b8 (i32.store $mimport$0 offset=32 - ;; code offset: 0x705 + ;; code offset: 0x6b3 (local.get $3) - ;; code offset: 0x707 + ;; code offset: 0x6b5 (local.get $152) ) - ;; code offset: 0x714 + ;; code offset: 0x6c0 (local.set $153 - ;; code offset: 0x710 + ;; code offset: 0x6bd (i32.load $mimport$0 offset=20 - ;; code offset: 0x70e + ;; code offset: 0x6bb (local.get $3) ) ) - ;; code offset: 0x719 + ;; code offset: 0x6c5 (local.set $154 - ;; code offset: 0x717 + ;; code offset: 0x6c3 (i32.const -1) ) - ;; code offset: 0x723 + ;; code offset: 0x6cf (local.set $155 - ;; code offset: 0x722 + ;; code offset: 0x6ce (i32.add - ;; code offset: 0x71c + ;; code offset: 0x6c8 (local.get $153) - ;; code offset: 0x71f + ;; code offset: 0x6cb (local.get $154) ) ) - ;; code offset: 0x72b + ;; code offset: 0x6d7 (i32.store $mimport$0 offset=20 - ;; code offset: 0x726 + ;; code offset: 0x6d2 (local.get $3) - ;; code offset: 0x728 + ;; code offset: 0x6d4 (local.get $155) ) - ;; code offset: 0x72f + ;; code offset: 0x6da (br $label$11) ) ) - ;; code offset: 0x73a + ;; code offset: 0x6e4 (local.set $156 - ;; code offset: 0x736 + ;; code offset: 0x6e1 (i32.load $mimport$0 offset=36 - ;; code offset: 0x734 + ;; code offset: 0x6df (local.get $3) ) ) - ;; code offset: 0x73f + ;; code offset: 0x6e9 (local.set $157 - ;; code offset: 0x73d + ;; code offset: 0x6e7 (i32.const 1) ) - ;; code offset: 0x749 + ;; code offset: 0x6f3 (local.set $158 - ;; code offset: 0x748 + ;; code offset: 0x6f2 (i32.add - ;; code offset: 0x742 + ;; code offset: 0x6ec (local.get $156) - ;; code offset: 0x745 + ;; code offset: 0x6ef (local.get $157) ) ) - ;; code offset: 0x751 + ;; code offset: 0x6fb (i32.store $mimport$0 offset=36 - ;; code offset: 0x74c + ;; code offset: 0x6f6 (local.get $3) - ;; code offset: 0x74e + ;; code offset: 0x6f8 (local.get $158) ) - ;; code offset: 0x75b + ;; code offset: 0x703 (local.set $159 - ;; code offset: 0x757 + ;; code offset: 0x700 (i32.load $mimport$0 offset=44 - ;; code offset: 0x755 + ;; code offset: 0x6fe (local.get $3) ) ) - ;; code offset: 0x764 + ;; code offset: 0x70b (local.set $160 - ;; code offset: 0x760 + ;; code offset: 0x708 (i32.load $mimport$0 offset=16 - ;; code offset: 0x75e + ;; code offset: 0x706 (local.get $3) ) ) - ;; code offset: 0x769 + ;; code offset: 0x710 (local.set $161 - ;; code offset: 0x767 + ;; code offset: 0x70e (i32.const 2) ) - ;; code offset: 0x773 + ;; code offset: 0x71a (local.set $162 - ;; code offset: 0x772 + ;; code offset: 0x719 (i32.shl - ;; code offset: 0x76c + ;; code offset: 0x713 (local.get $160) - ;; code offset: 0x76f + ;; code offset: 0x716 (local.get $161) ) ) - ;; code offset: 0x77d + ;; code offset: 0x724 (local.set $163 - ;; code offset: 0x77c + ;; code offset: 0x723 (i32.add - ;; code offset: 0x776 + ;; code offset: 0x71d (local.get $159) - ;; code offset: 0x779 + ;; code offset: 0x720 (local.get $162) ) ) - ;; code offset: 0x787 + ;; code offset: 0x72d (local.set $164 - ;; code offset: 0x783 + ;; code offset: 0x72a (i32.load $mimport$0 - ;; code offset: 0x780 + ;; code offset: 0x727 (local.get $163) ) ) - ;; code offset: 0x78f + ;; code offset: 0x735 (i32.store $mimport$0 offset=12 - ;; code offset: 0x78a + ;; code offset: 0x730 (local.get $3) - ;; code offset: 0x78c + ;; code offset: 0x732 (local.get $164) ) - ;; code offset: 0x799 + ;; code offset: 0x73d (local.set $165 - ;; code offset: 0x795 + ;; code offset: 0x73a (i32.load $mimport$0 offset=16 - ;; code offset: 0x793 + ;; code offset: 0x738 (local.get $3) ) ) - ;; code offset: 0x7a2 + ;; code offset: 0x745 (local.set $166 - ;; code offset: 0x79e + ;; code offset: 0x742 (i32.load $mimport$0 offset=44 - ;; code offset: 0x79c + ;; code offset: 0x740 (local.get $3) ) ) - ;; code offset: 0x7ab + ;; code offset: 0x74d (local.set $167 - ;; code offset: 0x7a7 + ;; code offset: 0x74a (i32.load $mimport$0 offset=16 - ;; code offset: 0x7a5 + ;; code offset: 0x748 (local.get $3) ) ) - ;; code offset: 0x7b0 + ;; code offset: 0x752 (local.set $168 - ;; code offset: 0x7ae + ;; code offset: 0x750 (i32.const 2) ) - ;; code offset: 0x7ba + ;; code offset: 0x75c (local.set $169 - ;; code offset: 0x7b9 + ;; code offset: 0x75b (i32.shl - ;; code offset: 0x7b3 + ;; code offset: 0x755 (local.get $167) - ;; code offset: 0x7b6 + ;; code offset: 0x758 (local.get $168) ) ) - ;; code offset: 0x7c4 + ;; code offset: 0x766 (local.set $170 - ;; code offset: 0x7c3 + ;; code offset: 0x765 (i32.add - ;; code offset: 0x7bd + ;; code offset: 0x75f (local.get $166) - ;; code offset: 0x7c0 + ;; code offset: 0x762 (local.get $169) ) ) - ;; code offset: 0x7cd + ;; code offset: 0x76f (i32.store $mimport$0 - ;; code offset: 0x7c7 + ;; code offset: 0x769 (local.get $170) - ;; code offset: 0x7ca + ;; code offset: 0x76c (local.get $165) ) - ;; code offset: 0x7d7 + ;; code offset: 0x777 (local.set $171 - ;; code offset: 0x7d3 + ;; code offset: 0x774 (i32.load $mimport$0 offset=12 - ;; code offset: 0x7d1 + ;; code offset: 0x772 (local.get $3) ) ) - ;; code offset: 0x7df + ;; code offset: 0x77f (i32.store $mimport$0 offset=16 - ;; code offset: 0x7da + ;; code offset: 0x77a (local.get $3) - ;; code offset: 0x7dc + ;; code offset: 0x77c (local.get $171) ) - ;; code offset: 0x7e9 + ;; code offset: 0x787 (local.set $172 - ;; code offset: 0x7e5 + ;; code offset: 0x784 (i32.load $mimport$0 offset=16 - ;; code offset: 0x7e3 + ;; code offset: 0x782 (local.get $3) ) ) - ;; code offset: 0x7ef + ;; code offset: 0x78d (br_if $label$9 - ;; code offset: 0x7ec + ;; code offset: 0x78a (local.get $172) ) ) - ;; code offset: 0x7f8 + ;; code offset: 0x795 (local.set $173 - ;; code offset: 0x7f4 + ;; code offset: 0x792 (i32.load $mimport$0 offset=40 - ;; code offset: 0x7f2 + ;; code offset: 0x790 (local.get $3) ) ) - ;; code offset: 0x801 + ;; code offset: 0x79d (local.set $174 - ;; code offset: 0x7fd + ;; code offset: 0x79a (i32.load $mimport$0 offset=36 - ;; code offset: 0x7fb + ;; code offset: 0x798 (local.get $3) ) ) - ;; code offset: 0x807 + ;; code offset: 0x7a3 (local.set $175 - ;; code offset: 0x804 + ;; code offset: 0x7a0 (local.get $173) ) - ;; code offset: 0x80d + ;; code offset: 0x7a9 (local.set $176 - ;; code offset: 0x80a + ;; code offset: 0x7a6 (local.get $174) ) - ;; code offset: 0x817 + ;; code offset: 0x7b3 (local.set $177 - ;; code offset: 0x816 + ;; code offset: 0x7b2 (i32.lt_s - ;; code offset: 0x810 + ;; code offset: 0x7ac (local.get $175) - ;; code offset: 0x813 + ;; code offset: 0x7af (local.get $176) ) ) - ;; code offset: 0x81c + ;; code offset: 0x7b8 (local.set $178 - ;; code offset: 0x81a + ;; code offset: 0x7b6 (i32.const 1) ) - ;; code offset: 0x826 + ;; code offset: 0x7c2 (local.set $179 - ;; code offset: 0x825 + ;; code offset: 0x7c1 (i32.and - ;; code offset: 0x81f + ;; code offset: 0x7bb (local.get $177) - ;; code offset: 0x822 + ;; code offset: 0x7be (local.get $178) ) ) - ;; code offset: 0x829 + ;; code offset: 0x7c5 (block $label$12 - ;; code offset: 0x82f + ;; code offset: 0x7cb (br_if $label$12 - ;; code offset: 0x82e + ;; code offset: 0x7ca (i32.eqz - ;; code offset: 0x82b + ;; code offset: 0x7c7 (local.get $179) ) ) - ;; code offset: 0x837 + ;; code offset: 0x7d2 (local.set $180 - ;; code offset: 0x833 + ;; code offset: 0x7cf (i32.load $mimport$0 offset=36 - ;; code offset: 0x831 + ;; code offset: 0x7cd (local.get $3) ) ) - ;; code offset: 0x83f + ;; code offset: 0x7da (i32.store $mimport$0 offset=40 - ;; code offset: 0x83a + ;; code offset: 0x7d5 (local.get $3) - ;; code offset: 0x83c + ;; code offset: 0x7d7 (local.get $180) ) ) ) - ;; code offset: 0x845 + ;; code offset: 0x7df (loop $label$13 - ;; code offset: 0x84d + ;; code offset: 0x7e6 (local.set $181 - ;; code offset: 0x849 + ;; code offset: 0x7e3 (i32.load $mimport$0 offset=24 - ;; code offset: 0x847 + ;; code offset: 0x7e1 (local.get $3) ) ) - ;; code offset: 0x856 + ;; code offset: 0x7ee (local.set $182 - ;; code offset: 0x852 + ;; code offset: 0x7eb (i32.load $mimport$0 offset=28 - ;; code offset: 0x850 + ;; code offset: 0x7e9 (local.get $3) ) ) - ;; code offset: 0x85b + ;; code offset: 0x7f3 (local.set $183 - ;; code offset: 0x859 + ;; code offset: 0x7f1 (i32.const 1) ) - ;; code offset: 0x865 + ;; code offset: 0x7fd (local.set $184 - ;; code offset: 0x864 + ;; code offset: 0x7fc (i32.sub - ;; code offset: 0x85e + ;; code offset: 0x7f6 (local.get $182) - ;; code offset: 0x861 + ;; code offset: 0x7f9 (local.get $183) ) ) - ;; code offset: 0x86b + ;; code offset: 0x803 (local.set $185 - ;; code offset: 0x868 + ;; code offset: 0x800 (local.get $181) ) - ;; code offset: 0x871 + ;; code offset: 0x809 (local.set $186 - ;; code offset: 0x86e + ;; code offset: 0x806 (local.get $184) ) - ;; code offset: 0x87b + ;; code offset: 0x813 (local.set $187 - ;; code offset: 0x87a + ;; code offset: 0x812 (i32.ge_s - ;; code offset: 0x874 + ;; code offset: 0x80c (local.get $185) - ;; code offset: 0x877 + ;; code offset: 0x80f (local.get $186) ) ) - ;; code offset: 0x880 + ;; code offset: 0x818 (local.set $188 - ;; code offset: 0x87e + ;; code offset: 0x816 (i32.const 1) ) - ;; code offset: 0x88a + ;; code offset: 0x822 (local.set $189 - ;; code offset: 0x889 + ;; code offset: 0x821 (i32.and - ;; code offset: 0x883 + ;; code offset: 0x81b (local.get $187) - ;; code offset: 0x886 + ;; code offset: 0x81e (local.get $188) ) ) - ;; code offset: 0x88d + ;; code offset: 0x825 (block $label$14 - ;; code offset: 0x893 + ;; code offset: 0x82b (br_if $label$14 - ;; code offset: 0x892 + ;; code offset: 0x82a (i32.eqz - ;; code offset: 0x88f + ;; code offset: 0x827 (local.get $189) ) ) - ;; code offset: 0x89b + ;; code offset: 0x832 (local.set $190 - ;; code offset: 0x897 + ;; code offset: 0x82f (i32.load $mimport$0 offset=52 - ;; code offset: 0x895 + ;; code offset: 0x82d (local.get $3) ) ) - ;; code offset: 0x8a1 + ;; code offset: 0x838 (call $free - ;; code offset: 0x89e + ;; code offset: 0x835 (local.get $190) ) - ;; code offset: 0x8a9 + ;; code offset: 0x83f (local.set $191 - ;; code offset: 0x8a5 + ;; code offset: 0x83c (i32.load $mimport$0 offset=44 - ;; code offset: 0x8a3 + ;; code offset: 0x83a (local.get $3) ) ) - ;; code offset: 0x8af + ;; code offset: 0x845 (call $free - ;; code offset: 0x8ac + ;; code offset: 0x842 (local.get $191) ) - ;; code offset: 0x8b7 + ;; code offset: 0x84c (local.set $192 - ;; code offset: 0x8b3 + ;; code offset: 0x849 (i32.load $mimport$0 offset=48 - ;; code offset: 0x8b1 + ;; code offset: 0x847 (local.get $3) ) ) - ;; code offset: 0x8bd + ;; code offset: 0x852 (call $free - ;; code offset: 0x8ba + ;; code offset: 0x84f (local.get $192) ) - ;; code offset: 0x8c5 + ;; code offset: 0x859 (local.set $193 - ;; code offset: 0x8c1 + ;; code offset: 0x856 (i32.load $mimport$0 offset=40 - ;; code offset: 0x8bf + ;; code offset: 0x854 (local.get $3) ) ) - ;; code offset: 0x8cb + ;; code offset: 0x85f (local.set $194 - ;; code offset: 0x8c8 + ;; code offset: 0x85c (i32.const 64) ) - ;; code offset: 0x8d4 + ;; code offset: 0x868 (local.set $195 - ;; code offset: 0x8d3 + ;; code offset: 0x867 (i32.add - ;; code offset: 0x8ce + ;; code offset: 0x862 (local.get $3) - ;; code offset: 0x8d0 + ;; code offset: 0x864 (local.get $194) ) ) - ;; code offset: 0x8da + ;; code offset: 0x86e (global.set $global$0 - ;; code offset: 0x8d7 + ;; code offset: 0x86b (local.get $195) ) - ;; code offset: 0x8df + ;; code offset: 0x873 (return - ;; code offset: 0x8dc + ;; code offset: 0x870 (local.get $193) ) ) - ;; code offset: 0x8e3 + ;; code offset: 0x877 (local.set $196 - ;; code offset: 0x8e1 + ;; code offset: 0x875 (i32.const 0) ) - ;; code offset: 0x8ec + ;; code offset: 0x87f (local.set $197 - ;; code offset: 0x8e8 + ;; code offset: 0x87c (i32.load $mimport$0 offset=52 - ;; code offset: 0x8e6 + ;; code offset: 0x87a (local.get $3) ) ) - ;; code offset: 0x8f6 + ;; code offset: 0x888 (local.set $198 - ;; code offset: 0x8f2 + ;; code offset: 0x885 (i32.load $mimport$0 - ;; code offset: 0x8ef + ;; code offset: 0x882 (local.get $197) ) ) - ;; code offset: 0x8fe + ;; code offset: 0x890 (i32.store $mimport$0 offset=8 - ;; code offset: 0x8f9 + ;; code offset: 0x88b (local.get $3) - ;; code offset: 0x8fb + ;; code offset: 0x88d (local.get $198) ) - ;; code offset: 0x907 + ;; code offset: 0x898 (i32.store $mimport$0 offset=32 - ;; code offset: 0x902 + ;; code offset: 0x893 (local.get $3) - ;; code offset: 0x904 + ;; code offset: 0x895 (local.get $196) ) - ;; code offset: 0x90b + ;; code offset: 0x89b (block $label$15 - ;; code offset: 0x90d + ;; code offset: 0x89d (loop $label$16 - ;; code offset: 0x915 + ;; code offset: 0x8a4 (local.set $199 - ;; code offset: 0x911 + ;; code offset: 0x8a1 (i32.load $mimport$0 offset=32 - ;; code offset: 0x90f + ;; code offset: 0x89f (local.get $3) ) ) - ;; code offset: 0x91e + ;; code offset: 0x8ac (local.set $200 - ;; code offset: 0x91a + ;; code offset: 0x8a9 (i32.load $mimport$0 offset=24 - ;; code offset: 0x918 + ;; code offset: 0x8a7 (local.get $3) ) ) - ;; code offset: 0x924 + ;; code offset: 0x8b2 (local.set $201 - ;; code offset: 0x921 + ;; code offset: 0x8af (local.get $199) ) - ;; code offset: 0x92a + ;; code offset: 0x8b8 (local.set $202 - ;; code offset: 0x927 + ;; code offset: 0x8b5 (local.get $200) ) - ;; code offset: 0x934 + ;; code offset: 0x8c2 (local.set $203 - ;; code offset: 0x933 + ;; code offset: 0x8c1 (i32.lt_s - ;; code offset: 0x92d + ;; code offset: 0x8bb (local.get $201) - ;; code offset: 0x930 + ;; code offset: 0x8be (local.get $202) ) ) - ;; code offset: 0x939 + ;; code offset: 0x8c7 (local.set $204 - ;; code offset: 0x937 + ;; code offset: 0x8c5 (i32.const 1) ) - ;; code offset: 0x943 + ;; code offset: 0x8d1 (local.set $205 - ;; code offset: 0x942 + ;; code offset: 0x8d0 (i32.and - ;; code offset: 0x93c + ;; code offset: 0x8ca (local.get $203) - ;; code offset: 0x93f + ;; code offset: 0x8cd (local.get $204) ) ) - ;; code offset: 0x94a + ;; code offset: 0x8d8 (br_if $label$15 - ;; code offset: 0x949 + ;; code offset: 0x8d7 (i32.eqz - ;; code offset: 0x946 + ;; code offset: 0x8d4 (local.get $205) ) ) - ;; code offset: 0x952 + ;; code offset: 0x8df (local.set $206 - ;; code offset: 0x94e + ;; code offset: 0x8dc (i32.load $mimport$0 offset=52 - ;; code offset: 0x94c + ;; code offset: 0x8da (local.get $3) ) ) - ;; code offset: 0x95b + ;; code offset: 0x8e7 (local.set $207 - ;; code offset: 0x957 + ;; code offset: 0x8e4 (i32.load $mimport$0 offset=32 - ;; code offset: 0x955 + ;; code offset: 0x8e2 (local.get $3) ) ) - ;; code offset: 0x960 + ;; code offset: 0x8ec (local.set $208 - ;; code offset: 0x95e + ;; code offset: 0x8ea (i32.const 1) ) - ;; code offset: 0x96a + ;; code offset: 0x8f6 (local.set $209 - ;; code offset: 0x969 + ;; code offset: 0x8f5 (i32.add - ;; code offset: 0x963 + ;; code offset: 0x8ef (local.get $207) - ;; code offset: 0x966 + ;; code offset: 0x8f2 (local.get $208) ) ) - ;; code offset: 0x96f + ;; code offset: 0x8fb (local.set $210 - ;; code offset: 0x96d + ;; code offset: 0x8f9 (i32.const 2) ) - ;; code offset: 0x979 + ;; code offset: 0x905 (local.set $211 - ;; code offset: 0x978 + ;; code offset: 0x904 (i32.shl - ;; code offset: 0x972 + ;; code offset: 0x8fe (local.get $209) - ;; code offset: 0x975 + ;; code offset: 0x901 (local.get $210) ) ) - ;; code offset: 0x983 + ;; code offset: 0x90f (local.set $212 - ;; code offset: 0x982 + ;; code offset: 0x90e (i32.add - ;; code offset: 0x97c + ;; code offset: 0x908 (local.get $206) - ;; code offset: 0x97f + ;; code offset: 0x90b (local.get $211) ) ) - ;; code offset: 0x98d + ;; code offset: 0x918 (local.set $213 - ;; code offset: 0x989 + ;; code offset: 0x915 (i32.load $mimport$0 - ;; code offset: 0x986 + ;; code offset: 0x912 (local.get $212) ) ) - ;; code offset: 0x996 + ;; code offset: 0x920 (local.set $214 - ;; code offset: 0x992 + ;; code offset: 0x91d (i32.load $mimport$0 offset=52 - ;; code offset: 0x990 + ;; code offset: 0x91b (local.get $3) ) ) - ;; code offset: 0x99f + ;; code offset: 0x928 (local.set $215 - ;; code offset: 0x99b + ;; code offset: 0x925 (i32.load $mimport$0 offset=32 - ;; code offset: 0x999 + ;; code offset: 0x923 (local.get $3) ) ) - ;; code offset: 0x9a4 + ;; code offset: 0x92d (local.set $216 - ;; code offset: 0x9a2 + ;; code offset: 0x92b (i32.const 2) ) - ;; code offset: 0x9ae + ;; code offset: 0x937 (local.set $217 - ;; code offset: 0x9ad + ;; code offset: 0x936 (i32.shl - ;; code offset: 0x9a7 + ;; code offset: 0x930 (local.get $215) - ;; code offset: 0x9aa + ;; code offset: 0x933 (local.get $216) ) ) - ;; code offset: 0x9b8 + ;; code offset: 0x941 (local.set $218 - ;; code offset: 0x9b7 + ;; code offset: 0x940 (i32.add - ;; code offset: 0x9b1 + ;; code offset: 0x93a (local.get $214) - ;; code offset: 0x9b4 + ;; code offset: 0x93d (local.get $217) ) ) - ;; code offset: 0x9c1 + ;; code offset: 0x94a (i32.store $mimport$0 - ;; code offset: 0x9bb + ;; code offset: 0x944 (local.get $218) - ;; code offset: 0x9be + ;; code offset: 0x947 (local.get $213) ) - ;; code offset: 0x9cb + ;; code offset: 0x952 (local.set $219 - ;; code offset: 0x9c7 + ;; code offset: 0x94f (i32.load $mimport$0 offset=32 - ;; code offset: 0x9c5 + ;; code offset: 0x94d (local.get $3) ) ) - ;; code offset: 0x9d0 + ;; code offset: 0x957 (local.set $220 - ;; code offset: 0x9ce + ;; code offset: 0x955 (i32.const 1) ) - ;; code offset: 0x9da + ;; code offset: 0x961 (local.set $221 - ;; code offset: 0x9d9 + ;; code offset: 0x960 (i32.add - ;; code offset: 0x9d3 + ;; code offset: 0x95a (local.get $219) - ;; code offset: 0x9d6 + ;; code offset: 0x95d (local.get $220) ) ) - ;; code offset: 0x9e2 + ;; code offset: 0x969 (i32.store $mimport$0 offset=32 - ;; code offset: 0x9dd + ;; code offset: 0x964 (local.get $3) - ;; code offset: 0x9df + ;; code offset: 0x966 (local.get $221) ) - ;; code offset: 0x9e6 + ;; code offset: 0x96c (br $label$16) ) ) - ;; code offset: 0x9ed + ;; code offset: 0x973 (local.set $222 - ;; code offset: 0x9eb + ;; code offset: 0x971 (i32.const 0) ) - ;; code offset: 0x9f6 + ;; code offset: 0x97b (local.set $223 - ;; code offset: 0x9f2 + ;; code offset: 0x978 (i32.load $mimport$0 offset=8 - ;; code offset: 0x9f0 + ;; code offset: 0x976 (local.get $3) ) ) - ;; code offset: 0x9ff + ;; code offset: 0x983 (local.set $224 - ;; code offset: 0x9fb + ;; code offset: 0x980 (i32.load $mimport$0 offset=52 - ;; code offset: 0x9f9 + ;; code offset: 0x97e (local.get $3) ) ) - ;; code offset: 0xa08 + ;; code offset: 0x98b (local.set $225 - ;; code offset: 0xa04 + ;; code offset: 0x988 (i32.load $mimport$0 offset=32 - ;; code offset: 0xa02 + ;; code offset: 0x986 (local.get $3) ) ) - ;; code offset: 0xa0d + ;; code offset: 0x990 (local.set $226 - ;; code offset: 0xa0b + ;; code offset: 0x98e (i32.const 2) ) - ;; code offset: 0xa17 + ;; code offset: 0x99a (local.set $227 - ;; code offset: 0xa16 + ;; code offset: 0x999 (i32.shl - ;; code offset: 0xa10 + ;; code offset: 0x993 (local.get $225) - ;; code offset: 0xa13 + ;; code offset: 0x996 (local.get $226) ) ) - ;; code offset: 0xa21 + ;; code offset: 0x9a4 (local.set $228 - ;; code offset: 0xa20 + ;; code offset: 0x9a3 (i32.add - ;; code offset: 0xa1a + ;; code offset: 0x99d (local.get $224) - ;; code offset: 0xa1d + ;; code offset: 0x9a0 (local.get $227) ) ) - ;; code offset: 0xa2a + ;; code offset: 0x9ad (i32.store $mimport$0 - ;; code offset: 0xa24 + ;; code offset: 0x9a7 (local.get $228) - ;; code offset: 0xa27 + ;; code offset: 0x9aa (local.get $223) ) - ;; code offset: 0xa34 + ;; code offset: 0x9b5 (local.set $229 - ;; code offset: 0xa30 + ;; code offset: 0x9b2 (i32.load $mimport$0 offset=48 - ;; code offset: 0xa2e + ;; code offset: 0x9b0 (local.get $3) ) ) - ;; code offset: 0xa3d + ;; code offset: 0x9bd (local.set $230 - ;; code offset: 0xa39 + ;; code offset: 0x9ba (i32.load $mimport$0 offset=24 - ;; code offset: 0xa37 + ;; code offset: 0x9b8 (local.get $3) ) ) - ;; code offset: 0xa42 + ;; code offset: 0x9c2 (local.set $231 - ;; code offset: 0xa40 + ;; code offset: 0x9c0 (i32.const 2) ) - ;; code offset: 0xa4c + ;; code offset: 0x9cc (local.set $232 - ;; code offset: 0xa4b + ;; code offset: 0x9cb (i32.shl - ;; code offset: 0xa45 + ;; code offset: 0x9c5 (local.get $230) - ;; code offset: 0xa48 + ;; code offset: 0x9c8 (local.get $231) ) ) - ;; code offset: 0xa56 + ;; code offset: 0x9d6 (local.set $233 - ;; code offset: 0xa55 + ;; code offset: 0x9d5 (i32.add - ;; code offset: 0xa4f + ;; code offset: 0x9cf (local.get $229) - ;; code offset: 0xa52 + ;; code offset: 0x9d2 (local.get $232) ) ) - ;; code offset: 0xa60 + ;; code offset: 0x9df (local.set $234 - ;; code offset: 0xa5c + ;; code offset: 0x9dc (i32.load $mimport$0 - ;; code offset: 0xa59 + ;; code offset: 0x9d9 (local.get $233) ) ) - ;; code offset: 0xa65 + ;; code offset: 0x9e4 (local.set $235 - ;; code offset: 0xa63 + ;; code offset: 0x9e2 (i32.const -1) ) - ;; code offset: 0xa6f + ;; code offset: 0x9ee (local.set $236 - ;; code offset: 0xa6e + ;; code offset: 0x9ed (i32.add - ;; code offset: 0xa68 + ;; code offset: 0x9e7 (local.get $234) - ;; code offset: 0xa6b + ;; code offset: 0x9ea (local.get $235) ) ) - ;; code offset: 0xa78 + ;; code offset: 0x9f7 (i32.store $mimport$0 - ;; code offset: 0xa72 + ;; code offset: 0x9f1 (local.get $233) - ;; code offset: 0xa75 + ;; code offset: 0x9f4 (local.get $236) ) - ;; code offset: 0xa7f + ;; code offset: 0x9fd (local.set $237 - ;; code offset: 0xa7c + ;; code offset: 0x9fa (local.get $236) ) - ;; code offset: 0xa85 + ;; code offset: 0xa03 (local.set $238 - ;; code offset: 0xa82 + ;; code offset: 0xa00 (local.get $222) ) - ;; code offset: 0xa8f + ;; code offset: 0xa0d (local.set $239 - ;; code offset: 0xa8e + ;; code offset: 0xa0c (i32.gt_s - ;; code offset: 0xa88 + ;; code offset: 0xa06 (local.get $237) - ;; code offset: 0xa8b + ;; code offset: 0xa09 (local.get $238) ) ) - ;; code offset: 0xa94 + ;; code offset: 0xa12 (local.set $240 - ;; code offset: 0xa92 + ;; code offset: 0xa10 (i32.const 1) ) - ;; code offset: 0xa9e + ;; code offset: 0xa1c (local.set $241 - ;; code offset: 0xa9d + ;; code offset: 0xa1b (i32.and - ;; code offset: 0xa97 + ;; code offset: 0xa15 (local.get $239) - ;; code offset: 0xa9a + ;; code offset: 0xa18 (local.get $240) ) ) - ;; code offset: 0xaa1 + ;; code offset: 0xa1f (block $label$17 (block $label$18 - ;; code offset: 0xaa9 + ;; code offset: 0xa27 (br_if $label$18 - ;; code offset: 0xaa8 + ;; code offset: 0xa26 (i32.eqz - ;; code offset: 0xaa5 + ;; code offset: 0xa23 (local.get $241) ) ) - ;; code offset: 0xaab + ;; code offset: 0xa29 (br $label$17) ) - ;; code offset: 0xab4 + ;; code offset: 0xa31 (local.set $242 - ;; code offset: 0xab0 + ;; code offset: 0xa2e (i32.load $mimport$0 offset=24 - ;; code offset: 0xaae + ;; code offset: 0xa2c (local.get $3) ) ) - ;; code offset: 0xab9 + ;; code offset: 0xa36 (local.set $243 - ;; code offset: 0xab7 + ;; code offset: 0xa34 (i32.const 1) ) - ;; code offset: 0xac3 + ;; code offset: 0xa40 (local.set $244 - ;; code offset: 0xac2 + ;; code offset: 0xa3f (i32.add - ;; code offset: 0xabc + ;; code offset: 0xa39 (local.get $242) - ;; code offset: 0xabf + ;; code offset: 0xa3c (local.get $243) ) ) - ;; code offset: 0xacb + ;; code offset: 0xa48 (i32.store $mimport$0 offset=24 - ;; code offset: 0xac6 + ;; code offset: 0xa43 (local.get $3) - ;; code offset: 0xac8 + ;; code offset: 0xa45 (local.get $244) ) - ;; code offset: 0xacf + ;; code offset: 0xa4b (br $label$13) ) ) - ;; code offset: 0xad3 + ;; code offset: 0xa4f (br $label$3) ) ) @@ -7826,362 +7826,362 @@ file_names[ 3]: (local $34 i32) (local $35 i32) (local $36 i32) - ;; code offset: 0xb22 + ;; code offset: 0xa9e (local.set $2 - ;; code offset: 0xb20 + ;; code offset: 0xa9c (global.get $global$0) ) - ;; code offset: 0xb26 + ;; code offset: 0xaa2 (local.set $3 - ;; code offset: 0xb24 + ;; code offset: 0xaa0 (i32.const 32) ) - ;; code offset: 0xb2d + ;; code offset: 0xaa9 (local.set $4 - ;; code offset: 0xb2c + ;; code offset: 0xaa8 (i32.sub - ;; code offset: 0xb28 + ;; code offset: 0xaa4 (local.get $2) - ;; code offset: 0xb2a + ;; code offset: 0xaa6 (local.get $3) ) ) - ;; code offset: 0xb31 + ;; code offset: 0xaad (global.set $global$0 - ;; code offset: 0xb2f + ;; code offset: 0xaab (local.get $4) ) - ;; code offset: 0xb35 + ;; code offset: 0xab1 (local.set $5 - ;; code offset: 0xb33 + ;; code offset: 0xaaf (i32.const 1) ) - ;; code offset: 0xb39 + ;; code offset: 0xab5 (local.set $6 - ;; code offset: 0xb37 + ;; code offset: 0xab3 (i32.const 0) ) - ;; code offset: 0xb3f + ;; code offset: 0xabb (i32.store $mimport$0 offset=28 - ;; code offset: 0xb3b + ;; code offset: 0xab7 (local.get $4) - ;; code offset: 0xb3d + ;; code offset: 0xab9 (local.get $6) ) - ;; code offset: 0xb47 + ;; code offset: 0xac2 (i32.store $mimport$0 offset=24 - ;; code offset: 0xb43 + ;; code offset: 0xabe (local.get $4) - ;; code offset: 0xb45 + ;; code offset: 0xac0 (local.get $0) ) - ;; code offset: 0xb4f + ;; code offset: 0xac9 (i32.store $mimport$0 offset=20 - ;; code offset: 0xb4b + ;; code offset: 0xac5 (local.get $4) - ;; code offset: 0xb4d + ;; code offset: 0xac7 (local.get $1) ) - ;; code offset: 0xb59 + ;; code offset: 0xad1 (local.set $7 - ;; code offset: 0xb55 + ;; code offset: 0xace (i32.load $mimport$0 offset=24 - ;; code offset: 0xb53 + ;; code offset: 0xacc (local.get $4) ) ) - ;; code offset: 0xb5d + ;; code offset: 0xad5 (local.set $8 - ;; code offset: 0xb5b + ;; code offset: 0xad3 (local.get $7) ) - ;; code offset: 0xb61 + ;; code offset: 0xad9 (local.set $9 - ;; code offset: 0xb5f + ;; code offset: 0xad7 (local.get $5) ) - ;; code offset: 0xb68 + ;; code offset: 0xae0 (local.set $10 - ;; code offset: 0xb67 + ;; code offset: 0xadf (i32.gt_s - ;; code offset: 0xb63 + ;; code offset: 0xadb (local.get $8) - ;; code offset: 0xb65 + ;; code offset: 0xadd (local.get $9) ) ) - ;; code offset: 0xb6c + ;; code offset: 0xae4 (local.set $11 - ;; code offset: 0xb6a + ;; code offset: 0xae2 (i32.const 1) ) - ;; code offset: 0xb73 + ;; code offset: 0xaeb (local.set $12 - ;; code offset: 0xb72 + ;; code offset: 0xaea (i32.and - ;; code offset: 0xb6e + ;; code offset: 0xae6 (local.get $10) - ;; code offset: 0xb70 + ;; code offset: 0xae8 (local.get $11) ) ) - ;; code offset: 0xb75 + ;; code offset: 0xaed (block $label$1 (block $label$2 - ;; code offset: 0xb7c + ;; code offset: 0xaf4 (br_if $label$2 - ;; code offset: 0xb7b + ;; code offset: 0xaf3 (i32.eqz - ;; code offset: 0xb79 + ;; code offset: 0xaf1 (local.get $12) ) ) - ;; code offset: 0xb84 + ;; code offset: 0xafb (local.set $13 - ;; code offset: 0xb80 + ;; code offset: 0xaf8 (i32.load $mimport$0 offset=20 - ;; code offset: 0xb7e + ;; code offset: 0xaf6 (local.get $4) ) ) - ;; code offset: 0xb8c + ;; code offset: 0xb02 (local.set $14 - ;; code offset: 0xb88 + ;; code offset: 0xaff (i32.load $mimport$0 offset=4 - ;; code offset: 0xb86 + ;; code offset: 0xafd (local.get $13) ) ) - ;; code offset: 0xb92 + ;; code offset: 0xb08 (local.set $15 - ;; code offset: 0xb90 + ;; code offset: 0xb06 (call $atoi - ;; code offset: 0xb8e + ;; code offset: 0xb04 (local.get $14) ) ) - ;; code offset: 0xb96 + ;; code offset: 0xb0c (local.set $16 - ;; code offset: 0xb94 + ;; code offset: 0xb0a (local.get $15) ) - ;; code offset: 0xb98 + ;; code offset: 0xb0e (br $label$1) ) - ;; code offset: 0xb9d + ;; code offset: 0xb13 (local.set $17 - ;; code offset: 0xb9b + ;; code offset: 0xb11 (i32.const 0) ) - ;; code offset: 0xba1 + ;; code offset: 0xb17 (local.set $16 - ;; code offset: 0xb9f + ;; code offset: 0xb15 (local.get $17) ) ) - ;; code offset: 0xba6 + ;; code offset: 0xb1c (local.set $18 - ;; code offset: 0xba4 + ;; code offset: 0xb1a (local.get $16) ) - ;; code offset: 0xbaa + ;; code offset: 0xb20 (local.set $19 - ;; code offset: 0xba8 + ;; code offset: 0xb1e (i32.const 1) ) - ;; code offset: 0xbb0 + ;; code offset: 0xb26 (i32.store $mimport$0 offset=16 - ;; code offset: 0xbac + ;; code offset: 0xb22 (local.get $4) - ;; code offset: 0xbae + ;; code offset: 0xb24 (local.get $18) ) - ;; code offset: 0xbba + ;; code offset: 0xb2e (local.set $20 - ;; code offset: 0xbb6 + ;; code offset: 0xb2b (i32.load $mimport$0 offset=16 - ;; code offset: 0xbb4 + ;; code offset: 0xb29 (local.get $4) ) ) - ;; code offset: 0xbbe + ;; code offset: 0xb32 (local.set $21 - ;; code offset: 0xbbc + ;; code offset: 0xb30 (local.get $20) ) - ;; code offset: 0xbc2 + ;; code offset: 0xb36 (local.set $22 - ;; code offset: 0xbc0 + ;; code offset: 0xb34 (local.get $19) ) - ;; code offset: 0xbc9 + ;; code offset: 0xb3d (local.set $23 - ;; code offset: 0xbc8 + ;; code offset: 0xb3c (i32.lt_s - ;; code offset: 0xbc4 + ;; code offset: 0xb38 (local.get $21) - ;; code offset: 0xbc6 + ;; code offset: 0xb3a (local.get $22) ) ) - ;; code offset: 0xbcd + ;; code offset: 0xb41 (local.set $24 - ;; code offset: 0xbcb + ;; code offset: 0xb3f (i32.const 1) ) - ;; code offset: 0xbd4 + ;; code offset: 0xb48 (local.set $25 - ;; code offset: 0xbd3 + ;; code offset: 0xb47 (i32.and - ;; code offset: 0xbcf + ;; code offset: 0xb43 (local.get $23) - ;; code offset: 0xbd1 + ;; code offset: 0xb45 (local.get $24) ) ) - ;; code offset: 0xbd6 + ;; code offset: 0xb4a (block $label$3 (block $label$4 - ;; code offset: 0xbdd + ;; code offset: 0xb51 (br_if $label$4 - ;; code offset: 0xbdc + ;; code offset: 0xb50 (i32.eqz - ;; code offset: 0xbda + ;; code offset: 0xb4e (local.get $25) ) ) - ;; code offset: 0xbe2 + ;; code offset: 0xb56 (local.set $26 - ;; code offset: 0xbdf + ;; code offset: 0xb53 (i32.const 1024) ) - ;; code offset: 0xbe6 + ;; code offset: 0xb5a (local.set $27 - ;; code offset: 0xbe4 + ;; code offset: 0xb58 (i32.const 0) ) - ;; code offset: 0xbee + ;; code offset: 0xb62 (drop - ;; code offset: 0xbec + ;; code offset: 0xb60 (call $printf - ;; code offset: 0xbe8 + ;; code offset: 0xb5c (local.get $26) - ;; code offset: 0xbea + ;; code offset: 0xb5e (local.get $27) ) ) - ;; code offset: 0xbf1 + ;; code offset: 0xb65 (local.set $28 - ;; code offset: 0xbef + ;; code offset: 0xb63 (i32.const 1) ) - ;; code offset: 0xbf7 + ;; code offset: 0xb6b (i32.store $mimport$0 offset=28 - ;; code offset: 0xbf3 + ;; code offset: 0xb67 (local.get $4) - ;; code offset: 0xbf5 + ;; code offset: 0xb69 (local.get $28) ) - ;; code offset: 0xbfb + ;; code offset: 0xb6e (br $label$3) ) - ;; code offset: 0xc04 + ;; code offset: 0xb76 (local.set $29 - ;; code offset: 0xc00 + ;; code offset: 0xb73 (i32.load $mimport$0 offset=16 - ;; code offset: 0xbfe + ;; code offset: 0xb71 (local.get $4) ) ) - ;; code offset: 0xc0c + ;; code offset: 0xb7d (local.set $30 - ;; code offset: 0xc08 + ;; code offset: 0xb7a (i32.load $mimport$0 offset=16 - ;; code offset: 0xc06 + ;; code offset: 0xb78 (local.get $4) ) ) - ;; code offset: 0xc12 + ;; code offset: 0xb83 (local.set $31 - ;; code offset: 0xc10 + ;; code offset: 0xb81 (call $fannkuch\28int\29 - ;; code offset: 0xc0e + ;; code offset: 0xb7f (local.get $30) ) ) - ;; code offset: 0xc18 + ;; code offset: 0xb89 (i32.store $mimport$0 offset=4 - ;; code offset: 0xc14 + ;; code offset: 0xb85 (local.get $4) - ;; code offset: 0xc16 + ;; code offset: 0xb87 (local.get $31) ) - ;; code offset: 0xc20 + ;; code offset: 0xb90 (i32.store $mimport$0 - ;; code offset: 0xc1c + ;; code offset: 0xb8c (local.get $4) - ;; code offset: 0xc1e + ;; code offset: 0xb8e (local.get $29) ) - ;; code offset: 0xc27 + ;; code offset: 0xb96 (local.set $32 - ;; code offset: 0xc24 + ;; code offset: 0xb93 (i32.const 1041) ) - ;; code offset: 0xc2f + ;; code offset: 0xb9e (drop - ;; code offset: 0xc2d + ;; code offset: 0xb9c (call $printf - ;; code offset: 0xc29 + ;; code offset: 0xb98 (local.get $32) - ;; code offset: 0xc2b + ;; code offset: 0xb9a (local.get $4) ) ) - ;; code offset: 0xc32 + ;; code offset: 0xba1 (local.set $33 - ;; code offset: 0xc30 + ;; code offset: 0xb9f (i32.const 0) ) - ;; code offset: 0xc38 + ;; code offset: 0xba7 (i32.store $mimport$0 offset=28 - ;; code offset: 0xc34 + ;; code offset: 0xba3 (local.get $4) - ;; code offset: 0xc36 + ;; code offset: 0xba5 (local.get $33) ) ) - ;; code offset: 0xc43 + ;; code offset: 0xbb0 (local.set $34 - ;; code offset: 0xc3f + ;; code offset: 0xbad (i32.load $mimport$0 offset=28 - ;; code offset: 0xc3d + ;; code offset: 0xbab (local.get $4) ) ) - ;; code offset: 0xc47 + ;; code offset: 0xbb4 (local.set $35 - ;; code offset: 0xc45 + ;; code offset: 0xbb2 (i32.const 32) ) - ;; code offset: 0xc4e + ;; code offset: 0xbbb (local.set $36 - ;; code offset: 0xc4d + ;; code offset: 0xbba (i32.add - ;; code offset: 0xc49 + ;; code offset: 0xbb6 (local.get $4) - ;; code offset: 0xc4b + ;; code offset: 0xbb8 (local.get $35) ) ) - ;; code offset: 0xc52 + ;; code offset: 0xbbf (global.set $global$0 - ;; code offset: 0xc50 + ;; code offset: 0xbbd (local.get $36) ) - ;; code offset: 0xc56 + ;; code offset: 0xbc3 (return - ;; code offset: 0xc54 + ;; code offset: 0xbc1 (local.get $34) ) ) @@ -8365,1793 +8365,1793 @@ file_names[ 3]: (local $177 i32) (local $178 i32) (local $179 i32) - ;; code offset: 0xdc4 + ;; code offset: 0xd31 (local.set $1 - ;; code offset: 0xdc2 + ;; code offset: 0xd2f (global.get $global$0) ) - ;; code offset: 0xdc8 + ;; code offset: 0xd35 (local.set $2 - ;; code offset: 0xdc6 + ;; code offset: 0xd33 (i32.const 48) ) - ;; code offset: 0xdcf + ;; code offset: 0xd3c (local.set $3 - ;; code offset: 0xdce + ;; code offset: 0xd3b (i32.sub - ;; code offset: 0xdca + ;; code offset: 0xd37 (local.get $1) - ;; code offset: 0xdcc + ;; code offset: 0xd39 (local.get $2) ) ) - ;; code offset: 0xdd3 + ;; code offset: 0xd40 (global.set $global$0 - ;; code offset: 0xdd1 + ;; code offset: 0xd3e (local.get $3) ) - ;; code offset: 0xdd7 + ;; code offset: 0xd44 (local.set $4 - ;; code offset: 0xdd5 + ;; code offset: 0xd42 (i32.const 0) ) - ;; code offset: 0xddb + ;; code offset: 0xd48 (local.set $5 - ;; code offset: 0xdd9 + ;; code offset: 0xd46 (i32.const 30) ) - ;; code offset: 0xde1 + ;; code offset: 0xd4e (i32.store $mimport$0 offset=44 - ;; code offset: 0xddd + ;; code offset: 0xd4a (local.get $3) - ;; code offset: 0xddf + ;; code offset: 0xd4c (local.get $0) ) - ;; code offset: 0xde9 + ;; code offset: 0xd55 (i32.store $mimport$0 offset=32 - ;; code offset: 0xde5 + ;; code offset: 0xd51 (local.get $3) - ;; code offset: 0xde7 + ;; code offset: 0xd53 (local.get $5) ) - ;; code offset: 0xdf1 + ;; code offset: 0xd5c (i32.store $mimport$0 offset=40 - ;; code offset: 0xded + ;; code offset: 0xd58 (local.get $3) - ;; code offset: 0xdef + ;; code offset: 0xd5a (local.get $4) ) - ;; code offset: 0xdf9 + ;; code offset: 0xd63 (i32.store $mimport$0 offset=20 - ;; code offset: 0xdf5 + ;; code offset: 0xd5f (local.get $3) - ;; code offset: 0xdf7 + ;; code offset: 0xd61 (local.get $4) ) - ;; code offset: 0xdfd + ;; code offset: 0xd66 (block $label$1 - ;; code offset: 0xdff + ;; code offset: 0xd68 (loop $label$2 - ;; code offset: 0xe07 + ;; code offset: 0xd6f (local.set $6 - ;; code offset: 0xe03 + ;; code offset: 0xd6c (i32.load $mimport$0 offset=20 - ;; code offset: 0xe01 + ;; code offset: 0xd6a (local.get $3) ) ) - ;; code offset: 0xe0f + ;; code offset: 0xd76 (local.set $7 - ;; code offset: 0xe0b + ;; code offset: 0xd73 (i32.load $mimport$0 offset=44 - ;; code offset: 0xe09 + ;; code offset: 0xd71 (local.get $3) ) ) - ;; code offset: 0xe13 + ;; code offset: 0xd7a (local.set $8 - ;; code offset: 0xe11 + ;; code offset: 0xd78 (i32.const 1) ) - ;; code offset: 0xe1a + ;; code offset: 0xd81 (local.set $9 - ;; code offset: 0xe19 + ;; code offset: 0xd80 (i32.sub - ;; code offset: 0xe15 + ;; code offset: 0xd7c (local.get $7) - ;; code offset: 0xe17 + ;; code offset: 0xd7e (local.get $8) ) ) - ;; code offset: 0xe1e + ;; code offset: 0xd85 (local.set $10 - ;; code offset: 0xe1c + ;; code offset: 0xd83 (local.get $6) ) - ;; code offset: 0xe22 + ;; code offset: 0xd89 (local.set $11 - ;; code offset: 0xe20 + ;; code offset: 0xd87 (local.get $9) ) - ;; code offset: 0xe29 + ;; code offset: 0xd90 (local.set $12 - ;; code offset: 0xe28 + ;; code offset: 0xd8f (i32.lt_s - ;; code offset: 0xe24 + ;; code offset: 0xd8b (local.get $10) - ;; code offset: 0xe26 + ;; code offset: 0xd8d (local.get $11) ) ) - ;; code offset: 0xe2d + ;; code offset: 0xd94 (local.set $13 - ;; code offset: 0xe2b + ;; code offset: 0xd92 (i32.const 1) ) - ;; code offset: 0xe34 + ;; code offset: 0xd9b (local.set $14 - ;; code offset: 0xe33 + ;; code offset: 0xd9a (i32.and - ;; code offset: 0xe2f + ;; code offset: 0xd96 (local.get $12) - ;; code offset: 0xe31 + ;; code offset: 0xd98 (local.get $13) ) ) - ;; code offset: 0xe39 + ;; code offset: 0xda0 (br_if $label$1 - ;; code offset: 0xe38 + ;; code offset: 0xd9f (i32.eqz - ;; code offset: 0xe36 + ;; code offset: 0xd9d (local.get $14) ) ) - ;; code offset: 0xe3d + ;; code offset: 0xda4 (local.set $15 - ;; code offset: 0xe3b + ;; code offset: 0xda2 (i32.const 12) ) - ;; code offset: 0xe43 + ;; code offset: 0xdaa (local.set $16 - ;; code offset: 0xe41 + ;; code offset: 0xda8 (call $malloc - ;; code offset: 0xe3f + ;; code offset: 0xda6 (local.get $15) ) ) - ;; code offset: 0xe49 + ;; code offset: 0xdb0 (i32.store $mimport$0 offset=36 - ;; code offset: 0xe45 + ;; code offset: 0xdac (local.get $3) - ;; code offset: 0xe47 + ;; code offset: 0xdae (local.get $16) ) - ;; code offset: 0xe53 + ;; code offset: 0xdb8 (local.set $17 - ;; code offset: 0xe4f + ;; code offset: 0xdb5 (i32.load $mimport$0 offset=20 - ;; code offset: 0xe4d + ;; code offset: 0xdb3 (local.get $3) ) ) - ;; code offset: 0xe5b + ;; code offset: 0xdbf (local.set $18 - ;; code offset: 0xe57 + ;; code offset: 0xdbc (i32.load $mimport$0 offset=36 - ;; code offset: 0xe55 + ;; code offset: 0xdba (local.get $3) ) ) - ;; code offset: 0xe61 + ;; code offset: 0xdc5 (i32.store $mimport$0 - ;; code offset: 0xe5d + ;; code offset: 0xdc1 (local.get $18) - ;; code offset: 0xe5f + ;; code offset: 0xdc3 (local.get $17) ) - ;; code offset: 0xe6b + ;; code offset: 0xdcd (local.set $19 - ;; code offset: 0xe67 + ;; code offset: 0xdca (i32.load $mimport$0 offset=44 - ;; code offset: 0xe65 + ;; code offset: 0xdc8 (local.get $3) ) ) - ;; code offset: 0xe73 + ;; code offset: 0xdd4 (local.set $20 - ;; code offset: 0xe6f + ;; code offset: 0xdd1 (i32.load $mimport$0 offset=36 - ;; code offset: 0xe6d + ;; code offset: 0xdcf (local.get $3) ) ) - ;; code offset: 0xe79 + ;; code offset: 0xdda (i32.store $mimport$0 offset=4 - ;; code offset: 0xe75 + ;; code offset: 0xdd6 (local.get $20) - ;; code offset: 0xe77 + ;; code offset: 0xdd8 (local.get $19) ) - ;; code offset: 0xe83 + ;; code offset: 0xde2 (local.set $21 - ;; code offset: 0xe7f + ;; code offset: 0xddf (i32.load $mimport$0 offset=40 - ;; code offset: 0xe7d + ;; code offset: 0xddd (local.get $3) ) ) - ;; code offset: 0xe8b + ;; code offset: 0xde9 (local.set $22 - ;; code offset: 0xe87 + ;; code offset: 0xde6 (i32.load $mimport$0 offset=36 - ;; code offset: 0xe85 + ;; code offset: 0xde4 (local.get $3) ) ) - ;; code offset: 0xe91 + ;; code offset: 0xdef (i32.store $mimport$0 offset=8 - ;; code offset: 0xe8d + ;; code offset: 0xdeb (local.get $22) - ;; code offset: 0xe8f + ;; code offset: 0xded (local.get $21) ) - ;; code offset: 0xe9b + ;; code offset: 0xdf7 (local.set $23 - ;; code offset: 0xe97 + ;; code offset: 0xdf4 (i32.load $mimport$0 offset=36 - ;; code offset: 0xe95 + ;; code offset: 0xdf2 (local.get $3) ) ) - ;; code offset: 0xea1 + ;; code offset: 0xdfd (i32.store $mimport$0 offset=40 - ;; code offset: 0xe9d + ;; code offset: 0xdf9 (local.get $3) - ;; code offset: 0xe9f + ;; code offset: 0xdfb (local.get $23) ) - ;; code offset: 0xeab + ;; code offset: 0xe05 (local.set $24 - ;; code offset: 0xea7 + ;; code offset: 0xe02 (i32.load $mimport$0 offset=20 - ;; code offset: 0xea5 + ;; code offset: 0xe00 (local.get $3) ) ) - ;; code offset: 0xeaf + ;; code offset: 0xe09 (local.set $25 - ;; code offset: 0xead + ;; code offset: 0xe07 (i32.const 1) ) - ;; code offset: 0xeb6 + ;; code offset: 0xe10 (local.set $26 - ;; code offset: 0xeb5 + ;; code offset: 0xe0f (i32.add - ;; code offset: 0xeb1 + ;; code offset: 0xe0b (local.get $24) - ;; code offset: 0xeb3 + ;; code offset: 0xe0d (local.get $25) ) ) - ;; code offset: 0xebc + ;; code offset: 0xe16 (i32.store $mimport$0 offset=20 - ;; code offset: 0xeb8 + ;; code offset: 0xe12 (local.get $3) - ;; code offset: 0xeba + ;; code offset: 0xe14 (local.get $26) ) - ;; code offset: 0xec0 + ;; code offset: 0xe19 (br $label$2) ) ) - ;; code offset: 0xec7 + ;; code offset: 0xe20 (local.set $27 - ;; code offset: 0xec5 + ;; code offset: 0xe1e (i32.const 0) ) - ;; code offset: 0xecf + ;; code offset: 0xe27 (local.set $28 - ;; code offset: 0xecb + ;; code offset: 0xe24 (i32.load $mimport$0 offset=44 - ;; code offset: 0xec9 + ;; code offset: 0xe22 (local.get $3) ) ) - ;; code offset: 0xed3 + ;; code offset: 0xe2b (local.set $29 - ;; code offset: 0xed1 + ;; code offset: 0xe29 (i32.const 2) ) - ;; code offset: 0xeda + ;; code offset: 0xe32 (local.set $30 - ;; code offset: 0xed9 + ;; code offset: 0xe31 (i32.shl - ;; code offset: 0xed5 + ;; code offset: 0xe2d (local.get $28) - ;; code offset: 0xed7 + ;; code offset: 0xe2f (local.get $29) ) ) - ;; code offset: 0xee0 + ;; code offset: 0xe38 (local.set $31 - ;; code offset: 0xede + ;; code offset: 0xe36 (call $malloc - ;; code offset: 0xedc + ;; code offset: 0xe34 (local.get $30) ) ) - ;; code offset: 0xee6 + ;; code offset: 0xe3e (i32.store $mimport$0 offset=28 - ;; code offset: 0xee2 + ;; code offset: 0xe3a (local.get $3) - ;; code offset: 0xee4 + ;; code offset: 0xe3c (local.get $31) ) - ;; code offset: 0xef0 + ;; code offset: 0xe46 (local.set $32 - ;; code offset: 0xeec + ;; code offset: 0xe43 (i32.load $mimport$0 offset=44 - ;; code offset: 0xeea + ;; code offset: 0xe41 (local.get $3) ) ) - ;; code offset: 0xef4 + ;; code offset: 0xe4a (local.set $33 - ;; code offset: 0xef2 + ;; code offset: 0xe48 (i32.const 2) ) - ;; code offset: 0xefb + ;; code offset: 0xe51 (local.set $34 - ;; code offset: 0xefa + ;; code offset: 0xe50 (i32.shl - ;; code offset: 0xef6 + ;; code offset: 0xe4c (local.get $32) - ;; code offset: 0xef8 + ;; code offset: 0xe4e (local.get $33) ) ) - ;; code offset: 0xf01 + ;; code offset: 0xe57 (local.set $35 - ;; code offset: 0xeff + ;; code offset: 0xe55 (call $malloc - ;; code offset: 0xefd + ;; code offset: 0xe53 (local.get $34) ) ) - ;; code offset: 0xf07 + ;; code offset: 0xe5d (i32.store $mimport$0 offset=24 - ;; code offset: 0xf03 + ;; code offset: 0xe59 (local.get $3) - ;; code offset: 0xf05 + ;; code offset: 0xe5b (local.get $35) ) - ;; code offset: 0xf0f + ;; code offset: 0xe64 (i32.store $mimport$0 offset=20 - ;; code offset: 0xf0b + ;; code offset: 0xe60 (local.get $3) - ;; code offset: 0xf0d + ;; code offset: 0xe62 (local.get $27) ) - ;; code offset: 0xf13 + ;; code offset: 0xe67 (block $label$3 - ;; code offset: 0xf15 + ;; code offset: 0xe69 (loop $label$4 - ;; code offset: 0xf1d + ;; code offset: 0xe70 (local.set $36 - ;; code offset: 0xf19 + ;; code offset: 0xe6d (i32.load $mimport$0 offset=20 - ;; code offset: 0xf17 + ;; code offset: 0xe6b (local.get $3) ) ) - ;; code offset: 0xf25 + ;; code offset: 0xe77 (local.set $37 - ;; code offset: 0xf21 + ;; code offset: 0xe74 (i32.load $mimport$0 offset=44 - ;; code offset: 0xf1f + ;; code offset: 0xe72 (local.get $3) ) ) - ;; code offset: 0xf29 + ;; code offset: 0xe7b (local.set $38 - ;; code offset: 0xf27 + ;; code offset: 0xe79 (local.get $36) ) - ;; code offset: 0xf2d + ;; code offset: 0xe7f (local.set $39 - ;; code offset: 0xf2b + ;; code offset: 0xe7d (local.get $37) ) - ;; code offset: 0xf34 + ;; code offset: 0xe86 (local.set $40 - ;; code offset: 0xf33 + ;; code offset: 0xe85 (i32.lt_s - ;; code offset: 0xf2f + ;; code offset: 0xe81 (local.get $38) - ;; code offset: 0xf31 + ;; code offset: 0xe83 (local.get $39) ) ) - ;; code offset: 0xf38 + ;; code offset: 0xe8a (local.set $41 - ;; code offset: 0xf36 + ;; code offset: 0xe88 (i32.const 1) ) - ;; code offset: 0xf3f + ;; code offset: 0xe91 (local.set $42 - ;; code offset: 0xf3e + ;; code offset: 0xe90 (i32.and - ;; code offset: 0xf3a + ;; code offset: 0xe8c (local.get $40) - ;; code offset: 0xf3c + ;; code offset: 0xe8e (local.get $41) ) ) - ;; code offset: 0xf44 + ;; code offset: 0xe96 (br_if $label$3 - ;; code offset: 0xf43 + ;; code offset: 0xe95 (i32.eqz - ;; code offset: 0xf41 + ;; code offset: 0xe93 (local.get $42) ) ) - ;; code offset: 0xf4c + ;; code offset: 0xe9d (local.set $43 - ;; code offset: 0xf48 + ;; code offset: 0xe9a (i32.load $mimport$0 offset=20 - ;; code offset: 0xf46 + ;; code offset: 0xe98 (local.get $3) ) ) - ;; code offset: 0xf54 + ;; code offset: 0xea4 (local.set $44 - ;; code offset: 0xf50 + ;; code offset: 0xea1 (i32.load $mimport$0 offset=28 - ;; code offset: 0xf4e + ;; code offset: 0xe9f (local.get $3) ) ) - ;; code offset: 0xf5c + ;; code offset: 0xeab (local.set $45 - ;; code offset: 0xf58 + ;; code offset: 0xea8 (i32.load $mimport$0 offset=20 - ;; code offset: 0xf56 + ;; code offset: 0xea6 (local.get $3) ) ) - ;; code offset: 0xf60 + ;; code offset: 0xeaf (local.set $46 - ;; code offset: 0xf5e + ;; code offset: 0xead (i32.const 2) ) - ;; code offset: 0xf67 + ;; code offset: 0xeb6 (local.set $47 - ;; code offset: 0xf66 + ;; code offset: 0xeb5 (i32.shl - ;; code offset: 0xf62 + ;; code offset: 0xeb1 (local.get $45) - ;; code offset: 0xf64 + ;; code offset: 0xeb3 (local.get $46) ) ) - ;; code offset: 0xf6e + ;; code offset: 0xebd (local.set $48 - ;; code offset: 0xf6d + ;; code offset: 0xebc (i32.add - ;; code offset: 0xf69 + ;; code offset: 0xeb8 (local.get $44) - ;; code offset: 0xf6b + ;; code offset: 0xeba (local.get $47) ) ) - ;; code offset: 0xf74 + ;; code offset: 0xec3 (i32.store $mimport$0 - ;; code offset: 0xf70 + ;; code offset: 0xebf (local.get $48) - ;; code offset: 0xf72 + ;; code offset: 0xec1 (local.get $43) ) - ;; code offset: 0xf7e + ;; code offset: 0xecb (local.set $49 - ;; code offset: 0xf7a + ;; code offset: 0xec8 (i32.load $mimport$0 offset=20 - ;; code offset: 0xf78 + ;; code offset: 0xec6 (local.get $3) ) ) - ;; code offset: 0xf82 + ;; code offset: 0xecf (local.set $50 - ;; code offset: 0xf80 + ;; code offset: 0xecd (i32.const 1) ) - ;; code offset: 0xf89 + ;; code offset: 0xed6 (local.set $51 - ;; code offset: 0xf88 + ;; code offset: 0xed5 (i32.add - ;; code offset: 0xf84 + ;; code offset: 0xed1 (local.get $49) - ;; code offset: 0xf86 + ;; code offset: 0xed3 (local.get $50) ) ) - ;; code offset: 0xf8f + ;; code offset: 0xedc (i32.store $mimport$0 offset=20 - ;; code offset: 0xf8b + ;; code offset: 0xed8 (local.get $3) - ;; code offset: 0xf8d + ;; code offset: 0xeda (local.get $51) ) - ;; code offset: 0xf93 + ;; code offset: 0xedf (br $label$4) ) ) - ;; code offset: 0xf9e + ;; code offset: 0xee9 (local.set $52 - ;; code offset: 0xf9a + ;; code offset: 0xee6 (i32.load $mimport$0 offset=44 - ;; code offset: 0xf98 + ;; code offset: 0xee4 (local.get $3) ) ) - ;; code offset: 0xfa4 + ;; code offset: 0xeef (i32.store $mimport$0 offset=16 - ;; code offset: 0xfa0 + ;; code offset: 0xeeb (local.get $3) - ;; code offset: 0xfa2 + ;; code offset: 0xeed (local.get $52) ) - ;; code offset: 0xfa8 + ;; code offset: 0xef2 (block $label$5 - ;; code offset: 0xfaa + ;; code offset: 0xef4 (loop $label$6 - ;; code offset: 0xfb2 + ;; code offset: 0xefb (local.set $53 - ;; code offset: 0xfae + ;; code offset: 0xef8 (i32.load $mimport$0 offset=32 - ;; code offset: 0xfac + ;; code offset: 0xef6 (local.get $3) ) ) - ;; code offset: 0xfb4 + ;; code offset: 0xefd (block $label$7 (block $label$8 - ;; code offset: 0xfbb + ;; code offset: 0xf04 (br_if $label$8 - ;; code offset: 0xfba + ;; code offset: 0xf03 (i32.eqz - ;; code offset: 0xfb8 + ;; code offset: 0xf01 (local.get $53) ) ) - ;; code offset: 0xfbf + ;; code offset: 0xf08 (local.set $54 - ;; code offset: 0xfbd + ;; code offset: 0xf06 (i32.const 0) ) - ;; code offset: 0xfc5 + ;; code offset: 0xf0e (i32.store $mimport$0 offset=20 - ;; code offset: 0xfc1 + ;; code offset: 0xf0a (local.get $3) - ;; code offset: 0xfc3 + ;; code offset: 0xf0c (local.get $54) ) - ;; code offset: 0xfc9 + ;; code offset: 0xf11 (block $label$9 - ;; code offset: 0xfcb + ;; code offset: 0xf13 (loop $label$10 - ;; code offset: 0xfd3 + ;; code offset: 0xf1a (local.set $55 - ;; code offset: 0xfcf + ;; code offset: 0xf17 (i32.load $mimport$0 offset=20 - ;; code offset: 0xfcd + ;; code offset: 0xf15 (local.get $3) ) ) - ;; code offset: 0xfdb + ;; code offset: 0xf21 (local.set $56 - ;; code offset: 0xfd7 + ;; code offset: 0xf1e (i32.load $mimport$0 offset=44 - ;; code offset: 0xfd5 + ;; code offset: 0xf1c (local.get $3) ) ) - ;; code offset: 0xfdf + ;; code offset: 0xf25 (local.set $57 - ;; code offset: 0xfdd + ;; code offset: 0xf23 (local.get $55) ) - ;; code offset: 0xfe3 + ;; code offset: 0xf29 (local.set $58 - ;; code offset: 0xfe1 + ;; code offset: 0xf27 (local.get $56) ) - ;; code offset: 0xfea + ;; code offset: 0xf30 (local.set $59 - ;; code offset: 0xfe9 + ;; code offset: 0xf2f (i32.lt_s - ;; code offset: 0xfe5 + ;; code offset: 0xf2b (local.get $57) - ;; code offset: 0xfe7 + ;; code offset: 0xf2d (local.get $58) ) ) - ;; code offset: 0xfee + ;; code offset: 0xf34 (local.set $60 - ;; code offset: 0xfec + ;; code offset: 0xf32 (i32.const 1) ) - ;; code offset: 0xff5 + ;; code offset: 0xf3b (local.set $61 - ;; code offset: 0xff4 + ;; code offset: 0xf3a (i32.and - ;; code offset: 0xff0 + ;; code offset: 0xf36 (local.get $59) - ;; code offset: 0xff2 + ;; code offset: 0xf38 (local.get $60) ) ) - ;; code offset: 0xffa + ;; code offset: 0xf40 (br_if $label$9 - ;; code offset: 0xff9 + ;; code offset: 0xf3f (i32.eqz - ;; code offset: 0xff7 + ;; code offset: 0xf3d (local.get $61) ) ) - ;; code offset: 0x1002 + ;; code offset: 0xf47 (local.set $62 - ;; code offset: 0xffe + ;; code offset: 0xf44 (i32.load $mimport$0 offset=28 - ;; code offset: 0xffc + ;; code offset: 0xf42 (local.get $3) ) ) - ;; code offset: 0x100a + ;; code offset: 0xf4e (local.set $63 - ;; code offset: 0x1006 + ;; code offset: 0xf4b (i32.load $mimport$0 offset=20 - ;; code offset: 0x1004 + ;; code offset: 0xf49 (local.get $3) ) ) - ;; code offset: 0x100e + ;; code offset: 0xf52 (local.set $64 - ;; code offset: 0x100c + ;; code offset: 0xf50 (i32.const 2) ) - ;; code offset: 0x1015 + ;; code offset: 0xf59 (local.set $65 - ;; code offset: 0x1014 + ;; code offset: 0xf58 (i32.shl - ;; code offset: 0x1010 + ;; code offset: 0xf54 (local.get $63) - ;; code offset: 0x1012 + ;; code offset: 0xf56 (local.get $64) ) ) - ;; code offset: 0x101c + ;; code offset: 0xf60 (local.set $66 - ;; code offset: 0x101b + ;; code offset: 0xf5f (i32.add - ;; code offset: 0x1017 + ;; code offset: 0xf5b (local.get $62) - ;; code offset: 0x1019 + ;; code offset: 0xf5d (local.get $65) ) ) - ;; code offset: 0x1024 + ;; code offset: 0xf67 (local.set $67 - ;; code offset: 0x1020 + ;; code offset: 0xf64 (i32.load $mimport$0 - ;; code offset: 0x101e + ;; code offset: 0xf62 (local.get $66) ) ) - ;; code offset: 0x1028 + ;; code offset: 0xf6b (local.set $68 - ;; code offset: 0x1026 + ;; code offset: 0xf69 (i32.const 1) ) - ;; code offset: 0x102f + ;; code offset: 0xf72 (local.set $69 - ;; code offset: 0x102e + ;; code offset: 0xf71 (i32.add - ;; code offset: 0x102a + ;; code offset: 0xf6d (local.get $67) - ;; code offset: 0x102c + ;; code offset: 0xf6f (local.get $68) ) ) - ;; code offset: 0x1035 + ;; code offset: 0xf78 (i32.store $mimport$0 - ;; code offset: 0x1031 + ;; code offset: 0xf74 (local.get $3) - ;; code offset: 0x1033 + ;; code offset: 0xf76 (local.get $69) ) - ;; code offset: 0x103c + ;; code offset: 0xf7e (local.set $70 - ;; code offset: 0x1039 + ;; code offset: 0xf7b (i32.const 1064) ) - ;; code offset: 0x1044 + ;; code offset: 0xf86 (drop - ;; code offset: 0x1042 + ;; code offset: 0xf84 (call $printf - ;; code offset: 0x103e + ;; code offset: 0xf80 (local.get $70) - ;; code offset: 0x1040 + ;; code offset: 0xf82 (local.get $3) ) ) - ;; code offset: 0x104b + ;; code offset: 0xf8c (local.set $71 - ;; code offset: 0x1047 + ;; code offset: 0xf89 (i32.load $mimport$0 offset=20 - ;; code offset: 0x1045 + ;; code offset: 0xf87 (local.get $3) ) ) - ;; code offset: 0x104f + ;; code offset: 0xf90 (local.set $72 - ;; code offset: 0x104d + ;; code offset: 0xf8e (i32.const 1) ) - ;; code offset: 0x1056 + ;; code offset: 0xf97 (local.set $73 - ;; code offset: 0x1055 + ;; code offset: 0xf96 (i32.add - ;; code offset: 0x1051 + ;; code offset: 0xf92 (local.get $71) - ;; code offset: 0x1053 + ;; code offset: 0xf94 (local.get $72) ) ) - ;; code offset: 0x105c + ;; code offset: 0xf9d (i32.store $mimport$0 offset=20 - ;; code offset: 0x1058 + ;; code offset: 0xf99 (local.get $3) - ;; code offset: 0x105a + ;; code offset: 0xf9b (local.get $73) ) - ;; code offset: 0x1060 + ;; code offset: 0xfa0 (br $label$10) ) ) - ;; code offset: 0x1068 + ;; code offset: 0xfa8 (local.set $74 - ;; code offset: 0x1065 + ;; code offset: 0xfa5 (i32.const 1067) ) - ;; code offset: 0x106c + ;; code offset: 0xfac (local.set $75 - ;; code offset: 0x106a + ;; code offset: 0xfaa (i32.const 0) ) - ;; code offset: 0x1074 + ;; code offset: 0xfb4 (drop - ;; code offset: 0x1072 + ;; code offset: 0xfb2 (call $printf - ;; code offset: 0x106e + ;; code offset: 0xfae (local.get $74) - ;; code offset: 0x1070 + ;; code offset: 0xfb0 (local.get $75) ) ) - ;; code offset: 0x107b + ;; code offset: 0xfba (local.set $76 - ;; code offset: 0x1077 + ;; code offset: 0xfb7 (i32.load $mimport$0 offset=32 - ;; code offset: 0x1075 + ;; code offset: 0xfb5 (local.get $3) ) ) - ;; code offset: 0x107f + ;; code offset: 0xfbe (local.set $77 - ;; code offset: 0x107d + ;; code offset: 0xfbc (i32.const -1) ) - ;; code offset: 0x1086 + ;; code offset: 0xfc5 (local.set $78 - ;; code offset: 0x1085 + ;; code offset: 0xfc4 (i32.add - ;; code offset: 0x1081 + ;; code offset: 0xfc0 (local.get $76) - ;; code offset: 0x1083 + ;; code offset: 0xfc2 (local.get $77) ) ) - ;; code offset: 0x108c + ;; code offset: 0xfcb (i32.store $mimport$0 offset=32 - ;; code offset: 0x1088 + ;; code offset: 0xfc7 (local.get $3) - ;; code offset: 0x108a + ;; code offset: 0xfc9 (local.get $78) ) - ;; code offset: 0x1090 + ;; code offset: 0xfce (br $label$7) ) - ;; code offset: 0x1093 + ;; code offset: 0xfd1 (br $label$5) ) - ;; code offset: 0x1096 + ;; code offset: 0xfd4 (block $label$11 - ;; code offset: 0x1098 + ;; code offset: 0xfd6 (loop $label$12 - ;; code offset: 0x109c + ;; code offset: 0xfda (local.set $79 - ;; code offset: 0x109a + ;; code offset: 0xfd8 (i32.const 1) ) - ;; code offset: 0x10a4 + ;; code offset: 0xfe1 (local.set $80 - ;; code offset: 0x10a0 + ;; code offset: 0xfde (i32.load $mimport$0 offset=16 - ;; code offset: 0x109e + ;; code offset: 0xfdc (local.get $3) ) ) - ;; code offset: 0x10a8 + ;; code offset: 0xfe5 (local.set $81 - ;; code offset: 0x10a6 + ;; code offset: 0xfe3 (local.get $80) ) - ;; code offset: 0x10ac + ;; code offset: 0xfe9 (local.set $82 - ;; code offset: 0x10aa + ;; code offset: 0xfe7 (local.get $79) ) - ;; code offset: 0x10b3 + ;; code offset: 0xff0 (local.set $83 - ;; code offset: 0x10b2 + ;; code offset: 0xfef (i32.gt_s - ;; code offset: 0x10ae + ;; code offset: 0xfeb (local.get $81) - ;; code offset: 0x10b0 + ;; code offset: 0xfed (local.get $82) ) ) - ;; code offset: 0x10b7 + ;; code offset: 0xff4 (local.set $84 - ;; code offset: 0x10b5 + ;; code offset: 0xff2 (i32.const 1) ) - ;; code offset: 0x10be + ;; code offset: 0xffb (local.set $85 - ;; code offset: 0x10bd + ;; code offset: 0xffa (i32.and - ;; code offset: 0x10b9 + ;; code offset: 0xff6 (local.get $83) - ;; code offset: 0x10bb + ;; code offset: 0xff8 (local.get $84) ) ) - ;; code offset: 0x10c3 + ;; code offset: 0x1000 (br_if $label$11 - ;; code offset: 0x10c2 + ;; code offset: 0xfff (i32.eqz - ;; code offset: 0x10c0 + ;; code offset: 0xffd (local.get $85) ) ) - ;; code offset: 0x10cb + ;; code offset: 0x1007 (local.set $86 - ;; code offset: 0x10c7 + ;; code offset: 0x1004 (i32.load $mimport$0 offset=16 - ;; code offset: 0x10c5 + ;; code offset: 0x1002 (local.get $3) ) ) - ;; code offset: 0x10d3 + ;; code offset: 0x100e (local.set $87 - ;; code offset: 0x10cf + ;; code offset: 0x100b (i32.load $mimport$0 offset=24 - ;; code offset: 0x10cd + ;; code offset: 0x1009 (local.get $3) ) ) - ;; code offset: 0x10db + ;; code offset: 0x1015 (local.set $88 - ;; code offset: 0x10d7 + ;; code offset: 0x1012 (i32.load $mimport$0 offset=16 - ;; code offset: 0x10d5 + ;; code offset: 0x1010 (local.get $3) ) ) - ;; code offset: 0x10df + ;; code offset: 0x1019 (local.set $89 - ;; code offset: 0x10dd + ;; code offset: 0x1017 (i32.const 1) ) - ;; code offset: 0x10e6 + ;; code offset: 0x1020 (local.set $90 - ;; code offset: 0x10e5 + ;; code offset: 0x101f (i32.sub - ;; code offset: 0x10e1 + ;; code offset: 0x101b (local.get $88) - ;; code offset: 0x10e3 + ;; code offset: 0x101d (local.get $89) ) ) - ;; code offset: 0x10ea + ;; code offset: 0x1024 (local.set $91 - ;; code offset: 0x10e8 + ;; code offset: 0x1022 (i32.const 2) ) - ;; code offset: 0x10f1 + ;; code offset: 0x102b (local.set $92 - ;; code offset: 0x10f0 + ;; code offset: 0x102a (i32.shl - ;; code offset: 0x10ec + ;; code offset: 0x1026 (local.get $90) - ;; code offset: 0x10ee + ;; code offset: 0x1028 (local.get $91) ) ) - ;; code offset: 0x10f8 + ;; code offset: 0x1032 (local.set $93 - ;; code offset: 0x10f7 + ;; code offset: 0x1031 (i32.add - ;; code offset: 0x10f3 + ;; code offset: 0x102d (local.get $87) - ;; code offset: 0x10f5 + ;; code offset: 0x102f (local.get $92) ) ) - ;; code offset: 0x10fe + ;; code offset: 0x1038 (i32.store $mimport$0 - ;; code offset: 0x10fa + ;; code offset: 0x1034 (local.get $93) - ;; code offset: 0x10fc + ;; code offset: 0x1036 (local.get $86) ) - ;; code offset: 0x1108 + ;; code offset: 0x1040 (local.set $94 - ;; code offset: 0x1104 + ;; code offset: 0x103d (i32.load $mimport$0 offset=16 - ;; code offset: 0x1102 + ;; code offset: 0x103b (local.get $3) ) ) - ;; code offset: 0x110c + ;; code offset: 0x1044 (local.set $95 - ;; code offset: 0x110a + ;; code offset: 0x1042 (i32.const -1) ) - ;; code offset: 0x1113 + ;; code offset: 0x104b (local.set $96 - ;; code offset: 0x1112 + ;; code offset: 0x104a (i32.add - ;; code offset: 0x110e + ;; code offset: 0x1046 (local.get $94) - ;; code offset: 0x1110 + ;; code offset: 0x1048 (local.get $95) ) ) - ;; code offset: 0x1119 + ;; code offset: 0x1051 (i32.store $mimport$0 offset=16 - ;; code offset: 0x1115 + ;; code offset: 0x104d (local.get $3) - ;; code offset: 0x1117 + ;; code offset: 0x104f (local.get $96) ) - ;; code offset: 0x111d + ;; code offset: 0x1054 (br $label$12) ) ) - ;; code offset: 0x1122 + ;; code offset: 0x1059 (loop $label$13 - ;; code offset: 0x112a + ;; code offset: 0x1060 (local.set $97 - ;; code offset: 0x1126 + ;; code offset: 0x105d (i32.load $mimport$0 offset=16 - ;; code offset: 0x1124 + ;; code offset: 0x105b (local.get $3) ) ) - ;; code offset: 0x1132 + ;; code offset: 0x1067 (local.set $98 - ;; code offset: 0x112e + ;; code offset: 0x1064 (i32.load $mimport$0 offset=44 - ;; code offset: 0x112c + ;; code offset: 0x1062 (local.get $3) ) ) - ;; code offset: 0x1136 + ;; code offset: 0x106b (local.set $99 - ;; code offset: 0x1134 + ;; code offset: 0x1069 (local.get $97) ) - ;; code offset: 0x113a + ;; code offset: 0x106f (local.set $100 - ;; code offset: 0x1138 + ;; code offset: 0x106d (local.get $98) ) - ;; code offset: 0x1141 + ;; code offset: 0x1076 (local.set $101 - ;; code offset: 0x1140 + ;; code offset: 0x1075 (i32.eq - ;; code offset: 0x113c + ;; code offset: 0x1071 (local.get $99) - ;; code offset: 0x113e + ;; code offset: 0x1073 (local.get $100) ) ) - ;; code offset: 0x1145 + ;; code offset: 0x107a (local.set $102 - ;; code offset: 0x1143 + ;; code offset: 0x1078 (i32.const 1) ) - ;; code offset: 0x114c + ;; code offset: 0x1081 (local.set $103 - ;; code offset: 0x114b + ;; code offset: 0x1080 (i32.and - ;; code offset: 0x1147 + ;; code offset: 0x107c (local.get $101) - ;; code offset: 0x1149 + ;; code offset: 0x107e (local.get $102) ) ) - ;; code offset: 0x114e + ;; code offset: 0x1083 (block $label$14 - ;; code offset: 0x1153 + ;; code offset: 0x1088 (br_if $label$14 - ;; code offset: 0x1152 + ;; code offset: 0x1087 (i32.eqz - ;; code offset: 0x1150 + ;; code offset: 0x1085 (local.get $103) ) ) - ;; code offset: 0x1155 + ;; code offset: 0x108a (br $label$5) ) - ;; code offset: 0x115a + ;; code offset: 0x108f (local.set $104 - ;; code offset: 0x1158 + ;; code offset: 0x108d (i32.const 0) ) - ;; code offset: 0x1162 + ;; code offset: 0x1096 (local.set $105 - ;; code offset: 0x115e + ;; code offset: 0x1093 (i32.load $mimport$0 offset=28 - ;; code offset: 0x115c + ;; code offset: 0x1091 (local.get $3) ) ) - ;; code offset: 0x116a + ;; code offset: 0x109d (local.set $106 - ;; code offset: 0x1166 + ;; code offset: 0x109a (i32.load $mimport$0 - ;; code offset: 0x1164 + ;; code offset: 0x1098 (local.get $105) ) ) - ;; code offset: 0x1170 + ;; code offset: 0x10a3 (i32.store $mimport$0 offset=4 - ;; code offset: 0x116c + ;; code offset: 0x109f (local.get $3) - ;; code offset: 0x116e + ;; code offset: 0x10a1 (local.get $106) ) - ;; code offset: 0x1178 + ;; code offset: 0x10aa (i32.store $mimport$0 offset=20 - ;; code offset: 0x1174 + ;; code offset: 0x10a6 (local.get $3) - ;; code offset: 0x1176 + ;; code offset: 0x10a8 (local.get $104) ) - ;; code offset: 0x117c + ;; code offset: 0x10ad (block $label$15 - ;; code offset: 0x117e + ;; code offset: 0x10af (loop $label$16 - ;; code offset: 0x1186 + ;; code offset: 0x10b6 (local.set $107 - ;; code offset: 0x1182 + ;; code offset: 0x10b3 (i32.load $mimport$0 offset=20 - ;; code offset: 0x1180 + ;; code offset: 0x10b1 (local.get $3) ) ) - ;; code offset: 0x118e + ;; code offset: 0x10bd (local.set $108 - ;; code offset: 0x118a + ;; code offset: 0x10ba (i32.load $mimport$0 offset=16 - ;; code offset: 0x1188 + ;; code offset: 0x10b8 (local.get $3) ) ) - ;; code offset: 0x1192 + ;; code offset: 0x10c1 (local.set $109 - ;; code offset: 0x1190 + ;; code offset: 0x10bf (local.get $107) ) - ;; code offset: 0x1196 + ;; code offset: 0x10c5 (local.set $110 - ;; code offset: 0x1194 + ;; code offset: 0x10c3 (local.get $108) ) - ;; code offset: 0x119d + ;; code offset: 0x10cc (local.set $111 - ;; code offset: 0x119c + ;; code offset: 0x10cb (i32.lt_s - ;; code offset: 0x1198 + ;; code offset: 0x10c7 (local.get $109) - ;; code offset: 0x119a + ;; code offset: 0x10c9 (local.get $110) ) ) - ;; code offset: 0x11a1 + ;; code offset: 0x10d0 (local.set $112 - ;; code offset: 0x119f + ;; code offset: 0x10ce (i32.const 1) ) - ;; code offset: 0x11a8 + ;; code offset: 0x10d7 (local.set $113 - ;; code offset: 0x11a7 + ;; code offset: 0x10d6 (i32.and - ;; code offset: 0x11a3 + ;; code offset: 0x10d2 (local.get $111) - ;; code offset: 0x11a5 + ;; code offset: 0x10d4 (local.get $112) ) ) - ;; code offset: 0x11ad + ;; code offset: 0x10dc (br_if $label$15 - ;; code offset: 0x11ac + ;; code offset: 0x10db (i32.eqz - ;; code offset: 0x11aa + ;; code offset: 0x10d9 (local.get $113) ) ) - ;; code offset: 0x11b5 + ;; code offset: 0x10e3 (local.set $114 - ;; code offset: 0x11b1 + ;; code offset: 0x10e0 (i32.load $mimport$0 offset=28 - ;; code offset: 0x11af + ;; code offset: 0x10de (local.get $3) ) ) - ;; code offset: 0x11bd + ;; code offset: 0x10ea (local.set $115 - ;; code offset: 0x11b9 + ;; code offset: 0x10e7 (i32.load $mimport$0 offset=20 - ;; code offset: 0x11b7 + ;; code offset: 0x10e5 (local.get $3) ) ) - ;; code offset: 0x11c1 + ;; code offset: 0x10ee (local.set $116 - ;; code offset: 0x11bf + ;; code offset: 0x10ec (i32.const 1) ) - ;; code offset: 0x11c8 + ;; code offset: 0x10f5 (local.set $117 - ;; code offset: 0x11c7 + ;; code offset: 0x10f4 (i32.add - ;; code offset: 0x11c3 + ;; code offset: 0x10f0 (local.get $115) - ;; code offset: 0x11c5 + ;; code offset: 0x10f2 (local.get $116) ) ) - ;; code offset: 0x11cc + ;; code offset: 0x10f9 (local.set $118 - ;; code offset: 0x11ca + ;; code offset: 0x10f7 (i32.const 2) ) - ;; code offset: 0x11d3 + ;; code offset: 0x1100 (local.set $119 - ;; code offset: 0x11d2 + ;; code offset: 0x10ff (i32.shl - ;; code offset: 0x11ce + ;; code offset: 0x10fb (local.get $117) - ;; code offset: 0x11d0 + ;; code offset: 0x10fd (local.get $118) ) ) - ;; code offset: 0x11da + ;; code offset: 0x1107 (local.set $120 - ;; code offset: 0x11d9 + ;; code offset: 0x1106 (i32.add - ;; code offset: 0x11d5 + ;; code offset: 0x1102 (local.get $114) - ;; code offset: 0x11d7 + ;; code offset: 0x1104 (local.get $119) ) ) - ;; code offset: 0x11e2 + ;; code offset: 0x110e (local.set $121 - ;; code offset: 0x11de + ;; code offset: 0x110b (i32.load $mimport$0 - ;; code offset: 0x11dc + ;; code offset: 0x1109 (local.get $120) ) ) - ;; code offset: 0x11ea + ;; code offset: 0x1115 (local.set $122 - ;; code offset: 0x11e6 + ;; code offset: 0x1112 (i32.load $mimport$0 offset=28 - ;; code offset: 0x11e4 + ;; code offset: 0x1110 (local.get $3) ) ) - ;; code offset: 0x11f2 + ;; code offset: 0x111c (local.set $123 - ;; code offset: 0x11ee + ;; code offset: 0x1119 (i32.load $mimport$0 offset=20 - ;; code offset: 0x11ec + ;; code offset: 0x1117 (local.get $3) ) ) - ;; code offset: 0x11f6 + ;; code offset: 0x1120 (local.set $124 - ;; code offset: 0x11f4 + ;; code offset: 0x111e (i32.const 2) ) - ;; code offset: 0x11fd + ;; code offset: 0x1127 (local.set $125 - ;; code offset: 0x11fc + ;; code offset: 0x1126 (i32.shl - ;; code offset: 0x11f8 + ;; code offset: 0x1122 (local.get $123) - ;; code offset: 0x11fa + ;; code offset: 0x1124 (local.get $124) ) ) - ;; code offset: 0x1204 + ;; code offset: 0x112e (local.set $126 - ;; code offset: 0x1203 + ;; code offset: 0x112d (i32.add - ;; code offset: 0x11ff + ;; code offset: 0x1129 (local.get $122) - ;; code offset: 0x1201 + ;; code offset: 0x112b (local.get $125) ) ) - ;; code offset: 0x120a + ;; code offset: 0x1134 (i32.store $mimport$0 - ;; code offset: 0x1206 + ;; code offset: 0x1130 (local.get $126) - ;; code offset: 0x1208 + ;; code offset: 0x1132 (local.get $121) ) - ;; code offset: 0x1214 + ;; code offset: 0x113c (local.set $127 - ;; code offset: 0x1210 + ;; code offset: 0x1139 (i32.load $mimport$0 offset=20 - ;; code offset: 0x120e + ;; code offset: 0x1137 (local.get $3) ) ) - ;; code offset: 0x1218 + ;; code offset: 0x1140 (local.set $128 - ;; code offset: 0x1216 + ;; code offset: 0x113e (i32.const 1) ) - ;; code offset: 0x1221 + ;; code offset: 0x1149 (local.set $129 - ;; code offset: 0x1220 + ;; code offset: 0x1148 (i32.add - ;; code offset: 0x121b + ;; code offset: 0x1143 (local.get $127) - ;; code offset: 0x121d + ;; code offset: 0x1145 (local.get $128) ) ) - ;; code offset: 0x1229 + ;; code offset: 0x1151 (i32.store $mimport$0 offset=20 - ;; code offset: 0x1224 + ;; code offset: 0x114c (local.get $3) - ;; code offset: 0x1226 + ;; code offset: 0x114e (local.get $129) ) - ;; code offset: 0x122d + ;; code offset: 0x1154 (br $label$16) ) ) - ;; code offset: 0x1234 + ;; code offset: 0x115b (local.set $130 - ;; code offset: 0x1232 + ;; code offset: 0x1159 (i32.const 0) ) - ;; code offset: 0x123d + ;; code offset: 0x1163 (local.set $131 - ;; code offset: 0x1239 + ;; code offset: 0x1160 (i32.load $mimport$0 offset=4 - ;; code offset: 0x1237 + ;; code offset: 0x115e (local.get $3) ) ) - ;; code offset: 0x1246 + ;; code offset: 0x116b (local.set $132 - ;; code offset: 0x1242 + ;; code offset: 0x1168 (i32.load $mimport$0 offset=28 - ;; code offset: 0x1240 + ;; code offset: 0x1166 (local.get $3) ) ) - ;; code offset: 0x124f + ;; code offset: 0x1173 (local.set $133 - ;; code offset: 0x124b + ;; code offset: 0x1170 (i32.load $mimport$0 offset=20 - ;; code offset: 0x1249 + ;; code offset: 0x116e (local.get $3) ) ) - ;; code offset: 0x1254 + ;; code offset: 0x1178 (local.set $134 - ;; code offset: 0x1252 + ;; code offset: 0x1176 (i32.const 2) ) - ;; code offset: 0x125e + ;; code offset: 0x1182 (local.set $135 - ;; code offset: 0x125d + ;; code offset: 0x1181 (i32.shl - ;; code offset: 0x1257 + ;; code offset: 0x117b (local.get $133) - ;; code offset: 0x125a + ;; code offset: 0x117e (local.get $134) ) ) - ;; code offset: 0x1268 + ;; code offset: 0x118c (local.set $136 - ;; code offset: 0x1267 + ;; code offset: 0x118b (i32.add - ;; code offset: 0x1261 + ;; code offset: 0x1185 (local.get $132) - ;; code offset: 0x1264 + ;; code offset: 0x1188 (local.get $135) ) ) - ;; code offset: 0x1271 + ;; code offset: 0x1195 (i32.store $mimport$0 - ;; code offset: 0x126b + ;; code offset: 0x118f (local.get $136) - ;; code offset: 0x126e + ;; code offset: 0x1192 (local.get $131) ) - ;; code offset: 0x127b + ;; code offset: 0x119d (local.set $137 - ;; code offset: 0x1277 + ;; code offset: 0x119a (i32.load $mimport$0 offset=24 - ;; code offset: 0x1275 + ;; code offset: 0x1198 (local.get $3) ) ) - ;; code offset: 0x1284 + ;; code offset: 0x11a5 (local.set $138 - ;; code offset: 0x1280 + ;; code offset: 0x11a2 (i32.load $mimport$0 offset=16 - ;; code offset: 0x127e + ;; code offset: 0x11a0 (local.get $3) ) ) - ;; code offset: 0x1289 + ;; code offset: 0x11aa (local.set $139 - ;; code offset: 0x1287 + ;; code offset: 0x11a8 (i32.const 2) ) - ;; code offset: 0x1293 + ;; code offset: 0x11b4 (local.set $140 - ;; code offset: 0x1292 + ;; code offset: 0x11b3 (i32.shl - ;; code offset: 0x128c + ;; code offset: 0x11ad (local.get $138) - ;; code offset: 0x128f + ;; code offset: 0x11b0 (local.get $139) ) ) - ;; code offset: 0x129d + ;; code offset: 0x11be (local.set $141 - ;; code offset: 0x129c + ;; code offset: 0x11bd (i32.add - ;; code offset: 0x1296 + ;; code offset: 0x11b7 (local.get $137) - ;; code offset: 0x1299 + ;; code offset: 0x11ba (local.get $140) ) ) - ;; code offset: 0x12a7 + ;; code offset: 0x11c7 (local.set $142 - ;; code offset: 0x12a3 + ;; code offset: 0x11c4 (i32.load $mimport$0 - ;; code offset: 0x12a0 + ;; code offset: 0x11c1 (local.get $141) ) ) - ;; code offset: 0x12ac + ;; code offset: 0x11cc (local.set $143 - ;; code offset: 0x12aa + ;; code offset: 0x11ca (i32.const -1) ) - ;; code offset: 0x12b6 + ;; code offset: 0x11d6 (local.set $144 - ;; code offset: 0x12b5 + ;; code offset: 0x11d5 (i32.add - ;; code offset: 0x12af + ;; code offset: 0x11cf (local.get $142) - ;; code offset: 0x12b2 + ;; code offset: 0x11d2 (local.get $143) ) ) - ;; code offset: 0x12bf + ;; code offset: 0x11df (i32.store $mimport$0 - ;; code offset: 0x12b9 + ;; code offset: 0x11d9 (local.get $141) - ;; code offset: 0x12bc + ;; code offset: 0x11dc (local.get $144) ) - ;; code offset: 0x12c6 + ;; code offset: 0x11e5 (local.set $145 - ;; code offset: 0x12c3 + ;; code offset: 0x11e2 (local.get $144) ) - ;; code offset: 0x12cc + ;; code offset: 0x11eb (local.set $146 - ;; code offset: 0x12c9 + ;; code offset: 0x11e8 (local.get $130) ) - ;; code offset: 0x12d6 + ;; code offset: 0x11f5 (local.set $147 - ;; code offset: 0x12d5 + ;; code offset: 0x11f4 (i32.gt_s - ;; code offset: 0x12cf + ;; code offset: 0x11ee (local.get $145) - ;; code offset: 0x12d2 + ;; code offset: 0x11f1 (local.get $146) ) ) - ;; code offset: 0x12db + ;; code offset: 0x11fa (local.set $148 - ;; code offset: 0x12d9 + ;; code offset: 0x11f8 (i32.const 1) ) - ;; code offset: 0x12e5 + ;; code offset: 0x1204 (local.set $149 - ;; code offset: 0x12e4 + ;; code offset: 0x1203 (i32.and - ;; code offset: 0x12de + ;; code offset: 0x11fd (local.get $147) - ;; code offset: 0x12e1 + ;; code offset: 0x1200 (local.get $148) ) ) - ;; code offset: 0x12e8 + ;; code offset: 0x1207 (block $label$17 (block $label$18 - ;; code offset: 0x12f0 + ;; code offset: 0x120f (br_if $label$18 - ;; code offset: 0x12ef + ;; code offset: 0x120e (i32.eqz - ;; code offset: 0x12ec + ;; code offset: 0x120b (local.get $149) ) ) - ;; code offset: 0x12f2 + ;; code offset: 0x1211 (br $label$17) ) - ;; code offset: 0x12fb + ;; code offset: 0x1219 (local.set $150 - ;; code offset: 0x12f7 + ;; code offset: 0x1216 (i32.load $mimport$0 offset=16 - ;; code offset: 0x12f5 + ;; code offset: 0x1214 (local.get $3) ) ) - ;; code offset: 0x1300 + ;; code offset: 0x121e (local.set $151 - ;; code offset: 0x12fe + ;; code offset: 0x121c (i32.const 1) ) - ;; code offset: 0x130a + ;; code offset: 0x1228 (local.set $152 - ;; code offset: 0x1309 + ;; code offset: 0x1227 (i32.add - ;; code offset: 0x1303 + ;; code offset: 0x1221 (local.get $150) - ;; code offset: 0x1306 + ;; code offset: 0x1224 (local.get $151) ) ) - ;; code offset: 0x1312 + ;; code offset: 0x1230 (i32.store $mimport$0 offset=16 - ;; code offset: 0x130d + ;; code offset: 0x122b (local.get $3) - ;; code offset: 0x130f + ;; code offset: 0x122d (local.get $152) ) - ;; code offset: 0x1316 + ;; code offset: 0x1233 (br $label$13) ) ) - ;; code offset: 0x131a + ;; code offset: 0x1237 (br $label$6) ) ) - ;; code offset: 0x1321 + ;; code offset: 0x123e (local.set $153 - ;; code offset: 0x131f + ;; code offset: 0x123c (i32.const 0) ) - ;; code offset: 0x132a + ;; code offset: 0x1246 (local.set $154 - ;; code offset: 0x1326 + ;; code offset: 0x1243 (i32.load $mimport$0 offset=28 - ;; code offset: 0x1324 + ;; code offset: 0x1241 (local.get $3) ) ) - ;; code offset: 0x1330 + ;; code offset: 0x124c (call $free - ;; code offset: 0x132d + ;; code offset: 0x1249 (local.get $154) ) - ;; code offset: 0x1338 + ;; code offset: 0x1253 (local.set $155 - ;; code offset: 0x1334 + ;; code offset: 0x1250 (i32.load $mimport$0 offset=24 - ;; code offset: 0x1332 + ;; code offset: 0x124e (local.get $3) ) ) - ;; code offset: 0x133e + ;; code offset: 0x1259 (call $free - ;; code offset: 0x133b + ;; code offset: 0x1256 (local.get $155) ) - ;; code offset: 0x1345 + ;; code offset: 0x1260 (i32.store $mimport$0 offset=12 - ;; code offset: 0x1340 + ;; code offset: 0x125b (local.get $3) - ;; code offset: 0x1342 + ;; code offset: 0x125d (local.get $153) ) - ;; code offset: 0x1349 + ;; code offset: 0x1263 (block $label$19 - ;; code offset: 0x134b + ;; code offset: 0x1265 (loop $label$20 - ;; code offset: 0x134f + ;; code offset: 0x1269 (local.set $156 - ;; code offset: 0x134d + ;; code offset: 0x1267 (i32.const 0) ) - ;; code offset: 0x1358 + ;; code offset: 0x1271 (local.set $157 - ;; code offset: 0x1354 + ;; code offset: 0x126e (i32.load $mimport$0 offset=40 - ;; code offset: 0x1352 + ;; code offset: 0x126c (local.get $3) ) ) - ;; code offset: 0x135e + ;; code offset: 0x1277 (local.set $158 - ;; code offset: 0x135b + ;; code offset: 0x1274 (local.get $157) ) - ;; code offset: 0x1364 + ;; code offset: 0x127d (local.set $159 - ;; code offset: 0x1361 + ;; code offset: 0x127a (local.get $156) ) - ;; code offset: 0x136e + ;; code offset: 0x1287 (local.set $160 - ;; code offset: 0x136d + ;; code offset: 0x1286 (i32.ne - ;; code offset: 0x1367 + ;; code offset: 0x1280 (local.get $158) - ;; code offset: 0x136a + ;; code offset: 0x1283 (local.get $159) ) ) - ;; code offset: 0x1373 + ;; code offset: 0x128c (local.set $161 - ;; code offset: 0x1371 + ;; code offset: 0x128a (i32.const 1) ) - ;; code offset: 0x137d + ;; code offset: 0x1296 (local.set $162 - ;; code offset: 0x137c + ;; code offset: 0x1295 (i32.and - ;; code offset: 0x1376 + ;; code offset: 0x128f (local.get $160) - ;; code offset: 0x1379 + ;; code offset: 0x1292 (local.get $161) ) ) - ;; code offset: 0x1384 + ;; code offset: 0x129d (br_if $label$19 - ;; code offset: 0x1383 + ;; code offset: 0x129c (i32.eqz - ;; code offset: 0x1380 + ;; code offset: 0x1299 (local.get $162) ) ) - ;; code offset: 0x138c + ;; code offset: 0x12a4 (local.set $163 - ;; code offset: 0x1388 + ;; code offset: 0x12a1 (i32.load $mimport$0 offset=40 - ;; code offset: 0x1386 + ;; code offset: 0x129f (local.get $3) ) ) - ;; code offset: 0x1394 + ;; code offset: 0x12ac (local.set $164 - ;; code offset: 0x1392 + ;; code offset: 0x12aa (call $fannkuch_worker\28void*\29 - ;; code offset: 0x138f + ;; code offset: 0x12a7 (local.get $163) ) ) - ;; code offset: 0x139c + ;; code offset: 0x12b4 (i32.store $mimport$0 offset=8 - ;; code offset: 0x1397 + ;; code offset: 0x12af (local.get $3) - ;; code offset: 0x1399 + ;; code offset: 0x12b1 (local.get $164) ) - ;; code offset: 0x13a6 + ;; code offset: 0x12bc (local.set $165 - ;; code offset: 0x13a2 + ;; code offset: 0x12b9 (i32.load $mimport$0 offset=12 - ;; code offset: 0x13a0 + ;; code offset: 0x12b7 (local.get $3) ) ) - ;; code offset: 0x13af + ;; code offset: 0x12c4 (local.set $166 - ;; code offset: 0x13ab + ;; code offset: 0x12c1 (i32.load $mimport$0 offset=8 - ;; code offset: 0x13a9 + ;; code offset: 0x12bf (local.get $3) ) ) - ;; code offset: 0x13b5 + ;; code offset: 0x12ca (local.set $167 - ;; code offset: 0x13b2 + ;; code offset: 0x12c7 (local.get $165) ) - ;; code offset: 0x13bb + ;; code offset: 0x12d0 (local.set $168 - ;; code offset: 0x13b8 + ;; code offset: 0x12cd (local.get $166) ) - ;; code offset: 0x13c5 + ;; code offset: 0x12da (local.set $169 - ;; code offset: 0x13c4 + ;; code offset: 0x12d9 (i32.lt_s - ;; code offset: 0x13be + ;; code offset: 0x12d3 (local.get $167) - ;; code offset: 0x13c1 + ;; code offset: 0x12d6 (local.get $168) ) ) - ;; code offset: 0x13ca + ;; code offset: 0x12df (local.set $170 - ;; code offset: 0x13c8 + ;; code offset: 0x12dd (i32.const 1) ) - ;; code offset: 0x13d4 + ;; code offset: 0x12e9 (local.set $171 - ;; code offset: 0x13d3 + ;; code offset: 0x12e8 (i32.and - ;; code offset: 0x13cd + ;; code offset: 0x12e2 (local.get $169) - ;; code offset: 0x13d0 + ;; code offset: 0x12e5 (local.get $170) ) ) - ;; code offset: 0x13d7 + ;; code offset: 0x12ec (block $label$21 - ;; code offset: 0x13dd + ;; code offset: 0x12f2 (br_if $label$21 - ;; code offset: 0x13dc + ;; code offset: 0x12f1 (i32.eqz - ;; code offset: 0x13d9 + ;; code offset: 0x12ee (local.get $171) ) ) - ;; code offset: 0x13e5 + ;; code offset: 0x12f9 (local.set $172 - ;; code offset: 0x13e1 + ;; code offset: 0x12f6 (i32.load $mimport$0 offset=8 - ;; code offset: 0x13df + ;; code offset: 0x12f4 (local.get $3) ) ) - ;; code offset: 0x13ed + ;; code offset: 0x1301 (i32.store $mimport$0 offset=12 - ;; code offset: 0x13e8 + ;; code offset: 0x12fc (local.get $3) - ;; code offset: 0x13ea + ;; code offset: 0x12fe (local.get $172) ) ) - ;; code offset: 0x13f8 + ;; code offset: 0x130a (local.set $173 - ;; code offset: 0x13f4 + ;; code offset: 0x1307 (i32.load $mimport$0 offset=40 - ;; code offset: 0x13f2 + ;; code offset: 0x1305 (local.get $3) ) ) - ;; code offset: 0x1400 + ;; code offset: 0x1312 (i32.store $mimport$0 offset=36 - ;; code offset: 0x13fb + ;; code offset: 0x130d (local.get $3) - ;; code offset: 0x13fd + ;; code offset: 0x130f (local.get $173) ) - ;; code offset: 0x140a + ;; code offset: 0x131a (local.set $174 - ;; code offset: 0x1406 + ;; code offset: 0x1317 (i32.load $mimport$0 offset=40 - ;; code offset: 0x1404 + ;; code offset: 0x1315 (local.get $3) ) ) - ;; code offset: 0x1414 + ;; code offset: 0x1323 (local.set $175 - ;; code offset: 0x1410 + ;; code offset: 0x1320 (i32.load $mimport$0 offset=8 - ;; code offset: 0x140d + ;; code offset: 0x131d (local.get $174) ) ) - ;; code offset: 0x141c + ;; code offset: 0x132b (i32.store $mimport$0 offset=40 - ;; code offset: 0x1417 + ;; code offset: 0x1326 (local.get $3) - ;; code offset: 0x1419 + ;; code offset: 0x1328 (local.get $175) ) - ;; code offset: 0x1426 + ;; code offset: 0x1333 (local.set $176 - ;; code offset: 0x1422 + ;; code offset: 0x1330 (i32.load $mimport$0 offset=36 - ;; code offset: 0x1420 + ;; code offset: 0x132e (local.get $3) ) ) - ;; code offset: 0x142c + ;; code offset: 0x1339 (call $free - ;; code offset: 0x1429 + ;; code offset: 0x1336 (local.get $176) ) - ;; code offset: 0x142e + ;; code offset: 0x133b (br $label$20) ) ) - ;; code offset: 0x1439 + ;; code offset: 0x1345 (local.set $177 - ;; code offset: 0x1435 + ;; code offset: 0x1342 (i32.load $mimport$0 offset=12 - ;; code offset: 0x1433 + ;; code offset: 0x1340 (local.get $3) ) ) - ;; code offset: 0x143e + ;; code offset: 0x134a (local.set $178 - ;; code offset: 0x143c + ;; code offset: 0x1348 (i32.const 48) ) - ;; code offset: 0x1447 + ;; code offset: 0x1353 (local.set $179 - ;; code offset: 0x1446 + ;; code offset: 0x1352 (i32.add - ;; code offset: 0x1441 + ;; code offset: 0x134d (local.get $3) - ;; code offset: 0x1443 + ;; code offset: 0x134f (local.get $178) ) ) - ;; code offset: 0x144d + ;; code offset: 0x1359 (global.set $global$0 - ;; code offset: 0x144a + ;; code offset: 0x1356 (local.get $179) ) - ;; code offset: 0x1452 + ;; code offset: 0x135e (return - ;; code offset: 0x144f + ;; code offset: 0x135b (local.get $177) ) ) diff --git a/test/passes/fannkuch3_dwarf.bin.txt b/test/passes/fannkuch3_dwarf.bin.txt index 4613a1b3997..78d590a61a5 100644 --- a/test/passes/fannkuch3_dwarf.bin.txt +++ b/test/passes/fannkuch3_dwarf.bin.txt @@ -2469,8 +2469,8 @@ Abbrev table for offset: 0x00000000 DW_AT_comp_dir [DW_FORM_strp] ( .debug_str[0x000000a9] = "/usr/local/google/home/azakai/Dev/2-binaryen") DW_AT_low_pc [DW_FORM_addr] (0x0000000000000000) DW_AT_ranges [DW_FORM_sec_offset] (0x00000040 - [0x00000006, 0x000003cb) - [0x000003cd, 0x000006eb)) + [0x00000006, 0x000003a3) + [0x000003a5, 0x000006ab)) 0x00000026: DW_TAG_pointer_type [2] DW_AT_type [DW_FORM_ref4] (cu + 0x002b => {0x0000002b} "worker_args") @@ -2534,7 +2534,7 @@ Abbrev table for offset: 0x00000000 0x00000082: DW_TAG_subprogram [10] * DW_AT_low_pc [DW_FORM_addr] (0x0000000000000006) - DW_AT_high_pc [DW_FORM_data4] (0x000003c5) + DW_AT_high_pc [DW_FORM_data4] (0x0000039d) DW_AT_frame_base [DW_FORM_exprloc] (DW_OP_WASM_location 0x1 +0, DW_OP_stack_value) DW_AT_GNU_all_call_sites [DW_FORM_flag_present] (true) DW_AT_linkage_name [DW_FORM_strp] ( .debug_str[0x00000166] = "_Z15fannkuch_workerPv") @@ -2559,7 +2559,7 @@ Abbrev table for offset: 0x00000000 0x000000b4: DW_TAG_variable [13] DW_AT_location [DW_FORM_sec_offset] (0x00000000: [0xffffffff, 0x00000006): - [0x00000000, 0x0000004f): DW_OP_consts +0, DW_OP_stack_value) + [0x00000000, 0x0000004e): DW_OP_consts +0, DW_OP_stack_value) DW_AT_name [DW_FORM_strp] ( .debug_str[0x0000014c] = "maxflips") DW_AT_decl_file [DW_FORM_data1] ("/usr/local/google/home/azakai/Dev/emscripten/tests/fannkuch.cpp") DW_AT_decl_line [DW_FORM_data1] (30) @@ -2568,15 +2568,15 @@ Abbrev table for offset: 0x00000000 0x000000c3: DW_TAG_variable [13] DW_AT_location [DW_FORM_sec_offset] (0x0000001d: [0xffffffff, 0x0000002b): - [0x00000000, 0x0000002a): DW_OP_consts +0, DW_OP_stack_value - [0x00000041, 0x00000046): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value - [0x000000de, 0x000000e7): DW_OP_consts +1, DW_OP_stack_value - [0x00000127, 0x00000131): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value - [0x00000171, 0x0000017e): DW_OP_consts +0, DW_OP_stack_value - [0x0000026a, 0x00000276): DW_OP_consts +0, DW_OP_stack_value - [0x0000027c, 0x00000285): DW_OP_consts +1, DW_OP_stack_value - [0x000002c5, 0x000002cf): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value - [0x0000030f, 0x0000031c): DW_OP_consts +0, DW_OP_stack_value) + [0x00000000, 0x00000029): DW_OP_consts +0, DW_OP_stack_value + [0x0000003f, 0x00000044): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value + [0x000000d5, 0x000000de): DW_OP_consts +1, DW_OP_stack_value + [0x0000011a, 0x00000124): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value + [0x00000162, 0x0000016f): DW_OP_consts +0, DW_OP_stack_value + [0x0000024f, 0x0000025a): DW_OP_consts +0, DW_OP_stack_value + [0x00000260, 0x00000269): DW_OP_consts +1, DW_OP_stack_value + [0x000002a5, 0x000002af): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value + [0x000002ed, 0x000002fa): DW_OP_consts +0, DW_OP_stack_value) DW_AT_name [DW_FORM_strp] ( .debug_str[0x000000d6] = "i") DW_AT_decl_file [DW_FORM_data1] ("/usr/local/google/home/azakai/Dev/emscripten/tests/fannkuch.cpp") DW_AT_decl_line [DW_FORM_data1] (30) @@ -2584,7 +2584,7 @@ Abbrev table for offset: 0x00000000 0x000000d2: DW_TAG_variable [13] DW_AT_location [DW_FORM_sec_offset] (0x000000a5: - [0xffffffff, 0x00000033): + [0xffffffff, 0x00000032): [0x00000000, 0x00000022): DW_OP_WASM_location 0x0 +2, DW_OP_stack_value) DW_AT_name [DW_FORM_strp] ( .debug_str[0x000000dc] = "n") DW_AT_decl_file [DW_FORM_data1] ("/usr/local/google/home/azakai/Dev/emscripten/tests/fannkuch.cpp") @@ -2593,7 +2593,7 @@ Abbrev table for offset: 0x00000000 0x000000e1: DW_TAG_variable [13] DW_AT_location [DW_FORM_sec_offset] (0x000000c3: - [0xffffffff, 0x0000003c): + [0xffffffff, 0x0000003b): [0x00000000, 0x00000019): DW_OP_WASM_location 0x0 +4, DW_OP_stack_value) DW_AT_name [DW_FORM_strp] ( .debug_str[0x0000013e] = "perm1") DW_AT_decl_file [DW_FORM_data1] ("/usr/local/google/home/azakai/Dev/emscripten/tests/fannkuch.cpp") @@ -2602,7 +2602,7 @@ Abbrev table for offset: 0x00000000 0x000000f0: DW_TAG_variable [13] DW_AT_location [DW_FORM_sec_offset] (0x000000e1: - [0xffffffff, 0x00000042): + [0xffffffff, 0x00000041): [0x00000000, 0x00000013): DW_OP_WASM_location 0x0 +5, DW_OP_stack_value) DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000196] = "perm") DW_AT_decl_file [DW_FORM_data1] ("/usr/local/google/home/azakai/Dev/emscripten/tests/fannkuch.cpp") @@ -2611,7 +2611,7 @@ Abbrev table for offset: 0x00000000 0x000000ff: DW_TAG_variable [13] DW_AT_location [DW_FORM_sec_offset] (0x000000ff: - [0xffffffff, 0x00000048): + [0xffffffff, 0x00000047): [0x00000000, 0x0000000d): DW_OP_WASM_location 0x0 +6, DW_OP_stack_value) DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000144] = "count") DW_AT_decl_file [DW_FORM_data1] ("/usr/local/google/home/azakai/Dev/emscripten/tests/fannkuch.cpp") @@ -2620,9 +2620,9 @@ Abbrev table for offset: 0x00000000 0x0000010e: DW_TAG_variable [13] DW_AT_location [DW_FORM_sec_offset] (0x0000011d: - [0xffffffff, 0x0000020a): + [0xffffffff, 0x000001f6): [0x00000000, 0x00000005): DW_OP_WASM_location 0x0 +2, DW_OP_stack_value - [0x0000019e, 0x000001a3): DW_OP_WASM_location 0x0 +2, DW_OP_stack_value) + [0x0000018b, 0x00000190): DW_OP_WASM_location 0x0 +2, DW_OP_stack_value) DW_AT_name [DW_FORM_strp] ( .debug_str[0x0000014a] = "r") DW_AT_decl_file [DW_FORM_data1] ("/usr/local/google/home/azakai/Dev/emscripten/tests/fannkuch.cpp") DW_AT_decl_line [DW_FORM_data1] (30) @@ -2630,13 +2630,13 @@ Abbrev table for offset: 0x00000000 0x0000011d: DW_TAG_variable [13] DW_AT_location [DW_FORM_sec_offset] (0x00000149: - [0xffffffff, 0x000000ef): - [0x00000000, 0x00000014): DW_OP_consts +0, DW_OP_stack_value - [0x0000001a, 0x00000023): DW_OP_WASM_location 0x0 +13, DW_OP_stack_value - [0x0000008e, 0x00000096): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value - [0x000001a6, 0x000001b2): DW_OP_consts +0, DW_OP_stack_value - [0x000001b8, 0x000001c1): DW_OP_WASM_location 0x0 +10, DW_OP_stack_value - [0x0000022c, 0x00000234): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value) + [0xffffffff, 0x000000e7): + [0x00000000, 0x00000013): DW_OP_consts +0, DW_OP_stack_value + [0x00000019, 0x00000022): DW_OP_WASM_location 0x0 +13, DW_OP_stack_value + [0x00000087, 0x0000008f): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value + [0x00000193, 0x0000019e): DW_OP_consts +0, DW_OP_stack_value + [0x000001a4, 0x000001ad): DW_OP_WASM_location 0x0 +10, DW_OP_stack_value + [0x00000212, 0x0000021a): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value) DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000155] = "flips") DW_AT_decl_file [DW_FORM_data1] ("/usr/local/google/home/azakai/Dev/emscripten/tests/fannkuch.cpp") DW_AT_decl_line [DW_FORM_data1] (30) @@ -2644,9 +2644,9 @@ Abbrev table for offset: 0x00000000 0x0000012c: DW_TAG_variable [13] DW_AT_location [DW_FORM_sec_offset] (0x000001ab: - [0xffffffff, 0x000000ff): + [0xffffffff, 0x000000f6): [0x00000000, 0x00000004): DW_OP_WASM_location 0x0 +12, DW_OP_stack_value - [0x0000019e, 0x000001a2): DW_OP_WASM_location 0x0 +16, DW_OP_stack_value) + [0x0000018b, 0x0000018f): DW_OP_WASM_location 0x0 +16, DW_OP_stack_value) DW_AT_name [DW_FORM_strp] ( .debug_str[0x0000019b] = "k") DW_AT_decl_file [DW_FORM_data1] ("/usr/local/google/home/azakai/Dev/emscripten/tests/fannkuch.cpp") DW_AT_decl_line [DW_FORM_data1] (30) @@ -2654,11 +2654,11 @@ Abbrev table for offset: 0x00000000 0x0000013b: DW_TAG_variable [13] DW_AT_location [DW_FORM_sec_offset] (0x000001d7: - [0xffffffff, 0x00000119): + [0xffffffff, 0x00000110): [0x00000000, 0x00000004): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value - [0x00000040, 0x00000043): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value - [0x0000019e, 0x000001a2): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value - [0x000001de, 0x000001e1): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value) + [0x0000003c, 0x0000003f): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value + [0x0000018b, 0x0000018f): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value + [0x000001c7, 0x000001ca): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value) DW_AT_name [DW_FORM_strp] ( .debug_str[0x0000019d] = "j") DW_AT_decl_file [DW_FORM_data1] ("/usr/local/google/home/azakai/Dev/emscripten/tests/fannkuch.cpp") DW_AT_decl_line [DW_FORM_data1] (30) @@ -2666,11 +2666,11 @@ Abbrev table for offset: 0x00000000 0x0000014a: DW_TAG_variable [13] DW_AT_location [DW_FORM_sec_offset] (0x0000021f: - [0xffffffff, 0x0000012f): - [0x00000000, 0x0000002d): DW_OP_WASM_location 0x0 +15, DW_OP_stack_value - [0x0000003f, 0x00000056): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value - [0x0000019e, 0x000001cb): DW_OP_WASM_location 0x0 +14, DW_OP_stack_value - [0x000001dd, 0x000001f4): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value) + [0xffffffff, 0x00000125): + [0x00000000, 0x0000002a): DW_OP_WASM_location 0x0 +15, DW_OP_stack_value + [0x0000003b, 0x00000051): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value + [0x0000018b, 0x000001b5): DW_OP_WASM_location 0x0 +14, DW_OP_stack_value + [0x000001c6, 0x000001dc): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value) DW_AT_name [DW_FORM_strp] ( .debug_str[0x0000019f] = "tmp") DW_AT_decl_file [DW_FORM_data1] ("/usr/local/google/home/azakai/Dev/emscripten/tests/fannkuch.cpp") DW_AT_decl_line [DW_FORM_data1] (30) @@ -2678,10 +2678,10 @@ Abbrev table for offset: 0x00000000 0x00000159: DW_TAG_lexical_block [14] * DW_AT_ranges [DW_FORM_sec_offset] (0x00000000 - [0x000001a2, 0x000001e3) - [0x0000020f, 0x00000219) - [0x00000340, 0x00000381) - [0x000003ad, 0x000003b7)) + [0x00000193, 0x000001d1) + [0x000001fb, 0x00000204) + [0x0000031e, 0x0000035c) + [0x00000386, 0x0000038f)) 0x0000015e: DW_TAG_variable [12] DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000163] = "p0") @@ -2692,28 +2692,28 @@ Abbrev table for offset: 0x00000000 0x00000169: NULL 0x0000016a: DW_TAG_GNU_call_site [15] - DW_AT_low_pc [DW_FORM_addr] (0x000000000000003a) + DW_AT_low_pc [DW_FORM_addr] (0x0000000000000039) 0x0000016f: DW_TAG_GNU_call_site [15] - DW_AT_low_pc [DW_FORM_addr] (0x0000000000000040) + DW_AT_low_pc [DW_FORM_addr] (0x000000000000003f) 0x00000174: DW_TAG_GNU_call_site [15] - DW_AT_low_pc [DW_FORM_addr] (0x0000000000000046) + DW_AT_low_pc [DW_FORM_addr] (0x0000000000000045) 0x00000179: DW_TAG_GNU_call_site [15] - DW_AT_low_pc [DW_FORM_addr] (0x00000000000000f7) + DW_AT_low_pc [DW_FORM_addr] (0x00000000000000ef) 0x0000017e: DW_TAG_GNU_call_site [16] DW_AT_abstract_origin [DW_FORM_ref4] (cu + 0x019a => {0x0000019a} "free") - DW_AT_low_pc [DW_FORM_addr] (0x00000000000003c0) + DW_AT_low_pc [DW_FORM_addr] (0x0000000000000398) 0x00000187: DW_TAG_GNU_call_site [16] DW_AT_abstract_origin [DW_FORM_ref4] (cu + 0x019a => {0x0000019a} "free") - DW_AT_low_pc [DW_FORM_addr] (0x00000000000003c4) + DW_AT_low_pc [DW_FORM_addr] (0x000000000000039c) 0x00000190: DW_TAG_GNU_call_site [16] DW_AT_abstract_origin [DW_FORM_ref4] (cu + 0x019a => {0x0000019a} "free") - DW_AT_low_pc [DW_FORM_addr] (0x00000000000003c8) + DW_AT_low_pc [DW_FORM_addr] (0x00000000000003a0) 0x00000199: NULL @@ -2817,8 +2817,8 @@ Abbrev table for offset: 0x00000000 0x0000023a: NULL 0x0000023b: DW_TAG_subprogram [23] * - DW_AT_low_pc [DW_FORM_addr] (0x00000000000003cd) - DW_AT_high_pc [DW_FORM_data4] (0x0000031e) + DW_AT_low_pc [DW_FORM_addr] (0x00000000000003a5) + DW_AT_high_pc [DW_FORM_data4] (0x00000306) DW_AT_frame_base [DW_FORM_exprloc] (DW_OP_WASM_location 0x0 +2, DW_OP_stack_value) DW_AT_GNU_all_call_sites [DW_FORM_flag_present] (true) DW_AT_name [DW_FORM_strp] ( .debug_str[0x0000018c] = "main") @@ -2841,7 +2841,7 @@ Abbrev table for offset: 0x00000000 0x00000269: DW_TAG_variable [13] DW_AT_location [DW_FORM_sec_offset] (0x00000267: - [0xffffffff, 0x00000400): + [0xffffffff, 0x000003d7): [0x00000000, 0x00000005): DW_OP_WASM_location 0x0 +4, DW_OP_stack_value) DW_AT_name [DW_FORM_strp] ( .debug_str[0x000000dc] = "n") DW_AT_decl_file [DW_FORM_data1] ("/usr/local/google/home/azakai/Dev/emscripten/tests/fannkuch.cpp") @@ -2850,8 +2850,8 @@ Abbrev table for offset: 0x00000000 0x00000278: DW_TAG_inlined_subroutine [24] * DW_AT_abstract_origin [DW_FORM_ref4] (cu + 0x01a8 => {0x000001a8} "_ZL8fannkuchi") - DW_AT_low_pc [DW_FORM_addr] (0x0000000000000415) - DW_AT_high_pc [DW_FORM_data4] (0x000002b3) + DW_AT_low_pc [DW_FORM_addr] (0x00000000000003ec) + DW_AT_high_pc [DW_FORM_data4] (0x0000029e) DW_AT_call_file [DW_FORM_data1] ("/usr/local/google/home/azakai/Dev/emscripten/tests/fannkuch.cpp") DW_AT_call_line [DW_FORM_data1] (159) DW_AT_call_column [DW_FORM_data1] (0x29) @@ -2861,29 +2861,29 @@ Abbrev table for offset: 0x00000000 0x0000028d: DW_TAG_variable [26] DW_AT_location [DW_FORM_sec_offset] (0x00000285: - [0xffffffff, 0x00000413): + [0xffffffff, 0x000003ea): [0x00000000, 0x00000009): DW_OP_consts +30, DW_OP_stack_value) DW_AT_abstract_origin [DW_FORM_ref4] (cu + 0x01c3 => {0x000001c3} "showmax") 0x00000296: DW_TAG_variable [26] DW_AT_location [DW_FORM_sec_offset] (0x000002a2: - [0xffffffff, 0x00000413): + [0xffffffff, 0x000003ea): [0x00000000, 0x00000009): DW_OP_lit0, DW_OP_stack_value - [0x0000029b, 0x000002b3): DW_OP_WASM_location 0x0 +6, DW_OP_stack_value) + [0x00000286, 0x0000029e): DW_OP_WASM_location 0x0 +6, DW_OP_stack_value) DW_AT_abstract_origin [DW_FORM_ref4] (cu + 0x01ce => {0x000001ce} "args") 0x0000029f: DW_TAG_variable [26] DW_AT_location [DW_FORM_sec_offset] (0x000002cc: - [0xffffffff, 0x00000413): + [0xffffffff, 0x000003ea): [0x00000000, 0x00000009): DW_OP_consts +0, DW_OP_stack_value - [0x00000041, 0x00000046): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value - [0x0000004c, 0x0000006c): DW_OP_consts +0, DW_OP_stack_value - [0x00000083, 0x00000088): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value - [0x000000a1, 0x000000a5): DW_OP_consts +0, DW_OP_stack_value - [0x000000ce, 0x000000d3): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value - [0x0000011c, 0x0000012d): DW_OP_consts +0, DW_OP_stack_value - [0x000001a5, 0x000001b3): DW_OP_consts +0, DW_OP_stack_value - [0x000001e9, 0x000001fe): DW_OP_consts +0, DW_OP_stack_value) + [0x0000003e, 0x00000043): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value + [0x00000049, 0x00000069): DW_OP_consts +0, DW_OP_stack_value + [0x0000007f, 0x00000084): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value + [0x0000009d, 0x000000a1): DW_OP_consts +0, DW_OP_stack_value + [0x000000c8, 0x000000cd): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value + [0x00000115, 0x00000125): DW_OP_consts +0, DW_OP_stack_value + [0x00000198, 0x000001a6): DW_OP_consts +0, DW_OP_stack_value + [0x000001db, 0x000001ef): DW_OP_consts +0, DW_OP_stack_value) DW_AT_abstract_origin [DW_FORM_ref4] (cu + 0x01d9 => {0x000001d9} "i") 0x000002a8: DW_TAG_variable [27] @@ -2891,50 +2891,50 @@ Abbrev table for offset: 0x00000000 0x000002ad: DW_TAG_variable [26] DW_AT_location [DW_FORM_sec_offset] (0x00000354: - [0xffffffff, 0x0000046a): + [0xffffffff, 0x0000043e): [0x00000000, 0x00000015): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value) DW_AT_abstract_origin [DW_FORM_ref4] (cu + 0x01ef => {0x000001ef} "perm1") 0x000002b6: DW_TAG_variable [26] DW_AT_location [DW_FORM_sec_offset] (0x00000372: - [0xffffffff, 0x00000470): + [0xffffffff, 0x00000444): [0x00000000, 0x0000000f): DW_OP_WASM_location 0x0 +5, DW_OP_stack_value) DW_AT_abstract_origin [DW_FORM_ref4] (cu + 0x01fa => {0x000001fa} "count") 0x000002bf: DW_TAG_variable [26] DW_AT_location [DW_FORM_sec_offset] (0x00000390: - [0xffffffff, 0x000005a3): + [0xffffffff, 0x0000056d): [0x00000000, 0x00000007): DW_OP_WASM_location 0x0 +6, DW_OP_stack_value - [0x000000d1, 0x000000d8): DW_OP_WASM_location 0x0 +6, DW_OP_stack_value) + [0x000000ca, 0x000000d1): DW_OP_WASM_location 0x0 +6, DW_OP_stack_value) DW_AT_abstract_origin [DW_FORM_ref4] (cu + 0x0205 => {0x00000205} "r") 0x000002c8: DW_TAG_variable [26] DW_AT_location [DW_FORM_sec_offset] (0x000003e8: - [0xffffffff, 0x0000068f): + [0xffffffff, 0x00000652): [0x00000000, 0x0000000b): DW_OP_consts +0, DW_OP_stack_value - [0x0000002f, 0x00000037): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value) + [0x0000002e, 0x00000036): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value) DW_AT_abstract_origin [DW_FORM_ref4] (cu + 0x0210 => {0x00000210} "maxflips") 0x000002d1: DW_TAG_variable [26] DW_AT_location [DW_FORM_sec_offset] (0x00000413: - [0xffffffff, 0x000006a6): - [0x00000000, 0x00000020): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value) + [0xffffffff, 0x00000669): + [0x00000000, 0x0000001f): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value) DW_AT_abstract_origin [DW_FORM_ref4] (cu + 0x021b => {0x0000021b} "flips") 0x000002da: DW_TAG_label [28] DW_AT_abstract_origin [DW_FORM_ref4] (cu + 0x0226 => {0x00000226} "cleanup") - DW_AT_low_pc [DW_FORM_addr] (0x0000000000000683) + DW_AT_low_pc [DW_FORM_addr] (0x0000000000000646) 0x000002e3: DW_TAG_lexical_block [14] * DW_AT_ranges [DW_FORM_sec_offset] (0x00000028 - [0x0000052f, 0x0000057a) - [0x000005fa, 0x0000064b)) + [0x000004ff, 0x00000546) + [0x000005c3, 0x00000610)) 0x000002e8: DW_TAG_variable [26] DW_AT_location [DW_FORM_sec_offset] (0x000003bc: - [0xffffffff, 0x00000537): + [0xffffffff, 0x00000506): [0x00000000, 0x00000009): DW_OP_WASM_location 0x0 +8, DW_OP_stack_value - [0x000000cd, 0x000000da): DW_OP_WASM_location 0x0 +8, DW_OP_stack_value) + [0x000000c6, 0x000000d3): DW_OP_WASM_location 0x0 +8, DW_OP_stack_value) DW_AT_abstract_origin [DW_FORM_ref4] (cu + 0x022e => {0x0000022e} "p0") 0x000002f1: NULL @@ -2942,46 +2942,46 @@ Abbrev table for offset: 0x00000000 0x000002f2: NULL 0x000002f3: DW_TAG_GNU_call_site [15] - DW_AT_low_pc [DW_FORM_addr] (0x00000000000003fe) + DW_AT_low_pc [DW_FORM_addr] (0x00000000000003d5) 0x000002f8: DW_TAG_GNU_call_site [15] - DW_AT_low_pc [DW_FORM_addr] (0x000000000000040b) + DW_AT_low_pc [DW_FORM_addr] (0x00000000000003e2) 0x000002fd: DW_TAG_GNU_call_site [15] - DW_AT_low_pc [DW_FORM_addr] (0x0000000000000431) + DW_AT_low_pc [DW_FORM_addr] (0x0000000000000408) 0x00000302: DW_TAG_GNU_call_site [15] - DW_AT_low_pc [DW_FORM_addr] (0x0000000000000468) + DW_AT_low_pc [DW_FORM_addr] (0x000000000000043c) 0x00000307: DW_TAG_GNU_call_site [15] - DW_AT_low_pc [DW_FORM_addr] (0x000000000000046e) + DW_AT_low_pc [DW_FORM_addr] (0x0000000000000442) 0x0000030c: DW_TAG_GNU_call_site [15] - DW_AT_low_pc [DW_FORM_addr] (0x00000000000004d9) + DW_AT_low_pc [DW_FORM_addr] (0x00000000000004aa) 0x00000311: DW_TAG_GNU_call_site [15] - DW_AT_low_pc [DW_FORM_addr] (0x00000000000004eb) + DW_AT_low_pc [DW_FORM_addr] (0x00000000000004bc) 0x00000316: DW_TAG_GNU_call_site [15] - DW_AT_low_pc [DW_FORM_addr] (0x00000000000005bc) + DW_AT_low_pc [DW_FORM_addr] (0x0000000000000586) 0x0000031b: DW_TAG_GNU_call_site [16] DW_AT_abstract_origin [DW_FORM_ref4] (cu + 0x019a => {0x0000019a} "free") - DW_AT_low_pc [DW_FORM_addr] (0x0000000000000687) + DW_AT_low_pc [DW_FORM_addr] (0x000000000000064a) 0x00000324: DW_TAG_GNU_call_site [16] DW_AT_abstract_origin [DW_FORM_ref4] (cu + 0x019a => {0x0000019a} "free") - DW_AT_low_pc [DW_FORM_addr] (0x000000000000068b) + DW_AT_low_pc [DW_FORM_addr] (0x000000000000064e) 0x0000032d: DW_TAG_GNU_call_site [15] - DW_AT_low_pc [DW_FORM_addr] (0x00000000000006a4) + DW_AT_low_pc [DW_FORM_addr] (0x0000000000000667) 0x00000332: DW_TAG_GNU_call_site [16] DW_AT_abstract_origin [DW_FORM_ref4] (cu + 0x019a => {0x0000019a} "free") - DW_AT_low_pc [DW_FORM_addr] (0x00000000000006b2) + DW_AT_low_pc [DW_FORM_addr] (0x0000000000000674) 0x0000033b: DW_TAG_GNU_call_site [15] - DW_AT_low_pc [DW_FORM_addr] (0x00000000000006df) + DW_AT_low_pc [DW_FORM_addr] (0x000000000000069f) 0x00000340: NULL @@ -3001,120 +3001,120 @@ Abbrev table for offset: 0x00000000 .debug_loc contents: 0x00000000: [0xffffffff, 0x00000006): - [0x00000000, 0x0000004f): DW_OP_consts +0, DW_OP_stack_value + [0x00000000, 0x0000004e): DW_OP_consts +0, DW_OP_stack_value 0x0000001d: [0xffffffff, 0x0000002b): - [0x00000000, 0x0000002a): DW_OP_consts +0, DW_OP_stack_value - [0x00000041, 0x00000046): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value - [0x000000de, 0x000000e7): DW_OP_consts +1, DW_OP_stack_value - [0x00000127, 0x00000131): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value - [0x00000171, 0x0000017e): DW_OP_consts +0, DW_OP_stack_value - [0x0000026a, 0x00000276): DW_OP_consts +0, DW_OP_stack_value - [0x0000027c, 0x00000285): DW_OP_consts +1, DW_OP_stack_value - [0x000002c5, 0x000002cf): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value - [0x0000030f, 0x0000031c): DW_OP_consts +0, DW_OP_stack_value + [0x00000000, 0x00000029): DW_OP_consts +0, DW_OP_stack_value + [0x0000003f, 0x00000044): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value + [0x000000d5, 0x000000de): DW_OP_consts +1, DW_OP_stack_value + [0x0000011a, 0x00000124): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value + [0x00000162, 0x0000016f): DW_OP_consts +0, DW_OP_stack_value + [0x0000024f, 0x0000025a): DW_OP_consts +0, DW_OP_stack_value + [0x00000260, 0x00000269): DW_OP_consts +1, DW_OP_stack_value + [0x000002a5, 0x000002af): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value + [0x000002ed, 0x000002fa): DW_OP_consts +0, DW_OP_stack_value 0x000000a5: - [0xffffffff, 0x00000033): + [0xffffffff, 0x00000032): [0x00000000, 0x00000022): DW_OP_WASM_location 0x0 +2, DW_OP_stack_value 0x000000c3: - [0xffffffff, 0x0000003c): + [0xffffffff, 0x0000003b): [0x00000000, 0x00000019): DW_OP_WASM_location 0x0 +4, DW_OP_stack_value 0x000000e1: - [0xffffffff, 0x00000042): + [0xffffffff, 0x00000041): [0x00000000, 0x00000013): DW_OP_WASM_location 0x0 +5, DW_OP_stack_value 0x000000ff: - [0xffffffff, 0x00000048): + [0xffffffff, 0x00000047): [0x00000000, 0x0000000d): DW_OP_WASM_location 0x0 +6, DW_OP_stack_value 0x0000011d: - [0xffffffff, 0x0000020a): + [0xffffffff, 0x000001f6): [0x00000000, 0x00000005): DW_OP_WASM_location 0x0 +2, DW_OP_stack_value - [0x0000019e, 0x000001a3): DW_OP_WASM_location 0x0 +2, DW_OP_stack_value + [0x0000018b, 0x00000190): DW_OP_WASM_location 0x0 +2, DW_OP_stack_value 0x00000149: - [0xffffffff, 0x000000ef): - [0x00000000, 0x00000014): DW_OP_consts +0, DW_OP_stack_value - [0x0000001a, 0x00000023): DW_OP_WASM_location 0x0 +13, DW_OP_stack_value - [0x0000008e, 0x00000096): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value - [0x000001a6, 0x000001b2): DW_OP_consts +0, DW_OP_stack_value - [0x000001b8, 0x000001c1): DW_OP_WASM_location 0x0 +10, DW_OP_stack_value - [0x0000022c, 0x00000234): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value + [0xffffffff, 0x000000e7): + [0x00000000, 0x00000013): DW_OP_consts +0, DW_OP_stack_value + [0x00000019, 0x00000022): DW_OP_WASM_location 0x0 +13, DW_OP_stack_value + [0x00000087, 0x0000008f): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value + [0x00000193, 0x0000019e): DW_OP_consts +0, DW_OP_stack_value + [0x000001a4, 0x000001ad): DW_OP_WASM_location 0x0 +10, DW_OP_stack_value + [0x00000212, 0x0000021a): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value 0x000001ab: - [0xffffffff, 0x000000ff): + [0xffffffff, 0x000000f6): [0x00000000, 0x00000004): DW_OP_WASM_location 0x0 +12, DW_OP_stack_value - [0x0000019e, 0x000001a2): DW_OP_WASM_location 0x0 +16, DW_OP_stack_value + [0x0000018b, 0x0000018f): DW_OP_WASM_location 0x0 +16, DW_OP_stack_value 0x000001d7: - [0xffffffff, 0x00000119): + [0xffffffff, 0x00000110): [0x00000000, 0x00000004): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value - [0x00000040, 0x00000043): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value - [0x0000019e, 0x000001a2): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value - [0x000001de, 0x000001e1): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value + [0x0000003c, 0x0000003f): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value + [0x0000018b, 0x0000018f): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value + [0x000001c7, 0x000001ca): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value 0x0000021f: - [0xffffffff, 0x0000012f): - [0x00000000, 0x0000002d): DW_OP_WASM_location 0x0 +15, DW_OP_stack_value - [0x0000003f, 0x00000056): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value - [0x0000019e, 0x000001cb): DW_OP_WASM_location 0x0 +14, DW_OP_stack_value - [0x000001dd, 0x000001f4): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value + [0xffffffff, 0x00000125): + [0x00000000, 0x0000002a): DW_OP_WASM_location 0x0 +15, DW_OP_stack_value + [0x0000003b, 0x00000051): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value + [0x0000018b, 0x000001b5): DW_OP_WASM_location 0x0 +14, DW_OP_stack_value + [0x000001c6, 0x000001dc): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value 0x00000267: - [0xffffffff, 0x00000400): + [0xffffffff, 0x000003d7): [0x00000000, 0x00000005): DW_OP_WASM_location 0x0 +4, DW_OP_stack_value 0x00000285: - [0xffffffff, 0x00000413): + [0xffffffff, 0x000003ea): [0x00000000, 0x00000009): DW_OP_consts +30, DW_OP_stack_value 0x000002a2: - [0xffffffff, 0x00000413): + [0xffffffff, 0x000003ea): [0x00000000, 0x00000009): DW_OP_lit0, DW_OP_stack_value - [0x0000029b, 0x000002b3): DW_OP_WASM_location 0x0 +6, DW_OP_stack_value + [0x00000286, 0x0000029e): DW_OP_WASM_location 0x0 +6, DW_OP_stack_value 0x000002cc: - [0xffffffff, 0x00000413): + [0xffffffff, 0x000003ea): [0x00000000, 0x00000009): DW_OP_consts +0, DW_OP_stack_value - [0x00000041, 0x00000046): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value - [0x0000004c, 0x0000006c): DW_OP_consts +0, DW_OP_stack_value - [0x00000083, 0x00000088): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value - [0x000000a1, 0x000000a5): DW_OP_consts +0, DW_OP_stack_value - [0x000000ce, 0x000000d3): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value - [0x0000011c, 0x0000012d): DW_OP_consts +0, DW_OP_stack_value - [0x000001a5, 0x000001b3): DW_OP_consts +0, DW_OP_stack_value - [0x000001e9, 0x000001fe): DW_OP_consts +0, DW_OP_stack_value + [0x0000003e, 0x00000043): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value + [0x00000049, 0x00000069): DW_OP_consts +0, DW_OP_stack_value + [0x0000007f, 0x00000084): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value + [0x0000009d, 0x000000a1): DW_OP_consts +0, DW_OP_stack_value + [0x000000c8, 0x000000cd): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value + [0x00000115, 0x00000125): DW_OP_consts +0, DW_OP_stack_value + [0x00000198, 0x000001a6): DW_OP_consts +0, DW_OP_stack_value + [0x000001db, 0x000001ef): DW_OP_consts +0, DW_OP_stack_value 0x00000354: - [0xffffffff, 0x0000046a): + [0xffffffff, 0x0000043e): [0x00000000, 0x00000015): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value 0x00000372: - [0xffffffff, 0x00000470): + [0xffffffff, 0x00000444): [0x00000000, 0x0000000f): DW_OP_WASM_location 0x0 +5, DW_OP_stack_value 0x00000390: - [0xffffffff, 0x000005a3): + [0xffffffff, 0x0000056d): [0x00000000, 0x00000007): DW_OP_WASM_location 0x0 +6, DW_OP_stack_value - [0x000000d1, 0x000000d8): DW_OP_WASM_location 0x0 +6, DW_OP_stack_value + [0x000000ca, 0x000000d1): DW_OP_WASM_location 0x0 +6, DW_OP_stack_value 0x000003bc: - [0xffffffff, 0x00000537): + [0xffffffff, 0x00000506): [0x00000000, 0x00000009): DW_OP_WASM_location 0x0 +8, DW_OP_stack_value - [0x000000cd, 0x000000da): DW_OP_WASM_location 0x0 +8, DW_OP_stack_value + [0x000000c6, 0x000000d3): DW_OP_WASM_location 0x0 +8, DW_OP_stack_value 0x000003e8: - [0xffffffff, 0x0000068f): + [0xffffffff, 0x00000652): [0x00000000, 0x0000000b): DW_OP_consts +0, DW_OP_stack_value - [0x0000002f, 0x00000037): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value + [0x0000002e, 0x00000036): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value 0x00000413: - [0xffffffff, 0x000006a6): - [0x00000000, 0x00000020): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value + [0xffffffff, 0x00000669): + [0x00000000, 0x0000001f): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value .debug_line contents: debug_line[0x00000000] @@ -3175,1569 +3175,1569 @@ file_names[ 4]: 0x000000000000002b 33 14 1 0 0 is_stmt prologue_end -0x000000fe: 00 DW_LNE_set_address (0x0000000000000035) +0x000000fe: 00 DW_LNE_set_address (0x0000000000000034) 0x00000105: 03 DW_LNS_advance_line (34) 0x00000107: 05 DW_LNS_set_column (27) 0x00000109: 01 DW_LNS_copy - 0x0000000000000035 34 27 1 0 0 is_stmt + 0x0000000000000034 34 27 1 0 0 is_stmt -0x0000010a: 00 DW_LNE_set_address (0x0000000000000036) +0x0000010a: 00 DW_LNE_set_address (0x0000000000000035) 0x00000111: 05 DW_LNS_set_column (18) 0x00000113: 06 DW_LNS_negate_stmt 0x00000114: 01 DW_LNS_copy - 0x0000000000000036 34 18 1 0 0 + 0x0000000000000035 34 18 1 0 0 -0x00000115: 00 DW_LNE_set_address (0x000000000000003c) +0x00000115: 00 DW_LNE_set_address (0x000000000000003b) 0x0000011c: 03 DW_LNS_advance_line (35) 0x0000011e: 05 DW_LNS_set_column (17) 0x00000120: 06 DW_LNS_negate_stmt 0x00000121: 01 DW_LNS_copy - 0x000000000000003c 35 17 1 0 0 is_stmt + 0x000000000000003b 35 17 1 0 0 is_stmt -0x00000122: 00 DW_LNE_set_address (0x0000000000000042) +0x00000122: 00 DW_LNE_set_address (0x0000000000000041) 0x00000129: 03 DW_LNS_advance_line (36) 0x0000012b: 05 DW_LNS_set_column (18) 0x0000012d: 01 DW_LNS_copy - 0x0000000000000042 36 18 1 0 0 is_stmt + 0x0000000000000041 36 18 1 0 0 is_stmt -0x0000012e: 00 DW_LNE_set_address (0x000000000000004e) +0x0000012e: 00 DW_LNE_set_address (0x000000000000004d) 0x00000135: 03 DW_LNS_advance_line (37) 0x00000137: 01 DW_LNS_copy - 0x000000000000004e 37 18 1 0 0 is_stmt + 0x000000000000004d 37 18 1 0 0 is_stmt -0x00000138: 00 DW_LNE_set_address (0x0000000000000053) +0x00000138: 00 DW_LNE_set_address (0x0000000000000052) 0x0000013f: 05 DW_LNS_set_column (4) 0x00000141: 06 DW_LNS_negate_stmt 0x00000142: 01 DW_LNS_copy - 0x0000000000000053 37 4 1 0 0 + 0x0000000000000052 37 4 1 0 0 -0x00000143: 00 DW_LNE_set_address (0x0000000000000057) +0x00000143: 00 DW_LNE_set_address (0x0000000000000056) 0x0000014a: 03 DW_LNS_advance_line (38) 0x0000014c: 05 DW_LNS_set_column (7) 0x0000014e: 06 DW_LNS_negate_stmt 0x0000014f: 01 DW_LNS_copy - 0x0000000000000057 38 7 1 0 0 is_stmt + 0x0000000000000056 38 7 1 0 0 is_stmt -0x00000150: 00 DW_LNE_set_address (0x000000000000005f) +0x00000150: 00 DW_LNE_set_address (0x000000000000005e) 0x00000157: 05 DW_LNS_set_column (16) 0x00000159: 06 DW_LNS_negate_stmt 0x0000015a: 01 DW_LNS_copy - 0x000000000000005f 38 16 1 0 0 + 0x000000000000005e 38 16 1 0 0 -0x0000015b: 00 DW_LNE_set_address (0x0000000000000065) +0x0000015b: 00 DW_LNE_set_address (0x0000000000000063) 0x00000162: 03 DW_LNS_advance_line (37) 0x00000164: 05 DW_LNS_set_column (24) 0x00000166: 06 DW_LNS_negate_stmt 0x00000167: 01 DW_LNS_copy - 0x0000000000000065 37 24 1 0 0 is_stmt + 0x0000000000000063 37 24 1 0 0 is_stmt -0x00000168: 00 DW_LNE_set_address (0x000000000000006a) +0x00000168: 00 DW_LNE_set_address (0x0000000000000068) 0x0000016f: 05 DW_LNS_set_column (18) 0x00000171: 06 DW_LNS_negate_stmt 0x00000172: 01 DW_LNS_copy - 0x000000000000006a 37 18 1 0 0 + 0x0000000000000068 37 18 1 0 0 -0x00000173: 00 DW_LNE_set_address (0x000000000000006f) +0x00000173: 00 DW_LNE_set_address (0x000000000000006d) 0x0000017a: 05 DW_LNS_set_column (4) 0x0000017c: 01 DW_LNS_copy - 0x000000000000006f 37 4 1 0 0 + 0x000000000000006d 37 4 1 0 0 -0x0000017d: 00 DW_LNE_set_address (0x0000000000000072) +0x0000017d: 00 DW_LNE_set_address (0x0000000000000070) 0x00000184: 03 DW_LNS_advance_line (39) 0x00000186: 06 DW_LNS_negate_stmt 0x00000187: 01 DW_LNS_copy - 0x0000000000000072 39 4 1 0 0 is_stmt + 0x0000000000000070 39 4 1 0 0 is_stmt -0x00000188: 00 DW_LNE_set_address (0x0000000000000074) +0x00000188: 00 DW_LNE_set_address (0x0000000000000072) 0x0000018f: 05 DW_LNS_set_column (16) 0x00000191: 06 DW_LNS_negate_stmt 0x00000192: 01 DW_LNS_copy - 0x0000000000000074 39 16 1 0 0 + 0x0000000000000072 39 16 1 0 0 -0x00000193: 00 DW_LNE_set_address (0x000000000000007e) +0x00000193: 00 DW_LNE_set_address (0x000000000000007b) 0x0000019a: 05 DW_LNS_set_column (4) 0x0000019c: 01 DW_LNS_copy - 0x000000000000007e 39 4 1 0 0 + 0x000000000000007b 39 4 1 0 0 -0x0000019d: 00 DW_LNE_set_address (0x0000000000000080) +0x0000019d: 00 DW_LNE_set_address (0x000000000000007d) 0x000001a4: 05 DW_LNS_set_column (23) 0x000001a6: 01 DW_LNS_copy - 0x0000000000000080 39 23 1 0 0 + 0x000000000000007d 39 23 1 0 0 -0x000001a7: 00 DW_LNE_set_address (0x0000000000000085) +0x000001a7: 00 DW_LNE_set_address (0x0000000000000082) 0x000001ae: 05 DW_LNS_set_column (19) 0x000001b0: 01 DW_LNS_copy - 0x0000000000000085 39 19 1 0 0 + 0x0000000000000082 39 19 1 0 0 -0x000001b1: 00 DW_LNE_set_address (0x000000000000008b) +0x000001b1: 00 DW_LNE_set_address (0x0000000000000087) 0x000001b8: 03 DW_LNS_advance_line (40) 0x000001ba: 05 DW_LNS_set_column (4) 0x000001bc: 06 DW_LNS_negate_stmt 0x000001bd: 01 DW_LNS_copy - 0x000000000000008b 40 4 1 0 0 is_stmt + 0x0000000000000087 40 4 1 0 0 is_stmt -0x000001be: 00 DW_LNE_set_address (0x0000000000000093) +0x000001be: 00 DW_LNE_set_address (0x000000000000008f) 0x000001c5: 05 DW_LNS_set_column (17) 0x000001c7: 06 DW_LNS_negate_stmt 0x000001c8: 01 DW_LNS_copy - 0x0000000000000093 40 17 1 0 0 + 0x000000000000008f 40 17 1 0 0 -0x000001c9: 00 DW_LNE_set_address (0x000000000000009f) +0x000001c9: 00 DW_LNE_set_address (0x000000000000009a) 0x000001d0: 03 DW_LNS_advance_line (37) 0x000001d2: 05 DW_LNS_set_column (18) 0x000001d4: 06 DW_LNS_negate_stmt 0x000001d5: 01 DW_LNS_copy - 0x000000000000009f 37 18 1 0 0 is_stmt + 0x000000000000009a 37 18 1 0 0 is_stmt -0x000001d6: 00 DW_LNE_set_address (0x00000000000000a4) +0x000001d6: 00 DW_LNE_set_address (0x000000000000009f) 0x000001dd: 03 DW_LNS_advance_line (43) 0x000001df: 05 DW_LNS_set_column (4) 0x000001e1: 01 DW_LNS_copy - 0x00000000000000a4 43 4 1 0 0 is_stmt + 0x000000000000009f 43 4 1 0 0 is_stmt -0x000001e2: 00 DW_LNE_set_address (0x00000000000000aa) +0x000001e2: 00 DW_LNE_set_address (0x00000000000000a5) 0x000001e9: 03 DW_LNS_advance_line (44) 0x000001eb: 05 DW_LNS_set_column (16) 0x000001ed: 01 DW_LNS_copy - 0x00000000000000aa 44 16 1 0 0 is_stmt + 0x00000000000000a5 44 16 1 0 0 is_stmt -0x000001ee: 00 DW_LNE_set_address (0x00000000000000b3) +0x000001ee: 00 DW_LNE_set_address (0x00000000000000ae) 0x000001f5: 03 DW_LNS_advance_line (45) 0x000001f7: 05 DW_LNS_set_column (10) 0x000001f9: 01 DW_LNS_copy - 0x00000000000000b3 45 10 1 0 0 is_stmt + 0x00000000000000ae 45 10 1 0 0 is_stmt -0x000001fa: 00 DW_LNE_set_address (0x00000000000000b5) +0x000001fa: 00 DW_LNE_set_address (0x00000000000000b0) 0x00000201: 05 DW_LNS_set_column (18) 0x00000203: 06 DW_LNS_negate_stmt 0x00000204: 01 DW_LNS_copy - 0x00000000000000b5 45 18 1 0 0 + 0x00000000000000b0 45 18 1 0 0 -0x00000205: 00 DW_LNE_set_address (0x00000000000000be) +0x00000205: 00 DW_LNE_set_address (0x00000000000000b9) 0x0000020c: 05 DW_LNS_set_column (10) 0x0000020e: 01 DW_LNS_copy - 0x00000000000000be 45 10 1 0 0 + 0x00000000000000b9 45 10 1 0 0 -0x0000020f: 00 DW_LNE_set_address (0x00000000000000c0) +0x0000020f: 00 DW_LNE_set_address (0x00000000000000bb) 0x00000216: 05 DW_LNS_set_column (23) 0x00000218: 01 DW_LNS_copy - 0x00000000000000c0 45 23 1 0 0 + 0x00000000000000bb 45 23 1 0 0 -0x00000219: 00 DW_LNE_set_address (0x00000000000000c6) +0x00000219: 00 DW_LNE_set_address (0x00000000000000c0) 0x00000220: 03 DW_LNS_advance_line (44) 0x00000222: 05 DW_LNS_set_column (16) 0x00000224: 06 DW_LNS_negate_stmt 0x00000225: 01 DW_LNS_copy - 0x00000000000000c6 44 16 1 0 0 is_stmt + 0x00000000000000c0 44 16 1 0 0 is_stmt -0x00000226: 00 DW_LNE_set_address (0x00000000000000d1) +0x00000226: 00 DW_LNE_set_address (0x00000000000000cb) 0x0000022d: 05 DW_LNS_set_column (7) 0x0000022f: 06 DW_LNS_negate_stmt 0x00000230: 01 DW_LNS_copy - 0x00000000000000d1 44 7 1 0 0 + 0x00000000000000cb 44 7 1 0 0 -0x00000231: 00 DW_LNE_set_address (0x00000000000000d7) +0x00000231: 00 DW_LNE_set_address (0x00000000000000d1) 0x00000238: 03 DW_LNS_advance_line (46) 0x0000023a: 05 DW_LNS_set_column (11) 0x0000023c: 06 DW_LNS_negate_stmt 0x0000023d: 01 DW_LNS_copy - 0x00000000000000d7 46 11 1 0 0 is_stmt + 0x00000000000000d1 46 11 1 0 0 is_stmt -0x0000023e: 00 DW_LNE_set_address (0x00000000000000e4) +0x0000023e: 00 DW_LNE_set_address (0x00000000000000dd) 0x00000245: 05 DW_LNS_set_column (28) 0x00000247: 06 DW_LNS_negate_stmt 0x00000248: 01 DW_LNS_copy - 0x00000000000000e4 46 28 1 0 0 + 0x00000000000000dd 46 28 1 0 0 -0x00000249: 00 DW_LNE_set_address (0x00000000000000ea) +0x00000249: 00 DW_LNE_set_address (0x00000000000000e2) 0x00000250: 05 DW_LNS_set_column (41) 0x00000252: 01 DW_LNS_copy - 0x00000000000000ea 46 41 1 0 0 + 0x00000000000000e2 46 41 1 0 0 -0x00000253: 00 DW_LNE_set_address (0x00000000000000ef) +0x00000253: 00 DW_LNE_set_address (0x00000000000000e7) 0x0000025a: 03 DW_LNS_advance_line (48) 0x0000025c: 05 DW_LNS_set_column (21) 0x0000025e: 06 DW_LNS_negate_stmt 0x0000025f: 01 DW_LNS_copy - 0x00000000000000ef 48 21 1 0 0 is_stmt + 0x00000000000000e7 48 21 1 0 0 is_stmt -0x00000260: 00 DW_LNE_set_address (0x00000000000000f7) +0x00000260: 00 DW_LNE_set_address (0x00000000000000ef) 0x00000267: 03 DW_LNS_advance_line (50) 0x00000269: 05 DW_LNS_set_column (14) 0x0000026b: 01 DW_LNS_copy - 0x00000000000000f7 50 14 1 0 0 is_stmt + 0x00000000000000ef 50 14 1 0 0 is_stmt -0x0000026c: 00 DW_LNE_set_address (0x000000000000010b) +0x0000026c: 00 DW_LNE_set_address (0x0000000000000102) 0x00000273: 03 DW_LNS_advance_line (52) 0x00000275: 05 DW_LNS_set_column (38) 0x00000277: 01 DW_LNS_copy - 0x000000000000010b 52 38 1 0 0 is_stmt + 0x0000000000000102 52 38 1 0 0 is_stmt -0x00000278: 00 DW_LNE_set_address (0x000000000000011f) +0x00000278: 00 DW_LNE_set_address (0x0000000000000116) 0x0000027f: 03 DW_LNS_advance_line (53) 0x00000281: 05 DW_LNS_set_column (22) 0x00000283: 01 DW_LNS_copy - 0x000000000000011f 53 22 1 0 0 is_stmt + 0x0000000000000116 53 22 1 0 0 is_stmt -0x00000284: 00 DW_LNE_set_address (0x000000000000012f) +0x00000284: 00 DW_LNE_set_address (0x0000000000000125) 0x0000028b: 03 DW_LNS_advance_line (54) 0x0000028d: 05 DW_LNS_set_column (24) 0x0000028f: 01 DW_LNS_copy - 0x000000000000012f 54 24 1 0 0 is_stmt + 0x0000000000000125 54 24 1 0 0 is_stmt -0x00000290: 00 DW_LNE_set_address (0x0000000000000131) +0x00000290: 00 DW_LNE_set_address (0x0000000000000127) 0x00000297: 05 DW_LNS_set_column (26) 0x00000299: 06 DW_LNS_negate_stmt 0x0000029a: 01 DW_LNS_copy - 0x0000000000000131 54 26 1 0 0 + 0x0000000000000127 54 26 1 0 0 -0x0000029b: 00 DW_LNE_set_address (0x000000000000013f) +0x0000029b: 00 DW_LNE_set_address (0x0000000000000134) 0x000002a2: 05 DW_LNS_set_column (24) 0x000002a4: 01 DW_LNS_copy - 0x000000000000013f 54 24 1 0 0 + 0x0000000000000134 54 24 1 0 0 -0x000002a5: 00 DW_LNE_set_address (0x0000000000000143) +0x000002a5: 00 DW_LNE_set_address (0x0000000000000137) 0x000002ac: 03 DW_LNS_advance_line (55) 0x000002ae: 06 DW_LNS_negate_stmt 0x000002af: 01 DW_LNS_copy - 0x0000000000000143 55 24 1 0 0 is_stmt + 0x0000000000000137 55 24 1 0 0 is_stmt -0x000002b0: 00 DW_LNE_set_address (0x000000000000014b) +0x000002b0: 00 DW_LNE_set_address (0x000000000000013e) 0x000002b7: 03 DW_LNS_advance_line (52) 0x000002b9: 05 DW_LNS_set_column (44) 0x000002bb: 01 DW_LNS_copy - 0x000000000000014b 52 44 1 0 0 is_stmt + 0x000000000000013e 52 44 1 0 0 is_stmt -0x000002bc: 00 DW_LNE_set_address (0x0000000000000157) +0x000002bc: 00 DW_LNE_set_address (0x000000000000014a) 0x000002c3: 05 DW_LNS_set_column (38) 0x000002c5: 06 DW_LNS_negate_stmt 0x000002c6: 01 DW_LNS_copy - 0x0000000000000157 52 38 1 0 0 + 0x000000000000014a 52 38 1 0 0 -0x000002c7: 00 DW_LNE_set_address (0x000000000000015a) +0x000002c7: 00 DW_LNE_set_address (0x000000000000014d) 0x000002ce: 05 DW_LNS_set_column (13) 0x000002d0: 01 DW_LNS_copy - 0x000000000000015a 52 13 1 0 0 + 0x000000000000014d 52 13 1 0 0 -0x000002d1: 00 DW_LNE_set_address (0x000000000000015e) +0x000002d1: 00 DW_LNE_set_address (0x0000000000000151) 0x000002d8: 03 DW_LNS_advance_line (58) 0x000002da: 05 DW_LNS_set_column (19) 0x000002dc: 06 DW_LNS_negate_stmt 0x000002dd: 01 DW_LNS_copy - 0x000000000000015e 58 19 1 0 0 is_stmt + 0x0000000000000151 58 19 1 0 0 is_stmt -0x000002de: 00 DW_LNE_set_address (0x000000000000016e) +0x000002de: 00 DW_LNE_set_address (0x0000000000000160) 0x000002e5: 03 DW_LNS_advance_line (59) 0x000002e7: 05 DW_LNS_set_column (21) 0x000002e9: 01 DW_LNS_copy - 0x000000000000016e 59 21 1 0 0 is_stmt + 0x0000000000000160 59 21 1 0 0 is_stmt -0x000002ea: 00 DW_LNE_set_address (0x0000000000000176) +0x000002ea: 00 DW_LNE_set_address (0x0000000000000167) 0x000002f1: 03 DW_LNS_advance_line (57) 0x000002f3: 05 DW_LNS_set_column (18) 0x000002f5: 01 DW_LNS_copy - 0x0000000000000176 57 18 1 0 0 is_stmt + 0x0000000000000167 57 18 1 0 0 is_stmt -0x000002f6: 00 DW_LNE_set_address (0x0000000000000186) +0x000002f6: 00 DW_LNE_set_address (0x0000000000000177) 0x000002fd: 03 DW_LNS_advance_line (62) 0x000002ff: 05 DW_LNS_set_column (14) 0x00000301: 01 DW_LNS_copy - 0x0000000000000186 62 14 1 0 0 is_stmt + 0x0000000000000177 62 14 1 0 0 is_stmt -0x00000302: 00 DW_LNE_set_address (0x000000000000018a) +0x00000302: 00 DW_LNE_set_address (0x000000000000017b) 0x00000309: 05 DW_LNS_set_column (23) 0x0000030b: 06 DW_LNS_negate_stmt 0x0000030c: 01 DW_LNS_copy - 0x000000000000018a 62 23 1 0 0 + 0x000000000000017b 62 23 1 0 0 -0x0000030d: 00 DW_LNE_set_address (0x000000000000018f) +0x0000030d: 00 DW_LNE_set_address (0x0000000000000180) 0x00000314: 05 DW_LNS_set_column (14) 0x00000316: 01 DW_LNS_copy - 0x000000000000018f 62 14 1 0 0 + 0x0000000000000180 62 14 1 0 0 -0x00000317: 00 DW_LNE_set_address (0x0000000000000193) +0x00000317: 00 DW_LNE_set_address (0x0000000000000184) 0x0000031e: 03 DW_LNS_advance_line (66) 0x00000320: 05 DW_LNS_set_column (16) 0x00000322: 06 DW_LNS_negate_stmt 0x00000323: 01 DW_LNS_copy - 0x0000000000000193 66 16 1 0 0 is_stmt + 0x0000000000000184 66 16 1 0 0 is_stmt -0x00000324: 00 DW_LNE_set_address (0x00000000000001a2) +0x00000324: 00 DW_LNE_set_address (0x0000000000000193) 0x0000032b: 03 DW_LNS_advance_line (75) 0x0000032d: 05 DW_LNS_set_column (27) 0x0000032f: 01 DW_LNS_copy - 0x00000000000001a2 75 27 1 0 0 is_stmt + 0x0000000000000193 75 27 1 0 0 is_stmt -0x00000330: 00 DW_LNE_set_address (0x00000000000001ab) +0x00000330: 00 DW_LNE_set_address (0x000000000000019c) 0x00000337: 03 DW_LNS_advance_line (76) 0x00000339: 05 DW_LNS_set_column (16) 0x0000033b: 01 DW_LNS_copy - 0x00000000000001ab 76 16 1 0 0 is_stmt + 0x000000000000019c 76 16 1 0 0 is_stmt -0x0000033c: 00 DW_LNE_set_address (0x00000000000001b3) +0x0000033c: 00 DW_LNE_set_address (0x00000000000001a4) 0x00000343: 05 DW_LNS_set_column (27) 0x00000345: 06 DW_LNS_negate_stmt 0x00000346: 01 DW_LNS_copy - 0x00000000000001b3 76 27 1 0 0 + 0x00000000000001a4 76 27 1 0 0 -0x00000347: 00 DW_LNE_set_address (0x00000000000001b5) +0x00000347: 00 DW_LNE_set_address (0x00000000000001a6) 0x0000034e: 05 DW_LNS_set_column (35) 0x00000350: 01 DW_LNS_copy - 0x00000000000001b5 76 35 1 0 0 + 0x00000000000001a6 76 35 1 0 0 -0x00000351: 00 DW_LNE_set_address (0x00000000000001be) +0x00000351: 00 DW_LNE_set_address (0x00000000000001af) 0x00000358: 05 DW_LNS_set_column (27) 0x0000035a: 01 DW_LNS_copy - 0x00000000000001be 76 27 1 0 0 + 0x00000000000001af 76 27 1 0 0 -0x0000035b: 00 DW_LNE_set_address (0x00000000000001c4) +0x0000035b: 00 DW_LNE_set_address (0x00000000000001b4) 0x00000362: 05 DW_LNS_set_column (25) 0x00000364: 01 DW_LNS_copy - 0x00000000000001c4 76 25 1 0 0 + 0x00000000000001b4 76 25 1 0 0 -0x00000365: 00 DW_LNE_set_address (0x00000000000001c8) +0x00000365: 00 DW_LNE_set_address (0x00000000000001b7) 0x0000036c: 03 DW_LNS_advance_line (75) 0x0000036e: 05 DW_LNS_set_column (27) 0x00000370: 06 DW_LNS_negate_stmt 0x00000371: 01 DW_LNS_copy - 0x00000000000001c8 75 27 1 0 0 is_stmt + 0x00000000000001b7 75 27 1 0 0 is_stmt -0x00000372: 00 DW_LNE_set_address (0x00000000000001cd) +0x00000372: 00 DW_LNE_set_address (0x00000000000001bc) 0x00000379: 05 DW_LNS_set_column (13) 0x0000037b: 06 DW_LNS_negate_stmt 0x0000037c: 01 DW_LNS_copy - 0x00000000000001cd 75 13 1 0 0 + 0x00000000000001bc 75 13 1 0 0 -0x0000037d: 00 DW_LNE_set_address (0x00000000000001d5) +0x0000037d: 00 DW_LNE_set_address (0x00000000000001c4) 0x00000384: 03 DW_LNS_advance_line (77) 0x00000386: 06 DW_LNS_negate_stmt 0x00000387: 01 DW_LNS_copy - 0x00000000000001d5 77 13 1 0 0 is_stmt + 0x00000000000001c4 77 13 1 0 0 is_stmt -0x00000388: 00 DW_LNE_set_address (0x00000000000001dd) +0x00000388: 00 DW_LNE_set_address (0x00000000000001cc) 0x0000038f: 05 DW_LNS_set_column (22) 0x00000391: 06 DW_LNS_negate_stmt 0x00000392: 01 DW_LNS_copy - 0x00000000000001dd 77 22 1 0 0 + 0x00000000000001cc 77 22 1 0 0 -0x00000393: 00 DW_LNE_set_address (0x00000000000001e3) +0x00000393: 00 DW_LNE_set_address (0x00000000000001d1) 0x0000039a: 03 DW_LNS_advance_line (79) 0x0000039c: 05 DW_LNS_set_column (16) 0x0000039e: 06 DW_LNS_negate_stmt 0x0000039f: 01 DW_LNS_copy - 0x00000000000001e3 79 16 1 0 0 is_stmt + 0x00000000000001d1 79 16 1 0 0 is_stmt -0x000003a0: 00 DW_LNE_set_address (0x00000000000001eb) +0x000003a0: 00 DW_LNE_set_address (0x00000000000001d9) 0x000003a7: 05 DW_LNS_set_column (14) 0x000003a9: 06 DW_LNS_negate_stmt 0x000003aa: 01 DW_LNS_copy - 0x00000000000001eb 79 14 1 0 0 + 0x00000000000001d9 79 14 1 0 0 -0x000003ab: 00 DW_LNE_set_address (0x00000000000001fc) +0x000003ab: 00 DW_LNE_set_address (0x00000000000001e8) 0x000003b2: 05 DW_LNS_set_column (25) 0x000003b4: 01 DW_LNS_copy - 0x00000000000001fc 79 25 1 0 0 + 0x00000000000001e8 79 25 1 0 0 -0x000003b5: 00 DW_LNE_set_address (0x0000000000000203) +0x000003b5: 00 DW_LNE_set_address (0x00000000000001ef) 0x000003bc: 03 DW_LNS_advance_line (81) 0x000003be: 05 DW_LNS_set_column (11) 0x000003c0: 06 DW_LNS_negate_stmt 0x000003c1: 01 DW_LNS_copy - 0x0000000000000203 81 11 1 0 0 is_stmt + 0x00000000000001ef 81 11 1 0 0 is_stmt -0x000003c2: 00 DW_LNE_set_address (0x0000000000000208) +0x000003c2: 00 DW_LNE_set_address (0x00000000000001f4) 0x000003c9: 03 DW_LNS_advance_line (66) 0x000003cb: 05 DW_LNS_set_column (16) 0x000003cd: 01 DW_LNS_copy - 0x0000000000000208 66 16 1 0 0 is_stmt + 0x00000000000001f4 66 16 1 0 0 is_stmt -0x000003ce: 00 DW_LNE_set_address (0x000000000000020f) +0x000003ce: 00 DW_LNE_set_address (0x00000000000001fb) 0x000003d5: 03 DW_LNS_advance_line (74) 0x000003d7: 05 DW_LNS_set_column (22) 0x000003d9: 01 DW_LNS_copy - 0x000000000000020f 74 22 1 0 0 is_stmt + 0x00000000000001fb 74 22 1 0 0 is_stmt -0x000003da: 00 DW_LNE_set_address (0x0000000000000219) +0x000003da: 00 DW_LNE_set_address (0x0000000000000204) 0x000003e1: 03 DW_LNS_advance_line (37) 0x000003e3: 05 DW_LNS_set_column (4) 0x000003e5: 01 DW_LNS_copy - 0x0000000000000219 37 4 1 0 0 is_stmt + 0x0000000000000204 37 4 1 0 0 is_stmt -0x000003e6: 00 DW_LNE_set_address (0x000000000000021e) +0x000003e6: 00 DW_LNE_set_address (0x0000000000000209) 0x000003ed: 03 DW_LNS_advance_line (39) 0x000003ef: 01 DW_LNS_copy - 0x000000000000021e 39 4 1 0 0 is_stmt + 0x0000000000000209 39 4 1 0 0 is_stmt -0x000003f0: 00 DW_LNE_set_address (0x0000000000000220) +0x000003f0: 00 DW_LNE_set_address (0x000000000000020b) 0x000003f7: 05 DW_LNS_set_column (16) 0x000003f9: 06 DW_LNS_negate_stmt 0x000003fa: 01 DW_LNS_copy - 0x0000000000000220 39 16 1 0 0 + 0x000000000000020b 39 16 1 0 0 -0x000003fb: 00 DW_LNE_set_address (0x000000000000022a) +0x000003fb: 00 DW_LNE_set_address (0x0000000000000214) 0x00000402: 05 DW_LNS_set_column (4) 0x00000404: 01 DW_LNS_copy - 0x000000000000022a 39 4 1 0 0 + 0x0000000000000214 39 4 1 0 0 -0x00000405: 00 DW_LNE_set_address (0x000000000000022c) +0x00000405: 00 DW_LNE_set_address (0x0000000000000216) 0x0000040c: 05 DW_LNS_set_column (23) 0x0000040e: 01 DW_LNS_copy - 0x000000000000022c 39 23 1 0 0 + 0x0000000000000216 39 23 1 0 0 -0x0000040f: 00 DW_LNE_set_address (0x0000000000000231) +0x0000040f: 00 DW_LNE_set_address (0x000000000000021b) 0x00000416: 05 DW_LNS_set_column (19) 0x00000418: 01 DW_LNS_copy - 0x0000000000000231 39 19 1 0 0 + 0x000000000000021b 39 19 1 0 0 -0x00000419: 00 DW_LNE_set_address (0x0000000000000237) +0x00000419: 00 DW_LNE_set_address (0x0000000000000220) 0x00000420: 03 DW_LNS_advance_line (40) 0x00000422: 05 DW_LNS_set_column (4) 0x00000424: 06 DW_LNS_negate_stmt 0x00000425: 01 DW_LNS_copy - 0x0000000000000237 40 4 1 0 0 is_stmt + 0x0000000000000220 40 4 1 0 0 is_stmt -0x00000426: 00 DW_LNE_set_address (0x000000000000023f) +0x00000426: 00 DW_LNE_set_address (0x0000000000000228) 0x0000042d: 05 DW_LNS_set_column (17) 0x0000042f: 06 DW_LNS_negate_stmt 0x00000430: 01 DW_LNS_copy - 0x000000000000023f 40 17 1 0 0 + 0x0000000000000228 40 17 1 0 0 -0x00000431: 00 DW_LNE_set_address (0x0000000000000250) +0x00000431: 00 DW_LNE_set_address (0x0000000000000238) 0x00000438: 03 DW_LNS_advance_line (44) 0x0000043a: 05 DW_LNS_set_column (16) 0x0000043c: 06 DW_LNS_negate_stmt 0x0000043d: 01 DW_LNS_copy - 0x0000000000000250 44 16 1 0 0 is_stmt + 0x0000000000000238 44 16 1 0 0 is_stmt -0x0000043e: 00 DW_LNE_set_address (0x0000000000000259) +0x0000043e: 00 DW_LNE_set_address (0x0000000000000241) 0x00000445: 03 DW_LNS_advance_line (45) 0x00000447: 05 DW_LNS_set_column (10) 0x00000449: 01 DW_LNS_copy - 0x0000000000000259 45 10 1 0 0 is_stmt + 0x0000000000000241 45 10 1 0 0 is_stmt -0x0000044a: 00 DW_LNE_set_address (0x000000000000025b) +0x0000044a: 00 DW_LNE_set_address (0x0000000000000243) 0x00000451: 05 DW_LNS_set_column (18) 0x00000453: 06 DW_LNS_negate_stmt 0x00000454: 01 DW_LNS_copy - 0x000000000000025b 45 18 1 0 0 + 0x0000000000000243 45 18 1 0 0 -0x00000455: 00 DW_LNE_set_address (0x0000000000000264) +0x00000455: 00 DW_LNE_set_address (0x000000000000024c) 0x0000045c: 05 DW_LNS_set_column (10) 0x0000045e: 01 DW_LNS_copy - 0x0000000000000264 45 10 1 0 0 + 0x000000000000024c 45 10 1 0 0 -0x0000045f: 00 DW_LNE_set_address (0x0000000000000266) +0x0000045f: 00 DW_LNE_set_address (0x000000000000024e) 0x00000466: 05 DW_LNS_set_column (23) 0x00000468: 01 DW_LNS_copy - 0x0000000000000266 45 23 1 0 0 + 0x000000000000024e 45 23 1 0 0 -0x00000469: 00 DW_LNE_set_address (0x000000000000026c) +0x00000469: 00 DW_LNE_set_address (0x0000000000000253) 0x00000470: 03 DW_LNS_advance_line (44) 0x00000472: 05 DW_LNS_set_column (16) 0x00000474: 06 DW_LNS_negate_stmt 0x00000475: 01 DW_LNS_copy - 0x000000000000026c 44 16 1 0 0 is_stmt + 0x0000000000000253 44 16 1 0 0 is_stmt -0x00000476: 00 DW_LNE_set_address (0x000000000000027d) +0x00000476: 00 DW_LNE_set_address (0x0000000000000264) 0x0000047d: 03 DW_LNS_advance_line (46) 0x0000047f: 05 DW_LNS_set_column (11) 0x00000481: 01 DW_LNS_copy - 0x000000000000027d 46 11 1 0 0 is_stmt + 0x0000000000000264 46 11 1 0 0 is_stmt -0x00000482: 00 DW_LNE_set_address (0x000000000000028a) +0x00000482: 00 DW_LNE_set_address (0x0000000000000270) 0x00000489: 05 DW_LNS_set_column (28) 0x0000048b: 06 DW_LNS_negate_stmt 0x0000048c: 01 DW_LNS_copy - 0x000000000000028a 46 28 1 0 0 + 0x0000000000000270 46 28 1 0 0 -0x0000048d: 00 DW_LNE_set_address (0x0000000000000290) +0x0000048d: 00 DW_LNE_set_address (0x0000000000000275) 0x00000494: 05 DW_LNS_set_column (41) 0x00000496: 01 DW_LNS_copy - 0x0000000000000290 46 41 1 0 0 + 0x0000000000000275 46 41 1 0 0 -0x00000497: 00 DW_LNE_set_address (0x0000000000000295) +0x00000497: 00 DW_LNE_set_address (0x000000000000027a) 0x0000049e: 03 DW_LNS_advance_line (50) 0x000004a0: 05 DW_LNS_set_column (14) 0x000004a2: 06 DW_LNS_negate_stmt 0x000004a3: 01 DW_LNS_copy - 0x0000000000000295 50 14 1 0 0 is_stmt + 0x000000000000027a 50 14 1 0 0 is_stmt -0x000004a4: 00 DW_LNE_set_address (0x00000000000002a9) +0x000004a4: 00 DW_LNE_set_address (0x000000000000028d) 0x000004ab: 03 DW_LNS_advance_line (52) 0x000004ad: 05 DW_LNS_set_column (38) 0x000004af: 01 DW_LNS_copy - 0x00000000000002a9 52 38 1 0 0 is_stmt + 0x000000000000028d 52 38 1 0 0 is_stmt -0x000004b0: 00 DW_LNE_set_address (0x00000000000002bd) +0x000004b0: 00 DW_LNE_set_address (0x00000000000002a1) 0x000004b7: 03 DW_LNS_advance_line (53) 0x000004b9: 05 DW_LNS_set_column (22) 0x000004bb: 01 DW_LNS_copy - 0x00000000000002bd 53 22 1 0 0 is_stmt + 0x00000000000002a1 53 22 1 0 0 is_stmt -0x000004bc: 00 DW_LNE_set_address (0x00000000000002cd) +0x000004bc: 00 DW_LNE_set_address (0x00000000000002b0) 0x000004c3: 03 DW_LNS_advance_line (54) 0x000004c5: 05 DW_LNS_set_column (24) 0x000004c7: 01 DW_LNS_copy - 0x00000000000002cd 54 24 1 0 0 is_stmt + 0x00000000000002b0 54 24 1 0 0 is_stmt -0x000004c8: 00 DW_LNE_set_address (0x00000000000002cf) +0x000004c8: 00 DW_LNE_set_address (0x00000000000002b2) 0x000004cf: 05 DW_LNS_set_column (26) 0x000004d1: 06 DW_LNS_negate_stmt 0x000004d2: 01 DW_LNS_copy - 0x00000000000002cf 54 26 1 0 0 + 0x00000000000002b2 54 26 1 0 0 -0x000004d3: 00 DW_LNE_set_address (0x00000000000002dd) +0x000004d3: 00 DW_LNE_set_address (0x00000000000002bf) 0x000004da: 05 DW_LNS_set_column (24) 0x000004dc: 01 DW_LNS_copy - 0x00000000000002dd 54 24 1 0 0 + 0x00000000000002bf 54 24 1 0 0 -0x000004dd: 00 DW_LNE_set_address (0x00000000000002e1) +0x000004dd: 00 DW_LNE_set_address (0x00000000000002c2) 0x000004e4: 03 DW_LNS_advance_line (55) 0x000004e6: 06 DW_LNS_negate_stmt 0x000004e7: 01 DW_LNS_copy - 0x00000000000002e1 55 24 1 0 0 is_stmt + 0x00000000000002c2 55 24 1 0 0 is_stmt -0x000004e8: 00 DW_LNE_set_address (0x00000000000002e9) +0x000004e8: 00 DW_LNE_set_address (0x00000000000002c9) 0x000004ef: 03 DW_LNS_advance_line (52) 0x000004f1: 05 DW_LNS_set_column (44) 0x000004f3: 01 DW_LNS_copy - 0x00000000000002e9 52 44 1 0 0 is_stmt + 0x00000000000002c9 52 44 1 0 0 is_stmt -0x000004f4: 00 DW_LNE_set_address (0x00000000000002f5) +0x000004f4: 00 DW_LNE_set_address (0x00000000000002d5) 0x000004fb: 05 DW_LNS_set_column (38) 0x000004fd: 06 DW_LNS_negate_stmt 0x000004fe: 01 DW_LNS_copy - 0x00000000000002f5 52 38 1 0 0 + 0x00000000000002d5 52 38 1 0 0 -0x000004ff: 00 DW_LNE_set_address (0x00000000000002fc) +0x000004ff: 00 DW_LNE_set_address (0x00000000000002dc) 0x00000506: 03 DW_LNS_advance_line (58) 0x00000508: 05 DW_LNS_set_column (19) 0x0000050a: 06 DW_LNS_negate_stmt 0x0000050b: 01 DW_LNS_copy - 0x00000000000002fc 58 19 1 0 0 is_stmt + 0x00000000000002dc 58 19 1 0 0 is_stmt -0x0000050c: 00 DW_LNE_set_address (0x000000000000030c) +0x0000050c: 00 DW_LNE_set_address (0x00000000000002eb) 0x00000513: 03 DW_LNS_advance_line (59) 0x00000515: 05 DW_LNS_set_column (21) 0x00000517: 01 DW_LNS_copy - 0x000000000000030c 59 21 1 0 0 is_stmt + 0x00000000000002eb 59 21 1 0 0 is_stmt -0x00000518: 00 DW_LNE_set_address (0x0000000000000314) +0x00000518: 00 DW_LNE_set_address (0x00000000000002f2) 0x0000051f: 03 DW_LNS_advance_line (57) 0x00000521: 05 DW_LNS_set_column (18) 0x00000523: 01 DW_LNS_copy - 0x0000000000000314 57 18 1 0 0 is_stmt + 0x00000000000002f2 57 18 1 0 0 is_stmt -0x00000524: 00 DW_LNE_set_address (0x0000000000000324) +0x00000524: 00 DW_LNE_set_address (0x0000000000000302) 0x0000052b: 03 DW_LNS_advance_line (62) 0x0000052d: 05 DW_LNS_set_column (14) 0x0000052f: 01 DW_LNS_copy - 0x0000000000000324 62 14 1 0 0 is_stmt + 0x0000000000000302 62 14 1 0 0 is_stmt -0x00000530: 00 DW_LNE_set_address (0x0000000000000328) +0x00000530: 00 DW_LNE_set_address (0x0000000000000306) 0x00000537: 05 DW_LNS_set_column (23) 0x00000539: 06 DW_LNS_negate_stmt 0x0000053a: 01 DW_LNS_copy - 0x0000000000000328 62 23 1 0 0 + 0x0000000000000306 62 23 1 0 0 -0x0000053b: 00 DW_LNE_set_address (0x000000000000032d) +0x0000053b: 00 DW_LNE_set_address (0x000000000000030b) 0x00000542: 05 DW_LNS_set_column (14) 0x00000544: 01 DW_LNS_copy - 0x000000000000032d 62 14 1 0 0 + 0x000000000000030b 62 14 1 0 0 -0x00000545: 00 DW_LNE_set_address (0x0000000000000331) +0x00000545: 00 DW_LNE_set_address (0x000000000000030f) 0x0000054c: 03 DW_LNS_advance_line (66) 0x0000054e: 05 DW_LNS_set_column (16) 0x00000550: 06 DW_LNS_negate_stmt 0x00000551: 01 DW_LNS_copy - 0x0000000000000331 66 16 1 0 0 is_stmt + 0x000000000000030f 66 16 1 0 0 is_stmt -0x00000552: 00 DW_LNE_set_address (0x0000000000000340) +0x00000552: 00 DW_LNE_set_address (0x000000000000031e) 0x00000559: 03 DW_LNS_advance_line (75) 0x0000055b: 05 DW_LNS_set_column (27) 0x0000055d: 01 DW_LNS_copy - 0x0000000000000340 75 27 1 0 0 is_stmt + 0x000000000000031e 75 27 1 0 0 is_stmt -0x0000055e: 00 DW_LNE_set_address (0x0000000000000349) +0x0000055e: 00 DW_LNE_set_address (0x0000000000000327) 0x00000565: 03 DW_LNS_advance_line (76) 0x00000567: 05 DW_LNS_set_column (16) 0x00000569: 01 DW_LNS_copy - 0x0000000000000349 76 16 1 0 0 is_stmt + 0x0000000000000327 76 16 1 0 0 is_stmt -0x0000056a: 00 DW_LNE_set_address (0x0000000000000351) +0x0000056a: 00 DW_LNE_set_address (0x000000000000032f) 0x00000571: 05 DW_LNS_set_column (27) 0x00000573: 06 DW_LNS_negate_stmt 0x00000574: 01 DW_LNS_copy - 0x0000000000000351 76 27 1 0 0 + 0x000000000000032f 76 27 1 0 0 -0x00000575: 00 DW_LNE_set_address (0x0000000000000353) +0x00000575: 00 DW_LNE_set_address (0x0000000000000331) 0x0000057c: 05 DW_LNS_set_column (35) 0x0000057e: 01 DW_LNS_copy - 0x0000000000000353 76 35 1 0 0 + 0x0000000000000331 76 35 1 0 0 -0x0000057f: 00 DW_LNE_set_address (0x000000000000035c) +0x0000057f: 00 DW_LNE_set_address (0x000000000000033a) 0x00000586: 05 DW_LNS_set_column (27) 0x00000588: 01 DW_LNS_copy - 0x000000000000035c 76 27 1 0 0 + 0x000000000000033a 76 27 1 0 0 -0x00000589: 00 DW_LNE_set_address (0x0000000000000362) +0x00000589: 00 DW_LNE_set_address (0x000000000000033f) 0x00000590: 05 DW_LNS_set_column (25) 0x00000592: 01 DW_LNS_copy - 0x0000000000000362 76 25 1 0 0 + 0x000000000000033f 76 25 1 0 0 -0x00000593: 00 DW_LNE_set_address (0x0000000000000366) +0x00000593: 00 DW_LNE_set_address (0x0000000000000342) 0x0000059a: 03 DW_LNS_advance_line (75) 0x0000059c: 05 DW_LNS_set_column (27) 0x0000059e: 06 DW_LNS_negate_stmt 0x0000059f: 01 DW_LNS_copy - 0x0000000000000366 75 27 1 0 0 is_stmt + 0x0000000000000342 75 27 1 0 0 is_stmt -0x000005a0: 00 DW_LNE_set_address (0x0000000000000373) +0x000005a0: 00 DW_LNE_set_address (0x000000000000034f) 0x000005a7: 03 DW_LNS_advance_line (77) 0x000005a9: 05 DW_LNS_set_column (13) 0x000005ab: 01 DW_LNS_copy - 0x0000000000000373 77 13 1 0 0 is_stmt + 0x000000000000034f 77 13 1 0 0 is_stmt -0x000005ac: 00 DW_LNE_set_address (0x000000000000037b) +0x000005ac: 00 DW_LNE_set_address (0x0000000000000357) 0x000005b3: 05 DW_LNS_set_column (22) 0x000005b5: 06 DW_LNS_negate_stmt 0x000005b6: 01 DW_LNS_copy - 0x000000000000037b 77 22 1 0 0 + 0x0000000000000357 77 22 1 0 0 -0x000005b7: 00 DW_LNE_set_address (0x0000000000000381) +0x000005b7: 00 DW_LNE_set_address (0x000000000000035c) 0x000005be: 03 DW_LNS_advance_line (79) 0x000005c0: 05 DW_LNS_set_column (16) 0x000005c2: 06 DW_LNS_negate_stmt 0x000005c3: 01 DW_LNS_copy - 0x0000000000000381 79 16 1 0 0 is_stmt + 0x000000000000035c 79 16 1 0 0 is_stmt -0x000005c4: 00 DW_LNE_set_address (0x0000000000000389) +0x000005c4: 00 DW_LNE_set_address (0x0000000000000364) 0x000005cb: 05 DW_LNS_set_column (14) 0x000005cd: 06 DW_LNS_negate_stmt 0x000005ce: 01 DW_LNS_copy - 0x0000000000000389 79 14 1 0 0 + 0x0000000000000364 79 14 1 0 0 -0x000005cf: 00 DW_LNE_set_address (0x000000000000039a) +0x000005cf: 00 DW_LNE_set_address (0x0000000000000373) 0x000005d6: 05 DW_LNS_set_column (25) 0x000005d8: 01 DW_LNS_copy - 0x000000000000039a 79 25 1 0 0 + 0x0000000000000373 79 25 1 0 0 -0x000005d9: 00 DW_LNE_set_address (0x00000000000003a1) +0x000005d9: 00 DW_LNE_set_address (0x000000000000037a) 0x000005e0: 03 DW_LNS_advance_line (81) 0x000005e2: 05 DW_LNS_set_column (11) 0x000005e4: 06 DW_LNS_negate_stmt 0x000005e5: 01 DW_LNS_copy - 0x00000000000003a1 81 11 1 0 0 is_stmt + 0x000000000000037a 81 11 1 0 0 is_stmt -0x000005e6: 00 DW_LNE_set_address (0x00000000000003a6) +0x000005e6: 00 DW_LNE_set_address (0x000000000000037f) 0x000005ed: 03 DW_LNS_advance_line (66) 0x000005ef: 05 DW_LNS_set_column (16) 0x000005f1: 01 DW_LNS_copy - 0x00000000000003a6 66 16 1 0 0 is_stmt + 0x000000000000037f 66 16 1 0 0 is_stmt -0x000005f2: 00 DW_LNE_set_address (0x00000000000003ad) +0x000005f2: 00 DW_LNE_set_address (0x0000000000000386) 0x000005f9: 03 DW_LNS_advance_line (74) 0x000005fb: 05 DW_LNS_set_column (22) 0x000005fd: 01 DW_LNS_copy - 0x00000000000003ad 74 22 1 0 0 is_stmt + 0x0000000000000386 74 22 1 0 0 is_stmt -0x000005fe: 00 DW_LNE_set_address (0x00000000000003bc) +0x000005fe: 00 DW_LNE_set_address (0x0000000000000394) 0x00000605: 03 DW_LNS_advance_line (67) 0x00000607: 05 DW_LNS_set_column (13) 0x00000609: 01 DW_LNS_copy - 0x00000000000003bc 67 13 1 0 0 is_stmt + 0x0000000000000394 67 13 1 0 0 is_stmt -0x0000060a: 00 DW_LNE_set_address (0x00000000000003c0) +0x0000060a: 00 DW_LNE_set_address (0x0000000000000398) 0x00000611: 03 DW_LNS_advance_line (68) 0x00000613: 01 DW_LNS_copy - 0x00000000000003c0 68 13 1 0 0 is_stmt + 0x0000000000000398 68 13 1 0 0 is_stmt -0x00000614: 00 DW_LNE_set_address (0x00000000000003c4) +0x00000614: 00 DW_LNE_set_address (0x000000000000039c) 0x0000061b: 03 DW_LNS_advance_line (69) 0x0000061d: 01 DW_LNS_copy - 0x00000000000003c4 69 13 1 0 0 is_stmt + 0x000000000000039c 69 13 1 0 0 is_stmt -0x0000061e: 00 DW_LNE_set_address (0x00000000000003c8) +0x0000061e: 00 DW_LNE_set_address (0x00000000000003a0) 0x00000625: 03 DW_LNS_advance_line (70) 0x00000627: 01 DW_LNS_copy - 0x00000000000003c8 70 13 1 0 0 is_stmt + 0x00000000000003a0 70 13 1 0 0 is_stmt -0x00000628: 00 DW_LNE_set_address (0x00000000000003cb) +0x00000628: 00 DW_LNE_set_address (0x00000000000003a3) 0x0000062f: 00 DW_LNE_end_sequence - 0x00000000000003cb 70 13 1 0 0 is_stmt end_sequence + 0x00000000000003a3 70 13 1 0 0 is_stmt end_sequence -0x00000632: 00 DW_LNE_set_address (0x00000000000003cd) +0x00000632: 00 DW_LNE_set_address (0x00000000000003a5) 0x00000639: 03 DW_LNS_advance_line (152) 0x0000063c: 01 DW_LNS_copy - 0x00000000000003cd 152 0 1 0 0 is_stmt + 0x00000000000003a5 152 0 1 0 0 is_stmt -0x0000063d: 00 DW_LNE_set_address (0x00000000000003eb) +0x0000063d: 00 DW_LNE_set_address (0x00000000000003c3) 0x00000644: 03 DW_LNS_advance_line (153) 0x00000646: 05 DW_LNS_set_column (17) 0x00000648: 0a DW_LNS_set_prologue_end 0x00000649: 01 DW_LNS_copy - 0x00000000000003eb 153 17 1 0 0 is_stmt prologue_end + 0x00000000000003c3 153 17 1 0 0 is_stmt prologue_end -0x0000064a: 00 DW_LNE_set_address (0x00000000000003f0) +0x0000064a: 00 DW_LNE_set_address (0x00000000000003c8) 0x00000651: 05 DW_LNS_set_column (12) 0x00000653: 06 DW_LNS_negate_stmt 0x00000654: 01 DW_LNS_copy - 0x00000000000003f0 153 12 1 0 0 + 0x00000000000003c8 153 12 1 0 0 -0x00000655: 00 DW_LNE_set_address (0x00000000000003f6) +0x00000655: 00 DW_LNE_set_address (0x00000000000003ce) 0x0000065c: 05 DW_LNS_set_column (28) 0x0000065e: 01 DW_LNS_copy - 0x00000000000003f6 153 28 1 0 0 + 0x00000000000003ce 153 28 1 0 0 -0x0000065f: 00 DW_LNE_set_address (0x00000000000003fc) +0x0000065f: 00 DW_LNE_set_address (0x00000000000003d3) 0x00000666: 05 DW_LNS_set_column (23) 0x00000668: 01 DW_LNS_copy - 0x00000000000003fc 153 23 1 0 0 + 0x00000000000003d3 153 23 1 0 0 -0x00000669: 00 DW_LNE_set_address (0x0000000000000402) +0x00000669: 00 DW_LNE_set_address (0x00000000000003d9) 0x00000670: 03 DW_LNS_advance_line (155) 0x00000672: 05 DW_LNS_set_column (10) 0x00000674: 06 DW_LNS_negate_stmt 0x00000675: 01 DW_LNS_copy - 0x0000000000000402 155 10 1 0 0 is_stmt + 0x00000000000003d9 155 10 1 0 0 is_stmt -0x00000676: 00 DW_LNE_set_address (0x0000000000000403) +0x00000676: 00 DW_LNE_set_address (0x00000000000003da) 0x0000067d: 05 DW_LNS_set_column (8) 0x0000067f: 06 DW_LNS_negate_stmt 0x00000680: 01 DW_LNS_copy - 0x0000000000000403 155 8 1 0 0 + 0x00000000000003da 155 8 1 0 0 -0x00000681: 00 DW_LNE_set_address (0x0000000000000406) +0x00000681: 00 DW_LNE_set_address (0x00000000000003dd) 0x00000688: 03 DW_LNS_advance_line (156) 0x0000068a: 05 DW_LNS_set_column (7) 0x0000068c: 06 DW_LNS_negate_stmt 0x0000068d: 01 DW_LNS_copy - 0x0000000000000406 156 7 1 0 0 is_stmt + 0x00000000000003dd 156 7 1 0 0 is_stmt -0x0000068e: 00 DW_LNE_set_address (0x0000000000000415) +0x0000068e: 00 DW_LNE_set_address (0x00000000000003ec) 0x00000695: 03 DW_LNS_advance_line (94) 0x00000697: 05 DW_LNS_set_column (18) 0x00000699: 01 DW_LNS_copy - 0x0000000000000415 94 18 1 0 0 is_stmt + 0x00000000000003ec 94 18 1 0 0 is_stmt -0x0000069a: 00 DW_LNE_set_address (0x000000000000041a) +0x0000069a: 00 DW_LNE_set_address (0x00000000000003f1) 0x000006a1: 05 DW_LNS_set_column (4) 0x000006a3: 06 DW_LNS_negate_stmt 0x000006a4: 01 DW_LNS_copy - 0x000000000000041a 94 4 1 0 0 + 0x00000000000003f1 94 4 1 0 0 -0x000006a5: 00 DW_LNE_set_address (0x000000000000042f) +0x000006a5: 00 DW_LNE_set_address (0x0000000000000406) 0x000006ac: 03 DW_LNS_advance_line (95) 0x000006ae: 05 DW_LNS_set_column (29) 0x000006b0: 06 DW_LNS_negate_stmt 0x000006b1: 01 DW_LNS_copy - 0x000000000000042f 95 29 1 0 0 is_stmt + 0x0000000000000406 95 29 1 0 0 is_stmt -0x000006b2: 00 DW_LNE_set_address (0x0000000000000431) +0x000006b2: 00 DW_LNE_set_address (0x0000000000000408) 0x000006b9: 03 DW_LNS_advance_line (98) 0x000006bb: 05 DW_LNS_set_column (19) 0x000006bd: 01 DW_LNS_copy - 0x0000000000000431 98 19 1 0 0 is_stmt + 0x0000000000000408 98 19 1 0 0 is_stmt -0x000006be: 00 DW_LNE_set_address (0x0000000000000439) +0x000006be: 00 DW_LNE_set_address (0x000000000000040f) 0x000006c5: 03 DW_LNS_advance_line (97) 0x000006c7: 05 DW_LNS_set_column (16) 0x000006c9: 01 DW_LNS_copy - 0x0000000000000439 97 16 1 0 0 is_stmt + 0x000000000000040f 97 16 1 0 0 is_stmt -0x000006ca: 00 DW_LNE_set_address (0x0000000000000441) +0x000006ca: 00 DW_LNE_set_address (0x0000000000000416) 0x000006d1: 03 DW_LNS_advance_line (96) 0x000006d3: 01 DW_LNS_copy - 0x0000000000000441 96 16 1 0 0 is_stmt + 0x0000000000000416 96 16 1 0 0 is_stmt -0x000006d4: 00 DW_LNE_set_address (0x000000000000044d) +0x000006d4: 00 DW_LNE_set_address (0x0000000000000421) 0x000006db: 03 DW_LNS_advance_line (94) 0x000006dd: 05 DW_LNS_set_column (28) 0x000006df: 01 DW_LNS_copy - 0x000000000000044d 94 28 1 0 0 is_stmt + 0x0000000000000421 94 28 1 0 0 is_stmt -0x000006e0: 00 DW_LNE_set_address (0x0000000000000452) +0x000006e0: 00 DW_LNE_set_address (0x0000000000000426) 0x000006e7: 05 DW_LNS_set_column (18) 0x000006e9: 06 DW_LNS_negate_stmt 0x000006ea: 01 DW_LNS_copy - 0x0000000000000452 94 18 1 0 0 + 0x0000000000000426 94 18 1 0 0 -0x000006eb: 00 DW_LNE_set_address (0x0000000000000457) +0x000006eb: 00 DW_LNE_set_address (0x000000000000042b) 0x000006f2: 05 DW_LNS_set_column (4) 0x000006f4: 01 DW_LNS_copy - 0x0000000000000457 94 4 1 0 0 + 0x000000000000042b 94 4 1 0 0 -0x000006f5: 00 DW_LNE_set_address (0x000000000000045f) +0x000006f5: 00 DW_LNE_set_address (0x0000000000000433) 0x000006fc: 03 DW_LNS_advance_line (102) 0x000006fe: 05 DW_LNS_set_column (27) 0x00000700: 06 DW_LNS_negate_stmt 0x00000701: 01 DW_LNS_copy - 0x000000000000045f 102 27 1 0 0 is_stmt + 0x0000000000000433 102 27 1 0 0 is_stmt -0x00000702: 00 DW_LNE_set_address (0x0000000000000464) +0x00000702: 00 DW_LNE_set_address (0x0000000000000438) 0x00000709: 05 DW_LNS_set_column (18) 0x0000070b: 06 DW_LNS_negate_stmt 0x0000070c: 01 DW_LNS_copy - 0x0000000000000464 102 18 1 0 0 + 0x0000000000000438 102 18 1 0 0 -0x0000070d: 00 DW_LNE_set_address (0x000000000000046a) +0x0000070d: 00 DW_LNE_set_address (0x000000000000043e) 0x00000714: 03 DW_LNS_advance_line (103) 0x00000716: 06 DW_LNS_negate_stmt 0x00000717: 01 DW_LNS_copy - 0x000000000000046a 103 18 1 0 0 is_stmt + 0x000000000000043e 103 18 1 0 0 is_stmt -0x00000718: 00 DW_LNE_set_address (0x0000000000000478) +0x00000718: 00 DW_LNE_set_address (0x000000000000044c) 0x0000071f: 03 DW_LNS_advance_line (105) 0x00000721: 01 DW_LNS_copy - 0x0000000000000478 105 18 1 0 0 is_stmt + 0x000000000000044c 105 18 1 0 0 is_stmt -0x00000722: 00 DW_LNE_set_address (0x000000000000047d) +0x00000722: 00 DW_LNE_set_address (0x0000000000000451) 0x00000729: 05 DW_LNS_set_column (4) 0x0000072b: 06 DW_LNS_negate_stmt 0x0000072c: 01 DW_LNS_copy - 0x000000000000047d 105 4 1 0 0 + 0x0000000000000451 105 4 1 0 0 -0x0000072d: 00 DW_LNE_set_address (0x0000000000000481) +0x0000072d: 00 DW_LNE_set_address (0x0000000000000455) 0x00000734: 03 DW_LNS_advance_line (106) 0x00000736: 05 DW_LNS_set_column (7) 0x00000738: 06 DW_LNS_negate_stmt 0x00000739: 01 DW_LNS_copy - 0x0000000000000481 106 7 1 0 0 is_stmt + 0x0000000000000455 106 7 1 0 0 is_stmt -0x0000073a: 00 DW_LNE_set_address (0x0000000000000489) +0x0000073a: 00 DW_LNE_set_address (0x000000000000045d) 0x00000741: 05 DW_LNS_set_column (16) 0x00000743: 06 DW_LNS_negate_stmt 0x00000744: 01 DW_LNS_copy - 0x0000000000000489 106 16 1 0 0 + 0x000000000000045d 106 16 1 0 0 -0x00000745: 00 DW_LNE_set_address (0x000000000000048f) +0x00000745: 00 DW_LNE_set_address (0x0000000000000462) 0x0000074c: 03 DW_LNS_advance_line (105) 0x0000074e: 05 DW_LNS_set_column (24) 0x00000750: 06 DW_LNS_negate_stmt 0x00000751: 01 DW_LNS_copy - 0x000000000000048f 105 24 1 0 0 is_stmt + 0x0000000000000462 105 24 1 0 0 is_stmt -0x00000752: 00 DW_LNE_set_address (0x0000000000000494) +0x00000752: 00 DW_LNE_set_address (0x0000000000000467) 0x00000759: 05 DW_LNS_set_column (18) 0x0000075b: 06 DW_LNS_negate_stmt 0x0000075c: 01 DW_LNS_copy - 0x0000000000000494 105 18 1 0 0 + 0x0000000000000467 105 18 1 0 0 -0x0000075d: 00 DW_LNE_set_address (0x00000000000004ba) +0x0000075d: 00 DW_LNE_set_address (0x000000000000048d) 0x00000764: 03 DW_LNS_advance_line (112) 0x00000766: 05 DW_LNS_set_column (13) 0x00000768: 06 DW_LNS_negate_stmt 0x00000769: 01 DW_LNS_copy - 0x00000000000004ba 112 13 1 0 0 is_stmt + 0x000000000000048d 112 13 1 0 0 is_stmt -0x0000076a: 00 DW_LNE_set_address (0x00000000000004bc) +0x0000076a: 00 DW_LNE_set_address (0x000000000000048f) 0x00000771: 05 DW_LNS_set_column (26) 0x00000773: 06 DW_LNS_negate_stmt 0x00000774: 01 DW_LNS_copy - 0x00000000000004bc 112 26 1 0 0 + 0x000000000000048f 112 26 1 0 0 -0x00000775: 00 DW_LNE_set_address (0x00000000000004ca) +0x00000775: 00 DW_LNE_set_address (0x000000000000049c) 0x0000077c: 05 DW_LNS_set_column (35) 0x0000077e: 01 DW_LNS_copy - 0x00000000000004ca 112 35 1 0 0 + 0x000000000000049c 112 35 1 0 0 -0x0000077f: 00 DW_LNE_set_address (0x00000000000004cb) +0x0000077f: 00 DW_LNE_set_address (0x000000000000049d) 0x00000786: 05 DW_LNS_set_column (13) 0x00000788: 01 DW_LNS_copy - 0x00000000000004cb 112 13 1 0 0 + 0x000000000000049d 112 13 1 0 0 -0x00000789: 00 DW_LNE_set_address (0x00000000000004da) +0x00000789: 00 DW_LNE_set_address (0x00000000000004ab) 0x00000790: 03 DW_LNS_advance_line (111) 0x00000792: 05 DW_LNS_set_column (30) 0x00000794: 06 DW_LNS_negate_stmt 0x00000795: 01 DW_LNS_copy - 0x00000000000004da 111 30 1 0 0 is_stmt + 0x00000000000004ab 111 30 1 0 0 is_stmt -0x00000796: 00 DW_LNE_set_address (0x00000000000004df) +0x00000796: 00 DW_LNE_set_address (0x00000000000004b0) 0x0000079d: 05 DW_LNS_set_column (24) 0x0000079f: 06 DW_LNS_negate_stmt 0x000007a0: 01 DW_LNS_copy - 0x00000000000004df 111 24 1 0 0 + 0x00000000000004b0 111 24 1 0 0 -0x000007a1: 00 DW_LNE_set_address (0x00000000000004e4) +0x000007a1: 00 DW_LNE_set_address (0x00000000000004b5) 0x000007a8: 05 DW_LNS_set_column (10) 0x000007aa: 01 DW_LNS_copy - 0x00000000000004e4 111 10 1 0 0 + 0x00000000000004b5 111 10 1 0 0 -0x000007ab: 00 DW_LNE_set_address (0x00000000000004e9) +0x000007ab: 00 DW_LNE_set_address (0x00000000000004ba) 0x000007b2: 03 DW_LNS_advance_line (113) 0x000007b4: 06 DW_LNS_negate_stmt 0x000007b5: 01 DW_LNS_copy - 0x00000000000004e9 113 10 1 0 0 is_stmt + 0x00000000000004ba 113 10 1 0 0 is_stmt -0x000007b6: 00 DW_LNE_set_address (0x00000000000004ee) +0x000007b6: 00 DW_LNE_set_address (0x00000000000004bf) 0x000007bd: 03 DW_LNS_advance_line (118) 0x000007bf: 05 DW_LNS_set_column (16) 0x000007c1: 01 DW_LNS_copy - 0x00000000000004ee 118 16 1 0 0 is_stmt + 0x00000000000004bf 118 16 1 0 0 is_stmt -0x000007c2: 00 DW_LNE_set_address (0x00000000000004f3) +0x000007c2: 00 DW_LNE_set_address (0x00000000000004c4) 0x000007c9: 05 DW_LNS_set_column (7) 0x000007cb: 06 DW_LNS_negate_stmt 0x000007cc: 01 DW_LNS_copy - 0x00000000000004f3 118 7 1 0 0 + 0x00000000000004c4 118 7 1 0 0 -0x000007cd: 00 DW_LNE_set_address (0x00000000000004f7) +0x000007cd: 00 DW_LNE_set_address (0x00000000000004c8) 0x000007d4: 03 DW_LNS_advance_line (119) 0x000007d6: 05 DW_LNS_set_column (10) 0x000007d8: 06 DW_LNS_negate_stmt 0x000007d9: 01 DW_LNS_copy - 0x00000000000004f7 119 10 1 0 0 is_stmt + 0x00000000000004c8 119 10 1 0 0 is_stmt -0x000007da: 00 DW_LNE_set_address (0x00000000000004f9) +0x000007da: 00 DW_LNE_set_address (0x00000000000004ca) 0x000007e1: 05 DW_LNS_set_column (18) 0x000007e3: 06 DW_LNS_negate_stmt 0x000007e4: 01 DW_LNS_copy - 0x00000000000004f9 119 18 1 0 0 + 0x00000000000004ca 119 18 1 0 0 -0x000007e5: 00 DW_LNE_set_address (0x0000000000000502) +0x000007e5: 00 DW_LNE_set_address (0x00000000000004d3) 0x000007ec: 05 DW_LNS_set_column (10) 0x000007ee: 01 DW_LNS_copy - 0x0000000000000502 119 10 1 0 0 + 0x00000000000004d3 119 10 1 0 0 -0x000007ef: 00 DW_LNE_set_address (0x0000000000000504) +0x000007ef: 00 DW_LNE_set_address (0x00000000000004d5) 0x000007f6: 05 DW_LNS_set_column (23) 0x000007f8: 01 DW_LNS_copy - 0x0000000000000504 119 23 1 0 0 + 0x00000000000004d5 119 23 1 0 0 -0x000007f9: 00 DW_LNE_set_address (0x000000000000050a) +0x000007f9: 00 DW_LNE_set_address (0x00000000000004da) 0x00000800: 03 DW_LNS_advance_line (118) 0x00000802: 05 DW_LNS_set_column (16) 0x00000804: 06 DW_LNS_negate_stmt 0x00000805: 01 DW_LNS_copy - 0x000000000000050a 118 16 1 0 0 is_stmt + 0x00000000000004da 118 16 1 0 0 is_stmt -0x00000806: 00 DW_LNE_set_address (0x0000000000000515) +0x00000806: 00 DW_LNE_set_address (0x00000000000004e5) 0x0000080d: 05 DW_LNS_set_column (7) 0x0000080f: 06 DW_LNS_negate_stmt 0x00000810: 01 DW_LNS_copy - 0x0000000000000515 118 7 1 0 0 + 0x00000000000004e5 118 7 1 0 0 -0x00000811: 00 DW_LNE_set_address (0x000000000000051b) +0x00000811: 00 DW_LNE_set_address (0x00000000000004eb) 0x00000818: 03 DW_LNS_advance_line (122) 0x0000081a: 05 DW_LNS_set_column (16) 0x0000081c: 06 DW_LNS_negate_stmt 0x0000081d: 01 DW_LNS_copy - 0x000000000000051b 122 16 1 0 0 is_stmt + 0x00000000000004eb 122 16 1 0 0 is_stmt -0x0000081e: 00 DW_LNE_set_address (0x000000000000052f) +0x0000081e: 00 DW_LNE_set_address (0x00000000000004ff) 0x00000825: 03 DW_LNS_advance_line (125) 0x00000827: 05 DW_LNS_set_column (22) 0x00000829: 01 DW_LNS_copy - 0x000000000000052f 125 22 1 0 0 is_stmt + 0x00000000000004ff 125 22 1 0 0 is_stmt -0x0000082a: 00 DW_LNE_set_address (0x0000000000000539) +0x0000082a: 00 DW_LNE_set_address (0x0000000000000508) 0x00000831: 03 DW_LNS_advance_line (126) 0x00000833: 05 DW_LNS_set_column (27) 0x00000835: 01 DW_LNS_copy - 0x0000000000000539 126 27 1 0 0 is_stmt + 0x0000000000000508 126 27 1 0 0 is_stmt -0x00000836: 00 DW_LNE_set_address (0x000000000000053e) +0x00000836: 00 DW_LNE_set_address (0x000000000000050d) 0x0000083d: 05 DW_LNS_set_column (13) 0x0000083f: 06 DW_LNS_negate_stmt 0x00000840: 01 DW_LNS_copy - 0x000000000000053e 126 13 1 0 0 + 0x000000000000050d 126 13 1 0 0 -0x00000841: 00 DW_LNE_set_address (0x0000000000000542) +0x00000841: 00 DW_LNE_set_address (0x0000000000000511) 0x00000848: 03 DW_LNS_advance_line (127) 0x0000084a: 05 DW_LNS_set_column (16) 0x0000084c: 06 DW_LNS_negate_stmt 0x0000084d: 01 DW_LNS_copy - 0x0000000000000542 127 16 1 0 0 is_stmt + 0x0000000000000511 127 16 1 0 0 is_stmt -0x0000084e: 00 DW_LNE_set_address (0x000000000000054a) +0x0000084e: 00 DW_LNE_set_address (0x0000000000000519) 0x00000855: 05 DW_LNS_set_column (27) 0x00000857: 06 DW_LNS_negate_stmt 0x00000858: 01 DW_LNS_copy - 0x000000000000054a 127 27 1 0 0 + 0x0000000000000519 127 27 1 0 0 -0x00000859: 00 DW_LNE_set_address (0x000000000000054c) +0x00000859: 00 DW_LNE_set_address (0x000000000000051b) 0x00000860: 05 DW_LNS_set_column (35) 0x00000862: 01 DW_LNS_copy - 0x000000000000054c 127 35 1 0 0 + 0x000000000000051b 127 35 1 0 0 -0x00000863: 00 DW_LNE_set_address (0x0000000000000555) +0x00000863: 00 DW_LNE_set_address (0x0000000000000524) 0x0000086a: 05 DW_LNS_set_column (27) 0x0000086c: 01 DW_LNS_copy - 0x0000000000000555 127 27 1 0 0 + 0x0000000000000524 127 27 1 0 0 -0x0000086d: 00 DW_LNE_set_address (0x000000000000055b) +0x0000086d: 00 DW_LNE_set_address (0x0000000000000529) 0x00000874: 05 DW_LNS_set_column (25) 0x00000876: 01 DW_LNS_copy - 0x000000000000055b 127 25 1 0 0 + 0x0000000000000529 127 25 1 0 0 -0x00000877: 00 DW_LNE_set_address (0x000000000000055f) +0x00000877: 00 DW_LNE_set_address (0x000000000000052c) 0x0000087e: 03 DW_LNS_advance_line (126) 0x00000880: 05 DW_LNS_set_column (27) 0x00000882: 06 DW_LNS_negate_stmt 0x00000883: 01 DW_LNS_copy - 0x000000000000055f 126 27 1 0 0 is_stmt + 0x000000000000052c 126 27 1 0 0 is_stmt -0x00000884: 00 DW_LNE_set_address (0x0000000000000564) +0x00000884: 00 DW_LNE_set_address (0x0000000000000531) 0x0000088b: 05 DW_LNS_set_column (13) 0x0000088d: 06 DW_LNS_negate_stmt 0x0000088e: 01 DW_LNS_copy - 0x0000000000000564 126 13 1 0 0 + 0x0000000000000531 126 13 1 0 0 -0x0000088f: 00 DW_LNE_set_address (0x000000000000056c) +0x0000088f: 00 DW_LNE_set_address (0x0000000000000539) 0x00000896: 03 DW_LNS_advance_line (128) 0x00000898: 06 DW_LNS_negate_stmt 0x00000899: 01 DW_LNS_copy - 0x000000000000056c 128 13 1 0 0 is_stmt + 0x0000000000000539 128 13 1 0 0 is_stmt -0x0000089a: 00 DW_LNE_set_address (0x0000000000000574) +0x0000089a: 00 DW_LNE_set_address (0x0000000000000541) 0x000008a1: 05 DW_LNS_set_column (22) 0x000008a3: 06 DW_LNS_negate_stmt 0x000008a4: 01 DW_LNS_copy - 0x0000000000000574 128 22 1 0 0 + 0x0000000000000541 128 22 1 0 0 -0x000008a5: 00 DW_LNE_set_address (0x000000000000057a) +0x000008a5: 00 DW_LNE_set_address (0x0000000000000546) 0x000008ac: 03 DW_LNS_advance_line (130) 0x000008ae: 05 DW_LNS_set_column (16) 0x000008b0: 06 DW_LNS_negate_stmt 0x000008b1: 01 DW_LNS_copy - 0x000000000000057a 130 16 1 0 0 is_stmt + 0x0000000000000546 130 16 1 0 0 is_stmt -0x000008b2: 00 DW_LNE_set_address (0x0000000000000582) +0x000008b2: 00 DW_LNE_set_address (0x000000000000054e) 0x000008b9: 05 DW_LNS_set_column (14) 0x000008bb: 06 DW_LNS_negate_stmt 0x000008bc: 01 DW_LNS_copy - 0x0000000000000582 130 14 1 0 0 + 0x000000000000054e 130 14 1 0 0 -0x000008bd: 00 DW_LNE_set_address (0x0000000000000595) +0x000008bd: 00 DW_LNE_set_address (0x000000000000055f) 0x000008c4: 05 DW_LNS_set_column (25) 0x000008c6: 01 DW_LNS_copy - 0x0000000000000595 130 25 1 0 0 + 0x000000000000055f 130 25 1 0 0 -0x000008c7: 00 DW_LNE_set_address (0x000000000000059a) +0x000008c7: 00 DW_LNE_set_address (0x0000000000000564) 0x000008ce: 05 DW_LNS_set_column (14) 0x000008d0: 01 DW_LNS_copy - 0x000000000000059a 130 14 1 0 0 + 0x0000000000000564 130 14 1 0 0 -0x000008d1: 00 DW_LNE_set_address (0x000000000000059c) +0x000008d1: 00 DW_LNE_set_address (0x0000000000000566) 0x000008d8: 03 DW_LNS_advance_line (133) 0x000008da: 05 DW_LNS_set_column (11) 0x000008dc: 06 DW_LNS_negate_stmt 0x000008dd: 01 DW_LNS_copy - 0x000000000000059c 133 11 1 0 0 is_stmt + 0x0000000000000566 133 11 1 0 0 is_stmt -0x000008de: 00 DW_LNE_set_address (0x00000000000005a1) +0x000008de: 00 DW_LNE_set_address (0x000000000000056b) 0x000008e5: 03 DW_LNS_advance_line (122) 0x000008e7: 05 DW_LNS_set_column (16) 0x000008e9: 01 DW_LNS_copy - 0x00000000000005a1 122 16 1 0 0 is_stmt + 0x000000000000056b 122 16 1 0 0 is_stmt -0x000008ea: 00 DW_LNE_set_address (0x00000000000005a6) +0x000008ea: 00 DW_LNE_set_address (0x0000000000000570) 0x000008f1: 05 DW_LNS_set_column (14) 0x000008f3: 06 DW_LNS_negate_stmt 0x000008f4: 01 DW_LNS_copy - 0x00000000000005a6 122 14 1 0 0 + 0x0000000000000570 122 14 1 0 0 -0x000008f5: 00 DW_LNE_set_address (0x00000000000005ab) +0x000008f5: 00 DW_LNE_set_address (0x0000000000000575) 0x000008fc: 03 DW_LNS_advance_line (130) 0x000008fe: 06 DW_LNS_negate_stmt 0x000008ff: 01 DW_LNS_copy - 0x00000000000005ab 130 14 1 0 0 is_stmt + 0x0000000000000575 130 14 1 0 0 is_stmt -0x00000900: 00 DW_LNE_set_address (0x00000000000005ac) +0x00000900: 00 DW_LNE_set_address (0x0000000000000576) 0x00000907: 03 DW_LNS_advance_line (110) 0x00000909: 05 DW_LNS_set_column (11) 0x0000090b: 01 DW_LNS_copy - 0x00000000000005ac 110 11 1 0 0 is_stmt + 0x0000000000000576 110 11 1 0 0 is_stmt -0x0000090c: 00 DW_LNE_set_address (0x00000000000005ba) +0x0000090c: 00 DW_LNE_set_address (0x0000000000000584) 0x00000913: 03 DW_LNS_advance_line (113) 0x00000915: 05 DW_LNS_set_column (10) 0x00000917: 01 DW_LNS_copy - 0x00000000000005ba 113 10 1 0 0 is_stmt + 0x0000000000000584 113 10 1 0 0 is_stmt -0x00000918: 00 DW_LNE_set_address (0x00000000000005bf) +0x00000918: 00 DW_LNE_set_address (0x0000000000000589) 0x0000091f: 03 DW_LNS_advance_line (118) 0x00000921: 05 DW_LNS_set_column (16) 0x00000923: 01 DW_LNS_copy - 0x00000000000005bf 118 16 1 0 0 is_stmt + 0x0000000000000589 118 16 1 0 0 is_stmt -0x00000924: 00 DW_LNE_set_address (0x00000000000005c4) +0x00000924: 00 DW_LNE_set_address (0x000000000000058e) 0x0000092b: 05 DW_LNS_set_column (7) 0x0000092d: 06 DW_LNS_negate_stmt 0x0000092e: 01 DW_LNS_copy - 0x00000000000005c4 118 7 1 0 0 + 0x000000000000058e 118 7 1 0 0 -0x0000092f: 00 DW_LNE_set_address (0x00000000000005c8) +0x0000092f: 00 DW_LNE_set_address (0x0000000000000592) 0x00000936: 03 DW_LNS_advance_line (119) 0x00000938: 05 DW_LNS_set_column (10) 0x0000093a: 06 DW_LNS_negate_stmt 0x0000093b: 01 DW_LNS_copy - 0x00000000000005c8 119 10 1 0 0 is_stmt + 0x0000000000000592 119 10 1 0 0 is_stmt -0x0000093c: 00 DW_LNE_set_address (0x00000000000005ca) +0x0000093c: 00 DW_LNE_set_address (0x0000000000000594) 0x00000943: 05 DW_LNS_set_column (18) 0x00000945: 06 DW_LNS_negate_stmt 0x00000946: 01 DW_LNS_copy - 0x00000000000005ca 119 18 1 0 0 + 0x0000000000000594 119 18 1 0 0 -0x00000947: 00 DW_LNE_set_address (0x00000000000005d3) +0x00000947: 00 DW_LNE_set_address (0x000000000000059d) 0x0000094e: 05 DW_LNS_set_column (10) 0x00000950: 01 DW_LNS_copy - 0x00000000000005d3 119 10 1 0 0 + 0x000000000000059d 119 10 1 0 0 -0x00000951: 00 DW_LNE_set_address (0x00000000000005d5) +0x00000951: 00 DW_LNE_set_address (0x000000000000059f) 0x00000958: 05 DW_LNS_set_column (23) 0x0000095a: 01 DW_LNS_copy - 0x00000000000005d5 119 23 1 0 0 + 0x000000000000059f 119 23 1 0 0 -0x0000095b: 00 DW_LNE_set_address (0x00000000000005db) +0x0000095b: 00 DW_LNE_set_address (0x00000000000005a4) 0x00000962: 03 DW_LNS_advance_line (118) 0x00000964: 05 DW_LNS_set_column (16) 0x00000966: 06 DW_LNS_negate_stmt 0x00000967: 01 DW_LNS_copy - 0x00000000000005db 118 16 1 0 0 is_stmt + 0x00000000000005a4 118 16 1 0 0 is_stmt -0x00000968: 00 DW_LNE_set_address (0x00000000000005e6) +0x00000968: 00 DW_LNE_set_address (0x00000000000005af) 0x0000096f: 05 DW_LNS_set_column (7) 0x00000971: 06 DW_LNS_negate_stmt 0x00000972: 01 DW_LNS_copy - 0x00000000000005e6 118 7 1 0 0 + 0x00000000000005af 118 7 1 0 0 -0x00000973: 00 DW_LNE_set_address (0x00000000000005ec) +0x00000973: 00 DW_LNE_set_address (0x00000000000005b5) 0x0000097a: 03 DW_LNS_advance_line (122) 0x0000097c: 05 DW_LNS_set_column (16) 0x0000097e: 06 DW_LNS_negate_stmt 0x0000097f: 01 DW_LNS_copy - 0x00000000000005ec 122 16 1 0 0 is_stmt + 0x00000000000005b5 122 16 1 0 0 is_stmt -0x00000980: 00 DW_LNE_set_address (0x00000000000005f1) +0x00000980: 00 DW_LNE_set_address (0x00000000000005ba) 0x00000987: 05 DW_LNS_set_column (14) 0x00000989: 06 DW_LNS_negate_stmt 0x0000098a: 01 DW_LNS_copy - 0x00000000000005f1 122 14 1 0 0 + 0x00000000000005ba 122 14 1 0 0 -0x0000098b: 00 DW_LNE_set_address (0x00000000000005fa) +0x0000098b: 00 DW_LNE_set_address (0x00000000000005c3) 0x00000992: 03 DW_LNS_advance_line (125) 0x00000994: 05 DW_LNS_set_column (22) 0x00000996: 06 DW_LNS_negate_stmt 0x00000997: 01 DW_LNS_copy - 0x00000000000005fa 125 22 1 0 0 is_stmt + 0x00000000000005c3 125 22 1 0 0 is_stmt -0x00000998: 00 DW_LNE_set_address (0x000000000000060a) +0x00000998: 00 DW_LNE_set_address (0x00000000000005d2) 0x0000099f: 03 DW_LNS_advance_line (126) 0x000009a1: 05 DW_LNS_set_column (27) 0x000009a3: 01 DW_LNS_copy - 0x000000000000060a 126 27 1 0 0 is_stmt + 0x00000000000005d2 126 27 1 0 0 is_stmt -0x000009a4: 00 DW_LNE_set_address (0x000000000000060f) +0x000009a4: 00 DW_LNE_set_address (0x00000000000005d7) 0x000009ab: 05 DW_LNS_set_column (13) 0x000009ad: 06 DW_LNS_negate_stmt 0x000009ae: 01 DW_LNS_copy - 0x000000000000060f 126 13 1 0 0 + 0x00000000000005d7 126 13 1 0 0 -0x000009af: 00 DW_LNE_set_address (0x0000000000000613) +0x000009af: 00 DW_LNE_set_address (0x00000000000005db) 0x000009b6: 03 DW_LNS_advance_line (127) 0x000009b8: 05 DW_LNS_set_column (16) 0x000009ba: 06 DW_LNS_negate_stmt 0x000009bb: 01 DW_LNS_copy - 0x0000000000000613 127 16 1 0 0 is_stmt + 0x00000000000005db 127 16 1 0 0 is_stmt -0x000009bc: 00 DW_LNE_set_address (0x000000000000061b) +0x000009bc: 00 DW_LNE_set_address (0x00000000000005e3) 0x000009c3: 05 DW_LNS_set_column (27) 0x000009c5: 06 DW_LNS_negate_stmt 0x000009c6: 01 DW_LNS_copy - 0x000000000000061b 127 27 1 0 0 + 0x00000000000005e3 127 27 1 0 0 -0x000009c7: 00 DW_LNE_set_address (0x000000000000061d) +0x000009c7: 00 DW_LNE_set_address (0x00000000000005e5) 0x000009ce: 05 DW_LNS_set_column (35) 0x000009d0: 01 DW_LNS_copy - 0x000000000000061d 127 35 1 0 0 + 0x00000000000005e5 127 35 1 0 0 -0x000009d1: 00 DW_LNE_set_address (0x0000000000000626) +0x000009d1: 00 DW_LNE_set_address (0x00000000000005ee) 0x000009d8: 05 DW_LNS_set_column (27) 0x000009da: 01 DW_LNS_copy - 0x0000000000000626 127 27 1 0 0 + 0x00000000000005ee 127 27 1 0 0 -0x000009db: 00 DW_LNE_set_address (0x000000000000062c) +0x000009db: 00 DW_LNE_set_address (0x00000000000005f3) 0x000009e2: 05 DW_LNS_set_column (25) 0x000009e4: 01 DW_LNS_copy - 0x000000000000062c 127 25 1 0 0 + 0x00000000000005f3 127 25 1 0 0 -0x000009e5: 00 DW_LNE_set_address (0x0000000000000630) +0x000009e5: 00 DW_LNE_set_address (0x00000000000005f6) 0x000009ec: 03 DW_LNS_advance_line (126) 0x000009ee: 05 DW_LNS_set_column (27) 0x000009f0: 06 DW_LNS_negate_stmt 0x000009f1: 01 DW_LNS_copy - 0x0000000000000630 126 27 1 0 0 is_stmt + 0x00000000000005f6 126 27 1 0 0 is_stmt -0x000009f2: 00 DW_LNE_set_address (0x0000000000000635) +0x000009f2: 00 DW_LNE_set_address (0x00000000000005fb) 0x000009f9: 05 DW_LNS_set_column (13) 0x000009fb: 06 DW_LNS_negate_stmt 0x000009fc: 01 DW_LNS_copy - 0x0000000000000635 126 13 1 0 0 + 0x00000000000005fb 126 13 1 0 0 -0x000009fd: 00 DW_LNE_set_address (0x000000000000063d) +0x000009fd: 00 DW_LNE_set_address (0x0000000000000603) 0x00000a04: 03 DW_LNS_advance_line (128) 0x00000a06: 06 DW_LNS_negate_stmt 0x00000a07: 01 DW_LNS_copy - 0x000000000000063d 128 13 1 0 0 is_stmt + 0x0000000000000603 128 13 1 0 0 is_stmt -0x00000a08: 00 DW_LNE_set_address (0x0000000000000645) +0x00000a08: 00 DW_LNE_set_address (0x000000000000060b) 0x00000a0f: 05 DW_LNS_set_column (22) 0x00000a11: 06 DW_LNS_negate_stmt 0x00000a12: 01 DW_LNS_copy - 0x0000000000000645 128 22 1 0 0 + 0x000000000000060b 128 22 1 0 0 -0x00000a13: 00 DW_LNE_set_address (0x000000000000064b) +0x00000a13: 00 DW_LNE_set_address (0x0000000000000610) 0x00000a1a: 03 DW_LNS_advance_line (130) 0x00000a1c: 05 DW_LNS_set_column (16) 0x00000a1e: 06 DW_LNS_negate_stmt 0x00000a1f: 01 DW_LNS_copy - 0x000000000000064b 130 16 1 0 0 is_stmt + 0x0000000000000610 130 16 1 0 0 is_stmt -0x00000a20: 00 DW_LNE_set_address (0x0000000000000653) +0x00000a20: 00 DW_LNE_set_address (0x0000000000000618) 0x00000a27: 05 DW_LNS_set_column (14) 0x00000a29: 06 DW_LNS_negate_stmt 0x00000a2a: 01 DW_LNS_copy - 0x0000000000000653 130 14 1 0 0 + 0x0000000000000618 130 14 1 0 0 -0x00000a2b: 00 DW_LNE_set_address (0x0000000000000666) +0x00000a2b: 00 DW_LNE_set_address (0x0000000000000629) 0x00000a32: 05 DW_LNS_set_column (25) 0x00000a34: 01 DW_LNS_copy - 0x0000000000000666 130 25 1 0 0 + 0x0000000000000629 130 25 1 0 0 -0x00000a35: 00 DW_LNE_set_address (0x000000000000066b) +0x00000a35: 00 DW_LNE_set_address (0x000000000000062e) 0x00000a3c: 05 DW_LNS_set_column (14) 0x00000a3e: 01 DW_LNS_copy - 0x000000000000066b 130 14 1 0 0 + 0x000000000000062e 130 14 1 0 0 -0x00000a3f: 00 DW_LNE_set_address (0x000000000000066d) +0x00000a3f: 00 DW_LNE_set_address (0x0000000000000630) 0x00000a46: 03 DW_LNS_advance_line (133) 0x00000a48: 05 DW_LNS_set_column (11) 0x00000a4a: 06 DW_LNS_negate_stmt 0x00000a4b: 01 DW_LNS_copy - 0x000000000000066d 133 11 1 0 0 is_stmt + 0x0000000000000630 133 11 1 0 0 is_stmt -0x00000a4c: 00 DW_LNE_set_address (0x0000000000000672) +0x00000a4c: 00 DW_LNE_set_address (0x0000000000000635) 0x00000a53: 03 DW_LNS_advance_line (122) 0x00000a55: 05 DW_LNS_set_column (16) 0x00000a57: 01 DW_LNS_copy - 0x0000000000000672 122 16 1 0 0 is_stmt + 0x0000000000000635 122 16 1 0 0 is_stmt -0x00000a58: 00 DW_LNE_set_address (0x0000000000000677) +0x00000a58: 00 DW_LNE_set_address (0x000000000000063a) 0x00000a5f: 05 DW_LNS_set_column (14) 0x00000a61: 06 DW_LNS_negate_stmt 0x00000a62: 01 DW_LNS_copy - 0x0000000000000677 122 14 1 0 0 + 0x000000000000063a 122 14 1 0 0 -0x00000a63: 00 DW_LNE_set_address (0x000000000000067c) +0x00000a63: 00 DW_LNE_set_address (0x000000000000063f) 0x00000a6a: 03 DW_LNS_advance_line (130) 0x00000a6c: 06 DW_LNS_negate_stmt 0x00000a6d: 01 DW_LNS_copy - 0x000000000000067c 130 14 1 0 0 is_stmt + 0x000000000000063f 130 14 1 0 0 is_stmt -0x00000a6e: 00 DW_LNE_set_address (0x000000000000067d) +0x00000a6e: 00 DW_LNE_set_address (0x0000000000000640) 0x00000a75: 03 DW_LNS_advance_line (110) 0x00000a77: 05 DW_LNS_set_column (11) 0x00000a79: 01 DW_LNS_copy - 0x000000000000067d 110 11 1 0 0 is_stmt + 0x0000000000000640 110 11 1 0 0 is_stmt -0x00000a7a: 00 DW_LNE_set_address (0x0000000000000683) +0x00000a7a: 00 DW_LNE_set_address (0x0000000000000646) 0x00000a81: 03 DW_LNS_advance_line (138) 0x00000a83: 05 DW_LNS_set_column (4) 0x00000a85: 01 DW_LNS_copy - 0x0000000000000683 138 4 1 0 0 is_stmt + 0x0000000000000646 138 4 1 0 0 is_stmt -0x00000a86: 00 DW_LNE_set_address (0x0000000000000687) +0x00000a86: 00 DW_LNE_set_address (0x000000000000064a) 0x00000a8d: 03 DW_LNS_advance_line (139) 0x00000a8f: 01 DW_LNS_copy - 0x0000000000000687 139 4 1 0 0 is_stmt + 0x000000000000064a 139 4 1 0 0 is_stmt -0x00000a90: 00 DW_LNE_set_address (0x0000000000000693) +0x00000a90: 00 DW_LNE_set_address (0x0000000000000656) 0x00000a97: 03 DW_LNS_advance_line (141) 0x00000a99: 01 DW_LNS_copy - 0x0000000000000693 141 4 1 0 0 is_stmt + 0x0000000000000656 141 4 1 0 0 is_stmt -0x00000a9a: 00 DW_LNE_set_address (0x000000000000069e) +0x00000a9a: 00 DW_LNE_set_address (0x0000000000000661) 0x00000aa1: 03 DW_LNS_advance_line (142) 0x00000aa3: 05 DW_LNS_set_column (20) 0x00000aa5: 01 DW_LNS_copy - 0x000000000000069e 142 20 1 0 0 is_stmt + 0x0000000000000661 142 20 1 0 0 is_stmt -0x00000aa6: 00 DW_LNE_set_address (0x00000000000006a6) +0x00000aa6: 00 DW_LNE_set_address (0x0000000000000669) 0x00000aad: 03 DW_LNS_advance_line (146) 0x00000aaf: 01 DW_LNS_copy - 0x00000000000006a6 146 20 1 0 0 is_stmt + 0x0000000000000669 146 20 1 0 0 is_stmt -0x00000ab0: 00 DW_LNE_set_address (0x00000000000006ae) +0x00000ab0: 00 DW_LNE_set_address (0x0000000000000670) 0x00000ab7: 03 DW_LNS_advance_line (147) 0x00000ab9: 05 DW_LNS_set_column (7) 0x00000abb: 01 DW_LNS_copy - 0x00000000000006ae 147 7 1 0 0 is_stmt + 0x0000000000000670 147 7 1 0 0 is_stmt -0x00000abc: 00 DW_LNE_set_address (0x00000000000006b2) +0x00000abc: 00 DW_LNE_set_address (0x0000000000000674) 0x00000ac3: 03 DW_LNS_advance_line (143) 0x00000ac5: 05 DW_LNS_set_column (11) 0x00000ac7: 01 DW_LNS_copy - 0x00000000000006b2 143 11 1 0 0 is_stmt + 0x0000000000000674 143 11 1 0 0 is_stmt -0x00000ac8: 00 DW_LNE_set_address (0x00000000000006b6) +0x00000ac8: 00 DW_LNE_set_address (0x0000000000000678) 0x00000acf: 05 DW_LNS_set_column (20) 0x00000ad1: 06 DW_LNS_negate_stmt 0x00000ad2: 01 DW_LNS_copy - 0x00000000000006b6 143 20 1 0 0 + 0x0000000000000678 143 20 1 0 0 -0x00000ad3: 00 DW_LNE_set_address (0x00000000000006bb) +0x00000ad3: 00 DW_LNE_set_address (0x000000000000067d) 0x00000ada: 05 DW_LNS_set_column (11) 0x00000adc: 01 DW_LNS_copy - 0x00000000000006bb 143 11 1 0 0 + 0x000000000000067d 143 11 1 0 0 -0x00000add: 00 DW_LNE_set_address (0x00000000000006c2) +0x00000add: 00 DW_LNE_set_address (0x0000000000000684) 0x00000ae4: 03 DW_LNS_advance_line (141) 0x00000ae6: 05 DW_LNS_set_column (4) 0x00000ae8: 06 DW_LNS_negate_stmt 0x00000ae9: 01 DW_LNS_copy - 0x00000000000006c2 141 4 1 0 0 is_stmt + 0x0000000000000684 141 4 1 0 0 is_stmt -0x00000aea: 00 DW_LNE_set_address (0x00000000000006c8) +0x00000aea: 00 DW_LNE_set_address (0x000000000000068a) 0x00000af1: 03 DW_LNS_advance_line (159) 0x00000af3: 01 DW_LNS_copy - 0x00000000000006c8 159 4 1 0 0 is_stmt + 0x000000000000068a 159 4 1 0 0 is_stmt -0x00000af4: 00 DW_LNE_set_address (0x00000000000006e1) +0x00000af4: 00 DW_LNE_set_address (0x00000000000006a1) 0x00000afb: 03 DW_LNS_advance_line (161) 0x00000afd: 05 DW_LNS_set_column (1) 0x00000aff: 01 DW_LNS_copy - 0x00000000000006e1 161 1 1 0 0 is_stmt + 0x00000000000006a1 161 1 1 0 0 is_stmt -0x00000b00: 00 DW_LNE_set_address (0x00000000000006eb) +0x00000b00: 00 DW_LNE_set_address (0x00000000000006ab) 0x00000b07: 00 DW_LNE_end_sequence - 0x00000000000006eb 161 1 1 0 0 is_stmt end_sequence + 0x00000000000006ab 161 1 1 0 0 is_stmt end_sequence .debug_str contents: @@ -4778,16 +4778,16 @@ file_names[ 4]: 0x000001ad: "char" .debug_ranges contents: -00000000 000001a2 000001e3 -00000000 0000020f 00000219 -00000000 00000340 00000381 -00000000 000003ad 000003b7 +00000000 00000193 000001d1 +00000000 000001fb 00000204 +00000000 0000031e 0000035c +00000000 00000386 0000038f 00000000 -00000028 0000052f 0000057a -00000028 000005fa 0000064b +00000028 000004ff 00000546 +00000028 000005c3 00000610 00000028 -00000040 00000006 000003cb -00000040 000003cd 000006eb +00000040 00000006 000003a3 +00000040 000003a5 000006ab 00000040 (module (type $i32_=>_i32 (func (param i32) (result i32))) @@ -4834,15 +4834,15 @@ file_names[ 4]: ;; code offset: 0x27 (i32.const 0) ) - ;; code offset: 0x3a + ;; code offset: 0x39 (local.set $4 - ;; code offset: 0x38 + ;; code offset: 0x37 (call $malloc - ;; code offset: 0x36 + ;; code offset: 0x35 (local.tee $3 - ;; code offset: 0x35 + ;; code offset: 0x34 (i32.shl - ;; code offset: 0x31 + ;; code offset: 0x30 (local.tee $2 ;; code offset: 0x2d (i32.load $mimport$0 offset=4 @@ -4850,369 +4850,369 @@ file_names[ 4]: (local.get $0) ) ) - ;; code offset: 0x33 + ;; code offset: 0x32 (i32.const 2) ) ) ) ) - ;; code offset: 0x40 + ;; code offset: 0x3f (local.set $5 - ;; code offset: 0x3e + ;; code offset: 0x3d (call $malloc - ;; code offset: 0x3c + ;; code offset: 0x3b (local.get $3) ) ) - ;; code offset: 0x46 + ;; code offset: 0x45 (local.set $6 - ;; code offset: 0x44 + ;; code offset: 0x43 (call $malloc - ;; code offset: 0x42 + ;; code offset: 0x41 (local.get $3) ) ) - ;; code offset: 0x48 + ;; code offset: 0x47 (block $label$1 (block $label$2 (block $label$3 - ;; code offset: 0x53 + ;; code offset: 0x52 (br_if $label$3 - ;; code offset: 0x52 + ;; code offset: 0x51 (i32.le_s - ;; code offset: 0x4e + ;; code offset: 0x4d (local.get $2) - ;; code offset: 0x50 + ;; code offset: 0x4f (i32.const 0) ) ) - ;; code offset: 0x55 + ;; code offset: 0x54 (loop $label$4 - ;; code offset: 0x61 + ;; code offset: 0x60 (i32.store $mimport$0 - ;; code offset: 0x5e + ;; code offset: 0x5d (i32.add - ;; code offset: 0x57 + ;; code offset: 0x56 (local.get $4) - ;; code offset: 0x5d + ;; code offset: 0x5c (i32.shl - ;; code offset: 0x59 + ;; code offset: 0x58 (local.get $1) - ;; code offset: 0x5b + ;; code offset: 0x5a (i32.const 2) ) ) - ;; code offset: 0x5f + ;; code offset: 0x5e (local.get $1) ) - ;; code offset: 0x6f + ;; code offset: 0x6d (br_if $label$4 - ;; code offset: 0x6e + ;; code offset: 0x6c (i32.ne - ;; code offset: 0x6a + ;; code offset: 0x68 (local.tee $1 - ;; code offset: 0x69 + ;; code offset: 0x67 (i32.add - ;; code offset: 0x65 + ;; code offset: 0x63 (local.get $1) - ;; code offset: 0x67 + ;; code offset: 0x65 (i32.const 1) ) ) - ;; code offset: 0x6c + ;; code offset: 0x6a (local.get $2) ) ) ) - ;; code offset: 0x87 + ;; code offset: 0x84 (i32.store $mimport$0 - ;; code offset: 0x7f + ;; code offset: 0x7c (i32.add - ;; code offset: 0x72 + ;; code offset: 0x70 (local.get $4) - ;; code offset: 0x7e + ;; code offset: 0x7b (i32.shl - ;; code offset: 0x7a + ;; code offset: 0x77 (local.tee $1 - ;; code offset: 0x76 + ;; code offset: 0x74 (i32.load $mimport$0 - ;; code offset: 0x74 + ;; code offset: 0x72 (local.get $0) ) ) - ;; code offset: 0x7c + ;; code offset: 0x79 (i32.const 2) ) ) - ;; code offset: 0x85 + ;; code offset: 0x82 (local.tee $7 - ;; code offset: 0x84 + ;; code offset: 0x81 (i32.add - ;; code offset: 0x80 + ;; code offset: 0x7d (local.get $2) - ;; code offset: 0x82 + ;; code offset: 0x7f (i32.const -1) ) ) ) - ;; code offset: 0x97 + ;; code offset: 0x93 (i32.store $mimport$0 - ;; code offset: 0x93 + ;; code offset: 0x8f (local.tee $8 - ;; code offset: 0x92 + ;; code offset: 0x8e (i32.add - ;; code offset: 0x8b + ;; code offset: 0x87 (local.get $4) - ;; code offset: 0x91 + ;; code offset: 0x8d (i32.shl - ;; code offset: 0x8d + ;; code offset: 0x89 (local.get $7) - ;; code offset: 0x8f + ;; code offset: 0x8b (i32.const 2) ) ) ) - ;; code offset: 0x95 + ;; code offset: 0x91 (local.get $1) ) - ;; code offset: 0x9d + ;; code offset: 0x98 (local.set $9 - ;; code offset: 0x9b + ;; code offset: 0x96 (i32.const 0) ) - ;; code offset: 0xa4 + ;; code offset: 0x9f (br_if $label$2 - ;; code offset: 0xa3 + ;; code offset: 0x9e (i32.le_s - ;; code offset: 0x9f + ;; code offset: 0x9a (local.get $2) - ;; code offset: 0xa1 + ;; code offset: 0x9c (i32.const 0) ) ) - ;; code offset: 0xa6 + ;; code offset: 0xa1 (loop $label$5 - ;; code offset: 0xa8 + ;; code offset: 0xa3 (block $label$6 - ;; code offset: 0xaf + ;; code offset: 0xaa (br_if $label$6 - ;; code offset: 0xae + ;; code offset: 0xa9 (i32.le_s - ;; code offset: 0xaa + ;; code offset: 0xa5 (local.get $2) - ;; code offset: 0xac + ;; code offset: 0xa7 (i32.const 1) ) ) - ;; code offset: 0xb1 + ;; code offset: 0xac (loop $label$7 - ;; code offset: 0xc2 + ;; code offset: 0xbd (i32.store $mimport$0 - ;; code offset: 0xbf + ;; code offset: 0xba (i32.add - ;; code offset: 0xb3 + ;; code offset: 0xae (local.get $6) - ;; code offset: 0xbe + ;; code offset: 0xb9 (i32.shl - ;; code offset: 0xba + ;; code offset: 0xb5 (local.tee $1 - ;; code offset: 0xb9 + ;; code offset: 0xb4 (i32.add - ;; code offset: 0xb5 + ;; code offset: 0xb0 (local.get $2) - ;; code offset: 0xb7 + ;; code offset: 0xb2 (i32.const -1) ) ) - ;; code offset: 0xbc + ;; code offset: 0xb7 (i32.const 2) ) ) - ;; code offset: 0xc0 + ;; code offset: 0xbb (local.get $2) ) - ;; code offset: 0xcb + ;; code offset: 0xc5 (local.set $0 - ;; code offset: 0xca + ;; code offset: 0xc4 (i32.gt_s - ;; code offset: 0xc6 + ;; code offset: 0xc0 (local.get $2) - ;; code offset: 0xc8 + ;; code offset: 0xc2 (i32.const 2) ) ) - ;; code offset: 0xcf + ;; code offset: 0xc9 (local.set $2 - ;; code offset: 0xcd + ;; code offset: 0xc7 (local.get $1) ) - ;; code offset: 0xd3 + ;; code offset: 0xcd (br_if $label$7 - ;; code offset: 0xd1 + ;; code offset: 0xcb (local.get $0) ) ) ) - ;; code offset: 0xd7 + ;; code offset: 0xd1 (block $label$8 - ;; code offset: 0xe2 + ;; code offset: 0xdb (br_if $label$8 - ;; code offset: 0xe1 + ;; code offset: 0xda (i32.eqz - ;; code offset: 0xdf + ;; code offset: 0xd8 (local.tee $10 - ;; code offset: 0xdb + ;; code offset: 0xd5 (i32.load $mimport$0 - ;; code offset: 0xd9 + ;; code offset: 0xd3 (local.get $4) ) ) ) ) - ;; code offset: 0xed + ;; code offset: 0xe5 (br_if $label$8 - ;; code offset: 0xec + ;; code offset: 0xe4 (i32.eq - ;; code offset: 0xe6 + ;; code offset: 0xdf (i32.load $mimport$0 - ;; code offset: 0xe4 + ;; code offset: 0xdd (local.get $8) ) - ;; code offset: 0xea + ;; code offset: 0xe2 (local.get $7) ) ) - ;; code offset: 0xfd + ;; code offset: 0xf4 (local.set $12 - ;; code offset: 0xf9 + ;; code offset: 0xf1 (i32.load $mimport$0 - ;; code offset: 0xf7 + ;; code offset: 0xef (local.tee $11 - ;; code offset: 0xf5 + ;; code offset: 0xed (call $memcpy - ;; code offset: 0xef + ;; code offset: 0xe7 (local.get $5) - ;; code offset: 0xf1 + ;; code offset: 0xe9 (local.get $4) - ;; code offset: 0xf3 + ;; code offset: 0xeb (local.get $3) ) ) ) ) - ;; code offset: 0x101 + ;; code offset: 0xf8 (local.set $0 - ;; code offset: 0xff + ;; code offset: 0xf6 (i32.const 0) ) - ;; code offset: 0x103 + ;; code offset: 0xfa (loop $label$9 - ;; code offset: 0x107 + ;; code offset: 0xfe (local.set $13 - ;; code offset: 0x105 + ;; code offset: 0xfc (local.get $0) ) - ;; code offset: 0x109 + ;; code offset: 0x100 (block $label$10 - ;; code offset: 0x110 + ;; code offset: 0x107 (br_if $label$10 - ;; code offset: 0x10f + ;; code offset: 0x106 (i32.lt_s - ;; code offset: 0x10b + ;; code offset: 0x102 (local.get $12) - ;; code offset: 0x10d + ;; code offset: 0x104 (i32.const 3) ) ) - ;; code offset: 0x117 + ;; code offset: 0x10e (local.set $1 - ;; code offset: 0x116 + ;; code offset: 0x10d (i32.add - ;; code offset: 0x112 + ;; code offset: 0x109 (local.get $12) - ;; code offset: 0x114 + ;; code offset: 0x10b (i32.const -1) ) ) - ;; code offset: 0x11b + ;; code offset: 0x112 (local.set $0 - ;; code offset: 0x119 + ;; code offset: 0x110 (i32.const 1) ) - ;; code offset: 0x11d + ;; code offset: 0x114 (loop $label$11 - ;; code offset: 0x12d + ;; code offset: 0x123 (local.set $15 - ;; code offset: 0x129 + ;; code offset: 0x120 (i32.load $mimport$0 - ;; code offset: 0x127 + ;; code offset: 0x11e (local.tee $14 - ;; code offset: 0x126 + ;; code offset: 0x11d (i32.add - ;; code offset: 0x11f + ;; code offset: 0x116 (local.get $11) - ;; code offset: 0x125 + ;; code offset: 0x11c (i32.shl - ;; code offset: 0x121 + ;; code offset: 0x118 (local.get $0) - ;; code offset: 0x123 + ;; code offset: 0x11a (i32.const 2) ) ) ) ) ) - ;; code offset: 0x13f + ;; code offset: 0x134 (i32.store $mimport$0 - ;; code offset: 0x12f + ;; code offset: 0x125 (local.get $14) - ;; code offset: 0x13b + ;; code offset: 0x131 (i32.load $mimport$0 - ;; code offset: 0x139 + ;; code offset: 0x12f (local.tee $16 - ;; code offset: 0x138 + ;; code offset: 0x12e (i32.add - ;; code offset: 0x131 + ;; code offset: 0x127 (local.get $11) - ;; code offset: 0x137 + ;; code offset: 0x12d (i32.shl - ;; code offset: 0x133 + ;; code offset: 0x129 (local.get $1) - ;; code offset: 0x135 + ;; code offset: 0x12b (i32.const 2) ) ) ) ) ) - ;; code offset: 0x147 + ;; code offset: 0x13b (i32.store $mimport$0 - ;; code offset: 0x143 + ;; code offset: 0x137 (local.get $16) - ;; code offset: 0x145 + ;; code offset: 0x139 (local.get $15) ) - ;; code offset: 0x15a + ;; code offset: 0x14d (br_if $label$11 - ;; code offset: 0x159 + ;; code offset: 0x14c (i32.lt_s - ;; code offset: 0x150 + ;; code offset: 0x143 (local.tee $0 - ;; code offset: 0x14f + ;; code offset: 0x142 (i32.add - ;; code offset: 0x14b + ;; code offset: 0x13e (local.get $0) - ;; code offset: 0x14d + ;; code offset: 0x140 (i32.const 1) ) ) - ;; code offset: 0x157 + ;; code offset: 0x14a (local.tee $1 - ;; code offset: 0x156 + ;; code offset: 0x149 (i32.add - ;; code offset: 0x152 + ;; code offset: 0x145 (local.get $1) - ;; code offset: 0x154 + ;; code offset: 0x147 (i32.const -1) ) ) @@ -5220,518 +5220,518 @@ file_names[ 4]: ) ) ) - ;; code offset: 0x16c + ;; code offset: 0x15e (local.set $1 - ;; code offset: 0x168 + ;; code offset: 0x15b (i32.load $mimport$0 - ;; code offset: 0x166 + ;; code offset: 0x159 (local.tee $0 - ;; code offset: 0x165 + ;; code offset: 0x158 (i32.add - ;; code offset: 0x15e + ;; code offset: 0x151 (local.get $11) - ;; code offset: 0x164 + ;; code offset: 0x157 (i32.shl - ;; code offset: 0x160 + ;; code offset: 0x153 (local.get $12) - ;; code offset: 0x162 + ;; code offset: 0x155 (i32.const 2) ) ) ) ) ) - ;; code offset: 0x172 + ;; code offset: 0x164 (i32.store $mimport$0 - ;; code offset: 0x16e + ;; code offset: 0x160 (local.get $0) - ;; code offset: 0x170 + ;; code offset: 0x162 (local.get $12) ) - ;; code offset: 0x17b + ;; code offset: 0x16c (local.set $0 - ;; code offset: 0x17a + ;; code offset: 0x16b (i32.add - ;; code offset: 0x176 + ;; code offset: 0x167 (local.get $13) - ;; code offset: 0x178 + ;; code offset: 0x169 (i32.const 1) ) ) - ;; code offset: 0x17f + ;; code offset: 0x170 (local.set $12 - ;; code offset: 0x17d + ;; code offset: 0x16e (local.get $1) ) - ;; code offset: 0x183 + ;; code offset: 0x174 (br_if $label$9 - ;; code offset: 0x181 + ;; code offset: 0x172 (local.get $1) ) ) - ;; code offset: 0x190 + ;; code offset: 0x181 (local.set $9 - ;; code offset: 0x18f + ;; code offset: 0x180 (select - ;; code offset: 0x186 + ;; code offset: 0x177 (local.get $9) - ;; code offset: 0x188 + ;; code offset: 0x179 (local.get $0) - ;; code offset: 0x18e + ;; code offset: 0x17f (i32.gt_s - ;; code offset: 0x18a + ;; code offset: 0x17b (local.get $9) - ;; code offset: 0x18c + ;; code offset: 0x17d (local.get $13) ) ) ) ) - ;; code offset: 0x198 + ;; code offset: 0x189 (br_if $label$1 - ;; code offset: 0x197 + ;; code offset: 0x188 (i32.ge_s - ;; code offset: 0x193 + ;; code offset: 0x184 (local.get $2) - ;; code offset: 0x195 + ;; code offset: 0x186 (local.get $7) ) ) - ;; code offset: 0x19a + ;; code offset: 0x18b (loop $label$12 - ;; code offset: 0x19e + ;; code offset: 0x18f (local.set $1 - ;; code offset: 0x19c + ;; code offset: 0x18d (i32.const 0) ) - ;; code offset: 0x1a0 + ;; code offset: 0x191 (block $label$13 - ;; code offset: 0x1a7 + ;; code offset: 0x198 (br_if $label$13 - ;; code offset: 0x1a6 + ;; code offset: 0x197 (i32.le_s - ;; code offset: 0x1a2 + ;; code offset: 0x193 (local.get $2) - ;; code offset: 0x1a4 + ;; code offset: 0x195 (i32.const 0) ) ) - ;; code offset: 0x1a9 + ;; code offset: 0x19a (loop $label$14 - ;; code offset: 0x1c4 + ;; code offset: 0x1b4 (i32.store $mimport$0 - ;; code offset: 0x1b2 + ;; code offset: 0x1a3 (i32.add - ;; code offset: 0x1ab + ;; code offset: 0x19c (local.get $4) - ;; code offset: 0x1b1 + ;; code offset: 0x1a2 (i32.shl - ;; code offset: 0x1ad + ;; code offset: 0x19e (local.get $1) - ;; code offset: 0x1af + ;; code offset: 0x1a0 (i32.const 2) ) ) - ;; code offset: 0x1c0 + ;; code offset: 0x1b1 (i32.load $mimport$0 - ;; code offset: 0x1bf + ;; code offset: 0x1b0 (i32.add - ;; code offset: 0x1b3 + ;; code offset: 0x1a4 (local.get $4) - ;; code offset: 0x1be + ;; code offset: 0x1af (i32.shl - ;; code offset: 0x1ba + ;; code offset: 0x1ab (local.tee $1 - ;; code offset: 0x1b9 + ;; code offset: 0x1aa (i32.add - ;; code offset: 0x1b5 + ;; code offset: 0x1a6 (local.get $1) - ;; code offset: 0x1b7 + ;; code offset: 0x1a8 (i32.const 1) ) ) - ;; code offset: 0x1bc + ;; code offset: 0x1ad (i32.const 2) ) ) ) ) - ;; code offset: 0x1cd + ;; code offset: 0x1bc (br_if $label$14 - ;; code offset: 0x1cc + ;; code offset: 0x1bb (i32.ne - ;; code offset: 0x1c8 + ;; code offset: 0x1b7 (local.get $1) - ;; code offset: 0x1ca + ;; code offset: 0x1b9 (local.get $2) ) ) ) - ;; code offset: 0x1d2 + ;; code offset: 0x1c1 (local.set $1 - ;; code offset: 0x1d0 + ;; code offset: 0x1bf (local.get $2) ) ) - ;; code offset: 0x1df + ;; code offset: 0x1ce (i32.store $mimport$0 - ;; code offset: 0x1dc + ;; code offset: 0x1cb (i32.add - ;; code offset: 0x1d5 + ;; code offset: 0x1c4 (local.get $4) - ;; code offset: 0x1db + ;; code offset: 0x1ca (i32.shl - ;; code offset: 0x1d7 + ;; code offset: 0x1c6 (local.get $1) - ;; code offset: 0x1d9 + ;; code offset: 0x1c8 (i32.const 2) ) ) - ;; code offset: 0x1dd + ;; code offset: 0x1cc (local.get $10) ) - ;; code offset: 0x1f8 + ;; code offset: 0x1e5 (i32.store $mimport$0 - ;; code offset: 0x1eb + ;; code offset: 0x1d9 (local.tee $1 - ;; code offset: 0x1ea + ;; code offset: 0x1d8 (i32.add - ;; code offset: 0x1e3 + ;; code offset: 0x1d1 (local.get $6) - ;; code offset: 0x1e9 + ;; code offset: 0x1d7 (i32.shl - ;; code offset: 0x1e5 + ;; code offset: 0x1d3 (local.get $2) - ;; code offset: 0x1e7 + ;; code offset: 0x1d5 (i32.const 2) ) ) ) - ;; code offset: 0x1f7 + ;; code offset: 0x1e4 (i32.add - ;; code offset: 0x1f3 + ;; code offset: 0x1e0 (local.tee $1 - ;; code offset: 0x1ef + ;; code offset: 0x1dd (i32.load $mimport$0 - ;; code offset: 0x1ed + ;; code offset: 0x1db (local.get $1) ) ) - ;; code offset: 0x1f5 + ;; code offset: 0x1e2 (i32.const -1) ) ) - ;; code offset: 0x201 + ;; code offset: 0x1ed (br_if $label$5 - ;; code offset: 0x200 + ;; code offset: 0x1ec (i32.gt_s - ;; code offset: 0x1fc + ;; code offset: 0x1e8 (local.get $1) - ;; code offset: 0x1fe + ;; code offset: 0x1ea (i32.const 1) ) ) - ;; code offset: 0x20d + ;; code offset: 0x1f9 (br_if $label$1 - ;; code offset: 0x20c + ;; code offset: 0x1f8 (i32.eq - ;; code offset: 0x208 + ;; code offset: 0x1f4 (local.tee $2 - ;; code offset: 0x207 + ;; code offset: 0x1f3 (i32.add - ;; code offset: 0x203 + ;; code offset: 0x1ef (local.get $2) - ;; code offset: 0x205 + ;; code offset: 0x1f1 (i32.const 1) ) ) - ;; code offset: 0x20a + ;; code offset: 0x1f6 (local.get $7) ) ) - ;; code offset: 0x215 + ;; code offset: 0x200 (local.set $10 - ;; code offset: 0x211 + ;; code offset: 0x1fd (i32.load $mimport$0 - ;; code offset: 0x20f + ;; code offset: 0x1fb (local.get $4) ) ) - ;; code offset: 0x217 + ;; code offset: 0x202 (br $label$12) ) ) ) - ;; code offset: 0x233 + ;; code offset: 0x21d (i32.store $mimport$0 - ;; code offset: 0x22b + ;; code offset: 0x215 (i32.add - ;; code offset: 0x21e + ;; code offset: 0x209 (local.get $4) - ;; code offset: 0x22a + ;; code offset: 0x214 (i32.shl - ;; code offset: 0x226 + ;; code offset: 0x210 (local.tee $1 - ;; code offset: 0x222 + ;; code offset: 0x20d (i32.load $mimport$0 - ;; code offset: 0x220 + ;; code offset: 0x20b (local.get $0) ) ) - ;; code offset: 0x228 + ;; code offset: 0x212 (i32.const 2) ) ) - ;; code offset: 0x231 + ;; code offset: 0x21b (local.tee $7 - ;; code offset: 0x230 + ;; code offset: 0x21a (i32.add - ;; code offset: 0x22c + ;; code offset: 0x216 (local.get $2) - ;; code offset: 0x22e + ;; code offset: 0x218 (i32.const -1) ) ) ) - ;; code offset: 0x243 + ;; code offset: 0x22c (i32.store $mimport$0 - ;; code offset: 0x23f + ;; code offset: 0x228 (local.tee $8 - ;; code offset: 0x23e + ;; code offset: 0x227 (i32.add - ;; code offset: 0x237 + ;; code offset: 0x220 (local.get $4) - ;; code offset: 0x23d + ;; code offset: 0x226 (i32.shl - ;; code offset: 0x239 + ;; code offset: 0x222 (local.get $7) - ;; code offset: 0x23b + ;; code offset: 0x224 (i32.const 2) ) ) ) - ;; code offset: 0x241 + ;; code offset: 0x22a (local.get $1) ) ) - ;; code offset: 0x24a + ;; code offset: 0x232 (local.set $9 - ;; code offset: 0x248 + ;; code offset: 0x230 (i32.const 0) ) - ;; code offset: 0x24c + ;; code offset: 0x234 (loop $label$15 - ;; code offset: 0x24e + ;; code offset: 0x236 (block $label$16 - ;; code offset: 0x255 + ;; code offset: 0x23d (br_if $label$16 - ;; code offset: 0x254 + ;; code offset: 0x23c (i32.lt_s - ;; code offset: 0x250 + ;; code offset: 0x238 (local.get $2) - ;; code offset: 0x252 + ;; code offset: 0x23a (i32.const 2) ) ) - ;; code offset: 0x257 + ;; code offset: 0x23f (loop $label$17 - ;; code offset: 0x268 + ;; code offset: 0x250 (i32.store $mimport$0 - ;; code offset: 0x265 + ;; code offset: 0x24d (i32.add - ;; code offset: 0x259 + ;; code offset: 0x241 (local.get $6) - ;; code offset: 0x264 + ;; code offset: 0x24c (i32.shl - ;; code offset: 0x260 + ;; code offset: 0x248 (local.tee $1 - ;; code offset: 0x25f + ;; code offset: 0x247 (i32.add - ;; code offset: 0x25b + ;; code offset: 0x243 (local.get $2) - ;; code offset: 0x25d + ;; code offset: 0x245 (i32.const -1) ) ) - ;; code offset: 0x262 + ;; code offset: 0x24a (i32.const 2) ) ) - ;; code offset: 0x266 + ;; code offset: 0x24e (local.get $2) ) - ;; code offset: 0x271 + ;; code offset: 0x258 (local.set $0 - ;; code offset: 0x270 + ;; code offset: 0x257 (i32.gt_s - ;; code offset: 0x26c + ;; code offset: 0x253 (local.get $2) - ;; code offset: 0x26e + ;; code offset: 0x255 (i32.const 2) ) ) - ;; code offset: 0x275 + ;; code offset: 0x25c (local.set $2 - ;; code offset: 0x273 + ;; code offset: 0x25a (local.get $1) ) - ;; code offset: 0x279 + ;; code offset: 0x260 (br_if $label$17 - ;; code offset: 0x277 + ;; code offset: 0x25e (local.get $0) ) ) ) - ;; code offset: 0x27d + ;; code offset: 0x264 (block $label$18 - ;; code offset: 0x288 + ;; code offset: 0x26e (br_if $label$18 - ;; code offset: 0x287 + ;; code offset: 0x26d (i32.eqz - ;; code offset: 0x285 + ;; code offset: 0x26b (local.tee $12 - ;; code offset: 0x281 + ;; code offset: 0x268 (i32.load $mimport$0 - ;; code offset: 0x27f + ;; code offset: 0x266 (local.get $4) ) ) ) ) - ;; code offset: 0x293 + ;; code offset: 0x278 (br_if $label$18 - ;; code offset: 0x292 + ;; code offset: 0x277 (i32.eq - ;; code offset: 0x28c + ;; code offset: 0x272 (i32.load $mimport$0 - ;; code offset: 0x28a + ;; code offset: 0x270 (local.get $8) ) - ;; code offset: 0x290 + ;; code offset: 0x275 (local.get $7) ) ) - ;; code offset: 0x29b + ;; code offset: 0x27f (local.set $16 - ;; code offset: 0x297 + ;; code offset: 0x27c (i32.load $mimport$0 - ;; code offset: 0x295 + ;; code offset: 0x27a (local.get $5) ) ) - ;; code offset: 0x29f + ;; code offset: 0x283 (local.set $0 - ;; code offset: 0x29d + ;; code offset: 0x281 (i32.const 0) ) - ;; code offset: 0x2a1 + ;; code offset: 0x285 (loop $label$19 - ;; code offset: 0x2a5 + ;; code offset: 0x289 (local.set $10 - ;; code offset: 0x2a3 + ;; code offset: 0x287 (local.get $0) ) - ;; code offset: 0x2a7 + ;; code offset: 0x28b (block $label$20 - ;; code offset: 0x2ae + ;; code offset: 0x292 (br_if $label$20 - ;; code offset: 0x2ad + ;; code offset: 0x291 (i32.lt_s - ;; code offset: 0x2a9 + ;; code offset: 0x28d (local.get $16) - ;; code offset: 0x2ab + ;; code offset: 0x28f (i32.const 3) ) ) - ;; code offset: 0x2b5 + ;; code offset: 0x299 (local.set $1 - ;; code offset: 0x2b4 + ;; code offset: 0x298 (i32.add - ;; code offset: 0x2b0 + ;; code offset: 0x294 (local.get $16) - ;; code offset: 0x2b2 + ;; code offset: 0x296 (i32.const -1) ) ) - ;; code offset: 0x2b9 + ;; code offset: 0x29d (local.set $0 - ;; code offset: 0x2b7 + ;; code offset: 0x29b (i32.const 1) ) - ;; code offset: 0x2bb + ;; code offset: 0x29f (loop $label$21 - ;; code offset: 0x2cb + ;; code offset: 0x2ae (local.set $14 - ;; code offset: 0x2c7 + ;; code offset: 0x2ab (i32.load $mimport$0 - ;; code offset: 0x2c5 + ;; code offset: 0x2a9 (local.tee $11 - ;; code offset: 0x2c4 + ;; code offset: 0x2a8 (i32.add - ;; code offset: 0x2bd + ;; code offset: 0x2a1 (local.get $5) - ;; code offset: 0x2c3 + ;; code offset: 0x2a7 (i32.shl - ;; code offset: 0x2bf + ;; code offset: 0x2a3 (local.get $0) - ;; code offset: 0x2c1 + ;; code offset: 0x2a5 (i32.const 2) ) ) ) ) ) - ;; code offset: 0x2dd + ;; code offset: 0x2bf (i32.store $mimport$0 - ;; code offset: 0x2cd + ;; code offset: 0x2b0 (local.get $11) - ;; code offset: 0x2d9 + ;; code offset: 0x2bc (i32.load $mimport$0 - ;; code offset: 0x2d7 + ;; code offset: 0x2ba (local.tee $15 - ;; code offset: 0x2d6 + ;; code offset: 0x2b9 (i32.add - ;; code offset: 0x2cf + ;; code offset: 0x2b2 (local.get $5) - ;; code offset: 0x2d5 + ;; code offset: 0x2b8 (i32.shl - ;; code offset: 0x2d1 + ;; code offset: 0x2b4 (local.get $1) - ;; code offset: 0x2d3 + ;; code offset: 0x2b6 (i32.const 2) ) ) ) ) ) - ;; code offset: 0x2e5 + ;; code offset: 0x2c6 (i32.store $mimport$0 - ;; code offset: 0x2e1 + ;; code offset: 0x2c2 (local.get $15) - ;; code offset: 0x2e3 + ;; code offset: 0x2c4 (local.get $14) ) - ;; code offset: 0x2f8 + ;; code offset: 0x2d8 (br_if $label$21 - ;; code offset: 0x2f7 + ;; code offset: 0x2d7 (i32.lt_s - ;; code offset: 0x2ee + ;; code offset: 0x2ce (local.tee $0 - ;; code offset: 0x2ed + ;; code offset: 0x2cd (i32.add - ;; code offset: 0x2e9 + ;; code offset: 0x2c9 (local.get $0) - ;; code offset: 0x2eb + ;; code offset: 0x2cb (i32.const 1) ) ) - ;; code offset: 0x2f5 + ;; code offset: 0x2d5 (local.tee $1 - ;; code offset: 0x2f4 + ;; code offset: 0x2d4 (i32.add - ;; code offset: 0x2f0 + ;; code offset: 0x2d0 (local.get $1) - ;; code offset: 0x2f2 + ;; code offset: 0x2d2 (i32.const -1) ) ) @@ -5739,264 +5739,264 @@ file_names[ 4]: ) ) ) - ;; code offset: 0x30a + ;; code offset: 0x2e9 (local.set $1 - ;; code offset: 0x306 + ;; code offset: 0x2e6 (i32.load $mimport$0 - ;; code offset: 0x304 + ;; code offset: 0x2e4 (local.tee $0 - ;; code offset: 0x303 + ;; code offset: 0x2e3 (i32.add - ;; code offset: 0x2fc + ;; code offset: 0x2dc (local.get $5) - ;; code offset: 0x302 + ;; code offset: 0x2e2 (i32.shl - ;; code offset: 0x2fe + ;; code offset: 0x2de (local.get $16) - ;; code offset: 0x300 + ;; code offset: 0x2e0 (i32.const 2) ) ) ) ) ) - ;; code offset: 0x310 + ;; code offset: 0x2ef (i32.store $mimport$0 - ;; code offset: 0x30c + ;; code offset: 0x2eb (local.get $0) - ;; code offset: 0x30e + ;; code offset: 0x2ed (local.get $16) ) - ;; code offset: 0x319 + ;; code offset: 0x2f7 (local.set $0 - ;; code offset: 0x318 + ;; code offset: 0x2f6 (i32.add - ;; code offset: 0x314 + ;; code offset: 0x2f2 (local.get $10) - ;; code offset: 0x316 + ;; code offset: 0x2f4 (i32.const 1) ) ) - ;; code offset: 0x31d + ;; code offset: 0x2fb (local.set $16 - ;; code offset: 0x31b + ;; code offset: 0x2f9 (local.get $1) ) - ;; code offset: 0x321 + ;; code offset: 0x2ff (br_if $label$19 - ;; code offset: 0x31f + ;; code offset: 0x2fd (local.get $1) ) ) - ;; code offset: 0x32e + ;; code offset: 0x30c (local.set $9 - ;; code offset: 0x32d + ;; code offset: 0x30b (select - ;; code offset: 0x324 + ;; code offset: 0x302 (local.get $9) - ;; code offset: 0x326 + ;; code offset: 0x304 (local.get $0) - ;; code offset: 0x32c + ;; code offset: 0x30a (i32.gt_s - ;; code offset: 0x328 + ;; code offset: 0x306 (local.get $9) - ;; code offset: 0x32a + ;; code offset: 0x308 (local.get $10) ) ) ) ) - ;; code offset: 0x336 + ;; code offset: 0x314 (br_if $label$1 - ;; code offset: 0x335 + ;; code offset: 0x313 (i32.ge_s - ;; code offset: 0x331 + ;; code offset: 0x30f (local.get $2) - ;; code offset: 0x333 + ;; code offset: 0x311 (local.get $7) ) ) - ;; code offset: 0x338 + ;; code offset: 0x316 (loop $label$22 - ;; code offset: 0x33c + ;; code offset: 0x31a (local.set $1 - ;; code offset: 0x33a + ;; code offset: 0x318 (i32.const 0) ) - ;; code offset: 0x33e + ;; code offset: 0x31c (block $label$23 - ;; code offset: 0x345 + ;; code offset: 0x323 (br_if $label$23 - ;; code offset: 0x344 + ;; code offset: 0x322 (i32.lt_s - ;; code offset: 0x340 + ;; code offset: 0x31e (local.get $2) - ;; code offset: 0x342 + ;; code offset: 0x320 (i32.const 1) ) ) - ;; code offset: 0x347 + ;; code offset: 0x325 (loop $label$24 - ;; code offset: 0x362 + ;; code offset: 0x33f (i32.store $mimport$0 - ;; code offset: 0x350 + ;; code offset: 0x32e (i32.add - ;; code offset: 0x349 + ;; code offset: 0x327 (local.get $4) - ;; code offset: 0x34f + ;; code offset: 0x32d (i32.shl - ;; code offset: 0x34b + ;; code offset: 0x329 (local.get $1) - ;; code offset: 0x34d + ;; code offset: 0x32b (i32.const 2) ) ) - ;; code offset: 0x35e + ;; code offset: 0x33c (i32.load $mimport$0 - ;; code offset: 0x35d + ;; code offset: 0x33b (i32.add - ;; code offset: 0x351 + ;; code offset: 0x32f (local.get $4) - ;; code offset: 0x35c + ;; code offset: 0x33a (i32.shl - ;; code offset: 0x358 + ;; code offset: 0x336 (local.tee $1 - ;; code offset: 0x357 + ;; code offset: 0x335 (i32.add - ;; code offset: 0x353 + ;; code offset: 0x331 (local.get $1) - ;; code offset: 0x355 + ;; code offset: 0x333 (i32.const 1) ) ) - ;; code offset: 0x35a + ;; code offset: 0x338 (i32.const 2) ) ) ) ) - ;; code offset: 0x36b + ;; code offset: 0x347 (br_if $label$24 - ;; code offset: 0x36a + ;; code offset: 0x346 (i32.ne - ;; code offset: 0x366 + ;; code offset: 0x342 (local.get $1) - ;; code offset: 0x368 + ;; code offset: 0x344 (local.get $2) ) ) ) - ;; code offset: 0x370 + ;; code offset: 0x34c (local.set $1 - ;; code offset: 0x36e + ;; code offset: 0x34a (local.get $2) ) ) - ;; code offset: 0x37d + ;; code offset: 0x359 (i32.store $mimport$0 - ;; code offset: 0x37a + ;; code offset: 0x356 (i32.add - ;; code offset: 0x373 + ;; code offset: 0x34f (local.get $4) - ;; code offset: 0x379 + ;; code offset: 0x355 (i32.shl - ;; code offset: 0x375 + ;; code offset: 0x351 (local.get $1) - ;; code offset: 0x377 + ;; code offset: 0x353 (i32.const 2) ) ) - ;; code offset: 0x37b + ;; code offset: 0x357 (local.get $12) ) - ;; code offset: 0x396 + ;; code offset: 0x370 (i32.store $mimport$0 - ;; code offset: 0x389 + ;; code offset: 0x364 (local.tee $1 - ;; code offset: 0x388 + ;; code offset: 0x363 (i32.add - ;; code offset: 0x381 + ;; code offset: 0x35c (local.get $6) - ;; code offset: 0x387 + ;; code offset: 0x362 (i32.shl - ;; code offset: 0x383 + ;; code offset: 0x35e (local.get $2) - ;; code offset: 0x385 + ;; code offset: 0x360 (i32.const 2) ) ) ) - ;; code offset: 0x395 + ;; code offset: 0x36f (i32.add - ;; code offset: 0x391 + ;; code offset: 0x36b (local.tee $1 - ;; code offset: 0x38d + ;; code offset: 0x368 (i32.load $mimport$0 - ;; code offset: 0x38b + ;; code offset: 0x366 (local.get $1) ) ) - ;; code offset: 0x393 + ;; code offset: 0x36d (i32.const -1) ) ) - ;; code offset: 0x39f + ;; code offset: 0x378 (br_if $label$15 - ;; code offset: 0x39e + ;; code offset: 0x377 (i32.gt_s - ;; code offset: 0x39a + ;; code offset: 0x373 (local.get $1) - ;; code offset: 0x39c + ;; code offset: 0x375 (i32.const 1) ) ) - ;; code offset: 0x3ab + ;; code offset: 0x384 (br_if $label$1 - ;; code offset: 0x3aa + ;; code offset: 0x383 (i32.eq - ;; code offset: 0x3a6 + ;; code offset: 0x37f (local.tee $2 - ;; code offset: 0x3a5 + ;; code offset: 0x37e (i32.add - ;; code offset: 0x3a1 + ;; code offset: 0x37a (local.get $2) - ;; code offset: 0x3a3 + ;; code offset: 0x37c (i32.const 1) ) ) - ;; code offset: 0x3a8 + ;; code offset: 0x381 (local.get $7) ) ) - ;; code offset: 0x3b3 + ;; code offset: 0x38b (local.set $12 - ;; code offset: 0x3af + ;; code offset: 0x388 (i32.load $mimport$0 - ;; code offset: 0x3ad + ;; code offset: 0x386 (local.get $4) ) ) - ;; code offset: 0x3b5 + ;; code offset: 0x38d (br $label$22) ) ) ) - ;; code offset: 0x3be + ;; code offset: 0x396 (call $free - ;; code offset: 0x3bc + ;; code offset: 0x394 (local.get $4) ) - ;; code offset: 0x3c2 + ;; code offset: 0x39a (call $free - ;; code offset: 0x3c0 + ;; code offset: 0x398 (local.get $5) ) - ;; code offset: 0x3c6 + ;; code offset: 0x39e (call $free - ;; code offset: 0x3c4 + ;; code offset: 0x39c (local.get $6) ) - ;; code offset: 0x3c8 + ;; code offset: 0x3a0 (local.get $9) ) (func $main (param $0 i32) (param $1 i32) (result i32) @@ -6007,990 +6007,990 @@ file_names[ 4]: (local $6 i32) (local $7 i32) (local $8 i32) - ;; code offset: 0x3e3 + ;; code offset: 0x3bb (global.set $global$0 - ;; code offset: 0x3e1 + ;; code offset: 0x3b9 (local.tee $2 - ;; code offset: 0x3e0 + ;; code offset: 0x3b8 (i32.sub - ;; code offset: 0x3dc + ;; code offset: 0x3b4 (global.get $global$0) - ;; code offset: 0x3de + ;; code offset: 0x3b6 (i32.const 32) ) ) ) - ;; code offset: 0x3e5 + ;; code offset: 0x3bd (block $label$1 (block $label$2 (block $label$3 - ;; code offset: 0x3f0 + ;; code offset: 0x3c8 (br_if $label$3 - ;; code offset: 0x3ef + ;; code offset: 0x3c7 (i32.lt_s - ;; code offset: 0x3eb + ;; code offset: 0x3c3 (local.get $0) - ;; code offset: 0x3ed + ;; code offset: 0x3c5 (i32.const 2) ) ) - ;; code offset: 0x3f4 + ;; code offset: 0x3cc (local.set $3 - ;; code offset: 0x3f2 + ;; code offset: 0x3ca (i32.const 0) ) - ;; code offset: 0x403 + ;; code offset: 0x3da (br_if $label$2 - ;; code offset: 0x402 + ;; code offset: 0x3d9 (i32.gt_s - ;; code offset: 0x3fe + ;; code offset: 0x3d5 (local.tee $4 - ;; code offset: 0x3fc + ;; code offset: 0x3d3 (call $atoi - ;; code offset: 0x3f8 + ;; code offset: 0x3d0 (i32.load $mimport$0 offset=4 - ;; code offset: 0x3f6 + ;; code offset: 0x3ce (local.get $1) ) ) ) - ;; code offset: 0x400 + ;; code offset: 0x3d7 (i32.const 0) ) ) ) - ;; code offset: 0x40b + ;; code offset: 0x3e2 (drop - ;; code offset: 0x409 + ;; code offset: 0x3e0 (call $puts - ;; code offset: 0x406 + ;; code offset: 0x3dd (i32.const 1050) ) ) - ;; code offset: 0x40e + ;; code offset: 0x3e5 (local.set $5 - ;; code offset: 0x40c + ;; code offset: 0x3e3 (i32.const 1) ) - ;; code offset: 0x410 + ;; code offset: 0x3e7 (br $label$1) ) - ;; code offset: 0x413 + ;; code offset: 0x3ea (block $label$4 - ;; code offset: 0x41a + ;; code offset: 0x3f1 (br_if $label$4 - ;; code offset: 0x419 + ;; code offset: 0x3f0 (i32.eq - ;; code offset: 0x415 + ;; code offset: 0x3ec (local.get $4) - ;; code offset: 0x417 + ;; code offset: 0x3ee (i32.const 1) ) ) - ;; code offset: 0x421 + ;; code offset: 0x3f8 (local.set $6 - ;; code offset: 0x420 + ;; code offset: 0x3f7 (i32.add - ;; code offset: 0x41c + ;; code offset: 0x3f3 (local.get $4) - ;; code offset: 0x41e + ;; code offset: 0x3f5 (i32.const -1) ) ) - ;; code offset: 0x425 + ;; code offset: 0x3fc (local.set $1 - ;; code offset: 0x423 + ;; code offset: 0x3fa (i32.const 0) ) - ;; code offset: 0x429 + ;; code offset: 0x400 (local.set $0 - ;; code offset: 0x427 + ;; code offset: 0x3fe (i32.const 0) ) - ;; code offset: 0x42b + ;; code offset: 0x402 (loop $label$5 - ;; code offset: 0x435 + ;; code offset: 0x40c (i32.store $mimport$0 offset=8 - ;; code offset: 0x431 + ;; code offset: 0x408 (local.tee $3 - ;; code offset: 0x42f + ;; code offset: 0x406 (call $malloc - ;; code offset: 0x42d + ;; code offset: 0x404 (i32.const 12) ) ) - ;; code offset: 0x433 + ;; code offset: 0x40a (local.get $1) ) - ;; code offset: 0x43d + ;; code offset: 0x413 (i32.store $mimport$0 offset=4 - ;; code offset: 0x439 + ;; code offset: 0x40f (local.get $3) - ;; code offset: 0x43b + ;; code offset: 0x411 (local.get $4) ) - ;; code offset: 0x445 + ;; code offset: 0x41a (i32.store $mimport$0 - ;; code offset: 0x441 + ;; code offset: 0x416 (local.get $3) - ;; code offset: 0x443 + ;; code offset: 0x418 (local.get $0) ) - ;; code offset: 0x44b + ;; code offset: 0x41f (local.set $1 - ;; code offset: 0x449 + ;; code offset: 0x41d (local.get $3) ) - ;; code offset: 0x457 + ;; code offset: 0x42b (br_if $label$5 - ;; code offset: 0x456 + ;; code offset: 0x42a (i32.ne - ;; code offset: 0x452 + ;; code offset: 0x426 (local.tee $0 - ;; code offset: 0x451 + ;; code offset: 0x425 (i32.add - ;; code offset: 0x44d + ;; code offset: 0x421 (local.get $0) - ;; code offset: 0x44f + ;; code offset: 0x423 (i32.const 1) ) ) - ;; code offset: 0x454 + ;; code offset: 0x428 (local.get $6) ) ) ) ) - ;; code offset: 0x45d + ;; code offset: 0x431 (local.set $0 - ;; code offset: 0x45b + ;; code offset: 0x42f (i32.const 0) ) - ;; code offset: 0x468 + ;; code offset: 0x43c (local.set $1 - ;; code offset: 0x466 + ;; code offset: 0x43a (call $malloc - ;; code offset: 0x464 + ;; code offset: 0x438 (local.tee $6 - ;; code offset: 0x463 + ;; code offset: 0x437 (i32.shl - ;; code offset: 0x45f + ;; code offset: 0x433 (local.get $4) - ;; code offset: 0x461 + ;; code offset: 0x435 (i32.const 2) ) ) ) ) - ;; code offset: 0x46e + ;; code offset: 0x442 (local.set $5 - ;; code offset: 0x46c + ;; code offset: 0x440 (call $malloc - ;; code offset: 0x46a + ;; code offset: 0x43e (local.get $6) ) ) - ;; code offset: 0x470 + ;; code offset: 0x444 (block $label$6 (block $label$7 (block $label$8 (block $label$9 - ;; code offset: 0x47d + ;; code offset: 0x451 (br_if $label$9 - ;; code offset: 0x47c + ;; code offset: 0x450 (i32.le_s - ;; code offset: 0x478 + ;; code offset: 0x44c (local.get $4) - ;; code offset: 0x47a + ;; code offset: 0x44e (i32.const 0) ) ) - ;; code offset: 0x47f + ;; code offset: 0x453 (loop $label$10 - ;; code offset: 0x48b + ;; code offset: 0x45f (i32.store $mimport$0 - ;; code offset: 0x488 + ;; code offset: 0x45c (i32.add - ;; code offset: 0x481 + ;; code offset: 0x455 (local.get $1) - ;; code offset: 0x487 + ;; code offset: 0x45b (i32.shl - ;; code offset: 0x483 + ;; code offset: 0x457 (local.get $0) - ;; code offset: 0x485 + ;; code offset: 0x459 (i32.const 2) ) ) - ;; code offset: 0x489 + ;; code offset: 0x45d (local.get $0) ) - ;; code offset: 0x499 + ;; code offset: 0x46c (br_if $label$10 - ;; code offset: 0x498 + ;; code offset: 0x46b (i32.ne - ;; code offset: 0x494 + ;; code offset: 0x467 (local.tee $0 - ;; code offset: 0x493 + ;; code offset: 0x466 (i32.add - ;; code offset: 0x48f + ;; code offset: 0x462 (local.get $0) - ;; code offset: 0x491 + ;; code offset: 0x464 (i32.const 1) ) ) - ;; code offset: 0x496 + ;; code offset: 0x469 (local.get $4) ) ) ) - ;; code offset: 0x49e + ;; code offset: 0x471 (local.set $7 - ;; code offset: 0x49c + ;; code offset: 0x46f (i32.const 30) ) - ;; code offset: 0x4a2 + ;; code offset: 0x475 (local.set $6 - ;; code offset: 0x4a0 + ;; code offset: 0x473 (local.get $4) ) - ;; code offset: 0x4a4 + ;; code offset: 0x477 (br $label$8) ) - ;; code offset: 0x4a9 + ;; code offset: 0x47c (local.set $7 - ;; code offset: 0x4a7 + ;; code offset: 0x47a (i32.const 30) ) - ;; code offset: 0x4ad + ;; code offset: 0x480 (local.set $6 - ;; code offset: 0x4ab + ;; code offset: 0x47e (local.get $4) ) - ;; code offset: 0x4af + ;; code offset: 0x482 (br $label$7) ) - ;; code offset: 0x4b2 + ;; code offset: 0x485 (loop $label$11 - ;; code offset: 0x4b6 + ;; code offset: 0x489 (local.set $0 - ;; code offset: 0x4b4 + ;; code offset: 0x487 (i32.const 0) ) - ;; code offset: 0x4b8 + ;; code offset: 0x48b (loop $label$12 - ;; code offset: 0x4cb + ;; code offset: 0x49d (i32.store $mimport$0 offset=16 - ;; code offset: 0x4ba + ;; code offset: 0x48d (local.get $2) - ;; code offset: 0x4ca + ;; code offset: 0x49c (i32.add - ;; code offset: 0x4c4 + ;; code offset: 0x497 (i32.load $mimport$0 - ;; code offset: 0x4c3 + ;; code offset: 0x496 (i32.add - ;; code offset: 0x4bc + ;; code offset: 0x48f (local.get $1) - ;; code offset: 0x4c2 + ;; code offset: 0x495 (i32.shl - ;; code offset: 0x4be + ;; code offset: 0x491 (local.get $0) - ;; code offset: 0x4c0 + ;; code offset: 0x493 (i32.const 2) ) ) ) - ;; code offset: 0x4c8 + ;; code offset: 0x49a (i32.const 1) ) ) - ;; code offset: 0x4d9 + ;; code offset: 0x4aa (drop - ;; code offset: 0x4d7 + ;; code offset: 0x4a8 (call $iprintf - ;; code offset: 0x4cf + ;; code offset: 0x4a0 (i32.const 1047) - ;; code offset: 0x4d6 + ;; code offset: 0x4a7 (i32.add - ;; code offset: 0x4d2 + ;; code offset: 0x4a3 (local.get $2) - ;; code offset: 0x4d4 + ;; code offset: 0x4a5 (i32.const 16) ) ) ) - ;; code offset: 0x4e4 + ;; code offset: 0x4b5 (br_if $label$12 - ;; code offset: 0x4e3 + ;; code offset: 0x4b4 (i32.ne - ;; code offset: 0x4df + ;; code offset: 0x4b0 (local.tee $0 - ;; code offset: 0x4de + ;; code offset: 0x4af (i32.add - ;; code offset: 0x4da + ;; code offset: 0x4ab (local.get $0) - ;; code offset: 0x4dc + ;; code offset: 0x4ad (i32.const 1) ) ) - ;; code offset: 0x4e1 + ;; code offset: 0x4b2 (local.get $4) ) ) ) - ;; code offset: 0x4eb + ;; code offset: 0x4bc (drop - ;; code offset: 0x4e9 + ;; code offset: 0x4ba (call $putchar - ;; code offset: 0x4e7 + ;; code offset: 0x4b8 (i32.const 10) ) ) - ;; code offset: 0x4ec + ;; code offset: 0x4bd (block $label$13 - ;; code offset: 0x4f3 + ;; code offset: 0x4c4 (br_if $label$13 - ;; code offset: 0x4f2 + ;; code offset: 0x4c3 (i32.le_s - ;; code offset: 0x4ee + ;; code offset: 0x4bf (local.get $6) - ;; code offset: 0x4f0 + ;; code offset: 0x4c1 (i32.const 1) ) ) - ;; code offset: 0x4f5 + ;; code offset: 0x4c6 (loop $label$14 - ;; code offset: 0x506 + ;; code offset: 0x4d7 (i32.store $mimport$0 - ;; code offset: 0x503 + ;; code offset: 0x4d4 (i32.add - ;; code offset: 0x4f7 + ;; code offset: 0x4c8 (local.get $5) - ;; code offset: 0x502 + ;; code offset: 0x4d3 (i32.shl - ;; code offset: 0x4fe + ;; code offset: 0x4cf (local.tee $0 - ;; code offset: 0x4fd + ;; code offset: 0x4ce (i32.add - ;; code offset: 0x4f9 + ;; code offset: 0x4ca (local.get $6) - ;; code offset: 0x4fb + ;; code offset: 0x4cc (i32.const -1) ) ) - ;; code offset: 0x500 + ;; code offset: 0x4d1 (i32.const 2) ) ) - ;; code offset: 0x504 + ;; code offset: 0x4d5 (local.get $6) ) - ;; code offset: 0x50f + ;; code offset: 0x4df (local.set $8 - ;; code offset: 0x50e + ;; code offset: 0x4de (i32.gt_s - ;; code offset: 0x50a + ;; code offset: 0x4da (local.get $6) - ;; code offset: 0x50c + ;; code offset: 0x4dc (i32.const 2) ) ) - ;; code offset: 0x513 + ;; code offset: 0x4e3 (local.set $6 - ;; code offset: 0x511 + ;; code offset: 0x4e1 (local.get $0) ) - ;; code offset: 0x517 + ;; code offset: 0x4e7 (br_if $label$14 - ;; code offset: 0x515 + ;; code offset: 0x4e5 (local.get $8) ) ) ) - ;; code offset: 0x520 + ;; code offset: 0x4f0 (br_if $label$6 - ;; code offset: 0x51f + ;; code offset: 0x4ef (i32.eq - ;; code offset: 0x51b + ;; code offset: 0x4eb (local.get $6) - ;; code offset: 0x51d + ;; code offset: 0x4ed (local.get $4) ) ) - ;; code offset: 0x527 + ;; code offset: 0x4f7 (local.set $7 - ;; code offset: 0x526 + ;; code offset: 0x4f6 (i32.add - ;; code offset: 0x522 + ;; code offset: 0x4f2 (local.get $7) - ;; code offset: 0x524 + ;; code offset: 0x4f4 (i32.const -1) ) ) - ;; code offset: 0x529 + ;; code offset: 0x4f9 (loop $label$15 - ;; code offset: 0x52d + ;; code offset: 0x4fd (local.set $0 - ;; code offset: 0x52b + ;; code offset: 0x4fb (i32.const 0) ) - ;; code offset: 0x535 + ;; code offset: 0x504 (local.set $8 - ;; code offset: 0x531 + ;; code offset: 0x501 (i32.load $mimport$0 - ;; code offset: 0x52f + ;; code offset: 0x4ff (local.get $1) ) ) - ;; code offset: 0x537 + ;; code offset: 0x506 (block $label$16 - ;; code offset: 0x53e + ;; code offset: 0x50d (br_if $label$16 - ;; code offset: 0x53d + ;; code offset: 0x50c (i32.le_s - ;; code offset: 0x539 + ;; code offset: 0x508 (local.get $6) - ;; code offset: 0x53b + ;; code offset: 0x50a (i32.const 0) ) ) - ;; code offset: 0x540 + ;; code offset: 0x50f (loop $label$17 - ;; code offset: 0x55b + ;; code offset: 0x529 (i32.store $mimport$0 - ;; code offset: 0x549 + ;; code offset: 0x518 (i32.add - ;; code offset: 0x542 + ;; code offset: 0x511 (local.get $1) - ;; code offset: 0x548 + ;; code offset: 0x517 (i32.shl - ;; code offset: 0x544 + ;; code offset: 0x513 (local.get $0) - ;; code offset: 0x546 + ;; code offset: 0x515 (i32.const 2) ) ) - ;; code offset: 0x557 + ;; code offset: 0x526 (i32.load $mimport$0 - ;; code offset: 0x556 + ;; code offset: 0x525 (i32.add - ;; code offset: 0x54a + ;; code offset: 0x519 (local.get $1) - ;; code offset: 0x555 + ;; code offset: 0x524 (i32.shl - ;; code offset: 0x551 + ;; code offset: 0x520 (local.tee $0 - ;; code offset: 0x550 + ;; code offset: 0x51f (i32.add - ;; code offset: 0x54c + ;; code offset: 0x51b (local.get $0) - ;; code offset: 0x54e + ;; code offset: 0x51d (i32.const 1) ) ) - ;; code offset: 0x553 + ;; code offset: 0x522 (i32.const 2) ) ) ) ) - ;; code offset: 0x564 + ;; code offset: 0x531 (br_if $label$17 - ;; code offset: 0x563 + ;; code offset: 0x530 (i32.ne - ;; code offset: 0x55f + ;; code offset: 0x52c (local.get $0) - ;; code offset: 0x561 + ;; code offset: 0x52e (local.get $6) ) ) ) - ;; code offset: 0x569 + ;; code offset: 0x536 (local.set $0 - ;; code offset: 0x567 + ;; code offset: 0x534 (local.get $6) ) ) - ;; code offset: 0x576 + ;; code offset: 0x543 (i32.store $mimport$0 - ;; code offset: 0x573 + ;; code offset: 0x540 (i32.add - ;; code offset: 0x56c + ;; code offset: 0x539 (local.get $1) - ;; code offset: 0x572 + ;; code offset: 0x53f (i32.shl - ;; code offset: 0x56e + ;; code offset: 0x53b (local.get $0) - ;; code offset: 0x570 + ;; code offset: 0x53d (i32.const 2) ) ) - ;; code offset: 0x574 + ;; code offset: 0x541 (local.get $8) ) - ;; code offset: 0x58f + ;; code offset: 0x55a (i32.store $mimport$0 - ;; code offset: 0x582 + ;; code offset: 0x54e (local.tee $0 - ;; code offset: 0x581 + ;; code offset: 0x54d (i32.add - ;; code offset: 0x57a + ;; code offset: 0x546 (local.get $5) - ;; code offset: 0x580 + ;; code offset: 0x54c (i32.shl - ;; code offset: 0x57c + ;; code offset: 0x548 (local.get $6) - ;; code offset: 0x57e + ;; code offset: 0x54a (i32.const 2) ) ) ) - ;; code offset: 0x58e + ;; code offset: 0x559 (i32.add - ;; code offset: 0x58a + ;; code offset: 0x555 (local.tee $0 - ;; code offset: 0x586 + ;; code offset: 0x552 (i32.load $mimport$0 - ;; code offset: 0x584 + ;; code offset: 0x550 (local.get $0) ) ) - ;; code offset: 0x58c + ;; code offset: 0x557 (i32.const -1) ) ) - ;; code offset: 0x593 + ;; code offset: 0x55d (block $label$18 - ;; code offset: 0x59a + ;; code offset: 0x564 (br_if $label$18 - ;; code offset: 0x599 + ;; code offset: 0x563 (i32.gt_s - ;; code offset: 0x595 + ;; code offset: 0x55f (local.get $0) - ;; code offset: 0x597 + ;; code offset: 0x561 (i32.const 1) ) ) - ;; code offset: 0x5a6 + ;; code offset: 0x570 (br_if $label$15 - ;; code offset: 0x5a5 + ;; code offset: 0x56f (i32.ne - ;; code offset: 0x5a1 + ;; code offset: 0x56b (local.tee $6 - ;; code offset: 0x5a0 + ;; code offset: 0x56a (i32.add - ;; code offset: 0x59c + ;; code offset: 0x566 (local.get $6) - ;; code offset: 0x59e + ;; code offset: 0x568 (i32.const 1) ) ) - ;; code offset: 0x5a3 + ;; code offset: 0x56d (local.get $4) ) ) - ;; code offset: 0x5a8 + ;; code offset: 0x572 (br $label$6) ) ) - ;; code offset: 0x5af + ;; code offset: 0x579 (br_if $label$6 - ;; code offset: 0x5ae + ;; code offset: 0x578 (i32.eqz - ;; code offset: 0x5ac + ;; code offset: 0x576 (local.get $7) ) ) - ;; code offset: 0x5b1 + ;; code offset: 0x57b (br $label$11) ) ) - ;; code offset: 0x5b6 + ;; code offset: 0x580 (loop $label$19 - ;; code offset: 0x5bc + ;; code offset: 0x586 (drop - ;; code offset: 0x5ba + ;; code offset: 0x584 (call $putchar - ;; code offset: 0x5b8 + ;; code offset: 0x582 (i32.const 10) ) ) - ;; code offset: 0x5bd + ;; code offset: 0x587 (block $label$20 - ;; code offset: 0x5c4 + ;; code offset: 0x58e (br_if $label$20 - ;; code offset: 0x5c3 + ;; code offset: 0x58d (i32.le_s - ;; code offset: 0x5bf + ;; code offset: 0x589 (local.get $6) - ;; code offset: 0x5c1 + ;; code offset: 0x58b (i32.const 1) ) ) - ;; code offset: 0x5c6 + ;; code offset: 0x590 (loop $label$21 - ;; code offset: 0x5d7 + ;; code offset: 0x5a1 (i32.store $mimport$0 - ;; code offset: 0x5d4 + ;; code offset: 0x59e (i32.add - ;; code offset: 0x5c8 + ;; code offset: 0x592 (local.get $5) - ;; code offset: 0x5d3 + ;; code offset: 0x59d (i32.shl - ;; code offset: 0x5cf + ;; code offset: 0x599 (local.tee $0 - ;; code offset: 0x5ce + ;; code offset: 0x598 (i32.add - ;; code offset: 0x5ca + ;; code offset: 0x594 (local.get $6) - ;; code offset: 0x5cc + ;; code offset: 0x596 (i32.const -1) ) ) - ;; code offset: 0x5d1 + ;; code offset: 0x59b (i32.const 2) ) ) - ;; code offset: 0x5d5 + ;; code offset: 0x59f (local.get $6) ) - ;; code offset: 0x5e0 + ;; code offset: 0x5a9 (local.set $8 - ;; code offset: 0x5df + ;; code offset: 0x5a8 (i32.gt_s - ;; code offset: 0x5db + ;; code offset: 0x5a4 (local.get $6) - ;; code offset: 0x5dd + ;; code offset: 0x5a6 (i32.const 2) ) ) - ;; code offset: 0x5e4 + ;; code offset: 0x5ad (local.set $6 - ;; code offset: 0x5e2 + ;; code offset: 0x5ab (local.get $0) ) - ;; code offset: 0x5e8 + ;; code offset: 0x5b1 (br_if $label$21 - ;; code offset: 0x5e6 + ;; code offset: 0x5af (local.get $8) ) ) ) - ;; code offset: 0x5f1 + ;; code offset: 0x5ba (br_if $label$6 - ;; code offset: 0x5f0 + ;; code offset: 0x5b9 (i32.eq - ;; code offset: 0x5ec + ;; code offset: 0x5b5 (local.get $6) - ;; code offset: 0x5ee + ;; code offset: 0x5b7 (local.get $4) ) ) - ;; code offset: 0x5f8 + ;; code offset: 0x5c1 (local.set $7 - ;; code offset: 0x5f7 + ;; code offset: 0x5c0 (i32.add - ;; code offset: 0x5f3 + ;; code offset: 0x5bc (local.get $7) - ;; code offset: 0x5f5 + ;; code offset: 0x5be (i32.const -1) ) ) - ;; code offset: 0x5fa + ;; code offset: 0x5c3 (loop $label$22 - ;; code offset: 0x602 + ;; code offset: 0x5ca (local.set $8 - ;; code offset: 0x5fe + ;; code offset: 0x5c7 (i32.load $mimport$0 - ;; code offset: 0x5fc + ;; code offset: 0x5c5 (local.get $1) ) ) - ;; code offset: 0x606 + ;; code offset: 0x5ce (local.set $0 - ;; code offset: 0x604 + ;; code offset: 0x5cc (i32.const 0) ) - ;; code offset: 0x608 + ;; code offset: 0x5d0 (block $label$23 - ;; code offset: 0x60f + ;; code offset: 0x5d7 (br_if $label$23 - ;; code offset: 0x60e + ;; code offset: 0x5d6 (i32.lt_s - ;; code offset: 0x60a + ;; code offset: 0x5d2 (local.get $6) - ;; code offset: 0x60c + ;; code offset: 0x5d4 (i32.const 1) ) ) - ;; code offset: 0x611 + ;; code offset: 0x5d9 (loop $label$24 - ;; code offset: 0x62c + ;; code offset: 0x5f3 (i32.store $mimport$0 - ;; code offset: 0x61a + ;; code offset: 0x5e2 (i32.add - ;; code offset: 0x613 + ;; code offset: 0x5db (local.get $1) - ;; code offset: 0x619 + ;; code offset: 0x5e1 (i32.shl - ;; code offset: 0x615 + ;; code offset: 0x5dd (local.get $0) - ;; code offset: 0x617 + ;; code offset: 0x5df (i32.const 2) ) ) - ;; code offset: 0x628 + ;; code offset: 0x5f0 (i32.load $mimport$0 - ;; code offset: 0x627 + ;; code offset: 0x5ef (i32.add - ;; code offset: 0x61b + ;; code offset: 0x5e3 (local.get $1) - ;; code offset: 0x626 + ;; code offset: 0x5ee (i32.shl - ;; code offset: 0x622 + ;; code offset: 0x5ea (local.tee $0 - ;; code offset: 0x621 + ;; code offset: 0x5e9 (i32.add - ;; code offset: 0x61d + ;; code offset: 0x5e5 (local.get $0) - ;; code offset: 0x61f + ;; code offset: 0x5e7 (i32.const 1) ) ) - ;; code offset: 0x624 + ;; code offset: 0x5ec (i32.const 2) ) ) ) ) - ;; code offset: 0x635 + ;; code offset: 0x5fb (br_if $label$24 - ;; code offset: 0x634 + ;; code offset: 0x5fa (i32.ne - ;; code offset: 0x630 + ;; code offset: 0x5f6 (local.get $0) - ;; code offset: 0x632 + ;; code offset: 0x5f8 (local.get $6) ) ) ) - ;; code offset: 0x63a + ;; code offset: 0x600 (local.set $0 - ;; code offset: 0x638 + ;; code offset: 0x5fe (local.get $6) ) ) - ;; code offset: 0x647 + ;; code offset: 0x60d (i32.store $mimport$0 - ;; code offset: 0x644 + ;; code offset: 0x60a (i32.add - ;; code offset: 0x63d + ;; code offset: 0x603 (local.get $1) - ;; code offset: 0x643 + ;; code offset: 0x609 (i32.shl - ;; code offset: 0x63f + ;; code offset: 0x605 (local.get $0) - ;; code offset: 0x641 + ;; code offset: 0x607 (i32.const 2) ) ) - ;; code offset: 0x645 + ;; code offset: 0x60b (local.get $8) ) - ;; code offset: 0x660 + ;; code offset: 0x624 (i32.store $mimport$0 - ;; code offset: 0x653 + ;; code offset: 0x618 (local.tee $0 - ;; code offset: 0x652 + ;; code offset: 0x617 (i32.add - ;; code offset: 0x64b + ;; code offset: 0x610 (local.get $5) - ;; code offset: 0x651 + ;; code offset: 0x616 (i32.shl - ;; code offset: 0x64d + ;; code offset: 0x612 (local.get $6) - ;; code offset: 0x64f + ;; code offset: 0x614 (i32.const 2) ) ) ) - ;; code offset: 0x65f + ;; code offset: 0x623 (i32.add - ;; code offset: 0x65b + ;; code offset: 0x61f (local.tee $0 - ;; code offset: 0x657 + ;; code offset: 0x61c (i32.load $mimport$0 - ;; code offset: 0x655 + ;; code offset: 0x61a (local.get $0) ) ) - ;; code offset: 0x65d + ;; code offset: 0x621 (i32.const -1) ) ) - ;; code offset: 0x664 + ;; code offset: 0x627 (block $label$25 - ;; code offset: 0x66b + ;; code offset: 0x62e (br_if $label$25 - ;; code offset: 0x66a + ;; code offset: 0x62d (i32.gt_s - ;; code offset: 0x666 + ;; code offset: 0x629 (local.get $0) - ;; code offset: 0x668 + ;; code offset: 0x62b (i32.const 1) ) ) - ;; code offset: 0x677 + ;; code offset: 0x63a (br_if $label$22 - ;; code offset: 0x676 + ;; code offset: 0x639 (i32.ne - ;; code offset: 0x672 + ;; code offset: 0x635 (local.tee $6 - ;; code offset: 0x671 + ;; code offset: 0x634 (i32.add - ;; code offset: 0x66d + ;; code offset: 0x630 (local.get $6) - ;; code offset: 0x66f + ;; code offset: 0x632 (i32.const 1) ) ) - ;; code offset: 0x674 + ;; code offset: 0x637 (local.get $4) ) ) - ;; code offset: 0x679 + ;; code offset: 0x63c (br $label$6) ) ) - ;; code offset: 0x67f + ;; code offset: 0x642 (br_if $label$19 - ;; code offset: 0x67d + ;; code offset: 0x640 (local.get $7) ) ) ) - ;; code offset: 0x685 + ;; code offset: 0x648 (call $free - ;; code offset: 0x683 + ;; code offset: 0x646 (local.get $1) ) - ;; code offset: 0x689 + ;; code offset: 0x64c (call $free - ;; code offset: 0x687 + ;; code offset: 0x64a (local.get $5) ) - ;; code offset: 0x68d + ;; code offset: 0x650 (local.set $5 - ;; code offset: 0x68b + ;; code offset: 0x64e (i32.const 0) ) - ;; code offset: 0x691 + ;; code offset: 0x654 (local.set $0 - ;; code offset: 0x68f + ;; code offset: 0x652 (i32.const 0) ) - ;; code offset: 0x693 + ;; code offset: 0x656 (block $label$26 - ;; code offset: 0x698 + ;; code offset: 0x65b (br_if $label$26 - ;; code offset: 0x697 + ;; code offset: 0x65a (i32.eqz - ;; code offset: 0x695 + ;; code offset: 0x658 (local.get $3) ) ) - ;; code offset: 0x69c + ;; code offset: 0x65f (local.set $0 - ;; code offset: 0x69a + ;; code offset: 0x65d (i32.const 0) ) - ;; code offset: 0x69e + ;; code offset: 0x661 (loop $label$27 - ;; code offset: 0x6a4 + ;; code offset: 0x667 (local.set $1 - ;; code offset: 0x6a2 + ;; code offset: 0x665 (call $fannkuch_worker\28void*\29 - ;; code offset: 0x6a0 + ;; code offset: 0x663 (local.get $3) ) ) - ;; code offset: 0x6ac + ;; code offset: 0x66e (local.set $6 - ;; code offset: 0x6a8 + ;; code offset: 0x66b (i32.load $mimport$0 offset=8 - ;; code offset: 0x6a6 + ;; code offset: 0x669 (local.get $3) ) ) - ;; code offset: 0x6b0 + ;; code offset: 0x672 (call $free - ;; code offset: 0x6ae + ;; code offset: 0x670 (local.get $3) ) - ;; code offset: 0x6bc + ;; code offset: 0x67e (local.set $0 - ;; code offset: 0x6bb + ;; code offset: 0x67d (select - ;; code offset: 0x6b2 + ;; code offset: 0x674 (local.get $1) - ;; code offset: 0x6b4 + ;; code offset: 0x676 (local.get $0) - ;; code offset: 0x6ba + ;; code offset: 0x67c (i32.lt_s - ;; code offset: 0x6b6 + ;; code offset: 0x678 (local.get $0) - ;; code offset: 0x6b8 + ;; code offset: 0x67a (local.get $1) ) ) ) - ;; code offset: 0x6c0 + ;; code offset: 0x682 (local.set $3 - ;; code offset: 0x6be + ;; code offset: 0x680 (local.get $6) ) - ;; code offset: 0x6c4 + ;; code offset: 0x686 (br_if $label$27 - ;; code offset: 0x6c2 + ;; code offset: 0x684 (local.get $6) ) ) ) - ;; code offset: 0x6cc + ;; code offset: 0x68e (i32.store $mimport$0 offset=4 - ;; code offset: 0x6c8 + ;; code offset: 0x68a (local.get $2) - ;; code offset: 0x6ca + ;; code offset: 0x68c (local.get $0) ) - ;; code offset: 0x6d4 + ;; code offset: 0x695 (i32.store $mimport$0 - ;; code offset: 0x6d0 + ;; code offset: 0x691 (local.get $2) - ;; code offset: 0x6d2 + ;; code offset: 0x693 (local.get $4) ) - ;; code offset: 0x6df + ;; code offset: 0x69f (drop - ;; code offset: 0x6dd + ;; code offset: 0x69d (call $iprintf - ;; code offset: 0x6d8 + ;; code offset: 0x698 (i32.const 1024) - ;; code offset: 0x6db + ;; code offset: 0x69b (local.get $2) ) ) ) - ;; code offset: 0x6e6 + ;; code offset: 0x6a6 (global.set $global$0 - ;; code offset: 0x6e5 + ;; code offset: 0x6a5 (i32.add - ;; code offset: 0x6e1 + ;; code offset: 0x6a1 (local.get $2) - ;; code offset: 0x6e3 + ;; code offset: 0x6a3 (i32.const 32) ) ) - ;; code offset: 0x6e8 + ;; code offset: 0x6a8 (local.get $5) ) ;; custom section ".debug_info", size 851 diff --git a/test/passes/fannkuch3_manyopts_dwarf.bin.txt b/test/passes/fannkuch3_manyopts_dwarf.bin.txt index 1b721edd7cb..3c9fded9657 100644 --- a/test/passes/fannkuch3_manyopts_dwarf.bin.txt +++ b/test/passes/fannkuch3_manyopts_dwarf.bin.txt @@ -2469,8 +2469,8 @@ Abbrev table for offset: 0x00000000 DW_AT_comp_dir [DW_FORM_strp] ( .debug_str[0x000000a9] = "/usr/local/google/home/azakai/Dev/2-binaryen") DW_AT_low_pc [DW_FORM_addr] (0x0000000000000000) DW_AT_ranges [DW_FORM_sec_offset] (0x00000040 - [0x00000007, 0x000003b2) - [0x000003b4, 0x000006b3)) + [0x00000007, 0x0000038a) + [0x0000038c, 0x00000673)) 0x00000026: DW_TAG_pointer_type [2] DW_AT_type [DW_FORM_ref4] (cu + 0x002b => {0x0000002b} "worker_args") @@ -2534,7 +2534,7 @@ Abbrev table for offset: 0x00000000 0x00000082: DW_TAG_subprogram [10] * DW_AT_low_pc [DW_FORM_addr] (0x0000000000000007) - DW_AT_high_pc [DW_FORM_data4] (0x000003ab) + DW_AT_high_pc [DW_FORM_data4] (0x00000383) DW_AT_frame_base [DW_FORM_exprloc] (DW_OP_WASM_location 0x1 +0, DW_OP_stack_value) DW_AT_GNU_all_call_sites [DW_FORM_flag_present] (true) DW_AT_linkage_name [DW_FORM_strp] ( .debug_str[0x00000166] = "_Z15fannkuch_workerPv") @@ -2569,13 +2569,13 @@ Abbrev table for offset: 0x00000000 DW_AT_location [DW_FORM_sec_offset] (0x0000001d: [0xffffffff, 0x00000028): [0x00000001, 0x00000001): DW_OP_consts +0, DW_OP_stack_value - [0x0000003f, 0x00000044): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value + [0x0000003d, 0x00000042): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value [0x00000001, 0x00000001): DW_OP_consts +1, DW_OP_stack_value - [0x0000011d, 0x00000127): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value + [0x00000110, 0x0000011a): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value [0x00000001, 0x00000001): DW_OP_consts +0, DW_OP_stack_value - [0x00000258, 0x00000264): DW_OP_consts +0, DW_OP_stack_value + [0x0000023d, 0x00000248): DW_OP_consts +0, DW_OP_stack_value [0x00000001, 0x00000001): DW_OP_consts +1, DW_OP_stack_value - [0x000002b1, 0x000002bb): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value + [0x00000291, 0x0000029b): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value [0x00000001, 0x00000001): DW_OP_consts +0, DW_OP_stack_value) DW_AT_name [DW_FORM_strp] ( .debug_str[0x000000d6] = "i") DW_AT_decl_file [DW_FORM_data1] ("/usr/local/google/home/azakai/Dev/emscripten/tests/fannkuch.cpp") @@ -2584,7 +2584,7 @@ Abbrev table for offset: 0x00000000 0x000000d2: DW_TAG_variable [13] DW_AT_location [DW_FORM_sec_offset] (0x000000a5: - [0xffffffff, 0x00000030): + [0xffffffff, 0x0000002f): [0x00000001, 0x00000001): DW_OP_WASM_location 0x0 +2, DW_OP_stack_value) DW_AT_name [DW_FORM_strp] ( .debug_str[0x000000dc] = "n") DW_AT_decl_file [DW_FORM_data1] ("/usr/local/google/home/azakai/Dev/emscripten/tests/fannkuch.cpp") @@ -2593,7 +2593,7 @@ Abbrev table for offset: 0x00000000 0x000000e1: DW_TAG_variable [13] DW_AT_location [DW_FORM_sec_offset] (0x000000c3: - [0xffffffff, 0x00000039): + [0xffffffff, 0x00000038): [0x00000001, 0x00000001): DW_OP_WASM_location 0x0 +4, DW_OP_stack_value) DW_AT_name [DW_FORM_strp] ( .debug_str[0x0000013e] = "perm1") DW_AT_decl_file [DW_FORM_data1] ("/usr/local/google/home/azakai/Dev/emscripten/tests/fannkuch.cpp") @@ -2602,7 +2602,7 @@ Abbrev table for offset: 0x00000000 0x000000f0: DW_TAG_variable [13] DW_AT_location [DW_FORM_sec_offset] (0x000000e1: - [0xffffffff, 0x0000003f): + [0xffffffff, 0x0000003e): [0x00000001, 0x00000001): DW_OP_WASM_location 0x0 +5, DW_OP_stack_value) DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000196] = "perm") DW_AT_decl_file [DW_FORM_data1] ("/usr/local/google/home/azakai/Dev/emscripten/tests/fannkuch.cpp") @@ -2611,7 +2611,7 @@ Abbrev table for offset: 0x00000000 0x000000ff: DW_TAG_variable [13] DW_AT_location [DW_FORM_sec_offset] (0x000000ff: - [0xffffffff, 0x00000045): + [0xffffffff, 0x00000044): [0x00000001, 0x00000001): DW_OP_WASM_location 0x0 +6, DW_OP_stack_value) DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000144] = "count") DW_AT_decl_file [DW_FORM_data1] ("/usr/local/google/home/azakai/Dev/emscripten/tests/fannkuch.cpp") @@ -2620,9 +2620,9 @@ Abbrev table for offset: 0x00000000 0x0000010e: DW_TAG_variable [13] DW_AT_location [DW_FORM_sec_offset] (0x0000011d: - [0xffffffff, 0x000001fb): + [0xffffffff, 0x000001e7): [0x00000000, 0x00000005): DW_OP_WASM_location 0x0 +2, DW_OP_stack_value - [0x00000194, 0x00000199): DW_OP_WASM_location 0x0 +2, DW_OP_stack_value) + [0x00000181, 0x00000186): DW_OP_WASM_location 0x0 +2, DW_OP_stack_value) DW_AT_name [DW_FORM_strp] ( .debug_str[0x0000014a] = "r") DW_AT_decl_file [DW_FORM_data1] ("/usr/local/google/home/azakai/Dev/emscripten/tests/fannkuch.cpp") DW_AT_decl_line [DW_FORM_data1] (30) @@ -2630,13 +2630,13 @@ Abbrev table for offset: 0x00000000 0x0000011d: DW_TAG_variable [13] DW_AT_location [DW_FORM_sec_offset] (0x00000149: - [0xffffffff, 0x000000e4): - [0x00000000, 0x00000014): DW_OP_consts +0, DW_OP_stack_value + [0xffffffff, 0x000000dc): + [0x00000000, 0x00000013): DW_OP_consts +0, DW_OP_stack_value [0x00000001, 0x00000001): DW_OP_WASM_location 0x0 +13, DW_OP_stack_value - [0x0000008c, 0x00000094): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value - [0x0000019c, 0x000001a8): DW_OP_consts +0, DW_OP_stack_value + [0x00000085, 0x0000008d): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value + [0x00000189, 0x00000194): DW_OP_consts +0, DW_OP_stack_value [0x00000001, 0x00000001): DW_OP_WASM_location 0x0 +10, DW_OP_stack_value - [0x00000220, 0x00000228): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value) + [0x00000206, 0x0000020e): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value) DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000155] = "flips") DW_AT_decl_file [DW_FORM_data1] ("/usr/local/google/home/azakai/Dev/emscripten/tests/fannkuch.cpp") DW_AT_decl_line [DW_FORM_data1] (30) @@ -2644,9 +2644,9 @@ Abbrev table for offset: 0x00000000 0x0000012c: DW_TAG_variable [13] DW_AT_location [DW_FORM_sec_offset] (0x000001ab: - [0xffffffff, 0x000000f4): + [0xffffffff, 0x000000eb): [0x00000000, 0x00000004): DW_OP_WASM_location 0x0 +12, DW_OP_stack_value - [0x00000194, 0x00000198): DW_OP_WASM_location 0x0 +16, DW_OP_stack_value) + [0x00000181, 0x00000185): DW_OP_WASM_location 0x0 +16, DW_OP_stack_value) DW_AT_name [DW_FORM_strp] ( .debug_str[0x0000019b] = "k") DW_AT_decl_file [DW_FORM_data1] ("/usr/local/google/home/azakai/Dev/emscripten/tests/fannkuch.cpp") DW_AT_decl_line [DW_FORM_data1] (30) @@ -2654,11 +2654,11 @@ Abbrev table for offset: 0x00000000 0x0000013b: DW_TAG_variable [13] DW_AT_location [DW_FORM_sec_offset] (0x000001d7: - [0xffffffff, 0x0000010c): + [0xffffffff, 0x00000103): [0x00000000, 0x00000004): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value - [0x00000040, 0x00000043): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value - [0x00000194, 0x00000198): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value - [0x000001d4, 0x000001d7): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value) + [0x0000003c, 0x0000003f): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value + [0x00000181, 0x00000185): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value + [0x000001bd, 0x000001c0): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value) DW_AT_name [DW_FORM_strp] ( .debug_str[0x0000019d] = "j") DW_AT_decl_file [DW_FORM_data1] ("/usr/local/google/home/azakai/Dev/emscripten/tests/fannkuch.cpp") DW_AT_decl_line [DW_FORM_data1] (30) @@ -2666,11 +2666,11 @@ Abbrev table for offset: 0x00000000 0x0000014a: DW_TAG_variable [13] DW_AT_location [DW_FORM_sec_offset] (0x0000021f: - [0xffffffff, 0x00000122): - [0x00000000, 0x0000002d): DW_OP_WASM_location 0x0 +15, DW_OP_stack_value - [0x0000003f, 0x00000056): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value - [0x00000194, 0x000001c1): DW_OP_WASM_location 0x0 +14, DW_OP_stack_value - [0x000001d3, 0x000001ea): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value) + [0xffffffff, 0x00000118): + [0x00000000, 0x0000002a): DW_OP_WASM_location 0x0 +15, DW_OP_stack_value + [0x0000003b, 0x00000051): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value + [0x00000181, 0x000001ab): DW_OP_WASM_location 0x0 +14, DW_OP_stack_value + [0x000001bc, 0x000001d2): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value) DW_AT_name [DW_FORM_strp] ( .debug_str[0x0000019f] = "tmp") DW_AT_decl_file [DW_FORM_data1] ("/usr/local/google/home/azakai/Dev/emscripten/tests/fannkuch.cpp") DW_AT_decl_line [DW_FORM_data1] (30) @@ -2678,10 +2678,10 @@ Abbrev table for offset: 0x00000000 0x00000159: DW_TAG_lexical_block [14] * DW_AT_ranges [DW_FORM_sec_offset] (0x00000000 - [0x00000193, 0x000001d4) - [0x00000200, 0x0000020a) - [0x00000327, 0x00000368) - [0x00000394, 0x0000039e)) + [0x00000184, 0x000001c2) + [0x000001ec, 0x000001f5) + [0x00000305, 0x00000343) + [0x0000036d, 0x00000376)) 0x0000015e: DW_TAG_variable [12] DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000163] = "p0") @@ -2692,28 +2692,28 @@ Abbrev table for offset: 0x00000000 0x00000169: NULL 0x0000016a: DW_TAG_GNU_call_site [15] - DW_AT_low_pc [DW_FORM_addr] (0x0000000000000037) + DW_AT_low_pc [DW_FORM_addr] (0x0000000000000036) 0x0000016f: DW_TAG_GNU_call_site [15] - DW_AT_low_pc [DW_FORM_addr] (0x000000000000003d) + DW_AT_low_pc [DW_FORM_addr] (0x000000000000003c) 0x00000174: DW_TAG_GNU_call_site [15] - DW_AT_low_pc [DW_FORM_addr] (0x0000000000000043) + DW_AT_low_pc [DW_FORM_addr] (0x0000000000000042) 0x00000179: DW_TAG_GNU_call_site [15] - DW_AT_low_pc [DW_FORM_addr] (0x00000000000000ec) + DW_AT_low_pc [DW_FORM_addr] (0x00000000000000e4) 0x0000017e: DW_TAG_GNU_call_site [16] DW_AT_abstract_origin [DW_FORM_ref4] (cu + 0x019a => {0x0000019a} "free") - DW_AT_low_pc [DW_FORM_addr] (0x00000000000003a7) + DW_AT_low_pc [DW_FORM_addr] (0x000000000000037f) 0x00000187: DW_TAG_GNU_call_site [16] DW_AT_abstract_origin [DW_FORM_ref4] (cu + 0x019a => {0x0000019a} "free") - DW_AT_low_pc [DW_FORM_addr] (0x00000000000003ab) + DW_AT_low_pc [DW_FORM_addr] (0x0000000000000383) 0x00000190: DW_TAG_GNU_call_site [16] DW_AT_abstract_origin [DW_FORM_ref4] (cu + 0x019a => {0x0000019a} "free") - DW_AT_low_pc [DW_FORM_addr] (0x00000000000003af) + DW_AT_low_pc [DW_FORM_addr] (0x0000000000000387) 0x00000199: NULL @@ -2817,8 +2817,8 @@ Abbrev table for offset: 0x00000000 0x0000023a: NULL 0x0000023b: DW_TAG_subprogram [23] * - DW_AT_low_pc [DW_FORM_addr] (0x00000000000003b4) - DW_AT_high_pc [DW_FORM_data4] (0x000002ff) + DW_AT_low_pc [DW_FORM_addr] (0x000000000000038c) + DW_AT_high_pc [DW_FORM_data4] (0x000002e7) DW_AT_frame_base [DW_FORM_exprloc] (DW_OP_WASM_location 0x0 +2, DW_OP_stack_value) DW_AT_GNU_all_call_sites [DW_FORM_flag_present] (true) DW_AT_name [DW_FORM_strp] ( .debug_str[0x0000018c] = "main") @@ -2841,7 +2841,7 @@ Abbrev table for offset: 0x00000000 0x00000269: DW_TAG_variable [13] DW_AT_location [DW_FORM_sec_offset] (0x00000267: - [0xffffffff, 0x000003e1): + [0xffffffff, 0x000003b8): [0x00000000, 0x00000005): DW_OP_WASM_location 0x0 +4, DW_OP_stack_value) DW_AT_name [DW_FORM_strp] ( .debug_str[0x000000dc] = "n") DW_AT_decl_file [DW_FORM_data1] ("/usr/local/google/home/azakai/Dev/emscripten/tests/fannkuch.cpp") @@ -2850,8 +2850,8 @@ Abbrev table for offset: 0x00000000 0x00000278: DW_TAG_inlined_subroutine [24] * DW_AT_abstract_origin [DW_FORM_ref4] (cu + 0x01a8 => {0x000001a8} "_ZL8fannkuchi") - DW_AT_low_pc [DW_FORM_addr] (0x00000000000003f4) - DW_AT_high_pc [DW_FORM_data4] (0xfffffc0c) + DW_AT_low_pc [DW_FORM_addr] (0x00000000000003cb) + DW_AT_high_pc [DW_FORM_data4] (0xfffffc35) DW_AT_call_file [DW_FORM_data1] ("/usr/local/google/home/azakai/Dev/emscripten/tests/fannkuch.cpp") DW_AT_call_line [DW_FORM_data1] (159) DW_AT_call_column [DW_FORM_data1] (0x29) @@ -2867,20 +2867,20 @@ Abbrev table for offset: 0x00000000 0x00000296: DW_TAG_variable [26] DW_AT_location [DW_FORM_sec_offset] (0x000002a2: - [0xffffffff, 0x00000676): + [0xffffffff, 0x00000638): [0x00000001, 0x00000001): DW_OP_lit0, DW_OP_stack_value [0x00000000, 0x00000018): DW_OP_WASM_location 0x0 +6, DW_OP_stack_value) DW_AT_abstract_origin [DW_FORM_ref4] (cu + 0x01ce => {0x000001ce} "args") 0x0000029f: DW_TAG_variable [26] DW_AT_location [DW_FORM_sec_offset] (0x000002cc: - [0xffffffff, 0x00000433): + [0xffffffff, 0x00000407): [0x00000001, 0x00000001): DW_OP_consts +0, DW_OP_stack_value [0x00000000, 0x00000005): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value [0x00000001, 0x00000001): DW_OP_consts +0, DW_OP_stack_value - [0x00000040, 0x00000045): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value - [0x0000005e, 0x00000062): DW_OP_consts +0, DW_OP_stack_value - [0x0000008b, 0x00000090): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value + [0x0000003f, 0x00000044): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value + [0x0000005d, 0x00000061): DW_OP_consts +0, DW_OP_stack_value + [0x00000088, 0x0000008d): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value [0x00000001, 0x00000001): DW_OP_consts +0, DW_OP_stack_value [0x00000001, 0x00000001): DW_OP_consts +0, DW_OP_stack_value [0x00000001, 0x00000001): DW_OP_consts +0, DW_OP_stack_value) @@ -2891,48 +2891,48 @@ Abbrev table for offset: 0x00000000 0x000002ad: DW_TAG_variable [26] DW_AT_location [DW_FORM_sec_offset] (0x00000354: - [0xffffffff, 0x00000449): + [0xffffffff, 0x0000041d): [0x00000001, 0x00000001): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value) DW_AT_abstract_origin [DW_FORM_ref4] (cu + 0x01ef => {0x000001ef} "perm1") 0x000002b6: DW_TAG_variable [26] DW_AT_location [DW_FORM_sec_offset] (0x00000372: - [0xffffffff, 0x0000044f): + [0xffffffff, 0x00000423): [0x00000001, 0x00000001): DW_OP_WASM_location 0x0 +5, DW_OP_stack_value) DW_AT_abstract_origin [DW_FORM_ref4] (cu + 0x01fa => {0x000001fa} "count") 0x000002bf: DW_TAG_variable [26] DW_AT_location [DW_FORM_sec_offset] (0x00000390: - [0xffffffff, 0x0000057a): + [0xffffffff, 0x00000544): [0x00000000, 0x00000007): DW_OP_WASM_location 0x0 +6, DW_OP_stack_value - [0x000000c9, 0x000000d0): DW_OP_WASM_location 0x0 +6, DW_OP_stack_value) + [0x000000c2, 0x000000c9): DW_OP_WASM_location 0x0 +6, DW_OP_stack_value) DW_AT_abstract_origin [DW_FORM_ref4] (cu + 0x0205 => {0x00000205} "r") 0x000002c8: DW_TAG_variable [26] DW_AT_location [DW_FORM_sec_offset] (0x000003e8: - [0xffffffff, 0x0000065e): + [0xffffffff, 0x00000621): [0x00000001, 0x00000001): DW_OP_consts +0, DW_OP_stack_value - [0x00000028, 0x00000030): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value) + [0x00000027, 0x0000002f): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value) DW_AT_abstract_origin [DW_FORM_ref4] (cu + 0x0210 => {0x00000210} "maxflips") 0x000002d1: DW_TAG_variable [26] DW_AT_location [DW_FORM_sec_offset] (0x00000413: - [0xffffffff, 0x0000066e): - [0x00000000, 0x00000020): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value) + [0xffffffff, 0x00000631): + [0x00000000, 0x0000001f): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value) DW_AT_abstract_origin [DW_FORM_ref4] (cu + 0x021b => {0x0000021b} "flips") 0x000002da: DW_TAG_label [28] DW_AT_abstract_origin [DW_FORM_ref4] (cu + 0x0226 => {0x00000226} "cleanup") - DW_AT_low_pc [DW_FORM_addr] (0x0000000000000652) + DW_AT_low_pc [DW_FORM_addr] (0x0000000000000615) 0x000002e3: DW_TAG_lexical_block [14] * DW_AT_ranges [DW_FORM_sec_offset] (0x00000028 - [0x0000050a, 0x00000553) - [0x000005cd, 0x0000061c)) + [0x000004da, 0x0000051f) + [0x00000596, 0x000005e1)) 0x000002e8: DW_TAG_variable [26] DW_AT_location [DW_FORM_sec_offset] (0x000003bc: - [0xffffffff, 0x000005d7): + [0xffffffff, 0x0000059f): [0x00000001, 0x00000001): DW_OP_WASM_location 0x0 +8, DW_OP_stack_value [0x00000001, 0x00000001): DW_OP_WASM_location 0x0 +8, DW_OP_stack_value) DW_AT_abstract_origin [DW_FORM_ref4] (cu + 0x022e => {0x0000022e} "p0") @@ -2942,46 +2942,46 @@ Abbrev table for offset: 0x00000000 0x000002f2: NULL 0x000002f3: DW_TAG_GNU_call_site [15] - DW_AT_low_pc [DW_FORM_addr] (0x00000000000003df) + DW_AT_low_pc [DW_FORM_addr] (0x00000000000003b6) 0x000002f8: DW_TAG_GNU_call_site [15] - DW_AT_low_pc [DW_FORM_addr] (0x00000000000003ec) + DW_AT_low_pc [DW_FORM_addr] (0x00000000000003c3) 0x000002fd: DW_TAG_GNU_call_site [15] - DW_AT_low_pc [DW_FORM_addr] (0x0000000000000410) + DW_AT_low_pc [DW_FORM_addr] (0x00000000000003e7) 0x00000302: DW_TAG_GNU_call_site [15] - DW_AT_low_pc [DW_FORM_addr] (0x0000000000000447) + DW_AT_low_pc [DW_FORM_addr] (0x000000000000041b) 0x00000307: DW_TAG_GNU_call_site [15] - DW_AT_low_pc [DW_FORM_addr] (0x000000000000044d) + DW_AT_low_pc [DW_FORM_addr] (0x0000000000000421) 0x0000030c: DW_TAG_GNU_call_site [15] - DW_AT_low_pc [DW_FORM_addr] (0x00000000000004b6) + DW_AT_low_pc [DW_FORM_addr] (0x0000000000000487) 0x00000311: DW_TAG_GNU_call_site [15] - DW_AT_low_pc [DW_FORM_addr] (0x00000000000004c8) + DW_AT_low_pc [DW_FORM_addr] (0x0000000000000499) 0x00000316: DW_TAG_GNU_call_site [15] - DW_AT_low_pc [DW_FORM_addr] (0x0000000000000591) + DW_AT_low_pc [DW_FORM_addr] (0x000000000000055b) 0x0000031b: DW_TAG_GNU_call_site [16] DW_AT_abstract_origin [DW_FORM_ref4] (cu + 0x019a => {0x0000019a} "free") - DW_AT_low_pc [DW_FORM_addr] (0x0000000000000656) + DW_AT_low_pc [DW_FORM_addr] (0x0000000000000619) 0x00000324: DW_TAG_GNU_call_site [16] DW_AT_abstract_origin [DW_FORM_ref4] (cu + 0x019a => {0x0000019a} "free") - DW_AT_low_pc [DW_FORM_addr] (0x000000000000065a) + DW_AT_low_pc [DW_FORM_addr] (0x000000000000061d) 0x0000032d: DW_TAG_GNU_call_site [15] - DW_AT_low_pc [DW_FORM_addr] (0x000000000000066c) + DW_AT_low_pc [DW_FORM_addr] (0x000000000000062f) 0x00000332: DW_TAG_GNU_call_site [16] DW_AT_abstract_origin [DW_FORM_ref4] (cu + 0x019a => {0x0000019a} "free") - DW_AT_low_pc [DW_FORM_addr] (0x000000000000067a) + DW_AT_low_pc [DW_FORM_addr] (0x000000000000063c) 0x0000033b: DW_TAG_GNU_call_site [15] - DW_AT_low_pc [DW_FORM_addr] (0x00000000000006a7) + DW_AT_low_pc [DW_FORM_addr] (0x0000000000000667) 0x00000340: NULL @@ -3006,66 +3006,66 @@ Abbrev table for offset: 0x00000000 0x0000001d: [0xffffffff, 0x00000028): [0x00000001, 0x00000001): DW_OP_consts +0, DW_OP_stack_value - [0x0000003f, 0x00000044): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value + [0x0000003d, 0x00000042): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value [0x00000001, 0x00000001): DW_OP_consts +1, DW_OP_stack_value - [0x0000011d, 0x00000127): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value + [0x00000110, 0x0000011a): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value [0x00000001, 0x00000001): DW_OP_consts +0, DW_OP_stack_value - [0x00000258, 0x00000264): DW_OP_consts +0, DW_OP_stack_value + [0x0000023d, 0x00000248): DW_OP_consts +0, DW_OP_stack_value [0x00000001, 0x00000001): DW_OP_consts +1, DW_OP_stack_value - [0x000002b1, 0x000002bb): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value + [0x00000291, 0x0000029b): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value [0x00000001, 0x00000001): DW_OP_consts +0, DW_OP_stack_value 0x000000a5: - [0xffffffff, 0x00000030): + [0xffffffff, 0x0000002f): [0x00000001, 0x00000001): DW_OP_WASM_location 0x0 +2, DW_OP_stack_value 0x000000c3: - [0xffffffff, 0x00000039): + [0xffffffff, 0x00000038): [0x00000001, 0x00000001): DW_OP_WASM_location 0x0 +4, DW_OP_stack_value 0x000000e1: - [0xffffffff, 0x0000003f): + [0xffffffff, 0x0000003e): [0x00000001, 0x00000001): DW_OP_WASM_location 0x0 +5, DW_OP_stack_value 0x000000ff: - [0xffffffff, 0x00000045): + [0xffffffff, 0x00000044): [0x00000001, 0x00000001): DW_OP_WASM_location 0x0 +6, DW_OP_stack_value 0x0000011d: - [0xffffffff, 0x000001fb): + [0xffffffff, 0x000001e7): [0x00000000, 0x00000005): DW_OP_WASM_location 0x0 +2, DW_OP_stack_value - [0x00000194, 0x00000199): DW_OP_WASM_location 0x0 +2, DW_OP_stack_value + [0x00000181, 0x00000186): DW_OP_WASM_location 0x0 +2, DW_OP_stack_value 0x00000149: - [0xffffffff, 0x000000e4): - [0x00000000, 0x00000014): DW_OP_consts +0, DW_OP_stack_value + [0xffffffff, 0x000000dc): + [0x00000000, 0x00000013): DW_OP_consts +0, DW_OP_stack_value [0x00000001, 0x00000001): DW_OP_WASM_location 0x0 +13, DW_OP_stack_value - [0x0000008c, 0x00000094): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value - [0x0000019c, 0x000001a8): DW_OP_consts +0, DW_OP_stack_value + [0x00000085, 0x0000008d): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value + [0x00000189, 0x00000194): DW_OP_consts +0, DW_OP_stack_value [0x00000001, 0x00000001): DW_OP_WASM_location 0x0 +10, DW_OP_stack_value - [0x00000220, 0x00000228): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value + [0x00000206, 0x0000020e): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value 0x000001ab: - [0xffffffff, 0x000000f4): + [0xffffffff, 0x000000eb): [0x00000000, 0x00000004): DW_OP_WASM_location 0x0 +12, DW_OP_stack_value - [0x00000194, 0x00000198): DW_OP_WASM_location 0x0 +16, DW_OP_stack_value + [0x00000181, 0x00000185): DW_OP_WASM_location 0x0 +16, DW_OP_stack_value 0x000001d7: - [0xffffffff, 0x0000010c): + [0xffffffff, 0x00000103): [0x00000000, 0x00000004): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value - [0x00000040, 0x00000043): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value - [0x00000194, 0x00000198): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value - [0x000001d4, 0x000001d7): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value + [0x0000003c, 0x0000003f): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value + [0x00000181, 0x00000185): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value + [0x000001bd, 0x000001c0): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value 0x0000021f: - [0xffffffff, 0x00000122): - [0x00000000, 0x0000002d): DW_OP_WASM_location 0x0 +15, DW_OP_stack_value - [0x0000003f, 0x00000056): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value - [0x00000194, 0x000001c1): DW_OP_WASM_location 0x0 +14, DW_OP_stack_value - [0x000001d3, 0x000001ea): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value + [0xffffffff, 0x00000118): + [0x00000000, 0x0000002a): DW_OP_WASM_location 0x0 +15, DW_OP_stack_value + [0x0000003b, 0x00000051): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value + [0x00000181, 0x000001ab): DW_OP_WASM_location 0x0 +14, DW_OP_stack_value + [0x000001bc, 0x000001d2): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value 0x00000267: - [0xffffffff, 0x000003e1): + [0xffffffff, 0x000003b8): [0x00000000, 0x00000005): DW_OP_WASM_location 0x0 +4, DW_OP_stack_value 0x00000285: @@ -3073,48 +3073,48 @@ Abbrev table for offset: 0x00000000 [0x00000001, 0x00000001): DW_OP_consts +30, DW_OP_stack_value 0x000002a2: - [0xffffffff, 0x00000676): + [0xffffffff, 0x00000638): [0x00000001, 0x00000001): DW_OP_lit0, DW_OP_stack_value [0x00000000, 0x00000018): DW_OP_WASM_location 0x0 +6, DW_OP_stack_value 0x000002cc: - [0xffffffff, 0x00000433): + [0xffffffff, 0x00000407): [0x00000001, 0x00000001): DW_OP_consts +0, DW_OP_stack_value [0x00000000, 0x00000005): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value [0x00000001, 0x00000001): DW_OP_consts +0, DW_OP_stack_value - [0x00000040, 0x00000045): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value - [0x0000005e, 0x00000062): DW_OP_consts +0, DW_OP_stack_value - [0x0000008b, 0x00000090): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value + [0x0000003f, 0x00000044): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value + [0x0000005d, 0x00000061): DW_OP_consts +0, DW_OP_stack_value + [0x00000088, 0x0000008d): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value [0x00000001, 0x00000001): DW_OP_consts +0, DW_OP_stack_value [0x00000001, 0x00000001): DW_OP_consts +0, DW_OP_stack_value [0x00000001, 0x00000001): DW_OP_consts +0, DW_OP_stack_value 0x00000354: - [0xffffffff, 0x00000449): + [0xffffffff, 0x0000041d): [0x00000001, 0x00000001): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value 0x00000372: - [0xffffffff, 0x0000044f): + [0xffffffff, 0x00000423): [0x00000001, 0x00000001): DW_OP_WASM_location 0x0 +5, DW_OP_stack_value 0x00000390: - [0xffffffff, 0x0000057a): + [0xffffffff, 0x00000544): [0x00000000, 0x00000007): DW_OP_WASM_location 0x0 +6, DW_OP_stack_value - [0x000000c9, 0x000000d0): DW_OP_WASM_location 0x0 +6, DW_OP_stack_value + [0x000000c2, 0x000000c9): DW_OP_WASM_location 0x0 +6, DW_OP_stack_value 0x000003bc: - [0xffffffff, 0x000005d7): + [0xffffffff, 0x0000059f): [0x00000001, 0x00000001): DW_OP_WASM_location 0x0 +8, DW_OP_stack_value [0x00000001, 0x00000001): DW_OP_WASM_location 0x0 +8, DW_OP_stack_value 0x000003e8: - [0xffffffff, 0x0000065e): + [0xffffffff, 0x00000621): [0x00000001, 0x00000001): DW_OP_consts +0, DW_OP_stack_value - [0x00000028, 0x00000030): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value + [0x00000027, 0x0000002f): DW_OP_WASM_location 0x0 +0, DW_OP_stack_value 0x00000413: - [0xffffffff, 0x0000066e): - [0x00000000, 0x00000020): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value + [0xffffffff, 0x00000631): + [0x00000000, 0x0000001f): DW_OP_WASM_location 0x0 +1, DW_OP_stack_value .debug_line contents: debug_line[0x00000000] @@ -3175,1477 +3175,1477 @@ file_names[ 4]: 0x0000000000000028 33 14 1 0 0 is_stmt prologue_end -0x000000fe: 00 DW_LNE_set_address (0x0000000000000032) +0x000000fe: 00 DW_LNE_set_address (0x0000000000000031) 0x00000105: 03 DW_LNS_advance_line (34) 0x00000107: 05 DW_LNS_set_column (27) 0x00000109: 01 DW_LNS_copy - 0x0000000000000032 34 27 1 0 0 is_stmt + 0x0000000000000031 34 27 1 0 0 is_stmt -0x0000010a: 00 DW_LNE_set_address (0x0000000000000033) +0x0000010a: 00 DW_LNE_set_address (0x0000000000000032) 0x00000111: 05 DW_LNS_set_column (18) 0x00000113: 06 DW_LNS_negate_stmt 0x00000114: 01 DW_LNS_copy - 0x0000000000000033 34 18 1 0 0 + 0x0000000000000032 34 18 1 0 0 -0x00000115: 00 DW_LNE_set_address (0x0000000000000039) +0x00000115: 00 DW_LNE_set_address (0x0000000000000038) 0x0000011c: 03 DW_LNS_advance_line (35) 0x0000011e: 05 DW_LNS_set_column (17) 0x00000120: 06 DW_LNS_negate_stmt 0x00000121: 01 DW_LNS_copy - 0x0000000000000039 35 17 1 0 0 is_stmt + 0x0000000000000038 35 17 1 0 0 is_stmt -0x00000122: 00 DW_LNE_set_address (0x000000000000003f) +0x00000122: 00 DW_LNE_set_address (0x000000000000003e) 0x00000129: 03 DW_LNS_advance_line (36) 0x0000012b: 05 DW_LNS_set_column (18) 0x0000012d: 01 DW_LNS_copy - 0x000000000000003f 36 18 1 0 0 is_stmt + 0x000000000000003e 36 18 1 0 0 is_stmt -0x0000012e: 00 DW_LNE_set_address (0x0000000000000049) +0x0000012e: 00 DW_LNE_set_address (0x0000000000000048) 0x00000135: 03 DW_LNS_advance_line (37) 0x00000137: 01 DW_LNS_copy - 0x0000000000000049 37 18 1 0 0 is_stmt + 0x0000000000000048 37 18 1 0 0 is_stmt -0x00000138: 00 DW_LNE_set_address (0x0000000000000052) +0x00000138: 00 DW_LNE_set_address (0x0000000000000051) 0x0000013f: 03 DW_LNS_advance_line (38) 0x00000141: 05 DW_LNS_set_column (7) 0x00000143: 01 DW_LNS_copy - 0x0000000000000052 38 7 1 0 0 is_stmt + 0x0000000000000051 38 7 1 0 0 is_stmt -0x00000144: 00 DW_LNE_set_address (0x000000000000005a) +0x00000144: 00 DW_LNE_set_address (0x0000000000000059) 0x0000014b: 05 DW_LNS_set_column (16) 0x0000014d: 06 DW_LNS_negate_stmt 0x0000014e: 01 DW_LNS_copy - 0x000000000000005a 38 16 1 0 0 + 0x0000000000000059 38 16 1 0 0 -0x0000014f: 00 DW_LNE_set_address (0x0000000000000060) +0x0000014f: 00 DW_LNE_set_address (0x000000000000005e) 0x00000156: 03 DW_LNS_advance_line (37) 0x00000158: 05 DW_LNS_set_column (24) 0x0000015a: 06 DW_LNS_negate_stmt 0x0000015b: 01 DW_LNS_copy - 0x0000000000000060 37 24 1 0 0 is_stmt + 0x000000000000005e 37 24 1 0 0 is_stmt -0x0000015c: 00 DW_LNE_set_address (0x0000000000000065) +0x0000015c: 00 DW_LNE_set_address (0x0000000000000063) 0x00000163: 05 DW_LNS_set_column (18) 0x00000165: 06 DW_LNS_negate_stmt 0x00000166: 01 DW_LNS_copy - 0x0000000000000065 37 18 1 0 0 + 0x0000000000000063 37 18 1 0 0 -0x00000167: 00 DW_LNE_set_address (0x000000000000006a) +0x00000167: 00 DW_LNE_set_address (0x0000000000000068) 0x0000016e: 05 DW_LNS_set_column (4) 0x00000170: 01 DW_LNS_copy - 0x000000000000006a 37 4 1 0 0 + 0x0000000000000068 37 4 1 0 0 -0x00000171: 00 DW_LNE_set_address (0x000000000000006d) +0x00000171: 00 DW_LNE_set_address (0x000000000000006b) 0x00000178: 03 DW_LNS_advance_line (39) 0x0000017a: 06 DW_LNS_negate_stmt 0x0000017b: 01 DW_LNS_copy - 0x000000000000006d 39 4 1 0 0 is_stmt + 0x000000000000006b 39 4 1 0 0 is_stmt -0x0000017c: 00 DW_LNE_set_address (0x000000000000006f) +0x0000017c: 00 DW_LNE_set_address (0x000000000000006d) 0x00000183: 05 DW_LNS_set_column (16) 0x00000185: 06 DW_LNS_negate_stmt 0x00000186: 01 DW_LNS_copy - 0x000000000000006f 39 16 1 0 0 + 0x000000000000006d 39 16 1 0 0 -0x00000187: 00 DW_LNE_set_address (0x0000000000000079) +0x00000187: 00 DW_LNE_set_address (0x0000000000000076) 0x0000018e: 05 DW_LNS_set_column (4) 0x00000190: 01 DW_LNS_copy - 0x0000000000000079 39 4 1 0 0 + 0x0000000000000076 39 4 1 0 0 -0x00000191: 00 DW_LNE_set_address (0x000000000000007b) +0x00000191: 00 DW_LNE_set_address (0x0000000000000078) 0x00000198: 05 DW_LNS_set_column (23) 0x0000019a: 01 DW_LNS_copy - 0x000000000000007b 39 23 1 0 0 + 0x0000000000000078 39 23 1 0 0 -0x0000019b: 00 DW_LNE_set_address (0x0000000000000080) +0x0000019b: 00 DW_LNE_set_address (0x000000000000007d) 0x000001a2: 05 DW_LNS_set_column (19) 0x000001a4: 01 DW_LNS_copy - 0x0000000000000080 39 19 1 0 0 + 0x000000000000007d 39 19 1 0 0 -0x000001a5: 00 DW_LNE_set_address (0x0000000000000086) +0x000001a5: 00 DW_LNE_set_address (0x0000000000000082) 0x000001ac: 03 DW_LNS_advance_line (40) 0x000001ae: 05 DW_LNS_set_column (4) 0x000001b0: 06 DW_LNS_negate_stmt 0x000001b1: 01 DW_LNS_copy - 0x0000000000000086 40 4 1 0 0 is_stmt + 0x0000000000000082 40 4 1 0 0 is_stmt -0x000001b2: 00 DW_LNE_set_address (0x000000000000008e) +0x000001b2: 00 DW_LNE_set_address (0x000000000000008a) 0x000001b9: 05 DW_LNS_set_column (17) 0x000001bb: 06 DW_LNS_negate_stmt 0x000001bc: 01 DW_LNS_copy - 0x000000000000008e 40 17 1 0 0 + 0x000000000000008a 40 17 1 0 0 -0x000001bd: 00 DW_LNE_set_address (0x0000000000000096) +0x000001bd: 00 DW_LNE_set_address (0x0000000000000091) 0x000001c4: 03 DW_LNS_advance_line (37) 0x000001c6: 05 DW_LNS_set_column (18) 0x000001c8: 06 DW_LNS_negate_stmt 0x000001c9: 01 DW_LNS_copy - 0x0000000000000096 37 18 1 0 0 is_stmt + 0x0000000000000091 37 18 1 0 0 is_stmt -0x000001ca: 00 DW_LNE_set_address (0x000000000000009b) +0x000001ca: 00 DW_LNE_set_address (0x0000000000000096) 0x000001d1: 03 DW_LNS_advance_line (43) 0x000001d3: 05 DW_LNS_set_column (4) 0x000001d5: 01 DW_LNS_copy - 0x000000000000009b 43 4 1 0 0 is_stmt + 0x0000000000000096 43 4 1 0 0 is_stmt -0x000001d6: 00 DW_LNE_set_address (0x000000000000009f) +0x000001d6: 00 DW_LNE_set_address (0x000000000000009a) 0x000001dd: 03 DW_LNS_advance_line (44) 0x000001df: 05 DW_LNS_set_column (16) 0x000001e1: 01 DW_LNS_copy - 0x000000000000009f 44 16 1 0 0 is_stmt + 0x000000000000009a 44 16 1 0 0 is_stmt -0x000001e2: 00 DW_LNE_set_address (0x00000000000000a8) +0x000001e2: 00 DW_LNE_set_address (0x00000000000000a3) 0x000001e9: 03 DW_LNS_advance_line (45) 0x000001eb: 05 DW_LNS_set_column (10) 0x000001ed: 01 DW_LNS_copy - 0x00000000000000a8 45 10 1 0 0 is_stmt + 0x00000000000000a3 45 10 1 0 0 is_stmt -0x000001ee: 00 DW_LNE_set_address (0x00000000000000aa) +0x000001ee: 00 DW_LNE_set_address (0x00000000000000a5) 0x000001f5: 05 DW_LNS_set_column (18) 0x000001f7: 06 DW_LNS_negate_stmt 0x000001f8: 01 DW_LNS_copy - 0x00000000000000aa 45 18 1 0 0 + 0x00000000000000a5 45 18 1 0 0 -0x000001f9: 00 DW_LNE_set_address (0x00000000000000b3) +0x000001f9: 00 DW_LNE_set_address (0x00000000000000ae) 0x00000200: 05 DW_LNS_set_column (10) 0x00000202: 01 DW_LNS_copy - 0x00000000000000b3 45 10 1 0 0 + 0x00000000000000ae 45 10 1 0 0 -0x00000203: 00 DW_LNE_set_address (0x00000000000000b5) +0x00000203: 00 DW_LNE_set_address (0x00000000000000b0) 0x0000020a: 05 DW_LNS_set_column (23) 0x0000020c: 01 DW_LNS_copy - 0x00000000000000b5 45 23 1 0 0 + 0x00000000000000b0 45 23 1 0 0 -0x0000020d: 00 DW_LNE_set_address (0x00000000000000bb) +0x0000020d: 00 DW_LNE_set_address (0x00000000000000b5) 0x00000214: 03 DW_LNS_advance_line (44) 0x00000216: 05 DW_LNS_set_column (16) 0x00000218: 06 DW_LNS_negate_stmt 0x00000219: 01 DW_LNS_copy - 0x00000000000000bb 44 16 1 0 0 is_stmt + 0x00000000000000b5 44 16 1 0 0 is_stmt -0x0000021a: 00 DW_LNE_set_address (0x00000000000000c6) +0x0000021a: 00 DW_LNE_set_address (0x00000000000000c0) 0x00000221: 05 DW_LNS_set_column (7) 0x00000223: 06 DW_LNS_negate_stmt 0x00000224: 01 DW_LNS_copy - 0x00000000000000c6 44 7 1 0 0 + 0x00000000000000c0 44 7 1 0 0 -0x00000225: 00 DW_LNE_set_address (0x00000000000000cc) +0x00000225: 00 DW_LNE_set_address (0x00000000000000c6) 0x0000022c: 03 DW_LNS_advance_line (46) 0x0000022e: 05 DW_LNS_set_column (11) 0x00000230: 06 DW_LNS_negate_stmt 0x00000231: 01 DW_LNS_copy - 0x00000000000000cc 46 11 1 0 0 is_stmt + 0x00000000000000c6 46 11 1 0 0 is_stmt -0x00000232: 00 DW_LNE_set_address (0x00000000000000d9) +0x00000232: 00 DW_LNE_set_address (0x00000000000000d2) 0x00000239: 05 DW_LNS_set_column (28) 0x0000023b: 06 DW_LNS_negate_stmt 0x0000023c: 01 DW_LNS_copy - 0x00000000000000d9 46 28 1 0 0 + 0x00000000000000d2 46 28 1 0 0 -0x0000023d: 00 DW_LNE_set_address (0x00000000000000df) +0x0000023d: 00 DW_LNE_set_address (0x00000000000000d7) 0x00000244: 05 DW_LNS_set_column (41) 0x00000246: 01 DW_LNS_copy - 0x00000000000000df 46 41 1 0 0 + 0x00000000000000d7 46 41 1 0 0 -0x00000247: 00 DW_LNE_set_address (0x00000000000000e4) +0x00000247: 00 DW_LNE_set_address (0x00000000000000dc) 0x0000024e: 03 DW_LNS_advance_line (48) 0x00000250: 05 DW_LNS_set_column (21) 0x00000252: 06 DW_LNS_negate_stmt 0x00000253: 01 DW_LNS_copy - 0x00000000000000e4 48 21 1 0 0 is_stmt + 0x00000000000000dc 48 21 1 0 0 is_stmt -0x00000254: 00 DW_LNE_set_address (0x00000000000000ec) +0x00000254: 00 DW_LNE_set_address (0x00000000000000e4) 0x0000025b: 03 DW_LNS_advance_line (50) 0x0000025d: 05 DW_LNS_set_column (14) 0x0000025f: 01 DW_LNS_copy - 0x00000000000000ec 50 14 1 0 0 is_stmt + 0x00000000000000e4 50 14 1 0 0 is_stmt -0x00000260: 00 DW_LNE_set_address (0x00000000000000fe) +0x00000260: 00 DW_LNE_set_address (0x00000000000000f5) 0x00000267: 03 DW_LNS_advance_line (52) 0x00000269: 05 DW_LNS_set_column (38) 0x0000026b: 01 DW_LNS_copy - 0x00000000000000fe 52 38 1 0 0 is_stmt + 0x00000000000000f5 52 38 1 0 0 is_stmt -0x0000026c: 00 DW_LNE_set_address (0x0000000000000112) +0x0000026c: 00 DW_LNE_set_address (0x0000000000000109) 0x00000273: 03 DW_LNS_advance_line (53) 0x00000275: 05 DW_LNS_set_column (22) 0x00000277: 01 DW_LNS_copy - 0x0000000000000112 53 22 1 0 0 is_stmt + 0x0000000000000109 53 22 1 0 0 is_stmt -0x00000278: 00 DW_LNE_set_address (0x0000000000000122) +0x00000278: 00 DW_LNE_set_address (0x0000000000000118) 0x0000027f: 03 DW_LNS_advance_line (54) 0x00000281: 05 DW_LNS_set_column (24) 0x00000283: 01 DW_LNS_copy - 0x0000000000000122 54 24 1 0 0 is_stmt + 0x0000000000000118 54 24 1 0 0 is_stmt -0x00000284: 00 DW_LNE_set_address (0x0000000000000124) +0x00000284: 00 DW_LNE_set_address (0x000000000000011a) 0x0000028b: 05 DW_LNS_set_column (26) 0x0000028d: 06 DW_LNS_negate_stmt 0x0000028e: 01 DW_LNS_copy - 0x0000000000000124 54 26 1 0 0 + 0x000000000000011a 54 26 1 0 0 -0x0000028f: 00 DW_LNE_set_address (0x0000000000000132) +0x0000028f: 00 DW_LNE_set_address (0x0000000000000127) 0x00000296: 05 DW_LNS_set_column (24) 0x00000298: 01 DW_LNS_copy - 0x0000000000000132 54 24 1 0 0 + 0x0000000000000127 54 24 1 0 0 -0x00000299: 00 DW_LNE_set_address (0x0000000000000136) +0x00000299: 00 DW_LNE_set_address (0x000000000000012a) 0x000002a0: 03 DW_LNS_advance_line (55) 0x000002a2: 06 DW_LNS_negate_stmt 0x000002a3: 01 DW_LNS_copy - 0x0000000000000136 55 24 1 0 0 is_stmt + 0x000000000000012a 55 24 1 0 0 is_stmt -0x000002a4: 00 DW_LNE_set_address (0x000000000000013e) +0x000002a4: 00 DW_LNE_set_address (0x0000000000000131) 0x000002ab: 03 DW_LNS_advance_line (52) 0x000002ad: 05 DW_LNS_set_column (44) 0x000002af: 01 DW_LNS_copy - 0x000000000000013e 52 44 1 0 0 is_stmt + 0x0000000000000131 52 44 1 0 0 is_stmt -0x000002b0: 00 DW_LNE_set_address (0x000000000000014a) +0x000002b0: 00 DW_LNE_set_address (0x000000000000013d) 0x000002b7: 05 DW_LNS_set_column (38) 0x000002b9: 06 DW_LNS_negate_stmt 0x000002ba: 01 DW_LNS_copy - 0x000000000000014a 52 38 1 0 0 + 0x000000000000013d 52 38 1 0 0 -0x000002bb: 00 DW_LNE_set_address (0x000000000000014d) +0x000002bb: 00 DW_LNE_set_address (0x0000000000000140) 0x000002c2: 05 DW_LNS_set_column (13) 0x000002c4: 01 DW_LNS_copy - 0x000000000000014d 52 13 1 0 0 + 0x0000000000000140 52 13 1 0 0 -0x000002c5: 00 DW_LNE_set_address (0x0000000000000151) +0x000002c5: 00 DW_LNE_set_address (0x0000000000000144) 0x000002cc: 03 DW_LNS_advance_line (58) 0x000002ce: 05 DW_LNS_set_column (19) 0x000002d0: 06 DW_LNS_negate_stmt 0x000002d1: 01 DW_LNS_copy - 0x0000000000000151 58 19 1 0 0 is_stmt + 0x0000000000000144 58 19 1 0 0 is_stmt -0x000002d2: 00 DW_LNE_set_address (0x0000000000000161) +0x000002d2: 00 DW_LNE_set_address (0x0000000000000153) 0x000002d9: 03 DW_LNS_advance_line (59) 0x000002db: 05 DW_LNS_set_column (21) 0x000002dd: 01 DW_LNS_copy - 0x0000000000000161 59 21 1 0 0 is_stmt + 0x0000000000000153 59 21 1 0 0 is_stmt -0x000002de: 00 DW_LNE_set_address (0x0000000000000169) +0x000002de: 00 DW_LNE_set_address (0x000000000000015a) 0x000002e5: 03 DW_LNS_advance_line (57) 0x000002e7: 05 DW_LNS_set_column (18) 0x000002e9: 01 DW_LNS_copy - 0x0000000000000169 57 18 1 0 0 is_stmt + 0x000000000000015a 57 18 1 0 0 is_stmt -0x000002ea: 00 DW_LNE_set_address (0x0000000000000179) +0x000002ea: 00 DW_LNE_set_address (0x000000000000016a) 0x000002f1: 03 DW_LNS_advance_line (62) 0x000002f3: 05 DW_LNS_set_column (14) 0x000002f5: 01 DW_LNS_copy - 0x0000000000000179 62 14 1 0 0 is_stmt + 0x000000000000016a 62 14 1 0 0 is_stmt -0x000002f6: 00 DW_LNE_set_address (0x000000000000017d) +0x000002f6: 00 DW_LNE_set_address (0x000000000000016e) 0x000002fd: 05 DW_LNS_set_column (23) 0x000002ff: 06 DW_LNS_negate_stmt 0x00000300: 01 DW_LNS_copy - 0x000000000000017d 62 23 1 0 0 + 0x000000000000016e 62 23 1 0 0 -0x00000301: 00 DW_LNE_set_address (0x0000000000000182) +0x00000301: 00 DW_LNE_set_address (0x0000000000000173) 0x00000308: 05 DW_LNS_set_column (14) 0x0000030a: 01 DW_LNS_copy - 0x0000000000000182 62 14 1 0 0 + 0x0000000000000173 62 14 1 0 0 -0x0000030b: 00 DW_LNE_set_address (0x0000000000000186) +0x0000030b: 00 DW_LNE_set_address (0x0000000000000177) 0x00000312: 03 DW_LNS_advance_line (66) 0x00000314: 05 DW_LNS_set_column (16) 0x00000316: 06 DW_LNS_negate_stmt 0x00000317: 01 DW_LNS_copy - 0x0000000000000186 66 16 1 0 0 is_stmt + 0x0000000000000177 66 16 1 0 0 is_stmt -0x00000318: 00 DW_LNE_set_address (0x0000000000000193) +0x00000318: 00 DW_LNE_set_address (0x0000000000000184) 0x0000031f: 03 DW_LNS_advance_line (75) 0x00000321: 05 DW_LNS_set_column (27) 0x00000323: 01 DW_LNS_copy - 0x0000000000000193 75 27 1 0 0 is_stmt + 0x0000000000000184 75 27 1 0 0 is_stmt -0x00000324: 00 DW_LNE_set_address (0x000000000000019c) +0x00000324: 00 DW_LNE_set_address (0x000000000000018d) 0x0000032b: 03 DW_LNS_advance_line (76) 0x0000032d: 05 DW_LNS_set_column (16) 0x0000032f: 01 DW_LNS_copy - 0x000000000000019c 76 16 1 0 0 is_stmt + 0x000000000000018d 76 16 1 0 0 is_stmt -0x00000330: 00 DW_LNE_set_address (0x00000000000001a4) +0x00000330: 00 DW_LNE_set_address (0x0000000000000195) 0x00000337: 05 DW_LNS_set_column (27) 0x00000339: 06 DW_LNS_negate_stmt 0x0000033a: 01 DW_LNS_copy - 0x00000000000001a4 76 27 1 0 0 + 0x0000000000000195 76 27 1 0 0 -0x0000033b: 00 DW_LNE_set_address (0x00000000000001a6) +0x0000033b: 00 DW_LNE_set_address (0x0000000000000197) 0x00000342: 05 DW_LNS_set_column (35) 0x00000344: 01 DW_LNS_copy - 0x00000000000001a6 76 35 1 0 0 + 0x0000000000000197 76 35 1 0 0 -0x00000345: 00 DW_LNE_set_address (0x00000000000001af) +0x00000345: 00 DW_LNE_set_address (0x00000000000001a0) 0x0000034c: 05 DW_LNS_set_column (27) 0x0000034e: 01 DW_LNS_copy - 0x00000000000001af 76 27 1 0 0 + 0x00000000000001a0 76 27 1 0 0 -0x0000034f: 00 DW_LNE_set_address (0x00000000000001b5) +0x0000034f: 00 DW_LNE_set_address (0x00000000000001a5) 0x00000356: 05 DW_LNS_set_column (25) 0x00000358: 01 DW_LNS_copy - 0x00000000000001b5 76 25 1 0 0 + 0x00000000000001a5 76 25 1 0 0 -0x00000359: 00 DW_LNE_set_address (0x00000000000001b9) +0x00000359: 00 DW_LNE_set_address (0x00000000000001a8) 0x00000360: 03 DW_LNS_advance_line (75) 0x00000362: 05 DW_LNS_set_column (27) 0x00000364: 06 DW_LNS_negate_stmt 0x00000365: 01 DW_LNS_copy - 0x00000000000001b9 75 27 1 0 0 is_stmt + 0x00000000000001a8 75 27 1 0 0 is_stmt -0x00000366: 00 DW_LNE_set_address (0x00000000000001be) +0x00000366: 00 DW_LNE_set_address (0x00000000000001ad) 0x0000036d: 05 DW_LNS_set_column (13) 0x0000036f: 06 DW_LNS_negate_stmt 0x00000370: 01 DW_LNS_copy - 0x00000000000001be 75 13 1 0 0 + 0x00000000000001ad 75 13 1 0 0 -0x00000371: 00 DW_LNE_set_address (0x00000000000001c6) +0x00000371: 00 DW_LNE_set_address (0x00000000000001b5) 0x00000378: 03 DW_LNS_advance_line (77) 0x0000037a: 06 DW_LNS_negate_stmt 0x0000037b: 01 DW_LNS_copy - 0x00000000000001c6 77 13 1 0 0 is_stmt + 0x00000000000001b5 77 13 1 0 0 is_stmt -0x0000037c: 00 DW_LNE_set_address (0x00000000000001ce) +0x0000037c: 00 DW_LNE_set_address (0x00000000000001bd) 0x00000383: 05 DW_LNS_set_column (22) 0x00000385: 06 DW_LNS_negate_stmt 0x00000386: 01 DW_LNS_copy - 0x00000000000001ce 77 22 1 0 0 + 0x00000000000001bd 77 22 1 0 0 -0x00000387: 00 DW_LNE_set_address (0x00000000000001d4) +0x00000387: 00 DW_LNE_set_address (0x00000000000001c2) 0x0000038e: 03 DW_LNS_advance_line (79) 0x00000390: 05 DW_LNS_set_column (16) 0x00000392: 06 DW_LNS_negate_stmt 0x00000393: 01 DW_LNS_copy - 0x00000000000001d4 79 16 1 0 0 is_stmt + 0x00000000000001c2 79 16 1 0 0 is_stmt -0x00000394: 00 DW_LNE_set_address (0x00000000000001dc) +0x00000394: 00 DW_LNE_set_address (0x00000000000001ca) 0x0000039b: 05 DW_LNS_set_column (14) 0x0000039d: 06 DW_LNS_negate_stmt 0x0000039e: 01 DW_LNS_copy - 0x00000000000001dc 79 14 1 0 0 + 0x00000000000001ca 79 14 1 0 0 -0x0000039f: 00 DW_LNE_set_address (0x00000000000001ed) +0x0000039f: 00 DW_LNE_set_address (0x00000000000001d9) 0x000003a6: 05 DW_LNS_set_column (25) 0x000003a8: 01 DW_LNS_copy - 0x00000000000001ed 79 25 1 0 0 + 0x00000000000001d9 79 25 1 0 0 -0x000003a9: 00 DW_LNE_set_address (0x00000000000001f4) +0x000003a9: 00 DW_LNE_set_address (0x00000000000001e0) 0x000003b0: 03 DW_LNS_advance_line (81) 0x000003b2: 05 DW_LNS_set_column (11) 0x000003b4: 06 DW_LNS_negate_stmt 0x000003b5: 01 DW_LNS_copy - 0x00000000000001f4 81 11 1 0 0 is_stmt + 0x00000000000001e0 81 11 1 0 0 is_stmt -0x000003b6: 00 DW_LNE_set_address (0x00000000000001f9) +0x000003b6: 00 DW_LNE_set_address (0x00000000000001e5) 0x000003bd: 03 DW_LNS_advance_line (66) 0x000003bf: 05 DW_LNS_set_column (16) 0x000003c1: 01 DW_LNS_copy - 0x00000000000001f9 66 16 1 0 0 is_stmt + 0x00000000000001e5 66 16 1 0 0 is_stmt -0x000003c2: 00 DW_LNE_set_address (0x0000000000000200) +0x000003c2: 00 DW_LNE_set_address (0x00000000000001ec) 0x000003c9: 03 DW_LNS_advance_line (74) 0x000003cb: 05 DW_LNS_set_column (22) 0x000003cd: 01 DW_LNS_copy - 0x0000000000000200 74 22 1 0 0 is_stmt + 0x00000000000001ec 74 22 1 0 0 is_stmt -0x000003ce: 00 DW_LNE_set_address (0x000000000000020a) +0x000003ce: 00 DW_LNE_set_address (0x00000000000001f5) 0x000003d5: 03 DW_LNS_advance_line (37) 0x000003d7: 05 DW_LNS_set_column (4) 0x000003d9: 01 DW_LNS_copy - 0x000000000000020a 37 4 1 0 0 is_stmt + 0x00000000000001f5 37 4 1 0 0 is_stmt -0x000003da: 00 DW_LNE_set_address (0x000000000000020f) +0x000003da: 00 DW_LNE_set_address (0x00000000000001fa) 0x000003e1: 03 DW_LNS_advance_line (39) 0x000003e3: 01 DW_LNS_copy - 0x000000000000020f 39 4 1 0 0 is_stmt + 0x00000000000001fa 39 4 1 0 0 is_stmt -0x000003e4: 00 DW_LNE_set_address (0x0000000000000211) +0x000003e4: 00 DW_LNE_set_address (0x00000000000001fc) 0x000003eb: 05 DW_LNS_set_column (16) 0x000003ed: 06 DW_LNS_negate_stmt 0x000003ee: 01 DW_LNS_copy - 0x0000000000000211 39 16 1 0 0 + 0x00000000000001fc 39 16 1 0 0 -0x000003ef: 00 DW_LNE_set_address (0x000000000000021b) +0x000003ef: 00 DW_LNE_set_address (0x0000000000000205) 0x000003f6: 05 DW_LNS_set_column (4) 0x000003f8: 01 DW_LNS_copy - 0x000000000000021b 39 4 1 0 0 + 0x0000000000000205 39 4 1 0 0 -0x000003f9: 00 DW_LNE_set_address (0x000000000000021d) +0x000003f9: 00 DW_LNE_set_address (0x0000000000000207) 0x00000400: 05 DW_LNS_set_column (23) 0x00000402: 01 DW_LNS_copy - 0x000000000000021d 39 23 1 0 0 + 0x0000000000000207 39 23 1 0 0 -0x00000403: 00 DW_LNE_set_address (0x0000000000000222) +0x00000403: 00 DW_LNE_set_address (0x000000000000020c) 0x0000040a: 05 DW_LNS_set_column (19) 0x0000040c: 01 DW_LNS_copy - 0x0000000000000222 39 19 1 0 0 + 0x000000000000020c 39 19 1 0 0 -0x0000040d: 00 DW_LNE_set_address (0x0000000000000228) +0x0000040d: 00 DW_LNE_set_address (0x0000000000000211) 0x00000414: 03 DW_LNS_advance_line (40) 0x00000416: 05 DW_LNS_set_column (4) 0x00000418: 06 DW_LNS_negate_stmt 0x00000419: 01 DW_LNS_copy - 0x0000000000000228 40 4 1 0 0 is_stmt + 0x0000000000000211 40 4 1 0 0 is_stmt -0x0000041a: 00 DW_LNE_set_address (0x0000000000000230) +0x0000041a: 00 DW_LNE_set_address (0x0000000000000219) 0x00000421: 05 DW_LNS_set_column (17) 0x00000423: 06 DW_LNS_negate_stmt 0x00000424: 01 DW_LNS_copy - 0x0000000000000230 40 17 1 0 0 + 0x0000000000000219 40 17 1 0 0 -0x00000425: 00 DW_LNE_set_address (0x000000000000023b) +0x00000425: 00 DW_LNE_set_address (0x0000000000000223) 0x0000042c: 03 DW_LNS_advance_line (44) 0x0000042e: 05 DW_LNS_set_column (16) 0x00000430: 06 DW_LNS_negate_stmt 0x00000431: 01 DW_LNS_copy - 0x000000000000023b 44 16 1 0 0 is_stmt + 0x0000000000000223 44 16 1 0 0 is_stmt -0x00000432: 00 DW_LNE_set_address (0x0000000000000244) +0x00000432: 00 DW_LNE_set_address (0x000000000000022c) 0x00000439: 03 DW_LNS_advance_line (45) 0x0000043b: 05 DW_LNS_set_column (10) 0x0000043d: 01 DW_LNS_copy - 0x0000000000000244 45 10 1 0 0 is_stmt + 0x000000000000022c 45 10 1 0 0 is_stmt -0x0000043e: 00 DW_LNE_set_address (0x0000000000000246) +0x0000043e: 00 DW_LNE_set_address (0x000000000000022e) 0x00000445: 05 DW_LNS_set_column (18) 0x00000447: 06 DW_LNS_negate_stmt 0x00000448: 01 DW_LNS_copy - 0x0000000000000246 45 18 1 0 0 + 0x000000000000022e 45 18 1 0 0 -0x00000449: 00 DW_LNE_set_address (0x000000000000024f) +0x00000449: 00 DW_LNE_set_address (0x0000000000000237) 0x00000450: 05 DW_LNS_set_column (10) 0x00000452: 01 DW_LNS_copy - 0x000000000000024f 45 10 1 0 0 + 0x0000000000000237 45 10 1 0 0 -0x00000453: 00 DW_LNE_set_address (0x0000000000000251) +0x00000453: 00 DW_LNE_set_address (0x0000000000000239) 0x0000045a: 05 DW_LNS_set_column (23) 0x0000045c: 01 DW_LNS_copy - 0x0000000000000251 45 23 1 0 0 + 0x0000000000000239 45 23 1 0 0 -0x0000045d: 00 DW_LNE_set_address (0x0000000000000257) +0x0000045d: 00 DW_LNE_set_address (0x000000000000023e) 0x00000464: 03 DW_LNS_advance_line (44) 0x00000466: 05 DW_LNS_set_column (16) 0x00000468: 06 DW_LNS_negate_stmt 0x00000469: 01 DW_LNS_copy - 0x0000000000000257 44 16 1 0 0 is_stmt + 0x000000000000023e 44 16 1 0 0 is_stmt -0x0000046a: 00 DW_LNE_set_address (0x0000000000000268) +0x0000046a: 00 DW_LNE_set_address (0x000000000000024f) 0x00000471: 03 DW_LNS_advance_line (46) 0x00000473: 05 DW_LNS_set_column (11) 0x00000475: 01 DW_LNS_copy - 0x0000000000000268 46 11 1 0 0 is_stmt + 0x000000000000024f 46 11 1 0 0 is_stmt -0x00000476: 00 DW_LNE_set_address (0x0000000000000275) +0x00000476: 00 DW_LNE_set_address (0x000000000000025b) 0x0000047d: 05 DW_LNS_set_column (28) 0x0000047f: 06 DW_LNS_negate_stmt 0x00000480: 01 DW_LNS_copy - 0x0000000000000275 46 28 1 0 0 + 0x000000000000025b 46 28 1 0 0 -0x00000481: 00 DW_LNE_set_address (0x000000000000027b) +0x00000481: 00 DW_LNE_set_address (0x0000000000000260) 0x00000488: 05 DW_LNS_set_column (41) 0x0000048a: 01 DW_LNS_copy - 0x000000000000027b 46 41 1 0 0 + 0x0000000000000260 46 41 1 0 0 -0x0000048b: 00 DW_LNE_set_address (0x0000000000000280) +0x0000048b: 00 DW_LNE_set_address (0x0000000000000265) 0x00000492: 03 DW_LNS_advance_line (50) 0x00000494: 05 DW_LNS_set_column (14) 0x00000496: 06 DW_LNS_negate_stmt 0x00000497: 01 DW_LNS_copy - 0x0000000000000280 50 14 1 0 0 is_stmt + 0x0000000000000265 50 14 1 0 0 is_stmt -0x00000498: 00 DW_LNE_set_address (0x0000000000000292) +0x00000498: 00 DW_LNE_set_address (0x0000000000000276) 0x0000049f: 03 DW_LNS_advance_line (52) 0x000004a1: 05 DW_LNS_set_column (38) 0x000004a3: 01 DW_LNS_copy - 0x0000000000000292 52 38 1 0 0 is_stmt + 0x0000000000000276 52 38 1 0 0 is_stmt -0x000004a4: 00 DW_LNE_set_address (0x00000000000002a6) +0x000004a4: 00 DW_LNE_set_address (0x000000000000028a) 0x000004ab: 03 DW_LNS_advance_line (53) 0x000004ad: 05 DW_LNS_set_column (22) 0x000004af: 01 DW_LNS_copy - 0x00000000000002a6 53 22 1 0 0 is_stmt + 0x000000000000028a 53 22 1 0 0 is_stmt -0x000004b0: 00 DW_LNE_set_address (0x00000000000002b6) +0x000004b0: 00 DW_LNE_set_address (0x0000000000000299) 0x000004b7: 03 DW_LNS_advance_line (54) 0x000004b9: 05 DW_LNS_set_column (24) 0x000004bb: 01 DW_LNS_copy - 0x00000000000002b6 54 24 1 0 0 is_stmt + 0x0000000000000299 54 24 1 0 0 is_stmt -0x000004bc: 00 DW_LNE_set_address (0x00000000000002b8) +0x000004bc: 00 DW_LNE_set_address (0x000000000000029b) 0x000004c3: 05 DW_LNS_set_column (26) 0x000004c5: 06 DW_LNS_negate_stmt 0x000004c6: 01 DW_LNS_copy - 0x00000000000002b8 54 26 1 0 0 + 0x000000000000029b 54 26 1 0 0 -0x000004c7: 00 DW_LNE_set_address (0x00000000000002c6) +0x000004c7: 00 DW_LNE_set_address (0x00000000000002a8) 0x000004ce: 05 DW_LNS_set_column (24) 0x000004d0: 01 DW_LNS_copy - 0x00000000000002c6 54 24 1 0 0 + 0x00000000000002a8 54 24 1 0 0 -0x000004d1: 00 DW_LNE_set_address (0x00000000000002ca) +0x000004d1: 00 DW_LNE_set_address (0x00000000000002ab) 0x000004d8: 03 DW_LNS_advance_line (55) 0x000004da: 06 DW_LNS_negate_stmt 0x000004db: 01 DW_LNS_copy - 0x00000000000002ca 55 24 1 0 0 is_stmt + 0x00000000000002ab 55 24 1 0 0 is_stmt -0x000004dc: 00 DW_LNE_set_address (0x00000000000002d2) +0x000004dc: 00 DW_LNE_set_address (0x00000000000002b2) 0x000004e3: 03 DW_LNS_advance_line (52) 0x000004e5: 05 DW_LNS_set_column (44) 0x000004e7: 01 DW_LNS_copy - 0x00000000000002d2 52 44 1 0 0 is_stmt + 0x00000000000002b2 52 44 1 0 0 is_stmt -0x000004e8: 00 DW_LNE_set_address (0x00000000000002de) +0x000004e8: 00 DW_LNE_set_address (0x00000000000002be) 0x000004ef: 05 DW_LNS_set_column (38) 0x000004f1: 06 DW_LNS_negate_stmt 0x000004f2: 01 DW_LNS_copy - 0x00000000000002de 52 38 1 0 0 + 0x00000000000002be 52 38 1 0 0 -0x000004f3: 00 DW_LNE_set_address (0x00000000000002e5) +0x000004f3: 00 DW_LNE_set_address (0x00000000000002c5) 0x000004fa: 03 DW_LNS_advance_line (58) 0x000004fc: 05 DW_LNS_set_column (19) 0x000004fe: 06 DW_LNS_negate_stmt 0x000004ff: 01 DW_LNS_copy - 0x00000000000002e5 58 19 1 0 0 is_stmt + 0x00000000000002c5 58 19 1 0 0 is_stmt -0x00000500: 00 DW_LNE_set_address (0x00000000000002f5) +0x00000500: 00 DW_LNE_set_address (0x00000000000002d4) 0x00000507: 03 DW_LNS_advance_line (59) 0x00000509: 05 DW_LNS_set_column (21) 0x0000050b: 01 DW_LNS_copy - 0x00000000000002f5 59 21 1 0 0 is_stmt + 0x00000000000002d4 59 21 1 0 0 is_stmt -0x0000050c: 00 DW_LNE_set_address (0x00000000000002fd) +0x0000050c: 00 DW_LNE_set_address (0x00000000000002db) 0x00000513: 03 DW_LNS_advance_line (57) 0x00000515: 05 DW_LNS_set_column (18) 0x00000517: 01 DW_LNS_copy - 0x00000000000002fd 57 18 1 0 0 is_stmt + 0x00000000000002db 57 18 1 0 0 is_stmt -0x00000518: 00 DW_LNE_set_address (0x000000000000030d) +0x00000518: 00 DW_LNE_set_address (0x00000000000002eb) 0x0000051f: 03 DW_LNS_advance_line (62) 0x00000521: 05 DW_LNS_set_column (14) 0x00000523: 01 DW_LNS_copy - 0x000000000000030d 62 14 1 0 0 is_stmt + 0x00000000000002eb 62 14 1 0 0 is_stmt -0x00000524: 00 DW_LNE_set_address (0x0000000000000311) +0x00000524: 00 DW_LNE_set_address (0x00000000000002ef) 0x0000052b: 05 DW_LNS_set_column (23) 0x0000052d: 06 DW_LNS_negate_stmt 0x0000052e: 01 DW_LNS_copy - 0x0000000000000311 62 23 1 0 0 + 0x00000000000002ef 62 23 1 0 0 -0x0000052f: 00 DW_LNE_set_address (0x0000000000000316) +0x0000052f: 00 DW_LNE_set_address (0x00000000000002f4) 0x00000536: 05 DW_LNS_set_column (14) 0x00000538: 01 DW_LNS_copy - 0x0000000000000316 62 14 1 0 0 + 0x00000000000002f4 62 14 1 0 0 -0x00000539: 00 DW_LNE_set_address (0x000000000000031a) +0x00000539: 00 DW_LNE_set_address (0x00000000000002f8) 0x00000540: 03 DW_LNS_advance_line (66) 0x00000542: 05 DW_LNS_set_column (16) 0x00000544: 06 DW_LNS_negate_stmt 0x00000545: 01 DW_LNS_copy - 0x000000000000031a 66 16 1 0 0 is_stmt + 0x00000000000002f8 66 16 1 0 0 is_stmt -0x00000546: 00 DW_LNE_set_address (0x0000000000000327) +0x00000546: 00 DW_LNE_set_address (0x0000000000000305) 0x0000054d: 03 DW_LNS_advance_line (75) 0x0000054f: 05 DW_LNS_set_column (27) 0x00000551: 01 DW_LNS_copy - 0x0000000000000327 75 27 1 0 0 is_stmt + 0x0000000000000305 75 27 1 0 0 is_stmt -0x00000552: 00 DW_LNE_set_address (0x0000000000000330) +0x00000552: 00 DW_LNE_set_address (0x000000000000030e) 0x00000559: 03 DW_LNS_advance_line (76) 0x0000055b: 05 DW_LNS_set_column (16) 0x0000055d: 01 DW_LNS_copy - 0x0000000000000330 76 16 1 0 0 is_stmt + 0x000000000000030e 76 16 1 0 0 is_stmt -0x0000055e: 00 DW_LNE_set_address (0x0000000000000338) +0x0000055e: 00 DW_LNE_set_address (0x0000000000000316) 0x00000565: 05 DW_LNS_set_column (27) 0x00000567: 06 DW_LNS_negate_stmt 0x00000568: 01 DW_LNS_copy - 0x0000000000000338 76 27 1 0 0 + 0x0000000000000316 76 27 1 0 0 -0x00000569: 00 DW_LNE_set_address (0x000000000000033a) +0x00000569: 00 DW_LNE_set_address (0x0000000000000318) 0x00000570: 05 DW_LNS_set_column (35) 0x00000572: 01 DW_LNS_copy - 0x000000000000033a 76 35 1 0 0 + 0x0000000000000318 76 35 1 0 0 -0x00000573: 00 DW_LNE_set_address (0x0000000000000343) +0x00000573: 00 DW_LNE_set_address (0x0000000000000321) 0x0000057a: 05 DW_LNS_set_column (27) 0x0000057c: 01 DW_LNS_copy - 0x0000000000000343 76 27 1 0 0 + 0x0000000000000321 76 27 1 0 0 -0x0000057d: 00 DW_LNE_set_address (0x0000000000000349) +0x0000057d: 00 DW_LNE_set_address (0x0000000000000326) 0x00000584: 05 DW_LNS_set_column (25) 0x00000586: 01 DW_LNS_copy - 0x0000000000000349 76 25 1 0 0 + 0x0000000000000326 76 25 1 0 0 -0x00000587: 00 DW_LNE_set_address (0x000000000000034d) +0x00000587: 00 DW_LNE_set_address (0x0000000000000329) 0x0000058e: 03 DW_LNS_advance_line (75) 0x00000590: 05 DW_LNS_set_column (27) 0x00000592: 06 DW_LNS_negate_stmt 0x00000593: 01 DW_LNS_copy - 0x000000000000034d 75 27 1 0 0 is_stmt + 0x0000000000000329 75 27 1 0 0 is_stmt -0x00000594: 00 DW_LNE_set_address (0x000000000000035a) +0x00000594: 00 DW_LNE_set_address (0x0000000000000336) 0x0000059b: 03 DW_LNS_advance_line (77) 0x0000059d: 05 DW_LNS_set_column (13) 0x0000059f: 01 DW_LNS_copy - 0x000000000000035a 77 13 1 0 0 is_stmt + 0x0000000000000336 77 13 1 0 0 is_stmt -0x000005a0: 00 DW_LNE_set_address (0x0000000000000362) +0x000005a0: 00 DW_LNE_set_address (0x000000000000033e) 0x000005a7: 05 DW_LNS_set_column (22) 0x000005a9: 06 DW_LNS_negate_stmt 0x000005aa: 01 DW_LNS_copy - 0x0000000000000362 77 22 1 0 0 + 0x000000000000033e 77 22 1 0 0 -0x000005ab: 00 DW_LNE_set_address (0x0000000000000368) +0x000005ab: 00 DW_LNE_set_address (0x0000000000000343) 0x000005b2: 03 DW_LNS_advance_line (79) 0x000005b4: 05 DW_LNS_set_column (16) 0x000005b6: 06 DW_LNS_negate_stmt 0x000005b7: 01 DW_LNS_copy - 0x0000000000000368 79 16 1 0 0 is_stmt + 0x0000000000000343 79 16 1 0 0 is_stmt -0x000005b8: 00 DW_LNE_set_address (0x0000000000000370) +0x000005b8: 00 DW_LNE_set_address (0x000000000000034b) 0x000005bf: 05 DW_LNS_set_column (14) 0x000005c1: 06 DW_LNS_negate_stmt 0x000005c2: 01 DW_LNS_copy - 0x0000000000000370 79 14 1 0 0 + 0x000000000000034b 79 14 1 0 0 -0x000005c3: 00 DW_LNE_set_address (0x0000000000000381) +0x000005c3: 00 DW_LNE_set_address (0x000000000000035a) 0x000005ca: 05 DW_LNS_set_column (25) 0x000005cc: 01 DW_LNS_copy - 0x0000000000000381 79 25 1 0 0 + 0x000000000000035a 79 25 1 0 0 -0x000005cd: 00 DW_LNE_set_address (0x0000000000000388) +0x000005cd: 00 DW_LNE_set_address (0x0000000000000361) 0x000005d4: 03 DW_LNS_advance_line (81) 0x000005d6: 05 DW_LNS_set_column (11) 0x000005d8: 06 DW_LNS_negate_stmt 0x000005d9: 01 DW_LNS_copy - 0x0000000000000388 81 11 1 0 0 is_stmt + 0x0000000000000361 81 11 1 0 0 is_stmt -0x000005da: 00 DW_LNE_set_address (0x000000000000038d) +0x000005da: 00 DW_LNE_set_address (0x0000000000000366) 0x000005e1: 03 DW_LNS_advance_line (66) 0x000005e3: 05 DW_LNS_set_column (16) 0x000005e5: 01 DW_LNS_copy - 0x000000000000038d 66 16 1 0 0 is_stmt + 0x0000000000000366 66 16 1 0 0 is_stmt -0x000005e6: 00 DW_LNE_set_address (0x0000000000000394) +0x000005e6: 00 DW_LNE_set_address (0x000000000000036d) 0x000005ed: 03 DW_LNS_advance_line (74) 0x000005ef: 05 DW_LNS_set_column (22) 0x000005f1: 01 DW_LNS_copy - 0x0000000000000394 74 22 1 0 0 is_stmt + 0x000000000000036d 74 22 1 0 0 is_stmt -0x000005f2: 00 DW_LNE_set_address (0x00000000000003a3) +0x000005f2: 00 DW_LNE_set_address (0x000000000000037b) 0x000005f9: 03 DW_LNS_advance_line (67) 0x000005fb: 05 DW_LNS_set_column (13) 0x000005fd: 01 DW_LNS_copy - 0x00000000000003a3 67 13 1 0 0 is_stmt + 0x000000000000037b 67 13 1 0 0 is_stmt -0x000005fe: 00 DW_LNE_set_address (0x00000000000003a7) +0x000005fe: 00 DW_LNE_set_address (0x000000000000037f) 0x00000605: 03 DW_LNS_advance_line (68) 0x00000607: 01 DW_LNS_copy - 0x00000000000003a7 68 13 1 0 0 is_stmt + 0x000000000000037f 68 13 1 0 0 is_stmt -0x00000608: 00 DW_LNE_set_address (0x00000000000003ab) +0x00000608: 00 DW_LNE_set_address (0x0000000000000383) 0x0000060f: 03 DW_LNS_advance_line (69) 0x00000611: 01 DW_LNS_copy - 0x00000000000003ab 69 13 1 0 0 is_stmt + 0x0000000000000383 69 13 1 0 0 is_stmt -0x00000612: 00 DW_LNE_set_address (0x00000000000003af) +0x00000612: 00 DW_LNE_set_address (0x0000000000000387) 0x00000619: 03 DW_LNS_advance_line (70) 0x0000061b: 01 DW_LNS_copy - 0x00000000000003af 70 13 1 0 0 is_stmt + 0x0000000000000387 70 13 1 0 0 is_stmt -0x0000061c: 00 DW_LNE_set_address (0x00000000000003b2) +0x0000061c: 00 DW_LNE_set_address (0x000000000000038a) 0x00000623: 00 DW_LNE_end_sequence - 0x00000000000003b2 70 13 1 0 0 is_stmt end_sequence + 0x000000000000038a 70 13 1 0 0 is_stmt end_sequence -0x00000626: 00 DW_LNE_set_address (0x00000000000003b4) +0x00000626: 00 DW_LNE_set_address (0x000000000000038c) 0x0000062d: 03 DW_LNS_advance_line (152) 0x00000630: 01 DW_LNS_copy - 0x00000000000003b4 152 0 1 0 0 is_stmt + 0x000000000000038c 152 0 1 0 0 is_stmt -0x00000631: 00 DW_LNE_set_address (0x00000000000003d0) +0x00000631: 00 DW_LNE_set_address (0x00000000000003a8) 0x00000638: 03 DW_LNS_advance_line (153) 0x0000063a: 05 DW_LNS_set_column (17) 0x0000063c: 0a DW_LNS_set_prologue_end 0x0000063d: 01 DW_LNS_copy - 0x00000000000003d0 153 17 1 0 0 is_stmt prologue_end + 0x00000000000003a8 153 17 1 0 0 is_stmt prologue_end -0x0000063e: 00 DW_LNE_set_address (0x00000000000003d7) +0x0000063e: 00 DW_LNE_set_address (0x00000000000003af) 0x00000645: 05 DW_LNS_set_column (28) 0x00000647: 06 DW_LNS_negate_stmt 0x00000648: 01 DW_LNS_copy - 0x00000000000003d7 153 28 1 0 0 + 0x00000000000003af 153 28 1 0 0 -0x00000649: 00 DW_LNE_set_address (0x00000000000003dd) +0x00000649: 00 DW_LNE_set_address (0x00000000000003b4) 0x00000650: 05 DW_LNS_set_column (23) 0x00000652: 01 DW_LNS_copy - 0x00000000000003dd 153 23 1 0 0 + 0x00000000000003b4 153 23 1 0 0 -0x00000653: 00 DW_LNE_set_address (0x00000000000003e3) +0x00000653: 00 DW_LNE_set_address (0x00000000000003ba) 0x0000065a: 03 DW_LNS_advance_line (155) 0x0000065c: 05 DW_LNS_set_column (10) 0x0000065e: 06 DW_LNS_negate_stmt 0x0000065f: 01 DW_LNS_copy - 0x00000000000003e3 155 10 1 0 0 is_stmt + 0x00000000000003ba 155 10 1 0 0 is_stmt -0x00000660: 00 DW_LNE_set_address (0x00000000000003e4) +0x00000660: 00 DW_LNE_set_address (0x00000000000003bb) 0x00000667: 05 DW_LNS_set_column (8) 0x00000669: 06 DW_LNS_negate_stmt 0x0000066a: 01 DW_LNS_copy - 0x00000000000003e4 155 8 1 0 0 + 0x00000000000003bb 155 8 1 0 0 -0x0000066b: 00 DW_LNE_set_address (0x00000000000003e7) +0x0000066b: 00 DW_LNE_set_address (0x00000000000003be) 0x00000672: 03 DW_LNS_advance_line (156) 0x00000674: 05 DW_LNS_set_column (7) 0x00000676: 06 DW_LNS_negate_stmt 0x00000677: 01 DW_LNS_copy - 0x00000000000003e7 156 7 1 0 0 is_stmt + 0x00000000000003be 156 7 1 0 0 is_stmt -0x00000678: 00 DW_LNE_set_address (0x00000000000003f4) +0x00000678: 00 DW_LNE_set_address (0x00000000000003cb) 0x0000067f: 03 DW_LNS_advance_line (94) 0x00000681: 05 DW_LNS_set_column (18) 0x00000683: 01 DW_LNS_copy - 0x00000000000003f4 94 18 1 0 0 is_stmt + 0x00000000000003cb 94 18 1 0 0 is_stmt -0x00000684: 00 DW_LNE_set_address (0x000000000000040e) +0x00000684: 00 DW_LNE_set_address (0x00000000000003e5) 0x0000068b: 03 DW_LNS_advance_line (95) 0x0000068d: 05 DW_LNS_set_column (29) 0x0000068f: 01 DW_LNS_copy - 0x000000000000040e 95 29 1 0 0 is_stmt + 0x00000000000003e5 95 29 1 0 0 is_stmt -0x00000690: 00 DW_LNE_set_address (0x0000000000000410) +0x00000690: 00 DW_LNE_set_address (0x00000000000003e7) 0x00000697: 03 DW_LNS_advance_line (98) 0x00000699: 05 DW_LNS_set_column (19) 0x0000069b: 01 DW_LNS_copy - 0x0000000000000410 98 19 1 0 0 is_stmt + 0x00000000000003e7 98 19 1 0 0 is_stmt -0x0000069c: 00 DW_LNE_set_address (0x0000000000000418) +0x0000069c: 00 DW_LNE_set_address (0x00000000000003ee) 0x000006a3: 03 DW_LNS_advance_line (97) 0x000006a5: 05 DW_LNS_set_column (16) 0x000006a7: 01 DW_LNS_copy - 0x0000000000000418 97 16 1 0 0 is_stmt + 0x00000000000003ee 97 16 1 0 0 is_stmt -0x000006a8: 00 DW_LNE_set_address (0x0000000000000420) +0x000006a8: 00 DW_LNE_set_address (0x00000000000003f5) 0x000006af: 03 DW_LNS_advance_line (96) 0x000006b1: 01 DW_LNS_copy - 0x0000000000000420 96 16 1 0 0 is_stmt + 0x00000000000003f5 96 16 1 0 0 is_stmt -0x000006b2: 00 DW_LNE_set_address (0x000000000000042c) +0x000006b2: 00 DW_LNE_set_address (0x0000000000000400) 0x000006b9: 03 DW_LNS_advance_line (94) 0x000006bb: 05 DW_LNS_set_column (28) 0x000006bd: 01 DW_LNS_copy - 0x000000000000042c 94 28 1 0 0 is_stmt + 0x0000000000000400 94 28 1 0 0 is_stmt -0x000006be: 00 DW_LNE_set_address (0x0000000000000431) +0x000006be: 00 DW_LNE_set_address (0x0000000000000405) 0x000006c5: 05 DW_LNS_set_column (18) 0x000006c7: 06 DW_LNS_negate_stmt 0x000006c8: 01 DW_LNS_copy - 0x0000000000000431 94 18 1 0 0 + 0x0000000000000405 94 18 1 0 0 -0x000006c9: 00 DW_LNE_set_address (0x0000000000000436) +0x000006c9: 00 DW_LNE_set_address (0x000000000000040a) 0x000006d0: 05 DW_LNS_set_column (4) 0x000006d2: 01 DW_LNS_copy - 0x0000000000000436 94 4 1 0 0 + 0x000000000000040a 94 4 1 0 0 -0x000006d3: 00 DW_LNE_set_address (0x000000000000043e) +0x000006d3: 00 DW_LNE_set_address (0x0000000000000412) 0x000006da: 03 DW_LNS_advance_line (102) 0x000006dc: 05 DW_LNS_set_column (27) 0x000006de: 06 DW_LNS_negate_stmt 0x000006df: 01 DW_LNS_copy - 0x000000000000043e 102 27 1 0 0 is_stmt + 0x0000000000000412 102 27 1 0 0 is_stmt -0x000006e0: 00 DW_LNE_set_address (0x0000000000000443) +0x000006e0: 00 DW_LNE_set_address (0x0000000000000417) 0x000006e7: 05 DW_LNS_set_column (18) 0x000006e9: 06 DW_LNS_negate_stmt 0x000006ea: 01 DW_LNS_copy - 0x0000000000000443 102 18 1 0 0 + 0x0000000000000417 102 18 1 0 0 -0x000006eb: 00 DW_LNE_set_address (0x0000000000000449) +0x000006eb: 00 DW_LNE_set_address (0x000000000000041d) 0x000006f2: 03 DW_LNS_advance_line (103) 0x000006f4: 06 DW_LNS_negate_stmt 0x000006f5: 01 DW_LNS_copy - 0x0000000000000449 103 18 1 0 0 is_stmt + 0x000000000000041d 103 18 1 0 0 is_stmt -0x000006f6: 00 DW_LNE_set_address (0x0000000000000455) +0x000006f6: 00 DW_LNE_set_address (0x0000000000000429) 0x000006fd: 03 DW_LNS_advance_line (105) 0x000006ff: 01 DW_LNS_copy - 0x0000000000000455 105 18 1 0 0 is_stmt + 0x0000000000000429 105 18 1 0 0 is_stmt -0x00000700: 00 DW_LNE_set_address (0x000000000000045e) +0x00000700: 00 DW_LNE_set_address (0x0000000000000432) 0x00000707: 03 DW_LNS_advance_line (106) 0x00000709: 05 DW_LNS_set_column (7) 0x0000070b: 01 DW_LNS_copy - 0x000000000000045e 106 7 1 0 0 is_stmt + 0x0000000000000432 106 7 1 0 0 is_stmt -0x0000070c: 00 DW_LNE_set_address (0x0000000000000466) +0x0000070c: 00 DW_LNE_set_address (0x000000000000043a) 0x00000713: 05 DW_LNS_set_column (16) 0x00000715: 06 DW_LNS_negate_stmt 0x00000716: 01 DW_LNS_copy - 0x0000000000000466 106 16 1 0 0 + 0x000000000000043a 106 16 1 0 0 -0x00000717: 00 DW_LNE_set_address (0x000000000000046c) +0x00000717: 00 DW_LNE_set_address (0x000000000000043f) 0x0000071e: 03 DW_LNS_advance_line (105) 0x00000720: 05 DW_LNS_set_column (24) 0x00000722: 06 DW_LNS_negate_stmt 0x00000723: 01 DW_LNS_copy - 0x000000000000046c 105 24 1 0 0 is_stmt + 0x000000000000043f 105 24 1 0 0 is_stmt -0x00000724: 00 DW_LNE_set_address (0x0000000000000471) +0x00000724: 00 DW_LNE_set_address (0x0000000000000444) 0x0000072b: 05 DW_LNS_set_column (18) 0x0000072d: 06 DW_LNS_negate_stmt 0x0000072e: 01 DW_LNS_copy - 0x0000000000000471 105 18 1 0 0 + 0x0000000000000444 105 18 1 0 0 -0x0000072f: 00 DW_LNE_set_address (0x0000000000000497) +0x0000072f: 00 DW_LNE_set_address (0x000000000000046a) 0x00000736: 03 DW_LNS_advance_line (112) 0x00000738: 05 DW_LNS_set_column (13) 0x0000073a: 06 DW_LNS_negate_stmt 0x0000073b: 01 DW_LNS_copy - 0x0000000000000497 112 13 1 0 0 is_stmt + 0x000000000000046a 112 13 1 0 0 is_stmt -0x0000073c: 00 DW_LNE_set_address (0x0000000000000499) +0x0000073c: 00 DW_LNE_set_address (0x000000000000046c) 0x00000743: 05 DW_LNS_set_column (26) 0x00000745: 06 DW_LNS_negate_stmt 0x00000746: 01 DW_LNS_copy - 0x0000000000000499 112 26 1 0 0 + 0x000000000000046c 112 26 1 0 0 -0x00000747: 00 DW_LNE_set_address (0x00000000000004a7) +0x00000747: 00 DW_LNE_set_address (0x0000000000000479) 0x0000074e: 05 DW_LNS_set_column (35) 0x00000750: 01 DW_LNS_copy - 0x00000000000004a7 112 35 1 0 0 + 0x0000000000000479 112 35 1 0 0 -0x00000751: 00 DW_LNE_set_address (0x00000000000004a8) +0x00000751: 00 DW_LNE_set_address (0x000000000000047a) 0x00000758: 05 DW_LNS_set_column (13) 0x0000075a: 01 DW_LNS_copy - 0x00000000000004a8 112 13 1 0 0 + 0x000000000000047a 112 13 1 0 0 -0x0000075b: 00 DW_LNE_set_address (0x00000000000004b7) +0x0000075b: 00 DW_LNE_set_address (0x0000000000000488) 0x00000762: 03 DW_LNS_advance_line (111) 0x00000764: 05 DW_LNS_set_column (30) 0x00000766: 06 DW_LNS_negate_stmt 0x00000767: 01 DW_LNS_copy - 0x00000000000004b7 111 30 1 0 0 is_stmt + 0x0000000000000488 111 30 1 0 0 is_stmt -0x00000768: 00 DW_LNE_set_address (0x00000000000004bc) +0x00000768: 00 DW_LNE_set_address (0x000000000000048d) 0x0000076f: 05 DW_LNS_set_column (24) 0x00000771: 06 DW_LNS_negate_stmt 0x00000772: 01 DW_LNS_copy - 0x00000000000004bc 111 24 1 0 0 + 0x000000000000048d 111 24 1 0 0 -0x00000773: 00 DW_LNE_set_address (0x00000000000004c1) +0x00000773: 00 DW_LNE_set_address (0x0000000000000492) 0x0000077a: 05 DW_LNS_set_column (10) 0x0000077c: 01 DW_LNS_copy - 0x00000000000004c1 111 10 1 0 0 + 0x0000000000000492 111 10 1 0 0 -0x0000077d: 00 DW_LNE_set_address (0x00000000000004c6) +0x0000077d: 00 DW_LNE_set_address (0x0000000000000497) 0x00000784: 03 DW_LNS_advance_line (113) 0x00000786: 06 DW_LNS_negate_stmt 0x00000787: 01 DW_LNS_copy - 0x00000000000004c6 113 10 1 0 0 is_stmt + 0x0000000000000497 113 10 1 0 0 is_stmt -0x00000788: 00 DW_LNE_set_address (0x00000000000004c9) +0x00000788: 00 DW_LNE_set_address (0x000000000000049a) 0x0000078f: 03 DW_LNS_advance_line (118) 0x00000791: 05 DW_LNS_set_column (16) 0x00000793: 01 DW_LNS_copy - 0x00000000000004c9 118 16 1 0 0 is_stmt + 0x000000000000049a 118 16 1 0 0 is_stmt -0x00000794: 00 DW_LNE_set_address (0x00000000000004d2) +0x00000794: 00 DW_LNE_set_address (0x00000000000004a3) 0x0000079b: 03 DW_LNS_advance_line (119) 0x0000079d: 05 DW_LNS_set_column (10) 0x0000079f: 01 DW_LNS_copy - 0x00000000000004d2 119 10 1 0 0 is_stmt + 0x00000000000004a3 119 10 1 0 0 is_stmt -0x000007a0: 00 DW_LNE_set_address (0x00000000000004d4) +0x000007a0: 00 DW_LNE_set_address (0x00000000000004a5) 0x000007a7: 05 DW_LNS_set_column (18) 0x000007a9: 06 DW_LNS_negate_stmt 0x000007aa: 01 DW_LNS_copy - 0x00000000000004d4 119 18 1 0 0 + 0x00000000000004a5 119 18 1 0 0 -0x000007ab: 00 DW_LNE_set_address (0x00000000000004dd) +0x000007ab: 00 DW_LNE_set_address (0x00000000000004ae) 0x000007b2: 05 DW_LNS_set_column (10) 0x000007b4: 01 DW_LNS_copy - 0x00000000000004dd 119 10 1 0 0 + 0x00000000000004ae 119 10 1 0 0 -0x000007b5: 00 DW_LNE_set_address (0x00000000000004df) +0x000007b5: 00 DW_LNE_set_address (0x00000000000004b0) 0x000007bc: 05 DW_LNS_set_column (23) 0x000007be: 01 DW_LNS_copy - 0x00000000000004df 119 23 1 0 0 + 0x00000000000004b0 119 23 1 0 0 -0x000007bf: 00 DW_LNE_set_address (0x00000000000004e5) +0x000007bf: 00 DW_LNE_set_address (0x00000000000004b5) 0x000007c6: 03 DW_LNS_advance_line (118) 0x000007c8: 05 DW_LNS_set_column (16) 0x000007ca: 06 DW_LNS_negate_stmt 0x000007cb: 01 DW_LNS_copy - 0x00000000000004e5 118 16 1 0 0 is_stmt + 0x00000000000004b5 118 16 1 0 0 is_stmt -0x000007cc: 00 DW_LNE_set_address (0x00000000000004f0) +0x000007cc: 00 DW_LNE_set_address (0x00000000000004c0) 0x000007d3: 05 DW_LNS_set_column (7) 0x000007d5: 06 DW_LNS_negate_stmt 0x000007d6: 01 DW_LNS_copy - 0x00000000000004f0 118 7 1 0 0 + 0x00000000000004c0 118 7 1 0 0 -0x000007d7: 00 DW_LNE_set_address (0x00000000000004f6) +0x000007d7: 00 DW_LNE_set_address (0x00000000000004c6) 0x000007de: 03 DW_LNS_advance_line (122) 0x000007e0: 05 DW_LNS_set_column (16) 0x000007e2: 06 DW_LNS_negate_stmt 0x000007e3: 01 DW_LNS_copy - 0x00000000000004f6 122 16 1 0 0 is_stmt + 0x00000000000004c6 122 16 1 0 0 is_stmt -0x000007e4: 00 DW_LNE_set_address (0x000000000000050a) +0x000007e4: 00 DW_LNE_set_address (0x00000000000004da) 0x000007eb: 03 DW_LNS_advance_line (125) 0x000007ed: 05 DW_LNS_set_column (22) 0x000007ef: 01 DW_LNS_copy - 0x000000000000050a 125 22 1 0 0 is_stmt + 0x00000000000004da 125 22 1 0 0 is_stmt -0x000007f0: 00 DW_LNE_set_address (0x0000000000000512) +0x000007f0: 00 DW_LNE_set_address (0x00000000000004e1) 0x000007f7: 03 DW_LNS_advance_line (126) 0x000007f9: 05 DW_LNS_set_column (27) 0x000007fb: 01 DW_LNS_copy - 0x0000000000000512 126 27 1 0 0 is_stmt + 0x00000000000004e1 126 27 1 0 0 is_stmt -0x000007fc: 00 DW_LNE_set_address (0x000000000000051b) +0x000007fc: 00 DW_LNE_set_address (0x00000000000004ea) 0x00000803: 03 DW_LNS_advance_line (127) 0x00000805: 05 DW_LNS_set_column (16) 0x00000807: 01 DW_LNS_copy - 0x000000000000051b 127 16 1 0 0 is_stmt + 0x00000000000004ea 127 16 1 0 0 is_stmt -0x00000808: 00 DW_LNE_set_address (0x0000000000000523) +0x00000808: 00 DW_LNE_set_address (0x00000000000004f2) 0x0000080f: 05 DW_LNS_set_column (27) 0x00000811: 06 DW_LNS_negate_stmt 0x00000812: 01 DW_LNS_copy - 0x0000000000000523 127 27 1 0 0 + 0x00000000000004f2 127 27 1 0 0 -0x00000813: 00 DW_LNE_set_address (0x0000000000000525) +0x00000813: 00 DW_LNE_set_address (0x00000000000004f4) 0x0000081a: 05 DW_LNS_set_column (35) 0x0000081c: 01 DW_LNS_copy - 0x0000000000000525 127 35 1 0 0 + 0x00000000000004f4 127 35 1 0 0 -0x0000081d: 00 DW_LNE_set_address (0x000000000000052e) +0x0000081d: 00 DW_LNE_set_address (0x00000000000004fd) 0x00000824: 05 DW_LNS_set_column (27) 0x00000826: 01 DW_LNS_copy - 0x000000000000052e 127 27 1 0 0 + 0x00000000000004fd 127 27 1 0 0 -0x00000827: 00 DW_LNE_set_address (0x0000000000000534) +0x00000827: 00 DW_LNE_set_address (0x0000000000000502) 0x0000082e: 05 DW_LNS_set_column (25) 0x00000830: 01 DW_LNS_copy - 0x0000000000000534 127 25 1 0 0 + 0x0000000000000502 127 25 1 0 0 -0x00000831: 00 DW_LNE_set_address (0x0000000000000538) +0x00000831: 00 DW_LNE_set_address (0x0000000000000505) 0x00000838: 03 DW_LNS_advance_line (126) 0x0000083a: 05 DW_LNS_set_column (27) 0x0000083c: 06 DW_LNS_negate_stmt 0x0000083d: 01 DW_LNS_copy - 0x0000000000000538 126 27 1 0 0 is_stmt + 0x0000000000000505 126 27 1 0 0 is_stmt -0x0000083e: 00 DW_LNE_set_address (0x000000000000053d) +0x0000083e: 00 DW_LNE_set_address (0x000000000000050a) 0x00000845: 05 DW_LNS_set_column (13) 0x00000847: 06 DW_LNS_negate_stmt 0x00000848: 01 DW_LNS_copy - 0x000000000000053d 126 13 1 0 0 + 0x000000000000050a 126 13 1 0 0 -0x00000849: 00 DW_LNE_set_address (0x0000000000000545) +0x00000849: 00 DW_LNE_set_address (0x0000000000000512) 0x00000850: 03 DW_LNS_advance_line (128) 0x00000852: 06 DW_LNS_negate_stmt 0x00000853: 01 DW_LNS_copy - 0x0000000000000545 128 13 1 0 0 is_stmt + 0x0000000000000512 128 13 1 0 0 is_stmt -0x00000854: 00 DW_LNE_set_address (0x000000000000054d) +0x00000854: 00 DW_LNE_set_address (0x000000000000051a) 0x0000085b: 05 DW_LNS_set_column (22) 0x0000085d: 06 DW_LNS_negate_stmt 0x0000085e: 01 DW_LNS_copy - 0x000000000000054d 128 22 1 0 0 + 0x000000000000051a 128 22 1 0 0 -0x0000085f: 00 DW_LNE_set_address (0x0000000000000553) +0x0000085f: 00 DW_LNE_set_address (0x000000000000051f) 0x00000866: 03 DW_LNS_advance_line (130) 0x00000868: 05 DW_LNS_set_column (16) 0x0000086a: 06 DW_LNS_negate_stmt 0x0000086b: 01 DW_LNS_copy - 0x0000000000000553 130 16 1 0 0 is_stmt + 0x000000000000051f 130 16 1 0 0 is_stmt -0x0000086c: 00 DW_LNE_set_address (0x000000000000055b) +0x0000086c: 00 DW_LNE_set_address (0x0000000000000527) 0x00000873: 05 DW_LNS_set_column (14) 0x00000875: 06 DW_LNS_negate_stmt 0x00000876: 01 DW_LNS_copy - 0x000000000000055b 130 14 1 0 0 + 0x0000000000000527 130 14 1 0 0 -0x00000877: 00 DW_LNE_set_address (0x000000000000056c) +0x00000877: 00 DW_LNE_set_address (0x0000000000000536) 0x0000087e: 05 DW_LNS_set_column (25) 0x00000880: 01 DW_LNS_copy - 0x000000000000056c 130 25 1 0 0 + 0x0000000000000536 130 25 1 0 0 -0x00000881: 00 DW_LNE_set_address (0x0000000000000573) +0x00000881: 00 DW_LNE_set_address (0x000000000000053d) 0x00000888: 03 DW_LNS_advance_line (133) 0x0000088a: 05 DW_LNS_set_column (11) 0x0000088c: 06 DW_LNS_negate_stmt 0x0000088d: 01 DW_LNS_copy - 0x0000000000000573 133 11 1 0 0 is_stmt + 0x000000000000053d 133 11 1 0 0 is_stmt -0x0000088e: 00 DW_LNE_set_address (0x0000000000000578) +0x0000088e: 00 DW_LNE_set_address (0x0000000000000542) 0x00000895: 03 DW_LNS_advance_line (122) 0x00000897: 05 DW_LNS_set_column (16) 0x00000899: 01 DW_LNS_copy - 0x0000000000000578 122 16 1 0 0 is_stmt + 0x0000000000000542 122 16 1 0 0 is_stmt -0x0000089a: 00 DW_LNE_set_address (0x000000000000057d) +0x0000089a: 00 DW_LNE_set_address (0x0000000000000547) 0x000008a1: 05 DW_LNS_set_column (14) 0x000008a3: 06 DW_LNS_negate_stmt 0x000008a4: 01 DW_LNS_copy - 0x000000000000057d 122 14 1 0 0 + 0x0000000000000547 122 14 1 0 0 -0x000008a5: 00 DW_LNE_set_address (0x0000000000000583) +0x000008a5: 00 DW_LNE_set_address (0x000000000000054d) 0x000008ac: 03 DW_LNS_advance_line (110) 0x000008ae: 05 DW_LNS_set_column (11) 0x000008b0: 06 DW_LNS_negate_stmt 0x000008b1: 01 DW_LNS_copy - 0x0000000000000583 110 11 1 0 0 is_stmt + 0x000000000000054d 110 11 1 0 0 is_stmt -0x000008b2: 00 DW_LNE_set_address (0x000000000000058f) +0x000008b2: 00 DW_LNE_set_address (0x0000000000000559) 0x000008b9: 03 DW_LNS_advance_line (113) 0x000008bb: 05 DW_LNS_set_column (10) 0x000008bd: 01 DW_LNS_copy - 0x000000000000058f 113 10 1 0 0 is_stmt + 0x0000000000000559 113 10 1 0 0 is_stmt -0x000008be: 00 DW_LNE_set_address (0x0000000000000592) +0x000008be: 00 DW_LNE_set_address (0x000000000000055c) 0x000008c5: 03 DW_LNS_advance_line (118) 0x000008c7: 05 DW_LNS_set_column (16) 0x000008c9: 01 DW_LNS_copy - 0x0000000000000592 118 16 1 0 0 is_stmt + 0x000000000000055c 118 16 1 0 0 is_stmt -0x000008ca: 00 DW_LNE_set_address (0x000000000000059b) +0x000008ca: 00 DW_LNE_set_address (0x0000000000000565) 0x000008d1: 03 DW_LNS_advance_line (119) 0x000008d3: 05 DW_LNS_set_column (10) 0x000008d5: 01 DW_LNS_copy - 0x000000000000059b 119 10 1 0 0 is_stmt + 0x0000000000000565 119 10 1 0 0 is_stmt -0x000008d6: 00 DW_LNE_set_address (0x000000000000059d) +0x000008d6: 00 DW_LNE_set_address (0x0000000000000567) 0x000008dd: 05 DW_LNS_set_column (18) 0x000008df: 06 DW_LNS_negate_stmt 0x000008e0: 01 DW_LNS_copy - 0x000000000000059d 119 18 1 0 0 + 0x0000000000000567 119 18 1 0 0 -0x000008e1: 00 DW_LNE_set_address (0x00000000000005a6) +0x000008e1: 00 DW_LNE_set_address (0x0000000000000570) 0x000008e8: 05 DW_LNS_set_column (10) 0x000008ea: 01 DW_LNS_copy - 0x00000000000005a6 119 10 1 0 0 + 0x0000000000000570 119 10 1 0 0 -0x000008eb: 00 DW_LNE_set_address (0x00000000000005a8) +0x000008eb: 00 DW_LNE_set_address (0x0000000000000572) 0x000008f2: 05 DW_LNS_set_column (23) 0x000008f4: 01 DW_LNS_copy - 0x00000000000005a8 119 23 1 0 0 + 0x0000000000000572 119 23 1 0 0 -0x000008f5: 00 DW_LNE_set_address (0x00000000000005ae) +0x000008f5: 00 DW_LNE_set_address (0x0000000000000577) 0x000008fc: 03 DW_LNS_advance_line (118) 0x000008fe: 05 DW_LNS_set_column (16) 0x00000900: 06 DW_LNS_negate_stmt 0x00000901: 01 DW_LNS_copy - 0x00000000000005ae 118 16 1 0 0 is_stmt + 0x0000000000000577 118 16 1 0 0 is_stmt -0x00000902: 00 DW_LNE_set_address (0x00000000000005b9) +0x00000902: 00 DW_LNE_set_address (0x0000000000000582) 0x00000909: 05 DW_LNS_set_column (7) 0x0000090b: 06 DW_LNS_negate_stmt 0x0000090c: 01 DW_LNS_copy - 0x00000000000005b9 118 7 1 0 0 + 0x0000000000000582 118 7 1 0 0 -0x0000090d: 00 DW_LNE_set_address (0x00000000000005bf) +0x0000090d: 00 DW_LNE_set_address (0x0000000000000588) 0x00000914: 03 DW_LNS_advance_line (122) 0x00000916: 05 DW_LNS_set_column (16) 0x00000918: 06 DW_LNS_negate_stmt 0x00000919: 01 DW_LNS_copy - 0x00000000000005bf 122 16 1 0 0 is_stmt + 0x0000000000000588 122 16 1 0 0 is_stmt -0x0000091a: 00 DW_LNE_set_address (0x00000000000005c4) +0x0000091a: 00 DW_LNE_set_address (0x000000000000058d) 0x00000921: 05 DW_LNS_set_column (14) 0x00000923: 06 DW_LNS_negate_stmt 0x00000924: 01 DW_LNS_copy - 0x00000000000005c4 122 14 1 0 0 + 0x000000000000058d 122 14 1 0 0 -0x00000925: 00 DW_LNE_set_address (0x00000000000005cd) +0x00000925: 00 DW_LNE_set_address (0x0000000000000596) 0x0000092c: 03 DW_LNS_advance_line (125) 0x0000092e: 05 DW_LNS_set_column (22) 0x00000930: 06 DW_LNS_negate_stmt 0x00000931: 01 DW_LNS_copy - 0x00000000000005cd 125 22 1 0 0 is_stmt + 0x0000000000000596 125 22 1 0 0 is_stmt -0x00000932: 00 DW_LNE_set_address (0x00000000000005db) +0x00000932: 00 DW_LNE_set_address (0x00000000000005a3) 0x00000939: 03 DW_LNS_advance_line (126) 0x0000093b: 05 DW_LNS_set_column (27) 0x0000093d: 01 DW_LNS_copy - 0x00000000000005db 126 27 1 0 0 is_stmt + 0x00000000000005a3 126 27 1 0 0 is_stmt -0x0000093e: 00 DW_LNE_set_address (0x00000000000005e4) +0x0000093e: 00 DW_LNE_set_address (0x00000000000005ac) 0x00000945: 03 DW_LNS_advance_line (127) 0x00000947: 05 DW_LNS_set_column (16) 0x00000949: 01 DW_LNS_copy - 0x00000000000005e4 127 16 1 0 0 is_stmt + 0x00000000000005ac 127 16 1 0 0 is_stmt -0x0000094a: 00 DW_LNE_set_address (0x00000000000005ec) +0x0000094a: 00 DW_LNE_set_address (0x00000000000005b4) 0x00000951: 05 DW_LNS_set_column (27) 0x00000953: 06 DW_LNS_negate_stmt 0x00000954: 01 DW_LNS_copy - 0x00000000000005ec 127 27 1 0 0 + 0x00000000000005b4 127 27 1 0 0 -0x00000955: 00 DW_LNE_set_address (0x00000000000005ee) +0x00000955: 00 DW_LNE_set_address (0x00000000000005b6) 0x0000095c: 05 DW_LNS_set_column (35) 0x0000095e: 01 DW_LNS_copy - 0x00000000000005ee 127 35 1 0 0 + 0x00000000000005b6 127 35 1 0 0 -0x0000095f: 00 DW_LNE_set_address (0x00000000000005f7) +0x0000095f: 00 DW_LNE_set_address (0x00000000000005bf) 0x00000966: 05 DW_LNS_set_column (27) 0x00000968: 01 DW_LNS_copy - 0x00000000000005f7 127 27 1 0 0 + 0x00000000000005bf 127 27 1 0 0 -0x00000969: 00 DW_LNE_set_address (0x00000000000005fd) +0x00000969: 00 DW_LNE_set_address (0x00000000000005c4) 0x00000970: 05 DW_LNS_set_column (25) 0x00000972: 01 DW_LNS_copy - 0x00000000000005fd 127 25 1 0 0 + 0x00000000000005c4 127 25 1 0 0 -0x00000973: 00 DW_LNE_set_address (0x0000000000000601) +0x00000973: 00 DW_LNE_set_address (0x00000000000005c7) 0x0000097a: 03 DW_LNS_advance_line (126) 0x0000097c: 05 DW_LNS_set_column (27) 0x0000097e: 06 DW_LNS_negate_stmt 0x0000097f: 01 DW_LNS_copy - 0x0000000000000601 126 27 1 0 0 is_stmt + 0x00000000000005c7 126 27 1 0 0 is_stmt -0x00000980: 00 DW_LNE_set_address (0x0000000000000606) +0x00000980: 00 DW_LNE_set_address (0x00000000000005cc) 0x00000987: 05 DW_LNS_set_column (13) 0x00000989: 06 DW_LNS_negate_stmt 0x0000098a: 01 DW_LNS_copy - 0x0000000000000606 126 13 1 0 0 + 0x00000000000005cc 126 13 1 0 0 -0x0000098b: 00 DW_LNE_set_address (0x000000000000060e) +0x0000098b: 00 DW_LNE_set_address (0x00000000000005d4) 0x00000992: 03 DW_LNS_advance_line (128) 0x00000994: 06 DW_LNS_negate_stmt 0x00000995: 01 DW_LNS_copy - 0x000000000000060e 128 13 1 0 0 is_stmt + 0x00000000000005d4 128 13 1 0 0 is_stmt -0x00000996: 00 DW_LNE_set_address (0x0000000000000616) +0x00000996: 00 DW_LNE_set_address (0x00000000000005dc) 0x0000099d: 05 DW_LNS_set_column (22) 0x0000099f: 06 DW_LNS_negate_stmt 0x000009a0: 01 DW_LNS_copy - 0x0000000000000616 128 22 1 0 0 + 0x00000000000005dc 128 22 1 0 0 -0x000009a1: 00 DW_LNE_set_address (0x000000000000061c) +0x000009a1: 00 DW_LNE_set_address (0x00000000000005e1) 0x000009a8: 03 DW_LNS_advance_line (130) 0x000009aa: 05 DW_LNS_set_column (16) 0x000009ac: 06 DW_LNS_negate_stmt 0x000009ad: 01 DW_LNS_copy - 0x000000000000061c 130 16 1 0 0 is_stmt + 0x00000000000005e1 130 16 1 0 0 is_stmt -0x000009ae: 00 DW_LNE_set_address (0x0000000000000624) +0x000009ae: 00 DW_LNE_set_address (0x00000000000005e9) 0x000009b5: 05 DW_LNS_set_column (14) 0x000009b7: 06 DW_LNS_negate_stmt 0x000009b8: 01 DW_LNS_copy - 0x0000000000000624 130 14 1 0 0 + 0x00000000000005e9 130 14 1 0 0 -0x000009b9: 00 DW_LNE_set_address (0x0000000000000635) +0x000009b9: 00 DW_LNE_set_address (0x00000000000005f8) 0x000009c0: 05 DW_LNS_set_column (25) 0x000009c2: 01 DW_LNS_copy - 0x0000000000000635 130 25 1 0 0 + 0x00000000000005f8 130 25 1 0 0 -0x000009c3: 00 DW_LNE_set_address (0x000000000000063c) +0x000009c3: 00 DW_LNE_set_address (0x00000000000005ff) 0x000009ca: 03 DW_LNS_advance_line (133) 0x000009cc: 05 DW_LNS_set_column (11) 0x000009ce: 06 DW_LNS_negate_stmt 0x000009cf: 01 DW_LNS_copy - 0x000000000000063c 133 11 1 0 0 is_stmt + 0x00000000000005ff 133 11 1 0 0 is_stmt -0x000009d0: 00 DW_LNE_set_address (0x0000000000000641) +0x000009d0: 00 DW_LNE_set_address (0x0000000000000604) 0x000009d7: 03 DW_LNS_advance_line (122) 0x000009d9: 05 DW_LNS_set_column (16) 0x000009db: 01 DW_LNS_copy - 0x0000000000000641 122 16 1 0 0 is_stmt + 0x0000000000000604 122 16 1 0 0 is_stmt -0x000009dc: 00 DW_LNE_set_address (0x0000000000000646) +0x000009dc: 00 DW_LNE_set_address (0x0000000000000609) 0x000009e3: 05 DW_LNS_set_column (14) 0x000009e5: 06 DW_LNS_negate_stmt 0x000009e6: 01 DW_LNS_copy - 0x0000000000000646 122 14 1 0 0 + 0x0000000000000609 122 14 1 0 0 -0x000009e7: 00 DW_LNE_set_address (0x000000000000064c) +0x000009e7: 00 DW_LNE_set_address (0x000000000000060f) 0x000009ee: 03 DW_LNS_advance_line (110) 0x000009f0: 05 DW_LNS_set_column (11) 0x000009f2: 06 DW_LNS_negate_stmt 0x000009f3: 01 DW_LNS_copy - 0x000000000000064c 110 11 1 0 0 is_stmt + 0x000000000000060f 110 11 1 0 0 is_stmt -0x000009f4: 00 DW_LNE_set_address (0x0000000000000652) +0x000009f4: 00 DW_LNE_set_address (0x0000000000000615) 0x000009fb: 03 DW_LNS_advance_line (138) 0x000009fd: 05 DW_LNS_set_column (4) 0x000009ff: 01 DW_LNS_copy - 0x0000000000000652 138 4 1 0 0 is_stmt + 0x0000000000000615 138 4 1 0 0 is_stmt -0x00000a00: 00 DW_LNE_set_address (0x0000000000000656) +0x00000a00: 00 DW_LNE_set_address (0x0000000000000619) 0x00000a07: 03 DW_LNS_advance_line (139) 0x00000a09: 01 DW_LNS_copy - 0x0000000000000656 139 4 1 0 0 is_stmt + 0x0000000000000619 139 4 1 0 0 is_stmt -0x00000a0a: 00 DW_LNE_set_address (0x0000000000000666) +0x00000a0a: 00 DW_LNE_set_address (0x0000000000000629) 0x00000a11: 03 DW_LNS_advance_line (142) 0x00000a13: 05 DW_LNS_set_column (20) 0x00000a15: 01 DW_LNS_copy - 0x0000000000000666 142 20 1 0 0 is_stmt + 0x0000000000000629 142 20 1 0 0 is_stmt -0x00000a16: 00 DW_LNE_set_address (0x000000000000066e) +0x00000a16: 00 DW_LNE_set_address (0x0000000000000631) 0x00000a1d: 03 DW_LNS_advance_line (146) 0x00000a1f: 01 DW_LNS_copy - 0x000000000000066e 146 20 1 0 0 is_stmt + 0x0000000000000631 146 20 1 0 0 is_stmt -0x00000a20: 00 DW_LNE_set_address (0x0000000000000676) +0x00000a20: 00 DW_LNE_set_address (0x0000000000000638) 0x00000a27: 03 DW_LNS_advance_line (147) 0x00000a29: 05 DW_LNS_set_column (7) 0x00000a2b: 01 DW_LNS_copy - 0x0000000000000676 147 7 1 0 0 is_stmt + 0x0000000000000638 147 7 1 0 0 is_stmt -0x00000a2c: 00 DW_LNE_set_address (0x000000000000067a) +0x00000a2c: 00 DW_LNE_set_address (0x000000000000063c) 0x00000a33: 03 DW_LNS_advance_line (143) 0x00000a35: 05 DW_LNS_set_column (11) 0x00000a37: 01 DW_LNS_copy - 0x000000000000067a 143 11 1 0 0 is_stmt + 0x000000000000063c 143 11 1 0 0 is_stmt -0x00000a38: 00 DW_LNE_set_address (0x000000000000067e) +0x00000a38: 00 DW_LNE_set_address (0x0000000000000640) 0x00000a3f: 05 DW_LNS_set_column (20) 0x00000a41: 06 DW_LNS_negate_stmt 0x00000a42: 01 DW_LNS_copy - 0x000000000000067e 143 20 1 0 0 + 0x0000000000000640 143 20 1 0 0 -0x00000a43: 00 DW_LNE_set_address (0x0000000000000683) +0x00000a43: 00 DW_LNE_set_address (0x0000000000000645) 0x00000a4a: 05 DW_LNS_set_column (11) 0x00000a4c: 01 DW_LNS_copy - 0x0000000000000683 143 11 1 0 0 + 0x0000000000000645 143 11 1 0 0 -0x00000a4d: 00 DW_LNE_set_address (0x000000000000068a) +0x00000a4d: 00 DW_LNE_set_address (0x000000000000064c) 0x00000a54: 03 DW_LNS_advance_line (141) 0x00000a56: 05 DW_LNS_set_column (4) 0x00000a58: 06 DW_LNS_negate_stmt 0x00000a59: 01 DW_LNS_copy - 0x000000000000068a 141 4 1 0 0 is_stmt + 0x000000000000064c 141 4 1 0 0 is_stmt -0x00000a5a: 00 DW_LNE_set_address (0x0000000000000690) +0x00000a5a: 00 DW_LNE_set_address (0x0000000000000652) 0x00000a61: 03 DW_LNS_advance_line (159) 0x00000a63: 01 DW_LNS_copy - 0x0000000000000690 159 4 1 0 0 is_stmt + 0x0000000000000652 159 4 1 0 0 is_stmt -0x00000a64: 00 DW_LNE_set_address (0x00000000000006a9) +0x00000a64: 00 DW_LNE_set_address (0x0000000000000669) 0x00000a6b: 03 DW_LNS_advance_line (161) 0x00000a6d: 05 DW_LNS_set_column (1) 0x00000a6f: 01 DW_LNS_copy - 0x00000000000006a9 161 1 1 0 0 is_stmt + 0x0000000000000669 161 1 1 0 0 is_stmt -0x00000a70: 00 DW_LNE_set_address (0x00000000000006b3) +0x00000a70: 00 DW_LNE_set_address (0x0000000000000673) 0x00000a77: 00 DW_LNE_end_sequence - 0x00000000000006b3 161 1 1 0 0 is_stmt end_sequence + 0x0000000000000673 161 1 1 0 0 is_stmt end_sequence .debug_str contents: @@ -4686,16 +4686,16 @@ file_names[ 4]: 0x000001ad: "char" .debug_ranges contents: -00000000 00000193 000001d4 -00000000 00000200 0000020a -00000000 00000327 00000368 -00000000 00000394 0000039e +00000000 00000184 000001c2 +00000000 000001ec 000001f5 +00000000 00000305 00000343 +00000000 0000036d 00000376 00000000 -00000028 0000050a 00000553 -00000028 000005cd 0000061c +00000028 000004da 0000051f +00000028 00000596 000005e1 00000028 -00000040 00000007 000003b2 -00000040 000003b4 000006b3 +00000040 00000007 0000038a +00000040 0000038c 00000673 00000040 (module (type $i32_=>_i32 (func (param i32) (result i32))) @@ -4738,15 +4738,15 @@ file_names[ 4]: (local $14 i32) (local $15 i32) (local $16 i32) - ;; code offset: 0x37 + ;; code offset: 0x36 (local.set $3 - ;; code offset: 0x35 + ;; code offset: 0x34 (call $malloc - ;; code offset: 0x33 + ;; code offset: 0x32 (local.tee $12 - ;; code offset: 0x32 + ;; code offset: 0x31 (i32.shl - ;; code offset: 0x2e + ;; code offset: 0x2d (local.tee $2 ;; code offset: 0x2a (i32.load $mimport$0 offset=4 @@ -4754,358 +4754,358 @@ file_names[ 4]: (local.get $0) ) ) - ;; code offset: 0x30 + ;; code offset: 0x2f (i32.const 2) ) ) ) ) - ;; code offset: 0x3d + ;; code offset: 0x3c (local.set $8 - ;; code offset: 0x3b + ;; code offset: 0x3a (call $malloc - ;; code offset: 0x39 + ;; code offset: 0x38 (local.get $12) ) ) - ;; code offset: 0x43 + ;; code offset: 0x42 (local.set $9 - ;; code offset: 0x41 + ;; code offset: 0x40 (call $malloc - ;; code offset: 0x3f + ;; code offset: 0x3e (local.get $12) ) ) - ;; code offset: 0x45 + ;; code offset: 0x44 (block $label$1 (block $label$2 - ;; code offset: 0x4e + ;; code offset: 0x4d (if - ;; code offset: 0x4d + ;; code offset: 0x4c (i32.gt_s - ;; code offset: 0x49 + ;; code offset: 0x48 (local.get $2) - ;; code offset: 0x4b + ;; code offset: 0x4a (i32.const 0) ) (block - ;; code offset: 0x50 + ;; code offset: 0x4f (loop $label$4 - ;; code offset: 0x5c + ;; code offset: 0x5b (i32.store $mimport$0 - ;; code offset: 0x59 + ;; code offset: 0x58 (i32.add - ;; code offset: 0x52 + ;; code offset: 0x51 (local.get $3) - ;; code offset: 0x58 + ;; code offset: 0x57 (i32.shl - ;; code offset: 0x54 + ;; code offset: 0x53 (local.get $1) - ;; code offset: 0x56 + ;; code offset: 0x55 (i32.const 2) ) ) - ;; code offset: 0x5a + ;; code offset: 0x59 (local.get $1) ) - ;; code offset: 0x6a + ;; code offset: 0x68 (br_if $label$4 - ;; code offset: 0x69 + ;; code offset: 0x67 (i32.ne - ;; code offset: 0x65 + ;; code offset: 0x63 (local.tee $1 - ;; code offset: 0x64 + ;; code offset: 0x62 (i32.add - ;; code offset: 0x60 + ;; code offset: 0x5e (local.get $1) - ;; code offset: 0x62 + ;; code offset: 0x60 (i32.const 1) ) ) - ;; code offset: 0x67 + ;; code offset: 0x65 (local.get $2) ) ) ) - ;; code offset: 0x82 + ;; code offset: 0x7f (i32.store $mimport$0 - ;; code offset: 0x7a + ;; code offset: 0x77 (i32.add - ;; code offset: 0x6d + ;; code offset: 0x6b (local.get $3) - ;; code offset: 0x79 + ;; code offset: 0x76 (i32.shl - ;; code offset: 0x75 + ;; code offset: 0x72 (local.tee $1 - ;; code offset: 0x71 + ;; code offset: 0x6f (i32.load $mimport$0 - ;; code offset: 0x6f + ;; code offset: 0x6d (local.get $0) ) ) - ;; code offset: 0x77 + ;; code offset: 0x74 (i32.const 2) ) ) - ;; code offset: 0x80 + ;; code offset: 0x7d (local.tee $4 - ;; code offset: 0x7f + ;; code offset: 0x7c (i32.sub - ;; code offset: 0x7b + ;; code offset: 0x78 (local.get $2) - ;; code offset: 0x7d + ;; code offset: 0x7a (i32.const 1) ) ) ) - ;; code offset: 0x92 + ;; code offset: 0x8e (i32.store $mimport$0 - ;; code offset: 0x8e + ;; code offset: 0x8a (local.tee $13 - ;; code offset: 0x8d + ;; code offset: 0x89 (i32.add - ;; code offset: 0x86 + ;; code offset: 0x82 (local.get $3) - ;; code offset: 0x8c + ;; code offset: 0x88 (i32.shl - ;; code offset: 0x88 + ;; code offset: 0x84 (local.get $4) - ;; code offset: 0x8a + ;; code offset: 0x86 (i32.const 2) ) ) ) - ;; code offset: 0x90 + ;; code offset: 0x8c (local.get $1) ) - ;; code offset: 0x9b + ;; code offset: 0x96 (br_if $label$2 - ;; code offset: 0x9a + ;; code offset: 0x95 (i32.le_s - ;; code offset: 0x96 + ;; code offset: 0x91 (local.get $2) - ;; code offset: 0x98 + ;; code offset: 0x93 (i32.const 0) ) ) - ;; code offset: 0x9d + ;; code offset: 0x98 (loop $label$5 - ;; code offset: 0xa4 + ;; code offset: 0x9f (if - ;; code offset: 0xa3 + ;; code offset: 0x9e (i32.gt_s - ;; code offset: 0x9f + ;; code offset: 0x9a (local.get $2) - ;; code offset: 0xa1 + ;; code offset: 0x9c (i32.const 1) ) - ;; code offset: 0xa6 + ;; code offset: 0xa1 (loop $label$7 - ;; code offset: 0xb7 + ;; code offset: 0xb2 (i32.store $mimport$0 - ;; code offset: 0xb4 + ;; code offset: 0xaf (i32.add - ;; code offset: 0xa8 + ;; code offset: 0xa3 (local.get $9) - ;; code offset: 0xb3 + ;; code offset: 0xae (i32.shl - ;; code offset: 0xaf + ;; code offset: 0xaa (local.tee $1 - ;; code offset: 0xae + ;; code offset: 0xa9 (i32.sub - ;; code offset: 0xaa + ;; code offset: 0xa5 (local.get $2) - ;; code offset: 0xac + ;; code offset: 0xa7 (i32.const 1) ) ) - ;; code offset: 0xb1 + ;; code offset: 0xac (i32.const 2) ) ) - ;; code offset: 0xb5 + ;; code offset: 0xb0 (local.get $2) ) - ;; code offset: 0xc0 + ;; code offset: 0xba (local.set $0 - ;; code offset: 0xbf + ;; code offset: 0xb9 (i32.gt_s - ;; code offset: 0xbb + ;; code offset: 0xb5 (local.get $2) - ;; code offset: 0xbd + ;; code offset: 0xb7 (i32.const 2) ) ) - ;; code offset: 0xc4 + ;; code offset: 0xbe (local.set $2 - ;; code offset: 0xc2 + ;; code offset: 0xbc (local.get $1) ) - ;; code offset: 0xc8 + ;; code offset: 0xc2 (br_if $label$7 - ;; code offset: 0xc6 + ;; code offset: 0xc0 (local.get $0) ) ) ) - ;; code offset: 0xcc + ;; code offset: 0xc6 (block $label$8 - ;; code offset: 0xd7 + ;; code offset: 0xd0 (br_if $label$8 - ;; code offset: 0xd6 + ;; code offset: 0xcf (i32.eqz - ;; code offset: 0xd4 + ;; code offset: 0xcd (local.tee $10 - ;; code offset: 0xd0 + ;; code offset: 0xca (i32.load $mimport$0 - ;; code offset: 0xce + ;; code offset: 0xc8 (local.get $3) ) ) ) ) - ;; code offset: 0xe2 + ;; code offset: 0xda (br_if $label$8 - ;; code offset: 0xe1 + ;; code offset: 0xd9 (i32.eq - ;; code offset: 0xdb + ;; code offset: 0xd4 (i32.load $mimport$0 - ;; code offset: 0xd9 + ;; code offset: 0xd2 (local.get $13) ) - ;; code offset: 0xdf + ;; code offset: 0xd7 (local.get $4) ) ) - ;; code offset: 0xf2 + ;; code offset: 0xe9 (local.set $6 - ;; code offset: 0xee + ;; code offset: 0xe6 (i32.load $mimport$0 - ;; code offset: 0xec + ;; code offset: 0xe4 (local.tee $11 - ;; code offset: 0xea + ;; code offset: 0xe2 (call $memcpy - ;; code offset: 0xe4 + ;; code offset: 0xdc (local.get $8) - ;; code offset: 0xe6 + ;; code offset: 0xde (local.get $3) - ;; code offset: 0xe8 + ;; code offset: 0xe0 (local.get $12) ) ) ) ) - ;; code offset: 0xf6 + ;; code offset: 0xed (local.set $0 - ;; code offset: 0xf4 + ;; code offset: 0xeb (i32.const 0) ) - ;; code offset: 0xf8 + ;; code offset: 0xef (loop $label$9 - ;; code offset: 0xfc + ;; code offset: 0xf3 (local.set $16 - ;; code offset: 0xfa + ;; code offset: 0xf1 (local.get $0) ) - ;; code offset: 0x103 + ;; code offset: 0xfa (if - ;; code offset: 0x102 + ;; code offset: 0xf9 (i32.ge_s - ;; code offset: 0xfe + ;; code offset: 0xf5 (local.get $6) - ;; code offset: 0x100 + ;; code offset: 0xf7 (i32.const 3) ) (block - ;; code offset: 0x10a + ;; code offset: 0x101 (local.set $1 - ;; code offset: 0x109 + ;; code offset: 0x100 (i32.sub - ;; code offset: 0x105 + ;; code offset: 0xfc (local.get $6) - ;; code offset: 0x107 + ;; code offset: 0xfe (i32.const 1) ) ) - ;; code offset: 0x10e + ;; code offset: 0x105 (local.set $0 - ;; code offset: 0x10c + ;; code offset: 0x103 (i32.const 1) ) - ;; code offset: 0x110 + ;; code offset: 0x107 (loop $label$11 - ;; code offset: 0x120 + ;; code offset: 0x116 (local.set $15 - ;; code offset: 0x11c + ;; code offset: 0x113 (i32.load $mimport$0 - ;; code offset: 0x11a + ;; code offset: 0x111 (local.tee $14 - ;; code offset: 0x119 + ;; code offset: 0x110 (i32.add - ;; code offset: 0x112 + ;; code offset: 0x109 (local.get $11) - ;; code offset: 0x118 + ;; code offset: 0x10f (i32.shl - ;; code offset: 0x114 + ;; code offset: 0x10b (local.get $0) - ;; code offset: 0x116 + ;; code offset: 0x10d (i32.const 2) ) ) ) ) ) - ;; code offset: 0x132 + ;; code offset: 0x127 (i32.store $mimport$0 - ;; code offset: 0x122 + ;; code offset: 0x118 (local.get $14) - ;; code offset: 0x12e + ;; code offset: 0x124 (i32.load $mimport$0 - ;; code offset: 0x12c + ;; code offset: 0x122 (local.tee $7 - ;; code offset: 0x12b + ;; code offset: 0x121 (i32.add - ;; code offset: 0x124 + ;; code offset: 0x11a (local.get $11) - ;; code offset: 0x12a + ;; code offset: 0x120 (i32.shl - ;; code offset: 0x126 + ;; code offset: 0x11c (local.get $1) - ;; code offset: 0x128 + ;; code offset: 0x11e (i32.const 2) ) ) ) ) ) - ;; code offset: 0x13a + ;; code offset: 0x12e (i32.store $mimport$0 - ;; code offset: 0x136 + ;; code offset: 0x12a (local.get $7) - ;; code offset: 0x138 + ;; code offset: 0x12c (local.get $15) ) - ;; code offset: 0x14d + ;; code offset: 0x140 (br_if $label$11 - ;; code offset: 0x14c + ;; code offset: 0x13f (i32.lt_s - ;; code offset: 0x143 + ;; code offset: 0x136 (local.tee $0 - ;; code offset: 0x142 + ;; code offset: 0x135 (i32.add - ;; code offset: 0x13e + ;; code offset: 0x131 (local.get $0) - ;; code offset: 0x140 + ;; code offset: 0x133 (i32.const 1) ) ) - ;; code offset: 0x14a + ;; code offset: 0x13d (local.tee $1 - ;; code offset: 0x149 + ;; code offset: 0x13c (i32.sub - ;; code offset: 0x145 + ;; code offset: 0x138 (local.get $1) - ;; code offset: 0x147 + ;; code offset: 0x13a (i32.const 1) ) ) @@ -5114,508 +5114,508 @@ file_names[ 4]: ) ) ) - ;; code offset: 0x15f + ;; code offset: 0x151 (local.set $1 - ;; code offset: 0x15b + ;; code offset: 0x14e (i32.load $mimport$0 - ;; code offset: 0x159 + ;; code offset: 0x14c (local.tee $0 - ;; code offset: 0x158 + ;; code offset: 0x14b (i32.add - ;; code offset: 0x151 + ;; code offset: 0x144 (local.get $11) - ;; code offset: 0x157 + ;; code offset: 0x14a (i32.shl - ;; code offset: 0x153 + ;; code offset: 0x146 (local.get $6) - ;; code offset: 0x155 + ;; code offset: 0x148 (i32.const 2) ) ) ) ) ) - ;; code offset: 0x165 + ;; code offset: 0x157 (i32.store $mimport$0 - ;; code offset: 0x161 + ;; code offset: 0x153 (local.get $0) - ;; code offset: 0x163 + ;; code offset: 0x155 (local.get $6) ) - ;; code offset: 0x16e + ;; code offset: 0x15f (local.set $0 - ;; code offset: 0x16d + ;; code offset: 0x15e (i32.add - ;; code offset: 0x169 + ;; code offset: 0x15a (local.get $16) - ;; code offset: 0x16b + ;; code offset: 0x15c (i32.const 1) ) ) - ;; code offset: 0x172 + ;; code offset: 0x163 (local.set $6 - ;; code offset: 0x170 + ;; code offset: 0x161 (local.get $1) ) - ;; code offset: 0x176 + ;; code offset: 0x167 (br_if $label$9 - ;; code offset: 0x174 + ;; code offset: 0x165 (local.get $1) ) ) - ;; code offset: 0x183 + ;; code offset: 0x174 (local.set $5 - ;; code offset: 0x182 + ;; code offset: 0x173 (select - ;; code offset: 0x179 + ;; code offset: 0x16a (local.get $5) - ;; code offset: 0x17b + ;; code offset: 0x16c (local.get $0) - ;; code offset: 0x181 + ;; code offset: 0x172 (i32.gt_s - ;; code offset: 0x17d + ;; code offset: 0x16e (local.get $5) - ;; code offset: 0x17f + ;; code offset: 0x170 (local.get $16) ) ) ) ) - ;; code offset: 0x18b + ;; code offset: 0x17c (br_if $label$1 - ;; code offset: 0x18a + ;; code offset: 0x17b (i32.ge_s - ;; code offset: 0x186 + ;; code offset: 0x177 (local.get $2) - ;; code offset: 0x188 + ;; code offset: 0x179 (local.get $4) ) ) - ;; code offset: 0x18d + ;; code offset: 0x17e (loop $label$12 - ;; code offset: 0x191 + ;; code offset: 0x182 (local.set $1 - ;; code offset: 0x18f + ;; code offset: 0x180 (i32.const 0) ) - ;; code offset: 0x198 + ;; code offset: 0x189 (if - ;; code offset: 0x197 + ;; code offset: 0x188 (i32.gt_s - ;; code offset: 0x193 + ;; code offset: 0x184 (local.get $2) - ;; code offset: 0x195 + ;; code offset: 0x186 (i32.const 0) ) (block - ;; code offset: 0x19a + ;; code offset: 0x18b (loop $label$14 - ;; code offset: 0x1b5 + ;; code offset: 0x1a5 (i32.store $mimport$0 - ;; code offset: 0x1a3 + ;; code offset: 0x194 (i32.add - ;; code offset: 0x19c + ;; code offset: 0x18d (local.get $3) - ;; code offset: 0x1a2 + ;; code offset: 0x193 (i32.shl - ;; code offset: 0x19e + ;; code offset: 0x18f (local.get $1) - ;; code offset: 0x1a0 + ;; code offset: 0x191 (i32.const 2) ) ) - ;; code offset: 0x1b1 + ;; code offset: 0x1a2 (i32.load $mimport$0 - ;; code offset: 0x1b0 + ;; code offset: 0x1a1 (i32.add - ;; code offset: 0x1a4 + ;; code offset: 0x195 (local.get $3) - ;; code offset: 0x1af + ;; code offset: 0x1a0 (i32.shl - ;; code offset: 0x1ab + ;; code offset: 0x19c (local.tee $1 - ;; code offset: 0x1aa + ;; code offset: 0x19b (i32.add - ;; code offset: 0x1a6 + ;; code offset: 0x197 (local.get $1) - ;; code offset: 0x1a8 + ;; code offset: 0x199 (i32.const 1) ) ) - ;; code offset: 0x1ad + ;; code offset: 0x19e (i32.const 2) ) ) ) ) - ;; code offset: 0x1be + ;; code offset: 0x1ad (br_if $label$14 - ;; code offset: 0x1bd + ;; code offset: 0x1ac (i32.ne - ;; code offset: 0x1b9 + ;; code offset: 0x1a8 (local.get $1) - ;; code offset: 0x1bb + ;; code offset: 0x1aa (local.get $2) ) ) ) - ;; code offset: 0x1c3 + ;; code offset: 0x1b2 (local.set $1 - ;; code offset: 0x1c1 + ;; code offset: 0x1b0 (local.get $2) ) ) ) - ;; code offset: 0x1d0 + ;; code offset: 0x1bf (i32.store $mimport$0 - ;; code offset: 0x1cd + ;; code offset: 0x1bc (i32.add - ;; code offset: 0x1c6 + ;; code offset: 0x1b5 (local.get $3) - ;; code offset: 0x1cc + ;; code offset: 0x1bb (i32.shl - ;; code offset: 0x1c8 + ;; code offset: 0x1b7 (local.get $1) - ;; code offset: 0x1ca + ;; code offset: 0x1b9 (i32.const 2) ) ) - ;; code offset: 0x1ce + ;; code offset: 0x1bd (local.get $10) ) - ;; code offset: 0x1e9 + ;; code offset: 0x1d6 (i32.store $mimport$0 - ;; code offset: 0x1dc + ;; code offset: 0x1ca (local.tee $1 - ;; code offset: 0x1db + ;; code offset: 0x1c9 (i32.add - ;; code offset: 0x1d4 + ;; code offset: 0x1c2 (local.get $9) - ;; code offset: 0x1da + ;; code offset: 0x1c8 (i32.shl - ;; code offset: 0x1d6 + ;; code offset: 0x1c4 (local.get $2) - ;; code offset: 0x1d8 + ;; code offset: 0x1c6 (i32.const 2) ) ) ) - ;; code offset: 0x1e8 + ;; code offset: 0x1d5 (i32.sub - ;; code offset: 0x1e4 + ;; code offset: 0x1d1 (local.tee $1 - ;; code offset: 0x1e0 + ;; code offset: 0x1ce (i32.load $mimport$0 - ;; code offset: 0x1de + ;; code offset: 0x1cc (local.get $1) ) ) - ;; code offset: 0x1e6 + ;; code offset: 0x1d3 (i32.const 1) ) ) - ;; code offset: 0x1f2 + ;; code offset: 0x1de (br_if $label$5 - ;; code offset: 0x1f1 + ;; code offset: 0x1dd (i32.gt_s - ;; code offset: 0x1ed + ;; code offset: 0x1d9 (local.get $1) - ;; code offset: 0x1ef + ;; code offset: 0x1db (i32.const 1) ) ) - ;; code offset: 0x1fe + ;; code offset: 0x1ea (br_if $label$1 - ;; code offset: 0x1fd + ;; code offset: 0x1e9 (i32.eq - ;; code offset: 0x1f9 + ;; code offset: 0x1e5 (local.tee $2 - ;; code offset: 0x1f8 + ;; code offset: 0x1e4 (i32.add - ;; code offset: 0x1f4 + ;; code offset: 0x1e0 (local.get $2) - ;; code offset: 0x1f6 + ;; code offset: 0x1e2 (i32.const 1) ) ) - ;; code offset: 0x1fb + ;; code offset: 0x1e7 (local.get $4) ) ) - ;; code offset: 0x206 + ;; code offset: 0x1f1 (local.set $10 - ;; code offset: 0x202 + ;; code offset: 0x1ee (i32.load $mimport$0 - ;; code offset: 0x200 + ;; code offset: 0x1ec (local.get $3) ) ) - ;; code offset: 0x208 + ;; code offset: 0x1f3 (br $label$12) ) ) ) ) - ;; code offset: 0x224 + ;; code offset: 0x20e (i32.store $mimport$0 - ;; code offset: 0x21c + ;; code offset: 0x206 (i32.add - ;; code offset: 0x20f + ;; code offset: 0x1fa (local.get $3) - ;; code offset: 0x21b + ;; code offset: 0x205 (i32.shl - ;; code offset: 0x217 + ;; code offset: 0x201 (local.tee $1 - ;; code offset: 0x213 + ;; code offset: 0x1fe (i32.load $mimport$0 - ;; code offset: 0x211 + ;; code offset: 0x1fc (local.get $0) ) ) - ;; code offset: 0x219 + ;; code offset: 0x203 (i32.const 2) ) ) - ;; code offset: 0x222 + ;; code offset: 0x20c (local.tee $4 - ;; code offset: 0x221 + ;; code offset: 0x20b (i32.sub - ;; code offset: 0x21d + ;; code offset: 0x207 (local.get $2) - ;; code offset: 0x21f + ;; code offset: 0x209 (i32.const 1) ) ) ) - ;; code offset: 0x234 + ;; code offset: 0x21d (i32.store $mimport$0 - ;; code offset: 0x230 + ;; code offset: 0x219 (local.tee $13 - ;; code offset: 0x22f + ;; code offset: 0x218 (i32.add - ;; code offset: 0x228 + ;; code offset: 0x211 (local.get $3) - ;; code offset: 0x22e + ;; code offset: 0x217 (i32.shl - ;; code offset: 0x22a + ;; code offset: 0x213 (local.get $4) - ;; code offset: 0x22c + ;; code offset: 0x215 (i32.const 2) ) ) ) - ;; code offset: 0x232 + ;; code offset: 0x21b (local.get $1) ) ) - ;; code offset: 0x239 + ;; code offset: 0x221 (loop $label$15 - ;; code offset: 0x240 + ;; code offset: 0x228 (if - ;; code offset: 0x23f + ;; code offset: 0x227 (i32.ge_s - ;; code offset: 0x23b + ;; code offset: 0x223 (local.get $2) - ;; code offset: 0x23d + ;; code offset: 0x225 (i32.const 2) ) - ;; code offset: 0x242 + ;; code offset: 0x22a (loop $label$17 - ;; code offset: 0x253 + ;; code offset: 0x23b (i32.store $mimport$0 - ;; code offset: 0x250 + ;; code offset: 0x238 (i32.add - ;; code offset: 0x244 + ;; code offset: 0x22c (local.get $9) - ;; code offset: 0x24f + ;; code offset: 0x237 (i32.shl - ;; code offset: 0x24b + ;; code offset: 0x233 (local.tee $1 - ;; code offset: 0x24a + ;; code offset: 0x232 (i32.sub - ;; code offset: 0x246 + ;; code offset: 0x22e (local.get $2) - ;; code offset: 0x248 + ;; code offset: 0x230 (i32.const 1) ) ) - ;; code offset: 0x24d + ;; code offset: 0x235 (i32.const 2) ) ) - ;; code offset: 0x251 + ;; code offset: 0x239 (local.get $2) ) - ;; code offset: 0x25c + ;; code offset: 0x243 (local.set $0 - ;; code offset: 0x25b + ;; code offset: 0x242 (i32.gt_s - ;; code offset: 0x257 + ;; code offset: 0x23e (local.get $2) - ;; code offset: 0x259 + ;; code offset: 0x240 (i32.const 2) ) ) - ;; code offset: 0x260 + ;; code offset: 0x247 (local.set $2 - ;; code offset: 0x25e + ;; code offset: 0x245 (local.get $1) ) - ;; code offset: 0x264 + ;; code offset: 0x24b (br_if $label$17 - ;; code offset: 0x262 + ;; code offset: 0x249 (local.get $0) ) ) ) - ;; code offset: 0x268 + ;; code offset: 0x24f (block $label$18 - ;; code offset: 0x273 + ;; code offset: 0x259 (br_if $label$18 - ;; code offset: 0x272 + ;; code offset: 0x258 (i32.eqz - ;; code offset: 0x270 + ;; code offset: 0x256 (local.tee $6 - ;; code offset: 0x26c + ;; code offset: 0x253 (i32.load $mimport$0 - ;; code offset: 0x26a + ;; code offset: 0x251 (local.get $3) ) ) ) ) - ;; code offset: 0x27e + ;; code offset: 0x263 (br_if $label$18 - ;; code offset: 0x27d + ;; code offset: 0x262 (i32.eq - ;; code offset: 0x277 + ;; code offset: 0x25d (i32.load $mimport$0 - ;; code offset: 0x275 + ;; code offset: 0x25b (local.get $13) ) - ;; code offset: 0x27b + ;; code offset: 0x260 (local.get $4) ) ) - ;; code offset: 0x286 + ;; code offset: 0x26a (local.set $7 - ;; code offset: 0x282 + ;; code offset: 0x267 (i32.load $mimport$0 - ;; code offset: 0x280 + ;; code offset: 0x265 (local.get $8) ) ) - ;; code offset: 0x28a + ;; code offset: 0x26e (local.set $0 - ;; code offset: 0x288 + ;; code offset: 0x26c (i32.const 0) ) - ;; code offset: 0x28c + ;; code offset: 0x270 (loop $label$19 - ;; code offset: 0x290 + ;; code offset: 0x274 (local.set $10 - ;; code offset: 0x28e + ;; code offset: 0x272 (local.get $0) ) - ;; code offset: 0x297 + ;; code offset: 0x27b (if - ;; code offset: 0x296 + ;; code offset: 0x27a (i32.ge_s - ;; code offset: 0x292 + ;; code offset: 0x276 (local.get $7) - ;; code offset: 0x294 + ;; code offset: 0x278 (i32.const 3) ) (block - ;; code offset: 0x29e + ;; code offset: 0x282 (local.set $1 - ;; code offset: 0x29d + ;; code offset: 0x281 (i32.sub - ;; code offset: 0x299 + ;; code offset: 0x27d (local.get $7) - ;; code offset: 0x29b + ;; code offset: 0x27f (i32.const 1) ) ) - ;; code offset: 0x2a2 + ;; code offset: 0x286 (local.set $0 - ;; code offset: 0x2a0 + ;; code offset: 0x284 (i32.const 1) ) - ;; code offset: 0x2a4 + ;; code offset: 0x288 (loop $label$21 - ;; code offset: 0x2b4 + ;; code offset: 0x297 (local.set $14 - ;; code offset: 0x2b0 + ;; code offset: 0x294 (i32.load $mimport$0 - ;; code offset: 0x2ae + ;; code offset: 0x292 (local.tee $11 - ;; code offset: 0x2ad + ;; code offset: 0x291 (i32.add - ;; code offset: 0x2a6 + ;; code offset: 0x28a (local.get $8) - ;; code offset: 0x2ac + ;; code offset: 0x290 (i32.shl - ;; code offset: 0x2a8 + ;; code offset: 0x28c (local.get $0) - ;; code offset: 0x2aa + ;; code offset: 0x28e (i32.const 2) ) ) ) ) ) - ;; code offset: 0x2c6 + ;; code offset: 0x2a8 (i32.store $mimport$0 - ;; code offset: 0x2b6 + ;; code offset: 0x299 (local.get $11) - ;; code offset: 0x2c2 + ;; code offset: 0x2a5 (i32.load $mimport$0 - ;; code offset: 0x2c0 + ;; code offset: 0x2a3 (local.tee $15 - ;; code offset: 0x2bf + ;; code offset: 0x2a2 (i32.add - ;; code offset: 0x2b8 + ;; code offset: 0x29b (local.get $8) - ;; code offset: 0x2be + ;; code offset: 0x2a1 (i32.shl - ;; code offset: 0x2ba + ;; code offset: 0x29d (local.get $1) - ;; code offset: 0x2bc + ;; code offset: 0x29f (i32.const 2) ) ) ) ) ) - ;; code offset: 0x2ce + ;; code offset: 0x2af (i32.store $mimport$0 - ;; code offset: 0x2ca + ;; code offset: 0x2ab (local.get $15) - ;; code offset: 0x2cc + ;; code offset: 0x2ad (local.get $14) ) - ;; code offset: 0x2e1 + ;; code offset: 0x2c1 (br_if $label$21 - ;; code offset: 0x2e0 + ;; code offset: 0x2c0 (i32.lt_s - ;; code offset: 0x2d7 + ;; code offset: 0x2b7 (local.tee $0 - ;; code offset: 0x2d6 + ;; code offset: 0x2b6 (i32.add - ;; code offset: 0x2d2 + ;; code offset: 0x2b2 (local.get $0) - ;; code offset: 0x2d4 + ;; code offset: 0x2b4 (i32.const 1) ) ) - ;; code offset: 0x2de + ;; code offset: 0x2be (local.tee $1 - ;; code offset: 0x2dd + ;; code offset: 0x2bd (i32.sub - ;; code offset: 0x2d9 + ;; code offset: 0x2b9 (local.get $1) - ;; code offset: 0x2db + ;; code offset: 0x2bb (i32.const 1) ) ) @@ -5624,263 +5624,263 @@ file_names[ 4]: ) ) ) - ;; code offset: 0x2f3 + ;; code offset: 0x2d2 (local.set $1 - ;; code offset: 0x2ef + ;; code offset: 0x2cf (i32.load $mimport$0 - ;; code offset: 0x2ed + ;; code offset: 0x2cd (local.tee $0 - ;; code offset: 0x2ec + ;; code offset: 0x2cc (i32.add - ;; code offset: 0x2e5 + ;; code offset: 0x2c5 (local.get $8) - ;; code offset: 0x2eb + ;; code offset: 0x2cb (i32.shl - ;; code offset: 0x2e7 + ;; code offset: 0x2c7 (local.get $7) - ;; code offset: 0x2e9 + ;; code offset: 0x2c9 (i32.const 2) ) ) ) ) ) - ;; code offset: 0x2f9 + ;; code offset: 0x2d8 (i32.store $mimport$0 - ;; code offset: 0x2f5 + ;; code offset: 0x2d4 (local.get $0) - ;; code offset: 0x2f7 + ;; code offset: 0x2d6 (local.get $7) ) - ;; code offset: 0x302 + ;; code offset: 0x2e0 (local.set $0 - ;; code offset: 0x301 + ;; code offset: 0x2df (i32.add - ;; code offset: 0x2fd + ;; code offset: 0x2db (local.get $10) - ;; code offset: 0x2ff + ;; code offset: 0x2dd (i32.const 1) ) ) - ;; code offset: 0x306 + ;; code offset: 0x2e4 (local.set $7 - ;; code offset: 0x304 + ;; code offset: 0x2e2 (local.get $1) ) - ;; code offset: 0x30a + ;; code offset: 0x2e8 (br_if $label$19 - ;; code offset: 0x308 + ;; code offset: 0x2e6 (local.get $1) ) ) - ;; code offset: 0x317 + ;; code offset: 0x2f5 (local.set $5 - ;; code offset: 0x316 + ;; code offset: 0x2f4 (select - ;; code offset: 0x30d + ;; code offset: 0x2eb (local.get $5) - ;; code offset: 0x30f + ;; code offset: 0x2ed (local.get $0) - ;; code offset: 0x315 + ;; code offset: 0x2f3 (i32.gt_s - ;; code offset: 0x311 + ;; code offset: 0x2ef (local.get $5) - ;; code offset: 0x313 + ;; code offset: 0x2f1 (local.get $10) ) ) ) ) - ;; code offset: 0x31f + ;; code offset: 0x2fd (br_if $label$1 - ;; code offset: 0x31e + ;; code offset: 0x2fc (i32.ge_s - ;; code offset: 0x31a + ;; code offset: 0x2f8 (local.get $2) - ;; code offset: 0x31c + ;; code offset: 0x2fa (local.get $4) ) ) - ;; code offset: 0x321 + ;; code offset: 0x2ff (loop $label$22 - ;; code offset: 0x325 + ;; code offset: 0x303 (local.set $1 - ;; code offset: 0x323 + ;; code offset: 0x301 (i32.const 0) ) - ;; code offset: 0x32c + ;; code offset: 0x30a (if - ;; code offset: 0x32b + ;; code offset: 0x309 (i32.gt_s - ;; code offset: 0x327 + ;; code offset: 0x305 (local.get $2) - ;; code offset: 0x329 + ;; code offset: 0x307 (i32.const 0) ) (block - ;; code offset: 0x32e + ;; code offset: 0x30c (loop $label$24 - ;; code offset: 0x349 + ;; code offset: 0x326 (i32.store $mimport$0 - ;; code offset: 0x337 + ;; code offset: 0x315 (i32.add - ;; code offset: 0x330 + ;; code offset: 0x30e (local.get $3) - ;; code offset: 0x336 + ;; code offset: 0x314 (i32.shl - ;; code offset: 0x332 + ;; code offset: 0x310 (local.get $1) - ;; code offset: 0x334 + ;; code offset: 0x312 (i32.const 2) ) ) - ;; code offset: 0x345 + ;; code offset: 0x323 (i32.load $mimport$0 - ;; code offset: 0x344 + ;; code offset: 0x322 (i32.add - ;; code offset: 0x338 + ;; code offset: 0x316 (local.get $3) - ;; code offset: 0x343 + ;; code offset: 0x321 (i32.shl - ;; code offset: 0x33f + ;; code offset: 0x31d (local.tee $1 - ;; code offset: 0x33e + ;; code offset: 0x31c (i32.add - ;; code offset: 0x33a + ;; code offset: 0x318 (local.get $1) - ;; code offset: 0x33c + ;; code offset: 0x31a (i32.const 1) ) ) - ;; code offset: 0x341 + ;; code offset: 0x31f (i32.const 2) ) ) ) ) - ;; code offset: 0x352 + ;; code offset: 0x32e (br_if $label$24 - ;; code offset: 0x351 + ;; code offset: 0x32d (i32.ne - ;; code offset: 0x34d + ;; code offset: 0x329 (local.get $1) - ;; code offset: 0x34f + ;; code offset: 0x32b (local.get $2) ) ) ) - ;; code offset: 0x357 + ;; code offset: 0x333 (local.set $1 - ;; code offset: 0x355 + ;; code offset: 0x331 (local.get $2) ) ) ) - ;; code offset: 0x364 + ;; code offset: 0x340 (i32.store $mimport$0 - ;; code offset: 0x361 + ;; code offset: 0x33d (i32.add - ;; code offset: 0x35a + ;; code offset: 0x336 (local.get $3) - ;; code offset: 0x360 + ;; code offset: 0x33c (i32.shl - ;; code offset: 0x35c + ;; code offset: 0x338 (local.get $1) - ;; code offset: 0x35e + ;; code offset: 0x33a (i32.const 2) ) ) - ;; code offset: 0x362 + ;; code offset: 0x33e (local.get $6) ) - ;; code offset: 0x37d + ;; code offset: 0x357 (i32.store $mimport$0 - ;; code offset: 0x370 + ;; code offset: 0x34b (local.tee $1 - ;; code offset: 0x36f + ;; code offset: 0x34a (i32.add - ;; code offset: 0x368 + ;; code offset: 0x343 (local.get $9) - ;; code offset: 0x36e + ;; code offset: 0x349 (i32.shl - ;; code offset: 0x36a + ;; code offset: 0x345 (local.get $2) - ;; code offset: 0x36c + ;; code offset: 0x347 (i32.const 2) ) ) ) - ;; code offset: 0x37c + ;; code offset: 0x356 (i32.sub - ;; code offset: 0x378 + ;; code offset: 0x352 (local.tee $1 - ;; code offset: 0x374 + ;; code offset: 0x34f (i32.load $mimport$0 - ;; code offset: 0x372 + ;; code offset: 0x34d (local.get $1) ) ) - ;; code offset: 0x37a + ;; code offset: 0x354 (i32.const 1) ) ) - ;; code offset: 0x386 + ;; code offset: 0x35f (br_if $label$15 - ;; code offset: 0x385 + ;; code offset: 0x35e (i32.gt_s - ;; code offset: 0x381 + ;; code offset: 0x35a (local.get $1) - ;; code offset: 0x383 + ;; code offset: 0x35c (i32.const 1) ) ) - ;; code offset: 0x392 + ;; code offset: 0x36b (br_if $label$1 - ;; code offset: 0x391 + ;; code offset: 0x36a (i32.eq - ;; code offset: 0x38d + ;; code offset: 0x366 (local.tee $2 - ;; code offset: 0x38c + ;; code offset: 0x365 (i32.add - ;; code offset: 0x388 + ;; code offset: 0x361 (local.get $2) - ;; code offset: 0x38a + ;; code offset: 0x363 (i32.const 1) ) ) - ;; code offset: 0x38f + ;; code offset: 0x368 (local.get $4) ) ) - ;; code offset: 0x39a + ;; code offset: 0x372 (local.set $6 - ;; code offset: 0x396 + ;; code offset: 0x36f (i32.load $mimport$0 - ;; code offset: 0x394 + ;; code offset: 0x36d (local.get $3) ) ) - ;; code offset: 0x39c + ;; code offset: 0x374 (br $label$22) ) ) ) - ;; code offset: 0x3a5 + ;; code offset: 0x37d (call $free - ;; code offset: 0x3a3 + ;; code offset: 0x37b (local.get $3) ) - ;; code offset: 0x3a9 + ;; code offset: 0x381 (call $free - ;; code offset: 0x3a7 + ;; code offset: 0x37f (local.get $8) ) - ;; code offset: 0x3ad + ;; code offset: 0x385 (call $free - ;; code offset: 0x3ab + ;; code offset: 0x383 (local.get $9) ) - ;; code offset: 0x3af + ;; code offset: 0x387 (local.get $5) ) (func $main (param $0 i32) (param $1 i32) (result i32) @@ -5891,958 +5891,958 @@ file_names[ 4]: (local $6 i32) (local $7 i32) (local $8 i32) - ;; code offset: 0x3ca + ;; code offset: 0x3a2 (global.set $global$0 - ;; code offset: 0x3c8 + ;; code offset: 0x3a0 (local.tee $8 - ;; code offset: 0x3c7 + ;; code offset: 0x39f (i32.sub - ;; code offset: 0x3c3 + ;; code offset: 0x39b (global.get $global$0) - ;; code offset: 0x3c5 + ;; code offset: 0x39d (i32.const 32) ) ) ) - ;; code offset: 0x3cc + ;; code offset: 0x3a4 (block $label$1 (block $label$2 - ;; code offset: 0x3d5 + ;; code offset: 0x3ad (if - ;; code offset: 0x3d4 + ;; code offset: 0x3ac (i32.ge_s - ;; code offset: 0x3d0 + ;; code offset: 0x3a8 (local.get $0) - ;; code offset: 0x3d2 + ;; code offset: 0x3aa (i32.const 2) ) - ;; code offset: 0x3e4 + ;; code offset: 0x3bb (br_if $label$2 - ;; code offset: 0x3e3 + ;; code offset: 0x3ba (i32.gt_s - ;; code offset: 0x3df + ;; code offset: 0x3b6 (local.tee $3 - ;; code offset: 0x3dd + ;; code offset: 0x3b4 (call $atoi - ;; code offset: 0x3d9 + ;; code offset: 0x3b1 (i32.load $mimport$0 offset=4 - ;; code offset: 0x3d7 + ;; code offset: 0x3af (local.get $1) ) ) ) - ;; code offset: 0x3e1 + ;; code offset: 0x3b8 (i32.const 0) ) ) ) - ;; code offset: 0x3ec + ;; code offset: 0x3c3 (drop - ;; code offset: 0x3ea + ;; code offset: 0x3c1 (call $puts - ;; code offset: 0x3e7 + ;; code offset: 0x3be (i32.const 1050) ) ) - ;; code offset: 0x3ef + ;; code offset: 0x3c6 (local.set $5 - ;; code offset: 0x3ed + ;; code offset: 0x3c4 (i32.const 1) ) - ;; code offset: 0x3f1 + ;; code offset: 0x3c8 (br $label$1) ) - ;; code offset: 0x3f9 + ;; code offset: 0x3d0 (if - ;; code offset: 0x3f8 + ;; code offset: 0x3cf (i32.ne - ;; code offset: 0x3f4 + ;; code offset: 0x3cb (local.get $3) - ;; code offset: 0x3f6 + ;; code offset: 0x3cd (i32.const 1) ) (block - ;; code offset: 0x400 + ;; code offset: 0x3d7 (local.set $2 - ;; code offset: 0x3ff + ;; code offset: 0x3d6 (i32.sub - ;; code offset: 0x3fb + ;; code offset: 0x3d2 (local.get $3) - ;; code offset: 0x3fd + ;; code offset: 0x3d4 (i32.const 1) ) ) - ;; code offset: 0x404 + ;; code offset: 0x3db (local.set $1 - ;; code offset: 0x402 + ;; code offset: 0x3d9 (i32.const 0) ) - ;; code offset: 0x408 + ;; code offset: 0x3df (local.set $0 - ;; code offset: 0x406 + ;; code offset: 0x3dd (i32.const 0) ) - ;; code offset: 0x40a + ;; code offset: 0x3e1 (loop $label$5 - ;; code offset: 0x414 + ;; code offset: 0x3eb (i32.store $mimport$0 offset=8 - ;; code offset: 0x410 + ;; code offset: 0x3e7 (local.tee $4 - ;; code offset: 0x40e + ;; code offset: 0x3e5 (call $malloc - ;; code offset: 0x40c + ;; code offset: 0x3e3 (i32.const 12) ) ) - ;; code offset: 0x412 + ;; code offset: 0x3e9 (local.get $1) ) - ;; code offset: 0x41c + ;; code offset: 0x3f2 (i32.store $mimport$0 offset=4 - ;; code offset: 0x418 + ;; code offset: 0x3ee (local.get $4) - ;; code offset: 0x41a + ;; code offset: 0x3f0 (local.get $3) ) - ;; code offset: 0x424 + ;; code offset: 0x3f9 (i32.store $mimport$0 - ;; code offset: 0x420 + ;; code offset: 0x3f5 (local.get $4) - ;; code offset: 0x422 + ;; code offset: 0x3f7 (local.get $0) ) - ;; code offset: 0x42a + ;; code offset: 0x3fe (local.set $1 - ;; code offset: 0x428 + ;; code offset: 0x3fc (local.get $4) ) - ;; code offset: 0x436 + ;; code offset: 0x40a (br_if $label$5 - ;; code offset: 0x435 + ;; code offset: 0x409 (i32.ne - ;; code offset: 0x431 + ;; code offset: 0x405 (local.tee $0 - ;; code offset: 0x430 + ;; code offset: 0x404 (i32.add - ;; code offset: 0x42c + ;; code offset: 0x400 (local.get $0) - ;; code offset: 0x42e + ;; code offset: 0x402 (i32.const 1) ) ) - ;; code offset: 0x433 + ;; code offset: 0x407 (local.get $2) ) ) ) ) ) - ;; code offset: 0x43c + ;; code offset: 0x410 (local.set $0 - ;; code offset: 0x43a + ;; code offset: 0x40e (i32.const 0) ) - ;; code offset: 0x447 + ;; code offset: 0x41b (local.set $1 - ;; code offset: 0x445 + ;; code offset: 0x419 (call $malloc - ;; code offset: 0x443 + ;; code offset: 0x417 (local.tee $2 - ;; code offset: 0x442 + ;; code offset: 0x416 (i32.shl - ;; code offset: 0x43e + ;; code offset: 0x412 (local.get $3) - ;; code offset: 0x440 + ;; code offset: 0x414 (i32.const 2) ) ) ) ) - ;; code offset: 0x44d + ;; code offset: 0x421 (local.set $5 - ;; code offset: 0x44b + ;; code offset: 0x41f (call $malloc - ;; code offset: 0x449 + ;; code offset: 0x41d (local.get $2) ) ) - ;; code offset: 0x44f + ;; code offset: 0x423 (block $label$6 (block $label$7 (block $label$8 - ;; code offset: 0x45a + ;; code offset: 0x42e (if - ;; code offset: 0x459 + ;; code offset: 0x42d (i32.gt_s - ;; code offset: 0x455 + ;; code offset: 0x429 (local.get $3) - ;; code offset: 0x457 + ;; code offset: 0x42b (i32.const 0) ) (block - ;; code offset: 0x45c + ;; code offset: 0x430 (loop $label$10 - ;; code offset: 0x468 + ;; code offset: 0x43c (i32.store $mimport$0 - ;; code offset: 0x465 + ;; code offset: 0x439 (i32.add - ;; code offset: 0x45e + ;; code offset: 0x432 (local.get $1) - ;; code offset: 0x464 + ;; code offset: 0x438 (i32.shl - ;; code offset: 0x460 + ;; code offset: 0x434 (local.get $0) - ;; code offset: 0x462 + ;; code offset: 0x436 (i32.const 2) ) ) - ;; code offset: 0x466 + ;; code offset: 0x43a (local.get $0) ) - ;; code offset: 0x476 + ;; code offset: 0x449 (br_if $label$10 - ;; code offset: 0x475 + ;; code offset: 0x448 (i32.ne - ;; code offset: 0x471 + ;; code offset: 0x444 (local.tee $0 - ;; code offset: 0x470 + ;; code offset: 0x443 (i32.add - ;; code offset: 0x46c + ;; code offset: 0x43f (local.get $0) - ;; code offset: 0x46e + ;; code offset: 0x441 (i32.const 1) ) ) - ;; code offset: 0x473 + ;; code offset: 0x446 (local.get $3) ) ) ) - ;; code offset: 0x47b + ;; code offset: 0x44e (local.set $6 - ;; code offset: 0x479 + ;; code offset: 0x44c (i32.const 30) ) - ;; code offset: 0x47f + ;; code offset: 0x452 (local.set $2 - ;; code offset: 0x47d + ;; code offset: 0x450 (local.get $3) ) - ;; code offset: 0x481 + ;; code offset: 0x454 (br $label$8) ) ) - ;; code offset: 0x486 + ;; code offset: 0x459 (local.set $6 - ;; code offset: 0x484 + ;; code offset: 0x457 (i32.const 30) ) - ;; code offset: 0x48a + ;; code offset: 0x45d (local.set $2 - ;; code offset: 0x488 + ;; code offset: 0x45b (local.get $3) ) - ;; code offset: 0x48c + ;; code offset: 0x45f (br $label$7) ) - ;; code offset: 0x48f + ;; code offset: 0x462 (loop $label$11 - ;; code offset: 0x493 + ;; code offset: 0x466 (local.set $0 - ;; code offset: 0x491 + ;; code offset: 0x464 (i32.const 0) ) - ;; code offset: 0x495 + ;; code offset: 0x468 (loop $label$12 - ;; code offset: 0x4a8 + ;; code offset: 0x47a (i32.store $mimport$0 offset=16 - ;; code offset: 0x497 + ;; code offset: 0x46a (local.get $8) - ;; code offset: 0x4a7 + ;; code offset: 0x479 (i32.add - ;; code offset: 0x4a1 + ;; code offset: 0x474 (i32.load $mimport$0 - ;; code offset: 0x4a0 + ;; code offset: 0x473 (i32.add - ;; code offset: 0x499 + ;; code offset: 0x46c (local.get $1) - ;; code offset: 0x49f + ;; code offset: 0x472 (i32.shl - ;; code offset: 0x49b + ;; code offset: 0x46e (local.get $0) - ;; code offset: 0x49d + ;; code offset: 0x470 (i32.const 2) ) ) ) - ;; code offset: 0x4a5 + ;; code offset: 0x477 (i32.const 1) ) ) - ;; code offset: 0x4b6 + ;; code offset: 0x487 (drop - ;; code offset: 0x4b4 + ;; code offset: 0x485 (call $iprintf - ;; code offset: 0x4ac + ;; code offset: 0x47d (i32.const 1047) - ;; code offset: 0x4b3 + ;; code offset: 0x484 (i32.add - ;; code offset: 0x4af + ;; code offset: 0x480 (local.get $8) - ;; code offset: 0x4b1 + ;; code offset: 0x482 (i32.const 16) ) ) ) - ;; code offset: 0x4c1 + ;; code offset: 0x492 (br_if $label$12 - ;; code offset: 0x4c0 + ;; code offset: 0x491 (i32.ne - ;; code offset: 0x4bc + ;; code offset: 0x48d (local.tee $0 - ;; code offset: 0x4bb + ;; code offset: 0x48c (i32.add - ;; code offset: 0x4b7 + ;; code offset: 0x488 (local.get $0) - ;; code offset: 0x4b9 + ;; code offset: 0x48a (i32.const 1) ) ) - ;; code offset: 0x4be + ;; code offset: 0x48f (local.get $3) ) ) ) - ;; code offset: 0x4c8 + ;; code offset: 0x499 (drop - ;; code offset: 0x4c6 + ;; code offset: 0x497 (call $putchar - ;; code offset: 0x4c4 + ;; code offset: 0x495 (i32.const 10) ) ) - ;; code offset: 0x4ce + ;; code offset: 0x49f (if - ;; code offset: 0x4cd + ;; code offset: 0x49e (i32.gt_s - ;; code offset: 0x4c9 + ;; code offset: 0x49a (local.get $2) - ;; code offset: 0x4cb + ;; code offset: 0x49c (i32.const 1) ) - ;; code offset: 0x4d0 + ;; code offset: 0x4a1 (loop $label$14 - ;; code offset: 0x4e1 + ;; code offset: 0x4b2 (i32.store $mimport$0 - ;; code offset: 0x4de + ;; code offset: 0x4af (i32.add - ;; code offset: 0x4d2 + ;; code offset: 0x4a3 (local.get $5) - ;; code offset: 0x4dd + ;; code offset: 0x4ae (i32.shl - ;; code offset: 0x4d9 + ;; code offset: 0x4aa (local.tee $0 - ;; code offset: 0x4d8 + ;; code offset: 0x4a9 (i32.sub - ;; code offset: 0x4d4 + ;; code offset: 0x4a5 (local.get $2) - ;; code offset: 0x4d6 + ;; code offset: 0x4a7 (i32.const 1) ) ) - ;; code offset: 0x4db + ;; code offset: 0x4ac (i32.const 2) ) ) - ;; code offset: 0x4df + ;; code offset: 0x4b0 (local.get $2) ) - ;; code offset: 0x4ea + ;; code offset: 0x4ba (local.set $7 - ;; code offset: 0x4e9 + ;; code offset: 0x4b9 (i32.gt_s - ;; code offset: 0x4e5 + ;; code offset: 0x4b5 (local.get $2) - ;; code offset: 0x4e7 + ;; code offset: 0x4b7 (i32.const 2) ) ) - ;; code offset: 0x4ee + ;; code offset: 0x4be (local.set $2 - ;; code offset: 0x4ec + ;; code offset: 0x4bc (local.get $0) ) - ;; code offset: 0x4f2 + ;; code offset: 0x4c2 (br_if $label$14 - ;; code offset: 0x4f0 + ;; code offset: 0x4c0 (local.get $7) ) ) ) - ;; code offset: 0x4fb + ;; code offset: 0x4cb (br_if $label$6 - ;; code offset: 0x4fa + ;; code offset: 0x4ca (i32.eq - ;; code offset: 0x4f6 + ;; code offset: 0x4c6 (local.get $2) - ;; code offset: 0x4f8 + ;; code offset: 0x4c8 (local.get $3) ) ) - ;; code offset: 0x502 + ;; code offset: 0x4d2 (local.set $6 - ;; code offset: 0x501 + ;; code offset: 0x4d1 (i32.sub - ;; code offset: 0x4fd + ;; code offset: 0x4cd (local.get $6) - ;; code offset: 0x4ff + ;; code offset: 0x4cf (i32.const 1) ) ) - ;; code offset: 0x504 + ;; code offset: 0x4d4 (loop $label$15 - ;; code offset: 0x508 + ;; code offset: 0x4d8 (local.set $0 - ;; code offset: 0x506 + ;; code offset: 0x4d6 (i32.const 0) ) - ;; code offset: 0x510 + ;; code offset: 0x4df (local.set $7 - ;; code offset: 0x50c + ;; code offset: 0x4dc (i32.load $mimport$0 - ;; code offset: 0x50a + ;; code offset: 0x4da (local.get $1) ) ) - ;; code offset: 0x517 + ;; code offset: 0x4e6 (if - ;; code offset: 0x516 + ;; code offset: 0x4e5 (i32.gt_s - ;; code offset: 0x512 + ;; code offset: 0x4e1 (local.get $2) - ;; code offset: 0x514 + ;; code offset: 0x4e3 (i32.const 0) ) (block - ;; code offset: 0x519 + ;; code offset: 0x4e8 (loop $label$17 - ;; code offset: 0x534 + ;; code offset: 0x502 (i32.store $mimport$0 - ;; code offset: 0x522 + ;; code offset: 0x4f1 (i32.add - ;; code offset: 0x51b + ;; code offset: 0x4ea (local.get $1) - ;; code offset: 0x521 + ;; code offset: 0x4f0 (i32.shl - ;; code offset: 0x51d + ;; code offset: 0x4ec (local.get $0) - ;; code offset: 0x51f + ;; code offset: 0x4ee (i32.const 2) ) ) - ;; code offset: 0x530 + ;; code offset: 0x4ff (i32.load $mimport$0 - ;; code offset: 0x52f + ;; code offset: 0x4fe (i32.add - ;; code offset: 0x523 + ;; code offset: 0x4f2 (local.get $1) - ;; code offset: 0x52e + ;; code offset: 0x4fd (i32.shl - ;; code offset: 0x52a + ;; code offset: 0x4f9 (local.tee $0 - ;; code offset: 0x529 + ;; code offset: 0x4f8 (i32.add - ;; code offset: 0x525 + ;; code offset: 0x4f4 (local.get $0) - ;; code offset: 0x527 + ;; code offset: 0x4f6 (i32.const 1) ) ) - ;; code offset: 0x52c + ;; code offset: 0x4fb (i32.const 2) ) ) ) ) - ;; code offset: 0x53d + ;; code offset: 0x50a (br_if $label$17 - ;; code offset: 0x53c + ;; code offset: 0x509 (i32.ne - ;; code offset: 0x538 + ;; code offset: 0x505 (local.get $0) - ;; code offset: 0x53a + ;; code offset: 0x507 (local.get $2) ) ) ) - ;; code offset: 0x542 + ;; code offset: 0x50f (local.set $0 - ;; code offset: 0x540 + ;; code offset: 0x50d (local.get $2) ) ) ) - ;; code offset: 0x54f + ;; code offset: 0x51c (i32.store $mimport$0 - ;; code offset: 0x54c + ;; code offset: 0x519 (i32.add - ;; code offset: 0x545 + ;; code offset: 0x512 (local.get $1) - ;; code offset: 0x54b + ;; code offset: 0x518 (i32.shl - ;; code offset: 0x547 + ;; code offset: 0x514 (local.get $0) - ;; code offset: 0x549 + ;; code offset: 0x516 (i32.const 2) ) ) - ;; code offset: 0x54d + ;; code offset: 0x51a (local.get $7) ) - ;; code offset: 0x568 + ;; code offset: 0x533 (i32.store $mimport$0 - ;; code offset: 0x55b + ;; code offset: 0x527 (local.tee $0 - ;; code offset: 0x55a + ;; code offset: 0x526 (i32.add - ;; code offset: 0x553 + ;; code offset: 0x51f (local.get $5) - ;; code offset: 0x559 + ;; code offset: 0x525 (i32.shl - ;; code offset: 0x555 + ;; code offset: 0x521 (local.get $2) - ;; code offset: 0x557 + ;; code offset: 0x523 (i32.const 2) ) ) ) - ;; code offset: 0x567 + ;; code offset: 0x532 (i32.sub - ;; code offset: 0x563 + ;; code offset: 0x52e (local.tee $0 - ;; code offset: 0x55f + ;; code offset: 0x52b (i32.load $mimport$0 - ;; code offset: 0x55d + ;; code offset: 0x529 (local.get $0) ) ) - ;; code offset: 0x565 + ;; code offset: 0x530 (i32.const 1) ) ) - ;; code offset: 0x571 + ;; code offset: 0x53b (if - ;; code offset: 0x570 + ;; code offset: 0x53a (i32.le_s - ;; code offset: 0x56c + ;; code offset: 0x536 (local.get $0) - ;; code offset: 0x56e + ;; code offset: 0x538 (i32.const 1) ) (block - ;; code offset: 0x57d + ;; code offset: 0x547 (br_if $label$15 - ;; code offset: 0x57c + ;; code offset: 0x546 (i32.ne - ;; code offset: 0x578 + ;; code offset: 0x542 (local.tee $2 - ;; code offset: 0x577 + ;; code offset: 0x541 (i32.add - ;; code offset: 0x573 + ;; code offset: 0x53d (local.get $2) - ;; code offset: 0x575 + ;; code offset: 0x53f (i32.const 1) ) ) - ;; code offset: 0x57a + ;; code offset: 0x544 (local.get $3) ) ) - ;; code offset: 0x57f + ;; code offset: 0x549 (br $label$6) ) ) ) - ;; code offset: 0x585 + ;; code offset: 0x54f (br_if $label$11 - ;; code offset: 0x583 + ;; code offset: 0x54d (local.get $6) ) ) - ;; code offset: 0x588 + ;; code offset: 0x552 (br $label$6) ) - ;; code offset: 0x58b + ;; code offset: 0x555 (loop $label$19 - ;; code offset: 0x591 + ;; code offset: 0x55b (drop - ;; code offset: 0x58f + ;; code offset: 0x559 (call $putchar - ;; code offset: 0x58d + ;; code offset: 0x557 (i32.const 10) ) ) - ;; code offset: 0x597 + ;; code offset: 0x561 (if - ;; code offset: 0x596 + ;; code offset: 0x560 (i32.gt_s - ;; code offset: 0x592 + ;; code offset: 0x55c (local.get $2) - ;; code offset: 0x594 + ;; code offset: 0x55e (i32.const 1) ) - ;; code offset: 0x599 + ;; code offset: 0x563 (loop $label$21 - ;; code offset: 0x5aa + ;; code offset: 0x574 (i32.store $mimport$0 - ;; code offset: 0x5a7 + ;; code offset: 0x571 (i32.add - ;; code offset: 0x59b + ;; code offset: 0x565 (local.get $5) - ;; code offset: 0x5a6 + ;; code offset: 0x570 (i32.shl - ;; code offset: 0x5a2 + ;; code offset: 0x56c (local.tee $0 - ;; code offset: 0x5a1 + ;; code offset: 0x56b (i32.sub - ;; code offset: 0x59d + ;; code offset: 0x567 (local.get $2) - ;; code offset: 0x59f + ;; code offset: 0x569 (i32.const 1) ) ) - ;; code offset: 0x5a4 + ;; code offset: 0x56e (i32.const 2) ) ) - ;; code offset: 0x5a8 + ;; code offset: 0x572 (local.get $2) ) - ;; code offset: 0x5b3 + ;; code offset: 0x57c (local.set $7 - ;; code offset: 0x5b2 + ;; code offset: 0x57b (i32.gt_s - ;; code offset: 0x5ae + ;; code offset: 0x577 (local.get $2) - ;; code offset: 0x5b0 + ;; code offset: 0x579 (i32.const 2) ) ) - ;; code offset: 0x5b7 + ;; code offset: 0x580 (local.set $2 - ;; code offset: 0x5b5 + ;; code offset: 0x57e (local.get $0) ) - ;; code offset: 0x5bb + ;; code offset: 0x584 (br_if $label$21 - ;; code offset: 0x5b9 + ;; code offset: 0x582 (local.get $7) ) ) ) - ;; code offset: 0x5c4 + ;; code offset: 0x58d (br_if $label$6 - ;; code offset: 0x5c3 + ;; code offset: 0x58c (i32.eq - ;; code offset: 0x5bf + ;; code offset: 0x588 (local.get $2) - ;; code offset: 0x5c1 + ;; code offset: 0x58a (local.get $3) ) ) - ;; code offset: 0x5cb + ;; code offset: 0x594 (local.set $6 - ;; code offset: 0x5ca + ;; code offset: 0x593 (i32.sub - ;; code offset: 0x5c6 + ;; code offset: 0x58f (local.get $6) - ;; code offset: 0x5c8 + ;; code offset: 0x591 (i32.const 1) ) ) - ;; code offset: 0x5cd + ;; code offset: 0x596 (loop $label$22 - ;; code offset: 0x5d5 + ;; code offset: 0x59d (local.set $7 - ;; code offset: 0x5d1 + ;; code offset: 0x59a (i32.load $mimport$0 - ;; code offset: 0x5cf + ;; code offset: 0x598 (local.get $1) ) ) - ;; code offset: 0x5d9 + ;; code offset: 0x5a1 (local.set $0 - ;; code offset: 0x5d7 + ;; code offset: 0x59f (i32.const 0) ) - ;; code offset: 0x5e0 + ;; code offset: 0x5a8 (if - ;; code offset: 0x5df + ;; code offset: 0x5a7 (i32.gt_s - ;; code offset: 0x5db + ;; code offset: 0x5a3 (local.get $2) - ;; code offset: 0x5dd + ;; code offset: 0x5a5 (i32.const 0) ) (block - ;; code offset: 0x5e2 + ;; code offset: 0x5aa (loop $label$24 - ;; code offset: 0x5fd + ;; code offset: 0x5c4 (i32.store $mimport$0 - ;; code offset: 0x5eb + ;; code offset: 0x5b3 (i32.add - ;; code offset: 0x5e4 + ;; code offset: 0x5ac (local.get $1) - ;; code offset: 0x5ea + ;; code offset: 0x5b2 (i32.shl - ;; code offset: 0x5e6 + ;; code offset: 0x5ae (local.get $0) - ;; code offset: 0x5e8 + ;; code offset: 0x5b0 (i32.const 2) ) ) - ;; code offset: 0x5f9 + ;; code offset: 0x5c1 (i32.load $mimport$0 - ;; code offset: 0x5f8 + ;; code offset: 0x5c0 (i32.add - ;; code offset: 0x5ec + ;; code offset: 0x5b4 (local.get $1) - ;; code offset: 0x5f7 + ;; code offset: 0x5bf (i32.shl - ;; code offset: 0x5f3 + ;; code offset: 0x5bb (local.tee $0 - ;; code offset: 0x5f2 + ;; code offset: 0x5ba (i32.add - ;; code offset: 0x5ee + ;; code offset: 0x5b6 (local.get $0) - ;; code offset: 0x5f0 + ;; code offset: 0x5b8 (i32.const 1) ) ) - ;; code offset: 0x5f5 + ;; code offset: 0x5bd (i32.const 2) ) ) ) ) - ;; code offset: 0x606 + ;; code offset: 0x5cc (br_if $label$24 - ;; code offset: 0x605 + ;; code offset: 0x5cb (i32.ne - ;; code offset: 0x601 + ;; code offset: 0x5c7 (local.get $0) - ;; code offset: 0x603 + ;; code offset: 0x5c9 (local.get $2) ) ) ) - ;; code offset: 0x60b + ;; code offset: 0x5d1 (local.set $0 - ;; code offset: 0x609 + ;; code offset: 0x5cf (local.get $2) ) ) ) - ;; code offset: 0x618 + ;; code offset: 0x5de (i32.store $mimport$0 - ;; code offset: 0x615 + ;; code offset: 0x5db (i32.add - ;; code offset: 0x60e + ;; code offset: 0x5d4 (local.get $1) - ;; code offset: 0x614 + ;; code offset: 0x5da (i32.shl - ;; code offset: 0x610 + ;; code offset: 0x5d6 (local.get $0) - ;; code offset: 0x612 + ;; code offset: 0x5d8 (i32.const 2) ) ) - ;; code offset: 0x616 + ;; code offset: 0x5dc (local.get $7) ) - ;; code offset: 0x631 + ;; code offset: 0x5f5 (i32.store $mimport$0 - ;; code offset: 0x624 + ;; code offset: 0x5e9 (local.tee $0 - ;; code offset: 0x623 + ;; code offset: 0x5e8 (i32.add - ;; code offset: 0x61c + ;; code offset: 0x5e1 (local.get $5) - ;; code offset: 0x622 + ;; code offset: 0x5e7 (i32.shl - ;; code offset: 0x61e + ;; code offset: 0x5e3 (local.get $2) - ;; code offset: 0x620 + ;; code offset: 0x5e5 (i32.const 2) ) ) ) - ;; code offset: 0x630 + ;; code offset: 0x5f4 (i32.sub - ;; code offset: 0x62c + ;; code offset: 0x5f0 (local.tee $0 - ;; code offset: 0x628 + ;; code offset: 0x5ed (i32.load $mimport$0 - ;; code offset: 0x626 + ;; code offset: 0x5eb (local.get $0) ) ) - ;; code offset: 0x62e + ;; code offset: 0x5f2 (i32.const 1) ) ) - ;; code offset: 0x63a + ;; code offset: 0x5fd (if - ;; code offset: 0x639 + ;; code offset: 0x5fc (i32.le_s - ;; code offset: 0x635 + ;; code offset: 0x5f8 (local.get $0) - ;; code offset: 0x637 + ;; code offset: 0x5fa (i32.const 1) ) (block - ;; code offset: 0x646 + ;; code offset: 0x609 (br_if $label$22 - ;; code offset: 0x645 + ;; code offset: 0x608 (i32.ne - ;; code offset: 0x641 + ;; code offset: 0x604 (local.tee $2 - ;; code offset: 0x640 + ;; code offset: 0x603 (i32.add - ;; code offset: 0x63c + ;; code offset: 0x5ff (local.get $2) - ;; code offset: 0x63e + ;; code offset: 0x601 (i32.const 1) ) ) - ;; code offset: 0x643 + ;; code offset: 0x606 (local.get $3) ) ) - ;; code offset: 0x648 + ;; code offset: 0x60b (br $label$6) ) ) ) - ;; code offset: 0x64e + ;; code offset: 0x611 (br_if $label$19 - ;; code offset: 0x64c + ;; code offset: 0x60f (local.get $6) ) ) ) - ;; code offset: 0x654 + ;; code offset: 0x617 (call $free - ;; code offset: 0x652 + ;; code offset: 0x615 (local.get $1) ) - ;; code offset: 0x658 + ;; code offset: 0x61b (call $free - ;; code offset: 0x656 + ;; code offset: 0x619 (local.get $5) ) - ;; code offset: 0x65c + ;; code offset: 0x61f (local.set $5 - ;; code offset: 0x65a + ;; code offset: 0x61d (i32.const 0) ) - ;; code offset: 0x660 + ;; code offset: 0x623 (local.set $0 - ;; code offset: 0x65e + ;; code offset: 0x621 (i32.const 0) ) - ;; code offset: 0x664 + ;; code offset: 0x627 (if - ;; code offset: 0x662 + ;; code offset: 0x625 (local.get $4) - ;; code offset: 0x666 + ;; code offset: 0x629 (loop $label$27 - ;; code offset: 0x66c + ;; code offset: 0x62f (local.set $1 - ;; code offset: 0x66a + ;; code offset: 0x62d (call $fannkuch_worker\28void*\29 - ;; code offset: 0x668 + ;; code offset: 0x62b (local.get $4) ) ) - ;; code offset: 0x674 + ;; code offset: 0x636 (local.set $2 - ;; code offset: 0x670 + ;; code offset: 0x633 (i32.load $mimport$0 offset=8 - ;; code offset: 0x66e + ;; code offset: 0x631 (local.get $4) ) ) - ;; code offset: 0x678 + ;; code offset: 0x63a (call $free - ;; code offset: 0x676 + ;; code offset: 0x638 (local.get $4) ) - ;; code offset: 0x684 + ;; code offset: 0x646 (local.set $0 - ;; code offset: 0x683 + ;; code offset: 0x645 (select - ;; code offset: 0x67a + ;; code offset: 0x63c (local.get $1) - ;; code offset: 0x67c + ;; code offset: 0x63e (local.get $0) - ;; code offset: 0x682 + ;; code offset: 0x644 (i32.lt_s - ;; code offset: 0x67e + ;; code offset: 0x640 (local.get $0) - ;; code offset: 0x680 + ;; code offset: 0x642 (local.get $1) ) ) ) - ;; code offset: 0x688 + ;; code offset: 0x64a (local.set $4 - ;; code offset: 0x686 + ;; code offset: 0x648 (local.get $2) ) - ;; code offset: 0x68c + ;; code offset: 0x64e (br_if $label$27 - ;; code offset: 0x68a + ;; code offset: 0x64c (local.get $2) ) ) ) - ;; code offset: 0x694 + ;; code offset: 0x656 (i32.store $mimport$0 offset=4 - ;; code offset: 0x690 + ;; code offset: 0x652 (local.get $8) - ;; code offset: 0x692 + ;; code offset: 0x654 (local.get $0) ) - ;; code offset: 0x69c + ;; code offset: 0x65d (i32.store $mimport$0 - ;; code offset: 0x698 + ;; code offset: 0x659 (local.get $8) - ;; code offset: 0x69a + ;; code offset: 0x65b (local.get $3) ) - ;; code offset: 0x6a7 + ;; code offset: 0x667 (drop - ;; code offset: 0x6a5 + ;; code offset: 0x665 (call $iprintf - ;; code offset: 0x6a0 + ;; code offset: 0x660 (i32.const 1024) - ;; code offset: 0x6a3 + ;; code offset: 0x663 (local.get $8) ) ) ) - ;; code offset: 0x6ae + ;; code offset: 0x66e (global.set $global$0 - ;; code offset: 0x6ad + ;; code offset: 0x66d (i32.add - ;; code offset: 0x6a9 + ;; code offset: 0x669 (local.get $8) - ;; code offset: 0x6ab + ;; code offset: 0x66b (i32.const 32) ) ) - ;; code offset: 0x6b0 + ;; code offset: 0x670 (local.get $5) ) ;; custom section ".debug_info", size 851 diff --git a/test/passes/ignore_missing_func_dwarf.bin.txt b/test/passes/ignore_missing_func_dwarf.bin.txt index 788f3be6565..cda2aa3a996 100644 --- a/test/passes/ignore_missing_func_dwarf.bin.txt +++ b/test/passes/ignore_missing_func_dwarf.bin.txt @@ -622,7 +622,7 @@ Abbrev table for offset: 0x00000000 DW_AT_comp_dir [DW_FORM_strp] ( .debug_str[0x0000009b] = "/home/alon/Dev/emscripten") DW_AT_low_pc [DW_FORM_addr] (0x0000000000000000) DW_AT_ranges [DW_FORM_sec_offset] (0x00000000 - [0x00000005, 0x00000073)) + [0x00000005, 0x0000006d)) 0x00000026: DW_TAG_variable [2] DW_AT_name [DW_FORM_strp] ( .debug_str[0x000000b5] = "quine") @@ -650,7 +650,7 @@ Abbrev table for offset: 0x00000000 0x0000004f: DW_TAG_subprogram [6] * DW_AT_low_pc [DW_FORM_addr] (0x0000000000000005) - DW_AT_high_pc [DW_FORM_data4] (0x0000006e) + DW_AT_high_pc [DW_FORM_data4] (0x00000068) DW_AT_linkage_name [DW_FORM_strp] ( .debug_str[0x000000c4] = "_Z4usedi") DW_AT_name [DW_FORM_strp] ( .debug_str[0x000000cd] = "used") DW_AT_decl_file [DW_FORM_data1] ("/home/alon/Dev/emscripten/a.cpp") @@ -687,8 +687,8 @@ Abbrev table for offset: 0x00000000 0x0000009a: NULL 0x0000009b: DW_TAG_subprogram [8] - DW_AT_low_pc [DW_FORM_addr] (0x0000000000000074) - DW_AT_high_pc [DW_FORM_data4] (0x00000067) + DW_AT_low_pc [DW_FORM_addr] (0x000000000000006e) + DW_AT_high_pc [DW_FORM_data4] (0x00000065) DW_AT_name [DW_FORM_strp] ( .debug_str[0x000000e4] = "main") DW_AT_decl_file [DW_FORM_data1] ("/home/alon/Dev/emscripten/a.cpp") DW_AT_decl_line [DW_FORM_data1] (16) @@ -732,74 +732,74 @@ file_names[ 1]: 0x0000000000000005 4 0 1 0 0 is_stmt -0x00000031: 00 DW_LNE_set_address (0x0000000000000031) +0x00000031: 00 DW_LNE_set_address (0x0000000000000030) 0x00000038: 03 DW_LNS_advance_line (5) 0x0000003a: 05 DW_LNS_set_column (4) 0x0000003c: 0a DW_LNS_set_prologue_end 0x0000003d: 01 DW_LNS_copy - 0x0000000000000031 5 4 1 0 0 is_stmt prologue_end + 0x0000000000000030 5 4 1 0 0 is_stmt prologue_end -0x0000003e: 00 DW_LNE_set_address (0x000000000000004c) +0x0000003e: 00 DW_LNE_set_address (0x0000000000000049) 0x00000045: 03 DW_LNS_advance_line (6) 0x00000047: 01 DW_LNS_copy - 0x000000000000004c 6 4 1 0 0 is_stmt + 0x0000000000000049 6 4 1 0 0 is_stmt -0x00000048: 00 DW_LNE_set_address (0x0000000000000067) +0x00000048: 00 DW_LNE_set_address (0x0000000000000062) 0x0000004f: 03 DW_LNS_advance_line (7) 0x00000051: 05 DW_LNS_set_column (10) 0x00000053: 01 DW_LNS_copy - 0x0000000000000067 7 10 1 0 0 is_stmt + 0x0000000000000062 7 10 1 0 0 is_stmt -0x00000054: 00 DW_LNE_set_address (0x000000000000006f) +0x00000054: 00 DW_LNE_set_address (0x0000000000000069) 0x0000005b: 05 DW_LNS_set_column (3) 0x0000005d: 06 DW_LNS_negate_stmt 0x0000005e: 01 DW_LNS_copy - 0x000000000000006f 7 3 1 0 0 + 0x0000000000000069 7 3 1 0 0 -0x0000005f: 00 DW_LNE_set_address (0x0000000000000073) +0x0000005f: 00 DW_LNE_set_address (0x000000000000006d) 0x00000066: 00 DW_LNE_end_sequence - 0x0000000000000073 7 3 1 0 0 end_sequence + 0x000000000000006d 7 3 1 0 0 end_sequence -0x00000069: 00 DW_LNE_set_address (0x0000000000000074) +0x00000069: 00 DW_LNE_set_address (0x000000000000006e) 0x00000070: 03 DW_LNS_advance_line (16) 0x00000072: 01 DW_LNS_copy - 0x0000000000000074 16 0 1 0 0 is_stmt + 0x000000000000006e 16 0 1 0 0 is_stmt -0x00000073: 00 DW_LNE_set_address (0x00000000000000ae) +0x00000073: 00 DW_LNE_set_address (0x00000000000000a7) 0x0000007a: 03 DW_LNS_advance_line (17) 0x0000007c: 05 DW_LNS_set_column (10) 0x0000007e: 0a DW_LNS_set_prologue_end 0x0000007f: 01 DW_LNS_copy - 0x00000000000000ae 17 10 1 0 0 is_stmt prologue_end + 0x00000000000000a7 17 10 1 0 0 is_stmt prologue_end -0x00000080: 00 DW_LNE_set_address (0x00000000000000b4) +0x00000080: 00 DW_LNE_set_address (0x00000000000000ad) 0x00000087: 05 DW_LNS_set_column (25) 0x00000089: 06 DW_LNS_negate_stmt 0x0000008a: 01 DW_LNS_copy - 0x00000000000000b4 17 25 1 0 0 + 0x00000000000000ad 17 25 1 0 0 -0x0000008b: 00 DW_LNE_set_address (0x00000000000000c1) +0x0000008b: 00 DW_LNE_set_address (0x00000000000000b9) 0x00000092: 05 DW_LNS_set_column (19) 0x00000094: 01 DW_LNS_copy - 0x00000000000000c1 17 19 1 0 0 + 0x00000000000000b9 17 19 1 0 0 -0x00000095: 00 DW_LNE_set_address (0x00000000000000c8) +0x00000095: 00 DW_LNE_set_address (0x00000000000000c0) 0x0000009c: 05 DW_LNS_set_column (3) 0x0000009e: 01 DW_LNS_copy - 0x00000000000000c8 17 3 1 0 0 + 0x00000000000000c0 17 3 1 0 0 -0x0000009f: 00 DW_LNE_set_address (0x00000000000000db) +0x0000009f: 00 DW_LNE_set_address (0x00000000000000d3) 0x000000a6: 00 DW_LNE_end_sequence - 0x00000000000000db 17 3 1 0 0 end_sequence + 0x00000000000000d3 17 3 1 0 0 end_sequence .debug_str contents: @@ -817,9 +817,9 @@ file_names[ 1]: 0x000000e9: "x" .debug_ranges contents: -00000000 00000005 00000073 +00000000 00000005 0000006d 00000000 -00000010 00000074 000000db +00000010 0000006e 000000d3 00000010 (module (type $none_=>_none (func)) @@ -875,77 +875,77 @@ file_names[ 1]: ;; code offset: 0x2b (local.get $0) ) - ;; code offset: 0x37 + ;; code offset: 0x35 (local.set $4 - ;; code offset: 0x33 + ;; code offset: 0x32 (i32.load $mimport$0 offset=12 - ;; code offset: 0x31 + ;; code offset: 0x30 (local.get $3) ) ) - ;; code offset: 0x3b + ;; code offset: 0x39 (local.set $5 - ;; code offset: 0x39 + ;; code offset: 0x37 (i32.const 1) ) - ;; code offset: 0x42 + ;; code offset: 0x40 (local.set $6 - ;; code offset: 0x41 + ;; code offset: 0x3f (i32.add - ;; code offset: 0x3d + ;; code offset: 0x3b (local.get $4) - ;; code offset: 0x3f + ;; code offset: 0x3d (local.get $5) ) ) - ;; code offset: 0x48 + ;; code offset: 0x46 (i32.store $mimport$0 offset=12 - ;; code offset: 0x44 + ;; code offset: 0x42 (local.get $3) - ;; code offset: 0x46 + ;; code offset: 0x44 (local.get $6) ) - ;; code offset: 0x52 + ;; code offset: 0x4e (local.set $7 - ;; code offset: 0x4e + ;; code offset: 0x4b (i32.load $mimport$0 offset=12 - ;; code offset: 0x4c + ;; code offset: 0x49 (local.get $3) ) ) - ;; code offset: 0x56 + ;; code offset: 0x52 (local.set $8 - ;; code offset: 0x54 + ;; code offset: 0x50 (i32.const -1) ) - ;; code offset: 0x5d + ;; code offset: 0x59 (local.set $9 - ;; code offset: 0x5c + ;; code offset: 0x58 (i32.add - ;; code offset: 0x58 + ;; code offset: 0x54 (local.get $7) - ;; code offset: 0x5a + ;; code offset: 0x56 (local.get $8) ) ) - ;; code offset: 0x63 + ;; code offset: 0x5f (i32.store $mimport$0 offset=12 - ;; code offset: 0x5f + ;; code offset: 0x5b (local.get $3) - ;; code offset: 0x61 + ;; code offset: 0x5d (local.get $9) ) - ;; code offset: 0x6d + ;; code offset: 0x67 (local.set $10 - ;; code offset: 0x69 + ;; code offset: 0x64 (i32.load $mimport$0 offset=12 - ;; code offset: 0x67 + ;; code offset: 0x62 (local.get $3) ) ) - ;; code offset: 0x71 + ;; code offset: 0x6b (return - ;; code offset: 0x6f + ;; code offset: 0x69 (local.get $10) ) ) @@ -961,115 +961,115 @@ file_names[ 1]: (local $8 i32) (local $9 i32) (local $10 i32) - ;; code offset: 0x8d + ;; code offset: 0x87 (local.set $0 - ;; code offset: 0x8b + ;; code offset: 0x85 (global.get $global$0) ) - ;; code offset: 0x91 + ;; code offset: 0x8b (local.set $1 - ;; code offset: 0x8f + ;; code offset: 0x89 (i32.const 16) ) - ;; code offset: 0x98 + ;; code offset: 0x92 (local.set $2 - ;; code offset: 0x97 + ;; code offset: 0x91 (i32.sub - ;; code offset: 0x93 + ;; code offset: 0x8d (local.get $0) - ;; code offset: 0x95 + ;; code offset: 0x8f (local.get $1) ) ) - ;; code offset: 0x9c + ;; code offset: 0x96 (global.set $global$0 - ;; code offset: 0x9a + ;; code offset: 0x94 (local.get $2) ) - ;; code offset: 0xa0 + ;; code offset: 0x9a (local.set $3 - ;; code offset: 0x9e + ;; code offset: 0x98 (i32.const 42) ) - ;; code offset: 0xa4 + ;; code offset: 0x9e (local.set $4 - ;; code offset: 0xa2 + ;; code offset: 0x9c (i32.const 0) ) - ;; code offset: 0xaa + ;; code offset: 0xa4 (i32.store $mimport$0 offset=12 - ;; code offset: 0xa6 + ;; code offset: 0xa0 (local.get $2) - ;; code offset: 0xa8 + ;; code offset: 0xa2 (local.get $4) ) - ;; code offset: 0xb2 + ;; code offset: 0xab (local.set $5 - ;; code offset: 0xb0 + ;; code offset: 0xa9 (call $used\28int\29 - ;; code offset: 0xae + ;; code offset: 0xa7 (local.get $3) ) ) - ;; code offset: 0xb6 + ;; code offset: 0xaf (local.set $6 - ;; code offset: 0xb4 + ;; code offset: 0xad (i32.const 0) ) - ;; code offset: 0xbf + ;; code offset: 0xb7 (local.set $7 - ;; code offset: 0xba + ;; code offset: 0xb3 (i32.load $mimport$0 offset=1168 - ;; code offset: 0xb8 + ;; code offset: 0xb1 (local.get $6) ) ) - ;; code offset: 0xc6 + ;; code offset: 0xbe (local.set $8 - ;; code offset: 0xc5 + ;; code offset: 0xbd (i32.add - ;; code offset: 0xc1 + ;; code offset: 0xb9 (local.get $5) - ;; code offset: 0xc3 + ;; code offset: 0xbb (local.get $7) ) ) - ;; code offset: 0xca + ;; code offset: 0xc2 (local.set $9 - ;; code offset: 0xc8 + ;; code offset: 0xc0 (i32.const 16) ) - ;; code offset: 0xd1 + ;; code offset: 0xc9 (local.set $10 - ;; code offset: 0xd0 + ;; code offset: 0xc8 (i32.add - ;; code offset: 0xcc + ;; code offset: 0xc4 (local.get $2) - ;; code offset: 0xce + ;; code offset: 0xc6 (local.get $9) ) ) - ;; code offset: 0xd5 + ;; code offset: 0xcd (global.set $global$0 - ;; code offset: 0xd3 + ;; code offset: 0xcb (local.get $10) ) - ;; code offset: 0xd9 + ;; code offset: 0xd1 (return - ;; code offset: 0xd7 + ;; code offset: 0xcf (local.get $8) ) ) (func $main (param $0 i32) (param $1 i32) (result i32) (local $2 i32) - ;; code offset: 0xe1 + ;; code offset: 0xd9 (local.set $2 - ;; code offset: 0xdf + ;; code offset: 0xd7 (call $__original_main) ) - ;; code offset: 0xe5 + ;; code offset: 0xdd (return - ;; code offset: 0xe3 + ;; code offset: 0xdb (local.get $2) ) ) diff --git a/test/passes/reverse_dwarf_abbrevs.bin.txt b/test/passes/reverse_dwarf_abbrevs.bin.txt index c313269452d..621467db049 100644 --- a/test/passes/reverse_dwarf_abbrevs.bin.txt +++ b/test/passes/reverse_dwarf_abbrevs.bin.txt @@ -188,7 +188,7 @@ file_names[ 1]: ;; code offset: 0x28 (local.get $0) ) - ;; code offset: 0x2e + ;; code offset: 0x2d (i32.const -1) ) (func $5 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) @@ -199,302 +199,302 @@ file_names[ 1]: (local $7 i32) (local $8 i32) (local $9 i32) - ;; code offset: 0x49 + ;; code offset: 0x48 (global.set $global$0 - ;; code offset: 0x47 + ;; code offset: 0x46 (local.tee $3 - ;; code offset: 0x46 + ;; code offset: 0x45 (i32.sub - ;; code offset: 0x42 + ;; code offset: 0x41 (global.get $global$0) - ;; code offset: 0x44 + ;; code offset: 0x43 (i32.const 32) ) ) ) - ;; code offset: 0x55 + ;; code offset: 0x53 (i32.store $mimport$0 offset=16 - ;; code offset: 0x4b + ;; code offset: 0x4a (local.get $3) - ;; code offset: 0x53 + ;; code offset: 0x51 (local.tee $4 - ;; code offset: 0x4f + ;; code offset: 0x4e (i32.load $mimport$0 offset=28 - ;; code offset: 0x4d + ;; code offset: 0x4c (local.get $0) ) ) ) - ;; code offset: 0x5f + ;; code offset: 0x5b (local.set $5 - ;; code offset: 0x5b + ;; code offset: 0x58 (i32.load $mimport$0 offset=20 - ;; code offset: 0x59 + ;; code offset: 0x56 (local.get $0) ) ) - ;; code offset: 0x65 + ;; code offset: 0x61 (i32.store $mimport$0 offset=28 - ;; code offset: 0x61 + ;; code offset: 0x5d (local.get $3) - ;; code offset: 0x63 + ;; code offset: 0x5f (local.get $2) ) - ;; code offset: 0x6d + ;; code offset: 0x68 (i32.store $mimport$0 offset=24 - ;; code offset: 0x69 + ;; code offset: 0x64 (local.get $3) - ;; code offset: 0x6b + ;; code offset: 0x66 (local.get $1) ) - ;; code offset: 0x7a + ;; code offset: 0x74 (i32.store $mimport$0 offset=20 - ;; code offset: 0x71 + ;; code offset: 0x6b (local.get $3) - ;; code offset: 0x78 + ;; code offset: 0x72 (local.tee $1 - ;; code offset: 0x77 + ;; code offset: 0x71 (i32.sub - ;; code offset: 0x73 + ;; code offset: 0x6d (local.get $5) - ;; code offset: 0x75 + ;; code offset: 0x6f (local.get $4) ) ) ) - ;; code offset: 0x83 + ;; code offset: 0x7c (local.set $6 - ;; code offset: 0x82 + ;; code offset: 0x7b (i32.add - ;; code offset: 0x7e + ;; code offset: 0x77 (local.get $1) - ;; code offset: 0x80 + ;; code offset: 0x79 (local.get $2) ) ) - ;; code offset: 0x87 + ;; code offset: 0x80 (local.set $7 - ;; code offset: 0x85 + ;; code offset: 0x7e (i32.const 2) ) - ;; code offset: 0x8e + ;; code offset: 0x87 (local.set $1 - ;; code offset: 0x8d + ;; code offset: 0x86 (i32.add - ;; code offset: 0x89 + ;; code offset: 0x82 (local.get $3) - ;; code offset: 0x8b + ;; code offset: 0x84 (i32.const 16) ) ) - ;; code offset: 0x1a7 + ;; code offset: 0x18d (local.set $4 - ;; code offset: 0x90 + ;; code offset: 0x89 (block $label$1 (result i32) (block $label$2 (block $label$3 - ;; code offset: 0xad + ;; code offset: 0xa5 (if - ;; code offset: 0xac + ;; code offset: 0xa4 (i32.eqz - ;; code offset: 0xaa + ;; code offset: 0xa2 (call $4 - ;; code offset: 0xa8 + ;; code offset: 0xa0 (call $fimport$0 - ;; code offset: 0x98 + ;; code offset: 0x91 (i32.load $mimport$0 offset=60 - ;; code offset: 0x96 + ;; code offset: 0x8f (local.get $0) ) - ;; code offset: 0xa0 + ;; code offset: 0x98 (i32.add - ;; code offset: 0x9c + ;; code offset: 0x94 (local.get $3) - ;; code offset: 0x9e + ;; code offset: 0x96 (i32.const 16) ) - ;; code offset: 0xa1 + ;; code offset: 0x99 (i32.const 2) - ;; code offset: 0xa7 + ;; code offset: 0x9f (i32.add - ;; code offset: 0xa3 + ;; code offset: 0x9b (local.get $3) - ;; code offset: 0xa5 + ;; code offset: 0x9d (i32.const 12) ) ) ) ) - ;; code offset: 0xaf + ;; code offset: 0xa7 (loop $label$5 - ;; code offset: 0xbc + ;; code offset: 0xb3 (br_if $label$3 - ;; code offset: 0xbb + ;; code offset: 0xb2 (i32.eq - ;; code offset: 0xb1 + ;; code offset: 0xa9 (local.get $6) - ;; code offset: 0xb9 + ;; code offset: 0xb0 (local.tee $4 - ;; code offset: 0xb5 + ;; code offset: 0xad (i32.load $mimport$0 offset=12 - ;; code offset: 0xb3 + ;; code offset: 0xab (local.get $3) ) ) ) ) - ;; code offset: 0xc3 + ;; code offset: 0xba (br_if $label$2 - ;; code offset: 0xc2 + ;; code offset: 0xb9 (i32.le_s - ;; code offset: 0xbe + ;; code offset: 0xb5 (local.get $4) - ;; code offset: 0xc0 + ;; code offset: 0xb7 (i32.const -1) ) ) - ;; code offset: 0xed + ;; code offset: 0xe2 (i32.store $mimport$0 - ;; code offset: 0xd8 + ;; code offset: 0xce (local.tee $9 - ;; code offset: 0xd7 + ;; code offset: 0xcd (i32.add - ;; code offset: 0xc5 + ;; code offset: 0xbc (local.get $1) - ;; code offset: 0xd6 + ;; code offset: 0xcc (i32.shl - ;; code offset: 0xd2 + ;; code offset: 0xc8 (local.tee $5 - ;; code offset: 0xd1 + ;; code offset: 0xc7 (i32.gt_u - ;; code offset: 0xc7 + ;; code offset: 0xbe (local.get $4) - ;; code offset: 0xcf + ;; code offset: 0xc5 (local.tee $8 - ;; code offset: 0xcb + ;; code offset: 0xc2 (i32.load $mimport$0 offset=4 - ;; code offset: 0xc9 + ;; code offset: 0xc0 (local.get $1) ) ) ) ) - ;; code offset: 0xd4 + ;; code offset: 0xca (i32.const 3) ) ) ) - ;; code offset: 0xec + ;; code offset: 0xe1 (i32.add - ;; code offset: 0xe4 + ;; code offset: 0xda (local.tee $8 - ;; code offset: 0xe3 + ;; code offset: 0xd9 (i32.sub - ;; code offset: 0xda + ;; code offset: 0xd0 (local.get $4) - ;; code offset: 0xe2 + ;; code offset: 0xd8 (select - ;; code offset: 0xdc + ;; code offset: 0xd2 (local.get $8) - ;; code offset: 0xde + ;; code offset: 0xd4 (i32.const 0) - ;; code offset: 0xe0 + ;; code offset: 0xd6 (local.get $5) ) ) ) - ;; code offset: 0xe8 + ;; code offset: 0xde (i32.load $mimport$0 - ;; code offset: 0xe6 + ;; code offset: 0xdc (local.get $9) ) ) ) - ;; code offset: 0x106 + ;; code offset: 0xf9 (i32.store $mimport$0 - ;; code offset: 0xfb + ;; code offset: 0xef (local.tee $9 - ;; code offset: 0xfa + ;; code offset: 0xee (i32.add - ;; code offset: 0xf1 + ;; code offset: 0xe5 (local.get $1) - ;; code offset: 0xf9 + ;; code offset: 0xed (select - ;; code offset: 0xf3 + ;; code offset: 0xe7 (i32.const 12) - ;; code offset: 0xf5 + ;; code offset: 0xe9 (i32.const 4) - ;; code offset: 0xf7 + ;; code offset: 0xeb (local.get $5) ) ) ) - ;; code offset: 0x105 + ;; code offset: 0xf8 (i32.sub - ;; code offset: 0xff + ;; code offset: 0xf3 (i32.load $mimport$0 - ;; code offset: 0xfd + ;; code offset: 0xf1 (local.get $9) ) - ;; code offset: 0x103 + ;; code offset: 0xf6 (local.get $8) ) ) - ;; code offset: 0x10f + ;; code offset: 0x101 (local.set $6 - ;; code offset: 0x10e + ;; code offset: 0x100 (i32.sub - ;; code offset: 0x10a + ;; code offset: 0xfc (local.get $6) - ;; code offset: 0x10c + ;; code offset: 0xfe (local.get $4) ) ) - ;; code offset: 0x134 + ;; code offset: 0x125 (br_if $label$5 - ;; code offset: 0x133 + ;; code offset: 0x124 (i32.eqz - ;; code offset: 0x131 + ;; code offset: 0x122 (call $4 - ;; code offset: 0x12f + ;; code offset: 0x120 (call $fimport$0 - ;; code offset: 0x113 + ;; code offset: 0x105 (i32.load $mimport$0 offset=60 - ;; code offset: 0x111 + ;; code offset: 0x103 (local.get $0) ) - ;; code offset: 0x121 + ;; code offset: 0x112 (local.tee $1 - ;; code offset: 0x120 + ;; code offset: 0x111 (select - ;; code offset: 0x11b + ;; code offset: 0x10c (i32.add - ;; code offset: 0x117 + ;; code offset: 0x108 (local.get $1) - ;; code offset: 0x119 + ;; code offset: 0x10a (i32.const 8) ) - ;; code offset: 0x11c + ;; code offset: 0x10d (local.get $1) - ;; code offset: 0x11e + ;; code offset: 0x10f (local.get $5) ) ) - ;; code offset: 0x128 + ;; code offset: 0x119 (local.tee $7 - ;; code offset: 0x127 + ;; code offset: 0x118 (i32.sub - ;; code offset: 0x123 + ;; code offset: 0x114 (local.get $7) - ;; code offset: 0x125 + ;; code offset: 0x116 (local.get $5) ) ) - ;; code offset: 0x12e + ;; code offset: 0x11f (i32.add - ;; code offset: 0x12a + ;; code offset: 0x11b (local.get $3) - ;; code offset: 0x12c + ;; code offset: 0x11d (i32.const 12) ) ) @@ -503,873 +503,873 @@ file_names[ 1]: ) ) ) - ;; code offset: 0x13c + ;; code offset: 0x12d (i32.store $mimport$0 offset=12 - ;; code offset: 0x138 + ;; code offset: 0x129 (local.get $3) - ;; code offset: 0x13a + ;; code offset: 0x12b (i32.const -1) ) - ;; code offset: 0x145 + ;; code offset: 0x135 (br_if $label$2 - ;; code offset: 0x144 + ;; code offset: 0x134 (i32.ne - ;; code offset: 0x140 + ;; code offset: 0x130 (local.get $6) - ;; code offset: 0x142 + ;; code offset: 0x132 (i32.const -1) ) ) ) - ;; code offset: 0x152 + ;; code offset: 0x141 (i32.store $mimport$0 offset=28 - ;; code offset: 0x148 + ;; code offset: 0x138 (local.get $0) - ;; code offset: 0x150 + ;; code offset: 0x13f (local.tee $1 - ;; code offset: 0x14c + ;; code offset: 0x13c (i32.load $mimport$0 offset=44 - ;; code offset: 0x14a + ;; code offset: 0x13a (local.get $0) ) ) ) - ;; code offset: 0x15a + ;; code offset: 0x148 (i32.store $mimport$0 offset=20 - ;; code offset: 0x156 + ;; code offset: 0x144 (local.get $0) - ;; code offset: 0x158 + ;; code offset: 0x146 (local.get $1) ) - ;; code offset: 0x169 + ;; code offset: 0x155 (i32.store $mimport$0 offset=16 - ;; code offset: 0x15e + ;; code offset: 0x14b (local.get $0) - ;; code offset: 0x168 + ;; code offset: 0x154 (i32.add - ;; code offset: 0x160 + ;; code offset: 0x14d (local.get $1) - ;; code offset: 0x164 + ;; code offset: 0x151 (i32.load $mimport$0 offset=48 - ;; code offset: 0x162 + ;; code offset: 0x14f (local.get $0) ) ) ) - ;; code offset: 0x16f + ;; code offset: 0x15a (br $label$1 - ;; code offset: 0x16d + ;; code offset: 0x158 (local.get $2) ) ) - ;; code offset: 0x176 + ;; code offset: 0x161 (i32.store $mimport$0 offset=28 - ;; code offset: 0x172 + ;; code offset: 0x15d (local.get $0) - ;; code offset: 0x174 + ;; code offset: 0x15f (i32.const 0) ) - ;; code offset: 0x17e + ;; code offset: 0x168 (i64.store $mimport$0 offset=16 - ;; code offset: 0x17a + ;; code offset: 0x164 (local.get $0) - ;; code offset: 0x17c + ;; code offset: 0x166 (i64.const 0) ) - ;; code offset: 0x18d + ;; code offset: 0x175 (i32.store $mimport$0 - ;; code offset: 0x182 + ;; code offset: 0x16b (local.get $0) - ;; code offset: 0x18c + ;; code offset: 0x174 (i32.or - ;; code offset: 0x186 + ;; code offset: 0x16f (i32.load $mimport$0 - ;; code offset: 0x184 + ;; code offset: 0x16d (local.get $0) ) - ;; code offset: 0x18a + ;; code offset: 0x172 (i32.const 32) ) ) - ;; code offset: 0x19c + ;; code offset: 0x183 (drop - ;; code offset: 0x19a + ;; code offset: 0x181 (br_if $label$1 - ;; code offset: 0x193 + ;; code offset: 0x17a (local.tee $4 - ;; code offset: 0x191 + ;; code offset: 0x178 (i32.const 0) ) - ;; code offset: 0x199 + ;; code offset: 0x180 (i32.eq - ;; code offset: 0x195 + ;; code offset: 0x17c (local.get $7) - ;; code offset: 0x197 + ;; code offset: 0x17e (i32.const 2) ) ) ) - ;; code offset: 0x1a5 + ;; code offset: 0x18b (i32.sub - ;; code offset: 0x19d + ;; code offset: 0x184 (local.get $2) - ;; code offset: 0x1a1 + ;; code offset: 0x188 (i32.load $mimport$0 offset=4 - ;; code offset: 0x19f + ;; code offset: 0x186 (local.get $1) ) ) ) ) - ;; code offset: 0x1ae + ;; code offset: 0x194 (global.set $global$0 - ;; code offset: 0x1ad + ;; code offset: 0x193 (i32.add - ;; code offset: 0x1a9 + ;; code offset: 0x18f (local.get $3) - ;; code offset: 0x1ab + ;; code offset: 0x191 (i32.const 32) ) ) - ;; code offset: 0x1b0 + ;; code offset: 0x196 (local.get $4) ) (func $6 (param $0 i32) (result i32) - ;; code offset: 0x1b5 + ;; code offset: 0x19b (i32.const 0) ) (func $7 (param $0 i32) (param $1 i64) (param $2 i32) (result i64) - ;; code offset: 0x1ba + ;; code offset: 0x1a0 (i64.const 0) ) (func $8 (param $0 i32) (result i32) (local $1 i32) - ;; code offset: 0x1d1 + ;; code offset: 0x1b6 (i32.store8 $mimport$0 offset=74 - ;; code offset: 0x1c1 + ;; code offset: 0x1a7 (local.get $0) - ;; code offset: 0x1d0 + ;; code offset: 0x1b5 (i32.or - ;; code offset: 0x1cd + ;; code offset: 0x1b2 (i32.add - ;; code offset: 0x1c9 + ;; code offset: 0x1ae (local.tee $1 - ;; code offset: 0x1c5 + ;; code offset: 0x1ab (i32.load8_u $mimport$0 offset=74 - ;; code offset: 0x1c3 + ;; code offset: 0x1a9 (local.get $0) ) ) - ;; code offset: 0x1cb + ;; code offset: 0x1b0 (i32.const -1) ) - ;; code offset: 0x1ce + ;; code offset: 0x1b3 (local.get $1) ) ) - ;; code offset: 0x1e0 + ;; code offset: 0x1c3 (if - ;; code offset: 0x1df + ;; code offset: 0x1c2 (i32.and - ;; code offset: 0x1db + ;; code offset: 0x1be (local.tee $1 - ;; code offset: 0x1d7 + ;; code offset: 0x1bb (i32.load $mimport$0 - ;; code offset: 0x1d5 + ;; code offset: 0x1b9 (local.get $0) ) ) - ;; code offset: 0x1dd + ;; code offset: 0x1c0 (i32.const 8) ) (block - ;; code offset: 0x1e9 + ;; code offset: 0x1cc (i32.store $mimport$0 - ;; code offset: 0x1e2 + ;; code offset: 0x1c5 (local.get $0) - ;; code offset: 0x1e8 + ;; code offset: 0x1cb (i32.or - ;; code offset: 0x1e4 + ;; code offset: 0x1c7 (local.get $1) - ;; code offset: 0x1e6 + ;; code offset: 0x1c9 (i32.const 32) ) ) - ;; code offset: 0x1ef + ;; code offset: 0x1d1 (return - ;; code offset: 0x1ed + ;; code offset: 0x1cf (i32.const -1) ) ) ) - ;; code offset: 0x1f5 + ;; code offset: 0x1d7 (i64.store $mimport$0 offset=4 align=4 - ;; code offset: 0x1f1 + ;; code offset: 0x1d3 (local.get $0) - ;; code offset: 0x1f3 + ;; code offset: 0x1d5 (i64.const 0) ) - ;; code offset: 0x203 + ;; code offset: 0x1e3 (i32.store $mimport$0 offset=28 - ;; code offset: 0x1f9 + ;; code offset: 0x1da (local.get $0) - ;; code offset: 0x201 + ;; code offset: 0x1e1 (local.tee $1 - ;; code offset: 0x1fd + ;; code offset: 0x1de (i32.load $mimport$0 offset=44 - ;; code offset: 0x1fb + ;; code offset: 0x1dc (local.get $0) ) ) ) - ;; code offset: 0x20b + ;; code offset: 0x1ea (i32.store $mimport$0 offset=20 - ;; code offset: 0x207 + ;; code offset: 0x1e6 (local.get $0) - ;; code offset: 0x209 + ;; code offset: 0x1e8 (local.get $1) ) - ;; code offset: 0x21a + ;; code offset: 0x1f7 (i32.store $mimport$0 offset=16 - ;; code offset: 0x20f + ;; code offset: 0x1ed (local.get $0) - ;; code offset: 0x219 + ;; code offset: 0x1f6 (i32.add - ;; code offset: 0x211 + ;; code offset: 0x1ef (local.get $1) - ;; code offset: 0x215 + ;; code offset: 0x1f3 (i32.load $mimport$0 offset=48 - ;; code offset: 0x213 + ;; code offset: 0x1f1 (local.get $0) ) ) ) - ;; code offset: 0x21e + ;; code offset: 0x1fa (i32.const 0) ) (func $9 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) - ;; code offset: 0x230 + ;; code offset: 0x20c (if - ;; code offset: 0x22f + ;; code offset: 0x20b (i32.ge_u - ;; code offset: 0x22a + ;; code offset: 0x206 (local.get $2) - ;; code offset: 0x22c + ;; code offset: 0x208 (i32.const 512) ) (block - ;; code offset: 0x23a + ;; code offset: 0x216 (drop - ;; code offset: 0x238 + ;; code offset: 0x214 (call $fimport$1 - ;; code offset: 0x232 + ;; code offset: 0x20e (local.get $0) - ;; code offset: 0x234 + ;; code offset: 0x210 (local.get $1) - ;; code offset: 0x236 + ;; code offset: 0x212 (local.get $2) ) ) - ;; code offset: 0x23d + ;; code offset: 0x219 (return - ;; code offset: 0x23b + ;; code offset: 0x217 (local.get $0) ) ) ) - ;; code offset: 0x244 + ;; code offset: 0x220 (local.set $3 - ;; code offset: 0x243 + ;; code offset: 0x21f (i32.add - ;; code offset: 0x23f + ;; code offset: 0x21b (local.get $0) - ;; code offset: 0x241 + ;; code offset: 0x21d (local.get $2) ) ) - ;; code offset: 0x246 + ;; code offset: 0x222 (block $label$2 - ;; code offset: 0x251 + ;; code offset: 0x22d (if - ;; code offset: 0x250 + ;; code offset: 0x22c (i32.eqz - ;; code offset: 0x24f + ;; code offset: 0x22b (i32.and - ;; code offset: 0x24c + ;; code offset: 0x228 (i32.xor - ;; code offset: 0x248 + ;; code offset: 0x224 (local.get $0) - ;; code offset: 0x24a + ;; code offset: 0x226 (local.get $1) ) - ;; code offset: 0x24d + ;; code offset: 0x229 (i32.const 3) ) ) (block - ;; code offset: 0x253 + ;; code offset: 0x22f (block $label$4 - ;; code offset: 0x25a + ;; code offset: 0x236 (if - ;; code offset: 0x259 + ;; code offset: 0x235 (i32.lt_s - ;; code offset: 0x255 + ;; code offset: 0x231 (local.get $2) - ;; code offset: 0x257 + ;; code offset: 0x233 (i32.const 1) ) (block - ;; code offset: 0x25e + ;; code offset: 0x23a (local.set $2 - ;; code offset: 0x25c + ;; code offset: 0x238 (local.get $0) ) - ;; code offset: 0x260 + ;; code offset: 0x23c (br $label$4) ) ) - ;; code offset: 0x269 + ;; code offset: 0x245 (if - ;; code offset: 0x268 + ;; code offset: 0x244 (i32.eqz - ;; code offset: 0x267 + ;; code offset: 0x243 (i32.and - ;; code offset: 0x263 + ;; code offset: 0x23f (local.get $0) - ;; code offset: 0x265 + ;; code offset: 0x241 (i32.const 3) ) ) (block - ;; code offset: 0x26d + ;; code offset: 0x249 (local.set $2 - ;; code offset: 0x26b + ;; code offset: 0x247 (local.get $0) ) - ;; code offset: 0x26f + ;; code offset: 0x24b (br $label$4) ) ) - ;; code offset: 0x274 + ;; code offset: 0x250 (local.set $2 - ;; code offset: 0x272 + ;; code offset: 0x24e (local.get $0) ) - ;; code offset: 0x276 + ;; code offset: 0x252 (loop $label$7 - ;; code offset: 0x280 + ;; code offset: 0x25b (i32.store8 $mimport$0 - ;; code offset: 0x278 + ;; code offset: 0x254 (local.get $2) - ;; code offset: 0x27c + ;; code offset: 0x258 (i32.load8_u $mimport$0 - ;; code offset: 0x27a + ;; code offset: 0x256 (local.get $1) ) ) - ;; code offset: 0x289 + ;; code offset: 0x263 (local.set $1 - ;; code offset: 0x288 + ;; code offset: 0x262 (i32.add - ;; code offset: 0x284 + ;; code offset: 0x25e (local.get $1) - ;; code offset: 0x286 + ;; code offset: 0x260 (i32.const 1) ) ) - ;; code offset: 0x295 + ;; code offset: 0x26f (br_if $label$4 - ;; code offset: 0x294 + ;; code offset: 0x26e (i32.ge_u - ;; code offset: 0x290 + ;; code offset: 0x26a (local.tee $2 - ;; code offset: 0x28f + ;; code offset: 0x269 (i32.add - ;; code offset: 0x28b + ;; code offset: 0x265 (local.get $2) - ;; code offset: 0x28d + ;; code offset: 0x267 (i32.const 1) ) ) - ;; code offset: 0x292 + ;; code offset: 0x26c (local.get $3) ) ) - ;; code offset: 0x29c + ;; code offset: 0x276 (br_if $label$7 - ;; code offset: 0x29b + ;; code offset: 0x275 (i32.and - ;; code offset: 0x297 + ;; code offset: 0x271 (local.get $2) - ;; code offset: 0x299 + ;; code offset: 0x273 (i32.const 3) ) ) ) ) - ;; code offset: 0x2a0 + ;; code offset: 0x27a (block $label$8 - ;; code offset: 0x2ad + ;; code offset: 0x287 (br_if $label$8 - ;; code offset: 0x2ac + ;; code offset: 0x286 (i32.lt_u - ;; code offset: 0x2a7 + ;; code offset: 0x281 (local.tee $4 - ;; code offset: 0x2a6 + ;; code offset: 0x280 (i32.and - ;; code offset: 0x2a2 + ;; code offset: 0x27c (local.get $3) - ;; code offset: 0x2a4 + ;; code offset: 0x27e (i32.const -4) ) ) - ;; code offset: 0x2a9 + ;; code offset: 0x283 (i32.const 64) ) ) - ;; code offset: 0x2b9 + ;; code offset: 0x293 (br_if $label$8 - ;; code offset: 0x2b8 + ;; code offset: 0x292 (i32.gt_u - ;; code offset: 0x2af + ;; code offset: 0x289 (local.get $2) - ;; code offset: 0x2b6 + ;; code offset: 0x290 (local.tee $5 - ;; code offset: 0x2b5 + ;; code offset: 0x28f (i32.add - ;; code offset: 0x2b1 + ;; code offset: 0x28b (local.get $4) - ;; code offset: 0x2b3 + ;; code offset: 0x28d (i32.const -64) ) ) ) ) - ;; code offset: 0x2bb + ;; code offset: 0x295 (loop $label$9 - ;; code offset: 0x2c5 + ;; code offset: 0x29e (i32.store $mimport$0 - ;; code offset: 0x2bd + ;; code offset: 0x297 (local.get $2) - ;; code offset: 0x2c1 + ;; code offset: 0x29b (i32.load $mimport$0 - ;; code offset: 0x2bf + ;; code offset: 0x299 (local.get $1) ) ) - ;; code offset: 0x2d1 + ;; code offset: 0x2a8 (i32.store $mimport$0 offset=4 - ;; code offset: 0x2c9 + ;; code offset: 0x2a1 (local.get $2) - ;; code offset: 0x2cd + ;; code offset: 0x2a5 (i32.load $mimport$0 offset=4 - ;; code offset: 0x2cb + ;; code offset: 0x2a3 (local.get $1) ) ) - ;; code offset: 0x2dd + ;; code offset: 0x2b2 (i32.store $mimport$0 offset=8 - ;; code offset: 0x2d5 + ;; code offset: 0x2ab (local.get $2) - ;; code offset: 0x2d9 + ;; code offset: 0x2af (i32.load $mimport$0 offset=8 - ;; code offset: 0x2d7 + ;; code offset: 0x2ad (local.get $1) ) ) - ;; code offset: 0x2e9 + ;; code offset: 0x2bc (i32.store $mimport$0 offset=12 - ;; code offset: 0x2e1 + ;; code offset: 0x2b5 (local.get $2) - ;; code offset: 0x2e5 + ;; code offset: 0x2b9 (i32.load $mimport$0 offset=12 - ;; code offset: 0x2e3 + ;; code offset: 0x2b7 (local.get $1) ) ) - ;; code offset: 0x2f5 + ;; code offset: 0x2c6 (i32.store $mimport$0 offset=16 - ;; code offset: 0x2ed + ;; code offset: 0x2bf (local.get $2) - ;; code offset: 0x2f1 + ;; code offset: 0x2c3 (i32.load $mimport$0 offset=16 - ;; code offset: 0x2ef + ;; code offset: 0x2c1 (local.get $1) ) ) - ;; code offset: 0x301 + ;; code offset: 0x2d0 (i32.store $mimport$0 offset=20 - ;; code offset: 0x2f9 + ;; code offset: 0x2c9 (local.get $2) - ;; code offset: 0x2fd + ;; code offset: 0x2cd (i32.load $mimport$0 offset=20 - ;; code offset: 0x2fb + ;; code offset: 0x2cb (local.get $1) ) ) - ;; code offset: 0x30d + ;; code offset: 0x2da (i32.store $mimport$0 offset=24 - ;; code offset: 0x305 + ;; code offset: 0x2d3 (local.get $2) - ;; code offset: 0x309 + ;; code offset: 0x2d7 (i32.load $mimport$0 offset=24 - ;; code offset: 0x307 + ;; code offset: 0x2d5 (local.get $1) ) ) - ;; code offset: 0x319 + ;; code offset: 0x2e4 (i32.store $mimport$0 offset=28 - ;; code offset: 0x311 + ;; code offset: 0x2dd (local.get $2) - ;; code offset: 0x315 + ;; code offset: 0x2e1 (i32.load $mimport$0 offset=28 - ;; code offset: 0x313 + ;; code offset: 0x2df (local.get $1) ) ) - ;; code offset: 0x325 + ;; code offset: 0x2ee (i32.store $mimport$0 offset=32 - ;; code offset: 0x31d + ;; code offset: 0x2e7 (local.get $2) - ;; code offset: 0x321 + ;; code offset: 0x2eb (i32.load $mimport$0 offset=32 - ;; code offset: 0x31f + ;; code offset: 0x2e9 (local.get $1) ) ) - ;; code offset: 0x331 + ;; code offset: 0x2f8 (i32.store $mimport$0 offset=36 - ;; code offset: 0x329 + ;; code offset: 0x2f1 (local.get $2) - ;; code offset: 0x32d + ;; code offset: 0x2f5 (i32.load $mimport$0 offset=36 - ;; code offset: 0x32b + ;; code offset: 0x2f3 (local.get $1) ) ) - ;; code offset: 0x33d + ;; code offset: 0x302 (i32.store $mimport$0 offset=40 - ;; code offset: 0x335 + ;; code offset: 0x2fb (local.get $2) - ;; code offset: 0x339 + ;; code offset: 0x2ff (i32.load $mimport$0 offset=40 - ;; code offset: 0x337 + ;; code offset: 0x2fd (local.get $1) ) ) - ;; code offset: 0x349 + ;; code offset: 0x30c (i32.store $mimport$0 offset=44 - ;; code offset: 0x341 + ;; code offset: 0x305 (local.get $2) - ;; code offset: 0x345 + ;; code offset: 0x309 (i32.load $mimport$0 offset=44 - ;; code offset: 0x343 + ;; code offset: 0x307 (local.get $1) ) ) - ;; code offset: 0x355 + ;; code offset: 0x316 (i32.store $mimport$0 offset=48 - ;; code offset: 0x34d + ;; code offset: 0x30f (local.get $2) - ;; code offset: 0x351 + ;; code offset: 0x313 (i32.load $mimport$0 offset=48 - ;; code offset: 0x34f + ;; code offset: 0x311 (local.get $1) ) ) - ;; code offset: 0x361 + ;; code offset: 0x320 (i32.store $mimport$0 offset=52 - ;; code offset: 0x359 + ;; code offset: 0x319 (local.get $2) - ;; code offset: 0x35d + ;; code offset: 0x31d (i32.load $mimport$0 offset=52 - ;; code offset: 0x35b + ;; code offset: 0x31b (local.get $1) ) ) - ;; code offset: 0x36d + ;; code offset: 0x32a (i32.store $mimport$0 offset=56 - ;; code offset: 0x365 + ;; code offset: 0x323 (local.get $2) - ;; code offset: 0x369 + ;; code offset: 0x327 (i32.load $mimport$0 offset=56 - ;; code offset: 0x367 + ;; code offset: 0x325 (local.get $1) ) ) - ;; code offset: 0x379 + ;; code offset: 0x334 (i32.store $mimport$0 offset=60 - ;; code offset: 0x371 + ;; code offset: 0x32d (local.get $2) - ;; code offset: 0x375 + ;; code offset: 0x331 (i32.load $mimport$0 offset=60 - ;; code offset: 0x373 + ;; code offset: 0x32f (local.get $1) ) ) - ;; code offset: 0x382 + ;; code offset: 0x33c (local.set $1 - ;; code offset: 0x381 + ;; code offset: 0x33b (i32.sub - ;; code offset: 0x37d + ;; code offset: 0x337 (local.get $1) - ;; code offset: 0x37f + ;; code offset: 0x339 (i32.const -64) ) ) - ;; code offset: 0x38e + ;; code offset: 0x348 (br_if $label$9 - ;; code offset: 0x38d + ;; code offset: 0x347 (i32.le_u - ;; code offset: 0x389 + ;; code offset: 0x343 (local.tee $2 - ;; code offset: 0x388 + ;; code offset: 0x342 (i32.sub - ;; code offset: 0x384 + ;; code offset: 0x33e (local.get $2) - ;; code offset: 0x386 + ;; code offset: 0x340 (i32.const -64) ) ) - ;; code offset: 0x38b + ;; code offset: 0x345 (local.get $5) ) ) ) ) - ;; code offset: 0x397 + ;; code offset: 0x351 (br_if $label$2 - ;; code offset: 0x396 + ;; code offset: 0x350 (i32.ge_u - ;; code offset: 0x392 + ;; code offset: 0x34c (local.get $2) - ;; code offset: 0x394 + ;; code offset: 0x34e (local.get $4) ) ) - ;; code offset: 0x399 + ;; code offset: 0x353 (loop $label$10 - ;; code offset: 0x3a3 + ;; code offset: 0x35c (i32.store $mimport$0 - ;; code offset: 0x39b + ;; code offset: 0x355 (local.get $2) - ;; code offset: 0x39f + ;; code offset: 0x359 (i32.load $mimport$0 - ;; code offset: 0x39d + ;; code offset: 0x357 (local.get $1) ) ) - ;; code offset: 0x3ac + ;; code offset: 0x364 (local.set $1 - ;; code offset: 0x3ab + ;; code offset: 0x363 (i32.add - ;; code offset: 0x3a7 + ;; code offset: 0x35f (local.get $1) - ;; code offset: 0x3a9 + ;; code offset: 0x361 (i32.const 4) ) ) - ;; code offset: 0x3b8 + ;; code offset: 0x370 (br_if $label$10 - ;; code offset: 0x3b7 + ;; code offset: 0x36f (i32.lt_u - ;; code offset: 0x3b3 + ;; code offset: 0x36b (local.tee $2 - ;; code offset: 0x3b2 + ;; code offset: 0x36a (i32.add - ;; code offset: 0x3ae + ;; code offset: 0x366 (local.get $2) - ;; code offset: 0x3b0 + ;; code offset: 0x368 (i32.const 4) ) ) - ;; code offset: 0x3b5 + ;; code offset: 0x36d (local.get $4) ) ) ) - ;; code offset: 0x3bb + ;; code offset: 0x373 (br $label$2) ) ) - ;; code offset: 0x3c3 + ;; code offset: 0x37b (if - ;; code offset: 0x3c2 + ;; code offset: 0x37a (i32.lt_u - ;; code offset: 0x3be + ;; code offset: 0x376 (local.get $3) - ;; code offset: 0x3c0 + ;; code offset: 0x378 (i32.const 4) ) (block - ;; code offset: 0x3c7 + ;; code offset: 0x37f (local.set $2 - ;; code offset: 0x3c5 + ;; code offset: 0x37d (local.get $0) ) - ;; code offset: 0x3c9 + ;; code offset: 0x381 (br $label$2) ) ) - ;; code offset: 0x3d6 + ;; code offset: 0x38e (if - ;; code offset: 0x3d5 + ;; code offset: 0x38d (i32.lt_u - ;; code offset: 0x3d1 + ;; code offset: 0x389 (local.tee $4 - ;; code offset: 0x3d0 + ;; code offset: 0x388 (i32.add - ;; code offset: 0x3cc + ;; code offset: 0x384 (local.get $3) - ;; code offset: 0x3ce + ;; code offset: 0x386 (i32.const -4) ) ) - ;; code offset: 0x3d3 + ;; code offset: 0x38b (local.get $0) ) (block - ;; code offset: 0x3da + ;; code offset: 0x392 (local.set $2 - ;; code offset: 0x3d8 + ;; code offset: 0x390 (local.get $0) ) - ;; code offset: 0x3dc + ;; code offset: 0x394 (br $label$2) ) ) - ;; code offset: 0x3e1 + ;; code offset: 0x399 (local.set $2 - ;; code offset: 0x3df + ;; code offset: 0x397 (local.get $0) ) - ;; code offset: 0x3e3 + ;; code offset: 0x39b (loop $label$13 - ;; code offset: 0x3ed + ;; code offset: 0x3a4 (i32.store8 $mimport$0 - ;; code offset: 0x3e5 + ;; code offset: 0x39d (local.get $2) - ;; code offset: 0x3e9 + ;; code offset: 0x3a1 (i32.load8_u $mimport$0 - ;; code offset: 0x3e7 + ;; code offset: 0x39f (local.get $1) ) ) - ;; code offset: 0x3f9 + ;; code offset: 0x3ae (i32.store8 $mimport$0 offset=1 - ;; code offset: 0x3f1 + ;; code offset: 0x3a7 (local.get $2) - ;; code offset: 0x3f5 + ;; code offset: 0x3ab (i32.load8_u $mimport$0 offset=1 - ;; code offset: 0x3f3 + ;; code offset: 0x3a9 (local.get $1) ) ) - ;; code offset: 0x405 + ;; code offset: 0x3b8 (i32.store8 $mimport$0 offset=2 - ;; code offset: 0x3fd + ;; code offset: 0x3b1 (local.get $2) - ;; code offset: 0x401 + ;; code offset: 0x3b5 (i32.load8_u $mimport$0 offset=2 - ;; code offset: 0x3ff + ;; code offset: 0x3b3 (local.get $1) ) ) - ;; code offset: 0x411 + ;; code offset: 0x3c2 (i32.store8 $mimport$0 offset=3 - ;; code offset: 0x409 + ;; code offset: 0x3bb (local.get $2) - ;; code offset: 0x40d + ;; code offset: 0x3bf (i32.load8_u $mimport$0 offset=3 - ;; code offset: 0x40b + ;; code offset: 0x3bd (local.get $1) ) ) - ;; code offset: 0x41a + ;; code offset: 0x3ca (local.set $1 - ;; code offset: 0x419 + ;; code offset: 0x3c9 (i32.add - ;; code offset: 0x415 + ;; code offset: 0x3c5 (local.get $1) - ;; code offset: 0x417 + ;; code offset: 0x3c7 (i32.const 4) ) ) - ;; code offset: 0x426 + ;; code offset: 0x3d6 (br_if $label$13 - ;; code offset: 0x425 + ;; code offset: 0x3d5 (i32.le_u - ;; code offset: 0x421 + ;; code offset: 0x3d1 (local.tee $2 - ;; code offset: 0x420 + ;; code offset: 0x3d0 (i32.add - ;; code offset: 0x41c + ;; code offset: 0x3cc (local.get $2) - ;; code offset: 0x41e + ;; code offset: 0x3ce (i32.const 4) ) ) - ;; code offset: 0x423 + ;; code offset: 0x3d3 (local.get $4) ) ) ) ) - ;; code offset: 0x42f + ;; code offset: 0x3df (if - ;; code offset: 0x42e + ;; code offset: 0x3de (i32.lt_u - ;; code offset: 0x42a + ;; code offset: 0x3da (local.get $2) - ;; code offset: 0x42c + ;; code offset: 0x3dc (local.get $3) ) - ;; code offset: 0x431 + ;; code offset: 0x3e1 (loop $label$15 - ;; code offset: 0x43b + ;; code offset: 0x3ea (i32.store8 $mimport$0 - ;; code offset: 0x433 + ;; code offset: 0x3e3 (local.get $2) - ;; code offset: 0x437 + ;; code offset: 0x3e7 (i32.load8_u $mimport$0 - ;; code offset: 0x435 + ;; code offset: 0x3e5 (local.get $1) ) ) - ;; code offset: 0x444 + ;; code offset: 0x3f2 (local.set $1 - ;; code offset: 0x443 + ;; code offset: 0x3f1 (i32.add - ;; code offset: 0x43f + ;; code offset: 0x3ed (local.get $1) - ;; code offset: 0x441 + ;; code offset: 0x3ef (i32.const 1) ) ) - ;; code offset: 0x450 + ;; code offset: 0x3fe (br_if $label$15 - ;; code offset: 0x44f + ;; code offset: 0x3fd (i32.ne - ;; code offset: 0x44b + ;; code offset: 0x3f9 (local.tee $2 - ;; code offset: 0x44a + ;; code offset: 0x3f8 (i32.add - ;; code offset: 0x446 + ;; code offset: 0x3f4 (local.get $2) - ;; code offset: 0x448 + ;; code offset: 0x3f6 (i32.const 1) ) ) - ;; code offset: 0x44d + ;; code offset: 0x3fb (local.get $3) ) ) ) ) - ;; code offset: 0x454 + ;; code offset: 0x402 (local.get $0) ) (func $10 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) @@ -1377,376 +1377,376 @@ file_names[ 1]: (local $4 i32) (local $5 i32) (local $6 i32) - ;; code offset: 0x462 + ;; code offset: 0x410 (block $label$1 - ;; code offset: 0x48f + ;; code offset: 0x43a (if (block $label$2 (result i32) - ;; code offset: 0x46f + ;; code offset: 0x41c (if - ;; code offset: 0x46e + ;; code offset: 0x41b (i32.eqz - ;; code offset: 0x46c + ;; code offset: 0x419 (local.tee $3 - ;; code offset: 0x468 + ;; code offset: 0x416 (i32.load $mimport$0 offset=16 - ;; code offset: 0x466 + ;; code offset: 0x414 (local.get $2) ) ) ) (block - ;; code offset: 0x475 + ;; code offset: 0x422 (br_if $label$1 - ;; code offset: 0x473 + ;; code offset: 0x420 (call $8 - ;; code offset: 0x471 + ;; code offset: 0x41e (local.get $2) ) ) - ;; code offset: 0x47d + ;; code offset: 0x429 (local.set $3 - ;; code offset: 0x479 + ;; code offset: 0x426 (i32.load $mimport$0 offset=16 - ;; code offset: 0x477 + ;; code offset: 0x424 (local.get $2) ) ) ) ) - ;; code offset: 0x48d + ;; code offset: 0x438 (i32.lt_u - ;; code offset: 0x48a + ;; code offset: 0x435 (i32.sub - ;; code offset: 0x480 + ;; code offset: 0x42c (local.get $3) - ;; code offset: 0x488 + ;; code offset: 0x433 (local.tee $5 - ;; code offset: 0x484 + ;; code offset: 0x430 (i32.load $mimport$0 offset=20 - ;; code offset: 0x482 + ;; code offset: 0x42e (local.get $2) ) ) ) - ;; code offset: 0x48b + ;; code offset: 0x436 (local.get $1) ) ) - ;; code offset: 0x4a0 + ;; code offset: 0x44a (return - ;; code offset: 0x49d + ;; code offset: 0x447 (call_indirect (type $i32_i32_i32_=>_i32) - ;; code offset: 0x491 + ;; code offset: 0x43c (local.get $2) - ;; code offset: 0x493 + ;; code offset: 0x43e (local.get $0) - ;; code offset: 0x495 + ;; code offset: 0x440 (local.get $1) - ;; code offset: 0x499 + ;; code offset: 0x444 (i32.load $mimport$0 offset=36 - ;; code offset: 0x497 + ;; code offset: 0x442 (local.get $2) ) ) ) ) - ;; code offset: 0x4a2 + ;; code offset: 0x44c (block $label$5 - ;; code offset: 0x4ad + ;; code offset: 0x456 (br_if $label$5 - ;; code offset: 0x4ac + ;; code offset: 0x455 (i32.lt_s - ;; code offset: 0x4a6 + ;; code offset: 0x450 (i32.load8_s $mimport$0 offset=75 - ;; code offset: 0x4a4 + ;; code offset: 0x44e (local.get $2) ) - ;; code offset: 0x4aa + ;; code offset: 0x453 (i32.const 0) ) ) - ;; code offset: 0x4b1 + ;; code offset: 0x45a (local.set $4 - ;; code offset: 0x4af + ;; code offset: 0x458 (local.get $1) ) - ;; code offset: 0x4b3 + ;; code offset: 0x45c (loop $label$6 - ;; code offset: 0x4ba + ;; code offset: 0x463 (br_if $label$5 - ;; code offset: 0x4b9 + ;; code offset: 0x462 (i32.eqz - ;; code offset: 0x4b7 + ;; code offset: 0x460 (local.tee $3 - ;; code offset: 0x4b5 + ;; code offset: 0x45e (local.get $4) ) ) ) - ;; code offset: 0x4cd + ;; code offset: 0x475 (br_if $label$6 - ;; code offset: 0x4cc + ;; code offset: 0x474 (i32.ne - ;; code offset: 0x4c6 + ;; code offset: 0x46f (i32.load8_u $mimport$0 - ;; code offset: 0x4c5 + ;; code offset: 0x46e (i32.add - ;; code offset: 0x4bc + ;; code offset: 0x465 (local.get $0) - ;; code offset: 0x4c3 + ;; code offset: 0x46c (local.tee $4 - ;; code offset: 0x4c2 + ;; code offset: 0x46b (i32.add - ;; code offset: 0x4be + ;; code offset: 0x467 (local.get $3) - ;; code offset: 0x4c0 + ;; code offset: 0x469 (i32.const -1) ) ) ) ) - ;; code offset: 0x4ca + ;; code offset: 0x472 (i32.const 10) ) ) ) - ;; code offset: 0x4e4 + ;; code offset: 0x48b (br_if $label$1 - ;; code offset: 0x4e3 + ;; code offset: 0x48a (i32.lt_u - ;; code offset: 0x4df + ;; code offset: 0x486 (local.tee $4 - ;; code offset: 0x4dc + ;; code offset: 0x483 (call_indirect (type $i32_i32_i32_=>_i32) - ;; code offset: 0x4d0 + ;; code offset: 0x478 (local.get $2) - ;; code offset: 0x4d2 + ;; code offset: 0x47a (local.get $0) - ;; code offset: 0x4d4 + ;; code offset: 0x47c (local.get $3) - ;; code offset: 0x4d8 + ;; code offset: 0x480 (i32.load $mimport$0 offset=36 - ;; code offset: 0x4d6 + ;; code offset: 0x47e (local.get $2) ) ) ) - ;; code offset: 0x4e1 + ;; code offset: 0x488 (local.get $3) ) ) - ;; code offset: 0x4eb + ;; code offset: 0x492 (local.set $0 - ;; code offset: 0x4ea + ;; code offset: 0x491 (i32.add - ;; code offset: 0x4e6 + ;; code offset: 0x48d (local.get $0) - ;; code offset: 0x4e8 + ;; code offset: 0x48f (local.get $3) ) ) - ;; code offset: 0x4f2 + ;; code offset: 0x499 (local.set $1 - ;; code offset: 0x4f1 + ;; code offset: 0x498 (i32.sub - ;; code offset: 0x4ed + ;; code offset: 0x494 (local.get $1) - ;; code offset: 0x4ef + ;; code offset: 0x496 (local.get $3) ) ) - ;; code offset: 0x4fa + ;; code offset: 0x4a0 (local.set $5 - ;; code offset: 0x4f6 + ;; code offset: 0x49d (i32.load $mimport$0 offset=20 - ;; code offset: 0x4f4 + ;; code offset: 0x49b (local.get $2) ) ) - ;; code offset: 0x4fe + ;; code offset: 0x4a4 (local.set $6 - ;; code offset: 0x4fc + ;; code offset: 0x4a2 (local.get $3) ) ) - ;; code offset: 0x509 + ;; code offset: 0x4af (drop - ;; code offset: 0x507 + ;; code offset: 0x4ad (call $9 - ;; code offset: 0x501 + ;; code offset: 0x4a7 (local.get $5) - ;; code offset: 0x503 + ;; code offset: 0x4a9 (local.get $0) - ;; code offset: 0x505 + ;; code offset: 0x4ab (local.get $1) ) ) - ;; code offset: 0x515 + ;; code offset: 0x4ba (i32.store $mimport$0 offset=20 - ;; code offset: 0x50a + ;; code offset: 0x4b0 (local.get $2) - ;; code offset: 0x514 + ;; code offset: 0x4b9 (i32.add - ;; code offset: 0x50e + ;; code offset: 0x4b4 (i32.load $mimport$0 offset=20 - ;; code offset: 0x50c + ;; code offset: 0x4b2 (local.get $2) ) - ;; code offset: 0x512 + ;; code offset: 0x4b7 (local.get $1) ) ) - ;; code offset: 0x51e + ;; code offset: 0x4c2 (local.set $4 - ;; code offset: 0x51d + ;; code offset: 0x4c1 (i32.add - ;; code offset: 0x519 + ;; code offset: 0x4bd (local.get $1) - ;; code offset: 0x51b + ;; code offset: 0x4bf (local.get $6) ) ) ) - ;; code offset: 0x521 + ;; code offset: 0x4c5 (local.get $4) ) (func $11 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (local $5 i32) - ;; code offset: 0x52f + ;; code offset: 0x4d3 (local.set $4 - ;; code offset: 0x52e + ;; code offset: 0x4d2 (i32.mul - ;; code offset: 0x52a + ;; code offset: 0x4ce (local.get $1) - ;; code offset: 0x52c + ;; code offset: 0x4d0 (local.get $2) ) ) - ;; code offset: 0x531 + ;; code offset: 0x4d5 (block $label$1 - ;; code offset: 0x53c + ;; code offset: 0x4df (if - ;; code offset: 0x53b + ;; code offset: 0x4de (i32.le_s - ;; code offset: 0x535 + ;; code offset: 0x4d9 (i32.load $mimport$0 offset=76 - ;; code offset: 0x533 + ;; code offset: 0x4d7 (local.get $3) ) - ;; code offset: 0x539 + ;; code offset: 0x4dc (i32.const -1) ) (block - ;; code offset: 0x546 + ;; code offset: 0x4e9 (local.set $0 - ;; code offset: 0x544 + ;; code offset: 0x4e7 (call $10 - ;; code offset: 0x53e + ;; code offset: 0x4e1 (local.get $0) - ;; code offset: 0x540 + ;; code offset: 0x4e3 (local.get $4) - ;; code offset: 0x542 + ;; code offset: 0x4e5 (local.get $3) ) ) - ;; code offset: 0x548 + ;; code offset: 0x4eb (br $label$1) ) ) - ;; code offset: 0x54f + ;; code offset: 0x4f2 (local.set $5 - ;; code offset: 0x54d + ;; code offset: 0x4f0 (call $15 - ;; code offset: 0x54b + ;; code offset: 0x4ee (local.get $3) ) ) - ;; code offset: 0x559 + ;; code offset: 0x4fc (local.set $0 - ;; code offset: 0x557 + ;; code offset: 0x4fa (call $10 - ;; code offset: 0x551 + ;; code offset: 0x4f4 (local.get $0) - ;; code offset: 0x553 + ;; code offset: 0x4f6 (local.get $4) - ;; code offset: 0x555 + ;; code offset: 0x4f8 (local.get $3) ) ) - ;; code offset: 0x55e + ;; code offset: 0x501 (br_if $label$1 - ;; code offset: 0x55d + ;; code offset: 0x500 (i32.eqz - ;; code offset: 0x55b + ;; code offset: 0x4fe (local.get $5) ) ) - ;; code offset: 0x562 + ;; code offset: 0x505 (call $16 - ;; code offset: 0x560 + ;; code offset: 0x503 (local.get $3) ) ) - ;; code offset: 0x56a + ;; code offset: 0x50d (if - ;; code offset: 0x569 + ;; code offset: 0x50c (i32.eq - ;; code offset: 0x565 + ;; code offset: 0x508 (local.get $0) - ;; code offset: 0x567 + ;; code offset: 0x50a (local.get $4) ) - ;; code offset: 0x573 + ;; code offset: 0x516 (return - ;; code offset: 0x572 + ;; code offset: 0x515 (select - ;; code offset: 0x56c + ;; code offset: 0x50f (local.get $2) - ;; code offset: 0x56e + ;; code offset: 0x511 (i32.const 0) - ;; code offset: 0x570 + ;; code offset: 0x513 (local.get $1) ) ) ) - ;; code offset: 0x579 + ;; code offset: 0x51c (i32.div_u - ;; code offset: 0x575 + ;; code offset: 0x518 (local.get $0) - ;; code offset: 0x577 + ;; code offset: 0x51a (local.get $1) ) ) (func $12 (param $0 i32) (param $1 i32) (result i32) (local $2 i32) - ;; code offset: 0x594 + ;; code offset: 0x537 (select - ;; code offset: 0x57f + ;; code offset: 0x522 (i32.const -1) - ;; code offset: 0x581 + ;; code offset: 0x524 (i32.const 0) - ;; code offset: 0x593 + ;; code offset: 0x536 (i32.ne - ;; code offset: 0x58f + ;; code offset: 0x532 (call $11 - ;; code offset: 0x583 + ;; code offset: 0x526 (local.get $0) - ;; code offset: 0x585 + ;; code offset: 0x528 (i32.const 1) - ;; code offset: 0x58b + ;; code offset: 0x52e (local.tee $2 - ;; code offset: 0x589 + ;; code offset: 0x52c (call $17 - ;; code offset: 0x587 + ;; code offset: 0x52a (local.get $0) ) ) - ;; code offset: 0x58d + ;; code offset: 0x530 (local.get $1) ) - ;; code offset: 0x591 + ;; code offset: 0x534 (local.get $2) ) ) @@ -1755,615 +1755,615 @@ file_names[ 1]: (local $2 i32) (local $3 i32) (local $4 i32) - ;; code offset: 0x5a6 + ;; code offset: 0x549 (global.set $global$0 - ;; code offset: 0x5a4 + ;; code offset: 0x547 (local.tee $3 - ;; code offset: 0x5a3 + ;; code offset: 0x546 (i32.sub - ;; code offset: 0x59f + ;; code offset: 0x542 (global.get $global$0) - ;; code offset: 0x5a1 + ;; code offset: 0x544 (i32.const 16) ) ) ) - ;; code offset: 0x5ac + ;; code offset: 0x54f (i32.store8 $mimport$0 offset=15 - ;; code offset: 0x5a8 + ;; code offset: 0x54b (local.get $3) - ;; code offset: 0x5aa + ;; code offset: 0x54d (local.get $1) ) - ;; code offset: 0x5b0 + ;; code offset: 0x552 (block $label$1 - ;; code offset: 0x5bb + ;; code offset: 0x55c (if - ;; code offset: 0x5ba + ;; code offset: 0x55b (i32.eqz - ;; code offset: 0x5b8 + ;; code offset: 0x559 (local.tee $2 - ;; code offset: 0x5b4 + ;; code offset: 0x556 (i32.load $mimport$0 offset=16 - ;; code offset: 0x5b2 + ;; code offset: 0x554 (local.get $0) ) ) ) (block - ;; code offset: 0x5bf + ;; code offset: 0x560 (local.set $2 - ;; code offset: 0x5bd + ;; code offset: 0x55e (i32.const -1) ) - ;; code offset: 0x5c5 + ;; code offset: 0x566 (br_if $label$1 - ;; code offset: 0x5c3 + ;; code offset: 0x564 (call $8 - ;; code offset: 0x5c1 + ;; code offset: 0x562 (local.get $0) ) ) - ;; code offset: 0x5cd + ;; code offset: 0x56d (local.set $2 - ;; code offset: 0x5c9 + ;; code offset: 0x56a (i32.load $mimport$0 offset=16 - ;; code offset: 0x5c7 + ;; code offset: 0x568 (local.get $0) ) ) ) ) - ;; code offset: 0x5d0 + ;; code offset: 0x570 (block $label$3 - ;; code offset: 0x5dd + ;; code offset: 0x57c (br_if $label$3 - ;; code offset: 0x5dc + ;; code offset: 0x57b (i32.ge_u - ;; code offset: 0x5d8 + ;; code offset: 0x577 (local.tee $4 - ;; code offset: 0x5d4 + ;; code offset: 0x574 (i32.load $mimport$0 offset=20 - ;; code offset: 0x5d2 + ;; code offset: 0x572 (local.get $0) ) ) - ;; code offset: 0x5da + ;; code offset: 0x579 (local.get $2) ) ) - ;; code offset: 0x5ee + ;; code offset: 0x58c (br_if $label$3 - ;; code offset: 0x5ed + ;; code offset: 0x58b (i32.eq - ;; code offset: 0x5e5 + ;; code offset: 0x584 (local.tee $2 - ;; code offset: 0x5e4 + ;; code offset: 0x583 (i32.and - ;; code offset: 0x5df + ;; code offset: 0x57e (local.get $1) - ;; code offset: 0x5e1 + ;; code offset: 0x580 (i32.const 255) ) ) - ;; code offset: 0x5e9 + ;; code offset: 0x588 (i32.load8_s $mimport$0 offset=75 - ;; code offset: 0x5e7 + ;; code offset: 0x586 (local.get $0) ) ) ) - ;; code offset: 0x5f7 + ;; code offset: 0x595 (i32.store $mimport$0 offset=20 - ;; code offset: 0x5f0 + ;; code offset: 0x58e (local.get $0) - ;; code offset: 0x5f6 + ;; code offset: 0x594 (i32.add - ;; code offset: 0x5f2 + ;; code offset: 0x590 (local.get $4) - ;; code offset: 0x5f4 + ;; code offset: 0x592 (i32.const 1) ) ) - ;; code offset: 0x5ff + ;; code offset: 0x59c (i32.store8 $mimport$0 - ;; code offset: 0x5fb + ;; code offset: 0x598 (local.get $4) - ;; code offset: 0x5fd + ;; code offset: 0x59a (local.get $1) ) - ;; code offset: 0x603 + ;; code offset: 0x59f (br $label$1) ) - ;; code offset: 0x608 + ;; code offset: 0x5a4 (local.set $2 - ;; code offset: 0x606 + ;; code offset: 0x5a2 (i32.const -1) ) - ;; code offset: 0x61f + ;; code offset: 0x5ba (br_if $label$1 - ;; code offset: 0x61e + ;; code offset: 0x5b9 (i32.ne - ;; code offset: 0x619 + ;; code offset: 0x5b4 (call_indirect (type $i32_i32_i32_=>_i32) - ;; code offset: 0x60a + ;; code offset: 0x5a6 (local.get $0) - ;; code offset: 0x610 + ;; code offset: 0x5ac (i32.add - ;; code offset: 0x60c + ;; code offset: 0x5a8 (local.get $3) - ;; code offset: 0x60e + ;; code offset: 0x5aa (i32.const 15) ) - ;; code offset: 0x611 + ;; code offset: 0x5ad (i32.const 1) - ;; code offset: 0x615 + ;; code offset: 0x5b1 (i32.load $mimport$0 offset=36 - ;; code offset: 0x613 + ;; code offset: 0x5af (local.get $0) ) ) - ;; code offset: 0x61c + ;; code offset: 0x5b7 (i32.const 1) ) ) - ;; code offset: 0x627 + ;; code offset: 0x5c1 (local.set $2 - ;; code offset: 0x623 + ;; code offset: 0x5be (i32.load8_u $mimport$0 offset=15 - ;; code offset: 0x621 + ;; code offset: 0x5bc (local.get $3) ) ) ) - ;; code offset: 0x62f + ;; code offset: 0x5c9 (global.set $global$0 - ;; code offset: 0x62e + ;; code offset: 0x5c8 (i32.add - ;; code offset: 0x62a + ;; code offset: 0x5c4 (local.get $3) - ;; code offset: 0x62c + ;; code offset: 0x5c6 (i32.const 16) ) ) - ;; code offset: 0x631 + ;; code offset: 0x5cb (local.get $2) ) (func $14 (param $0 i32) (result i32) (local $1 i32) (local $2 i32) - ;; code offset: 0x64a + ;; code offset: 0x5e2 (if - ;; code offset: 0x649 + ;; code offset: 0x5e1 (i32.ge_s - ;; code offset: 0x643 + ;; code offset: 0x5dc (i32.load $mimport$0 offset=76 - ;; code offset: 0x641 + ;; code offset: 0x5da (local.tee $1 - ;; code offset: 0x63d + ;; code offset: 0x5d7 (i32.load $mimport$0 - ;; code offset: 0x63a + ;; code offset: 0x5d4 (i32.const 1040) ) ) ) - ;; code offset: 0x647 + ;; code offset: 0x5df (i32.const 0) ) - ;; code offset: 0x650 + ;; code offset: 0x5e8 (local.set $2 - ;; code offset: 0x64e + ;; code offset: 0x5e6 (call $15 - ;; code offset: 0x64c + ;; code offset: 0x5e4 (local.get $1) ) ) ) - ;; code offset: 0x6a3 + ;; code offset: 0x636 (local.set $0 - ;; code offset: 0x653 + ;; code offset: 0x5eb (block $label$2 (result i32) - ;; code offset: 0x662 + ;; code offset: 0x5fa (drop - ;; code offset: 0x660 + ;; code offset: 0x5f8 (br_if $label$2 - ;; code offset: 0x655 + ;; code offset: 0x5ed (i32.const -1) - ;; code offset: 0x65f + ;; code offset: 0x5f7 (i32.lt_s - ;; code offset: 0x65b + ;; code offset: 0x5f3 (call $12 - ;; code offset: 0x657 + ;; code offset: 0x5ef (local.get $0) - ;; code offset: 0x659 + ;; code offset: 0x5f1 (local.get $1) ) - ;; code offset: 0x65d + ;; code offset: 0x5f5 (i32.const 0) ) ) ) - ;; code offset: 0x663 + ;; code offset: 0x5fb (block $label$3 - ;; code offset: 0x66e + ;; code offset: 0x605 (br_if $label$3 - ;; code offset: 0x66d + ;; code offset: 0x604 (i32.eq - ;; code offset: 0x667 + ;; code offset: 0x5ff (i32.load8_u $mimport$0 offset=75 - ;; code offset: 0x665 + ;; code offset: 0x5fd (local.get $1) ) - ;; code offset: 0x66b + ;; code offset: 0x602 (i32.const 10) ) ) - ;; code offset: 0x67f + ;; code offset: 0x614 (br_if $label$3 - ;; code offset: 0x67e + ;; code offset: 0x613 (i32.ge_u - ;; code offset: 0x676 + ;; code offset: 0x60c (local.tee $0 - ;; code offset: 0x672 + ;; code offset: 0x609 (i32.load $mimport$0 offset=20 - ;; code offset: 0x670 + ;; code offset: 0x607 (local.get $1) ) ) - ;; code offset: 0x67a + ;; code offset: 0x610 (i32.load $mimport$0 offset=16 - ;; code offset: 0x678 + ;; code offset: 0x60e (local.get $1) ) ) ) - ;; code offset: 0x688 + ;; code offset: 0x61d (i32.store $mimport$0 offset=20 - ;; code offset: 0x681 + ;; code offset: 0x616 (local.get $1) - ;; code offset: 0x687 + ;; code offset: 0x61c (i32.add - ;; code offset: 0x683 + ;; code offset: 0x618 (local.get $0) - ;; code offset: 0x685 + ;; code offset: 0x61a (i32.const 1) ) ) - ;; code offset: 0x690 + ;; code offset: 0x624 (i32.store8 $mimport$0 - ;; code offset: 0x68c + ;; code offset: 0x620 (local.get $0) - ;; code offset: 0x68e + ;; code offset: 0x622 (i32.const 10) ) - ;; code offset: 0x696 + ;; code offset: 0x629 (br $label$2 - ;; code offset: 0x694 + ;; code offset: 0x627 (i32.const 0) ) ) - ;; code offset: 0x6a1 + ;; code offset: 0x634 (i32.shr_s - ;; code offset: 0x69d + ;; code offset: 0x630 (call $13 - ;; code offset: 0x699 + ;; code offset: 0x62c (local.get $1) - ;; code offset: 0x69b + ;; code offset: 0x62e (i32.const 10) ) - ;; code offset: 0x69f + ;; code offset: 0x632 (i32.const 31) ) ) ) - ;; code offset: 0x6a7 + ;; code offset: 0x63a (if - ;; code offset: 0x6a5 + ;; code offset: 0x638 (local.get $2) - ;; code offset: 0x6ab + ;; code offset: 0x63e (call $16 - ;; code offset: 0x6a9 + ;; code offset: 0x63c (local.get $1) ) ) - ;; code offset: 0x6ae + ;; code offset: 0x641 (local.get $0) ) (func $15 (param $0 i32) (result i32) - ;; code offset: 0x6b3 + ;; code offset: 0x646 (i32.const 1) ) (func $16 (param $0 i32) - ;; code offset: 0x6b8 + ;; code offset: 0x64b (nop) ) (func $17 (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) - ;; code offset: 0x6c5 + ;; code offset: 0x658 (local.set $1 - ;; code offset: 0x6c3 + ;; code offset: 0x656 (local.get $0) ) - ;; code offset: 0x6c7 + ;; code offset: 0x65a (block $label$1 (block $label$2 - ;; code offset: 0x6d1 + ;; code offset: 0x664 (br_if $label$2 - ;; code offset: 0x6d0 + ;; code offset: 0x663 (i32.eqz - ;; code offset: 0x6cf + ;; code offset: 0x662 (i32.and - ;; code offset: 0x6cb + ;; code offset: 0x65e (local.get $0) - ;; code offset: 0x6cd + ;; code offset: 0x660 (i32.const 3) ) ) ) - ;; code offset: 0x6da + ;; code offset: 0x66c (if - ;; code offset: 0x6d9 + ;; code offset: 0x66b (i32.eqz - ;; code offset: 0x6d5 + ;; code offset: 0x668 (i32.load8_u $mimport$0 - ;; code offset: 0x6d3 + ;; code offset: 0x666 (local.get $0) ) ) - ;; code offset: 0x6de + ;; code offset: 0x670 (return - ;; code offset: 0x6dc + ;; code offset: 0x66e (i32.const 0) ) ) - ;; code offset: 0x6e0 + ;; code offset: 0x672 (loop $label$4 - ;; code offset: 0x6ed + ;; code offset: 0x67f (br_if $label$2 - ;; code offset: 0x6ec + ;; code offset: 0x67e (i32.eqz - ;; code offset: 0x6eb + ;; code offset: 0x67d (i32.and - ;; code offset: 0x6e7 + ;; code offset: 0x679 (local.tee $1 - ;; code offset: 0x6e6 + ;; code offset: 0x678 (i32.add - ;; code offset: 0x6e2 + ;; code offset: 0x674 (local.get $1) - ;; code offset: 0x6e4 + ;; code offset: 0x676 (i32.const 1) ) ) - ;; code offset: 0x6e9 + ;; code offset: 0x67b (i32.const 3) ) ) ) - ;; code offset: 0x6f5 + ;; code offset: 0x686 (br_if $label$4 - ;; code offset: 0x6f1 + ;; code offset: 0x683 (i32.load8_u $mimport$0 - ;; code offset: 0x6ef + ;; code offset: 0x681 (local.get $1) ) ) ) - ;; code offset: 0x6f8 + ;; code offset: 0x689 (br $label$1) ) - ;; code offset: 0x6fb + ;; code offset: 0x68c (loop $label$5 - ;; code offset: 0x704 + ;; code offset: 0x695 (local.set $1 - ;; code offset: 0x703 + ;; code offset: 0x694 (i32.add - ;; code offset: 0x6ff + ;; code offset: 0x690 (local.tee $2 - ;; code offset: 0x6fd + ;; code offset: 0x68e (local.get $1) ) - ;; code offset: 0x701 + ;; code offset: 0x692 (i32.const 4) ) ) - ;; code offset: 0x722 + ;; code offset: 0x6b2 (br_if $label$5 - ;; code offset: 0x721 + ;; code offset: 0x6b1 (i32.eqz - ;; code offset: 0x720 + ;; code offset: 0x6b0 (i32.and - ;; code offset: 0x719 + ;; code offset: 0x6a9 (i32.and - ;; code offset: 0x710 + ;; code offset: 0x6a0 (i32.xor - ;; code offset: 0x70c + ;; code offset: 0x69c (local.tee $3 - ;; code offset: 0x708 + ;; code offset: 0x699 (i32.load $mimport$0 - ;; code offset: 0x706 + ;; code offset: 0x697 (local.get $2) ) ) - ;; code offset: 0x70e + ;; code offset: 0x69e (i32.const -1) ) - ;; code offset: 0x718 + ;; code offset: 0x6a8 (i32.add - ;; code offset: 0x711 + ;; code offset: 0x6a1 (local.get $3) - ;; code offset: 0x713 + ;; code offset: 0x6a3 (i32.const -16843009) ) ) - ;; code offset: 0x71a + ;; code offset: 0x6aa (i32.const -2139062144) ) ) ) ) - ;; code offset: 0x72c + ;; code offset: 0x6bc (if - ;; code offset: 0x72b + ;; code offset: 0x6bb (i32.eqz - ;; code offset: 0x72a + ;; code offset: 0x6ba (i32.and - ;; code offset: 0x725 + ;; code offset: 0x6b5 (local.get $3) - ;; code offset: 0x727 + ;; code offset: 0x6b7 (i32.const 255) ) ) - ;; code offset: 0x733 + ;; code offset: 0x6c3 (return - ;; code offset: 0x732 + ;; code offset: 0x6c2 (i32.sub - ;; code offset: 0x72e + ;; code offset: 0x6be (local.get $2) - ;; code offset: 0x730 + ;; code offset: 0x6c0 (local.get $0) ) ) ) - ;; code offset: 0x735 + ;; code offset: 0x6c5 (loop $label$7 - ;; code offset: 0x73d + ;; code offset: 0x6cc (local.set $3 - ;; code offset: 0x739 + ;; code offset: 0x6c9 (i32.load8_u $mimport$0 offset=1 - ;; code offset: 0x737 + ;; code offset: 0x6c7 (local.get $2) ) ) - ;; code offset: 0x746 + ;; code offset: 0x6d5 (local.set $2 - ;; code offset: 0x744 + ;; code offset: 0x6d3 (local.tee $1 - ;; code offset: 0x743 + ;; code offset: 0x6d2 (i32.add - ;; code offset: 0x73f + ;; code offset: 0x6ce (local.get $2) - ;; code offset: 0x741 + ;; code offset: 0x6d0 (i32.const 1) ) ) ) - ;; code offset: 0x74a + ;; code offset: 0x6d9 (br_if $label$7 - ;; code offset: 0x748 + ;; code offset: 0x6d7 (local.get $3) ) ) ) - ;; code offset: 0x752 + ;; code offset: 0x6e1 (i32.sub - ;; code offset: 0x74e + ;; code offset: 0x6dd (local.get $1) - ;; code offset: 0x750 + ;; code offset: 0x6df (local.get $0) ) ) (func $18 (result i32) - ;; code offset: 0x756 + ;; code offset: 0x6e5 (global.get $global$0) ) (func $19 (param $0 i32) - ;; code offset: 0x75d + ;; code offset: 0x6ec (global.set $global$0 - ;; code offset: 0x75b + ;; code offset: 0x6ea (local.get $0) ) ) (func $20 (param $0 i32) (result i32) (local $1 i32) - ;; code offset: 0x76e + ;; code offset: 0x6fd (global.set $global$0 - ;; code offset: 0x76c + ;; code offset: 0x6fb (local.tee $1 - ;; code offset: 0x76b + ;; code offset: 0x6fa (i32.and - ;; code offset: 0x768 + ;; code offset: 0x6f7 (i32.sub - ;; code offset: 0x764 + ;; code offset: 0x6f3 (global.get $global$0) - ;; code offset: 0x766 + ;; code offset: 0x6f5 (local.get $0) ) - ;; code offset: 0x769 + ;; code offset: 0x6f8 (i32.const -16) ) ) ) - ;; code offset: 0x770 + ;; code offset: 0x6ff (local.get $1) ) (func $21 (param $0 i32) (param $1 i32) (param $2 i64) (param $3 i32) (result i64) - ;; code offset: 0x77d + ;; code offset: 0x70c (call_indirect (type $i32_i64_i32_=>_i64) - ;; code offset: 0x775 + ;; code offset: 0x704 (local.get $1) - ;; code offset: 0x777 + ;; code offset: 0x706 (local.get $2) - ;; code offset: 0x779 + ;; code offset: 0x708 (local.get $3) - ;; code offset: 0x77b + ;; code offset: 0x70a (local.get $0) ) ) (func $22 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32) (local $5 i64) - ;; code offset: 0x79d + ;; code offset: 0x72c (call $fimport$2 - ;; code offset: 0x79c + ;; code offset: 0x72b (i32.wrap_i64 - ;; code offset: 0x79b + ;; code offset: 0x72a (i64.shr_u - ;; code offset: 0x797 + ;; code offset: 0x726 (local.tee $5 - ;; code offset: 0x795 + ;; code offset: 0x724 (call $21 - ;; code offset: 0x785 + ;; code offset: 0x714 (local.get $0) - ;; code offset: 0x787 + ;; code offset: 0x716 (local.get $1) - ;; code offset: 0x792 + ;; code offset: 0x721 (i64.or - ;; code offset: 0x78b + ;; code offset: 0x71a (i64.extend_i32_u - ;; code offset: 0x789 + ;; code offset: 0x718 (local.get $2) ) - ;; code offset: 0x791 + ;; code offset: 0x720 (i64.shl - ;; code offset: 0x78e + ;; code offset: 0x71d (i64.extend_i32_u - ;; code offset: 0x78c + ;; code offset: 0x71b (local.get $3) ) - ;; code offset: 0x78f + ;; code offset: 0x71e (i64.const 32) ) ) - ;; code offset: 0x793 + ;; code offset: 0x722 (local.get $4) ) ) - ;; code offset: 0x799 + ;; code offset: 0x728 (i64.const 32) ) ) ) - ;; code offset: 0x7a1 + ;; code offset: 0x730 (i32.wrap_i64 - ;; code offset: 0x79f + ;; code offset: 0x72e (local.get $5) ) ) (func $23 (param $0 i32) (result i32) - ;; code offset: 0x7a7 + ;; code offset: 0x736 (memory.grow $mimport$0 - ;; code offset: 0x7a5 + ;; code offset: 0x734 (local.get $0) ) ) From 236d6c7e2f95d10a4febf95e64c6b83fb27baf5e Mon Sep 17 00:00:00 2001 From: Ashley Nelson Date: Fri, 5 Aug 2022 18:02:42 +0000 Subject: [PATCH 70/78] updating tests --- test/lld/em_asm_O0.wat.out | 2 +- test/lld/em_asm_pthread.wasm.out | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/test/lld/em_asm_O0.wat.out b/test/lld/em_asm_O0.wat.out index 1989588363f..23c46ddc9b5 100644 --- a/test/lld/em_asm_O0.wat.out +++ b/test/lld/em_asm_O0.wat.out @@ -72,7 +72,7 @@ (local.get $0) (i32.const 42) ) - (i32.store16 offset=26 align=1 + (i32.store16 $0 offset=26 align=1 (local.get $0) (i32.const 105) ) diff --git a/test/lld/em_asm_pthread.wasm.out b/test/lld/em_asm_pthread.wasm.out index 40577098488..95908acdd91 100644 --- a/test/lld/em_asm_pthread.wasm.out +++ b/test/lld/em_asm_pthread.wasm.out @@ -152,12 +152,12 @@ (i32.const 0) (i32.const 156) ) - (memory.init 2 + (memory.init $mimport$0 2 (i32.const 1588) (i32.const 0) (i32.const 70) ) - (memory.init 3 + (memory.init $mimport$0 3 (i32.const 1658) (i32.const 0) (i32.const 124) From fc85a8e48db22292c774cc24009cb45b2e7da27f Mon Sep 17 00:00:00 2001 From: Ashley Nelson Date: Fri, 5 Aug 2022 19:09:40 +0000 Subject: [PATCH 71/78] removing resize --- src/ir/memory-utils.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/src/ir/memory-utils.cpp b/src/ir/memory-utils.cpp index ea4e6f7488d..f1471b7a4c4 100644 --- a/src/ir/memory-utils.cpp +++ b/src/ir/memory-utils.cpp @@ -70,7 +70,6 @@ bool flatten(Module& wasm) { dataSegments[0]->data.swap(data); wasm.removeDataSegments( [&](DataSegment* curr) { return curr->name != dataSegments[0]->name; }); - dataSegments.resize(1); return true; } From e9dea491cd9b93a6d1241fcab21db0c63d0ea60e Mon Sep 17 00:00:00 2001 From: Ashley Nelson Date: Thu, 11 Aug 2022 20:53:28 +0000 Subject: [PATCH 72/78] fuzzing fixes --- src/tools/fuzzing/fuzzing.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/tools/fuzzing/fuzzing.cpp b/src/tools/fuzzing/fuzzing.cpp index f2a477e5a5a..167f1449b55 100644 --- a/src/tools/fuzzing/fuzzing.cpp +++ b/src/tools/fuzzing/fuzzing.cpp @@ -204,7 +204,7 @@ void TranslateToFuzzReader::setupMemory() { memCovered += segSize; segment->memory = wasm.memories[0]->name; } - wasm.addDataSegment(std::move(segment)); + wasm.dataSegments.push_back(std::move(segment)); } } else { // init some data @@ -212,7 +212,7 @@ void TranslateToFuzzReader::setupMemory() { segment->memory = wasm.memories[0]->name; segment->offset = builder.makeConst(int32_t(0)); segment->setName(Name::fromInt(0), false); - wasm.addDataSegment(std::move(segment)); + wasm.dataSegments.push_back(std::move(segment)); auto num = upTo(USABLE_MEMORY * 2); for (size_t i = 0; i < num; i++) { auto value = upTo(512); @@ -259,7 +259,7 @@ void TranslateToFuzzReader::setupMemory() { builder.makeExport(hasher->name, hasher->name, ExternalKind::Function)); // Export memory so JS fuzzing can use it if (!wasm.getExportOrNull("memory")) { - wasm.addExport(builder.makeExport("memory", "0", ExternalKind::Memory)); + wasm.addExport(builder.makeExport("memory", wasm.memories[0]->name, ExternalKind::Memory)); } } From d28e552f425578502a0f8cac7b2184882bd517f8 Mon Sep 17 00:00:00 2001 From: Ashley Nelson Date: Thu, 11 Aug 2022 21:20:45 +0000 Subject: [PATCH 73/78] fuzzer ignore multi-memories test files --- scripts/fuzz_opt.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/scripts/fuzz_opt.py b/scripts/fuzz_opt.py index bb73aeb6b2f..e8c497306ee 100755 --- a/scripts/fuzz_opt.py +++ b/scripts/fuzz_opt.py @@ -283,6 +283,14 @@ def is_git_repo(): 'fib2_emptylocspan_dwarf.wasm', 'fannkuch3_dwarf.wasm', 'multi_unit_abbrev_noprint.wasm', + # TODO fuzzer support for multi-memories + 'multi-memories-atomics64.wast', + 'multi-memories-basics.wast', + 'multi-memories-simd.wast', + 'multi-memories-atomics64.wasm', + 'multi-memories-basics.wasm', + 'multi-memories-simd.wasm', + 'multi-memories_size.wast', ] From 6e7a30d6f4a38ff06cd9ff53f0efe27de6585097 Mon Sep 17 00:00:00 2001 From: Ashley Nelson Date: Mon, 15 Aug 2022 21:42:02 +0000 Subject: [PATCH 74/78] printing the memory name only if memories > 0 or no module set --- src/passes/Print.cpp | 57 +- test/atomics-unshared.wast.from-wast | 2 +- test/atomics-unshared.wast.fromBinary | 2 +- ...omics-unshared.wast.fromBinary.noDebugInfo | 2 +- test/atomics.wast.from-wast | 58 +- test/atomics.wast.fromBinary | 58 +- test/atomics.wast.fromBinary.noDebugInfo | 58 +- test/atomics64.wast.from-wast | 58 +- test/atomics64.wast.fromBinary | 58 +- test/atomics64.wast.fromBinary.noDebugInfo | 58 +- test/binaryen.js/atomics.js.txt | 34 +- test/binaryen.js/kitchen-sink.js.txt | 172 +- test/binaryen.js/low-memory-unused.js.txt | 6 +- test/binaryen.js/sieve.js.txt | 16 +- test/consume-stacky.wasm.fromBinary | 2 +- test/ctor-eval/bad-indirect-call.wast.out | 4 +- test/ctor-eval/bad-indirect-call2.wast.out | 4 +- test/ctor-eval/bad-indirect-call3.wast.out | 2 +- test/ctor-eval/basics-flatten.wast.out | 2 +- test/ctor-eval/basics.wast.out | 2 +- test/ctor-eval/ignore-external-input.wast.out | 2 +- test/ctor-eval/imported-global-2.wast.out | 4 +- test/ctor-eval/imported-global.wast.out | 2 +- test/ctor-eval/indirect-call3.wast.out | 2 +- test/ctor-eval/just_some.wast.out | 2 +- test/ctor-eval/memory-init.wast.out | 4 +- test/ctor-eval/partial-locals-tee.wast.out | 2 +- test/ctor-eval/partial-locals.wast.out | 2 +- test/ctor-eval/partial.wast.out | 6 +- test/ctor-eval/unsafe_call.wast.out | 6 +- test/dylib.wasm.fromBinary | 8 +- test/example/c-api-kitchen-sink.txt | 70 +- test/example/c-api-unused-mem.txt | 12 +- test/example/relooper-fuzz.txt | 136 +- test/example/relooper-fuzz1.txt | 148 +- test/example/relooper-fuzz2.txt | 76 +- test/example/relooper-merge1.txt | 14 +- test/example/relooper-merge2.txt | 14 +- test/example/relooper-merge3.txt | 14 +- test/example/relooper-merge4.txt | 14 +- test/example/relooper-merge5.txt | 14 +- test/example/relooper-merge6.txt | 14 +- test/grow_memory.wast.from-wast | 4 +- test/grow_memory.wast.fromBinary | 4 +- test/grow_memory.wast.fromBinary.noDebugInfo | 4 +- test/lit/passes/O1.wast | 2 +- test/lit/passes/O3_inlining.wast | 2 +- test/lit/passes/O4_disable-bulk-memory.wast | 238 +- test/lit/passes/Oz.wast | 8 +- test/lit/passes/alignment-lowering.wast | 380 +-- test/lit/passes/alignment-lowering64.wast | 380 +-- test/lit/passes/asyncify.wast | 240 +- .../passes/asyncify_enable-multivalue.wast | 436 ++-- ...y_mod-asyncify-always-and-only-unwind.wast | 96 +- ...mod-asyncify-always-and-only-unwind_O.wast | 20 +- .../asyncify_mod-asyncify-never-unwind.wast | 96 +- .../asyncify_mod-asyncify-never-unwind_O.wast | 20 +- .../lit/passes/asyncify_optimize-level=1.wast | 320 +-- ...syncify_pass-arg=asyncify-addlist@foo.wast | 32 +- ...foo_pass-arg=asyncify-ignore-indirect.wast | 32 +- ...serts_pass-arg=asyncify-onlylist@waka.wast | 16 +- ...y_pass-arg=asyncify-blacklist@foo,bar.wast | 48 +- ...cify_pass-arg=asyncify-ignore-imports.wast | 48 +- ...ify_pass-arg=asyncify-ignore-indirect.wast | 96 +- ...yncify-imports@env.import,env.import2.wast | 272 +-- ...fy_pass-arg=asyncify-onlylist@foo,bar.wast | 48 +- ...syncify_pass-arg=asyncify-side-module.wast | 16 +- .../asyncify_pass-arg=asyncify-verbose.wast | 64 +- test/lit/passes/avoid-reinterprets.wast | 34 +- test/lit/passes/avoid-reinterprets64.wast | 34 +- test/lit/passes/coalesce-locals-learning.wast | 12 +- test/lit/passes/coalesce-locals.wast | 14 +- .../passes/code-folding_enable-threads.wast | 4 +- .../code-pushing_ignore-implicit-traps.wast | 12 +- test/lit/passes/dealign.wast | 12 +- test/lit/passes/dealign64.wast | 12 +- test/lit/passes/flatten_all-features.wast | 16 +- .../passes/flatten_dfo_O3_enable-threads.wast | 4 +- .../passes/flatten_i64-to-i32-lowering.wast | 40 +- ...g_souperify-single-use_enable-threads.wast | 46 +- ...ls-nonesting_souperify_enable-threads.wast | 46 +- test/lit/passes/gufa-refs.wast | 18 +- .../inlining-optimizing_enable-threads.wast | 10 +- .../inlining-optimizing_optimize-level=3.wast | 1846 +++++++-------- test/lit/passes/inlining_memory64.wat | 4 +- test/lit/passes/instrument-memory.wast | 92 +- test/lit/passes/instrument-memory64.wast | 92 +- test/lit/passes/local-cse.wast | 2 +- .../passes/memory-packing_all-features.wast | 342 +-- .../passes/optimize-instructions-atomics.wast | 18 +- .../optimize-instructions-bulk-memory.wast | 168 +- .../optimize-instructions-ignore-traps.wast | 2 +- test/lit/passes/optimize-instructions.wast | 198 +- test/lit/passes/signature-pruning.wast | 26 +- .../simplify-globals-read_only_to_write.wast | 2 +- test/lit/wasm-split/instrument-in-memory.wast | 81 +- test/lld/em_asm.wat.mem.out | 4 +- test/lld/em_asm.wat.out | 4 +- test/lld/em_asm64.wat.out | 4 +- test/lld/em_asm_O0.wat.out | 12 +- test/lld/em_asm_main_thread.wat.out | 24 +- test/lld/em_asm_pthread.wasm.out | 2070 ++++++++--------- test/lld/em_asm_shared.wat.out | 4 +- test/lld/hello_world.passive.wat.out | 2 +- test/lld/init.wat.out | 8 +- test/lld/longjmp.wat.out | 12 +- test/lld/main_module.wat.out | 6 +- test/lld/recursive.wat.out | 6 +- test/lld/recursive_safe_stack.wat.out | 6 +- test/lld/reserved_func_ptr.wat.out | 10 +- test/lld/safe_stack_standalone-wasm.wat.out | 6 +- test/lld/shared.wat.out | 6 +- test/lld/shared_add_to_table.wasm.out | 4 +- test/lld/shared_longjmp.wat.out | 12 +- test/memory-import.wast.from-wast | 2 +- test/memory-import.wast.fromBinary | 2 +- .../memory-import.wast.fromBinary.noDebugInfo | 2 +- test/memory-import64.wast.from-wast | 2 +- test/memory-import64.wast.fromBinary | 2 +- ...emory-import64.wast.fromBinary.noDebugInfo | 2 +- test/metadce/spanning_cycle.wast.dced | 2 +- test/min.wast.from-wast | 4 +- test/min.wast.fromBinary | 4 +- test/min.wast.fromBinary.noDebugInfo | 4 +- test/nonspec-bulk-memory.wast.from-wast | 6 +- test/nonspec-bulk-memory.wast.fromBinary | 6 +- ...ec-bulk-memory.wast.fromBinary.noDebugInfo | 6 +- test/passes/O3_low-memory-unused_metrics.txt | 946 ++++---- test/passes/converge_O3_metrics.bin.txt | 126 +- ...-function-elimination_optimize-level=1.txt | 60 +- ...-function-elimination_optimize-level=2.txt | 60 +- test/passes/dwarf-local-order.bin.txt | 48 +- test/passes/fannkuch0_dwarf.bin.txt | 488 ++-- test/passes/fannkuch3_dwarf.bin.txt | 128 +- test/passes/fannkuch3_manyopts_dwarf.bin.txt | 128 +- test/passes/fuzz-exec_O.txt | 4 +- test/passes/fuzz-exec_all-features.txt | 24 +- ...ack-ir_print-stack-ir_optimize-level=3.txt | 14 +- test/passes/ignore_missing_func_dwarf.bin.txt | 32 +- test/passes/licm.txt | 34 +- ...ry64_enable-bulk-memory_enable-threads.txt | 60 +- ...-constants-propagate_low-memory-unused.txt | 110 +- ...mize-added-constants_low-memory-unused.txt | 104 +- test/passes/pick-load-signs.txt | 34 +- test/passes/pick-load-signs_all-features.txt | 2 +- .../precompute-propagate_all-features.txt | 2 +- test/passes/precompute_all-features.txt | 10 +- test/passes/print-call-graph.txt | 178 +- test/passes/print.bin.txt | 4 +- test/passes/print_g.bin.txt | 4 +- test/passes/print_g_strip-dwarf.bin.txt | 4 +- .../remove-unused-brs_enable-multivalue.txt | 12 +- .../remove-unused-brs_shrink-level=1.txt | 4 +- ...s_shrink-level=1_ignore-implicit-traps.txt | 2 +- ...ve-unused-module-elements_all-features.txt | 18 +- ...unused-names_merge-blocks_all-features.txt | 10 +- .../passes/remove-unused-names_precompute.txt | 4 +- ...-unused-names_remove-unused-brs_vacuum.txt | 2 +- ...nfunction-module-elements_all-features.txt | 18 +- test/passes/reverse_dwarf_abbrevs.bin.txt | 228 +- test/passes/roundtrip_signed.bin.txt | 2 +- test/passes/safe-heap_disable-simd.txt | 662 +++--- .../safe-heap_enable-threads_enable-simd.txt | 932 ++++---- ...safe-heap_enable-threads_enable-simd64.txt | 932 ++++---- ...mory-unused_enable-threads_enable-simd.txt | 932 ++++---- test/passes/safe-heap_start-function.txt | 232 +- test/passes/simplify-locals-nostructure.txt | 6 +- test/passes/simplify-locals_all-features.txt | 134 +- ...ll-features_disable-exception-handling.txt | 134 +- test/passes/spill-pointers.txt | 84 +- test/passes/ssa-nomerge_enable-simd.txt | 2 +- test/passes/vacuum_all-features.txt | 28 +- test/print/min.minified.txt | 2 +- test/print/min.txt | 4 +- test/reduce/atomics-and-bulk-memory.wast.txt | 4 +- test/reduce/memory_table.wast.txt | 4 +- test/simd.wast.from-wast | 56 +- test/simd.wast.fromBinary | 56 +- test/simd.wast.fromBinary.noDebugInfo | 56 +- test/simd64.wast.from-wast | 28 +- test/simd64.wast.fromBinary | 28 +- test/simd64.wast.fromBinary.noDebugInfo | 28 +- test/unreachable-instr-type.wast.from-wast | 10 +- 183 files changed, 8395 insertions(+), 8437 deletions(-) diff --git a/src/passes/Print.cpp b/src/passes/Print.cpp index b4f4c1c0878..87c33ed936c 100644 --- a/src/passes/Print.cpp +++ b/src/passes/Print.cpp @@ -59,6 +59,14 @@ std::ostream& printName(Name name, std::ostream& o) { return o; } +std::ostream& printMemoryName(Name name, std::ostream& o, Module* wasm) { + if (!wasm || wasm->memories.size() > 1) { + o << ' '; + printName(name, o); + } + return o; +} + static std::ostream& printLocal(Index index, Function* func, std::ostream& o) { Name name; if (func) { @@ -521,8 +529,7 @@ struct PrintExpressionContents o << (curr->signed_ ? "_s" : "_u"); } restoreNormalColor(o); - o << ' '; - printName(curr->memory, o); + printMemoryName(curr->memory, o, wasm); if (curr->offset) { o << " offset=" << curr->offset; } @@ -548,8 +555,7 @@ struct PrintExpressionContents } } restoreNormalColor(o); - o << ' '; - printName(curr->memory, o); + printMemoryName(curr->memory, o, wasm); if (curr->offset) { o << " offset=" << curr->offset; } @@ -600,8 +606,7 @@ struct PrintExpressionContents o << "_u"; } restoreNormalColor(o); - o << ' '; - printName(curr->memory, o); + printMemoryName(curr->memory, o, wasm); if (curr->offset) { o << " offset=" << curr->offset; } @@ -615,8 +620,7 @@ struct PrintExpressionContents o << "_u"; } restoreNormalColor(o); - o << ' '; - printName(curr->memory, o); + printMemoryName(curr->memory, o, wasm); if (curr->offset) { o << " offset=" << curr->offset; } @@ -627,16 +631,14 @@ struct PrintExpressionContents assert(type == Type::i32 || type == Type::i64); o << "memory.atomic.wait" << (type == Type::i32 ? "32" : "64"); restoreNormalColor(o); - o << ' '; - printName(curr->memory, o); + printMemoryName(curr->memory, o, wasm); if (curr->offset) { o << " offset=" << curr->offset; } } void visitAtomicNotify(AtomicNotify* curr) { printMedium(o, "memory.atomic.notify"); - o << ' '; - printName(curr->memory, o); + printMemoryName(curr->memory, o, wasm); if (curr->offset) { o << " offset=" << curr->offset; } @@ -825,8 +827,7 @@ struct PrintExpressionContents break; } restoreNormalColor(o); - o << ' '; - printName(curr->memory, o); + printMemoryName(curr->memory, o, wasm); if (curr->offset) { o << " offset=" << curr->offset; } @@ -863,8 +864,7 @@ struct PrintExpressionContents break; } restoreNormalColor(o); - o << ' '; - printName(curr->memory, o); + printMemoryName(curr->memory, o, wasm); if (curr->offset) { o << " offset=" << curr->offset; } @@ -875,9 +875,9 @@ struct PrintExpressionContents } void visitMemoryInit(MemoryInit* curr) { prepareColor(o); - o << "memory.init "; + o << "memory.init"; restoreNormalColor(o); - printName(curr->memory, o); + printMemoryName(curr->memory, o, wasm); o << ' ' << curr->segment; } void visitDataDrop(DataDrop* curr) { @@ -888,17 +888,16 @@ struct PrintExpressionContents } void visitMemoryCopy(MemoryCopy* curr) { prepareColor(o); - o << "memory.copy "; + o << "memory.copy"; restoreNormalColor(o); - printName(curr->destMemory, o); - o << ' '; - printName(curr->sourceMemory, o); + printMemoryName(curr->destMemory, o, wasm); + printMemoryName(curr->sourceMemory, o, wasm); } void visitMemoryFill(MemoryFill* curr) { prepareColor(o); - o << "memory.fill "; + o << "memory.fill"; restoreNormalColor(o); - printName(curr->memory, o); + printMemoryName(curr->memory, o, wasm); } void visitConst(Const* curr) { o << curr->value.type << ".const " << curr->value; @@ -1939,12 +1938,12 @@ struct PrintExpressionContents void visitDrop(Drop* curr) { printMedium(o, "drop"); } void visitReturn(Return* curr) { printMedium(o, "return"); } void visitMemorySize(MemorySize* curr) { - printMedium(o, "memory.size "); - printName(curr->memory, o); + printMedium(o, "memory.size"); + printMemoryName(curr->memory, o, wasm); } void visitMemoryGrow(MemoryGrow* curr) { - printMedium(o, "memory.grow "); - printName(curr->memory, o); + printMedium(o, "memory.grow"); + printMemoryName(curr->memory, o, wasm); } void visitRefNull(RefNull* curr) { printMedium(o, "ref.null "); @@ -3414,6 +3413,7 @@ class FullPrinter : public Printer { PrintSExpression print(o); print.setFull(true); print.setDebugInfo(runner->options.debugInfo); + print.currModule = module; print.visitModule(module); } }; @@ -3431,6 +3431,7 @@ class PrintStackIR : public Printer { PrintSExpression print(o); print.setDebugInfo(runner->options.debugInfo); print.setStackIR(true); + print.currModule = module; print.visitModule(module); } }; diff --git a/test/atomics-unshared.wast.from-wast b/test/atomics-unshared.wast.from-wast index 83a41e98ad2..a29819c9b56 100644 --- a/test/atomics-unshared.wast.from-wast +++ b/test/atomics-unshared.wast.from-wast @@ -3,7 +3,7 @@ (memory $0 1 1) (func $foo (drop - (i32.atomic.rmw.cmpxchg $0 + (i32.atomic.rmw.cmpxchg (i32.const 0) (i32.const 0) (i32.const 0) diff --git a/test/atomics-unshared.wast.fromBinary b/test/atomics-unshared.wast.fromBinary index b6baf28f579..df409675790 100644 --- a/test/atomics-unshared.wast.fromBinary +++ b/test/atomics-unshared.wast.fromBinary @@ -3,7 +3,7 @@ (memory $0 1 1) (func $foo (drop - (i32.atomic.rmw.cmpxchg $0 + (i32.atomic.rmw.cmpxchg (i32.const 0) (i32.const 0) (i32.const 0) diff --git a/test/atomics-unshared.wast.fromBinary.noDebugInfo b/test/atomics-unshared.wast.fromBinary.noDebugInfo index 96c771dbd32..d9bb19b8e63 100644 --- a/test/atomics-unshared.wast.fromBinary.noDebugInfo +++ b/test/atomics-unshared.wast.fromBinary.noDebugInfo @@ -3,7 +3,7 @@ (memory $0 1 1) (func $0 (drop - (i32.atomic.rmw.cmpxchg $0 + (i32.atomic.rmw.cmpxchg (i32.const 0) (i32.const 0) (i32.const 0) diff --git a/test/atomics.wast.from-wast b/test/atomics.wast.from-wast index e9f8427616f..f5f891af5a0 100644 --- a/test/atomics.wast.from-wast +++ b/test/atomics.wast.from-wast @@ -5,65 +5,65 @@ (local $0 i32) (local $1 i64) (drop - (i32.atomic.load8_u $0 offset=4 + (i32.atomic.load8_u offset=4 (local.get $0) ) ) (drop - (i32.atomic.load16_u $0 offset=4 + (i32.atomic.load16_u offset=4 (local.get $0) ) ) (drop - (i32.atomic.load $0 offset=4 + (i32.atomic.load offset=4 (local.get $0) ) ) (drop - (i64.atomic.load8_u $0 + (i64.atomic.load8_u (local.get $0) ) ) (drop - (i64.atomic.load16_u $0 + (i64.atomic.load16_u (local.get $0) ) ) (drop - (i64.atomic.load32_u $0 + (i64.atomic.load32_u (local.get $0) ) ) (drop - (i64.atomic.load $0 + (i64.atomic.load (local.get $0) ) ) - (i32.atomic.store $0 offset=4 + (i32.atomic.store offset=4 (local.get $0) (local.get $0) ) - (i32.atomic.store8 $0 offset=4 + (i32.atomic.store8 offset=4 (local.get $0) (local.get $0) ) - (i32.atomic.store16 $0 offset=4 + (i32.atomic.store16 offset=4 (local.get $0) (local.get $0) ) - (i64.atomic.store $0 offset=4 + (i64.atomic.store offset=4 (local.get $0) (local.get $1) ) - (i64.atomic.store8 $0 offset=4 + (i64.atomic.store8 offset=4 (local.get $0) (local.get $1) ) - (i64.atomic.store16 $0 offset=4 + (i64.atomic.store16 offset=4 (local.get $0) (local.get $1) ) - (i64.atomic.store32 $0 offset=4 + (i64.atomic.store32 offset=4 (local.get $0) (local.get $1) ) @@ -72,31 +72,31 @@ (local $0 i32) (local $1 i64) (drop - (i32.atomic.rmw.add $0 offset=4 + (i32.atomic.rmw.add offset=4 (local.get $0) (local.get $0) ) ) (drop - (i32.atomic.rmw8.add_u $0 offset=4 + (i32.atomic.rmw8.add_u offset=4 (local.get $0) (local.get $0) ) ) (drop - (i32.atomic.rmw16.and_u $0 + (i32.atomic.rmw16.and_u (local.get $0) (local.get $0) ) ) (drop - (i64.atomic.rmw32.or_u $0 + (i64.atomic.rmw32.or_u (local.get $0) (local.get $1) ) ) (drop - (i32.atomic.rmw8.xchg_u $0 + (i32.atomic.rmw8.xchg_u (local.get $0) (local.get $0) ) @@ -106,28 +106,28 @@ (local $0 i32) (local $1 i64) (drop - (i32.atomic.rmw.cmpxchg $0 offset=4 + (i32.atomic.rmw.cmpxchg offset=4 (local.get $0) (local.get $0) (local.get $0) ) ) (drop - (i32.atomic.rmw8.cmpxchg_u $0 + (i32.atomic.rmw8.cmpxchg_u (local.get $0) (local.get $0) (local.get $0) ) ) (drop - (i64.atomic.rmw.cmpxchg $0 offset=4 + (i64.atomic.rmw.cmpxchg offset=4 (local.get $0) (local.get $1) (local.get $1) ) ) (drop - (i64.atomic.rmw32.cmpxchg_u $0 + (i64.atomic.rmw32.cmpxchg_u (local.get $0) (local.get $1) (local.get $1) @@ -138,40 +138,40 @@ (local $0 i32) (local $1 i64) (drop - (memory.atomic.wait32 $0 + (memory.atomic.wait32 (local.get $0) (local.get $0) (local.get $1) ) ) (drop - (memory.atomic.wait32 $0 offset=4 + (memory.atomic.wait32 offset=4 (local.get $0) (local.get $0) (local.get $1) ) ) (drop - (memory.atomic.notify $0 + (memory.atomic.notify (local.get $0) (local.get $0) ) ) (drop - (memory.atomic.notify $0 offset=24 + (memory.atomic.notify offset=24 (local.get $0) (local.get $0) ) ) (drop - (memory.atomic.wait64 $0 + (memory.atomic.wait64 (local.get $0) (local.get $1) (local.get $1) ) ) (drop - (memory.atomic.wait64 $0 offset=16 + (memory.atomic.wait64 offset=16 (local.get $0) (local.get $1) (local.get $1) diff --git a/test/atomics.wast.fromBinary b/test/atomics.wast.fromBinary index b1392359342..e3f773b831a 100644 --- a/test/atomics.wast.fromBinary +++ b/test/atomics.wast.fromBinary @@ -5,65 +5,65 @@ (local $0 i32) (local $1 i64) (drop - (i32.atomic.load8_u $0 offset=4 + (i32.atomic.load8_u offset=4 (local.get $0) ) ) (drop - (i32.atomic.load16_u $0 offset=4 + (i32.atomic.load16_u offset=4 (local.get $0) ) ) (drop - (i32.atomic.load $0 offset=4 + (i32.atomic.load offset=4 (local.get $0) ) ) (drop - (i64.atomic.load8_u $0 + (i64.atomic.load8_u (local.get $0) ) ) (drop - (i64.atomic.load16_u $0 + (i64.atomic.load16_u (local.get $0) ) ) (drop - (i64.atomic.load32_u $0 + (i64.atomic.load32_u (local.get $0) ) ) (drop - (i64.atomic.load $0 + (i64.atomic.load (local.get $0) ) ) - (i32.atomic.store $0 offset=4 + (i32.atomic.store offset=4 (local.get $0) (local.get $0) ) - (i32.atomic.store8 $0 offset=4 + (i32.atomic.store8 offset=4 (local.get $0) (local.get $0) ) - (i32.atomic.store16 $0 offset=4 + (i32.atomic.store16 offset=4 (local.get $0) (local.get $0) ) - (i64.atomic.store $0 offset=4 + (i64.atomic.store offset=4 (local.get $0) (local.get $1) ) - (i64.atomic.store8 $0 offset=4 + (i64.atomic.store8 offset=4 (local.get $0) (local.get $1) ) - (i64.atomic.store16 $0 offset=4 + (i64.atomic.store16 offset=4 (local.get $0) (local.get $1) ) - (i64.atomic.store32 $0 offset=4 + (i64.atomic.store32 offset=4 (local.get $0) (local.get $1) ) @@ -72,31 +72,31 @@ (local $0 i32) (local $1 i64) (drop - (i32.atomic.rmw.add $0 offset=4 + (i32.atomic.rmw.add offset=4 (local.get $0) (local.get $0) ) ) (drop - (i32.atomic.rmw8.add_u $0 offset=4 + (i32.atomic.rmw8.add_u offset=4 (local.get $0) (local.get $0) ) ) (drop - (i32.atomic.rmw16.and_u $0 + (i32.atomic.rmw16.and_u (local.get $0) (local.get $0) ) ) (drop - (i64.atomic.rmw32.or_u $0 + (i64.atomic.rmw32.or_u (local.get $0) (local.get $1) ) ) (drop - (i32.atomic.rmw8.xchg_u $0 + (i32.atomic.rmw8.xchg_u (local.get $0) (local.get $0) ) @@ -106,28 +106,28 @@ (local $0 i32) (local $1 i64) (drop - (i32.atomic.rmw.cmpxchg $0 offset=4 + (i32.atomic.rmw.cmpxchg offset=4 (local.get $0) (local.get $0) (local.get $0) ) ) (drop - (i32.atomic.rmw8.cmpxchg_u $0 + (i32.atomic.rmw8.cmpxchg_u (local.get $0) (local.get $0) (local.get $0) ) ) (drop - (i64.atomic.rmw.cmpxchg $0 offset=4 + (i64.atomic.rmw.cmpxchg offset=4 (local.get $0) (local.get $1) (local.get $1) ) ) (drop - (i64.atomic.rmw32.cmpxchg_u $0 + (i64.atomic.rmw32.cmpxchg_u (local.get $0) (local.get $1) (local.get $1) @@ -138,40 +138,40 @@ (local $0 i32) (local $1 i64) (drop - (memory.atomic.wait32 $0 + (memory.atomic.wait32 (local.get $0) (local.get $0) (local.get $1) ) ) (drop - (memory.atomic.wait32 $0 offset=4 + (memory.atomic.wait32 offset=4 (local.get $0) (local.get $0) (local.get $1) ) ) (drop - (memory.atomic.notify $0 + (memory.atomic.notify (local.get $0) (local.get $0) ) ) (drop - (memory.atomic.notify $0 offset=24 + (memory.atomic.notify offset=24 (local.get $0) (local.get $0) ) ) (drop - (memory.atomic.wait64 $0 + (memory.atomic.wait64 (local.get $0) (local.get $1) (local.get $1) ) ) (drop - (memory.atomic.wait64 $0 offset=16 + (memory.atomic.wait64 offset=16 (local.get $0) (local.get $1) (local.get $1) diff --git a/test/atomics.wast.fromBinary.noDebugInfo b/test/atomics.wast.fromBinary.noDebugInfo index dbf986d787e..e562f6a42e9 100644 --- a/test/atomics.wast.fromBinary.noDebugInfo +++ b/test/atomics.wast.fromBinary.noDebugInfo @@ -5,65 +5,65 @@ (local $0 i32) (local $1 i64) (drop - (i32.atomic.load8_u $0 offset=4 + (i32.atomic.load8_u offset=4 (local.get $0) ) ) (drop - (i32.atomic.load16_u $0 offset=4 + (i32.atomic.load16_u offset=4 (local.get $0) ) ) (drop - (i32.atomic.load $0 offset=4 + (i32.atomic.load offset=4 (local.get $0) ) ) (drop - (i64.atomic.load8_u $0 + (i64.atomic.load8_u (local.get $0) ) ) (drop - (i64.atomic.load16_u $0 + (i64.atomic.load16_u (local.get $0) ) ) (drop - (i64.atomic.load32_u $0 + (i64.atomic.load32_u (local.get $0) ) ) (drop - (i64.atomic.load $0 + (i64.atomic.load (local.get $0) ) ) - (i32.atomic.store $0 offset=4 + (i32.atomic.store offset=4 (local.get $0) (local.get $0) ) - (i32.atomic.store8 $0 offset=4 + (i32.atomic.store8 offset=4 (local.get $0) (local.get $0) ) - (i32.atomic.store16 $0 offset=4 + (i32.atomic.store16 offset=4 (local.get $0) (local.get $0) ) - (i64.atomic.store $0 offset=4 + (i64.atomic.store offset=4 (local.get $0) (local.get $1) ) - (i64.atomic.store8 $0 offset=4 + (i64.atomic.store8 offset=4 (local.get $0) (local.get $1) ) - (i64.atomic.store16 $0 offset=4 + (i64.atomic.store16 offset=4 (local.get $0) (local.get $1) ) - (i64.atomic.store32 $0 offset=4 + (i64.atomic.store32 offset=4 (local.get $0) (local.get $1) ) @@ -72,31 +72,31 @@ (local $0 i32) (local $1 i64) (drop - (i32.atomic.rmw.add $0 offset=4 + (i32.atomic.rmw.add offset=4 (local.get $0) (local.get $0) ) ) (drop - (i32.atomic.rmw8.add_u $0 offset=4 + (i32.atomic.rmw8.add_u offset=4 (local.get $0) (local.get $0) ) ) (drop - (i32.atomic.rmw16.and_u $0 + (i32.atomic.rmw16.and_u (local.get $0) (local.get $0) ) ) (drop - (i64.atomic.rmw32.or_u $0 + (i64.atomic.rmw32.or_u (local.get $0) (local.get $1) ) ) (drop - (i32.atomic.rmw8.xchg_u $0 + (i32.atomic.rmw8.xchg_u (local.get $0) (local.get $0) ) @@ -106,28 +106,28 @@ (local $0 i32) (local $1 i64) (drop - (i32.atomic.rmw.cmpxchg $0 offset=4 + (i32.atomic.rmw.cmpxchg offset=4 (local.get $0) (local.get $0) (local.get $0) ) ) (drop - (i32.atomic.rmw8.cmpxchg_u $0 + (i32.atomic.rmw8.cmpxchg_u (local.get $0) (local.get $0) (local.get $0) ) ) (drop - (i64.atomic.rmw.cmpxchg $0 offset=4 + (i64.atomic.rmw.cmpxchg offset=4 (local.get $0) (local.get $1) (local.get $1) ) ) (drop - (i64.atomic.rmw32.cmpxchg_u $0 + (i64.atomic.rmw32.cmpxchg_u (local.get $0) (local.get $1) (local.get $1) @@ -138,40 +138,40 @@ (local $0 i32) (local $1 i64) (drop - (memory.atomic.wait32 $0 + (memory.atomic.wait32 (local.get $0) (local.get $0) (local.get $1) ) ) (drop - (memory.atomic.wait32 $0 offset=4 + (memory.atomic.wait32 offset=4 (local.get $0) (local.get $0) (local.get $1) ) ) (drop - (memory.atomic.notify $0 + (memory.atomic.notify (local.get $0) (local.get $0) ) ) (drop - (memory.atomic.notify $0 offset=24 + (memory.atomic.notify offset=24 (local.get $0) (local.get $0) ) ) (drop - (memory.atomic.wait64 $0 + (memory.atomic.wait64 (local.get $0) (local.get $1) (local.get $1) ) ) (drop - (memory.atomic.wait64 $0 offset=16 + (memory.atomic.wait64 offset=16 (local.get $0) (local.get $1) (local.get $1) diff --git a/test/atomics64.wast.from-wast b/test/atomics64.wast.from-wast index 7ef56a3c000..669920d50b1 100644 --- a/test/atomics64.wast.from-wast +++ b/test/atomics64.wast.from-wast @@ -6,65 +6,65 @@ (local $1 i64) (local $2 i32) (drop - (i32.atomic.load8_u $0 offset=4 + (i32.atomic.load8_u offset=4 (local.get $0) ) ) (drop - (i32.atomic.load16_u $0 offset=4 + (i32.atomic.load16_u offset=4 (local.get $0) ) ) (drop - (i32.atomic.load $0 offset=4 + (i32.atomic.load offset=4 (local.get $0) ) ) (drop - (i64.atomic.load8_u $0 + (i64.atomic.load8_u (local.get $0) ) ) (drop - (i64.atomic.load16_u $0 + (i64.atomic.load16_u (local.get $0) ) ) (drop - (i64.atomic.load32_u $0 + (i64.atomic.load32_u (local.get $0) ) ) (drop - (i64.atomic.load $0 + (i64.atomic.load (local.get $0) ) ) - (i32.atomic.store $0 offset=4 + (i32.atomic.store offset=4 (local.get $0) (local.get $2) ) - (i32.atomic.store8 $0 offset=4 + (i32.atomic.store8 offset=4 (local.get $0) (local.get $2) ) - (i32.atomic.store16 $0 offset=4 + (i32.atomic.store16 offset=4 (local.get $0) (local.get $2) ) - (i64.atomic.store $0 offset=4 + (i64.atomic.store offset=4 (local.get $0) (local.get $1) ) - (i64.atomic.store8 $0 offset=4 + (i64.atomic.store8 offset=4 (local.get $0) (local.get $1) ) - (i64.atomic.store16 $0 offset=4 + (i64.atomic.store16 offset=4 (local.get $0) (local.get $1) ) - (i64.atomic.store32 $0 offset=4 + (i64.atomic.store32 offset=4 (local.get $0) (local.get $1) ) @@ -74,31 +74,31 @@ (local $1 i64) (local $2 i32) (drop - (i32.atomic.rmw.add $0 offset=4 + (i32.atomic.rmw.add offset=4 (local.get $0) (local.get $2) ) ) (drop - (i32.atomic.rmw8.add_u $0 offset=4 + (i32.atomic.rmw8.add_u offset=4 (local.get $0) (local.get $2) ) ) (drop - (i32.atomic.rmw16.and_u $0 + (i32.atomic.rmw16.and_u (local.get $0) (local.get $2) ) ) (drop - (i64.atomic.rmw32.or_u $0 + (i64.atomic.rmw32.or_u (local.get $0) (local.get $1) ) ) (drop - (i32.atomic.rmw8.xchg_u $0 + (i32.atomic.rmw8.xchg_u (local.get $0) (local.get $2) ) @@ -109,28 +109,28 @@ (local $1 i64) (local $2 i32) (drop - (i32.atomic.rmw.cmpxchg $0 offset=4 + (i32.atomic.rmw.cmpxchg offset=4 (local.get $0) (local.get $2) (local.get $2) ) ) (drop - (i32.atomic.rmw8.cmpxchg_u $0 + (i32.atomic.rmw8.cmpxchg_u (local.get $0) (local.get $2) (local.get $2) ) ) (drop - (i64.atomic.rmw.cmpxchg $0 offset=4 + (i64.atomic.rmw.cmpxchg offset=4 (local.get $0) (local.get $1) (local.get $1) ) ) (drop - (i64.atomic.rmw32.cmpxchg_u $0 + (i64.atomic.rmw32.cmpxchg_u (local.get $0) (local.get $1) (local.get $1) @@ -142,40 +142,40 @@ (local $1 i64) (local $2 i32) (drop - (memory.atomic.wait32 $0 + (memory.atomic.wait32 (local.get $0) (local.get $2) (local.get $1) ) ) (drop - (memory.atomic.wait32 $0 offset=4 + (memory.atomic.wait32 offset=4 (local.get $0) (local.get $2) (local.get $1) ) ) (drop - (memory.atomic.notify $0 + (memory.atomic.notify (local.get $0) (local.get $2) ) ) (drop - (memory.atomic.notify $0 offset=24 + (memory.atomic.notify offset=24 (local.get $0) (local.get $2) ) ) (drop - (memory.atomic.wait64 $0 + (memory.atomic.wait64 (local.get $0) (local.get $1) (local.get $1) ) ) (drop - (memory.atomic.wait64 $0 offset=16 + (memory.atomic.wait64 offset=16 (local.get $0) (local.get $1) (local.get $1) diff --git a/test/atomics64.wast.fromBinary b/test/atomics64.wast.fromBinary index f73dd1e1d71..60ab444cebe 100644 --- a/test/atomics64.wast.fromBinary +++ b/test/atomics64.wast.fromBinary @@ -6,65 +6,65 @@ (local $1 i64) (local $2 i32) (drop - (i32.atomic.load8_u $0 offset=4 + (i32.atomic.load8_u offset=4 (local.get $0) ) ) (drop - (i32.atomic.load16_u $0 offset=4 + (i32.atomic.load16_u offset=4 (local.get $0) ) ) (drop - (i32.atomic.load $0 offset=4 + (i32.atomic.load offset=4 (local.get $0) ) ) (drop - (i64.atomic.load8_u $0 + (i64.atomic.load8_u (local.get $0) ) ) (drop - (i64.atomic.load16_u $0 + (i64.atomic.load16_u (local.get $0) ) ) (drop - (i64.atomic.load32_u $0 + (i64.atomic.load32_u (local.get $0) ) ) (drop - (i64.atomic.load $0 + (i64.atomic.load (local.get $0) ) ) - (i32.atomic.store $0 offset=4 + (i32.atomic.store offset=4 (local.get $0) (local.get $2) ) - (i32.atomic.store8 $0 offset=4 + (i32.atomic.store8 offset=4 (local.get $0) (local.get $2) ) - (i32.atomic.store16 $0 offset=4 + (i32.atomic.store16 offset=4 (local.get $0) (local.get $2) ) - (i64.atomic.store $0 offset=4 + (i64.atomic.store offset=4 (local.get $0) (local.get $1) ) - (i64.atomic.store8 $0 offset=4 + (i64.atomic.store8 offset=4 (local.get $0) (local.get $1) ) - (i64.atomic.store16 $0 offset=4 + (i64.atomic.store16 offset=4 (local.get $0) (local.get $1) ) - (i64.atomic.store32 $0 offset=4 + (i64.atomic.store32 offset=4 (local.get $0) (local.get $1) ) @@ -74,31 +74,31 @@ (local $1 i64) (local $2 i32) (drop - (i32.atomic.rmw.add $0 offset=4 + (i32.atomic.rmw.add offset=4 (local.get $0) (local.get $2) ) ) (drop - (i32.atomic.rmw8.add_u $0 offset=4 + (i32.atomic.rmw8.add_u offset=4 (local.get $0) (local.get $2) ) ) (drop - (i32.atomic.rmw16.and_u $0 + (i32.atomic.rmw16.and_u (local.get $0) (local.get $2) ) ) (drop - (i64.atomic.rmw32.or_u $0 + (i64.atomic.rmw32.or_u (local.get $0) (local.get $1) ) ) (drop - (i32.atomic.rmw8.xchg_u $0 + (i32.atomic.rmw8.xchg_u (local.get $0) (local.get $2) ) @@ -109,28 +109,28 @@ (local $1 i64) (local $2 i32) (drop - (i32.atomic.rmw.cmpxchg $0 offset=4 + (i32.atomic.rmw.cmpxchg offset=4 (local.get $0) (local.get $2) (local.get $2) ) ) (drop - (i32.atomic.rmw8.cmpxchg_u $0 + (i32.atomic.rmw8.cmpxchg_u (local.get $0) (local.get $2) (local.get $2) ) ) (drop - (i64.atomic.rmw.cmpxchg $0 offset=4 + (i64.atomic.rmw.cmpxchg offset=4 (local.get $0) (local.get $1) (local.get $1) ) ) (drop - (i64.atomic.rmw32.cmpxchg_u $0 + (i64.atomic.rmw32.cmpxchg_u (local.get $0) (local.get $1) (local.get $1) @@ -142,40 +142,40 @@ (local $1 i64) (local $2 i32) (drop - (memory.atomic.wait32 $0 + (memory.atomic.wait32 (local.get $0) (local.get $2) (local.get $1) ) ) (drop - (memory.atomic.wait32 $0 offset=4 + (memory.atomic.wait32 offset=4 (local.get $0) (local.get $2) (local.get $1) ) ) (drop - (memory.atomic.notify $0 + (memory.atomic.notify (local.get $0) (local.get $2) ) ) (drop - (memory.atomic.notify $0 offset=24 + (memory.atomic.notify offset=24 (local.get $0) (local.get $2) ) ) (drop - (memory.atomic.wait64 $0 + (memory.atomic.wait64 (local.get $0) (local.get $1) (local.get $1) ) ) (drop - (memory.atomic.wait64 $0 offset=16 + (memory.atomic.wait64 offset=16 (local.get $0) (local.get $1) (local.get $1) diff --git a/test/atomics64.wast.fromBinary.noDebugInfo b/test/atomics64.wast.fromBinary.noDebugInfo index d37c82deda2..c3f50883310 100644 --- a/test/atomics64.wast.fromBinary.noDebugInfo +++ b/test/atomics64.wast.fromBinary.noDebugInfo @@ -6,65 +6,65 @@ (local $1 i64) (local $2 i32) (drop - (i32.atomic.load8_u $0 offset=4 + (i32.atomic.load8_u offset=4 (local.get $0) ) ) (drop - (i32.atomic.load16_u $0 offset=4 + (i32.atomic.load16_u offset=4 (local.get $0) ) ) (drop - (i32.atomic.load $0 offset=4 + (i32.atomic.load offset=4 (local.get $0) ) ) (drop - (i64.atomic.load8_u $0 + (i64.atomic.load8_u (local.get $0) ) ) (drop - (i64.atomic.load16_u $0 + (i64.atomic.load16_u (local.get $0) ) ) (drop - (i64.atomic.load32_u $0 + (i64.atomic.load32_u (local.get $0) ) ) (drop - (i64.atomic.load $0 + (i64.atomic.load (local.get $0) ) ) - (i32.atomic.store $0 offset=4 + (i32.atomic.store offset=4 (local.get $0) (local.get $2) ) - (i32.atomic.store8 $0 offset=4 + (i32.atomic.store8 offset=4 (local.get $0) (local.get $2) ) - (i32.atomic.store16 $0 offset=4 + (i32.atomic.store16 offset=4 (local.get $0) (local.get $2) ) - (i64.atomic.store $0 offset=4 + (i64.atomic.store offset=4 (local.get $0) (local.get $1) ) - (i64.atomic.store8 $0 offset=4 + (i64.atomic.store8 offset=4 (local.get $0) (local.get $1) ) - (i64.atomic.store16 $0 offset=4 + (i64.atomic.store16 offset=4 (local.get $0) (local.get $1) ) - (i64.atomic.store32 $0 offset=4 + (i64.atomic.store32 offset=4 (local.get $0) (local.get $1) ) @@ -74,31 +74,31 @@ (local $1 i64) (local $2 i32) (drop - (i32.atomic.rmw.add $0 offset=4 + (i32.atomic.rmw.add offset=4 (local.get $0) (local.get $2) ) ) (drop - (i32.atomic.rmw8.add_u $0 offset=4 + (i32.atomic.rmw8.add_u offset=4 (local.get $0) (local.get $2) ) ) (drop - (i32.atomic.rmw16.and_u $0 + (i32.atomic.rmw16.and_u (local.get $0) (local.get $2) ) ) (drop - (i64.atomic.rmw32.or_u $0 + (i64.atomic.rmw32.or_u (local.get $0) (local.get $1) ) ) (drop - (i32.atomic.rmw8.xchg_u $0 + (i32.atomic.rmw8.xchg_u (local.get $0) (local.get $2) ) @@ -109,28 +109,28 @@ (local $1 i64) (local $2 i32) (drop - (i32.atomic.rmw.cmpxchg $0 offset=4 + (i32.atomic.rmw.cmpxchg offset=4 (local.get $0) (local.get $2) (local.get $2) ) ) (drop - (i32.atomic.rmw8.cmpxchg_u $0 + (i32.atomic.rmw8.cmpxchg_u (local.get $0) (local.get $2) (local.get $2) ) ) (drop - (i64.atomic.rmw.cmpxchg $0 offset=4 + (i64.atomic.rmw.cmpxchg offset=4 (local.get $0) (local.get $1) (local.get $1) ) ) (drop - (i64.atomic.rmw32.cmpxchg_u $0 + (i64.atomic.rmw32.cmpxchg_u (local.get $0) (local.get $1) (local.get $1) @@ -142,40 +142,40 @@ (local $1 i64) (local $2 i32) (drop - (memory.atomic.wait32 $0 + (memory.atomic.wait32 (local.get $0) (local.get $2) (local.get $1) ) ) (drop - (memory.atomic.wait32 $0 offset=4 + (memory.atomic.wait32 offset=4 (local.get $0) (local.get $2) (local.get $1) ) ) (drop - (memory.atomic.notify $0 + (memory.atomic.notify (local.get $0) (local.get $2) ) ) (drop - (memory.atomic.notify $0 offset=24 + (memory.atomic.notify offset=24 (local.get $0) (local.get $2) ) ) (drop - (memory.atomic.wait64 $0 + (memory.atomic.wait64 (local.get $0) (local.get $1) (local.get $1) ) ) (drop - (memory.atomic.wait64 $0 offset=16 + (memory.atomic.wait64 offset=16 (local.get $0) (local.get $1) (local.get $1) diff --git a/test/binaryen.js/atomics.js.txt b/test/binaryen.js/atomics.js.txt index df2c3bcb780..091298d579c 100644 --- a/test/binaryen.js/atomics.js.txt +++ b/test/binaryen.js/atomics.js.txt @@ -2,64 +2,64 @@ (type $none_=>_none (func)) (memory $0 (shared 1 1)) (func $main - (i32.atomic.store $0 + (i32.atomic.store (i32.const 0) - (i32.atomic.load $0 + (i32.atomic.load (i32.const 0) ) ) - (i32.atomic.store8 $0 + (i32.atomic.store8 (i32.const 0) - (i32.atomic.load8_u $0 + (i32.atomic.load8_u (i32.const 0) ) ) - (i32.atomic.store16 $0 + (i32.atomic.store16 (i32.const 0) - (i32.atomic.load16_u $0 + (i32.atomic.load16_u (i32.const 0) ) ) - (i64.atomic.store $0 + (i64.atomic.store (i32.const 0) - (i64.atomic.load $0 + (i64.atomic.load (i32.const 0) ) ) - (i64.atomic.store8 $0 + (i64.atomic.store8 (i32.const 0) - (i64.atomic.load8_u $0 + (i64.atomic.load8_u (i32.const 0) ) ) - (i64.atomic.store16 $0 + (i64.atomic.store16 (i32.const 0) - (i64.atomic.load16_u $0 + (i64.atomic.load16_u (i32.const 0) ) ) - (i64.atomic.store32 $0 + (i64.atomic.store32 (i32.const 0) - (i64.atomic.load32_u $0 + (i64.atomic.load32_u (i32.const 0) ) ) (drop - (memory.atomic.wait32 $0 + (memory.atomic.wait32 (i32.const 0) (i32.const 0) (i64.const 0) ) ) (drop - (memory.atomic.wait64 $0 + (memory.atomic.wait64 (i32.const 0) (i64.const 0) (i64.const 0) ) ) (drop - (memory.atomic.notify $0 + (memory.atomic.notify (i32.const 0) (i32.const 0) ) diff --git a/test/binaryen.js/kitchen-sink.js.txt b/test/binaryen.js/kitchen-sink.js.txt index 75eab2119a8..1be13aefef2 100644 --- a/test/binaryen.js/kitchen-sink.js.txt +++ b/test/binaryen.js/kitchen-sink.js.txt @@ -1747,142 +1747,142 @@ getExpressionInfo(tuple[3])={"id":14,"type":5,"value":3.7} ) ) (drop - (v128.load8_splat $0 + (v128.load8_splat (i32.const 128) ) ) (drop - (v128.load16_splat $0 offset=16 align=1 + (v128.load16_splat offset=16 align=1 (i32.const 128) ) ) (drop - (v128.load32_splat $0 offset=16 + (v128.load32_splat offset=16 (i32.const 128) ) ) (drop - (v128.load64_splat $0 align=4 + (v128.load64_splat align=4 (i32.const 128) ) ) (drop - (v128.load8x8_s $0 + (v128.load8x8_s (i32.const 128) ) ) (drop - (v128.load8x8_u $0 + (v128.load8x8_u (i32.const 128) ) ) (drop - (v128.load16x4_s $0 + (v128.load16x4_s (i32.const 128) ) ) (drop - (v128.load16x4_u $0 + (v128.load16x4_u (i32.const 128) ) ) (drop - (v128.load32x2_s $0 + (v128.load32x2_s (i32.const 128) ) ) (drop - (v128.load32x2_u $0 + (v128.load32x2_u (i32.const 128) ) ) (drop - (v128.load32_zero $0 + (v128.load32_zero (i32.const 128) ) ) (drop - (v128.load64_zero $0 + (v128.load64_zero (i32.const 128) ) ) (drop - (v128.load8_lane $0 0 + (v128.load8_lane 0 (i32.const 128) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (v128.load8_lane $0 offset=1 15 + (v128.load8_lane offset=1 15 (i32.const 128) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (v128.load16_lane $0 0 + (v128.load16_lane 0 (i32.const 128) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (v128.load16_lane $0 offset=2 align=1 7 + (v128.load16_lane offset=2 align=1 7 (i32.const 128) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (v128.load32_lane $0 0 + (v128.load32_lane 0 (i32.const 128) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (v128.load32_lane $0 offset=4 align=2 3 + (v128.load32_lane offset=4 align=2 3 (i32.const 128) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (v128.load64_lane $0 0 + (v128.load64_lane 0 (i32.const 128) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (v128.load64_lane $0 offset=8 align=4 1 + (v128.load64_lane offset=8 align=4 1 (i32.const 128) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) - (v128.store8_lane $0 0 + (v128.store8_lane 0 (i32.const 128) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) - (v128.store8_lane $0 offset=1 15 + (v128.store8_lane offset=1 15 (i32.const 128) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) - (v128.store16_lane $0 0 + (v128.store16_lane 0 (i32.const 128) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) - (v128.store16_lane $0 offset=2 align=1 7 + (v128.store16_lane offset=2 align=1 7 (i32.const 128) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) - (v128.store32_lane $0 0 + (v128.store32_lane 0 (i32.const 128) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) - (v128.store32_lane $0 offset=4 align=2 3 + (v128.store32_lane offset=4 align=2 3 (i32.const 128) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) - (v128.store64_lane $0 0 + (v128.store64_lane 0 (i32.const 128) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) - (v128.store64_lane $0 offset=8 align=4 1 + (v128.store64_lane offset=8 align=4 1 (i32.const 128) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) @@ -1899,18 +1899,18 @@ getExpressionInfo(tuple[3])={"id":14,"type":5,"value":3.7} (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) - (memory.init $0 0 + (memory.init 0 (i32.const 1024) (i32.const 0) (i32.const 12) ) (data.drop 0) - (memory.copy $0 $0 + (memory.copy (i32.const 2048) (i32.const 1024) (i32.const 12) ) - (memory.fill $0 + (memory.fill (i32.const 0) (i32.const 42) (i32.const 1024) @@ -2005,30 +2005,30 @@ getExpressionInfo(tuple[3])={"id":14,"type":5,"value":3.7} ) ) (drop - (i32.load $0 + (i32.load (i32.const 1) ) ) (drop - (i64.load16_s $0 offset=2 align=1 + (i64.load16_s offset=2 align=1 (i32.const 8) ) ) (drop - (f32.load $0 + (f32.load (i32.const 2) ) ) (drop - (f64.load $0 offset=2 + (f64.load offset=2 (i32.const 9) ) ) - (i32.store $0 + (i32.store (i32.const 10) (i32.const 11) ) - (i64.store $0 offset=2 align=4 + (i64.store offset=2 align=4 (i32.const 110) (i64.const 111) ) @@ -2095,21 +2095,21 @@ getExpressionInfo(tuple[3])={"id":14,"type":5,"value":3.7} ) ) ) - (i32.atomic.store $0 + (i32.atomic.store (i32.const 0) - (i32.atomic.load $0 + (i32.atomic.load (i32.const 0) ) ) (drop - (memory.atomic.wait32 $0 + (memory.atomic.wait32 (i32.const 0) (i32.const 0) (i64.const 0) ) ) (drop - (memory.atomic.notify $0 + (memory.atomic.notify (i32.const 0) (i32.const 0) ) @@ -2179,10 +2179,10 @@ getExpressionInfo(tuple[3])={"id":14,"type":5,"value":3.7} (pop stringview_iter) ) (drop - (memory.size $0) + (memory.size) ) (drop - (memory.grow $0 + (memory.grow (i32.const 0) ) ) @@ -3851,142 +3851,142 @@ getExpressionInfo(tuple[3])={"id":14,"type":5,"value":3.7} ) ) (drop - (v128.load8_splat $0 + (v128.load8_splat (i32.const 128) ) ) (drop - (v128.load16_splat $0 offset=16 align=1 + (v128.load16_splat offset=16 align=1 (i32.const 128) ) ) (drop - (v128.load32_splat $0 offset=16 + (v128.load32_splat offset=16 (i32.const 128) ) ) (drop - (v128.load64_splat $0 align=4 + (v128.load64_splat align=4 (i32.const 128) ) ) (drop - (v128.load8x8_s $0 + (v128.load8x8_s (i32.const 128) ) ) (drop - (v128.load8x8_u $0 + (v128.load8x8_u (i32.const 128) ) ) (drop - (v128.load16x4_s $0 + (v128.load16x4_s (i32.const 128) ) ) (drop - (v128.load16x4_u $0 + (v128.load16x4_u (i32.const 128) ) ) (drop - (v128.load32x2_s $0 + (v128.load32x2_s (i32.const 128) ) ) (drop - (v128.load32x2_u $0 + (v128.load32x2_u (i32.const 128) ) ) (drop - (v128.load32_zero $0 + (v128.load32_zero (i32.const 128) ) ) (drop - (v128.load64_zero $0 + (v128.load64_zero (i32.const 128) ) ) (drop - (v128.load8_lane $0 0 + (v128.load8_lane 0 (i32.const 128) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (v128.load8_lane $0 offset=1 15 + (v128.load8_lane offset=1 15 (i32.const 128) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (v128.load16_lane $0 0 + (v128.load16_lane 0 (i32.const 128) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (v128.load16_lane $0 offset=2 align=1 7 + (v128.load16_lane offset=2 align=1 7 (i32.const 128) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (v128.load32_lane $0 0 + (v128.load32_lane 0 (i32.const 128) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (v128.load32_lane $0 offset=4 align=2 3 + (v128.load32_lane offset=4 align=2 3 (i32.const 128) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (v128.load64_lane $0 0 + (v128.load64_lane 0 (i32.const 128) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (v128.load64_lane $0 offset=8 align=4 1 + (v128.load64_lane offset=8 align=4 1 (i32.const 128) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) - (v128.store8_lane $0 0 + (v128.store8_lane 0 (i32.const 128) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) - (v128.store8_lane $0 offset=1 15 + (v128.store8_lane offset=1 15 (i32.const 128) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) - (v128.store16_lane $0 0 + (v128.store16_lane 0 (i32.const 128) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) - (v128.store16_lane $0 offset=2 align=1 7 + (v128.store16_lane offset=2 align=1 7 (i32.const 128) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) - (v128.store32_lane $0 0 + (v128.store32_lane 0 (i32.const 128) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) - (v128.store32_lane $0 offset=4 align=2 3 + (v128.store32_lane offset=4 align=2 3 (i32.const 128) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) - (v128.store64_lane $0 0 + (v128.store64_lane 0 (i32.const 128) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) - (v128.store64_lane $0 offset=8 align=4 1 + (v128.store64_lane offset=8 align=4 1 (i32.const 128) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) @@ -4003,18 +4003,18 @@ getExpressionInfo(tuple[3])={"id":14,"type":5,"value":3.7} (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) - (memory.init $0 0 + (memory.init 0 (i32.const 1024) (i32.const 0) (i32.const 12) ) (data.drop 0) - (memory.copy $0 $0 + (memory.copy (i32.const 2048) (i32.const 1024) (i32.const 12) ) - (memory.fill $0 + (memory.fill (i32.const 0) (i32.const 42) (i32.const 1024) @@ -4109,30 +4109,30 @@ getExpressionInfo(tuple[3])={"id":14,"type":5,"value":3.7} ) ) (drop - (i32.load $0 + (i32.load (i32.const 1) ) ) (drop - (i64.load16_s $0 offset=2 align=1 + (i64.load16_s offset=2 align=1 (i32.const 8) ) ) (drop - (f32.load $0 + (f32.load (i32.const 2) ) ) (drop - (f64.load $0 offset=2 + (f64.load offset=2 (i32.const 9) ) ) - (i32.store $0 + (i32.store (i32.const 10) (i32.const 11) ) - (i64.store $0 offset=2 align=4 + (i64.store offset=2 align=4 (i32.const 110) (i64.const 111) ) @@ -4199,21 +4199,21 @@ getExpressionInfo(tuple[3])={"id":14,"type":5,"value":3.7} ) ) ) - (i32.atomic.store $0 + (i32.atomic.store (i32.const 0) - (i32.atomic.load $0 + (i32.atomic.load (i32.const 0) ) ) (drop - (memory.atomic.wait32 $0 + (memory.atomic.wait32 (i32.const 0) (i32.const 0) (i64.const 0) ) ) (drop - (memory.atomic.notify $0 + (memory.atomic.notify (i32.const 0) (i32.const 0) ) @@ -4283,10 +4283,10 @@ getExpressionInfo(tuple[3])={"id":14,"type":5,"value":3.7} (pop stringview_iter) ) (drop - (memory.size $0) + (memory.size) ) (drop - (memory.grow $0 + (memory.grow (i32.const 0) ) ) diff --git a/test/binaryen.js/low-memory-unused.js.txt b/test/binaryen.js/low-memory-unused.js.txt index f1df597af0c..08c36575dd2 100644 --- a/test/binaryen.js/low-memory-unused.js.txt +++ b/test/binaryen.js/low-memory-unused.js.txt @@ -18,7 +18,7 @@ (memory $0 1) (export "test" (func $test)) (func $test (param $0 i32) (result i32) - (i32.load $0 + (i32.load (i32.add (local.get $0) (i32.const 128) @@ -33,7 +33,7 @@ (memory $0 1) (export "test" (func $test)) (func $test (; has Stack IR ;) (param $0 i32) (result i32) - (i32.load $0 + (i32.load (i32.add (local.get $0) (i32.const 128) @@ -49,7 +49,7 @@ (memory $0 1) (export "test" (func $test)) (func $test (; has Stack IR ;) (param $0 i32) (result i32) - (i32.load $0 offset=128 + (i32.load offset=128 (local.get $0) ) ) diff --git a/test/binaryen.js/sieve.js.txt b/test/binaryen.js/sieve.js.txt index b8a01057c9b..1da65a09f15 100644 --- a/test/binaryen.js/sieve.js.txt +++ b/test/binaryen.js/sieve.js.txt @@ -7,13 +7,13 @@ (if (i32.lt_u (i32.mul - (memory.size $0) + (memory.size) (i32.const 65536) ) (local.get $0) ) (drop - (memory.grow $0 + (memory.grow (i32.sub (i32.div_u (i32.add @@ -22,7 +22,7 @@ ) (i32.const 65536) ) - (memory.size $0) + (memory.size) ) ) ) @@ -31,7 +31,7 @@ (i32.const 0) ) (loop $clear - (i32.store8 $0 + (i32.store8 (local.get $1) (i32.const 0) ) @@ -65,13 +65,13 @@ optimized: (if (i32.lt_u (i32.shl - (memory.size $0) + (memory.size) (i32.const 16) ) (local.get $0) ) (drop - (memory.grow $0 + (memory.grow (i32.sub (i32.shr_u (i32.add @@ -80,13 +80,13 @@ optimized: ) (i32.const 16) ) - (memory.size $0) + (memory.size) ) ) ) ) (loop $clear - (i32.store8 $0 + (i32.store8 (local.get $1) (i32.const 0) ) diff --git a/test/consume-stacky.wasm.fromBinary b/test/consume-stacky.wasm.fromBinary index fd202ed7515..6a3aa85fa16 100644 --- a/test/consume-stacky.wasm.fromBinary +++ b/test/consume-stacky.wasm.fromBinary @@ -6,7 +6,7 @@ (local.set $0 (i32.const 1) ) - (i32.store $0 + (i32.store (i32.const 2) (i32.const 3) ) diff --git a/test/ctor-eval/bad-indirect-call.wast.out b/test/ctor-eval/bad-indirect-call.wast.out index 38caa9387be..8ab14a36d48 100644 --- a/test/ctor-eval/bad-indirect-call.wast.out +++ b/test/ctor-eval/bad-indirect-call.wast.out @@ -9,13 +9,13 @@ (call_indirect $0 (type $v) (i32.const 1) ) - (i32.store8 $0 + (i32.store8 (i32.const 20) (i32.const 120) ) ) (func $call-indirect - (i32.store8 $0 + (i32.store8 (i32.const 40) (i32.const 67) ) diff --git a/test/ctor-eval/bad-indirect-call2.wast.out b/test/ctor-eval/bad-indirect-call2.wast.out index 98ac6f30695..3ae51dfa8c5 100644 --- a/test/ctor-eval/bad-indirect-call2.wast.out +++ b/test/ctor-eval/bad-indirect-call2.wast.out @@ -10,13 +10,13 @@ (call_indirect $0 (type $v) (i32.const 0) ) - (i32.store8 $0 + (i32.store8 (i32.const 20) (i32.const 120) ) ) (func $call-indirect - (i32.store8 $0 + (i32.store8 (i32.const 40) (i32.const 67) ) diff --git a/test/ctor-eval/bad-indirect-call3.wast.out b/test/ctor-eval/bad-indirect-call3.wast.out index 1a2b90dba63..257bf316837 100644 --- a/test/ctor-eval/bad-indirect-call3.wast.out +++ b/test/ctor-eval/bad-indirect-call3.wast.out @@ -8,7 +8,7 @@ (elem (i32.const 0) $callee) (export "sig_mismatch" (func $sig_mismatch)) (func $callee (param $0 anyref) - (i32.store8 $0 + (i32.store8 (i32.const 40) (i32.const 67) ) diff --git a/test/ctor-eval/basics-flatten.wast.out b/test/ctor-eval/basics-flatten.wast.out index 4a4f557e1db..f13d5f7a057 100644 --- a/test/ctor-eval/basics-flatten.wast.out +++ b/test/ctor-eval/basics-flatten.wast.out @@ -3,7 +3,7 @@ (memory $0 256 256) (data (i32.const 10) "nas\00\00\00aka\00yzkx waka wakm\00\00\00\00\00\00C") (func $call-indirect - (i32.store8 $0 + (i32.store8 (i32.const 40) (i32.const 67) ) diff --git a/test/ctor-eval/basics.wast.out b/test/ctor-eval/basics.wast.out index 6378e028fd5..8d82afc804a 100644 --- a/test/ctor-eval/basics.wast.out +++ b/test/ctor-eval/basics.wast.out @@ -3,7 +3,7 @@ (memory $0 256 256) (data (i32.const 10) "nas\00\00\00aka yzkx waka wakm\00\00\00\00\00\00C") (func $call-indirect - (i32.store8 $0 + (i32.store8 (i32.const 40) (i32.const 67) ) diff --git a/test/ctor-eval/ignore-external-input.wast.out b/test/ctor-eval/ignore-external-input.wast.out index ba202c4cc0b..d61f2e6b94d 100644 --- a/test/ctor-eval/ignore-external-input.wast.out +++ b/test/ctor-eval/ignore-external-input.wast.out @@ -9,7 +9,7 @@ (drop (call $wasi_something_else) ) - (i32.store $0 + (i32.store (i32.const 28) (i32.const 100) ) diff --git a/test/ctor-eval/imported-global-2.wast.out b/test/ctor-eval/imported-global-2.wast.out index f5da5f4ecaa..ff71672a96c 100644 --- a/test/ctor-eval/imported-global-2.wast.out +++ b/test/ctor-eval/imported-global-2.wast.out @@ -9,7 +9,7 @@ (local.set $temp (global.get $imported) ) - (i32.store8 $0 + (i32.store8 (i32.const 13) (i32.const 115) ) @@ -17,7 +17,7 @@ ) (func $1 (result i32) (drop - (i32.load $0 + (i32.load (i32.const 13) ) ) diff --git a/test/ctor-eval/imported-global.wast.out b/test/ctor-eval/imported-global.wast.out index e2dc43f2731..e141211b1ea 100644 --- a/test/ctor-eval/imported-global.wast.out +++ b/test/ctor-eval/imported-global.wast.out @@ -4,7 +4,7 @@ (data (i32.const 10) "waka waka waka waka waka") (export "test1" (func $test1)) (func $test1 - (i32.store8 $0 + (i32.store8 (i32.const 13) (i32.const 115) ) diff --git a/test/ctor-eval/indirect-call3.wast.out b/test/ctor-eval/indirect-call3.wast.out index cbd386ad6d1..1c98857a65c 100644 --- a/test/ctor-eval/indirect-call3.wast.out +++ b/test/ctor-eval/indirect-call3.wast.out @@ -4,7 +4,7 @@ (memory $0 256 256) (data (i32.const 10) "waka waka xaka waka waka\00\00\00\00\00\00C") (func $call-indirect - (i32.store8 $0 + (i32.store8 (i32.const 40) (i32.const 67) ) diff --git a/test/ctor-eval/just_some.wast.out b/test/ctor-eval/just_some.wast.out index 2b227e0d9c7..cb8c06fb9b6 100644 --- a/test/ctor-eval/just_some.wast.out +++ b/test/ctor-eval/just_some.wast.out @@ -8,7 +8,7 @@ (unreachable) ) (func $test3 - (i32.store8 $0 + (i32.store8 (i32.const 13) (i32.const 113) ) diff --git a/test/ctor-eval/memory-init.wast.out b/test/ctor-eval/memory-init.wast.out index 04b619ca586..6019ea27786 100644 --- a/test/ctor-eval/memory-init.wast.out +++ b/test/ctor-eval/memory-init.wast.out @@ -5,11 +5,11 @@ (data (i32.const 20) "__________") (export "test1" (func $0)) (func $0 - (i32.store8 $0 + (i32.store8 (i32.const 4) (i32.const 100) ) - (memory.init $0 1 + (memory.init 1 (i32.const 0) (i32.const 0) (i32.const 1) diff --git a/test/ctor-eval/partial-locals-tee.wast.out b/test/ctor-eval/partial-locals-tee.wast.out index a00f20d317f..cb26531984d 100644 --- a/test/ctor-eval/partial-locals-tee.wast.out +++ b/test/ctor-eval/partial-locals-tee.wast.out @@ -10,7 +10,7 @@ (i32.const 1) (i32.const 50) ) - (i32.store8 $0 + (i32.store8 (i32.const 13) (i32.const 115) ) diff --git a/test/ctor-eval/partial-locals.wast.out b/test/ctor-eval/partial-locals.wast.out index 431375faba6..14f102b69ac 100644 --- a/test/ctor-eval/partial-locals.wast.out +++ b/test/ctor-eval/partial-locals.wast.out @@ -11,7 +11,7 @@ (i32.const 100) ) (call $import) - (i32.store8 $0 + (i32.store8 (i32.const 13) (i32.const 115) ) diff --git a/test/ctor-eval/partial.wast.out b/test/ctor-eval/partial.wast.out index 8c1500cdf35..4596a16a356 100644 --- a/test/ctor-eval/partial.wast.out +++ b/test/ctor-eval/partial.wast.out @@ -6,19 +6,19 @@ (export "test1" (func $test1_0)) (export "keepalive" (func $test1)) (func $test1 - (i32.store8 $0 + (i32.store8 (i32.const 12) (i32.const 115) ) (call $import) - (i32.store8 $0 + (i32.store8 (i32.const 13) (i32.const 114) ) ) (func $test1_0 (call $import) - (i32.store8 $0 + (i32.store8 (i32.const 13) (i32.const 114) ) diff --git a/test/ctor-eval/unsafe_call.wast.out b/test/ctor-eval/unsafe_call.wast.out index c369b2f896b..402bc877157 100644 --- a/test/ctor-eval/unsafe_call.wast.out +++ b/test/ctor-eval/unsafe_call.wast.out @@ -5,15 +5,15 @@ (export "test1" (func $test1)) (func $test1 (call $unsafe-to-call) - (i32.store $0 + (i32.store (i32.const 12) (i32.const 115) ) - (i32.store16 $0 + (i32.store16 (i32.const 20) (i32.const 31353) ) - (i32.store8 $0 + (i32.store8 (i32.const 23) (i32.const 120) ) diff --git a/test/dylib.wasm.fromBinary b/test/dylib.wasm.fromBinary index a95fbbd3dec..51b9c245d89 100644 --- a/test/dylib.wasm.fromBinary +++ b/test/dylib.wasm.fromBinary @@ -34,11 +34,11 @@ ) (func $2 (result i32) (i32.add - (i32.load $mimport$0 + (i32.load (global.get $global$3) ) (i32.add - (i32.load $mimport$0 + (i32.load (global.get $global$2) ) (i32.add @@ -50,11 +50,11 @@ ) (func $3 (param $0 i32) (param $1 i32) (result i32) (i32.add - (i32.load $mimport$0 + (i32.load (global.get $global$3) ) (i32.add - (i32.load $mimport$0 + (i32.load (global.get $global$2) ) (i32.add diff --git a/test/example/c-api-kitchen-sink.txt b/test/example/c-api-kitchen-sink.txt index d37b6fcc4fa..ff71e08e5ad 100644 --- a/test/example/c-api-kitchen-sink.txt +++ b/test/example/c-api-kitchen-sink.txt @@ -1692,102 +1692,102 @@ BinaryenFeatureAll: 122879 ) ) (drop - (v128.load8_splat $0 + (v128.load8_splat (i32.const 128) ) ) (drop - (v128.load16_splat $0 offset=16 align=1 + (v128.load16_splat offset=16 align=1 (i32.const 128) ) ) (drop - (v128.load32_splat $0 offset=16 + (v128.load32_splat offset=16 (i32.const 128) ) ) (drop - (v128.load64_splat $0 align=4 + (v128.load64_splat align=4 (i32.const 128) ) ) (drop - (v128.load8x8_s $0 + (v128.load8x8_s (i32.const 128) ) ) (drop - (v128.load8x8_u $0 + (v128.load8x8_u (i32.const 128) ) ) (drop - (v128.load16x4_s $0 + (v128.load16x4_s (i32.const 128) ) ) (drop - (v128.load16x4_u $0 + (v128.load16x4_u (i32.const 128) ) ) (drop - (v128.load32x2_s $0 + (v128.load32x2_s (i32.const 128) ) ) (drop - (v128.load32x2_u $0 + (v128.load32x2_u (i32.const 128) ) ) (drop - (v128.load32_zero $0 + (v128.load32_zero (i32.const 128) ) ) (drop - (v128.load64_zero $0 + (v128.load64_zero (i32.const 128) ) ) (drop - (v128.load8_lane $0 0 + (v128.load8_lane 0 (i32.const 128) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (v128.load16_lane $0 0 + (v128.load16_lane 0 (i32.const 128) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (v128.load32_lane $0 0 + (v128.load32_lane 0 (i32.const 128) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (v128.load64_lane $0 0 + (v128.load64_lane 0 (i32.const 128) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) - (v128.store8_lane $0 0 + (v128.store8_lane 0 (i32.const 128) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) - (v128.store16_lane $0 0 + (v128.store16_lane 0 (i32.const 128) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) - (v128.store32_lane $0 0 + (v128.store32_lane 0 (i32.const 128) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) - (v128.store64_lane $0 0 + (v128.store64_lane 0 (i32.const 128) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) @@ -1804,18 +1804,18 @@ BinaryenFeatureAll: 122879 (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) - (memory.init $0 0 + (memory.init 0 (i32.const 1024) (i32.const 0) (i32.const 12) ) (data.drop 0) - (memory.copy $0 $0 + (memory.copy (i32.const 2048) (i32.const 1024) (i32.const 12) ) - (memory.fill $0 + (memory.fill (i32.const 0) (i32.const 42) (i32.const 1024) @@ -1910,30 +1910,30 @@ BinaryenFeatureAll: 122879 ) ) (drop - (i32.load $0 + (i32.load (i32.const 1) ) ) (drop - (i64.load16_s $0 offset=2 align=1 + (i64.load16_s offset=2 align=1 (i32.const 8) ) ) (drop - (f32.load $0 + (f32.load (i32.const 2) ) ) (drop - (f64.load $0 offset=2 + (f64.load offset=2 (i32.const 9) ) ) - (i32.store $0 + (i32.store (i32.const 10) (i32.const 11) ) - (i64.store $0 offset=2 align=4 + (i64.store offset=2 align=4 (i32.const 110) (i64.const 111) ) @@ -2048,21 +2048,21 @@ BinaryenFeatureAll: 122879 (nop) ) ) - (i32.atomic.store $0 + (i32.atomic.store (i32.const 0) - (i32.atomic.load $0 + (i32.atomic.load (i32.const 0) ) ) (drop - (memory.atomic.wait32 $0 + (memory.atomic.wait32 (i32.const 0) (i32.const 0) (i64.const 111) ) ) (drop - (memory.atomic.notify $0 + (memory.atomic.notify (i32.const 0) (i32.const 0) ) @@ -2108,10 +2108,10 @@ BinaryenFeatureAll: 122879 (pop i32 i64 f32 f64) ) (drop - (memory.size $0) + (memory.size) ) (drop - (memory.grow $0 + (memory.grow (i32.const 0) ) ) diff --git a/test/example/c-api-unused-mem.txt b/test/example/c-api-unused-mem.txt index e41e894f42b..0a5ce806195 100644 --- a/test/example/c-api-unused-mem.txt +++ b/test/example/c-api-unused-mem.txt @@ -10,7 +10,7 @@ (local $2 i64) (block $block$2$break (local.set $0 - (i32.load $0 + (i32.load (i32.const 0) ) ) @@ -20,7 +20,7 @@ ) (block (block - (i32.store $0 + (i32.store (i32.const 0) (local.get $0) ) @@ -29,7 +29,7 @@ ) ) (func $__wasm_start - (i32.store $0 + (i32.store (i32.const 0) (i32.const 65535) ) @@ -49,7 +49,7 @@ (local $2 i64) (block $label$1 (local.set $0 - (i32.load $0 + (i32.load (i32.const 0) ) ) @@ -59,7 +59,7 @@ ) (block $label$3 (block $label$4 - (i32.store $0 + (i32.store (i32.const 0) (local.get $0) ) @@ -69,7 +69,7 @@ ) ) (func $__wasm_start - (i32.store $0 + (i32.store (i32.const 0) (i32.const 65535) ) diff --git a/test/example/relooper-fuzz.txt b/test/example/relooper-fuzz.txt index aa486411679..c21f72695c4 100644 --- a/test/example/relooper-fuzz.txt +++ b/test/example/relooper-fuzz.txt @@ -9,17 +9,17 @@ (func $check (result i32) (if (i32.eq - (i32.load $0 + (i32.load (i32.const 4) ) (i32.const 108) ) (unreachable) ) - (i32.store $0 + (i32.store (i32.const 4) (i32.add - (i32.load $0 + (i32.load (i32.const 4) ) (i32.const 4) @@ -28,15 +28,15 @@ (call $print (i32.sub (i32.const 0) - (i32.load $0 offset=4 - (i32.load $0 + (i32.load offset=4 + (i32.load (i32.const 4) ) ) ) ) - (i32.load $0 offset=4 - (i32.load $0 + (i32.load offset=4 + (i32.load (i32.const 4) ) ) @@ -44,111 +44,111 @@ (func $main (local $0 i32) (local $1 i32) - (i32.store $0 + (i32.store (i32.const 8) (i32.const 89) ) - (i32.store $0 + (i32.store (i32.const 12) (i32.const 12) ) - (i32.store $0 + (i32.store (i32.const 16) (i32.const 78) ) - (i32.store $0 + (i32.store (i32.const 20) (i32.const 149) ) - (i32.store $0 + (i32.store (i32.const 24) (i32.const 118) ) - (i32.store $0 + (i32.store (i32.const 28) (i32.const 179) ) - (i32.store $0 + (i32.store (i32.const 32) (i32.const 127) ) - (i32.store $0 + (i32.store (i32.const 36) (i32.const 80) ) - (i32.store $0 + (i32.store (i32.const 40) (i32.const 21) ) - (i32.store $0 + (i32.store (i32.const 44) (i32.const 34) ) - (i32.store $0 + (i32.store (i32.const 48) (i32.const 119) ) - (i32.store $0 + (i32.store (i32.const 52) (i32.const 98) ) - (i32.store $0 + (i32.store (i32.const 56) (i32.const 38) ) - (i32.store $0 + (i32.store (i32.const 60) (i32.const 29) ) - (i32.store $0 + (i32.store (i32.const 64) (i32.const 36) ) - (i32.store $0 + (i32.store (i32.const 68) (i32.const 147) ) - (i32.store $0 + (i32.store (i32.const 72) (i32.const 13) ) - (i32.store $0 + (i32.store (i32.const 76) (i32.const 55) ) - (i32.store $0 + (i32.store (i32.const 80) (i32.const 166) ) - (i32.store $0 + (i32.store (i32.const 84) (i32.const 16) ) - (i32.store $0 + (i32.store (i32.const 88) (i32.const 143) ) - (i32.store $0 + (i32.store (i32.const 92) (i32.const 52) ) - (i32.store $0 + (i32.store (i32.const 96) (i32.const 130) ) - (i32.store $0 + (i32.store (i32.const 100) (i32.const 150) ) - (i32.store $0 + (i32.store (i32.const 104) (i32.const 176) ) - (i32.store $0 + (i32.store (i32.const 108) (i32.const 91) ) - (i32.store $0 + (i32.store (i32.const 112) (i32.const 34) ) @@ -302,17 +302,17 @@ (func $check (; has Stack IR ;) (result i32) (if (i32.eq - (i32.load $0 + (i32.load (i32.const 4) ) (i32.const 108) ) (unreachable) ) - (i32.store $0 + (i32.store (i32.const 4) (i32.add - (i32.load $0 + (i32.load (i32.const 4) ) (i32.const 4) @@ -321,15 +321,15 @@ (call $print (i32.sub (i32.const 0) - (i32.load $0 offset=4 - (i32.load $0 + (i32.load offset=4 + (i32.load (i32.const 4) ) ) ) ) - (i32.load $0 offset=4 - (i32.load $0 + (i32.load offset=4 + (i32.load (i32.const 4) ) ) @@ -337,111 +337,111 @@ (func $main (; has Stack IR ;) (local $0 i32) (local $1 i32) - (i32.store $0 + (i32.store (i32.const 8) (i32.const 89) ) - (i32.store $0 + (i32.store (i32.const 12) (i32.const 12) ) - (i32.store $0 + (i32.store (i32.const 16) (i32.const 78) ) - (i32.store $0 + (i32.store (i32.const 20) (i32.const 149) ) - (i32.store $0 + (i32.store (i32.const 24) (i32.const 118) ) - (i32.store $0 + (i32.store (i32.const 28) (i32.const 179) ) - (i32.store $0 + (i32.store (i32.const 32) (i32.const 127) ) - (i32.store $0 + (i32.store (i32.const 36) (i32.const 80) ) - (i32.store $0 + (i32.store (i32.const 40) (i32.const 21) ) - (i32.store $0 + (i32.store (i32.const 44) (i32.const 34) ) - (i32.store $0 + (i32.store (i32.const 48) (i32.const 119) ) - (i32.store $0 + (i32.store (i32.const 52) (i32.const 98) ) - (i32.store $0 + (i32.store (i32.const 56) (i32.const 38) ) - (i32.store $0 + (i32.store (i32.const 60) (i32.const 29) ) - (i32.store $0 + (i32.store (i32.const 64) (i32.const 36) ) - (i32.store $0 + (i32.store (i32.const 68) (i32.const 147) ) - (i32.store $0 + (i32.store (i32.const 72) (i32.const 13) ) - (i32.store $0 + (i32.store (i32.const 76) (i32.const 55) ) - (i32.store $0 + (i32.store (i32.const 80) (i32.const 166) ) - (i32.store $0 + (i32.store (i32.const 84) (i32.const 16) ) - (i32.store $0 + (i32.store (i32.const 88) (i32.const 143) ) - (i32.store $0 + (i32.store (i32.const 92) (i32.const 52) ) - (i32.store $0 + (i32.store (i32.const 96) (i32.const 130) ) - (i32.store $0 + (i32.store (i32.const 100) (i32.const 150) ) - (i32.store $0 + (i32.store (i32.const 104) (i32.const 176) ) - (i32.store $0 + (i32.store (i32.const 108) (i32.const 91) ) - (i32.store $0 + (i32.store (i32.const 112) (i32.const 34) ) diff --git a/test/example/relooper-fuzz1.txt b/test/example/relooper-fuzz1.txt index 7574119d060..641771432d7 100644 --- a/test/example/relooper-fuzz1.txt +++ b/test/example/relooper-fuzz1.txt @@ -9,17 +9,17 @@ (func $check (result i32) (if (i32.eq - (i32.load $0 + (i32.load (i32.const 4) ) (i32.const 120) ) (unreachable) ) - (i32.store $0 + (i32.store (i32.const 4) (i32.add - (i32.load $0 + (i32.load (i32.const 4) ) (i32.const 4) @@ -28,15 +28,15 @@ (call $print (i32.sub (i32.const 0) - (i32.load $0 offset=4 - (i32.load $0 + (i32.load offset=4 + (i32.load (i32.const 4) ) ) ) ) - (i32.load $0 offset=4 - (i32.load $0 + (i32.load offset=4 + (i32.load (i32.const 4) ) ) @@ -44,123 +44,123 @@ (func $main (local $0 i32) (local $1 i32) - (i32.store $0 + (i32.store (i32.const 8) (i32.const 67) ) - (i32.store $0 + (i32.store (i32.const 12) (i32.const 131) ) - (i32.store $0 + (i32.store (i32.const 16) (i32.const 49) ) - (i32.store $0 + (i32.store (i32.const 20) (i32.const 36) ) - (i32.store $0 + (i32.store (i32.const 24) (i32.const 112) ) - (i32.store $0 + (i32.store (i32.const 28) (i32.const 161) ) - (i32.store $0 + (i32.store (i32.const 32) (i32.const 62) ) - (i32.store $0 + (i32.store (i32.const 36) (i32.const 166) ) - (i32.store $0 + (i32.store (i32.const 40) (i32.const 16) ) - (i32.store $0 + (i32.store (i32.const 44) (i32.const 88) ) - (i32.store $0 + (i32.store (i32.const 48) (i32.const 176) ) - (i32.store $0 + (i32.store (i32.const 52) (i32.const 152) ) - (i32.store $0 + (i32.store (i32.const 56) (i32.const 161) ) - (i32.store $0 + (i32.store (i32.const 60) (i32.const 194) ) - (i32.store $0 + (i32.store (i32.const 64) (i32.const 117) ) - (i32.store $0 + (i32.store (i32.const 68) (i32.const 180) ) - (i32.store $0 + (i32.store (i32.const 72) (i32.const 60) ) - (i32.store $0 + (i32.store (i32.const 76) (i32.const 166) ) - (i32.store $0 + (i32.store (i32.const 80) (i32.const 55) ) - (i32.store $0 + (i32.store (i32.const 84) (i32.const 183) ) - (i32.store $0 + (i32.store (i32.const 88) (i32.const 150) ) - (i32.store $0 + (i32.store (i32.const 92) (i32.const 73) ) - (i32.store $0 + (i32.store (i32.const 96) (i32.const 196) ) - (i32.store $0 + (i32.store (i32.const 100) (i32.const 143) ) - (i32.store $0 + (i32.store (i32.const 104) (i32.const 76) ) - (i32.store $0 + (i32.store (i32.const 108) (i32.const 182) ) - (i32.store $0 + (i32.store (i32.const 112) (i32.const 97) ) - (i32.store $0 + (i32.store (i32.const 116) (i32.const 140) ) - (i32.store $0 + (i32.store (i32.const 120) (i32.const 126) ) - (i32.store $0 + (i32.store (i32.const 124) (i32.const 3) ) @@ -278,17 +278,17 @@ (func $check (; has Stack IR ;) (result i32) (if (i32.eq - (i32.load $0 + (i32.load (i32.const 4) ) (i32.const 120) ) (unreachable) ) - (i32.store $0 + (i32.store (i32.const 4) (i32.add - (i32.load $0 + (i32.load (i32.const 4) ) (i32.const 4) @@ -297,138 +297,138 @@ (call $print (i32.sub (i32.const 0) - (i32.load $0 offset=4 - (i32.load $0 + (i32.load offset=4 + (i32.load (i32.const 4) ) ) ) ) - (i32.load $0 offset=4 - (i32.load $0 + (i32.load offset=4 + (i32.load (i32.const 4) ) ) ) (func $main (; has Stack IR ;) (local $0 i32) - (i32.store $0 + (i32.store (i32.const 8) (i32.const 67) ) - (i32.store $0 + (i32.store (i32.const 12) (i32.const 131) ) - (i32.store $0 + (i32.store (i32.const 16) (i32.const 49) ) - (i32.store $0 + (i32.store (i32.const 20) (i32.const 36) ) - (i32.store $0 + (i32.store (i32.const 24) (i32.const 112) ) - (i32.store $0 + (i32.store (i32.const 28) (i32.const 161) ) - (i32.store $0 + (i32.store (i32.const 32) (i32.const 62) ) - (i32.store $0 + (i32.store (i32.const 36) (i32.const 166) ) - (i32.store $0 + (i32.store (i32.const 40) (i32.const 16) ) - (i32.store $0 + (i32.store (i32.const 44) (i32.const 88) ) - (i32.store $0 + (i32.store (i32.const 48) (i32.const 176) ) - (i32.store $0 + (i32.store (i32.const 52) (i32.const 152) ) - (i32.store $0 + (i32.store (i32.const 56) (i32.const 161) ) - (i32.store $0 + (i32.store (i32.const 60) (i32.const 194) ) - (i32.store $0 + (i32.store (i32.const 64) (i32.const 117) ) - (i32.store $0 + (i32.store (i32.const 68) (i32.const 180) ) - (i32.store $0 + (i32.store (i32.const 72) (i32.const 60) ) - (i32.store $0 + (i32.store (i32.const 76) (i32.const 166) ) - (i32.store $0 + (i32.store (i32.const 80) (i32.const 55) ) - (i32.store $0 + (i32.store (i32.const 84) (i32.const 183) ) - (i32.store $0 + (i32.store (i32.const 88) (i32.const 150) ) - (i32.store $0 + (i32.store (i32.const 92) (i32.const 73) ) - (i32.store $0 + (i32.store (i32.const 96) (i32.const 196) ) - (i32.store $0 + (i32.store (i32.const 100) (i32.const 143) ) - (i32.store $0 + (i32.store (i32.const 104) (i32.const 76) ) - (i32.store $0 + (i32.store (i32.const 108) (i32.const 182) ) - (i32.store $0 + (i32.store (i32.const 112) (i32.const 97) ) - (i32.store $0 + (i32.store (i32.const 116) (i32.const 140) ) - (i32.store $0 + (i32.store (i32.const 120) (i32.const 126) ) - (i32.store $0 + (i32.store (i32.const 124) (i32.const 3) ) diff --git a/test/example/relooper-fuzz2.txt b/test/example/relooper-fuzz2.txt index abfd0f6ec94..493cc8e34fa 100644 --- a/test/example/relooper-fuzz2.txt +++ b/test/example/relooper-fuzz2.txt @@ -9,17 +9,17 @@ (func $check (result i32) (if (i32.ge_u - (i32.load $0 + (i32.load (i32.const 4) ) (i32.const 108) ) (unreachable) ) - (i32.store $0 + (i32.store (i32.const 4) (i32.add - (i32.load $0 + (i32.load (i32.const 4) ) (i32.const 4) @@ -28,15 +28,15 @@ (call $print (i32.sub (i32.const 0) - (i32.load $0 offset=4 - (i32.load $0 + (i32.load offset=4 + (i32.load (i32.const 4) ) ) ) ) - (i32.load $0 offset=4 - (i32.load $0 + (i32.load offset=4 + (i32.load (i32.const 4) ) ) @@ -44,111 +44,111 @@ (func $main (local $0 i32) (local $1 i32) - (i32.store $0 + (i32.store (i32.const 8) (i32.const 5) ) - (i32.store $0 + (i32.store (i32.const 12) (i32.const 111) ) - (i32.store $0 + (i32.store (i32.const 16) (i32.const 119) ) - (i32.store $0 + (i32.store (i32.const 20) (i32.const 17) ) - (i32.store $0 + (i32.store (i32.const 24) (i32.const 179) ) - (i32.store $0 + (i32.store (i32.const 28) (i32.const 41) ) - (i32.store $0 + (i32.store (i32.const 32) (i32.const 32) ) - (i32.store $0 + (i32.store (i32.const 36) (i32.const 3) ) - (i32.store $0 + (i32.store (i32.const 40) (i32.const 171) ) - (i32.store $0 + (i32.store (i32.const 44) (i32.const 126) ) - (i32.store $0 + (i32.store (i32.const 48) (i32.const 13) ) - (i32.store $0 + (i32.store (i32.const 52) (i32.const 95) ) - (i32.store $0 + (i32.store (i32.const 56) (i32.const 70) ) - (i32.store $0 + (i32.store (i32.const 60) (i32.const 91) ) - (i32.store $0 + (i32.store (i32.const 64) (i32.const 9) ) - (i32.store $0 + (i32.store (i32.const 68) (i32.const 140) ) - (i32.store $0 + (i32.store (i32.const 72) (i32.const 99) ) - (i32.store $0 + (i32.store (i32.const 76) (i32.const 161) ) - (i32.store $0 + (i32.store (i32.const 80) (i32.const 38) ) - (i32.store $0 + (i32.store (i32.const 84) (i32.const 87) ) - (i32.store $0 + (i32.store (i32.const 88) (i32.const 153) ) - (i32.store $0 + (i32.store (i32.const 92) (i32.const 117) ) - (i32.store $0 + (i32.store (i32.const 96) (i32.const 140) ) - (i32.store $0 + (i32.store (i32.const 100) (i32.const 11) ) - (i32.store $0 + (i32.store (i32.const 104) (i32.const 157) ) - (i32.store $0 + (i32.store (i32.const 108) (i32.const 48) ) - (i32.store $0 + (i32.store (i32.const 112) (i32.const 4) ) @@ -163,10 +163,10 @@ ) ) (block - (i32.store $0 + (i32.store (i32.const 4) (i32.add - (i32.load $0 + (i32.load (i32.const 4) ) (i32.const 16) @@ -185,10 +185,10 @@ ) ) (block - (i32.store $0 + (i32.store (i32.const 4) (i32.add - (i32.load $0 + (i32.load (i32.const 4) ) (i32.const 16) diff --git a/test/example/relooper-merge1.txt b/test/example/relooper-merge1.txt index 2de738f85bc..5846d16976c 100644 --- a/test/example/relooper-merge1.txt +++ b/test/example/relooper-merge1.txt @@ -9,17 +9,17 @@ (func $check (result i32) (if (i32.ge_u - (i32.load $0 + (i32.load (i32.const 4) ) (i32.const 48) ) (unreachable) ) - (i32.store $0 + (i32.store (i32.const 4) (i32.add - (i32.load $0 + (i32.load (i32.const 4) ) (i32.const 4) @@ -28,15 +28,15 @@ (call $print (i32.sub (i32.const 0) - (i32.load $0 offset=4 - (i32.load $0 + (i32.load offset=4 + (i32.load (i32.const 4) ) ) ) ) - (i32.load $0 offset=4 - (i32.load $0 + (i32.load offset=4 + (i32.load (i32.const 4) ) ) diff --git a/test/example/relooper-merge2.txt b/test/example/relooper-merge2.txt index 452824ea51c..899f12a4d03 100644 --- a/test/example/relooper-merge2.txt +++ b/test/example/relooper-merge2.txt @@ -9,17 +9,17 @@ (func $check (result i32) (if (i32.ge_u - (i32.load $0 + (i32.load (i32.const 4) ) (i32.const 48) ) (unreachable) ) - (i32.store $0 + (i32.store (i32.const 4) (i32.add - (i32.load $0 + (i32.load (i32.const 4) ) (i32.const 4) @@ -28,15 +28,15 @@ (call $print (i32.sub (i32.const 0) - (i32.load $0 offset=4 - (i32.load $0 + (i32.load offset=4 + (i32.load (i32.const 4) ) ) ) ) - (i32.load $0 offset=4 - (i32.load $0 + (i32.load offset=4 + (i32.load (i32.const 4) ) ) diff --git a/test/example/relooper-merge3.txt b/test/example/relooper-merge3.txt index 4d74ee5ff86..ff6d89c82b0 100644 --- a/test/example/relooper-merge3.txt +++ b/test/example/relooper-merge3.txt @@ -9,17 +9,17 @@ (func $check (result i32) (if (i32.ge_u - (i32.load $0 + (i32.load (i32.const 4) ) (i32.const 48) ) (unreachable) ) - (i32.store $0 + (i32.store (i32.const 4) (i32.add - (i32.load $0 + (i32.load (i32.const 4) ) (i32.const 4) @@ -28,15 +28,15 @@ (call $print (i32.sub (i32.const 0) - (i32.load $0 offset=4 - (i32.load $0 + (i32.load offset=4 + (i32.load (i32.const 4) ) ) ) ) - (i32.load $0 offset=4 - (i32.load $0 + (i32.load offset=4 + (i32.load (i32.const 4) ) ) diff --git a/test/example/relooper-merge4.txt b/test/example/relooper-merge4.txt index 900a3180d7e..59392aad8b3 100644 --- a/test/example/relooper-merge4.txt +++ b/test/example/relooper-merge4.txt @@ -9,17 +9,17 @@ (func $check (result i32) (if (i32.ge_u - (i32.load $0 + (i32.load (i32.const 4) ) (i32.const 48) ) (unreachable) ) - (i32.store $0 + (i32.store (i32.const 4) (i32.add - (i32.load $0 + (i32.load (i32.const 4) ) (i32.const 4) @@ -28,15 +28,15 @@ (call $print (i32.sub (i32.const 0) - (i32.load $0 offset=4 - (i32.load $0 + (i32.load offset=4 + (i32.load (i32.const 4) ) ) ) ) - (i32.load $0 offset=4 - (i32.load $0 + (i32.load offset=4 + (i32.load (i32.const 4) ) ) diff --git a/test/example/relooper-merge5.txt b/test/example/relooper-merge5.txt index 89c4ab03658..5d3156e72fd 100644 --- a/test/example/relooper-merge5.txt +++ b/test/example/relooper-merge5.txt @@ -9,17 +9,17 @@ (func $check (result i32) (if (i32.ge_u - (i32.load $0 + (i32.load (i32.const 4) ) (i32.const 48) ) (unreachable) ) - (i32.store $0 + (i32.store (i32.const 4) (i32.add - (i32.load $0 + (i32.load (i32.const 4) ) (i32.const 4) @@ -28,15 +28,15 @@ (call $print (i32.sub (i32.const 0) - (i32.load $0 offset=4 - (i32.load $0 + (i32.load offset=4 + (i32.load (i32.const 4) ) ) ) ) - (i32.load $0 offset=4 - (i32.load $0 + (i32.load offset=4 + (i32.load (i32.const 4) ) ) diff --git a/test/example/relooper-merge6.txt b/test/example/relooper-merge6.txt index 258510e31c6..e6f5f4627af 100644 --- a/test/example/relooper-merge6.txt +++ b/test/example/relooper-merge6.txt @@ -9,17 +9,17 @@ (func $check (result i32) (if (i32.ge_u - (i32.load $0 + (i32.load (i32.const 4) ) (i32.const 48) ) (unreachable) ) - (i32.store $0 + (i32.store (i32.const 4) (i32.add - (i32.load $0 + (i32.load (i32.const 4) ) (i32.const 4) @@ -28,15 +28,15 @@ (call $print (i32.sub (i32.const 0) - (i32.load $0 offset=4 - (i32.load $0 + (i32.load offset=4 + (i32.load (i32.const 4) ) ) ) ) - (i32.load $0 offset=4 - (i32.load $0 + (i32.load offset=4 + (i32.load (i32.const 4) ) ) diff --git a/test/grow_memory.wast.from-wast b/test/grow_memory.wast.from-wast index fdfa95e93d0..35cf39f0220 100644 --- a/test/grow_memory.wast.from-wast +++ b/test/grow_memory.wast.from-wast @@ -6,11 +6,11 @@ (export "grow" (func $0)) (export "current" (func $1)) (func $0 (param $var$0 i32) (result i32) - (memory.grow $0 + (memory.grow (local.get $var$0) ) ) (func $1 (result i32) - (memory.size $0) + (memory.size) ) ) diff --git a/test/grow_memory.wast.fromBinary b/test/grow_memory.wast.fromBinary index 73720ddccc5..cf616556bca 100644 --- a/test/grow_memory.wast.fromBinary +++ b/test/grow_memory.wast.fromBinary @@ -6,12 +6,12 @@ (export "grow" (func $0)) (export "current" (func $1)) (func $0 (param $var$0 i32) (result i32) - (memory.grow $0 + (memory.grow (local.get $var$0) ) ) (func $1 (result i32) - (memory.size $0) + (memory.size) ) ) diff --git a/test/grow_memory.wast.fromBinary.noDebugInfo b/test/grow_memory.wast.fromBinary.noDebugInfo index 3870418152f..1f1addc33ec 100644 --- a/test/grow_memory.wast.fromBinary.noDebugInfo +++ b/test/grow_memory.wast.fromBinary.noDebugInfo @@ -6,12 +6,12 @@ (export "grow" (func $0)) (export "current" (func $1)) (func $0 (param $0 i32) (result i32) - (memory.grow $0 + (memory.grow (local.get $0) ) ) (func $1 (result i32) - (memory.size $0) + (memory.size) ) ) diff --git a/test/lit/passes/O1.wast b/test/lit/passes/O1.wast index 94ba249a969..9821a21bf00 100644 --- a/test/lit/passes/O1.wast +++ b/test/lit/passes/O1.wast @@ -37,7 +37,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load $0 align=1 +;; CHECK-NEXT: (i32.load align=1 ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/O3_inlining.wast b/test/lit/passes/O3_inlining.wast index c0f5b259c74..0acb210454e 100644 --- a/test/lit/passes/O3_inlining.wast +++ b/test/lit/passes/O3_inlining.wast @@ -48,7 +48,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz - ;; CHECK-NEXT: (i32.load16_u $0 + ;; CHECK-NEXT: (i32.load16_u ;; CHECK-NEXT: (i32.const 3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/O4_disable-bulk-memory.wast b/test/lit/passes/O4_disable-bulk-memory.wast index dec04f43c4d..8200df5a35d 100644 --- a/test/lit/passes/O4_disable-bulk-memory.wast +++ b/test/lit/passes/O4_disable-bulk-memory.wast @@ -254,14 +254,14 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (memory.size $1) + ;; CHECK-NEXT: (memory.size) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_s - ;; CHECK-NEXT: (memory.grow $1 + ;; CHECK-NEXT: (memory.grow ;; CHECK-NEXT: (select ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (local.tee $3 @@ -289,7 +289,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_s - ;; CHECK-NEXT: (memory.grow $1 + ;; CHECK-NEXT: (memory.grow ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 0) @@ -545,7 +545,7 @@ ) ;; CHECK: (func $assembly/index/Body#constructor (; has Stack IR ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 f64) (param $4 f64) (param $5 f64) (param $6 f64) (result i32) ;; CHECK-NEXT: (local $7 i32) - ;; CHECK-NEXT: (f64.store $1 + ;; CHECK-NEXT: (f64.store ;; CHECK-NEXT: (local.tee $7 ;; CHECK-NEXT: (call $~lib/allocator/arena/__memory_allocate ;; CHECK-NEXT: (i32.const 56) @@ -553,27 +553,27 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (f64.store $1 offset=8 + ;; CHECK-NEXT: (f64.store offset=8 ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (f64.store $1 offset=16 + ;; CHECK-NEXT: (f64.store offset=16 ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (f64.store $1 offset=24 + ;; CHECK-NEXT: (f64.store offset=24 ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (f64.store $1 offset=32 + ;; CHECK-NEXT: (f64.store offset=32 ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (f64.store $1 offset=40 + ;; CHECK-NEXT: (f64.store offset=40 ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (f64.store $1 offset=48 + ;; CHECK-NEXT: (f64.store offset=48 ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) @@ -1260,7 +1260,7 @@ ;; CHECK-NEXT: (local $5 f64) ;; CHECK-NEXT: (local $6 f64) ;; CHECK-NEXT: (local $7 f64) - ;; CHECK-NEXT: (i32.store $1 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (call $~lib/allocator/arena/__memory_allocate ;; CHECK-NEXT: (i32.const 32) @@ -1268,7 +1268,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 20) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $1 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.tee $2 ;; CHECK-NEXT: (call $~lib/allocator/arena/__memory_allocate ;; CHECK-NEXT: (i32.const 8) @@ -1276,19 +1276,19 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $1 offset=4 + ;; CHECK-NEXT: (i32.store offset=4 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $1 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $1 offset=4 + ;; CHECK-NEXT: (i32.store offset=4 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.const 5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $1 + ;; CHECK-NEXT: (i32.store8 ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) @@ -1297,7 +1297,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $1 + ;; CHECK-NEXT: (i32.store8 ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (local.tee $1 ;; CHECK-NEXT: (i32.add @@ -1309,49 +1309,49 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $1 + ;; CHECK-NEXT: (i32.store8 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $1 + ;; CHECK-NEXT: (i32.store8 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $1 + ;; CHECK-NEXT: (i32.store8 ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $1 + ;; CHECK-NEXT: (i32.store8 ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (i32.const 3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $1 + ;; CHECK-NEXT: (i32.store8 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $1 + ;; CHECK-NEXT: (i32.store8 ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $1 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.tee $1 @@ -1368,7 +1368,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $1 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.tee $1 @@ -1393,21 +1393,21 @@ ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $1 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $1 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $1 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (local.tee $3 ;; CHECK-NEXT: (i32.add @@ -1419,7 +1419,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $1 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (i32.const 8) @@ -1432,35 +1432,35 @@ ;; CHECK-NEXT: (i32.const 24) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $1 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 12) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $1 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $1 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 20) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $1 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 24) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $1 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (local.tee $3 ;; CHECK-NEXT: (i32.add @@ -1472,21 +1472,21 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $1 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (i32.const 24) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $1 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (i32.const 20) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $1 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (i32.const 16) @@ -1520,25 +1520,25 @@ ;; CHECK-NEXT: (i32.const 32) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i64.store $1 + ;; CHECK-NEXT: (i64.store ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i64.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i64.store $1 + ;; CHECK-NEXT: (i64.store ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i64.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i64.store $1 + ;; CHECK-NEXT: (i64.store ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i64.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i64.store $1 + ;; CHECK-NEXT: (i64.store ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 24) @@ -1573,8 +1573,8 @@ ;; CHECK-NEXT: (f64.const 39.47841760435743) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $1 offset=8 - ;; CHECK-NEXT: (i32.load $1 + ;; CHECK-NEXT: (i32.store offset=8 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) @@ -1590,9 +1590,9 @@ ;; CHECK-NEXT: (f64.const 0.03769367487038949) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $1 offset=8 + ;; CHECK-NEXT: (i32.store offset=8 ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $1 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -1610,9 +1610,9 @@ ;; CHECK-NEXT: (f64.const 0.011286326131968767) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $1 offset=8 + ;; CHECK-NEXT: (i32.store offset=8 ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $1 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -1630,9 +1630,9 @@ ;; CHECK-NEXT: (f64.const 1.7237240570597112e-03) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $1 offset=8 + ;; CHECK-NEXT: (i32.store offset=8 ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $1 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 12) @@ -1650,9 +1650,9 @@ ;; CHECK-NEXT: (f64.const 2.0336868699246304e-03) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $1 offset=8 + ;; CHECK-NEXT: (i32.store offset=8 ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $1 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) @@ -1663,7 +1663,7 @@ ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $3 - ;; CHECK-NEXT: (i32.load $1 offset=4 + ;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1675,11 +1675,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $4 - ;; CHECK-NEXT: (f64.load $1 offset=48 + ;; CHECK-NEXT: (f64.load offset=48 ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load $1 offset=8 + ;; CHECK-NEXT: (i32.load offset=8 ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $1 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl @@ -1695,7 +1695,7 @@ ;; CHECK-NEXT: (f64.add ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (f64.mul - ;; CHECK-NEXT: (f64.load $1 offset=24 + ;; CHECK-NEXT: (f64.load offset=24 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $4) @@ -1706,7 +1706,7 @@ ;; CHECK-NEXT: (f64.add ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (f64.mul - ;; CHECK-NEXT: (f64.load $1 offset=32 + ;; CHECK-NEXT: (f64.load offset=32 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $4) @@ -1717,7 +1717,7 @@ ;; CHECK-NEXT: (f64.add ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: (f64.mul - ;; CHECK-NEXT: (f64.load $1 offset=40 + ;; CHECK-NEXT: (f64.load offset=40 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $4) @@ -1734,20 +1734,20 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (f64.store $1 offset=24 + ;; CHECK-NEXT: (f64.store offset=24 ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (if (result i32) ;; CHECK-NEXT: (i32.shr_u - ;; CHECK-NEXT: (i32.load $1 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $0 - ;; CHECK-NEXT: (i32.load $1 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load $1 offset=8 + ;; CHECK-NEXT: (i32.load offset=8 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (unreachable) @@ -1758,21 +1758,21 @@ ;; CHECK-NEXT: (f64.const -39.47841760435743) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (f64.store $1 offset=32 + ;; CHECK-NEXT: (f64.store offset=32 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (f64.div ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (f64.const -39.47841760435743) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (f64.store $1 offset=40 + ;; CHECK-NEXT: (f64.store offset=40 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (f64.div ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: (f64.const -39.47841760435743) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $1 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (call $~lib/allocator/arena/__memory_allocate ;; CHECK-NEXT: (i32.const 4) @@ -1845,9 +1845,9 @@ ;; CHECK-NEXT: (local $16 f64) ;; CHECK-NEXT: (local $17 f64) ;; CHECK-NEXT: (local.set $13 - ;; CHECK-NEXT: (i32.load $1 offset=4 + ;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (local.tee $12 - ;; CHECK-NEXT: (i32.load $1 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1861,11 +1861,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $14 - ;; CHECK-NEXT: (f64.load $1 + ;; CHECK-NEXT: (f64.load ;; CHECK-NEXT: (local.tee $0 - ;; CHECK-NEXT: (i32.load $1 offset=8 + ;; CHECK-NEXT: (i32.load offset=8 ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $1 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl @@ -1878,32 +1878,32 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $15 - ;; CHECK-NEXT: (f64.load $1 offset=8 + ;; CHECK-NEXT: (f64.load offset=8 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $16 - ;; CHECK-NEXT: (f64.load $1 offset=16 + ;; CHECK-NEXT: (f64.load offset=16 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $4 - ;; CHECK-NEXT: (f64.load $1 offset=24 + ;; CHECK-NEXT: (f64.load offset=24 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $5 - ;; CHECK-NEXT: (f64.load $1 offset=32 + ;; CHECK-NEXT: (f64.load offset=32 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $6 - ;; CHECK-NEXT: (f64.load $1 offset=40 + ;; CHECK-NEXT: (f64.load offset=40 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $17 - ;; CHECK-NEXT: (f64.load $1 offset=48 + ;; CHECK-NEXT: (f64.load offset=48 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1934,11 +1934,11 @@ ;; CHECK-NEXT: (local.tee $9 ;; CHECK-NEXT: (f64.sub ;; CHECK-NEXT: (local.get $14) - ;; CHECK-NEXT: (f64.load $1 + ;; CHECK-NEXT: (f64.load ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load $1 offset=8 + ;; CHECK-NEXT: (i32.load offset=8 ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $1 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl @@ -1957,7 +1957,7 @@ ;; CHECK-NEXT: (local.tee $10 ;; CHECK-NEXT: (f64.sub ;; CHECK-NEXT: (local.get $15) - ;; CHECK-NEXT: (f64.load $1 offset=8 + ;; CHECK-NEXT: (f64.load offset=8 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1969,7 +1969,7 @@ ;; CHECK-NEXT: (local.tee $11 ;; CHECK-NEXT: (f64.sub ;; CHECK-NEXT: (local.get $16) - ;; CHECK-NEXT: (f64.load $1 offset=16 + ;; CHECK-NEXT: (f64.load offset=16 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1993,7 +1993,7 @@ ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: (local.tee $8 ;; CHECK-NEXT: (f64.mul - ;; CHECK-NEXT: (f64.load $1 offset=48 + ;; CHECK-NEXT: (f64.load offset=48 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $8) @@ -2020,10 +2020,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (f64.store $1 offset=24 + ;; CHECK-NEXT: (f64.store offset=24 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (f64.add - ;; CHECK-NEXT: (f64.load $1 offset=24 + ;; CHECK-NEXT: (f64.load offset=24 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (f64.mul @@ -2032,10 +2032,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (f64.store $1 offset=32 + ;; CHECK-NEXT: (f64.store offset=32 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (f64.add - ;; CHECK-NEXT: (f64.load $1 offset=32 + ;; CHECK-NEXT: (f64.load offset=32 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (f64.mul @@ -2044,10 +2044,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (f64.store $1 offset=40 + ;; CHECK-NEXT: (f64.store offset=40 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (f64.add - ;; CHECK-NEXT: (f64.load $1 offset=40 + ;; CHECK-NEXT: (f64.load offset=40 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (f64.mul @@ -2066,22 +2066,22 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (f64.store $1 offset=24 + ;; CHECK-NEXT: (f64.store offset=24 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (f64.store $1 offset=32 + ;; CHECK-NEXT: (f64.store offset=32 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (f64.store $1 offset=40 + ;; CHECK-NEXT: (f64.store offset=40 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (f64.store $1 + ;; CHECK-NEXT: (f64.store ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (f64.add - ;; CHECK-NEXT: (f64.load $1 + ;; CHECK-NEXT: (f64.load ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (f64.mul @@ -2090,10 +2090,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (f64.store $1 offset=8 + ;; CHECK-NEXT: (f64.store offset=8 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (f64.add - ;; CHECK-NEXT: (f64.load $1 offset=8 + ;; CHECK-NEXT: (f64.load offset=8 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (f64.mul @@ -2102,10 +2102,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (f64.store $1 offset=16 + ;; CHECK-NEXT: (f64.store offset=16 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (f64.add - ;; CHECK-NEXT: (f64.load $1 offset=16 + ;; CHECK-NEXT: (f64.load offset=16 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (f64.mul @@ -2692,9 +2692,9 @@ ;; CHECK-NEXT: (global.get $global$5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $5 - ;; CHECK-NEXT: (i32.load $1 offset=4 + ;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (local.tee $4 - ;; CHECK-NEXT: (i32.load $1 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $global$5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -2708,11 +2708,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $7 - ;; CHECK-NEXT: (f64.load $1 + ;; CHECK-NEXT: (f64.load ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load $1 offset=8 + ;; CHECK-NEXT: (i32.load offset=8 ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $1 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl @@ -2725,12 +2725,12 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $8 - ;; CHECK-NEXT: (f64.load $1 offset=8 + ;; CHECK-NEXT: (f64.load offset=8 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $9 - ;; CHECK-NEXT: (f64.load $1 offset=16 + ;; CHECK-NEXT: (f64.load offset=16 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -2740,7 +2740,7 @@ ;; CHECK-NEXT: (f64.mul ;; CHECK-NEXT: (f64.mul ;; CHECK-NEXT: (local.tee $10 - ;; CHECK-NEXT: (f64.load $1 offset=48 + ;; CHECK-NEXT: (f64.load offset=48 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -2750,7 +2750,7 @@ ;; CHECK-NEXT: (f64.add ;; CHECK-NEXT: (f64.mul ;; CHECK-NEXT: (local.tee $0 - ;; CHECK-NEXT: (f64.load $1 offset=24 + ;; CHECK-NEXT: (f64.load offset=24 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -2758,7 +2758,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (f64.mul ;; CHECK-NEXT: (local.tee $0 - ;; CHECK-NEXT: (f64.load $1 offset=32 + ;; CHECK-NEXT: (f64.load offset=32 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -2767,7 +2767,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (f64.mul ;; CHECK-NEXT: (local.tee $0 - ;; CHECK-NEXT: (f64.load $1 offset=40 + ;; CHECK-NEXT: (f64.load offset=40 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -2793,11 +2793,11 @@ ;; CHECK-NEXT: (local.set $6 ;; CHECK-NEXT: (f64.sub ;; CHECK-NEXT: (local.get $7) - ;; CHECK-NEXT: (f64.load $1 + ;; CHECK-NEXT: (f64.load ;; CHECK-NEXT: (local.tee $3 - ;; CHECK-NEXT: (i32.load $1 offset=8 + ;; CHECK-NEXT: (i32.load offset=8 ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $1 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl @@ -2816,7 +2816,7 @@ ;; CHECK-NEXT: (f64.div ;; CHECK-NEXT: (f64.mul ;; CHECK-NEXT: (local.get $10) - ;; CHECK-NEXT: (f64.load $1 offset=48 + ;; CHECK-NEXT: (f64.load offset=48 ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -2831,7 +2831,7 @@ ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (f64.sub ;; CHECK-NEXT: (local.get $8) - ;; CHECK-NEXT: (f64.load $1 offset=8 + ;; CHECK-NEXT: (f64.load offset=8 ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -2843,7 +2843,7 @@ ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (f64.sub ;; CHECK-NEXT: (local.get $9) - ;; CHECK-NEXT: (f64.load $1 offset=16 + ;; CHECK-NEXT: (f64.load offset=16 ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -2943,9 +2943,9 @@ ;; CHECK-NEXT: (if (result i32) ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $0) - ;; CHECK-NEXT: (i32.load $1 offset=4 + ;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load $1 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $global$5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -2955,9 +2955,9 @@ ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.shr_u - ;; CHECK-NEXT: (i32.load $1 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load $1 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -2965,7 +2965,7 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load $1 offset=8 + ;; CHECK-NEXT: (i32.load offset=8 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (i32.shl ;; CHECK-NEXT: (local.get $0) diff --git a/test/lit/passes/Oz.wast b/test/lit/passes/Oz.wast index eba07b12ebd..59bfe46c30d 100644 --- a/test/lit/passes/Oz.wast +++ b/test/lit/passes/Oz.wast @@ -60,7 +60,7 @@ (i32.add (local.get $x2) (local.get $y2)) ) ;; CHECK: (func $8 (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $1) @@ -68,16 +68,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -75) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) diff --git a/test/lit/passes/alignment-lowering.wast b/test/lit/passes/alignment-lowering.wast index e321fd0c4cf..9875f9adf82 100644 --- a/test/lit/passes/alignment-lowering.wast +++ b/test/lit/passes/alignment-lowering.wast @@ -22,7 +22,7 @@ ;; CHECK-NEXT: (local $10 i32) ;; CHECK-NEXT: (local $11 i32) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -33,11 +33,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load8_u $0 + ;; CHECK-NEXT: (i32.load8_u ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=1 + ;; CHECK-NEXT: (i32.load8_u offset=1 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -45,13 +45,13 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=2 + ;; CHECK-NEXT: (i32.load8_u offset=2 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=3 + ;; CHECK-NEXT: (i32.load8_u offset=3 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 24) @@ -66,11 +66,11 @@ ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load16_u $0 + ;; CHECK-NEXT: (i32.load16_u ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load16_u $0 offset=2 + ;; CHECK-NEXT: (i32.load16_u offset=2 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) @@ -79,12 +79,12 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load $0 offset=100 + ;; CHECK-NEXT: (i32.load offset=100 ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -95,11 +95,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load8_u $0 offset=100 + ;; CHECK-NEXT: (i32.load8_u offset=100 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=101 + ;; CHECK-NEXT: (i32.load8_u offset=101 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -107,13 +107,13 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=102 + ;; CHECK-NEXT: (i32.load8_u offset=102 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=103 + ;; CHECK-NEXT: (i32.load8_u offset=103 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 24) @@ -128,11 +128,11 @@ ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load16_u $0 offset=100 + ;; CHECK-NEXT: (i32.load16_u offset=100 ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load16_u $0 offset=102 + ;; CHECK-NEXT: (i32.load16_u offset=102 ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) @@ -141,14 +141,14 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load $0 offset=100 + ;; CHECK-NEXT: (i32.load offset=100 ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) @@ -159,25 +159,25 @@ ;; CHECK-NEXT: (local.set $5 ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 + ;; CHECK-NEXT: (i32.store8 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=1 + ;; CHECK-NEXT: (i32.store8 offset=1 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=2 + ;; CHECK-NEXT: (i32.store8 offset=2 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=3 + ;; CHECK-NEXT: (i32.store8 offset=3 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $5) @@ -192,11 +192,11 @@ ;; CHECK-NEXT: (local.set $7 ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 $0 + ;; CHECK-NEXT: (i32.store16 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 $0 offset=2 + ;; CHECK-NEXT: (i32.store16 offset=2 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $7) @@ -204,11 +204,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=100 + ;; CHECK-NEXT: (i32.store offset=100 ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) @@ -219,25 +219,25 @@ ;; CHECK-NEXT: (local.set $9 ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=100 + ;; CHECK-NEXT: (i32.store8 offset=100 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=101 + ;; CHECK-NEXT: (i32.store8 offset=101 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=102 + ;; CHECK-NEXT: (i32.store8 offset=102 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=103 + ;; CHECK-NEXT: (i32.store8 offset=103 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $9) @@ -252,11 +252,11 @@ ;; CHECK-NEXT: (local.set $11 ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 $0 offset=100 + ;; CHECK-NEXT: (i32.store16 offset=100 ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 $0 offset=102 + ;; CHECK-NEXT: (i32.store16 offset=102 ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $11) @@ -264,7 +264,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=100 + ;; CHECK-NEXT: (i32.store offset=100 ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) @@ -314,7 +314,7 @@ ;; CHECK-NEXT: (local $4 i32) ;; CHECK-NEXT: (local $5 i32) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load16_u $0 + ;; CHECK-NEXT: (i32.load16_u ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -324,11 +324,11 @@ ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load8_u $0 + ;; CHECK-NEXT: (i32.load8_u ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=1 + ;; CHECK-NEXT: (i32.load8_u offset=1 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -337,12 +337,12 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load16_u $0 + ;; CHECK-NEXT: (i32.load16_u ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load16_u $0 offset=100 + ;; CHECK-NEXT: (i32.load16_u offset=100 ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -352,11 +352,11 @@ ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load8_u $0 offset=100 + ;; CHECK-NEXT: (i32.load8_u offset=100 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=101 + ;; CHECK-NEXT: (i32.load8_u offset=101 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -365,14 +365,14 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load16_u $0 offset=100 + ;; CHECK-NEXT: (i32.load16_u offset=100 ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 $0 + ;; CHECK-NEXT: (i32.store16 ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) @@ -383,11 +383,11 @@ ;; CHECK-NEXT: (local.set $3 ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 + ;; CHECK-NEXT: (i32.store8 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=1 + ;; CHECK-NEXT: (i32.store8 offset=1 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $3) @@ -395,11 +395,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 $0 + ;; CHECK-NEXT: (i32.store16 ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 $0 offset=100 + ;; CHECK-NEXT: (i32.store16 offset=100 ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) @@ -410,11 +410,11 @@ ;; CHECK-NEXT: (local.set $5 ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=100 + ;; CHECK-NEXT: (i32.store8 offset=100 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=101 + ;; CHECK-NEXT: (i32.store8 offset=101 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $5) @@ -422,7 +422,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 $0 offset=100 + ;; CHECK-NEXT: (i32.store16 offset=100 ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) @@ -462,41 +462,41 @@ ) ;; CHECK: (func $func_1 ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load8_u $0 + ;; CHECK-NEXT: (i32.load8_u ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load8_u $0 + ;; CHECK-NEXT: (i32.load8_u ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load8_u $0 offset=100 + ;; CHECK-NEXT: (i32.load8_u offset=100 ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load8_u $0 offset=100 + ;; CHECK-NEXT: (i32.load8_u offset=100 ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 + ;; CHECK-NEXT: (i32.store8 ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 + ;; CHECK-NEXT: (i32.store8 ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=100 + ;; CHECK-NEXT: (i32.store8 offset=100 ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=100 + ;; CHECK-NEXT: (i32.store8 offset=100 ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) @@ -534,7 +534,7 @@ ;; CHECK-NEXT: (local $0 i32) ;; CHECK-NEXT: (local $1 i32) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load16_s $0 + ;; CHECK-NEXT: (i32.load16_s ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -546,11 +546,11 @@ ;; CHECK-NEXT: (i32.shr_s ;; CHECK-NEXT: (i32.shl ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load8_u $0 + ;; CHECK-NEXT: (i32.load8_u ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=1 + ;; CHECK-NEXT: (i32.load8_u offset=1 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -563,12 +563,12 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load16_s $0 + ;; CHECK-NEXT: (i32.load16_s ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load16_s $0 offset=100 + ;; CHECK-NEXT: (i32.load16_s offset=100 ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -580,11 +580,11 @@ ;; CHECK-NEXT: (i32.shr_s ;; CHECK-NEXT: (i32.shl ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load8_u $0 offset=100 + ;; CHECK-NEXT: (i32.load8_u offset=100 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=101 + ;; CHECK-NEXT: (i32.load8_u offset=101 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -597,7 +597,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load16_s $0 offset=100 + ;; CHECK-NEXT: (i32.load16_s offset=100 ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -642,11 +642,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load8_u $0 + ;; CHECK-NEXT: (i32.load8_u ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=1 + ;; CHECK-NEXT: (i32.load8_u offset=1 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -654,13 +654,13 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=2 + ;; CHECK-NEXT: (i32.load8_u offset=2 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=3 + ;; CHECK-NEXT: (i32.load8_u offset=3 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 24) @@ -677,11 +677,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load8_u $0 offset=4 + ;; CHECK-NEXT: (i32.load8_u offset=4 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=5 + ;; CHECK-NEXT: (i32.load8_u offset=5 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -689,13 +689,13 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=6 + ;; CHECK-NEXT: (i32.load8_u offset=6 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=7 + ;; CHECK-NEXT: (i32.load8_u offset=7 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 24) @@ -721,11 +721,11 @@ ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load16_u $0 + ;; CHECK-NEXT: (i32.load16_u ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load16_u $0 offset=2 + ;; CHECK-NEXT: (i32.load16_u offset=2 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) @@ -740,11 +740,11 @@ ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load16_u $0 offset=4 + ;; CHECK-NEXT: (i32.load16_u offset=4 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load16_u $0 offset=6 + ;; CHECK-NEXT: (i32.load16_u offset=6 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) @@ -764,13 +764,13 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i64.or ;; CHECK-NEXT: (i64.extend_i32_u - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i64.shl ;; CHECK-NEXT: (i64.extend_i32_u - ;; CHECK-NEXT: (i32.load $0 offset=4 + ;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -792,11 +792,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load8_u $0 offset=3 + ;; CHECK-NEXT: (i32.load8_u offset=3 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=4 + ;; CHECK-NEXT: (i32.load8_u offset=4 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -804,13 +804,13 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=5 + ;; CHECK-NEXT: (i32.load8_u offset=5 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=6 + ;; CHECK-NEXT: (i32.load8_u offset=6 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 24) @@ -827,11 +827,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load8_u $0 offset=7 + ;; CHECK-NEXT: (i32.load8_u offset=7 ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=8 + ;; CHECK-NEXT: (i32.load8_u offset=8 ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -839,13 +839,13 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=9 + ;; CHECK-NEXT: (i32.load8_u offset=9 ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=10 + ;; CHECK-NEXT: (i32.load8_u offset=10 ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 24) @@ -868,11 +868,11 @@ ;; CHECK-NEXT: (i32.shr_s ;; CHECK-NEXT: (i32.shl ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load8_u $0 + ;; CHECK-NEXT: (i32.load8_u ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=1 + ;; CHECK-NEXT: (i32.load8_u offset=1 ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -893,11 +893,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load8_u $0 + ;; CHECK-NEXT: (i32.load8_u ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=1 + ;; CHECK-NEXT: (i32.load8_u offset=1 ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -905,13 +905,13 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=2 + ;; CHECK-NEXT: (i32.load8_u offset=2 ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=3 + ;; CHECK-NEXT: (i32.load8_u offset=3 ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 24) @@ -928,11 +928,11 @@ ;; CHECK-NEXT: (i32.const 40) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load8_u $0 + ;; CHECK-NEXT: (i32.load8_u ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=1 + ;; CHECK-NEXT: (i32.load8_u offset=1 ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -949,11 +949,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load8_u $0 + ;; CHECK-NEXT: (i32.load8_u ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=1 + ;; CHECK-NEXT: (i32.load8_u offset=1 ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -961,13 +961,13 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=2 + ;; CHECK-NEXT: (i32.load8_u offset=2 ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=3 + ;; CHECK-NEXT: (i32.load8_u offset=3 ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 24) @@ -1000,11 +1000,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load8_u $0 + ;; CHECK-NEXT: (i32.load8_u ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=1 + ;; CHECK-NEXT: (i32.load8_u offset=1 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -1012,13 +1012,13 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=2 + ;; CHECK-NEXT: (i32.load8_u offset=2 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=3 + ;; CHECK-NEXT: (i32.load8_u offset=3 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 24) @@ -1035,11 +1035,11 @@ ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load16_u $0 + ;; CHECK-NEXT: (i32.load16_u ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load16_u $0 offset=2 + ;; CHECK-NEXT: (i32.load16_u offset=2 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) @@ -1056,11 +1056,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load8_u $0 offset=3 + ;; CHECK-NEXT: (i32.load8_u offset=3 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=4 + ;; CHECK-NEXT: (i32.load8_u offset=4 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -1068,13 +1068,13 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=5 + ;; CHECK-NEXT: (i32.load8_u offset=5 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=6 + ;; CHECK-NEXT: (i32.load8_u offset=6 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 24) @@ -1115,11 +1115,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load8_u $0 + ;; CHECK-NEXT: (i32.load8_u ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=1 + ;; CHECK-NEXT: (i32.load8_u offset=1 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -1127,13 +1127,13 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=2 + ;; CHECK-NEXT: (i32.load8_u offset=2 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=3 + ;; CHECK-NEXT: (i32.load8_u offset=3 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 24) @@ -1150,11 +1150,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load8_u $0 offset=4 + ;; CHECK-NEXT: (i32.load8_u offset=4 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=5 + ;; CHECK-NEXT: (i32.load8_u offset=5 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -1162,13 +1162,13 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=6 + ;; CHECK-NEXT: (i32.load8_u offset=6 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=7 + ;; CHECK-NEXT: (i32.load8_u offset=7 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 24) @@ -1196,11 +1196,11 @@ ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load16_u $0 + ;; CHECK-NEXT: (i32.load16_u ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load16_u $0 offset=2 + ;; CHECK-NEXT: (i32.load16_u offset=2 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) @@ -1215,11 +1215,11 @@ ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load16_u $0 offset=4 + ;; CHECK-NEXT: (i32.load16_u offset=4 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load16_u $0 offset=6 + ;; CHECK-NEXT: (i32.load16_u offset=6 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) @@ -1241,13 +1241,13 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i64.or ;; CHECK-NEXT: (i64.extend_i32_u - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i64.shl ;; CHECK-NEXT: (i64.extend_i32_u - ;; CHECK-NEXT: (i32.load $0 offset=4 + ;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1271,11 +1271,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load8_u $0 offset=3 + ;; CHECK-NEXT: (i32.load8_u offset=3 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=4 + ;; CHECK-NEXT: (i32.load8_u offset=4 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -1283,13 +1283,13 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=5 + ;; CHECK-NEXT: (i32.load8_u offset=5 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=6 + ;; CHECK-NEXT: (i32.load8_u offset=6 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 24) @@ -1306,11 +1306,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load8_u $0 offset=7 + ;; CHECK-NEXT: (i32.load8_u offset=7 ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=8 + ;; CHECK-NEXT: (i32.load8_u offset=8 ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -1318,13 +1318,13 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=9 + ;; CHECK-NEXT: (i32.load8_u offset=9 ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=10 + ;; CHECK-NEXT: (i32.load8_u offset=10 ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 24) @@ -1387,25 +1387,25 @@ ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 + ;; CHECK-NEXT: (i32.store8 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=1 + ;; CHECK-NEXT: (i32.store8 offset=1 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=2 + ;; CHECK-NEXT: (i32.store8 offset=2 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=3 + ;; CHECK-NEXT: (i32.store8 offset=3 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $3) @@ -1425,25 +1425,25 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=4 + ;; CHECK-NEXT: (i32.store8 offset=4 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=5 + ;; CHECK-NEXT: (i32.store8 offset=5 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=6 + ;; CHECK-NEXT: (i32.store8 offset=6 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=7 + ;; CHECK-NEXT: (i32.store8 offset=7 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $5) @@ -1468,11 +1468,11 @@ ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 $0 + ;; CHECK-NEXT: (i32.store16 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 $0 offset=2 + ;; CHECK-NEXT: (i32.store16 offset=2 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $9) @@ -1492,11 +1492,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 $0 offset=4 + ;; CHECK-NEXT: (i32.store16 offset=4 ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 $0 offset=6 + ;; CHECK-NEXT: (i32.store16 offset=6 ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $11) @@ -1512,13 +1512,13 @@ ;; CHECK-NEXT: (local.set $13 ;; CHECK-NEXT: (i64.const 300) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: (i32.wrap_i64 ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=4 + ;; CHECK-NEXT: (i32.store offset=4 ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: (i32.wrap_i64 ;; CHECK-NEXT: (i64.shr_u @@ -1544,25 +1544,25 @@ ;; CHECK-NEXT: (local.get $15) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=3 + ;; CHECK-NEXT: (i32.store8 offset=3 ;; CHECK-NEXT: (local.get $16) ;; CHECK-NEXT: (local.get $17) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=4 + ;; CHECK-NEXT: (i32.store8 offset=4 ;; CHECK-NEXT: (local.get $16) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $17) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=5 + ;; CHECK-NEXT: (i32.store8 offset=5 ;; CHECK-NEXT: (local.get $16) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $17) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=6 + ;; CHECK-NEXT: (i32.store8 offset=6 ;; CHECK-NEXT: (local.get $16) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $17) @@ -1582,25 +1582,25 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=7 + ;; CHECK-NEXT: (i32.store8 offset=7 ;; CHECK-NEXT: (local.get $18) ;; CHECK-NEXT: (local.get $19) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=8 + ;; CHECK-NEXT: (i32.store8 offset=8 ;; CHECK-NEXT: (local.get $18) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $19) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=9 + ;; CHECK-NEXT: (i32.store8 offset=9 ;; CHECK-NEXT: (local.get $18) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $19) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=10 + ;; CHECK-NEXT: (i32.store8 offset=10 ;; CHECK-NEXT: (local.get $18) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $19) @@ -1618,11 +1618,11 @@ ;; CHECK-NEXT: (i64.const 600) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 + ;; CHECK-NEXT: (i32.store8 ;; CHECK-NEXT: (local.get $20) ;; CHECK-NEXT: (local.get $21) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=1 + ;; CHECK-NEXT: (i32.store8 offset=1 ;; CHECK-NEXT: (local.get $20) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $21) @@ -1639,25 +1639,25 @@ ;; CHECK-NEXT: (i64.const 700) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 + ;; CHECK-NEXT: (i32.store8 ;; CHECK-NEXT: (local.get $22) ;; CHECK-NEXT: (local.get $23) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=1 + ;; CHECK-NEXT: (i32.store8 offset=1 ;; CHECK-NEXT: (local.get $22) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $23) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=2 + ;; CHECK-NEXT: (i32.store8 offset=2 ;; CHECK-NEXT: (local.get $22) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $23) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=3 + ;; CHECK-NEXT: (i32.store8 offset=3 ;; CHECK-NEXT: (local.get $22) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $23) @@ -1690,25 +1690,25 @@ ;; CHECK-NEXT: (f32.const 100) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 + ;; CHECK-NEXT: (i32.store8 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=1 + ;; CHECK-NEXT: (i32.store8 offset=1 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=2 + ;; CHECK-NEXT: (i32.store8 offset=2 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=3 + ;; CHECK-NEXT: (i32.store8 offset=3 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $1) @@ -1725,11 +1725,11 @@ ;; CHECK-NEXT: (f32.const 200) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 $0 + ;; CHECK-NEXT: (i32.store16 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 $0 offset=2 + ;; CHECK-NEXT: (i32.store16 offset=2 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $3) @@ -1746,25 +1746,25 @@ ;; CHECK-NEXT: (f32.const 400) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=3 + ;; CHECK-NEXT: (i32.store8 offset=3 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=4 + ;; CHECK-NEXT: (i32.store8 offset=4 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=5 + ;; CHECK-NEXT: (i32.store8 offset=5 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=6 + ;; CHECK-NEXT: (i32.store8 offset=6 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $5) @@ -1817,25 +1817,25 @@ ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 + ;; CHECK-NEXT: (i32.store8 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=1 + ;; CHECK-NEXT: (i32.store8 offset=1 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=2 + ;; CHECK-NEXT: (i32.store8 offset=2 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=3 + ;; CHECK-NEXT: (i32.store8 offset=3 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $3) @@ -1855,25 +1855,25 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=4 + ;; CHECK-NEXT: (i32.store8 offset=4 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=5 + ;; CHECK-NEXT: (i32.store8 offset=5 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=6 + ;; CHECK-NEXT: (i32.store8 offset=6 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=7 + ;; CHECK-NEXT: (i32.store8 offset=7 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $5) @@ -1900,11 +1900,11 @@ ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 $0 + ;; CHECK-NEXT: (i32.store16 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 $0 offset=2 + ;; CHECK-NEXT: (i32.store16 offset=2 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $9) @@ -1924,11 +1924,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 $0 offset=4 + ;; CHECK-NEXT: (i32.store16 offset=4 ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 $0 offset=6 + ;; CHECK-NEXT: (i32.store16 offset=6 ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $11) @@ -1946,13 +1946,13 @@ ;; CHECK-NEXT: (f64.const 300) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: (i32.wrap_i64 ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=4 + ;; CHECK-NEXT: (i32.store offset=4 ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: (i32.wrap_i64 ;; CHECK-NEXT: (i64.shr_u @@ -1980,25 +1980,25 @@ ;; CHECK-NEXT: (local.get $15) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=3 + ;; CHECK-NEXT: (i32.store8 offset=3 ;; CHECK-NEXT: (local.get $16) ;; CHECK-NEXT: (local.get $17) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=4 + ;; CHECK-NEXT: (i32.store8 offset=4 ;; CHECK-NEXT: (local.get $16) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $17) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=5 + ;; CHECK-NEXT: (i32.store8 offset=5 ;; CHECK-NEXT: (local.get $16) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $17) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=6 + ;; CHECK-NEXT: (i32.store8 offset=6 ;; CHECK-NEXT: (local.get $16) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $17) @@ -2018,25 +2018,25 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=7 + ;; CHECK-NEXT: (i32.store8 offset=7 ;; CHECK-NEXT: (local.get $18) ;; CHECK-NEXT: (local.get $19) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=8 + ;; CHECK-NEXT: (i32.store8 offset=8 ;; CHECK-NEXT: (local.get $18) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $19) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=9 + ;; CHECK-NEXT: (i32.store8 offset=9 ;; CHECK-NEXT: (local.get $18) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $19) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=10 + ;; CHECK-NEXT: (i32.store8 offset=10 ;; CHECK-NEXT: (local.get $18) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $19) diff --git a/test/lit/passes/alignment-lowering64.wast b/test/lit/passes/alignment-lowering64.wast index 5868a8d8513..5c20cc7ebd6 100644 --- a/test/lit/passes/alignment-lowering64.wast +++ b/test/lit/passes/alignment-lowering64.wast @@ -22,7 +22,7 @@ ;; CHECK-NEXT: (local $10 i64) ;; CHECK-NEXT: (local $11 i32) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i64.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -33,11 +33,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load8_u $0 + ;; CHECK-NEXT: (i32.load8_u ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=1 + ;; CHECK-NEXT: (i32.load8_u offset=1 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -45,13 +45,13 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=2 + ;; CHECK-NEXT: (i32.load8_u offset=2 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=3 + ;; CHECK-NEXT: (i32.load8_u offset=3 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 24) @@ -66,11 +66,11 @@ ;; CHECK-NEXT: (i64.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load16_u $0 + ;; CHECK-NEXT: (i32.load16_u ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load16_u $0 offset=2 + ;; CHECK-NEXT: (i32.load16_u offset=2 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) @@ -79,12 +79,12 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i64.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load $0 offset=100 + ;; CHECK-NEXT: (i32.load offset=100 ;; CHECK-NEXT: (i64.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -95,11 +95,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load8_u $0 offset=100 + ;; CHECK-NEXT: (i32.load8_u offset=100 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=101 + ;; CHECK-NEXT: (i32.load8_u offset=101 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -107,13 +107,13 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=102 + ;; CHECK-NEXT: (i32.load8_u offset=102 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=103 + ;; CHECK-NEXT: (i32.load8_u offset=103 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 24) @@ -128,11 +128,11 @@ ;; CHECK-NEXT: (i64.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load16_u $0 offset=100 + ;; CHECK-NEXT: (i32.load16_u offset=100 ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load16_u $0 offset=102 + ;; CHECK-NEXT: (i32.load16_u offset=102 ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) @@ -141,14 +141,14 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load $0 offset=100 + ;; CHECK-NEXT: (i32.load offset=100 ;; CHECK-NEXT: (i64.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i64.const 4) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) @@ -159,25 +159,25 @@ ;; CHECK-NEXT: (local.set $5 ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 + ;; CHECK-NEXT: (i32.store8 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=1 + ;; CHECK-NEXT: (i32.store8 offset=1 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=2 + ;; CHECK-NEXT: (i32.store8 offset=2 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=3 + ;; CHECK-NEXT: (i32.store8 offset=3 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $5) @@ -192,11 +192,11 @@ ;; CHECK-NEXT: (local.set $7 ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 $0 + ;; CHECK-NEXT: (i32.store16 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 $0 offset=2 + ;; CHECK-NEXT: (i32.store16 offset=2 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $7) @@ -204,11 +204,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i64.const 4) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=100 + ;; CHECK-NEXT: (i32.store offset=100 ;; CHECK-NEXT: (i64.const 4) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) @@ -219,25 +219,25 @@ ;; CHECK-NEXT: (local.set $9 ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=100 + ;; CHECK-NEXT: (i32.store8 offset=100 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=101 + ;; CHECK-NEXT: (i32.store8 offset=101 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=102 + ;; CHECK-NEXT: (i32.store8 offset=102 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=103 + ;; CHECK-NEXT: (i32.store8 offset=103 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $9) @@ -252,11 +252,11 @@ ;; CHECK-NEXT: (local.set $11 ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 $0 offset=100 + ;; CHECK-NEXT: (i32.store16 offset=100 ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 $0 offset=102 + ;; CHECK-NEXT: (i32.store16 offset=102 ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $11) @@ -264,7 +264,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=100 + ;; CHECK-NEXT: (i32.store offset=100 ;; CHECK-NEXT: (i64.const 4) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) @@ -314,7 +314,7 @@ ;; CHECK-NEXT: (local $4 i64) ;; CHECK-NEXT: (local $5 i32) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load16_u $0 + ;; CHECK-NEXT: (i32.load16_u ;; CHECK-NEXT: (i64.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -324,11 +324,11 @@ ;; CHECK-NEXT: (i64.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load8_u $0 + ;; CHECK-NEXT: (i32.load8_u ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=1 + ;; CHECK-NEXT: (i32.load8_u offset=1 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -337,12 +337,12 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load16_u $0 + ;; CHECK-NEXT: (i32.load16_u ;; CHECK-NEXT: (i64.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load16_u $0 offset=100 + ;; CHECK-NEXT: (i32.load16_u offset=100 ;; CHECK-NEXT: (i64.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -352,11 +352,11 @@ ;; CHECK-NEXT: (i64.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load8_u $0 offset=100 + ;; CHECK-NEXT: (i32.load8_u offset=100 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=101 + ;; CHECK-NEXT: (i32.load8_u offset=101 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -365,14 +365,14 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load16_u $0 offset=100 + ;; CHECK-NEXT: (i32.load16_u offset=100 ;; CHECK-NEXT: (i64.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 $0 + ;; CHECK-NEXT: (i32.store16 ;; CHECK-NEXT: (i64.const 4) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) @@ -383,11 +383,11 @@ ;; CHECK-NEXT: (local.set $3 ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 + ;; CHECK-NEXT: (i32.store8 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=1 + ;; CHECK-NEXT: (i32.store8 offset=1 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $3) @@ -395,11 +395,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 $0 + ;; CHECK-NEXT: (i32.store16 ;; CHECK-NEXT: (i64.const 4) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 $0 offset=100 + ;; CHECK-NEXT: (i32.store16 offset=100 ;; CHECK-NEXT: (i64.const 4) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) @@ -410,11 +410,11 @@ ;; CHECK-NEXT: (local.set $5 ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=100 + ;; CHECK-NEXT: (i32.store8 offset=100 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=101 + ;; CHECK-NEXT: (i32.store8 offset=101 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $5) @@ -422,7 +422,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 $0 offset=100 + ;; CHECK-NEXT: (i32.store16 offset=100 ;; CHECK-NEXT: (i64.const 4) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) @@ -462,41 +462,41 @@ ) ;; CHECK: (func $func_1 ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load8_u $0 + ;; CHECK-NEXT: (i32.load8_u ;; CHECK-NEXT: (i64.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load8_u $0 + ;; CHECK-NEXT: (i32.load8_u ;; CHECK-NEXT: (i64.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load8_u $0 offset=100 + ;; CHECK-NEXT: (i32.load8_u offset=100 ;; CHECK-NEXT: (i64.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load8_u $0 offset=100 + ;; CHECK-NEXT: (i32.load8_u offset=100 ;; CHECK-NEXT: (i64.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 + ;; CHECK-NEXT: (i32.store8 ;; CHECK-NEXT: (i64.const 4) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 + ;; CHECK-NEXT: (i32.store8 ;; CHECK-NEXT: (i64.const 4) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=100 + ;; CHECK-NEXT: (i32.store8 offset=100 ;; CHECK-NEXT: (i64.const 4) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=100 + ;; CHECK-NEXT: (i32.store8 offset=100 ;; CHECK-NEXT: (i64.const 4) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) @@ -534,7 +534,7 @@ ;; CHECK-NEXT: (local $0 i64) ;; CHECK-NEXT: (local $1 i64) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load16_s $0 + ;; CHECK-NEXT: (i32.load16_s ;; CHECK-NEXT: (i64.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -546,11 +546,11 @@ ;; CHECK-NEXT: (i32.shr_s ;; CHECK-NEXT: (i32.shl ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load8_u $0 + ;; CHECK-NEXT: (i32.load8_u ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=1 + ;; CHECK-NEXT: (i32.load8_u offset=1 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -563,12 +563,12 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load16_s $0 + ;; CHECK-NEXT: (i32.load16_s ;; CHECK-NEXT: (i64.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load16_s $0 offset=100 + ;; CHECK-NEXT: (i32.load16_s offset=100 ;; CHECK-NEXT: (i64.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -580,11 +580,11 @@ ;; CHECK-NEXT: (i32.shr_s ;; CHECK-NEXT: (i32.shl ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load8_u $0 offset=100 + ;; CHECK-NEXT: (i32.load8_u offset=100 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=101 + ;; CHECK-NEXT: (i32.load8_u offset=101 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -597,7 +597,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load16_s $0 offset=100 + ;; CHECK-NEXT: (i32.load16_s offset=100 ;; CHECK-NEXT: (i64.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -642,11 +642,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load8_u $0 + ;; CHECK-NEXT: (i32.load8_u ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=1 + ;; CHECK-NEXT: (i32.load8_u offset=1 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -654,13 +654,13 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=2 + ;; CHECK-NEXT: (i32.load8_u offset=2 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=3 + ;; CHECK-NEXT: (i32.load8_u offset=3 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 24) @@ -677,11 +677,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load8_u $0 offset=4 + ;; CHECK-NEXT: (i32.load8_u offset=4 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=5 + ;; CHECK-NEXT: (i32.load8_u offset=5 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -689,13 +689,13 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=6 + ;; CHECK-NEXT: (i32.load8_u offset=6 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=7 + ;; CHECK-NEXT: (i32.load8_u offset=7 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 24) @@ -721,11 +721,11 @@ ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load16_u $0 + ;; CHECK-NEXT: (i32.load16_u ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load16_u $0 offset=2 + ;; CHECK-NEXT: (i32.load16_u offset=2 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) @@ -740,11 +740,11 @@ ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load16_u $0 offset=4 + ;; CHECK-NEXT: (i32.load16_u offset=4 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load16_u $0 offset=6 + ;; CHECK-NEXT: (i32.load16_u offset=6 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) @@ -764,13 +764,13 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i64.or ;; CHECK-NEXT: (i64.extend_i32_u - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i64.shl ;; CHECK-NEXT: (i64.extend_i32_u - ;; CHECK-NEXT: (i32.load $0 offset=4 + ;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -792,11 +792,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load8_u $0 offset=3 + ;; CHECK-NEXT: (i32.load8_u offset=3 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=4 + ;; CHECK-NEXT: (i32.load8_u offset=4 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -804,13 +804,13 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=5 + ;; CHECK-NEXT: (i32.load8_u offset=5 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=6 + ;; CHECK-NEXT: (i32.load8_u offset=6 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 24) @@ -827,11 +827,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load8_u $0 offset=7 + ;; CHECK-NEXT: (i32.load8_u offset=7 ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=8 + ;; CHECK-NEXT: (i32.load8_u offset=8 ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -839,13 +839,13 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=9 + ;; CHECK-NEXT: (i32.load8_u offset=9 ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=10 + ;; CHECK-NEXT: (i32.load8_u offset=10 ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 24) @@ -868,11 +868,11 @@ ;; CHECK-NEXT: (i32.shr_s ;; CHECK-NEXT: (i32.shl ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load8_u $0 + ;; CHECK-NEXT: (i32.load8_u ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=1 + ;; CHECK-NEXT: (i32.load8_u offset=1 ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -893,11 +893,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load8_u $0 + ;; CHECK-NEXT: (i32.load8_u ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=1 + ;; CHECK-NEXT: (i32.load8_u offset=1 ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -905,13 +905,13 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=2 + ;; CHECK-NEXT: (i32.load8_u offset=2 ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=3 + ;; CHECK-NEXT: (i32.load8_u offset=3 ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 24) @@ -928,11 +928,11 @@ ;; CHECK-NEXT: (i64.const 40) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load8_u $0 + ;; CHECK-NEXT: (i32.load8_u ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=1 + ;; CHECK-NEXT: (i32.load8_u offset=1 ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -949,11 +949,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load8_u $0 + ;; CHECK-NEXT: (i32.load8_u ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=1 + ;; CHECK-NEXT: (i32.load8_u offset=1 ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -961,13 +961,13 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=2 + ;; CHECK-NEXT: (i32.load8_u offset=2 ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=3 + ;; CHECK-NEXT: (i32.load8_u offset=3 ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 24) @@ -1000,11 +1000,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load8_u $0 + ;; CHECK-NEXT: (i32.load8_u ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=1 + ;; CHECK-NEXT: (i32.load8_u offset=1 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -1012,13 +1012,13 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=2 + ;; CHECK-NEXT: (i32.load8_u offset=2 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=3 + ;; CHECK-NEXT: (i32.load8_u offset=3 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 24) @@ -1035,11 +1035,11 @@ ;; CHECK-NEXT: (i64.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load16_u $0 + ;; CHECK-NEXT: (i32.load16_u ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load16_u $0 offset=2 + ;; CHECK-NEXT: (i32.load16_u offset=2 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) @@ -1056,11 +1056,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load8_u $0 offset=3 + ;; CHECK-NEXT: (i32.load8_u offset=3 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=4 + ;; CHECK-NEXT: (i32.load8_u offset=4 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -1068,13 +1068,13 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=5 + ;; CHECK-NEXT: (i32.load8_u offset=5 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=6 + ;; CHECK-NEXT: (i32.load8_u offset=6 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 24) @@ -1115,11 +1115,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load8_u $0 + ;; CHECK-NEXT: (i32.load8_u ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=1 + ;; CHECK-NEXT: (i32.load8_u offset=1 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -1127,13 +1127,13 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=2 + ;; CHECK-NEXT: (i32.load8_u offset=2 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=3 + ;; CHECK-NEXT: (i32.load8_u offset=3 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 24) @@ -1150,11 +1150,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load8_u $0 offset=4 + ;; CHECK-NEXT: (i32.load8_u offset=4 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=5 + ;; CHECK-NEXT: (i32.load8_u offset=5 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -1162,13 +1162,13 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=6 + ;; CHECK-NEXT: (i32.load8_u offset=6 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=7 + ;; CHECK-NEXT: (i32.load8_u offset=7 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 24) @@ -1196,11 +1196,11 @@ ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load16_u $0 + ;; CHECK-NEXT: (i32.load16_u ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load16_u $0 offset=2 + ;; CHECK-NEXT: (i32.load16_u offset=2 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) @@ -1215,11 +1215,11 @@ ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load16_u $0 offset=4 + ;; CHECK-NEXT: (i32.load16_u offset=4 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load16_u $0 offset=6 + ;; CHECK-NEXT: (i32.load16_u offset=6 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) @@ -1241,13 +1241,13 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i64.or ;; CHECK-NEXT: (i64.extend_i32_u - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i64.shl ;; CHECK-NEXT: (i64.extend_i32_u - ;; CHECK-NEXT: (i32.load $0 offset=4 + ;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1271,11 +1271,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load8_u $0 offset=3 + ;; CHECK-NEXT: (i32.load8_u offset=3 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=4 + ;; CHECK-NEXT: (i32.load8_u offset=4 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -1283,13 +1283,13 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=5 + ;; CHECK-NEXT: (i32.load8_u offset=5 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=6 + ;; CHECK-NEXT: (i32.load8_u offset=6 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 24) @@ -1306,11 +1306,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load8_u $0 offset=7 + ;; CHECK-NEXT: (i32.load8_u offset=7 ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=8 + ;; CHECK-NEXT: (i32.load8_u offset=8 ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -1318,13 +1318,13 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=9 + ;; CHECK-NEXT: (i32.load8_u offset=9 ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load8_u $0 offset=10 + ;; CHECK-NEXT: (i32.load8_u offset=10 ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 24) @@ -1387,25 +1387,25 @@ ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 + ;; CHECK-NEXT: (i32.store8 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=1 + ;; CHECK-NEXT: (i32.store8 offset=1 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=2 + ;; CHECK-NEXT: (i32.store8 offset=2 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=3 + ;; CHECK-NEXT: (i32.store8 offset=3 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $3) @@ -1425,25 +1425,25 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=4 + ;; CHECK-NEXT: (i32.store8 offset=4 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=5 + ;; CHECK-NEXT: (i32.store8 offset=5 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=6 + ;; CHECK-NEXT: (i32.store8 offset=6 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=7 + ;; CHECK-NEXT: (i32.store8 offset=7 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $5) @@ -1468,11 +1468,11 @@ ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 $0 + ;; CHECK-NEXT: (i32.store16 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 $0 offset=2 + ;; CHECK-NEXT: (i32.store16 offset=2 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $9) @@ -1492,11 +1492,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 $0 offset=4 + ;; CHECK-NEXT: (i32.store16 offset=4 ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 $0 offset=6 + ;; CHECK-NEXT: (i32.store16 offset=6 ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $11) @@ -1512,13 +1512,13 @@ ;; CHECK-NEXT: (local.set $13 ;; CHECK-NEXT: (i64.const 300) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: (i32.wrap_i64 ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=4 + ;; CHECK-NEXT: (i32.store offset=4 ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: (i32.wrap_i64 ;; CHECK-NEXT: (i64.shr_u @@ -1544,25 +1544,25 @@ ;; CHECK-NEXT: (local.get $15) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=3 + ;; CHECK-NEXT: (i32.store8 offset=3 ;; CHECK-NEXT: (local.get $16) ;; CHECK-NEXT: (local.get $17) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=4 + ;; CHECK-NEXT: (i32.store8 offset=4 ;; CHECK-NEXT: (local.get $16) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $17) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=5 + ;; CHECK-NEXT: (i32.store8 offset=5 ;; CHECK-NEXT: (local.get $16) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $17) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=6 + ;; CHECK-NEXT: (i32.store8 offset=6 ;; CHECK-NEXT: (local.get $16) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $17) @@ -1582,25 +1582,25 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=7 + ;; CHECK-NEXT: (i32.store8 offset=7 ;; CHECK-NEXT: (local.get $18) ;; CHECK-NEXT: (local.get $19) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=8 + ;; CHECK-NEXT: (i32.store8 offset=8 ;; CHECK-NEXT: (local.get $18) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $19) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=9 + ;; CHECK-NEXT: (i32.store8 offset=9 ;; CHECK-NEXT: (local.get $18) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $19) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=10 + ;; CHECK-NEXT: (i32.store8 offset=10 ;; CHECK-NEXT: (local.get $18) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $19) @@ -1618,11 +1618,11 @@ ;; CHECK-NEXT: (i64.const 600) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 + ;; CHECK-NEXT: (i32.store8 ;; CHECK-NEXT: (local.get $20) ;; CHECK-NEXT: (local.get $21) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=1 + ;; CHECK-NEXT: (i32.store8 offset=1 ;; CHECK-NEXT: (local.get $20) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $21) @@ -1639,25 +1639,25 @@ ;; CHECK-NEXT: (i64.const 700) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 + ;; CHECK-NEXT: (i32.store8 ;; CHECK-NEXT: (local.get $22) ;; CHECK-NEXT: (local.get $23) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=1 + ;; CHECK-NEXT: (i32.store8 offset=1 ;; CHECK-NEXT: (local.get $22) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $23) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=2 + ;; CHECK-NEXT: (i32.store8 offset=2 ;; CHECK-NEXT: (local.get $22) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $23) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=3 + ;; CHECK-NEXT: (i32.store8 offset=3 ;; CHECK-NEXT: (local.get $22) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $23) @@ -1690,25 +1690,25 @@ ;; CHECK-NEXT: (f32.const 100) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 + ;; CHECK-NEXT: (i32.store8 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=1 + ;; CHECK-NEXT: (i32.store8 offset=1 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=2 + ;; CHECK-NEXT: (i32.store8 offset=2 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=3 + ;; CHECK-NEXT: (i32.store8 offset=3 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $1) @@ -1725,11 +1725,11 @@ ;; CHECK-NEXT: (f32.const 200) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 $0 + ;; CHECK-NEXT: (i32.store16 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 $0 offset=2 + ;; CHECK-NEXT: (i32.store16 offset=2 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $3) @@ -1746,25 +1746,25 @@ ;; CHECK-NEXT: (f32.const 400) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=3 + ;; CHECK-NEXT: (i32.store8 offset=3 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=4 + ;; CHECK-NEXT: (i32.store8 offset=4 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=5 + ;; CHECK-NEXT: (i32.store8 offset=5 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=6 + ;; CHECK-NEXT: (i32.store8 offset=6 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $5) @@ -1817,25 +1817,25 @@ ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 + ;; CHECK-NEXT: (i32.store8 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=1 + ;; CHECK-NEXT: (i32.store8 offset=1 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=2 + ;; CHECK-NEXT: (i32.store8 offset=2 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=3 + ;; CHECK-NEXT: (i32.store8 offset=3 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $3) @@ -1855,25 +1855,25 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=4 + ;; CHECK-NEXT: (i32.store8 offset=4 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=5 + ;; CHECK-NEXT: (i32.store8 offset=5 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=6 + ;; CHECK-NEXT: (i32.store8 offset=6 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=7 + ;; CHECK-NEXT: (i32.store8 offset=7 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $5) @@ -1900,11 +1900,11 @@ ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 $0 + ;; CHECK-NEXT: (i32.store16 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 $0 offset=2 + ;; CHECK-NEXT: (i32.store16 offset=2 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $9) @@ -1924,11 +1924,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 $0 offset=4 + ;; CHECK-NEXT: (i32.store16 offset=4 ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 $0 offset=6 + ;; CHECK-NEXT: (i32.store16 offset=6 ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $11) @@ -1946,13 +1946,13 @@ ;; CHECK-NEXT: (f64.const 300) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: (i32.wrap_i64 ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=4 + ;; CHECK-NEXT: (i32.store offset=4 ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: (i32.wrap_i64 ;; CHECK-NEXT: (i64.shr_u @@ -1980,25 +1980,25 @@ ;; CHECK-NEXT: (local.get $15) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=3 + ;; CHECK-NEXT: (i32.store8 offset=3 ;; CHECK-NEXT: (local.get $16) ;; CHECK-NEXT: (local.get $17) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=4 + ;; CHECK-NEXT: (i32.store8 offset=4 ;; CHECK-NEXT: (local.get $16) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $17) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=5 + ;; CHECK-NEXT: (i32.store8 offset=5 ;; CHECK-NEXT: (local.get $16) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $17) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=6 + ;; CHECK-NEXT: (i32.store8 offset=6 ;; CHECK-NEXT: (local.get $16) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $17) @@ -2018,25 +2018,25 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=7 + ;; CHECK-NEXT: (i32.store8 offset=7 ;; CHECK-NEXT: (local.get $18) ;; CHECK-NEXT: (local.get $19) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=8 + ;; CHECK-NEXT: (i32.store8 offset=8 ;; CHECK-NEXT: (local.get $18) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $19) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=9 + ;; CHECK-NEXT: (i32.store8 offset=9 ;; CHECK-NEXT: (local.get $18) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $19) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=10 + ;; CHECK-NEXT: (i32.store8 offset=10 ;; CHECK-NEXT: (local.get $18) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $19) diff --git a/test/lit/passes/asyncify.wast b/test/lit/passes/asyncify.wast index 20f3c8831f5..0da90c17361 100644 --- a/test/lit/passes/asyncify.wast +++ b/test/lit/passes/asyncify.wast @@ -55,27 +55,27 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $10 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $live0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $live1 - ;; CHECK-NEXT: (i32.load $0 offset=4 + ;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -91,18 +91,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $9 - ;; CHECK-NEXT: (i32.load $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -188,16 +188,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -206,22 +206,22 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $11 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: (local.get $live0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=4 + ;; CHECK-NEXT: (i32.store offset=4 ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: (local.get $live1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -255,27 +255,27 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $10 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $live0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $live1 - ;; CHECK-NEXT: (i32.load $0 offset=4 + ;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -291,18 +291,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $9 - ;; CHECK-NEXT: (i32.load $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -388,16 +388,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -406,22 +406,22 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $11 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: (local.get $live0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=4 + ;; CHECK-NEXT: (i32.store offset=4 ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: (local.get $live1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -453,27 +453,27 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $8 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $live0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $live1 - ;; CHECK-NEXT: (i32.load $0 offset=4 + ;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -489,18 +489,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $7 - ;; CHECK-NEXT: (i32.load $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -595,16 +595,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -613,22 +613,22 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $9 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: (local.get $live0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=4 + ;; CHECK-NEXT: (i32.store offset=4 ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: (local.get $live1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -656,22 +656,22 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $5 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $live0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -687,18 +687,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $4 - ;; CHECK-NEXT: (i32.load $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -762,16 +762,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -780,18 +780,18 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $6 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.get $live0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -827,18 +827,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $4 - ;; CHECK-NEXT: (i32.load $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -921,16 +921,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -959,22 +959,22 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $4 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -990,18 +990,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $3 - ;; CHECK-NEXT: (i32.load $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1052,16 +1052,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -1070,18 +1070,18 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $5 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -1105,27 +1105,27 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $6 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $2 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $3 - ;; CHECK-NEXT: (i32.load $0 offset=4 + ;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1141,18 +1141,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $5 - ;; CHECK-NEXT: (i32.load $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1210,16 +1210,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -1228,22 +1228,22 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $7 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=4 + ;; CHECK-NEXT: (i32.store offset=4 ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -1264,10 +1264,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load $0 +;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load $0 offset=4 +;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1281,10 +1281,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load $0 +;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load $0 offset=4 +;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1301,10 +1301,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load $0 +;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load $0 offset=4 +;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1318,10 +1318,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load $0 +;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load $0 offset=4 +;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/asyncify_enable-multivalue.wast b/test/lit/passes/asyncify_enable-multivalue.wast index 046f389971f..b656b6f7e04 100644 --- a/test/lit/passes/asyncify_enable-multivalue.wast +++ b/test/lit/passes/asyncify_enable-multivalue.wast @@ -100,18 +100,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (i32.load $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -165,16 +165,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -213,18 +213,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (i32.load $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -262,16 +262,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -321,10 +321,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load $0 +;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load $0 offset=4 +;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -338,10 +338,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load $0 +;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load $0 offset=4 +;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -358,10 +358,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load $0 +;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load $0 offset=4 +;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -375,10 +375,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load $0 +;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load $0 offset=4 +;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -445,18 +445,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (i32.load $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -494,16 +494,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -532,22 +532,22 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $8 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -563,18 +563,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $6 - ;; CHECK-NEXT: (i32.load $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -641,16 +641,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -659,18 +659,18 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $9 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -697,22 +697,22 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $4 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -728,18 +728,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $2 - ;; CHECK-NEXT: (i32.load $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -793,16 +793,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -811,18 +811,18 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $5 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -868,22 +868,22 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $13 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $y - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -899,18 +899,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $12 - ;; CHECK-NEXT: (i32.load $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1006,16 +1006,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -1024,18 +1024,18 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $14 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $14) ;; CHECK-NEXT: (local.get $y) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -1080,18 +1080,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $3 - ;; CHECK-NEXT: (i32.load $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1149,16 +1149,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -1185,22 +1185,22 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $5 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $2 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1216,18 +1216,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $4 - ;; CHECK-NEXT: (i32.load $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1336,16 +1336,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -1354,18 +1354,18 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $6 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -1403,18 +1403,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $6 - ;; CHECK-NEXT: (i32.load $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1519,16 +1519,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -1560,22 +1560,22 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $7 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $4 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1591,18 +1591,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $6 - ;; CHECK-NEXT: (i32.load $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1707,16 +1707,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -1725,18 +1725,18 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $8 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -1766,26 +1766,26 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -12) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $5 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $1 ;; CHECK-NEXT: (tuple.make - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i64.load $0 offset=4 align=4 + ;; CHECK-NEXT: (i64.load offset=4 align=4 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1802,18 +1802,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $3 - ;; CHECK-NEXT: (i32.load $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1867,16 +1867,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -1885,26 +1885,26 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $6 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (tuple.extract 0 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i64.store $0 offset=4 align=4 + ;; CHECK-NEXT: (i64.store offset=4 align=4 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (tuple.extract 1 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 12) @@ -1930,22 +1930,22 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $6 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $x - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1961,18 +1961,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $5 - ;; CHECK-NEXT: (i32.load $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -2044,16 +2044,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -2062,18 +2062,18 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $7 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -2105,22 +2105,22 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $4 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -2136,18 +2136,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $2 - ;; CHECK-NEXT: (i32.load $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -2201,16 +2201,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -2219,18 +2219,18 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $5 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -2265,18 +2265,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (i32.load $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -2355,16 +2355,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -2403,18 +2403,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (i32.load $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -2493,16 +2493,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -2543,18 +2543,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (i32.load $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -2592,16 +2592,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -2624,10 +2624,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load $0 +;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load $0 offset=4 +;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -2641,10 +2641,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load $0 +;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load $0 offset=4 +;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -2661,10 +2661,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load $0 +;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load $0 offset=4 +;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -2678,10 +2678,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load $0 +;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load $0 offset=4 +;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -2725,10 +2725,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load $0 +;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load $0 offset=4 +;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -2742,10 +2742,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load $0 +;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load $0 offset=4 +;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -2762,10 +2762,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load $0 +;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load $0 offset=4 +;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -2779,10 +2779,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load $0 +;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load $0 offset=4 +;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/asyncify_mod-asyncify-always-and-only-unwind.wast b/test/lit/passes/asyncify_mod-asyncify-always-and-only-unwind.wast index d61ac6cdf8c..dc89dab7f2e 100644 --- a/test/lit/passes/asyncify_mod-asyncify-always-and-only-unwind.wast +++ b/test/lit/passes/asyncify_mod-asyncify-always-and-only-unwind.wast @@ -47,18 +47,18 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (i32.load $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -93,16 +93,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -128,22 +128,22 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $8 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -156,18 +156,18 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $6 - ;; CHECK-NEXT: (i32.load $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -231,16 +231,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -249,18 +249,18 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $9 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -284,22 +284,22 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $4 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -312,18 +312,18 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $2 - ;; CHECK-NEXT: (i32.load $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -374,16 +374,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -392,18 +392,18 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $5 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -438,10 +438,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load $0 +;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load $0 offset=4 +;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -455,10 +455,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load $0 +;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load $0 offset=4 +;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -475,10 +475,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load $0 +;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load $0 offset=4 +;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -492,10 +492,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load $0 +;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load $0 offset=4 +;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/asyncify_mod-asyncify-always-and-only-unwind_O.wast b/test/lit/passes/asyncify_mod-asyncify-always-and-only-unwind_O.wast index 567f5602c3c..2983777550f 100644 --- a/test/lit/passes/asyncify_mod-asyncify-always-and-only-unwind_O.wast +++ b/test/lit/passes/asyncify_mod-asyncify-always-and-only-unwind_O.wast @@ -42,16 +42,16 @@ ;; CHECK: (func $calls-import (; has Stack IR ;) ;; CHECK-NEXT: (local $0 i32) ;; CHECK-NEXT: (call $import) - ;; CHECK-NEXT: (i32.store $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -82,10 +82,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load $0 +;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load $0 offset=4 +;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -99,10 +99,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load $0 +;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load $0 offset=4 +;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -119,10 +119,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load $0 +;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load $0 offset=4 +;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/asyncify_mod-asyncify-never-unwind.wast b/test/lit/passes/asyncify_mod-asyncify-never-unwind.wast index 1192b8f1334..dce366b8249 100644 --- a/test/lit/passes/asyncify_mod-asyncify-never-unwind.wast +++ b/test/lit/passes/asyncify_mod-asyncify-never-unwind.wast @@ -53,18 +53,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (i32.load $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -99,16 +99,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -137,22 +137,22 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $8 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -168,18 +168,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $6 - ;; CHECK-NEXT: (i32.load $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -243,16 +243,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -261,18 +261,18 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $9 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -299,22 +299,22 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $4 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -330,18 +330,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $2 - ;; CHECK-NEXT: (i32.load $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -392,16 +392,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -410,18 +410,18 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $5 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -456,10 +456,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load $0 +;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load $0 offset=4 +;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -473,10 +473,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load $0 +;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load $0 offset=4 +;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -493,10 +493,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load $0 +;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load $0 offset=4 +;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -510,10 +510,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load $0 +;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load $0 offset=4 +;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/asyncify_mod-asyncify-never-unwind_O.wast b/test/lit/passes/asyncify_mod-asyncify-never-unwind_O.wast index c1ab304b820..1a2a945a1de 100644 --- a/test/lit/passes/asyncify_mod-asyncify-never-unwind_O.wast +++ b/test/lit/passes/asyncify_mod-asyncify-never-unwind_O.wast @@ -49,17 +49,17 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block (result i32) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.sub - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -97,10 +97,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load $0 +;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load $0 offset=4 +;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -114,10 +114,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load $0 +;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load $0 offset=4 +;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -134,10 +134,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load $0 +;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load $0 offset=4 +;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/asyncify_optimize-level=1.wast b/test/lit/passes/asyncify_optimize-level=1.wast index 4600af549e5..953c04ba6b9 100644 --- a/test/lit/passes/asyncify_optimize-level=1.wast +++ b/test/lit/passes/asyncify_optimize-level=1.wast @@ -48,17 +48,17 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block (result i32) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.sub - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -85,16 +85,16 @@ ;; CHECK-NEXT: (return) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -113,18 +113,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.sub - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $0 - ;; CHECK-NEXT: (i32.load $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -142,17 +142,17 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block (result i32) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.sub - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -192,31 +192,31 @@ ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -242,17 +242,17 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block (result i32) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.sub - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -281,16 +281,16 @@ ;; CHECK-NEXT: (return) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -315,18 +315,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.sub - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (i32.load $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -341,18 +341,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.sub - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $2 - ;; CHECK-NEXT: (i32.load $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -409,31 +409,31 @@ ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -476,17 +476,17 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block (result i32) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.sub - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -513,16 +513,16 @@ ;; CHECK-NEXT: (return) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -551,17 +551,17 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block (result i32) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.sub - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -584,18 +584,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.sub - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $2 - ;; CHECK-NEXT: (i32.load $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -663,31 +663,31 @@ ;; CHECK-NEXT: (return) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -711,18 +711,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.sub - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (i32.load $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -795,16 +795,16 @@ ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -836,17 +836,17 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block (result i32) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.sub - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -869,17 +869,17 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block (result i32) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.sub - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -934,31 +934,31 @@ ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -981,18 +981,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.sub - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $0 - ;; CHECK-NEXT: (i32.load $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1007,18 +1007,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.sub - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (i32.load $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1066,31 +1066,31 @@ ;; CHECK-NEXT: (return) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -1118,18 +1118,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.sub - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $0 - ;; CHECK-NEXT: (i32.load $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1144,18 +1144,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.sub - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $2 - ;; CHECK-NEXT: (i32.load $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1202,31 +1202,31 @@ ;; CHECK-NEXT: (return) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -1250,18 +1250,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.sub - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $0 - ;; CHECK-NEXT: (i32.load $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1326,16 +1326,16 @@ ;; CHECK-NEXT: (return) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -1362,18 +1362,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.sub - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $0 - ;; CHECK-NEXT: (i32.load $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1438,16 +1438,16 @@ ;; CHECK-NEXT: (return) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -1479,17 +1479,17 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block (result i32) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.sub - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1516,16 +1516,16 @@ ;; CHECK-NEXT: (return) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -1546,10 +1546,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load $0 +;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load $0 offset=4 +;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1563,10 +1563,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load $0 +;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load $0 offset=4 +;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1583,10 +1583,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load $0 +;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load $0 offset=4 +;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1600,10 +1600,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load $0 +;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load $0 offset=4 +;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/asyncify_pass-arg=asyncify-addlist@foo.wast b/test/lit/passes/asyncify_pass-arg=asyncify-addlist@foo.wast index da11919fcd6..861b7ff6008 100644 --- a/test/lit/passes/asyncify_pass-arg=asyncify-addlist@foo.wast +++ b/test/lit/passes/asyncify_pass-arg=asyncify-addlist@foo.wast @@ -49,18 +49,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (i32.load $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -80,16 +80,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -123,10 +123,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load $0 +;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load $0 offset=4 +;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -140,10 +140,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load $0 +;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load $0 offset=4 +;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -160,10 +160,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load $0 +;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load $0 offset=4 +;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -177,10 +177,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load $0 +;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load $0 offset=4 +;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/asyncify_pass-arg=asyncify-addlist@foo_pass-arg=asyncify-ignore-indirect.wast b/test/lit/passes/asyncify_pass-arg=asyncify-addlist@foo_pass-arg=asyncify-ignore-indirect.wast index 1f14c1349d9..28d3f88bab2 100644 --- a/test/lit/passes/asyncify_pass-arg=asyncify-addlist@foo_pass-arg=asyncify-ignore-indirect.wast +++ b/test/lit/passes/asyncify_pass-arg=asyncify-addlist@foo_pass-arg=asyncify-ignore-indirect.wast @@ -55,18 +55,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (i32.load $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -115,16 +115,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -163,10 +163,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load $0 +;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load $0 offset=4 +;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -180,10 +180,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load $0 +;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load $0 offset=4 +;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -200,10 +200,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load $0 +;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load $0 offset=4 +;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -217,10 +217,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load $0 +;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load $0 offset=4 +;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/asyncify_pass-arg=asyncify-asserts_pass-arg=asyncify-onlylist@waka.wast b/test/lit/passes/asyncify_pass-arg=asyncify-asserts_pass-arg=asyncify-onlylist@waka.wast index 80fe0088099..03a8dfe9670 100644 --- a/test/lit/passes/asyncify_pass-arg=asyncify-asserts_pass-arg=asyncify-onlylist@waka.wast +++ b/test/lit/passes/asyncify_pass-arg=asyncify-asserts_pass-arg=asyncify-onlylist@waka.wast @@ -179,10 +179,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load $0 +;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load $0 offset=4 +;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -196,10 +196,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load $0 +;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load $0 offset=4 +;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -216,10 +216,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load $0 +;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load $0 offset=4 +;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -233,10 +233,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load $0 +;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load $0 offset=4 +;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/asyncify_pass-arg=asyncify-blacklist@foo,bar.wast b/test/lit/passes/asyncify_pass-arg=asyncify-blacklist@foo,bar.wast index 3531a86ba97..83dd0a2ced5 100644 --- a/test/lit/passes/asyncify_pass-arg=asyncify-blacklist@foo,bar.wast +++ b/test/lit/passes/asyncify_pass-arg=asyncify-blacklist@foo,bar.wast @@ -61,18 +61,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (i32.load $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -110,16 +110,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -157,18 +157,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (i32.load $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -206,16 +206,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -238,10 +238,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load $0 +;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load $0 offset=4 +;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -255,10 +255,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load $0 +;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load $0 offset=4 +;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -275,10 +275,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load $0 +;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load $0 offset=4 +;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -292,10 +292,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load $0 +;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load $0 offset=4 +;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/asyncify_pass-arg=asyncify-ignore-imports.wast b/test/lit/passes/asyncify_pass-arg=asyncify-ignore-imports.wast index dc72ac2734d..9fd019f8c78 100644 --- a/test/lit/passes/asyncify_pass-arg=asyncify-ignore-imports.wast +++ b/test/lit/passes/asyncify_pass-arg=asyncify-ignore-imports.wast @@ -89,22 +89,22 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $4 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -120,18 +120,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $3 - ;; CHECK-NEXT: (i32.load $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -182,16 +182,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -200,18 +200,18 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $5 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -235,10 +235,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load $0 +;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load $0 offset=4 +;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -252,10 +252,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load $0 +;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load $0 offset=4 +;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -272,10 +272,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load $0 +;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load $0 offset=4 +;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -289,10 +289,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load $0 +;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load $0 offset=4 +;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/asyncify_pass-arg=asyncify-ignore-indirect.wast b/test/lit/passes/asyncify_pass-arg=asyncify-ignore-indirect.wast index fa92fbea9e0..1d7fd179724 100644 --- a/test/lit/passes/asyncify_pass-arg=asyncify-ignore-indirect.wast +++ b/test/lit/passes/asyncify_pass-arg=asyncify-ignore-indirect.wast @@ -58,18 +58,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (i32.load $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -107,16 +107,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -141,22 +141,22 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $4 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -172,18 +172,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $2 - ;; CHECK-NEXT: (i32.load $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -237,16 +237,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -255,18 +255,18 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $5 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -290,22 +290,22 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $5 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $2 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -321,18 +321,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $4 - ;; CHECK-NEXT: (i32.load $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -441,16 +441,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -459,18 +459,18 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $6 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -509,10 +509,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load $0 +;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load $0 offset=4 +;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -526,10 +526,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load $0 +;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load $0 offset=4 +;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -546,10 +546,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load $0 +;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load $0 offset=4 +;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -563,10 +563,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load $0 +;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load $0 offset=4 +;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/asyncify_pass-arg=asyncify-imports@env.import,env.import2.wast b/test/lit/passes/asyncify_pass-arg=asyncify-imports@env.import,env.import2.wast index 6794a9b65a8..6da79153546 100644 --- a/test/lit/passes/asyncify_pass-arg=asyncify-imports@env.import,env.import2.wast +++ b/test/lit/passes/asyncify_pass-arg=asyncify-imports@env.import,env.import2.wast @@ -99,18 +99,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (i32.load $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -164,16 +164,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -212,18 +212,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (i32.load $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -261,16 +261,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -317,10 +317,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load $0 +;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load $0 offset=4 +;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -334,10 +334,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load $0 +;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load $0 offset=4 +;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -354,10 +354,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load $0 +;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load $0 offset=4 +;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -371,10 +371,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load $0 +;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load $0 offset=4 +;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -437,18 +437,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (i32.load $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -486,16 +486,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -524,22 +524,22 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $8 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -555,18 +555,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $6 - ;; CHECK-NEXT: (i32.load $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -633,16 +633,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -651,18 +651,18 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $9 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -689,22 +689,22 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $4 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -720,18 +720,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $2 - ;; CHECK-NEXT: (i32.load $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -785,16 +785,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -803,18 +803,18 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $5 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -859,22 +859,22 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $12 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $y - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -890,18 +890,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $11 - ;; CHECK-NEXT: (i32.load $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -997,16 +997,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -1015,18 +1015,18 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $13 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: (local.get $y) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -1070,18 +1070,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $3 - ;; CHECK-NEXT: (i32.load $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1139,16 +1139,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -1297,22 +1297,22 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $4 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1328,18 +1328,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $2 - ;; CHECK-NEXT: (i32.load $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1393,16 +1393,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -1411,18 +1411,18 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $5 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -1457,18 +1457,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (i32.load $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1547,16 +1547,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -1595,18 +1595,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (i32.load $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1685,16 +1685,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -1735,18 +1735,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (i32.load $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1784,16 +1784,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -1816,10 +1816,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load $0 +;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load $0 offset=4 +;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1833,10 +1833,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load $0 +;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load $0 offset=4 +;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1853,10 +1853,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load $0 +;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load $0 offset=4 +;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1870,10 +1870,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load $0 +;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load $0 offset=4 +;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/asyncify_pass-arg=asyncify-onlylist@foo,bar.wast b/test/lit/passes/asyncify_pass-arg=asyncify-onlylist@foo,bar.wast index b2dccacf3a5..438216c5b0f 100644 --- a/test/lit/passes/asyncify_pass-arg=asyncify-onlylist@foo,bar.wast +++ b/test/lit/passes/asyncify_pass-arg=asyncify-onlylist@foo,bar.wast @@ -49,18 +49,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (i32.load $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -98,16 +98,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -139,18 +139,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (i32.load $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -188,16 +188,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -238,10 +238,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load $0 +;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load $0 offset=4 +;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -255,10 +255,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load $0 +;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load $0 offset=4 +;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -275,10 +275,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load $0 +;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load $0 offset=4 +;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -292,10 +292,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load $0 +;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load $0 offset=4 +;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/asyncify_pass-arg=asyncify-side-module.wast b/test/lit/passes/asyncify_pass-arg=asyncify-side-module.wast index 86d121bad94..fbf96a97ead 100644 --- a/test/lit/passes/asyncify_pass-arg=asyncify-side-module.wast +++ b/test/lit/passes/asyncify_pass-arg=asyncify-side-module.wast @@ -36,10 +36,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load $0 +;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load $0 offset=4 +;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -53,10 +53,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load $0 +;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load $0 offset=4 +;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -73,10 +73,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load $0 +;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load $0 offset=4 +;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -90,10 +90,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load $0 +;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load $0 offset=4 +;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/asyncify_pass-arg=asyncify-verbose.wast b/test/lit/passes/asyncify_pass-arg=asyncify-verbose.wast index fff7645dab1..c605b26a251 100644 --- a/test/lit/passes/asyncify_pass-arg=asyncify-verbose.wast +++ b/test/lit/passes/asyncify_pass-arg=asyncify-verbose.wast @@ -49,18 +49,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (i32.load $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -98,16 +98,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -139,18 +139,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (i32.load $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -188,16 +188,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -229,18 +229,18 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (i32.load $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -278,16 +278,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -316,10 +316,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load $0 +;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load $0 offset=4 +;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -333,10 +333,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load $0 +;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load $0 offset=4 +;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -353,10 +353,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load $0 +;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load $0 offset=4 +;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -370,10 +370,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u -;; CHECK-NEXT: (i32.load $0 +;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.load $0 offset=4 +;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (global.get $__asyncify_data) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/avoid-reinterprets.wast b/test/lit/passes/avoid-reinterprets.wast index 308d6908a13..584016c9713 100644 --- a/test/lit/passes/avoid-reinterprets.wast +++ b/test/lit/passes/avoid-reinterprets.wast @@ -13,22 +13,22 @@ ;; CHECK: (func $simple ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (f32.load $0 + ;; CHECK-NEXT: (f32.load ;; CHECK-NEXT: (i32.const 1024) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 1024) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (f64.load $0 + ;; CHECK-NEXT: (f64.load ;; CHECK-NEXT: (i32.const 1024) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i64.load $0 + ;; CHECK-NEXT: (i64.load ;; CHECK-NEXT: (i32.const 1024) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -49,11 +49,11 @@ ;; CHECK-NEXT: (i32.const 1024) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $2 - ;; CHECK-NEXT: (f32.load $0 + ;; CHECK-NEXT: (f32.load ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -77,11 +77,11 @@ ;; CHECK-NEXT: (i32.const 1024) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $2 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (f32.load $0 + ;; CHECK-NEXT: (f32.load ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -105,11 +105,11 @@ ;; CHECK-NEXT: (i32.const 1024) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $2 - ;; CHECK-NEXT: (f32.load $0 + ;; CHECK-NEXT: (f32.load ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -137,11 +137,11 @@ ;; CHECK-NEXT: (i32.const 1024) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $2 - ;; CHECK-NEXT: (f32.load $0 + ;; CHECK-NEXT: (f32.load ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -170,11 +170,11 @@ ;; CHECK-NEXT: (i32.const 1024) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $3 - ;; CHECK-NEXT: (f32.load $0 + ;; CHECK-NEXT: (f32.load ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -195,7 +195,7 @@ ) ;; CHECK: (func $partial1 (result f32) ;; CHECK-NEXT: (f32.reinterpret_i32 - ;; CHECK-NEXT: (i32.load16_u $0 + ;; CHECK-NEXT: (i32.load16_u ;; CHECK-NEXT: (i32.const 3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -209,7 +209,7 @@ ) ;; CHECK: (func $partial2 (result f32) ;; CHECK-NEXT: (f32.reinterpret_i32 - ;; CHECK-NEXT: (i32.load8_u $0 + ;; CHECK-NEXT: (i32.load8_u ;; CHECK-NEXT: (i32.const 3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -224,7 +224,7 @@ ;; CHECK: (func $nofallthrough ;; CHECK-NEXT: (local $x i32) ;; CHECK-NEXT: (local.set $x - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 1024) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/avoid-reinterprets64.wast b/test/lit/passes/avoid-reinterprets64.wast index 319ffca7304..073ba65153f 100644 --- a/test/lit/passes/avoid-reinterprets64.wast +++ b/test/lit/passes/avoid-reinterprets64.wast @@ -13,22 +13,22 @@ ;; CHECK: (func $simple ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (f32.load $0 + ;; CHECK-NEXT: (f32.load ;; CHECK-NEXT: (i64.const 1024) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i64.const 1024) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (f64.load $0 + ;; CHECK-NEXT: (f64.load ;; CHECK-NEXT: (i64.const 1024) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i64.load $0 + ;; CHECK-NEXT: (i64.load ;; CHECK-NEXT: (i64.const 1024) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -49,11 +49,11 @@ ;; CHECK-NEXT: (i64.const 1024) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $2 - ;; CHECK-NEXT: (f32.load $0 + ;; CHECK-NEXT: (f32.load ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -77,11 +77,11 @@ ;; CHECK-NEXT: (i64.const 1024) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $2 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (f32.load $0 + ;; CHECK-NEXT: (f32.load ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -105,11 +105,11 @@ ;; CHECK-NEXT: (i64.const 1024) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $2 - ;; CHECK-NEXT: (f32.load $0 + ;; CHECK-NEXT: (f32.load ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -137,11 +137,11 @@ ;; CHECK-NEXT: (i64.const 1024) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $2 - ;; CHECK-NEXT: (f32.load $0 + ;; CHECK-NEXT: (f32.load ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -170,11 +170,11 @@ ;; CHECK-NEXT: (i64.const 1024) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $3 - ;; CHECK-NEXT: (f32.load $0 + ;; CHECK-NEXT: (f32.load ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -195,7 +195,7 @@ ) ;; CHECK: (func $partial1 (result f32) ;; CHECK-NEXT: (f32.reinterpret_i32 - ;; CHECK-NEXT: (i32.load16_u $0 + ;; CHECK-NEXT: (i32.load16_u ;; CHECK-NEXT: (i64.const 3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -209,7 +209,7 @@ ) ;; CHECK: (func $partial2 (result f32) ;; CHECK-NEXT: (f32.reinterpret_i32 - ;; CHECK-NEXT: (i32.load8_u $0 + ;; CHECK-NEXT: (i32.load8_u ;; CHECK-NEXT: (i64.const 3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -224,7 +224,7 @@ ;; CHECK: (func $nofallthrough ;; CHECK-NEXT: (local $x i32) ;; CHECK-NEXT: (local.set $x - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i64.const 1024) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/coalesce-locals-learning.wast b/test/lit/passes/coalesce-locals-learning.wast index 8c436f10552..b8871ddf52a 100644 --- a/test/lit/passes/coalesce-locals-learning.wast +++ b/test/lit/passes/coalesce-locals-learning.wast @@ -1444,9 +1444,9 @@ ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 + ;; CHECK-NEXT: (i32.store8 ;; CHECK-NEXT: (local.get $0) - ;; CHECK-NEXT: (i32.load8_s $0 + ;; CHECK-NEXT: (i32.load8_s ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1484,9 +1484,9 @@ ;; CHECK-NEXT: (br $while-out$2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block7 - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $0) - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1526,9 +1526,9 @@ ;; CHECK-NEXT: (br $while-out$4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block9 - ;; CHECK-NEXT: (i32.store8 $0 + ;; CHECK-NEXT: (i32.store8 ;; CHECK-NEXT: (local.get $0) - ;; CHECK-NEXT: (i32.load8_s $0 + ;; CHECK-NEXT: (i32.load8_s ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/coalesce-locals.wast b/test/lit/passes/coalesce-locals.wast index 0470bf58783..0ba208ed86a 100644 --- a/test/lit/passes/coalesce-locals.wast +++ b/test/lit/passes/coalesce-locals.wast @@ -1498,9 +1498,9 @@ ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 + ;; CHECK-NEXT: (i32.store8 ;; CHECK-NEXT: (local.get $0) - ;; CHECK-NEXT: (i32.load8_s $0 + ;; CHECK-NEXT: (i32.load8_s ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1538,9 +1538,9 @@ ;; CHECK-NEXT: (br $while-out$2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block7 - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $0) - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1580,9 +1580,9 @@ ;; CHECK-NEXT: (br $while-out$4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block9 - ;; CHECK-NEXT: (i32.store8 $0 + ;; CHECK-NEXT: (i32.store8 ;; CHECK-NEXT: (local.get $0) - ;; CHECK-NEXT: (i32.load8_s $0 + ;; CHECK-NEXT: (i32.load8_s ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1968,7 +1968,7 @@ ;; CHECK-NEXT: (local $0 i32) ;; CHECK-NEXT: (block $block ;; CHECK-NEXT: (unreachable) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/code-folding_enable-threads.wast b/test/lit/passes/code-folding_enable-threads.wast index b8432b30dcc..244fd7c7502 100644 --- a/test/lit/passes/code-folding_enable-threads.wast +++ b/test/lit/passes/code-folding_enable-threads.wast @@ -276,10 +276,10 @@ ;; CHECK-NEXT: (local $var$0 i32) ;; CHECK-NEXT: (if (result i32) ;; CHECK-NEXT: (i32.const 0) - ;; CHECK-NEXT: (i32.load $0 offset=22 + ;; CHECK-NEXT: (i32.load offset=22 ;; CHECK-NEXT: (local.get $var$0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.atomic.load $0 offset=22 + ;; CHECK-NEXT: (i32.atomic.load offset=22 ;; CHECK-NEXT: (local.get $var$0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/code-pushing_ignore-implicit-traps.wast b/test/lit/passes/code-pushing_ignore-implicit-traps.wast index 09567c73f2f..a64390c0587 100644 --- a/test/lit/passes/code-pushing_ignore-implicit-traps.wast +++ b/test/lit/passes/code-pushing_ignore-implicit-traps.wast @@ -421,7 +421,7 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $x - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -442,11 +442,11 @@ ;; CHECK-NEXT: (local $x i32) ;; CHECK-NEXT: (block $out ;; CHECK-NEXT: (local.set $x - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: (i32.const 3) ;; CHECK-NEXT: ) @@ -471,12 +471,12 @@ ;; CHECK-NEXT: (local $x i32) ;; CHECK-NEXT: (block $out ;; CHECK-NEXT: (local.set $x - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (nop) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: (i32.const 3) ;; CHECK-NEXT: ) @@ -504,7 +504,7 @@ ;; CHECK-NEXT: (local $x i32) ;; CHECK-NEXT: (block $out ;; CHECK-NEXT: (local.set $x - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/dealign.wast b/test/lit/passes/dealign.wast index b5f84bbb6f5..ba07da1ed94 100644 --- a/test/lit/passes/dealign.wast +++ b/test/lit/passes/dealign.wast @@ -10,29 +10,29 @@ (memory $0 1 1) ;; CHECK: (func $test ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load $0 align=1 + ;; CHECK-NEXT: (i32.load align=1 ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load $0 align=1 + ;; CHECK-NEXT: (i32.load align=1 ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load $0 align=1 + ;; CHECK-NEXT: (i32.load align=1 ;; CHECK-NEXT: (i32.const 12) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 align=1 + ;; CHECK-NEXT: (i32.store align=1 ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: (i32.const 28) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 align=1 + ;; CHECK-NEXT: (i32.store align=1 ;; CHECK-NEXT: (i32.const 20) ;; CHECK-NEXT: (i32.const 32) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 align=1 + ;; CHECK-NEXT: (i32.store align=1 ;; CHECK-NEXT: (i32.const 24) ;; CHECK-NEXT: (i32.const 36) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/dealign64.wast b/test/lit/passes/dealign64.wast index f365838b29f..64f08255013 100644 --- a/test/lit/passes/dealign64.wast +++ b/test/lit/passes/dealign64.wast @@ -10,29 +10,29 @@ (memory $0 i64 1 1) ;; CHECK: (func $test ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load $0 align=1 + ;; CHECK-NEXT: (i32.load align=1 ;; CHECK-NEXT: (i64.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load $0 align=1 + ;; CHECK-NEXT: (i32.load align=1 ;; CHECK-NEXT: (i64.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load $0 align=1 + ;; CHECK-NEXT: (i32.load align=1 ;; CHECK-NEXT: (i64.const 12) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 align=1 + ;; CHECK-NEXT: (i32.store align=1 ;; CHECK-NEXT: (i64.const 16) ;; CHECK-NEXT: (i32.const 28) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 align=1 + ;; CHECK-NEXT: (i32.store align=1 ;; CHECK-NEXT: (i64.const 20) ;; CHECK-NEXT: (i32.const 32) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 align=1 + ;; CHECK-NEXT: (i32.store align=1 ;; CHECK-NEXT: (i64.const 24) ;; CHECK-NEXT: (i32.const 36) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/flatten_all-features.wast b/test/lit/passes/flatten_all-features.wast index 5b63fa4a655..b563159c611 100644 --- a/test/lit/passes/flatten_all-features.wast +++ b/test/lit/passes/flatten_all-features.wast @@ -694,7 +694,7 @@ ;; CHECK-NEXT: (local $2 f32) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $0 - ;; CHECK-NEXT: (i32.load16_u $0 + ;; CHECK-NEXT: (i32.load16_u ;; CHECK-NEXT: (i32.const 53) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -873,7 +873,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (unreachable) @@ -1346,7 +1346,7 @@ ;; CHECK-NEXT: (i32.const 22) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (unreachable) - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop @@ -1359,7 +1359,7 @@ ;; CHECK-NEXT: (i32.const 33) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (unreachable) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) @@ -1370,7 +1370,7 @@ ;; CHECK-NEXT: (i32.const 44) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (unreachable) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) @@ -1382,7 +1382,7 @@ ;; CHECK-NEXT: (block ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: (unreachable) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) @@ -2172,7 +2172,7 @@ ;; CHECK-NEXT: (i32.const 18) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (br $label$0) - ;; CHECK-NEXT: (memory.grow $0 + ;; CHECK-NEXT: (memory.grow ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (unreachable) @@ -3049,7 +3049,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $15 - ;; CHECK-NEXT: (i32.load16_u $0 offset=2 + ;; CHECK-NEXT: (i32.load16_u offset=2 ;; CHECK-NEXT: (local.get $14) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/flatten_dfo_O3_enable-threads.wast b/test/lit/passes/flatten_dfo_O3_enable-threads.wast index d8e950d94b6..0ad494d5fed 100644 --- a/test/lit/passes/flatten_dfo_O3_enable-threads.wast +++ b/test/lit/passes/flatten_dfo_O3_enable-threads.wast @@ -232,7 +232,7 @@ ;; CHECK: (func $0 (; has Stack IR ;) ;; CHECK-NEXT: (block $label$3 ;; CHECK-NEXT: (br_if $label$3 -;; CHECK-NEXT: (i32.load $0 +;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 3060) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -254,7 +254,7 @@ ;; CHECK-NEXT: ) ;; CHECK: (func $3 (; has Stack IR ;) -;; CHECK-NEXT: (i32.store $0 +;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: (i32.const -16384) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/flatten_i64-to-i32-lowering.wast b/test/lit/passes/flatten_i64-to-i32-lowering.wast index b73200b23a8..20dd4e4bd0f 100644 --- a/test/lit/passes/flatten_i64-to-i32-lowering.wast +++ b/test/lit/passes/flatten_i64-to-i32-lowering.wast @@ -201,12 +201,12 @@ ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $i64toi32_i32$0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $i64toi32_i32$2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $i64toi32_i32$1 - ;; CHECK-NEXT: (i32.load $0 offset=4 + ;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (local.get $i64toi32_i32$2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -232,12 +232,12 @@ ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $i64toi32_i32$1 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $i64toi32_i32$2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $i64toi32_i32$0 - ;; CHECK-NEXT: (i32.load $0 offset=4 + ;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (local.get $i64toi32_i32$2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -263,12 +263,12 @@ ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $i64toi32_i32$0 - ;; CHECK-NEXT: (i32.load $0 align=2 + ;; CHECK-NEXT: (i32.load align=2 ;; CHECK-NEXT: (local.get $i64toi32_i32$2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $i64toi32_i32$1 - ;; CHECK-NEXT: (i32.load $0 offset=4 align=2 + ;; CHECK-NEXT: (i32.load offset=4 align=2 ;; CHECK-NEXT: (local.get $i64toi32_i32$2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -294,12 +294,12 @@ ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $i64toi32_i32$1 - ;; CHECK-NEXT: (i32.load $0 align=1 + ;; CHECK-NEXT: (i32.load align=1 ;; CHECK-NEXT: (local.get $i64toi32_i32$2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $i64toi32_i32$0 - ;; CHECK-NEXT: (i32.load $0 offset=4 align=1 + ;; CHECK-NEXT: (i32.load offset=4 align=1 ;; CHECK-NEXT: (local.get $i64toi32_i32$2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -325,12 +325,12 @@ ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $i64toi32_i32$0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $i64toi32_i32$2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $i64toi32_i32$1 - ;; CHECK-NEXT: (i32.load $0 offset=4 + ;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (local.get $i64toi32_i32$2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -353,7 +353,7 @@ ;; CHECK-NEXT: (local.set $i64toi32_i32$0 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $i64toi32_i32$0) ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (local.set $i64toi32_i32$1 @@ -362,7 +362,7 @@ ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=4 + ;; CHECK-NEXT: (i32.store offset=4 ;; CHECK-NEXT: (local.get $i64toi32_i32$0) ;; CHECK-NEXT: (local.get $i64toi32_i32$1) ;; CHECK-NEXT: ) @@ -371,7 +371,7 @@ ;; CHECK-NEXT: (local.set $i64toi32_i32$0 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $i64toi32_i32$0) ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (local.set $i64toi32_i32$1 @@ -380,7 +380,7 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=4 + ;; CHECK-NEXT: (i32.store offset=4 ;; CHECK-NEXT: (local.get $i64toi32_i32$0) ;; CHECK-NEXT: (local.get $i64toi32_i32$1) ;; CHECK-NEXT: ) @@ -389,7 +389,7 @@ ;; CHECK-NEXT: (local.set $i64toi32_i32$0 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 align=2 + ;; CHECK-NEXT: (i32.store align=2 ;; CHECK-NEXT: (local.get $i64toi32_i32$0) ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (local.set $i64toi32_i32$1 @@ -398,7 +398,7 @@ ;; CHECK-NEXT: (i32.const 3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=4 align=2 + ;; CHECK-NEXT: (i32.store offset=4 align=2 ;; CHECK-NEXT: (local.get $i64toi32_i32$0) ;; CHECK-NEXT: (local.get $i64toi32_i32$1) ;; CHECK-NEXT: ) @@ -407,7 +407,7 @@ ;; CHECK-NEXT: (local.set $i64toi32_i32$0 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 align=1 + ;; CHECK-NEXT: (i32.store align=1 ;; CHECK-NEXT: (local.get $i64toi32_i32$0) ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (local.set $i64toi32_i32$1 @@ -416,7 +416,7 @@ ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=4 align=1 + ;; CHECK-NEXT: (i32.store offset=4 align=1 ;; CHECK-NEXT: (local.get $i64toi32_i32$0) ;; CHECK-NEXT: (local.get $i64toi32_i32$1) ;; CHECK-NEXT: ) @@ -425,7 +425,7 @@ ;; CHECK-NEXT: (local.set $i64toi32_i32$0 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $i64toi32_i32$0) ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (local.set $i64toi32_i32$1 @@ -434,7 +434,7 @@ ;; CHECK-NEXT: (i32.const 5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=4 + ;; CHECK-NEXT: (i32.store offset=4 ;; CHECK-NEXT: (local.get $i64toi32_i32$0) ;; CHECK-NEXT: (local.get $i64toi32_i32$1) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/flatten_simplify-locals-nonesting_souperify-single-use_enable-threads.wast b/test/lit/passes/flatten_simplify-locals-nonesting_souperify-single-use_enable-threads.wast index c9cf95ab135..3027108240b 100644 --- a/test/lit/passes/flatten_simplify-locals-nonesting_souperify-single-use_enable-threads.wast +++ b/test/lit/passes/flatten_simplify-locals-nonesting_souperify-single-use_enable-threads.wast @@ -821,7 +821,7 @@ ;; CHECK-NEXT: (block ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -873,7 +873,7 @@ ;; CHECK-NEXT: (block ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (local.set $2 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1674,7 +1674,7 @@ ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $6 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1685,14 +1685,14 @@ ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (nop) - ;; CHECK-NEXT: (i32.store16 $0 + ;; CHECK-NEXT: (i32.store16 ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 $0 + ;; CHECK-NEXT: (i32.store16 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const -8531) ;; CHECK-NEXT: ) @@ -1796,7 +1796,7 @@ ;; CHECK-NEXT: (block $label$4 ;; CHECK-NEXT: (block $label$5 ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1816,11 +1816,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (local.set $3 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $var$0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (f64.store $0 + ;; CHECK-NEXT: (f64.store ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (f64.const 0) ;; CHECK-NEXT: ) @@ -1831,7 +1831,7 @@ ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (nop) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $var$0) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) @@ -3586,7 +3586,7 @@ ;; CHECK-NEXT: (block ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (local.set $var$0 - ;; CHECK-NEXT: (i32.atomic.rmw16.sub_u $0 offset=22 + ;; CHECK-NEXT: (i32.atomic.rmw16.sub_u offset=22 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) @@ -3920,7 +3920,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $11 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -3961,7 +3961,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (nop) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) @@ -3972,7 +3972,7 @@ ;; CHECK-NEXT: (i32.const 20) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) @@ -4060,7 +4060,7 @@ ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (nop) - ;; CHECK-NEXT: (i32.store $0 offset=176 + ;; CHECK-NEXT: (i32.store offset=176 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (local.get $var$2) ;; CHECK-NEXT: ) @@ -4131,7 +4131,7 @@ ;; CHECK-NEXT: (local $8 i32) ;; CHECK-NEXT: (block $label$1 ;; CHECK-NEXT: (local.set $2 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const -8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -4146,7 +4146,7 @@ ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $5 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const -16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -4206,7 +4206,7 @@ ;; CHECK-NEXT: (local $11 i32) ;; CHECK-NEXT: (block $label$1 ;; CHECK-NEXT: (local.set $3 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const -8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -4221,7 +4221,7 @@ ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $6 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const -16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -4294,7 +4294,7 @@ ;; CHECK-NEXT: (block ;; CHECK-NEXT: (block $label$1 ;; CHECK-NEXT: (local.set $2 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -4378,7 +4378,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (nop) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $var$1) ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) @@ -4389,7 +4389,7 @@ ;; CHECK-NEXT: (local.get $var$1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=8 + ;; CHECK-NEXT: (i32.store offset=8 ;; CHECK-NEXT: (i32.const 3) ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: ) @@ -4538,11 +4538,11 @@ ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: (local.get $14) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: (i32.const 64) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/flatten_simplify-locals-nonesting_souperify_enable-threads.wast b/test/lit/passes/flatten_simplify-locals-nonesting_souperify_enable-threads.wast index 25ca44fda20..29722a302df 100644 --- a/test/lit/passes/flatten_simplify-locals-nonesting_souperify_enable-threads.wast +++ b/test/lit/passes/flatten_simplify-locals-nonesting_souperify_enable-threads.wast @@ -889,7 +889,7 @@ ;; CHECK-NEXT: (block ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -941,7 +941,7 @@ ;; CHECK-NEXT: (block ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (local.set $2 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1742,7 +1742,7 @@ ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $6 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1753,14 +1753,14 @@ ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (nop) - ;; CHECK-NEXT: (i32.store16 $0 + ;; CHECK-NEXT: (i32.store16 ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 $0 + ;; CHECK-NEXT: (i32.store16 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const -8531) ;; CHECK-NEXT: ) @@ -1864,7 +1864,7 @@ ;; CHECK-NEXT: (block $label$4 ;; CHECK-NEXT: (block $label$5 ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1884,11 +1884,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (local.set $3 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $var$0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (f64.store $0 + ;; CHECK-NEXT: (f64.store ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (f64.const 0) ;; CHECK-NEXT: ) @@ -1899,7 +1899,7 @@ ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (nop) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $var$0) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) @@ -3654,7 +3654,7 @@ ;; CHECK-NEXT: (block ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (local.set $var$0 - ;; CHECK-NEXT: (i32.atomic.rmw16.sub_u $0 offset=22 + ;; CHECK-NEXT: (i32.atomic.rmw16.sub_u offset=22 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) @@ -3988,7 +3988,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $11 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -4029,7 +4029,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (nop) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) @@ -4040,7 +4040,7 @@ ;; CHECK-NEXT: (i32.const 20) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) @@ -4128,7 +4128,7 @@ ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (nop) - ;; CHECK-NEXT: (i32.store $0 offset=176 + ;; CHECK-NEXT: (i32.store offset=176 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (local.get $var$2) ;; CHECK-NEXT: ) @@ -4199,7 +4199,7 @@ ;; CHECK-NEXT: (local $8 i32) ;; CHECK-NEXT: (block $label$1 ;; CHECK-NEXT: (local.set $2 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const -8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -4214,7 +4214,7 @@ ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $5 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const -16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -4274,7 +4274,7 @@ ;; CHECK-NEXT: (local $11 i32) ;; CHECK-NEXT: (block $label$1 ;; CHECK-NEXT: (local.set $3 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const -8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -4289,7 +4289,7 @@ ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $6 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const -16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -4362,7 +4362,7 @@ ;; CHECK-NEXT: (block ;; CHECK-NEXT: (block $label$1 ;; CHECK-NEXT: (local.set $2 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -4446,7 +4446,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (nop) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $var$1) ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) @@ -4457,7 +4457,7 @@ ;; CHECK-NEXT: (local.get $var$1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=8 + ;; CHECK-NEXT: (i32.store offset=8 ;; CHECK-NEXT: (i32.const 3) ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: ) @@ -4606,11 +4606,11 @@ ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: (local.get $14) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: (i32.const 64) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/gufa-refs.wast b/test/lit/passes/gufa-refs.wast index 0cf195ad04d..d8fb51e50a3 100644 --- a/test/lit/passes/gufa-refs.wast +++ b/test/lit/passes/gufa-refs.wast @@ -2999,41 +2999,41 @@ ;; CHECK: (func $memory (type $none_=>_none) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.atomic.rmw.add $0 + ;; CHECK-NEXT: (i32.atomic.rmw.add ;; CHECK-NEXT: (i32.const 5) ;; CHECK-NEXT: (i32.const 10) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.atomic.rmw.cmpxchg $0 + ;; CHECK-NEXT: (i32.atomic.rmw.cmpxchg ;; CHECK-NEXT: (i32.const 5) ;; CHECK-NEXT: (i32.const 10) ;; CHECK-NEXT: (i32.const 15) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (memory.atomic.wait32 $0 + ;; CHECK-NEXT: (memory.atomic.wait32 ;; CHECK-NEXT: (i32.const 5) ;; CHECK-NEXT: (i32.const 10) ;; CHECK-NEXT: (i64.const 15) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (memory.atomic.notify $0 + ;; CHECK-NEXT: (memory.atomic.notify ;; CHECK-NEXT: (i32.const 5) ;; CHECK-NEXT: (i32.const 10) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (memory.size $0) + ;; CHECK-NEXT: (memory.size) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (memory.grow $0 + ;; CHECK-NEXT: (memory.grow ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -3112,12 +3112,12 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (v128.load8_splat $0 + ;; CHECK-NEXT: (v128.load8_splat ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (v128.load8_lane $0 0 + ;; CHECK-NEXT: (v128.load8_lane 0 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (v128.const i32x4 0x00000001 0x00000000 0x00000002 0x00000000) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/inlining-optimizing_enable-threads.wast b/test/lit/passes/inlining-optimizing_enable-threads.wast index d89cc201c85..c3ed107af1e 100644 --- a/test/lit/passes/inlining-optimizing_enable-threads.wast +++ b/test/lit/passes/inlining-optimizing_enable-threads.wast @@ -163,7 +163,7 @@ (i32.const 1) ) ;; CHECK: (func $1 (result i64) - ;; CHECK-NEXT: (i32.atomic.store16 $0 + ;; CHECK-NEXT: (i32.atomic.store16 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) @@ -252,17 +252,17 @@ (unreachable) ) ;; CHECK: (func $1 - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 56) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i64.store $0 + ;; CHECK-NEXT: (i64.store ;; CHECK-NEXT: (i32.const 49) - ;; CHECK-NEXT: (i64.load $0 + ;; CHECK-NEXT: (i64.load ;; CHECK-NEXT: (i32.const 24) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/inlining-optimizing_optimize-level=3.wast b/test/lit/passes/inlining-optimizing_optimize-level=3.wast index c2c83fed789..e4ad27d9218 100644 --- a/test/lit/passes/inlining-optimizing_optimize-level=3.wast +++ b/test/lit/passes/inlining-optimizing_optimize-level=3.wast @@ -331,12 +331,12 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $abort) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -381,7 +381,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (loop $do-in - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) @@ -397,9 +397,9 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $2) - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -418,23 +418,23 @@ ;; CHECK-NEXT: (i32.const -1) ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load $0 offset=76 + ;; CHECK-NEXT: (i32.load offset=76 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $3 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.le_s - ;; CHECK-NEXT: (i32.load8_s $0 offset=74 + ;; CHECK-NEXT: (i32.load8_s offset=74 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (local.get $3) @@ -443,7 +443,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $6 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) @@ -462,7 +462,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $10 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $9 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) @@ -471,11 +471,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.tee $12 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) @@ -484,7 +484,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.tee $11 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) @@ -493,11 +493,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (i32.const 80) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.tee $13 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) @@ -528,7 +528,7 @@ ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load $0 offset=36 + ;; CHECK-NEXT: (i32.load offset=36 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 7) @@ -538,27 +538,27 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) @@ -566,10 +566,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.and @@ -626,7 +626,7 @@ ;; CHECK-NEXT: (local $2 i32) ;; CHECK-NEXT: (local $3 i32) ;; CHECK-NEXT: (local $4 i32) - ;; CHECK-NEXT: (f64.store $0 + ;; CHECK-NEXT: (f64.store ;; CHECK-NEXT: (global.get $tempDoublePtr) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) @@ -640,12 +640,12 @@ ;; CHECK-NEXT: (local.tee $3 ;; CHECK-NEXT: (call $_bitshift64Lshr ;; CHECK-NEXT: (local.tee $2 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (global.get $tempDoublePtr) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.tee $4 - ;; CHECK-NEXT: (i32.load $0 offset=4 + ;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (global.get $tempDoublePtr) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -657,7 +657,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (local.tee $2 ;; CHECK-NEXT: (if (result i32) @@ -676,7 +676,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -64) @@ -690,18 +690,18 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (br $switch) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (i32.const -1022) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (global.get $tempDoublePtr) ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=4 + ;; CHECK-NEXT: (i32.store offset=4 ;; CHECK-NEXT: (global.get $tempDoublePtr) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.and @@ -712,7 +712,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $0 - ;; CHECK-NEXT: (f64.load $0 + ;; CHECK-NEXT: (f64.load ;; CHECK-NEXT: (global.get $tempDoublePtr) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -899,10 +899,10 @@ ) ;; CHECK: (func $___errno_location (result i32) ;; CHECK-NEXT: (if (result i32) - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load $0 offset=60 + ;; CHECK-NEXT: (i32.load offset=60 ;; CHECK-NEXT: (call $_pthread_self) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 60) @@ -938,11 +938,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $abort) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.tee $2 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load $0 offset=60 + ;; CHECK-NEXT: (i32.load offset=60 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1028,31 +1028,31 @@ ;; CHECK-NEXT: (i32.const 12) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=36 + ;; CHECK-NEXT: (i32.store offset=36 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 64) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $3) - ;; CHECK-NEXT: (i32.load $0 offset=60 + ;; CHECK-NEXT: (i32.load offset=60 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=4 + ;; CHECK-NEXT: (i32.store offset=4 ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (i32.const 21505) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=8 + ;; CHECK-NEXT: (i32.store offset=8 ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) @@ -1061,7 +1061,7 @@ ;; CHECK-NEXT: (i32.const 54) ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=75 + ;; CHECK-NEXT: (i32.store8 offset=75 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const -1) ;; CHECK-NEXT: ) @@ -1180,23 +1180,23 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $abort) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.tee $3 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load $0 offset=60 + ;; CHECK-NEXT: (i32.load offset=60 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=4 + ;; CHECK-NEXT: (i32.store offset=4 ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=8 + ;; CHECK-NEXT: (i32.store offset=8 ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=12 + ;; CHECK-NEXT: (i32.store offset=12 ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (i32.add @@ -1205,7 +1205,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=16 + ;; CHECK-NEXT: (i32.store offset=16 ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) @@ -1221,13 +1221,13 @@ ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block (result i32) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const -1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1321,7 +1321,7 @@ ;; CHECK-NEXT: (block $do-once (result i32) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_s - ;; CHECK-NEXT: (i32.load $0 offset=76 + ;; CHECK-NEXT: (i32.load offset=76 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 0) @@ -1342,11 +1342,11 @@ ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $0 ;; CHECK-NEXT: (if (result i32) - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 12) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $_fflush - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 12) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1358,22 +1358,22 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 40) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (loop $while-in ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load $0 offset=76 + ;; CHECK-NEXT: (i32.load offset=76 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u - ;; CHECK-NEXT: (i32.load $0 offset=20 + ;; CHECK-NEXT: (i32.load offset=20 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load $0 offset=28 + ;; CHECK-NEXT: (i32.load offset=28 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1388,7 +1388,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (br_if $while-in ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load $0 offset=56 + ;; CHECK-NEXT: (i32.load offset=56 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1612,7 +1612,7 @@ ;; CHECK-NEXT: (local.set $10 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.tee $4 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $8) @@ -1620,7 +1620,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.tee $3 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $6 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) @@ -1630,11 +1630,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=4 + ;; CHECK-NEXT: (i32.store offset=4 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (local.tee $3 ;; CHECK-NEXT: (i32.sub - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $11 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) @@ -1646,11 +1646,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=8 + ;; CHECK-NEXT: (i32.store offset=8 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=12 + ;; CHECK-NEXT: (i32.store offset=12 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) @@ -1683,7 +1683,7 @@ ;; CHECK-NEXT: (block $__rjti$0 ;; CHECK-NEXT: (loop $while-in ;; CHECK-NEXT: (if - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block @@ -1691,17 +1691,17 @@ ;; CHECK-NEXT: (i32.const 5) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $10) - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=4 + ;; CHECK-NEXT: (i32.store offset=4 ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=8 + ;; CHECK-NEXT: (i32.store offset=8 ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) @@ -1718,17 +1718,17 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block14 - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $9) - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=4 + ;; CHECK-NEXT: (i32.store offset=4 ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=8 + ;; CHECK-NEXT: (i32.store offset=8 ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) @@ -1759,26 +1759,26 @@ ;; CHECK-NEXT: (i32.gt_u ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (local.tee $5 - ;; CHECK-NEXT: (i32.load $0 offset=4 + ;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block16 (result i32) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.tee $7 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $14) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $7 - ;; CHECK-NEXT: (i32.load $0 offset=12 + ;; CHECK-NEXT: (i32.load offset=12 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1806,10 +1806,10 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block19 - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $3) @@ -1830,16 +1830,16 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=4 + ;; CHECK-NEXT: (i32.store offset=4 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (local.get $7) @@ -1855,45 +1855,45 @@ ;; CHECK-NEXT: (br $while-in) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=16 + ;; CHECK-NEXT: (i32.store offset=16 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $14) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load $0 offset=48 + ;; CHECK-NEXT: (i32.load offset=48 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (br $__rjto$1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=16 + ;; CHECK-NEXT: (i32.store offset=16 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 32) @@ -1908,7 +1908,7 @@ ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (local.get $2) - ;; CHECK-NEXT: (i32.load $0 offset=4 + ;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -2567,7 +2567,7 @@ ;; CHECK-NEXT: (block $__rjti$0 ;; CHECK-NEXT: (br_if $__rjti$0 ;; CHECK-NEXT: (local.tee $3 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $5 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $2) @@ -2578,7 +2578,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $3 - ;; CHECK-NEXT: (i32.load8_s $0 + ;; CHECK-NEXT: (i32.load8_s ;; CHECK-NEXT: (local.tee $4 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $2) @@ -2587,7 +2587,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 + ;; CHECK-NEXT: (i32.store8 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.add @@ -2602,14 +2602,14 @@ ;; CHECK-NEXT: (if (result i32) ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (local.tee $3 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block (result i32) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (local.get $3) @@ -2619,31 +2619,31 @@ ;; CHECK-NEXT: (i32.const -1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block (result i32) - ;; CHECK-NEXT: (i32.store $0 offset=8 + ;; CHECK-NEXT: (i32.store offset=8 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=4 + ;; CHECK-NEXT: (i32.store offset=4 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=28 + ;; CHECK-NEXT: (i32.store offset=28 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (local.tee $3 - ;; CHECK-NEXT: (i32.load $0 offset=44 + ;; CHECK-NEXT: (i32.load offset=44 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=20 + ;; CHECK-NEXT: (i32.store offset=20 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=16 + ;; CHECK-NEXT: (i32.store offset=16 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $3) - ;; CHECK-NEXT: (i32.load $0 offset=48 + ;; CHECK-NEXT: (i32.load offset=48 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -2654,7 +2654,7 @@ ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $3 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -2669,7 +2669,7 @@ ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (local.tee $6 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $4 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $2) @@ -2689,7 +2689,7 @@ ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load $0 offset=36 + ;; CHECK-NEXT: (i32.load offset=36 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 7) @@ -2704,7 +2704,7 @@ ;; CHECK-NEXT: (local.set $2 ;; CHECK-NEXT: (if (result i32) ;; CHECK-NEXT: (i32.ge_s - ;; CHECK-NEXT: (i32.load8_s $0 offset=75 + ;; CHECK-NEXT: (i32.load8_s offset=75 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 0) @@ -2724,7 +2724,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.ne - ;; CHECK-NEXT: (i32.load8_s $0 + ;; CHECK-NEXT: (i32.load8_s ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.tee $5 @@ -2753,7 +2753,7 @@ ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load $0 offset=36 + ;; CHECK-NEXT: (i32.load offset=36 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 7) @@ -2765,7 +2765,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $6 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -2793,10 +2793,10 @@ ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $1) @@ -3261,7 +3261,7 @@ ;; CHECK-NEXT: (i32.const 128) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store8 $0 + ;; CHECK-NEXT: (i32.store8 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) @@ -3276,7 +3276,7 @@ ;; CHECK-NEXT: (i32.const 2048) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store8 $0 + ;; CHECK-NEXT: (i32.store8 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.shr_u @@ -3286,7 +3286,7 @@ ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=1 + ;; CHECK-NEXT: (i32.store8 offset=1 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.and @@ -3316,7 +3316,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store8 $0 + ;; CHECK-NEXT: (i32.store8 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.shr_u @@ -3326,7 +3326,7 @@ ;; CHECK-NEXT: (i32.const 224) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=1 + ;; CHECK-NEXT: (i32.store8 offset=1 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.and @@ -3339,7 +3339,7 @@ ;; CHECK-NEXT: (i32.const 128) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=2 + ;; CHECK-NEXT: (i32.store8 offset=2 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.and @@ -3363,7 +3363,7 @@ ;; CHECK-NEXT: (i32.const 1048576) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block (result i32) - ;; CHECK-NEXT: (i32.store8 $0 + ;; CHECK-NEXT: (i32.store8 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.shr_u @@ -3373,7 +3373,7 @@ ;; CHECK-NEXT: (i32.const 240) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=1 + ;; CHECK-NEXT: (i32.store8 offset=1 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.and @@ -3386,7 +3386,7 @@ ;; CHECK-NEXT: (i32.const 128) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=2 + ;; CHECK-NEXT: (i32.store8 offset=2 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.and @@ -3399,7 +3399,7 @@ ;; CHECK-NEXT: (i32.const 128) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=3 + ;; CHECK-NEXT: (i32.store8 offset=3 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.and @@ -3412,7 +3412,7 @@ ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block (result i32) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (call $___errno_location) ;; CHECK-NEXT: (i32.const 84) ;; CHECK-NEXT: ) @@ -3674,7 +3674,7 @@ ;; CHECK-NEXT: (i32.const -4096) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block (result i32) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (call $___errno_location) ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (i32.const 0) @@ -3717,7 +3717,7 @@ ;; CHECK-NEXT: (block $__rjti$0 ;; CHECK-NEXT: (br_if $__rjti$0 ;; CHECK-NEXT: (i32.le_u - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $1 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) @@ -3725,7 +3725,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $2 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) @@ -3742,7 +3742,7 @@ ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load $0 offset=36 + ;; CHECK-NEXT: (i32.load offset=36 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 7) @@ -3752,7 +3752,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (br_if $__rjti$0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -3763,7 +3763,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.tee $4 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $3 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) @@ -3773,7 +3773,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.tee $6 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $5 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) @@ -3793,7 +3793,7 @@ ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load $0 offset=40 + ;; CHECK-NEXT: (i32.load offset=40 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 7) @@ -3803,23 +3803,23 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=16 + ;; CHECK-NEXT: (i32.store offset=16 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) @@ -3951,7 +3951,7 @@ ) ;; CHECK: (func $_cleanup (param $0 i32) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load $0 offset=68 + ;; CHECK-NEXT: (i32.load offset=68 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -4231,7 +4231,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block (result i32) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (call $___errno_location) ;; CHECK-NEXT: (i32.const 75) ;; CHECK-NEXT: ) @@ -4247,7 +4247,7 @@ ;; CHECK-NEXT: (br_if $__rjti$9 ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (local.tee $7 - ;; CHECK-NEXT: (i32.load8_s $0 + ;; CHECK-NEXT: (i32.load8_s ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -4284,7 +4284,7 @@ ;; CHECK-NEXT: (br $label$break$L9) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $7 - ;; CHECK-NEXT: (i32.load8_s $0 + ;; CHECK-NEXT: (i32.load8_s ;; CHECK-NEXT: (local.tee $10 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $10) @@ -4301,7 +4301,7 @@ ;; CHECK-NEXT: (loop $while-in ;; CHECK-NEXT: (br_if $label$break$L12 ;; CHECK-NEXT: (i32.ne - ;; CHECK-NEXT: (i32.load8_s $0 offset=1 + ;; CHECK-NEXT: (i32.load8_s offset=1 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 37) @@ -4315,7 +4315,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (br_if $while-in ;; CHECK-NEXT: (i32.eq - ;; CHECK-NEXT: (i32.load8_s $0 + ;; CHECK-NEXT: (i32.load8_s ;; CHECK-NEXT: (local.tee $6 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $6) @@ -4339,7 +4339,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 32) @@ -4375,7 +4375,7 @@ ;; CHECK-NEXT: (local.tee $8 ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (local.tee $9 - ;; CHECK-NEXT: (i32.load8_s $0 + ;; CHECK-NEXT: (i32.load8_s ;; CHECK-NEXT: (local.tee $10 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $6) @@ -4391,7 +4391,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (local.set $6 - ;; CHECK-NEXT: (i32.load8_s $0 + ;; CHECK-NEXT: (i32.load8_s ;; CHECK-NEXT: (local.tee $10 ;; CHECK-NEXT: (select ;; CHECK-NEXT: (i32.add @@ -4401,7 +4401,7 @@ ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: (local.tee $9 ;; CHECK-NEXT: (i32.eq - ;; CHECK-NEXT: (i32.load8_s $0 offset=2 + ;; CHECK-NEXT: (i32.load8_s offset=2 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 36) @@ -4508,7 +4508,7 @@ ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (local.tee $6 ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load8_s $0 + ;; CHECK-NEXT: (i32.load8_s ;; CHECK-NEXT: (local.tee $10 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $10) @@ -4549,7 +4549,7 @@ ;; CHECK-NEXT: (i32.ge_u ;; CHECK-NEXT: (local.tee $9 ;; CHECK-NEXT: (i32.sub - ;; CHECK-NEXT: (i32.load8_s $0 + ;; CHECK-NEXT: (i32.load8_s ;; CHECK-NEXT: (local.tee $6 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $10) @@ -4565,13 +4565,13 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (br_if $__rjti$0 ;; CHECK-NEXT: (i32.ne - ;; CHECK-NEXT: (i32.load8_s $0 offset=2 + ;; CHECK-NEXT: (i32.load8_s offset=2 ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 36) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.shl @@ -4582,13 +4582,13 @@ ;; CHECK-NEXT: (i32.const 10) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load $0 offset=4 + ;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (local.tee $6 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (i32.shl ;; CHECK-NEXT: (i32.sub - ;; CHECK-NEXT: (i32.load8_s $0 + ;; CHECK-NEXT: (i32.load8_s ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 48) @@ -4603,7 +4603,7 @@ ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $16 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -4643,11 +4643,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $16 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $10 ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 3) @@ -4657,7 +4657,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $10) @@ -4727,7 +4727,7 @@ ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.tee $11 ;; CHECK-NEXT: (i32.sub - ;; CHECK-NEXT: (i32.load8_s $0 + ;; CHECK-NEXT: (i32.load8_s ;; CHECK-NEXT: (local.tee $10 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $10) @@ -4788,7 +4788,7 @@ ;; CHECK-NEXT: (local.set $6 ;; CHECK-NEXT: (if (result i32) ;; CHECK-NEXT: (i32.eq - ;; CHECK-NEXT: (i32.load8_s $0 + ;; CHECK-NEXT: (i32.load8_s ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 46) @@ -4797,7 +4797,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.ne ;; CHECK-NEXT: (local.tee $8 - ;; CHECK-NEXT: (i32.load8_s $0 + ;; CHECK-NEXT: (i32.load8_s ;; CHECK-NEXT: (local.tee $6 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $10) @@ -4854,7 +4854,7 @@ ;; CHECK-NEXT: (i32.ge_u ;; CHECK-NEXT: (local.tee $6 ;; CHECK-NEXT: (i32.sub - ;; CHECK-NEXT: (i32.load8_s $0 + ;; CHECK-NEXT: (i32.load8_s ;; CHECK-NEXT: (local.tee $10 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $10) @@ -4877,7 +4877,7 @@ ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.tee $8 ;; CHECK-NEXT: (i32.sub - ;; CHECK-NEXT: (i32.load8_s $0 + ;; CHECK-NEXT: (i32.load8_s ;; CHECK-NEXT: (local.tee $6 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $10) @@ -4892,13 +4892,13 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq - ;; CHECK-NEXT: (i32.load8_s $0 offset=3 + ;; CHECK-NEXT: (i32.load8_s offset=3 ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 36) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.shl @@ -4909,13 +4909,13 @@ ;; CHECK-NEXT: (i32.const 10) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load $0 offset=4 + ;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (local.tee $6 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (i32.shl ;; CHECK-NEXT: (i32.sub - ;; CHECK-NEXT: (i32.load8_s $0 + ;; CHECK-NEXT: (i32.load8_s ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 48) @@ -4933,7 +4933,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (br $label$break$L46 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -4953,11 +4953,11 @@ ;; CHECK-NEXT: (local.get $29) ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (local.set $8 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $10 ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 3) @@ -4967,7 +4967,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $10) @@ -5001,7 +5001,7 @@ ;; CHECK-NEXT: (i32.gt_u ;; CHECK-NEXT: (local.tee $12 ;; CHECK-NEXT: (i32.sub - ;; CHECK-NEXT: (i32.load8_s $0 + ;; CHECK-NEXT: (i32.load8_s ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 65) @@ -5028,7 +5028,7 @@ ;; CHECK-NEXT: (local.tee $12 ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (local.tee $15 - ;; CHECK-NEXT: (i32.load8_s $0 + ;; CHECK-NEXT: (i32.load8_s ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (i32.mul @@ -5103,7 +5103,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.get $17) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.shl @@ -5114,7 +5114,7 @@ ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $15 - ;; CHECK-NEXT: (i32.load $0 offset=4 + ;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (local.tee $12 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $3) @@ -5126,13 +5126,13 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $13) - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=4 + ;; CHECK-NEXT: (i32.store offset=4 ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: (local.get $15) ;; CHECK-NEXT: ) @@ -5231,7 +5231,7 @@ ;; CHECK-NEXT: (select ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (local.tee $8 - ;; CHECK-NEXT: (i32.load8_s $0 + ;; CHECK-NEXT: (i32.load8_s ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -5269,8 +5269,8 @@ ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $18) @@ -5283,8 +5283,8 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (br $label$continue$L1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $18) @@ -5297,15 +5297,15 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (br $label$continue$L1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.tee $5 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $18) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=4 + ;; CHECK-NEXT: (i32.store offset=4 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (i32.shr_s ;; CHECK-NEXT: (i32.shl @@ -5326,8 +5326,8 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (br $label$continue$L1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.store16 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $18) @@ -5340,8 +5340,8 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (br $label$continue$L1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.store8 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $18) @@ -5354,8 +5354,8 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (br $label$continue$L1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $18) @@ -5368,15 +5368,15 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (br $label$continue$L1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.tee $5 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $18) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=4 + ;; CHECK-NEXT: (i32.store offset=4 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (i32.shr_s ;; CHECK-NEXT: (i32.shl @@ -5434,12 +5434,12 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (local.tee $5 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.tee $7 - ;; CHECK-NEXT: (i32.load $0 offset=4 + ;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -5449,7 +5449,7 @@ ;; CHECK-NEXT: (local.get $23) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (loop $while-in32 - ;; CHECK-NEXT: (i32.store8 $0 + ;; CHECK-NEXT: (i32.store8 ;; CHECK-NEXT: (local.tee $8 ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (local.get $8) @@ -5528,14 +5528,14 @@ ;; CHECK-NEXT: (br $__rjti$8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $5 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_s ;; CHECK-NEXT: (local.tee $7 - ;; CHECK-NEXT: (i32.load $0 offset=4 + ;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -5554,7 +5554,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: (local.tee $5 ;; CHECK-NEXT: (i32.sub @@ -5563,7 +5563,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=4 + ;; CHECK-NEXT: (i32.store offset=4 ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: (local.tee $7 ;; CHECK-NEXT: (global.get $tempRet0) @@ -5605,12 +5605,12 @@ ;; CHECK-NEXT: (br $__rjti$4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $5 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $7 - ;; CHECK-NEXT: (i32.load $0 offset=4 + ;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -5623,13 +5623,13 @@ ;; CHECK-NEXT: (br $__rjti$4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load $0 offset=4 + ;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 + ;; CHECK-NEXT: (i32.store8 ;; CHECK-NEXT: (local.get $36) - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -5653,7 +5653,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $5 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (call $___errno_location) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -5666,7 +5666,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.ne ;; CHECK-NEXT: (local.get $5) - ;; CHECK-NEXT: (i32.load8_u $0 offset=687 + ;; CHECK-NEXT: (i32.load8_u offset=687 ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -5710,7 +5710,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if (result i32) - ;; CHECK-NEXT: (i32.load8_s $0 + ;; CHECK-NEXT: (i32.load8_s ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block @@ -5738,7 +5738,7 @@ ;; CHECK-NEXT: (local.set $5 ;; CHECK-NEXT: (select ;; CHECK-NEXT: (local.tee $5 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -5749,21 +5749,21 @@ ;; CHECK-NEXT: (br $__rjti$5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load $0 offset=4 + ;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $37) - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $39) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: (local.get $37) ;; CHECK-NEXT: ) @@ -5795,29 +5795,29 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $14 - ;; CHECK-NEXT: (f64.load $0 + ;; CHECK-NEXT: (f64.load ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $21) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (f64.store $0 + ;; CHECK-NEXT: (f64.store ;; CHECK-NEXT: (local.tee $5 ;; CHECK-NEXT: (global.get $tempDoublePtr) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $14) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $30 ;; CHECK-NEXT: (if (result i32) ;; CHECK-NEXT: (i32.lt_s - ;; CHECK-NEXT: (i32.load $0 offset=4 + ;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 0) @@ -5862,14 +5862,14 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (f64.store $0 + ;; CHECK-NEXT: (f64.store ;; CHECK-NEXT: (local.tee $5 ;; CHECK-NEXT: (global.get $tempDoublePtr) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $14) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -5877,7 +5877,7 @@ ;; CHECK-NEXT: (if (result i32) ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load $0 offset=4 + ;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 2146435072) @@ -5900,10 +5900,10 @@ ;; CHECK-NEXT: (f64.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $21) ;; CHECK-NEXT: (i32.sub - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $21) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 1) @@ -5993,7 +5993,7 @@ ;; CHECK-NEXT: (local.get $14) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.eq - ;; CHECK-NEXT: (i32.load8_s $0 + ;; CHECK-NEXT: (i32.load8_s ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 45) @@ -6017,7 +6017,7 @@ ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (local.tee $7 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $21) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -6045,7 +6045,7 @@ ;; CHECK-NEXT: (local.get $24) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store8 $0 + ;; CHECK-NEXT: (i32.store8 ;; CHECK-NEXT: (local.get $38) ;; CHECK-NEXT: (i32.const 48) ;; CHECK-NEXT: ) @@ -6054,7 +6054,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 + ;; CHECK-NEXT: (i32.store8 ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (i32.const 1) @@ -6070,7 +6070,7 @@ ;; CHECK-NEXT: (i32.const 43) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 + ;; CHECK-NEXT: (i32.store8 ;; CHECK-NEXT: (local.tee $8 ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (local.get $5) @@ -6100,10 +6100,10 @@ ;; CHECK-NEXT: (local.get $22) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (loop $while-in56 - ;; CHECK-NEXT: (i32.store8 $0 + ;; CHECK-NEXT: (i32.store8 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load8_u $0 + ;; CHECK-NEXT: (i32.load8_u ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.tee $7 ;; CHECK-NEXT: (if (result i32) @@ -6175,7 +6175,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: (block (result i32) - ;; CHECK-NEXT: (i32.store8 $0 + ;; CHECK-NEXT: (i32.store8 ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: (i32.const 46) ;; CHECK-NEXT: ) @@ -6240,7 +6240,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 32) @@ -6273,7 +6273,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 32) @@ -6308,7 +6308,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 32) @@ -6348,11 +6348,11 @@ ;; CHECK-NEXT: (if (result f64) ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (block (result f64) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $21) ;; CHECK-NEXT: (local.tee $5 ;; CHECK-NEXT: (i32.sub - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $21) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 28) @@ -6366,7 +6366,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block (result f64) ;; CHECK-NEXT: (local.set $5 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $21) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -6387,7 +6387,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (loop $while-in60 - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: (local.tee $5 ;; CHECK-NEXT: (if (result i32) @@ -6442,7 +6442,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_s ;; CHECK-NEXT: (local.tee $11 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $21) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -6483,7 +6483,7 @@ ;; CHECK-NEXT: (i32.gt_u ;; CHECK-NEXT: (local.tee $20 ;; CHECK-NEXT: (call $_bitshift64Shl - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 0) @@ -6500,7 +6500,7 @@ ;; CHECK-NEXT: (global.get $tempRet0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: (call $___uremdi3 ;; CHECK-NEXT: (local.get $12) @@ -6536,7 +6536,7 @@ ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.tee $5 ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (local.get $5) @@ -6555,7 +6555,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $11 ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (local.get $7) @@ -6573,11 +6573,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $21) ;; CHECK-NEXT: (local.tee $11 ;; CHECK-NEXT: (i32.sub - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $21) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $17) @@ -6681,13 +6681,13 @@ ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (loop $while-in74 - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.tee $11 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -6723,7 +6723,7 @@ ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -6733,7 +6733,7 @@ ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: ) @@ -6751,7 +6751,7 @@ ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -6785,11 +6785,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $21) ;; CHECK-NEXT: (local.tee $11 ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $21) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $17) @@ -6848,7 +6848,7 @@ ;; CHECK-NEXT: (br_if $do-once75 ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.tee $8 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -6988,7 +6988,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $8 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $6 ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (i32.add @@ -7080,7 +7080,7 @@ ;; CHECK-NEXT: (local.get $28) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq - ;; CHECK-NEXT: (i32.load8_s $0 + ;; CHECK-NEXT: (i32.load8_s ;; CHECK-NEXT: (local.get $30) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 45) @@ -7099,7 +7099,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.tee $8 ;; CHECK-NEXT: (i32.sub @@ -7117,7 +7117,7 @@ ;; CHECK-NEXT: (local.get $25) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.tee $7 ;; CHECK-NEXT: (i32.add @@ -7132,7 +7132,7 @@ ;; CHECK-NEXT: (i32.const 999999999) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (loop $while-in86 - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) @@ -7146,7 +7146,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.tee $5 ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (local.get $5) @@ -7156,11 +7156,11 @@ ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.tee $7 ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 1) @@ -7190,7 +7190,7 @@ ;; CHECK-NEXT: (br_if $do-once81 ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.tee $8 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -7276,7 +7276,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if (result i32) - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $7 ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (local.get $5) @@ -7377,7 +7377,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (local.tee $15 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: (i32.const 4) @@ -7610,7 +7610,7 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (loop $while-in98 - ;; CHECK-NEXT: (i32.store8 $0 + ;; CHECK-NEXT: (i32.store8 ;; CHECK-NEXT: (local.tee $6 ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (local.get $6) @@ -7630,7 +7630,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 + ;; CHECK-NEXT: (i32.store8 ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (i32.const 1) @@ -7646,7 +7646,7 @@ ;; CHECK-NEXT: (i32.const 43) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 + ;; CHECK-NEXT: (i32.store8 ;; CHECK-NEXT: (local.tee $15 ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (local.get $6) @@ -7668,7 +7668,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 32) @@ -7710,7 +7710,7 @@ ;; CHECK-NEXT: (loop $while-in102 ;; CHECK-NEXT: (local.set $7 ;; CHECK-NEXT: (call $_fmt_u - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 0) @@ -7730,7 +7730,7 @@ ;; CHECK-NEXT: (local.get $27) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 + ;; CHECK-NEXT: (i32.store8 ;; CHECK-NEXT: (local.get $32) ;; CHECK-NEXT: (i32.const 48) ;; CHECK-NEXT: ) @@ -7746,7 +7746,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (loop $while-in106 - ;; CHECK-NEXT: (i32.store8 $0 + ;; CHECK-NEXT: (i32.store8 ;; CHECK-NEXT: (local.tee $7 ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (local.get $7) @@ -7768,7 +7768,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 32) @@ -7808,7 +7808,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 32) @@ -7843,7 +7843,7 @@ ;; CHECK-NEXT: (i32.gt_u ;; CHECK-NEXT: (local.tee $6 ;; CHECK-NEXT: (call $_fmt_u - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 0) @@ -7853,7 +7853,7 @@ ;; CHECK-NEXT: (local.get $22) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (loop $while-in112 - ;; CHECK-NEXT: (i32.store8 $0 + ;; CHECK-NEXT: (i32.store8 ;; CHECK-NEXT: (local.tee $6 ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (local.get $6) @@ -7873,7 +7873,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 32) @@ -7970,7 +7970,7 @@ ;; CHECK-NEXT: (i32.eq ;; CHECK-NEXT: (local.tee $5 ;; CHECK-NEXT: (call $_fmt_u - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 0) @@ -7980,7 +7980,7 @@ ;; CHECK-NEXT: (local.get $27) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store8 $0 + ;; CHECK-NEXT: (i32.store8 ;; CHECK-NEXT: (local.get $32) ;; CHECK-NEXT: (i32.const 48) ;; CHECK-NEXT: ) @@ -7999,7 +7999,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 32) @@ -8030,7 +8030,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (br_if $do-once115 ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 32) @@ -8052,7 +8052,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (loop $while-in118 - ;; CHECK-NEXT: (i32.store8 $0 + ;; CHECK-NEXT: (i32.store8 ;; CHECK-NEXT: (local.tee $5 ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (local.get $5) @@ -8080,7 +8080,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 32) @@ -8135,7 +8135,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (br_if $do-once99 ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 32) @@ -8200,7 +8200,7 @@ ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (local.tee $5 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -8216,7 +8216,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $5 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -8314,12 +8314,12 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (local.tee $5 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.tee $9 - ;; CHECK-NEXT: (i32.load $0 offset=4 + ;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -8330,7 +8330,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $5 ;; CHECK-NEXT: (loop $while-in123 (result i32) - ;; CHECK-NEXT: (i32.store8 $0 + ;; CHECK-NEXT: (i32.store8 ;; CHECK-NEXT: (local.tee $8 ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (local.get $8) @@ -8338,7 +8338,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load8_u $0 + ;; CHECK-NEXT: (i32.load8_u ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (local.get $5) @@ -8378,10 +8378,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load $0 offset=4 + ;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -8461,7 +8461,7 @@ ;; CHECK-NEXT: (loop $while-in12 ;; CHECK-NEXT: (br_if $__rjti$29 ;; CHECK-NEXT: (i32.eqz - ;; CHECK-NEXT: (i32.load8_u $0 + ;; CHECK-NEXT: (i32.load8_u ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -8511,7 +8511,7 @@ ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if - ;; CHECK-NEXT: (i32.load8_u $0 + ;; CHECK-NEXT: (i32.load8_u ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block @@ -8530,7 +8530,7 @@ ;; CHECK-NEXT: (i32.xor ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (local.tee $7 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -8584,7 +8584,7 @@ ;; CHECK-NEXT: (loop $while-in5 (result i32) ;; CHECK-NEXT: (br_if $label$break$L8 ;; CHECK-NEXT: (i32.eqz - ;; CHECK-NEXT: (i32.load8_u $0 + ;; CHECK-NEXT: (i32.load8_u ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -8659,7 +8659,7 @@ ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $6 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -8668,7 +8668,7 @@ ;; CHECK-NEXT: (br_if $while-out124 ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (local.tee $11 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -8739,7 +8739,7 @@ ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $7 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -8749,7 +8749,7 @@ ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (local.tee $8 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -8778,7 +8778,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 32) @@ -8851,10 +8851,10 @@ ;; CHECK-NEXT: (local.tee $12 ;; CHECK-NEXT: (i32.ne ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load $0 offset=4 + ;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -8918,7 +8918,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 32) @@ -8952,7 +8952,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 32) @@ -9001,7 +9001,7 @@ ;; CHECK-NEXT: (loop $while-in130 ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.shl @@ -9048,7 +9048,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (loop $while-in132 (result i32) ;; CHECK-NEXT: (if - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.shl @@ -14037,11 +14037,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $3 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $1 ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 3) @@ -14051,25 +14051,25 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (br $label$break$L1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $3 ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 3) @@ -14079,18 +14079,18 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=4 + ;; CHECK-NEXT: (i32.store offset=4 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.shr_s ;; CHECK-NEXT: (i32.shl @@ -14106,11 +14106,11 @@ ;; CHECK-NEXT: (br $label$break$L1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $3 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $1 ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 3) @@ -14120,30 +14120,30 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=4 + ;; CHECK-NEXT: (i32.store offset=4 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (br $label$break$L1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $5 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $3 ;; CHECK-NEXT: (local.tee $1 ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 7) @@ -14155,33 +14155,33 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $3 - ;; CHECK-NEXT: (i32.load $0 offset=4 + ;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=4 + ;; CHECK-NEXT: (i32.store offset=4 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (br $label$break$L1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $3 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $1 ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 3) @@ -14191,14 +14191,14 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.tee $1 ;; CHECK-NEXT: (i32.shr_s @@ -14213,7 +14213,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=4 + ;; CHECK-NEXT: (i32.store offset=4 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.shr_s ;; CHECK-NEXT: (i32.shl @@ -14229,11 +14229,11 @@ ;; CHECK-NEXT: (br $label$break$L1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $3 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $1 ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 3) @@ -14243,32 +14243,32 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (i32.const 65535) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=4 + ;; CHECK-NEXT: (i32.store offset=4 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (br $label$break$L1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $3 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $1 ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 3) @@ -14278,14 +14278,14 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.tee $1 ;; CHECK-NEXT: (i32.shr_s @@ -14300,7 +14300,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=4 + ;; CHECK-NEXT: (i32.store offset=4 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.shr_s ;; CHECK-NEXT: (i32.shl @@ -14316,11 +14316,11 @@ ;; CHECK-NEXT: (br $label$break$L1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $3 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $1 ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 3) @@ -14330,32 +14330,32 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (i32.const 255) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=4 + ;; CHECK-NEXT: (i32.store offset=4 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (br $label$break$L1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $4 - ;; CHECK-NEXT: (f64.load $0 + ;; CHECK-NEXT: (f64.load ;; CHECK-NEXT: (local.tee $1 ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 7) @@ -14365,25 +14365,25 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (f64.store $0 + ;; CHECK-NEXT: (f64.store ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (br $label$break$L1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $4 - ;; CHECK-NEXT: (f64.load $0 + ;; CHECK-NEXT: (f64.load ;; CHECK-NEXT: (local.tee $1 ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 7) @@ -14393,14 +14393,14 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (f64.store $0 + ;; CHECK-NEXT: (f64.store ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) @@ -14813,7 +14813,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (loop $while-in - ;; CHECK-NEXT: (i32.store8 $0 + ;; CHECK-NEXT: (i32.store8 ;; CHECK-NEXT: (local.tee $2 ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (local.get $2) @@ -14858,7 +14858,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (loop $while-in1 - ;; CHECK-NEXT: (i32.store8 $0 + ;; CHECK-NEXT: (i32.store8 ;; CHECK-NEXT: (local.tee $2 ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (local.get $2) @@ -15078,7 +15078,7 @@ ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -15104,7 +15104,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -15345,7 +15345,7 @@ ;; CHECK-NEXT: (local.tee $5 ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.tee $11 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 176) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -15376,11 +15376,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block275 ;; CHECK-NEXT: (local.set $10 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $1 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.tee $7 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $3 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.tee $2 @@ -15418,7 +15418,7 @@ ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 176) ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (local.get $11) @@ -15435,7 +15435,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $10) - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -15443,7 +15443,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $10) @@ -15454,11 +15454,11 @@ ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block280 - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: ) @@ -15467,7 +15467,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=4 + ;; CHECK-NEXT: (i32.store offset=4 ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (local.tee $0 @@ -15479,7 +15479,7 @@ ;; CHECK-NEXT: (i32.const 3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (i32.add @@ -15490,7 +15490,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 1) @@ -15505,7 +15505,7 @@ ;; CHECK-NEXT: (i32.gt_u ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (local.tee $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 184) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -15554,11 +15554,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $9 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $7 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.tee $12 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $3 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.tee $10 @@ -15658,7 +15658,7 @@ ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block286 - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 176) ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (local.get $11) @@ -15679,7 +15679,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $9) - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -15687,7 +15687,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $9) @@ -15698,16 +15698,16 @@ ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block290 - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $8 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 184) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -15716,14 +15716,14 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=4 + ;; CHECK-NEXT: (i32.store offset=4 ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.const 3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=4 + ;; CHECK-NEXT: (i32.store offset=4 ;; CHECK-NEXT: (local.tee $10 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $12) @@ -15743,7 +15743,7 @@ ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: (local.get $5) @@ -15754,7 +15754,7 @@ ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: (block $block292 ;; CHECK-NEXT: (local.set $12 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 196) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -15775,7 +15775,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (local.tee $3 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 176) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -15789,7 +15789,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.tee $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $3 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $4) @@ -15798,7 +15798,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -15813,7 +15813,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block296 - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 176) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (local.get $3) @@ -15831,29 +15831,29 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=12 + ;; CHECK-NEXT: (i32.store offset=12 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=8 + ;; CHECK-NEXT: (i32.store offset=8 ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=12 + ;; CHECK-NEXT: (i32.store offset=12 ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 184) ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 196) ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: ) @@ -15864,7 +15864,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.tee $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 180) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -15892,9 +15892,9 @@ ;; CHECK-NEXT: (local.set $7 ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load $0 offset=4 + ;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (local.tee $0 - ;; CHECK-NEXT: (i32.load $0 offset=480 + ;; CHECK-NEXT: (i32.load offset=480 ;; CHECK-NEXT: (i32.shl ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (i32.or @@ -15988,7 +15988,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (local.tee $0 - ;; CHECK-NEXT: (i32.load $0 offset=16 + ;; CHECK-NEXT: (i32.load offset=16 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -15996,7 +15996,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (local.tee $0 - ;; CHECK-NEXT: (i32.load $0 offset=20 + ;; CHECK-NEXT: (i32.load offset=20 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -16017,7 +16017,7 @@ ;; CHECK-NEXT: (local.tee $1 ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load $0 offset=4 + ;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -8) @@ -16052,7 +16052,7 @@ ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (local.tee $12 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -16072,7 +16072,7 @@ ;; CHECK-NEXT: (call $_abort) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $8 - ;; CHECK-NEXT: (i32.load $0 offset=24 + ;; CHECK-NEXT: (i32.load offset=24 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -16080,7 +16080,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq ;; CHECK-NEXT: (local.tee $0 - ;; CHECK-NEXT: (i32.load $0 offset=12 + ;; CHECK-NEXT: (i32.load offset=12 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -16090,7 +16090,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $5) @@ -16103,7 +16103,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $5) @@ -16124,7 +16124,7 @@ ;; CHECK-NEXT: (loop $while-in7 ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.tee $2 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $7 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $1) @@ -16145,7 +16145,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.tee $2 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $7 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $1) @@ -16172,7 +16172,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $_abort) ;; CHECK-NEXT: (block $block314 - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) @@ -16186,7 +16186,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.tee $7 - ;; CHECK-NEXT: (i32.load $0 offset=8 + ;; CHECK-NEXT: (i32.load offset=8 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -16196,7 +16196,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.ne - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $2 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $7) @@ -16210,7 +16210,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $1 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) @@ -16221,11 +16221,11 @@ ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block319 - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: ) @@ -16245,12 +16245,12 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq ;; CHECK-NEXT: (local.get $5) - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (i32.shl ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load $0 offset=28 + ;; CHECK-NEXT: (i32.load offset=28 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -16262,7 +16262,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block323 - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) @@ -16271,10 +16271,10 @@ ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block325 - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 180) ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 180) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.xor @@ -16294,7 +16294,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $8) - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -16302,7 +16302,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $8) @@ -16312,11 +16312,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=20 + ;; CHECK-NEXT: (i32.store offset=20 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) @@ -16332,20 +16332,20 @@ ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: (local.tee $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $_abort) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=24 + ;; CHECK-NEXT: (i32.store offset=24 ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load $0 offset=16 + ;; CHECK-NEXT: (i32.load offset=16 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -16356,11 +16356,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $_abort) ;; CHECK-NEXT: (block $block332 - ;; CHECK-NEXT: (i32.store $0 offset=16 + ;; CHECK-NEXT: (i32.store offset=16 ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=24 + ;; CHECK-NEXT: (i32.store offset=24 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) @@ -16369,24 +16369,24 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.tee $0 - ;; CHECK-NEXT: (i32.load $0 offset=20 + ;; CHECK-NEXT: (i32.load offset=20 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $0) - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $_abort) ;; CHECK-NEXT: (block $block335 - ;; CHECK-NEXT: (i32.store $0 offset=20 + ;; CHECK-NEXT: (i32.store offset=20 ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=24 + ;; CHECK-NEXT: (i32.store offset=24 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) @@ -16402,7 +16402,7 @@ ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block337 - ;; CHECK-NEXT: (i32.store $0 offset=4 + ;; CHECK-NEXT: (i32.store offset=4 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (local.tee $0 @@ -16414,7 +16414,7 @@ ;; CHECK-NEXT: (i32.const 3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (i32.add @@ -16425,7 +16425,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 1) @@ -16433,21 +16433,21 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block338 - ;; CHECK-NEXT: (i32.store $0 offset=4 + ;; CHECK-NEXT: (i32.store offset=4 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.const 3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=4 + ;; CHECK-NEXT: (i32.store offset=4 ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: (local.get $10) @@ -16456,13 +16456,13 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.tee $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 184) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block340 ;; CHECK-NEXT: (local.set $4 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 196) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -16483,7 +16483,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 176) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -16497,7 +16497,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.tee $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $1 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $2) @@ -16506,7 +16506,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -16521,7 +16521,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block344 - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 176) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (local.get $1) @@ -16539,29 +16539,29 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=12 + ;; CHECK-NEXT: (i32.store offset=12 ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=8 + ;; CHECK-NEXT: (i32.store offset=8 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=12 + ;; CHECK-NEXT: (i32.store offset=12 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 184) ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 196) ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: ) @@ -16606,7 +16606,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.tee $18 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 180) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -16718,7 +16718,7 @@ ;; CHECK-NEXT: (block $__rjti$3 ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.tee $0 - ;; CHECK-NEXT: (i32.load $0 offset=480 + ;; CHECK-NEXT: (i32.load offset=480 ;; CHECK-NEXT: (i32.shl ;; CHECK-NEXT: (local.get $14) ;; CHECK-NEXT: (i32.const 2) @@ -16758,7 +16758,7 @@ ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (local.tee $9 ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load $0 offset=4 + ;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -8) @@ -16797,7 +16797,7 @@ ;; CHECK-NEXT: (select ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.tee $4 - ;; CHECK-NEXT: (i32.load $0 offset=20 + ;; CHECK-NEXT: (i32.load offset=20 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -16808,7 +16808,7 @@ ;; CHECK-NEXT: (i32.eq ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (local.tee $9 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) @@ -16933,7 +16933,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $4 - ;; CHECK-NEXT: (i32.load $0 offset=480 + ;; CHECK-NEXT: (i32.load offset=480 ;; CHECK-NEXT: (i32.shl ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (i32.or @@ -17035,7 +17035,7 @@ ;; CHECK-NEXT: (local.tee $4 ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load $0 offset=4 + ;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -8) @@ -17062,7 +17062,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.tee $4 - ;; CHECK-NEXT: (i32.load $0 offset=16 + ;; CHECK-NEXT: (i32.load offset=16 ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -17075,7 +17075,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (br_if $while-in16 ;; CHECK-NEXT: (local.tee $3 - ;; CHECK-NEXT: (i32.load $0 offset=20 + ;; CHECK-NEXT: (i32.load offset=20 ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -17094,7 +17094,7 @@ ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (i32.sub - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 184) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $2) @@ -17105,7 +17105,7 @@ ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (local.tee $12 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -17125,7 +17125,7 @@ ;; CHECK-NEXT: (call $_abort) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $9 - ;; CHECK-NEXT: (i32.load $0 offset=24 + ;; CHECK-NEXT: (i32.load offset=24 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -17133,7 +17133,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq ;; CHECK-NEXT: (local.tee $0 - ;; CHECK-NEXT: (i32.load $0 offset=12 + ;; CHECK-NEXT: (i32.load offset=12 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -17143,7 +17143,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $4) @@ -17156,7 +17156,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $4) @@ -17177,7 +17177,7 @@ ;; CHECK-NEXT: (loop $while-in20 ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.tee $7 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $10 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $1) @@ -17198,7 +17198,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.tee $7 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $10 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $1) @@ -17225,7 +17225,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $_abort) ;; CHECK-NEXT: (block $block384 - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) @@ -17239,7 +17239,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.tee $10 - ;; CHECK-NEXT: (i32.load $0 offset=8 + ;; CHECK-NEXT: (i32.load offset=8 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -17249,7 +17249,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.ne - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $7 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $10) @@ -17263,7 +17263,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $1 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) @@ -17274,11 +17274,11 @@ ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block389 - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: ) @@ -17298,12 +17298,12 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq ;; CHECK-NEXT: (local.get $4) - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (i32.shl ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load $0 offset=28 + ;; CHECK-NEXT: (i32.load offset=28 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -17315,7 +17315,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block393 - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: ) @@ -17324,10 +17324,10 @@ ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block395 - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 180) ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 180) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.xor @@ -17347,7 +17347,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $9) - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -17355,7 +17355,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $9) @@ -17365,11 +17365,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=20 + ;; CHECK-NEXT: (i32.store offset=20 ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: ) @@ -17385,20 +17385,20 @@ ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: (local.tee $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $_abort) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=24 + ;; CHECK-NEXT: (i32.store offset=24 ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load $0 offset=16 + ;; CHECK-NEXT: (i32.load offset=16 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -17409,11 +17409,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $_abort) ;; CHECK-NEXT: (block $block402 - ;; CHECK-NEXT: (i32.store $0 offset=16 + ;; CHECK-NEXT: (i32.store offset=16 ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=24 + ;; CHECK-NEXT: (i32.store offset=24 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: ) @@ -17422,24 +17422,24 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.tee $0 - ;; CHECK-NEXT: (i32.load $0 offset=20 + ;; CHECK-NEXT: (i32.load offset=20 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $0) - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $_abort) ;; CHECK-NEXT: (block $block405 - ;; CHECK-NEXT: (i32.store $0 offset=20 + ;; CHECK-NEXT: (i32.store offset=20 ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=24 + ;; CHECK-NEXT: (i32.store offset=24 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: ) @@ -17456,7 +17456,7 @@ ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block407 - ;; CHECK-NEXT: (i32.store $0 offset=4 + ;; CHECK-NEXT: (i32.store offset=4 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (local.tee $0 @@ -17468,7 +17468,7 @@ ;; CHECK-NEXT: (i32.const 3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (i32.add @@ -17479,7 +17479,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 1) @@ -17487,21 +17487,21 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block408 - ;; CHECK-NEXT: (i32.store $0 offset=4 + ;; CHECK-NEXT: (i32.store offset=4 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.const 3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=4 + ;; CHECK-NEXT: (i32.store offset=4 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.get $3) @@ -17532,7 +17532,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 176) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -17546,7 +17546,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.tee $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $1 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $3) @@ -17555,7 +17555,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -17570,7 +17570,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block414 - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 176) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (local.get $1) @@ -17588,19 +17588,19 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=12 + ;; CHECK-NEXT: (i32.store offset=12 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=8 + ;; CHECK-NEXT: (i32.store offset=8 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=12 + ;; CHECK-NEXT: (i32.store offset=12 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) @@ -17712,11 +17712,11 @@ ;; CHECK-NEXT: (i32.const 480) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=28 + ;; CHECK-NEXT: (i32.store offset=28 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=4 + ;; CHECK-NEXT: (i32.store offset=4 ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $6) @@ -17725,7 +17725,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) @@ -17733,7 +17733,7 @@ ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 180) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -17746,26 +17746,26 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block418 - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 180) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=24 + ;; CHECK-NEXT: (i32.store offset=24 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=12 + ;; CHECK-NEXT: (i32.store offset=12 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=8 + ;; CHECK-NEXT: (i32.store offset=8 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) @@ -17792,7 +17792,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -17802,7 +17802,7 @@ ;; CHECK-NEXT: (br_if $__rjti$1 ;; CHECK-NEXT: (i32.eq ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load $0 offset=4 + ;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -8) @@ -17818,7 +17818,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $7 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (i32.add @@ -17850,25 +17850,25 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $7) - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $_abort) ;; CHECK-NEXT: (block $block422 - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=24 + ;; CHECK-NEXT: (i32.store offset=24 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=12 + ;; CHECK-NEXT: (i32.store offset=12 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=8 + ;; CHECK-NEXT: (i32.store offset=8 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) @@ -17881,7 +17881,7 @@ ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (i32.ge_u ;; CHECK-NEXT: (local.tee $2 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $3 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) @@ -17891,7 +17891,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -17902,23 +17902,23 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block424 - ;; CHECK-NEXT: (i32.store $0 offset=12 + ;; CHECK-NEXT: (i32.store offset=12 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=8 + ;; CHECK-NEXT: (i32.store offset=8 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=12 + ;; CHECK-NEXT: (i32.store offset=12 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=24 + ;; CHECK-NEXT: (i32.store offset=24 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) @@ -17956,7 +17956,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.ge_u ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 184) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -17964,7 +17964,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block426 ;; CHECK-NEXT: (local.set $2 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 196) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -17979,7 +17979,7 @@ ;; CHECK-NEXT: (i32.const 15) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block428 - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 196) ;; CHECK-NEXT: (local.tee $1 ;; CHECK-NEXT: (i32.add @@ -17988,25 +17988,25 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 184) ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=4 + ;; CHECK-NEXT: (i32.store offset=4 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=4 + ;; CHECK-NEXT: (i32.store offset=4 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (local.get $0) @@ -18015,22 +18015,22 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block429 - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 184) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 196) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=4 + ;; CHECK-NEXT: (i32.store offset=4 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (i32.const 3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (i32.add @@ -18041,7 +18041,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 1) @@ -18060,7 +18060,7 @@ ;; CHECK-NEXT: (br_if $folding-inner0 ;; CHECK-NEXT: (i32.gt_u ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 188) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -18069,7 +18069,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 648) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -18087,31 +18087,31 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $_abort) ;; CHECK-NEXT: (block $block432 - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 656) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 652) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 660) ;; CHECK-NEXT: (i32.const -1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 664) ;; CHECK-NEXT: (i32.const -1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 668) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 620) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 648) ;; CHECK-NEXT: (i32.xor ;; CHECK-NEXT: (i32.and @@ -18133,7 +18133,7 @@ ;; CHECK-NEXT: (local.tee $6 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 656) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -18161,7 +18161,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.tee $2 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 616) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -18171,7 +18171,7 @@ ;; CHECK-NEXT: (local.tee $1 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.tee $3 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 608) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -18201,7 +18201,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 620) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -18214,7 +18214,7 @@ ;; CHECK-NEXT: (br_if $__rjti$4 ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (local.tee $4 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 200) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -18228,7 +18228,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.le_u ;; CHECK-NEXT: (local.tee $3 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -18238,7 +18238,7 @@ ;; CHECK-NEXT: (i32.gt_u ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $3) - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $2 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $1) @@ -18259,7 +18259,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (br_if $while-in34 ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load $0 offset=8 + ;; CHECK-NEXT: (i32.load offset=8 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -18273,7 +18273,7 @@ ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (local.get $6) - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 188) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -18290,10 +18290,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -18330,7 +18330,7 @@ ;; CHECK-NEXT: (local.tee $2 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.tee $4 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 652) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -18363,7 +18363,7 @@ ;; CHECK-NEXT: (local.set $9 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.tee $4 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 608) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -18384,7 +18384,7 @@ ;; CHECK-NEXT: (block $block448 ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.tee $2 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 616) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -18454,7 +18454,7 @@ ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.tee $3 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 656) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -18510,10 +18510,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 620) ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 620) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -18569,11 +18569,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (br $__rjto$13) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 608) ;; CHECK-NEXT: (local.tee $2 ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 608) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $3) @@ -18583,11 +18583,11 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u ;; CHECK-NEXT: (local.get $2) - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 612) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 612) ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) @@ -18595,7 +18595,7 @@ ;; CHECK-NEXT: (block $do-once40 ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.tee $6 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 200) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -18611,12 +18611,12 @@ ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.tee $11 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.tee $5 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $4 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $2) @@ -18630,7 +18630,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (br_if $while-in45 ;; CHECK-NEXT: (local.tee $2 - ;; CHECK-NEXT: (i32.load $0 offset=8 + ;; CHECK-NEXT: (i32.load offset=8 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -18641,7 +18641,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load $0 offset=12 + ;; CHECK-NEXT: (i32.load offset=12 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -18659,7 +18659,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block463 - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $5) @@ -18698,36 +18698,36 @@ ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 188) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 200) ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 188) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=4 + ;; CHECK-NEXT: (i32.store offset=4 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=4 + ;; CHECK-NEXT: (i32.store offset=4 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 40) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 204) - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 664) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -18740,13 +18740,13 @@ ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (local.tee $4 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block465 - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) @@ -18769,7 +18769,7 @@ ;; CHECK-NEXT: (loop $while-in47 ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $11) @@ -18783,7 +18783,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (br_if $while-in47 ;; CHECK-NEXT: (local.tee $2 - ;; CHECK-NEXT: (i32.load $0 offset=8 + ;; CHECK-NEXT: (i32.load offset=8 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -18796,7 +18796,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load $0 offset=12 + ;; CHECK-NEXT: (i32.load offset=12 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) @@ -18805,11 +18805,11 @@ ;; CHECK-NEXT: (i32.const 624) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block469 - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.tee $2 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $2) @@ -18817,7 +18817,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $3) @@ -18884,7 +18884,7 @@ ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=4 + ;; CHECK-NEXT: (i32.store offset=4 ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (local.get $0) @@ -18898,22 +18898,22 @@ ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block471 - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 188) ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 188) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 200) ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=4 + ;; CHECK-NEXT: (i32.store offset=4 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (local.get $0) @@ -18925,34 +18925,34 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq ;; CHECK-NEXT: (local.get $5) - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 196) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block474 - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 184) ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 184) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 196) ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=4 + ;; CHECK-NEXT: (i32.store offset=4 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: (local.get $0) @@ -18962,7 +18962,7 @@ ;; CHECK-NEXT: (br $do-once48) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.tee $0 @@ -18970,7 +18970,7 @@ ;; CHECK-NEXT: (i32.eq ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (local.tee $0 - ;; CHECK-NEXT: (i32.load $0 offset=4 + ;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -18999,7 +18999,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block478 ;; CHECK-NEXT: (local.set $2 - ;; CHECK-NEXT: (i32.load $0 offset=12 + ;; CHECK-NEXT: (i32.load offset=12 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -19007,7 +19007,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.ne ;; CHECK-NEXT: (local.tee $3 - ;; CHECK-NEXT: (i32.load $0 offset=8 + ;; CHECK-NEXT: (i32.load offset=8 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -19031,7 +19031,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (br_if $do-once51 ;; CHECK-NEXT: (i32.eq - ;; CHECK-NEXT: (i32.load $0 offset=12 + ;; CHECK-NEXT: (i32.load offset=12 ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $5) @@ -19047,10 +19047,10 @@ ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block483 - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 176) ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 176) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.xor @@ -19087,7 +19087,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $2) @@ -19108,18 +19108,18 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=12 + ;; CHECK-NEXT: (i32.store offset=12 ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $15) ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block489 ;; CHECK-NEXT: (local.set $6 - ;; CHECK-NEXT: (i32.load $0 offset=24 + ;; CHECK-NEXT: (i32.load offset=24 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -19127,7 +19127,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq ;; CHECK-NEXT: (local.tee $0 - ;; CHECK-NEXT: (i32.load $0 offset=12 + ;; CHECK-NEXT: (i32.load offset=12 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -19137,7 +19137,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.tee $3 @@ -19154,7 +19154,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -19172,7 +19172,7 @@ ;; CHECK-NEXT: (loop $while-in58 ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.tee $3 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $2 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $1) @@ -19193,7 +19193,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.tee $3 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $2 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $1) @@ -19220,7 +19220,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $_abort) ;; CHECK-NEXT: (block $block500 - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) @@ -19234,7 +19234,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.tee $2 - ;; CHECK-NEXT: (i32.load $0 offset=8 + ;; CHECK-NEXT: (i32.load offset=8 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -19244,7 +19244,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.ne - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $3 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $2) @@ -19258,7 +19258,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $1 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) @@ -19269,11 +19269,11 @@ ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block505 - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) @@ -19295,12 +19295,12 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq ;; CHECK-NEXT: (local.get $5) - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (i32.shl ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load $0 offset=28 + ;; CHECK-NEXT: (i32.load offset=28 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -19312,17 +19312,17 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block507 - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (br_if $do-once59 ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 180) ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 180) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.xor @@ -19340,7 +19340,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $6) - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -19348,7 +19348,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $6) @@ -19358,11 +19358,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=20 + ;; CHECK-NEXT: (i32.store offset=20 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: ) @@ -19379,20 +19379,20 @@ ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $_abort) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=24 + ;; CHECK-NEXT: (i32.store offset=24 ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.tee $3 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $5) @@ -19408,11 +19408,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $_abort) ;; CHECK-NEXT: (block $block514 - ;; CHECK-NEXT: (i32.store $0 offset=16 + ;; CHECK-NEXT: (i32.store offset=16 ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=24 + ;; CHECK-NEXT: (i32.store offset=24 ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: ) @@ -19422,7 +19422,7 @@ ;; CHECK-NEXT: (br_if $label$break$L331 ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (local.tee $0 - ;; CHECK-NEXT: (i32.load $0 offset=4 + ;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -19431,17 +19431,17 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $0) - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $_abort) ;; CHECK-NEXT: (block $block516 - ;; CHECK-NEXT: (i32.store $0 offset=20 + ;; CHECK-NEXT: (i32.store offset=20 ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=24 + ;; CHECK-NEXT: (i32.store offset=24 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: ) @@ -19468,20 +19468,20 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=4 + ;; CHECK-NEXT: (i32.store offset=4 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: (local.get $7) @@ -19513,7 +19513,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 176) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -19528,7 +19528,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.ge_u ;; CHECK-NEXT: (local.tee $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $1 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $3) @@ -19537,7 +19537,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -19554,7 +19554,7 @@ ;; CHECK-NEXT: (call $_abort) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block523 - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 176) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (local.get $1) @@ -19573,19 +19573,19 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $16) ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=12 + ;; CHECK-NEXT: (i32.store offset=12 ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=8 + ;; CHECK-NEXT: (i32.store offset=8 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=12 + ;; CHECK-NEXT: (i32.store offset=12 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) @@ -19703,11 +19703,11 @@ ;; CHECK-NEXT: (i32.const 480) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=28 + ;; CHECK-NEXT: (i32.store offset=28 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=4 + ;; CHECK-NEXT: (i32.store offset=4 ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $8) @@ -19716,7 +19716,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) @@ -19724,7 +19724,7 @@ ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 180) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -19737,26 +19737,26 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block527 - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 180) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=24 + ;; CHECK-NEXT: (i32.store offset=24 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=12 + ;; CHECK-NEXT: (i32.store offset=12 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=8 + ;; CHECK-NEXT: (i32.store offset=8 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) @@ -19783,7 +19783,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -19793,7 +19793,7 @@ ;; CHECK-NEXT: (br_if $__rjti$7 ;; CHECK-NEXT: (i32.eq ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load $0 offset=4 + ;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -8) @@ -19809,7 +19809,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $2 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (i32.add @@ -19841,25 +19841,25 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $2) - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $_abort) ;; CHECK-NEXT: (block $block531 - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=24 + ;; CHECK-NEXT: (i32.store offset=24 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=12 + ;; CHECK-NEXT: (i32.store offset=12 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=8 + ;; CHECK-NEXT: (i32.store offset=8 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) @@ -19872,7 +19872,7 @@ ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (i32.ge_u ;; CHECK-NEXT: (local.tee $2 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $3 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) @@ -19882,7 +19882,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -19893,23 +19893,23 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block533 - ;; CHECK-NEXT: (i32.store $0 offset=12 + ;; CHECK-NEXT: (i32.store offset=12 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=8 + ;; CHECK-NEXT: (i32.store offset=8 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=12 + ;; CHECK-NEXT: (i32.store offset=12 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=24 + ;; CHECK-NEXT: (i32.store offset=24 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) @@ -19934,7 +19934,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.le_u ;; CHECK-NEXT: (local.tee $2 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -19945,7 +19945,7 @@ ;; CHECK-NEXT: (local.tee $2 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $2) - ;; CHECK-NEXT: (i32.load $0 offset=4 + ;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -19955,7 +19955,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $4 - ;; CHECK-NEXT: (i32.load $0 offset=8 + ;; CHECK-NEXT: (i32.load offset=8 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -20011,7 +20011,7 @@ ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 200) ;; CHECK-NEXT: (local.tee $5 ;; CHECK-NEXT: (i32.add @@ -20040,7 +20040,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 188) ;; CHECK-NEXT: (local.tee $4 ;; CHECK-NEXT: (i32.sub @@ -20052,27 +20052,27 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=4 + ;; CHECK-NEXT: (i32.store offset=4 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=4 + ;; CHECK-NEXT: (i32.store offset=4 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 40) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 204) - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 664) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.tee $4 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $11) @@ -20081,43 +20081,43 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 27) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $12) - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 624) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=4 + ;; CHECK-NEXT: (i32.store offset=4 ;; CHECK-NEXT: (local.get $12) - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 628) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=8 + ;; CHECK-NEXT: (i32.store offset=8 ;; CHECK-NEXT: (local.get $12) - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 632) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=12 + ;; CHECK-NEXT: (i32.store offset=12 ;; CHECK-NEXT: (local.get $12) - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 636) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 624) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 628) ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 636) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 632) ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: ) @@ -20128,7 +20128,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (loop $while-in72 - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.tee $1 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $1) @@ -20153,16 +20153,16 @@ ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block536 - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=4 + ;; CHECK-NEXT: (i32.store offset=4 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (local.tee $5 @@ -20174,7 +20174,7 @@ ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) @@ -20202,7 +20202,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (local.tee $3 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 176) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -20216,7 +20216,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $3 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $2) @@ -20225,7 +20225,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -20240,7 +20240,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block542 - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 176) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (local.get $3) @@ -20258,19 +20258,19 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $17) ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=12 + ;; CHECK-NEXT: (i32.store offset=12 ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=8 + ;; CHECK-NEXT: (i32.store offset=8 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=12 + ;; CHECK-NEXT: (i32.store offset=12 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) @@ -20382,15 +20382,15 @@ ;; CHECK-NEXT: (i32.const 480) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=28 + ;; CHECK-NEXT: (i32.store offset=28 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=20 + ;; CHECK-NEXT: (i32.store offset=20 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) @@ -20398,7 +20398,7 @@ ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (local.tee $3 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 180) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -20411,26 +20411,26 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block546 - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 180) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=24 + ;; CHECK-NEXT: (i32.store offset=24 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=12 + ;; CHECK-NEXT: (i32.store offset=12 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=8 + ;; CHECK-NEXT: (i32.store offset=8 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) @@ -20457,7 +20457,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -20467,7 +20467,7 @@ ;; CHECK-NEXT: (br_if $__rjti$9 ;; CHECK-NEXT: (i32.eq ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load $0 offset=4 + ;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -8) @@ -20483,7 +20483,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.tee $3 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $4 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (i32.add @@ -20515,25 +20515,25 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $4) - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $_abort) ;; CHECK-NEXT: (block $block550 - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=24 + ;; CHECK-NEXT: (i32.store offset=24 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=12 + ;; CHECK-NEXT: (i32.store offset=12 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=8 + ;; CHECK-NEXT: (i32.store offset=8 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) @@ -20546,7 +20546,7 @@ ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (i32.ge_u ;; CHECK-NEXT: (local.tee $4 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $2 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $1) @@ -20556,7 +20556,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.tee $3 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -20567,23 +20567,23 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block552 - ;; CHECK-NEXT: (i32.store $0 offset=12 + ;; CHECK-NEXT: (i32.store offset=12 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=8 + ;; CHECK-NEXT: (i32.store offset=8 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=12 + ;; CHECK-NEXT: (i32.store offset=12 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=24 + ;; CHECK-NEXT: (i32.store offset=24 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) @@ -20599,7 +20599,7 @@ ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (local.tee $2 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -20609,30 +20609,30 @@ ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 624) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 628) ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 636) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 212) - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 648) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 208) ;; CHECK-NEXT: (i32.const -1) ;; CHECK-NEXT: ) @@ -20640,7 +20640,7 @@ ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (loop $while-in43 - ;; CHECK-NEXT: (i32.store $0 offset=12 + ;; CHECK-NEXT: (i32.store offset=12 ;; CHECK-NEXT: (local.tee $4 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (i32.shl @@ -20652,7 +20652,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=8 + ;; CHECK-NEXT: (i32.store offset=8 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) @@ -20668,7 +20668,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 200) ;; CHECK-NEXT: (local.tee $2 ;; CHECK-NEXT: (i32.add @@ -20697,7 +20697,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 188) ;; CHECK-NEXT: (local.tee $1 ;; CHECK-NEXT: (i32.sub @@ -20709,23 +20709,23 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=4 + ;; CHECK-NEXT: (i32.store offset=4 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=4 + ;; CHECK-NEXT: (i32.store offset=4 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 40) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 204) - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 664) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -20735,7 +20735,7 @@ ;; CHECK-NEXT: (br_if $folding-inner0 ;; CHECK-NEXT: (i32.gt_u ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 188) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -20743,7 +20743,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (call $___errno_location) ;; CHECK-NEXT: (i32.const 12) ;; CHECK-NEXT: ) @@ -20751,7 +20751,7 @@ ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 188) ;; CHECK-NEXT: (local.tee $3 ;; CHECK-NEXT: (i32.sub @@ -20760,12 +20760,12 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 200) ;; CHECK-NEXT: (local.tee $1 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.tee $2 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 200) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -20773,14 +20773,14 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=4 + ;; CHECK-NEXT: (i32.store offset=4 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=4 + ;; CHECK-NEXT: (i32.store offset=4 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (local.get $0) @@ -26302,7 +26302,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.tee $11 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -26314,7 +26314,7 @@ ;; CHECK-NEXT: (local.tee $5 ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (local.tee $7 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const -4) @@ -26355,7 +26355,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block558 ;; CHECK-NEXT: (local.set $7 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -26389,7 +26389,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq ;; CHECK-NEXT: (local.get $1) - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 196) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -26398,7 +26398,7 @@ ;; CHECK-NEXT: (i32.ne ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (local.tee $3 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $2 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $8) @@ -26421,25 +26421,25 @@ ;; CHECK-NEXT: (br $do-once) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 184) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (i32.const -2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=4 + ;; CHECK-NEXT: (i32.store offset=4 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (local.get $0) @@ -26462,14 +26462,14 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block566 ;; CHECK-NEXT: (local.set $6 - ;; CHECK-NEXT: (i32.load $0 offset=12 + ;; CHECK-NEXT: (i32.load offset=12 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.ne ;; CHECK-NEXT: (local.tee $2 - ;; CHECK-NEXT: (i32.load $0 offset=8 + ;; CHECK-NEXT: (i32.load offset=8 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -26493,7 +26493,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.ne - ;; CHECK-NEXT: (i32.load $0 offset=12 + ;; CHECK-NEXT: (i32.load offset=12 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $1) @@ -26508,10 +26508,10 @@ ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block572 - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 176) ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 176) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.xor @@ -26553,7 +26553,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $3 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $6) @@ -26570,11 +26570,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=12 + ;; CHECK-NEXT: (i32.store offset=12 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) @@ -26588,7 +26588,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $12 - ;; CHECK-NEXT: (i32.load $0 offset=24 + ;; CHECK-NEXT: (i32.load offset=24 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -26596,7 +26596,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq ;; CHECK-NEXT: (local.tee $4 - ;; CHECK-NEXT: (i32.load $0 offset=12 + ;; CHECK-NEXT: (i32.load offset=12 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -26606,7 +26606,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (local.tee $5 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $4 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.tee $7 @@ -26623,7 +26623,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.tee $5 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -26641,7 +26641,7 @@ ;; CHECK-NEXT: (loop $while-in ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.tee $7 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $10 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $5) @@ -26662,7 +26662,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.tee $7 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $10 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $5) @@ -26689,7 +26689,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $_abort) ;; CHECK-NEXT: (block $block587 - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) @@ -26703,7 +26703,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.tee $10 - ;; CHECK-NEXT: (i32.load $0 offset=8 + ;; CHECK-NEXT: (i32.load offset=8 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -26713,7 +26713,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.ne - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $7 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $10) @@ -26727,7 +26727,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $5 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $4) @@ -26738,11 +26738,11 @@ ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block592 - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: ) @@ -26761,12 +26761,12 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq ;; CHECK-NEXT: (local.get $1) - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $4 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (i32.shl ;; CHECK-NEXT: (local.tee $5 - ;; CHECK-NEXT: (i32.load $0 offset=28 + ;; CHECK-NEXT: (i32.load offset=28 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -26778,7 +26778,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block596 - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) @@ -26787,10 +26787,10 @@ ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block598 - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 180) ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 180) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.xor @@ -26816,7 +26816,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $12) - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -26824,7 +26824,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $4 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $12) @@ -26834,11 +26834,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=20 + ;; CHECK-NEXT: (i32.store offset=20 ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) @@ -26863,20 +26863,20 @@ ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.tee $5 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $_abort) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=24 + ;; CHECK-NEXT: (i32.store offset=24 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.tee $7 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $4 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $1) @@ -26892,11 +26892,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $_abort) ;; CHECK-NEXT: (block $block607 - ;; CHECK-NEXT: (i32.store $0 offset=16 + ;; CHECK-NEXT: (i32.store offset=16 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=24 + ;; CHECK-NEXT: (i32.store offset=24 ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) @@ -26905,24 +26905,24 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.tee $4 - ;; CHECK-NEXT: (i32.load $0 offset=4 + ;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $4) - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $_abort) ;; CHECK-NEXT: (block $block610 - ;; CHECK-NEXT: (i32.store $0 offset=20 + ;; CHECK-NEXT: (i32.store offset=20 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=24 + ;; CHECK-NEXT: (i32.store offset=24 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) @@ -26967,7 +26967,7 @@ ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $8) @@ -26987,21 +26987,21 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block616 - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (i32.const -2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=4 + ;; CHECK-NEXT: (i32.store offset=4 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (local.get $3) @@ -27013,27 +27013,27 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq ;; CHECK-NEXT: (local.get $8) - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 200) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block619 - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 188) ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 188) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 200) ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=4 + ;; CHECK-NEXT: (i32.store offset=4 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (local.get $0) @@ -27043,17 +27043,17 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.ne ;; CHECK-NEXT: (local.get $2) - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 196) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (return) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 196) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 184) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) @@ -27063,34 +27063,34 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq ;; CHECK-NEXT: (local.get $8) - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 196) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block622 - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 184) ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 184) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 196) ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=4 + ;; CHECK-NEXT: (i32.store offset=4 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (local.get $0) @@ -27123,14 +27123,14 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block624 ;; CHECK-NEXT: (local.set $4 - ;; CHECK-NEXT: (i32.load $0 offset=12 + ;; CHECK-NEXT: (i32.load offset=12 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.ne ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load $0 offset=8 + ;; CHECK-NEXT: (i32.load offset=8 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -27148,7 +27148,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $1) - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -27156,7 +27156,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.ne - ;; CHECK-NEXT: (i32.load $0 offset=12 + ;; CHECK-NEXT: (i32.load offset=12 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $8) @@ -27171,10 +27171,10 @@ ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block630 - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 176) ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 176) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.xor @@ -27204,7 +27204,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $4) - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -27212,7 +27212,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $4) @@ -27229,18 +27229,18 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=12 + ;; CHECK-NEXT: (i32.store offset=12 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $14) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block635 ;; CHECK-NEXT: (local.set $6 - ;; CHECK-NEXT: (i32.load $0 offset=24 + ;; CHECK-NEXT: (i32.load offset=24 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -27248,7 +27248,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq ;; CHECK-NEXT: (local.tee $0 - ;; CHECK-NEXT: (i32.load $0 offset=12 + ;; CHECK-NEXT: (i32.load offset=12 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -27258,7 +27258,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (local.tee $3 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.tee $1 @@ -27275,7 +27275,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.tee $3 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -27293,7 +27293,7 @@ ;; CHECK-NEXT: (loop $while-in9 ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $4 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $3) @@ -27314,7 +27314,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $4 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $3) @@ -27337,13 +27337,13 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $0) - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $_abort) ;; CHECK-NEXT: (block $block646 - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) @@ -27357,11 +27357,11 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.tee $4 - ;; CHECK-NEXT: (i32.load $0 offset=8 + ;; CHECK-NEXT: (i32.load offset=8 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -27369,7 +27369,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.ne - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $1 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $4) @@ -27383,7 +27383,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $3 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) @@ -27394,11 +27394,11 @@ ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block651 - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) @@ -27417,12 +27417,12 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq ;; CHECK-NEXT: (local.get $8) - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (i32.shl ;; CHECK-NEXT: (local.tee $3 - ;; CHECK-NEXT: (i32.load $0 offset=28 + ;; CHECK-NEXT: (i32.load offset=28 ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -27434,7 +27434,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block655 - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) @@ -27443,10 +27443,10 @@ ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block657 - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 180) ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 180) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.xor @@ -27466,7 +27466,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $6) - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -27474,7 +27474,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $6) @@ -27484,11 +27484,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=20 + ;; CHECK-NEXT: (i32.store offset=20 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) @@ -27504,20 +27504,20 @@ ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: (local.tee $3 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $_abort) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=24 + ;; CHECK-NEXT: (i32.store offset=24 ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $8) @@ -27533,11 +27533,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $_abort) ;; CHECK-NEXT: (block $block664 - ;; CHECK-NEXT: (i32.store $0 offset=16 + ;; CHECK-NEXT: (i32.store offset=16 ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=24 + ;; CHECK-NEXT: (i32.store offset=24 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) @@ -27546,24 +27546,24 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.tee $0 - ;; CHECK-NEXT: (i32.load $0 offset=4 + ;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $0) - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $_abort) ;; CHECK-NEXT: (block $block667 - ;; CHECK-NEXT: (i32.store $0 offset=20 + ;; CHECK-NEXT: (i32.store offset=20 ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=24 + ;; CHECK-NEXT: (i32.store offset=24 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) @@ -27575,14 +27575,14 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=4 + ;; CHECK-NEXT: (i32.store offset=4 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (local.get $5) @@ -27592,12 +27592,12 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq ;; CHECK-NEXT: (local.get $2) - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 196) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block669 - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 184) ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) @@ -27633,7 +27633,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (local.tee $3 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 176) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -27647,7 +27647,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.tee $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $3 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $1) @@ -27656,7 +27656,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -27671,7 +27671,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block675 - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 176) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (local.get $3) @@ -27689,19 +27689,19 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $15) ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=12 + ;; CHECK-NEXT: (i32.store offset=12 ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=8 + ;; CHECK-NEXT: (i32.store offset=8 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (local.get $13) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=12 + ;; CHECK-NEXT: (i32.store offset=12 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) @@ -27813,15 +27813,15 @@ ;; CHECK-NEXT: (i32.const 480) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=28 + ;; CHECK-NEXT: (i32.store offset=28 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=20 + ;; CHECK-NEXT: (i32.store offset=20 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=16 + ;; CHECK-NEXT: (i32.store offset=16 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) @@ -27829,7 +27829,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 180) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -27861,7 +27861,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -27871,7 +27871,7 @@ ;; CHECK-NEXT: (br_if $__rjti$1 ;; CHECK-NEXT: (i32.eq ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load $0 offset=4 + ;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -8) @@ -27887,7 +27887,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $5 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (i32.add @@ -27919,25 +27919,25 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $5) - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $_abort) ;; CHECK-NEXT: (block $block683 - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=24 + ;; CHECK-NEXT: (i32.store offset=24 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=12 + ;; CHECK-NEXT: (i32.store offset=12 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=8 + ;; CHECK-NEXT: (i32.store offset=8 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) @@ -27950,7 +27950,7 @@ ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (i32.ge_u ;; CHECK-NEXT: (local.tee $4 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $1 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) @@ -27960,7 +27960,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.tee $3 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -27971,23 +27971,23 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block685 - ;; CHECK-NEXT: (i32.store $0 offset=12 + ;; CHECK-NEXT: (i32.store offset=12 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=8 + ;; CHECK-NEXT: (i32.store offset=8 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=12 + ;; CHECK-NEXT: (i32.store offset=12 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=24 + ;; CHECK-NEXT: (i32.store offset=24 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) @@ -27997,37 +27997,37 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block686 - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 180) ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=24 + ;; CHECK-NEXT: (i32.store offset=24 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=12 + ;; CHECK-NEXT: (i32.store offset=12 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=8 + ;; CHECK-NEXT: (i32.store offset=8 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 208) ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 208) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -1) @@ -28045,7 +28045,7 @@ ;; CHECK-NEXT: (local.set $0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.tee $3 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -28056,7 +28056,7 @@ ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 208) ;; CHECK-NEXT: (i32.const -1) ;; CHECK-NEXT: ) @@ -29981,7 +29981,7 @@ ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block691 - ;; CHECK-NEXT: (i32.store8 $0 + ;; CHECK-NEXT: (i32.store8 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) @@ -30031,7 +30031,7 @@ ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block693 - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) @@ -30054,7 +30054,7 @@ ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block695 - ;; CHECK-NEXT: (i32.store8 $0 + ;; CHECK-NEXT: (i32.store8 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) @@ -30468,9 +30468,9 @@ ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 + ;; CHECK-NEXT: (i32.store8 ;; CHECK-NEXT: (local.get $0) - ;; CHECK-NEXT: (i32.load8_s $0 + ;; CHECK-NEXT: (i32.load8_s ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -30503,9 +30503,9 @@ ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block701 - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $0) - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -30540,9 +30540,9 @@ ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $block703 - ;; CHECK-NEXT: (i32.store8 $0 + ;; CHECK-NEXT: (i32.store8 ;; CHECK-NEXT: (local.get $0) - ;; CHECK-NEXT: (i32.load8_s $0 + ;; CHECK-NEXT: (i32.load8_s ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -30761,11 +30761,11 @@ ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (global.set $tempRet0 - ;; CHECK-NEXT: (i32.load $0 offset=4 + ;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -30834,7 +30834,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.get $r) - ;; CHECK-NEXT: (i64.store $0 + ;; CHECK-NEXT: (i64.store ;; CHECK-NEXT: (local.get $r) ;; CHECK-NEXT: (i64.rem_u ;; CHECK-NEXT: (local.get $x64) diff --git a/test/lit/passes/inlining_memory64.wat b/test/lit/passes/inlining_memory64.wat index cf44defae1a..43e77785c59 100644 --- a/test/lit/passes/inlining_memory64.wat +++ b/test/lit/passes/inlining_memory64.wat @@ -10,7 +10,7 @@ ;; CHECK: (func $call-size (result i64) ;; CHECK-NEXT: (block $__inlined_func$size (result i64) - ;; CHECK-NEXT: (memory.size $0) + ;; CHECK-NEXT: (memory.size) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) (func $call-size (result i64) @@ -26,7 +26,7 @@ ;; CHECK: (func $call-grow (result i64) ;; CHECK-NEXT: (block $__inlined_func$grow (result i64) - ;; CHECK-NEXT: (memory.grow $0 + ;; CHECK-NEXT: (memory.grow ;; CHECK-NEXT: (i64.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/instrument-memory.wast b/test/lit/passes/instrument-memory.wast index 1a64ea406da..0973ab4fa83 100644 --- a/test/lit/passes/instrument-memory.wast +++ b/test/lit/passes/instrument-memory.wast @@ -43,7 +43,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i32 ;; CHECK-NEXT: (i32.const 1) - ;; CHECK-NEXT: (i32.load8_s $0 + ;; CHECK-NEXT: (i32.load8_s ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: (i32.const 1) @@ -56,7 +56,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i32 ;; CHECK-NEXT: (i32.const 2) - ;; CHECK-NEXT: (i32.load8_u $0 + ;; CHECK-NEXT: (i32.load8_u ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: (i32.const 1) @@ -69,7 +69,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i32 ;; CHECK-NEXT: (i32.const 3) - ;; CHECK-NEXT: (i32.load16_s $0 + ;; CHECK-NEXT: (i32.load16_s ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 3) ;; CHECK-NEXT: (i32.const 2) @@ -82,7 +82,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i32 ;; CHECK-NEXT: (i32.const 4) - ;; CHECK-NEXT: (i32.load16_u $0 + ;; CHECK-NEXT: (i32.load16_u ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: (i32.const 2) @@ -95,7 +95,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i32 ;; CHECK-NEXT: (i32.const 5) - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 5) ;; CHECK-NEXT: (i32.const 4) @@ -108,7 +108,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i64 ;; CHECK-NEXT: (i32.const 6) - ;; CHECK-NEXT: (i64.load8_s $0 + ;; CHECK-NEXT: (i64.load8_s ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 6) ;; CHECK-NEXT: (i32.const 1) @@ -121,7 +121,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i64 ;; CHECK-NEXT: (i32.const 7) - ;; CHECK-NEXT: (i64.load8_u $0 + ;; CHECK-NEXT: (i64.load8_u ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 7) ;; CHECK-NEXT: (i32.const 1) @@ -134,7 +134,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i64 ;; CHECK-NEXT: (i32.const 8) - ;; CHECK-NEXT: (i64.load16_s $0 + ;; CHECK-NEXT: (i64.load16_s ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: (i32.const 2) @@ -147,7 +147,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i64 ;; CHECK-NEXT: (i32.const 9) - ;; CHECK-NEXT: (i64.load16_u $0 + ;; CHECK-NEXT: (i64.load16_u ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 9) ;; CHECK-NEXT: (i32.const 2) @@ -160,7 +160,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i64 ;; CHECK-NEXT: (i32.const 10) - ;; CHECK-NEXT: (i64.load32_s $0 + ;; CHECK-NEXT: (i64.load32_s ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 10) ;; CHECK-NEXT: (i32.const 4) @@ -173,7 +173,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i64 ;; CHECK-NEXT: (i32.const 11) - ;; CHECK-NEXT: (i64.load32_u $0 + ;; CHECK-NEXT: (i64.load32_u ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 11) ;; CHECK-NEXT: (i32.const 4) @@ -186,7 +186,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i64 ;; CHECK-NEXT: (i32.const 12) - ;; CHECK-NEXT: (i64.load $0 + ;; CHECK-NEXT: (i64.load ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 12) ;; CHECK-NEXT: (i32.const 8) @@ -199,7 +199,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_f32 ;; CHECK-NEXT: (i32.const 13) - ;; CHECK-NEXT: (f32.load $0 + ;; CHECK-NEXT: (f32.load ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 13) ;; CHECK-NEXT: (i32.const 4) @@ -212,7 +212,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_f64 ;; CHECK-NEXT: (i32.const 14) - ;; CHECK-NEXT: (f64.load $0 + ;; CHECK-NEXT: (f64.load ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 14) ;; CHECK-NEXT: (i32.const 8) @@ -225,7 +225,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i32 ;; CHECK-NEXT: (i32.const 15) - ;; CHECK-NEXT: (i32.load8_s $0 offset=1 + ;; CHECK-NEXT: (i32.load8_s offset=1 ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 15) ;; CHECK-NEXT: (i32.const 1) @@ -238,7 +238,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i32 ;; CHECK-NEXT: (i32.const 16) - ;; CHECK-NEXT: (i32.load8_u $0 offset=2 + ;; CHECK-NEXT: (i32.load8_u offset=2 ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: (i32.const 1) @@ -251,7 +251,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i32 ;; CHECK-NEXT: (i32.const 17) - ;; CHECK-NEXT: (i32.load16_s $0 offset=3 align=1 + ;; CHECK-NEXT: (i32.load16_s offset=3 align=1 ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 17) ;; CHECK-NEXT: (i32.const 2) @@ -264,7 +264,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i32 ;; CHECK-NEXT: (i32.const 18) - ;; CHECK-NEXT: (i32.load16_u $0 offset=4 align=1 + ;; CHECK-NEXT: (i32.load16_u offset=4 align=1 ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 18) ;; CHECK-NEXT: (i32.const 2) @@ -277,7 +277,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i32 ;; CHECK-NEXT: (i32.const 19) - ;; CHECK-NEXT: (i32.load $0 offset=5 align=2 + ;; CHECK-NEXT: (i32.load offset=5 align=2 ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 19) ;; CHECK-NEXT: (i32.const 4) @@ -290,7 +290,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i64 ;; CHECK-NEXT: (i32.const 20) - ;; CHECK-NEXT: (i64.load8_s $0 offset=6 + ;; CHECK-NEXT: (i64.load8_s offset=6 ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 20) ;; CHECK-NEXT: (i32.const 1) @@ -303,7 +303,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i64 ;; CHECK-NEXT: (i32.const 21) - ;; CHECK-NEXT: (i64.load8_u $0 offset=7 + ;; CHECK-NEXT: (i64.load8_u offset=7 ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 21) ;; CHECK-NEXT: (i32.const 1) @@ -316,7 +316,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i64 ;; CHECK-NEXT: (i32.const 22) - ;; CHECK-NEXT: (i64.load16_s $0 offset=8 align=1 + ;; CHECK-NEXT: (i64.load16_s offset=8 align=1 ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 22) ;; CHECK-NEXT: (i32.const 2) @@ -329,7 +329,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i64 ;; CHECK-NEXT: (i32.const 23) - ;; CHECK-NEXT: (i64.load16_u $0 offset=9 align=1 + ;; CHECK-NEXT: (i64.load16_u offset=9 align=1 ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 23) ;; CHECK-NEXT: (i32.const 2) @@ -342,7 +342,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i64 ;; CHECK-NEXT: (i32.const 24) - ;; CHECK-NEXT: (i64.load32_s $0 offset=10 align=2 + ;; CHECK-NEXT: (i64.load32_s offset=10 align=2 ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 24) ;; CHECK-NEXT: (i32.const 4) @@ -355,7 +355,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i64 ;; CHECK-NEXT: (i32.const 25) - ;; CHECK-NEXT: (i64.load32_u $0 offset=11 align=2 + ;; CHECK-NEXT: (i64.load32_u offset=11 align=2 ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 25) ;; CHECK-NEXT: (i32.const 4) @@ -368,7 +368,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i64 ;; CHECK-NEXT: (i32.const 26) - ;; CHECK-NEXT: (i64.load $0 offset=12 align=2 + ;; CHECK-NEXT: (i64.load offset=12 align=2 ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 26) ;; CHECK-NEXT: (i32.const 8) @@ -381,7 +381,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_f32 ;; CHECK-NEXT: (i32.const 27) - ;; CHECK-NEXT: (f32.load $0 offset=13 align=2 + ;; CHECK-NEXT: (f32.load offset=13 align=2 ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 27) ;; CHECK-NEXT: (i32.const 4) @@ -394,7 +394,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_f64 ;; CHECK-NEXT: (i32.const 28) - ;; CHECK-NEXT: (f64.load $0 offset=14 align=2 + ;; CHECK-NEXT: (f64.load offset=14 align=2 ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 28) ;; CHECK-NEXT: (i32.const 8) @@ -438,7 +438,7 @@ ) ;; CHECK: (func $B - ;; CHECK-NEXT: (i32.store8 $0 + ;; CHECK-NEXT: (i32.store8 ;; CHECK-NEXT: (call $store_ptr ;; CHECK-NEXT: (i32.const 29) ;; CHECK-NEXT: (i32.const 1) @@ -450,7 +450,7 @@ ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 $0 + ;; CHECK-NEXT: (i32.store16 ;; CHECK-NEXT: (call $store_ptr ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: (i32.const 2) @@ -462,7 +462,7 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (call $store_ptr ;; CHECK-NEXT: (i32.const 31) ;; CHECK-NEXT: (i32.const 4) @@ -474,7 +474,7 @@ ;; CHECK-NEXT: (i32.const 3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i64.store8 $0 + ;; CHECK-NEXT: (i64.store8 ;; CHECK-NEXT: (call $store_ptr ;; CHECK-NEXT: (i32.const 32) ;; CHECK-NEXT: (i32.const 1) @@ -486,7 +486,7 @@ ;; CHECK-NEXT: (i64.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i64.store16 $0 + ;; CHECK-NEXT: (i64.store16 ;; CHECK-NEXT: (call $store_ptr ;; CHECK-NEXT: (i32.const 33) ;; CHECK-NEXT: (i32.const 2) @@ -498,7 +498,7 @@ ;; CHECK-NEXT: (i64.const 5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i64.store32 $0 + ;; CHECK-NEXT: (i64.store32 ;; CHECK-NEXT: (call $store_ptr ;; CHECK-NEXT: (i32.const 34) ;; CHECK-NEXT: (i32.const 4) @@ -510,7 +510,7 @@ ;; CHECK-NEXT: (i64.const 6) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i64.store $0 + ;; CHECK-NEXT: (i64.store ;; CHECK-NEXT: (call $store_ptr ;; CHECK-NEXT: (i32.const 35) ;; CHECK-NEXT: (i32.const 8) @@ -522,7 +522,7 @@ ;; CHECK-NEXT: (i64.const 7) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (f32.store $0 + ;; CHECK-NEXT: (f32.store ;; CHECK-NEXT: (call $store_ptr ;; CHECK-NEXT: (i32.const 36) ;; CHECK-NEXT: (i32.const 4) @@ -534,7 +534,7 @@ ;; CHECK-NEXT: (f32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (f64.store $0 + ;; CHECK-NEXT: (f64.store ;; CHECK-NEXT: (call $store_ptr ;; CHECK-NEXT: (i32.const 37) ;; CHECK-NEXT: (i32.const 8) @@ -546,7 +546,7 @@ ;; CHECK-NEXT: (f64.const 9) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=1 + ;; CHECK-NEXT: (i32.store8 offset=1 ;; CHECK-NEXT: (call $store_ptr ;; CHECK-NEXT: (i32.const 38) ;; CHECK-NEXT: (i32.const 1) @@ -558,7 +558,7 @@ ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 $0 offset=2 align=1 + ;; CHECK-NEXT: (i32.store16 offset=2 align=1 ;; CHECK-NEXT: (call $store_ptr ;; CHECK-NEXT: (i32.const 39) ;; CHECK-NEXT: (i32.const 2) @@ -570,7 +570,7 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=3 align=2 + ;; CHECK-NEXT: (i32.store offset=3 align=2 ;; CHECK-NEXT: (call $store_ptr ;; CHECK-NEXT: (i32.const 40) ;; CHECK-NEXT: (i32.const 4) @@ -582,7 +582,7 @@ ;; CHECK-NEXT: (i32.const 3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i64.store8 $0 offset=4 + ;; CHECK-NEXT: (i64.store8 offset=4 ;; CHECK-NEXT: (call $store_ptr ;; CHECK-NEXT: (i32.const 41) ;; CHECK-NEXT: (i32.const 1) @@ -594,7 +594,7 @@ ;; CHECK-NEXT: (i64.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i64.store16 $0 offset=5 + ;; CHECK-NEXT: (i64.store16 offset=5 ;; CHECK-NEXT: (call $store_ptr ;; CHECK-NEXT: (i32.const 42) ;; CHECK-NEXT: (i32.const 2) @@ -606,7 +606,7 @@ ;; CHECK-NEXT: (i64.const 5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i64.store32 $0 offset=6 align=2 + ;; CHECK-NEXT: (i64.store32 offset=6 align=2 ;; CHECK-NEXT: (call $store_ptr ;; CHECK-NEXT: (i32.const 43) ;; CHECK-NEXT: (i32.const 4) @@ -618,7 +618,7 @@ ;; CHECK-NEXT: (i64.const 6) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i64.store $0 offset=7 align=2 + ;; CHECK-NEXT: (i64.store offset=7 align=2 ;; CHECK-NEXT: (call $store_ptr ;; CHECK-NEXT: (i32.const 44) ;; CHECK-NEXT: (i32.const 8) @@ -630,7 +630,7 @@ ;; CHECK-NEXT: (i64.const 7) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (f32.store $0 offset=8 align=2 + ;; CHECK-NEXT: (f32.store offset=8 align=2 ;; CHECK-NEXT: (call $store_ptr ;; CHECK-NEXT: (i32.const 45) ;; CHECK-NEXT: (i32.const 4) @@ -642,7 +642,7 @@ ;; CHECK-NEXT: (f32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (f64.store $0 offset=9 align=2 + ;; CHECK-NEXT: (f64.store offset=9 align=2 ;; CHECK-NEXT: (call $store_ptr ;; CHECK-NEXT: (i32.const 46) ;; CHECK-NEXT: (i32.const 8) diff --git a/test/lit/passes/instrument-memory64.wast b/test/lit/passes/instrument-memory64.wast index 8a23eddb20a..de4df4aab0d 100644 --- a/test/lit/passes/instrument-memory64.wast +++ b/test/lit/passes/instrument-memory64.wast @@ -43,7 +43,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i32 ;; CHECK-NEXT: (i32.const 1) - ;; CHECK-NEXT: (i32.load8_s $0 + ;; CHECK-NEXT: (i32.load8_s ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: (i32.const 1) @@ -56,7 +56,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i32 ;; CHECK-NEXT: (i32.const 2) - ;; CHECK-NEXT: (i32.load8_u $0 + ;; CHECK-NEXT: (i32.load8_u ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: (i32.const 1) @@ -69,7 +69,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i32 ;; CHECK-NEXT: (i32.const 3) - ;; CHECK-NEXT: (i32.load16_s $0 + ;; CHECK-NEXT: (i32.load16_s ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 3) ;; CHECK-NEXT: (i32.const 2) @@ -82,7 +82,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i32 ;; CHECK-NEXT: (i32.const 4) - ;; CHECK-NEXT: (i32.load16_u $0 + ;; CHECK-NEXT: (i32.load16_u ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: (i32.const 2) @@ -95,7 +95,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i32 ;; CHECK-NEXT: (i32.const 5) - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 5) ;; CHECK-NEXT: (i32.const 4) @@ -108,7 +108,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i64 ;; CHECK-NEXT: (i32.const 6) - ;; CHECK-NEXT: (i64.load8_s $0 + ;; CHECK-NEXT: (i64.load8_s ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 6) ;; CHECK-NEXT: (i32.const 1) @@ -121,7 +121,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i64 ;; CHECK-NEXT: (i32.const 7) - ;; CHECK-NEXT: (i64.load8_u $0 + ;; CHECK-NEXT: (i64.load8_u ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 7) ;; CHECK-NEXT: (i32.const 1) @@ -134,7 +134,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i64 ;; CHECK-NEXT: (i32.const 8) - ;; CHECK-NEXT: (i64.load16_s $0 + ;; CHECK-NEXT: (i64.load16_s ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: (i32.const 2) @@ -147,7 +147,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i64 ;; CHECK-NEXT: (i32.const 9) - ;; CHECK-NEXT: (i64.load16_u $0 + ;; CHECK-NEXT: (i64.load16_u ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 9) ;; CHECK-NEXT: (i32.const 2) @@ -160,7 +160,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i64 ;; CHECK-NEXT: (i32.const 10) - ;; CHECK-NEXT: (i64.load32_s $0 + ;; CHECK-NEXT: (i64.load32_s ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 10) ;; CHECK-NEXT: (i32.const 4) @@ -173,7 +173,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i64 ;; CHECK-NEXT: (i32.const 11) - ;; CHECK-NEXT: (i64.load32_u $0 + ;; CHECK-NEXT: (i64.load32_u ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 11) ;; CHECK-NEXT: (i32.const 4) @@ -186,7 +186,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i64 ;; CHECK-NEXT: (i32.const 12) - ;; CHECK-NEXT: (i64.load $0 + ;; CHECK-NEXT: (i64.load ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 12) ;; CHECK-NEXT: (i32.const 8) @@ -199,7 +199,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_f32 ;; CHECK-NEXT: (i32.const 13) - ;; CHECK-NEXT: (f32.load $0 + ;; CHECK-NEXT: (f32.load ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 13) ;; CHECK-NEXT: (i32.const 4) @@ -212,7 +212,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_f64 ;; CHECK-NEXT: (i32.const 14) - ;; CHECK-NEXT: (f64.load $0 + ;; CHECK-NEXT: (f64.load ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 14) ;; CHECK-NEXT: (i32.const 8) @@ -225,7 +225,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i32 ;; CHECK-NEXT: (i32.const 15) - ;; CHECK-NEXT: (i32.load8_s $0 offset=1 + ;; CHECK-NEXT: (i32.load8_s offset=1 ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 15) ;; CHECK-NEXT: (i32.const 1) @@ -238,7 +238,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i32 ;; CHECK-NEXT: (i32.const 16) - ;; CHECK-NEXT: (i32.load8_u $0 offset=2 + ;; CHECK-NEXT: (i32.load8_u offset=2 ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: (i32.const 1) @@ -251,7 +251,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i32 ;; CHECK-NEXT: (i32.const 17) - ;; CHECK-NEXT: (i32.load16_s $0 offset=3 align=1 + ;; CHECK-NEXT: (i32.load16_s offset=3 align=1 ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 17) ;; CHECK-NEXT: (i32.const 2) @@ -264,7 +264,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i32 ;; CHECK-NEXT: (i32.const 18) - ;; CHECK-NEXT: (i32.load16_u $0 offset=4 align=1 + ;; CHECK-NEXT: (i32.load16_u offset=4 align=1 ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 18) ;; CHECK-NEXT: (i32.const 2) @@ -277,7 +277,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i32 ;; CHECK-NEXT: (i32.const 19) - ;; CHECK-NEXT: (i32.load $0 offset=5 align=2 + ;; CHECK-NEXT: (i32.load offset=5 align=2 ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 19) ;; CHECK-NEXT: (i32.const 4) @@ -290,7 +290,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i64 ;; CHECK-NEXT: (i32.const 20) - ;; CHECK-NEXT: (i64.load8_s $0 offset=6 + ;; CHECK-NEXT: (i64.load8_s offset=6 ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 20) ;; CHECK-NEXT: (i32.const 1) @@ -303,7 +303,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i64 ;; CHECK-NEXT: (i32.const 21) - ;; CHECK-NEXT: (i64.load8_u $0 offset=7 + ;; CHECK-NEXT: (i64.load8_u offset=7 ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 21) ;; CHECK-NEXT: (i32.const 1) @@ -316,7 +316,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i64 ;; CHECK-NEXT: (i32.const 22) - ;; CHECK-NEXT: (i64.load16_s $0 offset=8 align=1 + ;; CHECK-NEXT: (i64.load16_s offset=8 align=1 ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 22) ;; CHECK-NEXT: (i32.const 2) @@ -329,7 +329,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i64 ;; CHECK-NEXT: (i32.const 23) - ;; CHECK-NEXT: (i64.load16_u $0 offset=9 align=1 + ;; CHECK-NEXT: (i64.load16_u offset=9 align=1 ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 23) ;; CHECK-NEXT: (i32.const 2) @@ -342,7 +342,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i64 ;; CHECK-NEXT: (i32.const 24) - ;; CHECK-NEXT: (i64.load32_s $0 offset=10 align=2 + ;; CHECK-NEXT: (i64.load32_s offset=10 align=2 ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 24) ;; CHECK-NEXT: (i32.const 4) @@ -355,7 +355,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i64 ;; CHECK-NEXT: (i32.const 25) - ;; CHECK-NEXT: (i64.load32_u $0 offset=11 align=2 + ;; CHECK-NEXT: (i64.load32_u offset=11 align=2 ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 25) ;; CHECK-NEXT: (i32.const 4) @@ -368,7 +368,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_i64 ;; CHECK-NEXT: (i32.const 26) - ;; CHECK-NEXT: (i64.load $0 offset=12 align=2 + ;; CHECK-NEXT: (i64.load offset=12 align=2 ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 26) ;; CHECK-NEXT: (i32.const 8) @@ -381,7 +381,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_f32 ;; CHECK-NEXT: (i32.const 27) - ;; CHECK-NEXT: (f32.load $0 offset=13 align=2 + ;; CHECK-NEXT: (f32.load offset=13 align=2 ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 27) ;; CHECK-NEXT: (i32.const 4) @@ -394,7 +394,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $load_val_f64 ;; CHECK-NEXT: (i32.const 28) - ;; CHECK-NEXT: (f64.load $0 offset=14 align=2 + ;; CHECK-NEXT: (f64.load offset=14 align=2 ;; CHECK-NEXT: (call $load_ptr ;; CHECK-NEXT: (i32.const 28) ;; CHECK-NEXT: (i32.const 8) @@ -438,7 +438,7 @@ ) ;; CHECK: (func $B - ;; CHECK-NEXT: (i32.store8 $0 + ;; CHECK-NEXT: (i32.store8 ;; CHECK-NEXT: (call $store_ptr ;; CHECK-NEXT: (i32.const 29) ;; CHECK-NEXT: (i32.const 1) @@ -450,7 +450,7 @@ ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 $0 + ;; CHECK-NEXT: (i32.store16 ;; CHECK-NEXT: (call $store_ptr ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: (i32.const 2) @@ -462,7 +462,7 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (call $store_ptr ;; CHECK-NEXT: (i32.const 31) ;; CHECK-NEXT: (i32.const 4) @@ -474,7 +474,7 @@ ;; CHECK-NEXT: (i32.const 3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i64.store8 $0 + ;; CHECK-NEXT: (i64.store8 ;; CHECK-NEXT: (call $store_ptr ;; CHECK-NEXT: (i32.const 32) ;; CHECK-NEXT: (i32.const 1) @@ -486,7 +486,7 @@ ;; CHECK-NEXT: (i64.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i64.store16 $0 + ;; CHECK-NEXT: (i64.store16 ;; CHECK-NEXT: (call $store_ptr ;; CHECK-NEXT: (i32.const 33) ;; CHECK-NEXT: (i32.const 2) @@ -498,7 +498,7 @@ ;; CHECK-NEXT: (i64.const 5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i64.store32 $0 + ;; CHECK-NEXT: (i64.store32 ;; CHECK-NEXT: (call $store_ptr ;; CHECK-NEXT: (i32.const 34) ;; CHECK-NEXT: (i32.const 4) @@ -510,7 +510,7 @@ ;; CHECK-NEXT: (i64.const 6) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i64.store $0 + ;; CHECK-NEXT: (i64.store ;; CHECK-NEXT: (call $store_ptr ;; CHECK-NEXT: (i32.const 35) ;; CHECK-NEXT: (i32.const 8) @@ -522,7 +522,7 @@ ;; CHECK-NEXT: (i64.const 7) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (f32.store $0 + ;; CHECK-NEXT: (f32.store ;; CHECK-NEXT: (call $store_ptr ;; CHECK-NEXT: (i32.const 36) ;; CHECK-NEXT: (i32.const 4) @@ -534,7 +534,7 @@ ;; CHECK-NEXT: (f32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (f64.store $0 + ;; CHECK-NEXT: (f64.store ;; CHECK-NEXT: (call $store_ptr ;; CHECK-NEXT: (i32.const 37) ;; CHECK-NEXT: (i32.const 8) @@ -546,7 +546,7 @@ ;; CHECK-NEXT: (f64.const 9) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 offset=1 + ;; CHECK-NEXT: (i32.store8 offset=1 ;; CHECK-NEXT: (call $store_ptr ;; CHECK-NEXT: (i32.const 38) ;; CHECK-NEXT: (i32.const 1) @@ -558,7 +558,7 @@ ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 $0 offset=2 align=1 + ;; CHECK-NEXT: (i32.store16 offset=2 align=1 ;; CHECK-NEXT: (call $store_ptr ;; CHECK-NEXT: (i32.const 39) ;; CHECK-NEXT: (i32.const 2) @@ -570,7 +570,7 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=3 align=2 + ;; CHECK-NEXT: (i32.store offset=3 align=2 ;; CHECK-NEXT: (call $store_ptr ;; CHECK-NEXT: (i32.const 40) ;; CHECK-NEXT: (i32.const 4) @@ -582,7 +582,7 @@ ;; CHECK-NEXT: (i32.const 3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i64.store8 $0 offset=4 + ;; CHECK-NEXT: (i64.store8 offset=4 ;; CHECK-NEXT: (call $store_ptr ;; CHECK-NEXT: (i32.const 41) ;; CHECK-NEXT: (i32.const 1) @@ -594,7 +594,7 @@ ;; CHECK-NEXT: (i64.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i64.store16 $0 offset=5 + ;; CHECK-NEXT: (i64.store16 offset=5 ;; CHECK-NEXT: (call $store_ptr ;; CHECK-NEXT: (i32.const 42) ;; CHECK-NEXT: (i32.const 2) @@ -606,7 +606,7 @@ ;; CHECK-NEXT: (i64.const 5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i64.store32 $0 offset=6 align=2 + ;; CHECK-NEXT: (i64.store32 offset=6 align=2 ;; CHECK-NEXT: (call $store_ptr ;; CHECK-NEXT: (i32.const 43) ;; CHECK-NEXT: (i32.const 4) @@ -618,7 +618,7 @@ ;; CHECK-NEXT: (i64.const 6) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i64.store $0 offset=7 align=2 + ;; CHECK-NEXT: (i64.store offset=7 align=2 ;; CHECK-NEXT: (call $store_ptr ;; CHECK-NEXT: (i32.const 44) ;; CHECK-NEXT: (i32.const 8) @@ -630,7 +630,7 @@ ;; CHECK-NEXT: (i64.const 7) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (f32.store $0 offset=8 align=2 + ;; CHECK-NEXT: (f32.store offset=8 align=2 ;; CHECK-NEXT: (call $store_ptr ;; CHECK-NEXT: (i32.const 45) ;; CHECK-NEXT: (i32.const 4) @@ -642,7 +642,7 @@ ;; CHECK-NEXT: (f32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (f64.store $0 offset=9 align=2 + ;; CHECK-NEXT: (f64.store offset=9 align=2 ;; CHECK-NEXT: (call $store_ptr ;; CHECK-NEXT: (i32.const 46) ;; CHECK-NEXT: (i32.const 8) diff --git a/test/lit/passes/local-cse.wast b/test/lit/passes/local-cse.wast index f207a856037..a2e728548f5 100644 --- a/test/lit/passes/local-cse.wast +++ b/test/lit/passes/local-cse.wast @@ -269,7 +269,7 @@ ;; CHECK-NEXT: (local $0 i32) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (local.tee $0 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 10) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/memory-packing_all-features.wast b/test/lit/passes/memory-packing_all-features.wast index 5b4ec23b4f7..62a12fd719c 100644 --- a/test/lit/passes/memory-packing_all-features.wast +++ b/test/lit/passes/memory-packing_all-features.wast @@ -114,7 +114,7 @@ ;; CHECK-NEXT: (i32.gt_u ;; CHECK-NEXT: (i32.const 42) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (memory.size $0) + ;; CHECK-NEXT: (memory.size) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -187,12 +187,12 @@ ;; CHECK-NEXT: (global.get $__mem_segment_drop_state) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill $0 + ;; CHECK-NEXT: (memory.fill ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init $0 0 + ;; CHECK-NEXT: (memory.init 0 ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 15) @@ -218,22 +218,22 @@ (data "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00zeroes at start") ;; 2 ;; CHECK: (func $zeroes-at-start-not-split - ;; CHECK-NEXT: (memory.init $0 1 + ;; CHECK-NEXT: (memory.init 1 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 45) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init $0 1 + ;; CHECK-NEXT: (memory.init 1 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 45) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init $0 1 + ;; CHECK-NEXT: (memory.init 1 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 45) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init $0 1 + ;; CHECK-NEXT: (memory.init 1 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 45) @@ -267,7 +267,7 @@ (data "\00\00\00few zeroes at start") ;; 3 ;; CHECK: (func $few-zeroes-at-start - ;; CHECK-NEXT: (memory.init $0 2 + ;; CHECK-NEXT: (memory.init 2 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 22) @@ -287,12 +287,12 @@ ;; CHECK: (func $zeroes-at-end ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (memory.init $0 3 + ;; CHECK-NEXT: (memory.init 3 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 13) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill $0 + ;; CHECK-NEXT: (memory.fill ;; CHECK-NEXT: (i32.const 13) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) @@ -312,22 +312,22 @@ (data "zeroes at end\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") ;; 5 ;; CHECK: (func $zeroes-at-end-not-split - ;; CHECK-NEXT: (memory.init $0 4 + ;; CHECK-NEXT: (memory.init 4 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 43) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init $0 4 + ;; CHECK-NEXT: (memory.init 4 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 43) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init $0 4 + ;; CHECK-NEXT: (memory.init 4 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 43) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init $0 4 + ;; CHECK-NEXT: (memory.init 4 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 43) @@ -361,7 +361,7 @@ (data "few zeroes at end\00\00\00") ;; 6 ;; CHECK: (func $few-zeroes-at-end - ;; CHECK-NEXT: (memory.init $0 5 + ;; CHECK-NEXT: (memory.init 5 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 20) @@ -381,17 +381,17 @@ ;; CHECK: (func $zeroes-in-middle ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (memory.init $0 6 + ;; CHECK-NEXT: (memory.init 6 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 6) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill $0 + ;; CHECK-NEXT: (memory.fill ;; CHECK-NEXT: (i32.const 6) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init $0 7 + ;; CHECK-NEXT: (memory.init 7 ;; CHECK-NEXT: (i32.const 36) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 9) @@ -414,12 +414,12 @@ (data "zeroes\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00in middle") ;; 8 ;; CHECK: (func $zeroes-in-middle-not-split - ;; CHECK-NEXT: (memory.init $0 8 + ;; CHECK-NEXT: (memory.init 8 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 35) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init $0 8 + ;; CHECK-NEXT: (memory.init 8 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 45) @@ -443,7 +443,7 @@ (data "few zeroes\00\00\00in middle") ;; 9 ;; CHECK: (func $few-zeroes-in-middle - ;; CHECK-NEXT: (memory.init $0 9 + ;; CHECK-NEXT: (memory.init 9 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 22) @@ -463,27 +463,27 @@ ;; CHECK: (func $multiple-spans-of-zeroes ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (memory.init $0 10 + ;; CHECK-NEXT: (memory.init 10 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill $0 + ;; CHECK-NEXT: (memory.fill ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init $0 11 + ;; CHECK-NEXT: (memory.init 11 ;; CHECK-NEXT: (i32.const 38) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill $0 + ;; CHECK-NEXT: (memory.fill ;; CHECK-NEXT: (i32.const 43) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init $0 12 + ;; CHECK-NEXT: (memory.init 12 ;; CHECK-NEXT: (i32.const 73) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 9) @@ -512,37 +512,37 @@ ;; CHECK-NEXT: (global.get $__mem_segment_drop_state_0) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill $0 + ;; CHECK-NEXT: (memory.fill ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init $0 13 + ;; CHECK-NEXT: (memory.init 13 ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill $0 + ;; CHECK-NEXT: (memory.fill ;; CHECK-NEXT: (i32.const 34) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init $0 14 + ;; CHECK-NEXT: (memory.init 14 ;; CHECK-NEXT: (i32.const 64) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill $0 + ;; CHECK-NEXT: (memory.fill ;; CHECK-NEXT: (i32.const 68) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init $0 15 + ;; CHECK-NEXT: (memory.init 15 ;; CHECK-NEXT: (i32.const 98) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 6) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill $0 + ;; CHECK-NEXT: (memory.fill ;; CHECK-NEXT: (i32.const 104) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) @@ -574,7 +574,7 @@ ;; CHECK-NEXT: (global.get $__mem_segment_drop_state_1) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill $0 + ;; CHECK-NEXT: (memory.fill ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) @@ -596,7 +596,7 @@ (data "no zeroes") ;; 13 ;; CHECK: (func $no-zeroes - ;; CHECK-NEXT: (memory.init $0 16 + ;; CHECK-NEXT: (memory.init 16 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 9) @@ -619,7 +619,7 @@ ;; CHECK-NEXT: (i32.gt_u ;; CHECK-NEXT: (i32.const 13) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (memory.size $0) + ;; CHECK-NEXT: (memory.size) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -763,12 +763,12 @@ ;; CHECK-NEXT: (global.get $__mem_segment_drop_state) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill $0 + ;; CHECK-NEXT: (memory.fill ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init $0 0 + ;; CHECK-NEXT: (memory.init 0 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 30) @@ -776,7 +776,7 @@ ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill $0 + ;; CHECK-NEXT: (memory.fill ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 34) @@ -784,7 +784,7 @@ ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init $0 1 + ;; CHECK-NEXT: (memory.init 1 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 64) @@ -792,7 +792,7 @@ ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill $0 + ;; CHECK-NEXT: (memory.fill ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 68) @@ -800,7 +800,7 @@ ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init $0 2 + ;; CHECK-NEXT: (memory.init 2 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 98) @@ -808,7 +808,7 @@ ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 6) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill $0 + ;; CHECK-NEXT: (memory.fill ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 104) @@ -838,7 +838,7 @@ (data "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00even\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00more\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00zeroes\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") ;; 1 ;; CHECK: (func $nonconst-offset - ;; CHECK-NEXT: (memory.init $0 3 + ;; CHECK-NEXT: (memory.init 3 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (global.get $param) ;; CHECK-NEXT: (i32.const 134) @@ -857,7 +857,7 @@ (data "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00even\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00more\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00zeroes\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") ;; 2 ;; CHECK: (func $nonconst-size - ;; CHECK-NEXT: (memory.init $0 4 + ;; CHECK-NEXT: (memory.init 4 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (global.get $param) @@ -881,37 +881,37 @@ ;; CHECK-NEXT: (global.get $__mem_segment_drop_state_0) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill $0 + ;; CHECK-NEXT: (memory.fill ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 20) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init $0 5 + ;; CHECK-NEXT: (memory.init 5 ;; CHECK-NEXT: (i32.const 20) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill $0 + ;; CHECK-NEXT: (memory.fill ;; CHECK-NEXT: (i32.const 24) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init $0 6 + ;; CHECK-NEXT: (memory.init 6 ;; CHECK-NEXT: (i32.const 54) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill $0 + ;; CHECK-NEXT: (memory.fill ;; CHECK-NEXT: (i32.const 58) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init $0 7 + ;; CHECK-NEXT: (memory.init 7 ;; CHECK-NEXT: (i32.const 88) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 6) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill $0 + ;; CHECK-NEXT: (memory.fill ;; CHECK-NEXT: (i32.const 94) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) @@ -939,32 +939,32 @@ ;; CHECK: (func $full-skip-start ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (memory.init $0 8 + ;; CHECK-NEXT: (memory.init 8 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill $0 + ;; CHECK-NEXT: (memory.fill ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init $0 9 + ;; CHECK-NEXT: (memory.init 9 ;; CHECK-NEXT: (i32.const 32) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill $0 + ;; CHECK-NEXT: (memory.fill ;; CHECK-NEXT: (i32.const 36) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init $0 10 + ;; CHECK-NEXT: (memory.init 10 ;; CHECK-NEXT: (i32.const 66) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 6) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill $0 + ;; CHECK-NEXT: (memory.fill ;; CHECK-NEXT: (i32.const 72) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) @@ -993,37 +993,37 @@ ;; CHECK-NEXT: (global.get $__mem_segment_drop_state_1) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill $0 + ;; CHECK-NEXT: (memory.fill ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init $0 11 + ;; CHECK-NEXT: (memory.init 11 ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill $0 + ;; CHECK-NEXT: (memory.fill ;; CHECK-NEXT: (i32.const 34) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init $0 12 + ;; CHECK-NEXT: (memory.init 12 ;; CHECK-NEXT: (i32.const 64) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill $0 + ;; CHECK-NEXT: (memory.fill ;; CHECK-NEXT: (i32.const 68) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init $0 13 + ;; CHECK-NEXT: (memory.init 13 ;; CHECK-NEXT: (i32.const 98) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 6) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill $0 + ;; CHECK-NEXT: (memory.fill ;; CHECK-NEXT: (i32.const 104) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 20) @@ -1055,32 +1055,32 @@ ;; CHECK-NEXT: (global.get $__mem_segment_drop_state_2) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill $0 + ;; CHECK-NEXT: (memory.fill ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init $0 14 + ;; CHECK-NEXT: (memory.init 14 ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill $0 + ;; CHECK-NEXT: (memory.fill ;; CHECK-NEXT: (i32.const 34) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init $0 15 + ;; CHECK-NEXT: (memory.init 15 ;; CHECK-NEXT: (i32.const 64) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill $0 + ;; CHECK-NEXT: (memory.fill ;; CHECK-NEXT: (i32.const 68) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init $0 16 + ;; CHECK-NEXT: (memory.init 16 ;; CHECK-NEXT: (i32.const 98) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 4) @@ -1112,7 +1112,7 @@ ;; CHECK-NEXT: (global.get $__mem_segment_drop_state_3) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill $0 + ;; CHECK-NEXT: (memory.fill ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 10) @@ -1139,7 +1139,7 @@ (data "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00even\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00more\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00zeroes\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") ;; 8 ;; CHECK: (func $slice-nonzeroes - ;; CHECK-NEXT: (memory.init $0 20 + ;; CHECK-NEXT: (memory.init 20 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: (i32.const 2) @@ -1167,7 +1167,7 @@ ;; CHECK-NEXT: (i32.gt_u ;; CHECK-NEXT: (i32.const 13) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (memory.size $0) + ;; CHECK-NEXT: (memory.size) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1201,7 +1201,7 @@ ;; CHECK-NEXT: (i32.gt_u ;; CHECK-NEXT: (i32.const 13) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (memory.size $0) + ;; CHECK-NEXT: (memory.size) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1304,7 +1304,7 @@ ;; CHECK-NEXT: (i32.gt_u ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (memory.size $0) + ;; CHECK-NEXT: (memory.size) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1372,7 +1372,7 @@ ;; CHECK-NEXT: (i32.gt_u ;; CHECK-NEXT: (i32.const 13) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (memory.size $0) + ;; CHECK-NEXT: (memory.size) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1406,7 +1406,7 @@ ;; CHECK-NEXT: (i32.gt_u ;; CHECK-NEXT: (i32.const 13) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (memory.size $0) + ;; CHECK-NEXT: (memory.size) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1440,7 +1440,7 @@ ;; CHECK-NEXT: (i32.gt_u ;; CHECK-NEXT: (i32.const 13) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (memory.size $0) + ;; CHECK-NEXT: (memory.size) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1473,7 +1473,7 @@ ;; CHECK-NEXT: (i32.gt_u ;; CHECK-NEXT: (i32.const 13) ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (memory.size $0) + ;; CHECK-NEXT: (memory.size) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1638,442 +1638,442 @@ ;; CHECK: (func $init-lots ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (memory.init $0 0 + ;; CHECK-NEXT: (memory.init 0 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill $0 + ;; CHECK-NEXT: (memory.fill ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init $0 1 + ;; CHECK-NEXT: (memory.init 1 ;; CHECK-NEXT: (i32.const 31) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill $0 + ;; CHECK-NEXT: (memory.fill ;; CHECK-NEXT: (i32.const 32) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init $0 2 + ;; CHECK-NEXT: (memory.init 2 ;; CHECK-NEXT: (i32.const 62) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill $0 + ;; CHECK-NEXT: (memory.fill ;; CHECK-NEXT: (i32.const 63) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init $0 3 + ;; CHECK-NEXT: (memory.init 3 ;; CHECK-NEXT: (i32.const 93) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill $0 + ;; CHECK-NEXT: (memory.fill ;; CHECK-NEXT: (i32.const 94) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init $0 4 + ;; CHECK-NEXT: (memory.init 4 ;; CHECK-NEXT: (i32.const 124) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill $0 + ;; CHECK-NEXT: (memory.fill ;; CHECK-NEXT: (i32.const 125) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init $0 5 + ;; CHECK-NEXT: (memory.init 5 ;; CHECK-NEXT: (i32.const 155) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill $0 + ;; CHECK-NEXT: (memory.fill ;; CHECK-NEXT: (i32.const 156) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init $0 6 + ;; CHECK-NEXT: (memory.init 6 ;; CHECK-NEXT: (i32.const 186) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill $0 + ;; CHECK-NEXT: (memory.fill ;; CHECK-NEXT: (i32.const 187) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init $0 7 + ;; CHECK-NEXT: (memory.init 7 ;; CHECK-NEXT: (i32.const 217) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill $0 + ;; CHECK-NEXT: (memory.fill ;; CHECK-NEXT: (i32.const 218) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init $0 8 + ;; CHECK-NEXT: (memory.init 8 ;; CHECK-NEXT: (i32.const 248) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill $0 + ;; CHECK-NEXT: (memory.fill ;; CHECK-NEXT: (i32.const 249) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init $0 9 + ;; CHECK-NEXT: (memory.init 9 ;; CHECK-NEXT: (i32.const 279) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill $0 + ;; CHECK-NEXT: (memory.fill ;; CHECK-NEXT: (i32.const 280) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init $0 10 + ;; CHECK-NEXT: (memory.init 10 ;; CHECK-NEXT: (i32.const 310) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill $0 + ;; CHECK-NEXT: (memory.fill ;; CHECK-NEXT: (i32.const 311) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init $0 11 + ;; CHECK-NEXT: (memory.init 11 ;; CHECK-NEXT: (i32.const 341) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill $0 + ;; CHECK-NEXT: (memory.fill ;; CHECK-NEXT: (i32.const 342) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init $0 12 + ;; CHECK-NEXT: (memory.init 12 ;; CHECK-NEXT: (i32.const 372) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill $0 + ;; CHECK-NEXT: (memory.fill ;; CHECK-NEXT: (i32.const 373) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init $0 13 + ;; CHECK-NEXT: (memory.init 13 ;; CHECK-NEXT: (i32.const 403) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill $0 + ;; CHECK-NEXT: (memory.fill ;; CHECK-NEXT: (i32.const 404) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init $0 14 + ;; CHECK-NEXT: (memory.init 14 ;; CHECK-NEXT: (i32.const 434) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill $0 + ;; CHECK-NEXT: (memory.fill ;; CHECK-NEXT: (i32.const 435) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init $0 15 + ;; CHECK-NEXT: (memory.init 15 ;; CHECK-NEXT: (i32.const 465) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill $0 + ;; CHECK-NEXT: (memory.fill ;; CHECK-NEXT: (i32.const 466) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init $0 16 + ;; CHECK-NEXT: (memory.init 16 ;; CHECK-NEXT: (i32.const 496) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill $0 + ;; CHECK-NEXT: (memory.fill ;; CHECK-NEXT: (i32.const 497) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init $0 17 + ;; CHECK-NEXT: (memory.init 17 ;; CHECK-NEXT: (i32.const 527) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill $0 + ;; CHECK-NEXT: (memory.fill ;; CHECK-NEXT: (i32.const 528) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init $0 18 + ;; CHECK-NEXT: (memory.init 18 ;; CHECK-NEXT: (i32.const 558) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill $0 + ;; CHECK-NEXT: (memory.fill ;; CHECK-NEXT: (i32.const 559) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init $0 19 + ;; CHECK-NEXT: (memory.init 19 ;; CHECK-NEXT: (i32.const 589) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill $0 + ;; CHECK-NEXT: (memory.fill ;; CHECK-NEXT: (i32.const 590) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init $0 20 + ;; CHECK-NEXT: (memory.init 20 ;; CHECK-NEXT: (i32.const 620) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill $0 + ;; CHECK-NEXT: (memory.fill ;; CHECK-NEXT: (i32.const 621) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init $0 21 + ;; CHECK-NEXT: (memory.init 21 ;; CHECK-NEXT: (i32.const 651) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill $0 + ;; CHECK-NEXT: (memory.fill ;; CHECK-NEXT: (i32.const 652) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init $0 22 + ;; CHECK-NEXT: (memory.init 22 ;; CHECK-NEXT: (i32.const 682) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill $0 + ;; CHECK-NEXT: (memory.fill ;; CHECK-NEXT: (i32.const 683) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init $0 23 + ;; CHECK-NEXT: (memory.init 23 ;; CHECK-NEXT: (i32.const 713) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill $0 + ;; CHECK-NEXT: (memory.fill ;; CHECK-NEXT: (i32.const 714) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init $0 24 + ;; CHECK-NEXT: (memory.init 24 ;; CHECK-NEXT: (i32.const 744) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill $0 + ;; CHECK-NEXT: (memory.fill ;; CHECK-NEXT: (i32.const 745) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init $0 25 + ;; CHECK-NEXT: (memory.init 25 ;; CHECK-NEXT: (i32.const 775) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill $0 + ;; CHECK-NEXT: (memory.fill ;; CHECK-NEXT: (i32.const 776) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init $0 26 + ;; CHECK-NEXT: (memory.init 26 ;; CHECK-NEXT: (i32.const 806) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill $0 + ;; CHECK-NEXT: (memory.fill ;; CHECK-NEXT: (i32.const 807) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init $0 27 + ;; CHECK-NEXT: (memory.init 27 ;; CHECK-NEXT: (i32.const 837) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill $0 + ;; CHECK-NEXT: (memory.fill ;; CHECK-NEXT: (i32.const 838) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init $0 28 + ;; CHECK-NEXT: (memory.init 28 ;; CHECK-NEXT: (i32.const 868) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill $0 + ;; CHECK-NEXT: (memory.fill ;; CHECK-NEXT: (i32.const 869) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init $0 29 + ;; CHECK-NEXT: (memory.init 29 ;; CHECK-NEXT: (i32.const 899) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill $0 + ;; CHECK-NEXT: (memory.fill ;; CHECK-NEXT: (i32.const 900) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init $0 30 + ;; CHECK-NEXT: (memory.init 30 ;; CHECK-NEXT: (i32.const 930) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill $0 + ;; CHECK-NEXT: (memory.fill ;; CHECK-NEXT: (i32.const 931) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init $0 31 + ;; CHECK-NEXT: (memory.init 31 ;; CHECK-NEXT: (i32.const 961) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill $0 + ;; CHECK-NEXT: (memory.fill ;; CHECK-NEXT: (i32.const 962) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init $0 32 + ;; CHECK-NEXT: (memory.init 32 ;; CHECK-NEXT: (i32.const 992) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill $0 + ;; CHECK-NEXT: (memory.fill ;; CHECK-NEXT: (i32.const 993) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init $0 33 + ;; CHECK-NEXT: (memory.init 33 ;; CHECK-NEXT: (i32.const 1023) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill $0 + ;; CHECK-NEXT: (memory.fill ;; CHECK-NEXT: (i32.const 1024) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init $0 34 + ;; CHECK-NEXT: (memory.init 34 ;; CHECK-NEXT: (i32.const 1054) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill $0 + ;; CHECK-NEXT: (memory.fill ;; CHECK-NEXT: (i32.const 1055) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init $0 35 + ;; CHECK-NEXT: (memory.init 35 ;; CHECK-NEXT: (i32.const 1085) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill $0 + ;; CHECK-NEXT: (memory.fill ;; CHECK-NEXT: (i32.const 1086) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init $0 36 + ;; CHECK-NEXT: (memory.init 36 ;; CHECK-NEXT: (i32.const 1116) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill $0 + ;; CHECK-NEXT: (memory.fill ;; CHECK-NEXT: (i32.const 1117) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init $0 37 + ;; CHECK-NEXT: (memory.init 37 ;; CHECK-NEXT: (i32.const 1147) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill $0 + ;; CHECK-NEXT: (memory.fill ;; CHECK-NEXT: (i32.const 1148) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init $0 38 + ;; CHECK-NEXT: (memory.init 38 ;; CHECK-NEXT: (i32.const 1178) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill $0 + ;; CHECK-NEXT: (memory.fill ;; CHECK-NEXT: (i32.const 1179) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init $0 39 + ;; CHECK-NEXT: (memory.init 39 ;; CHECK-NEXT: (i32.const 1209) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill $0 + ;; CHECK-NEXT: (memory.fill ;; CHECK-NEXT: (i32.const 1210) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init $0 40 + ;; CHECK-NEXT: (memory.init 40 ;; CHECK-NEXT: (i32.const 1240) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill $0 + ;; CHECK-NEXT: (memory.fill ;; CHECK-NEXT: (i32.const 1241) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init $0 41 + ;; CHECK-NEXT: (memory.init 41 ;; CHECK-NEXT: (i32.const 1271) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill $0 + ;; CHECK-NEXT: (memory.fill ;; CHECK-NEXT: (i32.const 1272) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init $0 42 + ;; CHECK-NEXT: (memory.init 42 ;; CHECK-NEXT: (i32.const 1302) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill $0 + ;; CHECK-NEXT: (memory.fill ;; CHECK-NEXT: (i32.const 1303) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init $0 43 + ;; CHECK-NEXT: (memory.init 43 ;; CHECK-NEXT: (i32.const 1333) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill $0 + ;; CHECK-NEXT: (memory.fill ;; CHECK-NEXT: (i32.const 1334) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 11) @@ -2234,12 +2234,12 @@ ;; CHECK-NEXT: (global.get $__mem_segment_drop_state) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill $0 + ;; CHECK-NEXT: (memory.fill ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.init $0 1 + ;; CHECK-NEXT: (memory.init 1 ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 8) @@ -2283,7 +2283,7 @@ ;; CHECK: (data "foo") (data "foo") ;; CHECK: (func $0 - ;; CHECK-NEXT: (memory.init $0 0 + ;; CHECK-NEXT: (memory.init 0 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: (i32.const 1) diff --git a/test/lit/passes/optimize-instructions-atomics.wast b/test/lit/passes/optimize-instructions-atomics.wast index 9326db10eb4..979afde68a7 100644 --- a/test/lit/passes/optimize-instructions-atomics.wast +++ b/test/lit/passes/optimize-instructions-atomics.wast @@ -9,7 +9,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.shr_s ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.atomic.load8_u $0 + ;; CHECK-NEXT: (i32.atomic.load8_u ;; CHECK-NEXT: (i32.const 100) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 24) @@ -35,12 +35,12 @@ ;; CHECK: (func $dont_simplify_reinterpret_atomic_load_store (param $x i32) (param $y f32) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (f64.reinterpret_i64 - ;; CHECK-NEXT: (i64.atomic.load $0 + ;; CHECK-NEXT: (i64.atomic.load ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.atomic.store $0 + ;; CHECK-NEXT: (i32.atomic.store ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: (i32.reinterpret_f32 ;; CHECK-NEXT: (local.get $y) @@ -54,33 +54,33 @@ ;; CHECK: (func $combine_atomic_load_and_extends (param $x i32) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i64.atomic.load8_u $0 + ;; CHECK-NEXT: (i64.atomic.load8_u ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i64.atomic.load16_u $0 + ;; CHECK-NEXT: (i64.atomic.load16_u ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i64.atomic.load32_u $0 + ;; CHECK-NEXT: (i64.atomic.load32_u ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i64.atomic.load8_u $0 + ;; CHECK-NEXT: (i64.atomic.load8_u ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i64.atomic.load16_u $0 + ;; CHECK-NEXT: (i64.atomic.load16_u ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i64.extend_i32_s - ;; CHECK-NEXT: (i32.atomic.load $0 + ;; CHECK-NEXT: (i32.atomic.load ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/optimize-instructions-bulk-memory.wast b/test/lit/passes/optimize-instructions-bulk-memory.wast index 6e2f3a952c6..4f30e3e9abb 100644 --- a/test/lit/passes/optimize-instructions-bulk-memory.wast +++ b/test/lit/passes/optimize-instructions-bulk-memory.wast @@ -5,148 +5,148 @@ (module (memory 0) ;; CHECK: (func $optimize-bulk-memory-copy (param $dst i32) (param $src i32) (param $sz i32) - ;; CHECK-NEXT: (memory.copy $0 $0 + ;; CHECK-NEXT: (memory.copy ;; CHECK-NEXT: (local.get $dst) ;; CHECK-NEXT: (local.get $dst) ;; CHECK-NEXT: (local.get $sz) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.copy $0 $0 + ;; CHECK-NEXT: (memory.copy ;; CHECK-NEXT: (local.get $dst) ;; CHECK-NEXT: (local.get $src) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 + ;; CHECK-NEXT: (i32.store8 ;; CHECK-NEXT: (local.get $dst) - ;; CHECK-NEXT: (i32.load8_u $0 + ;; CHECK-NEXT: (i32.load8_u ;; CHECK-NEXT: (local.get $src) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 $0 align=1 + ;; CHECK-NEXT: (i32.store16 align=1 ;; CHECK-NEXT: (local.get $dst) - ;; CHECK-NEXT: (i32.load16_u $0 align=1 + ;; CHECK-NEXT: (i32.load16_u align=1 ;; CHECK-NEXT: (local.get $src) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.copy $0 $0 + ;; CHECK-NEXT: (memory.copy ;; CHECK-NEXT: (local.get $dst) ;; CHECK-NEXT: (local.get $src) ;; CHECK-NEXT: (i32.const 3) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 align=1 + ;; CHECK-NEXT: (i32.store align=1 ;; CHECK-NEXT: (local.get $dst) - ;; CHECK-NEXT: (i32.load $0 align=1 + ;; CHECK-NEXT: (i32.load align=1 ;; CHECK-NEXT: (local.get $src) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.copy $0 $0 + ;; CHECK-NEXT: (memory.copy ;; CHECK-NEXT: (local.get $dst) ;; CHECK-NEXT: (local.get $src) ;; CHECK-NEXT: (i32.const 5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.copy $0 $0 + ;; CHECK-NEXT: (memory.copy ;; CHECK-NEXT: (local.get $dst) ;; CHECK-NEXT: (local.get $src) ;; CHECK-NEXT: (i32.const 6) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.copy $0 $0 + ;; CHECK-NEXT: (memory.copy ;; CHECK-NEXT: (local.get $dst) ;; CHECK-NEXT: (local.get $src) ;; CHECK-NEXT: (i32.const 7) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i64.store $0 align=1 + ;; CHECK-NEXT: (i64.store align=1 ;; CHECK-NEXT: (local.get $dst) - ;; CHECK-NEXT: (i64.load $0 align=1 + ;; CHECK-NEXT: (i64.load align=1 ;; CHECK-NEXT: (local.get $src) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (v128.store $0 align=1 + ;; CHECK-NEXT: (v128.store align=1 ;; CHECK-NEXT: (local.get $dst) - ;; CHECK-NEXT: (v128.load $0 align=1 + ;; CHECK-NEXT: (v128.load align=1 ;; CHECK-NEXT: (local.get $src) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.copy $0 $0 + ;; CHECK-NEXT: (memory.copy ;; CHECK-NEXT: (local.get $dst) ;; CHECK-NEXT: (local.get $src) ;; CHECK-NEXT: (local.get $sz) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.copy $0 $0 + ;; CHECK-NEXT: (memory.copy ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 0) - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; NOSIMD: (func $optimize-bulk-memory-copy (param $dst i32) (param $src i32) (param $sz i32) - ;; NOSIMD-NEXT: (memory.copy $0 $0 + ;; NOSIMD-NEXT: (memory.copy ;; NOSIMD-NEXT: (local.get $dst) ;; NOSIMD-NEXT: (local.get $dst) ;; NOSIMD-NEXT: (local.get $sz) ;; NOSIMD-NEXT: ) - ;; NOSIMD-NEXT: (memory.copy $0 $0 + ;; NOSIMD-NEXT: (memory.copy ;; NOSIMD-NEXT: (local.get $dst) ;; NOSIMD-NEXT: (local.get $src) ;; NOSIMD-NEXT: (i32.const 0) ;; NOSIMD-NEXT: ) - ;; NOSIMD-NEXT: (i32.store8 $0 + ;; NOSIMD-NEXT: (i32.store8 ;; NOSIMD-NEXT: (local.get $dst) - ;; NOSIMD-NEXT: (i32.load8_u $0 + ;; NOSIMD-NEXT: (i32.load8_u ;; NOSIMD-NEXT: (local.get $src) ;; NOSIMD-NEXT: ) ;; NOSIMD-NEXT: ) - ;; NOSIMD-NEXT: (i32.store16 $0 align=1 + ;; NOSIMD-NEXT: (i32.store16 align=1 ;; NOSIMD-NEXT: (local.get $dst) - ;; NOSIMD-NEXT: (i32.load16_u $0 align=1 + ;; NOSIMD-NEXT: (i32.load16_u align=1 ;; NOSIMD-NEXT: (local.get $src) ;; NOSIMD-NEXT: ) ;; NOSIMD-NEXT: ) - ;; NOSIMD-NEXT: (memory.copy $0 $0 + ;; NOSIMD-NEXT: (memory.copy ;; NOSIMD-NEXT: (local.get $dst) ;; NOSIMD-NEXT: (local.get $src) ;; NOSIMD-NEXT: (i32.const 3) ;; NOSIMD-NEXT: ) - ;; NOSIMD-NEXT: (i32.store $0 align=1 + ;; NOSIMD-NEXT: (i32.store align=1 ;; NOSIMD-NEXT: (local.get $dst) - ;; NOSIMD-NEXT: (i32.load $0 align=1 + ;; NOSIMD-NEXT: (i32.load align=1 ;; NOSIMD-NEXT: (local.get $src) ;; NOSIMD-NEXT: ) ;; NOSIMD-NEXT: ) - ;; NOSIMD-NEXT: (memory.copy $0 $0 + ;; NOSIMD-NEXT: (memory.copy ;; NOSIMD-NEXT: (local.get $dst) ;; NOSIMD-NEXT: (local.get $src) ;; NOSIMD-NEXT: (i32.const 5) ;; NOSIMD-NEXT: ) - ;; NOSIMD-NEXT: (memory.copy $0 $0 + ;; NOSIMD-NEXT: (memory.copy ;; NOSIMD-NEXT: (local.get $dst) ;; NOSIMD-NEXT: (local.get $src) ;; NOSIMD-NEXT: (i32.const 6) ;; NOSIMD-NEXT: ) - ;; NOSIMD-NEXT: (memory.copy $0 $0 + ;; NOSIMD-NEXT: (memory.copy ;; NOSIMD-NEXT: (local.get $dst) ;; NOSIMD-NEXT: (local.get $src) ;; NOSIMD-NEXT: (i32.const 7) ;; NOSIMD-NEXT: ) - ;; NOSIMD-NEXT: (i64.store $0 align=1 + ;; NOSIMD-NEXT: (i64.store align=1 ;; NOSIMD-NEXT: (local.get $dst) - ;; NOSIMD-NEXT: (i64.load $0 align=1 + ;; NOSIMD-NEXT: (i64.load align=1 ;; NOSIMD-NEXT: (local.get $src) ;; NOSIMD-NEXT: ) ;; NOSIMD-NEXT: ) - ;; NOSIMD-NEXT: (memory.copy $0 $0 + ;; NOSIMD-NEXT: (memory.copy ;; NOSIMD-NEXT: (local.get $dst) ;; NOSIMD-NEXT: (local.get $src) ;; NOSIMD-NEXT: (i32.const 16) ;; NOSIMD-NEXT: ) - ;; NOSIMD-NEXT: (memory.copy $0 $0 + ;; NOSIMD-NEXT: (memory.copy ;; NOSIMD-NEXT: (local.get $dst) ;; NOSIMD-NEXT: (local.get $src) ;; NOSIMD-NEXT: (local.get $sz) ;; NOSIMD-NEXT: ) - ;; NOSIMD-NEXT: (memory.copy $0 $0 + ;; NOSIMD-NEXT: (memory.copy ;; NOSIMD-NEXT: (i32.const 0) ;; NOSIMD-NEXT: (i32.const 0) - ;; NOSIMD-NEXT: (i32.load $0 + ;; NOSIMD-NEXT: (i32.load ;; NOSIMD-NEXT: (i32.const 3) ;; NOSIMD-NEXT: ) ;; NOSIMD-NEXT: ) @@ -234,98 +234,98 @@ ) ;; CHECK: (func $optimize-bulk-memory-fill (param $dst i32) (param $val i32) (param $sz i32) - ;; CHECK-NEXT: (memory.fill $0 + ;; CHECK-NEXT: (memory.fill ;; CHECK-NEXT: (local.get $dst) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 + ;; CHECK-NEXT: (i32.store8 ;; CHECK-NEXT: (local.get $dst) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 + ;; CHECK-NEXT: (i32.store8 ;; CHECK-NEXT: (local.get $dst) ;; CHECK-NEXT: (local.get $val) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 + ;; CHECK-NEXT: (i32.store8 ;; CHECK-NEXT: (local.get $dst) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 + ;; CHECK-NEXT: (i32.store8 ;; CHECK-NEXT: (local.get $dst) ;; CHECK-NEXT: (i32.const 255) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 $0 align=1 + ;; CHECK-NEXT: (i32.store16 align=1 ;; CHECK-NEXT: (local.get $dst) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 $0 align=1 + ;; CHECK-NEXT: (i32.store16 align=1 ;; CHECK-NEXT: (local.get $dst) ;; CHECK-NEXT: (i32.const 257) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 $0 align=1 + ;; CHECK-NEXT: (i32.store16 align=1 ;; CHECK-NEXT: (local.get $dst) ;; CHECK-NEXT: (i32.const 65535) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 align=1 + ;; CHECK-NEXT: (i32.store align=1 ;; CHECK-NEXT: (local.get $dst) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i64.store $0 align=1 + ;; CHECK-NEXT: (i64.store align=1 ;; CHECK-NEXT: (local.get $dst) ;; CHECK-NEXT: (i64.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (v128.store $0 align=1 + ;; CHECK-NEXT: (v128.store align=1 ;; CHECK-NEXT: (local.get $dst) ;; CHECK-NEXT: (v128.const i32x4 0x00000000 0x00000000 0x00000000 0x00000000) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 align=1 + ;; CHECK-NEXT: (i32.store align=1 ;; CHECK-NEXT: (local.get $dst) ;; CHECK-NEXT: (i32.const 16843009) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i64.store $0 align=1 + ;; CHECK-NEXT: (i64.store align=1 ;; CHECK-NEXT: (local.get $dst) ;; CHECK-NEXT: (i64.const 72340172838076673) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (v128.store $0 align=1 + ;; CHECK-NEXT: (v128.store align=1 ;; CHECK-NEXT: (local.get $dst) ;; CHECK-NEXT: (v128.const i32x4 0x01010101 0x01010101 0x01010101 0x01010101) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (v128.store $0 align=1 + ;; CHECK-NEXT: (v128.store align=1 ;; CHECK-NEXT: (local.get $dst) ;; CHECK-NEXT: (v128.const i32x4 0xffffffff 0xffffffff 0xffffffff 0xffffffff) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill $0 + ;; CHECK-NEXT: (memory.fill ;; CHECK-NEXT: (local.get $dst) ;; CHECK-NEXT: (local.get $val) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill $0 + ;; CHECK-NEXT: (memory.fill ;; CHECK-NEXT: (local.get $dst) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (local.get $sz) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill $0 + ;; CHECK-NEXT: (memory.fill ;; CHECK-NEXT: (local.get $dst) ;; CHECK-NEXT: (local.get $val) ;; CHECK-NEXT: (local.get $sz) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill $0 + ;; CHECK-NEXT: (memory.fill ;; CHECK-NEXT: (local.get $dst) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 3) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill $0 + ;; CHECK-NEXT: (memory.fill ;; CHECK-NEXT: (local.get $dst) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: (i32.const 3) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill $0 + ;; CHECK-NEXT: (memory.fill ;; CHECK-NEXT: (local.get $dst) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 17) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill $0 + ;; CHECK-NEXT: (memory.fill ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: (i32.const 16) @@ -335,122 +335,122 @@ ;; NOSIMD-NEXT: (local $3 i32) ;; NOSIMD-NEXT: (local $4 i32) ;; NOSIMD-NEXT: (local $5 i32) - ;; NOSIMD-NEXT: (memory.fill $0 + ;; NOSIMD-NEXT: (memory.fill ;; NOSIMD-NEXT: (local.get $dst) ;; NOSIMD-NEXT: (i32.const 0) ;; NOSIMD-NEXT: (i32.const 0) ;; NOSIMD-NEXT: ) - ;; NOSIMD-NEXT: (i32.store8 $0 + ;; NOSIMD-NEXT: (i32.store8 ;; NOSIMD-NEXT: (local.get $dst) ;; NOSIMD-NEXT: (i32.const 0) ;; NOSIMD-NEXT: ) - ;; NOSIMD-NEXT: (i32.store8 $0 + ;; NOSIMD-NEXT: (i32.store8 ;; NOSIMD-NEXT: (local.get $dst) ;; NOSIMD-NEXT: (local.get $val) ;; NOSIMD-NEXT: ) - ;; NOSIMD-NEXT: (i32.store8 $0 + ;; NOSIMD-NEXT: (i32.store8 ;; NOSIMD-NEXT: (local.get $dst) ;; NOSIMD-NEXT: (i32.const 1) ;; NOSIMD-NEXT: ) - ;; NOSIMD-NEXT: (i32.store8 $0 + ;; NOSIMD-NEXT: (i32.store8 ;; NOSIMD-NEXT: (local.get $dst) ;; NOSIMD-NEXT: (i32.const 255) ;; NOSIMD-NEXT: ) - ;; NOSIMD-NEXT: (i32.store16 $0 align=1 + ;; NOSIMD-NEXT: (i32.store16 align=1 ;; NOSIMD-NEXT: (local.get $dst) ;; NOSIMD-NEXT: (i32.const 0) ;; NOSIMD-NEXT: ) - ;; NOSIMD-NEXT: (i32.store16 $0 align=1 + ;; NOSIMD-NEXT: (i32.store16 align=1 ;; NOSIMD-NEXT: (local.get $dst) ;; NOSIMD-NEXT: (i32.const 257) ;; NOSIMD-NEXT: ) - ;; NOSIMD-NEXT: (i32.store16 $0 align=1 + ;; NOSIMD-NEXT: (i32.store16 align=1 ;; NOSIMD-NEXT: (local.get $dst) ;; NOSIMD-NEXT: (i32.const 65535) ;; NOSIMD-NEXT: ) - ;; NOSIMD-NEXT: (i32.store $0 align=1 + ;; NOSIMD-NEXT: (i32.store align=1 ;; NOSIMD-NEXT: (local.get $dst) ;; NOSIMD-NEXT: (i32.const 0) ;; NOSIMD-NEXT: ) - ;; NOSIMD-NEXT: (i64.store $0 align=1 + ;; NOSIMD-NEXT: (i64.store align=1 ;; NOSIMD-NEXT: (local.get $dst) ;; NOSIMD-NEXT: (i64.const 0) ;; NOSIMD-NEXT: ) ;; NOSIMD-NEXT: (block - ;; NOSIMD-NEXT: (i64.store $0 align=1 + ;; NOSIMD-NEXT: (i64.store align=1 ;; NOSIMD-NEXT: (local.tee $3 ;; NOSIMD-NEXT: (local.get $dst) ;; NOSIMD-NEXT: ) ;; NOSIMD-NEXT: (i64.const 0) ;; NOSIMD-NEXT: ) - ;; NOSIMD-NEXT: (i64.store $0 offset=8 align=1 + ;; NOSIMD-NEXT: (i64.store offset=8 align=1 ;; NOSIMD-NEXT: (local.get $3) ;; NOSIMD-NEXT: (i64.const 0) ;; NOSIMD-NEXT: ) ;; NOSIMD-NEXT: ) - ;; NOSIMD-NEXT: (i32.store $0 align=1 + ;; NOSIMD-NEXT: (i32.store align=1 ;; NOSIMD-NEXT: (local.get $dst) ;; NOSIMD-NEXT: (i32.const 16843009) ;; NOSIMD-NEXT: ) - ;; NOSIMD-NEXT: (i64.store $0 align=1 + ;; NOSIMD-NEXT: (i64.store align=1 ;; NOSIMD-NEXT: (local.get $dst) ;; NOSIMD-NEXT: (i64.const 72340172838076673) ;; NOSIMD-NEXT: ) ;; NOSIMD-NEXT: (block - ;; NOSIMD-NEXT: (i64.store $0 align=1 + ;; NOSIMD-NEXT: (i64.store align=1 ;; NOSIMD-NEXT: (local.tee $4 ;; NOSIMD-NEXT: (local.get $dst) ;; NOSIMD-NEXT: ) ;; NOSIMD-NEXT: (i64.const 72340172838076673) ;; NOSIMD-NEXT: ) - ;; NOSIMD-NEXT: (i64.store $0 offset=8 align=1 + ;; NOSIMD-NEXT: (i64.store offset=8 align=1 ;; NOSIMD-NEXT: (local.get $4) ;; NOSIMD-NEXT: (i64.const 72340172838076673) ;; NOSIMD-NEXT: ) ;; NOSIMD-NEXT: ) ;; NOSIMD-NEXT: (block - ;; NOSIMD-NEXT: (i64.store $0 align=1 + ;; NOSIMD-NEXT: (i64.store align=1 ;; NOSIMD-NEXT: (local.tee $5 ;; NOSIMD-NEXT: (local.get $dst) ;; NOSIMD-NEXT: ) ;; NOSIMD-NEXT: (i64.const -1) ;; NOSIMD-NEXT: ) - ;; NOSIMD-NEXT: (i64.store $0 offset=8 align=1 + ;; NOSIMD-NEXT: (i64.store offset=8 align=1 ;; NOSIMD-NEXT: (local.get $5) ;; NOSIMD-NEXT: (i64.const -1) ;; NOSIMD-NEXT: ) ;; NOSIMD-NEXT: ) - ;; NOSIMD-NEXT: (memory.fill $0 + ;; NOSIMD-NEXT: (memory.fill ;; NOSIMD-NEXT: (local.get $dst) ;; NOSIMD-NEXT: (local.get $val) ;; NOSIMD-NEXT: (i32.const 0) ;; NOSIMD-NEXT: ) - ;; NOSIMD-NEXT: (memory.fill $0 + ;; NOSIMD-NEXT: (memory.fill ;; NOSIMD-NEXT: (local.get $dst) ;; NOSIMD-NEXT: (i32.const 0) ;; NOSIMD-NEXT: (local.get $sz) ;; NOSIMD-NEXT: ) - ;; NOSIMD-NEXT: (memory.fill $0 + ;; NOSIMD-NEXT: (memory.fill ;; NOSIMD-NEXT: (local.get $dst) ;; NOSIMD-NEXT: (local.get $val) ;; NOSIMD-NEXT: (local.get $sz) ;; NOSIMD-NEXT: ) - ;; NOSIMD-NEXT: (memory.fill $0 + ;; NOSIMD-NEXT: (memory.fill ;; NOSIMD-NEXT: (local.get $dst) ;; NOSIMD-NEXT: (i32.const 0) ;; NOSIMD-NEXT: (i32.const 3) ;; NOSIMD-NEXT: ) - ;; NOSIMD-NEXT: (memory.fill $0 + ;; NOSIMD-NEXT: (memory.fill ;; NOSIMD-NEXT: (local.get $dst) ;; NOSIMD-NEXT: (i32.const 1) ;; NOSIMD-NEXT: (i32.const 3) ;; NOSIMD-NEXT: ) - ;; NOSIMD-NEXT: (memory.fill $0 + ;; NOSIMD-NEXT: (memory.fill ;; NOSIMD-NEXT: (local.get $dst) ;; NOSIMD-NEXT: (i32.const 0) ;; NOSIMD-NEXT: (i32.const 17) ;; NOSIMD-NEXT: ) - ;; NOSIMD-NEXT: (memory.fill $0 + ;; NOSIMD-NEXT: (memory.fill ;; NOSIMD-NEXT: (unreachable) ;; NOSIMD-NEXT: (i32.const 1) ;; NOSIMD-NEXT: (i32.const 16) diff --git a/test/lit/passes/optimize-instructions-ignore-traps.wast b/test/lit/passes/optimize-instructions-ignore-traps.wast index d4e83e90a7c..cca6061f479 100644 --- a/test/lit/passes/optimize-instructions-ignore-traps.wast +++ b/test/lit/passes/optimize-instructions-ignore-traps.wast @@ -764,7 +764,7 @@ ;; CHECK-NEXT: (local.get $val) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (memory.fill $0 + ;; CHECK-NEXT: (memory.fill ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (local.get $sz) diff --git a/test/lit/passes/optimize-instructions.wast b/test/lit/passes/optimize-instructions.wast index 524384308ad..1bf3f751c71 100644 --- a/test/lit/passes/optimize-instructions.wast +++ b/test/lit/passes/optimize-instructions.wast @@ -950,7 +950,7 @@ ) ) ;; CHECK: (func $load8_s-and-255 (result i32) - ;; CHECK-NEXT: (i32.load8_u $0 + ;; CHECK-NEXT: (i32.load8_u ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -958,7 +958,7 @@ (i32.and (i32.load8_s (i32.const 0)) (i32.const 255)) ) ;; CHECK: (func $load8_u-and-255 (result i32) - ;; CHECK-NEXT: (i32.load8_u $0 + ;; CHECK-NEXT: (i32.load8_u ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -967,7 +967,7 @@ ) ;; CHECK: (func $load8_s-and-254 (result i32) ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load8_s $0 + ;; CHECK-NEXT: (i32.load8_s ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 254) @@ -978,7 +978,7 @@ ) ;; CHECK: (func $load8_u-and-1 (result i32) ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load8_u $0 + ;; CHECK-NEXT: (i32.load8_u ;; CHECK-NEXT: (i32.const 3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 1) @@ -988,7 +988,7 @@ (i32.and (i32.load8_u (i32.const 3)) (i32.const 1)) ) ;; CHECK: (func $load16_s-and-65535 (result i32) - ;; CHECK-NEXT: (i32.load16_u $0 + ;; CHECK-NEXT: (i32.load16_u ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -996,7 +996,7 @@ (i32.and (i32.load16_s (i32.const 4)) (i32.const 65535)) ) ;; CHECK: (func $load16_u-and-65535 (result i32) - ;; CHECK-NEXT: (i32.load16_u $0 + ;; CHECK-NEXT: (i32.load16_u ;; CHECK-NEXT: (i32.const 5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1005,7 +1005,7 @@ ) ;; CHECK: (func $load16_s-and-65534 (result i32) ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load16_s $0 + ;; CHECK-NEXT: (i32.load16_s ;; CHECK-NEXT: (i32.const 6) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 65534) @@ -1016,7 +1016,7 @@ ) ;; CHECK: (func $load16_u-and-1 (result i32) ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load16_u $0 + ;; CHECK-NEXT: (i32.load16_u ;; CHECK-NEXT: (i32.const 7) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 1) @@ -1026,7 +1026,7 @@ (i32.and (i32.load16_u (i32.const 7)) (i32.const 1)) ) ;; CHECK: (func $store8-and-255 - ;; CHECK-NEXT: (i32.store8 $0 + ;; CHECK-NEXT: (i32.store8 ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: (i32.const -1) ;; CHECK-NEXT: ) @@ -1035,7 +1035,7 @@ (i32.store8 (i32.const 8) (i32.and (i32.const -1) (i32.const 255))) ) ;; CHECK: (func $store8-and-254 - ;; CHECK-NEXT: (i32.store8 $0 + ;; CHECK-NEXT: (i32.store8 ;; CHECK-NEXT: (i32.const 9) ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (i32.const -2) @@ -1047,7 +1047,7 @@ (i32.store8 (i32.const 9) (i32.and (i32.const -2) (i32.const 254))) ) ;; CHECK: (func $store16-and-65535 - ;; CHECK-NEXT: (i32.store16 $0 + ;; CHECK-NEXT: (i32.store16 ;; CHECK-NEXT: (i32.const 10) ;; CHECK-NEXT: (i32.const -3) ;; CHECK-NEXT: ) @@ -1056,7 +1056,7 @@ (i32.store16 (i32.const 10) (i32.and (i32.const -3) (i32.const 65535))) ) ;; CHECK: (func $store16-and-65534 - ;; CHECK-NEXT: (i32.store16 $0 + ;; CHECK-NEXT: (i32.store16 ;; CHECK-NEXT: (i32.const 11) ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (i32.const -4) @@ -1068,7 +1068,7 @@ (i32.store16 (i32.const 11) (i32.and (i32.const -4) (i32.const 65534))) ) ;; CHECK: (func $store8-wrap - ;; CHECK-NEXT: (i64.store8 $0 + ;; CHECK-NEXT: (i64.store8 ;; CHECK-NEXT: (i32.const 11) ;; CHECK-NEXT: (i64.const 1) ;; CHECK-NEXT: ) @@ -1077,7 +1077,7 @@ (i32.store8 (i32.const 11) (i32.wrap_i64 (i64.const 1))) ) ;; CHECK: (func $store16-wrap - ;; CHECK-NEXT: (i64.store16 $0 + ;; CHECK-NEXT: (i64.store16 ;; CHECK-NEXT: (i32.const 11) ;; CHECK-NEXT: (i64.const 2) ;; CHECK-NEXT: ) @@ -1086,7 +1086,7 @@ (i32.store16 (i32.const 11) (i32.wrap_i64 (i64.const 2))) ) ;; CHECK: (func $store-wrap - ;; CHECK-NEXT: (i64.store32 $0 + ;; CHECK-NEXT: (i64.store32 ;; CHECK-NEXT: (i32.const 11) ;; CHECK-NEXT: (i64.const 3) ;; CHECK-NEXT: ) @@ -1095,7 +1095,7 @@ (i32.store (i32.const 11) (i32.wrap_i64 (i64.const 3))) ) ;; CHECK: (func $store8-neg1 - ;; CHECK-NEXT: (i32.store8 $0 + ;; CHECK-NEXT: (i32.store8 ;; CHECK-NEXT: (i32.const 7) ;; CHECK-NEXT: (i32.const 255) ;; CHECK-NEXT: ) @@ -1104,7 +1104,7 @@ (i32.store8 (i32.const 7) (i32.const -1)) ;; 255 ) ;; CHECK: (func $store8-255 - ;; CHECK-NEXT: (i32.store8 $0 + ;; CHECK-NEXT: (i32.store8 ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: (i32.const 255) ;; CHECK-NEXT: ) @@ -1113,7 +1113,7 @@ (i32.store8 (i32.const 8) (i32.const 255)) ) ;; CHECK: (func $store8-256 - ;; CHECK-NEXT: (i32.store8 $0 + ;; CHECK-NEXT: (i32.store8 ;; CHECK-NEXT: (i32.const 9) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) @@ -1122,7 +1122,7 @@ (i32.store8 (i32.const 9) (i32.const 256)) ;; 0 ) ;; CHECK: (func $store16-neg1 - ;; CHECK-NEXT: (i32.store16 $0 + ;; CHECK-NEXT: (i32.store16 ;; CHECK-NEXT: (i32.const 13) ;; CHECK-NEXT: (i32.const 65535) ;; CHECK-NEXT: ) @@ -1131,7 +1131,7 @@ (i32.store16 (i32.const 13) (i32.const -1)) ;; 65535 ) ;; CHECK: (func $store16-65535 - ;; CHECK-NEXT: (i32.store16 $0 + ;; CHECK-NEXT: (i32.store16 ;; CHECK-NEXT: (i32.const 10) ;; CHECK-NEXT: (i32.const 65535) ;; CHECK-NEXT: ) @@ -1140,7 +1140,7 @@ (i32.store16 (i32.const 10) (i32.const 65535)) ) ;; CHECK: (func $store16-65536 - ;; CHECK-NEXT: (i32.store16 $0 + ;; CHECK-NEXT: (i32.store16 ;; CHECK-NEXT: (i32.const 11) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) @@ -1149,7 +1149,7 @@ (i32.store16 (i32.const 11) (i32.const 65536)) ;; 0 ) ;; CHECK: (func $store-65536 - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 14) ;; CHECK-NEXT: (i32.const 65536) ;; CHECK-NEXT: ) @@ -1158,7 +1158,7 @@ (i32.store (i32.const 14) (i32.const 65536)) ) ;; CHECK: (func $store8-255-i64 - ;; CHECK-NEXT: (i64.store8 $0 + ;; CHECK-NEXT: (i64.store8 ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: (i64.const 255) ;; CHECK-NEXT: ) @@ -1167,7 +1167,7 @@ (i64.store8 (i32.const 8) (i64.const 255)) ) ;; CHECK: (func $store8-256-i64 - ;; CHECK-NEXT: (i64.store8 $0 + ;; CHECK-NEXT: (i64.store8 ;; CHECK-NEXT: (i32.const 9) ;; CHECK-NEXT: (i64.const 0) ;; CHECK-NEXT: ) @@ -1176,7 +1176,7 @@ (i64.store8 (i32.const 9) (i64.const 256)) ;; 0 ) ;; CHECK: (func $store16-65535-i64 - ;; CHECK-NEXT: (i64.store16 $0 + ;; CHECK-NEXT: (i64.store16 ;; CHECK-NEXT: (i32.const 10) ;; CHECK-NEXT: (i64.const 65535) ;; CHECK-NEXT: ) @@ -1185,7 +1185,7 @@ (i64.store16 (i32.const 10) (i64.const 65535)) ) ;; CHECK: (func $store16-65536-i64 - ;; CHECK-NEXT: (i64.store16 $0 + ;; CHECK-NEXT: (i64.store16 ;; CHECK-NEXT: (i32.const 11) ;; CHECK-NEXT: (i64.const 0) ;; CHECK-NEXT: ) @@ -1194,7 +1194,7 @@ (i64.store16 (i32.const 11) (i64.const 65536)) ;; 0 ) ;; CHECK: (func $store32-4294967295 - ;; CHECK-NEXT: (i64.store32 $0 + ;; CHECK-NEXT: (i64.store32 ;; CHECK-NEXT: (i32.const 12) ;; CHECK-NEXT: (i64.const 4294967295) ;; CHECK-NEXT: ) @@ -1203,7 +1203,7 @@ (i64.store32 (i32.const 12) (i64.const 4294967295)) ) ;; CHECK: (func $store32-4294967296 - ;; CHECK-NEXT: (i64.store32 $0 + ;; CHECK-NEXT: (i64.store32 ;; CHECK-NEXT: (i32.const 13) ;; CHECK-NEXT: (i64.const 0) ;; CHECK-NEXT: ) @@ -1212,7 +1212,7 @@ (i64.store32 (i32.const 13) (i64.const 4294967296)) ;; 0 ) ;; CHECK: (func $store-4294967296 - ;; CHECK-NEXT: (i64.store $0 + ;; CHECK-NEXT: (i64.store ;; CHECK-NEXT: (i32.const 14) ;; CHECK-NEXT: (i64.const 4294967296) ;; CHECK-NEXT: ) @@ -1871,11 +1871,11 @@ (unreachable) ) ;; CHECK: (func $store-off-2-add-consts (param $0 i32) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 6) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 6) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) @@ -1897,14 +1897,14 @@ ) ) ;; CHECK: (func $store-off-2-add-var-const (param $0 i32) - ;; CHECK-NEXT: (i32.store $0 offset=2 + ;; CHECK-NEXT: (i32.store offset=2 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=2 + ;; CHECK-NEXT: (i32.store offset=2 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 7) @@ -1929,14 +1929,14 @@ ) ) ;; CHECK: (func $store-off-2-add-var-negative-const (param $0 i32) - ;; CHECK-NEXT: (i32.store $0 offset=2 + ;; CHECK-NEXT: (i32.store offset=2 ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 11) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=2 + ;; CHECK-NEXT: (i32.store offset=2 ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 13) @@ -1961,11 +1961,11 @@ ) ) ;; CHECK: (func $store-off-2-negative-const (param $0 i32) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=2 + ;; CHECK-NEXT: (i32.store offset=2 ;; CHECK-NEXT: (i32.const -2) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) @@ -1987,11 +1987,11 @@ ) ) ;; CHECK: (func $store-off-2-const (param $0 i32) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 25) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 offset=2 + ;; CHECK-NEXT: (i32.store offset=2 ;; CHECK-NEXT: (i32.const -25) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) @@ -2008,17 +2008,17 @@ ) ;; CHECK: (func $load-off-2 (param $0 i32) (result i32) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load $0 offset=2 + ;; CHECK-NEXT: (i32.load offset=2 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 6) @@ -2026,11 +2026,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 10) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load $0 offset=2 + ;; CHECK-NEXT: (i32.load offset=2 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 10) @@ -3807,11 +3807,11 @@ ) ) ;; CHECK: (func $store-signext (param $0 i32) - ;; CHECK-NEXT: (i32.store8 $0 + ;; CHECK-NEXT: (i32.store8 ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 + ;; CHECK-NEXT: (i32.store8 ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: (i32.shr_s ;; CHECK-NEXT: (i32.shl @@ -3821,15 +3821,15 @@ ;; CHECK-NEXT: (i32.const 25) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 + ;; CHECK-NEXT: (i32.store8 ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 $0 + ;; CHECK-NEXT: (i32.store16 ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 $0 + ;; CHECK-NEXT: (i32.store16 ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: (i32.shr_s ;; CHECK-NEXT: (i32.shl @@ -3839,11 +3839,11 @@ ;; CHECK-NEXT: (i32.const 17) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store16 $0 + ;; CHECK-NEXT: (i32.store16 ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: (i32.shr_s ;; CHECK-NEXT: (i32.shl @@ -3853,7 +3853,7 @@ ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: (i32.shr_s ;; CHECK-NEXT: (i32.shl @@ -3990,7 +3990,7 @@ ) ;; CHECK: (func $sign-ext-load (param $0 i32) (param $1 i32) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load8_s $0 + ;; CHECK-NEXT: (i32.load8_s ;; CHECK-NEXT: (i32.const 256) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -3998,7 +3998,7 @@ ;; CHECK-NEXT: (i32.shr_s ;; CHECK-NEXT: (i32.shl ;; CHECK-NEXT: (i32.shr_u - ;; CHECK-NEXT: (i32.load8_s $0 + ;; CHECK-NEXT: (i32.load8_s ;; CHECK-NEXT: (i32.const 256) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 1) @@ -4010,20 +4010,20 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.shr_u - ;; CHECK-NEXT: (i32.load8_u $0 + ;; CHECK-NEXT: (i32.load8_u ;; CHECK-NEXT: (i32.const 256) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load16_s $0 + ;; CHECK-NEXT: (i32.load16_s ;; CHECK-NEXT: (i32.const 256) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load8_s $0 + ;; CHECK-NEXT: (i32.load8_s ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -4032,7 +4032,7 @@ ;; CHECK-NEXT: (i32.shr_s ;; CHECK-NEXT: (i32.shl ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load8_u $0 + ;; CHECK-NEXT: (i32.load8_u ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -4044,7 +4044,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load8_s $0 + ;; CHECK-NEXT: (i32.load8_s ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -4053,7 +4053,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load8_u $0 + ;; CHECK-NEXT: (i32.load8_u ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -4756,7 +4756,7 @@ ;; CHECK-NEXT: (local $$0 i32) ;; CHECK-NEXT: (local $$conv i32) ;; CHECK-NEXT: (local.set $$0 - ;; CHECK-NEXT: (i32.load8_s $0 + ;; CHECK-NEXT: (i32.load8_s ;; CHECK-NEXT: (i32.const 1024) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -4800,7 +4800,7 @@ ;; CHECK-NEXT: (local $z i32) ;; CHECK-NEXT: (local $w i32) ;; CHECK-NEXT: (local.set $x - ;; CHECK-NEXT: (i32.load8_s $0 + ;; CHECK-NEXT: (i32.load8_s ;; CHECK-NEXT: (i32.const 1024) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -4808,7 +4808,7 @@ ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $y - ;; CHECK-NEXT: (i32.load8_u $0 + ;; CHECK-NEXT: (i32.load8_u ;; CHECK-NEXT: (i32.const 1024) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -4822,7 +4822,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $z - ;; CHECK-NEXT: (i32.load16_s $0 + ;; CHECK-NEXT: (i32.load16_s ;; CHECK-NEXT: (i32.const 1024) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -4881,7 +4881,7 @@ ;; CHECK: (func $compare-load-s-sign-extend (param $0 i32) (param $1 i32) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.eq - ;; CHECK-NEXT: (i32.load8_u $0 + ;; CHECK-NEXT: (i32.load8_u ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.and @@ -4892,7 +4892,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.eq - ;; CHECK-NEXT: (i32.load8_u $0 + ;; CHECK-NEXT: (i32.load8_u ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.and @@ -4903,7 +4903,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.eq - ;; CHECK-NEXT: (i32.load8_u $0 + ;; CHECK-NEXT: (i32.load8_u ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shr_s @@ -4917,7 +4917,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.eq - ;; CHECK-NEXT: (i32.load8_s $0 + ;; CHECK-NEXT: (i32.load8_s ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shr_s @@ -4931,7 +4931,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.eq - ;; CHECK-NEXT: (i32.load8_u $0 + ;; CHECK-NEXT: (i32.load8_u ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shr_s @@ -4945,7 +4945,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.eq - ;; CHECK-NEXT: (i32.load8_s $0 + ;; CHECK-NEXT: (i32.load8_s ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.shr_s @@ -5138,7 +5138,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.shr_s ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load16_u $0 + ;; CHECK-NEXT: (i32.load16_u ;; CHECK-NEXT: (i32.const 2278) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 17) @@ -5149,7 +5149,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.shr_s ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load16_u $0 + ;; CHECK-NEXT: (i32.load16_u ;; CHECK-NEXT: (i32.const 2278) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 17) @@ -5519,7 +5519,7 @@ ;; CHECK: (func $zero-shifts-is-not-sign-ext ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.eq - ;; CHECK-NEXT: (i32.load16_s $0 align=1 + ;; CHECK-NEXT: (i32.load16_s align=1 ;; CHECK-NEXT: (i32.const 790656516) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -5431187) @@ -5528,7 +5528,7 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.eq ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.load16_s $0 align=1 + ;; CHECK-NEXT: (i32.load16_s align=1 ;; CHECK-NEXT: (i32.const 790656516) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 1) @@ -5576,7 +5576,7 @@ ;; CHECK: (func $zero-ops (result i32) ;; CHECK-NEXT: (return ;; CHECK-NEXT: (i32.eq - ;; CHECK-NEXT: (i32.load16_s $0 align=1 + ;; CHECK-NEXT: (i32.load16_s align=1 ;; CHECK-NEXT: (i32.const 790656516) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -1337) @@ -5608,7 +5608,7 @@ ;; CHECK: (func $zero-ops-64 (result i32) ;; CHECK-NEXT: (return ;; CHECK-NEXT: (i64.eq - ;; CHECK-NEXT: (i64.load16_s $0 align=1 + ;; CHECK-NEXT: (i64.load16_s align=1 ;; CHECK-NEXT: (i32.const 790656516) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i64.const -1337) @@ -6260,7 +6260,7 @@ ;; CHECK-NEXT: (loop $label$0 (result i32) ;; CHECK-NEXT: (block $label$1 ;; CHECK-NEXT: (br_if $label$1 - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -13979,35 +13979,35 @@ ;; CHECK: (func $simplify_reinterpret_and_load (param $x i32) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (f32.load $0 + ;; CHECK-NEXT: (f32.load ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (f64.load $0 + ;; CHECK-NEXT: (f64.load ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i64.load $0 + ;; CHECK-NEXT: (i64.load ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (f32.reinterpret_i32 - ;; CHECK-NEXT: (i32.load8_s $0 + ;; CHECK-NEXT: (i32.load8_s ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (f64.reinterpret_i64 - ;; CHECK-NEXT: (i64.load32_u $0 + ;; CHECK-NEXT: (i64.load32_u ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -14028,29 +14028,29 @@ ;; i64.store(y, i64.reinterpret_f64(x)) => f64.store(y, x) ;; CHECK: (func $simplify_store_and_reinterpret (param $x i32) (param $y i64) (param $z f32) (param $w f64) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i64.store $0 + ;; CHECK-NEXT: (i64.store ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: (local.get $y) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (f32.store $0 + ;; CHECK-NEXT: (f32.store ;; CHECK-NEXT: (i32.const 24) ;; CHECK-NEXT: (local.get $z) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (f64.store $0 + ;; CHECK-NEXT: (f64.store ;; CHECK-NEXT: (i32.const 32) ;; CHECK-NEXT: (local.get $w) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 $0 + ;; CHECK-NEXT: (i32.store8 ;; CHECK-NEXT: (i32.const 40) ;; CHECK-NEXT: (i32.reinterpret_f32 ;; CHECK-NEXT: (local.get $z) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i64.store32 $0 + ;; CHECK-NEXT: (i64.store32 ;; CHECK-NEXT: (i32.const 44) ;; CHECK-NEXT: (i64.reinterpret_f64 ;; CHECK-NEXT: (local.get $w) @@ -14099,30 +14099,30 @@ ;; CHECK: (func $combine_load_and_extend_u (param $x i32) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i64.load8_u $0 + ;; CHECK-NEXT: (i64.load8_u ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i64.load16_u $0 + ;; CHECK-NEXT: (i64.load16_u ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i64.load32_u $0 + ;; CHECK-NEXT: (i64.load32_u ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i64.extend_i32_u - ;; CHECK-NEXT: (i32.load8_s $0 + ;; CHECK-NEXT: (i32.load8_s ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i64.extend_i32_u - ;; CHECK-NEXT: (i32.load16_s $0 + ;; CHECK-NEXT: (i32.load16_s ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -14142,27 +14142,27 @@ ;; CHECK: (func $combine_load_and_extend_s (param $x i32) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i64.load8_u $0 + ;; CHECK-NEXT: (i64.load8_u ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i64.load16_u $0 + ;; CHECK-NEXT: (i64.load16_u ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i64.load8_s $0 + ;; CHECK-NEXT: (i64.load8_s ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i64.load16_s $0 + ;; CHECK-NEXT: (i64.load16_s ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i64.load32_s $0 + ;; CHECK-NEXT: (i64.load32_s ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/signature-pruning.wast b/test/lit/passes/signature-pruning.wast index dcdaaaa6788..79f658007e1 100644 --- a/test/lit/passes/signature-pruning.wast +++ b/test/lit/passes/signature-pruning.wast @@ -16,11 +16,11 @@ ;; CHECK: (func $foo (type $sig) (param $0 i32) (param $1 f64) ;; CHECK-NEXT: (local $2 f32) ;; CHECK-NEXT: (local $3 i64) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (f64.store $0 + ;; CHECK-NEXT: (f64.store ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) @@ -81,11 +81,11 @@ ;; CHECK: (func $foo (type $sig) (param $0 i64) (param $1 f32) ;; CHECK-NEXT: (local $2 f64) ;; CHECK-NEXT: (local $3 i32) - ;; CHECK-NEXT: (i64.store $0 + ;; CHECK-NEXT: (i64.store ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (f32.store $0 + ;; CHECK-NEXT: (f32.store ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) @@ -144,11 +144,11 @@ ;; CHECK: (func $foo (type $sig) (param $0 i32) (param $1 i64) (param $2 f32) ;; CHECK-NEXT: (local $3 f64) - ;; CHECK-NEXT: (i64.store $0 + ;; CHECK-NEXT: (i64.store ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (f32.store $0 + ;; CHECK-NEXT: (f32.store ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) @@ -220,11 +220,11 @@ ;; CHECK: (func $foo (type $sig) (param $0 i32) (param $1 i64) (param $2 f32) ;; CHECK-NEXT: (local $3 f64) - ;; CHECK-NEXT: (i64.store $0 + ;; CHECK-NEXT: (i64.store ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (f32.store $0 + ;; CHECK-NEXT: (f32.store ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) @@ -337,7 +337,7 @@ ;; CHECK-NEXT: (local.set $0 ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) @@ -421,7 +421,7 @@ ) ;; CHECK: (func $bar (type $sig) (param $i32 i32) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (local.get $i32) ;; CHECK-NEXT: ) @@ -455,7 +455,7 @@ ) ;; CHECK: (func $bar (type $sig2) (param $i32 i32) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (local.get $i32) ;; CHECK-NEXT: ) @@ -636,7 +636,7 @@ ;; CHECK-NEXT: (i32.const 42) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) @@ -658,7 +658,7 @@ ) ;; CHECK: (func $bar (type $sig-bar) (param $i32 i32) - ;; CHECK-NEXT: (i32.store $0 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (local.get $i32) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/simplify-globals-read_only_to_write.wast b/test/lit/passes/simplify-globals-read_only_to_write.wast index 8b5a8ff76f6..21ed50b61f8 100644 --- a/test/lit/passes/simplify-globals-read_only_to_write.wast +++ b/test/lit/passes/simplify-globals-read_only_to_write.wast @@ -498,7 +498,7 @@ ;; CHECK-NEXT: (local.tee $x ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load $0 + ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.add diff --git a/test/lit/wasm-split/instrument-in-memory.wast b/test/lit/wasm-split/instrument-in-memory.wast index bcf3e05cea1..a9f67f2844f 100644 --- a/test/lit/wasm-split/instrument-in-memory.wast +++ b/test/lit/wasm-split/instrument-in-memory.wast @@ -1,3 +1,4 @@ +;; NOTE: Assertions have been generated by update_lit_checks.py and should not be edited. ;; RUN: wasm-split %s --instrument --in-memory -all -S -o - | filecheck %s ;; Check that the output round trips and validates as well @@ -5,85 +6,41 @@ ;; RUN: wasm-opt -all %t.wasm -S -o - (module + ;; CHECK: (import "env" "foo" (func $foo)) + + ;; CHECK: (memory $0 1 1) (memory $0 1 1) (import "env" "foo" (func $foo)) + ;; CHECK: (export "bar" (func $bar)) (export "bar" (func $bar)) + ;; CHECK: (func $bar + ;; CHECK-NEXT: (i32.atomic.store8 + ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: (i32.const 1) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (call $foo) + ;; CHECK-NEXT: ) (func $bar (call $foo) ) + ;; CHECK: (func $baz (param $0 i32) (result i32) + ;; CHECK-NEXT: (i32.atomic.store8 offset=1 + ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: (i32.const 1) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: ) (func $baz (param i32) (result i32) (local.get 0) ) ) ;; Check that a memory has been added -;; CHECK: (memory $0 1 1) ;; And the profiling function exported -;; CHECK: (export "__write_profile" (func $__write_profile)) ;; Check that the function instrumentation is correct -;; CHECK: (func $bar -;; CHECK-NEXT: (i32.atomic.store8 -;; CHECK-NEXT: (i32.const 0) -;; CHECK-NEXT: (i32.const 1) -;; CHECK-NEXT: ) -;; CHECK-NEXT: (call $foo) -;; CHECK-NEXT: ) - -;; CHECK-NEXT: (func $baz (param $0 i32) (result i32) -;; CHECK-NEXT: (i32.atomic.store8 $0 offset=1 -;; CHECK-NEXT: (i32.const 0) -;; CHECK-NEXT: (i32.const 1) -;; CHECK-NEXT: ) -;; CHECK-NEXT: (local.get $0) -;; CHECK-NEXT: ) ;; Check that the profiling function is correct. -;; CHECK: (func $__write_profile (param $addr i32) (param $size i32) (result i32) -;; CHECK-NEXT: (local $funcIdx i32) -;; CHECK-NEXT: (if -;; CHECK-NEXT: (i32.ge_u -;; CHECK-NEXT: (local.get $size) -;; CHECK-NEXT: (i32.const 16) -;; CHECK-NEXT: ) -;; CHECK-NEXT: (block -;; CHECK-NEXT: (i64.store $0 align=1 -;; CHECK-NEXT: (local.get $addr) -;; CHECK-NEXT: (i64.const {{.*}}) -;; CHECK-NEXT: ) -;; CHECK-NEXT: (block $outer -;; CHECK-NEXT: (loop $l -;; CHECK-NEXT: (br_if $outer -;; CHECK-NEXT: (i32.eq -;; CHECK-NEXT: (local.get $funcIdx) -;; CHECK-NEXT: (i32.const 2) -;; CHECK-NEXT: ) -;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.store $0 offset=8 -;; CHECK-NEXT: (i32.add -;; CHECK-NEXT: (local.get $addr) -;; CHECK-NEXT: (i32.mul -;; CHECK-NEXT: (local.get $funcIdx) -;; CHECK-NEXT: (i32.const 4) -;; CHECK-NEXT: ) -;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.atomic.load8_u $0 -;; CHECK-NEXT: (local.get $funcIdx) -;; CHECK-NEXT: ) -;; CHECK-NEXT: ) -;; CHECK-NEXT: (local.set $funcIdx -;; CHECK-NEXT: (i32.add -;; CHECK-NEXT: (local.get $funcIdx) -;; CHECK-NEXT: (i32.const 1) -;; CHECK-NEXT: ) -;; CHECK-NEXT: ) -;; CHECK-NEXT: (br $l) -;; CHECK-NEXT: ) -;; CHECK-NEXT: ) -;; CHECK-NEXT: ) -;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.const 16) -;; CHECK-NEXT: ) diff --git a/test/lld/em_asm.wat.mem.out b/test/lld/em_asm.wat.mem.out index 8a494ab8ab2..6647b397cf9 100644 --- a/test/lld/em_asm.wat.mem.out +++ b/test/lld/em_asm.wat.mem.out @@ -32,11 +32,11 @@ (i32.const 0) ) ) - (i64.store $0 offset=16 + (i64.store offset=16 (local.get $0) (i64.const 115964117005) ) - (i32.store $0 + (i32.store (local.get $0) (call $emscripten_asm_const_int (i32.const 614) diff --git a/test/lld/em_asm.wat.out b/test/lld/em_asm.wat.out index 91d60b56504..8ed3d72ba0b 100644 --- a/test/lld/em_asm.wat.out +++ b/test/lld/em_asm.wat.out @@ -36,11 +36,11 @@ (i32.const 0) ) ) - (i64.store $0 offset=16 + (i64.store offset=16 (local.get $0) (i64.const 115964117005) ) - (i32.store $0 + (i32.store (local.get $0) (call $emscripten_asm_const_int (i32.const 614) diff --git a/test/lld/em_asm64.wat.out b/test/lld/em_asm64.wat.out index 7708dd514ec..33e5bb1768b 100644 --- a/test/lld/em_asm64.wat.out +++ b/test/lld/em_asm64.wat.out @@ -36,11 +36,11 @@ (i64.const 0) ) ) - (i64.store $0 offset=16 + (i64.store offset=16 (local.get $0) (i64.const 115964117005) ) - (i32.store $0 + (i32.store (local.get $0) (call $emscripten_asm_const_int (i64.const 607) diff --git a/test/lld/em_asm_O0.wat.out b/test/lld/em_asm_O0.wat.out index 23c46ddc9b5..fb2495476eb 100644 --- a/test/lld/em_asm_O0.wat.out +++ b/test/lld/em_asm_O0.wat.out @@ -29,7 +29,7 @@ ) ) ) - (i32.store8 $0 offset=31 + (i32.store8 offset=31 (local.get $0) (i32.const 0) ) @@ -43,15 +43,15 @@ (i32.const 0) ) ) - (i32.store8 $0 offset=30 + (i32.store8 offset=30 (local.get $0) (i32.const 0) ) - (i32.store16 $0 offset=28 align=1 + (i32.store16 offset=28 align=1 (local.get $0) (i32.const 26985) ) - (i64.store $0 offset=16 + (i64.store offset=16 (local.get $0) (i64.const 128849018900) ) @@ -68,11 +68,11 @@ ) ) ) - (i32.store $0 + (i32.store (local.get $0) (i32.const 42) ) - (i32.store16 $0 offset=26 align=1 + (i32.store16 offset=26 align=1 (local.get $0) (i32.const 105) ) diff --git a/test/lld/em_asm_main_thread.wat.out b/test/lld/em_asm_main_thread.wat.out index 8a58403db19..621465913ea 100644 --- a/test/lld/em_asm_main_thread.wat.out +++ b/test/lld/em_asm_main_thread.wat.out @@ -36,7 +36,7 @@ ) ) ) - (i32.store8 $0 offset=24 + (i32.store8 offset=24 (local.get $0) (call $__em_asm_sig_builder::inner<>\20const\20__em_asm_sig_builder::__em_asm_sig<>\28\29) ) @@ -58,7 +58,7 @@ (i32.const 13) (i32.const 27) ) - (i64.store $0 offset=16 + (i64.store offset=16 (local.get $0) (i64.const 115964117005) ) @@ -81,7 +81,7 @@ ) ) ) - (i32.store $0 + (i32.store (local.get $0) (local.get $1) ) @@ -116,7 +116,7 @@ ) ) ) - (i32.store8 $0 offset=13 + (i32.store8 offset=13 (local.get $3) (call $__em_asm_sig_builder::sig_char\28int\29 (local.get $1) @@ -127,20 +127,20 @@ (local.get $2) ) ) - (i32.store8 $0 + (i32.store8 (i32.add (local.get $0) (i32.const 2) ) (i32.const 0) ) - (i32.store8 $0 offset=14 + (i32.store8 offset=14 (local.get $3) (local.get $2) ) - (i32.store16 $0 align=1 + (i32.store16 align=1 (local.get $0) - (i32.load16_u $0 offset=13 align=1 + (i32.load16_u offset=13 align=1 (local.get $3) ) ) @@ -166,17 +166,17 @@ (local.get $1) ) ) - (i32.store8 $0 offset=15 + (i32.store8 offset=15 (local.get $2) (i32.const 0) ) - (i32.store8 $0 offset=14 + (i32.store8 offset=14 (local.get $2) (local.get $1) ) - (i32.store16 $0 align=1 + (i32.store16 align=1 (local.get $0) - (i32.load16_u $0 offset=14 + (i32.load16_u offset=14 (local.get $2) ) ) diff --git a/test/lld/em_asm_pthread.wasm.out b/test/lld/em_asm_pthread.wasm.out index 95908acdd91..0bf7927dd50 100644 --- a/test/lld/em_asm_pthread.wasm.out +++ b/test/lld/em_asm_pthread.wasm.out @@ -129,50 +129,50 @@ ) (func $2 (if - (i32.atomic.rmw.cmpxchg $mimport$0 + (i32.atomic.rmw.cmpxchg (i32.const 4032) (i32.const 0) (i32.const 1) ) (drop - (memory.atomic.wait32 $mimport$0 + (memory.atomic.wait32 (i32.const 4032) (i32.const 1) (i64.const -1) ) ) (block - (memory.init $mimport$0 0 + (memory.init 0 (i32.const 1024) (i32.const 0) (i32.const 403) ) - (memory.init $mimport$0 1 + (memory.init 1 (i32.const 1432) (i32.const 0) (i32.const 156) ) - (memory.init $mimport$0 2 + (memory.init 2 (i32.const 1588) (i32.const 0) (i32.const 70) ) - (memory.init $mimport$0 3 + (memory.init 3 (i32.const 1658) (i32.const 0) (i32.const 124) ) - (memory.init $mimport$0 4 + (memory.init 4 (i32.const 1792) (i32.const 0) (i32.const 2240) ) - (i32.atomic.store $mimport$0 + (i32.atomic.store (i32.const 4032) (i32.const 2) ) (drop - (memory.atomic.notify $mimport$0 + (memory.atomic.notify (i32.const 4032) (i32.const -1) ) @@ -214,12 +214,12 @@ (local.set $3 (i32.const 1658) ) - (i32.store $mimport$0 offset=12 + (i32.store offset=12 (local.get $2) (local.get $3) ) (local.set $4 - (i32.load $mimport$0 offset=12 + (i32.load offset=12 (local.get $2) ) ) @@ -325,12 +325,12 @@ (local $5 i32) (local $6 i32) (local.set $1 - (i32.load $mimport$0 + (i32.load (local.get $0) ) ) (local.set $3 - (i32.load $mimport$0 offset=40 + (i32.load offset=40 (local.tee $2 (call $7) ) @@ -339,7 +339,7 @@ (local.set $5 (i32.and (local.tee $4 - (i32.load $mimport$0 offset=4 + (i32.load offset=4 (local.get $0) ) ) @@ -369,14 +369,14 @@ (br_if $label$1 (i32.gt_u (local.tee $5 - (i32.load $mimport$0 offset=20 + (i32.load offset=20 (local.get $0) ) ) (i32.const 2147483646) ) ) - (i32.store $mimport$0 offset=20 + (i32.store offset=20 (local.get $0) (i32.add (local.get $5) @@ -400,7 +400,7 @@ (br_if $label$3 (i32.eqz (i32.and - (i32.load8_u $mimport$0 + (i32.load8_u (local.get $0) ) (i32.const 128) @@ -409,24 +409,24 @@ ) (block $label$4 (br_if $label$4 - (i32.load $mimport$0 + (i32.load (i32.add (local.get $2) (i32.const 156) ) ) ) - (i32.store $mimport$0 offset=156 + (i32.store offset=156 (local.get $2) (i32.const -12) ) ) (local.set $6 - (i32.load $mimport$0 offset=8 + (i32.load offset=8 (local.get $0) ) ) - (i32.store $mimport$0 + (i32.store (i32.add (local.get $2) (i32.const 160) @@ -486,7 +486,7 @@ ) ) ) - (i32.store $mimport$0 + (i32.store (i32.add (local.get $2) (i32.const 160) @@ -498,11 +498,11 @@ ) ) (local.set $3 - (i32.load $mimport$0 offset=152 + (i32.load offset=152 (local.get $2) ) ) - (i32.store $mimport$0 offset=12 + (i32.store offset=12 (local.get $0) (local.tee $6 (i32.add @@ -511,7 +511,7 @@ ) ) ) - (i32.store $mimport$0 offset=16 + (i32.store offset=16 (local.get $0) (local.get $3) ) @@ -528,7 +528,7 @@ (local.get $6) ) ) - (i32.store $mimport$0 + (i32.store (i32.add (local.get $3) (i32.const -4) @@ -536,14 +536,14 @@ (local.get $1) ) ) - (i32.store $mimport$0 offset=152 + (i32.store offset=152 (local.get $2) (local.get $1) ) (local.set $6 (i32.const 0) ) - (i32.store $mimport$0 + (i32.store (i32.add (local.get $2) (i32.const 160) @@ -555,14 +555,14 @@ (local.get $5) ) ) - (i32.store $mimport$0 offset=20 + (i32.store offset=20 (local.get $0) (i32.const 0) ) - (i32.store $mimport$0 + (i32.store (local.get $0) (i32.or - (i32.load $mimport$0 + (i32.load (local.get $0) ) (i32.const 8) @@ -575,7 +575,7 @@ (local.get $6) ) (func $12 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (i32.atomic.rmw.cmpxchg $mimport$0 + (i32.atomic.rmw.cmpxchg (local.get $0) (local.get $1) (local.get $2) @@ -585,7 +585,7 @@ (block $label$1 (br_if $label$1 (i32.and - (i32.load8_u $mimport$0 + (i32.load8_u (local.get $0) ) (i32.const 15) @@ -617,7 +617,7 @@ ) (func $16 (drop - (i32.atomic.rmw.add $mimport$0 offset=1792 + (i32.atomic.rmw.add offset=1792 (i32.const 0) (i32.const 1) ) @@ -633,7 +633,7 @@ ) (br_if $label$1 (i32.eqz - (i32.load $mimport$0 offset=1796 + (i32.load offset=1796 (i32.const 0) ) ) @@ -642,7 +642,7 @@ ) ) (func $18 (result i32) - (i32.atomic.rmw.add $mimport$0 offset=1792 + (i32.atomic.rmw.add offset=1792 (i32.const 0) (i32.const -1) ) @@ -667,7 +667,7 @@ (i32.and (i32.xor (local.tee $1 - (i32.load $mimport$0 + (i32.load (local.get $0) ) ) @@ -677,7 +677,7 @@ ) ) (local.set $3 - (i32.load $mimport$0 offset=8 + (i32.load offset=8 (local.get $0) ) ) @@ -703,12 +703,12 @@ (br_if $label$1 (i32.ne (i32.and - (i32.load $mimport$0 offset=4 + (i32.load offset=4 (local.get $0) ) (i32.const 2147483647) ) - (i32.load $mimport$0 offset=40 + (i32.load offset=40 (local.get $5) ) ) @@ -726,13 +726,13 @@ (br_if $label$4 (i32.eqz (local.tee $6 - (i32.load $mimport$0 offset=20 + (i32.load offset=20 (local.get $0) ) ) ) ) - (i32.store $mimport$0 offset=20 + (i32.store offset=20 (local.get $0) (i32.add (local.get $6) @@ -747,7 +747,7 @@ (br_if $label$5 (local.get $2) ) - (i32.store $mimport$0 + (i32.store (i32.add (local.get $5) (i32.const 160) @@ -759,14 +759,14 @@ ) (call $15) ) - (i32.store $mimport$0 + (i32.store (local.tee $7 - (i32.load $mimport$0 offset=12 + (i32.load offset=12 (local.get $0) ) ) (local.tee $6 - (i32.load $mimport$0 offset=16 + (i32.load offset=16 (local.get $0) ) ) @@ -780,7 +780,7 @@ ) ) ) - (i32.store $mimport$0 + (i32.store (i32.add (local.get $6) (i32.const -4) @@ -817,7 +817,7 @@ (br_if $label$6 (local.get $2) ) - (i32.store $mimport$0 + (i32.store (i32.add (local.get $5) (i32.const 160) @@ -848,7 +848,7 @@ (local.get $6) ) (func $21 (param $0 i32) (param $1 i32) (result i32) - (i32.atomic.rmw.xchg $mimport$0 + (i32.atomic.rmw.xchg (local.get $0) (local.get $1) ) @@ -862,12 +862,12 @@ ) ) (func $23 (param $0 i32) (result i32) - (i32.atomic.load $mimport$0 + (i32.atomic.load (local.get $0) ) ) (func $24 (param $0 i32) (param $1 i32) (result i32) - (i32.atomic.store $mimport$0 + (i32.atomic.store (local.get $0) (local.get $1) ) @@ -912,7 +912,7 @@ ) (func $30 (param $0 i32) (result i32) (i32.eq - (i32.load $mimport$0 + (i32.load (local.get $0) ) (i32.const 2) @@ -931,11 +931,11 @@ ) ) (br_if $label$1 - (i32.load8_u $mimport$0 offset=1832 + (i32.load8_u offset=1832 (i32.const 0) ) ) - (i32.store8 $mimport$0 offset=1832 + (i32.store8 offset=1832 (i32.const 0) (i32.const 1) ) @@ -963,7 +963,7 @@ (call $10) ) ) - (i32.store8 $mimport$0 offset=1832 + (i32.store8 offset=1832 (i32.const 0) (i32.const 0) ) @@ -999,9 +999,9 @@ ) ) (call $33 - (i32.load $mimport$0 + (i32.load (i32.add - (i32.load $mimport$0 offset=4 + (i32.load offset=4 (local.get $0) ) (i32.shl @@ -1056,7 +1056,7 @@ (call $10) ) ) - (i32.store8 $mimport$0 offset=1832 + (i32.store8 offset=1832 (i32.const 0) (i32.const 0) ) @@ -1074,7 +1074,7 @@ (br_if $label$2 (i32.eqz (local.tee $1 - (i32.load $mimport$0 offset=1840 + (i32.load offset=1840 (i32.const 0) ) ) @@ -1084,7 +1084,7 @@ (block $label$4 (br_if $label$4 (i32.ne - (i32.load $mimport$0 + (i32.load (local.get $1) ) (local.get $0) @@ -1096,7 +1096,7 @@ ) (br_if $label$3 (local.tee $1 - (i32.load $mimport$0 offset=16 + (i32.load offset=16 (local.get $1) ) ) @@ -1124,7 +1124,7 @@ (i32.eq (i32.and (local.tee $1 - (i32.load $mimport$0 + (i32.load (local.get $0) ) ) @@ -1197,7 +1197,7 @@ (local.get $1) ) (call_indirect (type $none_=>_none) - (i32.load $mimport$0 offset=4 + (i32.load offset=4 (local.get $0) ) ) @@ -1230,22 +1230,22 @@ ) ) (call_indirect (type $i32_i32_f32_=>_none) - (i32.load $mimport$0 offset=16 + (i32.load offset=16 (local.get $0) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 24) ) ) - (f32.load $mimport$0 + (f32.load (i32.add (local.get $0) (i32.const 32) ) ) - (i32.load $mimport$0 offset=4 + (i32.load offset=4 (local.get $0) ) ) @@ -1279,28 +1279,28 @@ ) ) (call_indirect (type $i32_i32_f32_i32_=>_none) - (i32.load $mimport$0 offset=16 + (i32.load offset=16 (local.get $0) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 24) ) ) - (f32.load $mimport$0 + (f32.load (i32.add (local.get $0) (i32.const 32) ) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 40) ) ) - (i32.load $mimport$0 offset=4 + (i32.load offset=4 (local.get $0) ) ) @@ -1333,40 +1333,40 @@ ) ) (call_indirect (type $i32_i32_i32_i32_i32_i32_=>_none) - (i32.load $mimport$0 offset=16 + (i32.load offset=16 (local.get $0) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 24) ) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 32) ) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 40) ) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 48) ) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 56) ) ) - (i32.load $mimport$0 offset=4 + (i32.load offset=4 (local.get $0) ) ) @@ -1406,52 +1406,52 @@ ) ) (call_indirect (type $i32_i32_i32_i32_i32_i32_i32_i32_=>_none) - (i32.load $mimport$0 offset=16 + (i32.load offset=16 (local.get $0) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 24) ) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 32) ) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 40) ) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 48) ) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 56) ) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 64) ) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 72) ) ) - (i32.load $mimport$0 offset=4 + (i32.load offset=4 (local.get $0) ) ) @@ -1470,64 +1470,64 @@ ) ) (call_indirect (type $i32_i32_i32_i32_i32_i32_i32_i32_i32_i32_=>_none) - (i32.load $mimport$0 offset=16 + (i32.load offset=16 (local.get $0) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 24) ) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 32) ) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 40) ) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 48) ) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 56) ) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 64) ) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 72) ) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 80) ) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 88) ) ) - (i32.load $mimport$0 offset=4 + (i32.load offset=4 (local.get $0) ) ) @@ -1552,10 +1552,10 @@ (i32.const 536870912) ) ) - (i32.store $mimport$0 offset=176 + (i32.store offset=176 (local.get $0) (call_indirect (type $none_=>_i32) - (i32.load $mimport$0 offset=4 + (i32.load offset=4 (local.get $0) ) ) @@ -1580,13 +1580,13 @@ (i32.const 622854144) ) ) - (i32.store $mimport$0 offset=176 + (i32.store offset=176 (local.get $0) (call $fimport$11 - (i32.load $mimport$0 offset=16 + (i32.load offset=16 (local.get $0) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 24) @@ -1622,19 +1622,19 @@ (i32.const 657457152) ) ) - (i32.store $mimport$0 offset=176 + (i32.store offset=176 (local.get $0) (call $fimport$12 - (i32.load $mimport$0 offset=16 + (i32.load offset=16 (local.get $0) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 24) ) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 32) @@ -1656,25 +1656,25 @@ (i32.const 687865856) ) ) - (i32.store $mimport$0 offset=176 + (i32.store offset=176 (local.get $0) (call $fimport$13 - (i32.load $mimport$0 offset=16 + (i32.load offset=16 (local.get $0) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 24) ) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 32) ) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 40) @@ -1703,43 +1703,43 @@ (i32.const 738197504) ) ) - (i32.store $mimport$0 offset=176 + (i32.store offset=176 (local.get $0) (call_indirect (type $i32_i32_i32_i32_i32_i32_=>_i32) - (i32.load $mimport$0 offset=16 + (i32.load offset=16 (local.get $0) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 24) ) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 32) ) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 40) ) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 48) ) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 56) ) ) - (i32.load $mimport$0 offset=4 + (i32.load offset=4 (local.get $0) ) ) @@ -1764,61 +1764,61 @@ (i32.const 838860800) ) ) - (i32.store $mimport$0 offset=176 + (i32.store offset=176 (local.get $0) (call_indirect (type $i32_i32_i32_i32_i32_i32_i32_i32_i32_=>_i32) - (i32.load $mimport$0 offset=16 + (i32.load offset=16 (local.get $0) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 24) ) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 32) ) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 40) ) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 48) ) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 56) ) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 64) ) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 72) ) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 80) ) ) - (i32.load $mimport$0 offset=4 + (i32.load offset=4 (local.get $0) ) ) @@ -1826,202 +1826,202 @@ (br $label$1) ) (call_indirect (type $i32_=>_none) - (i32.load $mimport$0 offset=16 + (i32.load offset=16 (local.get $0) ) - (i32.load $mimport$0 offset=4 + (i32.load offset=4 (local.get $0) ) ) (br $label$1) ) (call_indirect (type $f32_=>_none) - (f32.load $mimport$0 offset=16 + (f32.load offset=16 (local.get $0) ) - (i32.load $mimport$0 offset=4 + (i32.load offset=4 (local.get $0) ) ) (br $label$1) ) (call_indirect (type $i32_f32_=>_none) - (i32.load $mimport$0 offset=16 + (i32.load offset=16 (local.get $0) ) - (f32.load $mimport$0 + (f32.load (i32.add (local.get $0) (i32.const 24) ) ) - (i32.load $mimport$0 offset=4 + (i32.load offset=4 (local.get $0) ) ) (br $label$1) ) (call_indirect (type $f32_f32_=>_none) - (f32.load $mimport$0 offset=16 + (f32.load offset=16 (local.get $0) ) - (f32.load $mimport$0 + (f32.load (i32.add (local.get $0) (i32.const 24) ) ) - (i32.load $mimport$0 offset=4 + (i32.load offset=4 (local.get $0) ) ) (br $label$1) ) (call_indirect (type $i32_i32_i32_=>_none) - (i32.load $mimport$0 offset=16 + (i32.load offset=16 (local.get $0) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 24) ) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 32) ) ) - (i32.load $mimport$0 offset=4 + (i32.load offset=4 (local.get $0) ) ) (br $label$1) ) (call_indirect (type $i32_f32_f32_=>_none) - (i32.load $mimport$0 offset=16 + (i32.load offset=16 (local.get $0) ) - (f32.load $mimport$0 + (f32.load (i32.add (local.get $0) (i32.const 24) ) ) - (f32.load $mimport$0 + (f32.load (i32.add (local.get $0) (i32.const 32) ) ) - (i32.load $mimport$0 offset=4 + (i32.load offset=4 (local.get $0) ) ) (br $label$1) ) (call_indirect (type $f32_f32_f32_=>_none) - (f32.load $mimport$0 offset=16 + (f32.load offset=16 (local.get $0) ) - (f32.load $mimport$0 + (f32.load (i32.add (local.get $0) (i32.const 24) ) ) - (f32.load $mimport$0 + (f32.load (i32.add (local.get $0) (i32.const 32) ) ) - (i32.load $mimport$0 offset=4 + (i32.load offset=4 (local.get $0) ) ) (br $label$1) ) (call_indirect (type $i32_i32_i32_i32_=>_none) - (i32.load $mimport$0 offset=16 + (i32.load offset=16 (local.get $0) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 24) ) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 32) ) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 40) ) ) - (i32.load $mimport$0 offset=4 + (i32.load offset=4 (local.get $0) ) ) (br $label$1) ) (call_indirect (type $i32_f32_f32_f32_=>_none) - (i32.load $mimport$0 offset=16 + (i32.load offset=16 (local.get $0) ) - (f32.load $mimport$0 + (f32.load (i32.add (local.get $0) (i32.const 24) ) ) - (f32.load $mimport$0 + (f32.load (i32.add (local.get $0) (i32.const 32) ) ) - (f32.load $mimport$0 + (f32.load (i32.add (local.get $0) (i32.const 40) ) ) - (i32.load $mimport$0 offset=4 + (i32.load offset=4 (local.get $0) ) ) (br $label$1) ) (call_indirect (type $f32_f32_f32_f32_=>_none) - (f32.load $mimport$0 offset=16 + (f32.load offset=16 (local.get $0) ) - (f32.load $mimport$0 + (f32.load (i32.add (local.get $0) (i32.const 24) ) ) - (f32.load $mimport$0 + (f32.load (i32.add (local.get $0) (i32.const 32) ) ) - (f32.load $mimport$0 + (f32.load (i32.add (local.get $0) (i32.const 40) ) ) - (i32.load $mimport$0 offset=4 + (i32.load offset=4 (local.get $0) ) ) @@ -2034,470 +2034,470 @@ ) ) (call_indirect (type $i32_i32_i32_i32_i32_=>_none) - (i32.load $mimport$0 offset=16 + (i32.load offset=16 (local.get $0) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 24) ) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 32) ) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 40) ) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 48) ) ) - (i32.load $mimport$0 offset=4 + (i32.load offset=4 (local.get $0) ) ) (br $label$1) ) (call_indirect (type $i32_f32_f32_f32_f32_=>_none) - (i32.load $mimport$0 offset=16 + (i32.load offset=16 (local.get $0) ) - (f32.load $mimport$0 + (f32.load (i32.add (local.get $0) (i32.const 24) ) ) - (f32.load $mimport$0 + (f32.load (i32.add (local.get $0) (i32.const 32) ) ) - (f32.load $mimport$0 + (f32.load (i32.add (local.get $0) (i32.const 40) ) ) - (f32.load $mimport$0 + (f32.load (i32.add (local.get $0) (i32.const 48) ) ) - (i32.load $mimport$0 offset=4 + (i32.load offset=4 (local.get $0) ) ) (br $label$1) ) (call_indirect (type $i32_i32_i32_i32_i32_i32_i32_=>_none) - (i32.load $mimport$0 offset=16 + (i32.load offset=16 (local.get $0) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 24) ) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 32) ) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 40) ) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 48) ) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 56) ) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 64) ) ) - (i32.load $mimport$0 offset=4 + (i32.load offset=4 (local.get $0) ) ) (br $label$1) ) (call_indirect (type $i32_i32_i32_i32_i32_i32_i32_i32_i32_=>_none) - (i32.load $mimport$0 offset=16 + (i32.load offset=16 (local.get $0) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 24) ) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 32) ) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 40) ) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 48) ) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 56) ) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 64) ) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 72) ) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 80) ) ) - (i32.load $mimport$0 offset=4 + (i32.load offset=4 (local.get $0) ) ) (br $label$1) ) (call_indirect (type $i32_i32_i32_i32_i32_i32_i32_i32_i32_i32_i32_=>_none) - (i32.load $mimport$0 offset=16 + (i32.load offset=16 (local.get $0) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 24) ) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 32) ) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 40) ) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 48) ) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 56) ) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 64) ) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 72) ) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 80) ) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 88) ) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 96) ) ) - (i32.load $mimport$0 offset=4 + (i32.load offset=4 (local.get $0) ) ) (br $label$1) ) - (i32.store $mimport$0 offset=176 + (i32.store offset=176 (local.get $0) (call_indirect (type $i32_=>_i32) - (i32.load $mimport$0 offset=16 + (i32.load offset=16 (local.get $0) ) - (i32.load $mimport$0 offset=4 + (i32.load offset=4 (local.get $0) ) ) ) (br $label$1) ) - (i32.store $mimport$0 offset=176 + (i32.store offset=176 (local.get $0) (call_indirect (type $i32_i32_=>_i32) - (i32.load $mimport$0 offset=16 + (i32.load offset=16 (local.get $0) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 24) ) ) - (i32.load $mimport$0 offset=4 + (i32.load offset=4 (local.get $0) ) ) ) (br $label$1) ) - (i32.store $mimport$0 offset=176 + (i32.store offset=176 (local.get $0) (call_indirect (type $i32_i32_i32_=>_i32) - (i32.load $mimport$0 offset=16 + (i32.load offset=16 (local.get $0) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 24) ) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 32) ) ) - (i32.load $mimport$0 offset=4 + (i32.load offset=4 (local.get $0) ) ) ) (br $label$1) ) - (i32.store $mimport$0 offset=176 + (i32.store offset=176 (local.get $0) (call_indirect (type $i32_i32_i32_i32_=>_i32) - (i32.load $mimport$0 offset=16 + (i32.load offset=16 (local.get $0) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 24) ) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 32) ) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 40) ) ) - (i32.load $mimport$0 offset=4 + (i32.load offset=4 (local.get $0) ) ) ) (br $label$1) ) - (i32.store $mimport$0 offset=176 + (i32.store offset=176 (local.get $0) (call_indirect (type $i32_i32_i32_i32_i32_=>_i32) - (i32.load $mimport$0 offset=16 + (i32.load offset=16 (local.get $0) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 24) ) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 32) ) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 40) ) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 48) ) ) - (i32.load $mimport$0 offset=4 + (i32.load offset=4 (local.get $0) ) ) ) (br $label$1) ) - (i32.store $mimport$0 offset=176 + (i32.store offset=176 (local.get $0) (call_indirect (type $i32_i32_i32_i32_i32_i32_i32_=>_i32) - (i32.load $mimport$0 offset=16 + (i32.load offset=16 (local.get $0) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 24) ) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 32) ) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 40) ) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 48) ) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 56) ) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 64) ) ) - (i32.load $mimport$0 offset=4 + (i32.load offset=4 (local.get $0) ) ) ) (br $label$1) ) - (i32.store $mimport$0 offset=176 + (i32.store offset=176 (local.get $0) (call_indirect (type $i32_i32_i32_i32_i32_i32_i32_i32_=>_i32) - (i32.load $mimport$0 offset=16 + (i32.load offset=16 (local.get $0) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 24) ) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 32) ) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 40) ) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 48) ) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 56) ) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 64) ) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 72) ) ) - (i32.load $mimport$0 offset=4 + (i32.load offset=4 (local.get $0) ) ) @@ -2519,13 +2519,13 @@ ) (unreachable) ) - (f64.store $mimport$0 offset=176 + (f64.store offset=176 (local.get $0) (call $fimport$14 - (i32.load $mimport$0 offset=4 + (i32.load offset=4 (local.get $0) ) - (i32.load $mimport$0 offset=16 + (i32.load offset=16 (local.get $0) ) (i32.add @@ -2545,16 +2545,16 @@ (unreachable) ) (call_indirect (type $i32_i32_=>_none) - (i32.load $mimport$0 offset=16 + (i32.load offset=16 (local.get $0) ) - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 24) ) ) - (i32.load $mimport$0 offset=4 + (i32.load offset=4 (local.get $0) ) ) @@ -2562,7 +2562,7 @@ (block $label$44 (br_if $label$44 (i32.eqz - (i32.load $mimport$0 offset=188 + (i32.load offset=188 (local.get $0) ) ) @@ -2572,7 +2572,7 @@ ) (return) ) - (i32.store $mimport$0 offset=8 + (i32.store offset=8 (local.get $0) (i32.const 1) ) @@ -2594,7 +2594,7 @@ ) ) (call $62 - (i32.load $mimport$0 offset=184 + (i32.load offset=184 (local.get $0) ) ) @@ -2684,13 +2684,13 @@ ) ) (func $36 (param $0 i32) - (i32.store $mimport$0 offset=1800 + (i32.store offset=1800 (i32.const 0) (local.get $0) ) ) (func $37 (result i32) - (i32.load $mimport$0 offset=1800 + (i32.load offset=1800 (i32.const 0) ) ) @@ -2757,7 +2757,7 @@ ) (block $label$9 (br_if $label$9 - (i32.load $mimport$0 offset=4 + (i32.load offset=4 (local.tee $2 (call $39 (local.get $0) @@ -2765,7 +2765,7 @@ ) ) ) - (i32.store $mimport$0 offset=4 + (i32.store offset=4 (local.get $2) (call $60 (i32.const 512) @@ -2853,9 +2853,9 @@ ) ) ) - (i32.store $mimport$0 + (i32.store (i32.add - (i32.load $mimport$0 offset=4 + (i32.load offset=4 (local.get $2) ) (i32.shl @@ -2926,7 +2926,7 @@ ) ) ) - (i64.store $mimport$0 offset=12 align=4 + (i64.store offset=12 align=4 (local.tee $1 (call $60 (i32.const 20) @@ -2934,11 +2934,11 @@ ) (i64.const 0) ) - (i64.store $mimport$0 offset=4 align=4 + (i64.store offset=4 align=4 (local.get $1) (i64.const 0) ) - (i32.store $mimport$0 + (i32.store (local.get $1) (local.get $0) ) @@ -2946,7 +2946,7 @@ (block $label$3 (br_if $label$3 (local.tee $0 - (i32.load $mimport$0 offset=1840 + (i32.load offset=1840 (i32.const 0) ) ) @@ -2959,7 +2959,7 @@ (loop $label$4 (br_if $label$4 (local.tee $0 - (i32.load $mimport$0 offset=16 + (i32.load offset=16 (local.tee $2 (local.get $0) ) @@ -2974,7 +2974,7 @@ ) ) ) - (i32.store $mimport$0 + (i32.store (local.get $0) (local.get $1) ) @@ -3010,27 +3010,27 @@ ) ) ) - (memory.fill $mimport$0 + (memory.fill (local.get $3) (i32.const 0) (i32.const 192) ) - (i32.store $mimport$0 + (i32.store (i32.add (local.get $3) (i32.const 24) ) (local.get $2) ) - (i32.store $mimport$0 offset=176 + (i32.store offset=176 (local.get $3) (i32.const 0) ) - (i32.store $mimport$0 offset=16 + (i32.store offset=16 (local.get $3) (local.get $1) ) - (i32.store $mimport$0 + (i32.store (local.get $3) (local.get $0) ) @@ -3038,7 +3038,7 @@ (local.get $3) ) (local.set $0 - (i32.load $mimport$0 offset=176 + (i32.load offset=176 (local.get $3) ) ) @@ -3060,41 +3060,41 @@ ) ) ) - (memory.fill $mimport$0 + (memory.fill (local.get $5) (i32.const 0) (i32.const 192) ) - (i32.store $mimport$0 + (i32.store (i32.add (local.get $5) (i32.const 40) ) (local.get $4) ) - (i32.store $mimport$0 + (i32.store (i32.add (local.get $5) (i32.const 32) ) (local.get $3) ) - (i32.store $mimport$0 + (i32.store (i32.add (local.get $5) (i32.const 24) ) (local.get $2) ) - (i32.store $mimport$0 offset=176 + (i32.store offset=176 (local.get $5) (i32.const 0) ) - (i32.store $mimport$0 offset=16 + (i32.store offset=16 (local.get $5) (local.get $1) ) - (i32.store $mimport$0 + (i32.store (local.get $5) (local.get $0) ) @@ -3102,7 +3102,7 @@ (local.get $5) ) (local.set $0 - (i32.load $mimport$0 offset=176 + (i32.load offset=176 (local.get $5) ) ) @@ -3123,7 +3123,7 @@ ) (br_if $label$1 (i32.eqz - (i32.load $mimport$0 offset=1432 + (i32.load offset=1432 (i32.const 0) ) ) @@ -3151,11 +3151,11 @@ (local.get $3) ) ) - (i32.store $mimport$0 offset=184 + (i32.store offset=184 (local.get $4) (i32.const 0) ) - (i32.store $mimport$0 offset=8 + (i32.store offset=8 (local.get $4) (i32.const 0) ) @@ -3168,15 +3168,15 @@ (call $46) ) ) - (i32.store $mimport$0 offset=4 + (i32.store offset=4 (local.get $5) (local.get $0) ) - (i32.store $mimport$0 + (i32.store (local.get $5) (i32.const -2126512128) ) - (i32.store $mimport$0 offset=188 + (i32.store offset=188 (local.get $5) (i32.sub (i32.const 1) @@ -3190,7 +3190,7 @@ (i32.const 20) ) ) - (i32.store $mimport$0 offset=16 + (i32.store offset=16 (local.get $5) (local.get $1) ) @@ -3205,7 +3205,7 @@ ) ) (loop $label$5 - (i64.store $mimport$0 + (i64.store (i32.add (i32.add (local.get $5) @@ -3221,7 +3221,7 @@ ) (i32.const 16) ) - (i64.load $mimport$0 + (i64.load (i32.add (local.get $2) (i32.shl @@ -3253,7 +3253,7 @@ (local.get $4) ) (local.set $7 - (f64.load $mimport$0 offset=176 + (f64.load offset=176 (local.get $4) ) ) @@ -3302,11 +3302,11 @@ ) (unreachable) ) - (i32.store $mimport$0 offset=184 + (i32.store offset=184 (local.get $0) (i32.const 0) ) - (i64.store $mimport$0 offset=4 align=4 + (i64.store offset=4 align=4 (local.get $0) (i64.const 0) ) @@ -3331,19 +3331,19 @@ ) ) ) - (i32.store $mimport$0 offset=184 + (i32.store offset=184 (local.get $7) (local.get $4) ) - (i32.store $mimport$0 offset=4 + (i32.store offset=4 (local.get $7) (local.get $3) ) - (i32.store $mimport$0 + (i32.store (local.get $7) (local.get $2) ) - (i32.store $mimport$0 offset=12 + (i32.store offset=12 (local.get $6) (local.get $5) ) @@ -3383,18 +3383,18 @@ ) ) ) - (i32.store $mimport$0 offset=12 + (i32.store offset=12 (local.get $6) (i32.add (local.tee $5 - (i32.load $mimport$0 offset=12 + (i32.load offset=12 (local.get $6) ) ) (i32.const 4) ) ) - (i32.store $mimport$0 + (i32.store (i32.add (i32.add (local.get $7) @@ -3405,19 +3405,19 @@ ) (i32.const 16) ) - (i32.load $mimport$0 + (i32.load (local.get $5) ) ) (br $label$4) ) - (i32.store $mimport$0 offset=12 + (i32.store offset=12 (local.get $6) (i32.add (local.tee $5 (i32.and (i32.add - (i32.load $mimport$0 offset=12 + (i32.load offset=12 (local.get $6) ) (i32.const 7) @@ -3428,7 +3428,7 @@ (i32.const 8) ) ) - (i64.store $mimport$0 + (i64.store (i32.add (i32.add (local.get $7) @@ -3439,19 +3439,19 @@ ) (i32.const 16) ) - (i64.load $mimport$0 + (i64.load (local.get $5) ) ) (br $label$4) ) - (i32.store $mimport$0 offset=12 + (i32.store offset=12 (local.get $6) (i32.add (local.tee $5 (i32.and (i32.add - (i32.load $mimport$0 offset=12 + (i32.load offset=12 (local.get $6) ) (i32.const 7) @@ -3462,7 +3462,7 @@ (i32.const 8) ) ) - (f32.store $mimport$0 + (f32.store (i32.add (i32.add (local.get $7) @@ -3474,20 +3474,20 @@ (i32.const 16) ) (f32.demote_f64 - (f64.load $mimport$0 + (f64.load (local.get $5) ) ) ) (br $label$4) ) - (i32.store $mimport$0 offset=12 + (i32.store offset=12 (local.get $6) (i32.add (local.tee $5 (i32.and (i32.add - (i32.load $mimport$0 offset=12 + (i32.load offset=12 (local.get $6) ) (i32.const 7) @@ -3498,7 +3498,7 @@ (i32.const 8) ) ) - (f64.store $mimport$0 + (f64.store (i32.add (i32.add (local.get $7) @@ -3509,7 +3509,7 @@ ) (i32.const 16) ) - (f64.load $mimport$0 + (f64.load (local.get $5) ) ) @@ -3533,7 +3533,7 @@ ) ) ) - (i32.store $mimport$0 offset=188 + (i32.store offset=188 (local.get $7) (i32.const 1) ) @@ -3547,19 +3547,19 @@ (local.set $2 (i32.const 0) ) - (i32.store8 $mimport$0 offset=11 + (i32.store8 offset=11 (local.get $6) (i32.const 0) ) - (i32.store16 $mimport$0 offset=9 align=1 + (i32.store16 offset=9 align=1 (local.get $6) (i32.const 26985) ) - (i32.store $mimport$0 + (i32.store (local.get $6) (local.get $1) ) - (i32.store $mimport$0 offset=4 + (i32.store offset=4 (local.get $6) (local.get $7) ) @@ -3621,14 +3621,14 @@ (local.get $1) ) ) - (i32.store $mimport$0 + (i32.store (local.get $1) - (i32.load $mimport$0 offset=56 + (i32.load offset=56 (local.get $2) ) ) ) - (i32.store $mimport$0 offset=56 + (i32.store offset=56 (local.get $2) (local.get $0) ) @@ -3668,7 +3668,7 @@ ) (br_if $label$1 (i32.gt_u - (i32.load $mimport$0 offset=4 + (i32.load offset=4 (local.get $3) ) (i32.const 999999999) @@ -3683,27 +3683,27 @@ ) ) ) - (i32.store $mimport$0 offset=8 + (i32.store offset=8 (local.get $5) (local.tee $7 (i32.sub - (i32.load $mimport$0 + (i32.load (local.get $3) ) - (i32.load $mimport$0 offset=8 + (i32.load offset=8 (local.get $5) ) ) ) ) - (i32.store $mimport$0 offset=12 + (i32.store offset=12 (local.get $5) (local.tee $3 (i32.sub - (i32.load $mimport$0 offset=4 + (i32.load offset=4 (local.get $3) ) - (i32.load $mimport$0 offset=12 + (i32.load offset=12 (local.get $5) ) ) @@ -3716,7 +3716,7 @@ (i32.const -1) ) ) - (i32.store $mimport$0 offset=12 + (i32.store offset=12 (local.get $5) (local.tee $3 (i32.add @@ -3725,7 +3725,7 @@ ) ) ) - (i32.store $mimport$0 offset=8 + (i32.store offset=8 (local.get $5) (local.tee $7 (i32.add @@ -3768,7 +3768,7 @@ ) (br_if $label$8 (i32.ne - (i32.load $mimport$0 offset=56 + (i32.load offset=56 (call $14) ) (i32.const 1) @@ -3776,7 +3776,7 @@ ) (br_if $label$7 (i32.ne - (i32.load $mimport$0 offset=60 + (i32.load offset=60 (call $14) ) (i32.const 1) @@ -3940,7 +3940,7 @@ ) (drop (call $48 - (i32.load $mimport$0 offset=12 + (i32.load offset=12 (local.get $5) ) (i32.const 0) @@ -3965,7 +3965,7 @@ (br_if $label$2 (i32.and (local.tee $2 - (i32.load $mimport$0 + (i32.load (local.get $0) ) ) @@ -3988,7 +3988,7 @@ ) ) (local.set $2 - (i32.load $mimport$0 + (i32.load (local.get $0) ) ) @@ -4036,7 +4036,7 @@ ) (br_if $label$3 (i32.eqz - (i32.load $mimport$0 + (i32.load (local.get $2) ) ) @@ -4049,7 +4049,7 @@ ) (br_if $label$4 (i32.eqz - (i32.load $mimport$0 + (i32.load (local.get $5) ) ) @@ -4071,14 +4071,14 @@ (br_if $label$6 (i32.eqz (local.tee $3 - (i32.load $mimport$0 + (i32.load (local.get $2) ) ) ) ) (local.set $6 - (i32.load $mimport$0 + (i32.load (local.get $0) ) ) @@ -4114,7 +4114,7 @@ (local.get $3) (i32.const 2147483647) ) - (i32.load $mimport$0 offset=40 + (i32.load offset=40 (call $7) ) ) @@ -4177,7 +4177,7 @@ (local.get $3) ) (func $52 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (i32.atomic.rmw.cmpxchg $mimport$0 + (i32.atomic.rmw.cmpxchg (local.get $0) (local.get $1) (local.get $2) @@ -4185,7 +4185,7 @@ ) (func $53 (param $0 i32) (drop - (i32.atomic.rmw.add $mimport$0 + (i32.atomic.rmw.add (local.get $0) (i32.const 1) ) @@ -4193,7 +4193,7 @@ ) (func $54 (param $0 i32) (drop - (i32.atomic.rmw.sub $mimport$0 + (i32.atomic.rmw.sub (local.get $0) (i32.const 1) ) @@ -4203,7 +4203,7 @@ (block $label$1 (br_if $label$1 (i32.and - (i32.load8_u $mimport$0 + (i32.load8_u (local.get $0) ) (i32.const 15) @@ -4227,14 +4227,14 @@ ) ) (func $56 (param $0 i32) (result i32) - (i32.atomic.rmw.cmpxchg $mimport$0 + (i32.atomic.rmw.cmpxchg (local.get $0) (i32.const 0) (i32.const 10) ) ) (func $57 (param $0 i32) (result i32) - (i32.store $mimport$0 + (i32.store (local.get $0) (i32.const 0) ) @@ -4245,7 +4245,7 @@ (local $3 i32) (local $4 i32) (local $5 i32) - (i32.store $mimport$0 + (i32.store (local.tee $3 (i32.add (local.tee $2 @@ -4259,7 +4259,7 @@ ) (i32.const 0) ) - (i64.store $mimport$0 + (i64.store (local.tee $4 (i32.add (local.get $2) @@ -4268,7 +4268,7 @@ ) (i64.const 0) ) - (i64.store $mimport$0 + (i64.store (local.tee $5 (i32.add (local.get $2) @@ -4277,40 +4277,40 @@ ) (i64.const 0) ) - (i64.store $mimport$0 + (i64.store (local.get $2) (i64.const 0) ) - (i64.store $mimport$0 align=4 + (i64.store align=4 (local.get $0) - (i64.load $mimport$0 + (i64.load (local.get $2) ) ) - (i32.store $mimport$0 + (i32.store (i32.add (local.get $0) (i32.const 24) ) - (i32.load $mimport$0 + (i32.load (local.get $3) ) ) - (i64.store $mimport$0 align=4 + (i64.store align=4 (i32.add (local.get $0) (i32.const 16) ) - (i64.load $mimport$0 + (i64.load (local.get $4) ) ) - (i64.store $mimport$0 align=4 + (i64.store align=4 (i32.add (local.get $0) (i32.const 8) ) - (i64.load $mimport$0 + (i64.load (local.get $5) ) ) @@ -4320,9 +4320,9 @@ (local.get $1) ) ) - (i32.store $mimport$0 + (i32.store (local.get $0) - (i32.load $mimport$0 + (i32.load (local.get $1) ) ) @@ -4346,7 +4346,7 @@ (local $11 i32) (block $label$1 (br_if $label$1 - (i32.load $mimport$0 offset=1844 + (i32.load offset=1844 (i32.const 0) ) ) @@ -4357,7 +4357,7 @@ (br_if $label$3 (i32.eqz (i32.and - (i32.load8_u $mimport$0 offset=2312 + (i32.load8_u offset=2312 (i32.const 0) ) (i32.const 2) @@ -4398,7 +4398,7 @@ (local.tee $0 (i32.shr_u (local.tee $2 - (i32.load $mimport$0 offset=1868 + (i32.load offset=1868 (i32.const 0) ) ) @@ -4432,7 +4432,7 @@ (local.set $1 (i32.add (local.tee $0 - (i32.load $mimport$0 + (i32.load (i32.add (local.tee $5 (i32.shl @@ -4463,7 +4463,7 @@ (br_if $label$18 (i32.ne (local.tee $3 - (i32.load $mimport$0 offset=8 + (i32.load offset=8 (local.get $0) ) ) @@ -4475,7 +4475,7 @@ ) ) ) - (i32.store $mimport$0 offset=1868 + (i32.store offset=1868 (i32.const 0) (i32.and (local.get $2) @@ -4487,16 +4487,16 @@ ) (br $label$17) ) - (i32.store $mimport$0 offset=12 + (i32.store offset=12 (local.get $3) (local.get $5) ) - (i32.store $mimport$0 offset=8 + (i32.store offset=8 (local.get $5) (local.get $3) ) ) - (i32.store $mimport$0 offset=4 + (i32.store offset=4 (local.get $0) (i32.or (local.tee $4 @@ -4508,7 +4508,7 @@ (i32.const 3) ) ) - (i32.store $mimport$0 offset=4 + (i32.store offset=4 (local.tee $0 (i32.add (local.get $0) @@ -4516,7 +4516,7 @@ ) ) (i32.or - (i32.load $mimport$0 offset=4 + (i32.load offset=4 (local.get $0) ) (i32.const 1) @@ -4528,7 +4528,7 @@ (i32.le_u (local.get $3) (local.tee $6 - (i32.load $mimport$0 offset=1876 + (i32.load offset=1876 (i32.const 0) ) ) @@ -4545,9 +4545,9 @@ (br_if $label$21 (i32.ne (local.tee $1 - (i32.load $mimport$0 offset=8 + (i32.load offset=8 (local.tee $0 - (i32.load $mimport$0 + (i32.load (i32.add (local.tee $5 (i32.shl @@ -4679,7 +4679,7 @@ ) ) ) - (i32.store $mimport$0 offset=1868 + (i32.store offset=1868 (i32.const 0) (local.tee $2 (i32.and @@ -4693,11 +4693,11 @@ ) (br $label$20) ) - (i32.store $mimport$0 offset=12 + (i32.store offset=12 (local.get $1) (local.get $5) ) - (i32.store $mimport$0 offset=8 + (i32.store offset=8 (local.get $5) (local.get $1) ) @@ -4708,14 +4708,14 @@ (i32.const 8) ) ) - (i32.store $mimport$0 offset=4 + (i32.store offset=4 (local.get $0) (i32.or (local.get $3) (i32.const 3) ) ) - (i32.store $mimport$0 offset=4 + (i32.store offset=4 (local.tee $5 (i32.add (local.get $0) @@ -4737,7 +4737,7 @@ (i32.const 1) ) ) - (i32.store $mimport$0 + (i32.store (i32.add (local.get $0) (local.get $7) @@ -4765,7 +4765,7 @@ ) ) (local.set $0 - (i32.load $mimport$0 offset=1888 + (i32.load offset=1888 (i32.const 0) ) ) @@ -4782,7 +4782,7 @@ ) ) ) - (i32.store $mimport$0 offset=1868 + (i32.store offset=1868 (i32.const 0) (i32.or (local.get $2) @@ -4795,33 +4795,33 @@ (br $label$23) ) (local.set $7 - (i32.load $mimport$0 offset=8 + (i32.load offset=8 (local.get $3) ) ) ) - (i32.store $mimport$0 offset=8 + (i32.store offset=8 (local.get $3) (local.get $0) ) - (i32.store $mimport$0 offset=12 + (i32.store offset=12 (local.get $7) (local.get $0) ) - (i32.store $mimport$0 offset=12 + (i32.store offset=12 (local.get $0) (local.get $3) ) - (i32.store $mimport$0 offset=8 + (i32.store offset=8 (local.get $0) (local.get $7) ) ) - (i32.store $mimport$0 offset=1888 + (i32.store offset=1888 (i32.const 0) (local.get $5) ) - (i32.store $mimport$0 offset=1876 + (i32.store offset=1876 (i32.const 0) (local.get $4) ) @@ -4830,7 +4830,7 @@ (br_if $label$14 (i32.eqz (local.tee $8 - (i32.load $mimport$0 offset=1872 + (i32.load offset=1872 (i32.const 0) ) ) @@ -4839,9 +4839,9 @@ (local.set $1 (i32.sub (i32.and - (i32.load $mimport$0 offset=4 + (i32.load offset=4 (local.tee $5 - (i32.load $mimport$0 + (i32.load (i32.add (i32.shl (i32.add @@ -4954,7 +4954,7 @@ (block $label$27 (br_if $label$27 (local.tee $0 - (i32.load $mimport$0 offset=16 + (i32.load offset=16 (local.get $4) ) ) @@ -4962,7 +4962,7 @@ (br_if $label$25 (i32.eqz (local.tee $0 - (i32.load $mimport$0 + (i32.load (i32.add (local.get $4) (i32.const 20) @@ -4977,7 +4977,7 @@ (local.tee $4 (i32.sub (i32.and - (i32.load $mimport$0 offset=4 + (i32.load offset=4 (local.get $0) ) (i32.const -8) @@ -5019,7 +5019,7 @@ ) ) (local.set $10 - (i32.load $mimport$0 offset=24 + (i32.load offset=24 (local.get $5) ) ) @@ -5027,7 +5027,7 @@ (br_if $label$28 (i32.eq (local.tee $7 - (i32.load $mimport$0 offset=12 + (i32.load offset=12 (local.get $5) ) ) @@ -5036,21 +5036,21 @@ ) (drop (i32.gt_u - (i32.load $mimport$0 offset=1884 + (i32.load offset=1884 (i32.const 0) ) (local.tee $0 - (i32.load $mimport$0 offset=8 + (i32.load offset=8 (local.get $5) ) ) ) ) - (i32.store $mimport$0 offset=12 + (i32.store offset=12 (local.get $0) (local.get $7) ) - (i32.store $mimport$0 offset=8 + (i32.store offset=8 (local.get $7) (local.get $0) ) @@ -5059,7 +5059,7 @@ (block $label$29 (br_if $label$29 (local.tee $0 - (i32.load $mimport$0 + (i32.load (local.tee $4 (i32.add (local.get $5) @@ -5072,7 +5072,7 @@ (br_if $label$12 (i32.eqz (local.tee $0 - (i32.load $mimport$0 offset=16 + (i32.load offset=16 (local.get $5) ) ) @@ -5091,7 +5091,7 @@ ) (br_if $label$30 (local.tee $0 - (i32.load $mimport$0 + (i32.load (local.tee $4 (i32.add (local.tee $7 @@ -5111,13 +5111,13 @@ ) (br_if $label$30 (local.tee $0 - (i32.load $mimport$0 offset=16 + (i32.load offset=16 (local.get $7) ) ) ) ) - (i32.store $mimport$0 + (i32.store (local.get $11) (i32.const 0) ) @@ -5146,7 +5146,7 @@ (br_if $label$14 (i32.eqz (local.tee $6 - (i32.load $mimport$0 offset=1872 + (i32.load offset=1872 (i32.const 0) ) ) @@ -5261,7 +5261,7 @@ (block $label$35 (br_if $label$35 (local.tee $4 - (i32.load $mimport$0 + (i32.load (i32.add (i32.shl (local.get $11) @@ -5312,7 +5312,7 @@ (local.tee $2 (i32.sub (i32.and - (i32.load $mimport$0 offset=4 + (i32.load offset=4 (local.get $4) ) (i32.const -8) @@ -5348,7 +5348,7 @@ (select (local.get $0) (local.tee $2 - (i32.load $mimport$0 + (i32.load (i32.add (local.get $4) (i32.const 20) @@ -5358,7 +5358,7 @@ (i32.eq (local.get $2) (local.tee $4 - (i32.load $mimport$0 + (i32.load (i32.add (i32.add (local.get $4) @@ -5420,7 +5420,7 @@ ) ) (local.set $0 - (i32.load $mimport$0 + (i32.load (i32.add (i32.shl (i32.add @@ -5532,7 +5532,7 @@ (local.tee $2 (i32.sub (i32.and - (i32.load $mimport$0 offset=4 + (i32.load offset=4 (local.get $0) ) (i32.const -8) @@ -5546,13 +5546,13 @@ (block $label$40 (br_if $label$40 (local.tee $4 - (i32.load $mimport$0 offset=16 + (i32.load offset=16 (local.get $0) ) ) ) (local.set $4 - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const 20) @@ -5591,7 +5591,7 @@ (i32.ge_u (local.get $1) (i32.sub - (i32.load $mimport$0 offset=1876 + (i32.load offset=1876 (i32.const 0) ) (local.get $3) @@ -5610,7 +5610,7 @@ ) ) (local.set $8 - (i32.load $mimport$0 offset=24 + (i32.load offset=24 (local.get $7) ) ) @@ -5618,7 +5618,7 @@ (br_if $label$41 (i32.eq (local.tee $5 - (i32.load $mimport$0 offset=12 + (i32.load offset=12 (local.get $7) ) ) @@ -5627,21 +5627,21 @@ ) (drop (i32.gt_u - (i32.load $mimport$0 offset=1884 + (i32.load offset=1884 (i32.const 0) ) (local.tee $0 - (i32.load $mimport$0 offset=8 + (i32.load offset=8 (local.get $7) ) ) ) ) - (i32.store $mimport$0 offset=12 + (i32.store offset=12 (local.get $0) (local.get $5) ) - (i32.store $mimport$0 offset=8 + (i32.store offset=8 (local.get $5) (local.get $0) ) @@ -5650,7 +5650,7 @@ (block $label$42 (br_if $label$42 (local.tee $0 - (i32.load $mimport$0 + (i32.load (local.tee $4 (i32.add (local.get $7) @@ -5663,7 +5663,7 @@ (br_if $label$11 (i32.eqz (local.tee $0 - (i32.load $mimport$0 offset=16 + (i32.load offset=16 (local.get $7) ) ) @@ -5682,7 +5682,7 @@ ) (br_if $label$43 (local.tee $0 - (i32.load $mimport$0 + (i32.load (local.tee $4 (i32.add (local.tee $5 @@ -5702,13 +5702,13 @@ ) (br_if $label$43 (local.tee $0 - (i32.load $mimport$0 offset=16 + (i32.load offset=16 (local.get $5) ) ) ) ) - (i32.store $mimport$0 + (i32.store (local.get $2) (i32.const 0) ) @@ -5718,7 +5718,7 @@ (br_if $label$44 (i32.lt_u (local.tee $0 - (i32.load $mimport$0 offset=1876 + (i32.load offset=1876 (i32.const 0) ) ) @@ -5726,7 +5726,7 @@ ) ) (local.set $1 - (i32.load $mimport$0 offset=1888 + (i32.load offset=1888 (i32.const 0) ) ) @@ -5743,11 +5743,11 @@ (i32.const 16) ) ) - (i32.store $mimport$0 offset=1876 + (i32.store offset=1876 (i32.const 0) (local.get $4) ) - (i32.store $mimport$0 offset=1888 + (i32.store offset=1888 (i32.const 0) (local.tee $5 (i32.add @@ -5756,21 +5756,21 @@ ) ) ) - (i32.store $mimport$0 offset=4 + (i32.store offset=4 (local.get $5) (i32.or (local.get $4) (i32.const 1) ) ) - (i32.store $mimport$0 + (i32.store (i32.add (local.get $1) (local.get $0) ) (local.get $4) ) - (i32.store $mimport$0 offset=4 + (i32.store offset=4 (local.get $1) (i32.or (local.get $3) @@ -5779,22 +5779,22 @@ ) (br $label$45) ) - (i32.store $mimport$0 offset=1888 + (i32.store offset=1888 (i32.const 0) (i32.const 0) ) - (i32.store $mimport$0 offset=1876 + (i32.store offset=1876 (i32.const 0) (i32.const 0) ) - (i32.store $mimport$0 offset=4 + (i32.store offset=4 (local.get $1) (i32.or (local.get $0) (i32.const 3) ) ) - (i32.store $mimport$0 offset=4 + (i32.store offset=4 (local.tee $0 (i32.add (local.get $1) @@ -5802,7 +5802,7 @@ ) ) (i32.or - (i32.load $mimport$0 offset=4 + (i32.load offset=4 (local.get $0) ) (i32.const 1) @@ -5821,14 +5821,14 @@ (br_if $label$47 (i32.le_u (local.tee $0 - (i32.load $mimport$0 offset=1880 + (i32.load offset=1880 (i32.const 0) ) ) (local.get $3) ) ) - (i32.store $mimport$0 offset=1880 + (i32.store offset=1880 (i32.const 0) (local.tee $1 (i32.sub @@ -5837,12 +5837,12 @@ ) ) ) - (i32.store $mimport$0 offset=1892 + (i32.store offset=1892 (i32.const 0) (local.tee $4 (i32.add (local.tee $0 - (i32.load $mimport$0 offset=1892 + (i32.load offset=1892 (i32.const 0) ) ) @@ -5850,14 +5850,14 @@ ) ) ) - (i32.store $mimport$0 offset=4 + (i32.store offset=4 (local.get $4) (i32.or (local.get $1) (i32.const 1) ) ) - (i32.store $mimport$0 offset=4 + (i32.store offset=4 (local.get $0) (i32.or (local.get $3) @@ -5877,7 +5877,7 @@ ) (block $label$48 (br_if $label$48 - (i32.load $mimport$0 offset=1844 + (i32.load offset=1844 (i32.const 0) ) ) @@ -5889,7 +5889,7 @@ (i32.and (i32.add (local.tee $0 - (i32.load $mimport$0 offset=1852 + (i32.load offset=1852 (i32.const 0) ) ) @@ -5916,7 +5916,7 @@ (br_if $label$49 (i32.eqz (local.tee $0 - (i32.load $mimport$0 offset=2308 + (i32.load offset=2308 (i32.const 0) ) ) @@ -5927,7 +5927,7 @@ (local.tee $5 (i32.add (local.tee $4 - (i32.load $mimport$0 offset=2300 + (i32.load offset=2300 (i32.const 0) ) ) @@ -5952,7 +5952,7 @@ ) (br_if $label$7 (i32.and - (i32.load8_u $mimport$0 offset=2312 + (i32.load8_u offset=2312 (i32.const 0) ) (i32.const 4) @@ -5967,7 +5967,7 @@ (br_if $label$52 (i32.eqz (local.tee $1 - (i32.load $mimport$0 offset=1892 + (i32.load offset=1892 (i32.const 0) ) ) @@ -5981,7 +5981,7 @@ (br_if $label$54 (i32.gt_u (local.tee $4 - (i32.load $mimport$0 + (i32.load (local.get $0) ) ) @@ -5992,7 +5992,7 @@ (i32.gt_u (i32.add (local.get $4) - (i32.load $mimport$0 offset=4 + (i32.load offset=4 (local.get $0) ) ) @@ -6002,7 +6002,7 @@ ) (br_if $label$53 (local.tee $0 - (i32.load $mimport$0 offset=8 + (i32.load offset=8 (local.get $0) ) ) @@ -6034,7 +6034,7 @@ (local.tee $1 (i32.add (local.tee $0 - (i32.load $mimport$0 offset=1848 + (i32.load offset=1848 (i32.const 0) ) ) @@ -6095,7 +6095,7 @@ (br_if $label$58 (i32.eqz (local.tee $0 - (i32.load $mimport$0 offset=2308 + (i32.load offset=2308 (i32.const 0) ) ) @@ -6106,7 +6106,7 @@ (local.tee $4 (i32.add (local.tee $1 - (i32.load $mimport$0 offset=2300 + (i32.load offset=2300 (i32.const 0) ) ) @@ -6150,12 +6150,12 @@ (i32.add (i32.sub (local.get $11) - (i32.load $mimport$0 offset=1880 + (i32.load offset=1880 (i32.const 0) ) ) (local.tee $1 - (i32.load $mimport$0 offset=1852 + (i32.load offset=1852 (i32.const 0) ) ) @@ -6177,10 +6177,10 @@ ) ) (i32.add - (i32.load $mimport$0 + (i32.load (local.get $0) ) - (i32.load $mimport$0 offset=4 + (i32.load offset=4 (local.get $0) ) ) @@ -6220,7 +6220,7 @@ (local.get $2) ) (local.tee $1 - (i32.load $mimport$0 offset=1852 + (i32.load offset=1852 (i32.const 0) ) ) @@ -6305,10 +6305,10 @@ ) ) ) - (i32.store $mimport$0 offset=2312 + (i32.store offset=2312 (i32.const 0) (i32.or - (i32.load $mimport$0 offset=2312 + (i32.load offset=2312 (i32.const 0) ) (i32.const 4) @@ -6403,11 +6403,11 @@ ) ) ) - (i32.store $mimport$0 offset=2300 + (i32.store offset=2300 (i32.const 0) (local.tee $0 (i32.add - (i32.load $mimport$0 offset=2300 + (i32.load offset=2300 (i32.const 0) ) (local.get $2) @@ -6418,12 +6418,12 @@ (br_if $label$65 (i32.le_u (local.get $0) - (i32.load $mimport$0 offset=2304 + (i32.load offset=2304 (i32.const 0) ) ) ) - (i32.store $mimport$0 offset=2304 + (i32.store offset=2304 (i32.const 0) (local.get $0) ) @@ -6435,7 +6435,7 @@ (br_if $label$69 (i32.eqz (local.tee $1 - (i32.load $mimport$0 offset=1892 + (i32.load offset=1892 (i32.const 0) ) ) @@ -6450,12 +6450,12 @@ (local.get $5) (i32.add (local.tee $4 - (i32.load $mimport$0 + (i32.load (local.get $0) ) ) (local.tee $7 - (i32.load $mimport$0 offset=4 + (i32.load offset=4 (local.get $0) ) ) @@ -6464,7 +6464,7 @@ ) (br_if $label$70 (local.tee $0 - (i32.load $mimport$0 offset=8 + (i32.load offset=8 (local.get $0) ) ) @@ -6477,7 +6477,7 @@ (br_if $label$72 (i32.eqz (local.tee $0 - (i32.load $mimport$0 offset=1884 + (i32.load offset=1884 (i32.const 0) ) ) @@ -6490,7 +6490,7 @@ ) ) ) - (i32.store $mimport$0 offset=1884 + (i32.store offset=1884 (i32.const 0) (local.get $5) ) @@ -6498,30 +6498,30 @@ (local.set $0 (i32.const 0) ) - (i32.store $mimport$0 offset=2348 + (i32.store offset=2348 (i32.const 0) (local.get $2) ) - (i32.store $mimport$0 offset=2344 + (i32.store offset=2344 (i32.const 0) (local.get $5) ) - (i32.store $mimport$0 offset=1900 + (i32.store offset=1900 (i32.const 0) (i32.const -1) ) - (i32.store $mimport$0 offset=1904 + (i32.store offset=1904 (i32.const 0) - (i32.load $mimport$0 offset=1844 + (i32.load offset=1844 (i32.const 0) ) ) - (i32.store $mimport$0 offset=2356 + (i32.store offset=2356 (i32.const 0) (i32.const 0) ) (loop $label$73 - (i32.store $mimport$0 + (i32.store (i32.add (local.tee $1 (i32.shl @@ -6538,7 +6538,7 @@ ) ) ) - (i32.store $mimport$0 + (i32.store (i32.add (local.get $1) (i32.const 1920) @@ -6557,7 +6557,7 @@ ) ) ) - (i32.store $mimport$0 offset=1880 + (i32.store offset=1880 (i32.const 0) (local.tee $4 (i32.sub @@ -6589,7 +6589,7 @@ ) ) ) - (i32.store $mimport$0 offset=1892 + (i32.store offset=1892 (i32.const 0) (local.tee $1 (i32.add @@ -6598,23 +6598,23 @@ ) ) ) - (i32.store $mimport$0 offset=4 + (i32.store offset=4 (local.get $1) (i32.or (local.get $4) (i32.const 1) ) ) - (i32.store $mimport$0 offset=4 + (i32.store offset=4 (i32.add (local.get $5) (local.get $0) ) (i32.const 40) ) - (i32.store $mimport$0 offset=1896 + (i32.store offset=1896 (i32.const 0) - (i32.load $mimport$0 offset=1860 + (i32.load offset=1860 (i32.const 0) ) ) @@ -6634,20 +6634,20 @@ ) (br_if $label$67 (i32.and - (i32.load $mimport$0 offset=12 + (i32.load offset=12 (local.get $0) ) (i32.const 8) ) ) - (i32.store $mimport$0 offset=4 + (i32.store offset=4 (local.get $0) (i32.add (local.get $7) (local.get $2) ) ) - (i32.store $mimport$0 offset=1892 + (i32.store offset=1892 (i32.const 0) (local.tee $4 (i32.add @@ -6674,13 +6674,13 @@ ) ) ) - (i32.store $mimport$0 offset=1880 + (i32.store offset=1880 (i32.const 0) (local.tee $0 (i32.sub (local.tee $5 (i32.add - (i32.load $mimport$0 offset=1880 + (i32.load offset=1880 (i32.const 0) ) (local.get $2) @@ -6690,23 +6690,23 @@ ) ) ) - (i32.store $mimport$0 offset=4 + (i32.store offset=4 (local.get $4) (i32.or (local.get $0) (i32.const 1) ) ) - (i32.store $mimport$0 offset=4 + (i32.store offset=4 (i32.add (local.get $1) (local.get $5) ) (i32.const 40) ) - (i32.store $mimport$0 offset=1896 + (i32.store offset=1896 (i32.const 0) - (i32.load $mimport$0 offset=1860 + (i32.load offset=1860 (i32.const 0) ) ) @@ -6717,13 +6717,13 @@ (i32.ge_u (local.get $5) (local.tee $7 - (i32.load $mimport$0 offset=1884 + (i32.load offset=1884 (i32.const 0) ) ) ) ) - (i32.store $mimport$0 offset=1884 + (i32.store offset=1884 (i32.const 0) (local.get $5) ) @@ -6750,7 +6750,7 @@ (loop $label$82 (br_if $label$81 (i32.eq - (i32.load $mimport$0 + (i32.load (local.get $0) ) (local.get $4) @@ -6758,7 +6758,7 @@ ) (br_if $label$82 (local.tee $0 - (i32.load $mimport$0 offset=8 + (i32.load offset=8 (local.get $0) ) ) @@ -6769,7 +6769,7 @@ (br_if $label$79 (i32.eqz (i32.and - (i32.load8_u $mimport$0 offset=12 + (i32.load8_u offset=12 (local.get $0) ) (i32.const 8) @@ -6785,7 +6785,7 @@ (br_if $label$84 (i32.gt_u (local.tee $4 - (i32.load $mimport$0 + (i32.load (local.get $0) ) ) @@ -6797,7 +6797,7 @@ (local.tee $4 (i32.add (local.get $4) - (i32.load $mimport$0 offset=4 + (i32.load offset=4 (local.get $0) ) ) @@ -6807,27 +6807,27 @@ ) ) (local.set $0 - (i32.load $mimport$0 offset=8 + (i32.load offset=8 (local.get $0) ) ) (br $label$83) ) ) - (i32.store $mimport$0 + (i32.store (local.get $0) (local.get $5) ) - (i32.store $mimport$0 offset=4 + (i32.store offset=4 (local.get $0) (i32.add - (i32.load $mimport$0 offset=4 + (i32.load offset=4 (local.get $0) ) (local.get $2) ) ) - (i32.store $mimport$0 offset=4 + (i32.store offset=4 (local.tee $11 (i32.add (local.get $5) @@ -6898,22 +6898,22 @@ (local.get $2) ) ) - (i32.store $mimport$0 offset=1892 + (i32.store offset=1892 (i32.const 0) (local.get $3) ) - (i32.store $mimport$0 offset=1880 + (i32.store offset=1880 (i32.const 0) (local.tee $0 (i32.add - (i32.load $mimport$0 offset=1880 + (i32.load offset=1880 (i32.const 0) ) (local.get $4) ) ) ) - (i32.store $mimport$0 offset=4 + (i32.store offset=4 (local.get $3) (i32.or (local.get $0) @@ -6925,35 +6925,35 @@ (block $label$86 (br_if $label$86 (i32.ne - (i32.load $mimport$0 offset=1888 + (i32.load offset=1888 (i32.const 0) ) (local.get $2) ) ) - (i32.store $mimport$0 offset=1888 + (i32.store offset=1888 (i32.const 0) (local.get $3) ) - (i32.store $mimport$0 offset=1876 + (i32.store offset=1876 (i32.const 0) (local.tee $0 (i32.add - (i32.load $mimport$0 offset=1876 + (i32.load offset=1876 (i32.const 0) ) (local.get $4) ) ) ) - (i32.store $mimport$0 offset=4 + (i32.store offset=4 (local.get $3) (i32.or (local.get $0) (i32.const 1) ) ) - (i32.store $mimport$0 + (i32.store (i32.add (local.get $3) (local.get $0) @@ -6967,7 +6967,7 @@ (i32.ne (i32.and (local.tee $0 - (i32.load $mimport$0 offset=4 + (i32.load offset=4 (local.get $2) ) ) @@ -6993,7 +6993,7 @@ (drop (i32.eq (local.tee $1 - (i32.load $mimport$0 offset=8 + (i32.load offset=8 (local.get $2) ) ) @@ -7017,17 +7017,17 @@ (br_if $label$90 (i32.ne (local.tee $0 - (i32.load $mimport$0 offset=12 + (i32.load offset=12 (local.get $2) ) ) (local.get $1) ) ) - (i32.store $mimport$0 offset=1868 + (i32.store offset=1868 (i32.const 0) (i32.and - (i32.load $mimport$0 offset=1868 + (i32.load offset=1868 (i32.const 0) ) (i32.rotl @@ -7044,18 +7044,18 @@ (local.get $5) ) ) - (i32.store $mimport$0 offset=12 + (i32.store offset=12 (local.get $1) (local.get $0) ) - (i32.store $mimport$0 offset=8 + (i32.store offset=8 (local.get $0) (local.get $1) ) (br $label$88) ) (local.set $8 - (i32.load $mimport$0 offset=24 + (i32.load offset=24 (local.get $2) ) ) @@ -7064,7 +7064,7 @@ (br_if $label$92 (i32.eq (local.tee $5 - (i32.load $mimport$0 offset=12 + (i32.load offset=12 (local.get $2) ) ) @@ -7075,17 +7075,17 @@ (i32.gt_u (local.get $7) (local.tee $0 - (i32.load $mimport$0 offset=8 + (i32.load offset=8 (local.get $2) ) ) ) ) - (i32.store $mimport$0 offset=12 + (i32.store offset=12 (local.get $0) (local.get $5) ) - (i32.store $mimport$0 offset=8 + (i32.store offset=8 (local.get $5) (local.get $0) ) @@ -7094,7 +7094,7 @@ (block $label$93 (br_if $label$93 (local.tee $1 - (i32.load $mimport$0 + (i32.load (local.tee $0 (i32.add (local.get $2) @@ -7106,7 +7106,7 @@ ) (br_if $label$93 (local.tee $1 - (i32.load $mimport$0 + (i32.load (local.tee $0 (i32.add (local.get $2) @@ -7127,7 +7127,7 @@ ) (br_if $label$94 (local.tee $1 - (i32.load $mimport$0 + (i32.load (local.tee $0 (i32.add (local.tee $5 @@ -7147,13 +7147,13 @@ ) (br_if $label$94 (local.tee $1 - (i32.load $mimport$0 offset=16 + (i32.load offset=16 (local.get $5) ) ) ) ) - (i32.store $mimport$0 + (i32.store (local.get $7) (i32.const 0) ) @@ -7167,12 +7167,12 @@ (block $label$96 (br_if $label$96 (i32.ne - (i32.load $mimport$0 + (i32.load (local.tee $0 (i32.add (i32.shl (local.tee $1 - (i32.load $mimport$0 offset=28 + (i32.load offset=28 (local.get $2) ) ) @@ -7185,17 +7185,17 @@ (local.get $2) ) ) - (i32.store $mimport$0 + (i32.store (local.get $0) (local.get $5) ) (br_if $label$95 (local.get $5) ) - (i32.store $mimport$0 offset=1872 + (i32.store offset=1872 (i32.const 0) (i32.and - (i32.load $mimport$0 offset=1872 + (i32.load offset=1872 (i32.const 0) ) (i32.rotl @@ -7206,14 +7206,14 @@ ) (br $label$88) ) - (i32.store $mimport$0 + (i32.store (i32.add (local.get $8) (select (i32.const 16) (i32.const 20) (i32.eq - (i32.load $mimport$0 offset=16 + (i32.load offset=16 (local.get $8) ) (local.get $2) @@ -7228,7 +7228,7 @@ ) ) ) - (i32.store $mimport$0 offset=24 + (i32.store offset=24 (local.get $5) (local.get $8) ) @@ -7236,17 +7236,17 @@ (br_if $label$97 (i32.eqz (local.tee $0 - (i32.load $mimport$0 offset=16 + (i32.load offset=16 (local.get $2) ) ) ) ) - (i32.store $mimport$0 offset=16 + (i32.store offset=16 (local.get $5) (local.get $0) ) - (i32.store $mimport$0 offset=24 + (i32.store offset=24 (local.get $0) (local.get $5) ) @@ -7254,20 +7254,20 @@ (br_if $label$88 (i32.eqz (local.tee $0 - (i32.load $mimport$0 offset=20 + (i32.load offset=20 (local.get $2) ) ) ) ) - (i32.store $mimport$0 + (i32.store (i32.add (local.get $5) (i32.const 20) ) (local.get $0) ) - (i32.store $mimport$0 offset=24 + (i32.store offset=24 (local.get $0) (local.get $5) ) @@ -7285,23 +7285,23 @@ ) ) ) - (i32.store $mimport$0 offset=4 + (i32.store offset=4 (local.get $2) (i32.and - (i32.load $mimport$0 offset=4 + (i32.load offset=4 (local.get $2) ) (i32.const -2) ) ) - (i32.store $mimport$0 offset=4 + (i32.store offset=4 (local.get $3) (i32.or (local.get $4) (i32.const 1) ) ) - (i32.store $mimport$0 + (i32.store (i32.add (local.get $3) (local.get $4) @@ -7334,7 +7334,7 @@ (br_if $label$100 (i32.and (local.tee $4 - (i32.load $mimport$0 offset=1868 + (i32.load offset=1868 (i32.const 0) ) ) @@ -7346,7 +7346,7 @@ ) ) ) - (i32.store $mimport$0 offset=1868 + (i32.store offset=1868 (i32.const 0) (i32.or (local.get $4) @@ -7359,24 +7359,24 @@ (br $label$99) ) (local.set $1 - (i32.load $mimport$0 offset=8 + (i32.load offset=8 (local.get $0) ) ) ) - (i32.store $mimport$0 offset=8 + (i32.store offset=8 (local.get $0) (local.get $3) ) - (i32.store $mimport$0 offset=12 + (i32.store offset=12 (local.get $1) (local.get $3) ) - (i32.store $mimport$0 offset=12 + (i32.store offset=12 (local.get $3) (local.get $0) ) - (i32.store $mimport$0 offset=8 + (i32.store offset=8 (local.get $3) (local.get $1) ) @@ -7479,11 +7479,11 @@ ) ) ) - (i32.store $mimport$0 offset=28 + (i32.store offset=28 (local.get $3) (local.get $0) ) - (i64.store $mimport$0 offset=16 align=4 + (i64.store offset=16 align=4 (local.get $3) (i64.const 0) ) @@ -7501,7 +7501,7 @@ (br_if $label$103 (i32.and (local.tee $5 - (i32.load $mimport$0 offset=1872 + (i32.load offset=1872 (i32.const 0) ) ) @@ -7513,18 +7513,18 @@ ) ) ) - (i32.store $mimport$0 offset=1872 + (i32.store offset=1872 (i32.const 0) (i32.or (local.get $5) (local.get $7) ) ) - (i32.store $mimport$0 + (i32.store (local.get $1) (local.get $3) ) - (i32.store $mimport$0 offset=24 + (i32.store offset=24 (local.get $3) (local.get $1) ) @@ -7550,7 +7550,7 @@ ) ) (local.set $5 - (i32.load $mimport$0 + (i32.load (local.get $1) ) ) @@ -7558,7 +7558,7 @@ (br_if $label$77 (i32.eq (i32.and - (i32.load $mimport$0 offset=4 + (i32.load offset=4 (local.tee $1 (local.get $5) ) @@ -7582,7 +7582,7 @@ ) (br_if $label$104 (local.tee $5 - (i32.load $mimport$0 + (i32.load (local.tee $7 (i32.add (i32.add @@ -7599,26 +7599,26 @@ ) ) ) - (i32.store $mimport$0 + (i32.store (local.get $7) (local.get $3) ) - (i32.store $mimport$0 offset=24 + (i32.store offset=24 (local.get $3) (local.get $1) ) ) - (i32.store $mimport$0 offset=12 + (i32.store offset=12 (local.get $3) (local.get $3) ) - (i32.store $mimport$0 offset=8 + (i32.store offset=8 (local.get $3) (local.get $3) ) (br $label$76) ) - (i32.store $mimport$0 offset=1880 + (i32.store offset=1880 (i32.const 0) (local.tee $11 (i32.sub @@ -7650,7 +7650,7 @@ ) ) ) - (i32.store $mimport$0 offset=1892 + (i32.store offset=1892 (i32.const 0) (local.tee $7 (i32.add @@ -7659,27 +7659,27 @@ ) ) ) - (i32.store $mimport$0 offset=4 + (i32.store offset=4 (local.get $7) (i32.or (local.get $11) (i32.const 1) ) ) - (i32.store $mimport$0 offset=4 + (i32.store offset=4 (i32.add (local.get $5) (local.get $0) ) (i32.const 40) ) - (i32.store $mimport$0 offset=1896 + (i32.store offset=1896 (i32.const 0) - (i32.load $mimport$0 offset=1860 + (i32.load offset=1860 (i32.const 0) ) ) - (i32.store $mimport$0 offset=4 + (i32.store offset=4 (local.tee $7 (select (local.get $1) @@ -7719,37 +7719,37 @@ ) (i32.const 27) ) - (i64.store $mimport$0 align=4 + (i64.store align=4 (i32.add (local.get $7) (i32.const 16) ) - (i64.load $mimport$0 offset=2352 align=4 + (i64.load offset=2352 align=4 (i32.const 0) ) ) - (i64.store $mimport$0 offset=8 align=4 + (i64.store offset=8 align=4 (local.get $7) - (i64.load $mimport$0 offset=2344 align=4 + (i64.load offset=2344 align=4 (i32.const 0) ) ) - (i32.store $mimport$0 offset=2352 + (i32.store offset=2352 (i32.const 0) (i32.add (local.get $7) (i32.const 8) ) ) - (i32.store $mimport$0 offset=2348 + (i32.store offset=2348 (i32.const 0) (local.get $2) ) - (i32.store $mimport$0 offset=2344 + (i32.store offset=2344 (i32.const 0) (local.get $5) ) - (i32.store $mimport$0 offset=2356 + (i32.store offset=2356 (i32.const 0) (i32.const 0) ) @@ -7760,7 +7760,7 @@ ) ) (loop $label$105 - (i32.store $mimport$0 offset=4 + (i32.store offset=4 (local.get $0) (i32.const 7) ) @@ -7789,16 +7789,16 @@ (local.get $1) ) ) - (i32.store $mimport$0 offset=4 + (i32.store offset=4 (local.get $7) (i32.and - (i32.load $mimport$0 offset=4 + (i32.load offset=4 (local.get $7) ) (i32.const -2) ) ) - (i32.store $mimport$0 offset=4 + (i32.store offset=4 (local.get $1) (i32.or (local.tee $2 @@ -7810,7 +7810,7 @@ (i32.const 1) ) ) - (i32.store $mimport$0 + (i32.store (local.get $7) (local.get $2) ) @@ -7840,7 +7840,7 @@ (br_if $label$108 (i32.and (local.tee $5 - (i32.load $mimport$0 offset=1868 + (i32.load offset=1868 (i32.const 0) ) ) @@ -7852,7 +7852,7 @@ ) ) ) - (i32.store $mimport$0 offset=1868 + (i32.store offset=1868 (i32.const 0) (i32.or (local.get $5) @@ -7865,24 +7865,24 @@ (br $label$107) ) (local.set $4 - (i32.load $mimport$0 offset=8 + (i32.load offset=8 (local.get $0) ) ) ) - (i32.store $mimport$0 offset=8 + (i32.store offset=8 (local.get $0) (local.get $1) ) - (i32.store $mimport$0 offset=12 + (i32.store offset=12 (local.get $4) (local.get $1) ) - (i32.store $mimport$0 offset=12 + (i32.store offset=12 (local.get $1) (local.get $0) ) - (i32.store $mimport$0 offset=8 + (i32.store offset=8 (local.get $1) (local.get $4) ) @@ -7985,11 +7985,11 @@ ) ) ) - (i64.store $mimport$0 offset=16 align=4 + (i64.store offset=16 align=4 (local.get $1) (i64.const 0) ) - (i32.store $mimport$0 + (i32.store (i32.add (local.get $1) (i32.const 28) @@ -8010,7 +8010,7 @@ (br_if $label$111 (i32.and (local.tee $5 - (i32.load $mimport$0 offset=1872 + (i32.load offset=1872 (i32.const 0) ) ) @@ -8022,18 +8022,18 @@ ) ) ) - (i32.store $mimport$0 offset=1872 + (i32.store offset=1872 (i32.const 0) (i32.or (local.get $5) (local.get $7) ) ) - (i32.store $mimport$0 + (i32.store (local.get $4) (local.get $1) ) - (i32.store $mimport$0 + (i32.store (i32.add (local.get $1) (i32.const 24) @@ -8062,7 +8062,7 @@ ) ) (local.set $5 - (i32.load $mimport$0 + (i32.load (local.get $4) ) ) @@ -8070,7 +8070,7 @@ (br_if $label$75 (i32.eq (i32.and - (i32.load $mimport$0 offset=4 + (i32.load offset=4 (local.tee $4 (local.get $5) ) @@ -8094,7 +8094,7 @@ ) (br_if $label$112 (local.tee $5 - (i32.load $mimport$0 + (i32.load (local.tee $7 (i32.add (i32.add @@ -8111,11 +8111,11 @@ ) ) ) - (i32.store $mimport$0 + (i32.store (local.get $7) (local.get $1) ) - (i32.store $mimport$0 + (i32.store (i32.add (local.get $1) (i32.const 24) @@ -8123,37 +8123,37 @@ (local.get $4) ) ) - (i32.store $mimport$0 offset=12 + (i32.store offset=12 (local.get $1) (local.get $1) ) - (i32.store $mimport$0 offset=8 + (i32.store offset=8 (local.get $1) (local.get $1) ) (br $label$66) ) - (i32.store $mimport$0 offset=12 + (i32.store offset=12 (local.tee $0 - (i32.load $mimport$0 offset=8 + (i32.load offset=8 (local.get $1) ) ) (local.get $3) ) - (i32.store $mimport$0 offset=8 + (i32.store offset=8 (local.get $1) (local.get $3) ) - (i32.store $mimport$0 offset=24 + (i32.store offset=24 (local.get $3) (i32.const 0) ) - (i32.store $mimport$0 offset=12 + (i32.store offset=12 (local.get $3) (local.get $1) ) - (i32.store $mimport$0 offset=8 + (i32.store offset=8 (local.get $3) (local.get $0) ) @@ -8166,30 +8166,30 @@ ) (br $label$4) ) - (i32.store $mimport$0 offset=12 + (i32.store offset=12 (local.tee $0 - (i32.load $mimport$0 offset=8 + (i32.load offset=8 (local.get $4) ) ) (local.get $1) ) - (i32.store $mimport$0 offset=8 + (i32.store offset=8 (local.get $4) (local.get $1) ) - (i32.store $mimport$0 + (i32.store (i32.add (local.get $1) (i32.const 24) ) (i32.const 0) ) - (i32.store $mimport$0 offset=12 + (i32.store offset=12 (local.get $1) (local.get $4) ) - (i32.store $mimport$0 offset=8 + (i32.store offset=8 (local.get $1) (local.get $0) ) @@ -8197,14 +8197,14 @@ (br_if $label$62 (i32.le_u (local.tee $0 - (i32.load $mimport$0 offset=1880 + (i32.load offset=1880 (i32.const 0) ) ) (local.get $3) ) ) - (i32.store $mimport$0 offset=1880 + (i32.store offset=1880 (i32.const 0) (local.tee $1 (i32.sub @@ -8213,12 +8213,12 @@ ) ) ) - (i32.store $mimport$0 offset=1892 + (i32.store offset=1892 (i32.const 0) (local.tee $4 (i32.add (local.tee $0 - (i32.load $mimport$0 offset=1892 + (i32.load offset=1892 (i32.const 0) ) ) @@ -8226,14 +8226,14 @@ ) ) ) - (i32.store $mimport$0 offset=4 + (i32.store offset=4 (local.get $4) (i32.or (local.get $1) (i32.const 1) ) ) - (i32.store $mimport$0 offset=4 + (i32.store offset=4 (local.get $0) (i32.or (local.get $3) @@ -8248,7 +8248,7 @@ ) (br $label$4) ) - (i32.store $mimport$0 + (i32.store (call $25) (i32.const 48) ) @@ -8268,12 +8268,12 @@ (br_if $label$115 (i32.ne (local.get $7) - (i32.load $mimport$0 + (i32.load (local.tee $0 (i32.add (i32.shl (local.tee $4 - (i32.load $mimport$0 offset=28 + (i32.load offset=28 (local.get $7) ) ) @@ -8285,14 +8285,14 @@ ) ) ) - (i32.store $mimport$0 + (i32.store (local.get $0) (local.get $5) ) (br_if $label$114 (local.get $5) ) - (i32.store $mimport$0 offset=1872 + (i32.store offset=1872 (i32.const 0) (local.tee $6 (i32.and @@ -8306,14 +8306,14 @@ ) (br $label$113) ) - (i32.store $mimport$0 + (i32.store (i32.add (local.get $8) (select (i32.const 16) (i32.const 20) (i32.eq - (i32.load $mimport$0 offset=16 + (i32.load offset=16 (local.get $8) ) (local.get $7) @@ -8328,7 +8328,7 @@ ) ) ) - (i32.store $mimport$0 offset=24 + (i32.store offset=24 (local.get $5) (local.get $8) ) @@ -8336,17 +8336,17 @@ (br_if $label$116 (i32.eqz (local.tee $0 - (i32.load $mimport$0 offset=16 + (i32.load offset=16 (local.get $7) ) ) ) ) - (i32.store $mimport$0 offset=16 + (i32.store offset=16 (local.get $5) (local.get $0) ) - (i32.store $mimport$0 offset=24 + (i32.store offset=24 (local.get $0) (local.get $5) ) @@ -8354,7 +8354,7 @@ (br_if $label$113 (i32.eqz (local.tee $0 - (i32.load $mimport$0 + (i32.load (i32.add (local.get $7) (i32.const 20) @@ -8363,14 +8363,14 @@ ) ) ) - (i32.store $mimport$0 + (i32.store (i32.add (local.get $5) (i32.const 20) ) (local.get $0) ) - (i32.store $mimport$0 offset=24 + (i32.store offset=24 (local.get $0) (local.get $5) ) @@ -8383,7 +8383,7 @@ (i32.const 15) ) ) - (i32.store $mimport$0 offset=4 + (i32.store offset=4 (local.get $7) (i32.or (local.tee $0 @@ -8395,7 +8395,7 @@ (i32.const 3) ) ) - (i32.store $mimport$0 offset=4 + (i32.store offset=4 (local.tee $0 (i32.add (local.get $7) @@ -8403,7 +8403,7 @@ ) ) (i32.or - (i32.load $mimport$0 offset=4 + (i32.load offset=4 (local.get $0) ) (i32.const 1) @@ -8411,21 +8411,21 @@ ) (br $label$117) ) - (i32.store $mimport$0 offset=4 + (i32.store offset=4 (local.get $7) (i32.or (local.get $3) (i32.const 3) ) ) - (i32.store $mimport$0 offset=4 + (i32.store offset=4 (local.get $11) (i32.or (local.get $1) (i32.const 1) ) ) - (i32.store $mimport$0 + (i32.store (i32.add (local.get $11) (local.get $1) @@ -8458,7 +8458,7 @@ (br_if $label$121 (i32.and (local.tee $4 - (i32.load $mimport$0 offset=1868 + (i32.load offset=1868 (i32.const 0) ) ) @@ -8470,7 +8470,7 @@ ) ) ) - (i32.store $mimport$0 offset=1868 + (i32.store offset=1868 (i32.const 0) (i32.or (local.get $4) @@ -8483,24 +8483,24 @@ (br $label$120) ) (local.set $1 - (i32.load $mimport$0 offset=8 + (i32.load offset=8 (local.get $0) ) ) ) - (i32.store $mimport$0 offset=8 + (i32.store offset=8 (local.get $0) (local.get $11) ) - (i32.store $mimport$0 offset=12 + (i32.store offset=12 (local.get $1) (local.get $11) ) - (i32.store $mimport$0 offset=12 + (i32.store offset=12 (local.get $11) (local.get $0) ) - (i32.store $mimport$0 offset=8 + (i32.store offset=8 (local.get $11) (local.get $1) ) @@ -8603,11 +8603,11 @@ ) ) ) - (i32.store $mimport$0 offset=28 + (i32.store offset=28 (local.get $11) (local.get $0) ) - (i64.store $mimport$0 offset=16 align=4 + (i64.store offset=16 align=4 (local.get $11) (i64.const 0) ) @@ -8634,18 +8634,18 @@ ) ) ) - (i32.store $mimport$0 offset=1872 + (i32.store offset=1872 (i32.const 0) (i32.or (local.get $6) (local.get $3) ) ) - (i32.store $mimport$0 + (i32.store (local.get $4) (local.get $11) ) - (i32.store $mimport$0 offset=24 + (i32.store offset=24 (local.get $11) (local.get $4) ) @@ -8671,7 +8671,7 @@ ) ) (local.set $3 - (i32.load $mimport$0 + (i32.load (local.get $4) ) ) @@ -8679,7 +8679,7 @@ (br_if $label$123 (i32.eq (i32.and - (i32.load $mimport$0 offset=4 + (i32.load offset=4 (local.tee $4 (local.get $3) ) @@ -8703,7 +8703,7 @@ ) (br_if $label$126 (local.tee $3 - (i32.load $mimport$0 + (i32.load (local.tee $5 (i32.add (i32.add @@ -8720,46 +8720,46 @@ ) ) ) - (i32.store $mimport$0 + (i32.store (local.get $5) (local.get $11) ) - (i32.store $mimport$0 offset=24 + (i32.store offset=24 (local.get $11) (local.get $4) ) ) - (i32.store $mimport$0 offset=12 + (i32.store offset=12 (local.get $11) (local.get $11) ) - (i32.store $mimport$0 offset=8 + (i32.store offset=8 (local.get $11) (local.get $11) ) (br $label$117) ) - (i32.store $mimport$0 offset=12 + (i32.store offset=12 (local.tee $0 - (i32.load $mimport$0 offset=8 + (i32.load offset=8 (local.get $4) ) ) (local.get $11) ) - (i32.store $mimport$0 offset=8 + (i32.store offset=8 (local.get $4) (local.get $11) ) - (i32.store $mimport$0 offset=24 + (i32.store offset=24 (local.get $11) (i32.const 0) ) - (i32.store $mimport$0 offset=12 + (i32.store offset=12 (local.get $11) (local.get $4) ) - (i32.store $mimport$0 offset=8 + (i32.store offset=8 (local.get $11) (local.get $0) ) @@ -8783,12 +8783,12 @@ (br_if $label$129 (i32.ne (local.get $5) - (i32.load $mimport$0 + (i32.load (local.tee $0 (i32.add (i32.shl (local.tee $4 - (i32.load $mimport$0 offset=28 + (i32.load offset=28 (local.get $5) ) ) @@ -8800,14 +8800,14 @@ ) ) ) - (i32.store $mimport$0 + (i32.store (local.get $0) (local.get $7) ) (br_if $label$128 (local.get $7) ) - (i32.store $mimport$0 offset=1872 + (i32.store offset=1872 (i32.const 0) (i32.and (local.get $8) @@ -8819,14 +8819,14 @@ ) (br $label$127) ) - (i32.store $mimport$0 + (i32.store (i32.add (local.get $10) (select (i32.const 16) (i32.const 20) (i32.eq - (i32.load $mimport$0 offset=16 + (i32.load offset=16 (local.get $10) ) (local.get $5) @@ -8841,7 +8841,7 @@ ) ) ) - (i32.store $mimport$0 offset=24 + (i32.store offset=24 (local.get $7) (local.get $10) ) @@ -8849,17 +8849,17 @@ (br_if $label$130 (i32.eqz (local.tee $0 - (i32.load $mimport$0 offset=16 + (i32.load offset=16 (local.get $5) ) ) ) ) - (i32.store $mimport$0 offset=16 + (i32.store offset=16 (local.get $7) (local.get $0) ) - (i32.store $mimport$0 offset=24 + (i32.store offset=24 (local.get $0) (local.get $7) ) @@ -8867,7 +8867,7 @@ (br_if $label$127 (i32.eqz (local.tee $0 - (i32.load $mimport$0 + (i32.load (i32.add (local.get $5) (i32.const 20) @@ -8876,14 +8876,14 @@ ) ) ) - (i32.store $mimport$0 + (i32.store (i32.add (local.get $7) (i32.const 20) ) (local.get $0) ) - (i32.store $mimport$0 offset=24 + (i32.store offset=24 (local.get $0) (local.get $7) ) @@ -8896,7 +8896,7 @@ (i32.const 15) ) ) - (i32.store $mimport$0 offset=4 + (i32.store offset=4 (local.get $5) (i32.or (local.tee $0 @@ -8908,7 +8908,7 @@ (i32.const 3) ) ) - (i32.store $mimport$0 offset=4 + (i32.store offset=4 (local.tee $0 (i32.add (local.get $5) @@ -8916,7 +8916,7 @@ ) ) (i32.or - (i32.load $mimport$0 offset=4 + (i32.load offset=4 (local.get $0) ) (i32.const 1) @@ -8924,21 +8924,21 @@ ) (br $label$131) ) - (i32.store $mimport$0 offset=4 + (i32.store offset=4 (local.get $5) (i32.or (local.get $3) (i32.const 3) ) ) - (i32.store $mimport$0 offset=4 + (i32.store offset=4 (local.get $9) (i32.or (local.get $1) (i32.const 1) ) ) - (i32.store $mimport$0 + (i32.store (i32.add (local.get $9) (local.get $1) @@ -8966,7 +8966,7 @@ ) ) (local.set $0 - (i32.load $mimport$0 offset=1888 + (i32.load offset=1888 (i32.const 0) ) ) @@ -8983,7 +8983,7 @@ (local.get $2) ) ) - (i32.store $mimport$0 offset=1868 + (i32.store offset=1868 (i32.const 0) (i32.or (local.get $3) @@ -8996,33 +8996,33 @@ (br $label$134) ) (local.set $3 - (i32.load $mimport$0 offset=8 + (i32.load offset=8 (local.get $4) ) ) ) - (i32.store $mimport$0 offset=8 + (i32.store offset=8 (local.get $4) (local.get $0) ) - (i32.store $mimport$0 offset=12 + (i32.store offset=12 (local.get $3) (local.get $0) ) - (i32.store $mimport$0 offset=12 + (i32.store offset=12 (local.get $0) (local.get $4) ) - (i32.store $mimport$0 offset=8 + (i32.store offset=8 (local.get $0) (local.get $3) ) ) - (i32.store $mimport$0 offset=1888 + (i32.store offset=1888 (i32.const 0) (local.get $9) ) - (i32.store $mimport$0 offset=1876 + (i32.store offset=1876 (i32.const 0) (local.get $1) ) @@ -9037,7 +9037,7 @@ (br_if $label$2 (i32.eqz (i32.and - (i32.load8_u $mimport$0 offset=2312 + (i32.load8_u offset=2312 (i32.const 0) ) (i32.const 2) @@ -9069,23 +9069,23 @@ ) (block $label$1 (br_if $label$1 - (i32.load $mimport$0 offset=1844 + (i32.load offset=1844 (i32.const 0) ) ) - (i32.store $mimport$0 offset=1864 + (i32.store offset=1864 (i32.const 0) (i32.const 2) ) - (i64.store $mimport$0 offset=1856 align=4 + (i64.store offset=1856 align=4 (i32.const 0) (i64.const -1) ) - (i64.store $mimport$0 offset=1848 align=4 + (i64.store offset=1848 align=4 (i32.const 0) (i64.const 17592186048512) ) - (i32.store $mimport$0 offset=2312 + (i32.store offset=2312 (i32.const 0) (i32.const 2) ) @@ -9116,7 +9116,7 @@ ) ) ) - (i32.store $mimport$0 offset=1844 + (i32.store offset=1844 (i32.const 0) (i32.xor (i32.and @@ -9160,7 +9160,7 @@ (br_if $label$2 (i32.eqz (i32.and - (i32.load8_u $mimport$0 offset=2312 + (i32.load8_u offset=2312 (i32.const 0) ) (i32.const 2) @@ -9184,7 +9184,7 @@ (local.tee $0 (i32.and (local.tee $2 - (i32.load $mimport$0 + (i32.load (i32.add (local.get $0) (i32.const -4) @@ -9218,14 +9218,14 @@ (i32.sub (local.get $1) (local.tee $2 - (i32.load $mimport$0 + (i32.load (local.get $1) ) ) ) ) (local.tee $4 - (i32.load $mimport$0 offset=1884 + (i32.load offset=1884 (i32.const 0) ) ) @@ -9240,7 +9240,7 @@ (block $label$5 (br_if $label$5 (i32.eq - (i32.load $mimport$0 offset=1888 + (i32.load offset=1888 (i32.const 0) ) (local.get $1) @@ -9256,7 +9256,7 @@ (drop (i32.eq (local.tee $4 - (i32.load $mimport$0 offset=8 + (i32.load offset=8 (local.get $1) ) ) @@ -9280,17 +9280,17 @@ (br_if $label$7 (i32.ne (local.tee $2 - (i32.load $mimport$0 offset=12 + (i32.load offset=12 (local.get $1) ) ) (local.get $4) ) ) - (i32.store $mimport$0 offset=1868 + (i32.store offset=1868 (i32.const 0) (i32.and - (i32.load $mimport$0 offset=1868 + (i32.load offset=1868 (i32.const 0) ) (i32.rotl @@ -9307,18 +9307,18 @@ (local.get $6) ) ) - (i32.store $mimport$0 offset=12 + (i32.store offset=12 (local.get $4) (local.get $2) ) - (i32.store $mimport$0 offset=8 + (i32.store offset=8 (local.get $2) (local.get $4) ) (br $label$4) ) (local.set $7 - (i32.load $mimport$0 offset=24 + (i32.load offset=24 (local.get $1) ) ) @@ -9327,7 +9327,7 @@ (br_if $label$9 (i32.eq (local.tee $6 - (i32.load $mimport$0 offset=12 + (i32.load offset=12 (local.get $1) ) ) @@ -9338,17 +9338,17 @@ (i32.gt_u (local.get $4) (local.tee $2 - (i32.load $mimport$0 offset=8 + (i32.load offset=8 (local.get $1) ) ) ) ) - (i32.store $mimport$0 offset=12 + (i32.store offset=12 (local.get $2) (local.get $6) ) - (i32.store $mimport$0 offset=8 + (i32.store offset=8 (local.get $6) (local.get $2) ) @@ -9357,7 +9357,7 @@ (block $label$10 (br_if $label$10 (local.tee $4 - (i32.load $mimport$0 + (i32.load (local.tee $2 (i32.add (local.get $1) @@ -9369,7 +9369,7 @@ ) (br_if $label$10 (local.tee $4 - (i32.load $mimport$0 + (i32.load (local.tee $2 (i32.add (local.get $1) @@ -9390,7 +9390,7 @@ ) (br_if $label$11 (local.tee $4 - (i32.load $mimport$0 + (i32.load (local.tee $2 (i32.add (local.tee $6 @@ -9410,13 +9410,13 @@ ) (br_if $label$11 (local.tee $4 - (i32.load $mimport$0 offset=16 + (i32.load offset=16 (local.get $6) ) ) ) ) - (i32.store $mimport$0 + (i32.store (local.get $5) (i32.const 0) ) @@ -9430,12 +9430,12 @@ (block $label$13 (br_if $label$13 (i32.ne - (i32.load $mimport$0 + (i32.load (local.tee $2 (i32.add (i32.shl (local.tee $4 - (i32.load $mimport$0 offset=28 + (i32.load offset=28 (local.get $1) ) ) @@ -9448,17 +9448,17 @@ (local.get $1) ) ) - (i32.store $mimport$0 + (i32.store (local.get $2) (local.get $6) ) (br_if $label$12 (local.get $6) ) - (i32.store $mimport$0 offset=1872 + (i32.store offset=1872 (i32.const 0) (i32.and - (i32.load $mimport$0 offset=1872 + (i32.load offset=1872 (i32.const 0) ) (i32.rotl @@ -9469,14 +9469,14 @@ ) (br $label$4) ) - (i32.store $mimport$0 + (i32.store (i32.add (local.get $7) (select (i32.const 16) (i32.const 20) (i32.eq - (i32.load $mimport$0 offset=16 + (i32.load offset=16 (local.get $7) ) (local.get $1) @@ -9491,7 +9491,7 @@ ) ) ) - (i32.store $mimport$0 offset=24 + (i32.store offset=24 (local.get $6) (local.get $7) ) @@ -9499,17 +9499,17 @@ (br_if $label$14 (i32.eqz (local.tee $2 - (i32.load $mimport$0 offset=16 + (i32.load offset=16 (local.get $1) ) ) ) ) - (i32.store $mimport$0 offset=16 + (i32.store offset=16 (local.get $6) (local.get $2) ) - (i32.store $mimport$0 offset=24 + (i32.store offset=24 (local.get $2) (local.get $6) ) @@ -9517,20 +9517,20 @@ (br_if $label$4 (i32.eqz (local.tee $2 - (i32.load $mimport$0 offset=20 + (i32.load offset=20 (local.get $1) ) ) ) ) - (i32.store $mimport$0 + (i32.store (i32.add (local.get $6) (i32.const 20) ) (local.get $2) ) - (i32.store $mimport$0 offset=24 + (i32.store offset=24 (local.get $2) (local.get $6) ) @@ -9540,7 +9540,7 @@ (i32.ne (i32.and (local.tee $2 - (i32.load $mimport$0 offset=4 + (i32.load offset=4 (local.get $3) ) ) @@ -9549,25 +9549,25 @@ (i32.const 3) ) ) - (i32.store $mimport$0 offset=1876 + (i32.store offset=1876 (i32.const 0) (local.get $0) ) - (i32.store $mimport$0 offset=4 + (i32.store offset=4 (local.get $3) (i32.and (local.get $2) (i32.const -2) ) ) - (i32.store $mimport$0 offset=4 + (i32.store offset=4 (local.get $1) (i32.or (local.get $0) (i32.const 1) ) ) - (i32.store $mimport$0 + (i32.store (i32.add (local.get $1) (local.get $0) @@ -9586,7 +9586,7 @@ (i32.eqz (i32.and (local.tee $2 - (i32.load $mimport$0 offset=4 + (i32.load offset=4 (local.get $3) ) ) @@ -9605,28 +9605,28 @@ (block $label$17 (br_if $label$17 (i32.ne - (i32.load $mimport$0 offset=1892 + (i32.load offset=1892 (i32.const 0) ) (local.get $3) ) ) - (i32.store $mimport$0 offset=1892 + (i32.store offset=1892 (i32.const 0) (local.get $1) ) - (i32.store $mimport$0 offset=1880 + (i32.store offset=1880 (i32.const 0) (local.tee $0 (i32.add - (i32.load $mimport$0 offset=1880 + (i32.load offset=1880 (i32.const 0) ) (local.get $0) ) ) ) - (i32.store $mimport$0 offset=4 + (i32.store offset=4 (local.get $1) (i32.or (local.get $0) @@ -9636,16 +9636,16 @@ (br_if $label$3 (i32.ne (local.get $1) - (i32.load $mimport$0 offset=1888 + (i32.load offset=1888 (i32.const 0) ) ) ) - (i32.store $mimport$0 offset=1876 + (i32.store offset=1876 (i32.const 0) (i32.const 0) ) - (i32.store $mimport$0 offset=1888 + (i32.store offset=1888 (i32.const 0) (i32.const 0) ) @@ -9654,35 +9654,35 @@ (block $label$18 (br_if $label$18 (i32.ne - (i32.load $mimport$0 offset=1888 + (i32.load offset=1888 (i32.const 0) ) (local.get $3) ) ) - (i32.store $mimport$0 offset=1888 + (i32.store offset=1888 (i32.const 0) (local.get $1) ) - (i32.store $mimport$0 offset=1876 + (i32.store offset=1876 (i32.const 0) (local.tee $0 (i32.add - (i32.load $mimport$0 offset=1876 + (i32.load offset=1876 (i32.const 0) ) (local.get $0) ) ) ) - (i32.store $mimport$0 offset=4 + (i32.store offset=4 (local.get $1) (i32.or (local.get $0) (i32.const 1) ) ) - (i32.store $mimport$0 + (i32.store (i32.add (local.get $1) (local.get $0) @@ -9711,7 +9711,7 @@ (drop (i32.eq (local.tee $4 - (i32.load $mimport$0 offset=8 + (i32.load offset=8 (local.get $3) ) ) @@ -9735,17 +9735,17 @@ (br_if $label$21 (i32.ne (local.tee $2 - (i32.load $mimport$0 offset=12 + (i32.load offset=12 (local.get $3) ) ) (local.get $4) ) ) - (i32.store $mimport$0 offset=1868 + (i32.store offset=1868 (i32.const 0) (i32.and - (i32.load $mimport$0 offset=1868 + (i32.load offset=1868 (i32.const 0) ) (i32.rotl @@ -9762,18 +9762,18 @@ (local.get $6) ) ) - (i32.store $mimport$0 offset=12 + (i32.store offset=12 (local.get $4) (local.get $2) ) - (i32.store $mimport$0 offset=8 + (i32.store offset=8 (local.get $2) (local.get $4) ) (br $label$19) ) (local.set $7 - (i32.load $mimport$0 offset=24 + (i32.load offset=24 (local.get $3) ) ) @@ -9782,7 +9782,7 @@ (br_if $label$23 (i32.eq (local.tee $6 - (i32.load $mimport$0 offset=12 + (i32.load offset=12 (local.get $3) ) ) @@ -9791,21 +9791,21 @@ ) (drop (i32.gt_u - (i32.load $mimport$0 offset=1884 + (i32.load offset=1884 (i32.const 0) ) (local.tee $2 - (i32.load $mimport$0 offset=8 + (i32.load offset=8 (local.get $3) ) ) ) ) - (i32.store $mimport$0 offset=12 + (i32.store offset=12 (local.get $2) (local.get $6) ) - (i32.store $mimport$0 offset=8 + (i32.store offset=8 (local.get $6) (local.get $2) ) @@ -9814,7 +9814,7 @@ (block $label$24 (br_if $label$24 (local.tee $2 - (i32.load $mimport$0 + (i32.load (local.tee $4 (i32.add (local.get $3) @@ -9826,7 +9826,7 @@ ) (br_if $label$24 (local.tee $2 - (i32.load $mimport$0 + (i32.load (local.tee $4 (i32.add (local.get $3) @@ -9847,7 +9847,7 @@ ) (br_if $label$25 (local.tee $2 - (i32.load $mimport$0 + (i32.load (local.tee $4 (i32.add (local.tee $6 @@ -9867,13 +9867,13 @@ ) (br_if $label$25 (local.tee $2 - (i32.load $mimport$0 offset=16 + (i32.load offset=16 (local.get $6) ) ) ) ) - (i32.store $mimport$0 + (i32.store (local.get $5) (i32.const 0) ) @@ -9887,12 +9887,12 @@ (block $label$27 (br_if $label$27 (i32.ne - (i32.load $mimport$0 + (i32.load (local.tee $2 (i32.add (i32.shl (local.tee $4 - (i32.load $mimport$0 offset=28 + (i32.load offset=28 (local.get $3) ) ) @@ -9905,17 +9905,17 @@ (local.get $3) ) ) - (i32.store $mimport$0 + (i32.store (local.get $2) (local.get $6) ) (br_if $label$26 (local.get $6) ) - (i32.store $mimport$0 offset=1872 + (i32.store offset=1872 (i32.const 0) (i32.and - (i32.load $mimport$0 offset=1872 + (i32.load offset=1872 (i32.const 0) ) (i32.rotl @@ -9926,14 +9926,14 @@ ) (br $label$19) ) - (i32.store $mimport$0 + (i32.store (i32.add (local.get $7) (select (i32.const 16) (i32.const 20) (i32.eq - (i32.load $mimport$0 offset=16 + (i32.load offset=16 (local.get $7) ) (local.get $3) @@ -9948,7 +9948,7 @@ ) ) ) - (i32.store $mimport$0 offset=24 + (i32.store offset=24 (local.get $6) (local.get $7) ) @@ -9956,17 +9956,17 @@ (br_if $label$28 (i32.eqz (local.tee $2 - (i32.load $mimport$0 offset=16 + (i32.load offset=16 (local.get $3) ) ) ) ) - (i32.store $mimport$0 offset=16 + (i32.store offset=16 (local.get $6) (local.get $2) ) - (i32.store $mimport$0 offset=24 + (i32.store offset=24 (local.get $2) (local.get $6) ) @@ -9974,32 +9974,32 @@ (br_if $label$19 (i32.eqz (local.tee $2 - (i32.load $mimport$0 offset=20 + (i32.load offset=20 (local.get $3) ) ) ) ) - (i32.store $mimport$0 + (i32.store (i32.add (local.get $6) (i32.const 20) ) (local.get $2) ) - (i32.store $mimport$0 offset=24 + (i32.store offset=24 (local.get $2) (local.get $6) ) ) - (i32.store $mimport$0 offset=4 + (i32.store offset=4 (local.get $1) (i32.or (local.get $0) (i32.const 1) ) ) - (i32.store $mimport$0 + (i32.store (i32.add (local.get $1) (local.get $0) @@ -10009,32 +10009,32 @@ (br_if $label$15 (i32.ne (local.get $1) - (i32.load $mimport$0 offset=1888 + (i32.load offset=1888 (i32.const 0) ) ) ) - (i32.store $mimport$0 offset=1876 + (i32.store offset=1876 (i32.const 0) (local.get $0) ) (br $label$3) ) - (i32.store $mimport$0 offset=4 + (i32.store offset=4 (local.get $3) (i32.and (local.get $2) (i32.const -2) ) ) - (i32.store $mimport$0 offset=4 + (i32.store offset=4 (local.get $1) (i32.or (local.get $0) (i32.const 1) ) ) - (i32.store $mimport$0 + (i32.store (i32.add (local.get $1) (local.get $0) @@ -10068,7 +10068,7 @@ (br_if $label$31 (i32.and (local.tee $4 - (i32.load $mimport$0 offset=1868 + (i32.load offset=1868 (i32.const 0) ) ) @@ -10080,7 +10080,7 @@ ) ) ) - (i32.store $mimport$0 offset=1868 + (i32.store offset=1868 (i32.const 0) (i32.or (local.get $4) @@ -10093,24 +10093,24 @@ (br $label$30) ) (local.set $2 - (i32.load $mimport$0 offset=8 + (i32.load offset=8 (local.get $0) ) ) ) - (i32.store $mimport$0 offset=8 + (i32.store offset=8 (local.get $0) (local.get $1) ) - (i32.store $mimport$0 offset=12 + (i32.store offset=12 (local.get $2) (local.get $1) ) - (i32.store $mimport$0 offset=12 + (i32.store offset=12 (local.get $1) (local.get $0) ) - (i32.store $mimport$0 offset=8 + (i32.store offset=8 (local.get $1) (local.get $2) ) @@ -10213,11 +10213,11 @@ ) ) ) - (i64.store $mimport$0 offset=16 align=4 + (i64.store offset=16 align=4 (local.get $1) (i64.const 0) ) - (i32.store $mimport$0 + (i32.store (i32.add (local.get $1) (i32.const 28) @@ -10240,7 +10240,7 @@ (br_if $label$36 (i32.and (local.tee $6 - (i32.load $mimport$0 offset=1872 + (i32.load offset=1872 (i32.const 0) ) ) @@ -10252,18 +10252,18 @@ ) ) ) - (i32.store $mimport$0 offset=1872 + (i32.store offset=1872 (i32.const 0) (i32.or (local.get $6) (local.get $3) ) ) - (i32.store $mimport$0 + (i32.store (local.get $4) (local.get $1) ) - (i32.store $mimport$0 + (i32.store (i32.add (local.get $1) (i32.const 24) @@ -10292,7 +10292,7 @@ ) ) (local.set $6 - (i32.load $mimport$0 + (i32.load (local.get $4) ) ) @@ -10300,7 +10300,7 @@ (br_if $label$34 (i32.eq (i32.and - (i32.load $mimport$0 offset=4 + (i32.load offset=4 (local.tee $4 (local.get $6) ) @@ -10324,7 +10324,7 @@ ) (br_if $label$37 (local.tee $6 - (i32.load $mimport$0 + (i32.load (local.tee $3 (i32.add (i32.add @@ -10341,11 +10341,11 @@ ) ) ) - (i32.store $mimport$0 + (i32.store (local.get $3) (local.get $1) ) - (i32.store $mimport$0 + (i32.store (i32.add (local.get $1) (i32.const 24) @@ -10353,50 +10353,50 @@ (local.get $4) ) ) - (i32.store $mimport$0 offset=12 + (i32.store offset=12 (local.get $1) (local.get $1) ) - (i32.store $mimport$0 offset=8 + (i32.store offset=8 (local.get $1) (local.get $1) ) (br $label$33) ) - (i32.store $mimport$0 offset=12 + (i32.store offset=12 (local.tee $0 - (i32.load $mimport$0 offset=8 + (i32.load offset=8 (local.get $4) ) ) (local.get $1) ) - (i32.store $mimport$0 offset=8 + (i32.store offset=8 (local.get $4) (local.get $1) ) - (i32.store $mimport$0 + (i32.store (i32.add (local.get $1) (i32.const 24) ) (i32.const 0) ) - (i32.store $mimport$0 offset=12 + (i32.store offset=12 (local.get $1) (local.get $4) ) - (i32.store $mimport$0 offset=8 + (i32.store offset=8 (local.get $1) (local.get $0) ) ) - (i32.store $mimport$0 offset=1900 + (i32.store offset=1900 (i32.const 0) (select (local.tee $1 (i32.add - (i32.load $mimport$0 offset=1900 + (i32.load offset=1900 (i32.const 0) ) (i32.const -1) @@ -10410,7 +10410,7 @@ (br_if $label$1 (i32.eqz (i32.and - (i32.load8_u $mimport$0 offset=2312 + (i32.load8_u offset=2312 (i32.const 0) ) (i32.const 2) @@ -10504,7 +10504,7 @@ (local.get $1) ) ) - (i32.store $mimport$0 + (i32.store (call $25) (i32.const 48) ) @@ -10553,7 +10553,7 @@ (br_if $label$7 (i32.eqz (i32.and - (i32.load8_u $mimport$0 offset=2312 + (i32.load8_u offset=2312 (i32.const 0) ) (i32.const 2) @@ -10588,7 +10588,7 @@ (i32.sub (i32.and (local.tee $5 - (i32.load $mimport$0 + (i32.load (local.tee $4 (i32.add (local.get $3) @@ -10648,15 +10648,15 @@ ) ) (local.set $2 - (i32.load $mimport$0 + (i32.load (local.get $2) ) ) - (i32.store $mimport$0 offset=4 + (i32.store offset=4 (local.get $0) (local.get $6) ) - (i32.store $mimport$0 + (i32.store (local.get $0) (i32.add (local.get $2) @@ -10665,13 +10665,13 @@ ) (br $label$9) ) - (i32.store $mimport$0 offset=4 + (i32.store offset=4 (local.get $0) (i32.or (i32.or (local.get $6) (i32.and - (i32.load $mimport$0 offset=4 + (i32.load offset=4 (local.get $0) ) (i32.const 1) @@ -10680,7 +10680,7 @@ (i32.const 2) ) ) - (i32.store $mimport$0 offset=4 + (i32.store offset=4 (local.tee $6 (i32.add (local.get $0) @@ -10688,19 +10688,19 @@ ) ) (i32.or - (i32.load $mimport$0 offset=4 + (i32.load offset=4 (local.get $6) ) (i32.const 1) ) ) - (i32.store $mimport$0 + (i32.store (local.get $4) (i32.or (i32.or (local.get $3) (i32.and - (i32.load $mimport$0 + (i32.load (local.get $4) ) (i32.const 1) @@ -10709,7 +10709,7 @@ (i32.const 2) ) ) - (i32.store $mimport$0 offset=4 + (i32.store offset=4 (local.tee $6 (i32.add (local.get $2) @@ -10717,7 +10717,7 @@ ) ) (i32.or - (i32.load $mimport$0 offset=4 + (i32.load offset=4 (local.get $6) ) (i32.const 1) @@ -10737,7 +10737,7 @@ (i32.eqz (i32.and (local.tee $0 - (i32.load $mimport$0 offset=4 + (i32.load offset=4 (local.get $2) ) ) @@ -10759,7 +10759,7 @@ ) ) ) - (i32.store $mimport$0 offset=4 + (i32.store offset=4 (local.get $2) (i32.or (i32.or @@ -10772,7 +10772,7 @@ (i32.const 2) ) ) - (i32.store $mimport$0 offset=4 + (i32.store offset=4 (local.tee $0 (i32.add (local.get $2) @@ -10789,7 +10789,7 @@ (i32.const 3) ) ) - (i32.store $mimport$0 offset=4 + (i32.store offset=4 (local.tee $3 (i32.add (local.get $2) @@ -10797,7 +10797,7 @@ ) ) (i32.or - (i32.load $mimport$0 offset=4 + (i32.load offset=4 (local.get $3) ) (i32.const 1) @@ -10817,7 +10817,7 @@ (br_if $label$6 (i32.eqz (i32.and - (i32.load8_u $mimport$0 offset=2312 + (i32.load8_u offset=2312 (i32.const 0) ) (i32.const 2) @@ -10850,7 +10850,7 @@ (br_if $label$2 (i32.and (local.tee $3 - (i32.load $mimport$0 offset=4 + (i32.load offset=4 (local.get $0) ) ) @@ -10868,7 +10868,7 @@ (local.set $1 (i32.add (local.tee $3 - (i32.load $mimport$0 + (i32.load (local.get $0) ) ) @@ -10879,7 +10879,7 @@ (block $label$4 (br_if $label$4 (i32.eq - (i32.load $mimport$0 offset=1888 + (i32.load offset=1888 (i32.const 0) ) (local.tee $0 @@ -10900,7 +10900,7 @@ (drop (i32.eq (local.tee $4 - (i32.load $mimport$0 offset=8 + (i32.load offset=8 (local.get $0) ) ) @@ -10923,17 +10923,17 @@ (br_if $label$3 (i32.ne (local.tee $3 - (i32.load $mimport$0 offset=12 + (i32.load offset=12 (local.get $0) ) ) (local.get $4) ) ) - (i32.store $mimport$0 offset=1868 + (i32.store offset=1868 (i32.const 0) (i32.and - (i32.load $mimport$0 offset=1868 + (i32.load offset=1868 (i32.const 0) ) (i32.rotl @@ -10945,7 +10945,7 @@ (br $label$2) ) (local.set $7 - (i32.load $mimport$0 offset=24 + (i32.load offset=24 (local.get $0) ) ) @@ -10954,7 +10954,7 @@ (br_if $label$7 (i32.eq (local.tee $6 - (i32.load $mimport$0 offset=12 + (i32.load offset=12 (local.get $0) ) ) @@ -10963,21 +10963,21 @@ ) (drop (i32.gt_u - (i32.load $mimport$0 offset=1884 + (i32.load offset=1884 (i32.const 0) ) (local.tee $3 - (i32.load $mimport$0 offset=8 + (i32.load offset=8 (local.get $0) ) ) ) ) - (i32.store $mimport$0 offset=12 + (i32.store offset=12 (local.get $3) (local.get $6) ) - (i32.store $mimport$0 offset=8 + (i32.store offset=8 (local.get $6) (local.get $3) ) @@ -10986,7 +10986,7 @@ (block $label$8 (br_if $label$8 (local.tee $4 - (i32.load $mimport$0 + (i32.load (local.tee $3 (i32.add (local.get $0) @@ -10998,7 +10998,7 @@ ) (br_if $label$8 (local.tee $4 - (i32.load $mimport$0 + (i32.load (local.tee $3 (i32.add (local.get $0) @@ -11019,7 +11019,7 @@ ) (br_if $label$9 (local.tee $4 - (i32.load $mimport$0 + (i32.load (local.tee $3 (i32.add (local.tee $6 @@ -11039,13 +11039,13 @@ ) (br_if $label$9 (local.tee $4 - (i32.load $mimport$0 offset=16 + (i32.load offset=16 (local.get $6) ) ) ) ) - (i32.store $mimport$0 + (i32.store (local.get $5) (i32.const 0) ) @@ -11059,12 +11059,12 @@ (block $label$11 (br_if $label$11 (i32.ne - (i32.load $mimport$0 + (i32.load (local.tee $3 (i32.add (i32.shl (local.tee $4 - (i32.load $mimport$0 offset=28 + (i32.load offset=28 (local.get $0) ) ) @@ -11077,17 +11077,17 @@ (local.get $0) ) ) - (i32.store $mimport$0 + (i32.store (local.get $3) (local.get $6) ) (br_if $label$10 (local.get $6) ) - (i32.store $mimport$0 offset=1872 + (i32.store offset=1872 (i32.const 0) (i32.and - (i32.load $mimport$0 offset=1872 + (i32.load offset=1872 (i32.const 0) ) (i32.rotl @@ -11098,14 +11098,14 @@ ) (br $label$2) ) - (i32.store $mimport$0 + (i32.store (i32.add (local.get $7) (select (i32.const 16) (i32.const 20) (i32.eq - (i32.load $mimport$0 offset=16 + (i32.load offset=16 (local.get $7) ) (local.get $0) @@ -11120,7 +11120,7 @@ ) ) ) - (i32.store $mimport$0 offset=24 + (i32.store offset=24 (local.get $6) (local.get $7) ) @@ -11128,17 +11128,17 @@ (br_if $label$12 (i32.eqz (local.tee $3 - (i32.load $mimport$0 offset=16 + (i32.load offset=16 (local.get $0) ) ) ) ) - (i32.store $mimport$0 offset=16 + (i32.store offset=16 (local.get $6) (local.get $3) ) - (i32.store $mimport$0 offset=24 + (i32.store offset=24 (local.get $3) (local.get $6) ) @@ -11146,20 +11146,20 @@ (br_if $label$2 (i32.eqz (local.tee $3 - (i32.load $mimport$0 offset=20 + (i32.load offset=20 (local.get $0) ) ) ) ) - (i32.store $mimport$0 + (i32.store (i32.add (local.get $6) (i32.const 20) ) (local.get $3) ) - (i32.store $mimport$0 offset=24 + (i32.store offset=24 (local.get $3) (local.get $6) ) @@ -11169,7 +11169,7 @@ (i32.ne (i32.and (local.tee $3 - (i32.load $mimport$0 offset=4 + (i32.load offset=4 (local.get $2) ) ) @@ -11178,25 +11178,25 @@ (i32.const 3) ) ) - (i32.store $mimport$0 offset=1876 + (i32.store offset=1876 (i32.const 0) (local.get $1) ) - (i32.store $mimport$0 offset=4 + (i32.store offset=4 (local.get $2) (i32.and (local.get $3) (i32.const -2) ) ) - (i32.store $mimport$0 offset=4 + (i32.store offset=4 (local.get $0) (i32.or (local.get $1) (i32.const 1) ) ) - (i32.store $mimport$0 + (i32.store (local.get $2) (local.get $1) ) @@ -11208,11 +11208,11 @@ (local.get $6) ) ) - (i32.store $mimport$0 offset=12 + (i32.store offset=12 (local.get $4) (local.get $3) ) - (i32.store $mimport$0 offset=8 + (i32.store offset=8 (local.get $3) (local.get $4) ) @@ -11222,7 +11222,7 @@ (br_if $label$14 (i32.and (local.tee $3 - (i32.load $mimport$0 offset=4 + (i32.load offset=4 (local.get $2) ) ) @@ -11232,28 +11232,28 @@ (block $label$15 (br_if $label$15 (i32.ne - (i32.load $mimport$0 offset=1892 + (i32.load offset=1892 (i32.const 0) ) (local.get $2) ) ) - (i32.store $mimport$0 offset=1892 + (i32.store offset=1892 (i32.const 0) (local.get $0) ) - (i32.store $mimport$0 offset=1880 + (i32.store offset=1880 (i32.const 0) (local.tee $1 (i32.add - (i32.load $mimport$0 offset=1880 + (i32.load offset=1880 (i32.const 0) ) (local.get $1) ) ) ) - (i32.store $mimport$0 offset=4 + (i32.store offset=4 (local.get $0) (i32.or (local.get $1) @@ -11263,16 +11263,16 @@ (br_if $label$1 (i32.ne (local.get $0) - (i32.load $mimport$0 offset=1888 + (i32.load offset=1888 (i32.const 0) ) ) ) - (i32.store $mimport$0 offset=1876 + (i32.store offset=1876 (i32.const 0) (i32.const 0) ) - (i32.store $mimport$0 offset=1888 + (i32.store offset=1888 (i32.const 0) (i32.const 0) ) @@ -11281,35 +11281,35 @@ (block $label$16 (br_if $label$16 (i32.ne - (i32.load $mimport$0 offset=1888 + (i32.load offset=1888 (i32.const 0) ) (local.get $2) ) ) - (i32.store $mimport$0 offset=1888 + (i32.store offset=1888 (i32.const 0) (local.get $0) ) - (i32.store $mimport$0 offset=1876 + (i32.store offset=1876 (i32.const 0) (local.tee $1 (i32.add - (i32.load $mimport$0 offset=1876 + (i32.load offset=1876 (i32.const 0) ) (local.get $1) ) ) ) - (i32.store $mimport$0 offset=4 + (i32.store offset=4 (local.get $0) (i32.or (local.get $1) (i32.const 1) ) ) - (i32.store $mimport$0 + (i32.store (i32.add (local.get $0) (local.get $1) @@ -11338,7 +11338,7 @@ (drop (i32.eq (local.tee $4 - (i32.load $mimport$0 offset=8 + (i32.load offset=8 (local.get $2) ) ) @@ -11362,17 +11362,17 @@ (br_if $label$19 (i32.ne (local.tee $3 - (i32.load $mimport$0 offset=12 + (i32.load offset=12 (local.get $2) ) ) (local.get $4) ) ) - (i32.store $mimport$0 offset=1868 + (i32.store offset=1868 (i32.const 0) (i32.and - (i32.load $mimport$0 offset=1868 + (i32.load offset=1868 (i32.const 0) ) (i32.rotl @@ -11389,18 +11389,18 @@ (local.get $6) ) ) - (i32.store $mimport$0 offset=12 + (i32.store offset=12 (local.get $4) (local.get $3) ) - (i32.store $mimport$0 offset=8 + (i32.store offset=8 (local.get $3) (local.get $4) ) (br $label$17) ) (local.set $7 - (i32.load $mimport$0 offset=24 + (i32.load offset=24 (local.get $2) ) ) @@ -11409,7 +11409,7 @@ (br_if $label$21 (i32.eq (local.tee $6 - (i32.load $mimport$0 offset=12 + (i32.load offset=12 (local.get $2) ) ) @@ -11418,21 +11418,21 @@ ) (drop (i32.gt_u - (i32.load $mimport$0 offset=1884 + (i32.load offset=1884 (i32.const 0) ) (local.tee $3 - (i32.load $mimport$0 offset=8 + (i32.load offset=8 (local.get $2) ) ) ) ) - (i32.store $mimport$0 offset=12 + (i32.store offset=12 (local.get $3) (local.get $6) ) - (i32.store $mimport$0 offset=8 + (i32.store offset=8 (local.get $6) (local.get $3) ) @@ -11441,7 +11441,7 @@ (block $label$22 (br_if $label$22 (local.tee $3 - (i32.load $mimport$0 + (i32.load (local.tee $4 (i32.add (local.get $2) @@ -11453,7 +11453,7 @@ ) (br_if $label$22 (local.tee $3 - (i32.load $mimport$0 + (i32.load (local.tee $4 (i32.add (local.get $2) @@ -11474,7 +11474,7 @@ ) (br_if $label$23 (local.tee $3 - (i32.load $mimport$0 + (i32.load (local.tee $4 (i32.add (local.tee $6 @@ -11494,13 +11494,13 @@ ) (br_if $label$23 (local.tee $3 - (i32.load $mimport$0 offset=16 + (i32.load offset=16 (local.get $6) ) ) ) ) - (i32.store $mimport$0 + (i32.store (local.get $5) (i32.const 0) ) @@ -11514,12 +11514,12 @@ (block $label$25 (br_if $label$25 (i32.ne - (i32.load $mimport$0 + (i32.load (local.tee $3 (i32.add (i32.shl (local.tee $4 - (i32.load $mimport$0 offset=28 + (i32.load offset=28 (local.get $2) ) ) @@ -11532,17 +11532,17 @@ (local.get $2) ) ) - (i32.store $mimport$0 + (i32.store (local.get $3) (local.get $6) ) (br_if $label$24 (local.get $6) ) - (i32.store $mimport$0 offset=1872 + (i32.store offset=1872 (i32.const 0) (i32.and - (i32.load $mimport$0 offset=1872 + (i32.load offset=1872 (i32.const 0) ) (i32.rotl @@ -11553,14 +11553,14 @@ ) (br $label$17) ) - (i32.store $mimport$0 + (i32.store (i32.add (local.get $7) (select (i32.const 16) (i32.const 20) (i32.eq - (i32.load $mimport$0 offset=16 + (i32.load offset=16 (local.get $7) ) (local.get $2) @@ -11575,7 +11575,7 @@ ) ) ) - (i32.store $mimport$0 offset=24 + (i32.store offset=24 (local.get $6) (local.get $7) ) @@ -11583,17 +11583,17 @@ (br_if $label$26 (i32.eqz (local.tee $3 - (i32.load $mimport$0 offset=16 + (i32.load offset=16 (local.get $2) ) ) ) ) - (i32.store $mimport$0 offset=16 + (i32.store offset=16 (local.get $6) (local.get $3) ) - (i32.store $mimport$0 offset=24 + (i32.store offset=24 (local.get $3) (local.get $6) ) @@ -11601,32 +11601,32 @@ (br_if $label$17 (i32.eqz (local.tee $3 - (i32.load $mimport$0 offset=20 + (i32.load offset=20 (local.get $2) ) ) ) ) - (i32.store $mimport$0 + (i32.store (i32.add (local.get $6) (i32.const 20) ) (local.get $3) ) - (i32.store $mimport$0 offset=24 + (i32.store offset=24 (local.get $3) (local.get $6) ) ) - (i32.store $mimport$0 offset=4 + (i32.store offset=4 (local.get $0) (i32.or (local.get $1) (i32.const 1) ) ) - (i32.store $mimport$0 + (i32.store (i32.add (local.get $0) (local.get $1) @@ -11636,32 +11636,32 @@ (br_if $label$13 (i32.ne (local.get $0) - (i32.load $mimport$0 offset=1888 + (i32.load offset=1888 (i32.const 0) ) ) ) - (i32.store $mimport$0 offset=1876 + (i32.store offset=1876 (i32.const 0) (local.get $1) ) (return) ) - (i32.store $mimport$0 offset=4 + (i32.store offset=4 (local.get $2) (i32.and (local.get $3) (i32.const -2) ) ) - (i32.store $mimport$0 offset=4 + (i32.store offset=4 (local.get $0) (i32.or (local.get $1) (i32.const 1) ) ) - (i32.store $mimport$0 + (i32.store (i32.add (local.get $0) (local.get $1) @@ -11695,7 +11695,7 @@ (br_if $label$29 (i32.and (local.tee $4 - (i32.load $mimport$0 offset=1868 + (i32.load offset=1868 (i32.const 0) ) ) @@ -11707,7 +11707,7 @@ ) ) ) - (i32.store $mimport$0 offset=1868 + (i32.store offset=1868 (i32.const 0) (i32.or (local.get $4) @@ -11720,24 +11720,24 @@ (br $label$28) ) (local.set $3 - (i32.load $mimport$0 offset=8 + (i32.load offset=8 (local.get $1) ) ) ) - (i32.store $mimport$0 offset=8 + (i32.store offset=8 (local.get $1) (local.get $0) ) - (i32.store $mimport$0 offset=12 + (i32.store offset=12 (local.get $3) (local.get $0) ) - (i32.store $mimport$0 offset=12 + (i32.store offset=12 (local.get $0) (local.get $1) ) - (i32.store $mimport$0 offset=8 + (i32.store offset=8 (local.get $0) (local.get $3) ) @@ -11840,11 +11840,11 @@ ) ) ) - (i64.store $mimport$0 offset=16 align=4 + (i64.store offset=16 align=4 (local.get $0) (i64.const 0) ) - (i32.store $mimport$0 + (i32.store (i32.add (local.get $0) (i32.const 28) @@ -11866,7 +11866,7 @@ (br_if $label$33 (i32.and (local.tee $6 - (i32.load $mimport$0 offset=1872 + (i32.load offset=1872 (i32.const 0) ) ) @@ -11878,18 +11878,18 @@ ) ) ) - (i32.store $mimport$0 offset=1872 + (i32.store offset=1872 (i32.const 0) (i32.or (local.get $6) (local.get $2) ) ) - (i32.store $mimport$0 + (i32.store (local.get $4) (local.get $0) ) - (i32.store $mimport$0 + (i32.store (i32.add (local.get $0) (i32.const 24) @@ -11918,7 +11918,7 @@ ) ) (local.set $6 - (i32.load $mimport$0 + (i32.load (local.get $4) ) ) @@ -11926,7 +11926,7 @@ (br_if $label$31 (i32.eq (i32.and - (i32.load $mimport$0 offset=4 + (i32.load offset=4 (local.tee $4 (local.get $6) ) @@ -11950,7 +11950,7 @@ ) (br_if $label$34 (local.tee $6 - (i32.load $mimport$0 + (i32.load (local.tee $2 (i32.add (i32.add @@ -11967,11 +11967,11 @@ ) ) ) - (i32.store $mimport$0 + (i32.store (local.get $2) (local.get $0) ) - (i32.store $mimport$0 + (i32.store (i32.add (local.get $0) (i32.const 24) @@ -11979,40 +11979,40 @@ (local.get $4) ) ) - (i32.store $mimport$0 offset=12 + (i32.store offset=12 (local.get $0) (local.get $0) ) - (i32.store $mimport$0 offset=8 + (i32.store offset=8 (local.get $0) (local.get $0) ) (return) ) - (i32.store $mimport$0 offset=12 + (i32.store offset=12 (local.tee $1 - (i32.load $mimport$0 offset=8 + (i32.load offset=8 (local.get $4) ) ) (local.get $0) ) - (i32.store $mimport$0 offset=8 + (i32.store offset=8 (local.get $4) (local.get $0) ) - (i32.store $mimport$0 + (i32.store (i32.add (local.get $0) (i32.const 24) ) (i32.const 0) ) - (i32.store $mimport$0 offset=12 + (i32.store offset=12 (local.get $0) (local.get $4) ) - (i32.store $mimport$0 offset=8 + (i32.store offset=8 (local.get $0) (local.get $1) ) @@ -12041,7 +12041,7 @@ (local.set $0 (i32.add (local.tee $3 - (i32.atomic.load $mimport$0 offset=1436 + (i32.atomic.load offset=1436 (i32.const 0) ) ) @@ -12064,7 +12064,7 @@ (i32.le_u (local.get $0) (i32.shl - (memory.size $mimport$0) + (memory.size) (i32.const 16) ) ) @@ -12079,7 +12079,7 @@ ) (br_if $label$2 (i32.ne - (i32.atomic.rmw.cmpxchg $mimport$0 offset=1436 + (i32.atomic.rmw.cmpxchg offset=1436 (i32.const 0) (local.get $3) (local.get $0) @@ -12092,7 +12092,7 @@ (local.get $3) ) ) - (i32.store $mimport$0 + (i32.store (call $25) (i32.const 48) ) @@ -12122,7 +12122,7 @@ (i32.const 0) ) ) - (i32.store $mimport$0 + (i32.store (call $25) (local.get $0) ) @@ -12144,28 +12144,28 @@ ) ) ) - (i32.store $mimport$0 offset=16 + (i32.store offset=16 (local.get $3) (local.tee $4 - (i32.load $mimport$0 offset=28 + (i32.load offset=28 (local.get $0) ) ) ) (local.set $5 - (i32.load $mimport$0 offset=20 + (i32.load offset=20 (local.get $0) ) ) - (i32.store $mimport$0 offset=28 + (i32.store offset=28 (local.get $3) (local.get $2) ) - (i32.store $mimport$0 offset=24 + (i32.store offset=24 (local.get $3) (local.get $1) ) - (i32.store $mimport$0 offset=20 + (i32.store offset=20 (local.get $3) (local.tee $1 (i32.sub @@ -12196,7 +12196,7 @@ (br_if $label$4 (call $71 (call $fimport$16 - (i32.load $mimport$0 offset=60 + (i32.load offset=60 (local.get $0) ) (i32.add @@ -12216,7 +12216,7 @@ (i32.eq (local.get $6) (local.tee $4 - (i32.load $mimport$0 offset=12 + (i32.load offset=12 (local.get $3) ) ) @@ -12228,7 +12228,7 @@ (i32.const -1) ) ) - (i32.store $mimport$0 + (i32.store (local.tee $9 (i32.add (local.get $1) @@ -12237,7 +12237,7 @@ (i32.gt_u (local.get $4) (local.tee $8 - (i32.load $mimport$0 offset=4 + (i32.load offset=4 (local.get $1) ) ) @@ -12248,7 +12248,7 @@ ) ) (i32.add - (i32.load $mimport$0 + (i32.load (local.get $9) ) (local.tee $8 @@ -12263,7 +12263,7 @@ ) ) ) - (i32.store $mimport$0 + (i32.store (local.tee $9 (i32.add (local.get $1) @@ -12275,7 +12275,7 @@ ) ) (i32.sub - (i32.load $mimport$0 + (i32.load (local.get $9) ) (local.get $8) @@ -12291,7 +12291,7 @@ (i32.eqz (call $71 (call $fimport$16 - (i32.load $mimport$0 offset=60 + (i32.load offset=60 (local.get $0) ) (local.tee $1 @@ -12327,23 +12327,23 @@ ) ) ) - (i32.store $mimport$0 offset=28 + (i32.store offset=28 (local.get $0) (local.tee $1 - (i32.load $mimport$0 offset=44 + (i32.load offset=44 (local.get $0) ) ) ) - (i32.store $mimport$0 offset=20 + (i32.store offset=20 (local.get $0) (local.get $1) ) - (i32.store $mimport$0 offset=16 + (i32.store offset=16 (local.get $0) (i32.add (local.get $1) - (i32.load $mimport$0 offset=48 + (i32.load offset=48 (local.get $0) ) ) @@ -12356,18 +12356,18 @@ (local.set $4 (i32.const 0) ) - (i32.store $mimport$0 offset=28 + (i32.store offset=28 (local.get $0) (i32.const 0) ) - (i64.store $mimport$0 offset=16 + (i64.store offset=16 (local.get $0) (i64.const 0) ) - (i32.store $mimport$0 + (i32.store (local.get $0) (i32.or - (i32.load $mimport$0 + (i32.load (local.get $0) ) (i32.const 32) @@ -12382,7 +12382,7 @@ (local.set $4 (i32.sub (local.get $2) - (i32.load $mimport$0 offset=4 + (i32.load offset=4 (local.get $1) ) ) @@ -12444,7 +12444,7 @@ (block $label$3 (br_if $label$3 (i32.gt_s - (i32.load $mimport$0 offset=76 + (i32.load offset=76 (local.get $0) ) (i32.const -1) @@ -12484,14 +12484,14 @@ (block $label$4 (br_if $label$4 (i32.eqz - (i32.load $mimport$0 offset=1584 + (i32.load offset=1584 (i32.const 0) ) ) ) (local.set $2 (call $80 - (i32.load $mimport$0 offset=1584 + (i32.load offset=1584 (i32.const 0) ) ) @@ -12501,7 +12501,7 @@ (br_if $label$5 (i32.eqz (local.tee $0 - (i32.load $mimport$0 + (i32.load (call $69) ) ) @@ -12514,7 +12514,7 @@ (block $label$7 (br_if $label$7 (i32.lt_s - (i32.load $mimport$0 offset=76 + (i32.load offset=76 (local.get $0) ) (i32.const 0) @@ -12529,10 +12529,10 @@ (block $label$8 (br_if $label$8 (i32.le_u - (i32.load $mimport$0 offset=20 + (i32.load offset=20 (local.get $0) ) - (i32.load $mimport$0 offset=28 + (i32.load offset=28 (local.get $0) ) ) @@ -12558,7 +12558,7 @@ ) (br_if $label$6 (local.tee $0 - (i32.load $mimport$0 offset=56 + (i32.load offset=56 (local.get $0) ) ) @@ -12575,10 +12575,10 @@ (block $label$1 (br_if $label$1 (i32.le_u - (i32.load $mimport$0 offset=20 + (i32.load offset=20 (local.get $0) ) - (i32.load $mimport$0 offset=28 + (i32.load offset=28 (local.get $0) ) ) @@ -12588,13 +12588,13 @@ (local.get $0) (i32.const 0) (i32.const 0) - (i32.load $mimport$0 offset=36 + (i32.load offset=36 (local.get $0) ) ) ) (br_if $label$1 - (i32.load $mimport$0 offset=20 + (i32.load offset=20 (local.get $0) ) ) @@ -12606,12 +12606,12 @@ (br_if $label$2 (i32.ge_u (local.tee $1 - (i32.load $mimport$0 offset=4 + (i32.load offset=4 (local.get $0) ) ) (local.tee $2 - (i32.load $mimport$0 offset=8 + (i32.load offset=8 (local.get $0) ) ) @@ -12627,21 +12627,21 @@ ) ) (i32.const 1) - (i32.load $mimport$0 offset=40 + (i32.load offset=40 (local.get $0) ) ) ) ) - (i32.store $mimport$0 offset=28 + (i32.store offset=28 (local.get $0) (i32.const 0) ) - (i64.store $mimport$0 offset=16 + (i64.store offset=16 (local.get $0) (i64.const 0) ) - (i64.store $mimport$0 offset=4 align=4 + (i64.store offset=4 align=4 (local.get $0) (i64.const 0) ) @@ -12652,7 +12652,7 @@ ) (func $83 (call $fimport$17) - (i32.store $mimport$0 offset=172 + (i32.store offset=172 (call $14) (i32.add (i32.const 3448) @@ -12671,7 +12671,7 @@ (block $label$1 (br_if $label$1 (i32.eqz - (i32.load $mimport$0 offset=44 + (i32.load offset=44 (local.tee $0 (call $7) ) @@ -12693,10 +12693,10 @@ (br_if $label$4 (i32.eqz (local.tee $6 - (i32.load $mimport$0 + (i32.load (local.tee $5 (i32.add - (i32.load $mimport$0 offset=100 + (i32.load offset=100 (local.get $0) ) (local.tee $4 @@ -12713,7 +12713,7 @@ ) (br_if $label$4 (i32.eqz - (i32.load $mimport$0 + (i32.load (local.tee $4 (i32.add (local.get $4) @@ -12723,13 +12723,13 @@ ) ) ) - (i32.store $mimport$0 + (i32.store (local.get $5) (i32.const 0) ) (call_indirect (type $i32_=>_none) (local.get $6) - (i32.load $mimport$0 + (i32.load (local.get $4) ) ) diff --git a/test/lld/em_asm_shared.wat.out b/test/lld/em_asm_shared.wat.out index fe669c45188..0962d350408 100644 --- a/test/lld/em_asm_shared.wat.out +++ b/test/lld/em_asm_shared.wat.out @@ -56,11 +56,11 @@ (i32.const 0) ) ) - (i64.store $mimport$0 offset=16 + (i64.store offset=16 (local.get $0) (i64.const 115964117005) ) - (i32.store $mimport$0 + (i32.store (local.get $0) (call $emscripten_asm_const_int (i32.add diff --git a/test/lld/hello_world.passive.wat.out b/test/lld/hello_world.passive.wat.out index 677155a54b0..4cd5ed3c73b 100644 --- a/test/lld/hello_world.passive.wat.out +++ b/test/lld/hello_world.passive.wat.out @@ -19,7 +19,7 @@ (call $__wasm_init_memory) ) (func $__wasm_init_memory - (memory.init $0 0 + (memory.init 0 (i32.const 568) (i32.const 0) (i32.const 14) diff --git a/test/lld/init.wat.out b/test/lld/init.wat.out index b610ebcceae..68388eecbb9 100644 --- a/test/lld/init.wat.out +++ b/test/lld/init.wat.out @@ -13,23 +13,23 @@ (call $init_y) ) (func $init_x - (i32.store $0 offset=568 + (i32.store offset=568 (i32.const 0) (i32.const 14) ) ) (func $init_y - (i32.store $0 offset=572 + (i32.store offset=572 (i32.const 0) (i32.const 144) ) ) (func $__original_main (result i32) (i32.add - (i32.load $0 offset=568 + (i32.load offset=568 (i32.const 0) ) - (i32.load $0 offset=572 + (i32.load offset=572 (i32.const 0) ) ) diff --git a/test/lld/longjmp.wat.out b/test/lld/longjmp.wat.out index 7b9d3d7492e..3bb1c6dd470 100644 --- a/test/lld/longjmp.wat.out +++ b/test/lld/longjmp.wat.out @@ -32,7 +32,7 @@ (local $1 i32) (local $2 i32) (local $3 i32) - (i32.store $0 + (i32.store (local.tee $0 (call $malloc (i32.const 40) @@ -60,7 +60,7 @@ (br_if $label$2 (local.get $0) ) - (i32.store $0 offset=568 + (i32.store offset=568 (i32.const 0) (i32.const 0) ) @@ -70,11 +70,11 @@ (i32.const 1) ) (local.set $0 - (i32.load $0 offset=568 + (i32.load offset=568 (i32.const 0) ) ) - (i32.store $0 offset=568 + (i32.store offset=568 (i32.const 0) (i32.const 0) ) @@ -87,7 +87,7 @@ (br_if $label$4 (i32.eqz (local.tee $3 - (i32.load $0 offset=572 + (i32.load offset=572 (i32.const 0) ) ) @@ -96,7 +96,7 @@ (br_if $label$1 (i32.eqz (call $testSetjmp - (i32.load $0 + (i32.load (local.get $0) ) (local.get $1) diff --git a/test/lld/main_module.wat.out b/test/lld/main_module.wat.out index ba46b7a2630..1761b6ddeac 100644 --- a/test/lld/main_module.wat.out +++ b/test/lld/main_module.wat.out @@ -24,14 +24,14 @@ (call $__wasm_apply_relocs) ) (func $__wasm_apply_relocs - (i32.store $0 + (i32.store (i32.add (global.get $gimport$2) (i32.const 16) ) (global.get $gimport$6) ) - (i32.store $0 + (i32.store (i32.add (global.get $gimport$2) (i32.const 20) @@ -48,7 +48,7 @@ ) ) ) - (i32.load $0 + (i32.load (global.get $gimport$5) ) ) diff --git a/test/lld/recursive.wat.out b/test/lld/recursive.wat.out index a12fe5a8a1b..ae7945a2aae 100644 --- a/test/lld/recursive.wat.out +++ b/test/lld/recursive.wat.out @@ -23,11 +23,11 @@ ) ) ) - (i32.store $0 offset=4 + (i32.store offset=4 (local.get $2) (local.get $1) ) - (i32.store $0 + (i32.store (local.get $2) (local.get $0) ) @@ -58,7 +58,7 @@ ) ) ) - (i32.store $0 + (i32.store (local.get $0) (call $foo (i32.const 1) diff --git a/test/lld/recursive_safe_stack.wat.out b/test/lld/recursive_safe_stack.wat.out index cec7e0427c2..f5808ee88ac 100644 --- a/test/lld/recursive_safe_stack.wat.out +++ b/test/lld/recursive_safe_stack.wat.out @@ -54,11 +54,11 @@ (local.get $3) ) ) - (i32.store $0 offset=4 + (i32.store offset=4 (local.get $2) (local.get $1) ) - (i32.store $0 + (i32.store (local.get $2) (local.get $0) ) @@ -129,7 +129,7 @@ (local.get $1) ) ) - (i32.store $0 + (i32.store (local.get $0) (call $foo (i32.const 1) diff --git a/test/lld/reserved_func_ptr.wat.out b/test/lld/reserved_func_ptr.wat.out index d411026d44d..d20ecbc510a 100644 --- a/test/lld/reserved_func_ptr.wat.out +++ b/test/lld/reserved_func_ptr.wat.out @@ -32,35 +32,35 @@ (local $5 i32) (local.set $2 (call $atoi\28char\20const*\29 - (i32.load $0 offset=4 + (i32.load offset=4 (local.get $1) ) ) ) (local.set $3 (call $atoi\28char\20const*\29 - (i32.load $0 offset=8 + (i32.load offset=8 (local.get $1) ) ) ) (local.set $4 (call $atoi\28char\20const*\29 - (i32.load $0 offset=12 + (i32.load offset=12 (local.get $1) ) ) ) (local.set $5 (call $atoi\28char\20const*\29 - (i32.load $0 offset=16 + (i32.load offset=16 (local.get $1) ) ) ) (local.set $1 (call $atoi\28char\20const*\29 - (i32.load $0 offset=20 + (i32.load offset=20 (local.get $1) ) ) diff --git a/test/lld/safe_stack_standalone-wasm.wat.out b/test/lld/safe_stack_standalone-wasm.wat.out index 1513a3d39f7..876e9fabc33 100644 --- a/test/lld/safe_stack_standalone-wasm.wat.out +++ b/test/lld/safe_stack_standalone-wasm.wat.out @@ -50,11 +50,11 @@ (local.get $3) ) ) - (i32.store $0 offset=4 + (i32.store offset=4 (local.get $2) (local.get $1) ) - (i32.store $0 + (i32.store (local.get $2) (local.get $0) ) @@ -121,7 +121,7 @@ (local.get $1) ) ) - (i32.store $0 + (i32.store (local.get $0) (call $foo (i32.const 1) diff --git a/test/lld/shared.wat.out b/test/lld/shared.wat.out index 63dab4cb800..1a496e43650 100644 --- a/test/lld/shared.wat.out +++ b/test/lld/shared.wat.out @@ -22,14 +22,14 @@ (nop) ) (func $__wasm_apply_data_relocs - (i32.store $mimport$0 + (i32.store (i32.add (i32.const 16) (global.get $__memory_base) ) (global.get $puts) ) - (i32.store $mimport$0 + (i32.store (i32.add (i32.const 20) (global.get $__memory_base) @@ -46,7 +46,7 @@ ) ) ) - (i32.load $mimport$0 + (i32.load (global.get $external_var) ) ) diff --git a/test/lld/shared_add_to_table.wasm.out b/test/lld/shared_add_to_table.wasm.out index c9ef8965e07..91be03860be 100644 --- a/test/lld/shared_add_to_table.wasm.out +++ b/test/lld/shared_add_to_table.wasm.out @@ -45,7 +45,7 @@ ) (i32.add (i32.add - (i32.load $mimport$0 + (i32.load (global.get $gimport$5) ) (i32.add @@ -53,7 +53,7 @@ (local.get $0) ) ) - (i32.load $mimport$0 + (i32.load (global.get $gimport$6) ) ) diff --git a/test/lld/shared_longjmp.wat.out b/test/lld/shared_longjmp.wat.out index 8dfaba77e44..449714270ea 100644 --- a/test/lld/shared_longjmp.wat.out +++ b/test/lld/shared_longjmp.wat.out @@ -42,7 +42,7 @@ (local $1 i32) (local $2 i32) (local $3 i32) - (i32.store $mimport$0 + (i32.store (local.tee $0 (call $malloc (i32.const 40) @@ -70,7 +70,7 @@ (br_if $label$2 (local.get $0) ) - (i32.store $mimport$0 + (i32.store (local.tee $0 (global.get $__THREW__) ) @@ -82,11 +82,11 @@ (i32.const 1) ) (local.set $3 - (i32.load $mimport$0 + (i32.load (local.get $0) ) ) - (i32.store $mimport$0 + (i32.store (local.get $0) (i32.const 0) ) @@ -102,7 +102,7 @@ (br_if $label$4 (i32.eqz (local.tee $0 - (i32.load $mimport$0 + (i32.load (local.get $0) ) ) @@ -111,7 +111,7 @@ (br_if $label$1 (i32.eqz (call $testSetjmp - (i32.load $mimport$0 + (i32.load (local.get $3) ) (local.get $1) diff --git a/test/memory-import.wast.from-wast b/test/memory-import.wast.from-wast index e3874667ec3..4d27bcc4e73 100644 --- a/test/memory-import.wast.from-wast +++ b/test/memory-import.wast.from-wast @@ -2,7 +2,7 @@ (type $0 (func (result i32))) (import "env" "memory" (memory $0 1 1)) (func $foo (result i32) - (i32.load $0 offset=13 + (i32.load offset=13 (i32.const 37) ) ) diff --git a/test/memory-import.wast.fromBinary b/test/memory-import.wast.fromBinary index 51b0e6fcf7b..e03f853d0f0 100644 --- a/test/memory-import.wast.fromBinary +++ b/test/memory-import.wast.fromBinary @@ -2,7 +2,7 @@ (type $0 (func (result i32))) (import "env" "memory" (memory $0 1 1)) (func $foo (result i32) - (i32.load $0 offset=13 + (i32.load offset=13 (i32.const 37) ) ) diff --git a/test/memory-import.wast.fromBinary.noDebugInfo b/test/memory-import.wast.fromBinary.noDebugInfo index c07a26931c7..196a1b0d705 100644 --- a/test/memory-import.wast.fromBinary.noDebugInfo +++ b/test/memory-import.wast.fromBinary.noDebugInfo @@ -2,7 +2,7 @@ (type $none_=>_i32 (func (result i32))) (import "env" "memory" (memory $mimport$0 1 1)) (func $0 (result i32) - (i32.load $mimport$0 offset=13 + (i32.load offset=13 (i32.const 37) ) ) diff --git a/test/memory-import64.wast.from-wast b/test/memory-import64.wast.from-wast index b427d11643a..8f9d70886c4 100644 --- a/test/memory-import64.wast.from-wast +++ b/test/memory-import64.wast.from-wast @@ -2,7 +2,7 @@ (type $0 (func (result i32))) (import "env" "memory" (memory $0 i64 1 1)) (func $foo (result i32) - (i32.load $0 offset=13 + (i32.load offset=13 (i64.const 37) ) ) diff --git a/test/memory-import64.wast.fromBinary b/test/memory-import64.wast.fromBinary index de04ded74c2..c89e3a6ca67 100644 --- a/test/memory-import64.wast.fromBinary +++ b/test/memory-import64.wast.fromBinary @@ -2,7 +2,7 @@ (type $0 (func (result i32))) (import "env" "memory" (memory $0 i64 1 1)) (func $foo (result i32) - (i32.load $0 offset=13 + (i32.load offset=13 (i64.const 37) ) ) diff --git a/test/memory-import64.wast.fromBinary.noDebugInfo b/test/memory-import64.wast.fromBinary.noDebugInfo index 0216fb65176..ff5cd6fb219 100644 --- a/test/memory-import64.wast.fromBinary.noDebugInfo +++ b/test/memory-import64.wast.fromBinary.noDebugInfo @@ -2,7 +2,7 @@ (type $none_=>_i32 (func (result i32))) (import "env" "memory" (memory $mimport$0 i64 1 1)) (func $0 (result i32) - (i32.load $mimport$0 offset=13 + (i32.load offset=13 (i64.const 37) ) ) diff --git a/test/metadce/spanning_cycle.wast.dced b/test/metadce/spanning_cycle.wast.dced index 1a28aef4349..778ce0a5193 100644 --- a/test/metadce/spanning_cycle.wast.dced +++ b/test/metadce/spanning_cycle.wast.dced @@ -5,7 +5,7 @@ (data "Hello, datacount section!") (export "wasm_func_a" (func $a_wasm_func)) (func $a_wasm_func - (memory.init $0 0 + (memory.init 0 (i32.const 0) (i32.const 0) (i32.const 25) diff --git a/test/min.wast.from-wast b/test/min.wast.from-wast index a6fd0a9e569..f0c5016725a 100644 --- a/test/min.wast.from-wast +++ b/test/min.wast.from-wast @@ -17,11 +17,11 @@ (local.tee $n (f32.neg (block $block0 (result f32) - (i32.store $0 + (i32.store (local.get $k) (local.get $p) ) - (f32.load $0 + (f32.load (local.get $k) ) ) diff --git a/test/min.wast.fromBinary b/test/min.wast.fromBinary index fe5bf73e463..b8ec13306fd 100644 --- a/test/min.wast.fromBinary +++ b/test/min.wast.fromBinary @@ -17,11 +17,11 @@ (local.tee $n (f32.neg (block $label$1 (result f32) - (i32.store $0 + (i32.store (local.get $k) (local.get $p) ) - (f32.load $0 + (f32.load (local.get $k) ) ) diff --git a/test/min.wast.fromBinary.noDebugInfo b/test/min.wast.fromBinary.noDebugInfo index 8bd7ccb1516..4d13abb3260 100644 --- a/test/min.wast.fromBinary.noDebugInfo +++ b/test/min.wast.fromBinary.noDebugInfo @@ -17,11 +17,11 @@ (local.tee $2 (f32.neg (block $label$1 (result f32) - (i32.store $0 + (i32.store (local.get $0) (local.get $1) ) - (f32.load $0 + (f32.load (local.get $0) ) ) diff --git a/test/nonspec-bulk-memory.wast.from-wast b/test/nonspec-bulk-memory.wast.from-wast index 55f8765d231..1d78b8e1597 100644 --- a/test/nonspec-bulk-memory.wast.from-wast +++ b/test/nonspec-bulk-memory.wast.from-wast @@ -3,7 +3,7 @@ (memory $0 1024 1024) (data (i32.const 0) "hello, world") (func $memory.init - (memory.init $0 0 + (memory.init 0 (i32.const 512) (i32.const 0) (i32.const 12) @@ -13,14 +13,14 @@ (data.drop 0) ) (func $memory.copy - (memory.copy $0 $0 + (memory.copy (i32.const 512) (i32.const 0) (i32.const 12) ) ) (func $memory.fill - (memory.fill $0 + (memory.fill (i32.const 0) (i32.const 42) (i32.const 1024) diff --git a/test/nonspec-bulk-memory.wast.fromBinary b/test/nonspec-bulk-memory.wast.fromBinary index bd4ca669fcf..9120c43e615 100644 --- a/test/nonspec-bulk-memory.wast.fromBinary +++ b/test/nonspec-bulk-memory.wast.fromBinary @@ -3,7 +3,7 @@ (memory $0 1024 1024) (data (i32.const 0) "hello, world") (func $memory.init - (memory.init $0 0 + (memory.init 0 (i32.const 512) (i32.const 0) (i32.const 12) @@ -13,14 +13,14 @@ (data.drop 0) ) (func $memory.copy - (memory.copy $0 $0 + (memory.copy (i32.const 512) (i32.const 0) (i32.const 12) ) ) (func $memory.fill - (memory.fill $0 + (memory.fill (i32.const 0) (i32.const 42) (i32.const 1024) diff --git a/test/nonspec-bulk-memory.wast.fromBinary.noDebugInfo b/test/nonspec-bulk-memory.wast.fromBinary.noDebugInfo index 68f0885cac7..06066710421 100644 --- a/test/nonspec-bulk-memory.wast.fromBinary.noDebugInfo +++ b/test/nonspec-bulk-memory.wast.fromBinary.noDebugInfo @@ -3,7 +3,7 @@ (memory $0 1024 1024) (data (i32.const 0) "hello, world") (func $0 - (memory.init $0 0 + (memory.init 0 (i32.const 512) (i32.const 0) (i32.const 12) @@ -13,14 +13,14 @@ (data.drop 0) ) (func $2 - (memory.copy $0 $0 + (memory.copy (i32.const 512) (i32.const 0) (i32.const 12) ) ) (func $3 - (memory.fill $0 + (memory.fill (i32.const 0) (i32.const 42) (i32.const 1024) diff --git a/test/passes/O3_low-memory-unused_metrics.txt b/test/passes/O3_low-memory-unused_metrics.txt index b8aa026f015..3bdce292109 100644 --- a/test/passes/O3_low-memory-unused_metrics.txt +++ b/test/passes/O3_low-memory-unused_metrics.txt @@ -72,7 +72,7 @@ total (br_if $label$1 (i32.eqz (local.tee $2 - (i32.load $108 offset=28 + (i32.load offset=28 (local.get $0) ) ) @@ -82,25 +82,25 @@ total (block $label$3 (br_if $label$3 (i32.eqz - (i32.load $108 offset=12 + (i32.load offset=12 (local.get $0) ) ) ) (if (i32.eqz - (i32.load $108 + (i32.load (local.get $0) ) ) (br_if $label$3 - (i32.load $108 offset=4 + (i32.load offset=4 (local.get $0) ) ) ) (local.set $3 - (i32.load $108 offset=4 + (i32.load offset=4 (local.get $2) ) ) @@ -117,9 +117,9 @@ total ) ) ) - (i32.store $108 offset=24 + (i32.store offset=24 (local.get $0) - (i32.load $108 + (i32.load (i32.const 16992) ) ) @@ -129,22 +129,22 @@ total ) (if (i32.eqz - (i32.load $108 offset=16 + (i32.load offset=16 (local.get $0) ) ) (br $folding-inner0) ) - (i32.store $108 + (i32.store (local.get $2) (local.get $0) ) (local.set $7 - (i32.load $108 offset=40 + (i32.load offset=40 (local.get $2) ) ) - (i32.store $108 offset=40 + (i32.store offset=40 (local.get $2) (local.get $1) ) @@ -167,13 +167,13 @@ total (block (if (i32.eq - (i32.load $108 offset=24 + (i32.load offset=24 (local.get $2) ) (i32.const 2) ) (block - (i32.store $108 offset=48 + (i32.store offset=48 (local.get $0) (call $fimport$14 (i32.const 0) @@ -181,61 +181,61 @@ total (i32.const 0) ) ) - (i32.store $108 offset=20 + (i32.store offset=20 (local.get $2) (i32.add (local.tee $3 - (i32.load $108 offset=20 + (i32.load offset=20 (local.get $2) ) ) (i32.const 1) ) ) - (i32.store8 $108 + (i32.store8 (i32.add (local.get $3) - (i32.load $108 offset=8 + (i32.load offset=8 (local.get $2) ) ) (i32.const 31) ) - (i32.store $108 offset=20 + (i32.store offset=20 (local.get $2) (i32.add (local.tee $3 - (i32.load $108 offset=20 + (i32.load offset=20 (local.get $2) ) ) (i32.const 1) ) ) - (i32.store8 $108 + (i32.store8 (i32.add (local.get $3) - (i32.load $108 offset=8 + (i32.load offset=8 (local.get $2) ) ) (i32.const 139) ) - (i32.store $108 offset=20 + (i32.store offset=20 (local.get $2) (i32.add (local.tee $3 - (i32.load $108 offset=20 + (i32.load offset=20 (local.get $2) ) ) (i32.const 1) ) ) - (i32.store8 $108 + (i32.store8 (i32.add (local.get $3) - (i32.load $108 offset=8 + (i32.load offset=8 (local.get $2) ) ) @@ -244,107 +244,107 @@ total (if (i32.eqz (local.tee $3 - (i32.load $108 offset=28 + (i32.load offset=28 (local.get $2) ) ) ) (block - (i32.store $108 offset=20 + (i32.store offset=20 (local.get $2) (i32.add (local.tee $3 - (i32.load $108 offset=20 + (i32.load offset=20 (local.get $2) ) ) (i32.const 1) ) ) - (i32.store8 $108 + (i32.store8 (i32.add (local.get $3) - (i32.load $108 offset=8 + (i32.load offset=8 (local.get $2) ) ) (i32.const 0) ) - (i32.store $108 offset=20 + (i32.store offset=20 (local.get $2) (i32.add (local.tee $3 - (i32.load $108 offset=20 + (i32.load offset=20 (local.get $2) ) ) (i32.const 1) ) ) - (i32.store8 $108 + (i32.store8 (i32.add (local.get $3) - (i32.load $108 offset=8 + (i32.load offset=8 (local.get $2) ) ) (i32.const 0) ) - (i32.store $108 offset=20 + (i32.store offset=20 (local.get $2) (i32.add (local.tee $3 - (i32.load $108 offset=20 + (i32.load offset=20 (local.get $2) ) ) (i32.const 1) ) ) - (i32.store8 $108 + (i32.store8 (i32.add (local.get $3) - (i32.load $108 offset=8 + (i32.load offset=8 (local.get $2) ) ) (i32.const 0) ) - (i32.store $108 offset=20 + (i32.store offset=20 (local.get $2) (i32.add (local.tee $3 - (i32.load $108 offset=20 + (i32.load offset=20 (local.get $2) ) ) (i32.const 1) ) ) - (i32.store8 $108 + (i32.store8 (i32.add (local.get $3) - (i32.load $108 offset=8 + (i32.load offset=8 (local.get $2) ) ) (i32.const 0) ) - (i32.store $108 offset=20 + (i32.store offset=20 (local.get $2) (i32.add (local.tee $3 - (i32.load $108 offset=20 + (i32.load offset=20 (local.get $2) ) ) (i32.const 1) ) ) - (i32.store8 $108 + (i32.store8 (i32.add (local.get $3) - (i32.load $108 offset=8 + (i32.load offset=8 (local.get $2) ) ) @@ -356,7 +356,7 @@ total (if (i32.ne (local.tee $4 - (i32.load $108 offset=132 + (i32.load offset=132 (local.get $2) ) ) @@ -367,7 +367,7 @@ total (i32.const 4) (i32.shl (i32.gt_s - (i32.load $108 offset=136 + (i32.load offset=136 (local.get $2) ) (i32.const 1) @@ -381,47 +381,47 @@ total ) ) ) - (i32.store $108 offset=20 + (i32.store offset=20 (local.get $2) (i32.add (local.tee $4 - (i32.load $108 offset=20 + (i32.load offset=20 (local.get $2) ) ) (i32.const 1) ) ) - (i32.store8 $108 + (i32.store8 (i32.add (local.get $4) - (i32.load $108 offset=8 + (i32.load offset=8 (local.get $2) ) ) (local.get $3) ) - (i32.store $108 offset=20 + (i32.store offset=20 (local.get $2) (i32.add (local.tee $3 - (i32.load $108 offset=20 + (i32.load offset=20 (local.get $2) ) ) (i32.const 1) ) ) - (i32.store8 $108 + (i32.store8 (i32.add (local.get $3) - (i32.load $108 offset=8 + (i32.load offset=8 (local.get $2) ) ) (i32.const 3) ) - (i32.store $108 offset=4 + (i32.store offset=4 (local.get $2) (i32.const 113) ) @@ -429,35 +429,35 @@ total ) ) (local.set $4 - (i32.load $108 offset=36 + (i32.load offset=36 (local.get $3) ) ) (local.set $5 - (i32.load $108 offset=28 + (i32.load offset=28 (local.get $3) ) ) (local.set $6 - (i32.load $108 offset=16 + (i32.load offset=16 (local.get $3) ) ) (local.set $8 - (i32.load $108 offset=44 + (i32.load offset=44 (local.get $3) ) ) (local.set $9 - (i32.load $108 + (i32.load (local.get $3) ) ) - (i32.store $108 offset=20 + (i32.store offset=20 (local.get $2) (i32.add (local.tee $10 - (i32.load $108 offset=20 + (i32.load offset=20 (local.get $2) ) ) @@ -467,10 +467,10 @@ total (local.set $3 (i32.const 2) ) - (i32.store8 $108 + (i32.store8 (i32.add (local.get $10) - (i32.load $108 offset=8 + (i32.load offset=8 (local.get $2) ) ) @@ -516,54 +516,54 @@ total ) ) (local.set $4 - (i32.load $108 offset=4 - (i32.load $108 offset=28 + (i32.load offset=4 + (i32.load offset=28 (local.get $2) ) ) ) - (i32.store $108 offset=20 + (i32.store offset=20 (local.get $2) (i32.add (local.tee $5 - (i32.load $108 offset=20 + (i32.load offset=20 (local.get $2) ) ) (i32.const 1) ) ) - (i32.store8 $108 + (i32.store8 (i32.add (local.get $5) - (i32.load $108 offset=8 + (i32.load offset=8 (local.get $2) ) ) (local.get $4) ) (local.set $4 - (i32.load $108 offset=4 - (i32.load $108 offset=28 + (i32.load offset=4 + (i32.load offset=28 (local.get $2) ) ) ) - (i32.store $108 offset=20 + (i32.store offset=20 (local.get $2) (i32.add (local.tee $5 - (i32.load $108 offset=20 + (i32.load offset=20 (local.get $2) ) ) (i32.const 1) ) ) - (i32.store8 $108 + (i32.store8 (i32.add (local.get $5) - (i32.load $108 offset=8 + (i32.load offset=8 (local.get $2) ) ) @@ -573,54 +573,54 @@ total ) ) (local.set $4 - (i32.load16_u $108 offset=6 - (i32.load $108 offset=28 + (i32.load16_u offset=6 + (i32.load offset=28 (local.get $2) ) ) ) - (i32.store $108 offset=20 + (i32.store offset=20 (local.get $2) (i32.add (local.tee $5 - (i32.load $108 offset=20 + (i32.load offset=20 (local.get $2) ) ) (i32.const 1) ) ) - (i32.store8 $108 + (i32.store8 (i32.add (local.get $5) - (i32.load $108 offset=8 + (i32.load offset=8 (local.get $2) ) ) (local.get $4) ) (local.set $4 - (i32.load8_u $108 offset=7 - (i32.load $108 offset=28 + (i32.load8_u offset=7 + (i32.load offset=28 (local.get $2) ) ) ) - (i32.store $108 offset=20 + (i32.store offset=20 (local.get $2) (i32.add (local.tee $5 - (i32.load $108 offset=20 + (i32.load offset=20 (local.get $2) ) ) (i32.const 1) ) ) - (i32.store8 $108 + (i32.store8 (i32.add (local.get $5) - (i32.load $108 offset=8 + (i32.load offset=8 (local.get $2) ) ) @@ -629,7 +629,7 @@ total (if (i32.ne (local.tee $4 - (i32.load $108 offset=132 + (i32.load offset=132 (local.get $2) ) ) @@ -640,7 +640,7 @@ total (i32.const 4) (i32.shl (i32.gt_s - (i32.load $108 offset=136 + (i32.load offset=136 (local.get $2) ) (i32.const 1) @@ -654,111 +654,111 @@ total ) ) ) - (i32.store $108 offset=20 + (i32.store offset=20 (local.get $2) (i32.add (local.tee $4 - (i32.load $108 offset=20 + (i32.load offset=20 (local.get $2) ) ) (i32.const 1) ) ) - (i32.store8 $108 + (i32.store8 (i32.add (local.get $4) - (i32.load $108 offset=8 + (i32.load offset=8 (local.get $2) ) ) (local.get $3) ) (local.set $3 - (i32.load $108 offset=12 - (i32.load $108 offset=28 + (i32.load offset=12 + (i32.load offset=28 (local.get $2) ) ) ) - (i32.store $108 offset=20 + (i32.store offset=20 (local.get $2) (i32.add (local.tee $4 - (i32.load $108 offset=20 + (i32.load offset=20 (local.get $2) ) ) (i32.const 1) ) ) - (i32.store8 $108 + (i32.store8 (i32.add (local.get $4) - (i32.load $108 offset=8 + (i32.load offset=8 (local.get $2) ) ) (local.get $3) ) (if - (i32.load $108 offset=44 + (i32.load offset=44 (if (result i32) - (i32.load $108 offset=16 + (i32.load offset=16 (local.tee $3 - (i32.load $108 offset=28 + (i32.load offset=28 (local.get $2) ) ) ) (block (result i32) (local.set $3 - (i32.load $108 offset=20 + (i32.load offset=20 (local.get $3) ) ) - (i32.store $108 offset=20 + (i32.store offset=20 (local.get $2) (i32.add (local.tee $4 - (i32.load $108 offset=20 + (i32.load offset=20 (local.get $2) ) ) (i32.const 1) ) ) - (i32.store8 $108 + (i32.store8 (i32.add (local.get $4) - (i32.load $108 offset=8 + (i32.load offset=8 (local.get $2) ) ) (local.get $3) ) (local.set $3 - (i32.load $108 offset=20 - (i32.load $108 offset=28 + (i32.load offset=20 + (i32.load offset=28 (local.get $2) ) ) ) - (i32.store $108 offset=20 + (i32.store offset=20 (local.get $2) (i32.add (local.tee $4 - (i32.load $108 offset=20 + (i32.load offset=20 (local.get $2) ) ) (i32.const 1) ) ) - (i32.store8 $108 + (i32.store8 (i32.add (local.get $4) - (i32.load $108 offset=8 + (i32.load offset=8 (local.get $2) ) ) @@ -767,33 +767,33 @@ total (i32.const 8) ) ) - (i32.load $108 offset=28 + (i32.load offset=28 (local.get $2) ) ) (local.get $3) ) ) - (i32.store $108 offset=48 + (i32.store offset=48 (local.get $0) (call $fimport$14 - (i32.load $108 offset=48 + (i32.load offset=48 (local.get $0) ) - (i32.load $108 offset=8 + (i32.load offset=8 (local.get $2) ) - (i32.load $108 offset=20 + (i32.load offset=20 (local.get $2) ) ) ) ) - (i32.store $108 offset=4 + (i32.store offset=4 (local.get $2) (i32.const 69) ) - (i32.store $108 offset=32 + (i32.store offset=32 (local.get $2) (i32.const 0) ) @@ -803,7 +803,7 @@ total (local.set $5 (i32.sub (i32.shl - (i32.load $108 offset=48 + (i32.load offset=48 (local.get $2) ) (i32.const 12) @@ -817,7 +817,7 @@ total (block $label$24 (br_if $label$24 (i32.gt_s - (i32.load $108 offset=136 + (i32.load offset=136 (local.get $2) ) (i32.const 1) @@ -826,7 +826,7 @@ total (br_if $label$24 (i32.lt_s (local.tee $4 - (i32.load $108 offset=132 + (i32.load offset=132 (local.get $2) ) ) @@ -853,25 +853,25 @@ total ) ) ) - (i32.store $108 offset=4 + (i32.store offset=4 (local.get $2) (i32.const 113) ) - (i32.store $108 offset=20 + (i32.store offset=20 (local.get $2) (i32.add (local.tee $4 - (i32.load $108 offset=20 + (i32.load offset=20 (local.get $2) ) ) (i32.const 1) ) ) - (i32.store8 $108 + (i32.store8 (i32.add (local.get $4) - (i32.load $108 offset=8 + (i32.load offset=8 (local.get $2) ) ) @@ -888,7 +888,7 @@ total (i32.const 32) ) (local.get $3) - (i32.load $108 offset=108 + (i32.load offset=108 (local.get $2) ) ) @@ -896,21 +896,21 @@ total (i32.const 8) ) ) - (i32.store $108 offset=20 + (i32.store offset=20 (local.get $2) (i32.add (local.tee $4 - (i32.load $108 offset=20 + (i32.load offset=20 (local.get $2) ) ) (i32.const 1) ) ) - (i32.store8 $108 + (i32.store8 (i32.add (local.get $4) - (i32.load $108 offset=8 + (i32.load offset=8 (local.get $2) ) ) @@ -926,30 +926,30 @@ total ) ) (if - (i32.load $108 offset=108 + (i32.load offset=108 (local.get $2) ) (block (local.set $3 - (i32.load $108 offset=48 + (i32.load offset=48 (local.get $0) ) ) - (i32.store $108 offset=20 + (i32.store offset=20 (local.get $2) (i32.add (local.tee $4 - (i32.load $108 offset=20 + (i32.load offset=20 (local.get $2) ) ) (i32.const 1) ) ) - (i32.store8 $108 + (i32.store8 (i32.add (local.get $4) - (i32.load $108 offset=8 + (i32.load offset=8 (local.get $2) ) ) @@ -958,21 +958,21 @@ total (i32.const 24) ) ) - (i32.store $108 offset=20 + (i32.store offset=20 (local.get $2) (i32.add (local.tee $4 - (i32.load $108 offset=20 + (i32.load offset=20 (local.get $2) ) ) (i32.const 1) ) ) - (i32.store8 $108 + (i32.store8 (i32.add (local.get $4) - (i32.load $108 offset=8 + (i32.load offset=8 (local.get $2) ) ) @@ -982,25 +982,25 @@ total ) ) (local.set $3 - (i32.load $108 offset=48 + (i32.load offset=48 (local.get $0) ) ) - (i32.store $108 offset=20 + (i32.store offset=20 (local.get $2) (i32.add (local.tee $4 - (i32.load $108 offset=20 + (i32.load offset=20 (local.get $2) ) ) (i32.const 1) ) ) - (i32.store8 $108 + (i32.store8 (i32.add (local.get $4) - (i32.load $108 offset=8 + (i32.load offset=8 (local.get $2) ) ) @@ -1009,21 +1009,21 @@ total (i32.const 8) ) ) - (i32.store $108 offset=20 + (i32.store offset=20 (local.get $2) (i32.add (local.tee $4 - (i32.load $108 offset=20 + (i32.load offset=20 (local.get $2) ) ) (i32.const 1) ) ) - (i32.store8 $108 + (i32.store8 (i32.add (local.get $4) - (i32.load $108 offset=8 + (i32.load offset=8 (local.get $2) ) ) @@ -1031,7 +1031,7 @@ total ) ) ) - (i32.store $108 offset=48 + (i32.store offset=48 (local.get $0) (call $fimport$15 (i32.const 0) @@ -1040,7 +1040,7 @@ total ) ) (local.set $3 - (i32.load $108 offset=4 + (i32.load offset=4 (local.get $2) ) ) @@ -1055,27 +1055,27 @@ total ) (block $label$26 (if - (i32.load $108 offset=16 + (i32.load offset=16 (local.tee $5 - (i32.load $108 offset=28 + (i32.load offset=28 (local.get $2) ) ) ) (block (local.set $3 - (i32.load $108 offset=20 + (i32.load offset=20 (local.get $2) ) ) (br_if $label$26 (i32.ge_u (local.tee $6 - (i32.load $108 offset=32 + (i32.load offset=32 (local.get $2) ) ) - (i32.load16_u $108 offset=20 + (i32.load16_u offset=20 (local.get $5) ) ) @@ -1086,7 +1086,7 @@ total (loop $label$28 (if (i32.eq - (i32.load $108 offset=12 + (i32.load offset=12 (local.get $2) ) (local.get $3) @@ -1101,19 +1101,19 @@ total ) (br_if $label$30 (i32.eqz - (i32.load $108 offset=44 + (i32.load offset=44 (local.get $5) ) ) ) - (i32.store $108 offset=48 + (i32.store offset=48 (local.get $0) (call $fimport$14 - (i32.load $108 offset=48 + (i32.load offset=48 (local.get $0) ) (i32.add - (i32.load $108 offset=8 + (i32.load offset=8 (local.get $2) ) (local.get $4) @@ -1131,14 +1131,14 @@ total (local.tee $3 (select (local.tee $3 - (i32.load $108 offset=16 + (i32.load offset=16 (local.get $0) ) ) (local.tee $5 - (i32.load $108 offset=20 + (i32.load offset=20 (local.tee $4 - (i32.load $108 offset=28 + (i32.load offset=28 (local.get $0) ) ) @@ -1154,60 +1154,60 @@ total ) (drop (call $fimport$98 - (i32.load $108 offset=12 + (i32.load offset=12 (local.get $0) ) - (i32.load $108 offset=16 + (i32.load offset=16 (local.get $4) ) (local.get $3) ) ) - (i32.store $108 offset=12 + (i32.store offset=12 (local.get $0) (i32.add - (i32.load $108 offset=12 + (i32.load offset=12 (local.get $0) ) (local.get $3) ) ) - (i32.store $108 offset=16 + (i32.store offset=16 (local.tee $4 - (i32.load $108 offset=28 + (i32.load offset=28 (local.get $0) ) ) (i32.add - (i32.load $108 offset=16 + (i32.load offset=16 (local.get $4) ) (local.get $3) ) ) - (i32.store $108 offset=20 + (i32.store offset=20 (local.get $0) (i32.add - (i32.load $108 offset=20 + (i32.load offset=20 (local.get $0) ) (local.get $3) ) ) - (i32.store $108 offset=16 + (i32.store offset=16 (local.get $0) (i32.sub - (i32.load $108 offset=16 + (i32.load offset=16 (local.get $0) ) (local.get $3) ) ) - (i32.store $108 offset=20 + (i32.store offset=20 (local.get $4) (local.tee $3 (i32.sub - (i32.load $108 offset=20 + (i32.load offset=20 (local.get $4) ) (local.get $3) @@ -1217,32 +1217,32 @@ total (br_if $label$31 (local.get $3) ) - (i32.store $108 offset=16 + (i32.store offset=16 (local.get $4) - (i32.load $108 offset=8 + (i32.load offset=8 (local.get $4) ) ) ) (local.set $5 - (i32.load $108 offset=28 + (i32.load offset=28 (local.get $2) ) ) (br_if $label$26 (i32.eq (local.tee $3 - (i32.load $108 offset=20 + (i32.load offset=20 (local.get $2) ) ) - (i32.load $108 offset=12 + (i32.load offset=12 (local.get $2) ) ) ) (local.set $6 - (i32.load $108 offset=32 + (i32.load offset=32 (local.get $2) ) ) @@ -1252,36 +1252,36 @@ total ) ) (local.set $5 - (i32.load8_u $108 + (i32.load8_u (i32.add - (i32.load $108 offset=16 + (i32.load offset=16 (local.get $5) ) (local.get $6) ) ) ) - (i32.store $108 offset=20 + (i32.store offset=20 (local.get $2) (i32.add (local.get $3) (i32.const 1) ) ) - (i32.store8 $108 + (i32.store8 (i32.add - (i32.load $108 offset=8 + (i32.load offset=8 (local.get $2) ) (local.get $3) ) (local.get $5) ) - (i32.store $108 offset=32 + (i32.store offset=32 (local.get $2) (local.tee $6 (i32.add - (i32.load $108 offset=32 + (i32.load offset=32 (local.get $2) ) (i32.const 1) @@ -1290,9 +1290,9 @@ total ) (if (i32.le_u - (i32.load16_u $108 offset=20 + (i32.load16_u offset=20 (local.tee $5 - (i32.load $108 offset=28 + (i32.load offset=28 (local.get $2) ) ) @@ -1307,7 +1307,7 @@ total ) (block (local.set $3 - (i32.load $108 offset=20 + (i32.load offset=20 (local.get $2) ) ) @@ -1317,7 +1317,7 @@ total ) ) ) - (i32.store $108 offset=4 + (i32.store offset=4 (local.get $2) (i32.const 73) ) @@ -1326,7 +1326,7 @@ total (block $label$33 (br_if $label$33 (i32.eqz - (i32.load $108 offset=44 + (i32.load offset=44 (local.get $5) ) ) @@ -1334,21 +1334,21 @@ total (br_if $label$33 (i32.le_u (local.tee $4 - (i32.load $108 offset=20 + (i32.load offset=20 (local.get $2) ) ) (local.get $3) ) ) - (i32.store $108 offset=48 + (i32.store offset=48 (local.get $0) (call $fimport$14 - (i32.load $108 offset=48 + (i32.load offset=48 (local.get $0) ) (i32.add - (i32.load $108 offset=8 + (i32.load offset=8 (local.get $2) ) (local.get $3) @@ -1360,26 +1360,26 @@ total ) ) (local.set $5 - (i32.load $108 offset=28 + (i32.load offset=28 (local.get $2) ) ) ) (if (i32.eq - (i32.load $108 offset=32 + (i32.load offset=32 (local.get $2) ) - (i32.load $108 offset=20 + (i32.load offset=20 (local.get $5) ) ) (block - (i32.store $108 offset=4 + (i32.store offset=4 (local.get $2) (i32.const 73) ) - (i32.store $108 offset=32 + (i32.store offset=32 (local.get $2) (i32.const 0) ) @@ -1387,7 +1387,7 @@ total ) ) (local.set $3 - (i32.load $108 offset=4 + (i32.load offset=4 (local.get $2) ) ) @@ -1399,21 +1399,21 @@ total ) ) (local.set $5 - (i32.load $108 offset=28 + (i32.load offset=28 (local.get $2) ) ) ) (br_if $label$11 (i32.eqz - (i32.load $108 offset=28 + (i32.load offset=28 (local.get $5) ) ) ) (local.set $4 (local.tee $3 - (i32.load $108 offset=20 + (i32.load offset=20 (local.get $2) ) ) @@ -1424,7 +1424,7 @@ total (block $label$36 (if (i32.eq - (i32.load $108 offset=12 + (i32.load offset=12 (local.get $2) ) (local.get $3) @@ -1439,21 +1439,21 @@ total ) (br_if $label$39 (i32.eqz - (i32.load $108 offset=44 - (i32.load $108 offset=28 + (i32.load offset=44 + (i32.load offset=28 (local.get $2) ) ) ) ) - (i32.store $108 offset=48 + (i32.store offset=48 (local.get $0) (call $fimport$14 - (i32.load $108 offset=48 + (i32.load offset=48 (local.get $0) ) (i32.add - (i32.load $108 offset=8 + (i32.load offset=8 (local.get $2) ) (local.get $4) @@ -1471,14 +1471,14 @@ total (local.tee $3 (select (local.tee $3 - (i32.load $108 offset=16 + (i32.load offset=16 (local.get $0) ) ) (local.tee $5 - (i32.load $108 offset=20 + (i32.load offset=20 (local.tee $4 - (i32.load $108 offset=28 + (i32.load offset=28 (local.get $0) ) ) @@ -1494,60 +1494,60 @@ total ) (drop (call $fimport$98 - (i32.load $108 offset=12 + (i32.load offset=12 (local.get $0) ) - (i32.load $108 offset=16 + (i32.load offset=16 (local.get $4) ) (local.get $3) ) ) - (i32.store $108 offset=12 + (i32.store offset=12 (local.get $0) (i32.add - (i32.load $108 offset=12 + (i32.load offset=12 (local.get $0) ) (local.get $3) ) ) - (i32.store $108 offset=16 + (i32.store offset=16 (local.tee $4 - (i32.load $108 offset=28 + (i32.load offset=28 (local.get $0) ) ) (i32.add - (i32.load $108 offset=16 + (i32.load offset=16 (local.get $4) ) (local.get $3) ) ) - (i32.store $108 offset=20 + (i32.store offset=20 (local.get $0) (i32.add - (i32.load $108 offset=20 + (i32.load offset=20 (local.get $0) ) (local.get $3) ) ) - (i32.store $108 offset=16 + (i32.store offset=16 (local.get $0) (i32.sub - (i32.load $108 offset=16 + (i32.load offset=16 (local.get $0) ) (local.get $3) ) ) - (i32.store $108 offset=20 + (i32.store offset=20 (local.get $4) (local.tee $3 (i32.sub - (i32.load $108 offset=20 + (i32.load offset=20 (local.get $4) ) (local.get $3) @@ -1557,9 +1557,9 @@ total (br_if $label$40 (local.get $3) ) - (i32.store $108 offset=16 + (i32.store offset=16 (local.get $4) - (i32.load $108 offset=8 + (i32.load offset=8 (local.get $4) ) ) @@ -1567,11 +1567,11 @@ total (br_if $label$36 (i32.eq (local.tee $3 - (i32.load $108 offset=20 + (i32.load offset=20 (local.get $2) ) ) - (i32.load $108 offset=12 + (i32.load offset=12 (local.get $2) ) ) @@ -1582,17 +1582,17 @@ total ) ) (local.set $5 - (i32.load $108 offset=28 - (i32.load $108 offset=28 + (i32.load offset=28 + (i32.load offset=28 (local.get $2) ) ) ) - (i32.store $108 offset=32 + (i32.store offset=32 (local.get $2) (i32.add (local.tee $6 - (i32.load $108 offset=32 + (i32.load offset=32 (local.get $2) ) ) @@ -1600,23 +1600,23 @@ total ) ) (local.set $5 - (i32.load8_u $108 + (i32.load8_u (i32.add (local.get $5) (local.get $6) ) ) ) - (i32.store $108 offset=20 + (i32.store offset=20 (local.get $2) (i32.add (local.get $3) (i32.const 1) ) ) - (i32.store8 $108 + (i32.store8 (i32.add - (i32.load $108 offset=8 + (i32.load offset=8 (local.get $2) ) (local.get $3) @@ -1627,7 +1627,7 @@ total (local.get $5) (block (local.set $3 - (i32.load $108 offset=20 + (i32.load offset=20 (local.get $2) ) ) @@ -1650,8 +1650,8 @@ total (block $label$42 (br_if $label$42 (i32.eqz - (i32.load $108 offset=44 - (i32.load $108 offset=28 + (i32.load offset=44 + (i32.load offset=28 (local.get $2) ) ) @@ -1660,21 +1660,21 @@ total (br_if $label$42 (i32.le_u (local.tee $4 - (i32.load $108 offset=20 + (i32.load offset=20 (local.get $2) ) ) (local.get $3) ) ) - (i32.store $108 offset=48 + (i32.store offset=48 (local.get $0) (call $fimport$14 - (i32.load $108 offset=48 + (i32.load offset=48 (local.get $0) ) (i32.add - (i32.load $108 offset=8 + (i32.load offset=8 (local.get $2) ) (local.get $3) @@ -1692,7 +1692,7 @@ total ) ) (local.set $3 - (i32.load $108 offset=4 + (i32.load offset=4 (local.get $2) ) ) @@ -1705,20 +1705,20 @@ total ) (br $label$9) ) - (i32.store $108 offset=32 + (i32.store offset=32 (local.get $2) (i32.const 0) ) ) - (i32.store $108 offset=4 + (i32.store offset=4 (local.get $2) (i32.const 91) ) ) (br_if $label$8 (i32.eqz - (i32.load $108 offset=36 - (i32.load $108 offset=28 + (i32.load offset=36 + (i32.load offset=28 (local.get $2) ) ) @@ -1726,7 +1726,7 @@ total ) (local.set $4 (local.tee $3 - (i32.load $108 offset=20 + (i32.load offset=20 (local.get $2) ) ) @@ -1737,7 +1737,7 @@ total (block $label$44 (if (i32.eq - (i32.load $108 offset=12 + (i32.load offset=12 (local.get $2) ) (local.get $3) @@ -1752,21 +1752,21 @@ total ) (br_if $label$47 (i32.eqz - (i32.load $108 offset=44 - (i32.load $108 offset=28 + (i32.load offset=44 + (i32.load offset=28 (local.get $2) ) ) ) ) - (i32.store $108 offset=48 + (i32.store offset=48 (local.get $0) (call $fimport$14 - (i32.load $108 offset=48 + (i32.load offset=48 (local.get $0) ) (i32.add - (i32.load $108 offset=8 + (i32.load offset=8 (local.get $2) ) (local.get $4) @@ -1784,14 +1784,14 @@ total (local.tee $3 (select (local.tee $3 - (i32.load $108 offset=16 + (i32.load offset=16 (local.get $0) ) ) (local.tee $5 - (i32.load $108 offset=20 + (i32.load offset=20 (local.tee $4 - (i32.load $108 offset=28 + (i32.load offset=28 (local.get $0) ) ) @@ -1807,60 +1807,60 @@ total ) (drop (call $fimport$98 - (i32.load $108 offset=12 + (i32.load offset=12 (local.get $0) ) - (i32.load $108 offset=16 + (i32.load offset=16 (local.get $4) ) (local.get $3) ) ) - (i32.store $108 offset=12 + (i32.store offset=12 (local.get $0) (i32.add - (i32.load $108 offset=12 + (i32.load offset=12 (local.get $0) ) (local.get $3) ) ) - (i32.store $108 offset=16 + (i32.store offset=16 (local.tee $4 - (i32.load $108 offset=28 + (i32.load offset=28 (local.get $0) ) ) (i32.add - (i32.load $108 offset=16 + (i32.load offset=16 (local.get $4) ) (local.get $3) ) ) - (i32.store $108 offset=20 + (i32.store offset=20 (local.get $0) (i32.add - (i32.load $108 offset=20 + (i32.load offset=20 (local.get $0) ) (local.get $3) ) ) - (i32.store $108 offset=16 + (i32.store offset=16 (local.get $0) (i32.sub - (i32.load $108 offset=16 + (i32.load offset=16 (local.get $0) ) (local.get $3) ) ) - (i32.store $108 offset=20 + (i32.store offset=20 (local.get $4) (local.tee $3 (i32.sub - (i32.load $108 offset=20 + (i32.load offset=20 (local.get $4) ) (local.get $3) @@ -1870,9 +1870,9 @@ total (br_if $label$48 (local.get $3) ) - (i32.store $108 offset=16 + (i32.store offset=16 (local.get $4) - (i32.load $108 offset=8 + (i32.load offset=8 (local.get $4) ) ) @@ -1880,11 +1880,11 @@ total (br_if $label$44 (i32.eq (local.tee $3 - (i32.load $108 offset=20 + (i32.load offset=20 (local.get $2) ) ) - (i32.load $108 offset=12 + (i32.load offset=12 (local.get $2) ) ) @@ -1895,17 +1895,17 @@ total ) ) (local.set $5 - (i32.load $108 offset=36 - (i32.load $108 offset=28 + (i32.load offset=36 + (i32.load offset=28 (local.get $2) ) ) ) - (i32.store $108 offset=32 + (i32.store offset=32 (local.get $2) (i32.add (local.tee $6 - (i32.load $108 offset=32 + (i32.load offset=32 (local.get $2) ) ) @@ -1913,23 +1913,23 @@ total ) ) (local.set $5 - (i32.load8_u $108 + (i32.load8_u (i32.add (local.get $5) (local.get $6) ) ) ) - (i32.store $108 offset=20 + (i32.store offset=20 (local.get $2) (i32.add (local.get $3) (i32.const 1) ) ) - (i32.store8 $108 + (i32.store8 (i32.add - (i32.load $108 offset=8 + (i32.load offset=8 (local.get $2) ) (local.get $3) @@ -1940,7 +1940,7 @@ total (local.get $5) (block (local.set $3 - (i32.load $108 offset=20 + (i32.load offset=20 (local.get $2) ) ) @@ -1963,8 +1963,8 @@ total (block $label$50 (br_if $label$50 (i32.eqz - (i32.load $108 offset=44 - (i32.load $108 offset=28 + (i32.load offset=44 + (i32.load offset=28 (local.get $2) ) ) @@ -1973,21 +1973,21 @@ total (br_if $label$50 (i32.le_u (local.tee $4 - (i32.load $108 offset=20 + (i32.load offset=20 (local.get $2) ) ) (local.get $3) ) ) - (i32.store $108 offset=48 + (i32.store offset=48 (local.get $0) (call $fimport$14 - (i32.load $108 offset=48 + (i32.load offset=48 (local.get $0) ) (i32.add - (i32.load $108 offset=8 + (i32.load offset=8 (local.get $2) ) (local.get $3) @@ -2005,7 +2005,7 @@ total ) ) (local.set $3 - (i32.load $108 offset=4 + (i32.load offset=4 (local.get $2) ) ) @@ -2018,14 +2018,14 @@ total ) (br $label$6) ) - (i32.store $108 offset=4 + (i32.store offset=4 (local.get $2) (i32.const 103) ) ) (if - (i32.load $108 offset=44 - (i32.load $108 offset=28 + (i32.load offset=44 + (i32.load offset=28 (local.get $2) ) ) @@ -2033,11 +2033,11 @@ total (block $label$52 (br_if $label$52 (i32.ge_u - (i32.load $108 offset=12 + (i32.load offset=12 (local.get $2) ) (i32.add - (i32.load $108 offset=20 + (i32.load offset=20 (local.get $2) ) (i32.const 2) @@ -2049,14 +2049,14 @@ total (local.tee $3 (select (local.tee $3 - (i32.load $108 offset=16 + (i32.load offset=16 (local.get $0) ) ) (local.tee $5 - (i32.load $108 offset=20 + (i32.load offset=20 (local.tee $4 - (i32.load $108 offset=28 + (i32.load offset=28 (local.get $0) ) ) @@ -2072,60 +2072,60 @@ total ) (drop (call $fimport$98 - (i32.load $108 offset=12 + (i32.load offset=12 (local.get $0) ) - (i32.load $108 offset=16 + (i32.load offset=16 (local.get $4) ) (local.get $3) ) ) - (i32.store $108 offset=12 + (i32.store offset=12 (local.get $0) (i32.add - (i32.load $108 offset=12 + (i32.load offset=12 (local.get $0) ) (local.get $3) ) ) - (i32.store $108 offset=16 + (i32.store offset=16 (local.tee $4 - (i32.load $108 offset=28 + (i32.load offset=28 (local.get $0) ) ) (i32.add - (i32.load $108 offset=16 + (i32.load offset=16 (local.get $4) ) (local.get $3) ) ) - (i32.store $108 offset=20 + (i32.store offset=20 (local.get $0) (i32.add - (i32.load $108 offset=20 + (i32.load offset=20 (local.get $0) ) (local.get $3) ) ) - (i32.store $108 offset=16 + (i32.store offset=16 (local.get $0) (i32.sub - (i32.load $108 offset=16 + (i32.load offset=16 (local.get $0) ) (local.get $3) ) ) - (i32.store $108 offset=20 + (i32.store offset=20 (local.get $4) (local.tee $3 (i32.sub - (i32.load $108 offset=20 + (i32.load offset=20 (local.get $4) ) (local.get $3) @@ -2135,21 +2135,21 @@ total (br_if $label$52 (local.get $3) ) - (i32.store $108 offset=16 + (i32.store offset=16 (local.get $4) - (i32.load $108 offset=8 + (i32.load offset=8 (local.get $4) ) ) ) (br_if $label$6 (i32.lt_u - (i32.load $108 offset=12 + (i32.load offset=12 (local.get $2) ) (i32.add (local.tee $3 - (i32.load $108 offset=20 + (i32.load offset=20 (local.get $2) ) ) @@ -2158,20 +2158,20 @@ total ) ) (local.set $4 - (i32.load $108 offset=48 + (i32.load offset=48 (local.get $0) ) ) - (i32.store $108 offset=20 + (i32.store offset=20 (local.get $2) (i32.add (local.get $3) (i32.const 1) ) ) - (i32.store8 $108 + (i32.store8 (i32.add - (i32.load $108 offset=8 + (i32.load offset=8 (local.get $2) ) (local.get $3) @@ -2179,25 +2179,25 @@ total (local.get $4) ) (local.set $3 - (i32.load $108 offset=48 + (i32.load offset=48 (local.get $0) ) ) - (i32.store $108 offset=20 + (i32.store offset=20 (local.get $2) (i32.add (local.tee $4 - (i32.load $108 offset=20 + (i32.load offset=20 (local.get $2) ) ) (i32.const 1) ) ) - (i32.store8 $108 + (i32.store8 (i32.add (local.get $4) - (i32.load $108 offset=8 + (i32.load offset=8 (local.get $2) ) ) @@ -2206,7 +2206,7 @@ total (i32.const 8) ) ) - (i32.store $108 offset=48 + (i32.store offset=48 (local.get $0) (call $fimport$14 (i32.const 0) @@ -2214,21 +2214,21 @@ total (i32.const 0) ) ) - (i32.store $108 offset=4 + (i32.store offset=4 (local.get $2) (i32.const 113) ) (br $label$6) ) ) - (i32.store $108 offset=4 + (i32.store offset=4 (local.get $2) (i32.const 113) ) ) (block $label$53 (if - (i32.load $108 offset=20 + (i32.load offset=20 (local.get $2) ) (block @@ -2238,14 +2238,14 @@ total (local.tee $3 (select (local.tee $5 - (i32.load $108 offset=16 + (i32.load offset=16 (local.get $0) ) ) (local.tee $3 - (i32.load $108 offset=20 + (i32.load offset=20 (local.tee $4 - (i32.load $108 offset=28 + (i32.load offset=28 (local.get $0) ) ) @@ -2261,62 +2261,62 @@ total ) (drop (call $fimport$98 - (i32.load $108 offset=12 + (i32.load offset=12 (local.get $0) ) - (i32.load $108 offset=16 + (i32.load offset=16 (local.get $4) ) (local.get $3) ) ) - (i32.store $108 offset=12 + (i32.store offset=12 (local.get $0) (i32.add - (i32.load $108 offset=12 + (i32.load offset=12 (local.get $0) ) (local.get $3) ) ) - (i32.store $108 offset=16 + (i32.store offset=16 (local.tee $4 - (i32.load $108 offset=28 + (i32.load offset=28 (local.get $0) ) ) (i32.add - (i32.load $108 offset=16 + (i32.load offset=16 (local.get $4) ) (local.get $3) ) ) - (i32.store $108 offset=20 + (i32.store offset=20 (local.get $0) (i32.add - (i32.load $108 offset=20 + (i32.load offset=20 (local.get $0) ) (local.get $3) ) ) - (i32.store $108 offset=16 + (i32.store offset=16 (local.get $0) (local.tee $5 (i32.sub - (i32.load $108 offset=16 + (i32.load offset=16 (local.get $0) ) (local.get $3) ) ) ) - (i32.store $108 offset=20 + (i32.store offset=20 (local.get $4) (local.tee $3 (i32.sub - (i32.load $108 offset=20 + (i32.load offset=20 (local.get $4) ) (local.get $3) @@ -2326,9 +2326,9 @@ total (br_if $label$55 (local.get $3) ) - (i32.store $108 offset=16 + (i32.store offset=16 (local.get $4) - (i32.load $108 offset=8 + (i32.load offset=8 (local.get $4) ) ) @@ -2352,14 +2352,14 @@ total ) ) (br_if $label$53 - (i32.load $108 offset=4 + (i32.load offset=4 (local.get $0) ) ) (br $folding-inner0) ) (local.set $3 - (i32.load $108 offset=4 + (i32.load offset=4 (local.get $0) ) ) @@ -2369,7 +2369,7 @@ total (if (i32.eq (local.tee $4 - (i32.load $108 offset=4 + (i32.load offset=4 (local.get $2) ) ) @@ -2403,7 +2403,7 @@ total ) (br_if $label$56 (i32.eqz - (i32.load $108 offset=116 + (i32.load offset=116 (local.get $2) ) ) @@ -2418,7 +2418,7 @@ total (if (i32.ne (local.tee $3 - (i32.load $108 offset=136 + (i32.load offset=136 (local.get $2) ) ) @@ -2449,10 +2449,10 @@ total (call_indirect (type $2) (local.get $2) (local.get $1) - (i32.load $108 + (i32.load (i32.add (i32.mul - (i32.load $108 offset=132 + (i32.load offset=132 (local.get $2) ) (i32.const 12) @@ -2467,7 +2467,7 @@ total ) (i32.const 3) ) - (i32.store $108 offset=4 + (i32.store offset=4 (local.get $2) (i32.const 666) ) @@ -2484,7 +2484,7 @@ total (i32.const 0) ) (br_if $label$1 - (i32.load $108 offset=16 + (i32.load offset=16 (local.get $0) ) ) @@ -2528,17 +2528,17 @@ total (i32.const 3) ) ) - (i32.store16 $108 + (i32.store16 (i32.add (local.tee $3 - (i32.load $108 offset=68 + (i32.load offset=68 (local.get $2) ) ) (local.tee $4 (i32.sub (i32.shl - (i32.load $108 offset=76 + (i32.load offset=76 (local.get $2) ) (i32.const 1) @@ -2557,15 +2557,15 @@ total ) ) (br_if $label$65 - (i32.load $108 offset=116 + (i32.load offset=116 (local.get $2) ) ) - (i32.store $108 offset=92 + (i32.store offset=92 (local.get $2) (i32.const 0) ) - (i32.store $108 offset=108 + (i32.store offset=108 (local.get $2) (i32.const 0) ) @@ -2576,14 +2576,14 @@ total (local.tee $3 (select (local.tee $5 - (i32.load $108 offset=16 + (i32.load offset=16 (local.get $0) ) ) (local.tee $3 - (i32.load $108 offset=20 + (i32.load offset=20 (local.tee $4 - (i32.load $108 offset=28 + (i32.load offset=28 (local.get $0) ) ) @@ -2599,62 +2599,62 @@ total ) (drop (call $fimport$98 - (i32.load $108 offset=12 + (i32.load offset=12 (local.get $0) ) - (i32.load $108 offset=16 + (i32.load offset=16 (local.get $4) ) (local.get $3) ) ) - (i32.store $108 offset=12 + (i32.store offset=12 (local.get $0) (i32.add - (i32.load $108 offset=12 + (i32.load offset=12 (local.get $0) ) (local.get $3) ) ) - (i32.store $108 offset=16 + (i32.store offset=16 (local.tee $4 - (i32.load $108 offset=28 + (i32.load offset=28 (local.get $0) ) ) (i32.add - (i32.load $108 offset=16 + (i32.load offset=16 (local.get $4) ) (local.get $3) ) ) - (i32.store $108 offset=20 + (i32.store offset=20 (local.get $0) (i32.add - (i32.load $108 offset=20 + (i32.load offset=20 (local.get $0) ) (local.get $3) ) ) - (i32.store $108 offset=16 + (i32.store offset=16 (local.get $0) (local.tee $5 (i32.sub - (i32.load $108 offset=16 + (i32.load offset=16 (local.get $0) ) (local.get $3) ) ) ) - (i32.store $108 offset=20 + (i32.store offset=20 (local.get $4) (local.tee $3 (i32.sub - (i32.load $108 offset=20 + (i32.load offset=20 (local.get $4) ) (local.get $3) @@ -2664,9 +2664,9 @@ total (br_if $label$67 (local.get $3) ) - (i32.store $108 offset=16 + (i32.store offset=16 (local.get $4) - (i32.load $108 offset=8 + (i32.load offset=8 (local.get $4) ) ) @@ -2691,7 +2691,7 @@ total (br_if $label$1 (i32.le_s (local.tee $4 - (i32.load $108 offset=24 + (i32.load offset=24 (local.get $2) ) ) @@ -2699,11 +2699,11 @@ total ) ) (local.set $1 - (i32.load $108 offset=48 + (i32.load offset=48 (local.get $0) ) ) - (i32.store8 $108 + (i32.store8 (block $label$68 (result i32) (if (i32.eq @@ -2711,46 +2711,46 @@ total (i32.const 2) ) (block - (i32.store $108 offset=20 + (i32.store offset=20 (local.get $2) (i32.add (local.tee $3 - (i32.load $108 offset=20 + (i32.load offset=20 (local.get $2) ) ) (i32.const 1) ) ) - (i32.store8 $108 + (i32.store8 (i32.add (local.get $3) - (i32.load $108 offset=8 + (i32.load offset=8 (local.get $2) ) ) (local.get $1) ) (local.set $1 - (i32.load $108 offset=48 + (i32.load offset=48 (local.get $0) ) ) - (i32.store $108 offset=20 + (i32.store offset=20 (local.get $2) (i32.add (local.tee $3 - (i32.load $108 offset=20 + (i32.load offset=20 (local.get $2) ) ) (i32.const 1) ) ) - (i32.store8 $108 + (i32.store8 (i32.add (local.get $3) - (i32.load $108 offset=8 + (i32.load offset=8 (local.get $2) ) ) @@ -2760,100 +2760,100 @@ total ) ) (local.set $1 - (i32.load16_u $108 offset=50 + (i32.load16_u offset=50 (local.get $0) ) ) - (i32.store $108 offset=20 + (i32.store offset=20 (local.get $2) (i32.add (local.tee $3 - (i32.load $108 offset=20 + (i32.load offset=20 (local.get $2) ) ) (i32.const 1) ) ) - (i32.store8 $108 + (i32.store8 (i32.add (local.get $3) - (i32.load $108 offset=8 + (i32.load offset=8 (local.get $2) ) ) (local.get $1) ) (local.set $1 - (i32.load8_u $108 offset=51 + (i32.load8_u offset=51 (local.get $0) ) ) - (i32.store $108 offset=20 + (i32.store offset=20 (local.get $2) (i32.add (local.tee $3 - (i32.load $108 offset=20 + (i32.load offset=20 (local.get $2) ) ) (i32.const 1) ) ) - (i32.store8 $108 + (i32.store8 (i32.add (local.get $3) - (i32.load $108 offset=8 + (i32.load offset=8 (local.get $2) ) ) (local.get $1) ) (local.set $1 - (i32.load $108 offset=8 + (i32.load offset=8 (local.get $0) ) ) - (i32.store $108 offset=20 + (i32.store offset=20 (local.get $2) (i32.add (local.tee $3 - (i32.load $108 offset=20 + (i32.load offset=20 (local.get $2) ) ) (i32.const 1) ) ) - (i32.store8 $108 + (i32.store8 (i32.add (local.get $3) - (i32.load $108 offset=8 + (i32.load offset=8 (local.get $2) ) ) (local.get $1) ) (local.set $1 - (i32.load $108 offset=8 + (i32.load offset=8 (local.get $0) ) ) - (i32.store $108 offset=20 + (i32.store offset=20 (local.get $2) (i32.add (local.tee $3 - (i32.load $108 offset=20 + (i32.load offset=20 (local.get $2) ) ) (i32.const 1) ) ) - (i32.store8 $108 + (i32.store8 (i32.add (local.get $3) - (i32.load $108 offset=8 + (i32.load offset=8 (local.get $2) ) ) @@ -2863,40 +2863,40 @@ total ) ) (local.set $1 - (i32.load16_u $108 offset=10 + (i32.load16_u offset=10 (local.get $0) ) ) - (i32.store $108 offset=20 + (i32.store offset=20 (local.get $2) (i32.add (local.tee $3 - (i32.load $108 offset=20 + (i32.load offset=20 (local.get $2) ) ) (i32.const 1) ) ) - (i32.store8 $108 + (i32.store8 (i32.add (local.get $3) - (i32.load $108 offset=8 + (i32.load offset=8 (local.get $2) ) ) (local.get $1) ) (local.set $3 - (i32.load8_u $108 offset=11 + (i32.load8_u offset=11 (local.get $0) ) ) - (i32.store $108 offset=20 + (i32.store offset=20 (local.get $2) (i32.add (local.tee $1 - (i32.load $108 offset=20 + (i32.load offset=20 (local.get $2) ) ) @@ -2906,28 +2906,28 @@ total (br $label$68 (i32.add (local.get $1) - (i32.load $108 offset=8 + (i32.load offset=8 (local.get $2) ) ) ) ) ) - (i32.store $108 offset=20 + (i32.store offset=20 (local.get $2) (i32.add (local.tee $3 - (i32.load $108 offset=20 + (i32.load offset=20 (local.get $2) ) ) (i32.const 1) ) ) - (i32.store8 $108 + (i32.store8 (i32.add (local.get $3) - (i32.load $108 offset=8 + (i32.load offset=8 (local.get $2) ) ) @@ -2936,21 +2936,21 @@ total (i32.const 24) ) ) - (i32.store $108 offset=20 + (i32.store offset=20 (local.get $2) (i32.add (local.tee $3 - (i32.load $108 offset=20 + (i32.load offset=20 (local.get $2) ) ) (i32.const 1) ) ) - (i32.store8 $108 + (i32.store8 (i32.add (local.get $3) - (i32.load $108 offset=8 + (i32.load offset=8 (local.get $2) ) ) @@ -2960,25 +2960,25 @@ total ) ) (local.set $3 - (i32.load $108 offset=48 + (i32.load offset=48 (local.get $0) ) ) - (i32.store $108 offset=20 + (i32.store offset=20 (local.get $2) (i32.add (local.tee $1 - (i32.load $108 offset=20 + (i32.load offset=20 (local.get $2) ) ) (i32.const 1) ) ) - (i32.store8 $108 + (i32.store8 (i32.add (local.get $1) - (i32.load $108 offset=8 + (i32.load offset=8 (local.get $2) ) ) @@ -2987,11 +2987,11 @@ total (i32.const 8) ) ) - (i32.store $108 offset=20 + (i32.store offset=20 (local.get $2) (i32.add (local.tee $1 - (i32.load $108 offset=20 + (i32.load offset=20 (local.get $2) ) ) @@ -3000,7 +3000,7 @@ total ) (i32.add (local.get $1) - (i32.load $108 offset=8 + (i32.load offset=8 (local.get $2) ) ) @@ -3013,14 +3013,14 @@ total (local.tee $1 (select (local.tee $1 - (i32.load $108 offset=16 + (i32.load offset=16 (local.get $0) ) ) (local.tee $4 - (i32.load $108 offset=20 + (i32.load offset=20 (local.tee $3 - (i32.load $108 offset=28 + (i32.load offset=28 (local.get $0) ) ) @@ -3036,60 +3036,60 @@ total ) (drop (call $fimport$98 - (i32.load $108 offset=12 + (i32.load offset=12 (local.get $0) ) - (i32.load $108 offset=16 + (i32.load offset=16 (local.get $3) ) (local.get $1) ) ) - (i32.store $108 offset=12 + (i32.store offset=12 (local.get $0) (i32.add - (i32.load $108 offset=12 + (i32.load offset=12 (local.get $0) ) (local.get $1) ) ) - (i32.store $108 offset=16 + (i32.store offset=16 (local.tee $3 - (i32.load $108 offset=28 + (i32.load offset=28 (local.get $0) ) ) (i32.add - (i32.load $108 offset=16 + (i32.load offset=16 (local.get $3) ) (local.get $1) ) ) - (i32.store $108 offset=20 + (i32.store offset=20 (local.get $0) (i32.add - (i32.load $108 offset=20 + (i32.load offset=20 (local.get $0) ) (local.get $1) ) ) - (i32.store $108 offset=16 + (i32.store offset=16 (local.get $0) (i32.sub - (i32.load $108 offset=16 + (i32.load offset=16 (local.get $0) ) (local.get $1) ) ) - (i32.store $108 offset=20 + (i32.store offset=20 (local.get $3) (local.tee $0 (i32.sub - (i32.load $108 offset=20 + (i32.load offset=20 (local.get $3) ) (local.get $1) @@ -3099,9 +3099,9 @@ total (br_if $label$70 (local.get $0) ) - (i32.store $108 offset=16 + (i32.store offset=16 (local.get $3) - (i32.load $108 offset=8 + (i32.load offset=8 (local.get $3) ) ) @@ -3109,13 +3109,13 @@ total (if (i32.gt_s (local.tee $0 - (i32.load $108 offset=24 + (i32.load offset=24 (local.get $2) ) ) (i32.const 0) ) - (i32.store $108 offset=24 + (i32.store offset=24 (local.get $2) (i32.sub (i32.const 0) @@ -3125,7 +3125,7 @@ total ) (local.set $3 (i32.eqz - (i32.load $108 offset=20 + (i32.load offset=20 (local.get $2) ) ) @@ -3135,9 +3135,9 @@ total (local.get $3) ) ) - (i32.store $108 offset=24 + (i32.store offset=24 (local.get $0) - (i32.load $108 + (i32.load (i32.const 17004) ) ) @@ -3145,7 +3145,7 @@ total (i32.const -5) ) ) - (i32.store $108 offset=40 + (i32.store offset=40 (local.get $2) (i32.const -1) ) diff --git a/test/passes/converge_O3_metrics.bin.txt b/test/passes/converge_O3_metrics.bin.txt index fe99103bd9d..4a2d8a5c18b 100644 --- a/test/passes/converge_O3_metrics.bin.txt +++ b/test/passes/converge_O3_metrics.bin.txt @@ -60,7 +60,7 @@ total ) (loop $label$3 (br_if $label$3 - (i32.load8_s $mimport$0 + (i32.load8_s (local.tee $0 (i32.add (local.get $0) @@ -71,11 +71,11 @@ total ) ) (local.set $1 - (i32.load $mimport$0 offset=24 + (i32.load offset=24 (i32.add - (i32.load $mimport$0 + (i32.load (i32.sub - (i32.load $mimport$0 + (i32.load (i32.const 18100) ) (i32.const 12) @@ -99,8 +99,8 @@ total (i32.const 10888) (local.get $0) (i32.add - (i32.load $mimport$0 offset=48 - (i32.load $mimport$0 + (i32.load offset=48 + (i32.load (local.get $1) ) ) @@ -113,14 +113,14 @@ total (block $label$1 (br_if $label$1 (if (result i32) - (i32.load $mimport$0 + (i32.load (i32.add (local.tee $0 - (i32.load $mimport$0 + (i32.load (i32.add - (i32.load $mimport$0 + (i32.load (i32.sub - (i32.load $mimport$0 + (i32.load (i32.const 18100) ) (i32.const 12) @@ -138,8 +138,8 @@ total (local.get $0) (i32.const 10) (i32.add - (i32.load $mimport$0 offset=52 - (i32.load $mimport$0 + (i32.load offset=52 + (i32.load (local.get $0) ) ) @@ -155,21 +155,21 @@ total (global.set $global$0 (i32.const 32) ) - (i32.store $mimport$0 + (i32.store (i32.const 8) (local.get $1) ) - (i32.store $mimport$0 + (i32.store (i32.const 12) (local.get $2) ) - (i32.store $mimport$0 + (i32.store (local.tee $0 (i32.const 32) ) (i32.const 1) ) - (i32.store $mimport$0 offset=8 + (i32.store offset=8 (local.get $0) (i32.const 2) ) @@ -182,7 +182,7 @@ total (i32.const 1) ) (func $__ZNSt3__211__stdoutbufIcE8overflowEi (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) - (i32.store8 $mimport$0 + (i32.store8 (i32.const 0) (local.get $1) ) @@ -192,8 +192,8 @@ total (i32.const 0) (i32.const 1) (i32.add - (i32.load $mimport$0 offset=36 - (i32.load $mimport$0 + (i32.load offset=36 + (i32.load (i32.add (local.get $0) (i32.const 32) @@ -213,8 +213,8 @@ total (local.get $1) (local.get $2) (i32.add - (i32.load $mimport$0 offset=36 - (i32.load $mimport$0 offset=32 + (i32.load offset=36 + (i32.load offset=32 (local.get $0) ) ) @@ -285,7 +285,7 @@ total ) (loop $label$3 (br_if $label$3 - (i32.load8_s $mimport$0 + (i32.load8_s (local.tee $0 (i32.add (local.get $0) @@ -296,11 +296,11 @@ total ) ) (local.set $1 - (i32.load $mimport$0 offset=24 + (i32.load offset=24 (i32.add - (i32.load $mimport$0 + (i32.load (i32.sub - (i32.load $mimport$0 + (i32.load (i32.const 18100) ) (i32.const 12) @@ -324,8 +324,8 @@ total (i32.const 10888) (local.get $0) (i32.add - (i32.load $mimport$0 offset=48 - (i32.load $mimport$0 + (i32.load offset=48 + (i32.load (local.get $1) ) ) @@ -338,14 +338,14 @@ total (block $label$1 (br_if $label$1 (if (result i32) - (i32.load $mimport$0 + (i32.load (i32.add (local.tee $0 - (i32.load $mimport$0 + (i32.load (i32.add - (i32.load $mimport$0 + (i32.load (i32.sub - (i32.load $mimport$0 + (i32.load (i32.const 18100) ) (i32.const 12) @@ -363,8 +363,8 @@ total (local.get $0) (i32.const 10) (i32.add - (i32.load $mimport$0 offset=52 - (i32.load $mimport$0 + (i32.load offset=52 + (i32.load (local.get $0) ) ) @@ -377,19 +377,19 @@ total (i32.const 0) ) (func $___stdout_write (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (i32.store $mimport$0 + (i32.store (i32.const 8) (local.get $1) ) - (i32.store $mimport$0 + (i32.store (i32.const 12) (local.get $2) ) - (i32.store $mimport$0 + (i32.store (i32.const 32) (i32.const 1) ) - (i32.store $mimport$0 + (i32.store (i32.const 40) (i32.const 2) ) @@ -402,7 +402,7 @@ total (i32.const 1) ) (func $__ZNSt3__211__stdoutbufIcE8overflowEi (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) - (i32.store8 $mimport$0 + (i32.store8 (i32.const 0) (local.get $1) ) @@ -412,8 +412,8 @@ total (i32.const 0) (i32.const 1) (i32.add - (i32.load $mimport$0 offset=36 - (i32.load $mimport$0 + (i32.load offset=36 + (i32.load (i32.add (local.get $0) (i32.const 32) @@ -433,8 +433,8 @@ total (local.get $1) (local.get $2) (i32.add - (i32.load $mimport$0 offset=36 - (i32.load $mimport$0 offset=32 + (i32.load offset=36 + (i32.load offset=32 (local.get $0) ) ) @@ -505,7 +505,7 @@ total ) (loop $label$3 (br_if $label$3 - (i32.load8_s $mimport$0 + (i32.load8_s (local.tee $0 (i32.add (local.get $0) @@ -516,11 +516,11 @@ total ) ) (local.set $1 - (i32.load $mimport$0 offset=24 + (i32.load offset=24 (i32.add - (i32.load $mimport$0 + (i32.load (i32.sub - (i32.load $mimport$0 + (i32.load (i32.const 18100) ) (i32.const 12) @@ -544,8 +544,8 @@ total (i32.const 10888) (local.get $0) (i32.add - (i32.load $mimport$0 offset=48 - (i32.load $mimport$0 + (i32.load offset=48 + (i32.load (local.get $1) ) ) @@ -558,14 +558,14 @@ total (block $label$1 (br_if $label$1 (if (result i32) - (i32.load $mimport$0 + (i32.load (i32.add (local.tee $0 - (i32.load $mimport$0 + (i32.load (i32.add - (i32.load $mimport$0 + (i32.load (i32.sub - (i32.load $mimport$0 + (i32.load (i32.const 18100) ) (i32.const 12) @@ -583,8 +583,8 @@ total (local.get $0) (i32.const 10) (i32.add - (i32.load $mimport$0 offset=52 - (i32.load $mimport$0 + (i32.load offset=52 + (i32.load (local.get $0) ) ) @@ -597,19 +597,19 @@ total (i32.const 0) ) (func $___stdout_write (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (i32.store $mimport$0 + (i32.store (i32.const 8) (local.get $1) ) - (i32.store $mimport$0 + (i32.store (i32.const 12) (local.get $2) ) - (i32.store $mimport$0 + (i32.store (i32.const 32) (i32.const 1) ) - (i32.store $mimport$0 + (i32.store (i32.const 40) (i32.const 2) ) @@ -622,7 +622,7 @@ total (i32.const 1) ) (func $__ZNSt3__211__stdoutbufIcE8overflowEi (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) - (i32.store8 $mimport$0 + (i32.store8 (i32.const 0) (local.get $1) ) @@ -632,8 +632,8 @@ total (i32.const 0) (i32.const 1) (i32.add - (i32.load $mimport$0 offset=36 - (i32.load $mimport$0 + (i32.load offset=36 + (i32.load (i32.add (local.get $0) (i32.const 32) @@ -653,8 +653,8 @@ total (local.get $1) (local.get $2) (i32.add - (i32.load $mimport$0 offset=36 - (i32.load $mimport$0 offset=32 + (i32.load offset=36 + (i32.load offset=32 (local.get $0) ) ) diff --git a/test/passes/duplicate-function-elimination_optimize-level=1.txt b/test/passes/duplicate-function-elimination_optimize-level=1.txt index 7c3e0c52c14..c5f9b268e34 100644 --- a/test/passes/duplicate-function-elimination_optimize-level=1.txt +++ b/test/passes/duplicate-function-elimination_optimize-level=1.txt @@ -495,12 +495,12 @@ (memory $0 10) (func $erase (drop - (i32.load $0 + (i32.load (i32.const 0) ) ) (drop - (i32.load16_s $0 offset=3 + (i32.load16_s offset=3 (i32.const 0) ) ) @@ -511,14 +511,14 @@ (memory $0 10) (func $keep2 (drop - (i32.load $0 offset=3 + (i32.load offset=3 (i32.const 0) ) ) ) (func $other (drop - (i32.load16_s $0 offset=3 + (i32.load16_s offset=3 (i32.const 0) ) ) @@ -529,14 +529,14 @@ (memory $0 10) (func $keep2 (drop - (i32.load16_s $0 offset=3 + (i32.load16_s offset=3 (i32.const 0) ) ) ) (func $other (drop - (i32.load16_s $0 offset=3 align=1 + (i32.load16_s offset=3 align=1 (i32.const 0) ) ) @@ -547,14 +547,14 @@ (memory $0 10) (func $keep2 (drop - (i32.load16_s $0 + (i32.load16_s (i32.const 0) ) ) ) (func $other (drop - (i32.load16_s $0 offset=3 + (i32.load16_s offset=3 (i32.const 0) ) ) @@ -565,14 +565,14 @@ (memory $0 10) (func $keep2 (drop - (i32.load16_s $0 offset=3 + (i32.load16_s offset=3 (i32.const 0) ) ) ) (func $other (drop - (i32.load16_s $0 offset=3 + (i32.load16_s offset=3 (i32.const 1) ) ) @@ -583,14 +583,14 @@ (memory $0 10) (func $keep2 (drop - (i32.load16_u $0 offset=3 + (i32.load16_u offset=3 (i32.const 0) ) ) ) (func $other (drop - (i32.load16_s $0 offset=3 + (i32.load16_s offset=3 (i32.const 0) ) ) @@ -600,11 +600,11 @@ (type $0 (func)) (memory $0 10) (func $erase - (i32.store $0 + (i32.store (i32.const 0) (i32.const 100) ) - (i32.store16 $0 offset=3 + (i32.store16 offset=3 (i32.const 0) (i32.const 100) ) @@ -614,13 +614,13 @@ (type $0 (func)) (memory $0 10) (func $keep2 - (i32.store $0 offset=3 + (i32.store offset=3 (i32.const 0) (i32.const 100) ) ) (func $other - (i32.store16 $0 offset=3 + (i32.store16 offset=3 (i32.const 0) (i32.const 100) ) @@ -630,13 +630,13 @@ (type $0 (func)) (memory $0 10) (func $keep2 - (i32.store16 $0 offset=3 + (i32.store16 offset=3 (i32.const 0) (i32.const 100) ) ) (func $other - (i32.store16 $0 offset=3 align=1 + (i32.store16 offset=3 align=1 (i32.const 0) (i32.const 100) ) @@ -646,13 +646,13 @@ (type $0 (func)) (memory $0 10) (func $keep2 - (i32.store16 $0 + (i32.store16 (i32.const 0) (i32.const 100) ) ) (func $other - (i32.store16 $0 offset=3 + (i32.store16 offset=3 (i32.const 0) (i32.const 100) ) @@ -662,13 +662,13 @@ (type $0 (func)) (memory $0 10) (func $keep2 - (i32.store16 $0 offset=3 + (i32.store16 offset=3 (i32.const 0) (i32.const 100) ) ) (func $other - (i32.store16 $0 offset=3 + (i32.store16 offset=3 (i32.const 1) (i32.const 100) ) @@ -678,13 +678,13 @@ (type $0 (func)) (memory $0 10) (func $keep2 - (i32.store16 $0 offset=3 + (i32.store16 offset=3 (i32.const 0) (i32.const 100) ) ) (func $other - (i32.store16 $0 offset=3 + (i32.store16 offset=3 (i32.const 0) (i32.const 101) ) @@ -1007,7 +1007,7 @@ (memory $0 0) (func $erase (drop - (memory.size $0) + (memory.size) ) ) ) @@ -1016,7 +1016,7 @@ (memory $0 0) (func $erase (drop - (memory.grow $0 + (memory.grow (i32.const 10) ) ) @@ -1027,14 +1027,14 @@ (memory $0 0) (func $keep (drop - (memory.grow $0 + (memory.grow (i32.const 10) ) ) ) (func $other (drop - (memory.grow $0 + (memory.grow (i32.const 11) ) ) @@ -1045,12 +1045,12 @@ (memory $0 0) (func $keep (drop - (memory.size $0) + (memory.size) ) ) (func $other (drop - (memory.grow $0 + (memory.grow (i32.const 10) ) ) diff --git a/test/passes/duplicate-function-elimination_optimize-level=2.txt b/test/passes/duplicate-function-elimination_optimize-level=2.txt index 1c68bbb86bc..0ab205f10ca 100644 --- a/test/passes/duplicate-function-elimination_optimize-level=2.txt +++ b/test/passes/duplicate-function-elimination_optimize-level=2.txt @@ -492,12 +492,12 @@ (memory $0 10) (func $erase (drop - (i32.load $0 + (i32.load (i32.const 0) ) ) (drop - (i32.load16_s $0 offset=3 + (i32.load16_s offset=3 (i32.const 0) ) ) @@ -508,14 +508,14 @@ (memory $0 10) (func $keep2 (drop - (i32.load $0 offset=3 + (i32.load offset=3 (i32.const 0) ) ) ) (func $other (drop - (i32.load16_s $0 offset=3 + (i32.load16_s offset=3 (i32.const 0) ) ) @@ -526,14 +526,14 @@ (memory $0 10) (func $keep2 (drop - (i32.load16_s $0 offset=3 + (i32.load16_s offset=3 (i32.const 0) ) ) ) (func $other (drop - (i32.load16_s $0 offset=3 align=1 + (i32.load16_s offset=3 align=1 (i32.const 0) ) ) @@ -544,14 +544,14 @@ (memory $0 10) (func $keep2 (drop - (i32.load16_s $0 + (i32.load16_s (i32.const 0) ) ) ) (func $other (drop - (i32.load16_s $0 offset=3 + (i32.load16_s offset=3 (i32.const 0) ) ) @@ -562,14 +562,14 @@ (memory $0 10) (func $keep2 (drop - (i32.load16_s $0 offset=3 + (i32.load16_s offset=3 (i32.const 0) ) ) ) (func $other (drop - (i32.load16_s $0 offset=3 + (i32.load16_s offset=3 (i32.const 1) ) ) @@ -580,14 +580,14 @@ (memory $0 10) (func $keep2 (drop - (i32.load16_u $0 offset=3 + (i32.load16_u offset=3 (i32.const 0) ) ) ) (func $other (drop - (i32.load16_s $0 offset=3 + (i32.load16_s offset=3 (i32.const 0) ) ) @@ -597,11 +597,11 @@ (type $0 (func)) (memory $0 10) (func $erase - (i32.store $0 + (i32.store (i32.const 0) (i32.const 100) ) - (i32.store16 $0 offset=3 + (i32.store16 offset=3 (i32.const 0) (i32.const 100) ) @@ -611,13 +611,13 @@ (type $0 (func)) (memory $0 10) (func $keep2 - (i32.store $0 offset=3 + (i32.store offset=3 (i32.const 0) (i32.const 100) ) ) (func $other - (i32.store16 $0 offset=3 + (i32.store16 offset=3 (i32.const 0) (i32.const 100) ) @@ -627,13 +627,13 @@ (type $0 (func)) (memory $0 10) (func $keep2 - (i32.store16 $0 offset=3 + (i32.store16 offset=3 (i32.const 0) (i32.const 100) ) ) (func $other - (i32.store16 $0 offset=3 align=1 + (i32.store16 offset=3 align=1 (i32.const 0) (i32.const 100) ) @@ -643,13 +643,13 @@ (type $0 (func)) (memory $0 10) (func $keep2 - (i32.store16 $0 + (i32.store16 (i32.const 0) (i32.const 100) ) ) (func $other - (i32.store16 $0 offset=3 + (i32.store16 offset=3 (i32.const 0) (i32.const 100) ) @@ -659,13 +659,13 @@ (type $0 (func)) (memory $0 10) (func $keep2 - (i32.store16 $0 offset=3 + (i32.store16 offset=3 (i32.const 0) (i32.const 100) ) ) (func $other - (i32.store16 $0 offset=3 + (i32.store16 offset=3 (i32.const 1) (i32.const 100) ) @@ -675,13 +675,13 @@ (type $0 (func)) (memory $0 10) (func $keep2 - (i32.store16 $0 offset=3 + (i32.store16 offset=3 (i32.const 0) (i32.const 100) ) ) (func $other - (i32.store16 $0 offset=3 + (i32.store16 offset=3 (i32.const 0) (i32.const 101) ) @@ -1004,7 +1004,7 @@ (memory $0 0) (func $erase (drop - (memory.size $0) + (memory.size) ) ) ) @@ -1013,7 +1013,7 @@ (memory $0 0) (func $erase (drop - (memory.grow $0 + (memory.grow (i32.const 10) ) ) @@ -1024,14 +1024,14 @@ (memory $0 0) (func $keep (drop - (memory.grow $0 + (memory.grow (i32.const 10) ) ) ) (func $other (drop - (memory.grow $0 + (memory.grow (i32.const 11) ) ) @@ -1042,12 +1042,12 @@ (memory $0 0) (func $keep (drop - (memory.size $0) + (memory.size) ) ) (func $other (drop - (memory.grow $0 + (memory.grow (i32.const 10) ) ) diff --git a/test/passes/dwarf-local-order.bin.txt b/test/passes/dwarf-local-order.bin.txt index 6b5d12e62bf..e854507e51e 100644 --- a/test/passes/dwarf-local-order.bin.txt +++ b/test/passes/dwarf-local-order.bin.txt @@ -54,20 +54,20 @@ (local.set $5 (i32.const 1) ) - (i32.store $0 offset=12 + (i32.store offset=12 (local.get $2) (local.get $5) ) - (f32.store $0 offset=8 + (f32.store offset=8 (local.get $2) (local.get $4) ) - (i32.store $0 offset=4 + (i32.store offset=4 (local.get $2) (local.get $3) ) (local.set $6 - (i32.load $0 offset=12 + (i32.load offset=12 (local.get $2) ) ) @@ -77,7 +77,7 @@ ) ) (local.set $8 - (f32.load $0 offset=8 + (f32.load offset=8 (local.get $2) ) ) @@ -88,7 +88,7 @@ ) ) (local.set $10 - (i32.load $0 offset=4 + (i32.load offset=4 (local.get $2) ) ) @@ -228,21 +228,21 @@ (i32.const 1) ) ;; code offset: 0x53 - (i32.store $0 offset=12 + (i32.store offset=12 ;; code offset: 0x4f (local.get $2) ;; code offset: 0x51 (local.get $5) ) ;; code offset: 0x5a - (f32.store $0 offset=8 + (f32.store offset=8 ;; code offset: 0x56 (local.get $2) ;; code offset: 0x58 (local.get $4) ) ;; code offset: 0x61 - (i32.store $0 offset=4 + (i32.store offset=4 ;; code offset: 0x5d (local.get $2) ;; code offset: 0x5f @@ -251,7 +251,7 @@ ;; code offset: 0x69 (local.set $6 ;; code offset: 0x66 - (i32.load $0 offset=12 + (i32.load offset=12 ;; code offset: 0x64 (local.get $2) ) @@ -267,7 +267,7 @@ ;; code offset: 0x75 (local.set $8 ;; code offset: 0x72 - (f32.load $0 offset=8 + (f32.load offset=8 ;; code offset: 0x70 (local.get $2) ) @@ -285,7 +285,7 @@ ;; code offset: 0x83 (local.set $10 ;; code offset: 0x80 - (i32.load $0 offset=4 + (i32.load offset=4 ;; code offset: 0x7e (local.get $2) ) @@ -447,20 +447,20 @@ (local.set $4 (i32.const 1) ) - (i32.store $0 offset=12 + (i32.store offset=12 (local.get $2) (local.get $4) ) - (f32.store $0 offset=8 + (f32.store offset=8 (local.get $2) (local.get $13) ) - (i32.store $0 offset=4 + (i32.store offset=4 (local.get $2) (local.get $3) ) (local.set $5 - (i32.load $0 offset=12 + (i32.load offset=12 (local.get $2) ) ) @@ -470,7 +470,7 @@ ) ) (local.set $15 - (f32.load $0 offset=8 + (f32.load offset=8 (local.get $2) ) ) @@ -481,7 +481,7 @@ ) ) (local.set $6 - (i32.load $0 offset=4 + (i32.load offset=4 (local.get $2) ) ) @@ -602,20 +602,20 @@ (local.set $4 (i32.const 1) ) - (i32.store $0 offset=12 + (i32.store offset=12 (local.get $2) (local.get $4) ) - (f32.store $0 offset=8 + (f32.store offset=8 (local.get $2) (local.get $13) ) - (i32.store $0 offset=4 + (i32.store offset=4 (local.get $2) (local.get $3) ) (local.set $5 - (i32.load $0 offset=12 + (i32.load offset=12 (local.get $2) ) ) @@ -625,7 +625,7 @@ ) ) (local.set $15 - (f32.load $0 offset=8 + (f32.load offset=8 (local.get $2) ) ) @@ -636,7 +636,7 @@ ) ) (local.set $6 - (i32.load $0 offset=4 + (i32.load offset=4 (local.get $2) ) ) diff --git a/test/passes/fannkuch0_dwarf.bin.txt b/test/passes/fannkuch0_dwarf.bin.txt index 18fe26effa1..aab7c229c2a 100644 --- a/test/passes/fannkuch0_dwarf.bin.txt +++ b/test/passes/fannkuch0_dwarf.bin.txt @@ -5485,7 +5485,7 @@ file_names[ 3]: (i32.const 0) ) ;; code offset: 0x20c - (i32.store $mimport$0 offset=60 + (i32.store offset=60 ;; code offset: 0x208 (local.get $3) ;; code offset: 0x20a @@ -5494,20 +5494,20 @@ file_names[ 3]: ;; code offset: 0x214 (local.set $5 ;; code offset: 0x211 - (i32.load $mimport$0 offset=60 + (i32.load offset=60 ;; code offset: 0x20f (local.get $3) ) ) ;; code offset: 0x21a - (i32.store $mimport$0 offset=56 + (i32.store offset=56 ;; code offset: 0x216 (local.get $3) ;; code offset: 0x218 (local.get $5) ) ;; code offset: 0x221 - (i32.store $mimport$0 offset=40 + (i32.store offset=40 ;; code offset: 0x21d (local.get $3) ;; code offset: 0x21f @@ -5516,7 +5516,7 @@ file_names[ 3]: ;; code offset: 0x229 (local.set $6 ;; code offset: 0x226 - (i32.load $mimport$0 offset=56 + (i32.load offset=56 ;; code offset: 0x224 (local.get $3) ) @@ -5524,13 +5524,13 @@ file_names[ 3]: ;; code offset: 0x230 (local.set $7 ;; code offset: 0x22d - (i32.load $mimport$0 offset=4 + (i32.load offset=4 ;; code offset: 0x22b (local.get $6) ) ) ;; code offset: 0x236 - (i32.store $mimport$0 offset=28 + (i32.store offset=28 ;; code offset: 0x232 (local.get $3) ;; code offset: 0x234 @@ -5539,7 +5539,7 @@ file_names[ 3]: ;; code offset: 0x23e (local.set $8 ;; code offset: 0x23b - (i32.load $mimport$0 offset=28 + (i32.load offset=28 ;; code offset: 0x239 (local.get $3) ) @@ -5568,7 +5568,7 @@ file_names[ 3]: ) ) ;; code offset: 0x255 - (i32.store $mimport$0 offset=52 + (i32.store offset=52 ;; code offset: 0x251 (local.get $3) ;; code offset: 0x253 @@ -5577,7 +5577,7 @@ file_names[ 3]: ;; code offset: 0x25d (local.set $12 ;; code offset: 0x25a - (i32.load $mimport$0 offset=28 + (i32.load offset=28 ;; code offset: 0x258 (local.get $3) ) @@ -5606,7 +5606,7 @@ file_names[ 3]: ) ) ;; code offset: 0x274 - (i32.store $mimport$0 offset=44 + (i32.store offset=44 ;; code offset: 0x270 (local.get $3) ;; code offset: 0x272 @@ -5615,7 +5615,7 @@ file_names[ 3]: ;; code offset: 0x27c (local.set $16 ;; code offset: 0x279 - (i32.load $mimport$0 offset=28 + (i32.load offset=28 ;; code offset: 0x277 (local.get $3) ) @@ -5644,14 +5644,14 @@ file_names[ 3]: ) ) ;; code offset: 0x293 - (i32.store $mimport$0 offset=48 + (i32.store offset=48 ;; code offset: 0x28f (local.get $3) ;; code offset: 0x291 (local.get $19) ) ;; code offset: 0x29a - (i32.store $mimport$0 offset=32 + (i32.store offset=32 ;; code offset: 0x296 (local.get $3) ;; code offset: 0x298 @@ -5664,7 +5664,7 @@ file_names[ 3]: ;; code offset: 0x2a6 (local.set $20 ;; code offset: 0x2a3 - (i32.load $mimport$0 offset=32 + (i32.load offset=32 ;; code offset: 0x2a1 (local.get $3) ) @@ -5672,7 +5672,7 @@ file_names[ 3]: ;; code offset: 0x2ad (local.set $21 ;; code offset: 0x2aa - (i32.load $mimport$0 offset=28 + (i32.load offset=28 ;; code offset: 0x2a8 (local.get $3) ) @@ -5723,7 +5723,7 @@ file_names[ 3]: ;; code offset: 0x2d3 (local.set $27 ;; code offset: 0x2d0 - (i32.load $mimport$0 offset=32 + (i32.load offset=32 ;; code offset: 0x2ce (local.get $3) ) @@ -5731,7 +5731,7 @@ file_names[ 3]: ;; code offset: 0x2da (local.set $28 ;; code offset: 0x2d7 - (i32.load $mimport$0 offset=52 + (i32.load offset=52 ;; code offset: 0x2d5 (local.get $3) ) @@ -5739,7 +5739,7 @@ file_names[ 3]: ;; code offset: 0x2e1 (local.set $29 ;; code offset: 0x2de - (i32.load $mimport$0 offset=32 + (i32.load offset=32 ;; code offset: 0x2dc (local.get $3) ) @@ -5770,7 +5770,7 @@ file_names[ 3]: ) ) ;; code offset: 0x2f9 - (i32.store $mimport$0 + (i32.store ;; code offset: 0x2f5 (local.get $32) ;; code offset: 0x2f7 @@ -5779,7 +5779,7 @@ file_names[ 3]: ;; code offset: 0x301 (local.set $33 ;; code offset: 0x2fe - (i32.load $mimport$0 offset=32 + (i32.load offset=32 ;; code offset: 0x2fc (local.get $3) ) @@ -5800,7 +5800,7 @@ file_names[ 3]: ) ) ;; code offset: 0x312 - (i32.store $mimport$0 offset=32 + (i32.store offset=32 ;; code offset: 0x30e (local.get $3) ;; code offset: 0x310 @@ -5813,7 +5813,7 @@ file_names[ 3]: ;; code offset: 0x31f (local.set $36 ;; code offset: 0x31c - (i32.load $mimport$0 offset=28 + (i32.load offset=28 ;; code offset: 0x31a (local.get $3) ) @@ -5836,7 +5836,7 @@ file_names[ 3]: ;; code offset: 0x331 (local.set $39 ;; code offset: 0x32e - (i32.load $mimport$0 offset=52 + (i32.load offset=52 ;; code offset: 0x32c (local.get $3) ) @@ -5844,7 +5844,7 @@ file_names[ 3]: ;; code offset: 0x338 (local.set $40 ;; code offset: 0x335 - (i32.load $mimport$0 offset=56 + (i32.load offset=56 ;; code offset: 0x333 (local.get $3) ) @@ -5852,7 +5852,7 @@ file_names[ 3]: ;; code offset: 0x33f (local.set $41 ;; code offset: 0x33c - (i32.load $mimport$0 + (i32.load ;; code offset: 0x33a (local.get $40) ) @@ -5883,7 +5883,7 @@ file_names[ 3]: ) ) ;; code offset: 0x357 - (i32.store $mimport$0 + (i32.store ;; code offset: 0x353 (local.get $44) ;; code offset: 0x355 @@ -5892,7 +5892,7 @@ file_names[ 3]: ;; code offset: 0x35f (local.set $45 ;; code offset: 0x35c - (i32.load $mimport$0 offset=56 + (i32.load offset=56 ;; code offset: 0x35a (local.get $3) ) @@ -5900,7 +5900,7 @@ file_names[ 3]: ;; code offset: 0x366 (local.set $46 ;; code offset: 0x363 - (i32.load $mimport$0 + (i32.load ;; code offset: 0x361 (local.get $45) ) @@ -5908,7 +5908,7 @@ file_names[ 3]: ;; code offset: 0x36d (local.set $47 ;; code offset: 0x36a - (i32.load $mimport$0 offset=52 + (i32.load offset=52 ;; code offset: 0x368 (local.get $3) ) @@ -5916,7 +5916,7 @@ file_names[ 3]: ;; code offset: 0x374 (local.set $48 ;; code offset: 0x371 - (i32.load $mimport$0 offset=28 + (i32.load offset=28 ;; code offset: 0x36f (local.get $3) ) @@ -5962,7 +5962,7 @@ file_names[ 3]: ) ) ;; code offset: 0x397 - (i32.store $mimport$0 + (i32.store ;; code offset: 0x393 (local.get $53) ;; code offset: 0x395 @@ -5971,13 +5971,13 @@ file_names[ 3]: ;; code offset: 0x39f (local.set $54 ;; code offset: 0x39c - (i32.load $mimport$0 offset=28 + (i32.load offset=28 ;; code offset: 0x39a (local.get $3) ) ) ;; code offset: 0x3a5 - (i32.store $mimport$0 offset=24 + (i32.store offset=24 ;; code offset: 0x3a1 (local.get $3) ;; code offset: 0x3a3 @@ -5997,7 +5997,7 @@ file_names[ 3]: ;; code offset: 0x3b7 (local.set $56 ;; code offset: 0x3b4 - (i32.load $mimport$0 offset=24 + (i32.load offset=24 ;; code offset: 0x3b2 (local.get $3) ) @@ -6048,7 +6048,7 @@ file_names[ 3]: ;; code offset: 0x3dd (local.set $62 ;; code offset: 0x3da - (i32.load $mimport$0 offset=24 + (i32.load offset=24 ;; code offset: 0x3d8 (local.get $3) ) @@ -6056,7 +6056,7 @@ file_names[ 3]: ;; code offset: 0x3e4 (local.set $63 ;; code offset: 0x3e1 - (i32.load $mimport$0 offset=48 + (i32.load offset=48 ;; code offset: 0x3df (local.get $3) ) @@ -6064,7 +6064,7 @@ file_names[ 3]: ;; code offset: 0x3eb (local.set $64 ;; code offset: 0x3e8 - (i32.load $mimport$0 offset=24 + (i32.load offset=24 ;; code offset: 0x3e6 (local.get $3) ) @@ -6110,7 +6110,7 @@ file_names[ 3]: ) ) ;; code offset: 0x40e - (i32.store $mimport$0 + (i32.store ;; code offset: 0x40a (local.get $69) ;; code offset: 0x40c @@ -6119,7 +6119,7 @@ file_names[ 3]: ;; code offset: 0x416 (local.set $70 ;; code offset: 0x413 - (i32.load $mimport$0 offset=24 + (i32.load offset=24 ;; code offset: 0x411 (local.get $3) ) @@ -6140,7 +6140,7 @@ file_names[ 3]: ) ) ;; code offset: 0x427 - (i32.store $mimport$0 offset=24 + (i32.store offset=24 ;; code offset: 0x423 (local.get $3) ;; code offset: 0x425 @@ -6153,7 +6153,7 @@ file_names[ 3]: ;; code offset: 0x434 (local.set $73 ;; code offset: 0x431 - (i32.load $mimport$0 offset=52 + (i32.load offset=52 ;; code offset: 0x42f (local.get $3) ) @@ -6161,7 +6161,7 @@ file_names[ 3]: ;; code offset: 0x43b (local.set $74 ;; code offset: 0x438 - (i32.load $mimport$0 + (i32.load ;; code offset: 0x436 (local.get $73) ) @@ -6179,7 +6179,7 @@ file_names[ 3]: ;; code offset: 0x449 (local.set $75 ;; code offset: 0x446 - (i32.load $mimport$0 offset=52 + (i32.load offset=52 ;; code offset: 0x444 (local.get $3) ) @@ -6187,7 +6187,7 @@ file_names[ 3]: ;; code offset: 0x450 (local.set $76 ;; code offset: 0x44d - (i32.load $mimport$0 offset=28 + (i32.load offset=28 ;; code offset: 0x44b (local.get $3) ) @@ -6235,7 +6235,7 @@ file_names[ 3]: ;; code offset: 0x474 (local.set $82 ;; code offset: 0x471 - (i32.load $mimport$0 + (i32.load ;; code offset: 0x46f (local.get $81) ) @@ -6243,7 +6243,7 @@ file_names[ 3]: ;; code offset: 0x47b (local.set $83 ;; code offset: 0x478 - (i32.load $mimport$0 offset=28 + (i32.load offset=28 ;; code offset: 0x476 (local.get $3) ) @@ -6312,7 +6312,7 @@ file_names[ 3]: (i32.const 0) ) ;; code offset: 0x4af - (i32.store $mimport$0 offset=32 + (i32.store offset=32 ;; code offset: 0x4ab (local.get $3) ;; code offset: 0x4ad @@ -6325,7 +6325,7 @@ file_names[ 3]: ;; code offset: 0x4bb (local.set $92 ;; code offset: 0x4b8 - (i32.load $mimport$0 offset=32 + (i32.load offset=32 ;; code offset: 0x4b6 (local.get $3) ) @@ -6333,7 +6333,7 @@ file_names[ 3]: ;; code offset: 0x4c2 (local.set $93 ;; code offset: 0x4bf - (i32.load $mimport$0 offset=28 + (i32.load offset=28 ;; code offset: 0x4bd (local.get $3) ) @@ -6384,7 +6384,7 @@ file_names[ 3]: ;; code offset: 0x4e8 (local.set $99 ;; code offset: 0x4e5 - (i32.load $mimport$0 offset=52 + (i32.load offset=52 ;; code offset: 0x4e3 (local.get $3) ) @@ -6392,7 +6392,7 @@ file_names[ 3]: ;; code offset: 0x4ef (local.set $100 ;; code offset: 0x4ec - (i32.load $mimport$0 offset=32 + (i32.load offset=32 ;; code offset: 0x4ea (local.get $3) ) @@ -6425,7 +6425,7 @@ file_names[ 3]: ;; code offset: 0x508 (local.set $104 ;; code offset: 0x505 - (i32.load $mimport$0 + (i32.load ;; code offset: 0x503 (local.get $103) ) @@ -6433,7 +6433,7 @@ file_names[ 3]: ;; code offset: 0x50f (local.set $105 ;; code offset: 0x50c - (i32.load $mimport$0 offset=44 + (i32.load offset=44 ;; code offset: 0x50a (local.get $3) ) @@ -6441,7 +6441,7 @@ file_names[ 3]: ;; code offset: 0x516 (local.set $106 ;; code offset: 0x513 - (i32.load $mimport$0 offset=32 + (i32.load offset=32 ;; code offset: 0x511 (local.get $3) ) @@ -6472,7 +6472,7 @@ file_names[ 3]: ) ) ;; code offset: 0x52e - (i32.store $mimport$0 + (i32.store ;; code offset: 0x52a (local.get $109) ;; code offset: 0x52c @@ -6481,7 +6481,7 @@ file_names[ 3]: ;; code offset: 0x536 (local.set $110 ;; code offset: 0x533 - (i32.load $mimport$0 offset=32 + (i32.load offset=32 ;; code offset: 0x531 (local.get $3) ) @@ -6502,7 +6502,7 @@ file_names[ 3]: ) ) ;; code offset: 0x547 - (i32.store $mimport$0 offset=32 + (i32.store offset=32 ;; code offset: 0x543 (local.get $3) ;; code offset: 0x545 @@ -6518,7 +6518,7 @@ file_names[ 3]: (i32.const 0) ) ;; code offset: 0x557 - (i32.store $mimport$0 offset=36 + (i32.store offset=36 ;; code offset: 0x553 (local.get $3) ;; code offset: 0x555 @@ -6527,7 +6527,7 @@ file_names[ 3]: ;; code offset: 0x55f (local.set $114 ;; code offset: 0x55c - (i32.load $mimport$0 offset=44 + (i32.load offset=44 ;; code offset: 0x55a (local.get $3) ) @@ -6535,13 +6535,13 @@ file_names[ 3]: ;; code offset: 0x566 (local.set $115 ;; code offset: 0x563 - (i32.load $mimport$0 + (i32.load ;; code offset: 0x561 (local.get $114) ) ) ;; code offset: 0x56c - (i32.store $mimport$0 offset=16 + (i32.store offset=16 ;; code offset: 0x568 (local.get $3) ;; code offset: 0x56a @@ -6555,7 +6555,7 @@ file_names[ 3]: (i32.const 1) ) ;; code offset: 0x579 - (i32.store $mimport$0 offset=32 + (i32.store offset=32 ;; code offset: 0x575 (local.get $3) ;; code offset: 0x577 @@ -6564,7 +6564,7 @@ file_names[ 3]: ;; code offset: 0x581 (local.set $117 ;; code offset: 0x57e - (i32.load $mimport$0 offset=16 + (i32.load offset=16 ;; code offset: 0x57c (local.get $3) ) @@ -6585,7 +6585,7 @@ file_names[ 3]: ) ) ;; code offset: 0x592 - (i32.store $mimport$0 offset=20 + (i32.store offset=20 ;; code offset: 0x58e (local.get $3) ;; code offset: 0x590 @@ -6598,7 +6598,7 @@ file_names[ 3]: ;; code offset: 0x59e (local.set $120 ;; code offset: 0x59b - (i32.load $mimport$0 offset=32 + (i32.load offset=32 ;; code offset: 0x599 (local.get $3) ) @@ -6606,7 +6606,7 @@ file_names[ 3]: ;; code offset: 0x5a5 (local.set $121 ;; code offset: 0x5a2 - (i32.load $mimport$0 offset=20 + (i32.load offset=20 ;; code offset: 0x5a0 (local.get $3) ) @@ -6657,7 +6657,7 @@ file_names[ 3]: ;; code offset: 0x5cb (local.set $127 ;; code offset: 0x5c8 - (i32.load $mimport$0 offset=44 + (i32.load offset=44 ;; code offset: 0x5c6 (local.get $3) ) @@ -6665,7 +6665,7 @@ file_names[ 3]: ;; code offset: 0x5d2 (local.set $128 ;; code offset: 0x5cf - (i32.load $mimport$0 offset=32 + (i32.load offset=32 ;; code offset: 0x5cd (local.get $3) ) @@ -6698,13 +6698,13 @@ file_names[ 3]: ;; code offset: 0x5f3 (local.set $132 ;; code offset: 0x5f0 - (i32.load $mimport$0 + (i32.load ;; code offset: 0x5ed (local.get $131) ) ) ;; code offset: 0x5fb - (i32.store $mimport$0 offset=12 + (i32.store offset=12 ;; code offset: 0x5f6 (local.get $3) ;; code offset: 0x5f8 @@ -6713,7 +6713,7 @@ file_names[ 3]: ;; code offset: 0x603 (local.set $133 ;; code offset: 0x600 - (i32.load $mimport$0 offset=44 + (i32.load offset=44 ;; code offset: 0x5fe (local.get $3) ) @@ -6721,7 +6721,7 @@ file_names[ 3]: ;; code offset: 0x60b (local.set $134 ;; code offset: 0x608 - (i32.load $mimport$0 offset=20 + (i32.load offset=20 ;; code offset: 0x606 (local.get $3) ) @@ -6754,7 +6754,7 @@ file_names[ 3]: ;; code offset: 0x62d (local.set $138 ;; code offset: 0x62a - (i32.load $mimport$0 + (i32.load ;; code offset: 0x627 (local.get $137) ) @@ -6762,7 +6762,7 @@ file_names[ 3]: ;; code offset: 0x635 (local.set $139 ;; code offset: 0x632 - (i32.load $mimport$0 offset=44 + (i32.load offset=44 ;; code offset: 0x630 (local.get $3) ) @@ -6770,7 +6770,7 @@ file_names[ 3]: ;; code offset: 0x63d (local.set $140 ;; code offset: 0x63a - (i32.load $mimport$0 offset=32 + (i32.load offset=32 ;; code offset: 0x638 (local.get $3) ) @@ -6801,7 +6801,7 @@ file_names[ 3]: ) ) ;; code offset: 0x65f - (i32.store $mimport$0 + (i32.store ;; code offset: 0x659 (local.get $143) ;; code offset: 0x65c @@ -6810,7 +6810,7 @@ file_names[ 3]: ;; code offset: 0x667 (local.set $144 ;; code offset: 0x664 - (i32.load $mimport$0 offset=12 + (i32.load offset=12 ;; code offset: 0x662 (local.get $3) ) @@ -6818,7 +6818,7 @@ file_names[ 3]: ;; code offset: 0x66f (local.set $145 ;; code offset: 0x66c - (i32.load $mimport$0 offset=44 + (i32.load offset=44 ;; code offset: 0x66a (local.get $3) ) @@ -6826,7 +6826,7 @@ file_names[ 3]: ;; code offset: 0x677 (local.set $146 ;; code offset: 0x674 - (i32.load $mimport$0 offset=20 + (i32.load offset=20 ;; code offset: 0x672 (local.get $3) ) @@ -6857,7 +6857,7 @@ file_names[ 3]: ) ) ;; code offset: 0x699 - (i32.store $mimport$0 + (i32.store ;; code offset: 0x693 (local.get $149) ;; code offset: 0x696 @@ -6866,7 +6866,7 @@ file_names[ 3]: ;; code offset: 0x6a1 (local.set $150 ;; code offset: 0x69e - (i32.load $mimport$0 offset=32 + (i32.load offset=32 ;; code offset: 0x69c (local.get $3) ) @@ -6887,7 +6887,7 @@ file_names[ 3]: ) ) ;; code offset: 0x6b8 - (i32.store $mimport$0 offset=32 + (i32.store offset=32 ;; code offset: 0x6b3 (local.get $3) ;; code offset: 0x6b5 @@ -6896,7 +6896,7 @@ file_names[ 3]: ;; code offset: 0x6c0 (local.set $153 ;; code offset: 0x6bd - (i32.load $mimport$0 offset=20 + (i32.load offset=20 ;; code offset: 0x6bb (local.get $3) ) @@ -6917,7 +6917,7 @@ file_names[ 3]: ) ) ;; code offset: 0x6d7 - (i32.store $mimport$0 offset=20 + (i32.store offset=20 ;; code offset: 0x6d2 (local.get $3) ;; code offset: 0x6d4 @@ -6930,7 +6930,7 @@ file_names[ 3]: ;; code offset: 0x6e4 (local.set $156 ;; code offset: 0x6e1 - (i32.load $mimport$0 offset=36 + (i32.load offset=36 ;; code offset: 0x6df (local.get $3) ) @@ -6951,7 +6951,7 @@ file_names[ 3]: ) ) ;; code offset: 0x6fb - (i32.store $mimport$0 offset=36 + (i32.store offset=36 ;; code offset: 0x6f6 (local.get $3) ;; code offset: 0x6f8 @@ -6960,7 +6960,7 @@ file_names[ 3]: ;; code offset: 0x703 (local.set $159 ;; code offset: 0x700 - (i32.load $mimport$0 offset=44 + (i32.load offset=44 ;; code offset: 0x6fe (local.get $3) ) @@ -6968,7 +6968,7 @@ file_names[ 3]: ;; code offset: 0x70b (local.set $160 ;; code offset: 0x708 - (i32.load $mimport$0 offset=16 + (i32.load offset=16 ;; code offset: 0x706 (local.get $3) ) @@ -7001,13 +7001,13 @@ file_names[ 3]: ;; code offset: 0x72d (local.set $164 ;; code offset: 0x72a - (i32.load $mimport$0 + (i32.load ;; code offset: 0x727 (local.get $163) ) ) ;; code offset: 0x735 - (i32.store $mimport$0 offset=12 + (i32.store offset=12 ;; code offset: 0x730 (local.get $3) ;; code offset: 0x732 @@ -7016,7 +7016,7 @@ file_names[ 3]: ;; code offset: 0x73d (local.set $165 ;; code offset: 0x73a - (i32.load $mimport$0 offset=16 + (i32.load offset=16 ;; code offset: 0x738 (local.get $3) ) @@ -7024,7 +7024,7 @@ file_names[ 3]: ;; code offset: 0x745 (local.set $166 ;; code offset: 0x742 - (i32.load $mimport$0 offset=44 + (i32.load offset=44 ;; code offset: 0x740 (local.get $3) ) @@ -7032,7 +7032,7 @@ file_names[ 3]: ;; code offset: 0x74d (local.set $167 ;; code offset: 0x74a - (i32.load $mimport$0 offset=16 + (i32.load offset=16 ;; code offset: 0x748 (local.get $3) ) @@ -7063,7 +7063,7 @@ file_names[ 3]: ) ) ;; code offset: 0x76f - (i32.store $mimport$0 + (i32.store ;; code offset: 0x769 (local.get $170) ;; code offset: 0x76c @@ -7072,13 +7072,13 @@ file_names[ 3]: ;; code offset: 0x777 (local.set $171 ;; code offset: 0x774 - (i32.load $mimport$0 offset=12 + (i32.load offset=12 ;; code offset: 0x772 (local.get $3) ) ) ;; code offset: 0x77f - (i32.store $mimport$0 offset=16 + (i32.store offset=16 ;; code offset: 0x77a (local.get $3) ;; code offset: 0x77c @@ -7087,7 +7087,7 @@ file_names[ 3]: ;; code offset: 0x787 (local.set $172 ;; code offset: 0x784 - (i32.load $mimport$0 offset=16 + (i32.load offset=16 ;; code offset: 0x782 (local.get $3) ) @@ -7101,7 +7101,7 @@ file_names[ 3]: ;; code offset: 0x795 (local.set $173 ;; code offset: 0x792 - (i32.load $mimport$0 offset=40 + (i32.load offset=40 ;; code offset: 0x790 (local.get $3) ) @@ -7109,7 +7109,7 @@ file_names[ 3]: ;; code offset: 0x79d (local.set $174 ;; code offset: 0x79a - (i32.load $mimport$0 offset=36 + (i32.load offset=36 ;; code offset: 0x798 (local.get $3) ) @@ -7162,13 +7162,13 @@ file_names[ 3]: ;; code offset: 0x7d2 (local.set $180 ;; code offset: 0x7cf - (i32.load $mimport$0 offset=36 + (i32.load offset=36 ;; code offset: 0x7cd (local.get $3) ) ) ;; code offset: 0x7da - (i32.store $mimport$0 offset=40 + (i32.store offset=40 ;; code offset: 0x7d5 (local.get $3) ;; code offset: 0x7d7 @@ -7181,7 +7181,7 @@ file_names[ 3]: ;; code offset: 0x7e6 (local.set $181 ;; code offset: 0x7e3 - (i32.load $mimport$0 offset=24 + (i32.load offset=24 ;; code offset: 0x7e1 (local.get $3) ) @@ -7189,7 +7189,7 @@ file_names[ 3]: ;; code offset: 0x7ee (local.set $182 ;; code offset: 0x7eb - (i32.load $mimport$0 offset=28 + (i32.load offset=28 ;; code offset: 0x7e9 (local.get $3) ) @@ -7257,7 +7257,7 @@ file_names[ 3]: ;; code offset: 0x832 (local.set $190 ;; code offset: 0x82f - (i32.load $mimport$0 offset=52 + (i32.load offset=52 ;; code offset: 0x82d (local.get $3) ) @@ -7270,7 +7270,7 @@ file_names[ 3]: ;; code offset: 0x83f (local.set $191 ;; code offset: 0x83c - (i32.load $mimport$0 offset=44 + (i32.load offset=44 ;; code offset: 0x83a (local.get $3) ) @@ -7283,7 +7283,7 @@ file_names[ 3]: ;; code offset: 0x84c (local.set $192 ;; code offset: 0x849 - (i32.load $mimport$0 offset=48 + (i32.load offset=48 ;; code offset: 0x847 (local.get $3) ) @@ -7296,7 +7296,7 @@ file_names[ 3]: ;; code offset: 0x859 (local.set $193 ;; code offset: 0x856 - (i32.load $mimport$0 offset=40 + (i32.load offset=40 ;; code offset: 0x854 (local.get $3) ) @@ -7335,7 +7335,7 @@ file_names[ 3]: ;; code offset: 0x87f (local.set $197 ;; code offset: 0x87c - (i32.load $mimport$0 offset=52 + (i32.load offset=52 ;; code offset: 0x87a (local.get $3) ) @@ -7343,20 +7343,20 @@ file_names[ 3]: ;; code offset: 0x888 (local.set $198 ;; code offset: 0x885 - (i32.load $mimport$0 + (i32.load ;; code offset: 0x882 (local.get $197) ) ) ;; code offset: 0x890 - (i32.store $mimport$0 offset=8 + (i32.store offset=8 ;; code offset: 0x88b (local.get $3) ;; code offset: 0x88d (local.get $198) ) ;; code offset: 0x898 - (i32.store $mimport$0 offset=32 + (i32.store offset=32 ;; code offset: 0x893 (local.get $3) ;; code offset: 0x895 @@ -7369,7 +7369,7 @@ file_names[ 3]: ;; code offset: 0x8a4 (local.set $199 ;; code offset: 0x8a1 - (i32.load $mimport$0 offset=32 + (i32.load offset=32 ;; code offset: 0x89f (local.get $3) ) @@ -7377,7 +7377,7 @@ file_names[ 3]: ;; code offset: 0x8ac (local.set $200 ;; code offset: 0x8a9 - (i32.load $mimport$0 offset=24 + (i32.load offset=24 ;; code offset: 0x8a7 (local.get $3) ) @@ -7428,7 +7428,7 @@ file_names[ 3]: ;; code offset: 0x8df (local.set $206 ;; code offset: 0x8dc - (i32.load $mimport$0 offset=52 + (i32.load offset=52 ;; code offset: 0x8da (local.get $3) ) @@ -7436,7 +7436,7 @@ file_names[ 3]: ;; code offset: 0x8e7 (local.set $207 ;; code offset: 0x8e4 - (i32.load $mimport$0 offset=32 + (i32.load offset=32 ;; code offset: 0x8e2 (local.get $3) ) @@ -7484,7 +7484,7 @@ file_names[ 3]: ;; code offset: 0x918 (local.set $213 ;; code offset: 0x915 - (i32.load $mimport$0 + (i32.load ;; code offset: 0x912 (local.get $212) ) @@ -7492,7 +7492,7 @@ file_names[ 3]: ;; code offset: 0x920 (local.set $214 ;; code offset: 0x91d - (i32.load $mimport$0 offset=52 + (i32.load offset=52 ;; code offset: 0x91b (local.get $3) ) @@ -7500,7 +7500,7 @@ file_names[ 3]: ;; code offset: 0x928 (local.set $215 ;; code offset: 0x925 - (i32.load $mimport$0 offset=32 + (i32.load offset=32 ;; code offset: 0x923 (local.get $3) ) @@ -7531,7 +7531,7 @@ file_names[ 3]: ) ) ;; code offset: 0x94a - (i32.store $mimport$0 + (i32.store ;; code offset: 0x944 (local.get $218) ;; code offset: 0x947 @@ -7540,7 +7540,7 @@ file_names[ 3]: ;; code offset: 0x952 (local.set $219 ;; code offset: 0x94f - (i32.load $mimport$0 offset=32 + (i32.load offset=32 ;; code offset: 0x94d (local.get $3) ) @@ -7561,7 +7561,7 @@ file_names[ 3]: ) ) ;; code offset: 0x969 - (i32.store $mimport$0 offset=32 + (i32.store offset=32 ;; code offset: 0x964 (local.get $3) ;; code offset: 0x966 @@ -7579,7 +7579,7 @@ file_names[ 3]: ;; code offset: 0x97b (local.set $223 ;; code offset: 0x978 - (i32.load $mimport$0 offset=8 + (i32.load offset=8 ;; code offset: 0x976 (local.get $3) ) @@ -7587,7 +7587,7 @@ file_names[ 3]: ;; code offset: 0x983 (local.set $224 ;; code offset: 0x980 - (i32.load $mimport$0 offset=52 + (i32.load offset=52 ;; code offset: 0x97e (local.get $3) ) @@ -7595,7 +7595,7 @@ file_names[ 3]: ;; code offset: 0x98b (local.set $225 ;; code offset: 0x988 - (i32.load $mimport$0 offset=32 + (i32.load offset=32 ;; code offset: 0x986 (local.get $3) ) @@ -7626,7 +7626,7 @@ file_names[ 3]: ) ) ;; code offset: 0x9ad - (i32.store $mimport$0 + (i32.store ;; code offset: 0x9a7 (local.get $228) ;; code offset: 0x9aa @@ -7635,7 +7635,7 @@ file_names[ 3]: ;; code offset: 0x9b5 (local.set $229 ;; code offset: 0x9b2 - (i32.load $mimport$0 offset=48 + (i32.load offset=48 ;; code offset: 0x9b0 (local.get $3) ) @@ -7643,7 +7643,7 @@ file_names[ 3]: ;; code offset: 0x9bd (local.set $230 ;; code offset: 0x9ba - (i32.load $mimport$0 offset=24 + (i32.load offset=24 ;; code offset: 0x9b8 (local.get $3) ) @@ -7676,7 +7676,7 @@ file_names[ 3]: ;; code offset: 0x9df (local.set $234 ;; code offset: 0x9dc - (i32.load $mimport$0 + (i32.load ;; code offset: 0x9d9 (local.get $233) ) @@ -7697,7 +7697,7 @@ file_names[ 3]: ) ) ;; code offset: 0x9f7 - (i32.store $mimport$0 + (i32.store ;; code offset: 0x9f1 (local.get $233) ;; code offset: 0x9f4 @@ -7755,7 +7755,7 @@ file_names[ 3]: ;; code offset: 0xa31 (local.set $242 ;; code offset: 0xa2e - (i32.load $mimport$0 offset=24 + (i32.load offset=24 ;; code offset: 0xa2c (local.get $3) ) @@ -7776,7 +7776,7 @@ file_names[ 3]: ) ) ;; code offset: 0xa48 - (i32.store $mimport$0 offset=24 + (i32.store offset=24 ;; code offset: 0xa43 (local.get $3) ;; code offset: 0xa45 @@ -7862,21 +7862,21 @@ file_names[ 3]: (i32.const 0) ) ;; code offset: 0xabb - (i32.store $mimport$0 offset=28 + (i32.store offset=28 ;; code offset: 0xab7 (local.get $4) ;; code offset: 0xab9 (local.get $6) ) ;; code offset: 0xac2 - (i32.store $mimport$0 offset=24 + (i32.store offset=24 ;; code offset: 0xabe (local.get $4) ;; code offset: 0xac0 (local.get $0) ) ;; code offset: 0xac9 - (i32.store $mimport$0 offset=20 + (i32.store offset=20 ;; code offset: 0xac5 (local.get $4) ;; code offset: 0xac7 @@ -7885,7 +7885,7 @@ file_names[ 3]: ;; code offset: 0xad1 (local.set $7 ;; code offset: 0xace - (i32.load $mimport$0 offset=24 + (i32.load offset=24 ;; code offset: 0xacc (local.get $4) ) @@ -7939,7 +7939,7 @@ file_names[ 3]: ;; code offset: 0xafb (local.set $13 ;; code offset: 0xaf8 - (i32.load $mimport$0 offset=20 + (i32.load offset=20 ;; code offset: 0xaf6 (local.get $4) ) @@ -7947,7 +7947,7 @@ file_names[ 3]: ;; code offset: 0xb02 (local.set $14 ;; code offset: 0xaff - (i32.load $mimport$0 offset=4 + (i32.load offset=4 ;; code offset: 0xafd (local.get $13) ) @@ -7990,7 +7990,7 @@ file_names[ 3]: (i32.const 1) ) ;; code offset: 0xb26 - (i32.store $mimport$0 offset=16 + (i32.store offset=16 ;; code offset: 0xb22 (local.get $4) ;; code offset: 0xb24 @@ -7999,7 +7999,7 @@ file_names[ 3]: ;; code offset: 0xb2e (local.set $20 ;; code offset: 0xb2b - (i32.load $mimport$0 offset=16 + (i32.load offset=16 ;; code offset: 0xb29 (local.get $4) ) @@ -8076,7 +8076,7 @@ file_names[ 3]: (i32.const 1) ) ;; code offset: 0xb6b - (i32.store $mimport$0 offset=28 + (i32.store offset=28 ;; code offset: 0xb67 (local.get $4) ;; code offset: 0xb69 @@ -8088,7 +8088,7 @@ file_names[ 3]: ;; code offset: 0xb76 (local.set $29 ;; code offset: 0xb73 - (i32.load $mimport$0 offset=16 + (i32.load offset=16 ;; code offset: 0xb71 (local.get $4) ) @@ -8096,7 +8096,7 @@ file_names[ 3]: ;; code offset: 0xb7d (local.set $30 ;; code offset: 0xb7a - (i32.load $mimport$0 offset=16 + (i32.load offset=16 ;; code offset: 0xb78 (local.get $4) ) @@ -8110,14 +8110,14 @@ file_names[ 3]: ) ) ;; code offset: 0xb89 - (i32.store $mimport$0 offset=4 + (i32.store offset=4 ;; code offset: 0xb85 (local.get $4) ;; code offset: 0xb87 (local.get $31) ) ;; code offset: 0xb90 - (i32.store $mimport$0 + (i32.store ;; code offset: 0xb8c (local.get $4) ;; code offset: 0xb8e @@ -8144,7 +8144,7 @@ file_names[ 3]: (i32.const 0) ) ;; code offset: 0xba7 - (i32.store $mimport$0 offset=28 + (i32.store offset=28 ;; code offset: 0xba3 (local.get $4) ;; code offset: 0xba5 @@ -8154,7 +8154,7 @@ file_names[ 3]: ;; code offset: 0xbb0 (local.set $34 ;; code offset: 0xbad - (i32.load $mimport$0 offset=28 + (i32.load offset=28 ;; code offset: 0xbab (local.get $4) ) @@ -8401,28 +8401,28 @@ file_names[ 3]: (i32.const 30) ) ;; code offset: 0xd4e - (i32.store $mimport$0 offset=44 + (i32.store offset=44 ;; code offset: 0xd4a (local.get $3) ;; code offset: 0xd4c (local.get $0) ) ;; code offset: 0xd55 - (i32.store $mimport$0 offset=32 + (i32.store offset=32 ;; code offset: 0xd51 (local.get $3) ;; code offset: 0xd53 (local.get $5) ) ;; code offset: 0xd5c - (i32.store $mimport$0 offset=40 + (i32.store offset=40 ;; code offset: 0xd58 (local.get $3) ;; code offset: 0xd5a (local.get $4) ) ;; code offset: 0xd63 - (i32.store $mimport$0 offset=20 + (i32.store offset=20 ;; code offset: 0xd5f (local.get $3) ;; code offset: 0xd61 @@ -8435,7 +8435,7 @@ file_names[ 3]: ;; code offset: 0xd6f (local.set $6 ;; code offset: 0xd6c - (i32.load $mimport$0 offset=20 + (i32.load offset=20 ;; code offset: 0xd6a (local.get $3) ) @@ -8443,7 +8443,7 @@ file_names[ 3]: ;; code offset: 0xd76 (local.set $7 ;; code offset: 0xd73 - (i32.load $mimport$0 offset=44 + (i32.load offset=44 ;; code offset: 0xd71 (local.get $3) ) @@ -8520,7 +8520,7 @@ file_names[ 3]: ) ) ;; code offset: 0xdb0 - (i32.store $mimport$0 offset=36 + (i32.store offset=36 ;; code offset: 0xdac (local.get $3) ;; code offset: 0xdae @@ -8529,7 +8529,7 @@ file_names[ 3]: ;; code offset: 0xdb8 (local.set $17 ;; code offset: 0xdb5 - (i32.load $mimport$0 offset=20 + (i32.load offset=20 ;; code offset: 0xdb3 (local.get $3) ) @@ -8537,13 +8537,13 @@ file_names[ 3]: ;; code offset: 0xdbf (local.set $18 ;; code offset: 0xdbc - (i32.load $mimport$0 offset=36 + (i32.load offset=36 ;; code offset: 0xdba (local.get $3) ) ) ;; code offset: 0xdc5 - (i32.store $mimport$0 + (i32.store ;; code offset: 0xdc1 (local.get $18) ;; code offset: 0xdc3 @@ -8552,7 +8552,7 @@ file_names[ 3]: ;; code offset: 0xdcd (local.set $19 ;; code offset: 0xdca - (i32.load $mimport$0 offset=44 + (i32.load offset=44 ;; code offset: 0xdc8 (local.get $3) ) @@ -8560,13 +8560,13 @@ file_names[ 3]: ;; code offset: 0xdd4 (local.set $20 ;; code offset: 0xdd1 - (i32.load $mimport$0 offset=36 + (i32.load offset=36 ;; code offset: 0xdcf (local.get $3) ) ) ;; code offset: 0xdda - (i32.store $mimport$0 offset=4 + (i32.store offset=4 ;; code offset: 0xdd6 (local.get $20) ;; code offset: 0xdd8 @@ -8575,7 +8575,7 @@ file_names[ 3]: ;; code offset: 0xde2 (local.set $21 ;; code offset: 0xddf - (i32.load $mimport$0 offset=40 + (i32.load offset=40 ;; code offset: 0xddd (local.get $3) ) @@ -8583,13 +8583,13 @@ file_names[ 3]: ;; code offset: 0xde9 (local.set $22 ;; code offset: 0xde6 - (i32.load $mimport$0 offset=36 + (i32.load offset=36 ;; code offset: 0xde4 (local.get $3) ) ) ;; code offset: 0xdef - (i32.store $mimport$0 offset=8 + (i32.store offset=8 ;; code offset: 0xdeb (local.get $22) ;; code offset: 0xded @@ -8598,13 +8598,13 @@ file_names[ 3]: ;; code offset: 0xdf7 (local.set $23 ;; code offset: 0xdf4 - (i32.load $mimport$0 offset=36 + (i32.load offset=36 ;; code offset: 0xdf2 (local.get $3) ) ) ;; code offset: 0xdfd - (i32.store $mimport$0 offset=40 + (i32.store offset=40 ;; code offset: 0xdf9 (local.get $3) ;; code offset: 0xdfb @@ -8613,7 +8613,7 @@ file_names[ 3]: ;; code offset: 0xe05 (local.set $24 ;; code offset: 0xe02 - (i32.load $mimport$0 offset=20 + (i32.load offset=20 ;; code offset: 0xe00 (local.get $3) ) @@ -8634,7 +8634,7 @@ file_names[ 3]: ) ) ;; code offset: 0xe16 - (i32.store $mimport$0 offset=20 + (i32.store offset=20 ;; code offset: 0xe12 (local.get $3) ;; code offset: 0xe14 @@ -8652,7 +8652,7 @@ file_names[ 3]: ;; code offset: 0xe27 (local.set $28 ;; code offset: 0xe24 - (i32.load $mimport$0 offset=44 + (i32.load offset=44 ;; code offset: 0xe22 (local.get $3) ) @@ -8681,7 +8681,7 @@ file_names[ 3]: ) ) ;; code offset: 0xe3e - (i32.store $mimport$0 offset=28 + (i32.store offset=28 ;; code offset: 0xe3a (local.get $3) ;; code offset: 0xe3c @@ -8690,7 +8690,7 @@ file_names[ 3]: ;; code offset: 0xe46 (local.set $32 ;; code offset: 0xe43 - (i32.load $mimport$0 offset=44 + (i32.load offset=44 ;; code offset: 0xe41 (local.get $3) ) @@ -8719,14 +8719,14 @@ file_names[ 3]: ) ) ;; code offset: 0xe5d - (i32.store $mimport$0 offset=24 + (i32.store offset=24 ;; code offset: 0xe59 (local.get $3) ;; code offset: 0xe5b (local.get $35) ) ;; code offset: 0xe64 - (i32.store $mimport$0 offset=20 + (i32.store offset=20 ;; code offset: 0xe60 (local.get $3) ;; code offset: 0xe62 @@ -8739,7 +8739,7 @@ file_names[ 3]: ;; code offset: 0xe70 (local.set $36 ;; code offset: 0xe6d - (i32.load $mimport$0 offset=20 + (i32.load offset=20 ;; code offset: 0xe6b (local.get $3) ) @@ -8747,7 +8747,7 @@ file_names[ 3]: ;; code offset: 0xe77 (local.set $37 ;; code offset: 0xe74 - (i32.load $mimport$0 offset=44 + (i32.load offset=44 ;; code offset: 0xe72 (local.get $3) ) @@ -8798,7 +8798,7 @@ file_names[ 3]: ;; code offset: 0xe9d (local.set $43 ;; code offset: 0xe9a - (i32.load $mimport$0 offset=20 + (i32.load offset=20 ;; code offset: 0xe98 (local.get $3) ) @@ -8806,7 +8806,7 @@ file_names[ 3]: ;; code offset: 0xea4 (local.set $44 ;; code offset: 0xea1 - (i32.load $mimport$0 offset=28 + (i32.load offset=28 ;; code offset: 0xe9f (local.get $3) ) @@ -8814,7 +8814,7 @@ file_names[ 3]: ;; code offset: 0xeab (local.set $45 ;; code offset: 0xea8 - (i32.load $mimport$0 offset=20 + (i32.load offset=20 ;; code offset: 0xea6 (local.get $3) ) @@ -8845,7 +8845,7 @@ file_names[ 3]: ) ) ;; code offset: 0xec3 - (i32.store $mimport$0 + (i32.store ;; code offset: 0xebf (local.get $48) ;; code offset: 0xec1 @@ -8854,7 +8854,7 @@ file_names[ 3]: ;; code offset: 0xecb (local.set $49 ;; code offset: 0xec8 - (i32.load $mimport$0 offset=20 + (i32.load offset=20 ;; code offset: 0xec6 (local.get $3) ) @@ -8875,7 +8875,7 @@ file_names[ 3]: ) ) ;; code offset: 0xedc - (i32.store $mimport$0 offset=20 + (i32.store offset=20 ;; code offset: 0xed8 (local.get $3) ;; code offset: 0xeda @@ -8888,13 +8888,13 @@ file_names[ 3]: ;; code offset: 0xee9 (local.set $52 ;; code offset: 0xee6 - (i32.load $mimport$0 offset=44 + (i32.load offset=44 ;; code offset: 0xee4 (local.get $3) ) ) ;; code offset: 0xeef - (i32.store $mimport$0 offset=16 + (i32.store offset=16 ;; code offset: 0xeeb (local.get $3) ;; code offset: 0xeed @@ -8907,7 +8907,7 @@ file_names[ 3]: ;; code offset: 0xefb (local.set $53 ;; code offset: 0xef8 - (i32.load $mimport$0 offset=32 + (i32.load offset=32 ;; code offset: 0xef6 (local.get $3) ) @@ -8929,7 +8929,7 @@ file_names[ 3]: (i32.const 0) ) ;; code offset: 0xf0e - (i32.store $mimport$0 offset=20 + (i32.store offset=20 ;; code offset: 0xf0a (local.get $3) ;; code offset: 0xf0c @@ -8942,7 +8942,7 @@ file_names[ 3]: ;; code offset: 0xf1a (local.set $55 ;; code offset: 0xf17 - (i32.load $mimport$0 offset=20 + (i32.load offset=20 ;; code offset: 0xf15 (local.get $3) ) @@ -8950,7 +8950,7 @@ file_names[ 3]: ;; code offset: 0xf21 (local.set $56 ;; code offset: 0xf1e - (i32.load $mimport$0 offset=44 + (i32.load offset=44 ;; code offset: 0xf1c (local.get $3) ) @@ -9001,7 +9001,7 @@ file_names[ 3]: ;; code offset: 0xf47 (local.set $62 ;; code offset: 0xf44 - (i32.load $mimport$0 offset=28 + (i32.load offset=28 ;; code offset: 0xf42 (local.get $3) ) @@ -9009,7 +9009,7 @@ file_names[ 3]: ;; code offset: 0xf4e (local.set $63 ;; code offset: 0xf4b - (i32.load $mimport$0 offset=20 + (i32.load offset=20 ;; code offset: 0xf49 (local.get $3) ) @@ -9042,7 +9042,7 @@ file_names[ 3]: ;; code offset: 0xf67 (local.set $67 ;; code offset: 0xf64 - (i32.load $mimport$0 + (i32.load ;; code offset: 0xf62 (local.get $66) ) @@ -9063,7 +9063,7 @@ file_names[ 3]: ) ) ;; code offset: 0xf78 - (i32.store $mimport$0 + (i32.store ;; code offset: 0xf74 (local.get $3) ;; code offset: 0xf76 @@ -9087,7 +9087,7 @@ file_names[ 3]: ;; code offset: 0xf8c (local.set $71 ;; code offset: 0xf89 - (i32.load $mimport$0 offset=20 + (i32.load offset=20 ;; code offset: 0xf87 (local.get $3) ) @@ -9108,7 +9108,7 @@ file_names[ 3]: ) ) ;; code offset: 0xf9d - (i32.store $mimport$0 offset=20 + (i32.store offset=20 ;; code offset: 0xf99 (local.get $3) ;; code offset: 0xf9b @@ -9141,7 +9141,7 @@ file_names[ 3]: ;; code offset: 0xfba (local.set $76 ;; code offset: 0xfb7 - (i32.load $mimport$0 offset=32 + (i32.load offset=32 ;; code offset: 0xfb5 (local.get $3) ) @@ -9162,7 +9162,7 @@ file_names[ 3]: ) ) ;; code offset: 0xfcb - (i32.store $mimport$0 offset=32 + (i32.store offset=32 ;; code offset: 0xfc7 (local.get $3) ;; code offset: 0xfc9 @@ -9186,7 +9186,7 @@ file_names[ 3]: ;; code offset: 0xfe1 (local.set $80 ;; code offset: 0xfde - (i32.load $mimport$0 offset=16 + (i32.load offset=16 ;; code offset: 0xfdc (local.get $3) ) @@ -9237,7 +9237,7 @@ file_names[ 3]: ;; code offset: 0x1007 (local.set $86 ;; code offset: 0x1004 - (i32.load $mimport$0 offset=16 + (i32.load offset=16 ;; code offset: 0x1002 (local.get $3) ) @@ -9245,7 +9245,7 @@ file_names[ 3]: ;; code offset: 0x100e (local.set $87 ;; code offset: 0x100b - (i32.load $mimport$0 offset=24 + (i32.load offset=24 ;; code offset: 0x1009 (local.get $3) ) @@ -9253,7 +9253,7 @@ file_names[ 3]: ;; code offset: 0x1015 (local.set $88 ;; code offset: 0x1012 - (i32.load $mimport$0 offset=16 + (i32.load offset=16 ;; code offset: 0x1010 (local.get $3) ) @@ -9299,7 +9299,7 @@ file_names[ 3]: ) ) ;; code offset: 0x1038 - (i32.store $mimport$0 + (i32.store ;; code offset: 0x1034 (local.get $93) ;; code offset: 0x1036 @@ -9308,7 +9308,7 @@ file_names[ 3]: ;; code offset: 0x1040 (local.set $94 ;; code offset: 0x103d - (i32.load $mimport$0 offset=16 + (i32.load offset=16 ;; code offset: 0x103b (local.get $3) ) @@ -9329,7 +9329,7 @@ file_names[ 3]: ) ) ;; code offset: 0x1051 - (i32.store $mimport$0 offset=16 + (i32.store offset=16 ;; code offset: 0x104d (local.get $3) ;; code offset: 0x104f @@ -9344,7 +9344,7 @@ file_names[ 3]: ;; code offset: 0x1060 (local.set $97 ;; code offset: 0x105d - (i32.load $mimport$0 offset=16 + (i32.load offset=16 ;; code offset: 0x105b (local.get $3) ) @@ -9352,7 +9352,7 @@ file_names[ 3]: ;; code offset: 0x1067 (local.set $98 ;; code offset: 0x1064 - (i32.load $mimport$0 offset=44 + (i32.load offset=44 ;; code offset: 0x1062 (local.get $3) ) @@ -9413,7 +9413,7 @@ file_names[ 3]: ;; code offset: 0x1096 (local.set $105 ;; code offset: 0x1093 - (i32.load $mimport$0 offset=28 + (i32.load offset=28 ;; code offset: 0x1091 (local.get $3) ) @@ -9421,20 +9421,20 @@ file_names[ 3]: ;; code offset: 0x109d (local.set $106 ;; code offset: 0x109a - (i32.load $mimport$0 + (i32.load ;; code offset: 0x1098 (local.get $105) ) ) ;; code offset: 0x10a3 - (i32.store $mimport$0 offset=4 + (i32.store offset=4 ;; code offset: 0x109f (local.get $3) ;; code offset: 0x10a1 (local.get $106) ) ;; code offset: 0x10aa - (i32.store $mimport$0 offset=20 + (i32.store offset=20 ;; code offset: 0x10a6 (local.get $3) ;; code offset: 0x10a8 @@ -9447,7 +9447,7 @@ file_names[ 3]: ;; code offset: 0x10b6 (local.set $107 ;; code offset: 0x10b3 - (i32.load $mimport$0 offset=20 + (i32.load offset=20 ;; code offset: 0x10b1 (local.get $3) ) @@ -9455,7 +9455,7 @@ file_names[ 3]: ;; code offset: 0x10bd (local.set $108 ;; code offset: 0x10ba - (i32.load $mimport$0 offset=16 + (i32.load offset=16 ;; code offset: 0x10b8 (local.get $3) ) @@ -9506,7 +9506,7 @@ file_names[ 3]: ;; code offset: 0x10e3 (local.set $114 ;; code offset: 0x10e0 - (i32.load $mimport$0 offset=28 + (i32.load offset=28 ;; code offset: 0x10de (local.get $3) ) @@ -9514,7 +9514,7 @@ file_names[ 3]: ;; code offset: 0x10ea (local.set $115 ;; code offset: 0x10e7 - (i32.load $mimport$0 offset=20 + (i32.load offset=20 ;; code offset: 0x10e5 (local.get $3) ) @@ -9562,7 +9562,7 @@ file_names[ 3]: ;; code offset: 0x110e (local.set $121 ;; code offset: 0x110b - (i32.load $mimport$0 + (i32.load ;; code offset: 0x1109 (local.get $120) ) @@ -9570,7 +9570,7 @@ file_names[ 3]: ;; code offset: 0x1115 (local.set $122 ;; code offset: 0x1112 - (i32.load $mimport$0 offset=28 + (i32.load offset=28 ;; code offset: 0x1110 (local.get $3) ) @@ -9578,7 +9578,7 @@ file_names[ 3]: ;; code offset: 0x111c (local.set $123 ;; code offset: 0x1119 - (i32.load $mimport$0 offset=20 + (i32.load offset=20 ;; code offset: 0x1117 (local.get $3) ) @@ -9609,7 +9609,7 @@ file_names[ 3]: ) ) ;; code offset: 0x1134 - (i32.store $mimport$0 + (i32.store ;; code offset: 0x1130 (local.get $126) ;; code offset: 0x1132 @@ -9618,7 +9618,7 @@ file_names[ 3]: ;; code offset: 0x113c (local.set $127 ;; code offset: 0x1139 - (i32.load $mimport$0 offset=20 + (i32.load offset=20 ;; code offset: 0x1137 (local.get $3) ) @@ -9639,7 +9639,7 @@ file_names[ 3]: ) ) ;; code offset: 0x1151 - (i32.store $mimport$0 offset=20 + (i32.store offset=20 ;; code offset: 0x114c (local.get $3) ;; code offset: 0x114e @@ -9657,7 +9657,7 @@ file_names[ 3]: ;; code offset: 0x1163 (local.set $131 ;; code offset: 0x1160 - (i32.load $mimport$0 offset=4 + (i32.load offset=4 ;; code offset: 0x115e (local.get $3) ) @@ -9665,7 +9665,7 @@ file_names[ 3]: ;; code offset: 0x116b (local.set $132 ;; code offset: 0x1168 - (i32.load $mimport$0 offset=28 + (i32.load offset=28 ;; code offset: 0x1166 (local.get $3) ) @@ -9673,7 +9673,7 @@ file_names[ 3]: ;; code offset: 0x1173 (local.set $133 ;; code offset: 0x1170 - (i32.load $mimport$0 offset=20 + (i32.load offset=20 ;; code offset: 0x116e (local.get $3) ) @@ -9704,7 +9704,7 @@ file_names[ 3]: ) ) ;; code offset: 0x1195 - (i32.store $mimport$0 + (i32.store ;; code offset: 0x118f (local.get $136) ;; code offset: 0x1192 @@ -9713,7 +9713,7 @@ file_names[ 3]: ;; code offset: 0x119d (local.set $137 ;; code offset: 0x119a - (i32.load $mimport$0 offset=24 + (i32.load offset=24 ;; code offset: 0x1198 (local.get $3) ) @@ -9721,7 +9721,7 @@ file_names[ 3]: ;; code offset: 0x11a5 (local.set $138 ;; code offset: 0x11a2 - (i32.load $mimport$0 offset=16 + (i32.load offset=16 ;; code offset: 0x11a0 (local.get $3) ) @@ -9754,7 +9754,7 @@ file_names[ 3]: ;; code offset: 0x11c7 (local.set $142 ;; code offset: 0x11c4 - (i32.load $mimport$0 + (i32.load ;; code offset: 0x11c1 (local.get $141) ) @@ -9775,7 +9775,7 @@ file_names[ 3]: ) ) ;; code offset: 0x11df - (i32.store $mimport$0 + (i32.store ;; code offset: 0x11d9 (local.get $141) ;; code offset: 0x11dc @@ -9833,7 +9833,7 @@ file_names[ 3]: ;; code offset: 0x1219 (local.set $150 ;; code offset: 0x1216 - (i32.load $mimport$0 offset=16 + (i32.load offset=16 ;; code offset: 0x1214 (local.get $3) ) @@ -9854,7 +9854,7 @@ file_names[ 3]: ) ) ;; code offset: 0x1230 - (i32.store $mimport$0 offset=16 + (i32.store offset=16 ;; code offset: 0x122b (local.get $3) ;; code offset: 0x122d @@ -9876,7 +9876,7 @@ file_names[ 3]: ;; code offset: 0x1246 (local.set $154 ;; code offset: 0x1243 - (i32.load $mimport$0 offset=28 + (i32.load offset=28 ;; code offset: 0x1241 (local.get $3) ) @@ -9889,7 +9889,7 @@ file_names[ 3]: ;; code offset: 0x1253 (local.set $155 ;; code offset: 0x1250 - (i32.load $mimport$0 offset=24 + (i32.load offset=24 ;; code offset: 0x124e (local.get $3) ) @@ -9900,7 +9900,7 @@ file_names[ 3]: (local.get $155) ) ;; code offset: 0x1260 - (i32.store $mimport$0 offset=12 + (i32.store offset=12 ;; code offset: 0x125b (local.get $3) ;; code offset: 0x125d @@ -9918,7 +9918,7 @@ file_names[ 3]: ;; code offset: 0x1271 (local.set $157 ;; code offset: 0x126e - (i32.load $mimport$0 offset=40 + (i32.load offset=40 ;; code offset: 0x126c (local.get $3) ) @@ -9969,7 +9969,7 @@ file_names[ 3]: ;; code offset: 0x12a4 (local.set $163 ;; code offset: 0x12a1 - (i32.load $mimport$0 offset=40 + (i32.load offset=40 ;; code offset: 0x129f (local.get $3) ) @@ -9983,7 +9983,7 @@ file_names[ 3]: ) ) ;; code offset: 0x12b4 - (i32.store $mimport$0 offset=8 + (i32.store offset=8 ;; code offset: 0x12af (local.get $3) ;; code offset: 0x12b1 @@ -9992,7 +9992,7 @@ file_names[ 3]: ;; code offset: 0x12bc (local.set $165 ;; code offset: 0x12b9 - (i32.load $mimport$0 offset=12 + (i32.load offset=12 ;; code offset: 0x12b7 (local.get $3) ) @@ -10000,7 +10000,7 @@ file_names[ 3]: ;; code offset: 0x12c4 (local.set $166 ;; code offset: 0x12c1 - (i32.load $mimport$0 offset=8 + (i32.load offset=8 ;; code offset: 0x12bf (local.get $3) ) @@ -10053,13 +10053,13 @@ file_names[ 3]: ;; code offset: 0x12f9 (local.set $172 ;; code offset: 0x12f6 - (i32.load $mimport$0 offset=8 + (i32.load offset=8 ;; code offset: 0x12f4 (local.get $3) ) ) ;; code offset: 0x1301 - (i32.store $mimport$0 offset=12 + (i32.store offset=12 ;; code offset: 0x12fc (local.get $3) ;; code offset: 0x12fe @@ -10069,13 +10069,13 @@ file_names[ 3]: ;; code offset: 0x130a (local.set $173 ;; code offset: 0x1307 - (i32.load $mimport$0 offset=40 + (i32.load offset=40 ;; code offset: 0x1305 (local.get $3) ) ) ;; code offset: 0x1312 - (i32.store $mimport$0 offset=36 + (i32.store offset=36 ;; code offset: 0x130d (local.get $3) ;; code offset: 0x130f @@ -10084,7 +10084,7 @@ file_names[ 3]: ;; code offset: 0x131a (local.set $174 ;; code offset: 0x1317 - (i32.load $mimport$0 offset=40 + (i32.load offset=40 ;; code offset: 0x1315 (local.get $3) ) @@ -10092,13 +10092,13 @@ file_names[ 3]: ;; code offset: 0x1323 (local.set $175 ;; code offset: 0x1320 - (i32.load $mimport$0 offset=8 + (i32.load offset=8 ;; code offset: 0x131d (local.get $174) ) ) ;; code offset: 0x132b - (i32.store $mimport$0 offset=40 + (i32.store offset=40 ;; code offset: 0x1326 (local.get $3) ;; code offset: 0x1328 @@ -10107,7 +10107,7 @@ file_names[ 3]: ;; code offset: 0x1333 (local.set $176 ;; code offset: 0x1330 - (i32.load $mimport$0 offset=36 + (i32.load offset=36 ;; code offset: 0x132e (local.get $3) ) @@ -10124,7 +10124,7 @@ file_names[ 3]: ;; code offset: 0x1345 (local.set $177 ;; code offset: 0x1342 - (i32.load $mimport$0 offset=12 + (i32.load offset=12 ;; code offset: 0x1340 (local.get $3) ) diff --git a/test/passes/fannkuch3_dwarf.bin.txt b/test/passes/fannkuch3_dwarf.bin.txt index 78d590a61a5..3b98476e260 100644 --- a/test/passes/fannkuch3_dwarf.bin.txt +++ b/test/passes/fannkuch3_dwarf.bin.txt @@ -4845,7 +4845,7 @@ file_names[ 4]: ;; code offset: 0x30 (local.tee $2 ;; code offset: 0x2d - (i32.load $mimport$0 offset=4 + (i32.load offset=4 ;; code offset: 0x2b (local.get $0) ) @@ -4889,7 +4889,7 @@ file_names[ 4]: ;; code offset: 0x54 (loop $label$4 ;; code offset: 0x60 - (i32.store $mimport$0 + (i32.store ;; code offset: 0x5d (i32.add ;; code offset: 0x56 @@ -4925,7 +4925,7 @@ file_names[ 4]: ) ) ;; code offset: 0x84 - (i32.store $mimport$0 + (i32.store ;; code offset: 0x7c (i32.add ;; code offset: 0x70 @@ -4935,7 +4935,7 @@ file_names[ 4]: ;; code offset: 0x77 (local.tee $1 ;; code offset: 0x74 - (i32.load $mimport$0 + (i32.load ;; code offset: 0x72 (local.get $0) ) @@ -4956,7 +4956,7 @@ file_names[ 4]: ) ) ;; code offset: 0x93 - (i32.store $mimport$0 + (i32.store ;; code offset: 0x8f (local.tee $8 ;; code offset: 0x8e @@ -5007,7 +5007,7 @@ file_names[ 4]: ;; code offset: 0xac (loop $label$7 ;; code offset: 0xbd - (i32.store $mimport$0 + (i32.store ;; code offset: 0xba (i32.add ;; code offset: 0xae @@ -5062,7 +5062,7 @@ file_names[ 4]: ;; code offset: 0xd8 (local.tee $10 ;; code offset: 0xd5 - (i32.load $mimport$0 + (i32.load ;; code offset: 0xd3 (local.get $4) ) @@ -5074,7 +5074,7 @@ file_names[ 4]: ;; code offset: 0xe4 (i32.eq ;; code offset: 0xdf - (i32.load $mimport$0 + (i32.load ;; code offset: 0xdd (local.get $8) ) @@ -5085,7 +5085,7 @@ file_names[ 4]: ;; code offset: 0xf4 (local.set $12 ;; code offset: 0xf1 - (i32.load $mimport$0 + (i32.load ;; code offset: 0xef (local.tee $11 ;; code offset: 0xed @@ -5144,7 +5144,7 @@ file_names[ 4]: ;; code offset: 0x123 (local.set $15 ;; code offset: 0x120 - (i32.load $mimport$0 + (i32.load ;; code offset: 0x11e (local.tee $14 ;; code offset: 0x11d @@ -5163,11 +5163,11 @@ file_names[ 4]: ) ) ;; code offset: 0x134 - (i32.store $mimport$0 + (i32.store ;; code offset: 0x125 (local.get $14) ;; code offset: 0x131 - (i32.load $mimport$0 + (i32.load ;; code offset: 0x12f (local.tee $16 ;; code offset: 0x12e @@ -5186,7 +5186,7 @@ file_names[ 4]: ) ) ;; code offset: 0x13b - (i32.store $mimport$0 + (i32.store ;; code offset: 0x137 (local.get $16) ;; code offset: 0x139 @@ -5223,7 +5223,7 @@ file_names[ 4]: ;; code offset: 0x15e (local.set $1 ;; code offset: 0x15b - (i32.load $mimport$0 + (i32.load ;; code offset: 0x159 (local.tee $0 ;; code offset: 0x158 @@ -5242,7 +5242,7 @@ file_names[ 4]: ) ) ;; code offset: 0x164 - (i32.store $mimport$0 + (i32.store ;; code offset: 0x160 (local.get $0) ;; code offset: 0x162 @@ -5319,7 +5319,7 @@ file_names[ 4]: ;; code offset: 0x19a (loop $label$14 ;; code offset: 0x1b4 - (i32.store $mimport$0 + (i32.store ;; code offset: 0x1a3 (i32.add ;; code offset: 0x19c @@ -5333,7 +5333,7 @@ file_names[ 4]: ) ) ;; code offset: 0x1b1 - (i32.load $mimport$0 + (i32.load ;; code offset: 0x1b0 (i32.add ;; code offset: 0x1a4 @@ -5374,7 +5374,7 @@ file_names[ 4]: ) ) ;; code offset: 0x1ce - (i32.store $mimport$0 + (i32.store ;; code offset: 0x1cb (i32.add ;; code offset: 0x1c4 @@ -5391,7 +5391,7 @@ file_names[ 4]: (local.get $10) ) ;; code offset: 0x1e5 - (i32.store $mimport$0 + (i32.store ;; code offset: 0x1d9 (local.tee $1 ;; code offset: 0x1d8 @@ -5412,7 +5412,7 @@ file_names[ 4]: ;; code offset: 0x1e0 (local.tee $1 ;; code offset: 0x1dd - (i32.load $mimport$0 + (i32.load ;; code offset: 0x1db (local.get $1) ) @@ -5452,7 +5452,7 @@ file_names[ 4]: ;; code offset: 0x200 (local.set $10 ;; code offset: 0x1fd - (i32.load $mimport$0 + (i32.load ;; code offset: 0x1fb (local.get $4) ) @@ -5463,7 +5463,7 @@ file_names[ 4]: ) ) ;; code offset: 0x21d - (i32.store $mimport$0 + (i32.store ;; code offset: 0x215 (i32.add ;; code offset: 0x209 @@ -5473,7 +5473,7 @@ file_names[ 4]: ;; code offset: 0x210 (local.tee $1 ;; code offset: 0x20d - (i32.load $mimport$0 + (i32.load ;; code offset: 0x20b (local.get $0) ) @@ -5494,7 +5494,7 @@ file_names[ 4]: ) ) ;; code offset: 0x22c - (i32.store $mimport$0 + (i32.store ;; code offset: 0x228 (local.tee $8 ;; code offset: 0x227 @@ -5536,7 +5536,7 @@ file_names[ 4]: ;; code offset: 0x23f (loop $label$17 ;; code offset: 0x250 - (i32.store $mimport$0 + (i32.store ;; code offset: 0x24d (i32.add ;; code offset: 0x241 @@ -5591,7 +5591,7 @@ file_names[ 4]: ;; code offset: 0x26b (local.tee $12 ;; code offset: 0x268 - (i32.load $mimport$0 + (i32.load ;; code offset: 0x266 (local.get $4) ) @@ -5603,7 +5603,7 @@ file_names[ 4]: ;; code offset: 0x277 (i32.eq ;; code offset: 0x272 - (i32.load $mimport$0 + (i32.load ;; code offset: 0x270 (local.get $8) ) @@ -5614,7 +5614,7 @@ file_names[ 4]: ;; code offset: 0x27f (local.set $16 ;; code offset: 0x27c - (i32.load $mimport$0 + (i32.load ;; code offset: 0x27a (local.get $5) ) @@ -5663,7 +5663,7 @@ file_names[ 4]: ;; code offset: 0x2ae (local.set $14 ;; code offset: 0x2ab - (i32.load $mimport$0 + (i32.load ;; code offset: 0x2a9 (local.tee $11 ;; code offset: 0x2a8 @@ -5682,11 +5682,11 @@ file_names[ 4]: ) ) ;; code offset: 0x2bf - (i32.store $mimport$0 + (i32.store ;; code offset: 0x2b0 (local.get $11) ;; code offset: 0x2bc - (i32.load $mimport$0 + (i32.load ;; code offset: 0x2ba (local.tee $15 ;; code offset: 0x2b9 @@ -5705,7 +5705,7 @@ file_names[ 4]: ) ) ;; code offset: 0x2c6 - (i32.store $mimport$0 + (i32.store ;; code offset: 0x2c2 (local.get $15) ;; code offset: 0x2c4 @@ -5742,7 +5742,7 @@ file_names[ 4]: ;; code offset: 0x2e9 (local.set $1 ;; code offset: 0x2e6 - (i32.load $mimport$0 + (i32.load ;; code offset: 0x2e4 (local.tee $0 ;; code offset: 0x2e3 @@ -5761,7 +5761,7 @@ file_names[ 4]: ) ) ;; code offset: 0x2ef - (i32.store $mimport$0 + (i32.store ;; code offset: 0x2eb (local.get $0) ;; code offset: 0x2ed @@ -5838,7 +5838,7 @@ file_names[ 4]: ;; code offset: 0x325 (loop $label$24 ;; code offset: 0x33f - (i32.store $mimport$0 + (i32.store ;; code offset: 0x32e (i32.add ;; code offset: 0x327 @@ -5852,7 +5852,7 @@ file_names[ 4]: ) ) ;; code offset: 0x33c - (i32.load $mimport$0 + (i32.load ;; code offset: 0x33b (i32.add ;; code offset: 0x32f @@ -5893,7 +5893,7 @@ file_names[ 4]: ) ) ;; code offset: 0x359 - (i32.store $mimport$0 + (i32.store ;; code offset: 0x356 (i32.add ;; code offset: 0x34f @@ -5910,7 +5910,7 @@ file_names[ 4]: (local.get $12) ) ;; code offset: 0x370 - (i32.store $mimport$0 + (i32.store ;; code offset: 0x364 (local.tee $1 ;; code offset: 0x363 @@ -5931,7 +5931,7 @@ file_names[ 4]: ;; code offset: 0x36b (local.tee $1 ;; code offset: 0x368 - (i32.load $mimport$0 + (i32.load ;; code offset: 0x366 (local.get $1) ) @@ -5971,7 +5971,7 @@ file_names[ 4]: ;; code offset: 0x38b (local.set $12 ;; code offset: 0x388 - (i32.load $mimport$0 + (i32.load ;; code offset: 0x386 (local.get $4) ) @@ -6048,7 +6048,7 @@ file_names[ 4]: ;; code offset: 0x3d3 (call $atoi ;; code offset: 0x3d0 - (i32.load $mimport$0 offset=4 + (i32.load offset=4 ;; code offset: 0x3ce (local.get $1) ) @@ -6110,7 +6110,7 @@ file_names[ 4]: ;; code offset: 0x402 (loop $label$5 ;; code offset: 0x40c - (i32.store $mimport$0 offset=8 + (i32.store offset=8 ;; code offset: 0x408 (local.tee $3 ;; code offset: 0x406 @@ -6123,14 +6123,14 @@ file_names[ 4]: (local.get $1) ) ;; code offset: 0x413 - (i32.store $mimport$0 offset=4 + (i32.store offset=4 ;; code offset: 0x40f (local.get $3) ;; code offset: 0x411 (local.get $4) ) ;; code offset: 0x41a - (i32.store $mimport$0 + (i32.store ;; code offset: 0x416 (local.get $3) ;; code offset: 0x418 @@ -6208,7 +6208,7 @@ file_names[ 4]: ;; code offset: 0x453 (loop $label$10 ;; code offset: 0x45f - (i32.store $mimport$0 + (i32.store ;; code offset: 0x45c (i32.add ;; code offset: 0x455 @@ -6279,13 +6279,13 @@ file_names[ 4]: ;; code offset: 0x48b (loop $label$12 ;; code offset: 0x49d - (i32.store $mimport$0 offset=16 + (i32.store offset=16 ;; code offset: 0x48d (local.get $2) ;; code offset: 0x49c (i32.add ;; code offset: 0x497 - (i32.load $mimport$0 + (i32.load ;; code offset: 0x496 (i32.add ;; code offset: 0x48f @@ -6360,7 +6360,7 @@ file_names[ 4]: ;; code offset: 0x4c6 (loop $label$14 ;; code offset: 0x4d7 - (i32.store $mimport$0 + (i32.store ;; code offset: 0x4d4 (i32.add ;; code offset: 0x4c8 @@ -6436,7 +6436,7 @@ file_names[ 4]: ;; code offset: 0x504 (local.set $8 ;; code offset: 0x501 - (i32.load $mimport$0 + (i32.load ;; code offset: 0x4ff (local.get $1) ) @@ -6456,7 +6456,7 @@ file_names[ 4]: ;; code offset: 0x50f (loop $label$17 ;; code offset: 0x529 - (i32.store $mimport$0 + (i32.store ;; code offset: 0x518 (i32.add ;; code offset: 0x511 @@ -6470,7 +6470,7 @@ file_names[ 4]: ) ) ;; code offset: 0x526 - (i32.load $mimport$0 + (i32.load ;; code offset: 0x525 (i32.add ;; code offset: 0x519 @@ -6511,7 +6511,7 @@ file_names[ 4]: ) ) ;; code offset: 0x543 - (i32.store $mimport$0 + (i32.store ;; code offset: 0x540 (i32.add ;; code offset: 0x539 @@ -6528,7 +6528,7 @@ file_names[ 4]: (local.get $8) ) ;; code offset: 0x55a - (i32.store $mimport$0 + (i32.store ;; code offset: 0x54e (local.tee $0 ;; code offset: 0x54d @@ -6549,7 +6549,7 @@ file_names[ 4]: ;; code offset: 0x555 (local.tee $0 ;; code offset: 0x552 - (i32.load $mimport$0 + (i32.load ;; code offset: 0x550 (local.get $0) ) @@ -6629,7 +6629,7 @@ file_names[ 4]: ;; code offset: 0x590 (loop $label$21 ;; code offset: 0x5a1 - (i32.store $mimport$0 + (i32.store ;; code offset: 0x59e (i32.add ;; code offset: 0x592 @@ -6700,7 +6700,7 @@ file_names[ 4]: ;; code offset: 0x5ca (local.set $8 ;; code offset: 0x5c7 - (i32.load $mimport$0 + (i32.load ;; code offset: 0x5c5 (local.get $1) ) @@ -6725,7 +6725,7 @@ file_names[ 4]: ;; code offset: 0x5d9 (loop $label$24 ;; code offset: 0x5f3 - (i32.store $mimport$0 + (i32.store ;; code offset: 0x5e2 (i32.add ;; code offset: 0x5db @@ -6739,7 +6739,7 @@ file_names[ 4]: ) ) ;; code offset: 0x5f0 - (i32.load $mimport$0 + (i32.load ;; code offset: 0x5ef (i32.add ;; code offset: 0x5e3 @@ -6780,7 +6780,7 @@ file_names[ 4]: ) ) ;; code offset: 0x60d - (i32.store $mimport$0 + (i32.store ;; code offset: 0x60a (i32.add ;; code offset: 0x603 @@ -6797,7 +6797,7 @@ file_names[ 4]: (local.get $8) ) ;; code offset: 0x624 - (i32.store $mimport$0 + (i32.store ;; code offset: 0x618 (local.tee $0 ;; code offset: 0x617 @@ -6818,7 +6818,7 @@ file_names[ 4]: ;; code offset: 0x61f (local.tee $0 ;; code offset: 0x61c - (i32.load $mimport$0 + (i32.load ;; code offset: 0x61a (local.get $0) ) @@ -6916,7 +6916,7 @@ file_names[ 4]: ;; code offset: 0x66e (local.set $6 ;; code offset: 0x66b - (i32.load $mimport$0 offset=8 + (i32.load offset=8 ;; code offset: 0x669 (local.get $3) ) @@ -6956,14 +6956,14 @@ file_names[ 4]: ) ) ;; code offset: 0x68e - (i32.store $mimport$0 offset=4 + (i32.store offset=4 ;; code offset: 0x68a (local.get $2) ;; code offset: 0x68c (local.get $0) ) ;; code offset: 0x695 - (i32.store $mimport$0 + (i32.store ;; code offset: 0x691 (local.get $2) ;; code offset: 0x693 diff --git a/test/passes/fannkuch3_manyopts_dwarf.bin.txt b/test/passes/fannkuch3_manyopts_dwarf.bin.txt index 3c9fded9657..b9750d21e48 100644 --- a/test/passes/fannkuch3_manyopts_dwarf.bin.txt +++ b/test/passes/fannkuch3_manyopts_dwarf.bin.txt @@ -4749,7 +4749,7 @@ file_names[ 4]: ;; code offset: 0x2d (local.tee $2 ;; code offset: 0x2a - (i32.load $mimport$0 offset=4 + (i32.load offset=4 ;; code offset: 0x28 (local.get $0) ) @@ -4792,7 +4792,7 @@ file_names[ 4]: ;; code offset: 0x4f (loop $label$4 ;; code offset: 0x5b - (i32.store $mimport$0 + (i32.store ;; code offset: 0x58 (i32.add ;; code offset: 0x51 @@ -4828,7 +4828,7 @@ file_names[ 4]: ) ) ;; code offset: 0x7f - (i32.store $mimport$0 + (i32.store ;; code offset: 0x77 (i32.add ;; code offset: 0x6b @@ -4838,7 +4838,7 @@ file_names[ 4]: ;; code offset: 0x72 (local.tee $1 ;; code offset: 0x6f - (i32.load $mimport$0 + (i32.load ;; code offset: 0x6d (local.get $0) ) @@ -4859,7 +4859,7 @@ file_names[ 4]: ) ) ;; code offset: 0x8e - (i32.store $mimport$0 + (i32.store ;; code offset: 0x8a (local.tee $13 ;; code offset: 0x89 @@ -4902,7 +4902,7 @@ file_names[ 4]: ;; code offset: 0xa1 (loop $label$7 ;; code offset: 0xb2 - (i32.store $mimport$0 + (i32.store ;; code offset: 0xaf (i32.add ;; code offset: 0xa3 @@ -4957,7 +4957,7 @@ file_names[ 4]: ;; code offset: 0xcd (local.tee $10 ;; code offset: 0xca - (i32.load $mimport$0 + (i32.load ;; code offset: 0xc8 (local.get $3) ) @@ -4969,7 +4969,7 @@ file_names[ 4]: ;; code offset: 0xd9 (i32.eq ;; code offset: 0xd4 - (i32.load $mimport$0 + (i32.load ;; code offset: 0xd2 (local.get $13) ) @@ -4980,7 +4980,7 @@ file_names[ 4]: ;; code offset: 0xe9 (local.set $6 ;; code offset: 0xe6 - (i32.load $mimport$0 + (i32.load ;; code offset: 0xe4 (local.tee $11 ;; code offset: 0xe2 @@ -5037,7 +5037,7 @@ file_names[ 4]: ;; code offset: 0x116 (local.set $15 ;; code offset: 0x113 - (i32.load $mimport$0 + (i32.load ;; code offset: 0x111 (local.tee $14 ;; code offset: 0x110 @@ -5056,11 +5056,11 @@ file_names[ 4]: ) ) ;; code offset: 0x127 - (i32.store $mimport$0 + (i32.store ;; code offset: 0x118 (local.get $14) ;; code offset: 0x124 - (i32.load $mimport$0 + (i32.load ;; code offset: 0x122 (local.tee $7 ;; code offset: 0x121 @@ -5079,7 +5079,7 @@ file_names[ 4]: ) ) ;; code offset: 0x12e - (i32.store $mimport$0 + (i32.store ;; code offset: 0x12a (local.get $7) ;; code offset: 0x12c @@ -5117,7 +5117,7 @@ file_names[ 4]: ;; code offset: 0x151 (local.set $1 ;; code offset: 0x14e - (i32.load $mimport$0 + (i32.load ;; code offset: 0x14c (local.tee $0 ;; code offset: 0x14b @@ -5136,7 +5136,7 @@ file_names[ 4]: ) ) ;; code offset: 0x157 - (i32.store $mimport$0 + (i32.store ;; code offset: 0x153 (local.get $0) ;; code offset: 0x155 @@ -5211,7 +5211,7 @@ file_names[ 4]: ;; code offset: 0x18b (loop $label$14 ;; code offset: 0x1a5 - (i32.store $mimport$0 + (i32.store ;; code offset: 0x194 (i32.add ;; code offset: 0x18d @@ -5225,7 +5225,7 @@ file_names[ 4]: ) ) ;; code offset: 0x1a2 - (i32.load $mimport$0 + (i32.load ;; code offset: 0x1a1 (i32.add ;; code offset: 0x195 @@ -5267,7 +5267,7 @@ file_names[ 4]: ) ) ;; code offset: 0x1bf - (i32.store $mimport$0 + (i32.store ;; code offset: 0x1bc (i32.add ;; code offset: 0x1b5 @@ -5284,7 +5284,7 @@ file_names[ 4]: (local.get $10) ) ;; code offset: 0x1d6 - (i32.store $mimport$0 + (i32.store ;; code offset: 0x1ca (local.tee $1 ;; code offset: 0x1c9 @@ -5305,7 +5305,7 @@ file_names[ 4]: ;; code offset: 0x1d1 (local.tee $1 ;; code offset: 0x1ce - (i32.load $mimport$0 + (i32.load ;; code offset: 0x1cc (local.get $1) ) @@ -5345,7 +5345,7 @@ file_names[ 4]: ;; code offset: 0x1f1 (local.set $10 ;; code offset: 0x1ee - (i32.load $mimport$0 + (i32.load ;; code offset: 0x1ec (local.get $3) ) @@ -5357,7 +5357,7 @@ file_names[ 4]: ) ) ;; code offset: 0x20e - (i32.store $mimport$0 + (i32.store ;; code offset: 0x206 (i32.add ;; code offset: 0x1fa @@ -5367,7 +5367,7 @@ file_names[ 4]: ;; code offset: 0x201 (local.tee $1 ;; code offset: 0x1fe - (i32.load $mimport$0 + (i32.load ;; code offset: 0x1fc (local.get $0) ) @@ -5388,7 +5388,7 @@ file_names[ 4]: ) ) ;; code offset: 0x21d - (i32.store $mimport$0 + (i32.store ;; code offset: 0x219 (local.tee $13 ;; code offset: 0x218 @@ -5422,7 +5422,7 @@ file_names[ 4]: ;; code offset: 0x22a (loop $label$17 ;; code offset: 0x23b - (i32.store $mimport$0 + (i32.store ;; code offset: 0x238 (i32.add ;; code offset: 0x22c @@ -5477,7 +5477,7 @@ file_names[ 4]: ;; code offset: 0x256 (local.tee $6 ;; code offset: 0x253 - (i32.load $mimport$0 + (i32.load ;; code offset: 0x251 (local.get $3) ) @@ -5489,7 +5489,7 @@ file_names[ 4]: ;; code offset: 0x262 (i32.eq ;; code offset: 0x25d - (i32.load $mimport$0 + (i32.load ;; code offset: 0x25b (local.get $13) ) @@ -5500,7 +5500,7 @@ file_names[ 4]: ;; code offset: 0x26a (local.set $7 ;; code offset: 0x267 - (i32.load $mimport$0 + (i32.load ;; code offset: 0x265 (local.get $8) ) @@ -5547,7 +5547,7 @@ file_names[ 4]: ;; code offset: 0x297 (local.set $14 ;; code offset: 0x294 - (i32.load $mimport$0 + (i32.load ;; code offset: 0x292 (local.tee $11 ;; code offset: 0x291 @@ -5566,11 +5566,11 @@ file_names[ 4]: ) ) ;; code offset: 0x2a8 - (i32.store $mimport$0 + (i32.store ;; code offset: 0x299 (local.get $11) ;; code offset: 0x2a5 - (i32.load $mimport$0 + (i32.load ;; code offset: 0x2a3 (local.tee $15 ;; code offset: 0x2a2 @@ -5589,7 +5589,7 @@ file_names[ 4]: ) ) ;; code offset: 0x2af - (i32.store $mimport$0 + (i32.store ;; code offset: 0x2ab (local.get $15) ;; code offset: 0x2ad @@ -5627,7 +5627,7 @@ file_names[ 4]: ;; code offset: 0x2d2 (local.set $1 ;; code offset: 0x2cf - (i32.load $mimport$0 + (i32.load ;; code offset: 0x2cd (local.tee $0 ;; code offset: 0x2cc @@ -5646,7 +5646,7 @@ file_names[ 4]: ) ) ;; code offset: 0x2d8 - (i32.store $mimport$0 + (i32.store ;; code offset: 0x2d4 (local.get $0) ;; code offset: 0x2d6 @@ -5721,7 +5721,7 @@ file_names[ 4]: ;; code offset: 0x30c (loop $label$24 ;; code offset: 0x326 - (i32.store $mimport$0 + (i32.store ;; code offset: 0x315 (i32.add ;; code offset: 0x30e @@ -5735,7 +5735,7 @@ file_names[ 4]: ) ) ;; code offset: 0x323 - (i32.load $mimport$0 + (i32.load ;; code offset: 0x322 (i32.add ;; code offset: 0x316 @@ -5777,7 +5777,7 @@ file_names[ 4]: ) ) ;; code offset: 0x340 - (i32.store $mimport$0 + (i32.store ;; code offset: 0x33d (i32.add ;; code offset: 0x336 @@ -5794,7 +5794,7 @@ file_names[ 4]: (local.get $6) ) ;; code offset: 0x357 - (i32.store $mimport$0 + (i32.store ;; code offset: 0x34b (local.tee $1 ;; code offset: 0x34a @@ -5815,7 +5815,7 @@ file_names[ 4]: ;; code offset: 0x352 (local.tee $1 ;; code offset: 0x34f - (i32.load $mimport$0 + (i32.load ;; code offset: 0x34d (local.get $1) ) @@ -5855,7 +5855,7 @@ file_names[ 4]: ;; code offset: 0x372 (local.set $6 ;; code offset: 0x36f - (i32.load $mimport$0 + (i32.load ;; code offset: 0x36d (local.get $3) ) @@ -5925,7 +5925,7 @@ file_names[ 4]: ;; code offset: 0x3b4 (call $atoi ;; code offset: 0x3b1 - (i32.load $mimport$0 offset=4 + (i32.load offset=4 ;; code offset: 0x3af (local.get $1) ) @@ -5985,7 +5985,7 @@ file_names[ 4]: ;; code offset: 0x3e1 (loop $label$5 ;; code offset: 0x3eb - (i32.store $mimport$0 offset=8 + (i32.store offset=8 ;; code offset: 0x3e7 (local.tee $4 ;; code offset: 0x3e5 @@ -5998,14 +5998,14 @@ file_names[ 4]: (local.get $1) ) ;; code offset: 0x3f2 - (i32.store $mimport$0 offset=4 + (i32.store offset=4 ;; code offset: 0x3ee (local.get $4) ;; code offset: 0x3f0 (local.get $3) ) ;; code offset: 0x3f9 - (i32.store $mimport$0 + (i32.store ;; code offset: 0x3f5 (local.get $4) ;; code offset: 0x3f7 @@ -6083,7 +6083,7 @@ file_names[ 4]: ;; code offset: 0x430 (loop $label$10 ;; code offset: 0x43c - (i32.store $mimport$0 + (i32.store ;; code offset: 0x439 (i32.add ;; code offset: 0x432 @@ -6155,13 +6155,13 @@ file_names[ 4]: ;; code offset: 0x468 (loop $label$12 ;; code offset: 0x47a - (i32.store $mimport$0 offset=16 + (i32.store offset=16 ;; code offset: 0x46a (local.get $8) ;; code offset: 0x479 (i32.add ;; code offset: 0x474 - (i32.load $mimport$0 + (i32.load ;; code offset: 0x473 (i32.add ;; code offset: 0x46c @@ -6233,7 +6233,7 @@ file_names[ 4]: ;; code offset: 0x4a1 (loop $label$14 ;; code offset: 0x4b2 - (i32.store $mimport$0 + (i32.store ;; code offset: 0x4af (i32.add ;; code offset: 0x4a3 @@ -6309,7 +6309,7 @@ file_names[ 4]: ;; code offset: 0x4df (local.set $7 ;; code offset: 0x4dc - (i32.load $mimport$0 + (i32.load ;; code offset: 0x4da (local.get $1) ) @@ -6327,7 +6327,7 @@ file_names[ 4]: ;; code offset: 0x4e8 (loop $label$17 ;; code offset: 0x502 - (i32.store $mimport$0 + (i32.store ;; code offset: 0x4f1 (i32.add ;; code offset: 0x4ea @@ -6341,7 +6341,7 @@ file_names[ 4]: ) ) ;; code offset: 0x4ff - (i32.load $mimport$0 + (i32.load ;; code offset: 0x4fe (i32.add ;; code offset: 0x4f2 @@ -6383,7 +6383,7 @@ file_names[ 4]: ) ) ;; code offset: 0x51c - (i32.store $mimport$0 + (i32.store ;; code offset: 0x519 (i32.add ;; code offset: 0x512 @@ -6400,7 +6400,7 @@ file_names[ 4]: (local.get $7) ) ;; code offset: 0x533 - (i32.store $mimport$0 + (i32.store ;; code offset: 0x527 (local.tee $0 ;; code offset: 0x526 @@ -6421,7 +6421,7 @@ file_names[ 4]: ;; code offset: 0x52e (local.tee $0 ;; code offset: 0x52b - (i32.load $mimport$0 + (i32.load ;; code offset: 0x529 (local.get $0) ) @@ -6494,7 +6494,7 @@ file_names[ 4]: ;; code offset: 0x563 (loop $label$21 ;; code offset: 0x574 - (i32.store $mimport$0 + (i32.store ;; code offset: 0x571 (i32.add ;; code offset: 0x565 @@ -6565,7 +6565,7 @@ file_names[ 4]: ;; code offset: 0x59d (local.set $7 ;; code offset: 0x59a - (i32.load $mimport$0 + (i32.load ;; code offset: 0x598 (local.get $1) ) @@ -6588,7 +6588,7 @@ file_names[ 4]: ;; code offset: 0x5aa (loop $label$24 ;; code offset: 0x5c4 - (i32.store $mimport$0 + (i32.store ;; code offset: 0x5b3 (i32.add ;; code offset: 0x5ac @@ -6602,7 +6602,7 @@ file_names[ 4]: ) ) ;; code offset: 0x5c1 - (i32.load $mimport$0 + (i32.load ;; code offset: 0x5c0 (i32.add ;; code offset: 0x5b4 @@ -6644,7 +6644,7 @@ file_names[ 4]: ) ) ;; code offset: 0x5de - (i32.store $mimport$0 + (i32.store ;; code offset: 0x5db (i32.add ;; code offset: 0x5d4 @@ -6661,7 +6661,7 @@ file_names[ 4]: (local.get $7) ) ;; code offset: 0x5f5 - (i32.store $mimport$0 + (i32.store ;; code offset: 0x5e9 (local.tee $0 ;; code offset: 0x5e8 @@ -6682,7 +6682,7 @@ file_names[ 4]: ;; code offset: 0x5f0 (local.tee $0 ;; code offset: 0x5ed - (i32.load $mimport$0 + (i32.load ;; code offset: 0x5eb (local.get $0) ) @@ -6768,7 +6768,7 @@ file_names[ 4]: ;; code offset: 0x636 (local.set $2 ;; code offset: 0x633 - (i32.load $mimport$0 offset=8 + (i32.load offset=8 ;; code offset: 0x631 (local.get $4) ) @@ -6808,14 +6808,14 @@ file_names[ 4]: ) ) ;; code offset: 0x656 - (i32.store $mimport$0 offset=4 + (i32.store offset=4 ;; code offset: 0x652 (local.get $8) ;; code offset: 0x654 (local.get $0) ) ;; code offset: 0x65d - (i32.store $mimport$0 + (i32.store ;; code offset: 0x659 (local.get $8) ;; code offset: 0x65b diff --git a/test/passes/fuzz-exec_O.txt b/test/passes/fuzz-exec_O.txt index 760fd66fb43..21bf30eb9cb 100644 --- a/test/passes/fuzz-exec_O.txt +++ b/test/passes/fuzz-exec_O.txt @@ -12,14 +12,14 @@ (block $label$0 (result i64) (br_if $label$0 (i64.const 1234) - (i32.load16_s $0 offset=22 align=1 + (i32.load16_s offset=22 align=1 (i32.const -1) ) ) ) ) (func $func_1 (; has Stack IR ;) (result i32) - (i32.load16_s $0 offset=22 align=1 + (i32.load16_s offset=22 align=1 (i32.const -1) ) ) diff --git a/test/passes/fuzz-exec_all-features.txt b/test/passes/fuzz-exec_all-features.txt index 6f2ae13563a..4b3e64e7c82 100644 --- a/test/passes/fuzz-exec_all-features.txt +++ b/test/passes/fuzz-exec_all-features.txt @@ -83,43 +83,43 @@ (export "wrap_cmpxchg" (func $4)) (export "oob_notify" (func $5)) (func $0 (result i32) - (i32.atomic.load $0 + (i32.atomic.load (i32.const 1) ) ) (func $1 (result i32) - (i32.atomic.load $0 offset=1 + (i32.atomic.load offset=1 (i32.const 0) ) ) (func $2 (result i32) - (i32.atomic.load16_u $0 offset=2 + (i32.atomic.load16_u offset=2 (i32.const 0) ) ) (func $3 (result i32) - (memory.atomic.notify $0 + (memory.atomic.notify (i32.const 1) (i32.const 1) ) ) (func $4 (param $0 i32) (param $1 i32) (drop - (i32.atomic.rmw8.cmpxchg_u $0 + (i32.atomic.rmw8.cmpxchg_u (i32.const 0) (i32.const 256) (i32.const 42) ) ) (call $fimport$0 - (i32.load $0 + (i32.load (i32.const 0) ) ) ) (func $5 (drop - (memory.atomic.notify $0 offset=22 + (memory.atomic.notify offset=22 (i32.const -104) (i32.const -72) ) @@ -152,7 +152,7 @@ (data (i32.const 0) "\ff\ff") (export "unsigned_2_bytes" (func $0)) (func $0 (result i32) - (i32.atomic.rmw16.xor_u $0 + (i32.atomic.rmw16.xor_u (i32.const 0) (i32.const 0) ) @@ -171,13 +171,13 @@ (export "rmw-reads-modifies-and-writes" (func $0)) (func $0 (drop - (i64.atomic.rmw16.and_u $0 offset=4 + (i64.atomic.rmw16.and_u offset=4 (i32.const 0) (i64.const 65535) ) ) (call $fimport$0 - (i32.load8_u $0 + (i32.load8_u (i32.const 5) ) ) @@ -196,13 +196,13 @@ (export "rmw-reads-modifies-and-writes-asymmetrical" (func $0)) (func $0 (drop - (i32.atomic.rmw8.sub_u $0 + (i32.atomic.rmw8.sub_u (i32.const 3) (i32.const 42) ) ) (call $fimport$0 - (i32.load8_u $0 + (i32.load8_u (i32.const 3) ) ) diff --git a/test/passes/generate-stack-ir_optimize-stack-ir_print-stack-ir_optimize-level=3.txt b/test/passes/generate-stack-ir_optimize-stack-ir_print-stack-ir_optimize-level=3.txt index 53f920a2ddb..b9624c55dab 100644 --- a/test/passes/generate-stack-ir_optimize-stack-ir_print-stack-ir_optimize-level=3.txt +++ b/test/passes/generate-stack-ir_optimize-stack-ir_print-stack-ir_optimize-level=3.txt @@ -674,21 +674,21 @@ (f64.add (f64.add (f64.add - (f64.load $0 + (f64.load (i32.const 8) ) - (f64.load $0 + (f64.load (i32.const 16) ) ) (f64.neg - (f64.load $0 + (f64.load (i32.const 16) ) ) ) (f64.neg - (f64.load $0 + (f64.load (i32.const 8) ) ) @@ -696,7 +696,7 @@ ) (if (i32.gt_s - (i32.load $0 + (i32.load (i32.const 24) ) (i32.const 0) @@ -707,7 +707,7 @@ ) (if (f64.gt - (f64.load $0 + (f64.load (i32.const 32) ) (f64.const 0) @@ -1072,7 +1072,7 @@ (i64.const -9218868437227405313) ) (func $i64-store32 (; has Stack IR ;) (param $0 i32) (param $1 i64) - (i64.store32 $0 + (i64.store32 (local.get $0) (local.get $1) ) diff --git a/test/passes/ignore_missing_func_dwarf.bin.txt b/test/passes/ignore_missing_func_dwarf.bin.txt index cda2aa3a996..2ac6414481f 100644 --- a/test/passes/ignore_missing_func_dwarf.bin.txt +++ b/test/passes/ignore_missing_func_dwarf.bin.txt @@ -46,7 +46,7 @@ ) ) ;; code offset: 0x1f - (i32.store $mimport$0 offset=12 + (i32.store offset=12 ;; code offset: 0x1b (local.get $3) ;; code offset: 0x1d @@ -55,7 +55,7 @@ ;; code offset: 0x27 (local.set $4 ;; code offset: 0x24 - (i32.load $mimport$0 offset=12 + (i32.load offset=12 ;; code offset: 0x22 (local.get $3) ) @@ -76,7 +76,7 @@ ) ) ;; code offset: 0x38 - (i32.store $mimport$0 offset=12 + (i32.store offset=12 ;; code offset: 0x34 (local.get $3) ;; code offset: 0x36 @@ -85,7 +85,7 @@ ;; code offset: 0x40 (local.set $7 ;; code offset: 0x3d - (i32.load $mimport$0 offset=12 + (i32.load offset=12 ;; code offset: 0x3b (local.get $3) ) @@ -106,7 +106,7 @@ ) ) ;; code offset: 0x51 - (i32.store $mimport$0 offset=12 + (i32.store offset=12 ;; code offset: 0x4d (local.get $3) ;; code offset: 0x4f @@ -115,7 +115,7 @@ ;; code offset: 0x59 (local.set $10 ;; code offset: 0x56 - (i32.load $mimport$0 offset=12 + (i32.load offset=12 ;; code offset: 0x54 (local.get $3) ) @@ -174,7 +174,7 @@ (i32.const 0) ) ;; code offset: 0x8a - (i32.store $mimport$0 offset=12 + (i32.store offset=12 ;; code offset: 0x86 (local.get $2) ;; code offset: 0x88 @@ -196,7 +196,7 @@ ;; code offset: 0xa4 (local.set $7 ;; code offset: 0x9d - (i32.load $mimport$0 offset=1168 + (i32.load offset=1168 ;; code offset: 0x9b (local.get $6) ) @@ -869,7 +869,7 @@ file_names[ 1]: ) ) ;; code offset: 0x2d - (i32.store $mimport$0 offset=12 + (i32.store offset=12 ;; code offset: 0x29 (local.get $3) ;; code offset: 0x2b @@ -878,7 +878,7 @@ file_names[ 1]: ;; code offset: 0x35 (local.set $4 ;; code offset: 0x32 - (i32.load $mimport$0 offset=12 + (i32.load offset=12 ;; code offset: 0x30 (local.get $3) ) @@ -899,7 +899,7 @@ file_names[ 1]: ) ) ;; code offset: 0x46 - (i32.store $mimport$0 offset=12 + (i32.store offset=12 ;; code offset: 0x42 (local.get $3) ;; code offset: 0x44 @@ -908,7 +908,7 @@ file_names[ 1]: ;; code offset: 0x4e (local.set $7 ;; code offset: 0x4b - (i32.load $mimport$0 offset=12 + (i32.load offset=12 ;; code offset: 0x49 (local.get $3) ) @@ -929,7 +929,7 @@ file_names[ 1]: ) ) ;; code offset: 0x5f - (i32.store $mimport$0 offset=12 + (i32.store offset=12 ;; code offset: 0x5b (local.get $3) ;; code offset: 0x5d @@ -938,7 +938,7 @@ file_names[ 1]: ;; code offset: 0x67 (local.set $10 ;; code offset: 0x64 - (i32.load $mimport$0 offset=12 + (i32.load offset=12 ;; code offset: 0x62 (local.get $3) ) @@ -997,7 +997,7 @@ file_names[ 1]: (i32.const 0) ) ;; code offset: 0xa4 - (i32.store $mimport$0 offset=12 + (i32.store offset=12 ;; code offset: 0xa0 (local.get $2) ;; code offset: 0xa2 @@ -1019,7 +1019,7 @@ file_names[ 1]: ;; code offset: 0xb7 (local.set $7 ;; code offset: 0xb3 - (i32.load $mimport$0 offset=1168 + (i32.load offset=1168 ;; code offset: 0xb1 (local.get $6) ) diff --git a/test/passes/licm.txt b/test/passes/licm.txt index 28181027984..0ad7af77154 100644 --- a/test/passes/licm.txt +++ b/test/passes/licm.txt @@ -51,7 +51,7 @@ ) (func $loop4 (drop - (i32.load $0 + (i32.load (i32.const 1) ) ) @@ -65,13 +65,13 @@ (func $loop3-4 (loop $loop (drop - (i32.load $0 + (i32.load (i32.const 10) ) ) (call $loop2) (drop - (i32.load $0 + (i32.load (i32.const 20) ) ) @@ -82,12 +82,12 @@ ) (func $loop3-4-b (drop - (i32.load $0 + (i32.load (i32.const 10) ) ) (drop - (i32.load $0 + (i32.load (i32.const 20) ) ) @@ -101,7 +101,7 @@ ) (func $loop5 (loop $loop - (i32.store $0 + (i32.store (i32.const 1) (i32.const 2) ) @@ -112,11 +112,11 @@ ) (func $loop6 (loop $loop - (i32.store $0 + (i32.store (i32.const 1) (i32.const 2) ) - (i32.store $0 + (i32.store (i32.const 2) (i32.const 3) ) @@ -124,11 +124,11 @@ ) (func $loop7 (loop $loop - (i32.store $0 + (i32.store (i32.const 1) (i32.const 2) ) - (i32.store $0 + (i32.store (i32.const 2) (i32.const 3) ) @@ -139,7 +139,7 @@ ) (func $loop8 (loop $loop - (i32.store $0 + (i32.store (i32.const 1) (i32.const 2) ) @@ -151,11 +151,11 @@ (func $loop9 (loop $loop (drop - (i32.load $0 + (i32.load (i32.const 1) ) ) - (i32.store $0 + (i32.store (i32.const 1) (i32.const 2) ) @@ -166,12 +166,12 @@ ) (func $loop10 (drop - (i32.load $0 + (i32.load (i32.const 1) ) ) (drop - (i32.load $0 + (i32.load (i32.const 2) ) ) @@ -605,11 +605,11 @@ (func $load-store (param $x i32) (loop $loop (drop - (i32.load $0 + (i32.load (i32.const 0) ) ) - (i32.store $0 + (i32.store (local.get $x) (local.get $x) ) diff --git a/test/passes/memory64-lowering_enable-memory64_enable-bulk-memory_enable-threads.txt b/test/passes/memory64-lowering_enable-memory64_enable-bulk-memory_enable-threads.txt index 99a767dbb96..53577823230 100644 --- a/test/passes/memory64-lowering_enable-memory64_enable-bulk-memory_enable-threads.txt +++ b/test/passes/memory64-lowering_enable-memory64_enable-bulk-memory_enable-threads.txt @@ -5,119 +5,119 @@ (func $func_1 (local $0 i64) (drop - (i32.load $0 + (i32.load (i32.wrap_i64 (i64.const 4) ) ) ) (drop - (i32.load $0 align=1 + (i32.load align=1 (i32.wrap_i64 (i64.const 4) ) ) ) (drop - (i32.load $0 align=2 + (i32.load align=2 (i32.wrap_i64 (i64.const 4) ) ) ) (drop - (i32.load $0 + (i32.load (i32.wrap_i64 (i64.const 4) ) ) ) (drop - (i32.load $0 offset=100 + (i32.load offset=100 (i32.wrap_i64 (i64.const 4) ) ) ) (drop - (i32.load $0 offset=100 align=1 + (i32.load offset=100 align=1 (i32.wrap_i64 (i64.const 4) ) ) ) (drop - (i32.load $0 offset=100 align=2 + (i32.load offset=100 align=2 (i32.wrap_i64 (i64.const 4) ) ) ) (drop - (i32.load $0 offset=100 + (i32.load offset=100 (i32.wrap_i64 (i64.const 4) ) ) ) (drop - (i32.load $0 offset=100 align=1 + (i32.load offset=100 align=1 (unreachable) ) ) - (i32.store $0 + (i32.store (i32.wrap_i64 (i64.const 4) ) (i32.const 8) ) - (i32.store $0 align=1 + (i32.store align=1 (i32.wrap_i64 (i64.const 4) ) (i32.const 8) ) - (i32.store $0 align=2 + (i32.store align=2 (i32.wrap_i64 (i64.const 4) ) (i32.const 8) ) - (i32.store $0 + (i32.store (i32.wrap_i64 (i64.const 4) ) (i32.const 8) ) - (i32.store $0 offset=100 + (i32.store offset=100 (i32.wrap_i64 (i64.const 4) ) (i32.const 8) ) - (i32.store $0 offset=100 align=1 + (i32.store offset=100 align=1 (i32.wrap_i64 (i64.const 4) ) (i32.const 8) ) - (i32.store $0 offset=100 align=2 + (i32.store offset=100 align=2 (i32.wrap_i64 (i64.const 4) ) (i32.const 8) ) - (i32.store $0 offset=100 + (i32.store offset=100 (i32.wrap_i64 (i64.const 4) ) (i32.const 8) ) - (i32.store $0 offset=100 align=1 + (i32.store offset=100 align=1 (unreachable) (i32.const 8) ) - (i32.store $0 offset=100 align=1 + (i32.store offset=100 align=1 (i32.wrap_i64 (i64.const 4) ) @@ -125,26 +125,26 @@ ) (local.set $0 (i64.extend_i32_u - (memory.size $0) + (memory.size) ) ) (local.set $0 (i64.extend_i32_u - (memory.grow $0 + (memory.grow (i32.wrap_i64 (i64.const 1) ) ) ) ) - (memory.init $0 0 + (memory.init 0 (i32.wrap_i64 (i64.const 1) ) (i32.const 2) (i32.const 3) ) - (memory.fill $0 + (memory.fill (i32.wrap_i64 (i64.const 1) ) @@ -153,7 +153,7 @@ (i64.const 3) ) ) - (memory.copy $0 $0 + (memory.copy (i32.wrap_i64 (i64.const 1) ) @@ -165,20 +165,20 @@ ) ) (drop - (i32.atomic.load $0 + (i32.atomic.load (i32.wrap_i64 (i64.const 4) ) ) ) - (i32.atomic.store $0 + (i32.atomic.store (i32.wrap_i64 (i64.const 4) ) (i32.const 8) ) (drop - (i32.atomic.rmw8.add_u $0 + (i32.atomic.rmw8.add_u (i32.wrap_i64 (i64.const 1) ) @@ -186,7 +186,7 @@ ) ) (drop - (i32.atomic.rmw8.cmpxchg_u $0 + (i32.atomic.rmw8.cmpxchg_u (i32.wrap_i64 (i64.const 1) ) @@ -195,7 +195,7 @@ ) ) (drop - (memory.atomic.wait32 $0 + (memory.atomic.wait32 (i32.wrap_i64 (i64.const 1) ) @@ -204,7 +204,7 @@ ) ) (drop - (memory.atomic.notify $0 + (memory.atomic.notify (i32.wrap_i64 (i64.const 1) ) diff --git a/test/passes/optimize-added-constants-propagate_low-memory-unused.txt b/test/passes/optimize-added-constants-propagate_low-memory-unused.txt index b57e1f02aac..ee073ff1d16 100644 --- a/test/passes/optimize-added-constants-propagate_low-memory-unused.txt +++ b/test/passes/optimize-added-constants-propagate_low-memory-unused.txt @@ -5,78 +5,78 @@ (memory $0 1 1) (func $consts (drop - (i32.load $0 + (i32.load (i32.const 0) ) ) (drop - (i32.load $0 + (i32.load (i32.const 1) ) ) (drop - (i32.load $0 + (i32.load (i32.const 1023) ) ) (drop - (i32.load $0 + (i32.load (i32.const 1024) ) ) (drop - (i32.load $0 + (i32.load (i32.const 0) ) ) (drop - (i32.load $0 + (i32.load (i32.const 1) ) ) (drop - (i32.load $0 + (i32.load (i32.const 1023) ) ) (drop - (i32.load $0 + (i32.load (i32.const 1024) ) ) (drop - (i32.load $0 + (i32.load (i32.const 1023) ) ) (drop - (i32.load $0 + (i32.load (i32.const 1024) ) ) - (i32.store $0 + (i32.store (i32.const 1) (i32.const 1) ) ) (func $offsets (param $x i32) (drop - (i32.load $0 offset=1 + (i32.load offset=1 (local.get $x) ) ) (drop - (i32.load $0 offset=8 + (i32.load offset=8 (local.get $x) ) ) (drop - (i32.load $0 offset=1023 + (i32.load offset=1023 (local.get $x) ) ) (drop - (i32.load $0 + (i32.load (i32.add (local.get $x) (i32.const 1024) @@ -84,7 +84,7 @@ ) ) (drop - (i32.load $0 + (i32.load (i32.add (local.get $x) (i32.const 2048) @@ -92,115 +92,115 @@ ) ) (drop - (i32.load $0 offset=4 + (i32.load offset=4 (local.get $x) ) ) ) (func $load-off-2 (param $0 i32) (result i32) - (i32.store $0 + (i32.store (i32.const 6) (local.get $0) ) - (i32.store $0 + (i32.store (i32.const 6) (local.get $0) ) - (i32.store $0 offset=7 + (i32.store offset=7 (local.get $0) (local.get $0) ) - (i32.store $0 offset=9 + (i32.store offset=9 (local.get $0) (local.get $0) ) - (i32.store $0 offset=2 + (i32.store offset=2 (i32.add (i32.const -11) (local.get $0) ) (local.get $0) ) - (i32.store $0 offset=2 + (i32.store offset=2 (i32.add (local.get $0) (i32.const -13) ) (local.get $0) ) - (i32.store $0 offset=19 + (i32.store offset=19 (i32.const -15) (local.get $0) ) - (i32.store $0 offset=21 + (i32.store offset=21 (i32.const -21) (local.get $0) ) - (i32.store $0 + (i32.store (i32.const 25) (local.get $0) ) - (i32.store $0 + (i32.store (i32.const -23) (local.get $0) ) (drop - (i32.load $0 + (i32.load (i32.const 8) ) ) (drop - (i32.load $0 + (i32.load (i32.const 8) ) ) (drop - (i32.load $0 offset=8 + (i32.load offset=8 (local.get $0) ) ) (drop - (i32.load $0 + (i32.load (i32.const 10) ) ) - (i32.load $0 offset=12 + (i32.load offset=12 (local.get $0) ) ) (func $offset-constant (drop - (i32.load $0 + (i32.load (i32.const 10) ) ) (drop - (i32.load $0 + (i32.load (i32.const 10) ) ) (drop - (i32.load $0 + (i32.load (i32.const 20) ) ) (drop - (i32.load $0 + (i32.load (i32.const 1024) ) ) (drop - (i32.load $0 + (i32.load (i32.const 1023) ) ) (drop - (i32.load $0 + (i32.load (i32.const 1023) ) ) (drop - (i32.load $0 + (i32.load (i32.const 100511) ) ) @@ -209,7 +209,7 @@ (local $y i32) (nop) (drop - (i32.load $0 offset=1 + (i32.load offset=1 (local.get $y) ) ) @@ -219,7 +219,7 @@ (local $y i32) (nop) (drop - (i32.load $0 offset=1 + (i32.load offset=1 (local.get $y) ) ) @@ -237,7 +237,7 @@ ) ) (drop - (i32.load $0 + (i32.load (local.get $x) ) ) @@ -247,7 +247,7 @@ (local $y i32) (nop) (drop - (i32.load $0 offset=1 + (i32.load offset=1 (local.get $y) ) ) @@ -260,7 +260,7 @@ ) (nop) (drop - (i32.load $0 offset=1 + (i32.load offset=1 (local.get $y) ) ) @@ -282,7 +282,7 @@ (nop) ) (drop - (i32.load $0 offset=1 + (i32.load offset=1 (local.get $3) ) ) @@ -304,7 +304,7 @@ (i32.const -2) ) (drop - (i32.load $0 offset=1 + (i32.load offset=1 (local.get $3) ) ) @@ -331,7 +331,7 @@ ) ) (drop - (i32.load $0 + (i32.load (local.get $x) ) ) @@ -345,31 +345,31 @@ (nop) (loop $l (call $offset-realistic - (i32.load $0 offset=8 + (i32.load offset=8 (local.get $ptr) ) ) (call $offset-realistic - (i32.load $0 offset=16 + (i32.load offset=16 (local.get $ptr) ) ) (call $offset-realistic - (i32.load $0 offset=16 + (i32.load offset=16 (local.get $ptr) ) ) - (i32.store $0 offset=24 + (i32.store offset=24 (local.get $ptr) (i32.add - (i32.load $0 offset=24 + (i32.load offset=24 (local.get $ptr) ) (i32.const 1) ) ) (br_if $l - (i32.load $0 offset=24 + (i32.load offset=24 (local.get $ptr) ) ) @@ -380,7 +380,7 @@ (local $$vararg_ptr1 i32) (nop) (nop) - (i32.store $0 offset=20 + (i32.store offset=20 (local.get $sp) (i32.const 1) ) @@ -398,7 +398,7 @@ (drop (local.get $$vararg_buffer) ) - (i32.store $0 offset=4 + (i32.store offset=4 (local.get $$vararg_buffer) (i32.const 1) ) diff --git a/test/passes/optimize-added-constants_low-memory-unused.txt b/test/passes/optimize-added-constants_low-memory-unused.txt index b47e88d0292..d36532e6006 100644 --- a/test/passes/optimize-added-constants_low-memory-unused.txt +++ b/test/passes/optimize-added-constants_low-memory-unused.txt @@ -5,78 +5,78 @@ (memory $0 1 1) (func $consts (drop - (i32.load $0 + (i32.load (i32.const 0) ) ) (drop - (i32.load $0 + (i32.load (i32.const 1) ) ) (drop - (i32.load $0 + (i32.load (i32.const 1023) ) ) (drop - (i32.load $0 + (i32.load (i32.const 1024) ) ) (drop - (i32.load $0 + (i32.load (i32.const 0) ) ) (drop - (i32.load $0 + (i32.load (i32.const 1) ) ) (drop - (i32.load $0 + (i32.load (i32.const 1023) ) ) (drop - (i32.load $0 + (i32.load (i32.const 1024) ) ) (drop - (i32.load $0 + (i32.load (i32.const 1023) ) ) (drop - (i32.load $0 + (i32.load (i32.const 1024) ) ) - (i32.store $0 + (i32.store (i32.const 1) (i32.const 1) ) ) (func $offsets (param $x i32) (drop - (i32.load $0 offset=1 + (i32.load offset=1 (local.get $x) ) ) (drop - (i32.load $0 offset=8 + (i32.load offset=8 (local.get $x) ) ) (drop - (i32.load $0 offset=1023 + (i32.load offset=1023 (local.get $x) ) ) (drop - (i32.load $0 + (i32.load (i32.add (local.get $x) (i32.const 1024) @@ -84,7 +84,7 @@ ) ) (drop - (i32.load $0 + (i32.load (i32.add (local.get $x) (i32.const 2048) @@ -92,115 +92,115 @@ ) ) (drop - (i32.load $0 offset=4 + (i32.load offset=4 (local.get $x) ) ) ) (func $load-off-2 (param $0 i32) (result i32) - (i32.store $0 + (i32.store (i32.const 6) (local.get $0) ) - (i32.store $0 + (i32.store (i32.const 6) (local.get $0) ) - (i32.store $0 offset=7 + (i32.store offset=7 (local.get $0) (local.get $0) ) - (i32.store $0 offset=9 + (i32.store offset=9 (local.get $0) (local.get $0) ) - (i32.store $0 offset=2 + (i32.store offset=2 (i32.add (i32.const -11) (local.get $0) ) (local.get $0) ) - (i32.store $0 offset=2 + (i32.store offset=2 (i32.add (local.get $0) (i32.const -13) ) (local.get $0) ) - (i32.store $0 offset=19 + (i32.store offset=19 (i32.const -15) (local.get $0) ) - (i32.store $0 offset=21 + (i32.store offset=21 (i32.const -21) (local.get $0) ) - (i32.store $0 + (i32.store (i32.const 25) (local.get $0) ) - (i32.store $0 + (i32.store (i32.const -23) (local.get $0) ) (drop - (i32.load $0 + (i32.load (i32.const 8) ) ) (drop - (i32.load $0 + (i32.load (i32.const 8) ) ) (drop - (i32.load $0 offset=8 + (i32.load offset=8 (local.get $0) ) ) (drop - (i32.load $0 + (i32.load (i32.const 10) ) ) - (i32.load $0 offset=12 + (i32.load offset=12 (local.get $0) ) ) (func $offset-constant (drop - (i32.load $0 + (i32.load (i32.const 10) ) ) (drop - (i32.load $0 + (i32.load (i32.const 10) ) ) (drop - (i32.load $0 + (i32.load (i32.const 20) ) ) (drop - (i32.load $0 + (i32.load (i32.const 1024) ) ) (drop - (i32.load $0 + (i32.load (i32.const 1023) ) ) (drop - (i32.load $0 + (i32.load (i32.const 1023) ) ) (drop - (i32.load $0 + (i32.load (i32.const 100511) ) ) @@ -214,7 +214,7 @@ ) ) (drop - (i32.load $0 + (i32.load (local.get $x) ) ) @@ -229,7 +229,7 @@ ) ) (drop - (i32.load $0 + (i32.load (local.get $x) ) ) @@ -247,7 +247,7 @@ ) ) (drop - (i32.load $0 + (i32.load (local.get $x) ) ) @@ -262,7 +262,7 @@ ) ) (drop - (i32.load $0 + (i32.load (local.get $x) ) ) @@ -280,7 +280,7 @@ ) ) (drop - (i32.load $0 + (i32.load (local.get $x) ) ) @@ -301,7 +301,7 @@ ) ) (drop - (i32.load $0 + (i32.load (local.get $x) ) ) @@ -322,7 +322,7 @@ (i32.const -2) ) (drop - (i32.load $0 + (i32.load (local.get $x) ) ) @@ -351,31 +351,31 @@ ) (loop $l (call $offset-realistic - (i32.load $0 + (i32.load (local.get $x) ) ) (call $offset-realistic - (i32.load $0 + (i32.load (local.get $y) ) ) (call $offset-realistic - (i32.load $0 + (i32.load (local.get $y) ) ) - (i32.store $0 + (i32.store (local.get $z) (i32.add - (i32.load $0 + (i32.load (local.get $z) ) (i32.const 1) ) ) (br_if $l - (i32.load $0 + (i32.load (local.get $z) ) ) diff --git a/test/passes/pick-load-signs.txt b/test/passes/pick-load-signs.txt index c2309ccb49f..c4cd6f7e9c6 100644 --- a/test/passes/pick-load-signs.txt +++ b/test/passes/pick-load-signs.txt @@ -5,7 +5,7 @@ (func $a (local $y i32) (local.set $y - (i32.load8_u $0 + (i32.load8_u (i32.const 1024) ) ) @@ -19,7 +19,7 @@ (func $b (local $y i32) (local.set $y - (i32.load16_u $0 + (i32.load16_u (i32.const 1024) ) ) @@ -33,7 +33,7 @@ (func $c (local $y i32) (local.set $y - (i32.load8_u $0 + (i32.load8_u (i32.const 1024) ) ) @@ -47,7 +47,7 @@ (func $d (local $y i32) (local.set $y - (i32.load16_u $0 + (i32.load16_u (i32.const 1024) ) ) @@ -61,7 +61,7 @@ (func $one-of-each (local $y i32) (local.set $y - (i32.load8_s $0 + (i32.load8_s (i32.const 1024) ) ) @@ -84,7 +84,7 @@ (func $more-of-one (local $y i32) (local.set $y - (i32.load8_s $0 + (i32.load8_s (i32.const 1024) ) ) @@ -113,7 +113,7 @@ (func $many-more-of-one (local $y i32) (local.set $y - (i32.load8_u $0 + (i32.load8_u (i32.const 1024) ) ) @@ -148,7 +148,7 @@ (func $a-sign (local $y i32) (local.set $y - (i32.load8_s $0 + (i32.load8_s (i32.const 1024) ) ) @@ -166,7 +166,7 @@ (local $x i32) (local $y i32) (local.set $x - (i32.load8_u $0 + (i32.load8_u (i32.const 1024) ) ) @@ -177,7 +177,7 @@ ) ) (local.set $y - (i32.load8_s $0 + (i32.load8_s (i32.const 1024) ) ) @@ -194,12 +194,12 @@ (func $corners (local $y i32) (drop - (i32.load8_s $0 + (i32.load8_s (i32.const 1024) ) ) (drop - (i32.load8_u $0 + (i32.load8_u (i32.const 1024) ) ) @@ -210,7 +210,7 @@ (func $wrong-size (local $y i32) (local.set $y - (i32.load8_s $0 + (i32.load8_s (i32.const 1024) ) ) @@ -224,7 +224,7 @@ (func $wrong-size_s (local $y i32) (local.set $y - (i32.load8_u $0 + (i32.load8_u (i32.const 1024) ) ) @@ -241,7 +241,7 @@ (func $non-sign-or-unsigned-use (local $y i32) (local.set $y - (i32.load8_s $0 + (i32.load8_s (i32.const 1024) ) ) @@ -256,7 +256,7 @@ ) ) (func $toplevel-load (result i32) - (i32.load8_s $0 + (i32.load8_s (i32.const 1024) ) ) @@ -264,7 +264,7 @@ (local $y i32) (drop (local.tee $y - (i32.load8_s $0 + (i32.load8_s (i32.const 1024) ) ) diff --git a/test/passes/pick-load-signs_all-features.txt b/test/passes/pick-load-signs_all-features.txt index 24261eb5e50..4b08c75dec4 100644 --- a/test/passes/pick-load-signs_all-features.txt +++ b/test/passes/pick-load-signs_all-features.txt @@ -6,7 +6,7 @@ (drop (block $block (result i32) (local.set $0 - (i32.atomic.load16_u $0 + (i32.atomic.load16_u (i32.const 27) ) ) diff --git a/test/passes/precompute-propagate_all-features.txt b/test/passes/precompute-propagate_all-features.txt index f6a39534404..6001d54ba96 100644 --- a/test/passes/precompute-propagate_all-features.txt +++ b/test/passes/precompute-propagate_all-features.txt @@ -264,7 +264,7 @@ (func $simd-load (result v128) (local $x v128) (local.set $x - (v128.load8_splat $0 + (v128.load8_splat (i32.const 0) ) ) diff --git a/test/passes/precompute_all-features.txt b/test/passes/precompute_all-features.txt index 1c53c8482c7..70c790484fc 100644 --- a/test/passes/precompute_all-features.txt +++ b/test/passes/precompute_all-features.txt @@ -140,7 +140,7 @@ ) (func $reuse-br-value (result f64) (block $label$0 (result f64) - (i32.store8 $0 + (i32.store8 (i32.const 1919623207) (if (result i32) (i32.const 1) @@ -157,7 +157,7 @@ (f64.const 6.134856208230095e-154) ) ) - (i32.load $0 offset=3 align=2 + (i32.load offset=3 align=2 (i32.const 169901344) ) ) @@ -221,7 +221,7 @@ (v128.const i32x4 0x00000000 0x00000000 0x00000000 0x00000000) ) (func $no-memory-init-precompute - (memory.init $0 0 + (memory.init 0 (i32.const 512) (i32.const 0) (i32.const 12) @@ -231,14 +231,14 @@ (data.drop 0) ) (func $no-memory-copy-precompute - (memory.copy $0 $0 + (memory.copy (i32.const 512) (i32.const 0) (i32.const 12) ) ) (func $no-memory-fill-precompute - (memory.fill $0 + (memory.fill (i32.const 512) (i32.const 0) (i32.const 12) diff --git a/test/passes/print-call-graph.txt b/test/passes/print-call-graph.txt index 382b6477678..4b2cefb81bc 100644 --- a/test/passes/print-call-graph.txt +++ b/test/passes/print-call-graph.txt @@ -251,7 +251,7 @@ digraph call { ) (func $_main (result i32) (local $0 i32) - (i64.store $0 align=4 + (i64.store align=4 (local.tee $0 (call $__Znwj (i32.const 8) @@ -273,11 +273,11 @@ digraph call { (i32.const 16) ) ) - (i32.store $0 + (i32.store (local.tee $2 (local.get $1) ) - (i32.load $0 offset=60 + (i32.load offset=60 (local.get $0) ) ) @@ -325,7 +325,7 @@ digraph call { (local.set $9 (local.get $7) ) - (i32.store $0 + (i32.store (local.tee $3 (i32.add (local.get $7) @@ -333,7 +333,7 @@ digraph call { ) ) (local.tee $5 - (i32.load $0 + (i32.load (local.tee $6 (i32.add (local.get $0) @@ -343,11 +343,11 @@ digraph call { ) ) ) - (i32.store $0 offset=4 + (i32.store offset=4 (local.get $3) (local.tee $4 (i32.sub - (i32.load $0 + (i32.load (local.tee $10 (i32.add (local.get $0) @@ -359,11 +359,11 @@ digraph call { ) ) ) - (i32.store $0 offset=8 + (i32.store offset=8 (local.get $3) (local.get $1) ) - (i32.store $0 offset=12 + (i32.store offset=12 (local.get $3) (local.get $2) ) @@ -401,7 +401,7 @@ digraph call { (local.get $11) (local.tee $4 (if (result i32) - (i32.load $0 + (i32.load (i32.const 1140) ) (block $block (result i32) @@ -409,17 +409,17 @@ digraph call { (i32.const 1) (local.get $0) ) - (i32.store $0 + (i32.store (local.get $9) - (i32.load $0 + (i32.load (local.get $13) ) ) - (i32.store $0 offset=4 + (i32.store offset=4 (local.get $9) (local.get $1) ) - (i32.store $0 offset=8 + (i32.store offset=8 (local.get $9) (local.get $5) ) @@ -437,17 +437,17 @@ digraph call { (local.get $3) ) (block $block0 (result i32) - (i32.store $0 + (i32.store (local.get $8) - (i32.load $0 + (i32.load (local.get $13) ) ) - (i32.store $0 offset=4 + (i32.store offset=4 (local.get $8) (local.get $1) ) - (i32.store $0 offset=8 + (i32.store offset=8 (local.get $8) (local.get $5) ) @@ -479,21 +479,21 @@ digraph call { (i32.gt_u (local.get $4) (local.tee $12 - (i32.load $0 offset=4 + (i32.load offset=4 (local.get $1) ) ) ) (block $block2 (result i32) - (i32.store $0 + (i32.store (local.get $6) (local.tee $3 - (i32.load $0 + (i32.load (local.get $14) ) ) ) - (i32.store $0 + (i32.store (local.get $10) (local.get $3) ) @@ -515,7 +515,7 @@ digraph call { (i32.const -1) ) ) - (i32.load $0 offset=12 + (i32.load offset=12 (local.get $1) ) ) @@ -525,10 +525,10 @@ digraph call { (i32.const 2) ) (block $block4 (result i32) - (i32.store $0 + (i32.store (local.get $6) (i32.add - (i32.load $0 + (i32.load (local.get $6) ) (local.get $4) @@ -551,16 +551,16 @@ digraph call { ) ) ) - (i32.store $0 + (i32.store (local.get $3) (i32.add - (i32.load $0 + (i32.load (local.get $3) ) (local.get $4) ) ) - (i32.store $0 offset=4 + (i32.store offset=4 (local.get $3) (i32.sub (local.get $1) @@ -573,26 +573,26 @@ digraph call { (br $while-in) ) ) - (i32.store $0 offset=16 + (i32.store offset=16 (local.get $0) (i32.add (local.tee $1 - (i32.load $0 + (i32.load (local.get $14) ) ) - (i32.load $0 offset=48 + (i32.load offset=48 (local.get $0) ) ) ) - (i32.store $0 + (i32.store (local.get $6) (local.tee $0 (local.get $1) ) ) - (i32.store $0 + (i32.store (local.get $10) (local.get $0) ) @@ -600,22 +600,22 @@ digraph call { (local.get $2) ) ) - (i32.store $0 offset=16 + (i32.store offset=16 (local.get $0) (i32.const 0) ) - (i32.store $0 + (i32.store (local.get $6) (i32.const 0) ) - (i32.store $0 + (i32.store (local.get $10) (i32.const 0) ) - (i32.store $0 + (i32.store (local.get $0) (i32.or - (i32.load $0 + (i32.load (local.get $0) ) (i32.const 32) @@ -625,7 +625,7 @@ digraph call { (i32.const 0) (i32.sub (local.get $2) - (i32.load $0 offset=4 + (i32.load offset=4 (local.get $1) ) ) @@ -653,23 +653,23 @@ digraph call { (i32.const 32) ) ) - (i32.store $0 + (i32.store (local.tee $3 (local.get $4) ) - (i32.load $0 offset=60 + (i32.load offset=60 (local.get $0) ) ) - (i32.store $0 offset=4 + (i32.store offset=4 (local.get $3) (i32.const 0) ) - (i32.store $0 offset=8 + (i32.store offset=8 (local.get $3) (local.get $1) ) - (i32.store $0 offset=12 + (i32.store offset=12 (local.get $3) (local.tee $0 (i32.add @@ -678,7 +678,7 @@ digraph call { ) ) ) - (i32.store $0 offset=16 + (i32.store offset=16 (local.get $3) (local.get $2) ) @@ -694,13 +694,13 @@ digraph call { (i32.const 0) ) (block $block (result i32) - (i32.store $0 + (i32.store (local.get $0) (i32.const -1) ) (i32.const -1) ) - (i32.load $0 + (i32.load (local.get $0) ) ) @@ -717,7 +717,7 @@ digraph call { (i32.const -4096) ) (block $block (result i32) - (i32.store $0 + (i32.store (call $___errno_location) (i32.sub (i32.const 0) @@ -731,10 +731,10 @@ digraph call { ) (func $___errno_location (result i32) (if (result i32) - (i32.load $0 + (i32.load (i32.const 1140) ) - (i32.load $0 offset=64 + (i32.load offset=64 (call $_pthread_self) ) (i32.const 1184) @@ -743,7 +743,7 @@ digraph call { (func $_cleanup_387 (param $0 i32) (if (i32.eqz - (i32.load $0 offset=68 + (i32.load offset=68 (local.get $0) ) ) @@ -774,31 +774,31 @@ digraph call { (i32.const 12) ) ) - (i32.store $0 offset=36 + (i32.store offset=36 (local.get $0) (i32.const 3) ) (if (i32.eqz (i32.and - (i32.load $0 + (i32.load (local.get $0) ) (i32.const 64) ) ) (block $block - (i32.store $0 + (i32.store (local.get $3) - (i32.load $0 offset=60 + (i32.load offset=60 (local.get $0) ) ) - (i32.store $0 offset=4 + (i32.store offset=4 (local.get $3) (i32.const 21505) ) - (i32.store $0 offset=8 + (i32.store offset=8 (local.get $3) (local.get $5) ) @@ -807,7 +807,7 @@ digraph call { (i32.const 54) (local.get $3) ) - (i32.store8 $0 offset=75 + (i32.store8 offset=75 (local.get $0) (i32.const -1) ) @@ -835,7 +835,7 @@ digraph call { (block $block (result i32) (if (i32.le_s - (i32.load $0 offset=76 + (i32.load offset=76 (local.get $0) ) (i32.const -1) @@ -872,11 +872,11 @@ digraph call { (block $block10 (result i32) (local.set $0 (if (result i32) - (i32.load $0 + (i32.load (i32.const 1136) ) (call $_fflush - (i32.load $0 + (i32.load (i32.const 1136) ) ) @@ -888,7 +888,7 @@ digraph call { ) (if (local.tee $1 - (i32.load $0 + (i32.load (i32.const 1164) ) ) @@ -896,7 +896,7 @@ digraph call { (local.set $2 (if (result i32) (i32.gt_s - (i32.load $0 offset=76 + (i32.load offset=76 (local.get $1) ) (i32.const -1) @@ -910,10 +910,10 @@ digraph call { (local.set $0 (if (result i32) (i32.gt_u - (i32.load $0 offset=20 + (i32.load offset=20 (local.get $1) ) - (i32.load $0 offset=28 + (i32.load offset=28 (local.get $1) ) ) @@ -934,7 +934,7 @@ digraph call { ) (br_if $while-in (local.tee $1 - (i32.load $0 offset=56 + (i32.load offset=56 (local.get $1) ) ) @@ -960,7 +960,7 @@ digraph call { (block $jumpthreading$inner$0 (br_if $jumpthreading$inner$0 (i32.le_u - (i32.load $0 + (i32.load (local.tee $1 (i32.add (local.get $0) @@ -968,7 +968,7 @@ digraph call { ) ) ) - (i32.load $0 + (i32.load (local.tee $2 (i32.add (local.get $0) @@ -985,7 +985,7 @@ digraph call { (i32.const 0) (i32.add (i32.and - (i32.load $0 offset=36 + (i32.load offset=36 (local.get $0) ) (i32.const 3) @@ -995,7 +995,7 @@ digraph call { ) ) (br_if $jumpthreading$inner$0 - (i32.load $0 + (i32.load (local.get $1) ) ) @@ -1006,7 +1006,7 @@ digraph call { (if (i32.lt_u (local.tee $4 - (i32.load $0 + (i32.load (local.tee $3 (i32.add (local.get $0) @@ -1016,7 +1016,7 @@ digraph call { ) ) (local.tee $6 - (i32.load $0 + (i32.load (local.tee $5 (i32.add (local.get $0) @@ -1036,7 +1036,7 @@ digraph call { (i32.const 1) (i32.add (i32.and - (i32.load $0 offset=40 + (i32.load offset=40 (local.get $0) ) (i32.const 3) @@ -1046,23 +1046,23 @@ digraph call { ) ) ) - (i32.store $0 offset=16 + (i32.store offset=16 (local.get $0) (i32.const 0) ) - (i32.store $0 + (i32.store (local.get $2) (i32.const 0) ) - (i32.store $0 + (i32.store (local.get $1) (i32.const 0) ) - (i32.store $0 + (i32.store (local.get $5) (i32.const 0) ) - (i32.store $0 + (i32.store (local.get $3) (i32.const 0) ) @@ -1113,11 +1113,11 @@ digraph call { ) (func $__ZSt15get_new_handlerv (result i32) (local $0 i32) - (i32.store $0 + (i32.store (i32.const 1188) (i32.add (local.tee $0 - (i32.load $0 + (i32.load (i32.const 1188) ) ) @@ -1202,7 +1202,7 @@ digraph call { (local.get $3) ) (block $block19 - (i32.store8 $0 + (i32.store8 (local.get $0) (local.get $1) ) @@ -1225,7 +1225,7 @@ digraph call { (local.get $6) ) (block $block21 - (i32.store $0 + (i32.store (local.get $0) (local.get $5) ) @@ -1248,7 +1248,7 @@ digraph call { (local.get $4) ) (block $block23 - (i32.store8 $0 + (i32.store8 (local.get $0) (local.get $1) ) @@ -1315,9 +1315,9 @@ digraph call { (local.get $3) ) ) - (i32.store8 $0 + (i32.store8 (local.get $0) - (i32.load8_s $0 + (i32.load8_s (local.get $1) ) ) @@ -1349,9 +1349,9 @@ digraph call { (i32.const 4) ) (block $block27 - (i32.store $0 + (i32.store (local.get $0) - (i32.load $0 + (i32.load (local.get $1) ) ) @@ -1386,9 +1386,9 @@ digraph call { (i32.const 0) ) (block $block29 - (i32.store8 $0 + (i32.store8 (local.get $0) - (i32.load8_s $0 + (i32.load8_s (local.get $1) ) ) diff --git a/test/passes/print.bin.txt b/test/passes/print.bin.txt index 6b6a0e66391..aa1cac6bdc7 100644 --- a/test/passes/print.bin.txt +++ b/test/passes/print.bin.txt @@ -80,7 +80,7 @@ ) ) (func $__growWasmMemory (param $0 i32) (result i32) - (memory.grow $mimport$0 + (memory.grow (local.get $0) ) ) @@ -171,7 +171,7 @@ ) ) (func $__growWasmMemory (param $0 i32) (result i32) - (memory.grow $mimport$0 + (memory.grow (local.get $0) ) ) diff --git a/test/passes/print_g.bin.txt b/test/passes/print_g.bin.txt index 2a24831bf00..a8ee34fba84 100644 --- a/test/passes/print_g.bin.txt +++ b/test/passes/print_g.bin.txt @@ -118,7 +118,7 @@ ) (func $__growWasmMemory (param $0 i32) (result i32) ;; code offset: 0x56 - (memory.grow $mimport$0 + (memory.grow ;; code offset: 0x54 (local.get $0) ) @@ -248,7 +248,7 @@ ) (func $__growWasmMemory (param $0 i32) (result i32) ;; code offset: 0x56 - (memory.grow $mimport$0 + (memory.grow ;; code offset: 0x54 (local.get $0) ) diff --git a/test/passes/print_g_strip-dwarf.bin.txt b/test/passes/print_g_strip-dwarf.bin.txt index 257a333a891..9a425e643c8 100644 --- a/test/passes/print_g_strip-dwarf.bin.txt +++ b/test/passes/print_g_strip-dwarf.bin.txt @@ -80,7 +80,7 @@ ) ) (func $__growWasmMemory (param $0 i32) (result i32) - (memory.grow $mimport$0 + (memory.grow (local.get $0) ) ) @@ -171,7 +171,7 @@ ) ) (func $__growWasmMemory (param $0 i32) (result i32) - (memory.grow $mimport$0 + (memory.grow (local.get $0) ) ) diff --git a/test/passes/remove-unused-brs_enable-multivalue.txt b/test/passes/remove-unused-brs_enable-multivalue.txt index 0a990b35455..cf8ad7ec20e 100644 --- a/test/passes/remove-unused-brs_enable-multivalue.txt +++ b/test/passes/remove-unused-brs_enable-multivalue.txt @@ -890,7 +890,7 @@ (block $switch$26 ) ) - (i32.store $0 + (i32.store (i32.const 5724) (i32.const -254899267) ) @@ -1004,12 +1004,12 @@ (i32.const 607395945) ) (br_if $label$1 - (i32.load $0 offset=3 align=1 + (i32.load offset=3 align=1 (select (call $untaken-brs-might-prevent-block-removal (f32.const 1.4904844647389837e-07) (br_if $label$0 - (i32.store16 $0 offset=4 align=1 + (i32.store16 offset=4 align=1 (i32.const 1900641) (br $label$0 (i32.const 1628075109) @@ -1036,7 +1036,7 @@ (loop $label$0 (loop $label$1 (br_if $label$0 - (i32.load8_s $0 + (i32.load8_s (i32.const 201460482) ) ) @@ -2673,7 +2673,7 @@ ) ) ) - (i32.store $0 + (i32.store (i32.const 1024) (i32.add (local.get $0) @@ -2686,7 +2686,7 @@ (block $label$1 (result i32) (br_table $label$1 (block $label$2 (result i32) - (i32.store $0 + (i32.store (i32.const 1) (i32.const 2) ) diff --git a/test/passes/remove-unused-brs_shrink-level=1.txt b/test/passes/remove-unused-brs_shrink-level=1.txt index 025bccee38b..22f70fff167 100644 --- a/test/passes/remove-unused-brs_shrink-level=1.txt +++ b/test/passes/remove-unused-brs_shrink-level=1.txt @@ -17,7 +17,7 @@ (drop (if (result i32) (i32.const 1) - (i32.load $0 + (i32.load (i32.const 10) ) (i32.const 27) @@ -126,7 +126,7 @@ (block $label$1 (block $block (br_if $label$1 - (i32.load8_u $0 + (i32.load8_u (i32.const -93487262) ) ) diff --git a/test/passes/remove-unused-brs_shrink-level=1_ignore-implicit-traps.txt b/test/passes/remove-unused-brs_shrink-level=1_ignore-implicit-traps.txt index 2a6b7ab0b0c..6f8f400424a 100644 --- a/test/passes/remove-unused-brs_shrink-level=1_ignore-implicit-traps.txt +++ b/test/passes/remove-unused-brs_shrink-level=1_ignore-implicit-traps.txt @@ -16,7 +16,7 @@ ) (drop (select - (i32.load $0 + (i32.load (i32.const 10) ) (i32.const 27) diff --git a/test/passes/remove-unused-module-elements_all-features.txt b/test/passes/remove-unused-module-elements_all-features.txt index b24237d7dde..ecf30316021 100644 --- a/test/passes/remove-unused-module-elements_all-features.txt +++ b/test/passes/remove-unused-module-elements_all-features.txt @@ -118,7 +118,7 @@ (export "user" (func $user)) (func $user (drop - (i32.load $0 + (i32.load (i32.const 0) ) ) @@ -132,7 +132,7 @@ (memory $0 (shared 23 256)) (export "user" (func $user)) (func $user - (i32.store $0 + (i32.store (i32.const 0) (i32.const 0) ) @@ -143,7 +143,7 @@ (memory $0 (shared 23 256)) (export "user" (func $user)) (func $user (result i32) - (i32.atomic.rmw.add $0 + (i32.atomic.rmw.add (i32.const 0) (i32.const 0) ) @@ -154,7 +154,7 @@ (memory $0 (shared 23 256)) (export "user" (func $user)) (func $user (result i32) - (i32.atomic.rmw8.cmpxchg_u $0 + (i32.atomic.rmw8.cmpxchg_u (i32.const 0) (i32.const 0) (i32.const 0) @@ -169,7 +169,7 @@ (local $0 i32) (local $1 i64) (drop - (memory.atomic.wait32 $0 + (memory.atomic.wait32 (local.get $0) (local.get $0) (local.get $1) @@ -182,7 +182,7 @@ (memory $0 (shared 23 256)) (export "user" (func $user)) (func $user (result i32) - (memory.atomic.notify $0 + (memory.atomic.notify (i32.const 0) (i32.const 0) ) @@ -193,7 +193,7 @@ (memory $0 23 256) (export "user" (func $user)) (func $user (result i32) - (memory.grow $0 + (memory.grow (i32.const 0) ) ) @@ -203,7 +203,7 @@ (import "env" "memory" (memory $0 256)) (export "user" (func $user)) (func $user (result i32) - (memory.grow $0 + (memory.grow (i32.const 0) ) ) @@ -213,7 +213,7 @@ (memory $0 23 256) (export "user" (func $user)) (func $user (result i32) - (memory.size $0) + (memory.size) ) ) (module diff --git a/test/passes/remove-unused-names_merge-blocks_all-features.txt b/test/passes/remove-unused-names_merge-blocks_all-features.txt index d9171fc4f0d..e92d2ab9b64 100644 --- a/test/passes/remove-unused-names_merge-blocks_all-features.txt +++ b/test/passes/remove-unused-names_merge-blocks_all-features.txt @@ -162,7 +162,7 @@ (i32.const 10) ) (drop - (i32.load $0 + (i32.load (i32.const 20) ) ) @@ -277,14 +277,14 @@ (drop (i32.const 20) ) - (i32.store $0 + (i32.store (i32.const 10) (i32.const 30) ) (drop (i32.const 10) ) - (i32.store $0 + (i32.store (i32.const 20) (i32.const 30) ) @@ -728,7 +728,7 @@ (i32.const 50) ) (drop - (i32.atomic.rmw.cmpxchg $0 + (i32.atomic.rmw.cmpxchg (i32.const 20) (i32.const 40) (i32.const 60) @@ -738,7 +738,7 @@ (i32.const 10) ) (drop - (i32.atomic.rmw.add $0 + (i32.atomic.rmw.add (i32.const 20) (i32.const 30) ) diff --git a/test/passes/remove-unused-names_precompute.txt b/test/passes/remove-unused-names_precompute.txt index f5ca51f728d..97daf47bf39 100644 --- a/test/passes/remove-unused-names_precompute.txt +++ b/test/passes/remove-unused-names_precompute.txt @@ -5,7 +5,7 @@ (block $switch-default (nop) (block - (i32.store $0 + (i32.store (i32.const 12) (i32.const 26) ) @@ -16,7 +16,7 @@ (local.set $$0 (i32.const 4) ) - (i32.store $0 + (i32.store (local.get $$0) (i32.const 1) ) diff --git a/test/passes/remove-unused-names_remove-unused-brs_vacuum.txt b/test/passes/remove-unused-names_remove-unused-brs_vacuum.txt index 537f1f73028..83be83c5ae4 100644 --- a/test/passes/remove-unused-names_remove-unused-brs_vacuum.txt +++ b/test/passes/remove-unused-names_remove-unused-brs_vacuum.txt @@ -99,7 +99,7 @@ (loop $label$0 (loop $label$1 (br_if $label$0 - (i32.load8_s $0 + (i32.load8_s (i32.const 201460482) ) ) diff --git a/test/passes/remove-unused-nonfunction-module-elements_all-features.txt b/test/passes/remove-unused-nonfunction-module-elements_all-features.txt index f3481dd2cb2..28391b50d67 100644 --- a/test/passes/remove-unused-nonfunction-module-elements_all-features.txt +++ b/test/passes/remove-unused-nonfunction-module-elements_all-features.txt @@ -121,7 +121,7 @@ (export "user" (func $user)) (func $user (drop - (i32.load $0 + (i32.load (i32.const 0) ) ) @@ -135,7 +135,7 @@ (memory $0 (shared 23 256)) (export "user" (func $user)) (func $user - (i32.store $0 + (i32.store (i32.const 0) (i32.const 0) ) @@ -146,7 +146,7 @@ (memory $0 (shared 23 256)) (export "user" (func $user)) (func $user (result i32) - (i32.atomic.rmw.add $0 + (i32.atomic.rmw.add (i32.const 0) (i32.const 0) ) @@ -157,7 +157,7 @@ (memory $0 (shared 23 256)) (export "user" (func $user)) (func $user (result i32) - (i32.atomic.rmw8.cmpxchg_u $0 + (i32.atomic.rmw8.cmpxchg_u (i32.const 0) (i32.const 0) (i32.const 0) @@ -172,7 +172,7 @@ (local $0 i32) (local $1 i64) (drop - (memory.atomic.wait32 $0 + (memory.atomic.wait32 (local.get $0) (local.get $0) (local.get $1) @@ -185,7 +185,7 @@ (memory $0 (shared 23 256)) (export "user" (func $user)) (func $user (result i32) - (memory.atomic.notify $0 + (memory.atomic.notify (i32.const 0) (i32.const 0) ) @@ -196,7 +196,7 @@ (memory $0 23 256) (export "user" (func $user)) (func $user (result i32) - (memory.grow $0 + (memory.grow (i32.const 0) ) ) @@ -206,7 +206,7 @@ (import "env" "memory" (memory $0 256)) (export "user" (func $user)) (func $user (result i32) - (memory.grow $0 + (memory.grow (i32.const 0) ) ) @@ -216,7 +216,7 @@ (memory $0 23 256) (export "user" (func $user)) (func $user (result i32) - (memory.size $0) + (memory.size) ) ) (module diff --git a/test/passes/reverse_dwarf_abbrevs.bin.txt b/test/passes/reverse_dwarf_abbrevs.bin.txt index 621467db049..a9874aa7b82 100644 --- a/test/passes/reverse_dwarf_abbrevs.bin.txt +++ b/test/passes/reverse_dwarf_abbrevs.bin.txt @@ -182,7 +182,7 @@ file_names[ 1]: ) ) ;; code offset: 0x2a - (i32.store $mimport$0 + (i32.store ;; code offset: 0x26 (call $3) ;; code offset: 0x28 @@ -213,13 +213,13 @@ file_names[ 1]: ) ) ;; code offset: 0x53 - (i32.store $mimport$0 offset=16 + (i32.store offset=16 ;; code offset: 0x4a (local.get $3) ;; code offset: 0x51 (local.tee $4 ;; code offset: 0x4e - (i32.load $mimport$0 offset=28 + (i32.load offset=28 ;; code offset: 0x4c (local.get $0) ) @@ -228,27 +228,27 @@ file_names[ 1]: ;; code offset: 0x5b (local.set $5 ;; code offset: 0x58 - (i32.load $mimport$0 offset=20 + (i32.load offset=20 ;; code offset: 0x56 (local.get $0) ) ) ;; code offset: 0x61 - (i32.store $mimport$0 offset=28 + (i32.store offset=28 ;; code offset: 0x5d (local.get $3) ;; code offset: 0x5f (local.get $2) ) ;; code offset: 0x68 - (i32.store $mimport$0 offset=24 + (i32.store offset=24 ;; code offset: 0x64 (local.get $3) ;; code offset: 0x66 (local.get $1) ) ;; code offset: 0x74 - (i32.store $mimport$0 offset=20 + (i32.store offset=20 ;; code offset: 0x6b (local.get $3) ;; code offset: 0x72 @@ -302,7 +302,7 @@ file_names[ 1]: ;; code offset: 0xa0 (call $fimport$0 ;; code offset: 0x91 - (i32.load $mimport$0 offset=60 + (i32.load offset=60 ;; code offset: 0x8f (local.get $0) ) @@ -336,7 +336,7 @@ file_names[ 1]: ;; code offset: 0xb0 (local.tee $4 ;; code offset: 0xad - (i32.load $mimport$0 offset=12 + (i32.load offset=12 ;; code offset: 0xab (local.get $3) ) @@ -354,7 +354,7 @@ file_names[ 1]: ) ) ;; code offset: 0xe2 - (i32.store $mimport$0 + (i32.store ;; code offset: 0xce (local.tee $9 ;; code offset: 0xcd @@ -372,7 +372,7 @@ file_names[ 1]: ;; code offset: 0xc5 (local.tee $8 ;; code offset: 0xc2 - (i32.load $mimport$0 offset=4 + (i32.load offset=4 ;; code offset: 0xc0 (local.get $1) ) @@ -404,14 +404,14 @@ file_names[ 1]: ) ) ;; code offset: 0xde - (i32.load $mimport$0 + (i32.load ;; code offset: 0xdc (local.get $9) ) ) ) ;; code offset: 0xf9 - (i32.store $mimport$0 + (i32.store ;; code offset: 0xef (local.tee $9 ;; code offset: 0xee @@ -432,7 +432,7 @@ file_names[ 1]: ;; code offset: 0xf8 (i32.sub ;; code offset: 0xf3 - (i32.load $mimport$0 + (i32.load ;; code offset: 0xf1 (local.get $9) ) @@ -459,7 +459,7 @@ file_names[ 1]: ;; code offset: 0x120 (call $fimport$0 ;; code offset: 0x105 - (i32.load $mimport$0 offset=60 + (i32.load offset=60 ;; code offset: 0x103 (local.get $0) ) @@ -504,7 +504,7 @@ file_names[ 1]: ) ) ;; code offset: 0x12d - (i32.store $mimport$0 offset=12 + (i32.store offset=12 ;; code offset: 0x129 (local.get $3) ;; code offset: 0x12b @@ -522,27 +522,27 @@ file_names[ 1]: ) ) ;; code offset: 0x141 - (i32.store $mimport$0 offset=28 + (i32.store offset=28 ;; code offset: 0x138 (local.get $0) ;; code offset: 0x13f (local.tee $1 ;; code offset: 0x13c - (i32.load $mimport$0 offset=44 + (i32.load offset=44 ;; code offset: 0x13a (local.get $0) ) ) ) ;; code offset: 0x148 - (i32.store $mimport$0 offset=20 + (i32.store offset=20 ;; code offset: 0x144 (local.get $0) ;; code offset: 0x146 (local.get $1) ) ;; code offset: 0x155 - (i32.store $mimport$0 offset=16 + (i32.store offset=16 ;; code offset: 0x14b (local.get $0) ;; code offset: 0x154 @@ -550,7 +550,7 @@ file_names[ 1]: ;; code offset: 0x14d (local.get $1) ;; code offset: 0x151 - (i32.load $mimport$0 offset=48 + (i32.load offset=48 ;; code offset: 0x14f (local.get $0) ) @@ -563,27 +563,27 @@ file_names[ 1]: ) ) ;; code offset: 0x161 - (i32.store $mimport$0 offset=28 + (i32.store offset=28 ;; code offset: 0x15d (local.get $0) ;; code offset: 0x15f (i32.const 0) ) ;; code offset: 0x168 - (i64.store $mimport$0 offset=16 + (i64.store offset=16 ;; code offset: 0x164 (local.get $0) ;; code offset: 0x166 (i64.const 0) ) ;; code offset: 0x175 - (i32.store $mimport$0 + (i32.store ;; code offset: 0x16b (local.get $0) ;; code offset: 0x174 (i32.or ;; code offset: 0x16f - (i32.load $mimport$0 + (i32.load ;; code offset: 0x16d (local.get $0) ) @@ -614,7 +614,7 @@ file_names[ 1]: ;; code offset: 0x184 (local.get $2) ;; code offset: 0x188 - (i32.load $mimport$0 offset=4 + (i32.load offset=4 ;; code offset: 0x186 (local.get $1) ) @@ -645,7 +645,7 @@ file_names[ 1]: (func $8 (param $0 i32) (result i32) (local $1 i32) ;; code offset: 0x1b6 - (i32.store8 $mimport$0 offset=74 + (i32.store8 offset=74 ;; code offset: 0x1a7 (local.get $0) ;; code offset: 0x1b5 @@ -655,7 +655,7 @@ file_names[ 1]: ;; code offset: 0x1ae (local.tee $1 ;; code offset: 0x1ab - (i32.load8_u $mimport$0 offset=74 + (i32.load8_u offset=74 ;; code offset: 0x1a9 (local.get $0) ) @@ -674,7 +674,7 @@ file_names[ 1]: ;; code offset: 0x1be (local.tee $1 ;; code offset: 0x1bb - (i32.load $mimport$0 + (i32.load ;; code offset: 0x1b9 (local.get $0) ) @@ -684,7 +684,7 @@ file_names[ 1]: ) (block ;; code offset: 0x1cc - (i32.store $mimport$0 + (i32.store ;; code offset: 0x1c5 (local.get $0) ;; code offset: 0x1cb @@ -703,34 +703,34 @@ file_names[ 1]: ) ) ;; code offset: 0x1d7 - (i64.store $mimport$0 offset=4 align=4 + (i64.store offset=4 align=4 ;; code offset: 0x1d3 (local.get $0) ;; code offset: 0x1d5 (i64.const 0) ) ;; code offset: 0x1e3 - (i32.store $mimport$0 offset=28 + (i32.store offset=28 ;; code offset: 0x1da (local.get $0) ;; code offset: 0x1e1 (local.tee $1 ;; code offset: 0x1de - (i32.load $mimport$0 offset=44 + (i32.load offset=44 ;; code offset: 0x1dc (local.get $0) ) ) ) ;; code offset: 0x1ea - (i32.store $mimport$0 offset=20 + (i32.store offset=20 ;; code offset: 0x1e6 (local.get $0) ;; code offset: 0x1e8 (local.get $1) ) ;; code offset: 0x1f7 - (i32.store $mimport$0 offset=16 + (i32.store offset=16 ;; code offset: 0x1ed (local.get $0) ;; code offset: 0x1f6 @@ -738,7 +738,7 @@ file_names[ 1]: ;; code offset: 0x1ef (local.get $1) ;; code offset: 0x1f3 - (i32.load $mimport$0 offset=48 + (i32.load offset=48 ;; code offset: 0x1f1 (local.get $0) ) @@ -861,11 +861,11 @@ file_names[ 1]: ;; code offset: 0x252 (loop $label$7 ;; code offset: 0x25b - (i32.store8 $mimport$0 + (i32.store8 ;; code offset: 0x254 (local.get $2) ;; code offset: 0x258 - (i32.load8_u $mimport$0 + (i32.load8_u ;; code offset: 0x256 (local.get $1) ) @@ -951,161 +951,161 @@ file_names[ 1]: ;; code offset: 0x295 (loop $label$9 ;; code offset: 0x29e - (i32.store $mimport$0 + (i32.store ;; code offset: 0x297 (local.get $2) ;; code offset: 0x29b - (i32.load $mimport$0 + (i32.load ;; code offset: 0x299 (local.get $1) ) ) ;; code offset: 0x2a8 - (i32.store $mimport$0 offset=4 + (i32.store offset=4 ;; code offset: 0x2a1 (local.get $2) ;; code offset: 0x2a5 - (i32.load $mimport$0 offset=4 + (i32.load offset=4 ;; code offset: 0x2a3 (local.get $1) ) ) ;; code offset: 0x2b2 - (i32.store $mimport$0 offset=8 + (i32.store offset=8 ;; code offset: 0x2ab (local.get $2) ;; code offset: 0x2af - (i32.load $mimport$0 offset=8 + (i32.load offset=8 ;; code offset: 0x2ad (local.get $1) ) ) ;; code offset: 0x2bc - (i32.store $mimport$0 offset=12 + (i32.store offset=12 ;; code offset: 0x2b5 (local.get $2) ;; code offset: 0x2b9 - (i32.load $mimport$0 offset=12 + (i32.load offset=12 ;; code offset: 0x2b7 (local.get $1) ) ) ;; code offset: 0x2c6 - (i32.store $mimport$0 offset=16 + (i32.store offset=16 ;; code offset: 0x2bf (local.get $2) ;; code offset: 0x2c3 - (i32.load $mimport$0 offset=16 + (i32.load offset=16 ;; code offset: 0x2c1 (local.get $1) ) ) ;; code offset: 0x2d0 - (i32.store $mimport$0 offset=20 + (i32.store offset=20 ;; code offset: 0x2c9 (local.get $2) ;; code offset: 0x2cd - (i32.load $mimport$0 offset=20 + (i32.load offset=20 ;; code offset: 0x2cb (local.get $1) ) ) ;; code offset: 0x2da - (i32.store $mimport$0 offset=24 + (i32.store offset=24 ;; code offset: 0x2d3 (local.get $2) ;; code offset: 0x2d7 - (i32.load $mimport$0 offset=24 + (i32.load offset=24 ;; code offset: 0x2d5 (local.get $1) ) ) ;; code offset: 0x2e4 - (i32.store $mimport$0 offset=28 + (i32.store offset=28 ;; code offset: 0x2dd (local.get $2) ;; code offset: 0x2e1 - (i32.load $mimport$0 offset=28 + (i32.load offset=28 ;; code offset: 0x2df (local.get $1) ) ) ;; code offset: 0x2ee - (i32.store $mimport$0 offset=32 + (i32.store offset=32 ;; code offset: 0x2e7 (local.get $2) ;; code offset: 0x2eb - (i32.load $mimport$0 offset=32 + (i32.load offset=32 ;; code offset: 0x2e9 (local.get $1) ) ) ;; code offset: 0x2f8 - (i32.store $mimport$0 offset=36 + (i32.store offset=36 ;; code offset: 0x2f1 (local.get $2) ;; code offset: 0x2f5 - (i32.load $mimport$0 offset=36 + (i32.load offset=36 ;; code offset: 0x2f3 (local.get $1) ) ) ;; code offset: 0x302 - (i32.store $mimport$0 offset=40 + (i32.store offset=40 ;; code offset: 0x2fb (local.get $2) ;; code offset: 0x2ff - (i32.load $mimport$0 offset=40 + (i32.load offset=40 ;; code offset: 0x2fd (local.get $1) ) ) ;; code offset: 0x30c - (i32.store $mimport$0 offset=44 + (i32.store offset=44 ;; code offset: 0x305 (local.get $2) ;; code offset: 0x309 - (i32.load $mimport$0 offset=44 + (i32.load offset=44 ;; code offset: 0x307 (local.get $1) ) ) ;; code offset: 0x316 - (i32.store $mimport$0 offset=48 + (i32.store offset=48 ;; code offset: 0x30f (local.get $2) ;; code offset: 0x313 - (i32.load $mimport$0 offset=48 + (i32.load offset=48 ;; code offset: 0x311 (local.get $1) ) ) ;; code offset: 0x320 - (i32.store $mimport$0 offset=52 + (i32.store offset=52 ;; code offset: 0x319 (local.get $2) ;; code offset: 0x31d - (i32.load $mimport$0 offset=52 + (i32.load offset=52 ;; code offset: 0x31b (local.get $1) ) ) ;; code offset: 0x32a - (i32.store $mimport$0 offset=56 + (i32.store offset=56 ;; code offset: 0x323 (local.get $2) ;; code offset: 0x327 - (i32.load $mimport$0 offset=56 + (i32.load offset=56 ;; code offset: 0x325 (local.get $1) ) ) ;; code offset: 0x334 - (i32.store $mimport$0 offset=60 + (i32.store offset=60 ;; code offset: 0x32d (local.get $2) ;; code offset: 0x331 - (i32.load $mimport$0 offset=60 + (i32.load offset=60 ;; code offset: 0x32f (local.get $1) ) @@ -1153,11 +1153,11 @@ file_names[ 1]: ;; code offset: 0x353 (loop $label$10 ;; code offset: 0x35c - (i32.store $mimport$0 + (i32.store ;; code offset: 0x355 (local.get $2) ;; code offset: 0x359 - (i32.load $mimport$0 + (i32.load ;; code offset: 0x357 (local.get $1) ) @@ -1249,41 +1249,41 @@ file_names[ 1]: ;; code offset: 0x39b (loop $label$13 ;; code offset: 0x3a4 - (i32.store8 $mimport$0 + (i32.store8 ;; code offset: 0x39d (local.get $2) ;; code offset: 0x3a1 - (i32.load8_u $mimport$0 + (i32.load8_u ;; code offset: 0x39f (local.get $1) ) ) ;; code offset: 0x3ae - (i32.store8 $mimport$0 offset=1 + (i32.store8 offset=1 ;; code offset: 0x3a7 (local.get $2) ;; code offset: 0x3ab - (i32.load8_u $mimport$0 offset=1 + (i32.load8_u offset=1 ;; code offset: 0x3a9 (local.get $1) ) ) ;; code offset: 0x3b8 - (i32.store8 $mimport$0 offset=2 + (i32.store8 offset=2 ;; code offset: 0x3b1 (local.get $2) ;; code offset: 0x3b5 - (i32.load8_u $mimport$0 offset=2 + (i32.load8_u offset=2 ;; code offset: 0x3b3 (local.get $1) ) ) ;; code offset: 0x3c2 - (i32.store8 $mimport$0 offset=3 + (i32.store8 offset=3 ;; code offset: 0x3bb (local.get $2) ;; code offset: 0x3bf - (i32.load8_u $mimport$0 offset=3 + (i32.load8_u offset=3 ;; code offset: 0x3bd (local.get $1) ) @@ -1330,11 +1330,11 @@ file_names[ 1]: ;; code offset: 0x3e1 (loop $label$15 ;; code offset: 0x3ea - (i32.store8 $mimport$0 + (i32.store8 ;; code offset: 0x3e3 (local.get $2) ;; code offset: 0x3e7 - (i32.load8_u $mimport$0 + (i32.load8_u ;; code offset: 0x3e5 (local.get $1) ) @@ -1389,7 +1389,7 @@ file_names[ 1]: ;; code offset: 0x419 (local.tee $3 ;; code offset: 0x416 - (i32.load $mimport$0 offset=16 + (i32.load offset=16 ;; code offset: 0x414 (local.get $2) ) @@ -1407,7 +1407,7 @@ file_names[ 1]: ;; code offset: 0x429 (local.set $3 ;; code offset: 0x426 - (i32.load $mimport$0 offset=16 + (i32.load offset=16 ;; code offset: 0x424 (local.get $2) ) @@ -1423,7 +1423,7 @@ file_names[ 1]: ;; code offset: 0x433 (local.tee $5 ;; code offset: 0x430 - (i32.load $mimport$0 offset=20 + (i32.load offset=20 ;; code offset: 0x42e (local.get $2) ) @@ -1444,7 +1444,7 @@ file_names[ 1]: ;; code offset: 0x440 (local.get $1) ;; code offset: 0x444 - (i32.load $mimport$0 offset=36 + (i32.load offset=36 ;; code offset: 0x442 (local.get $2) ) @@ -1458,7 +1458,7 @@ file_names[ 1]: ;; code offset: 0x455 (i32.lt_s ;; code offset: 0x450 - (i32.load8_s $mimport$0 offset=75 + (i32.load8_s offset=75 ;; code offset: 0x44e (local.get $2) ) @@ -1489,7 +1489,7 @@ file_names[ 1]: ;; code offset: 0x474 (i32.ne ;; code offset: 0x46f - (i32.load8_u $mimport$0 + (i32.load8_u ;; code offset: 0x46e (i32.add ;; code offset: 0x465 @@ -1526,7 +1526,7 @@ file_names[ 1]: ;; code offset: 0x47c (local.get $3) ;; code offset: 0x480 - (i32.load $mimport$0 offset=36 + (i32.load offset=36 ;; code offset: 0x47e (local.get $2) ) @@ -1559,7 +1559,7 @@ file_names[ 1]: ;; code offset: 0x4a0 (local.set $5 ;; code offset: 0x49d - (i32.load $mimport$0 offset=20 + (i32.load offset=20 ;; code offset: 0x49b (local.get $2) ) @@ -1583,13 +1583,13 @@ file_names[ 1]: ) ) ;; code offset: 0x4ba - (i32.store $mimport$0 offset=20 + (i32.store offset=20 ;; code offset: 0x4b0 (local.get $2) ;; code offset: 0x4b9 (i32.add ;; code offset: 0x4b4 - (i32.load $mimport$0 offset=20 + (i32.load offset=20 ;; code offset: 0x4b2 (local.get $2) ) @@ -1631,7 +1631,7 @@ file_names[ 1]: ;; code offset: 0x4de (i32.le_s ;; code offset: 0x4d9 - (i32.load $mimport$0 offset=76 + (i32.load offset=76 ;; code offset: 0x4d7 (local.get $3) ) @@ -1769,7 +1769,7 @@ file_names[ 1]: ) ) ;; code offset: 0x54f - (i32.store8 $mimport$0 offset=15 + (i32.store8 offset=15 ;; code offset: 0x54b (local.get $3) ;; code offset: 0x54d @@ -1784,7 +1784,7 @@ file_names[ 1]: ;; code offset: 0x559 (local.tee $2 ;; code offset: 0x556 - (i32.load $mimport$0 offset=16 + (i32.load offset=16 ;; code offset: 0x554 (local.get $0) ) @@ -1807,7 +1807,7 @@ file_names[ 1]: ;; code offset: 0x56d (local.set $2 ;; code offset: 0x56a - (i32.load $mimport$0 offset=16 + (i32.load offset=16 ;; code offset: 0x568 (local.get $0) ) @@ -1823,7 +1823,7 @@ file_names[ 1]: ;; code offset: 0x577 (local.tee $4 ;; code offset: 0x574 - (i32.load $mimport$0 offset=20 + (i32.load offset=20 ;; code offset: 0x572 (local.get $0) ) @@ -1847,14 +1847,14 @@ file_names[ 1]: ) ) ;; code offset: 0x588 - (i32.load8_s $mimport$0 offset=75 + (i32.load8_s offset=75 ;; code offset: 0x586 (local.get $0) ) ) ) ;; code offset: 0x595 - (i32.store $mimport$0 offset=20 + (i32.store offset=20 ;; code offset: 0x58e (local.get $0) ;; code offset: 0x594 @@ -1866,7 +1866,7 @@ file_names[ 1]: ) ) ;; code offset: 0x59c - (i32.store8 $mimport$0 + (i32.store8 ;; code offset: 0x598 (local.get $4) ;; code offset: 0x59a @@ -1898,7 +1898,7 @@ file_names[ 1]: ;; code offset: 0x5ad (i32.const 1) ;; code offset: 0x5b1 - (i32.load $mimport$0 offset=36 + (i32.load offset=36 ;; code offset: 0x5af (local.get $0) ) @@ -1910,7 +1910,7 @@ file_names[ 1]: ;; code offset: 0x5c1 (local.set $2 ;; code offset: 0x5be - (i32.load8_u $mimport$0 offset=15 + (i32.load8_u offset=15 ;; code offset: 0x5bc (local.get $3) ) @@ -1937,11 +1937,11 @@ file_names[ 1]: ;; code offset: 0x5e1 (i32.ge_s ;; code offset: 0x5dc - (i32.load $mimport$0 offset=76 + (i32.load offset=76 ;; code offset: 0x5da (local.tee $1 ;; code offset: 0x5d7 - (i32.load $mimport$0 + (i32.load ;; code offset: 0x5d4 (i32.const 1040) ) @@ -1990,7 +1990,7 @@ file_names[ 1]: ;; code offset: 0x604 (i32.eq ;; code offset: 0x5ff - (i32.load8_u $mimport$0 offset=75 + (i32.load8_u offset=75 ;; code offset: 0x5fd (local.get $1) ) @@ -2005,20 +2005,20 @@ file_names[ 1]: ;; code offset: 0x60c (local.tee $0 ;; code offset: 0x609 - (i32.load $mimport$0 offset=20 + (i32.load offset=20 ;; code offset: 0x607 (local.get $1) ) ) ;; code offset: 0x610 - (i32.load $mimport$0 offset=16 + (i32.load offset=16 ;; code offset: 0x60e (local.get $1) ) ) ) ;; code offset: 0x61d - (i32.store $mimport$0 offset=20 + (i32.store offset=20 ;; code offset: 0x616 (local.get $1) ;; code offset: 0x61c @@ -2030,7 +2030,7 @@ file_names[ 1]: ) ) ;; code offset: 0x624 - (i32.store8 $mimport$0 + (i32.store8 ;; code offset: 0x620 (local.get $0) ;; code offset: 0x622 @@ -2107,7 +2107,7 @@ file_names[ 1]: ;; code offset: 0x66b (i32.eqz ;; code offset: 0x668 - (i32.load8_u $mimport$0 + (i32.load8_u ;; code offset: 0x666 (local.get $0) ) @@ -2144,7 +2144,7 @@ file_names[ 1]: ;; code offset: 0x686 (br_if $label$4 ;; code offset: 0x683 - (i32.load8_u $mimport$0 + (i32.load8_u ;; code offset: 0x681 (local.get $1) ) @@ -2181,7 +2181,7 @@ file_names[ 1]: ;; code offset: 0x69c (local.tee $3 ;; code offset: 0x699 - (i32.load $mimport$0 + (i32.load ;; code offset: 0x697 (local.get $2) ) @@ -2231,7 +2231,7 @@ file_names[ 1]: ;; code offset: 0x6cc (local.set $3 ;; code offset: 0x6c9 - (i32.load8_u $mimport$0 offset=1 + (i32.load8_u offset=1 ;; code offset: 0x6c7 (local.get $2) ) @@ -2362,7 +2362,7 @@ file_names[ 1]: ) (func $23 (param $0 i32) (result i32) ;; code offset: 0x736 - (memory.grow $mimport$0 + (memory.grow ;; code offset: 0x734 (local.get $0) ) diff --git a/test/passes/roundtrip_signed.bin.txt b/test/passes/roundtrip_signed.bin.txt index 5eb9b9198e6..f696e074e01 100644 --- a/test/passes/roundtrip_signed.bin.txt +++ b/test/passes/roundtrip_signed.bin.txt @@ -18,7 +18,7 @@ ) ) (drop - (i32.load $0 + (i32.load (i32.const 0) ) ) diff --git a/test/passes/safe-heap_disable-simd.txt b/test/passes/safe-heap_disable-simd.txt index caeafbd1980..493d2905b6f 100644 --- a/test/passes/safe-heap_disable-simd.txt +++ b/test/passes/safe-heap_disable-simd.txt @@ -32,14 +32,14 @@ (local.get $2) (i32.const 1) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load8_s $0 + (i32.load8_s (local.get $2) ) ) @@ -62,14 +62,14 @@ (local.get $2) (i32.const 1) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load8_u $0 + (i32.load8_u (local.get $2) ) ) @@ -92,14 +92,14 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load16_s $0 align=1 + (i32.load16_s align=1 (local.get $2) ) ) @@ -122,7 +122,7 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -136,7 +136,7 @@ ) (call $alignfault) ) - (i32.load16_s $0 + (i32.load16_s (local.get $2) ) ) @@ -159,14 +159,14 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load16_u $0 align=1 + (i32.load16_u align=1 (local.get $2) ) ) @@ -189,7 +189,7 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -203,7 +203,7 @@ ) (call $alignfault) ) - (i32.load16_u $0 + (i32.load16_u (local.get $2) ) ) @@ -226,14 +226,14 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load $0 align=1 + (i32.load align=1 (local.get $2) ) ) @@ -256,7 +256,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -270,7 +270,7 @@ ) (call $alignfault) ) - (i32.load $0 align=2 + (i32.load align=2 (local.get $2) ) ) @@ -293,7 +293,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -307,7 +307,7 @@ ) (call $alignfault) ) - (i32.load $0 + (i32.load (local.get $2) ) ) @@ -330,14 +330,14 @@ (local.get $2) (i32.const 1) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load8_s $0 + (i64.load8_s (local.get $2) ) ) @@ -360,14 +360,14 @@ (local.get $2) (i32.const 1) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load8_u $0 + (i64.load8_u (local.get $2) ) ) @@ -390,14 +390,14 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load16_s $0 align=1 + (i64.load16_s align=1 (local.get $2) ) ) @@ -420,7 +420,7 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -434,7 +434,7 @@ ) (call $alignfault) ) - (i64.load16_s $0 + (i64.load16_s (local.get $2) ) ) @@ -457,14 +457,14 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load16_u $0 align=1 + (i64.load16_u align=1 (local.get $2) ) ) @@ -487,7 +487,7 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -501,7 +501,7 @@ ) (call $alignfault) ) - (i64.load16_u $0 + (i64.load16_u (local.get $2) ) ) @@ -524,14 +524,14 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load32_s $0 align=1 + (i64.load32_s align=1 (local.get $2) ) ) @@ -554,7 +554,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -568,7 +568,7 @@ ) (call $alignfault) ) - (i64.load32_s $0 align=2 + (i64.load32_s align=2 (local.get $2) ) ) @@ -591,7 +591,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -605,7 +605,7 @@ ) (call $alignfault) ) - (i64.load32_s $0 + (i64.load32_s (local.get $2) ) ) @@ -628,14 +628,14 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load32_u $0 align=1 + (i64.load32_u align=1 (local.get $2) ) ) @@ -658,7 +658,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -672,7 +672,7 @@ ) (call $alignfault) ) - (i64.load32_u $0 align=2 + (i64.load32_u align=2 (local.get $2) ) ) @@ -695,7 +695,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -709,7 +709,7 @@ ) (call $alignfault) ) - (i64.load32_u $0 + (i64.load32_u (local.get $2) ) ) @@ -732,14 +732,14 @@ (local.get $2) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load $0 align=1 + (i64.load align=1 (local.get $2) ) ) @@ -762,7 +762,7 @@ (local.get $2) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -776,7 +776,7 @@ ) (call $alignfault) ) - (i64.load $0 align=2 + (i64.load align=2 (local.get $2) ) ) @@ -799,7 +799,7 @@ (local.get $2) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -813,7 +813,7 @@ ) (call $alignfault) ) - (i64.load $0 align=4 + (i64.load align=4 (local.get $2) ) ) @@ -836,7 +836,7 @@ (local.get $2) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -850,7 +850,7 @@ ) (call $alignfault) ) - (i64.load $0 + (i64.load (local.get $2) ) ) @@ -873,14 +873,14 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (f32.load $0 align=1 + (f32.load align=1 (local.get $2) ) ) @@ -903,7 +903,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -917,7 +917,7 @@ ) (call $alignfault) ) - (f32.load $0 align=2 + (f32.load align=2 (local.get $2) ) ) @@ -940,7 +940,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -954,7 +954,7 @@ ) (call $alignfault) ) - (f32.load $0 + (f32.load (local.get $2) ) ) @@ -977,14 +977,14 @@ (local.get $2) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (f64.load $0 align=1 + (f64.load align=1 (local.get $2) ) ) @@ -1007,7 +1007,7 @@ (local.get $2) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1021,7 +1021,7 @@ ) (call $alignfault) ) - (f64.load $0 align=2 + (f64.load align=2 (local.get $2) ) ) @@ -1044,7 +1044,7 @@ (local.get $2) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1058,7 +1058,7 @@ ) (call $alignfault) ) - (f64.load $0 align=4 + (f64.load align=4 (local.get $2) ) ) @@ -1081,7 +1081,7 @@ (local.get $2) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1095,7 +1095,7 @@ ) (call $alignfault) ) - (f64.load $0 + (f64.load (local.get $2) ) ) @@ -1118,14 +1118,14 @@ (local.get $3) (i32.const 1) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.store8 $0 + (i32.store8 (local.get $3) (local.get $2) ) @@ -1149,14 +1149,14 @@ (local.get $3) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.store16 $0 align=1 + (i32.store16 align=1 (local.get $3) (local.get $2) ) @@ -1180,7 +1180,7 @@ (local.get $3) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1194,7 +1194,7 @@ ) (call $alignfault) ) - (i32.store16 $0 + (i32.store16 (local.get $3) (local.get $2) ) @@ -1218,14 +1218,14 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.store $0 align=1 + (i32.store align=1 (local.get $3) (local.get $2) ) @@ -1249,7 +1249,7 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1263,7 +1263,7 @@ ) (call $alignfault) ) - (i32.store $0 align=2 + (i32.store align=2 (local.get $3) (local.get $2) ) @@ -1287,7 +1287,7 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1301,7 +1301,7 @@ ) (call $alignfault) ) - (i32.store $0 + (i32.store (local.get $3) (local.get $2) ) @@ -1325,14 +1325,14 @@ (local.get $3) (i32.const 1) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.store8 $0 + (i64.store8 (local.get $3) (local.get $2) ) @@ -1356,14 +1356,14 @@ (local.get $3) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.store16 $0 align=1 + (i64.store16 align=1 (local.get $3) (local.get $2) ) @@ -1387,7 +1387,7 @@ (local.get $3) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1401,7 +1401,7 @@ ) (call $alignfault) ) - (i64.store16 $0 + (i64.store16 (local.get $3) (local.get $2) ) @@ -1425,14 +1425,14 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.store32 $0 align=1 + (i64.store32 align=1 (local.get $3) (local.get $2) ) @@ -1456,7 +1456,7 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1470,7 +1470,7 @@ ) (call $alignfault) ) - (i64.store32 $0 align=2 + (i64.store32 align=2 (local.get $3) (local.get $2) ) @@ -1494,7 +1494,7 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1508,7 +1508,7 @@ ) (call $alignfault) ) - (i64.store32 $0 + (i64.store32 (local.get $3) (local.get $2) ) @@ -1532,14 +1532,14 @@ (local.get $3) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.store $0 align=1 + (i64.store align=1 (local.get $3) (local.get $2) ) @@ -1563,7 +1563,7 @@ (local.get $3) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1577,7 +1577,7 @@ ) (call $alignfault) ) - (i64.store $0 align=2 + (i64.store align=2 (local.get $3) (local.get $2) ) @@ -1601,7 +1601,7 @@ (local.get $3) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1615,7 +1615,7 @@ ) (call $alignfault) ) - (i64.store $0 align=4 + (i64.store align=4 (local.get $3) (local.get $2) ) @@ -1639,7 +1639,7 @@ (local.get $3) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1653,7 +1653,7 @@ ) (call $alignfault) ) - (i64.store $0 + (i64.store (local.get $3) (local.get $2) ) @@ -1677,14 +1677,14 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (f32.store $0 align=1 + (f32.store align=1 (local.get $3) (local.get $2) ) @@ -1708,7 +1708,7 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1722,7 +1722,7 @@ ) (call $alignfault) ) - (f32.store $0 align=2 + (f32.store align=2 (local.get $3) (local.get $2) ) @@ -1746,7 +1746,7 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1760,7 +1760,7 @@ ) (call $alignfault) ) - (f32.store $0 + (f32.store (local.get $3) (local.get $2) ) @@ -1784,14 +1784,14 @@ (local.get $3) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (f64.store $0 align=1 + (f64.store align=1 (local.get $3) (local.get $2) ) @@ -1815,7 +1815,7 @@ (local.get $3) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1829,7 +1829,7 @@ ) (call $alignfault) ) - (f64.store $0 align=2 + (f64.store align=2 (local.get $3) (local.get $2) ) @@ -1853,7 +1853,7 @@ (local.get $3) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1867,7 +1867,7 @@ ) (call $alignfault) ) - (f64.store $0 align=4 + (f64.store align=4 (local.get $3) (local.get $2) ) @@ -1891,7 +1891,7 @@ (local.get $3) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1905,7 +1905,7 @@ ) (call $alignfault) ) - (f64.store $0 + (f64.store (local.get $3) (local.get $2) ) @@ -1945,14 +1945,14 @@ (local.get $2) (i32.const 1) ) - (i32.load $0 + (i32.load (call $foo) ) ) ) (call $segfault) ) - (i32.load8_s $0 + (i32.load8_s (local.get $2) ) ) @@ -1975,14 +1975,14 @@ (local.get $2) (i32.const 1) ) - (i32.load $0 + (i32.load (call $foo) ) ) ) (call $segfault) ) - (i32.load8_u $0 + (i32.load8_u (local.get $2) ) ) @@ -2005,14 +2005,14 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $foo) ) ) ) (call $segfault) ) - (i32.load16_s $0 align=1 + (i32.load16_s align=1 (local.get $2) ) ) @@ -2035,7 +2035,7 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -2049,7 +2049,7 @@ ) (call $alignfault) ) - (i32.load16_s $0 + (i32.load16_s (local.get $2) ) ) @@ -2072,14 +2072,14 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $foo) ) ) ) (call $segfault) ) - (i32.load16_u $0 align=1 + (i32.load16_u align=1 (local.get $2) ) ) @@ -2102,7 +2102,7 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -2116,7 +2116,7 @@ ) (call $alignfault) ) - (i32.load16_u $0 + (i32.load16_u (local.get $2) ) ) @@ -2139,14 +2139,14 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $foo) ) ) ) (call $segfault) ) - (i32.load $0 align=1 + (i32.load align=1 (local.get $2) ) ) @@ -2169,7 +2169,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -2183,7 +2183,7 @@ ) (call $alignfault) ) - (i32.load $0 align=2 + (i32.load align=2 (local.get $2) ) ) @@ -2206,7 +2206,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -2220,7 +2220,7 @@ ) (call $alignfault) ) - (i32.load $0 + (i32.load (local.get $2) ) ) @@ -2243,14 +2243,14 @@ (local.get $2) (i32.const 1) ) - (i32.load $0 + (i32.load (call $foo) ) ) ) (call $segfault) ) - (i64.load8_s $0 + (i64.load8_s (local.get $2) ) ) @@ -2273,14 +2273,14 @@ (local.get $2) (i32.const 1) ) - (i32.load $0 + (i32.load (call $foo) ) ) ) (call $segfault) ) - (i64.load8_u $0 + (i64.load8_u (local.get $2) ) ) @@ -2303,14 +2303,14 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $foo) ) ) ) (call $segfault) ) - (i64.load16_s $0 align=1 + (i64.load16_s align=1 (local.get $2) ) ) @@ -2333,7 +2333,7 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -2347,7 +2347,7 @@ ) (call $alignfault) ) - (i64.load16_s $0 + (i64.load16_s (local.get $2) ) ) @@ -2370,14 +2370,14 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $foo) ) ) ) (call $segfault) ) - (i64.load16_u $0 align=1 + (i64.load16_u align=1 (local.get $2) ) ) @@ -2400,7 +2400,7 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -2414,7 +2414,7 @@ ) (call $alignfault) ) - (i64.load16_u $0 + (i64.load16_u (local.get $2) ) ) @@ -2437,14 +2437,14 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $foo) ) ) ) (call $segfault) ) - (i64.load32_s $0 align=1 + (i64.load32_s align=1 (local.get $2) ) ) @@ -2467,7 +2467,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -2481,7 +2481,7 @@ ) (call $alignfault) ) - (i64.load32_s $0 align=2 + (i64.load32_s align=2 (local.get $2) ) ) @@ -2504,7 +2504,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -2518,7 +2518,7 @@ ) (call $alignfault) ) - (i64.load32_s $0 + (i64.load32_s (local.get $2) ) ) @@ -2541,14 +2541,14 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $foo) ) ) ) (call $segfault) ) - (i64.load32_u $0 align=1 + (i64.load32_u align=1 (local.get $2) ) ) @@ -2571,7 +2571,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -2585,7 +2585,7 @@ ) (call $alignfault) ) - (i64.load32_u $0 align=2 + (i64.load32_u align=2 (local.get $2) ) ) @@ -2608,7 +2608,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -2622,7 +2622,7 @@ ) (call $alignfault) ) - (i64.load32_u $0 + (i64.load32_u (local.get $2) ) ) @@ -2645,14 +2645,14 @@ (local.get $2) (i32.const 8) ) - (i32.load $0 + (i32.load (call $foo) ) ) ) (call $segfault) ) - (i64.load $0 align=1 + (i64.load align=1 (local.get $2) ) ) @@ -2675,7 +2675,7 @@ (local.get $2) (i32.const 8) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -2689,7 +2689,7 @@ ) (call $alignfault) ) - (i64.load $0 align=2 + (i64.load align=2 (local.get $2) ) ) @@ -2712,7 +2712,7 @@ (local.get $2) (i32.const 8) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -2726,7 +2726,7 @@ ) (call $alignfault) ) - (i64.load $0 align=4 + (i64.load align=4 (local.get $2) ) ) @@ -2749,7 +2749,7 @@ (local.get $2) (i32.const 8) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -2763,7 +2763,7 @@ ) (call $alignfault) ) - (i64.load $0 + (i64.load (local.get $2) ) ) @@ -2786,14 +2786,14 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $foo) ) ) ) (call $segfault) ) - (f32.load $0 align=1 + (f32.load align=1 (local.get $2) ) ) @@ -2816,7 +2816,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -2830,7 +2830,7 @@ ) (call $alignfault) ) - (f32.load $0 align=2 + (f32.load align=2 (local.get $2) ) ) @@ -2853,7 +2853,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -2867,7 +2867,7 @@ ) (call $alignfault) ) - (f32.load $0 + (f32.load (local.get $2) ) ) @@ -2890,14 +2890,14 @@ (local.get $2) (i32.const 8) ) - (i32.load $0 + (i32.load (call $foo) ) ) ) (call $segfault) ) - (f64.load $0 align=1 + (f64.load align=1 (local.get $2) ) ) @@ -2920,7 +2920,7 @@ (local.get $2) (i32.const 8) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -2934,7 +2934,7 @@ ) (call $alignfault) ) - (f64.load $0 align=2 + (f64.load align=2 (local.get $2) ) ) @@ -2957,7 +2957,7 @@ (local.get $2) (i32.const 8) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -2971,7 +2971,7 @@ ) (call $alignfault) ) - (f64.load $0 align=4 + (f64.load align=4 (local.get $2) ) ) @@ -2994,7 +2994,7 @@ (local.get $2) (i32.const 8) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -3008,7 +3008,7 @@ ) (call $alignfault) ) - (f64.load $0 + (f64.load (local.get $2) ) ) @@ -3031,14 +3031,14 @@ (local.get $3) (i32.const 1) ) - (i32.load $0 + (i32.load (call $foo) ) ) ) (call $segfault) ) - (i32.store8 $0 + (i32.store8 (local.get $3) (local.get $2) ) @@ -3062,14 +3062,14 @@ (local.get $3) (i32.const 2) ) - (i32.load $0 + (i32.load (call $foo) ) ) ) (call $segfault) ) - (i32.store16 $0 align=1 + (i32.store16 align=1 (local.get $3) (local.get $2) ) @@ -3093,7 +3093,7 @@ (local.get $3) (i32.const 2) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -3107,7 +3107,7 @@ ) (call $alignfault) ) - (i32.store16 $0 + (i32.store16 (local.get $3) (local.get $2) ) @@ -3131,14 +3131,14 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $foo) ) ) ) (call $segfault) ) - (i32.store $0 align=1 + (i32.store align=1 (local.get $3) (local.get $2) ) @@ -3162,7 +3162,7 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -3176,7 +3176,7 @@ ) (call $alignfault) ) - (i32.store $0 align=2 + (i32.store align=2 (local.get $3) (local.get $2) ) @@ -3200,7 +3200,7 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -3214,7 +3214,7 @@ ) (call $alignfault) ) - (i32.store $0 + (i32.store (local.get $3) (local.get $2) ) @@ -3238,14 +3238,14 @@ (local.get $3) (i32.const 1) ) - (i32.load $0 + (i32.load (call $foo) ) ) ) (call $segfault) ) - (i64.store8 $0 + (i64.store8 (local.get $3) (local.get $2) ) @@ -3269,14 +3269,14 @@ (local.get $3) (i32.const 2) ) - (i32.load $0 + (i32.load (call $foo) ) ) ) (call $segfault) ) - (i64.store16 $0 align=1 + (i64.store16 align=1 (local.get $3) (local.get $2) ) @@ -3300,7 +3300,7 @@ (local.get $3) (i32.const 2) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -3314,7 +3314,7 @@ ) (call $alignfault) ) - (i64.store16 $0 + (i64.store16 (local.get $3) (local.get $2) ) @@ -3338,14 +3338,14 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $foo) ) ) ) (call $segfault) ) - (i64.store32 $0 align=1 + (i64.store32 align=1 (local.get $3) (local.get $2) ) @@ -3369,7 +3369,7 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -3383,7 +3383,7 @@ ) (call $alignfault) ) - (i64.store32 $0 align=2 + (i64.store32 align=2 (local.get $3) (local.get $2) ) @@ -3407,7 +3407,7 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -3421,7 +3421,7 @@ ) (call $alignfault) ) - (i64.store32 $0 + (i64.store32 (local.get $3) (local.get $2) ) @@ -3445,14 +3445,14 @@ (local.get $3) (i32.const 8) ) - (i32.load $0 + (i32.load (call $foo) ) ) ) (call $segfault) ) - (i64.store $0 align=1 + (i64.store align=1 (local.get $3) (local.get $2) ) @@ -3476,7 +3476,7 @@ (local.get $3) (i32.const 8) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -3490,7 +3490,7 @@ ) (call $alignfault) ) - (i64.store $0 align=2 + (i64.store align=2 (local.get $3) (local.get $2) ) @@ -3514,7 +3514,7 @@ (local.get $3) (i32.const 8) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -3528,7 +3528,7 @@ ) (call $alignfault) ) - (i64.store $0 align=4 + (i64.store align=4 (local.get $3) (local.get $2) ) @@ -3552,7 +3552,7 @@ (local.get $3) (i32.const 8) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -3566,7 +3566,7 @@ ) (call $alignfault) ) - (i64.store $0 + (i64.store (local.get $3) (local.get $2) ) @@ -3590,14 +3590,14 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $foo) ) ) ) (call $segfault) ) - (f32.store $0 align=1 + (f32.store align=1 (local.get $3) (local.get $2) ) @@ -3621,7 +3621,7 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -3635,7 +3635,7 @@ ) (call $alignfault) ) - (f32.store $0 align=2 + (f32.store align=2 (local.get $3) (local.get $2) ) @@ -3659,7 +3659,7 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -3673,7 +3673,7 @@ ) (call $alignfault) ) - (f32.store $0 + (f32.store (local.get $3) (local.get $2) ) @@ -3697,14 +3697,14 @@ (local.get $3) (i32.const 8) ) - (i32.load $0 + (i32.load (call $foo) ) ) ) (call $segfault) ) - (f64.store $0 align=1 + (f64.store align=1 (local.get $3) (local.get $2) ) @@ -3728,7 +3728,7 @@ (local.get $3) (i32.const 8) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -3742,7 +3742,7 @@ ) (call $alignfault) ) - (f64.store $0 align=2 + (f64.store align=2 (local.get $3) (local.get $2) ) @@ -3766,7 +3766,7 @@ (local.get $3) (i32.const 8) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -3780,7 +3780,7 @@ ) (call $alignfault) ) - (f64.store $0 align=4 + (f64.store align=4 (local.get $3) (local.get $2) ) @@ -3804,7 +3804,7 @@ (local.get $3) (i32.const 8) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -3818,7 +3818,7 @@ ) (call $alignfault) ) - (f64.store $0 + (f64.store (local.get $3) (local.get $2) ) @@ -3841,7 +3841,7 @@ (export "emscripten_get_sbrk_ptr" (func $foo)) (func $foo (result i32) (drop - (i32.load $0 + (i32.load (i32.const 0) ) ) @@ -3866,14 +3866,14 @@ (local.get $2) (i32.const 1) ) - (i32.load $0 + (i32.load (call $foo) ) ) ) (call $segfault) ) - (i32.load8_s $0 + (i32.load8_s (local.get $2) ) ) @@ -3896,14 +3896,14 @@ (local.get $2) (i32.const 1) ) - (i32.load $0 + (i32.load (call $foo) ) ) ) (call $segfault) ) - (i32.load8_u $0 + (i32.load8_u (local.get $2) ) ) @@ -3926,14 +3926,14 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $foo) ) ) ) (call $segfault) ) - (i32.load16_s $0 align=1 + (i32.load16_s align=1 (local.get $2) ) ) @@ -3956,7 +3956,7 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -3970,7 +3970,7 @@ ) (call $alignfault) ) - (i32.load16_s $0 + (i32.load16_s (local.get $2) ) ) @@ -3993,14 +3993,14 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $foo) ) ) ) (call $segfault) ) - (i32.load16_u $0 align=1 + (i32.load16_u align=1 (local.get $2) ) ) @@ -4023,7 +4023,7 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -4037,7 +4037,7 @@ ) (call $alignfault) ) - (i32.load16_u $0 + (i32.load16_u (local.get $2) ) ) @@ -4060,14 +4060,14 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $foo) ) ) ) (call $segfault) ) - (i32.load $0 align=1 + (i32.load align=1 (local.get $2) ) ) @@ -4090,7 +4090,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -4104,7 +4104,7 @@ ) (call $alignfault) ) - (i32.load $0 align=2 + (i32.load align=2 (local.get $2) ) ) @@ -4127,7 +4127,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -4141,7 +4141,7 @@ ) (call $alignfault) ) - (i32.load $0 + (i32.load (local.get $2) ) ) @@ -4164,14 +4164,14 @@ (local.get $2) (i32.const 1) ) - (i32.load $0 + (i32.load (call $foo) ) ) ) (call $segfault) ) - (i64.load8_s $0 + (i64.load8_s (local.get $2) ) ) @@ -4194,14 +4194,14 @@ (local.get $2) (i32.const 1) ) - (i32.load $0 + (i32.load (call $foo) ) ) ) (call $segfault) ) - (i64.load8_u $0 + (i64.load8_u (local.get $2) ) ) @@ -4224,14 +4224,14 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $foo) ) ) ) (call $segfault) ) - (i64.load16_s $0 align=1 + (i64.load16_s align=1 (local.get $2) ) ) @@ -4254,7 +4254,7 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -4268,7 +4268,7 @@ ) (call $alignfault) ) - (i64.load16_s $0 + (i64.load16_s (local.get $2) ) ) @@ -4291,14 +4291,14 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $foo) ) ) ) (call $segfault) ) - (i64.load16_u $0 align=1 + (i64.load16_u align=1 (local.get $2) ) ) @@ -4321,7 +4321,7 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -4335,7 +4335,7 @@ ) (call $alignfault) ) - (i64.load16_u $0 + (i64.load16_u (local.get $2) ) ) @@ -4358,14 +4358,14 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $foo) ) ) ) (call $segfault) ) - (i64.load32_s $0 align=1 + (i64.load32_s align=1 (local.get $2) ) ) @@ -4388,7 +4388,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -4402,7 +4402,7 @@ ) (call $alignfault) ) - (i64.load32_s $0 align=2 + (i64.load32_s align=2 (local.get $2) ) ) @@ -4425,7 +4425,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -4439,7 +4439,7 @@ ) (call $alignfault) ) - (i64.load32_s $0 + (i64.load32_s (local.get $2) ) ) @@ -4462,14 +4462,14 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $foo) ) ) ) (call $segfault) ) - (i64.load32_u $0 align=1 + (i64.load32_u align=1 (local.get $2) ) ) @@ -4492,7 +4492,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -4506,7 +4506,7 @@ ) (call $alignfault) ) - (i64.load32_u $0 align=2 + (i64.load32_u align=2 (local.get $2) ) ) @@ -4529,7 +4529,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -4543,7 +4543,7 @@ ) (call $alignfault) ) - (i64.load32_u $0 + (i64.load32_u (local.get $2) ) ) @@ -4566,14 +4566,14 @@ (local.get $2) (i32.const 8) ) - (i32.load $0 + (i32.load (call $foo) ) ) ) (call $segfault) ) - (i64.load $0 align=1 + (i64.load align=1 (local.get $2) ) ) @@ -4596,7 +4596,7 @@ (local.get $2) (i32.const 8) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -4610,7 +4610,7 @@ ) (call $alignfault) ) - (i64.load $0 align=2 + (i64.load align=2 (local.get $2) ) ) @@ -4633,7 +4633,7 @@ (local.get $2) (i32.const 8) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -4647,7 +4647,7 @@ ) (call $alignfault) ) - (i64.load $0 align=4 + (i64.load align=4 (local.get $2) ) ) @@ -4670,7 +4670,7 @@ (local.get $2) (i32.const 8) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -4684,7 +4684,7 @@ ) (call $alignfault) ) - (i64.load $0 + (i64.load (local.get $2) ) ) @@ -4707,14 +4707,14 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $foo) ) ) ) (call $segfault) ) - (f32.load $0 align=1 + (f32.load align=1 (local.get $2) ) ) @@ -4737,7 +4737,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -4751,7 +4751,7 @@ ) (call $alignfault) ) - (f32.load $0 align=2 + (f32.load align=2 (local.get $2) ) ) @@ -4774,7 +4774,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -4788,7 +4788,7 @@ ) (call $alignfault) ) - (f32.load $0 + (f32.load (local.get $2) ) ) @@ -4811,14 +4811,14 @@ (local.get $2) (i32.const 8) ) - (i32.load $0 + (i32.load (call $foo) ) ) ) (call $segfault) ) - (f64.load $0 align=1 + (f64.load align=1 (local.get $2) ) ) @@ -4841,7 +4841,7 @@ (local.get $2) (i32.const 8) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -4855,7 +4855,7 @@ ) (call $alignfault) ) - (f64.load $0 align=2 + (f64.load align=2 (local.get $2) ) ) @@ -4878,7 +4878,7 @@ (local.get $2) (i32.const 8) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -4892,7 +4892,7 @@ ) (call $alignfault) ) - (f64.load $0 align=4 + (f64.load align=4 (local.get $2) ) ) @@ -4915,7 +4915,7 @@ (local.get $2) (i32.const 8) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -4929,7 +4929,7 @@ ) (call $alignfault) ) - (f64.load $0 + (f64.load (local.get $2) ) ) @@ -4952,14 +4952,14 @@ (local.get $3) (i32.const 1) ) - (i32.load $0 + (i32.load (call $foo) ) ) ) (call $segfault) ) - (i32.store8 $0 + (i32.store8 (local.get $3) (local.get $2) ) @@ -4983,14 +4983,14 @@ (local.get $3) (i32.const 2) ) - (i32.load $0 + (i32.load (call $foo) ) ) ) (call $segfault) ) - (i32.store16 $0 align=1 + (i32.store16 align=1 (local.get $3) (local.get $2) ) @@ -5014,7 +5014,7 @@ (local.get $3) (i32.const 2) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -5028,7 +5028,7 @@ ) (call $alignfault) ) - (i32.store16 $0 + (i32.store16 (local.get $3) (local.get $2) ) @@ -5052,14 +5052,14 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $foo) ) ) ) (call $segfault) ) - (i32.store $0 align=1 + (i32.store align=1 (local.get $3) (local.get $2) ) @@ -5083,7 +5083,7 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -5097,7 +5097,7 @@ ) (call $alignfault) ) - (i32.store $0 align=2 + (i32.store align=2 (local.get $3) (local.get $2) ) @@ -5121,7 +5121,7 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -5135,7 +5135,7 @@ ) (call $alignfault) ) - (i32.store $0 + (i32.store (local.get $3) (local.get $2) ) @@ -5159,14 +5159,14 @@ (local.get $3) (i32.const 1) ) - (i32.load $0 + (i32.load (call $foo) ) ) ) (call $segfault) ) - (i64.store8 $0 + (i64.store8 (local.get $3) (local.get $2) ) @@ -5190,14 +5190,14 @@ (local.get $3) (i32.const 2) ) - (i32.load $0 + (i32.load (call $foo) ) ) ) (call $segfault) ) - (i64.store16 $0 align=1 + (i64.store16 align=1 (local.get $3) (local.get $2) ) @@ -5221,7 +5221,7 @@ (local.get $3) (i32.const 2) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -5235,7 +5235,7 @@ ) (call $alignfault) ) - (i64.store16 $0 + (i64.store16 (local.get $3) (local.get $2) ) @@ -5259,14 +5259,14 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $foo) ) ) ) (call $segfault) ) - (i64.store32 $0 align=1 + (i64.store32 align=1 (local.get $3) (local.get $2) ) @@ -5290,7 +5290,7 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -5304,7 +5304,7 @@ ) (call $alignfault) ) - (i64.store32 $0 align=2 + (i64.store32 align=2 (local.get $3) (local.get $2) ) @@ -5328,7 +5328,7 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -5342,7 +5342,7 @@ ) (call $alignfault) ) - (i64.store32 $0 + (i64.store32 (local.get $3) (local.get $2) ) @@ -5366,14 +5366,14 @@ (local.get $3) (i32.const 8) ) - (i32.load $0 + (i32.load (call $foo) ) ) ) (call $segfault) ) - (i64.store $0 align=1 + (i64.store align=1 (local.get $3) (local.get $2) ) @@ -5397,7 +5397,7 @@ (local.get $3) (i32.const 8) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -5411,7 +5411,7 @@ ) (call $alignfault) ) - (i64.store $0 align=2 + (i64.store align=2 (local.get $3) (local.get $2) ) @@ -5435,7 +5435,7 @@ (local.get $3) (i32.const 8) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -5449,7 +5449,7 @@ ) (call $alignfault) ) - (i64.store $0 align=4 + (i64.store align=4 (local.get $3) (local.get $2) ) @@ -5473,7 +5473,7 @@ (local.get $3) (i32.const 8) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -5487,7 +5487,7 @@ ) (call $alignfault) ) - (i64.store $0 + (i64.store (local.get $3) (local.get $2) ) @@ -5511,14 +5511,14 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $foo) ) ) ) (call $segfault) ) - (f32.store $0 align=1 + (f32.store align=1 (local.get $3) (local.get $2) ) @@ -5542,7 +5542,7 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -5556,7 +5556,7 @@ ) (call $alignfault) ) - (f32.store $0 align=2 + (f32.store align=2 (local.get $3) (local.get $2) ) @@ -5580,7 +5580,7 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -5594,7 +5594,7 @@ ) (call $alignfault) ) - (f32.store $0 + (f32.store (local.get $3) (local.get $2) ) @@ -5618,14 +5618,14 @@ (local.get $3) (i32.const 8) ) - (i32.load $0 + (i32.load (call $foo) ) ) ) (call $segfault) ) - (f64.store $0 align=1 + (f64.store align=1 (local.get $3) (local.get $2) ) @@ -5649,7 +5649,7 @@ (local.get $3) (i32.const 8) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -5663,7 +5663,7 @@ ) (call $alignfault) ) - (f64.store $0 align=2 + (f64.store align=2 (local.get $3) (local.get $2) ) @@ -5687,7 +5687,7 @@ (local.get $3) (i32.const 8) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -5701,7 +5701,7 @@ ) (call $alignfault) ) - (f64.store $0 align=4 + (f64.store align=4 (local.get $3) (local.get $2) ) @@ -5725,7 +5725,7 @@ (local.get $3) (i32.const 8) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -5739,7 +5739,7 @@ ) (call $alignfault) ) - (f64.store $0 + (f64.store (local.get $3) (local.get $2) ) diff --git a/test/passes/safe-heap_enable-threads_enable-simd.txt b/test/passes/safe-heap_enable-threads_enable-simd.txt index 7bbd4e3e5ae..72a98d32b8e 100644 --- a/test/passes/safe-heap_enable-threads_enable-simd.txt +++ b/test/passes/safe-heap_enable-threads_enable-simd.txt @@ -203,7 +203,7 @@ (local.get $2) (i32.const 1) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -212,7 +212,7 @@ ) (i32.shr_s (i32.shl - (i32.atomic.load8_u $0 + (i32.atomic.load8_u (local.get $2) ) (i32.const 24) @@ -239,14 +239,14 @@ (local.get $2) (i32.const 1) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load8_s $0 + (i32.load8_s (local.get $2) ) ) @@ -269,14 +269,14 @@ (local.get $2) (i32.const 1) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.atomic.load8_u $0 + (i32.atomic.load8_u (local.get $2) ) ) @@ -299,14 +299,14 @@ (local.get $2) (i32.const 1) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load8_u $0 + (i32.load8_u (local.get $2) ) ) @@ -329,14 +329,14 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load16_s $0 align=1 + (i32.load16_s align=1 (local.get $2) ) ) @@ -359,7 +359,7 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -375,7 +375,7 @@ ) (i32.shr_s (i32.shl - (i32.atomic.load16_u $0 + (i32.atomic.load16_u (local.get $2) ) (i32.const 16) @@ -402,7 +402,7 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -416,7 +416,7 @@ ) (call $alignfault) ) - (i32.load16_s $0 + (i32.load16_s (local.get $2) ) ) @@ -439,14 +439,14 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load16_u $0 align=1 + (i32.load16_u align=1 (local.get $2) ) ) @@ -469,7 +469,7 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -483,7 +483,7 @@ ) (call $alignfault) ) - (i32.atomic.load16_u $0 + (i32.atomic.load16_u (local.get $2) ) ) @@ -506,7 +506,7 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -520,7 +520,7 @@ ) (call $alignfault) ) - (i32.load16_u $0 + (i32.load16_u (local.get $2) ) ) @@ -543,14 +543,14 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load $0 align=1 + (i32.load align=1 (local.get $2) ) ) @@ -573,7 +573,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -587,7 +587,7 @@ ) (call $alignfault) ) - (i32.load $0 align=2 + (i32.load align=2 (local.get $2) ) ) @@ -610,7 +610,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -624,7 +624,7 @@ ) (call $alignfault) ) - (i32.atomic.load $0 + (i32.atomic.load (local.get $2) ) ) @@ -647,7 +647,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -661,7 +661,7 @@ ) (call $alignfault) ) - (i32.load $0 + (i32.load (local.get $2) ) ) @@ -684,7 +684,7 @@ (local.get $2) (i32.const 1) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -693,7 +693,7 @@ ) (i64.shr_s (i64.shl - (i64.atomic.load8_u $0 + (i64.atomic.load8_u (local.get $2) ) (i64.const 56) @@ -720,14 +720,14 @@ (local.get $2) (i32.const 1) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load8_s $0 + (i64.load8_s (local.get $2) ) ) @@ -750,14 +750,14 @@ (local.get $2) (i32.const 1) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.atomic.load8_u $0 + (i64.atomic.load8_u (local.get $2) ) ) @@ -780,14 +780,14 @@ (local.get $2) (i32.const 1) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load8_u $0 + (i64.load8_u (local.get $2) ) ) @@ -810,14 +810,14 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load16_s $0 align=1 + (i64.load16_s align=1 (local.get $2) ) ) @@ -840,7 +840,7 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -856,7 +856,7 @@ ) (i64.shr_s (i64.shl - (i64.atomic.load16_u $0 + (i64.atomic.load16_u (local.get $2) ) (i64.const 48) @@ -883,7 +883,7 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -897,7 +897,7 @@ ) (call $alignfault) ) - (i64.load16_s $0 + (i64.load16_s (local.get $2) ) ) @@ -920,14 +920,14 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load16_u $0 align=1 + (i64.load16_u align=1 (local.get $2) ) ) @@ -950,7 +950,7 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -964,7 +964,7 @@ ) (call $alignfault) ) - (i64.atomic.load16_u $0 + (i64.atomic.load16_u (local.get $2) ) ) @@ -987,7 +987,7 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1001,7 +1001,7 @@ ) (call $alignfault) ) - (i64.load16_u $0 + (i64.load16_u (local.get $2) ) ) @@ -1024,14 +1024,14 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load32_s $0 align=1 + (i64.load32_s align=1 (local.get $2) ) ) @@ -1054,7 +1054,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1068,7 +1068,7 @@ ) (call $alignfault) ) - (i64.load32_s $0 align=2 + (i64.load32_s align=2 (local.get $2) ) ) @@ -1091,7 +1091,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1107,7 +1107,7 @@ ) (i64.shr_s (i64.shl - (i64.atomic.load32_u $0 + (i64.atomic.load32_u (local.get $2) ) (i64.const 32) @@ -1134,7 +1134,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1148,7 +1148,7 @@ ) (call $alignfault) ) - (i64.load32_s $0 + (i64.load32_s (local.get $2) ) ) @@ -1171,14 +1171,14 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load32_u $0 align=1 + (i64.load32_u align=1 (local.get $2) ) ) @@ -1201,7 +1201,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1215,7 +1215,7 @@ ) (call $alignfault) ) - (i64.load32_u $0 align=2 + (i64.load32_u align=2 (local.get $2) ) ) @@ -1238,7 +1238,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1252,7 +1252,7 @@ ) (call $alignfault) ) - (i64.atomic.load32_u $0 + (i64.atomic.load32_u (local.get $2) ) ) @@ -1275,7 +1275,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1289,7 +1289,7 @@ ) (call $alignfault) ) - (i64.load32_u $0 + (i64.load32_u (local.get $2) ) ) @@ -1312,14 +1312,14 @@ (local.get $2) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load $0 align=1 + (i64.load align=1 (local.get $2) ) ) @@ -1342,7 +1342,7 @@ (local.get $2) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1356,7 +1356,7 @@ ) (call $alignfault) ) - (i64.load $0 align=2 + (i64.load align=2 (local.get $2) ) ) @@ -1379,7 +1379,7 @@ (local.get $2) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1393,7 +1393,7 @@ ) (call $alignfault) ) - (i64.load $0 align=4 + (i64.load align=4 (local.get $2) ) ) @@ -1416,7 +1416,7 @@ (local.get $2) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1430,7 +1430,7 @@ ) (call $alignfault) ) - (i64.atomic.load $0 + (i64.atomic.load (local.get $2) ) ) @@ -1453,7 +1453,7 @@ (local.get $2) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1467,7 +1467,7 @@ ) (call $alignfault) ) - (i64.load $0 + (i64.load (local.get $2) ) ) @@ -1490,14 +1490,14 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (f32.load $0 align=1 + (f32.load align=1 (local.get $2) ) ) @@ -1520,7 +1520,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1534,7 +1534,7 @@ ) (call $alignfault) ) - (f32.load $0 align=2 + (f32.load align=2 (local.get $2) ) ) @@ -1557,7 +1557,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1571,7 +1571,7 @@ ) (call $alignfault) ) - (f32.load $0 + (f32.load (local.get $2) ) ) @@ -1594,14 +1594,14 @@ (local.get $2) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (f64.load $0 align=1 + (f64.load align=1 (local.get $2) ) ) @@ -1624,7 +1624,7 @@ (local.get $2) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1638,7 +1638,7 @@ ) (call $alignfault) ) - (f64.load $0 align=2 + (f64.load align=2 (local.get $2) ) ) @@ -1661,7 +1661,7 @@ (local.get $2) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1675,7 +1675,7 @@ ) (call $alignfault) ) - (f64.load $0 align=4 + (f64.load align=4 (local.get $2) ) ) @@ -1698,7 +1698,7 @@ (local.get $2) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1712,7 +1712,7 @@ ) (call $alignfault) ) - (f64.load $0 + (f64.load (local.get $2) ) ) @@ -1735,14 +1735,14 @@ (local.get $2) (i32.const 16) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (v128.load $0 align=1 + (v128.load align=1 (local.get $2) ) ) @@ -1765,7 +1765,7 @@ (local.get $2) (i32.const 16) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1779,7 +1779,7 @@ ) (call $alignfault) ) - (v128.load $0 align=2 + (v128.load align=2 (local.get $2) ) ) @@ -1802,7 +1802,7 @@ (local.get $2) (i32.const 16) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1816,7 +1816,7 @@ ) (call $alignfault) ) - (v128.load $0 align=4 + (v128.load align=4 (local.get $2) ) ) @@ -1839,7 +1839,7 @@ (local.get $2) (i32.const 16) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1853,7 +1853,7 @@ ) (call $alignfault) ) - (v128.load $0 align=8 + (v128.load align=8 (local.get $2) ) ) @@ -1876,7 +1876,7 @@ (local.get $2) (i32.const 16) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1890,7 +1890,7 @@ ) (call $alignfault) ) - (v128.load $0 + (v128.load (local.get $2) ) ) @@ -1913,14 +1913,14 @@ (local.get $3) (i32.const 1) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.atomic.store8 $0 + (i32.atomic.store8 (local.get $3) (local.get $2) ) @@ -1944,14 +1944,14 @@ (local.get $3) (i32.const 1) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.store8 $0 + (i32.store8 (local.get $3) (local.get $2) ) @@ -1975,14 +1975,14 @@ (local.get $3) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.store16 $0 align=1 + (i32.store16 align=1 (local.get $3) (local.get $2) ) @@ -2006,7 +2006,7 @@ (local.get $3) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -2020,7 +2020,7 @@ ) (call $alignfault) ) - (i32.atomic.store16 $0 + (i32.atomic.store16 (local.get $3) (local.get $2) ) @@ -2044,7 +2044,7 @@ (local.get $3) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -2058,7 +2058,7 @@ ) (call $alignfault) ) - (i32.store16 $0 + (i32.store16 (local.get $3) (local.get $2) ) @@ -2082,14 +2082,14 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.store $0 align=1 + (i32.store align=1 (local.get $3) (local.get $2) ) @@ -2113,7 +2113,7 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -2127,7 +2127,7 @@ ) (call $alignfault) ) - (i32.store $0 align=2 + (i32.store align=2 (local.get $3) (local.get $2) ) @@ -2151,7 +2151,7 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -2165,7 +2165,7 @@ ) (call $alignfault) ) - (i32.atomic.store $0 + (i32.atomic.store (local.get $3) (local.get $2) ) @@ -2189,7 +2189,7 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -2203,7 +2203,7 @@ ) (call $alignfault) ) - (i32.store $0 + (i32.store (local.get $3) (local.get $2) ) @@ -2227,14 +2227,14 @@ (local.get $3) (i32.const 1) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.atomic.store8 $0 + (i64.atomic.store8 (local.get $3) (local.get $2) ) @@ -2258,14 +2258,14 @@ (local.get $3) (i32.const 1) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.store8 $0 + (i64.store8 (local.get $3) (local.get $2) ) @@ -2289,14 +2289,14 @@ (local.get $3) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.store16 $0 align=1 + (i64.store16 align=1 (local.get $3) (local.get $2) ) @@ -2320,7 +2320,7 @@ (local.get $3) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -2334,7 +2334,7 @@ ) (call $alignfault) ) - (i64.atomic.store16 $0 + (i64.atomic.store16 (local.get $3) (local.get $2) ) @@ -2358,7 +2358,7 @@ (local.get $3) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -2372,7 +2372,7 @@ ) (call $alignfault) ) - (i64.store16 $0 + (i64.store16 (local.get $3) (local.get $2) ) @@ -2396,14 +2396,14 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.store32 $0 align=1 + (i64.store32 align=1 (local.get $3) (local.get $2) ) @@ -2427,7 +2427,7 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -2441,7 +2441,7 @@ ) (call $alignfault) ) - (i64.store32 $0 align=2 + (i64.store32 align=2 (local.get $3) (local.get $2) ) @@ -2465,7 +2465,7 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -2479,7 +2479,7 @@ ) (call $alignfault) ) - (i64.atomic.store32 $0 + (i64.atomic.store32 (local.get $3) (local.get $2) ) @@ -2503,7 +2503,7 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -2517,7 +2517,7 @@ ) (call $alignfault) ) - (i64.store32 $0 + (i64.store32 (local.get $3) (local.get $2) ) @@ -2541,14 +2541,14 @@ (local.get $3) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.store $0 align=1 + (i64.store align=1 (local.get $3) (local.get $2) ) @@ -2572,7 +2572,7 @@ (local.get $3) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -2586,7 +2586,7 @@ ) (call $alignfault) ) - (i64.store $0 align=2 + (i64.store align=2 (local.get $3) (local.get $2) ) @@ -2610,7 +2610,7 @@ (local.get $3) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -2624,7 +2624,7 @@ ) (call $alignfault) ) - (i64.store $0 align=4 + (i64.store align=4 (local.get $3) (local.get $2) ) @@ -2648,7 +2648,7 @@ (local.get $3) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -2662,7 +2662,7 @@ ) (call $alignfault) ) - (i64.atomic.store $0 + (i64.atomic.store (local.get $3) (local.get $2) ) @@ -2686,7 +2686,7 @@ (local.get $3) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -2700,7 +2700,7 @@ ) (call $alignfault) ) - (i64.store $0 + (i64.store (local.get $3) (local.get $2) ) @@ -2724,14 +2724,14 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (f32.store $0 align=1 + (f32.store align=1 (local.get $3) (local.get $2) ) @@ -2755,7 +2755,7 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -2769,7 +2769,7 @@ ) (call $alignfault) ) - (f32.store $0 align=2 + (f32.store align=2 (local.get $3) (local.get $2) ) @@ -2793,7 +2793,7 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -2807,7 +2807,7 @@ ) (call $alignfault) ) - (f32.store $0 + (f32.store (local.get $3) (local.get $2) ) @@ -2831,14 +2831,14 @@ (local.get $3) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (f64.store $0 align=1 + (f64.store align=1 (local.get $3) (local.get $2) ) @@ -2862,7 +2862,7 @@ (local.get $3) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -2876,7 +2876,7 @@ ) (call $alignfault) ) - (f64.store $0 align=2 + (f64.store align=2 (local.get $3) (local.get $2) ) @@ -2900,7 +2900,7 @@ (local.get $3) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -2914,7 +2914,7 @@ ) (call $alignfault) ) - (f64.store $0 align=4 + (f64.store align=4 (local.get $3) (local.get $2) ) @@ -2938,7 +2938,7 @@ (local.get $3) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -2952,7 +2952,7 @@ ) (call $alignfault) ) - (f64.store $0 + (f64.store (local.get $3) (local.get $2) ) @@ -2976,14 +2976,14 @@ (local.get $3) (i32.const 16) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (v128.store $0 align=1 + (v128.store align=1 (local.get $3) (local.get $2) ) @@ -3007,7 +3007,7 @@ (local.get $3) (i32.const 16) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -3021,7 +3021,7 @@ ) (call $alignfault) ) - (v128.store $0 align=2 + (v128.store align=2 (local.get $3) (local.get $2) ) @@ -3045,7 +3045,7 @@ (local.get $3) (i32.const 16) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -3059,7 +3059,7 @@ ) (call $alignfault) ) - (v128.store $0 align=4 + (v128.store align=4 (local.get $3) (local.get $2) ) @@ -3083,7 +3083,7 @@ (local.get $3) (i32.const 16) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -3097,7 +3097,7 @@ ) (call $alignfault) ) - (v128.store $0 align=8 + (v128.store align=8 (local.get $3) (local.get $2) ) @@ -3121,7 +3121,7 @@ (local.get $3) (i32.const 16) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -3135,7 +3135,7 @@ ) (call $alignfault) ) - (v128.store $0 + (v128.store (local.get $3) (local.get $2) ) @@ -3185,14 +3185,14 @@ (local.get $2) (i32.const 1) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load8_s $0 + (i32.load8_s (local.get $2) ) ) @@ -3215,14 +3215,14 @@ (local.get $2) (i32.const 1) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load8_u $0 + (i32.load8_u (local.get $2) ) ) @@ -3245,14 +3245,14 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load16_s $0 align=1 + (i32.load16_s align=1 (local.get $2) ) ) @@ -3275,7 +3275,7 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -3289,7 +3289,7 @@ ) (call $alignfault) ) - (i32.load16_s $0 + (i32.load16_s (local.get $2) ) ) @@ -3312,14 +3312,14 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load16_u $0 align=1 + (i32.load16_u align=1 (local.get $2) ) ) @@ -3342,7 +3342,7 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -3356,7 +3356,7 @@ ) (call $alignfault) ) - (i32.load16_u $0 + (i32.load16_u (local.get $2) ) ) @@ -3379,14 +3379,14 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load $0 align=1 + (i32.load align=1 (local.get $2) ) ) @@ -3409,7 +3409,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -3423,7 +3423,7 @@ ) (call $alignfault) ) - (i32.load $0 align=2 + (i32.load align=2 (local.get $2) ) ) @@ -3446,7 +3446,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -3460,7 +3460,7 @@ ) (call $alignfault) ) - (i32.load $0 + (i32.load (local.get $2) ) ) @@ -3483,14 +3483,14 @@ (local.get $2) (i32.const 1) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load8_s $0 + (i64.load8_s (local.get $2) ) ) @@ -3513,14 +3513,14 @@ (local.get $2) (i32.const 1) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load8_u $0 + (i64.load8_u (local.get $2) ) ) @@ -3543,14 +3543,14 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load16_s $0 align=1 + (i64.load16_s align=1 (local.get $2) ) ) @@ -3573,7 +3573,7 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -3587,7 +3587,7 @@ ) (call $alignfault) ) - (i64.load16_s $0 + (i64.load16_s (local.get $2) ) ) @@ -3610,14 +3610,14 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load16_u $0 align=1 + (i64.load16_u align=1 (local.get $2) ) ) @@ -3640,7 +3640,7 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -3654,7 +3654,7 @@ ) (call $alignfault) ) - (i64.load16_u $0 + (i64.load16_u (local.get $2) ) ) @@ -3677,14 +3677,14 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load32_s $0 align=1 + (i64.load32_s align=1 (local.get $2) ) ) @@ -3707,7 +3707,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -3721,7 +3721,7 @@ ) (call $alignfault) ) - (i64.load32_s $0 align=2 + (i64.load32_s align=2 (local.get $2) ) ) @@ -3744,7 +3744,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -3758,7 +3758,7 @@ ) (call $alignfault) ) - (i64.load32_s $0 + (i64.load32_s (local.get $2) ) ) @@ -3781,14 +3781,14 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load32_u $0 align=1 + (i64.load32_u align=1 (local.get $2) ) ) @@ -3811,7 +3811,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -3825,7 +3825,7 @@ ) (call $alignfault) ) - (i64.load32_u $0 align=2 + (i64.load32_u align=2 (local.get $2) ) ) @@ -3848,7 +3848,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -3862,7 +3862,7 @@ ) (call $alignfault) ) - (i64.load32_u $0 + (i64.load32_u (local.get $2) ) ) @@ -3885,14 +3885,14 @@ (local.get $2) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load $0 align=1 + (i64.load align=1 (local.get $2) ) ) @@ -3915,7 +3915,7 @@ (local.get $2) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -3929,7 +3929,7 @@ ) (call $alignfault) ) - (i64.load $0 align=2 + (i64.load align=2 (local.get $2) ) ) @@ -3952,7 +3952,7 @@ (local.get $2) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -3966,7 +3966,7 @@ ) (call $alignfault) ) - (i64.load $0 align=4 + (i64.load align=4 (local.get $2) ) ) @@ -3989,7 +3989,7 @@ (local.get $2) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -4003,7 +4003,7 @@ ) (call $alignfault) ) - (i64.load $0 + (i64.load (local.get $2) ) ) @@ -4026,14 +4026,14 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (f32.load $0 align=1 + (f32.load align=1 (local.get $2) ) ) @@ -4056,7 +4056,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -4070,7 +4070,7 @@ ) (call $alignfault) ) - (f32.load $0 align=2 + (f32.load align=2 (local.get $2) ) ) @@ -4093,7 +4093,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -4107,7 +4107,7 @@ ) (call $alignfault) ) - (f32.load $0 + (f32.load (local.get $2) ) ) @@ -4130,14 +4130,14 @@ (local.get $2) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (f64.load $0 align=1 + (f64.load align=1 (local.get $2) ) ) @@ -4160,7 +4160,7 @@ (local.get $2) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -4174,7 +4174,7 @@ ) (call $alignfault) ) - (f64.load $0 align=2 + (f64.load align=2 (local.get $2) ) ) @@ -4197,7 +4197,7 @@ (local.get $2) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -4211,7 +4211,7 @@ ) (call $alignfault) ) - (f64.load $0 align=4 + (f64.load align=4 (local.get $2) ) ) @@ -4234,7 +4234,7 @@ (local.get $2) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -4248,7 +4248,7 @@ ) (call $alignfault) ) - (f64.load $0 + (f64.load (local.get $2) ) ) @@ -4271,14 +4271,14 @@ (local.get $2) (i32.const 16) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (v128.load $0 align=1 + (v128.load align=1 (local.get $2) ) ) @@ -4301,7 +4301,7 @@ (local.get $2) (i32.const 16) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -4315,7 +4315,7 @@ ) (call $alignfault) ) - (v128.load $0 align=2 + (v128.load align=2 (local.get $2) ) ) @@ -4338,7 +4338,7 @@ (local.get $2) (i32.const 16) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -4352,7 +4352,7 @@ ) (call $alignfault) ) - (v128.load $0 align=4 + (v128.load align=4 (local.get $2) ) ) @@ -4375,7 +4375,7 @@ (local.get $2) (i32.const 16) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -4389,7 +4389,7 @@ ) (call $alignfault) ) - (v128.load $0 align=8 + (v128.load align=8 (local.get $2) ) ) @@ -4412,7 +4412,7 @@ (local.get $2) (i32.const 16) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -4426,7 +4426,7 @@ ) (call $alignfault) ) - (v128.load $0 + (v128.load (local.get $2) ) ) @@ -4449,14 +4449,14 @@ (local.get $3) (i32.const 1) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.store8 $0 + (i32.store8 (local.get $3) (local.get $2) ) @@ -4480,14 +4480,14 @@ (local.get $3) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.store16 $0 align=1 + (i32.store16 align=1 (local.get $3) (local.get $2) ) @@ -4511,7 +4511,7 @@ (local.get $3) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -4525,7 +4525,7 @@ ) (call $alignfault) ) - (i32.store16 $0 + (i32.store16 (local.get $3) (local.get $2) ) @@ -4549,14 +4549,14 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.store $0 align=1 + (i32.store align=1 (local.get $3) (local.get $2) ) @@ -4580,7 +4580,7 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -4594,7 +4594,7 @@ ) (call $alignfault) ) - (i32.store $0 align=2 + (i32.store align=2 (local.get $3) (local.get $2) ) @@ -4618,7 +4618,7 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -4632,7 +4632,7 @@ ) (call $alignfault) ) - (i32.store $0 + (i32.store (local.get $3) (local.get $2) ) @@ -4656,14 +4656,14 @@ (local.get $3) (i32.const 1) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.store8 $0 + (i64.store8 (local.get $3) (local.get $2) ) @@ -4687,14 +4687,14 @@ (local.get $3) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.store16 $0 align=1 + (i64.store16 align=1 (local.get $3) (local.get $2) ) @@ -4718,7 +4718,7 @@ (local.get $3) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -4732,7 +4732,7 @@ ) (call $alignfault) ) - (i64.store16 $0 + (i64.store16 (local.get $3) (local.get $2) ) @@ -4756,14 +4756,14 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.store32 $0 align=1 + (i64.store32 align=1 (local.get $3) (local.get $2) ) @@ -4787,7 +4787,7 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -4801,7 +4801,7 @@ ) (call $alignfault) ) - (i64.store32 $0 align=2 + (i64.store32 align=2 (local.get $3) (local.get $2) ) @@ -4825,7 +4825,7 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -4839,7 +4839,7 @@ ) (call $alignfault) ) - (i64.store32 $0 + (i64.store32 (local.get $3) (local.get $2) ) @@ -4863,14 +4863,14 @@ (local.get $3) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.store $0 align=1 + (i64.store align=1 (local.get $3) (local.get $2) ) @@ -4894,7 +4894,7 @@ (local.get $3) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -4908,7 +4908,7 @@ ) (call $alignfault) ) - (i64.store $0 align=2 + (i64.store align=2 (local.get $3) (local.get $2) ) @@ -4932,7 +4932,7 @@ (local.get $3) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -4946,7 +4946,7 @@ ) (call $alignfault) ) - (i64.store $0 align=4 + (i64.store align=4 (local.get $3) (local.get $2) ) @@ -4970,7 +4970,7 @@ (local.get $3) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -4984,7 +4984,7 @@ ) (call $alignfault) ) - (i64.store $0 + (i64.store (local.get $3) (local.get $2) ) @@ -5008,14 +5008,14 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (f32.store $0 align=1 + (f32.store align=1 (local.get $3) (local.get $2) ) @@ -5039,7 +5039,7 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -5053,7 +5053,7 @@ ) (call $alignfault) ) - (f32.store $0 align=2 + (f32.store align=2 (local.get $3) (local.get $2) ) @@ -5077,7 +5077,7 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -5091,7 +5091,7 @@ ) (call $alignfault) ) - (f32.store $0 + (f32.store (local.get $3) (local.get $2) ) @@ -5115,14 +5115,14 @@ (local.get $3) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (f64.store $0 align=1 + (f64.store align=1 (local.get $3) (local.get $2) ) @@ -5146,7 +5146,7 @@ (local.get $3) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -5160,7 +5160,7 @@ ) (call $alignfault) ) - (f64.store $0 align=2 + (f64.store align=2 (local.get $3) (local.get $2) ) @@ -5184,7 +5184,7 @@ (local.get $3) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -5198,7 +5198,7 @@ ) (call $alignfault) ) - (f64.store $0 align=4 + (f64.store align=4 (local.get $3) (local.get $2) ) @@ -5222,7 +5222,7 @@ (local.get $3) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -5236,7 +5236,7 @@ ) (call $alignfault) ) - (f64.store $0 + (f64.store (local.get $3) (local.get $2) ) @@ -5260,14 +5260,14 @@ (local.get $3) (i32.const 16) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (v128.store $0 align=1 + (v128.store align=1 (local.get $3) (local.get $2) ) @@ -5291,7 +5291,7 @@ (local.get $3) (i32.const 16) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -5305,7 +5305,7 @@ ) (call $alignfault) ) - (v128.store $0 align=2 + (v128.store align=2 (local.get $3) (local.get $2) ) @@ -5329,7 +5329,7 @@ (local.get $3) (i32.const 16) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -5343,7 +5343,7 @@ ) (call $alignfault) ) - (v128.store $0 align=4 + (v128.store align=4 (local.get $3) (local.get $2) ) @@ -5367,7 +5367,7 @@ (local.get $3) (i32.const 16) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -5381,7 +5381,7 @@ ) (call $alignfault) ) - (v128.store $0 align=8 + (v128.store align=8 (local.get $3) (local.get $2) ) @@ -5405,7 +5405,7 @@ (local.get $3) (i32.const 16) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -5419,7 +5419,7 @@ ) (call $alignfault) ) - (v128.store $0 + (v128.store (local.get $3) (local.get $2) ) @@ -5474,7 +5474,7 @@ (local.get $2) (i32.const 1) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -5483,7 +5483,7 @@ ) (i32.shr_s (i32.shl - (i32.atomic.load8_u $0 + (i32.atomic.load8_u (local.get $2) ) (i32.const 24) @@ -5510,14 +5510,14 @@ (local.get $2) (i32.const 1) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load8_s $0 + (i32.load8_s (local.get $2) ) ) @@ -5540,14 +5540,14 @@ (local.get $2) (i32.const 1) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.atomic.load8_u $0 + (i32.atomic.load8_u (local.get $2) ) ) @@ -5570,14 +5570,14 @@ (local.get $2) (i32.const 1) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load8_u $0 + (i32.load8_u (local.get $2) ) ) @@ -5600,14 +5600,14 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load16_s $0 align=1 + (i32.load16_s align=1 (local.get $2) ) ) @@ -5630,7 +5630,7 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -5646,7 +5646,7 @@ ) (i32.shr_s (i32.shl - (i32.atomic.load16_u $0 + (i32.atomic.load16_u (local.get $2) ) (i32.const 16) @@ -5673,7 +5673,7 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -5687,7 +5687,7 @@ ) (call $alignfault) ) - (i32.load16_s $0 + (i32.load16_s (local.get $2) ) ) @@ -5710,14 +5710,14 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load16_u $0 align=1 + (i32.load16_u align=1 (local.get $2) ) ) @@ -5740,7 +5740,7 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -5754,7 +5754,7 @@ ) (call $alignfault) ) - (i32.atomic.load16_u $0 + (i32.atomic.load16_u (local.get $2) ) ) @@ -5777,7 +5777,7 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -5791,7 +5791,7 @@ ) (call $alignfault) ) - (i32.load16_u $0 + (i32.load16_u (local.get $2) ) ) @@ -5814,14 +5814,14 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load $0 align=1 + (i32.load align=1 (local.get $2) ) ) @@ -5844,7 +5844,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -5858,7 +5858,7 @@ ) (call $alignfault) ) - (i32.load $0 align=2 + (i32.load align=2 (local.get $2) ) ) @@ -5881,7 +5881,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -5895,7 +5895,7 @@ ) (call $alignfault) ) - (i32.atomic.load $0 + (i32.atomic.load (local.get $2) ) ) @@ -5918,7 +5918,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -5932,7 +5932,7 @@ ) (call $alignfault) ) - (i32.load $0 + (i32.load (local.get $2) ) ) @@ -5955,7 +5955,7 @@ (local.get $2) (i32.const 1) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -5964,7 +5964,7 @@ ) (i64.shr_s (i64.shl - (i64.atomic.load8_u $0 + (i64.atomic.load8_u (local.get $2) ) (i64.const 56) @@ -5991,14 +5991,14 @@ (local.get $2) (i32.const 1) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load8_s $0 + (i64.load8_s (local.get $2) ) ) @@ -6021,14 +6021,14 @@ (local.get $2) (i32.const 1) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.atomic.load8_u $0 + (i64.atomic.load8_u (local.get $2) ) ) @@ -6051,14 +6051,14 @@ (local.get $2) (i32.const 1) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load8_u $0 + (i64.load8_u (local.get $2) ) ) @@ -6081,14 +6081,14 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load16_s $0 align=1 + (i64.load16_s align=1 (local.get $2) ) ) @@ -6111,7 +6111,7 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -6127,7 +6127,7 @@ ) (i64.shr_s (i64.shl - (i64.atomic.load16_u $0 + (i64.atomic.load16_u (local.get $2) ) (i64.const 48) @@ -6154,7 +6154,7 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -6168,7 +6168,7 @@ ) (call $alignfault) ) - (i64.load16_s $0 + (i64.load16_s (local.get $2) ) ) @@ -6191,14 +6191,14 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load16_u $0 align=1 + (i64.load16_u align=1 (local.get $2) ) ) @@ -6221,7 +6221,7 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -6235,7 +6235,7 @@ ) (call $alignfault) ) - (i64.atomic.load16_u $0 + (i64.atomic.load16_u (local.get $2) ) ) @@ -6258,7 +6258,7 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -6272,7 +6272,7 @@ ) (call $alignfault) ) - (i64.load16_u $0 + (i64.load16_u (local.get $2) ) ) @@ -6295,14 +6295,14 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load32_s $0 align=1 + (i64.load32_s align=1 (local.get $2) ) ) @@ -6325,7 +6325,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -6339,7 +6339,7 @@ ) (call $alignfault) ) - (i64.load32_s $0 align=2 + (i64.load32_s align=2 (local.get $2) ) ) @@ -6362,7 +6362,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -6378,7 +6378,7 @@ ) (i64.shr_s (i64.shl - (i64.atomic.load32_u $0 + (i64.atomic.load32_u (local.get $2) ) (i64.const 32) @@ -6405,7 +6405,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -6419,7 +6419,7 @@ ) (call $alignfault) ) - (i64.load32_s $0 + (i64.load32_s (local.get $2) ) ) @@ -6442,14 +6442,14 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load32_u $0 align=1 + (i64.load32_u align=1 (local.get $2) ) ) @@ -6472,7 +6472,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -6486,7 +6486,7 @@ ) (call $alignfault) ) - (i64.load32_u $0 align=2 + (i64.load32_u align=2 (local.get $2) ) ) @@ -6509,7 +6509,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -6523,7 +6523,7 @@ ) (call $alignfault) ) - (i64.atomic.load32_u $0 + (i64.atomic.load32_u (local.get $2) ) ) @@ -6546,7 +6546,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -6560,7 +6560,7 @@ ) (call $alignfault) ) - (i64.load32_u $0 + (i64.load32_u (local.get $2) ) ) @@ -6583,14 +6583,14 @@ (local.get $2) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load $0 align=1 + (i64.load align=1 (local.get $2) ) ) @@ -6613,7 +6613,7 @@ (local.get $2) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -6627,7 +6627,7 @@ ) (call $alignfault) ) - (i64.load $0 align=2 + (i64.load align=2 (local.get $2) ) ) @@ -6650,7 +6650,7 @@ (local.get $2) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -6664,7 +6664,7 @@ ) (call $alignfault) ) - (i64.load $0 align=4 + (i64.load align=4 (local.get $2) ) ) @@ -6687,7 +6687,7 @@ (local.get $2) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -6701,7 +6701,7 @@ ) (call $alignfault) ) - (i64.atomic.load $0 + (i64.atomic.load (local.get $2) ) ) @@ -6724,7 +6724,7 @@ (local.get $2) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -6738,7 +6738,7 @@ ) (call $alignfault) ) - (i64.load $0 + (i64.load (local.get $2) ) ) @@ -6761,14 +6761,14 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (f32.load $0 align=1 + (f32.load align=1 (local.get $2) ) ) @@ -6791,7 +6791,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -6805,7 +6805,7 @@ ) (call $alignfault) ) - (f32.load $0 align=2 + (f32.load align=2 (local.get $2) ) ) @@ -6828,7 +6828,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -6842,7 +6842,7 @@ ) (call $alignfault) ) - (f32.load $0 + (f32.load (local.get $2) ) ) @@ -6865,14 +6865,14 @@ (local.get $2) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (f64.load $0 align=1 + (f64.load align=1 (local.get $2) ) ) @@ -6895,7 +6895,7 @@ (local.get $2) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -6909,7 +6909,7 @@ ) (call $alignfault) ) - (f64.load $0 align=2 + (f64.load align=2 (local.get $2) ) ) @@ -6932,7 +6932,7 @@ (local.get $2) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -6946,7 +6946,7 @@ ) (call $alignfault) ) - (f64.load $0 align=4 + (f64.load align=4 (local.get $2) ) ) @@ -6969,7 +6969,7 @@ (local.get $2) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -6983,7 +6983,7 @@ ) (call $alignfault) ) - (f64.load $0 + (f64.load (local.get $2) ) ) @@ -7006,14 +7006,14 @@ (local.get $2) (i32.const 16) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (v128.load $0 align=1 + (v128.load align=1 (local.get $2) ) ) @@ -7036,7 +7036,7 @@ (local.get $2) (i32.const 16) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -7050,7 +7050,7 @@ ) (call $alignfault) ) - (v128.load $0 align=2 + (v128.load align=2 (local.get $2) ) ) @@ -7073,7 +7073,7 @@ (local.get $2) (i32.const 16) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -7087,7 +7087,7 @@ ) (call $alignfault) ) - (v128.load $0 align=4 + (v128.load align=4 (local.get $2) ) ) @@ -7110,7 +7110,7 @@ (local.get $2) (i32.const 16) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -7124,7 +7124,7 @@ ) (call $alignfault) ) - (v128.load $0 align=8 + (v128.load align=8 (local.get $2) ) ) @@ -7147,7 +7147,7 @@ (local.get $2) (i32.const 16) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -7161,7 +7161,7 @@ ) (call $alignfault) ) - (v128.load $0 + (v128.load (local.get $2) ) ) @@ -7184,14 +7184,14 @@ (local.get $3) (i32.const 1) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.atomic.store8 $0 + (i32.atomic.store8 (local.get $3) (local.get $2) ) @@ -7215,14 +7215,14 @@ (local.get $3) (i32.const 1) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.store8 $0 + (i32.store8 (local.get $3) (local.get $2) ) @@ -7246,14 +7246,14 @@ (local.get $3) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.store16 $0 align=1 + (i32.store16 align=1 (local.get $3) (local.get $2) ) @@ -7277,7 +7277,7 @@ (local.get $3) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -7291,7 +7291,7 @@ ) (call $alignfault) ) - (i32.atomic.store16 $0 + (i32.atomic.store16 (local.get $3) (local.get $2) ) @@ -7315,7 +7315,7 @@ (local.get $3) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -7329,7 +7329,7 @@ ) (call $alignfault) ) - (i32.store16 $0 + (i32.store16 (local.get $3) (local.get $2) ) @@ -7353,14 +7353,14 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.store $0 align=1 + (i32.store align=1 (local.get $3) (local.get $2) ) @@ -7384,7 +7384,7 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -7398,7 +7398,7 @@ ) (call $alignfault) ) - (i32.store $0 align=2 + (i32.store align=2 (local.get $3) (local.get $2) ) @@ -7422,7 +7422,7 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -7436,7 +7436,7 @@ ) (call $alignfault) ) - (i32.atomic.store $0 + (i32.atomic.store (local.get $3) (local.get $2) ) @@ -7460,7 +7460,7 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -7474,7 +7474,7 @@ ) (call $alignfault) ) - (i32.store $0 + (i32.store (local.get $3) (local.get $2) ) @@ -7498,14 +7498,14 @@ (local.get $3) (i32.const 1) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.atomic.store8 $0 + (i64.atomic.store8 (local.get $3) (local.get $2) ) @@ -7529,14 +7529,14 @@ (local.get $3) (i32.const 1) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.store8 $0 + (i64.store8 (local.get $3) (local.get $2) ) @@ -7560,14 +7560,14 @@ (local.get $3) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.store16 $0 align=1 + (i64.store16 align=1 (local.get $3) (local.get $2) ) @@ -7591,7 +7591,7 @@ (local.get $3) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -7605,7 +7605,7 @@ ) (call $alignfault) ) - (i64.atomic.store16 $0 + (i64.atomic.store16 (local.get $3) (local.get $2) ) @@ -7629,7 +7629,7 @@ (local.get $3) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -7643,7 +7643,7 @@ ) (call $alignfault) ) - (i64.store16 $0 + (i64.store16 (local.get $3) (local.get $2) ) @@ -7667,14 +7667,14 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.store32 $0 align=1 + (i64.store32 align=1 (local.get $3) (local.get $2) ) @@ -7698,7 +7698,7 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -7712,7 +7712,7 @@ ) (call $alignfault) ) - (i64.store32 $0 align=2 + (i64.store32 align=2 (local.get $3) (local.get $2) ) @@ -7736,7 +7736,7 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -7750,7 +7750,7 @@ ) (call $alignfault) ) - (i64.atomic.store32 $0 + (i64.atomic.store32 (local.get $3) (local.get $2) ) @@ -7774,7 +7774,7 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -7788,7 +7788,7 @@ ) (call $alignfault) ) - (i64.store32 $0 + (i64.store32 (local.get $3) (local.get $2) ) @@ -7812,14 +7812,14 @@ (local.get $3) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.store $0 align=1 + (i64.store align=1 (local.get $3) (local.get $2) ) @@ -7843,7 +7843,7 @@ (local.get $3) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -7857,7 +7857,7 @@ ) (call $alignfault) ) - (i64.store $0 align=2 + (i64.store align=2 (local.get $3) (local.get $2) ) @@ -7881,7 +7881,7 @@ (local.get $3) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -7895,7 +7895,7 @@ ) (call $alignfault) ) - (i64.store $0 align=4 + (i64.store align=4 (local.get $3) (local.get $2) ) @@ -7919,7 +7919,7 @@ (local.get $3) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -7933,7 +7933,7 @@ ) (call $alignfault) ) - (i64.atomic.store $0 + (i64.atomic.store (local.get $3) (local.get $2) ) @@ -7957,7 +7957,7 @@ (local.get $3) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -7971,7 +7971,7 @@ ) (call $alignfault) ) - (i64.store $0 + (i64.store (local.get $3) (local.get $2) ) @@ -7995,14 +7995,14 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (f32.store $0 align=1 + (f32.store align=1 (local.get $3) (local.get $2) ) @@ -8026,7 +8026,7 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -8040,7 +8040,7 @@ ) (call $alignfault) ) - (f32.store $0 align=2 + (f32.store align=2 (local.get $3) (local.get $2) ) @@ -8064,7 +8064,7 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -8078,7 +8078,7 @@ ) (call $alignfault) ) - (f32.store $0 + (f32.store (local.get $3) (local.get $2) ) @@ -8102,14 +8102,14 @@ (local.get $3) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (f64.store $0 align=1 + (f64.store align=1 (local.get $3) (local.get $2) ) @@ -8133,7 +8133,7 @@ (local.get $3) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -8147,7 +8147,7 @@ ) (call $alignfault) ) - (f64.store $0 align=2 + (f64.store align=2 (local.get $3) (local.get $2) ) @@ -8171,7 +8171,7 @@ (local.get $3) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -8185,7 +8185,7 @@ ) (call $alignfault) ) - (f64.store $0 align=4 + (f64.store align=4 (local.get $3) (local.get $2) ) @@ -8209,7 +8209,7 @@ (local.get $3) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -8223,7 +8223,7 @@ ) (call $alignfault) ) - (f64.store $0 + (f64.store (local.get $3) (local.get $2) ) @@ -8247,14 +8247,14 @@ (local.get $3) (i32.const 16) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (v128.store $0 align=1 + (v128.store align=1 (local.get $3) (local.get $2) ) @@ -8278,7 +8278,7 @@ (local.get $3) (i32.const 16) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -8292,7 +8292,7 @@ ) (call $alignfault) ) - (v128.store $0 align=2 + (v128.store align=2 (local.get $3) (local.get $2) ) @@ -8316,7 +8316,7 @@ (local.get $3) (i32.const 16) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -8330,7 +8330,7 @@ ) (call $alignfault) ) - (v128.store $0 align=4 + (v128.store align=4 (local.get $3) (local.get $2) ) @@ -8354,7 +8354,7 @@ (local.get $3) (i32.const 16) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -8368,7 +8368,7 @@ ) (call $alignfault) ) - (v128.store $0 align=8 + (v128.store align=8 (local.get $3) (local.get $2) ) @@ -8392,7 +8392,7 @@ (local.get $3) (i32.const 16) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -8406,7 +8406,7 @@ ) (call $alignfault) ) - (v128.store $0 + (v128.store (local.get $3) (local.get $2) ) diff --git a/test/passes/safe-heap_enable-threads_enable-simd64.txt b/test/passes/safe-heap_enable-threads_enable-simd64.txt index 57b10258f1a..f582c87db3e 100644 --- a/test/passes/safe-heap_enable-threads_enable-simd64.txt +++ b/test/passes/safe-heap_enable-threads_enable-simd64.txt @@ -203,7 +203,7 @@ (local.get $2) (i64.const 1) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -212,7 +212,7 @@ ) (i32.shr_s (i32.shl - (i32.atomic.load8_u $0 + (i32.atomic.load8_u (local.get $2) ) (i32.const 24) @@ -239,14 +239,14 @@ (local.get $2) (i64.const 1) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load8_s $0 + (i32.load8_s (local.get $2) ) ) @@ -269,14 +269,14 @@ (local.get $2) (i64.const 1) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.atomic.load8_u $0 + (i32.atomic.load8_u (local.get $2) ) ) @@ -299,14 +299,14 @@ (local.get $2) (i64.const 1) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load8_u $0 + (i32.load8_u (local.get $2) ) ) @@ -329,14 +329,14 @@ (local.get $2) (i64.const 2) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load16_s $0 align=1 + (i32.load16_s align=1 (local.get $2) ) ) @@ -359,7 +359,7 @@ (local.get $2) (i64.const 2) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -377,7 +377,7 @@ ) (i32.shr_s (i32.shl - (i32.atomic.load16_u $0 + (i32.atomic.load16_u (local.get $2) ) (i32.const 16) @@ -404,7 +404,7 @@ (local.get $2) (i64.const 2) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -420,7 +420,7 @@ ) (call $alignfault) ) - (i32.load16_s $0 + (i32.load16_s (local.get $2) ) ) @@ -443,14 +443,14 @@ (local.get $2) (i64.const 2) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load16_u $0 align=1 + (i32.load16_u align=1 (local.get $2) ) ) @@ -473,7 +473,7 @@ (local.get $2) (i64.const 2) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -489,7 +489,7 @@ ) (call $alignfault) ) - (i32.atomic.load16_u $0 + (i32.atomic.load16_u (local.get $2) ) ) @@ -512,7 +512,7 @@ (local.get $2) (i64.const 2) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -528,7 +528,7 @@ ) (call $alignfault) ) - (i32.load16_u $0 + (i32.load16_u (local.get $2) ) ) @@ -551,14 +551,14 @@ (local.get $2) (i64.const 4) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load $0 align=1 + (i32.load align=1 (local.get $2) ) ) @@ -581,7 +581,7 @@ (local.get $2) (i64.const 4) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -597,7 +597,7 @@ ) (call $alignfault) ) - (i32.load $0 align=2 + (i32.load align=2 (local.get $2) ) ) @@ -620,7 +620,7 @@ (local.get $2) (i64.const 4) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -636,7 +636,7 @@ ) (call $alignfault) ) - (i32.atomic.load $0 + (i32.atomic.load (local.get $2) ) ) @@ -659,7 +659,7 @@ (local.get $2) (i64.const 4) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -675,7 +675,7 @@ ) (call $alignfault) ) - (i32.load $0 + (i32.load (local.get $2) ) ) @@ -698,7 +698,7 @@ (local.get $2) (i64.const 1) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -707,7 +707,7 @@ ) (i64.shr_s (i64.shl - (i64.atomic.load8_u $0 + (i64.atomic.load8_u (local.get $2) ) (i64.const 56) @@ -734,14 +734,14 @@ (local.get $2) (i64.const 1) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load8_s $0 + (i64.load8_s (local.get $2) ) ) @@ -764,14 +764,14 @@ (local.get $2) (i64.const 1) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.atomic.load8_u $0 + (i64.atomic.load8_u (local.get $2) ) ) @@ -794,14 +794,14 @@ (local.get $2) (i64.const 1) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load8_u $0 + (i64.load8_u (local.get $2) ) ) @@ -824,14 +824,14 @@ (local.get $2) (i64.const 2) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load16_s $0 align=1 + (i64.load16_s align=1 (local.get $2) ) ) @@ -854,7 +854,7 @@ (local.get $2) (i64.const 2) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -872,7 +872,7 @@ ) (i64.shr_s (i64.shl - (i64.atomic.load16_u $0 + (i64.atomic.load16_u (local.get $2) ) (i64.const 48) @@ -899,7 +899,7 @@ (local.get $2) (i64.const 2) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -915,7 +915,7 @@ ) (call $alignfault) ) - (i64.load16_s $0 + (i64.load16_s (local.get $2) ) ) @@ -938,14 +938,14 @@ (local.get $2) (i64.const 2) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load16_u $0 align=1 + (i64.load16_u align=1 (local.get $2) ) ) @@ -968,7 +968,7 @@ (local.get $2) (i64.const 2) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -984,7 +984,7 @@ ) (call $alignfault) ) - (i64.atomic.load16_u $0 + (i64.atomic.load16_u (local.get $2) ) ) @@ -1007,7 +1007,7 @@ (local.get $2) (i64.const 2) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1023,7 +1023,7 @@ ) (call $alignfault) ) - (i64.load16_u $0 + (i64.load16_u (local.get $2) ) ) @@ -1046,14 +1046,14 @@ (local.get $2) (i64.const 4) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load32_s $0 align=1 + (i64.load32_s align=1 (local.get $2) ) ) @@ -1076,7 +1076,7 @@ (local.get $2) (i64.const 4) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1092,7 +1092,7 @@ ) (call $alignfault) ) - (i64.load32_s $0 align=2 + (i64.load32_s align=2 (local.get $2) ) ) @@ -1115,7 +1115,7 @@ (local.get $2) (i64.const 4) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1133,7 +1133,7 @@ ) (i64.shr_s (i64.shl - (i64.atomic.load32_u $0 + (i64.atomic.load32_u (local.get $2) ) (i64.const 32) @@ -1160,7 +1160,7 @@ (local.get $2) (i64.const 4) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1176,7 +1176,7 @@ ) (call $alignfault) ) - (i64.load32_s $0 + (i64.load32_s (local.get $2) ) ) @@ -1199,14 +1199,14 @@ (local.get $2) (i64.const 4) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load32_u $0 align=1 + (i64.load32_u align=1 (local.get $2) ) ) @@ -1229,7 +1229,7 @@ (local.get $2) (i64.const 4) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1245,7 +1245,7 @@ ) (call $alignfault) ) - (i64.load32_u $0 align=2 + (i64.load32_u align=2 (local.get $2) ) ) @@ -1268,7 +1268,7 @@ (local.get $2) (i64.const 4) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1284,7 +1284,7 @@ ) (call $alignfault) ) - (i64.atomic.load32_u $0 + (i64.atomic.load32_u (local.get $2) ) ) @@ -1307,7 +1307,7 @@ (local.get $2) (i64.const 4) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1323,7 +1323,7 @@ ) (call $alignfault) ) - (i64.load32_u $0 + (i64.load32_u (local.get $2) ) ) @@ -1346,14 +1346,14 @@ (local.get $2) (i64.const 8) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load $0 align=1 + (i64.load align=1 (local.get $2) ) ) @@ -1376,7 +1376,7 @@ (local.get $2) (i64.const 8) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1392,7 +1392,7 @@ ) (call $alignfault) ) - (i64.load $0 align=2 + (i64.load align=2 (local.get $2) ) ) @@ -1415,7 +1415,7 @@ (local.get $2) (i64.const 8) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1431,7 +1431,7 @@ ) (call $alignfault) ) - (i64.load $0 align=4 + (i64.load align=4 (local.get $2) ) ) @@ -1454,7 +1454,7 @@ (local.get $2) (i64.const 8) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1470,7 +1470,7 @@ ) (call $alignfault) ) - (i64.atomic.load $0 + (i64.atomic.load (local.get $2) ) ) @@ -1493,7 +1493,7 @@ (local.get $2) (i64.const 8) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1509,7 +1509,7 @@ ) (call $alignfault) ) - (i64.load $0 + (i64.load (local.get $2) ) ) @@ -1532,14 +1532,14 @@ (local.get $2) (i64.const 4) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (f32.load $0 align=1 + (f32.load align=1 (local.get $2) ) ) @@ -1562,7 +1562,7 @@ (local.get $2) (i64.const 4) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1578,7 +1578,7 @@ ) (call $alignfault) ) - (f32.load $0 align=2 + (f32.load align=2 (local.get $2) ) ) @@ -1601,7 +1601,7 @@ (local.get $2) (i64.const 4) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1617,7 +1617,7 @@ ) (call $alignfault) ) - (f32.load $0 + (f32.load (local.get $2) ) ) @@ -1640,14 +1640,14 @@ (local.get $2) (i64.const 8) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (f64.load $0 align=1 + (f64.load align=1 (local.get $2) ) ) @@ -1670,7 +1670,7 @@ (local.get $2) (i64.const 8) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1686,7 +1686,7 @@ ) (call $alignfault) ) - (f64.load $0 align=2 + (f64.load align=2 (local.get $2) ) ) @@ -1709,7 +1709,7 @@ (local.get $2) (i64.const 8) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1725,7 +1725,7 @@ ) (call $alignfault) ) - (f64.load $0 align=4 + (f64.load align=4 (local.get $2) ) ) @@ -1748,7 +1748,7 @@ (local.get $2) (i64.const 8) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1764,7 +1764,7 @@ ) (call $alignfault) ) - (f64.load $0 + (f64.load (local.get $2) ) ) @@ -1787,14 +1787,14 @@ (local.get $2) (i64.const 16) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (v128.load $0 align=1 + (v128.load align=1 (local.get $2) ) ) @@ -1817,7 +1817,7 @@ (local.get $2) (i64.const 16) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1833,7 +1833,7 @@ ) (call $alignfault) ) - (v128.load $0 align=2 + (v128.load align=2 (local.get $2) ) ) @@ -1856,7 +1856,7 @@ (local.get $2) (i64.const 16) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1872,7 +1872,7 @@ ) (call $alignfault) ) - (v128.load $0 align=4 + (v128.load align=4 (local.get $2) ) ) @@ -1895,7 +1895,7 @@ (local.get $2) (i64.const 16) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1911,7 +1911,7 @@ ) (call $alignfault) ) - (v128.load $0 align=8 + (v128.load align=8 (local.get $2) ) ) @@ -1934,7 +1934,7 @@ (local.get $2) (i64.const 16) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1950,7 +1950,7 @@ ) (call $alignfault) ) - (v128.load $0 + (v128.load (local.get $2) ) ) @@ -1973,14 +1973,14 @@ (local.get $3) (i64.const 1) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.atomic.store8 $0 + (i32.atomic.store8 (local.get $3) (local.get $2) ) @@ -2004,14 +2004,14 @@ (local.get $3) (i64.const 1) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.store8 $0 + (i32.store8 (local.get $3) (local.get $2) ) @@ -2035,14 +2035,14 @@ (local.get $3) (i64.const 2) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.store16 $0 align=1 + (i32.store16 align=1 (local.get $3) (local.get $2) ) @@ -2066,7 +2066,7 @@ (local.get $3) (i64.const 2) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -2082,7 +2082,7 @@ ) (call $alignfault) ) - (i32.atomic.store16 $0 + (i32.atomic.store16 (local.get $3) (local.get $2) ) @@ -2106,7 +2106,7 @@ (local.get $3) (i64.const 2) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -2122,7 +2122,7 @@ ) (call $alignfault) ) - (i32.store16 $0 + (i32.store16 (local.get $3) (local.get $2) ) @@ -2146,14 +2146,14 @@ (local.get $3) (i64.const 4) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.store $0 align=1 + (i32.store align=1 (local.get $3) (local.get $2) ) @@ -2177,7 +2177,7 @@ (local.get $3) (i64.const 4) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -2193,7 +2193,7 @@ ) (call $alignfault) ) - (i32.store $0 align=2 + (i32.store align=2 (local.get $3) (local.get $2) ) @@ -2217,7 +2217,7 @@ (local.get $3) (i64.const 4) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -2233,7 +2233,7 @@ ) (call $alignfault) ) - (i32.atomic.store $0 + (i32.atomic.store (local.get $3) (local.get $2) ) @@ -2257,7 +2257,7 @@ (local.get $3) (i64.const 4) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -2273,7 +2273,7 @@ ) (call $alignfault) ) - (i32.store $0 + (i32.store (local.get $3) (local.get $2) ) @@ -2297,14 +2297,14 @@ (local.get $3) (i64.const 1) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.atomic.store8 $0 + (i64.atomic.store8 (local.get $3) (local.get $2) ) @@ -2328,14 +2328,14 @@ (local.get $3) (i64.const 1) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.store8 $0 + (i64.store8 (local.get $3) (local.get $2) ) @@ -2359,14 +2359,14 @@ (local.get $3) (i64.const 2) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.store16 $0 align=1 + (i64.store16 align=1 (local.get $3) (local.get $2) ) @@ -2390,7 +2390,7 @@ (local.get $3) (i64.const 2) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -2406,7 +2406,7 @@ ) (call $alignfault) ) - (i64.atomic.store16 $0 + (i64.atomic.store16 (local.get $3) (local.get $2) ) @@ -2430,7 +2430,7 @@ (local.get $3) (i64.const 2) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -2446,7 +2446,7 @@ ) (call $alignfault) ) - (i64.store16 $0 + (i64.store16 (local.get $3) (local.get $2) ) @@ -2470,14 +2470,14 @@ (local.get $3) (i64.const 4) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.store32 $0 align=1 + (i64.store32 align=1 (local.get $3) (local.get $2) ) @@ -2501,7 +2501,7 @@ (local.get $3) (i64.const 4) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -2517,7 +2517,7 @@ ) (call $alignfault) ) - (i64.store32 $0 align=2 + (i64.store32 align=2 (local.get $3) (local.get $2) ) @@ -2541,7 +2541,7 @@ (local.get $3) (i64.const 4) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -2557,7 +2557,7 @@ ) (call $alignfault) ) - (i64.atomic.store32 $0 + (i64.atomic.store32 (local.get $3) (local.get $2) ) @@ -2581,7 +2581,7 @@ (local.get $3) (i64.const 4) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -2597,7 +2597,7 @@ ) (call $alignfault) ) - (i64.store32 $0 + (i64.store32 (local.get $3) (local.get $2) ) @@ -2621,14 +2621,14 @@ (local.get $3) (i64.const 8) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.store $0 align=1 + (i64.store align=1 (local.get $3) (local.get $2) ) @@ -2652,7 +2652,7 @@ (local.get $3) (i64.const 8) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -2668,7 +2668,7 @@ ) (call $alignfault) ) - (i64.store $0 align=2 + (i64.store align=2 (local.get $3) (local.get $2) ) @@ -2692,7 +2692,7 @@ (local.get $3) (i64.const 8) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -2708,7 +2708,7 @@ ) (call $alignfault) ) - (i64.store $0 align=4 + (i64.store align=4 (local.get $3) (local.get $2) ) @@ -2732,7 +2732,7 @@ (local.get $3) (i64.const 8) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -2748,7 +2748,7 @@ ) (call $alignfault) ) - (i64.atomic.store $0 + (i64.atomic.store (local.get $3) (local.get $2) ) @@ -2772,7 +2772,7 @@ (local.get $3) (i64.const 8) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -2788,7 +2788,7 @@ ) (call $alignfault) ) - (i64.store $0 + (i64.store (local.get $3) (local.get $2) ) @@ -2812,14 +2812,14 @@ (local.get $3) (i64.const 4) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (f32.store $0 align=1 + (f32.store align=1 (local.get $3) (local.get $2) ) @@ -2843,7 +2843,7 @@ (local.get $3) (i64.const 4) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -2859,7 +2859,7 @@ ) (call $alignfault) ) - (f32.store $0 align=2 + (f32.store align=2 (local.get $3) (local.get $2) ) @@ -2883,7 +2883,7 @@ (local.get $3) (i64.const 4) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -2899,7 +2899,7 @@ ) (call $alignfault) ) - (f32.store $0 + (f32.store (local.get $3) (local.get $2) ) @@ -2923,14 +2923,14 @@ (local.get $3) (i64.const 8) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (f64.store $0 align=1 + (f64.store align=1 (local.get $3) (local.get $2) ) @@ -2954,7 +2954,7 @@ (local.get $3) (i64.const 8) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -2970,7 +2970,7 @@ ) (call $alignfault) ) - (f64.store $0 align=2 + (f64.store align=2 (local.get $3) (local.get $2) ) @@ -2994,7 +2994,7 @@ (local.get $3) (i64.const 8) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -3010,7 +3010,7 @@ ) (call $alignfault) ) - (f64.store $0 align=4 + (f64.store align=4 (local.get $3) (local.get $2) ) @@ -3034,7 +3034,7 @@ (local.get $3) (i64.const 8) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -3050,7 +3050,7 @@ ) (call $alignfault) ) - (f64.store $0 + (f64.store (local.get $3) (local.get $2) ) @@ -3074,14 +3074,14 @@ (local.get $3) (i64.const 16) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (v128.store $0 align=1 + (v128.store align=1 (local.get $3) (local.get $2) ) @@ -3105,7 +3105,7 @@ (local.get $3) (i64.const 16) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -3121,7 +3121,7 @@ ) (call $alignfault) ) - (v128.store $0 align=2 + (v128.store align=2 (local.get $3) (local.get $2) ) @@ -3145,7 +3145,7 @@ (local.get $3) (i64.const 16) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -3161,7 +3161,7 @@ ) (call $alignfault) ) - (v128.store $0 align=4 + (v128.store align=4 (local.get $3) (local.get $2) ) @@ -3185,7 +3185,7 @@ (local.get $3) (i64.const 16) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -3201,7 +3201,7 @@ ) (call $alignfault) ) - (v128.store $0 align=8 + (v128.store align=8 (local.get $3) (local.get $2) ) @@ -3225,7 +3225,7 @@ (local.get $3) (i64.const 16) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -3241,7 +3241,7 @@ ) (call $alignfault) ) - (v128.store $0 + (v128.store (local.get $3) (local.get $2) ) @@ -3291,14 +3291,14 @@ (local.get $2) (i64.const 1) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load8_s $0 + (i32.load8_s (local.get $2) ) ) @@ -3321,14 +3321,14 @@ (local.get $2) (i64.const 1) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load8_u $0 + (i32.load8_u (local.get $2) ) ) @@ -3351,14 +3351,14 @@ (local.get $2) (i64.const 2) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load16_s $0 align=1 + (i32.load16_s align=1 (local.get $2) ) ) @@ -3381,7 +3381,7 @@ (local.get $2) (i64.const 2) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -3397,7 +3397,7 @@ ) (call $alignfault) ) - (i32.load16_s $0 + (i32.load16_s (local.get $2) ) ) @@ -3420,14 +3420,14 @@ (local.get $2) (i64.const 2) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load16_u $0 align=1 + (i32.load16_u align=1 (local.get $2) ) ) @@ -3450,7 +3450,7 @@ (local.get $2) (i64.const 2) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -3466,7 +3466,7 @@ ) (call $alignfault) ) - (i32.load16_u $0 + (i32.load16_u (local.get $2) ) ) @@ -3489,14 +3489,14 @@ (local.get $2) (i64.const 4) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load $0 align=1 + (i32.load align=1 (local.get $2) ) ) @@ -3519,7 +3519,7 @@ (local.get $2) (i64.const 4) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -3535,7 +3535,7 @@ ) (call $alignfault) ) - (i32.load $0 align=2 + (i32.load align=2 (local.get $2) ) ) @@ -3558,7 +3558,7 @@ (local.get $2) (i64.const 4) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -3574,7 +3574,7 @@ ) (call $alignfault) ) - (i32.load $0 + (i32.load (local.get $2) ) ) @@ -3597,14 +3597,14 @@ (local.get $2) (i64.const 1) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load8_s $0 + (i64.load8_s (local.get $2) ) ) @@ -3627,14 +3627,14 @@ (local.get $2) (i64.const 1) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load8_u $0 + (i64.load8_u (local.get $2) ) ) @@ -3657,14 +3657,14 @@ (local.get $2) (i64.const 2) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load16_s $0 align=1 + (i64.load16_s align=1 (local.get $2) ) ) @@ -3687,7 +3687,7 @@ (local.get $2) (i64.const 2) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -3703,7 +3703,7 @@ ) (call $alignfault) ) - (i64.load16_s $0 + (i64.load16_s (local.get $2) ) ) @@ -3726,14 +3726,14 @@ (local.get $2) (i64.const 2) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load16_u $0 align=1 + (i64.load16_u align=1 (local.get $2) ) ) @@ -3756,7 +3756,7 @@ (local.get $2) (i64.const 2) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -3772,7 +3772,7 @@ ) (call $alignfault) ) - (i64.load16_u $0 + (i64.load16_u (local.get $2) ) ) @@ -3795,14 +3795,14 @@ (local.get $2) (i64.const 4) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load32_s $0 align=1 + (i64.load32_s align=1 (local.get $2) ) ) @@ -3825,7 +3825,7 @@ (local.get $2) (i64.const 4) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -3841,7 +3841,7 @@ ) (call $alignfault) ) - (i64.load32_s $0 align=2 + (i64.load32_s align=2 (local.get $2) ) ) @@ -3864,7 +3864,7 @@ (local.get $2) (i64.const 4) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -3880,7 +3880,7 @@ ) (call $alignfault) ) - (i64.load32_s $0 + (i64.load32_s (local.get $2) ) ) @@ -3903,14 +3903,14 @@ (local.get $2) (i64.const 4) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load32_u $0 align=1 + (i64.load32_u align=1 (local.get $2) ) ) @@ -3933,7 +3933,7 @@ (local.get $2) (i64.const 4) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -3949,7 +3949,7 @@ ) (call $alignfault) ) - (i64.load32_u $0 align=2 + (i64.load32_u align=2 (local.get $2) ) ) @@ -3972,7 +3972,7 @@ (local.get $2) (i64.const 4) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -3988,7 +3988,7 @@ ) (call $alignfault) ) - (i64.load32_u $0 + (i64.load32_u (local.get $2) ) ) @@ -4011,14 +4011,14 @@ (local.get $2) (i64.const 8) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load $0 align=1 + (i64.load align=1 (local.get $2) ) ) @@ -4041,7 +4041,7 @@ (local.get $2) (i64.const 8) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -4057,7 +4057,7 @@ ) (call $alignfault) ) - (i64.load $0 align=2 + (i64.load align=2 (local.get $2) ) ) @@ -4080,7 +4080,7 @@ (local.get $2) (i64.const 8) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -4096,7 +4096,7 @@ ) (call $alignfault) ) - (i64.load $0 align=4 + (i64.load align=4 (local.get $2) ) ) @@ -4119,7 +4119,7 @@ (local.get $2) (i64.const 8) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -4135,7 +4135,7 @@ ) (call $alignfault) ) - (i64.load $0 + (i64.load (local.get $2) ) ) @@ -4158,14 +4158,14 @@ (local.get $2) (i64.const 4) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (f32.load $0 align=1 + (f32.load align=1 (local.get $2) ) ) @@ -4188,7 +4188,7 @@ (local.get $2) (i64.const 4) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -4204,7 +4204,7 @@ ) (call $alignfault) ) - (f32.load $0 align=2 + (f32.load align=2 (local.get $2) ) ) @@ -4227,7 +4227,7 @@ (local.get $2) (i64.const 4) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -4243,7 +4243,7 @@ ) (call $alignfault) ) - (f32.load $0 + (f32.load (local.get $2) ) ) @@ -4266,14 +4266,14 @@ (local.get $2) (i64.const 8) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (f64.load $0 align=1 + (f64.load align=1 (local.get $2) ) ) @@ -4296,7 +4296,7 @@ (local.get $2) (i64.const 8) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -4312,7 +4312,7 @@ ) (call $alignfault) ) - (f64.load $0 align=2 + (f64.load align=2 (local.get $2) ) ) @@ -4335,7 +4335,7 @@ (local.get $2) (i64.const 8) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -4351,7 +4351,7 @@ ) (call $alignfault) ) - (f64.load $0 align=4 + (f64.load align=4 (local.get $2) ) ) @@ -4374,7 +4374,7 @@ (local.get $2) (i64.const 8) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -4390,7 +4390,7 @@ ) (call $alignfault) ) - (f64.load $0 + (f64.load (local.get $2) ) ) @@ -4413,14 +4413,14 @@ (local.get $2) (i64.const 16) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (v128.load $0 align=1 + (v128.load align=1 (local.get $2) ) ) @@ -4443,7 +4443,7 @@ (local.get $2) (i64.const 16) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -4459,7 +4459,7 @@ ) (call $alignfault) ) - (v128.load $0 align=2 + (v128.load align=2 (local.get $2) ) ) @@ -4482,7 +4482,7 @@ (local.get $2) (i64.const 16) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -4498,7 +4498,7 @@ ) (call $alignfault) ) - (v128.load $0 align=4 + (v128.load align=4 (local.get $2) ) ) @@ -4521,7 +4521,7 @@ (local.get $2) (i64.const 16) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -4537,7 +4537,7 @@ ) (call $alignfault) ) - (v128.load $0 align=8 + (v128.load align=8 (local.get $2) ) ) @@ -4560,7 +4560,7 @@ (local.get $2) (i64.const 16) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -4576,7 +4576,7 @@ ) (call $alignfault) ) - (v128.load $0 + (v128.load (local.get $2) ) ) @@ -4599,14 +4599,14 @@ (local.get $3) (i64.const 1) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.store8 $0 + (i32.store8 (local.get $3) (local.get $2) ) @@ -4630,14 +4630,14 @@ (local.get $3) (i64.const 2) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.store16 $0 align=1 + (i32.store16 align=1 (local.get $3) (local.get $2) ) @@ -4661,7 +4661,7 @@ (local.get $3) (i64.const 2) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -4677,7 +4677,7 @@ ) (call $alignfault) ) - (i32.store16 $0 + (i32.store16 (local.get $3) (local.get $2) ) @@ -4701,14 +4701,14 @@ (local.get $3) (i64.const 4) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.store $0 align=1 + (i32.store align=1 (local.get $3) (local.get $2) ) @@ -4732,7 +4732,7 @@ (local.get $3) (i64.const 4) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -4748,7 +4748,7 @@ ) (call $alignfault) ) - (i32.store $0 align=2 + (i32.store align=2 (local.get $3) (local.get $2) ) @@ -4772,7 +4772,7 @@ (local.get $3) (i64.const 4) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -4788,7 +4788,7 @@ ) (call $alignfault) ) - (i32.store $0 + (i32.store (local.get $3) (local.get $2) ) @@ -4812,14 +4812,14 @@ (local.get $3) (i64.const 1) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.store8 $0 + (i64.store8 (local.get $3) (local.get $2) ) @@ -4843,14 +4843,14 @@ (local.get $3) (i64.const 2) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.store16 $0 align=1 + (i64.store16 align=1 (local.get $3) (local.get $2) ) @@ -4874,7 +4874,7 @@ (local.get $3) (i64.const 2) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -4890,7 +4890,7 @@ ) (call $alignfault) ) - (i64.store16 $0 + (i64.store16 (local.get $3) (local.get $2) ) @@ -4914,14 +4914,14 @@ (local.get $3) (i64.const 4) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.store32 $0 align=1 + (i64.store32 align=1 (local.get $3) (local.get $2) ) @@ -4945,7 +4945,7 @@ (local.get $3) (i64.const 4) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -4961,7 +4961,7 @@ ) (call $alignfault) ) - (i64.store32 $0 align=2 + (i64.store32 align=2 (local.get $3) (local.get $2) ) @@ -4985,7 +4985,7 @@ (local.get $3) (i64.const 4) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -5001,7 +5001,7 @@ ) (call $alignfault) ) - (i64.store32 $0 + (i64.store32 (local.get $3) (local.get $2) ) @@ -5025,14 +5025,14 @@ (local.get $3) (i64.const 8) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.store $0 align=1 + (i64.store align=1 (local.get $3) (local.get $2) ) @@ -5056,7 +5056,7 @@ (local.get $3) (i64.const 8) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -5072,7 +5072,7 @@ ) (call $alignfault) ) - (i64.store $0 align=2 + (i64.store align=2 (local.get $3) (local.get $2) ) @@ -5096,7 +5096,7 @@ (local.get $3) (i64.const 8) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -5112,7 +5112,7 @@ ) (call $alignfault) ) - (i64.store $0 align=4 + (i64.store align=4 (local.get $3) (local.get $2) ) @@ -5136,7 +5136,7 @@ (local.get $3) (i64.const 8) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -5152,7 +5152,7 @@ ) (call $alignfault) ) - (i64.store $0 + (i64.store (local.get $3) (local.get $2) ) @@ -5176,14 +5176,14 @@ (local.get $3) (i64.const 4) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (f32.store $0 align=1 + (f32.store align=1 (local.get $3) (local.get $2) ) @@ -5207,7 +5207,7 @@ (local.get $3) (i64.const 4) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -5223,7 +5223,7 @@ ) (call $alignfault) ) - (f32.store $0 align=2 + (f32.store align=2 (local.get $3) (local.get $2) ) @@ -5247,7 +5247,7 @@ (local.get $3) (i64.const 4) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -5263,7 +5263,7 @@ ) (call $alignfault) ) - (f32.store $0 + (f32.store (local.get $3) (local.get $2) ) @@ -5287,14 +5287,14 @@ (local.get $3) (i64.const 8) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (f64.store $0 align=1 + (f64.store align=1 (local.get $3) (local.get $2) ) @@ -5318,7 +5318,7 @@ (local.get $3) (i64.const 8) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -5334,7 +5334,7 @@ ) (call $alignfault) ) - (f64.store $0 align=2 + (f64.store align=2 (local.get $3) (local.get $2) ) @@ -5358,7 +5358,7 @@ (local.get $3) (i64.const 8) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -5374,7 +5374,7 @@ ) (call $alignfault) ) - (f64.store $0 align=4 + (f64.store align=4 (local.get $3) (local.get $2) ) @@ -5398,7 +5398,7 @@ (local.get $3) (i64.const 8) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -5414,7 +5414,7 @@ ) (call $alignfault) ) - (f64.store $0 + (f64.store (local.get $3) (local.get $2) ) @@ -5438,14 +5438,14 @@ (local.get $3) (i64.const 16) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (v128.store $0 align=1 + (v128.store align=1 (local.get $3) (local.get $2) ) @@ -5469,7 +5469,7 @@ (local.get $3) (i64.const 16) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -5485,7 +5485,7 @@ ) (call $alignfault) ) - (v128.store $0 align=2 + (v128.store align=2 (local.get $3) (local.get $2) ) @@ -5509,7 +5509,7 @@ (local.get $3) (i64.const 16) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -5525,7 +5525,7 @@ ) (call $alignfault) ) - (v128.store $0 align=4 + (v128.store align=4 (local.get $3) (local.get $2) ) @@ -5549,7 +5549,7 @@ (local.get $3) (i64.const 16) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -5565,7 +5565,7 @@ ) (call $alignfault) ) - (v128.store $0 align=8 + (v128.store align=8 (local.get $3) (local.get $2) ) @@ -5589,7 +5589,7 @@ (local.get $3) (i64.const 16) ) - (i64.load $0 + (i64.load (call $emscripten_get_sbrk_ptr) ) ) @@ -5605,7 +5605,7 @@ ) (call $alignfault) ) - (v128.store $0 + (v128.store (local.get $3) (local.get $2) ) @@ -5660,7 +5660,7 @@ (local.get $2) (i64.const 1) ) - (i64.load $0 + (i64.load (call $foo) ) ) @@ -5669,7 +5669,7 @@ ) (i32.shr_s (i32.shl - (i32.atomic.load8_u $0 + (i32.atomic.load8_u (local.get $2) ) (i32.const 24) @@ -5696,14 +5696,14 @@ (local.get $2) (i64.const 1) ) - (i64.load $0 + (i64.load (call $foo) ) ) ) (call $segfault) ) - (i32.load8_s $0 + (i32.load8_s (local.get $2) ) ) @@ -5726,14 +5726,14 @@ (local.get $2) (i64.const 1) ) - (i64.load $0 + (i64.load (call $foo) ) ) ) (call $segfault) ) - (i32.atomic.load8_u $0 + (i32.atomic.load8_u (local.get $2) ) ) @@ -5756,14 +5756,14 @@ (local.get $2) (i64.const 1) ) - (i64.load $0 + (i64.load (call $foo) ) ) ) (call $segfault) ) - (i32.load8_u $0 + (i32.load8_u (local.get $2) ) ) @@ -5786,14 +5786,14 @@ (local.get $2) (i64.const 2) ) - (i64.load $0 + (i64.load (call $foo) ) ) ) (call $segfault) ) - (i32.load16_s $0 align=1 + (i32.load16_s align=1 (local.get $2) ) ) @@ -5816,7 +5816,7 @@ (local.get $2) (i64.const 2) ) - (i64.load $0 + (i64.load (call $foo) ) ) @@ -5834,7 +5834,7 @@ ) (i32.shr_s (i32.shl - (i32.atomic.load16_u $0 + (i32.atomic.load16_u (local.get $2) ) (i32.const 16) @@ -5861,7 +5861,7 @@ (local.get $2) (i64.const 2) ) - (i64.load $0 + (i64.load (call $foo) ) ) @@ -5877,7 +5877,7 @@ ) (call $alignfault) ) - (i32.load16_s $0 + (i32.load16_s (local.get $2) ) ) @@ -5900,14 +5900,14 @@ (local.get $2) (i64.const 2) ) - (i64.load $0 + (i64.load (call $foo) ) ) ) (call $segfault) ) - (i32.load16_u $0 align=1 + (i32.load16_u align=1 (local.get $2) ) ) @@ -5930,7 +5930,7 @@ (local.get $2) (i64.const 2) ) - (i64.load $0 + (i64.load (call $foo) ) ) @@ -5946,7 +5946,7 @@ ) (call $alignfault) ) - (i32.atomic.load16_u $0 + (i32.atomic.load16_u (local.get $2) ) ) @@ -5969,7 +5969,7 @@ (local.get $2) (i64.const 2) ) - (i64.load $0 + (i64.load (call $foo) ) ) @@ -5985,7 +5985,7 @@ ) (call $alignfault) ) - (i32.load16_u $0 + (i32.load16_u (local.get $2) ) ) @@ -6008,14 +6008,14 @@ (local.get $2) (i64.const 4) ) - (i64.load $0 + (i64.load (call $foo) ) ) ) (call $segfault) ) - (i32.load $0 align=1 + (i32.load align=1 (local.get $2) ) ) @@ -6038,7 +6038,7 @@ (local.get $2) (i64.const 4) ) - (i64.load $0 + (i64.load (call $foo) ) ) @@ -6054,7 +6054,7 @@ ) (call $alignfault) ) - (i32.load $0 align=2 + (i32.load align=2 (local.get $2) ) ) @@ -6077,7 +6077,7 @@ (local.get $2) (i64.const 4) ) - (i64.load $0 + (i64.load (call $foo) ) ) @@ -6093,7 +6093,7 @@ ) (call $alignfault) ) - (i32.atomic.load $0 + (i32.atomic.load (local.get $2) ) ) @@ -6116,7 +6116,7 @@ (local.get $2) (i64.const 4) ) - (i64.load $0 + (i64.load (call $foo) ) ) @@ -6132,7 +6132,7 @@ ) (call $alignfault) ) - (i32.load $0 + (i32.load (local.get $2) ) ) @@ -6155,7 +6155,7 @@ (local.get $2) (i64.const 1) ) - (i64.load $0 + (i64.load (call $foo) ) ) @@ -6164,7 +6164,7 @@ ) (i64.shr_s (i64.shl - (i64.atomic.load8_u $0 + (i64.atomic.load8_u (local.get $2) ) (i64.const 56) @@ -6191,14 +6191,14 @@ (local.get $2) (i64.const 1) ) - (i64.load $0 + (i64.load (call $foo) ) ) ) (call $segfault) ) - (i64.load8_s $0 + (i64.load8_s (local.get $2) ) ) @@ -6221,14 +6221,14 @@ (local.get $2) (i64.const 1) ) - (i64.load $0 + (i64.load (call $foo) ) ) ) (call $segfault) ) - (i64.atomic.load8_u $0 + (i64.atomic.load8_u (local.get $2) ) ) @@ -6251,14 +6251,14 @@ (local.get $2) (i64.const 1) ) - (i64.load $0 + (i64.load (call $foo) ) ) ) (call $segfault) ) - (i64.load8_u $0 + (i64.load8_u (local.get $2) ) ) @@ -6281,14 +6281,14 @@ (local.get $2) (i64.const 2) ) - (i64.load $0 + (i64.load (call $foo) ) ) ) (call $segfault) ) - (i64.load16_s $0 align=1 + (i64.load16_s align=1 (local.get $2) ) ) @@ -6311,7 +6311,7 @@ (local.get $2) (i64.const 2) ) - (i64.load $0 + (i64.load (call $foo) ) ) @@ -6329,7 +6329,7 @@ ) (i64.shr_s (i64.shl - (i64.atomic.load16_u $0 + (i64.atomic.load16_u (local.get $2) ) (i64.const 48) @@ -6356,7 +6356,7 @@ (local.get $2) (i64.const 2) ) - (i64.load $0 + (i64.load (call $foo) ) ) @@ -6372,7 +6372,7 @@ ) (call $alignfault) ) - (i64.load16_s $0 + (i64.load16_s (local.get $2) ) ) @@ -6395,14 +6395,14 @@ (local.get $2) (i64.const 2) ) - (i64.load $0 + (i64.load (call $foo) ) ) ) (call $segfault) ) - (i64.load16_u $0 align=1 + (i64.load16_u align=1 (local.get $2) ) ) @@ -6425,7 +6425,7 @@ (local.get $2) (i64.const 2) ) - (i64.load $0 + (i64.load (call $foo) ) ) @@ -6441,7 +6441,7 @@ ) (call $alignfault) ) - (i64.atomic.load16_u $0 + (i64.atomic.load16_u (local.get $2) ) ) @@ -6464,7 +6464,7 @@ (local.get $2) (i64.const 2) ) - (i64.load $0 + (i64.load (call $foo) ) ) @@ -6480,7 +6480,7 @@ ) (call $alignfault) ) - (i64.load16_u $0 + (i64.load16_u (local.get $2) ) ) @@ -6503,14 +6503,14 @@ (local.get $2) (i64.const 4) ) - (i64.load $0 + (i64.load (call $foo) ) ) ) (call $segfault) ) - (i64.load32_s $0 align=1 + (i64.load32_s align=1 (local.get $2) ) ) @@ -6533,7 +6533,7 @@ (local.get $2) (i64.const 4) ) - (i64.load $0 + (i64.load (call $foo) ) ) @@ -6549,7 +6549,7 @@ ) (call $alignfault) ) - (i64.load32_s $0 align=2 + (i64.load32_s align=2 (local.get $2) ) ) @@ -6572,7 +6572,7 @@ (local.get $2) (i64.const 4) ) - (i64.load $0 + (i64.load (call $foo) ) ) @@ -6590,7 +6590,7 @@ ) (i64.shr_s (i64.shl - (i64.atomic.load32_u $0 + (i64.atomic.load32_u (local.get $2) ) (i64.const 32) @@ -6617,7 +6617,7 @@ (local.get $2) (i64.const 4) ) - (i64.load $0 + (i64.load (call $foo) ) ) @@ -6633,7 +6633,7 @@ ) (call $alignfault) ) - (i64.load32_s $0 + (i64.load32_s (local.get $2) ) ) @@ -6656,14 +6656,14 @@ (local.get $2) (i64.const 4) ) - (i64.load $0 + (i64.load (call $foo) ) ) ) (call $segfault) ) - (i64.load32_u $0 align=1 + (i64.load32_u align=1 (local.get $2) ) ) @@ -6686,7 +6686,7 @@ (local.get $2) (i64.const 4) ) - (i64.load $0 + (i64.load (call $foo) ) ) @@ -6702,7 +6702,7 @@ ) (call $alignfault) ) - (i64.load32_u $0 align=2 + (i64.load32_u align=2 (local.get $2) ) ) @@ -6725,7 +6725,7 @@ (local.get $2) (i64.const 4) ) - (i64.load $0 + (i64.load (call $foo) ) ) @@ -6741,7 +6741,7 @@ ) (call $alignfault) ) - (i64.atomic.load32_u $0 + (i64.atomic.load32_u (local.get $2) ) ) @@ -6764,7 +6764,7 @@ (local.get $2) (i64.const 4) ) - (i64.load $0 + (i64.load (call $foo) ) ) @@ -6780,7 +6780,7 @@ ) (call $alignfault) ) - (i64.load32_u $0 + (i64.load32_u (local.get $2) ) ) @@ -6803,14 +6803,14 @@ (local.get $2) (i64.const 8) ) - (i64.load $0 + (i64.load (call $foo) ) ) ) (call $segfault) ) - (i64.load $0 align=1 + (i64.load align=1 (local.get $2) ) ) @@ -6833,7 +6833,7 @@ (local.get $2) (i64.const 8) ) - (i64.load $0 + (i64.load (call $foo) ) ) @@ -6849,7 +6849,7 @@ ) (call $alignfault) ) - (i64.load $0 align=2 + (i64.load align=2 (local.get $2) ) ) @@ -6872,7 +6872,7 @@ (local.get $2) (i64.const 8) ) - (i64.load $0 + (i64.load (call $foo) ) ) @@ -6888,7 +6888,7 @@ ) (call $alignfault) ) - (i64.load $0 align=4 + (i64.load align=4 (local.get $2) ) ) @@ -6911,7 +6911,7 @@ (local.get $2) (i64.const 8) ) - (i64.load $0 + (i64.load (call $foo) ) ) @@ -6927,7 +6927,7 @@ ) (call $alignfault) ) - (i64.atomic.load $0 + (i64.atomic.load (local.get $2) ) ) @@ -6950,7 +6950,7 @@ (local.get $2) (i64.const 8) ) - (i64.load $0 + (i64.load (call $foo) ) ) @@ -6966,7 +6966,7 @@ ) (call $alignfault) ) - (i64.load $0 + (i64.load (local.get $2) ) ) @@ -6989,14 +6989,14 @@ (local.get $2) (i64.const 4) ) - (i64.load $0 + (i64.load (call $foo) ) ) ) (call $segfault) ) - (f32.load $0 align=1 + (f32.load align=1 (local.get $2) ) ) @@ -7019,7 +7019,7 @@ (local.get $2) (i64.const 4) ) - (i64.load $0 + (i64.load (call $foo) ) ) @@ -7035,7 +7035,7 @@ ) (call $alignfault) ) - (f32.load $0 align=2 + (f32.load align=2 (local.get $2) ) ) @@ -7058,7 +7058,7 @@ (local.get $2) (i64.const 4) ) - (i64.load $0 + (i64.load (call $foo) ) ) @@ -7074,7 +7074,7 @@ ) (call $alignfault) ) - (f32.load $0 + (f32.load (local.get $2) ) ) @@ -7097,14 +7097,14 @@ (local.get $2) (i64.const 8) ) - (i64.load $0 + (i64.load (call $foo) ) ) ) (call $segfault) ) - (f64.load $0 align=1 + (f64.load align=1 (local.get $2) ) ) @@ -7127,7 +7127,7 @@ (local.get $2) (i64.const 8) ) - (i64.load $0 + (i64.load (call $foo) ) ) @@ -7143,7 +7143,7 @@ ) (call $alignfault) ) - (f64.load $0 align=2 + (f64.load align=2 (local.get $2) ) ) @@ -7166,7 +7166,7 @@ (local.get $2) (i64.const 8) ) - (i64.load $0 + (i64.load (call $foo) ) ) @@ -7182,7 +7182,7 @@ ) (call $alignfault) ) - (f64.load $0 align=4 + (f64.load align=4 (local.get $2) ) ) @@ -7205,7 +7205,7 @@ (local.get $2) (i64.const 8) ) - (i64.load $0 + (i64.load (call $foo) ) ) @@ -7221,7 +7221,7 @@ ) (call $alignfault) ) - (f64.load $0 + (f64.load (local.get $2) ) ) @@ -7244,14 +7244,14 @@ (local.get $2) (i64.const 16) ) - (i64.load $0 + (i64.load (call $foo) ) ) ) (call $segfault) ) - (v128.load $0 align=1 + (v128.load align=1 (local.get $2) ) ) @@ -7274,7 +7274,7 @@ (local.get $2) (i64.const 16) ) - (i64.load $0 + (i64.load (call $foo) ) ) @@ -7290,7 +7290,7 @@ ) (call $alignfault) ) - (v128.load $0 align=2 + (v128.load align=2 (local.get $2) ) ) @@ -7313,7 +7313,7 @@ (local.get $2) (i64.const 16) ) - (i64.load $0 + (i64.load (call $foo) ) ) @@ -7329,7 +7329,7 @@ ) (call $alignfault) ) - (v128.load $0 align=4 + (v128.load align=4 (local.get $2) ) ) @@ -7352,7 +7352,7 @@ (local.get $2) (i64.const 16) ) - (i64.load $0 + (i64.load (call $foo) ) ) @@ -7368,7 +7368,7 @@ ) (call $alignfault) ) - (v128.load $0 align=8 + (v128.load align=8 (local.get $2) ) ) @@ -7391,7 +7391,7 @@ (local.get $2) (i64.const 16) ) - (i64.load $0 + (i64.load (call $foo) ) ) @@ -7407,7 +7407,7 @@ ) (call $alignfault) ) - (v128.load $0 + (v128.load (local.get $2) ) ) @@ -7430,14 +7430,14 @@ (local.get $3) (i64.const 1) ) - (i64.load $0 + (i64.load (call $foo) ) ) ) (call $segfault) ) - (i32.atomic.store8 $0 + (i32.atomic.store8 (local.get $3) (local.get $2) ) @@ -7461,14 +7461,14 @@ (local.get $3) (i64.const 1) ) - (i64.load $0 + (i64.load (call $foo) ) ) ) (call $segfault) ) - (i32.store8 $0 + (i32.store8 (local.get $3) (local.get $2) ) @@ -7492,14 +7492,14 @@ (local.get $3) (i64.const 2) ) - (i64.load $0 + (i64.load (call $foo) ) ) ) (call $segfault) ) - (i32.store16 $0 align=1 + (i32.store16 align=1 (local.get $3) (local.get $2) ) @@ -7523,7 +7523,7 @@ (local.get $3) (i64.const 2) ) - (i64.load $0 + (i64.load (call $foo) ) ) @@ -7539,7 +7539,7 @@ ) (call $alignfault) ) - (i32.atomic.store16 $0 + (i32.atomic.store16 (local.get $3) (local.get $2) ) @@ -7563,7 +7563,7 @@ (local.get $3) (i64.const 2) ) - (i64.load $0 + (i64.load (call $foo) ) ) @@ -7579,7 +7579,7 @@ ) (call $alignfault) ) - (i32.store16 $0 + (i32.store16 (local.get $3) (local.get $2) ) @@ -7603,14 +7603,14 @@ (local.get $3) (i64.const 4) ) - (i64.load $0 + (i64.load (call $foo) ) ) ) (call $segfault) ) - (i32.store $0 align=1 + (i32.store align=1 (local.get $3) (local.get $2) ) @@ -7634,7 +7634,7 @@ (local.get $3) (i64.const 4) ) - (i64.load $0 + (i64.load (call $foo) ) ) @@ -7650,7 +7650,7 @@ ) (call $alignfault) ) - (i32.store $0 align=2 + (i32.store align=2 (local.get $3) (local.get $2) ) @@ -7674,7 +7674,7 @@ (local.get $3) (i64.const 4) ) - (i64.load $0 + (i64.load (call $foo) ) ) @@ -7690,7 +7690,7 @@ ) (call $alignfault) ) - (i32.atomic.store $0 + (i32.atomic.store (local.get $3) (local.get $2) ) @@ -7714,7 +7714,7 @@ (local.get $3) (i64.const 4) ) - (i64.load $0 + (i64.load (call $foo) ) ) @@ -7730,7 +7730,7 @@ ) (call $alignfault) ) - (i32.store $0 + (i32.store (local.get $3) (local.get $2) ) @@ -7754,14 +7754,14 @@ (local.get $3) (i64.const 1) ) - (i64.load $0 + (i64.load (call $foo) ) ) ) (call $segfault) ) - (i64.atomic.store8 $0 + (i64.atomic.store8 (local.get $3) (local.get $2) ) @@ -7785,14 +7785,14 @@ (local.get $3) (i64.const 1) ) - (i64.load $0 + (i64.load (call $foo) ) ) ) (call $segfault) ) - (i64.store8 $0 + (i64.store8 (local.get $3) (local.get $2) ) @@ -7816,14 +7816,14 @@ (local.get $3) (i64.const 2) ) - (i64.load $0 + (i64.load (call $foo) ) ) ) (call $segfault) ) - (i64.store16 $0 align=1 + (i64.store16 align=1 (local.get $3) (local.get $2) ) @@ -7847,7 +7847,7 @@ (local.get $3) (i64.const 2) ) - (i64.load $0 + (i64.load (call $foo) ) ) @@ -7863,7 +7863,7 @@ ) (call $alignfault) ) - (i64.atomic.store16 $0 + (i64.atomic.store16 (local.get $3) (local.get $2) ) @@ -7887,7 +7887,7 @@ (local.get $3) (i64.const 2) ) - (i64.load $0 + (i64.load (call $foo) ) ) @@ -7903,7 +7903,7 @@ ) (call $alignfault) ) - (i64.store16 $0 + (i64.store16 (local.get $3) (local.get $2) ) @@ -7927,14 +7927,14 @@ (local.get $3) (i64.const 4) ) - (i64.load $0 + (i64.load (call $foo) ) ) ) (call $segfault) ) - (i64.store32 $0 align=1 + (i64.store32 align=1 (local.get $3) (local.get $2) ) @@ -7958,7 +7958,7 @@ (local.get $3) (i64.const 4) ) - (i64.load $0 + (i64.load (call $foo) ) ) @@ -7974,7 +7974,7 @@ ) (call $alignfault) ) - (i64.store32 $0 align=2 + (i64.store32 align=2 (local.get $3) (local.get $2) ) @@ -7998,7 +7998,7 @@ (local.get $3) (i64.const 4) ) - (i64.load $0 + (i64.load (call $foo) ) ) @@ -8014,7 +8014,7 @@ ) (call $alignfault) ) - (i64.atomic.store32 $0 + (i64.atomic.store32 (local.get $3) (local.get $2) ) @@ -8038,7 +8038,7 @@ (local.get $3) (i64.const 4) ) - (i64.load $0 + (i64.load (call $foo) ) ) @@ -8054,7 +8054,7 @@ ) (call $alignfault) ) - (i64.store32 $0 + (i64.store32 (local.get $3) (local.get $2) ) @@ -8078,14 +8078,14 @@ (local.get $3) (i64.const 8) ) - (i64.load $0 + (i64.load (call $foo) ) ) ) (call $segfault) ) - (i64.store $0 align=1 + (i64.store align=1 (local.get $3) (local.get $2) ) @@ -8109,7 +8109,7 @@ (local.get $3) (i64.const 8) ) - (i64.load $0 + (i64.load (call $foo) ) ) @@ -8125,7 +8125,7 @@ ) (call $alignfault) ) - (i64.store $0 align=2 + (i64.store align=2 (local.get $3) (local.get $2) ) @@ -8149,7 +8149,7 @@ (local.get $3) (i64.const 8) ) - (i64.load $0 + (i64.load (call $foo) ) ) @@ -8165,7 +8165,7 @@ ) (call $alignfault) ) - (i64.store $0 align=4 + (i64.store align=4 (local.get $3) (local.get $2) ) @@ -8189,7 +8189,7 @@ (local.get $3) (i64.const 8) ) - (i64.load $0 + (i64.load (call $foo) ) ) @@ -8205,7 +8205,7 @@ ) (call $alignfault) ) - (i64.atomic.store $0 + (i64.atomic.store (local.get $3) (local.get $2) ) @@ -8229,7 +8229,7 @@ (local.get $3) (i64.const 8) ) - (i64.load $0 + (i64.load (call $foo) ) ) @@ -8245,7 +8245,7 @@ ) (call $alignfault) ) - (i64.store $0 + (i64.store (local.get $3) (local.get $2) ) @@ -8269,14 +8269,14 @@ (local.get $3) (i64.const 4) ) - (i64.load $0 + (i64.load (call $foo) ) ) ) (call $segfault) ) - (f32.store $0 align=1 + (f32.store align=1 (local.get $3) (local.get $2) ) @@ -8300,7 +8300,7 @@ (local.get $3) (i64.const 4) ) - (i64.load $0 + (i64.load (call $foo) ) ) @@ -8316,7 +8316,7 @@ ) (call $alignfault) ) - (f32.store $0 align=2 + (f32.store align=2 (local.get $3) (local.get $2) ) @@ -8340,7 +8340,7 @@ (local.get $3) (i64.const 4) ) - (i64.load $0 + (i64.load (call $foo) ) ) @@ -8356,7 +8356,7 @@ ) (call $alignfault) ) - (f32.store $0 + (f32.store (local.get $3) (local.get $2) ) @@ -8380,14 +8380,14 @@ (local.get $3) (i64.const 8) ) - (i64.load $0 + (i64.load (call $foo) ) ) ) (call $segfault) ) - (f64.store $0 align=1 + (f64.store align=1 (local.get $3) (local.get $2) ) @@ -8411,7 +8411,7 @@ (local.get $3) (i64.const 8) ) - (i64.load $0 + (i64.load (call $foo) ) ) @@ -8427,7 +8427,7 @@ ) (call $alignfault) ) - (f64.store $0 align=2 + (f64.store align=2 (local.get $3) (local.get $2) ) @@ -8451,7 +8451,7 @@ (local.get $3) (i64.const 8) ) - (i64.load $0 + (i64.load (call $foo) ) ) @@ -8467,7 +8467,7 @@ ) (call $alignfault) ) - (f64.store $0 align=4 + (f64.store align=4 (local.get $3) (local.get $2) ) @@ -8491,7 +8491,7 @@ (local.get $3) (i64.const 8) ) - (i64.load $0 + (i64.load (call $foo) ) ) @@ -8507,7 +8507,7 @@ ) (call $alignfault) ) - (f64.store $0 + (f64.store (local.get $3) (local.get $2) ) @@ -8531,14 +8531,14 @@ (local.get $3) (i64.const 16) ) - (i64.load $0 + (i64.load (call $foo) ) ) ) (call $segfault) ) - (v128.store $0 align=1 + (v128.store align=1 (local.get $3) (local.get $2) ) @@ -8562,7 +8562,7 @@ (local.get $3) (i64.const 16) ) - (i64.load $0 + (i64.load (call $foo) ) ) @@ -8578,7 +8578,7 @@ ) (call $alignfault) ) - (v128.store $0 align=2 + (v128.store align=2 (local.get $3) (local.get $2) ) @@ -8602,7 +8602,7 @@ (local.get $3) (i64.const 16) ) - (i64.load $0 + (i64.load (call $foo) ) ) @@ -8618,7 +8618,7 @@ ) (call $alignfault) ) - (v128.store $0 align=4 + (v128.store align=4 (local.get $3) (local.get $2) ) @@ -8642,7 +8642,7 @@ (local.get $3) (i64.const 16) ) - (i64.load $0 + (i64.load (call $foo) ) ) @@ -8658,7 +8658,7 @@ ) (call $alignfault) ) - (v128.store $0 align=8 + (v128.store align=8 (local.get $3) (local.get $2) ) @@ -8682,7 +8682,7 @@ (local.get $3) (i64.const 16) ) - (i64.load $0 + (i64.load (call $foo) ) ) @@ -8698,7 +8698,7 @@ ) (call $alignfault) ) - (v128.store $0 + (v128.store (local.get $3) (local.get $2) ) diff --git a/test/passes/safe-heap_low-memory-unused_enable-threads_enable-simd.txt b/test/passes/safe-heap_low-memory-unused_enable-threads_enable-simd.txt index e34ce321537..4474b16a445 100644 --- a/test/passes/safe-heap_low-memory-unused_enable-threads_enable-simd.txt +++ b/test/passes/safe-heap_low-memory-unused_enable-threads_enable-simd.txt @@ -203,7 +203,7 @@ (local.get $2) (i32.const 1) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -212,7 +212,7 @@ ) (i32.shr_s (i32.shl - (i32.atomic.load8_u $0 + (i32.atomic.load8_u (local.get $2) ) (i32.const 24) @@ -239,14 +239,14 @@ (local.get $2) (i32.const 1) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load8_s $0 + (i32.load8_s (local.get $2) ) ) @@ -269,14 +269,14 @@ (local.get $2) (i32.const 1) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.atomic.load8_u $0 + (i32.atomic.load8_u (local.get $2) ) ) @@ -299,14 +299,14 @@ (local.get $2) (i32.const 1) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load8_u $0 + (i32.load8_u (local.get $2) ) ) @@ -329,14 +329,14 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load16_s $0 align=1 + (i32.load16_s align=1 (local.get $2) ) ) @@ -359,7 +359,7 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -375,7 +375,7 @@ ) (i32.shr_s (i32.shl - (i32.atomic.load16_u $0 + (i32.atomic.load16_u (local.get $2) ) (i32.const 16) @@ -402,7 +402,7 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -416,7 +416,7 @@ ) (call $alignfault) ) - (i32.load16_s $0 + (i32.load16_s (local.get $2) ) ) @@ -439,14 +439,14 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load16_u $0 align=1 + (i32.load16_u align=1 (local.get $2) ) ) @@ -469,7 +469,7 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -483,7 +483,7 @@ ) (call $alignfault) ) - (i32.atomic.load16_u $0 + (i32.atomic.load16_u (local.get $2) ) ) @@ -506,7 +506,7 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -520,7 +520,7 @@ ) (call $alignfault) ) - (i32.load16_u $0 + (i32.load16_u (local.get $2) ) ) @@ -543,14 +543,14 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load $0 align=1 + (i32.load align=1 (local.get $2) ) ) @@ -573,7 +573,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -587,7 +587,7 @@ ) (call $alignfault) ) - (i32.load $0 align=2 + (i32.load align=2 (local.get $2) ) ) @@ -610,7 +610,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -624,7 +624,7 @@ ) (call $alignfault) ) - (i32.atomic.load $0 + (i32.atomic.load (local.get $2) ) ) @@ -647,7 +647,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -661,7 +661,7 @@ ) (call $alignfault) ) - (i32.load $0 + (i32.load (local.get $2) ) ) @@ -684,7 +684,7 @@ (local.get $2) (i32.const 1) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -693,7 +693,7 @@ ) (i64.shr_s (i64.shl - (i64.atomic.load8_u $0 + (i64.atomic.load8_u (local.get $2) ) (i64.const 56) @@ -720,14 +720,14 @@ (local.get $2) (i32.const 1) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load8_s $0 + (i64.load8_s (local.get $2) ) ) @@ -750,14 +750,14 @@ (local.get $2) (i32.const 1) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.atomic.load8_u $0 + (i64.atomic.load8_u (local.get $2) ) ) @@ -780,14 +780,14 @@ (local.get $2) (i32.const 1) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load8_u $0 + (i64.load8_u (local.get $2) ) ) @@ -810,14 +810,14 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load16_s $0 align=1 + (i64.load16_s align=1 (local.get $2) ) ) @@ -840,7 +840,7 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -856,7 +856,7 @@ ) (i64.shr_s (i64.shl - (i64.atomic.load16_u $0 + (i64.atomic.load16_u (local.get $2) ) (i64.const 48) @@ -883,7 +883,7 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -897,7 +897,7 @@ ) (call $alignfault) ) - (i64.load16_s $0 + (i64.load16_s (local.get $2) ) ) @@ -920,14 +920,14 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load16_u $0 align=1 + (i64.load16_u align=1 (local.get $2) ) ) @@ -950,7 +950,7 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -964,7 +964,7 @@ ) (call $alignfault) ) - (i64.atomic.load16_u $0 + (i64.atomic.load16_u (local.get $2) ) ) @@ -987,7 +987,7 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1001,7 +1001,7 @@ ) (call $alignfault) ) - (i64.load16_u $0 + (i64.load16_u (local.get $2) ) ) @@ -1024,14 +1024,14 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load32_s $0 align=1 + (i64.load32_s align=1 (local.get $2) ) ) @@ -1054,7 +1054,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1068,7 +1068,7 @@ ) (call $alignfault) ) - (i64.load32_s $0 align=2 + (i64.load32_s align=2 (local.get $2) ) ) @@ -1091,7 +1091,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1107,7 +1107,7 @@ ) (i64.shr_s (i64.shl - (i64.atomic.load32_u $0 + (i64.atomic.load32_u (local.get $2) ) (i64.const 32) @@ -1134,7 +1134,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1148,7 +1148,7 @@ ) (call $alignfault) ) - (i64.load32_s $0 + (i64.load32_s (local.get $2) ) ) @@ -1171,14 +1171,14 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load32_u $0 align=1 + (i64.load32_u align=1 (local.get $2) ) ) @@ -1201,7 +1201,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1215,7 +1215,7 @@ ) (call $alignfault) ) - (i64.load32_u $0 align=2 + (i64.load32_u align=2 (local.get $2) ) ) @@ -1238,7 +1238,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1252,7 +1252,7 @@ ) (call $alignfault) ) - (i64.atomic.load32_u $0 + (i64.atomic.load32_u (local.get $2) ) ) @@ -1275,7 +1275,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1289,7 +1289,7 @@ ) (call $alignfault) ) - (i64.load32_u $0 + (i64.load32_u (local.get $2) ) ) @@ -1312,14 +1312,14 @@ (local.get $2) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load $0 align=1 + (i64.load align=1 (local.get $2) ) ) @@ -1342,7 +1342,7 @@ (local.get $2) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1356,7 +1356,7 @@ ) (call $alignfault) ) - (i64.load $0 align=2 + (i64.load align=2 (local.get $2) ) ) @@ -1379,7 +1379,7 @@ (local.get $2) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1393,7 +1393,7 @@ ) (call $alignfault) ) - (i64.load $0 align=4 + (i64.load align=4 (local.get $2) ) ) @@ -1416,7 +1416,7 @@ (local.get $2) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1430,7 +1430,7 @@ ) (call $alignfault) ) - (i64.atomic.load $0 + (i64.atomic.load (local.get $2) ) ) @@ -1453,7 +1453,7 @@ (local.get $2) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1467,7 +1467,7 @@ ) (call $alignfault) ) - (i64.load $0 + (i64.load (local.get $2) ) ) @@ -1490,14 +1490,14 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (f32.load $0 align=1 + (f32.load align=1 (local.get $2) ) ) @@ -1520,7 +1520,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1534,7 +1534,7 @@ ) (call $alignfault) ) - (f32.load $0 align=2 + (f32.load align=2 (local.get $2) ) ) @@ -1557,7 +1557,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1571,7 +1571,7 @@ ) (call $alignfault) ) - (f32.load $0 + (f32.load (local.get $2) ) ) @@ -1594,14 +1594,14 @@ (local.get $2) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (f64.load $0 align=1 + (f64.load align=1 (local.get $2) ) ) @@ -1624,7 +1624,7 @@ (local.get $2) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1638,7 +1638,7 @@ ) (call $alignfault) ) - (f64.load $0 align=2 + (f64.load align=2 (local.get $2) ) ) @@ -1661,7 +1661,7 @@ (local.get $2) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1675,7 +1675,7 @@ ) (call $alignfault) ) - (f64.load $0 align=4 + (f64.load align=4 (local.get $2) ) ) @@ -1698,7 +1698,7 @@ (local.get $2) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1712,7 +1712,7 @@ ) (call $alignfault) ) - (f64.load $0 + (f64.load (local.get $2) ) ) @@ -1735,14 +1735,14 @@ (local.get $2) (i32.const 16) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (v128.load $0 align=1 + (v128.load align=1 (local.get $2) ) ) @@ -1765,7 +1765,7 @@ (local.get $2) (i32.const 16) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1779,7 +1779,7 @@ ) (call $alignfault) ) - (v128.load $0 align=2 + (v128.load align=2 (local.get $2) ) ) @@ -1802,7 +1802,7 @@ (local.get $2) (i32.const 16) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1816,7 +1816,7 @@ ) (call $alignfault) ) - (v128.load $0 align=4 + (v128.load align=4 (local.get $2) ) ) @@ -1839,7 +1839,7 @@ (local.get $2) (i32.const 16) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1853,7 +1853,7 @@ ) (call $alignfault) ) - (v128.load $0 align=8 + (v128.load align=8 (local.get $2) ) ) @@ -1876,7 +1876,7 @@ (local.get $2) (i32.const 16) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1890,7 +1890,7 @@ ) (call $alignfault) ) - (v128.load $0 + (v128.load (local.get $2) ) ) @@ -1913,14 +1913,14 @@ (local.get $3) (i32.const 1) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.atomic.store8 $0 + (i32.atomic.store8 (local.get $3) (local.get $2) ) @@ -1944,14 +1944,14 @@ (local.get $3) (i32.const 1) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.store8 $0 + (i32.store8 (local.get $3) (local.get $2) ) @@ -1975,14 +1975,14 @@ (local.get $3) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.store16 $0 align=1 + (i32.store16 align=1 (local.get $3) (local.get $2) ) @@ -2006,7 +2006,7 @@ (local.get $3) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -2020,7 +2020,7 @@ ) (call $alignfault) ) - (i32.atomic.store16 $0 + (i32.atomic.store16 (local.get $3) (local.get $2) ) @@ -2044,7 +2044,7 @@ (local.get $3) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -2058,7 +2058,7 @@ ) (call $alignfault) ) - (i32.store16 $0 + (i32.store16 (local.get $3) (local.get $2) ) @@ -2082,14 +2082,14 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.store $0 align=1 + (i32.store align=1 (local.get $3) (local.get $2) ) @@ -2113,7 +2113,7 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -2127,7 +2127,7 @@ ) (call $alignfault) ) - (i32.store $0 align=2 + (i32.store align=2 (local.get $3) (local.get $2) ) @@ -2151,7 +2151,7 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -2165,7 +2165,7 @@ ) (call $alignfault) ) - (i32.atomic.store $0 + (i32.atomic.store (local.get $3) (local.get $2) ) @@ -2189,7 +2189,7 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -2203,7 +2203,7 @@ ) (call $alignfault) ) - (i32.store $0 + (i32.store (local.get $3) (local.get $2) ) @@ -2227,14 +2227,14 @@ (local.get $3) (i32.const 1) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.atomic.store8 $0 + (i64.atomic.store8 (local.get $3) (local.get $2) ) @@ -2258,14 +2258,14 @@ (local.get $3) (i32.const 1) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.store8 $0 + (i64.store8 (local.get $3) (local.get $2) ) @@ -2289,14 +2289,14 @@ (local.get $3) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.store16 $0 align=1 + (i64.store16 align=1 (local.get $3) (local.get $2) ) @@ -2320,7 +2320,7 @@ (local.get $3) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -2334,7 +2334,7 @@ ) (call $alignfault) ) - (i64.atomic.store16 $0 + (i64.atomic.store16 (local.get $3) (local.get $2) ) @@ -2358,7 +2358,7 @@ (local.get $3) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -2372,7 +2372,7 @@ ) (call $alignfault) ) - (i64.store16 $0 + (i64.store16 (local.get $3) (local.get $2) ) @@ -2396,14 +2396,14 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.store32 $0 align=1 + (i64.store32 align=1 (local.get $3) (local.get $2) ) @@ -2427,7 +2427,7 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -2441,7 +2441,7 @@ ) (call $alignfault) ) - (i64.store32 $0 align=2 + (i64.store32 align=2 (local.get $3) (local.get $2) ) @@ -2465,7 +2465,7 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -2479,7 +2479,7 @@ ) (call $alignfault) ) - (i64.atomic.store32 $0 + (i64.atomic.store32 (local.get $3) (local.get $2) ) @@ -2503,7 +2503,7 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -2517,7 +2517,7 @@ ) (call $alignfault) ) - (i64.store32 $0 + (i64.store32 (local.get $3) (local.get $2) ) @@ -2541,14 +2541,14 @@ (local.get $3) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.store $0 align=1 + (i64.store align=1 (local.get $3) (local.get $2) ) @@ -2572,7 +2572,7 @@ (local.get $3) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -2586,7 +2586,7 @@ ) (call $alignfault) ) - (i64.store $0 align=2 + (i64.store align=2 (local.get $3) (local.get $2) ) @@ -2610,7 +2610,7 @@ (local.get $3) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -2624,7 +2624,7 @@ ) (call $alignfault) ) - (i64.store $0 align=4 + (i64.store align=4 (local.get $3) (local.get $2) ) @@ -2648,7 +2648,7 @@ (local.get $3) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -2662,7 +2662,7 @@ ) (call $alignfault) ) - (i64.atomic.store $0 + (i64.atomic.store (local.get $3) (local.get $2) ) @@ -2686,7 +2686,7 @@ (local.get $3) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -2700,7 +2700,7 @@ ) (call $alignfault) ) - (i64.store $0 + (i64.store (local.get $3) (local.get $2) ) @@ -2724,14 +2724,14 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (f32.store $0 align=1 + (f32.store align=1 (local.get $3) (local.get $2) ) @@ -2755,7 +2755,7 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -2769,7 +2769,7 @@ ) (call $alignfault) ) - (f32.store $0 align=2 + (f32.store align=2 (local.get $3) (local.get $2) ) @@ -2793,7 +2793,7 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -2807,7 +2807,7 @@ ) (call $alignfault) ) - (f32.store $0 + (f32.store (local.get $3) (local.get $2) ) @@ -2831,14 +2831,14 @@ (local.get $3) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (f64.store $0 align=1 + (f64.store align=1 (local.get $3) (local.get $2) ) @@ -2862,7 +2862,7 @@ (local.get $3) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -2876,7 +2876,7 @@ ) (call $alignfault) ) - (f64.store $0 align=2 + (f64.store align=2 (local.get $3) (local.get $2) ) @@ -2900,7 +2900,7 @@ (local.get $3) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -2914,7 +2914,7 @@ ) (call $alignfault) ) - (f64.store $0 align=4 + (f64.store align=4 (local.get $3) (local.get $2) ) @@ -2938,7 +2938,7 @@ (local.get $3) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -2952,7 +2952,7 @@ ) (call $alignfault) ) - (f64.store $0 + (f64.store (local.get $3) (local.get $2) ) @@ -2976,14 +2976,14 @@ (local.get $3) (i32.const 16) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (v128.store $0 align=1 + (v128.store align=1 (local.get $3) (local.get $2) ) @@ -3007,7 +3007,7 @@ (local.get $3) (i32.const 16) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -3021,7 +3021,7 @@ ) (call $alignfault) ) - (v128.store $0 align=2 + (v128.store align=2 (local.get $3) (local.get $2) ) @@ -3045,7 +3045,7 @@ (local.get $3) (i32.const 16) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -3059,7 +3059,7 @@ ) (call $alignfault) ) - (v128.store $0 align=4 + (v128.store align=4 (local.get $3) (local.get $2) ) @@ -3083,7 +3083,7 @@ (local.get $3) (i32.const 16) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -3097,7 +3097,7 @@ ) (call $alignfault) ) - (v128.store $0 align=8 + (v128.store align=8 (local.get $3) (local.get $2) ) @@ -3121,7 +3121,7 @@ (local.get $3) (i32.const 16) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -3135,7 +3135,7 @@ ) (call $alignfault) ) - (v128.store $0 + (v128.store (local.get $3) (local.get $2) ) @@ -3185,14 +3185,14 @@ (local.get $2) (i32.const 1) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load8_s $0 + (i32.load8_s (local.get $2) ) ) @@ -3215,14 +3215,14 @@ (local.get $2) (i32.const 1) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load8_u $0 + (i32.load8_u (local.get $2) ) ) @@ -3245,14 +3245,14 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load16_s $0 align=1 + (i32.load16_s align=1 (local.get $2) ) ) @@ -3275,7 +3275,7 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -3289,7 +3289,7 @@ ) (call $alignfault) ) - (i32.load16_s $0 + (i32.load16_s (local.get $2) ) ) @@ -3312,14 +3312,14 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load16_u $0 align=1 + (i32.load16_u align=1 (local.get $2) ) ) @@ -3342,7 +3342,7 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -3356,7 +3356,7 @@ ) (call $alignfault) ) - (i32.load16_u $0 + (i32.load16_u (local.get $2) ) ) @@ -3379,14 +3379,14 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load $0 align=1 + (i32.load align=1 (local.get $2) ) ) @@ -3409,7 +3409,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -3423,7 +3423,7 @@ ) (call $alignfault) ) - (i32.load $0 align=2 + (i32.load align=2 (local.get $2) ) ) @@ -3446,7 +3446,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -3460,7 +3460,7 @@ ) (call $alignfault) ) - (i32.load $0 + (i32.load (local.get $2) ) ) @@ -3483,14 +3483,14 @@ (local.get $2) (i32.const 1) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load8_s $0 + (i64.load8_s (local.get $2) ) ) @@ -3513,14 +3513,14 @@ (local.get $2) (i32.const 1) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load8_u $0 + (i64.load8_u (local.get $2) ) ) @@ -3543,14 +3543,14 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load16_s $0 align=1 + (i64.load16_s align=1 (local.get $2) ) ) @@ -3573,7 +3573,7 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -3587,7 +3587,7 @@ ) (call $alignfault) ) - (i64.load16_s $0 + (i64.load16_s (local.get $2) ) ) @@ -3610,14 +3610,14 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load16_u $0 align=1 + (i64.load16_u align=1 (local.get $2) ) ) @@ -3640,7 +3640,7 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -3654,7 +3654,7 @@ ) (call $alignfault) ) - (i64.load16_u $0 + (i64.load16_u (local.get $2) ) ) @@ -3677,14 +3677,14 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load32_s $0 align=1 + (i64.load32_s align=1 (local.get $2) ) ) @@ -3707,7 +3707,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -3721,7 +3721,7 @@ ) (call $alignfault) ) - (i64.load32_s $0 align=2 + (i64.load32_s align=2 (local.get $2) ) ) @@ -3744,7 +3744,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -3758,7 +3758,7 @@ ) (call $alignfault) ) - (i64.load32_s $0 + (i64.load32_s (local.get $2) ) ) @@ -3781,14 +3781,14 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load32_u $0 align=1 + (i64.load32_u align=1 (local.get $2) ) ) @@ -3811,7 +3811,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -3825,7 +3825,7 @@ ) (call $alignfault) ) - (i64.load32_u $0 align=2 + (i64.load32_u align=2 (local.get $2) ) ) @@ -3848,7 +3848,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -3862,7 +3862,7 @@ ) (call $alignfault) ) - (i64.load32_u $0 + (i64.load32_u (local.get $2) ) ) @@ -3885,14 +3885,14 @@ (local.get $2) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load $0 align=1 + (i64.load align=1 (local.get $2) ) ) @@ -3915,7 +3915,7 @@ (local.get $2) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -3929,7 +3929,7 @@ ) (call $alignfault) ) - (i64.load $0 align=2 + (i64.load align=2 (local.get $2) ) ) @@ -3952,7 +3952,7 @@ (local.get $2) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -3966,7 +3966,7 @@ ) (call $alignfault) ) - (i64.load $0 align=4 + (i64.load align=4 (local.get $2) ) ) @@ -3989,7 +3989,7 @@ (local.get $2) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -4003,7 +4003,7 @@ ) (call $alignfault) ) - (i64.load $0 + (i64.load (local.get $2) ) ) @@ -4026,14 +4026,14 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (f32.load $0 align=1 + (f32.load align=1 (local.get $2) ) ) @@ -4056,7 +4056,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -4070,7 +4070,7 @@ ) (call $alignfault) ) - (f32.load $0 align=2 + (f32.load align=2 (local.get $2) ) ) @@ -4093,7 +4093,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -4107,7 +4107,7 @@ ) (call $alignfault) ) - (f32.load $0 + (f32.load (local.get $2) ) ) @@ -4130,14 +4130,14 @@ (local.get $2) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (f64.load $0 align=1 + (f64.load align=1 (local.get $2) ) ) @@ -4160,7 +4160,7 @@ (local.get $2) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -4174,7 +4174,7 @@ ) (call $alignfault) ) - (f64.load $0 align=2 + (f64.load align=2 (local.get $2) ) ) @@ -4197,7 +4197,7 @@ (local.get $2) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -4211,7 +4211,7 @@ ) (call $alignfault) ) - (f64.load $0 align=4 + (f64.load align=4 (local.get $2) ) ) @@ -4234,7 +4234,7 @@ (local.get $2) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -4248,7 +4248,7 @@ ) (call $alignfault) ) - (f64.load $0 + (f64.load (local.get $2) ) ) @@ -4271,14 +4271,14 @@ (local.get $2) (i32.const 16) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (v128.load $0 align=1 + (v128.load align=1 (local.get $2) ) ) @@ -4301,7 +4301,7 @@ (local.get $2) (i32.const 16) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -4315,7 +4315,7 @@ ) (call $alignfault) ) - (v128.load $0 align=2 + (v128.load align=2 (local.get $2) ) ) @@ -4338,7 +4338,7 @@ (local.get $2) (i32.const 16) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -4352,7 +4352,7 @@ ) (call $alignfault) ) - (v128.load $0 align=4 + (v128.load align=4 (local.get $2) ) ) @@ -4375,7 +4375,7 @@ (local.get $2) (i32.const 16) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -4389,7 +4389,7 @@ ) (call $alignfault) ) - (v128.load $0 align=8 + (v128.load align=8 (local.get $2) ) ) @@ -4412,7 +4412,7 @@ (local.get $2) (i32.const 16) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -4426,7 +4426,7 @@ ) (call $alignfault) ) - (v128.load $0 + (v128.load (local.get $2) ) ) @@ -4449,14 +4449,14 @@ (local.get $3) (i32.const 1) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.store8 $0 + (i32.store8 (local.get $3) (local.get $2) ) @@ -4480,14 +4480,14 @@ (local.get $3) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.store16 $0 align=1 + (i32.store16 align=1 (local.get $3) (local.get $2) ) @@ -4511,7 +4511,7 @@ (local.get $3) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -4525,7 +4525,7 @@ ) (call $alignfault) ) - (i32.store16 $0 + (i32.store16 (local.get $3) (local.get $2) ) @@ -4549,14 +4549,14 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.store $0 align=1 + (i32.store align=1 (local.get $3) (local.get $2) ) @@ -4580,7 +4580,7 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -4594,7 +4594,7 @@ ) (call $alignfault) ) - (i32.store $0 align=2 + (i32.store align=2 (local.get $3) (local.get $2) ) @@ -4618,7 +4618,7 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -4632,7 +4632,7 @@ ) (call $alignfault) ) - (i32.store $0 + (i32.store (local.get $3) (local.get $2) ) @@ -4656,14 +4656,14 @@ (local.get $3) (i32.const 1) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.store8 $0 + (i64.store8 (local.get $3) (local.get $2) ) @@ -4687,14 +4687,14 @@ (local.get $3) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.store16 $0 align=1 + (i64.store16 align=1 (local.get $3) (local.get $2) ) @@ -4718,7 +4718,7 @@ (local.get $3) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -4732,7 +4732,7 @@ ) (call $alignfault) ) - (i64.store16 $0 + (i64.store16 (local.get $3) (local.get $2) ) @@ -4756,14 +4756,14 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.store32 $0 align=1 + (i64.store32 align=1 (local.get $3) (local.get $2) ) @@ -4787,7 +4787,7 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -4801,7 +4801,7 @@ ) (call $alignfault) ) - (i64.store32 $0 align=2 + (i64.store32 align=2 (local.get $3) (local.get $2) ) @@ -4825,7 +4825,7 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -4839,7 +4839,7 @@ ) (call $alignfault) ) - (i64.store32 $0 + (i64.store32 (local.get $3) (local.get $2) ) @@ -4863,14 +4863,14 @@ (local.get $3) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.store $0 align=1 + (i64.store align=1 (local.get $3) (local.get $2) ) @@ -4894,7 +4894,7 @@ (local.get $3) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -4908,7 +4908,7 @@ ) (call $alignfault) ) - (i64.store $0 align=2 + (i64.store align=2 (local.get $3) (local.get $2) ) @@ -4932,7 +4932,7 @@ (local.get $3) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -4946,7 +4946,7 @@ ) (call $alignfault) ) - (i64.store $0 align=4 + (i64.store align=4 (local.get $3) (local.get $2) ) @@ -4970,7 +4970,7 @@ (local.get $3) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -4984,7 +4984,7 @@ ) (call $alignfault) ) - (i64.store $0 + (i64.store (local.get $3) (local.get $2) ) @@ -5008,14 +5008,14 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (f32.store $0 align=1 + (f32.store align=1 (local.get $3) (local.get $2) ) @@ -5039,7 +5039,7 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -5053,7 +5053,7 @@ ) (call $alignfault) ) - (f32.store $0 align=2 + (f32.store align=2 (local.get $3) (local.get $2) ) @@ -5077,7 +5077,7 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -5091,7 +5091,7 @@ ) (call $alignfault) ) - (f32.store $0 + (f32.store (local.get $3) (local.get $2) ) @@ -5115,14 +5115,14 @@ (local.get $3) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (f64.store $0 align=1 + (f64.store align=1 (local.get $3) (local.get $2) ) @@ -5146,7 +5146,7 @@ (local.get $3) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -5160,7 +5160,7 @@ ) (call $alignfault) ) - (f64.store $0 align=2 + (f64.store align=2 (local.get $3) (local.get $2) ) @@ -5184,7 +5184,7 @@ (local.get $3) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -5198,7 +5198,7 @@ ) (call $alignfault) ) - (f64.store $0 align=4 + (f64.store align=4 (local.get $3) (local.get $2) ) @@ -5222,7 +5222,7 @@ (local.get $3) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -5236,7 +5236,7 @@ ) (call $alignfault) ) - (f64.store $0 + (f64.store (local.get $3) (local.get $2) ) @@ -5260,14 +5260,14 @@ (local.get $3) (i32.const 16) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (v128.store $0 align=1 + (v128.store align=1 (local.get $3) (local.get $2) ) @@ -5291,7 +5291,7 @@ (local.get $3) (i32.const 16) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -5305,7 +5305,7 @@ ) (call $alignfault) ) - (v128.store $0 align=2 + (v128.store align=2 (local.get $3) (local.get $2) ) @@ -5329,7 +5329,7 @@ (local.get $3) (i32.const 16) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -5343,7 +5343,7 @@ ) (call $alignfault) ) - (v128.store $0 align=4 + (v128.store align=4 (local.get $3) (local.get $2) ) @@ -5367,7 +5367,7 @@ (local.get $3) (i32.const 16) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -5381,7 +5381,7 @@ ) (call $alignfault) ) - (v128.store $0 align=8 + (v128.store align=8 (local.get $3) (local.get $2) ) @@ -5405,7 +5405,7 @@ (local.get $3) (i32.const 16) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -5419,7 +5419,7 @@ ) (call $alignfault) ) - (v128.store $0 + (v128.store (local.get $3) (local.get $2) ) @@ -5474,7 +5474,7 @@ (local.get $2) (i32.const 1) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -5483,7 +5483,7 @@ ) (i32.shr_s (i32.shl - (i32.atomic.load8_u $0 + (i32.atomic.load8_u (local.get $2) ) (i32.const 24) @@ -5510,14 +5510,14 @@ (local.get $2) (i32.const 1) ) - (i32.load $0 + (i32.load (call $foo) ) ) ) (call $segfault) ) - (i32.load8_s $0 + (i32.load8_s (local.get $2) ) ) @@ -5540,14 +5540,14 @@ (local.get $2) (i32.const 1) ) - (i32.load $0 + (i32.load (call $foo) ) ) ) (call $segfault) ) - (i32.atomic.load8_u $0 + (i32.atomic.load8_u (local.get $2) ) ) @@ -5570,14 +5570,14 @@ (local.get $2) (i32.const 1) ) - (i32.load $0 + (i32.load (call $foo) ) ) ) (call $segfault) ) - (i32.load8_u $0 + (i32.load8_u (local.get $2) ) ) @@ -5600,14 +5600,14 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $foo) ) ) ) (call $segfault) ) - (i32.load16_s $0 align=1 + (i32.load16_s align=1 (local.get $2) ) ) @@ -5630,7 +5630,7 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -5646,7 +5646,7 @@ ) (i32.shr_s (i32.shl - (i32.atomic.load16_u $0 + (i32.atomic.load16_u (local.get $2) ) (i32.const 16) @@ -5673,7 +5673,7 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -5687,7 +5687,7 @@ ) (call $alignfault) ) - (i32.load16_s $0 + (i32.load16_s (local.get $2) ) ) @@ -5710,14 +5710,14 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $foo) ) ) ) (call $segfault) ) - (i32.load16_u $0 align=1 + (i32.load16_u align=1 (local.get $2) ) ) @@ -5740,7 +5740,7 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -5754,7 +5754,7 @@ ) (call $alignfault) ) - (i32.atomic.load16_u $0 + (i32.atomic.load16_u (local.get $2) ) ) @@ -5777,7 +5777,7 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -5791,7 +5791,7 @@ ) (call $alignfault) ) - (i32.load16_u $0 + (i32.load16_u (local.get $2) ) ) @@ -5814,14 +5814,14 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $foo) ) ) ) (call $segfault) ) - (i32.load $0 align=1 + (i32.load align=1 (local.get $2) ) ) @@ -5844,7 +5844,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -5858,7 +5858,7 @@ ) (call $alignfault) ) - (i32.load $0 align=2 + (i32.load align=2 (local.get $2) ) ) @@ -5881,7 +5881,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -5895,7 +5895,7 @@ ) (call $alignfault) ) - (i32.atomic.load $0 + (i32.atomic.load (local.get $2) ) ) @@ -5918,7 +5918,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -5932,7 +5932,7 @@ ) (call $alignfault) ) - (i32.load $0 + (i32.load (local.get $2) ) ) @@ -5955,7 +5955,7 @@ (local.get $2) (i32.const 1) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -5964,7 +5964,7 @@ ) (i64.shr_s (i64.shl - (i64.atomic.load8_u $0 + (i64.atomic.load8_u (local.get $2) ) (i64.const 56) @@ -5991,14 +5991,14 @@ (local.get $2) (i32.const 1) ) - (i32.load $0 + (i32.load (call $foo) ) ) ) (call $segfault) ) - (i64.load8_s $0 + (i64.load8_s (local.get $2) ) ) @@ -6021,14 +6021,14 @@ (local.get $2) (i32.const 1) ) - (i32.load $0 + (i32.load (call $foo) ) ) ) (call $segfault) ) - (i64.atomic.load8_u $0 + (i64.atomic.load8_u (local.get $2) ) ) @@ -6051,14 +6051,14 @@ (local.get $2) (i32.const 1) ) - (i32.load $0 + (i32.load (call $foo) ) ) ) (call $segfault) ) - (i64.load8_u $0 + (i64.load8_u (local.get $2) ) ) @@ -6081,14 +6081,14 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $foo) ) ) ) (call $segfault) ) - (i64.load16_s $0 align=1 + (i64.load16_s align=1 (local.get $2) ) ) @@ -6111,7 +6111,7 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -6127,7 +6127,7 @@ ) (i64.shr_s (i64.shl - (i64.atomic.load16_u $0 + (i64.atomic.load16_u (local.get $2) ) (i64.const 48) @@ -6154,7 +6154,7 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -6168,7 +6168,7 @@ ) (call $alignfault) ) - (i64.load16_s $0 + (i64.load16_s (local.get $2) ) ) @@ -6191,14 +6191,14 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $foo) ) ) ) (call $segfault) ) - (i64.load16_u $0 align=1 + (i64.load16_u align=1 (local.get $2) ) ) @@ -6221,7 +6221,7 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -6235,7 +6235,7 @@ ) (call $alignfault) ) - (i64.atomic.load16_u $0 + (i64.atomic.load16_u (local.get $2) ) ) @@ -6258,7 +6258,7 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -6272,7 +6272,7 @@ ) (call $alignfault) ) - (i64.load16_u $0 + (i64.load16_u (local.get $2) ) ) @@ -6295,14 +6295,14 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $foo) ) ) ) (call $segfault) ) - (i64.load32_s $0 align=1 + (i64.load32_s align=1 (local.get $2) ) ) @@ -6325,7 +6325,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -6339,7 +6339,7 @@ ) (call $alignfault) ) - (i64.load32_s $0 align=2 + (i64.load32_s align=2 (local.get $2) ) ) @@ -6362,7 +6362,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -6378,7 +6378,7 @@ ) (i64.shr_s (i64.shl - (i64.atomic.load32_u $0 + (i64.atomic.load32_u (local.get $2) ) (i64.const 32) @@ -6405,7 +6405,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -6419,7 +6419,7 @@ ) (call $alignfault) ) - (i64.load32_s $0 + (i64.load32_s (local.get $2) ) ) @@ -6442,14 +6442,14 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $foo) ) ) ) (call $segfault) ) - (i64.load32_u $0 align=1 + (i64.load32_u align=1 (local.get $2) ) ) @@ -6472,7 +6472,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -6486,7 +6486,7 @@ ) (call $alignfault) ) - (i64.load32_u $0 align=2 + (i64.load32_u align=2 (local.get $2) ) ) @@ -6509,7 +6509,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -6523,7 +6523,7 @@ ) (call $alignfault) ) - (i64.atomic.load32_u $0 + (i64.atomic.load32_u (local.get $2) ) ) @@ -6546,7 +6546,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -6560,7 +6560,7 @@ ) (call $alignfault) ) - (i64.load32_u $0 + (i64.load32_u (local.get $2) ) ) @@ -6583,14 +6583,14 @@ (local.get $2) (i32.const 8) ) - (i32.load $0 + (i32.load (call $foo) ) ) ) (call $segfault) ) - (i64.load $0 align=1 + (i64.load align=1 (local.get $2) ) ) @@ -6613,7 +6613,7 @@ (local.get $2) (i32.const 8) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -6627,7 +6627,7 @@ ) (call $alignfault) ) - (i64.load $0 align=2 + (i64.load align=2 (local.get $2) ) ) @@ -6650,7 +6650,7 @@ (local.get $2) (i32.const 8) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -6664,7 +6664,7 @@ ) (call $alignfault) ) - (i64.load $0 align=4 + (i64.load align=4 (local.get $2) ) ) @@ -6687,7 +6687,7 @@ (local.get $2) (i32.const 8) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -6701,7 +6701,7 @@ ) (call $alignfault) ) - (i64.atomic.load $0 + (i64.atomic.load (local.get $2) ) ) @@ -6724,7 +6724,7 @@ (local.get $2) (i32.const 8) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -6738,7 +6738,7 @@ ) (call $alignfault) ) - (i64.load $0 + (i64.load (local.get $2) ) ) @@ -6761,14 +6761,14 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $foo) ) ) ) (call $segfault) ) - (f32.load $0 align=1 + (f32.load align=1 (local.get $2) ) ) @@ -6791,7 +6791,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -6805,7 +6805,7 @@ ) (call $alignfault) ) - (f32.load $0 align=2 + (f32.load align=2 (local.get $2) ) ) @@ -6828,7 +6828,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -6842,7 +6842,7 @@ ) (call $alignfault) ) - (f32.load $0 + (f32.load (local.get $2) ) ) @@ -6865,14 +6865,14 @@ (local.get $2) (i32.const 8) ) - (i32.load $0 + (i32.load (call $foo) ) ) ) (call $segfault) ) - (f64.load $0 align=1 + (f64.load align=1 (local.get $2) ) ) @@ -6895,7 +6895,7 @@ (local.get $2) (i32.const 8) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -6909,7 +6909,7 @@ ) (call $alignfault) ) - (f64.load $0 align=2 + (f64.load align=2 (local.get $2) ) ) @@ -6932,7 +6932,7 @@ (local.get $2) (i32.const 8) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -6946,7 +6946,7 @@ ) (call $alignfault) ) - (f64.load $0 align=4 + (f64.load align=4 (local.get $2) ) ) @@ -6969,7 +6969,7 @@ (local.get $2) (i32.const 8) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -6983,7 +6983,7 @@ ) (call $alignfault) ) - (f64.load $0 + (f64.load (local.get $2) ) ) @@ -7006,14 +7006,14 @@ (local.get $2) (i32.const 16) ) - (i32.load $0 + (i32.load (call $foo) ) ) ) (call $segfault) ) - (v128.load $0 align=1 + (v128.load align=1 (local.get $2) ) ) @@ -7036,7 +7036,7 @@ (local.get $2) (i32.const 16) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -7050,7 +7050,7 @@ ) (call $alignfault) ) - (v128.load $0 align=2 + (v128.load align=2 (local.get $2) ) ) @@ -7073,7 +7073,7 @@ (local.get $2) (i32.const 16) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -7087,7 +7087,7 @@ ) (call $alignfault) ) - (v128.load $0 align=4 + (v128.load align=4 (local.get $2) ) ) @@ -7110,7 +7110,7 @@ (local.get $2) (i32.const 16) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -7124,7 +7124,7 @@ ) (call $alignfault) ) - (v128.load $0 align=8 + (v128.load align=8 (local.get $2) ) ) @@ -7147,7 +7147,7 @@ (local.get $2) (i32.const 16) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -7161,7 +7161,7 @@ ) (call $alignfault) ) - (v128.load $0 + (v128.load (local.get $2) ) ) @@ -7184,14 +7184,14 @@ (local.get $3) (i32.const 1) ) - (i32.load $0 + (i32.load (call $foo) ) ) ) (call $segfault) ) - (i32.atomic.store8 $0 + (i32.atomic.store8 (local.get $3) (local.get $2) ) @@ -7215,14 +7215,14 @@ (local.get $3) (i32.const 1) ) - (i32.load $0 + (i32.load (call $foo) ) ) ) (call $segfault) ) - (i32.store8 $0 + (i32.store8 (local.get $3) (local.get $2) ) @@ -7246,14 +7246,14 @@ (local.get $3) (i32.const 2) ) - (i32.load $0 + (i32.load (call $foo) ) ) ) (call $segfault) ) - (i32.store16 $0 align=1 + (i32.store16 align=1 (local.get $3) (local.get $2) ) @@ -7277,7 +7277,7 @@ (local.get $3) (i32.const 2) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -7291,7 +7291,7 @@ ) (call $alignfault) ) - (i32.atomic.store16 $0 + (i32.atomic.store16 (local.get $3) (local.get $2) ) @@ -7315,7 +7315,7 @@ (local.get $3) (i32.const 2) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -7329,7 +7329,7 @@ ) (call $alignfault) ) - (i32.store16 $0 + (i32.store16 (local.get $3) (local.get $2) ) @@ -7353,14 +7353,14 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $foo) ) ) ) (call $segfault) ) - (i32.store $0 align=1 + (i32.store align=1 (local.get $3) (local.get $2) ) @@ -7384,7 +7384,7 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -7398,7 +7398,7 @@ ) (call $alignfault) ) - (i32.store $0 align=2 + (i32.store align=2 (local.get $3) (local.get $2) ) @@ -7422,7 +7422,7 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -7436,7 +7436,7 @@ ) (call $alignfault) ) - (i32.atomic.store $0 + (i32.atomic.store (local.get $3) (local.get $2) ) @@ -7460,7 +7460,7 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -7474,7 +7474,7 @@ ) (call $alignfault) ) - (i32.store $0 + (i32.store (local.get $3) (local.get $2) ) @@ -7498,14 +7498,14 @@ (local.get $3) (i32.const 1) ) - (i32.load $0 + (i32.load (call $foo) ) ) ) (call $segfault) ) - (i64.atomic.store8 $0 + (i64.atomic.store8 (local.get $3) (local.get $2) ) @@ -7529,14 +7529,14 @@ (local.get $3) (i32.const 1) ) - (i32.load $0 + (i32.load (call $foo) ) ) ) (call $segfault) ) - (i64.store8 $0 + (i64.store8 (local.get $3) (local.get $2) ) @@ -7560,14 +7560,14 @@ (local.get $3) (i32.const 2) ) - (i32.load $0 + (i32.load (call $foo) ) ) ) (call $segfault) ) - (i64.store16 $0 align=1 + (i64.store16 align=1 (local.get $3) (local.get $2) ) @@ -7591,7 +7591,7 @@ (local.get $3) (i32.const 2) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -7605,7 +7605,7 @@ ) (call $alignfault) ) - (i64.atomic.store16 $0 + (i64.atomic.store16 (local.get $3) (local.get $2) ) @@ -7629,7 +7629,7 @@ (local.get $3) (i32.const 2) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -7643,7 +7643,7 @@ ) (call $alignfault) ) - (i64.store16 $0 + (i64.store16 (local.get $3) (local.get $2) ) @@ -7667,14 +7667,14 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $foo) ) ) ) (call $segfault) ) - (i64.store32 $0 align=1 + (i64.store32 align=1 (local.get $3) (local.get $2) ) @@ -7698,7 +7698,7 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -7712,7 +7712,7 @@ ) (call $alignfault) ) - (i64.store32 $0 align=2 + (i64.store32 align=2 (local.get $3) (local.get $2) ) @@ -7736,7 +7736,7 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -7750,7 +7750,7 @@ ) (call $alignfault) ) - (i64.atomic.store32 $0 + (i64.atomic.store32 (local.get $3) (local.get $2) ) @@ -7774,7 +7774,7 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -7788,7 +7788,7 @@ ) (call $alignfault) ) - (i64.store32 $0 + (i64.store32 (local.get $3) (local.get $2) ) @@ -7812,14 +7812,14 @@ (local.get $3) (i32.const 8) ) - (i32.load $0 + (i32.load (call $foo) ) ) ) (call $segfault) ) - (i64.store $0 align=1 + (i64.store align=1 (local.get $3) (local.get $2) ) @@ -7843,7 +7843,7 @@ (local.get $3) (i32.const 8) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -7857,7 +7857,7 @@ ) (call $alignfault) ) - (i64.store $0 align=2 + (i64.store align=2 (local.get $3) (local.get $2) ) @@ -7881,7 +7881,7 @@ (local.get $3) (i32.const 8) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -7895,7 +7895,7 @@ ) (call $alignfault) ) - (i64.store $0 align=4 + (i64.store align=4 (local.get $3) (local.get $2) ) @@ -7919,7 +7919,7 @@ (local.get $3) (i32.const 8) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -7933,7 +7933,7 @@ ) (call $alignfault) ) - (i64.atomic.store $0 + (i64.atomic.store (local.get $3) (local.get $2) ) @@ -7957,7 +7957,7 @@ (local.get $3) (i32.const 8) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -7971,7 +7971,7 @@ ) (call $alignfault) ) - (i64.store $0 + (i64.store (local.get $3) (local.get $2) ) @@ -7995,14 +7995,14 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $foo) ) ) ) (call $segfault) ) - (f32.store $0 align=1 + (f32.store align=1 (local.get $3) (local.get $2) ) @@ -8026,7 +8026,7 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -8040,7 +8040,7 @@ ) (call $alignfault) ) - (f32.store $0 align=2 + (f32.store align=2 (local.get $3) (local.get $2) ) @@ -8064,7 +8064,7 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -8078,7 +8078,7 @@ ) (call $alignfault) ) - (f32.store $0 + (f32.store (local.get $3) (local.get $2) ) @@ -8102,14 +8102,14 @@ (local.get $3) (i32.const 8) ) - (i32.load $0 + (i32.load (call $foo) ) ) ) (call $segfault) ) - (f64.store $0 align=1 + (f64.store align=1 (local.get $3) (local.get $2) ) @@ -8133,7 +8133,7 @@ (local.get $3) (i32.const 8) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -8147,7 +8147,7 @@ ) (call $alignfault) ) - (f64.store $0 align=2 + (f64.store align=2 (local.get $3) (local.get $2) ) @@ -8171,7 +8171,7 @@ (local.get $3) (i32.const 8) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -8185,7 +8185,7 @@ ) (call $alignfault) ) - (f64.store $0 align=4 + (f64.store align=4 (local.get $3) (local.get $2) ) @@ -8209,7 +8209,7 @@ (local.get $3) (i32.const 8) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -8223,7 +8223,7 @@ ) (call $alignfault) ) - (f64.store $0 + (f64.store (local.get $3) (local.get $2) ) @@ -8247,14 +8247,14 @@ (local.get $3) (i32.const 16) ) - (i32.load $0 + (i32.load (call $foo) ) ) ) (call $segfault) ) - (v128.store $0 align=1 + (v128.store align=1 (local.get $3) (local.get $2) ) @@ -8278,7 +8278,7 @@ (local.get $3) (i32.const 16) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -8292,7 +8292,7 @@ ) (call $alignfault) ) - (v128.store $0 align=2 + (v128.store align=2 (local.get $3) (local.get $2) ) @@ -8316,7 +8316,7 @@ (local.get $3) (i32.const 16) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -8330,7 +8330,7 @@ ) (call $alignfault) ) - (v128.store $0 align=4 + (v128.store align=4 (local.get $3) (local.get $2) ) @@ -8354,7 +8354,7 @@ (local.get $3) (i32.const 16) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -8368,7 +8368,7 @@ ) (call $alignfault) ) - (v128.store $0 align=8 + (v128.store align=8 (local.get $3) (local.get $2) ) @@ -8392,7 +8392,7 @@ (local.get $3) (i32.const 16) ) - (i32.load $0 + (i32.load (call $foo) ) ) @@ -8406,7 +8406,7 @@ ) (call $alignfault) ) - (v128.store $0 + (v128.store (local.get $3) (local.get $2) ) diff --git a/test/passes/safe-heap_start-function.txt b/test/passes/safe-heap_start-function.txt index 26b915bcb65..7670530cc84 100644 --- a/test/passes/safe-heap_start-function.txt +++ b/test/passes/safe-heap_start-function.txt @@ -15,8 +15,8 @@ (memory $0 1 1) (start $mystart) (func $mystart - (i32.store $0 - (i32.load $0 + (i32.store + (i32.load (i32.const 42) ) (i32.const 43) @@ -24,8 +24,8 @@ (call $foo) ) (func $foo - (i32.store $0 - (i32.load $0 + (i32.store + (i32.load (i32.const 1234) ) (i32.const 5678) @@ -33,8 +33,8 @@ (call $foo2) ) (func $foo2 - (i32.store $0 - (i32.load $0 + (i32.store + (i32.load (i32.const 98) ) (i32.const 99) @@ -69,14 +69,14 @@ (local.get $2) (i32.const 1) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load8_s $0 + (i32.load8_s (local.get $2) ) ) @@ -99,14 +99,14 @@ (local.get $2) (i32.const 1) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load8_u $0 + (i32.load8_u (local.get $2) ) ) @@ -129,14 +129,14 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load16_s $0 align=1 + (i32.load16_s align=1 (local.get $2) ) ) @@ -159,7 +159,7 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -173,7 +173,7 @@ ) (call $alignfault) ) - (i32.load16_s $0 + (i32.load16_s (local.get $2) ) ) @@ -196,14 +196,14 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load16_u $0 align=1 + (i32.load16_u align=1 (local.get $2) ) ) @@ -226,7 +226,7 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -240,7 +240,7 @@ ) (call $alignfault) ) - (i32.load16_u $0 + (i32.load16_u (local.get $2) ) ) @@ -263,14 +263,14 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.load $0 align=1 + (i32.load align=1 (local.get $2) ) ) @@ -293,7 +293,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -307,7 +307,7 @@ ) (call $alignfault) ) - (i32.load $0 align=2 + (i32.load align=2 (local.get $2) ) ) @@ -330,7 +330,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -344,7 +344,7 @@ ) (call $alignfault) ) - (i32.load $0 + (i32.load (local.get $2) ) ) @@ -367,14 +367,14 @@ (local.get $2) (i32.const 1) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load8_s $0 + (i64.load8_s (local.get $2) ) ) @@ -397,14 +397,14 @@ (local.get $2) (i32.const 1) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load8_u $0 + (i64.load8_u (local.get $2) ) ) @@ -427,14 +427,14 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load16_s $0 align=1 + (i64.load16_s align=1 (local.get $2) ) ) @@ -457,7 +457,7 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -471,7 +471,7 @@ ) (call $alignfault) ) - (i64.load16_s $0 + (i64.load16_s (local.get $2) ) ) @@ -494,14 +494,14 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load16_u $0 align=1 + (i64.load16_u align=1 (local.get $2) ) ) @@ -524,7 +524,7 @@ (local.get $2) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -538,7 +538,7 @@ ) (call $alignfault) ) - (i64.load16_u $0 + (i64.load16_u (local.get $2) ) ) @@ -561,14 +561,14 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load32_s $0 align=1 + (i64.load32_s align=1 (local.get $2) ) ) @@ -591,7 +591,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -605,7 +605,7 @@ ) (call $alignfault) ) - (i64.load32_s $0 align=2 + (i64.load32_s align=2 (local.get $2) ) ) @@ -628,7 +628,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -642,7 +642,7 @@ ) (call $alignfault) ) - (i64.load32_s $0 + (i64.load32_s (local.get $2) ) ) @@ -665,14 +665,14 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load32_u $0 align=1 + (i64.load32_u align=1 (local.get $2) ) ) @@ -695,7 +695,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -709,7 +709,7 @@ ) (call $alignfault) ) - (i64.load32_u $0 align=2 + (i64.load32_u align=2 (local.get $2) ) ) @@ -732,7 +732,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -746,7 +746,7 @@ ) (call $alignfault) ) - (i64.load32_u $0 + (i64.load32_u (local.get $2) ) ) @@ -769,14 +769,14 @@ (local.get $2) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.load $0 align=1 + (i64.load align=1 (local.get $2) ) ) @@ -799,7 +799,7 @@ (local.get $2) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -813,7 +813,7 @@ ) (call $alignfault) ) - (i64.load $0 align=2 + (i64.load align=2 (local.get $2) ) ) @@ -836,7 +836,7 @@ (local.get $2) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -850,7 +850,7 @@ ) (call $alignfault) ) - (i64.load $0 align=4 + (i64.load align=4 (local.get $2) ) ) @@ -873,7 +873,7 @@ (local.get $2) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -887,7 +887,7 @@ ) (call $alignfault) ) - (i64.load $0 + (i64.load (local.get $2) ) ) @@ -910,14 +910,14 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (f32.load $0 align=1 + (f32.load align=1 (local.get $2) ) ) @@ -940,7 +940,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -954,7 +954,7 @@ ) (call $alignfault) ) - (f32.load $0 align=2 + (f32.load align=2 (local.get $2) ) ) @@ -977,7 +977,7 @@ (local.get $2) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -991,7 +991,7 @@ ) (call $alignfault) ) - (f32.load $0 + (f32.load (local.get $2) ) ) @@ -1014,14 +1014,14 @@ (local.get $2) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (f64.load $0 align=1 + (f64.load align=1 (local.get $2) ) ) @@ -1044,7 +1044,7 @@ (local.get $2) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1058,7 +1058,7 @@ ) (call $alignfault) ) - (f64.load $0 align=2 + (f64.load align=2 (local.get $2) ) ) @@ -1081,7 +1081,7 @@ (local.get $2) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1095,7 +1095,7 @@ ) (call $alignfault) ) - (f64.load $0 align=4 + (f64.load align=4 (local.get $2) ) ) @@ -1118,7 +1118,7 @@ (local.get $2) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1132,7 +1132,7 @@ ) (call $alignfault) ) - (f64.load $0 + (f64.load (local.get $2) ) ) @@ -1155,14 +1155,14 @@ (local.get $3) (i32.const 1) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.store8 $0 + (i32.store8 (local.get $3) (local.get $2) ) @@ -1186,14 +1186,14 @@ (local.get $3) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.store16 $0 align=1 + (i32.store16 align=1 (local.get $3) (local.get $2) ) @@ -1217,7 +1217,7 @@ (local.get $3) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1231,7 +1231,7 @@ ) (call $alignfault) ) - (i32.store16 $0 + (i32.store16 (local.get $3) (local.get $2) ) @@ -1255,14 +1255,14 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i32.store $0 align=1 + (i32.store align=1 (local.get $3) (local.get $2) ) @@ -1286,7 +1286,7 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1300,7 +1300,7 @@ ) (call $alignfault) ) - (i32.store $0 align=2 + (i32.store align=2 (local.get $3) (local.get $2) ) @@ -1324,7 +1324,7 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1338,7 +1338,7 @@ ) (call $alignfault) ) - (i32.store $0 + (i32.store (local.get $3) (local.get $2) ) @@ -1362,14 +1362,14 @@ (local.get $3) (i32.const 1) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.store8 $0 + (i64.store8 (local.get $3) (local.get $2) ) @@ -1393,14 +1393,14 @@ (local.get $3) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.store16 $0 align=1 + (i64.store16 align=1 (local.get $3) (local.get $2) ) @@ -1424,7 +1424,7 @@ (local.get $3) (i32.const 2) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1438,7 +1438,7 @@ ) (call $alignfault) ) - (i64.store16 $0 + (i64.store16 (local.get $3) (local.get $2) ) @@ -1462,14 +1462,14 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.store32 $0 align=1 + (i64.store32 align=1 (local.get $3) (local.get $2) ) @@ -1493,7 +1493,7 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1507,7 +1507,7 @@ ) (call $alignfault) ) - (i64.store32 $0 align=2 + (i64.store32 align=2 (local.get $3) (local.get $2) ) @@ -1531,7 +1531,7 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1545,7 +1545,7 @@ ) (call $alignfault) ) - (i64.store32 $0 + (i64.store32 (local.get $3) (local.get $2) ) @@ -1569,14 +1569,14 @@ (local.get $3) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (i64.store $0 align=1 + (i64.store align=1 (local.get $3) (local.get $2) ) @@ -1600,7 +1600,7 @@ (local.get $3) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1614,7 +1614,7 @@ ) (call $alignfault) ) - (i64.store $0 align=2 + (i64.store align=2 (local.get $3) (local.get $2) ) @@ -1638,7 +1638,7 @@ (local.get $3) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1652,7 +1652,7 @@ ) (call $alignfault) ) - (i64.store $0 align=4 + (i64.store align=4 (local.get $3) (local.get $2) ) @@ -1676,7 +1676,7 @@ (local.get $3) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1690,7 +1690,7 @@ ) (call $alignfault) ) - (i64.store $0 + (i64.store (local.get $3) (local.get $2) ) @@ -1714,14 +1714,14 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (f32.store $0 align=1 + (f32.store align=1 (local.get $3) (local.get $2) ) @@ -1745,7 +1745,7 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1759,7 +1759,7 @@ ) (call $alignfault) ) - (f32.store $0 align=2 + (f32.store align=2 (local.get $3) (local.get $2) ) @@ -1783,7 +1783,7 @@ (local.get $3) (i32.const 4) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1797,7 +1797,7 @@ ) (call $alignfault) ) - (f32.store $0 + (f32.store (local.get $3) (local.get $2) ) @@ -1821,14 +1821,14 @@ (local.get $3) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) ) (call $segfault) ) - (f64.store $0 align=1 + (f64.store align=1 (local.get $3) (local.get $2) ) @@ -1852,7 +1852,7 @@ (local.get $3) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1866,7 +1866,7 @@ ) (call $alignfault) ) - (f64.store $0 align=2 + (f64.store align=2 (local.get $3) (local.get $2) ) @@ -1890,7 +1890,7 @@ (local.get $3) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1904,7 +1904,7 @@ ) (call $alignfault) ) - (f64.store $0 align=4 + (f64.store align=4 (local.get $3) (local.get $2) ) @@ -1928,7 +1928,7 @@ (local.get $3) (i32.const 8) ) - (i32.load $0 + (i32.load (call $emscripten_get_sbrk_ptr) ) ) @@ -1942,7 +1942,7 @@ ) (call $alignfault) ) - (f64.store $0 + (f64.store (local.get $3) (local.get $2) ) diff --git a/test/passes/simplify-locals-nostructure.txt b/test/passes/simplify-locals-nostructure.txt index 3d9a1305e46..2293f1147b2 100644 --- a/test/passes/simplify-locals-nostructure.txt +++ b/test/passes/simplify-locals-nostructure.txt @@ -75,7 +75,7 @@ (f64.const -nan:0xfffffffffffc3) ) ) - (f32.store $0 align=1 + (f32.store align=1 (i32.const 22) (f32.const 154) ) @@ -105,12 +105,12 @@ (func $multi-pass-get-equivs-right (param $var$0 i32) (param $var$1 i32) (result f64) (local $var$2 i32) (nop) - (i32.store $0 + (i32.store (local.get $var$0) (i32.const 1) ) (f64.promote_f32 - (f32.load $0 + (f32.load (local.get $var$0) ) ) diff --git a/test/passes/simplify-locals_all-features.txt b/test/passes/simplify-locals_all-features.txt index bdcedd0d8d8..0c25ea54bc9 100644 --- a/test/passes/simplify-locals_all-features.txt +++ b/test/passes/simplify-locals_all-features.txt @@ -183,7 +183,7 @@ (nop) (nop) (drop - (i32.load $0 + (i32.load (i32.const 24) ) ) @@ -201,7 +201,7 @@ ) (nop) (nop) - (i32.store $0 + (i32.store (i32.const 48) (i32.const 96) ) @@ -230,7 +230,7 @@ (call $waka_int) ) (drop - (i32.load $0 + (i32.load (i32.const 1) ) ) @@ -241,7 +241,7 @@ (local.set $a (call $waka_int) ) - (i32.store $0 + (i32.store (i32.const 1) (i32.const 2) ) @@ -251,25 +251,25 @@ (call $waka) (nop) (local.set $a - (i32.load $0 + (i32.load (i32.const 100) ) ) (call $waka) (nop) (drop - (i32.load $0 + (i32.load (i32.const 1) ) ) (local.set $a - (i32.load $0 + (i32.load (i32.const 101) ) ) (call $waka) (local.set $a - (i32.load $0 + (i32.load (i32.const 102) ) ) @@ -279,11 +279,11 @@ ) (call $waka) (local.set $a - (i32.load $0 + (i32.load (i32.const 103) ) ) - (i32.store $0 + (i32.store (i32.const 1) (i32.const 2) ) @@ -296,7 +296,7 @@ (block $block (result i32) (block $block5 (nop) - (i32.store $0 + (i32.store (i32.const 104) (local.tee $5 (i32.const 105) @@ -311,7 +311,7 @@ (block $block6 (result i32) (block $block7 (nop) - (i32.store $0 + (i32.store (i32.const 106) (local.tee $6 (i32.const 107) @@ -330,7 +330,7 @@ (block $block8 (result i32) (block $block9 (nop) - (i32.store $0 + (i32.store (i32.const 108) (local.tee $7 (i32.const 109) @@ -341,7 +341,7 @@ ) ) (drop - (i32.load $0 + (i32.load (i32.const 1) ) ) @@ -353,7 +353,7 @@ (block $block10 (result i32) (block $block11 (nop) - (i32.store $0 + (i32.store (i32.const 110) (local.tee $8 (i32.const 111) @@ -363,7 +363,7 @@ (local.get $8) ) ) - (i32.store $0 + (i32.store (i32.const 1) (i32.const 2) ) @@ -420,19 +420,19 @@ (func $memories (param $i2 i32) (param $i3 i32) (param $bi2 i32) (param $bi3 i32) (param $ci3 i32) (param $di3 i32) (local $set_with_no_get i32) (nop) - (i32.store8 $0 + (i32.store8 (local.get $i2) (i32.const 1) ) (nop) - (i32.store8 $0 + (i32.store8 (local.tee $bi3 (i32.const 1) ) (local.get $bi3) ) (nop) - (i32.store8 $0 + (i32.store8 (local.get $bi3) (local.get $bi3) ) @@ -441,7 +441,7 @@ (i32.const 123) ) ) - (i32.store8 $0 + (i32.store8 (local.get $bi3) (local.get $di3) ) @@ -460,14 +460,14 @@ (local $$10$0 i32) (local $$6$0 i32) (local.set $__stackBase__ - (i32.load $0 + (i32.load (i32.const 8) ) ) - (i32.store $0 + (i32.store (i32.const 8) (i32.add - (i32.load $0 + (i32.load (i32.const 8) ) (i32.const 16) @@ -582,7 +582,7 @@ (local.get $$1$0) (local.get $$1$1) ) - (i32.load $0 + (i32.load (i32.const 168) ) (call $_i64Subtract @@ -597,7 +597,7 @@ (local.get $$2$0) (local.get $$2$1) ) - (i32.load $0 + (i32.load (i32.const 168) ) (local.get $$rem) @@ -606,13 +606,13 @@ (local.set $$10$0 (call $_i64Subtract (i32.xor - (i32.load $0 + (i32.load (local.get $$rem) ) (local.get $$1$0) ) (i32.xor - (i32.load $0 offset=4 + (i32.load offset=4 (local.get $$rem) ) (local.get $$1$1) @@ -622,17 +622,17 @@ ) ) (local.set $$10$1 - (i32.load $0 + (i32.load (i32.const 168) ) ) - (i32.store $0 + (i32.store (i32.const 8) (local.get $__stackBase__) ) (return (block $block12 (result i32) - (i32.store $0 + (i32.store (i32.const 168) (local.get $$10$1) ) @@ -726,11 +726,11 @@ (local.get $p) ) (local.set $p - (i32.load $0 + (i32.load (i32.const 0) ) ) - (i32.store $0 + (i32.store (local.get $r) (local.get $t) ) @@ -1141,25 +1141,25 @@ (local $x i32) (nop) (drop - (i32.load $0 + (i32.load (i32.const 1028) ) ) - (i32.load $0 + (i32.load (i32.const 1024) ) ) (func $nonatomic-growmem (result i32) (local $x i32) (local.set $x - (i32.load $0 - (memory.grow $0 + (i32.load + (memory.grow (i32.const 1) ) ) ) (drop - (i32.load $0 + (i32.load (i32.const 1028) ) ) @@ -1168,12 +1168,12 @@ (func $atomics (local $x i32) (local.set $x - (i32.atomic.load $0 + (i32.atomic.load (i32.const 1024) ) ) (drop - (i32.atomic.load $0 + (i32.atomic.load (i32.const 1028) ) ) @@ -1184,12 +1184,12 @@ (func $one-atomic (local $x i32) (local.set $x - (i32.load $0 + (i32.load (i32.const 1024) ) ) (drop - (i32.atomic.load $0 + (i32.atomic.load (i32.const 1028) ) ) @@ -1200,12 +1200,12 @@ (func $other-atomic (local $x i32) (local.set $x - (i32.atomic.load $0 + (i32.atomic.load (i32.const 1024) ) ) (drop - (i32.load $0 + (i32.load (i32.const 1028) ) ) @@ -1216,14 +1216,14 @@ (func $atomic-growmem (result i32) (local $x i32) (local.set $x - (i32.load $0 - (memory.grow $0 + (i32.load + (memory.grow (i32.const 1) ) ) ) (drop - (i32.atomic.load $0 + (i32.atomic.load (i32.const 1028) ) ) @@ -1232,13 +1232,13 @@ (func $atomicrmw (local $x i32) (local.set $x - (i32.atomic.rmw.add $0 + (i32.atomic.rmw.add (i32.const 1024) (i32.const 1) ) ) (drop - (i32.atomic.load $0 + (i32.atomic.load (i32.const 1028) ) ) @@ -1249,14 +1249,14 @@ (func $atomic-cmpxchg (local $x i32) (local.set $x - (i32.atomic.rmw.cmpxchg $0 + (i32.atomic.rmw.cmpxchg (i32.const 1024) (i32.const 1) (i32.const 2) ) ) (drop - (i32.atomic.load $0 + (i32.atomic.load (i32.const 1028) ) ) @@ -1595,12 +1595,12 @@ (func $multi-pass-get-equivs-right (param $var$0 i32) (param $var$1 i32) (result f64) (local $var$2 i32) (nop) - (i32.store $0 + (i32.store (local.get $var$0) (i32.const 1) ) (f64.promote_f32 - (f32.load $0 + (f32.load (local.get $var$0) ) ) @@ -1730,11 +1730,11 @@ (func $memory-init-load (local $x i32) (local.set $x - (i32.load $0 + (i32.load (i32.const 0) ) ) - (memory.init $0 0 + (memory.init 0 (i32.const 0) (i32.const 0) (i32.const 5) @@ -1747,14 +1747,14 @@ (local $x i32) (local.set $x (block $block (result i32) - (i32.store $0 + (i32.store (i32.const 0) (i32.const 42) ) (i32.const 0) ) ) - (memory.init $0 0 + (memory.init 0 (i32.const 0) (i32.const 0) (i32.const 5) @@ -1766,11 +1766,11 @@ (func $memory-copy-load (local $x i32) (local.set $x - (i32.load $0 + (i32.load (i32.const 0) ) ) - (memory.copy $0 $0 + (memory.copy (i32.const 0) (i32.const 8) (i32.const 8) @@ -1783,14 +1783,14 @@ (local $x i32) (local.set $x (block $block (result i32) - (i32.store $0 + (i32.store (i32.const 0) (i32.const 42) ) (i32.const 0) ) ) - (memory.copy $0 $0 + (memory.copy (i32.const 0) (i32.const 8) (i32.const 8) @@ -1802,11 +1802,11 @@ (func $memory-fill-load (local $x i32) (local.set $x - (i32.load $0 + (i32.load (i32.const 0) ) ) - (memory.fill $0 + (memory.fill (i32.const 0) (i32.const 42) (i32.const 8) @@ -1819,14 +1819,14 @@ (local $x i32) (local.set $x (block $block (result i32) - (i32.store $0 + (i32.store (i32.const 0) (i32.const 42) ) (i32.const 0) ) ) - (memory.fill $0 + (memory.fill (i32.const 0) (i32.const 8) (i32.const 8) @@ -1838,7 +1838,7 @@ (func $data-drop-load (local $x i32) (local.set $x - (i32.load $0 + (i32.load (i32.const 0) ) ) @@ -1851,7 +1851,7 @@ (local $x i32) (local.set $x (block $block (result i32) - (i32.store $0 + (i32.store (i32.const 0) (i32.const 42) ) @@ -1867,7 +1867,7 @@ (local $x i32) (local.set $x (block $block (result i32) - (memory.init $0 0 + (memory.init 0 (i32.const 0) (i32.const 0) (i32.const 5) diff --git a/test/passes/simplify-locals_all-features_disable-exception-handling.txt b/test/passes/simplify-locals_all-features_disable-exception-handling.txt index 1e7876fc0cc..2f8825c728f 100644 --- a/test/passes/simplify-locals_all-features_disable-exception-handling.txt +++ b/test/passes/simplify-locals_all-features_disable-exception-handling.txt @@ -179,7 +179,7 @@ (nop) (nop) (drop - (i32.load $0 + (i32.load (i32.const 24) ) ) @@ -197,7 +197,7 @@ ) (nop) (nop) - (i32.store $0 + (i32.store (i32.const 48) (i32.const 96) ) @@ -224,7 +224,7 @@ (call $waka_int) ) (drop - (i32.load $0 + (i32.load (i32.const 1) ) ) @@ -235,7 +235,7 @@ (local.set $a (call $waka_int) ) - (i32.store $0 + (i32.store (i32.const 1) (i32.const 2) ) @@ -245,25 +245,25 @@ (call $waka) (nop) (local.set $a - (i32.load $0 + (i32.load (i32.const 100) ) ) (call $waka) (nop) (drop - (i32.load $0 + (i32.load (i32.const 1) ) ) (local.set $a - (i32.load $0 + (i32.load (i32.const 101) ) ) (call $waka) (local.set $a - (i32.load $0 + (i32.load (i32.const 102) ) ) @@ -273,11 +273,11 @@ ) (call $waka) (local.set $a - (i32.load $0 + (i32.load (i32.const 103) ) ) - (i32.store $0 + (i32.store (i32.const 1) (i32.const 2) ) @@ -290,7 +290,7 @@ (block $block (result i32) (block $block5 (nop) - (i32.store $0 + (i32.store (i32.const 104) (local.tee $5 (i32.const 105) @@ -305,7 +305,7 @@ (block $block6 (result i32) (block $block7 (nop) - (i32.store $0 + (i32.store (i32.const 106) (local.tee $6 (i32.const 107) @@ -324,7 +324,7 @@ (block $block8 (result i32) (block $block9 (nop) - (i32.store $0 + (i32.store (i32.const 108) (local.tee $7 (i32.const 109) @@ -335,7 +335,7 @@ ) ) (drop - (i32.load $0 + (i32.load (i32.const 1) ) ) @@ -347,7 +347,7 @@ (block $block10 (result i32) (block $block11 (nop) - (i32.store $0 + (i32.store (i32.const 110) (local.tee $8 (i32.const 111) @@ -357,7 +357,7 @@ (local.get $8) ) ) - (i32.store $0 + (i32.store (i32.const 1) (i32.const 2) ) @@ -414,19 +414,19 @@ (func $memories (param $i2 i32) (param $i3 i32) (param $bi2 i32) (param $bi3 i32) (param $ci3 i32) (param $di3 i32) (local $set_with_no_get i32) (nop) - (i32.store8 $0 + (i32.store8 (local.get $i2) (i32.const 1) ) (nop) - (i32.store8 $0 + (i32.store8 (local.tee $bi3 (i32.const 1) ) (local.get $bi3) ) (nop) - (i32.store8 $0 + (i32.store8 (local.get $bi3) (local.get $bi3) ) @@ -435,7 +435,7 @@ (i32.const 123) ) ) - (i32.store8 $0 + (i32.store8 (local.get $bi3) (local.get $di3) ) @@ -454,14 +454,14 @@ (local $$10$0 i32) (local $$6$0 i32) (local.set $__stackBase__ - (i32.load $0 + (i32.load (i32.const 8) ) ) - (i32.store $0 + (i32.store (i32.const 8) (i32.add - (i32.load $0 + (i32.load (i32.const 8) ) (i32.const 16) @@ -533,7 +533,7 @@ (local.get $$1$0) (local.get $$1$1) ) - (i32.load $0 + (i32.load (i32.const 168) ) (call $_i64Subtract @@ -591,7 +591,7 @@ (local.get $$2$0) (local.get $$2$1) ) - (i32.load $0 + (i32.load (i32.const 168) ) (local.get $$rem) @@ -600,13 +600,13 @@ (local.set $$10$0 (call $_i64Subtract (i32.xor - (i32.load $0 + (i32.load (local.get $$rem) ) (local.get $$1$0) ) (i32.xor - (i32.load $0 offset=4 + (i32.load offset=4 (local.get $$rem) ) (local.get $$1$1) @@ -616,17 +616,17 @@ ) ) (local.set $$10$1 - (i32.load $0 + (i32.load (i32.const 168) ) ) - (i32.store $0 + (i32.store (i32.const 8) (local.get $__stackBase__) ) (return (block $block12 (result i32) - (i32.store $0 + (i32.store (i32.const 168) (local.get $$10$1) ) @@ -720,11 +720,11 @@ (local.get $p) ) (local.set $p - (i32.load $0 + (i32.load (i32.const 0) ) ) - (i32.store $0 + (i32.store (local.get $r) (local.get $t) ) @@ -1135,25 +1135,25 @@ (local $x i32) (nop) (drop - (i32.load $0 + (i32.load (i32.const 1028) ) ) - (i32.load $0 + (i32.load (i32.const 1024) ) ) (func $nonatomic-growmem (result i32) (local $x i32) (local.set $x - (i32.load $0 - (memory.grow $0 + (i32.load + (memory.grow (i32.const 1) ) ) ) (drop - (i32.load $0 + (i32.load (i32.const 1028) ) ) @@ -1162,12 +1162,12 @@ (func $atomics (local $x i32) (local.set $x - (i32.atomic.load $0 + (i32.atomic.load (i32.const 1024) ) ) (drop - (i32.atomic.load $0 + (i32.atomic.load (i32.const 1028) ) ) @@ -1178,12 +1178,12 @@ (func $one-atomic (local $x i32) (local.set $x - (i32.load $0 + (i32.load (i32.const 1024) ) ) (drop - (i32.atomic.load $0 + (i32.atomic.load (i32.const 1028) ) ) @@ -1194,12 +1194,12 @@ (func $other-atomic (local $x i32) (local.set $x - (i32.atomic.load $0 + (i32.atomic.load (i32.const 1024) ) ) (drop - (i32.load $0 + (i32.load (i32.const 1028) ) ) @@ -1210,14 +1210,14 @@ (func $atomic-growmem (result i32) (local $x i32) (local.set $x - (i32.load $0 - (memory.grow $0 + (i32.load + (memory.grow (i32.const 1) ) ) ) (drop - (i32.atomic.load $0 + (i32.atomic.load (i32.const 1028) ) ) @@ -1226,13 +1226,13 @@ (func $atomicrmw (local $x i32) (local.set $x - (i32.atomic.rmw.add $0 + (i32.atomic.rmw.add (i32.const 1024) (i32.const 1) ) ) (drop - (i32.atomic.load $0 + (i32.atomic.load (i32.const 1028) ) ) @@ -1243,14 +1243,14 @@ (func $atomic-cmpxchg (local $x i32) (local.set $x - (i32.atomic.rmw.cmpxchg $0 + (i32.atomic.rmw.cmpxchg (i32.const 1024) (i32.const 1) (i32.const 2) ) ) (drop - (i32.atomic.load $0 + (i32.atomic.load (i32.const 1028) ) ) @@ -1589,12 +1589,12 @@ (func $multi-pass-get-equivs-right (param $var$0 i32) (param $var$1 i32) (result f64) (local $var$2 i32) (nop) - (i32.store $0 + (i32.store (local.get $var$0) (i32.const 1) ) (f64.promote_f32 - (f32.load $0 + (f32.load (local.get $var$0) ) ) @@ -1724,11 +1724,11 @@ (func $memory-init-load (local $x i32) (local.set $x - (i32.load $0 + (i32.load (i32.const 0) ) ) - (memory.init $0 0 + (memory.init 0 (i32.const 0) (i32.const 0) (i32.const 5) @@ -1741,14 +1741,14 @@ (local $x i32) (local.set $x (block $block (result i32) - (i32.store $0 + (i32.store (i32.const 0) (i32.const 42) ) (i32.const 0) ) ) - (memory.init $0 0 + (memory.init 0 (i32.const 0) (i32.const 0) (i32.const 5) @@ -1760,11 +1760,11 @@ (func $memory-copy-load (local $x i32) (local.set $x - (i32.load $0 + (i32.load (i32.const 0) ) ) - (memory.copy $0 $0 + (memory.copy (i32.const 0) (i32.const 8) (i32.const 8) @@ -1777,14 +1777,14 @@ (local $x i32) (local.set $x (block $block (result i32) - (i32.store $0 + (i32.store (i32.const 0) (i32.const 42) ) (i32.const 0) ) ) - (memory.copy $0 $0 + (memory.copy (i32.const 0) (i32.const 8) (i32.const 8) @@ -1796,11 +1796,11 @@ (func $memory-fill-load (local $x i32) (local.set $x - (i32.load $0 + (i32.load (i32.const 0) ) ) - (memory.fill $0 + (memory.fill (i32.const 0) (i32.const 42) (i32.const 8) @@ -1813,14 +1813,14 @@ (local $x i32) (local.set $x (block $block (result i32) - (i32.store $0 + (i32.store (i32.const 0) (i32.const 42) ) (i32.const 0) ) ) - (memory.fill $0 + (memory.fill (i32.const 0) (i32.const 8) (i32.const 8) @@ -1832,7 +1832,7 @@ (func $data-drop-load (local $x i32) (local.set $x - (i32.load $0 + (i32.load (i32.const 0) ) ) @@ -1845,7 +1845,7 @@ (local $x i32) (local.set $x (block $block (result i32) - (i32.store $0 + (i32.store (i32.const 0) (i32.const 42) ) @@ -1861,7 +1861,7 @@ (local $x i32) (local.set $x (block $block (result i32) - (memory.init $0 0 + (memory.init 0 (i32.const 0) (i32.const 0) (i32.const 5) diff --git a/test/passes/spill-pointers.txt b/test/passes/spill-pointers.txt index 348cb633c44..dcd8b2cbfdc 100644 --- a/test/passes/spill-pointers.txt +++ b/test/passes/spill-pointers.txt @@ -35,7 +35,7 @@ ) (block (block - (i32.store $0 + (i32.store (local.get $1) (local.get $x) ) @@ -78,7 +78,7 @@ (f64.const 1) ) (block - (i32.store $0 + (i32.store (local.get $4) (local.get $x) ) @@ -130,19 +130,19 @@ (i32.const 1) ) (block - (i32.store $0 + (i32.store (local.get $4) (local.get $x) ) - (i32.store $0 offset=4 + (i32.store offset=4 (local.get $4) (local.get $y) ) - (i32.store $0 offset=8 + (i32.store offset=8 (local.get $4) (local.get $z) ) - (i32.store $0 offset=12 + (i32.store offset=12 (local.get $4) (local.get $w) ) @@ -198,23 +198,23 @@ (i32.const 1) ) (block - (i32.store $0 + (i32.store (local.get $5) (local.get $x) ) - (i32.store $0 offset=4 + (i32.store offset=4 (local.get $5) (local.get $y) ) - (i32.store $0 offset=8 + (i32.store offset=8 (local.get $5) (local.get $z) ) - (i32.store $0 offset=12 + (i32.store offset=12 (local.get $5) (local.get $w) ) - (i32.store $0 offset=16 + (i32.store offset=16 (local.get $5) (local.get $a) ) @@ -255,7 +255,7 @@ ) (block (block - (i32.store $0 + (i32.store (local.get $2) (local.get $x) ) @@ -291,7 +291,7 @@ (local.set $5 (i32.const 2) ) - (i32.store $0 offset=8 + (i32.store offset=8 (local.get $3) (local.get $x) ) @@ -326,7 +326,7 @@ (local.set $4 (block (result i32) (block - (i32.store $0 + (i32.store (local.get $1) (local.get $x) ) @@ -384,7 +384,7 @@ (local.set $2 (block (result i32) (block - (i32.store $0 + (i32.store (local.get $1) (local.get $x) ) @@ -428,7 +428,7 @@ (local.set $4 (i32.const 1) ) - (i32.store $0 offset=4 + (i32.store offset=4 (local.get $2) (local.get $x) ) @@ -437,7 +437,7 @@ ) ) ) - (i32.store $0 offset=4 + (i32.store offset=4 (local.get $2) (local.get $x) ) @@ -493,7 +493,7 @@ (local.set $3 (block (result i32) (block - (i32.store $0 + (i32.store (local.get $1) (local.get $x) ) @@ -548,7 +548,7 @@ (local.set $3 (f64.const 1) ) - (i32.store $0 + (i32.store (local.get $2) (local.get $x) ) @@ -590,7 +590,7 @@ (local.set $4 (i32.const 789) ) - (i32.store $0 + (i32.store (local.get $1) (local.get $x) ) @@ -626,7 +626,7 @@ (local.set $2 (i32.const 200) ) - (i32.store $0 + (i32.store (local.get $1) (local.get $x) ) @@ -683,7 +683,7 @@ ) (block (block - (i32.store $0 + (i32.store (local.get $1) (local.get $x) ) @@ -726,7 +726,7 @@ (f64.const 1) ) (block - (i32.store $0 + (i32.store (local.get $4) (local.get $x) ) @@ -778,19 +778,19 @@ (i32.const 1) ) (block - (i32.store $0 + (i32.store (local.get $4) (local.get $x) ) - (i32.store $0 offset=4 + (i32.store offset=4 (local.get $4) (local.get $y) ) - (i32.store $0 offset=8 + (i32.store offset=8 (local.get $4) (local.get $z) ) - (i32.store $0 offset=12 + (i32.store offset=12 (local.get $4) (local.get $w) ) @@ -846,23 +846,23 @@ (i32.const 1) ) (block - (i32.store $0 + (i32.store (local.get $5) (local.get $x) ) - (i32.store $0 offset=4 + (i32.store offset=4 (local.get $5) (local.get $y) ) - (i32.store $0 offset=8 + (i32.store offset=8 (local.get $5) (local.get $z) ) - (i32.store $0 offset=12 + (i32.store offset=12 (local.get $5) (local.get $w) ) - (i32.store $0 offset=16 + (i32.store offset=16 (local.get $5) (local.get $a) ) @@ -903,7 +903,7 @@ ) (block (block - (i32.store $0 + (i32.store (local.get $2) (local.get $x) ) @@ -939,7 +939,7 @@ (local.set $5 (i32.const 2) ) - (i32.store $0 offset=8 + (i32.store offset=8 (local.get $3) (local.get $x) ) @@ -974,7 +974,7 @@ (local.set $4 (block (result i32) (block - (i32.store $0 + (i32.store (local.get $1) (local.get $x) ) @@ -1032,7 +1032,7 @@ (local.set $2 (block (result i32) (block - (i32.store $0 + (i32.store (local.get $1) (local.get $x) ) @@ -1076,7 +1076,7 @@ (local.set $4 (i32.const 1) ) - (i32.store $0 offset=4 + (i32.store offset=4 (local.get $2) (local.get $x) ) @@ -1085,7 +1085,7 @@ ) ) ) - (i32.store $0 offset=4 + (i32.store offset=4 (local.get $2) (local.get $x) ) @@ -1141,7 +1141,7 @@ (local.set $3 (block (result i32) (block - (i32.store $0 + (i32.store (local.get $1) (local.get $x) ) @@ -1196,7 +1196,7 @@ (local.set $3 (f64.const 1) ) - (i32.store $0 + (i32.store (local.get $2) (local.get $x) ) @@ -1238,7 +1238,7 @@ (local.set $4 (i32.const 789) ) - (i32.store $0 + (i32.store (local.get $1) (local.get $x) ) @@ -1274,7 +1274,7 @@ (local.set $2 (i32.const 200) ) - (i32.store $0 + (i32.store (local.get $1) (local.get $x) ) diff --git a/test/passes/ssa-nomerge_enable-simd.txt b/test/passes/ssa-nomerge_enable-simd.txt index 42e4a06804a..1e2a4b92812 100644 --- a/test/passes/ssa-nomerge_enable-simd.txt +++ b/test/passes/ssa-nomerge_enable-simd.txt @@ -203,7 +203,7 @@ ) (func $simd-zero (local $0 v128) - (v128.store $0 align=4 + (v128.store align=4 (i32.const 0) (i32x4.splat (i32.const 0) diff --git a/test/passes/vacuum_all-features.txt b/test/passes/vacuum_all-features.txt index 5cce030d58a..b95959552dc 100644 --- a/test/passes/vacuum_all-features.txt +++ b/test/passes/vacuum_all-features.txt @@ -64,7 +64,7 @@ (local.get $d) (f64.ne (f64.promote_f32 - (f32.load $0 + (f32.load (local.tee $l (i32.add (local.get $b) @@ -209,7 +209,7 @@ ) (func $a (block $block - (i32.store $0 + (i32.store (i32.const 1) (i32.const 2) ) @@ -223,7 +223,7 @@ ) (func $leave-block-even-if-br-not-taken (result f64) (block $label$0 (result f64) - (f64.store $0 align=1 + (f64.store align=1 (i32.const 879179022) (br_if $label$0 (loop $label$9 @@ -250,7 +250,7 @@ (i64.ge_s (block $block (result i64) (drop - (i64.load32_s $0 + (i64.load32_s (i32.const 678585719) ) ) @@ -351,33 +351,33 @@ (i32.const -64) ) ) - (i32.store $0 + (i32.store (local.get $3) (local.get $2) ) - (i32.store $0 offset=4 + (i32.store offset=4 (local.get $3) (i32.const 100000) ) - (i32.store $0 offset=12 + (i32.store offset=12 (local.get $3) (local.get $0) ) - (i32.store $0 offset=16 + (i32.store offset=16 (local.get $3) - (i32.load $0 + (i32.load (local.get $1) ) ) - (i32.store $0 offset=32 + (i32.store offset=32 (local.get $3) (i32.const 0) ) - (i32.store $0 offset=36 + (i32.store offset=36 (local.get $3) (i32.const 0) ) - (i32.store $0 offset=40 + (i32.store offset=40 (local.get $3) (i32.const 0) ) @@ -403,9 +403,9 @@ (i32.const 1) ) (block $block1 (result i32) - (i32.store $0 + (i32.store (local.get $1) - (i32.load $0 offset=20 + (i32.load offset=20 (local.get $3) ) ) diff --git a/test/print/min.minified.txt b/test/print/min.minified.txt index 0acd3e1f442..214f9447b1b 100644 --- a/test/print/min.minified.txt +++ b/test/print/min.minified.txt @@ -1,4 +1,4 @@ (module(type $0 (func(param f32)(result f32)))(type $1 (func(param i32 i32)(result f32)))(type $2 (func(param i32)(result i32)))(type $3 (func(param i32 i32 i32)(result i32)))(memory $0 256 256) -(export "floats" (func $floats))(func $floats(param $f f32)(result f32)(local $t f32)(f32.add(local.get $t)(local.get $f)))(func $neg(param $k i32)(param $p i32)(result f32)(local $n f32)(local.tee $n(f32.neg(block $block0 (result f32)(i32.store $0(local.get $k)(local.get $p))(f32.load $0(local.get $k))))))(func $littleswitch(param $x i32)(result i32)(block $topmost (result i32)(block $switch-case$2(block $switch-case$1(br_table $switch-case$1 $switch-case$2 $switch-case$1(i32.sub(local.get $x)(i32.const 1)))) +(export "floats" (func $floats))(func $floats(param $f f32)(result f32)(local $t f32)(f32.add(local.get $t)(local.get $f)))(func $neg(param $k i32)(param $p i32)(result f32)(local $n f32)(local.tee $n(f32.neg(block $block0 (result f32)(i32.store(local.get $k)(local.get $p))(f32.load(local.get $k))))))(func $littleswitch(param $x i32)(result i32)(block $topmost (result i32)(block $switch-case$2(block $switch-case$1(br_table $switch-case$1 $switch-case$2 $switch-case$1(i32.sub(local.get $x)(i32.const 1)))) (br $topmost(i32.const 1))) (br $topmost(i32.const 2))(i32.const 0)))(func $f1(param $i1 i32)(param $i2 i32)(param $i3 i32)(result i32)(block $topmost (result i32)(local.get $i3)))) \ No newline at end of file diff --git a/test/print/min.txt b/test/print/min.txt index a6fd0a9e569..f0c5016725a 100644 --- a/test/print/min.txt +++ b/test/print/min.txt @@ -17,11 +17,11 @@ (local.tee $n (f32.neg (block $block0 (result f32) - (i32.store $0 + (i32.store (local.get $k) (local.get $p) ) - (f32.load $0 + (f32.load (local.get $k) ) ) diff --git a/test/reduce/atomics-and-bulk-memory.wast.txt b/test/reduce/atomics-and-bulk-memory.wast.txt index 50167e1c10e..ace3f57d9ca 100644 --- a/test/reduce/atomics-and-bulk-memory.wast.txt +++ b/test/reduce/atomics-and-bulk-memory.wast.txt @@ -3,11 +3,11 @@ (memory $0 1 1) (export "foo" (func $0)) (func $0 (result i32) - (i32.atomic.store8 $0 + (i32.atomic.store8 (i32.const 0) (i32.const 99) ) - (i32.atomic.load8_u $0 + (i32.atomic.load8_u (i32.const 0) ) ) diff --git a/test/reduce/memory_table.wast.txt b/test/reduce/memory_table.wast.txt index 2d0895d061c..fe9e8207217 100644 --- a/test/reduce/memory_table.wast.txt +++ b/test/reduce/memory_table.wast.txt @@ -9,11 +9,11 @@ (nop) ) (func $1 (result i32) - (i32.store $0 + (i32.store (i32.const 0) (i32.const 65530) ) - (i32.load $0 + (i32.load (i32.const 0) ) ) diff --git a/test/simd.wast.from-wast b/test/simd.wast.from-wast index 99cdfd8f23a..729706286e4 100644 --- a/test/simd.wast.from-wast +++ b/test/simd.wast.from-wast @@ -18,62 +18,62 @@ (type $v128_v128_v128_=>_v128 (func (param v128 v128 v128) (result v128))) (memory $0 1 1) (func $v128.load (param $0 i32) (result v128) - (v128.load $0 + (v128.load (local.get $0) ) ) (func $v128.load8x8_s (param $0 i32) (result v128) - (v128.load8x8_s $0 + (v128.load8x8_s (local.get $0) ) ) (func $v128.load8x8_u (param $0 i32) (result v128) - (v128.load8x8_u $0 + (v128.load8x8_u (local.get $0) ) ) (func $v128.load16x4_s (param $0 i32) (result v128) - (v128.load16x4_s $0 + (v128.load16x4_s (local.get $0) ) ) (func $v128.load16x4_u (param $0 i32) (result v128) - (v128.load16x4_u $0 + (v128.load16x4_u (local.get $0) ) ) (func $v128.load32x2_s (param $0 i32) (result v128) - (v128.load32x2_s $0 + (v128.load32x2_s (local.get $0) ) ) (func $v128.load32x2_u (param $0 i32) (result v128) - (v128.load32x2_u $0 + (v128.load32x2_u (local.get $0) ) ) (func $v128.load8_splat (param $0 i32) (result v128) - (v128.load8_splat $0 + (v128.load8_splat (local.get $0) ) ) (func $v128.load16_splat (param $0 i32) (result v128) - (v128.load16_splat $0 + (v128.load16_splat (local.get $0) ) ) (func $v128.load32_splat (param $0 i32) (result v128) - (v128.load32_splat $0 + (v128.load32_splat (local.get $0) ) ) (func $v128.load64_splat (param $0 i32) (result v128) - (v128.load64_splat $0 + (v128.load64_splat (local.get $0) ) ) (func $v128.store (param $0 i32) (param $1 v128) - (v128.store $0 + (v128.store (local.get $0) (local.get $1) ) @@ -498,96 +498,96 @@ ) ) (func $v128.load8_lane (param $0 i32) (param $1 v128) (result v128) - (v128.load8_lane $0 0 + (v128.load8_lane 0 (local.get $0) (local.get $1) ) ) (func $v128.load16_lane (param $0 i32) (param $1 v128) (result v128) - (v128.load16_lane $0 0 + (v128.load16_lane 0 (local.get $0) (local.get $1) ) ) (func $v128.load32_lane (param $0 i32) (param $1 v128) (result v128) - (v128.load32_lane $0 0 + (v128.load32_lane 0 (local.get $0) (local.get $1) ) ) (func $v128.load64_lane (param $0 i32) (param $1 v128) (result v128) - (v128.load64_lane $0 0 + (v128.load64_lane 0 (local.get $0) (local.get $1) ) ) (func $v128.load64_lane_align (param $0 i32) (param $1 v128) (result v128) - (v128.load64_lane $0 align=1 0 + (v128.load64_lane align=1 0 (local.get $0) (local.get $1) ) ) (func $v128.load64_lane_offset (param $0 i32) (param $1 v128) (result v128) - (v128.load64_lane $0 offset=32 0 + (v128.load64_lane offset=32 0 (local.get $0) (local.get $1) ) ) (func $v128.load64_lane_align_offset (param $0 i32) (param $1 v128) (result v128) - (v128.load64_lane $0 offset=32 align=1 0 + (v128.load64_lane offset=32 align=1 0 (local.get $0) (local.get $1) ) ) (func $v128.store8_lane (param $0 i32) (param $1 v128) - (v128.store8_lane $0 0 + (v128.store8_lane 0 (local.get $0) (local.get $1) ) ) (func $v128.store16_lane (param $0 i32) (param $1 v128) - (v128.store16_lane $0 0 + (v128.store16_lane 0 (local.get $0) (local.get $1) ) ) (func $v128.store32_lane (param $0 i32) (param $1 v128) - (v128.store32_lane $0 0 + (v128.store32_lane 0 (local.get $0) (local.get $1) ) ) (func $v128.store64_lane (param $0 i32) (param $1 v128) - (v128.store64_lane $0 0 + (v128.store64_lane 0 (local.get $0) (local.get $1) ) ) (func $v128.store64_lane_align (param $0 i32) (param $1 v128) - (v128.store64_lane $0 align=1 0 + (v128.store64_lane align=1 0 (local.get $0) (local.get $1) ) ) (func $v128.store64_lane_offset (param $0 i32) (param $1 v128) - (v128.store64_lane $0 offset=32 0 + (v128.store64_lane offset=32 0 (local.get $0) (local.get $1) ) ) (func $v128.store64_lane_align_offset (param $0 i32) (param $1 v128) - (v128.store64_lane $0 offset=32 align=1 0 + (v128.store64_lane offset=32 align=1 0 (local.get $0) (local.get $1) ) ) (func $v128.load32_zero (param $0 i32) (result v128) - (v128.load32_zero $0 + (v128.load32_zero (local.get $0) ) ) (func $v128.load64_zero (param $0 i32) (result v128) - (v128.load64_zero $0 + (v128.load64_zero (local.get $0) ) ) diff --git a/test/simd.wast.fromBinary b/test/simd.wast.fromBinary index 5894fdf185a..abcfd024e5d 100644 --- a/test/simd.wast.fromBinary +++ b/test/simd.wast.fromBinary @@ -18,62 +18,62 @@ (type $v128_v128_v128_=>_v128 (func (param v128 v128 v128) (result v128))) (memory $0 1 1) (func $v128.load (param $0 i32) (result v128) - (v128.load $0 + (v128.load (local.get $0) ) ) (func $v128.load8x8_s (param $0 i32) (result v128) - (v128.load8x8_s $0 + (v128.load8x8_s (local.get $0) ) ) (func $v128.load8x8_u (param $0 i32) (result v128) - (v128.load8x8_u $0 + (v128.load8x8_u (local.get $0) ) ) (func $v128.load16x4_s (param $0 i32) (result v128) - (v128.load16x4_s $0 + (v128.load16x4_s (local.get $0) ) ) (func $v128.load16x4_u (param $0 i32) (result v128) - (v128.load16x4_u $0 + (v128.load16x4_u (local.get $0) ) ) (func $v128.load32x2_s (param $0 i32) (result v128) - (v128.load32x2_s $0 + (v128.load32x2_s (local.get $0) ) ) (func $v128.load32x2_u (param $0 i32) (result v128) - (v128.load32x2_u $0 + (v128.load32x2_u (local.get $0) ) ) (func $v128.load8_splat (param $0 i32) (result v128) - (v128.load8_splat $0 + (v128.load8_splat (local.get $0) ) ) (func $v128.load16_splat (param $0 i32) (result v128) - (v128.load16_splat $0 + (v128.load16_splat (local.get $0) ) ) (func $v128.load32_splat (param $0 i32) (result v128) - (v128.load32_splat $0 + (v128.load32_splat (local.get $0) ) ) (func $v128.load64_splat (param $0 i32) (result v128) - (v128.load64_splat $0 + (v128.load64_splat (local.get $0) ) ) (func $v128.store (param $0 i32) (param $1 v128) - (v128.store $0 + (v128.store (local.get $0) (local.get $1) ) @@ -498,96 +498,96 @@ ) ) (func $v128.load8_lane (param $0 i32) (param $1 v128) (result v128) - (v128.load8_lane $0 0 + (v128.load8_lane 0 (local.get $0) (local.get $1) ) ) (func $v128.load16_lane (param $0 i32) (param $1 v128) (result v128) - (v128.load16_lane $0 0 + (v128.load16_lane 0 (local.get $0) (local.get $1) ) ) (func $v128.load32_lane (param $0 i32) (param $1 v128) (result v128) - (v128.load32_lane $0 0 + (v128.load32_lane 0 (local.get $0) (local.get $1) ) ) (func $v128.load64_lane (param $0 i32) (param $1 v128) (result v128) - (v128.load64_lane $0 0 + (v128.load64_lane 0 (local.get $0) (local.get $1) ) ) (func $v128.load64_lane_align (param $0 i32) (param $1 v128) (result v128) - (v128.load64_lane $0 align=1 0 + (v128.load64_lane align=1 0 (local.get $0) (local.get $1) ) ) (func $v128.load64_lane_offset (param $0 i32) (param $1 v128) (result v128) - (v128.load64_lane $0 offset=32 0 + (v128.load64_lane offset=32 0 (local.get $0) (local.get $1) ) ) (func $v128.load64_lane_align_offset (param $0 i32) (param $1 v128) (result v128) - (v128.load64_lane $0 offset=32 align=1 0 + (v128.load64_lane offset=32 align=1 0 (local.get $0) (local.get $1) ) ) (func $v128.store8_lane (param $0 i32) (param $1 v128) - (v128.store8_lane $0 0 + (v128.store8_lane 0 (local.get $0) (local.get $1) ) ) (func $v128.store16_lane (param $0 i32) (param $1 v128) - (v128.store16_lane $0 0 + (v128.store16_lane 0 (local.get $0) (local.get $1) ) ) (func $v128.store32_lane (param $0 i32) (param $1 v128) - (v128.store32_lane $0 0 + (v128.store32_lane 0 (local.get $0) (local.get $1) ) ) (func $v128.store64_lane (param $0 i32) (param $1 v128) - (v128.store64_lane $0 0 + (v128.store64_lane 0 (local.get $0) (local.get $1) ) ) (func $v128.store64_lane_align (param $0 i32) (param $1 v128) - (v128.store64_lane $0 align=1 0 + (v128.store64_lane align=1 0 (local.get $0) (local.get $1) ) ) (func $v128.store64_lane_offset (param $0 i32) (param $1 v128) - (v128.store64_lane $0 offset=32 0 + (v128.store64_lane offset=32 0 (local.get $0) (local.get $1) ) ) (func $v128.store64_lane_align_offset (param $0 i32) (param $1 v128) - (v128.store64_lane $0 offset=32 align=1 0 + (v128.store64_lane offset=32 align=1 0 (local.get $0) (local.get $1) ) ) (func $v128.load32_zero (param $0 i32) (result v128) - (v128.load32_zero $0 + (v128.load32_zero (local.get $0) ) ) (func $v128.load64_zero (param $0 i32) (result v128) - (v128.load64_zero $0 + (v128.load64_zero (local.get $0) ) ) diff --git a/test/simd.wast.fromBinary.noDebugInfo b/test/simd.wast.fromBinary.noDebugInfo index 372662a0cb0..0567be049b3 100644 --- a/test/simd.wast.fromBinary.noDebugInfo +++ b/test/simd.wast.fromBinary.noDebugInfo @@ -18,62 +18,62 @@ (type $v128_v128_v128_=>_v128 (func (param v128 v128 v128) (result v128))) (memory $0 1 1) (func $0 (param $0 i32) (result v128) - (v128.load $0 + (v128.load (local.get $0) ) ) (func $1 (param $0 i32) (result v128) - (v128.load8x8_s $0 + (v128.load8x8_s (local.get $0) ) ) (func $2 (param $0 i32) (result v128) - (v128.load8x8_u $0 + (v128.load8x8_u (local.get $0) ) ) (func $3 (param $0 i32) (result v128) - (v128.load16x4_s $0 + (v128.load16x4_s (local.get $0) ) ) (func $4 (param $0 i32) (result v128) - (v128.load16x4_u $0 + (v128.load16x4_u (local.get $0) ) ) (func $5 (param $0 i32) (result v128) - (v128.load32x2_s $0 + (v128.load32x2_s (local.get $0) ) ) (func $6 (param $0 i32) (result v128) - (v128.load32x2_u $0 + (v128.load32x2_u (local.get $0) ) ) (func $7 (param $0 i32) (result v128) - (v128.load8_splat $0 + (v128.load8_splat (local.get $0) ) ) (func $8 (param $0 i32) (result v128) - (v128.load16_splat $0 + (v128.load16_splat (local.get $0) ) ) (func $9 (param $0 i32) (result v128) - (v128.load32_splat $0 + (v128.load32_splat (local.get $0) ) ) (func $10 (param $0 i32) (result v128) - (v128.load64_splat $0 + (v128.load64_splat (local.get $0) ) ) (func $11 (param $0 i32) (param $1 v128) - (v128.store $0 + (v128.store (local.get $0) (local.get $1) ) @@ -498,96 +498,96 @@ ) ) (func $87 (param $0 i32) (param $1 v128) (result v128) - (v128.load8_lane $0 0 + (v128.load8_lane 0 (local.get $0) (local.get $1) ) ) (func $88 (param $0 i32) (param $1 v128) (result v128) - (v128.load16_lane $0 0 + (v128.load16_lane 0 (local.get $0) (local.get $1) ) ) (func $89 (param $0 i32) (param $1 v128) (result v128) - (v128.load32_lane $0 0 + (v128.load32_lane 0 (local.get $0) (local.get $1) ) ) (func $90 (param $0 i32) (param $1 v128) (result v128) - (v128.load64_lane $0 0 + (v128.load64_lane 0 (local.get $0) (local.get $1) ) ) (func $91 (param $0 i32) (param $1 v128) (result v128) - (v128.load64_lane $0 align=1 0 + (v128.load64_lane align=1 0 (local.get $0) (local.get $1) ) ) (func $92 (param $0 i32) (param $1 v128) (result v128) - (v128.load64_lane $0 offset=32 0 + (v128.load64_lane offset=32 0 (local.get $0) (local.get $1) ) ) (func $93 (param $0 i32) (param $1 v128) (result v128) - (v128.load64_lane $0 offset=32 align=1 0 + (v128.load64_lane offset=32 align=1 0 (local.get $0) (local.get $1) ) ) (func $94 (param $0 i32) (param $1 v128) - (v128.store8_lane $0 0 + (v128.store8_lane 0 (local.get $0) (local.get $1) ) ) (func $95 (param $0 i32) (param $1 v128) - (v128.store16_lane $0 0 + (v128.store16_lane 0 (local.get $0) (local.get $1) ) ) (func $96 (param $0 i32) (param $1 v128) - (v128.store32_lane $0 0 + (v128.store32_lane 0 (local.get $0) (local.get $1) ) ) (func $97 (param $0 i32) (param $1 v128) - (v128.store64_lane $0 0 + (v128.store64_lane 0 (local.get $0) (local.get $1) ) ) (func $98 (param $0 i32) (param $1 v128) - (v128.store64_lane $0 align=1 0 + (v128.store64_lane align=1 0 (local.get $0) (local.get $1) ) ) (func $99 (param $0 i32) (param $1 v128) - (v128.store64_lane $0 offset=32 0 + (v128.store64_lane offset=32 0 (local.get $0) (local.get $1) ) ) (func $100 (param $0 i32) (param $1 v128) - (v128.store64_lane $0 offset=32 align=1 0 + (v128.store64_lane offset=32 align=1 0 (local.get $0) (local.get $1) ) ) (func $101 (param $0 i32) (result v128) - (v128.load32_zero $0 + (v128.load32_zero (local.get $0) ) ) (func $102 (param $0 i32) (result v128) - (v128.load64_zero $0 + (v128.load64_zero (local.get $0) ) ) diff --git a/test/simd64.wast.from-wast b/test/simd64.wast.from-wast index 1e3c58bd276..a12e5d08f78 100644 --- a/test/simd64.wast.from-wast +++ b/test/simd64.wast.from-wast @@ -3,73 +3,73 @@ (type $i64_v128_=>_none (func (param i64 v128))) (memory $0 i64 1 1) (func $v128.load (param $0 i64) (result v128) - (v128.load $0 + (v128.load (local.get $0) ) ) (func $v128.store (param $0 i64) (param $1 v128) - (v128.store $0 + (v128.store (local.get $0) (local.get $1) ) ) (func $v128.load8_splat (param $0 i64) (result v128) - (v128.load8_splat $0 + (v128.load8_splat (local.get $0) ) ) (func $v128.load16_splat (param $0 i64) (result v128) - (v128.load16_splat $0 + (v128.load16_splat (local.get $0) ) ) (func $v128.load32_splat (param $0 i64) (result v128) - (v128.load32_splat $0 + (v128.load32_splat (local.get $0) ) ) (func $v128.load64_splat (param $0 i64) (result v128) - (v128.load64_splat $0 + (v128.load64_splat (local.get $0) ) ) (func $v128.load8x8_u (param $0 i64) (result v128) - (v128.load8x8_u $0 + (v128.load8x8_u (local.get $0) ) ) (func $v128.load8x8_s (param $0 i64) (result v128) - (v128.load8x8_s $0 + (v128.load8x8_s (local.get $0) ) ) (func $v128.load16x4_s (param $0 i64) (result v128) - (v128.load16x4_s $0 + (v128.load16x4_s (local.get $0) ) ) (func $v128.load16x4_u (param $0 i64) (result v128) - (v128.load16x4_u $0 + (v128.load16x4_u (local.get $0) ) ) (func $v128.load32x2_s (param $0 i64) (result v128) - (v128.load32x2_s $0 + (v128.load32x2_s (local.get $0) ) ) (func $v128.load32x2_u (param $0 i64) (result v128) - (v128.load32x2_u $0 + (v128.load32x2_u (local.get $0) ) ) (func $v128.load32_zero (param $0 i64) (result v128) - (v128.load32_zero $0 + (v128.load32_zero (local.get $0) ) ) (func $v128.load64_zero (param $0 i64) (result v128) - (v128.load64_zero $0 + (v128.load64_zero (local.get $0) ) ) diff --git a/test/simd64.wast.fromBinary b/test/simd64.wast.fromBinary index be5a319d2da..988f678b8a9 100644 --- a/test/simd64.wast.fromBinary +++ b/test/simd64.wast.fromBinary @@ -3,73 +3,73 @@ (type $i64_v128_=>_none (func (param i64 v128))) (memory $0 i64 1 1) (func $v128.load (param $0 i64) (result v128) - (v128.load $0 + (v128.load (local.get $0) ) ) (func $v128.store (param $0 i64) (param $1 v128) - (v128.store $0 + (v128.store (local.get $0) (local.get $1) ) ) (func $v128.load8_splat (param $0 i64) (result v128) - (v128.load8_splat $0 + (v128.load8_splat (local.get $0) ) ) (func $v128.load16_splat (param $0 i64) (result v128) - (v128.load16_splat $0 + (v128.load16_splat (local.get $0) ) ) (func $v128.load32_splat (param $0 i64) (result v128) - (v128.load32_splat $0 + (v128.load32_splat (local.get $0) ) ) (func $v128.load64_splat (param $0 i64) (result v128) - (v128.load64_splat $0 + (v128.load64_splat (local.get $0) ) ) (func $v128.load8x8_u (param $0 i64) (result v128) - (v128.load8x8_u $0 + (v128.load8x8_u (local.get $0) ) ) (func $v128.load8x8_s (param $0 i64) (result v128) - (v128.load8x8_s $0 + (v128.load8x8_s (local.get $0) ) ) (func $v128.load16x4_s (param $0 i64) (result v128) - (v128.load16x4_s $0 + (v128.load16x4_s (local.get $0) ) ) (func $v128.load16x4_u (param $0 i64) (result v128) - (v128.load16x4_u $0 + (v128.load16x4_u (local.get $0) ) ) (func $v128.load32x2_s (param $0 i64) (result v128) - (v128.load32x2_s $0 + (v128.load32x2_s (local.get $0) ) ) (func $v128.load32x2_u (param $0 i64) (result v128) - (v128.load32x2_u $0 + (v128.load32x2_u (local.get $0) ) ) (func $v128.load32_zero (param $0 i64) (result v128) - (v128.load32_zero $0 + (v128.load32_zero (local.get $0) ) ) (func $v128.load64_zero (param $0 i64) (result v128) - (v128.load64_zero $0 + (v128.load64_zero (local.get $0) ) ) diff --git a/test/simd64.wast.fromBinary.noDebugInfo b/test/simd64.wast.fromBinary.noDebugInfo index ddc78920506..2e96dfe6412 100644 --- a/test/simd64.wast.fromBinary.noDebugInfo +++ b/test/simd64.wast.fromBinary.noDebugInfo @@ -3,73 +3,73 @@ (type $i64_v128_=>_none (func (param i64 v128))) (memory $0 i64 1 1) (func $0 (param $0 i64) (result v128) - (v128.load $0 + (v128.load (local.get $0) ) ) (func $1 (param $0 i64) (param $1 v128) - (v128.store $0 + (v128.store (local.get $0) (local.get $1) ) ) (func $2 (param $0 i64) (result v128) - (v128.load8_splat $0 + (v128.load8_splat (local.get $0) ) ) (func $3 (param $0 i64) (result v128) - (v128.load16_splat $0 + (v128.load16_splat (local.get $0) ) ) (func $4 (param $0 i64) (result v128) - (v128.load32_splat $0 + (v128.load32_splat (local.get $0) ) ) (func $5 (param $0 i64) (result v128) - (v128.load64_splat $0 + (v128.load64_splat (local.get $0) ) ) (func $6 (param $0 i64) (result v128) - (v128.load8x8_u $0 + (v128.load8x8_u (local.get $0) ) ) (func $7 (param $0 i64) (result v128) - (v128.load8x8_s $0 + (v128.load8x8_s (local.get $0) ) ) (func $8 (param $0 i64) (result v128) - (v128.load16x4_s $0 + (v128.load16x4_s (local.get $0) ) ) (func $9 (param $0 i64) (result v128) - (v128.load16x4_u $0 + (v128.load16x4_u (local.get $0) ) ) (func $10 (param $0 i64) (result v128) - (v128.load32x2_s $0 + (v128.load32x2_s (local.get $0) ) ) (func $11 (param $0 i64) (result v128) - (v128.load32x2_u $0 + (v128.load32x2_u (local.get $0) ) ) (func $12 (param $0 i64) (result v128) - (v128.load32_zero $0 + (v128.load32_zero (local.get $0) ) ) (func $13 (param $0 i64) (result v128) - (v128.load64_zero $0 + (v128.load64_zero (local.get $0) ) ) diff --git a/test/unreachable-instr-type.wast.from-wast b/test/unreachable-instr-type.wast.from-wast index 98d4672384b..311c98a669b 100644 --- a/test/unreachable-instr-type.wast.from-wast +++ b/test/unreachable-instr-type.wast.from-wast @@ -2,23 +2,23 @@ (type $none_=>_none (func)) (memory $0 (shared 1 1)) (func $test - (i32.load $0 + (i32.load (unreachable) ) - (f32.store $0 + (f32.store (unreachable) (f32.const 0) ) - (i32.atomic.rmw.add $0 + (i32.atomic.rmw.add (unreachable) (i64.const 0) ) - (i32.atomic.rmw.cmpxchg $0 + (i32.atomic.rmw.cmpxchg (unreachable) (i64.const 0) (i64.const 1) ) - (memory.atomic.wait64 $0 + (memory.atomic.wait64 (unreachable) (i64.const 0) (i64.const 0) From a5c64130d8e22ef9bd7c005e63739061a0645478 Mon Sep 17 00:00:00 2001 From: Ashley Nelson Date: Mon, 15 Aug 2022 21:56:48 +0000 Subject: [PATCH 75/78] clang-format --- src/tools/fuzzing/fuzzing.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/tools/fuzzing/fuzzing.cpp b/src/tools/fuzzing/fuzzing.cpp index 167f1449b55..cdefe29f13c 100644 --- a/src/tools/fuzzing/fuzzing.cpp +++ b/src/tools/fuzzing/fuzzing.cpp @@ -259,7 +259,8 @@ void TranslateToFuzzReader::setupMemory() { builder.makeExport(hasher->name, hasher->name, ExternalKind::Function)); // Export memory so JS fuzzing can use it if (!wasm.getExportOrNull("memory")) { - wasm.addExport(builder.makeExport("memory", wasm.memories[0]->name, ExternalKind::Memory)); + wasm.addExport(builder.makeExport( + "memory", wasm.memories[0]->name, ExternalKind::Memory)); } } From e535ad7a89e9f8acdec152fe40448a347afffef9 Mon Sep 17 00:00:00 2001 From: Ashley Nelson Date: Tue, 16 Aug 2022 00:51:16 +0000 Subject: [PATCH 76/78] updating test --- test/lit/wasm-split/instrument-funcs.wast | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/test/lit/wasm-split/instrument-funcs.wast b/test/lit/wasm-split/instrument-funcs.wast index 479a8585b48..cf3ca4af7bd 100644 --- a/test/lit/wasm-split/instrument-funcs.wast +++ b/test/lit/wasm-split/instrument-funcs.wast @@ -60,15 +60,15 @@ ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block -;; CHECK-NEXT: (i64.store $0 align=1 +;; CHECK-NEXT: (i64.store align=1 ;; CHECK-NEXT: (local.get $addr) ;; CHECK-NEXT: (i64.const {{.*}}) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.store $0 offset=8 align=1 +;; CHECK-NEXT: (i32.store offset=8 align=1 ;; CHECK-NEXT: (local.get $addr) ;; CHECK-NEXT: (global.get $bar_timestamp) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (i32.store $0 offset=12 align=1 +;; CHECK-NEXT: (i32.store offset=12 align=1 ;; CHECK-NEXT: (local.get $addr) ;; CHECK-NEXT: (global.get $baz_timestamp) ;; CHECK-NEXT: ) From b849e741d78cf8eb567e8986fcc03f0e19a37557 Mon Sep 17 00:00:00 2001 From: Ashley Nelson Date: Wed, 17 Aug 2022 23:43:30 +0000 Subject: [PATCH 77/78] clang-format --- src/wasm/wasm-validator.cpp | 780 ++++++++++++++++++------------------ 1 file changed, 390 insertions(+), 390 deletions(-) diff --git a/src/wasm/wasm-validator.cpp b/src/wasm/wasm-validator.cpp index 0e4d3545162..92f6c76bfed 100644 --- a/src/wasm/wasm-validator.cpp +++ b/src/wasm/wasm-validator.cpp @@ -1,18 +1,18 @@ /* -* Copyright 2017 WebAssembly Community Group participants -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ + * Copyright 2017 WebAssembly Community Group participants + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ #include #include @@ -35,463 +35,463 @@ namespace wasm { // Print anything that can be streamed to an ostream template::type>::value>::type* = nullptr> + typename std::enable_if::type>::value>::type* = nullptr> inline std::ostream& printModuleComponent(T curr, std::ostream& stream, Module& wasm) { -stream << curr << std::endl; -return stream; + stream << curr << std::endl; + return stream; } // Extra overload for Expressions, to print their contents. inline std::ostream& printModuleComponent(Expression* curr, std::ostream& stream, Module& wasm) { -if (curr) { - stream << ModuleExpression(wasm, curr) << '\n'; -} -return stream; + if (curr) { + stream << ModuleExpression(wasm, curr) << '\n'; + } + return stream; } // For parallel validation, we have a helper struct for coordination struct ValidationInfo { -Module& wasm; + Module& wasm; -bool validateWeb; -bool validateGlobally; -bool quiet; + bool validateWeb; + bool validateGlobally; + bool quiet; -std::atomic valid; + std::atomic valid; -// a stream of error test for each function. we print in the right order at -// the end, for deterministic output -// note errors are rare/unexpected, so it's ok to use a slow mutex here -std::mutex mutex; -std::unordered_map> outputs; + // a stream of error test for each function. we print in the right order at + // the end, for deterministic output + // note errors are rare/unexpected, so it's ok to use a slow mutex here + std::mutex mutex; + std::unordered_map> outputs; -ValidationInfo(Module& wasm) : wasm(wasm) { valid.store(true); } + ValidationInfo(Module& wasm) : wasm(wasm) { valid.store(true); } -std::ostringstream& getStream(Function* func) { - std::unique_lock lock(mutex); - auto iter = outputs.find(func); - if (iter != outputs.end()) { - return *(iter->second.get()); + std::ostringstream& getStream(Function* func) { + std::unique_lock lock(mutex); + auto iter = outputs.find(func); + if (iter != outputs.end()) { + return *(iter->second.get()); + } + auto& ret = outputs[func] = make_unique(); + return *ret.get(); } - auto& ret = outputs[func] = make_unique(); - return *ret.get(); -} -// printing and error handling support + // printing and error handling support -template -std::ostream& fail(S text, T curr, Function* func) { - valid.store(false); - auto& stream = getStream(func); - if (quiet) { - return stream; + template + std::ostream& fail(S text, T curr, Function* func) { + valid.store(false); + auto& stream = getStream(func); + if (quiet) { + return stream; + } + auto& ret = printFailureHeader(func); + ret << text << ", on \n"; + return printModuleComponent(curr, ret, wasm); } - auto& ret = printFailureHeader(func); - ret << text << ", on \n"; - return printModuleComponent(curr, ret, wasm); -} -std::ostream& printFailureHeader(Function* func) { - auto& stream = getStream(func); - if (quiet) { - return stream; - } - Colors::red(stream); - if (func) { - stream << "[wasm-validator error in function "; - Colors::green(stream); - stream << func->name; + std::ostream& printFailureHeader(Function* func) { + auto& stream = getStream(func); + if (quiet) { + return stream; + } Colors::red(stream); - stream << "] "; - } else { - stream << "[wasm-validator error in module] "; + if (func) { + stream << "[wasm-validator error in function "; + Colors::green(stream); + stream << func->name; + Colors::red(stream); + stream << "] "; + } else { + stream << "[wasm-validator error in module] "; + } + Colors::normal(stream); + return stream; } - Colors::normal(stream); - return stream; -} -// checking utilities + // checking utilities -template -bool shouldBeTrue(bool result, - T curr, - const char* text, - Function* func = nullptr) { - if (!result) { - fail("unexpected false: " + std::string(text), curr, func); - return false; + template + bool shouldBeTrue(bool result, + T curr, + const char* text, + Function* func = nullptr) { + if (!result) { + fail("unexpected false: " + std::string(text), curr, func); + return false; + } + return result; } - return result; -} -template -bool shouldBeFalse(bool result, - T curr, - const char* text, - Function* func = nullptr) { - if (result) { - fail("unexpected true: " + std::string(text), curr, func); - return false; + template + bool shouldBeFalse(bool result, + T curr, + const char* text, + Function* func = nullptr) { + if (result) { + fail("unexpected true: " + std::string(text), curr, func); + return false; + } + return result; } - return result; -} -template -bool shouldBeEqual( - S left, S right, T curr, const char* text, Function* func = nullptr) { - if (left != right) { - std::ostringstream ss; - ss << left << " != " << right << ": " << text; - fail(ss.str(), curr, func); - return false; + template + bool shouldBeEqual( + S left, S right, T curr, const char* text, Function* func = nullptr) { + if (left != right) { + std::ostringstream ss; + ss << left << " != " << right << ": " << text; + fail(ss.str(), curr, func); + return false; + } + return true; } - return true; -} -template -bool shouldBeEqualOrFirstIsUnreachable( - S left, S right, T curr, const char* text, Function* func = nullptr) { - if (left != Type::unreachable && left != right) { - std::ostringstream ss; - ss << left << " != " << right << ": " << text; - fail(ss.str(), curr, func); - return false; + template + bool shouldBeEqualOrFirstIsUnreachable( + S left, S right, T curr, const char* text, Function* func = nullptr) { + if (left != Type::unreachable && left != right) { + std::ostringstream ss; + ss << left << " != " << right << ": " << text; + fail(ss.str(), curr, func); + return false; + } + return true; } - return true; -} -template -bool shouldBeUnequal( - S left, S right, T curr, const char* text, Function* func = nullptr) { - if (left == right) { - std::ostringstream ss; - ss << left << " == " << right << ": " << text; - fail(ss.str(), curr, func); - return false; + template + bool shouldBeUnequal( + S left, S right, T curr, const char* text, Function* func = nullptr) { + if (left == right) { + std::ostringstream ss; + ss << left << " == " << right << ": " << text; + fail(ss.str(), curr, func); + return false; + } + return true; } - return true; -} -void shouldBeIntOrUnreachable(Type ty, - Expression* curr, - const char* text, - Function* func = nullptr) { - switch (ty.getBasic()) { - case Type::i32: - case Type::i64: - case Type::unreachable: { - break; + void shouldBeIntOrUnreachable(Type ty, + Expression* curr, + const char* text, + Function* func = nullptr) { + switch (ty.getBasic()) { + case Type::i32: + case Type::i64: + case Type::unreachable: { + break; + } + default: + fail(text, curr, func); } - default: - fail(text, curr, func); } -} -// Type 'left' should be a subtype of 'right'. -bool shouldBeSubType(Type left, - Type right, - Expression* curr, - const char* text, - Function* func = nullptr) { - if (Type::isSubType(left, right)) { - return true; + // Type 'left' should be a subtype of 'right'. + bool shouldBeSubType(Type left, + Type right, + Expression* curr, + const char* text, + Function* func = nullptr) { + if (Type::isSubType(left, right)) { + return true; + } + fail(text, curr, func); + return false; } - fail(text, curr, func); - return false; -} }; struct FunctionValidator : public WalkerPass> { -bool isFunctionParallel() override { return true; } + bool isFunctionParallel() override { return true; } -Pass* create() override { return new FunctionValidator(*getModule(), &info); } + Pass* create() override { return new FunctionValidator(*getModule(), &info); } -bool modifiesBinaryenIR() override { return false; } + bool modifiesBinaryenIR() override { return false; } -ValidationInfo& info; + ValidationInfo& info; -FunctionValidator(Module& wasm, ValidationInfo* info) : info(*info) { - setModule(&wasm); -} + FunctionValidator(Module& wasm, ValidationInfo* info) : info(*info) { + setModule(&wasm); + } -// Validate the entire module. -void validate(PassRunner* runner) { run(runner, getModule()); } + // Validate the entire module. + void validate(PassRunner* runner) { run(runner, getModule()); } -// Validate a specific expression. -void validate(Expression* curr) { walk(curr); } + // Validate a specific expression. + void validate(Expression* curr) { walk(curr); } -// Validate a function. -void validate(Function* func) { walkFunction(func); } + // Validate a function. + void validate(Function* func) { walkFunction(func); } -std::unordered_map> breakTypes; -std::unordered_set delegateTargetNames; -std::unordered_set rethrowTargetNames; + std::unordered_map> breakTypes; + std::unordered_set delegateTargetNames; + std::unordered_set rethrowTargetNames; -std::unordered_set returnTypes; // types used in returns + std::unordered_set returnTypes; // types used in returns -// Binaryen IR requires that label names must be unique - IR generators must -// ensure that -std::unordered_set labelNames; + // Binaryen IR requires that label names must be unique - IR generators must + // ensure that + std::unordered_set labelNames; -void noteLabelName(Name name); + void noteLabelName(Name name); public: -// visitors + // visitors -void validatePoppyExpression(Expression* curr); + void validatePoppyExpression(Expression* curr); -static void visitPoppyExpression(FunctionValidator* self, - Expression** currp) { - self->validatePoppyExpression(*currp); -} + static void visitPoppyExpression(FunctionValidator* self, + Expression** currp) { + self->validatePoppyExpression(*currp); + } -static void visitPreBlock(FunctionValidator* self, Expression** currp) { - auto* curr = (*currp)->cast(); - if (curr->name.is()) { - self->breakTypes[curr->name]; + static void visitPreBlock(FunctionValidator* self, Expression** currp) { + auto* curr = (*currp)->cast(); + if (curr->name.is()) { + self->breakTypes[curr->name]; + } } -} -void visitBlock(Block* curr); -void validateNormalBlockElements(Block* curr); -void validatePoppyBlockElements(Block* curr); + void visitBlock(Block* curr); + void validateNormalBlockElements(Block* curr); + void validatePoppyBlockElements(Block* curr); -static void visitPreLoop(FunctionValidator* self, Expression** currp) { - auto* curr = (*currp)->cast(); - if (curr->name.is()) { - self->breakTypes[curr->name]; + static void visitPreLoop(FunctionValidator* self, Expression** currp) { + auto* curr = (*currp)->cast(); + if (curr->name.is()) { + self->breakTypes[curr->name]; + } } -} -void visitLoop(Loop* curr); -void visitIf(If* curr); + void visitLoop(Loop* curr); + void visitIf(If* curr); -static void visitPreTry(FunctionValidator* self, Expression** currp) { - auto* curr = (*currp)->cast(); - if (curr->name.is()) { - self->delegateTargetNames.insert(curr->name); - } -} - -// We remove try's label before proceeding to verify catch bodies because the -// following is a validation failure: -// (try $l0 -// (do ... ) -// (catch $e -// (try -// (do ...) -// (delegate $l0) ;; validation failure -// ) -// ) -// ) -// Unlike branches, if delegate's target 'catch' is located above the -// delegate, it is a validation failure. -static void visitPreCatch(FunctionValidator* self, Expression** currp) { - auto* curr = (*currp)->cast(); - if (curr->name.is()) { - self->delegateTargetNames.erase(curr->name); - self->rethrowTargetNames.insert(curr->name); + static void visitPreTry(FunctionValidator* self, Expression** currp) { + auto* curr = (*currp)->cast(); + if (curr->name.is()) { + self->delegateTargetNames.insert(curr->name); + } } -} -// override scan to add a pre and a post check task to all nodes -static void scan(FunctionValidator* self, Expression** currp) { - auto* curr = *currp; - // Treat 'Try' specially because we need to run visitPreCatch between the - // try body and catch bodies - if (curr->is()) { - self->pushTask(doVisitTry, currp); - auto& list = curr->cast()->catchBodies; - for (int i = int(list.size()) - 1; i >= 0; i--) { - self->pushTask(scan, &list[i]); + // We remove try's label before proceeding to verify catch bodies because the + // following is a validation failure: + // (try $l0 + // (do ... ) + // (catch $e + // (try + // (do ...) + // (delegate $l0) ;; validation failure + // ) + // ) + // ) + // Unlike branches, if delegate's target 'catch' is located above the + // delegate, it is a validation failure. + static void visitPreCatch(FunctionValidator* self, Expression** currp) { + auto* curr = (*currp)->cast(); + if (curr->name.is()) { + self->delegateTargetNames.erase(curr->name); + self->rethrowTargetNames.insert(curr->name); } - self->pushTask(visitPreCatch, currp); - self->pushTask(scan, &curr->cast()->body); - self->pushTask(visitPreTry, currp); - return; } - PostWalker::scan(self, currp); - - if (curr->is()) { - self->pushTask(visitPreBlock, currp); - } - if (curr->is()) { - self->pushTask(visitPreLoop, currp); - } - if (auto* func = self->getFunction()) { - if (func->profile == IRProfile::Poppy) { - self->pushTask(visitPoppyExpression, currp); - } - } -} - -void noteBreak(Name name, Expression* value, Expression* curr); -void noteBreak(Name name, Type valueType, Expression* curr); -void visitBreak(Break* curr); -void visitSwitch(Switch* curr); -void visitCall(Call* curr); -void visitCallIndirect(CallIndirect* curr); -void visitConst(Const* curr); -void visitLocalGet(LocalGet* curr); -void visitLocalSet(LocalSet* curr); -void visitGlobalGet(GlobalGet* curr); -void visitGlobalSet(GlobalSet* curr); -void visitLoad(Load* curr); -void visitStore(Store* curr); -void visitAtomicRMW(AtomicRMW* curr); -void visitAtomicCmpxchg(AtomicCmpxchg* curr); -void visitAtomicWait(AtomicWait* curr); -void visitAtomicNotify(AtomicNotify* curr); -void visitAtomicFence(AtomicFence* curr); -void visitSIMDExtract(SIMDExtract* curr); -void visitSIMDReplace(SIMDReplace* curr); -void visitSIMDShuffle(SIMDShuffle* curr); -void visitSIMDTernary(SIMDTernary* curr); -void visitSIMDShift(SIMDShift* curr); -void visitSIMDLoad(SIMDLoad* curr); -void visitSIMDLoadStoreLane(SIMDLoadStoreLane* curr); -void visitMemoryInit(MemoryInit* curr); -void visitDataDrop(DataDrop* curr); -void visitMemoryCopy(MemoryCopy* curr); -void visitMemoryFill(MemoryFill* curr); -void visitBinary(Binary* curr); -void visitUnary(Unary* curr); -void visitSelect(Select* curr); -void visitDrop(Drop* curr); -void visitReturn(Return* curr); -void visitMemorySize(MemorySize* curr); -void visitMemoryGrow(MemoryGrow* curr); -void visitRefNull(RefNull* curr); -void visitRefIs(RefIs* curr); -void visitRefFunc(RefFunc* curr); -void visitRefEq(RefEq* curr); -void visitTableGet(TableGet* curr); -void visitTableSet(TableSet* curr); -void visitTableSize(TableSize* curr); -void visitTableGrow(TableGrow* curr); -void noteDelegate(Name name, Expression* curr); -void noteRethrow(Name name, Expression* curr); -void visitTry(Try* curr); -void visitThrow(Throw* curr); -void visitRethrow(Rethrow* curr); -void visitTupleMake(TupleMake* curr); -void visitTupleExtract(TupleExtract* curr); -void visitCallRef(CallRef* curr); -void visitI31New(I31New* curr); -void visitI31Get(I31Get* curr); -void visitRefTest(RefTest* curr); -void visitRefCast(RefCast* curr); -void visitBrOn(BrOn* curr); -void visitStructNew(StructNew* curr); -void visitStructGet(StructGet* curr); -void visitStructSet(StructSet* curr); -void visitArrayNew(ArrayNew* curr); -void visitArrayInit(ArrayInit* curr); -void visitArrayGet(ArrayGet* curr); -void visitArraySet(ArraySet* curr); -void visitArrayLen(ArrayLen* curr); -void visitArrayCopy(ArrayCopy* curr); -void visitFunction(Function* curr); - -// helpers -private: -std::ostream& getStream() { return info.getStream(getFunction()); } + // override scan to add a pre and a post check task to all nodes + static void scan(FunctionValidator* self, Expression** currp) { + auto* curr = *currp; + // Treat 'Try' specially because we need to run visitPreCatch between the + // try body and catch bodies + if (curr->is()) { + self->pushTask(doVisitTry, currp); + auto& list = curr->cast()->catchBodies; + for (int i = int(list.size()) - 1; i >= 0; i--) { + self->pushTask(scan, &list[i]); + } + self->pushTask(visitPreCatch, currp); + self->pushTask(scan, &curr->cast()->body); + self->pushTask(visitPreTry, currp); + return; + } -template -bool shouldBeTrue(bool result, T curr, const char* text) { - return info.shouldBeTrue(result, curr, text, getFunction()); -} -template -bool shouldBeFalse(bool result, T curr, const char* text) { - return info.shouldBeFalse(result, curr, text, getFunction()); -} + PostWalker::scan(self, currp); -template -bool shouldBeEqual(S left, S right, T curr, const char* text) { - return info.shouldBeEqual(left, right, curr, text, getFunction()); -} + if (curr->is()) { + self->pushTask(visitPreBlock, currp); + } + if (curr->is()) { + self->pushTask(visitPreLoop, currp); + } + if (auto* func = self->getFunction()) { + if (func->profile == IRProfile::Poppy) { + self->pushTask(visitPoppyExpression, currp); + } + } + } -template -bool -shouldBeEqualOrFirstIsUnreachable(S left, S right, T curr, const char* text) { - return info.shouldBeEqualOrFirstIsUnreachable( - left, right, curr, text, getFunction()); -} + void noteBreak(Name name, Expression* value, Expression* curr); + void noteBreak(Name name, Type valueType, Expression* curr); + void visitBreak(Break* curr); + void visitSwitch(Switch* curr); + void visitCall(Call* curr); + void visitCallIndirect(CallIndirect* curr); + void visitConst(Const* curr); + void visitLocalGet(LocalGet* curr); + void visitLocalSet(LocalSet* curr); + void visitGlobalGet(GlobalGet* curr); + void visitGlobalSet(GlobalSet* curr); + void visitLoad(Load* curr); + void visitStore(Store* curr); + void visitAtomicRMW(AtomicRMW* curr); + void visitAtomicCmpxchg(AtomicCmpxchg* curr); + void visitAtomicWait(AtomicWait* curr); + void visitAtomicNotify(AtomicNotify* curr); + void visitAtomicFence(AtomicFence* curr); + void visitSIMDExtract(SIMDExtract* curr); + void visitSIMDReplace(SIMDReplace* curr); + void visitSIMDShuffle(SIMDShuffle* curr); + void visitSIMDTernary(SIMDTernary* curr); + void visitSIMDShift(SIMDShift* curr); + void visitSIMDLoad(SIMDLoad* curr); + void visitSIMDLoadStoreLane(SIMDLoadStoreLane* curr); + void visitMemoryInit(MemoryInit* curr); + void visitDataDrop(DataDrop* curr); + void visitMemoryCopy(MemoryCopy* curr); + void visitMemoryFill(MemoryFill* curr); + void visitBinary(Binary* curr); + void visitUnary(Unary* curr); + void visitSelect(Select* curr); + void visitDrop(Drop* curr); + void visitReturn(Return* curr); + void visitMemorySize(MemorySize* curr); + void visitMemoryGrow(MemoryGrow* curr); + void visitRefNull(RefNull* curr); + void visitRefIs(RefIs* curr); + void visitRefFunc(RefFunc* curr); + void visitRefEq(RefEq* curr); + void visitTableGet(TableGet* curr); + void visitTableSet(TableSet* curr); + void visitTableSize(TableSize* curr); + void visitTableGrow(TableGrow* curr); + void noteDelegate(Name name, Expression* curr); + void noteRethrow(Name name, Expression* curr); + void visitTry(Try* curr); + void visitThrow(Throw* curr); + void visitRethrow(Rethrow* curr); + void visitTupleMake(TupleMake* curr); + void visitTupleExtract(TupleExtract* curr); + void visitCallRef(CallRef* curr); + void visitI31New(I31New* curr); + void visitI31Get(I31Get* curr); + void visitRefTest(RefTest* curr); + void visitRefCast(RefCast* curr); + void visitBrOn(BrOn* curr); + void visitStructNew(StructNew* curr); + void visitStructGet(StructGet* curr); + void visitStructSet(StructSet* curr); + void visitArrayNew(ArrayNew* curr); + void visitArrayInit(ArrayInit* curr); + void visitArrayGet(ArrayGet* curr); + void visitArraySet(ArraySet* curr); + void visitArrayLen(ArrayLen* curr); + void visitArrayCopy(ArrayCopy* curr); + void visitFunction(Function* curr); + + // helpers +private: + std::ostream& getStream() { return info.getStream(getFunction()); } -template -bool shouldBeUnequal(S left, S right, T curr, const char* text) { - return info.shouldBeUnequal(left, right, curr, text, getFunction()); -} + template + bool shouldBeTrue(bool result, T curr, const char* text) { + return info.shouldBeTrue(result, curr, text, getFunction()); + } + template + bool shouldBeFalse(bool result, T curr, const char* text) { + return info.shouldBeFalse(result, curr, text, getFunction()); + } -void shouldBeIntOrUnreachable(Type ty, Expression* curr, const char* text) { - return info.shouldBeIntOrUnreachable(ty, curr, text, getFunction()); -} + template + bool shouldBeEqual(S left, S right, T curr, const char* text) { + return info.shouldBeEqual(left, right, curr, text, getFunction()); + } -bool -shouldBeSubType(Type left, Type right, Expression* curr, const char* text) { - return info.shouldBeSubType(left, right, curr, text, getFunction()); -} + template + bool + shouldBeEqualOrFirstIsUnreachable(S left, S right, T curr, const char* text) { + return info.shouldBeEqualOrFirstIsUnreachable( + left, right, curr, text, getFunction()); + } -void validateAlignment( - size_t align, Type type, Index bytes, bool isAtomic, Expression* curr); -void validateMemBytes(uint8_t bytes, Type type, Expression* curr); + template + bool shouldBeUnequal(S left, S right, T curr, const char* text) { + return info.shouldBeUnequal(left, right, curr, text, getFunction()); + } -template void validateReturnCall(T* curr) { - shouldBeTrue(!curr->isReturn || getModule()->features.hasTailCall(), - curr, - "return_call* requires tail calls to be enabled"); -} + void shouldBeIntOrUnreachable(Type ty, Expression* curr, const char* text) { + return info.shouldBeIntOrUnreachable(ty, curr, text, getFunction()); + } -// |printable| is the expression to print in case of an error. That may differ -// from |curr| which we are validating. -template -void validateCallParamsAndResult(T* curr, - HeapType sigType, - Expression* printable) { - if (!shouldBeTrue(sigType.isSignature(), - printable, - "Heap type must be a signature type")) { - return; + bool + shouldBeSubType(Type left, Type right, Expression* curr, const char* text) { + return info.shouldBeSubType(left, right, curr, text, getFunction()); } - auto sig = sigType.getSignature(); - if (!shouldBeTrue(curr->operands.size() == sig.params.size(), - printable, - "call* param number must match")) { - return; + + void validateAlignment( + size_t align, Type type, Index bytes, bool isAtomic, Expression* curr); + void validateMemBytes(uint8_t bytes, Type type, Expression* curr); + + template void validateReturnCall(T* curr) { + shouldBeTrue(!curr->isReturn || getModule()->features.hasTailCall(), + curr, + "return_call* requires tail calls to be enabled"); } - size_t i = 0; - for (const auto& param : sig.params) { - if (!shouldBeSubType(curr->operands[i]->type, - param, - printable, - "call param types must match") && - !info.quiet) { - getStream() << "(on argument " << i << ")\n"; + + // |printable| is the expression to print in case of an error. That may differ + // from |curr| which we are validating. + template + void validateCallParamsAndResult(T* curr, + HeapType sigType, + Expression* printable) { + if (!shouldBeTrue(sigType.isSignature(), + printable, + "Heap type must be a signature type")) { + return; + } + auto sig = sigType.getSignature(); + if (!shouldBeTrue(curr->operands.size() == sig.params.size(), + printable, + "call* param number must match")) { + return; + } + size_t i = 0; + for (const auto& param : sig.params) { + if (!shouldBeSubType(curr->operands[i]->type, + param, + printable, + "call param types must match") && + !info.quiet) { + getStream() << "(on argument " << i << ")\n"; + } + ++i; + } + if (curr->isReturn) { + shouldBeEqual(curr->type, + Type(Type::unreachable), + printable, + "return_call* should have unreachable type"); + shouldBeSubType( + sig.results, + getFunction()->getResults(), + printable, + "return_call* callee return type must match caller return type"); + } else { + shouldBeEqualOrFirstIsUnreachable( + curr->type, + sig.results, + printable, + "call* type must match callee return type"); } - ++i; - } - if (curr->isReturn) { - shouldBeEqual(curr->type, - Type(Type::unreachable), - printable, - "return_call* should have unreachable type"); - shouldBeSubType( - sig.results, - getFunction()->getResults(), - printable, - "return_call* callee return type must match caller return type"); - } else { - shouldBeEqualOrFirstIsUnreachable( - curr->type, - sig.results, - printable, - "call* type must match callee return type"); } -} // In the common case, we use |curr| as |printable|. template From 94d52a5e422c6b1c49ffd399b20fe97570973d2e Mon Sep 17 00:00:00 2001 From: Ashley Nelson Date: Thu, 18 Aug 2022 00:53:34 +0000 Subject: [PATCH 78/78] updating test with memory --- test/lit/wasm-split/instrument-in-memory.wast | 83 ++++++++++++++----- 1 file changed, 63 insertions(+), 20 deletions(-) diff --git a/test/lit/wasm-split/instrument-in-memory.wast b/test/lit/wasm-split/instrument-in-memory.wast index a9f67f2844f..3a3c19d7fd9 100644 --- a/test/lit/wasm-split/instrument-in-memory.wast +++ b/test/lit/wasm-split/instrument-in-memory.wast @@ -1,4 +1,3 @@ -;; NOTE: Assertions have been generated by update_lit_checks.py and should not be edited. ;; RUN: wasm-split %s --instrument --in-memory -all -S -o - | filecheck %s ;; Check that the output round trips and validates as well @@ -6,41 +5,85 @@ ;; RUN: wasm-opt -all %t.wasm -S -o - (module - ;; CHECK: (import "env" "foo" (func $foo)) - - ;; CHECK: (memory $0 1 1) - (memory $0 1 1) (import "env" "foo" (func $foo)) - ;; CHECK: (export "bar" (func $bar)) (export "bar" (func $bar)) - ;; CHECK: (func $bar - ;; CHECK-NEXT: (i32.atomic.store8 - ;; CHECK-NEXT: (i32.const 0) - ;; CHECK-NEXT: (i32.const 1) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (call $foo) - ;; CHECK-NEXT: ) + (memory $0 1 1) (func $bar (call $foo) ) - ;; CHECK: (func $baz (param $0 i32) (result i32) - ;; CHECK-NEXT: (i32.atomic.store8 offset=1 - ;; CHECK-NEXT: (i32.const 0) - ;; CHECK-NEXT: (i32.const 1) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.get $0) - ;; CHECK-NEXT: ) (func $baz (param i32) (result i32) (local.get 0) ) ) ;; Check that a memory has been added +;; CHECK: (memory $0 1 1) ;; And the profiling function exported +;; CHECK: (export "__write_profile" (func $__write_profile)) ;; Check that the function instrumentation is correct +;; CHECK: (func $bar +;; CHECK-NEXT: (i32.atomic.store8 +;; CHECK-NEXT: (i32.const 0) +;; CHECK-NEXT: (i32.const 1) +;; CHECK-NEXT: ) +;; CHECK-NEXT: (call $foo) +;; CHECK-NEXT: ) + +;; CHECK-NEXT: (func $baz (param $0 i32) (result i32) +;; CHECK-NEXT: (i32.atomic.store8 offset=1 +;; CHECK-NEXT: (i32.const 0) +;; CHECK-NEXT: (i32.const 1) +;; CHECK-NEXT: ) +;; CHECK-NEXT: (local.get $0) +;; CHECK-NEXT: ) ;; Check that the profiling function is correct. +;; CHECK: (func $__write_profile (param $addr i32) (param $size i32) (result i32) +;; CHECK-NEXT: (local $funcIdx i32) +;; CHECK-NEXT: (if +;; CHECK-NEXT: (i32.ge_u +;; CHECK-NEXT: (local.get $size) +;; CHECK-NEXT: (i32.const 16) +;; CHECK-NEXT: ) +;; CHECK-NEXT: (block +;; CHECK-NEXT: (i64.store align=1 +;; CHECK-NEXT: (local.get $addr) +;; CHECK-NEXT: (i64.const {{.*}}) +;; CHECK-NEXT: ) +;; CHECK-NEXT: (block $outer +;; CHECK-NEXT: (loop $l +;; CHECK-NEXT: (br_if $outer +;; CHECK-NEXT: (i32.eq +;; CHECK-NEXT: (local.get $funcIdx) +;; CHECK-NEXT: (i32.const 2) +;; CHECK-NEXT: ) +;; CHECK-NEXT: ) +;; CHECK-NEXT: (i32.store offset=8 +;; CHECK-NEXT: (i32.add +;; CHECK-NEXT: (local.get $addr) +;; CHECK-NEXT: (i32.mul +;; CHECK-NEXT: (local.get $funcIdx) +;; CHECK-NEXT: (i32.const 4) +;; CHECK-NEXT: ) +;; CHECK-NEXT: ) +;; CHECK-NEXT: (i32.atomic.load8_u +;; CHECK-NEXT: (local.get $funcIdx) +;; CHECK-NEXT: ) +;; CHECK-NEXT: ) +;; CHECK-NEXT: (local.set $funcIdx +;; CHECK-NEXT: (i32.add +;; CHECK-NEXT: (local.get $funcIdx) +;; CHECK-NEXT: (i32.const 1) +;; CHECK-NEXT: ) +;; CHECK-NEXT: ) +;; CHECK-NEXT: (br $l) +;; CHECK-NEXT: ) +;; CHECK-NEXT: ) +;; CHECK-NEXT: ) +;; CHECK-NEXT: ) +;; CHECK-NEXT: (i32.const 16) +;; CHECK-NEXT: )