diff options
-rwxr-xr-x | check.py | 2 | ||||
-rw-r--r-- | src/asm2wasm.h | 23 | ||||
-rw-r--r-- | src/ast_utils.h | 43 | ||||
-rw-r--r-- | src/passes/LowerCase.cpp | 2 | ||||
-rw-r--r-- | src/passes/LowerIfElse.cpp | 2 | ||||
-rw-r--r-- | src/passes/LowerInt64.cpp | 3 | ||||
-rw-r--r-- | src/passes/Print.cpp | 17 | ||||
-rw-r--r-- | src/s2wasm.h | 3 | ||||
-rw-r--r-- | src/shared-constants.h | 2 | ||||
-rw-r--r-- | src/wasm-binary.h | 4 | ||||
-rw-r--r-- | src/wasm-s-parser.h | 65 | ||||
-rw-r--r-- | src/wasm.h | 6 | ||||
-rw-r--r-- | test/emcc_O2_hello_world.fromasm | 420 | ||||
-rw-r--r-- | test/emcc_hello_world.fromasm | 786 | ||||
-rw-r--r-- | test/min.2asm.js | 1 | ||||
-rw-r--r-- | test/min.asm.js | 1 | ||||
-rw-r--r-- | test/min.fromasm | 5 | ||||
-rw-r--r-- | test/min.wast | 2 | ||||
-rw-r--r-- | test/min.wast.fromBinary | 4 | ||||
-rw-r--r-- | test/passes/metrics.txt | 6 | ||||
-rw-r--r-- | test/passes/remove-unused-brs.txt | 18 | ||||
-rw-r--r-- | test/print/min.minified.txt | 2 | ||||
-rw-r--r-- | test/print/min.txt | 2 | ||||
-rw-r--r-- | test/print/min.wast | 2 | ||||
m--------- | test/spec | 0 | ||||
-rw-r--r-- | test/two_sides.fromasm | 2 | ||||
-rw-r--r-- | test/unit.fromasm | 2 |
27 files changed, 771 insertions, 654 deletions
@@ -317,7 +317,7 @@ for t in sorted(os.listdir(os.path.join('test', 'print'))): cmd = [os.path.join('bin', 'binaryen-shell'), os.path.join('test', 'print', t), '--print-minified'] print ' ', ' '.join(cmd) actual, err = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE).communicate() - fail_if_not_identical(actual, open(os.path.join('test', 'print', wasm + '.minified.txt')).read()) + fail_if_not_identical(actual.strip(), open(os.path.join('test', 'print', wasm + '.minified.txt')).read().strip()) print '\n[ checking binaryen-shell passes... ]\n' diff --git a/src/asm2wasm.h b/src/asm2wasm.h index c13c847e7..be11344b2 100644 --- a/src/asm2wasm.h +++ b/src/asm2wasm.h @@ -28,6 +28,7 @@ #include "shared-constants.h" #include "asm_v_wasm.h" #include "pass.h" +#include "ast_utils.h" namespace wasm { @@ -66,17 +67,6 @@ struct AstStackHelper { std::vector<Ref> AstStackHelper::astStack; -struct BreakSeeker : public WasmWalker<BreakSeeker> { - IString target; // look for this one - size_t found; - - BreakSeeker(IString target) : target(target), found(false) {} - - void visitBreak(Break *curr) { - if (curr->name == target) found++; - } -}; - // // Asm2WasmPreProcessor - does some initial parsing/processing // of asm.js code. @@ -431,6 +421,7 @@ private: if (expression->is<Block>()) return expression->dyn_cast<Block>(); auto ret = allocator.alloc<Block>(); ret->list.push_back(expression); + ret->finalize(); return ret; } @@ -1154,7 +1145,7 @@ Function* Asm2WasmBuilder::processFunction(Ref ast) { select->condition = isNegative; select->type = i32; block->list.push_back(select); - block->type = i32; + block->finalize(); return block; } else if (value->type == f32 || value->type == f64) { auto ret = allocator.alloc<Unary>(); @@ -1237,6 +1228,7 @@ Function* Asm2WasmBuilder::processFunction(Ref ast) { block = allocator.alloc<Block>(); block->name = name; block->list.push_back(ret); + block->finalize(); ret = block; } } @@ -1279,6 +1271,7 @@ Function* Asm2WasmBuilder::processFunction(Ref ast) { auto body = allocator.alloc<Block>(); body->list.push_back(condition); body->list.push_back(process(ast[2])); + body->finalize(); ret->body = body; } // loops do not automatically loop, add a branch back @@ -1313,6 +1306,7 @@ Function* Asm2WasmBuilder::processFunction(Ref ast) { auto block = allocator.alloc<Block>(); block->list.push_back(child); block->name = stop; + block->finalize(); return block; } else { auto loop = allocator.alloc<Loop>(); @@ -1376,6 +1370,7 @@ Function* Asm2WasmBuilder::processFunction(Ref ast) { body->list.push_back(condition); body->list.push_back(process(fbody)); body->list.push_back(process(finc)); + body->finalize(); ret->body = body; // loops do not automatically loop, add a branch back Block* block = blockify(ret->body); @@ -1389,6 +1384,7 @@ Function* Asm2WasmBuilder::processFunction(Ref ast) { // add an outer block for the init as well outer->list.push_back(process(finit)); outer->list.push_back(ret); + outer->finalize(); return outer; } else if (what == LABEL) { assert(parentLabel.isNull()); @@ -1405,7 +1401,7 @@ Function* Asm2WasmBuilder::processFunction(Ref ast) { auto ret = allocator.alloc<Block>(); ret->list.push_back(process(ast[1])); ret->list.push_back(process(ast[2])); - ret->type = ret->list[1]->type; + ret->finalize(); return ret; } else if (what == SWITCH) { IString name; @@ -1510,6 +1506,7 @@ Function* Asm2WasmBuilder::processFunction(Ref ast) { for (unsigned i = from; i < ast->size(); i++) { block->list.push_back(process(ast[i])); } + block->finalize(); return block; }; // body diff --git a/src/ast_utils.h b/src/ast_utils.h new file mode 100644 index 000000000..df2ffe578 --- /dev/null +++ b/src/ast_utils.h @@ -0,0 +1,43 @@ +/* + * Copyright 2016 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. + */ + +#ifndef wasm_ast_utils_h +#define wasm_ast_utils_h + +#include "wasm.h" + +namespace wasm { + +struct BreakSeeker : public WasmWalker<BreakSeeker> { + Name target; // look for this one + size_t found; + + BreakSeeker(Name target) : target(target), found(false) {} + + void visitBreak(Break *curr) { + if (curr->name == target) found++; + } + + static bool has(Expression* tree, Name target) { + BreakSeeker breakSeeker(target); + breakSeeker.walk(tree); + return breakSeeker.found > 0; + } +}; + +} // namespace wasm + +#endif // wasm_ast_utils_h diff --git a/src/passes/LowerCase.cpp b/src/passes/LowerCase.cpp index f890de411..c0ab8d235 100644 --- a/src/passes/LowerCase.cpp +++ b/src/passes/LowerCase.cpp @@ -84,11 +84,13 @@ struct LowerCase : public WalkerPass<WasmWalker<LowerCase, void>> { if (curr->cases.size() == 0) return; auto top = allocator->alloc<Block>(); top->list.push_back(curr); + top->finalize(); for (auto& c : curr->cases) { top->name = c.name; auto next = allocator->alloc<Block>(); next->list.push_back(top); next->list.push_back(c.body); + next->finalize(); top = next; } curr->cases.clear(); diff --git a/src/passes/LowerIfElse.cpp b/src/passes/LowerIfElse.cpp index fa575d87d..922a294d2 100644 --- a/src/passes/LowerIfElse.cpp +++ b/src/passes/LowerIfElse.cpp @@ -49,7 +49,7 @@ struct LowerIfElse : public WalkerPass<WasmWalker<LowerIfElse, void>> { block->name = name; block->list.push_back(curr); block->list.push_back(curr->ifFalse); - block->type = curr->type; + block->finalize(); curr->ifFalse = nullptr; auto break_ = allocator->alloc<Break>(); break_->name = name; diff --git a/src/passes/LowerInt64.cpp b/src/passes/LowerInt64.cpp index 58e56cba6..7af7443e5 100644 --- a/src/passes/LowerInt64.cpp +++ b/src/passes/LowerInt64.cpp @@ -112,7 +112,7 @@ struct LowerInt64 : public Pass { ret->list.push_back(curr); ret->list.push_back(set); ret->list.push_back(low); // so the block returns the low bits - ret->type = i32; + ret->finalize(); fixes[ret] = high; replaceCurrent(ret); } @@ -132,6 +132,7 @@ struct LowerInt64 : public Pass { set->type = value->type; ret->list.push_back(set); } + ret->finalize(); return ret; } diff --git a/src/passes/Print.cpp b/src/passes/Print.cpp index f365db02f..e8e917a6e 100644 --- a/src/passes/Print.cpp +++ b/src/passes/Print.cpp @@ -65,11 +65,22 @@ struct PrintSExpression : public WasmVisitor<PrintSExpression, void> { decIndent(); } void visitIf(If *curr) { - printOpening(o, curr->ifFalse ? "if_else" : "if"); + printOpening(o, "if"); incIndent(); printFullLine(curr->condition); - printFullLine(curr->ifTrue); - if (curr->ifFalse) printFullLine(curr->ifFalse); + // ifTrue and False have implict blocks, avoid printing them if possible + if (curr->ifTrue->is<Block>() && curr->ifTrue->dyn_cast<Block>()->name.isNull() && curr->ifTrue->dyn_cast<Block>()->list.size() == 1) { + printFullLine(curr->ifTrue->dyn_cast<Block>()->list.back()); + } else { + printFullLine(curr->ifTrue); + } + if (curr->ifFalse) { + if (curr->ifFalse->is<Block>() && curr->ifFalse->dyn_cast<Block>()->name.isNull() && curr->ifFalse->dyn_cast<Block>()->list.size() == 1) { + printFullLine(curr->ifFalse->dyn_cast<Block>()->list.back()); + } else { + printFullLine(curr->ifFalse); + } + } decIndent(); } void visitLoop(Loop *curr) { diff --git a/src/s2wasm.h b/src/s2wasm.h index 0520d5c3b..2de6cd60f 100644 --- a/src/s2wasm.h +++ b/src/s2wasm.h @@ -528,6 +528,7 @@ class S2WasmBuilder { last = last->cast<Loop>()->body; } last->cast<Block>()->list.push_back(curr); + last->cast<Block>()->finalize(); }; bstack.push_back(func->body); std::vector<Expression*> estack; @@ -1023,6 +1024,7 @@ class S2WasmBuilder { for (auto block : loopBlocks) { block->name = Name(); } + func->body->dyn_cast<Block>()->finalize(); wasm.addFunction(func); // XXX for now, export all functions auto exp = allocator.alloc<Export>(); @@ -1243,6 +1245,7 @@ class S2WasmBuilder { call->operands.push_back(param); } block->list.push_back(call); + block->finalize(); } } } diff --git a/src/shared-constants.h b/src/shared-constants.h index 053aecc83..03409de6e 100644 --- a/src/shared-constants.h +++ b/src/shared-constants.h @@ -68,6 +68,8 @@ cashew::IString GLOBAL("global"), CALL_IMPORT("call_import"), CALL_INDIRECT("call_indirect"), BR_IF("br_if"), + THEN("then"), + ELSE("else"), NEG_INFINITY("-infinity"), NEG_NAN("-nan"), CASE("case"), diff --git a/src/wasm-binary.h b/src/wasm-binary.h index 8fc6beb6c..993b4522d 100644 --- a/src/wasm-binary.h +++ b/src/wasm-binary.h @@ -1359,9 +1359,7 @@ public: curr->list.push_back(expressionStack[i]); } expressionStack.resize(start); - if (curr->list.size() > 0) { - curr->type = curr->list.back()->type; - } + curr->finalize(); breakStack.pop_back(); } void visitIf(If *curr, uint8_t code) { diff --git a/src/wasm-s-parser.h b/src/wasm-s-parser.h index 24ca1b811..f3a28fd1a 100644 --- a/src/wasm-s-parser.h +++ b/src/wasm-s-parser.h @@ -29,6 +29,7 @@ #include "shared-constants.h" #include "parsing.h" #include "asm_v_wasm.h" +#include "ast_utils.h" namespace wasm { @@ -380,6 +381,7 @@ private: if (!autoBlock) { autoBlock = allocator.alloc<Block>(); autoBlock->list.push_back(func->body); + autoBlock->finalize(); func->body = autoBlock; } autoBlock->list.push_back(ex); @@ -567,6 +569,10 @@ public: } abort_on(str); } + case 'e': { + if (str[1] == 'l') return makeThenOrElse(s); + abort_on(str); + } case 'g': { if (str[1] == 'e') return makeGetLocal(s); if (str[1] == 'r') return makeHost(s, HostOp::GrowMemory); @@ -607,6 +613,7 @@ public: } case 't': { if (str[1] == 'a') return makeSwitch(s); // aka tableswitch + if (str[1] == 'h') return makeThenOrElse(s); abort_on(str); } case 'u': { @@ -688,8 +695,9 @@ private: Expression* makeBlock(Element& s) { auto ret = allocator.alloc<Block>(); size_t i = 1; - if (s[1]->isStr()) { - ret->name = s[1]->str(); + if (i >= s.size()) return ret; // empty block + if (s[i]->isStr()) { + ret->name = s[i]->str(); i++; } else { ret->name = getPrefixedName("block"); @@ -699,7 +707,21 @@ private: ret->list.push_back(parseExpression(s[i])); } labelStack.pop_back(); - if (ret->list.size() > 0) ret->type = ret->list.back()->type; + ret->finalize(); + return ret; + } + + // Similar to block, but the label is handled by the enclosing if (since there might not be a then or else, ick) + Expression* makeThenOrElse(Element& s) { + auto ret = allocator.alloc<Block>(); + size_t i = 1; + if (s[1]->isStr()) { + i++; + } + for (; i < s.size(); i++) { + ret->list.push_back(parseExpression(s[i])); + } + ret->finalize(); return ret; } @@ -788,9 +810,38 @@ private: Expression* makeIf(Element& s) { auto ret = allocator.alloc<If>(); ret->condition = parseExpression(s[1]); - ret->ifTrue = parseExpression(s[2]); + + // ifTrue and ifFalse may get implicit blocks + auto handle = [&](const char* title, Element& s) { + Name name = getPrefixedName(title); + bool explicitThenElse = false; + if (s[0]->str() == THEN || s[0]->str() == ELSE) { + explicitThenElse = true; + if (s[1]->dollared()) { + name = s[1]->str(); + } + } + labelStack.push_back(name); + auto* ret = parseExpression(&s); + labelStack.pop_back(); + if (explicitThenElse) { + ret->dyn_cast<Block>()->name = name; + } else { + // add a block if we must + if (BreakSeeker::has(ret, name)) { + auto* block = allocator.alloc<Block>(); + block->name = name; + block->list.push_back(ret); + block->finalize(); + ret = block; + } + } + return ret; + }; + + ret->ifTrue = handle("if-true", *s[2]); if (s.size() == 4) { - ret->ifFalse = parseExpression(s[3]); + ret->ifFalse = handle("if-else", *s[3]); ret->finalize(); } return ret; @@ -802,9 +853,7 @@ private: for (; i < s.size() && i < stopAt; i++) { ret->list.push_back(parseExpression(s[i])); } - if (ret->list.size() > 0) { - ret->type = ret->list.back()->type; - } + ret->finalize(); // Note that we do not name these implicit/synthetic blocks. They // are the effects of syntactic sugar, and nothing can branch to // them anyhow. diff --git a/src/wasm.h b/src/wasm.h index ec2cd469e..ba9d7de3d 100644 --- a/src/wasm.h +++ b/src/wasm.h @@ -794,6 +794,12 @@ public: Name name; ExpressionList list; + + void finalize() { + if (list.size() > 0) { + type = list.back()->type; + } + } }; class If : public Expression { diff --git a/test/emcc_O2_hello_world.fromasm b/test/emcc_O2_hello_world.fromasm index 1010ef777..9bdf4286c 100644 --- a/test/emcc_O2_hello_world.fromasm +++ b/test/emcc_O2_hello_world.fromasm @@ -134,14 +134,14 @@ (local $i48 i32) (local $i27 i32) (block $do-once$0 - (if_else + (if (i32.lt_u (get_local $i1) (i32.const 245) ) (block (set_local $i2 - (if_else + (if (i32.lt_u (get_local $i1) (i32.const 11) @@ -226,7 +226,7 @@ ) ) (block $do-once$2 - (if_else + (if (i32.ne (get_local $i7) (get_local $i11) @@ -247,7 +247,7 @@ (i32.const 12) ) ) - (if_else + (if (i32.eq (i32.load (get_local $i12) @@ -327,7 +327,7 @@ (i32.const 184) ) ) - (if_else + (if (i32.gt_u (get_local $i2) (get_local $i8) @@ -494,7 +494,7 @@ ) ) (block $do-once$4 - (if_else + (if (i32.ne (get_local $i15) (get_local $i7) @@ -515,7 +515,7 @@ (i32.const 12) ) ) - (if_else + (if (i32.eq (i32.load (get_local $i11) @@ -634,7 +634,7 @@ (get_local $i16) ) ) - (if_else + (if (i32.and (get_local $i3) (get_local $i5) @@ -651,7 +651,7 @@ (get_local $i16) ) ) - (if_else + (if (i32.lt_u (get_local $i10) (i32.load @@ -727,7 +727,7 @@ (i32.const 180) ) ) - (if_else + (if (get_local $i4) (block (set_local $i8 @@ -860,7 +860,7 @@ (get_local $i3) ) ) - (if_else + (if (i32.eq (get_local $i10) (i32.const 0) @@ -871,7 +871,7 @@ (get_local $i3) ) ) - (if_else + (if (i32.eq (get_local $i15) (i32.const 0) @@ -912,7 +912,7 @@ ) ) (set_local $i5 - (if_else + (if (get_local $i15) (get_local $i10) (get_local $i5) @@ -922,7 +922,7 @@ (get_local $i23) ) (set_local $i7 - (if_else + (if (get_local $i15) (get_local $i23) (get_local $i7) @@ -966,7 +966,7 @@ ) ) (block $do-once$8 - (if_else + (if (i32.eq (get_local $i12) (get_local $i22) @@ -983,7 +983,7 @@ (get_local $i14) ) ) - (if_else + (if (i32.eq (get_local $i17) (i32.const 0) @@ -1000,7 +1000,7 @@ (get_local $i15) ) ) - (if_else + (if (i32.eq (get_local $i10) (i32.const 0) @@ -1065,7 +1065,7 @@ (get_local $i14) ) ) - (if_else + (if (i32.eq (get_local $i17) (i32.const 0) @@ -1090,7 +1090,7 @@ ) (br $while-in$11) ) - (if_else + (if (i32.lt_u (get_local $i28) (get_local $i7) @@ -1142,7 +1142,7 @@ (i32.const 8) ) ) - (if_else + (if (i32.eq (i32.load (get_local $i15) @@ -1186,7 +1186,7 @@ ) ) ) - (if_else + (if (i32.eq (get_local $i22) (i32.load @@ -1239,7 +1239,7 @@ (i32.const 16) ) ) - (if_else + (if (i32.eq (i32.load (get_local $i12) @@ -1287,7 +1287,7 @@ (block $do-once$14 (if (get_local $i7) - (if_else + (if (i32.lt_u (get_local $i7) (get_local $i12) @@ -1314,7 +1314,7 @@ ) (if (get_local $i7) - (if_else + (if (i32.lt_u (get_local $i7) (i32.load @@ -1338,7 +1338,7 @@ ) ) ) - (if_else + (if (i32.lt_u (get_local $i21) (i32.const 16) @@ -1440,7 +1440,7 @@ (get_local $i12) ) ) - (if_else + (if (i32.and (get_local $i14) (get_local $i15) @@ -1457,7 +1457,7 @@ (get_local $i12) ) ) - (if_else + (if (i32.lt_u (get_local $i17) (i32.load @@ -1542,7 +1542,7 @@ ) ) ) - (if_else + (if (i32.le_u (get_local $i1) (i32.const -65) @@ -1565,7 +1565,7 @@ (i32.const 180) ) ) - (if_else + (if (get_local $i15) (block (set_local $i14 @@ -1580,9 +1580,9 @@ (i32.const 8) ) ) - (if_else + (if (get_local $i17) - (if_else + (if (i32.gt_u (get_local $i5) (i32.const 16777215) @@ -1693,7 +1693,7 @@ ) ) (block $label$break$L123 - (if_else + (if (i32.eq (get_local $i4) (i32.const 0) @@ -1722,7 +1722,7 @@ (set_local $i7 (i32.shl (get_local $i5) - (if_else + (if (i32.eq (get_local $i32) (i32.const 31) @@ -1759,12 +1759,12 @@ (get_local $i5) ) ) - (if_else + (if (i32.lt_u (get_local $i9) (get_local $i12) ) - (if_else + (if (i32.eq (get_local $i16) (get_local $i5) @@ -1825,7 +1825,7 @@ ) ) (set_local $i16 - (if_else + (if (i32.or (i32.eq (get_local $i9) @@ -1846,7 +1846,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $i9) (block (set_local $i33 @@ -1898,7 +1898,7 @@ (i32.const 86) ) (block - (if_else + (if (i32.and (i32.eq (get_local $i34) @@ -2052,7 +2052,7 @@ (get_local $i34) ) ) - (if_else + (if (i32.eq (get_local $i42) (i32.const 0) @@ -2109,14 +2109,14 @@ ) ) (set_local $i3 - (if_else + (if (get_local $i7) (get_local $i8) (get_local $i37) ) ) (set_local $i8 - (if_else + (if (get_local $i7) (get_local $i38) (get_local $i39) @@ -2150,7 +2150,7 @@ (get_local $i38) ) ) - (if_else + (if (i32.eq (get_local $i38) (i32.const 0) @@ -2179,8 +2179,8 @@ (br $while-in$20) ) ) - (if_else - (if_else + (if + (if (i32.ne (get_local $i44) (i32.const 0) @@ -2233,7 +2233,7 @@ ) ) (block $do-once$21 - (if_else + (if (i32.eq (get_local $i7) (get_local $i44) @@ -2250,7 +2250,7 @@ (get_local $i2) ) ) - (if_else + (if (i32.eq (get_local $i14) (i32.const 0) @@ -2267,7 +2267,7 @@ (get_local $i4) ) ) - (if_else + (if (i32.eq (get_local $i10) (i32.const 0) @@ -2332,7 +2332,7 @@ (get_local $i2) ) ) - (if_else + (if (i32.eq (get_local $i14) (i32.const 0) @@ -2357,7 +2357,7 @@ ) (br $while-in$24) ) - (if_else + (if (i32.lt_u (get_local $i49) (get_local $i15) @@ -2409,7 +2409,7 @@ (i32.const 8) ) ) - (if_else + (if (i32.eq (i32.load (get_local $i4) @@ -2453,7 +2453,7 @@ ) ) ) - (if_else + (if (i32.eq (get_local $i44) (i32.load @@ -2506,7 +2506,7 @@ (i32.const 16) ) ) - (if_else + (if (i32.eq (i32.load (get_local $i7) @@ -2554,7 +2554,7 @@ (block $do-once$27 (if (get_local $i15) - (if_else + (if (i32.lt_u (get_local $i15) (get_local $i7) @@ -2581,7 +2581,7 @@ ) (if (get_local $i15) - (if_else + (if (i32.lt_u (get_local $i15) (i32.load @@ -2606,7 +2606,7 @@ ) ) (block $do-once$29 - (if_else + (if (i32.ge_u (get_local $i43) (i32.const 16) @@ -2668,7 +2668,7 @@ (get_local $i3) ) ) - (if_else + (if (i32.and (get_local $i7) (get_local $i2) @@ -2685,7 +2685,7 @@ (get_local $i3) ) ) - (if_else + (if (i32.lt_u (get_local $i4) (i32.load @@ -2747,9 +2747,9 @@ (i32.const 8) ) ) - (if_else + (if (get_local $i15) - (if_else + (if (i32.gt_u (get_local $i43) (i32.const 16777215) @@ -2927,7 +2927,7 @@ (set_local $i4 (i32.shl (get_local $i43) - (if_else + (if (i32.eq (get_local $i52) (i32.const 31) @@ -2989,7 +2989,7 @@ (get_local $i3) ) ) - (if_else + (if (i32.eq (get_local $i2) (i32.const 0) @@ -3020,12 +3020,12 @@ ) (br $while-in$32) ) - (if_else + (if (i32.eq (get_local $i36) (i32.const 145) ) - (if_else + (if (i32.lt_u (get_local $i54) (i32.load @@ -3075,7 +3075,7 @@ (i32.const 192) ) ) - (if_else + (if (i32.and (i32.ge_u (get_local $i4) @@ -3198,7 +3198,7 @@ (i32.const 196) ) ) - (if_else + (if (i32.gt_u (get_local $i43) (i32.const 15) @@ -3362,7 +3362,7 @@ (i32.const 30) ) ) - (if_else + (if (i32.eq (i32.and (i32.add @@ -3472,7 +3472,7 @@ ) ) (if - (if_else + (if (i32.ne (get_local $i52) (i32.const 0) @@ -3512,7 +3512,7 @@ ) ) (block $label$break$L257 - (if_else + (if (i32.eq (i32.and (i32.load @@ -3529,7 +3529,7 @@ ) ) (block $label$break$L259 - (if_else + (if (get_local $i52) (block (set_local $i50 @@ -3542,7 +3542,7 @@ ) ) (if - (if_else + (if (i32.le_u (get_local $i51) (get_local $i52) @@ -3617,7 +3617,7 @@ (get_local $i50) ) ) - (if_else + (if (i32.eq (get_local $i45) (i32.add @@ -3669,7 +3669,7 @@ ) (block $do-once$39 (if - (if_else + (if (i32.eq (get_local $i36) (i32.const 173) @@ -3702,7 +3702,7 @@ (i32.const -1) ) ) - (if_else + (if (i32.eq (i32.and (get_local $i45) @@ -3761,7 +3761,7 @@ ) ) (br_if $do-once$39 - (if_else + (if (i32.ne (get_local $i45) (i32.const 0) @@ -3784,7 +3784,7 @@ (get_local $i62) ) ) - (if_else + (if (i32.eq (get_local $i45) (get_local $i52) @@ -3832,8 +3832,8 @@ ) ) (block $do-once$42 - (if_else - (if_else + (if + (if (i32.and (i32.gt_u (get_local $i53) @@ -3878,7 +3878,7 @@ ) (i32.const 0) ) - (if_else + (if (i32.eq (call_import $_sbrk (get_local $i5) @@ -3946,9 +3946,9 @@ ) ) (if - (if_else - (if_else - (if_else + (if + (if + (if (i32.eq (get_local $i36) (i32.const 190) @@ -4054,7 +4054,7 @@ ) ) (block $do-once$44 - (if_else + (if (get_local $i60) (block (set_local $i63 @@ -4117,8 +4117,8 @@ ) ) (if - (if_else - (if_else + (if + (if (i32.eq (get_local $i36) (i32.const 203) @@ -4161,7 +4161,7 @@ ) ) (set_local $i44 - (if_else + (if (i32.eq (i32.and (get_local $i63) @@ -4232,7 +4232,7 @@ (i32.const 192) ) ) - (if_else + (if (i32.lt_u (get_local $i58) (get_local $i61) @@ -4304,7 +4304,7 @@ (get_local $i36) (i32.const 211) ) - (if_else + (if (i32.eq (i32.and (i32.load offset=12 @@ -4343,7 +4343,7 @@ (set_local $i44 (i32.add (get_local $i58) - (if_else + (if (i32.eq (i32.and (get_local $i63) @@ -4371,7 +4371,7 @@ (set_local $i43 (i32.add (get_local $i61) - (if_else + (if (i32.eq (i32.and (get_local $i63) @@ -4413,7 +4413,7 @@ ) ) (block $do-once$50 - (if_else + (if (i32.ne (get_local $i43) (get_local $i60) @@ -4465,7 +4465,7 @@ (get_local $i43) ) ) - (if_else + (if (i32.eq (i32.and (get_local $i62) @@ -4487,7 +4487,7 @@ ) ) (block $label$break$L331 - (if_else + (if (i32.ge_u (get_local $i62) (i32.const 256) @@ -4504,7 +4504,7 @@ ) ) (block $do-once$53 - (if_else + (if (i32.eq (get_local $i55) (get_local $i43) @@ -4527,7 +4527,7 @@ (get_local $i5) ) ) - (if_else + (if (i32.eq (get_local $i52) (i32.const 0) @@ -4538,7 +4538,7 @@ (get_local $i45) ) ) - (if_else + (if (i32.eq (get_local $i50) (i32.const 0) @@ -4603,7 +4603,7 @@ (get_local $i5) ) ) - (if_else + (if (i32.eq (get_local $i52) (i32.const 0) @@ -4628,7 +4628,7 @@ ) (br $while-in$56) ) - (if_else + (if (i32.lt_u (get_local $i76) (get_local $i68) @@ -4680,7 +4680,7 @@ (i32.const 8) ) ) - (if_else + (if (i32.eq (i32.load (get_local $i45) @@ -4727,7 +4727,7 @@ ) ) (block $do-once$57 - (if_else + (if (i32.ne (get_local $i43) (i32.load @@ -4750,7 +4750,7 @@ (i32.const 16) ) ) - (if_else + (if (i32.eq (i32.load (get_local $i45) @@ -4830,7 +4830,7 @@ (block $do-once$59 (if (get_local $i45) - (if_else + (if (i32.lt_u (get_local $i45) (get_local $i55) @@ -4861,7 +4861,7 @@ (i32.const 0) ) ) - (if_else + (if (i32.lt_u (get_local $i45) (i32.load @@ -4956,7 +4956,7 @@ ) ) (block $do-once$63 - (if_else + (if (i32.eq (get_local $i55) (get_local $i54) @@ -5097,7 +5097,7 @@ ) ) (block $do-once$65 - (if_else + (if (i32.eq (i32.and (get_local $i54) @@ -5182,7 +5182,7 @@ ) ) (block $do-once$67 - (if_else + (if (i32.eq (get_local $i5) (i32.const 0) @@ -5369,7 +5369,7 @@ (set_local $i50 (i32.shl (get_local $i79) - (if_else + (if (i32.eq (get_local $i82) (i32.const 31) @@ -5431,7 +5431,7 @@ (get_local $i5) ) ) - (if_else + (if (i32.eq (get_local $i57) (i32.const 0) @@ -5462,12 +5462,12 @@ ) (br $while-in$70) ) - (if_else + (if (i32.eq (get_local $i36) (i32.const 278) ) - (if_else + (if (i32.lt_u (get_local $i84) (i32.load @@ -5517,7 +5517,7 @@ (i32.const 192) ) ) - (if_else + (if (i32.and (i32.ge_u (get_local $i50) @@ -5606,7 +5606,7 @@ ) ) (if - (if_else + (if (i32.le_u (get_local $i63) (get_local $i60) @@ -5656,7 +5656,7 @@ (set_local $i63 (i32.add (get_local $i44) - (if_else + (if (i32.eq (i32.and (get_local $i53) @@ -5682,7 +5682,7 @@ ) ) (set_local $i44 - (if_else + (if (i32.lt_u (get_local $i63) (get_local $i53) @@ -5704,7 +5704,7 @@ ) ) (set_local $i61 - (if_else + (if (i32.eq (i32.and (get_local $i43) @@ -5909,7 +5909,7 @@ (get_local $i43) ) ) - (if_else + (if (i32.and (get_local $i62) (get_local $i57) @@ -5926,7 +5926,7 @@ (get_local $i43) ) ) - (if_else + (if (i32.lt_u (get_local $i5) (i32.load @@ -5988,9 +5988,9 @@ (i32.const 8) ) ) - (if_else + (if (get_local $i61) - (if_else + (if (i32.gt_u (get_local $i63) (i32.const 16777215) @@ -6162,7 +6162,7 @@ (set_local $i5 (i32.shl (get_local $i63) - (if_else + (if (i32.eq (get_local $i89) (i32.const 31) @@ -6224,7 +6224,7 @@ (get_local $i43) ) ) - (if_else + (if (i32.eq (get_local $i57) (i32.const 0) @@ -6255,12 +6255,12 @@ ) (br $while-in$76) ) - (if_else + (if (i32.eq (get_local $i36) (i32.const 304) ) - (if_else + (if (i32.lt_u (get_local $i91) (i32.load @@ -6310,7 +6310,7 @@ (i32.const 192) ) ) - (if_else + (if (i32.and (i32.ge_u (get_local $i5) @@ -6440,7 +6440,7 @@ ) ) (set_local $i62 - (if_else + (if (i32.eq (i32.and (get_local $i5) @@ -6674,7 +6674,7 @@ ) ) (block $do-once$0 - (if_else + (if (i32.eq (i32.and (get_local $i4) @@ -6870,7 +6870,7 @@ (br $do-once$0) ) ) - (if_else + (if (i32.ne (get_local $i10) (get_local $i14) @@ -6889,7 +6889,7 @@ (i32.const 8) ) ) - (if_else + (if (i32.eq (i32.load (get_local $i14) @@ -6937,7 +6937,7 @@ ) ) (block $do-once$2 - (if_else + (if (i32.eq (get_local $i10) (get_local $i8) @@ -6960,7 +6960,7 @@ (get_local $i11) ) ) - (if_else + (if (i32.eq (get_local $i16) (i32.const 0) @@ -6971,7 +6971,7 @@ (get_local $i14) ) ) - (if_else + (if (i32.eq (get_local $i17) (i32.const 0) @@ -7036,7 +7036,7 @@ (get_local $i11) ) ) - (if_else + (if (i32.eq (get_local $i16) (i32.const 0) @@ -7061,7 +7061,7 @@ ) (br $while-in$5) ) - (if_else + (if (i32.lt_u (get_local $i22) (get_local $i3) @@ -7113,7 +7113,7 @@ (i32.const 8) ) ) - (if_else + (if (i32.eq (i32.load (get_local $i14) @@ -7139,7 +7139,7 @@ ) ) ) - (if_else + (if (get_local $i7) (block (set_local $i10 @@ -7156,7 +7156,7 @@ ) ) ) - (if_else + (if (i32.eq (get_local $i8) (i32.load @@ -7215,7 +7215,7 @@ (i32.const 16) ) ) - (if_else + (if (i32.eq (i32.load (get_local $i10) @@ -7278,7 +7278,7 @@ (block $do-once$6 (if (get_local $i14) - (if_else + (if (i32.lt_u (get_local $i14) (get_local $i10) @@ -7303,9 +7303,9 @@ (get_local $i11) ) ) - (if_else + (if (get_local $i14) - (if_else + (if (i32.lt_u (get_local $i14) (i32.load @@ -7389,7 +7389,7 @@ ) (call_import $_abort) ) - (if_else + (if (i32.eq (i32.and (get_local $i2) @@ -7506,7 +7506,7 @@ ) ) (block $do-once$8 - (if_else + (if (i32.ge_u (get_local $i2) (i32.const 256) @@ -7523,7 +7523,7 @@ ) ) (block $do-once$10 - (if_else + (if (i32.eq (get_local $i22) (get_local $i6) @@ -7546,7 +7546,7 @@ (get_local $i19) ) ) - (if_else + (if (i32.eq (get_local $i15) (i32.const 0) @@ -7557,7 +7557,7 @@ (get_local $i20) ) ) - (if_else + (if (i32.eq (get_local $i1) (i32.const 0) @@ -7622,7 +7622,7 @@ (get_local $i19) ) ) - (if_else + (if (i32.eq (get_local $i15) (i32.const 0) @@ -7647,7 +7647,7 @@ ) (br $while-in$13) ) - (if_else + (if (i32.lt_u (get_local $i27) (i32.load @@ -7703,7 +7703,7 @@ (i32.const 8) ) ) - (if_else + (if (i32.eq (i32.load (get_local $i20) @@ -7746,7 +7746,7 @@ ) ) ) - (if_else + (if (i32.eq (get_local $i6) (i32.load @@ -7799,7 +7799,7 @@ (i32.const 16) ) ) - (if_else + (if (i32.eq (i32.load (get_local $i22) @@ -7853,7 +7853,7 @@ (block $do-once$14 (if (get_local $i8) - (if_else + (if (i32.lt_u (get_local $i8) (get_local $i22) @@ -7880,7 +7880,7 @@ ) (if (get_local $i8) - (if_else + (if (i32.lt_u (get_local $i8) (i32.load @@ -7977,7 +7977,7 @@ (br $do-once$8) ) ) - (if_else + (if (i32.ne (get_local $i22) (get_local $i21) @@ -7998,7 +7998,7 @@ (i32.const 8) ) ) - (if_else + (if (i32.eq (i32.load (get_local $i21) @@ -8043,7 +8043,7 @@ ) (get_local $i18) ) - (if_else + (if (i32.eq (get_local $i12) (i32.load @@ -8124,7 +8124,7 @@ (get_local $i13) ) ) - (if_else + (if (i32.and (get_local $i5) (get_local $i18) @@ -8141,7 +8141,7 @@ (get_local $i13) ) ) - (if_else + (if (i32.lt_u (get_local $i28) (i32.load @@ -8203,9 +8203,9 @@ (i32.const 8) ) ) - (if_else + (if (get_local $i2) - (if_else + (if (i32.gt_u (get_local $i29) (i32.const 16777215) @@ -8340,7 +8340,7 @@ ) ) (block $do-once$16 - (if_else + (if (i32.and (get_local $i30) (get_local $i18) @@ -8349,7 +8349,7 @@ (set_local $i31 (i32.shl (get_local $i29) - (if_else + (if (i32.eq (get_local $i32) (i32.const 31) @@ -8411,7 +8411,7 @@ (get_local $i28) ) ) - (if_else + (if (i32.eq (get_local $i13) (i32.const 0) @@ -8442,12 +8442,12 @@ ) (br $while-in$19) ) - (if_else + (if (i32.eq (get_local $i34) (i32.const 127) ) - (if_else + (if (i32.lt_u (get_local $i35) (i32.load @@ -8497,7 +8497,7 @@ (i32.const 192) ) ) - (if_else + (if (i32.and (i32.ge_u (get_local $i31) @@ -8576,7 +8576,7 @@ (i32.const 208) (get_local $i12) ) - (if_else + (if (i32.eq (get_local $i12) (i32.const 0) @@ -8592,7 +8592,7 @@ (get_local $i37) ) ) - (if_else + (if (i32.eq (get_local $i12) (i32.const 0) @@ -8730,7 +8730,7 @@ ) ) (loop $while-out$0 $while-in$1 - (if_else + (if (i32.eq (i32.load (i32.const 8) @@ -8837,12 +8837,12 @@ (get_local $i12) ) ) - (if_else + (if (i32.le_u (get_local $i14) (get_local $i18) ) - (if_else + (if (i32.eq (get_local $i7) (i32.const 2) @@ -8951,7 +8951,7 @@ ) (br $while-in$1) ) - (if_else + (if (i32.eq (get_local $i15) (i32.const 6) @@ -9013,7 +9013,7 @@ (i32.const 32) ) ) - (if_else + (if (i32.eq (get_local $i17) (i32.const 2) @@ -9065,12 +9065,12 @@ (get_local $i4) ) ) - (if_else + (if (i32.eq (get_local $i5) (i32.const 0) ) - (if_else + (if (i32.eq (call $___towrite (get_local $i3) @@ -9150,7 +9150,7 @@ ) ) (block $label$break$L10 - (if_else + (if (i32.gt_s (i32.load8_s offset=75 (get_local $i3) @@ -9189,7 +9189,7 @@ (i32.const -1) ) ) - (if_else + (if (i32.eq (i32.load8_s (i32.add @@ -9309,7 +9309,7 @@ (local $i7 i32) (local $i6 i32) (block $do-once$0 - (if_else + (if (get_local $i1) (block (if @@ -9341,7 +9341,7 @@ (get_local $i1) ) ) - (if_else + (if (get_local $i3) (set_local $i2 (get_local $i4) @@ -9357,7 +9357,7 @@ ) ) (block - (if_else + (if (i32.eq (i32.load (i32.const 56) @@ -9383,7 +9383,7 @@ (i32.const 32) ) ) - (if_else + (if (i32.eq (get_local $i4) (i32.const 0) @@ -9399,7 +9399,7 @@ (get_local $i5) ) (loop $while-out$2 $while-in$3 - (if_else + (if (i32.gt_s (i32.load offset=76 (get_local $i3) @@ -9415,7 +9415,7 @@ (i32.const 0) ) ) - (if_else + (if (i32.gt_u (i32.load offset=20 (get_local $i3) @@ -9447,7 +9447,7 @@ (get_local $i3) ) ) - (if_else + (if (i32.eq (get_local $i3) (i32.const 0) @@ -9494,7 +9494,7 @@ (get_local $i1) ) (block $label$break$L1 - (if_else + (if (i32.eq (i32.and (get_local $i2) @@ -9541,7 +9541,7 @@ (set_local $i6 (get_local $i8) ) - (if_else + (if (i32.eq (i32.and (get_local $i6) @@ -9582,7 +9582,7 @@ (get_local $i4) ) ) - (if_else + (if (i32.eq (i32.and (i32.xor @@ -9617,7 +9617,7 @@ ) (br $while-in$4) ) - (if_else + (if (i32.eq (i32.shr_s (i32.shl @@ -9645,7 +9645,7 @@ (i32.const 1) ) ) - (if_else + (if (i32.eq (i32.load8_s (get_local $i10) @@ -9726,12 +9726,12 @@ (get_local $i6) ) ) - (if_else + (if (i32.eq (get_local $i7) (i32.const 0) ) - (if_else + (if (i32.eq (call $___towrite (get_local $i1) @@ -9780,7 +9780,7 @@ ) ) (if - (if_else + (if (i32.lt_u (get_local $i6) (get_local $i8) @@ -9819,7 +9819,7 @@ (br $do-once$0) ) ) - (if_else + (if (i32.eq (call_indirect $FUNCSIG$iiii (i32.add @@ -9877,8 +9877,8 @@ (i32.const 28) ) ) - (if_else - (if_else + (if + (if (i32.gt_u (i32.load (get_local $i2) @@ -10020,7 +10020,7 @@ ) (block (loop $while-out$0 $while-in$1 - (if_else + (if (i32.and (get_local $i1) (i32.const 3) @@ -10064,7 +10064,7 @@ (br $while-in$1) ) (loop $while-out$2 $while-in$3 - (if_else + (if (i32.ge_s (get_local $i3) (i32.const 4) @@ -10101,7 +10101,7 @@ ) ) (loop $while-out$4 $while-in$5 - (if_else + (if (i32.gt_s (get_local $i3) (i32.const 0) @@ -10214,7 +10214,7 @@ ) ) (loop $while-out$0 $while-in$1 - (if_else + (if (i32.lt_s (get_local $i1) (get_local $i5) @@ -10237,7 +10237,7 @@ ) ) (loop $while-out$2 $while-in$3 - (if_else + (if (i32.lt_s (get_local $i1) (get_local $i7) @@ -10260,7 +10260,7 @@ ) ) (loop $while-out$4 $while-in$5 - (if_else + (if (i32.lt_s (get_local $i1) (get_local $i4) @@ -10298,7 +10298,7 @@ (i32.const 52) ) ) - (if_else + (if (i32.gt_s (i32.load offset=76 (get_local $i2) @@ -10315,7 +10315,7 @@ ) ) (block $do-once$0 - (if_else + (if (i32.lt_s (call $_fputs (get_local $i1) @@ -10328,7 +10328,7 @@ ) (block (if - (if_else + (if (i32.ne (i32.load8_s offset=75 (get_local $i2) @@ -10452,7 +10452,7 @@ (get_local $i5) (get_local $i3) ) - (if_else + (if (i32.lt_s (call $___syscall_ret (call_import $___syscall140 @@ -10515,7 +10515,7 @@ (get_local $i1) ) ) - (if_else + (if (i32.eq (i32.and (get_local $i3) @@ -10587,7 +10587,7 @@ (get_local $i2) ) ) - (if_else + (if (i32.gt_s (i32.load offset=76 (get_local $i4) @@ -10610,7 +10610,7 @@ (get_local $i4) ) ) - (if_else + (if (get_local $i6) (set_local $i8 (get_local $i7) @@ -10633,7 +10633,7 @@ ) ) ) - (if_else + (if (i32.eq (get_local $i8) (get_local $i5) @@ -10677,7 +10677,7 @@ (i32.const 5) ) (if - (if_else + (if (i32.eq (i32.and (i32.load @@ -10879,7 +10879,7 @@ ) (func $___syscall_ret (param $i1 i32) (result i32) (local $i2 i32) - (if_else + (if (i32.gt_u (get_local $i1) (i32.const -4096) @@ -10954,7 +10954,7 @@ ) (func $___errno_location (result i32) (local $i1 i32) - (if_else + (if (i32.eq (i32.load (i32.const 8) diff --git a/test/emcc_hello_world.fromasm b/test/emcc_hello_world.fromasm index 5768e53ea..0fd004527 100644 --- a/test/emcc_hello_world.fromasm +++ b/test/emcc_hello_world.fromasm @@ -374,7 +374,7 @@ (f64.const 0) ) ) - (if_else + (if (get_local $$tobool1) (block (set_local $$mul @@ -584,7 +584,7 @@ (i32.const 87) ) ) - (if_else + (if (get_local $$tobool) (block (set_local $$i$111 @@ -616,7 +616,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$tobool5$9) (set_local $$s$0$lcssa (i32.const 775) @@ -671,7 +671,7 @@ (i32.const 1) ) ) - (if_else + (if (get_local $$tobool8) (block (set_local $$incdec$ptr$lcssa @@ -697,7 +697,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$tobool5) (block (set_local $$s$0$lcssa @@ -749,7 +749,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$tobool) (set_local $$retval$0 (i32.const 60) @@ -1133,7 +1133,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$cmp) (block (i32.store @@ -1214,7 +1214,7 @@ ) ) (block $do-once$0 - (if_else + (if (get_local $$tobool) (block (set_local $$1 @@ -1228,7 +1228,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$tobool5) (set_local $$cond10 (i32.const 0) @@ -1263,7 +1263,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$tobool11$20) (set_local $$r$0$lcssa (get_local $$cond10) @@ -1293,7 +1293,7 @@ (i32.const -1) ) ) - (if_else + (if (get_local $$cmp14) (block (set_local $$call16 @@ -1337,7 +1337,7 @@ (get_local $$5) ) ) - (if_else + (if (get_local $$cmp20) (block (set_local $$call22 @@ -1391,7 +1391,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$tobool11) (block (set_local $$r$0$lcssa @@ -1470,7 +1470,7 @@ (get_local $$f) ) ) - (if_else + (if (get_local $$phitmp) (set_local $$retval$0 (get_local $$call1) @@ -1784,7 +1784,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$tobool) (block (set_local $$4 @@ -1943,7 +1943,7 @@ (get_local $$10) ) ) - (if_else + (if (get_local $$cmp29) (block (set_local $$11 @@ -2008,7 +2008,7 @@ (i32.const 2) ) ) - (if_else + (if (get_local $$cmp38) (block (set_local $$12 @@ -2098,7 +2098,7 @@ ) (br $while-in$1) ) - (if_else + (if (i32.eq (get_local $label) (i32.const 6) @@ -2196,7 +2196,7 @@ (i32.const 2) ) ) - (if_else + (if (get_local $$cmp22) (set_local $$retval$0 (i32.const 0) @@ -2380,7 +2380,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$cmp) (set_local $$retval$0 (i32.const -1) @@ -2403,7 +2403,7 @@ (i32.const -1) ) ) - (if_else + (if (get_local $$cmp5) (block (set_local $$call6 @@ -2485,7 +2485,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$tobool) (block (set_local $$buf @@ -2558,7 +2558,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$tobool22) (set_local $$ret$1 (get_local $$call21) @@ -2599,7 +2599,7 @@ ) ) (set_local $$$call21 - (if_else + (if (get_local $$tobool26) (i32.const -1) (get_local $$call21) @@ -2664,7 +2664,7 @@ ) ) (set_local $$ret$1$ - (if_else + (if (get_local $$tobool37) (get_local $$ret$1) (i32.const -1) @@ -2774,7 +2774,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$tobool) (block (set_local $$call @@ -2788,7 +2788,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$tobool1) (block (set_local $$$pre @@ -2911,7 +2911,7 @@ ) ) (block $label$break$L10 - (if_else + (if (get_local $$cmp6) (block (set_local $$i$0 @@ -2971,7 +2971,7 @@ (i32.const 10) ) ) - (if_else + (if (get_local $$cmp11) (block (set_local $$i$0$lcssa36 @@ -3196,7 +3196,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$tobool) (block (set_local $$rend @@ -3367,7 +3367,7 @@ ) ) (block $do-once$0 - (if_else + (if (get_local $$tobool) (set_local $$retval$0 (i32.const 1) @@ -3592,7 +3592,7 @@ (i32.const 1048576) ) ) - (if_else + (if (get_local $$cmp28) (block (set_local $$shr31$23 @@ -3756,7 +3756,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$tobool) (set_local $$retval$0 (i32.const 0) @@ -3876,7 +3876,7 @@ ) ) (block $label$break$L1 - (if_else + (if (get_local $$or$cond$42) (block (set_local $$1 @@ -3969,7 +3969,7 @@ (get_local $$tobool) ) ) - (if_else + (if (get_local $$or$cond) (block (set_local $$n$addr$043 @@ -4019,7 +4019,7 @@ (get_local $label) (i32.const 5) ) - (if_else + (if (get_local $$tobool2$lcssa) (block (set_local $$n$addr$0$lcssa61 @@ -4078,7 +4078,7 @@ ) ) ) - (if_else + (if (get_local $$cmp8) (block (set_local $$n$addr$3 @@ -4102,7 +4102,7 @@ ) ) (block $label$break$L11 - (if_else + (if (get_local $$cmp11$32) (block (set_local $$n$addr$133 @@ -4186,7 +4186,7 @@ (i32.const 3) ) ) - (if_else + (if (get_local $$cmp11) (block (set_local $$n$addr$133 @@ -4243,7 +4243,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$tobool25$26) (block (set_local $$n$addr$3 @@ -4319,7 +4319,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$tobool25) (block (set_local $$n$addr$3 @@ -4353,7 +4353,7 @@ ) ) (set_local $$cond - (if_else + (if (get_local $$tobool36) (get_local $$s$2) (i32.const 0) @@ -4381,7 +4381,7 @@ (i32.const -4096) ) ) - (if_else + (if (get_local $$cmp) (block (set_local $$sub @@ -4466,7 +4466,7 @@ (get_local $$1) ) ) - (if_else + (if (get_local $$cmp) (block (set_local $$write @@ -4503,7 +4503,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$tobool) (set_local $$retval$0 (i32.const -1) @@ -5901,7 +5901,7 @@ ) ) (block $do-once$0 - (if_else + (if (get_local $$cmp) (block (set_local $$sub @@ -5916,7 +5916,7 @@ (get_local $$sub) ) ) - (if_else + (if (get_local $$cmp1) (block (set_local $$call @@ -5967,7 +5967,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$tobool) (block (set_local $$cnt$1$lcssa @@ -6130,7 +6130,7 @@ (i32.const 37) ) ) - (if_else + (if (get_local $$cmp13) (block (set_local $$incdec$ptr169276301 @@ -6261,7 +6261,7 @@ (i32.const 10) ) ) - (if_else + (if (get_local $$isdigit) (block (set_local $$arrayidx35 @@ -6294,21 +6294,21 @@ ) ) (set_local $$add$ptr43$arrayidx31 - (if_else + (if (get_local $$cmp37) (get_local $$add$ptr43) (get_local $$arrayidx31) ) ) (set_local $$$l10n$0 - (if_else + (if (get_local $$cmp37) (i32.const 1) (get_local $$l10n$0) ) ) (set_local $$isdigittmp$ - (if_else + (if (get_local $$cmp37) (get_local $$isdigittmp) (i32.const -1) @@ -6369,7 +6369,7 @@ ) ) (block $label$break$L25 - (if_else + (if (get_local $$cmp50$308) (block (set_local $$9 @@ -6483,7 +6483,7 @@ (i32.const 32) ) ) - (if_else + (if (get_local $$cmp50) (block (set_local $$9 @@ -6541,7 +6541,7 @@ ) ) (block $do-once$12 - (if_else + (if (get_local $$cmp65) (block (set_local $$arrayidx68 @@ -6576,7 +6576,7 @@ (i32.const 10) ) ) - (if_else + (if (get_local $$isdigit190) (block (set_local $$arrayidx73 @@ -6602,7 +6602,7 @@ (i32.const 36) ) ) - (if_else + (if (get_local $$cmp75) (block (set_local $$arrayidx81 @@ -6836,7 +6836,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$cmp97) (block (set_local $$or100 @@ -6902,7 +6902,7 @@ (i32.const 10) ) ) - (if_else + (if (get_local $$isdigit$6$i) (block (set_local $$29 @@ -6959,7 +6959,7 @@ (i32.const 10) ) ) - (if_else + (if (get_local $$isdigit$i) (block (set_local $$29 @@ -6990,7 +6990,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$cmp105) (block (set_local $$retval$0 @@ -7050,7 +7050,7 @@ ) ) (block $label$break$L46 - (if_else + (if (get_local $$cmp111) (block (set_local $$arrayidx114 @@ -7103,7 +7103,7 @@ (i32.const 10) ) ) - (if_else + (if (get_local $$isdigit$6$i$199) (block (set_local $$49 @@ -7171,7 +7171,7 @@ (i32.const 10) ) ) - (if_else + (if (get_local $$isdigit$i$207) (block (set_local $$49 @@ -7361,7 +7361,7 @@ (br $label$break$L1) ) ) - (if_else + (if (get_local $$tobool25) (block (set_local $$arglist_current2 @@ -7548,7 +7548,7 @@ (i32.const 8) ) ) - (if_else + (if (get_local $$cmp176) (block (set_local $$incdec$ptr169271 @@ -7619,9 +7619,9 @@ ) ) (block $do-once$21 - (if_else + (if (get_local $$cmp181) - (if_else + (if (get_local $$cmp184) (block (set_local $$retval$0 @@ -7810,7 +7810,7 @@ ) ) (set_local $$t$0 - (if_else + (if (get_local $$or$cond192) (get_local $$and214) (get_local $$conv207) @@ -7835,7 +7835,7 @@ ) ) (set_local $$fl$1$and219 - (if_else + (if (get_local $$tobool217) (get_local $$fl$1) (get_local $$and219) @@ -8155,7 +8155,7 @@ ) ) (set_local $$cond245 - (if_else + (if (get_local $$cmp240) (get_local $$p$0) (i32.const 8) @@ -8247,7 +8247,7 @@ (get_local $$123) ) ) - (if_else + (if (get_local $$124) (set_local $$s$addr$0$lcssa$i$229 (get_local $$add$ptr205) @@ -8321,7 +8321,7 @@ (get_local $$133) ) ) - (if_else + (if (get_local $$134) (block (set_local $$s$addr$0$lcssa$i$229 @@ -8357,7 +8357,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$tobool264) (block (set_local $$a$0 @@ -8402,7 +8402,7 @@ ) ) (set_local $$add269$p$0 - (if_else + (if (get_local $$cmp270) (get_local $$add269) (get_local $$p$0) @@ -8536,7 +8536,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$tobool290) (block (set_local $$and294 @@ -8552,7 +8552,7 @@ ) ) (set_local $$$ - (if_else + (if (get_local $$tobool295) (i32.const 4091) (i32.const 4093) @@ -8736,7 +8736,7 @@ ) ) (set_local $$cond354 - (if_else + (if (get_local $$tobool349) (get_local $$169) (i32.const 4101) @@ -8807,7 +8807,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$cmp377$314) (block (call $_pad @@ -8894,7 +8894,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$184) (block (set_local $$sub$i @@ -8925,7 +8925,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$tobool9$i) (block (set_local $$and12$i @@ -8941,7 +8941,7 @@ ) ) (set_local $$$$i - (if_else + (if (get_local $$tobool13$i) (i32.const 4109) (i32.const 4114) @@ -9028,7 +9028,7 @@ ) ) (block $do-once$56 - (if_else + (if (get_local $$192) (block (set_local $$call55$i @@ -9103,7 +9103,7 @@ ) ) (set_local $$prefix$0$add$ptr65$i - (if_else + (if (get_local $$tobool63$i) (get_local $$prefix$0$i) (get_local $$add$ptr65$i) @@ -9140,7 +9140,7 @@ ) ) (block $do-once$58 - (if_else + (if (get_local $$tobool76$i) (set_local $$y$addr$1$i (get_local $$mul$i$240) @@ -9171,7 +9171,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$tobool79$i) (block (set_local $$mul80$i$lcssa @@ -9207,7 +9207,7 @@ (i32.const 45) ) ) - (if_else + (if (get_local $$cmp82$i) (block (set_local $$sub85$i @@ -9277,7 +9277,7 @@ ) ) (set_local $$cond100$i - (if_else + (if (get_local $$cmp94$i) (get_local $$sub97$i) (get_local $$198) @@ -9311,7 +9311,7 @@ (get_local $$arrayidx$i$236) ) ) - (if_else + (if (get_local $$cmp103$i) (block (i32.store8 @@ -9484,7 +9484,7 @@ ) ) (block $do-once$64 - (if_else + (if (get_local $$cmp127$i) (block (set_local $$notlhs$i @@ -9539,7 +9539,7 @@ (f64.const 0) ) ) - (if_else + (if (get_local $$tobool139$i) (block (set_local $$s$0$i @@ -9616,7 +9616,7 @@ ) ) (set_local $$l$0$i - (if_else + (if (get_local $$or$cond384) (get_local $$add154$i) (get_local $$add163$i) @@ -9777,7 +9777,7 @@ ) ) (set_local $$w$add165$i - (if_else + (if (get_local $$cmp188$i) (get_local $$w$1) (get_local $$add165$i) @@ -9796,13 +9796,13 @@ ) ) (set_local $$$p$i - (if_else + (if (get_local $$cmp196$i) (i32.const 6) (get_local $$p$0) ) ) - (if_else + (if (get_local $$tobool56$i) (block (set_local $$mul202$i @@ -9854,7 +9854,7 @@ ) ) (set_local $$arraydecay208$add$ptr213$i - (if_else + (if (get_local $$cmp205$i) (get_local $$big$i) (get_local $$add$ptr213$i) @@ -9908,7 +9908,7 @@ (f64.const 0) ) ) - (if_else + (if (get_local $$tobool222$i) (block (set_local $$y$addr$4$i @@ -9938,7 +9938,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$cmp225$547$i) (block (set_local $$211 @@ -9958,7 +9958,7 @@ ) ) (set_local $$cond233$i - (if_else + (if (get_local $$cmp228$i) (i32.const 29) (get_local $$211) @@ -9977,7 +9977,7 @@ ) ) (block $do-once$70 - (if_else + (if (get_local $$cmp235$543$i) (set_local $$a$2$ph$i (get_local $$a$1549$i) @@ -10062,7 +10062,7 @@ (get_local $$a$1549$i) ) ) - (if_else + (if (get_local $$cmp235$i) (block (set_local $$conv242$i$lcssa @@ -10151,7 +10151,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$lnot$i) (set_local $$z$2$i (get_local $$arrayidx251$i) @@ -10186,7 +10186,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$cmp225$i) (block (set_local $$211 @@ -10233,7 +10233,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$cmp259$537$i) (block (set_local $$add273$i @@ -10286,7 +10286,7 @@ ) ) (set_local $$cond271$i - (if_else + (if (get_local $$cmp265$i) (i32.const 9) (get_local $$sub264$i) @@ -10299,7 +10299,7 @@ ) ) (block $do-once$78 - (if_else + (if (get_local $$cmp277$533$i) (block (set_local $$shl280$i @@ -10372,7 +10372,7 @@ (get_local $$z$3538$i) ) ) - (if_else + (if (get_local $$cmp277$i) (block (set_local $$carry262$0535$i @@ -10409,7 +10409,7 @@ ) ) (set_local $$incdec$ptr292$a$3$i - (if_else + (if (get_local $$tobool290$i) (get_local $$incdec$ptr292$i) (get_local $$a$3539$i) @@ -10469,7 +10469,7 @@ ) ) (set_local $$incdec$ptr292$a$3$571$i - (if_else + (if (get_local $$tobool290$569$i) (get_local $$incdec$ptr292$570$i) (get_local $$a$3539$i) @@ -10485,7 +10485,7 @@ ) ) (set_local $$cond304$i - (if_else + (if (get_local $$cmp299$i) (get_local $$arraydecay208$add$ptr213$i) (get_local $$incdec$ptr292$a$3573$i) @@ -10525,7 +10525,7 @@ ) ) (set_local $$add$ptr311$z$4$i - (if_else + (if (get_local $$cmp308$i) (get_local $$add$ptr311$i) (get_local $$z$4$i) @@ -10552,7 +10552,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$cmp259$i) (block (set_local $$223 @@ -10594,7 +10594,7 @@ ) ) (block $do-once$82 - (if_else + (if (get_local $$cmp315$i) (block (set_local $$sub$ptr$rhs$cast319$i @@ -10629,7 +10629,7 @@ (i32.const 10) ) ) - (if_else + (if (get_local $$cmp324$529$i) (block (set_local $$e$1$i @@ -10665,7 +10665,7 @@ (get_local $$mul328$i) ) ) - (if_else + (if (get_local $$cmp324$i) (block (set_local $$e$1$i @@ -10697,7 +10697,7 @@ ) ) (set_local $$mul335$i - (if_else + (if (get_local $$cmp333$i) (get_local $$e$1$i) (i32.const 0) @@ -10775,7 +10775,7 @@ (get_local $$mul349$i) ) ) - (if_else + (if (get_local $$cmp350$i) (block (set_local $$add$ptr354$i @@ -10835,7 +10835,7 @@ (i32.const 9) ) ) - (if_else + (if (get_local $$cmp363$525$i) (block (set_local $$i$1526$i @@ -10863,7 +10863,7 @@ (i32.const 9) ) ) - (if_else + (if (get_local $$exitcond$i) (block (set_local $$i$1$lcssa$i @@ -10926,7 +10926,7 @@ ) ) (block $do-once$88 - (if_else + (if (get_local $$or$cond395$i) (block (set_local $$a$8$i @@ -10962,7 +10962,7 @@ ) ) (set_local $$$396$i - (if_else + (if (get_local $$tobool380$i) (f64.const 9007199254740992) (f64.const 9007199254740994) @@ -10983,7 +10983,7 @@ (get_local $$div384$i) ) ) - (if_else + (if (get_local $$cmp385$i) (set_local $$small$0$i (f64.const 0.5) @@ -11002,7 +11002,7 @@ ) ) (set_local $$$404$i - (if_else + (if (get_local $$or$cond397$i) (f64.const 1) (f64.const 1.5) @@ -11020,7 +11020,7 @@ ) ) (block $do-once$90 - (if_else + (if (get_local $$tobool400$i) (block (set_local $$round377$1$i @@ -11138,7 +11138,7 @@ (i32.const 999999999) ) ) - (if_else + (if (get_local $$cmp416$519$i) (block (set_local $$a$5521$i @@ -11164,7 +11164,7 @@ (get_local $$a$5521$i) ) ) - (if_else + (if (get_local $$cmp420$i) (block (set_local $$incdec$ptr423$i @@ -11206,7 +11206,7 @@ (i32.const 999999999) ) ) - (if_else + (if (get_local $$cmp416$i) (block (set_local $$a$5521$i @@ -11270,7 +11270,7 @@ (i32.const 10) ) ) - (if_else + (if (get_local $$cmp433$515$i) (block (set_local $$a$8$i @@ -11312,7 +11312,7 @@ (get_local $$mul437$i) ) ) - (if_else + (if (get_local $$cmp433$i) (block (set_local $$a$8$i @@ -11353,7 +11353,7 @@ ) ) (set_local $$add$ptr442$z$3$i - (if_else + (if (get_local $$cmp443$i) (get_local $$add$ptr442$i) (get_local $$z$3$lcssa$i) @@ -11429,7 +11429,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$lnot455$i) (set_local $$z$7$i (get_local $$arrayidx453$i) @@ -11447,7 +11447,7 @@ (br $while-in$97) ) (block $do-once$98 - (if_else + (if (get_local $$cmp338$i) (block (set_local $$236 @@ -11486,7 +11486,7 @@ (get_local $$cmp473$i) ) ) - (if_else + (if (get_local $$or$cond2$i) (block (set_local $$dec476$i @@ -11566,7 +11566,7 @@ ) ) (block $do-once$100 - (if_else + (if (get_local $$cmp450$lcssa$i) (block (set_local $$arrayidx489$i @@ -11610,7 +11610,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$cmp495$511$i) (block (set_local $$i$3512$i @@ -11655,7 +11655,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$cmp495$i) (block (set_local $$i$3512$i @@ -11719,7 +11719,7 @@ (i32.const -9) ) ) - (if_else + (if (get_local $$cmp505$i) (block (set_local $$sub514$i @@ -11735,7 +11735,7 @@ ) ) (set_local $$$sub514$i - (if_else + (if (get_local $$cmp515$i) (i32.const 0) (get_local $$sub514$i) @@ -11748,7 +11748,7 @@ ) ) (set_local $$p$addr$2$$sub514398$i - (if_else + (if (get_local $$cmp528$i) (get_local $$p$addr$2$i) (get_local $$$sub514$i) @@ -11785,7 +11785,7 @@ ) ) (set_local $$$sub562$i - (if_else + (if (get_local $$cmp563$i) (i32.const 0) (get_local $$sub562$i) @@ -11798,7 +11798,7 @@ ) ) (set_local $$p$addr$2$$sub562399$i - (if_else + (if (get_local $$cmp577$i) (get_local $$p$addr$2$i) (get_local $$$sub562$i) @@ -11866,7 +11866,7 @@ (i32.const 102) ) ) - (if_else + (if (get_local $$cmp614$i) (block (set_local $$cmp617$i @@ -11876,7 +11876,7 @@ ) ) (set_local $$add620$i - (if_else + (if (get_local $$cmp617$i) (get_local $$e$5$ph$i) (i32.const 0) @@ -11897,7 +11897,7 @@ ) ) (set_local $$cond629$i - (if_else + (if (get_local $$cmp623$i) (get_local $$sub626$le$i) (get_local $$e$5$ph$i) @@ -11940,7 +11940,7 @@ (i32.const 2) ) ) - (if_else + (if (get_local $$cmp636$506$i) (block (set_local $$estr$1507$i @@ -11972,7 +11972,7 @@ (i32.const 2) ) ) - (if_else + (if (get_local $$cmp636$i) (set_local $$estr$1507$i (get_local $$incdec$ptr639$i) @@ -12128,7 +12128,7 @@ (get_local $$xor655$i) ) (block $do-once$106 - (if_else + (if (get_local $$cmp614$i) (block (set_local $$cmp660$i @@ -12138,7 +12138,7 @@ ) ) (set_local $$r$0$a$9$i - (if_else + (if (get_local $$cmp660$i) (get_local $$arraydecay208$add$ptr213$i) (get_local $$a$9$ph$i) @@ -12167,7 +12167,7 @@ ) ) (block $do-once$110 - (if_else + (if (get_local $$cmp673$i) (block (set_local $$cmp686$i @@ -12203,7 +12203,7 @@ (get_local $$buf$i) ) ) - (if_else + (if (get_local $$cmp678$491$i) (set_local $$s668$0492$i (get_local $$249) @@ -12232,7 +12232,7 @@ (get_local $$buf$i) ) ) - (if_else + (if (get_local $$cmp678$i) (set_local $$s668$0492$i (get_local $$incdec$ptr681$i) @@ -12297,7 +12297,7 @@ (get_local $$arraydecay208$add$ptr213$i) ) ) - (if_else + (if (get_local $$cmp665$i) (block (set_local $$incdec$ptr698$i$lcssa @@ -12373,7 +12373,7 @@ (get_local $$cmp707$486$i) ) ) - (if_else + (if (get_local $$253) (block (set_local $$d$6488$i @@ -12401,7 +12401,7 @@ (get_local $$buf$i) ) ) - (if_else + (if (get_local $$cmp722$483$i) (block (set_local $$s715$0484$i @@ -12424,7 +12424,7 @@ (get_local $$buf$i) ) ) - (if_else + (if (get_local $$cmp722$i) (set_local $$s715$0484$i (get_local $$incdec$ptr725$i) @@ -12470,7 +12470,7 @@ ) ) (set_local $$cond732$i - (if_else + (if (get_local $$cmp727$i) (i32.const 9) (get_local $$p$addr$4489$i) @@ -12513,7 +12513,7 @@ (get_local $$cmp707$i) ) ) - (if_else + (if (get_local $$257) (block (set_local $$d$6488$i @@ -12559,7 +12559,7 @@ ) ) (set_local $$z$7$add$ptr742$i - (if_else + (if (get_local $$cmp450$lcssa$i) (get_local $$z$7$i$lcssa) (get_local $$add$ptr742$i) @@ -12571,7 +12571,7 @@ (i32.const -1) ) ) - (if_else + (if (get_local $$cmp748$499$i) (block (set_local $$tobool781$i @@ -12605,7 +12605,7 @@ (get_local $$add$ptr671$i) ) ) - (if_else + (if (get_local $$cmp760$i) (block (i32.store8 @@ -12627,7 +12627,7 @@ ) ) (block $do-once$122 - (if_else + (if (get_local $$cmp765$i) (block (set_local $$incdec$ptr776$i @@ -12727,7 +12727,7 @@ (get_local $$buf$i) ) ) - (if_else + (if (get_local $$cmp770$495$i) (set_local $$s753$1496$i (get_local $$s753$0$i) @@ -12756,7 +12756,7 @@ (get_local $$buf$i) ) ) - (if_else + (if (get_local $$cmp770$i) (set_local $$s753$1496$i (get_local $$incdec$ptr773$i) @@ -12809,7 +12809,7 @@ ) ) (set_local $$cond800$i - (if_else + (if (get_local $$cmp790$i) (get_local $$sub$ptr$sub789$i) (get_local $$p$addr$5501$i) @@ -12852,7 +12852,7 @@ (get_local $$cmp748$i) ) ) - (if_else + (if (get_local $$263) (block (set_local $$d$7500$i @@ -12949,7 +12949,7 @@ ) ) (set_local $$w$add653$i - (if_else + (if (get_local $$cmp818$i) (get_local $$w$1) (get_local $$add653$i) @@ -12973,7 +12973,7 @@ ) ) (set_local $$cond$i - (if_else + (if (get_local $$tobool37$i) (i32.const 4127) (i32.const 4131) @@ -12992,21 +12992,21 @@ ) ) (set_local $$cond43$i - (if_else + (if (get_local $$tobool37$i) (i32.const 4135) (i32.const 4139) ) ) (set_local $$pl$1$i - (if_else + (if (get_local $$cmp38$i) (i32.const 0) (get_local $$pl$0$i) ) ) (set_local $$s35$0$i - (if_else + (if (get_local $$cmp38$i) (get_local $$cond43$i) (get_local $$cond$i) @@ -13042,7 +13042,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$tobool$i$407$i) (block (call $___fwritex @@ -13103,7 +13103,7 @@ ) ) (set_local $$cond53$i - (if_else + (if (get_local $$cmp48$i) (get_local $$w$1) (get_local $$add$i$239) @@ -13156,7 +13156,7 @@ ) ) (block $label$break$L308 - (if_else + (if (i32.eq (get_local $label) (i32.const 64) @@ -13214,7 +13214,7 @@ (get_local $$97) ) ) - (if_else + (if (get_local $$98) (block (set_local $$a$0 @@ -13322,7 +13322,7 @@ (get_local $$105) ) ) - (if_else + (if (get_local $$106) (block (set_local $$incdec$ptr$i$212$lcssa @@ -13405,7 +13405,7 @@ (get_local $$115) ) ) - (if_else + (if (get_local $$or$cond193) (block (set_local $$a$0 @@ -13463,7 +13463,7 @@ ) ) ) - (if_else + (if (i32.eq (get_local $label) (i32.const 76) @@ -13498,7 +13498,7 @@ (i32.const 77) ) ) - (if_else + (if (i32.eq (get_local $label) (i32.const 82) @@ -13539,14 +13539,14 @@ ) ) (set_local $$z$1 - (if_else + (if (get_local $$tobool357) (get_local $$add$ptr359) (get_local $$call356) ) ) (set_local $$p$3 - (if_else + (if (get_local $$tobool357) (get_local $$p$0) (get_local $$sub$ptr$sub363) @@ -13678,7 +13678,7 @@ (get_local $$add395) ) ) - (if_else + (if (get_local $$cmp377) (block (set_local $$i$0316 @@ -13731,7 +13731,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$cmp404$324) (block (set_local $$i$0$lcssa368 @@ -13844,7 +13844,7 @@ (get_local $$i$0$lcssa) ) ) - (if_else + (if (get_local $$cmp404) (block (set_local $$i$1325 @@ -13903,7 +13903,7 @@ ) ) (set_local $$cond426 - (if_else + (if (get_local $$cmp421) (get_local $$w$1) (get_local $$i$0$lcssa368) @@ -13946,7 +13946,7 @@ ) ) (set_local $$and309$fl$4 - (if_else + (if (get_local $$cmp306) (get_local $$and309) (get_local $$fl$4) @@ -14007,7 +14007,7 @@ (get_local $$159) ) ) - (if_else + (if (get_local $$or$cond) (block (set_local $$sub$ptr$rhs$cast318 @@ -14044,7 +14044,7 @@ ) ) (set_local $$p$2$add322 - (if_else + (if (get_local $$cmp323) (get_local $$p$2) (get_local $$add322) @@ -14111,7 +14111,7 @@ ) ) (set_local $$sub$ptr$sub433$p$5 - (if_else + (if (get_local $$cmp434) (get_local $$sub$ptr$sub433) (get_local $$p$5) @@ -14130,7 +14130,7 @@ ) ) (set_local $$w$2 - (if_else + (if (get_local $$cmp442) (get_local $$add441) (get_local $$w$1) @@ -14253,7 +14253,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$tobool459) (block (set_local $$tobool462 @@ -14262,7 +14262,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$tobool462) (set_local $$retval$0 (i32.const 0) @@ -14327,7 +14327,7 @@ (i32.const 10) ) ) - (if_else + (if (get_local $$cmp466) (set_local $$i$2299 (get_local $$inc) @@ -14347,7 +14347,7 @@ (i32.const 10) ) ) - (if_else + (if (get_local $$cmp478$295) (block (set_local $$i$3296 @@ -14398,7 +14398,7 @@ (i32.const 10) ) ) - (if_else + (if (get_local $$cmp478) (set_local $$i$3296 (get_local $$inc488) @@ -15808,7 +15808,7 @@ (get_local $$5) ) ) - (if_else + (if (get_local $$6) (block (set_local $$7 @@ -15899,7 +15899,7 @@ (get_local $$18) ) ) - (if_else + (if (get_local $$19) (block (set_local $$7 @@ -15949,7 +15949,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$tobool$8) (set_local $$s$addr$1$lcssa (get_local $$s$addr$0$lcssa) @@ -16008,7 +16008,7 @@ (i32.const 10) ) ) - (if_else + (if (get_local $$20) (block (set_local $$s$addr$1$lcssa @@ -16129,7 +16129,7 @@ ) ) (set_local $$cond - (if_else + (if (get_local $$cmp1) (i32.const 256) (get_local $$sub) @@ -16163,7 +16163,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$cmp3$14) (block (set_local $$1 @@ -16182,7 +16182,7 @@ (get_local $$tobool$i$16) ) (loop $while-out$2 $while-in$3 - (if_else + (if (get_local $$tobool$i18) (block (call $___fwritex @@ -16227,7 +16227,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$cmp3) (block (set_local $$4 @@ -16250,7 +16250,7 @@ (i32.const 255) ) ) - (if_else + (if (get_local $$tobool$i) (set_local $$l$addr$0$lcssa21 (get_local $$3) @@ -16258,7 +16258,7 @@ (br $do-once$0) ) ) - (if_else + (if (get_local $$tobool$i$16) (set_local $$l$addr$0$lcssa21 (get_local $$sub) @@ -17482,7 +17482,7 @@ ) ) (block $do-once$0 - (if_else + (if (get_local $$cmp) (block (set_local $$cmp1 @@ -17504,7 +17504,7 @@ ) ) (set_local $$cond - (if_else + (if (get_local $$cmp1) (i32.const 16) (get_local $$and) @@ -17607,7 +17607,7 @@ ) ) (block $do-once$2 - (if_else + (if (get_local $$cmp10) (block (set_local $$shl12 @@ -17666,7 +17666,7 @@ (get_local $$2) ) ) - (if_else + (if (get_local $$cmp16) (block (i32.store @@ -17752,7 +17752,7 @@ (get_local $$7) ) ) - (if_else + (if (get_local $$cmp29) (block (set_local $$cmp31 @@ -17979,7 +17979,7 @@ ) ) (block $do-once$4 - (if_else + (if (get_local $$cmp70) (block (set_local $$shl72 @@ -18041,7 +18041,7 @@ (get_local $$9) ) ) - (if_else + (if (get_local $$cmp79) (block (i32.store @@ -18188,7 +18188,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$tobool107) (block (set_local $$or110 @@ -18237,7 +18237,7 @@ (get_local $$18) ) ) - (if_else + (if (get_local $$cmp113) (call_import $_abort) (block @@ -18314,7 +18314,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$cmp128) (set_local $$nb$0 (get_local $$cond) @@ -18522,7 +18522,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$cmp$i) (block (set_local $$arrayidx27$i @@ -18542,7 +18542,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$cmp28$i) (block (set_local $$rsize$0$i$lcssa @@ -18592,14 +18592,14 @@ ) ) (set_local $$sub31$rsize$0$i - (if_else + (if (get_local $$cmp32$i) (get_local $$sub31$i) (get_local $$rsize$0$i) ) ) (set_local $$cond$v$0$i - (if_else + (if (get_local $$cmp32$i) (get_local $$cond4$i) (get_local $$v$0$i) @@ -18679,7 +18679,7 @@ ) ) (block $do-once$8 - (if_else + (if (get_local $$cmp40$i) (block (set_local $$arrayidx61$i @@ -18699,7 +18699,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$cmp62$i) (block (set_local $$arrayidx65$i @@ -18719,7 +18719,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$cmp66$i) (block (set_local $$R$3$i @@ -18796,7 +18796,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$cmp76$i) (block (set_local $$R$1$i$lcssa @@ -18824,7 +18824,7 @@ (get_local $$25) ) ) - (if_else + (if (get_local $$cmp81$i) (call_import $_abort) (block @@ -18902,7 +18902,7 @@ (get_local $$v$0$i$lcssa) ) ) - (if_else + (if (get_local $$cmp51$i) (block (i32.store @@ -18967,7 +18967,7 @@ (get_local $$36) ) ) - (if_else + (if (get_local $$cmp95$i) (block (i32.store @@ -19047,7 +19047,7 @@ (get_local $$v$0$i$lcssa) ) ) - (if_else + (if (get_local $$cmp114$i) (i32.store (get_local $$arrayidx113$i) @@ -19132,7 +19132,7 @@ (get_local $$40) ) ) - (if_else + (if (get_local $$cmp142$i) (call_import $_abort) (block @@ -19196,7 +19196,7 @@ (get_local $$43) ) ) - (if_else + (if (get_local $$cmp159$i) (call_import $_abort) (block @@ -19234,7 +19234,7 @@ (i32.const 16) ) ) - (if_else + (if (get_local $$cmp174$i) (block (set_local $$add177$i @@ -19396,7 +19396,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$tobool200$i) (block (set_local $$or204$i @@ -19445,7 +19445,7 @@ (get_local $$50) ) ) - (if_else + (if (get_local $$cmp208$i) (call_import $_abort) (block @@ -19532,7 +19532,7 @@ (i32.const -65) ) ) - (if_else + (if (get_local $$cmp139) (set_local $$nb$0 (i32.const -1) @@ -19561,7 +19561,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$cmp146) (set_local $$nb$0 (get_local $$and145) @@ -19585,7 +19585,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$cmp$i$140) (set_local $$idx$0$i (i32.const 0) @@ -19597,7 +19597,7 @@ (i32.const 16777215) ) ) - (if_else + (if (get_local $$cmp1$i) (set_local $$idx$0$i (i32.const 31) @@ -19763,7 +19763,7 @@ ) ) (block $label$break$L123 - (if_else + (if (get_local $$cmp24$i) (block (set_local $$rsize$3$i @@ -19799,7 +19799,7 @@ ) ) (set_local $$cond$i - (if_else + (if (get_local $$cmp26$i) (i32.const 0) (get_local $$sub30$i) @@ -19856,7 +19856,7 @@ (get_local $$rsize$0$i$152) ) ) - (if_else + (if (get_local $$cmp34$i) (block (set_local $$cmp36$i @@ -19865,7 +19865,7 @@ (get_local $$and145) ) ) - (if_else + (if (get_local $$cmp36$i) (block (set_local $$rsize$49$i @@ -19954,7 +19954,7 @@ ) ) (set_local $$rst$1$i - (if_else + (if (get_local $$or$cond1$i) (get_local $$rst$0$i) (get_local $$54) @@ -19984,7 +19984,7 @@ (get_local $$shl52$i) ) ) - (if_else + (if (get_local $$cmp49$i) (block (set_local $$rsize$3$i @@ -20048,7 +20048,7 @@ (get_local $$cmp57$i) ) ) - (if_else + (if (get_local $$or$cond$i) (block (set_local $$shl60$i @@ -20256,7 +20256,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$cmp97$7$i) (block (set_local $$rsize$4$lcssa$i @@ -20322,14 +20322,14 @@ ) ) (set_local $$sub101$rsize$4$i - (if_else + (if (get_local $$cmp102$i) (get_local $$sub101$i) (get_local $$rsize$49$i) ) ) (set_local $$t$4$v$4$i - (if_else + (if (get_local $$cmp102$i) (get_local $$t$48$i) (get_local $$v$410$i) @@ -20390,7 +20390,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$cmp97$i) (block (set_local $$rsize$4$lcssa$i @@ -20425,7 +20425,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$cmp116$i) (set_local $$nb$0 (get_local $$and145) @@ -20448,7 +20448,7 @@ (get_local $$sub118$i) ) ) - (if_else + (if (get_local $$cmp119$i) (block (set_local $$62 @@ -20514,7 +20514,7 @@ ) ) (block $do-once$21 - (if_else + (if (get_local $$cmp128$i) (block (set_local $$arrayidx151$i @@ -20534,7 +20534,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$cmp152$i) (block (set_local $$arrayidx155$i @@ -20554,7 +20554,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$cmp156$i) (block (set_local $$R$3$i$171 @@ -20631,7 +20631,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$cmp166$i) (block (set_local $$R$1$i$168$lcssa @@ -20659,7 +20659,7 @@ (get_local $$62) ) ) - (if_else + (if (get_local $$cmp171$i) (call_import $_abort) (block @@ -20737,7 +20737,7 @@ (get_local $$v$4$lcssa$i) ) ) - (if_else + (if (get_local $$cmp140$i) (block (i32.store @@ -20802,7 +20802,7 @@ (get_local $$73) ) ) - (if_else + (if (get_local $$cmp185$i) (block (i32.store @@ -20882,7 +20882,7 @@ (get_local $$v$4$lcssa$i) ) ) - (if_else + (if (get_local $$cmp205$i) (i32.store (get_local $$arrayidx204$i) @@ -20967,7 +20967,7 @@ (get_local $$77) ) ) - (if_else + (if (get_local $$cmp233$i) (call_import $_abort) (block @@ -21031,7 +21031,7 @@ (get_local $$80) ) ) - (if_else + (if (get_local $$cmp250$i) (call_import $_abort) (block @@ -21070,7 +21070,7 @@ ) ) (block $do-once$29 - (if_else + (if (get_local $$cmp265$i) (block (set_local $$add268$i @@ -21219,7 +21219,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$tobool293$i) (block (set_local $$or297$i @@ -21268,7 +21268,7 @@ (get_local $$85) ) ) - (if_else + (if (get_local $$cmp301$i) (call_import $_abort) (block @@ -21331,7 +21331,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$cmp319$i) (set_local $$I316$0$i (i32.const 0) @@ -21343,7 +21343,7 @@ (i32.const 16777215) ) ) - (if_else + (if (get_local $$cmp323$i) (set_local $$I316$0$i (i32.const 31) @@ -21624,7 +21624,7 @@ ) ) (set_local $$cond383$i - (if_else + (if (get_local $$cmp374$i) (i32.const 0) (get_local $$sub381$i) @@ -21713,7 +21713,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$cmp396$i) (block (set_local $$T$0$i$lcssa293 @@ -21738,7 +21738,7 @@ ) (br $while-in$32) ) - (if_else + (if (i32.eq (get_local $label) (i32.const 145) @@ -21755,7 +21755,7 @@ (get_local $$90) ) ) - (if_else + (if (get_local $$cmp401$i) (call_import $_abort) (block @@ -21837,7 +21837,7 @@ (get_local $$not$cmp418$i) ) ) - (if_else + (if (get_local $$93) (block (set_local $$bk429$i @@ -21954,7 +21954,7 @@ (i32.const 15) ) ) - (if_else + (if (get_local $$cmp162) (block (set_local $$add$ptr166 @@ -22205,7 +22205,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$cmp1$i$i) (block (i32.store @@ -22392,7 +22392,7 @@ ) ) (block $label$break$L257 - (if_else + (if (get_local $$tobool30$i) (block (set_local $$104 @@ -22407,7 +22407,7 @@ ) ) (block $label$break$L259 - (if_else + (if (get_local $$cmp32$i$185) (set_local $label (i32.const 173) @@ -22488,7 +22488,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$cmp3$i$i) (block (set_local $label @@ -22555,7 +22555,7 @@ (get_local $$add$ptr$i$193) ) ) - (if_else + (if (get_local $$cmp85$i) (block (set_local $$cmp89$i @@ -22650,7 +22650,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$cmp43$i) (set_local $$ssize$0$i (get_local $$and11$i) @@ -22774,7 +22774,7 @@ (get_local $$call37$i) ) ) - (if_else + (if (get_local $$cmp69$i) (block (set_local $$tbase$796$i @@ -22851,7 +22851,7 @@ ) ) (block $do-once$42 - (if_else + (if (get_local $$or$cond3$i) (block (set_local $$115 @@ -22889,7 +22889,7 @@ (i32.const 2147483647) ) ) - (if_else + (if (get_local $$cmp105$i) (block (set_local $$call107$i @@ -22903,7 +22903,7 @@ (i32.const -1) ) ) - (if_else + (if (get_local $$cmp108$i) (block (call_import $_sbrk @@ -23139,7 +23139,7 @@ ) ) (block $do-once$44 - (if_else + (if (get_local $$cmp157$i) (block (set_local $$120 @@ -23248,7 +23248,7 @@ (i32.const 32) ) ) - (if_else + (if (get_local $$exitcond$i$i) (br $while-out$46) (set_local $$i$01$i$i @@ -23297,7 +23297,7 @@ ) ) (set_local $$cond$i$i - (if_else + (if (get_local $$cmp$i$13$i) (i32.const 0) (get_local $$and3$i$i) @@ -23436,7 +23436,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$cmp186$i) (br $while-out$48) (set_local $$sp$0108$i @@ -23547,7 +23547,7 @@ ) ) (set_local $$cond$i$25$i - (if_else + (if (get_local $$cmp$i$23$i) (i32.const 0) (get_local $$and3$i$24$i) @@ -23638,7 +23638,7 @@ (get_local $$135) ) ) - (if_else + (if (get_local $$cmp218$i) (block (i32.store @@ -23706,7 +23706,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$cmp224$i) (block (set_local $$sp$0$i$i$i @@ -23749,7 +23749,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$tobool237$i) (block (i32.store @@ -23811,7 +23811,7 @@ ) ) (set_local $$cond$i$36$i - (if_else + (if (get_local $$cmp$i$34$i) (i32.const 0) (get_local $$and3$i$35$i) @@ -23857,7 +23857,7 @@ ) ) (set_local $$cond15$i$i - (if_else + (if (get_local $$cmp7$i$i) (i32.const 0) (get_local $$and13$i$i) @@ -23916,7 +23916,7 @@ ) ) (block $do-once$52 - (if_else + (if (get_local $$cmp20$i$i) (block (set_local $$144 @@ -24041,7 +24041,7 @@ (i32.const 1) ) ) - (if_else + (if (get_local $$cmp34$i$i) (block (set_local $$and37$i$i @@ -24063,7 +24063,7 @@ ) ) (block $label$break$L331 - (if_else + (if (get_local $$cmp38$i$i) (block (set_local $$fd$i$i @@ -24196,7 +24196,7 @@ ) ) (block $do-once$57 - (if_else + (if (get_local $$cmp54$i$i) (block (set_local $$$pre5$i$i @@ -24295,7 +24295,7 @@ ) ) (block $do-once$59 - (if_else + (if (get_local $$cmp75$i$i) (block (set_local $$child$i$i @@ -24321,7 +24321,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$cmp97$i$i) (block (set_local $$160 @@ -24335,7 +24335,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$cmp100$i$i) (block (set_local $$R$3$i$i @@ -24412,7 +24412,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$cmp108$i$i) (block (set_local $$R$1$i$i$lcssa @@ -24440,7 +24440,7 @@ (get_local $$150) ) ) - (if_else + (if (get_local $$cmp112$i$i) (call_import $_abort) (block @@ -24518,7 +24518,7 @@ (get_local $$add$ptr16$i$i) ) ) - (if_else + (if (get_local $$cmp86$i$i) (block (i32.store @@ -24580,7 +24580,7 @@ ) ) (block $do-once$63 - (if_else + (if (get_local $$cmp124$i$i) (block (i32.store @@ -24661,7 +24661,7 @@ (get_local $$add$ptr16$i$i) ) ) - (if_else + (if (get_local $$cmp144$i$i) (i32.store (get_local $$arrayidx143$i$i) @@ -24747,7 +24747,7 @@ (get_local $$168) ) ) - (if_else + (if (get_local $$cmp172$i$i) (call_import $_abort) (block @@ -24808,7 +24808,7 @@ (get_local $$171) ) ) - (if_else + (if (get_local $$cmp189$i$i) (call_import $_abort) (block @@ -24967,7 +24967,7 @@ ) ) (block $do-once$67 - (if_else + (if (get_local $$tobool228$i$i) (block (set_local $$or232$i$i @@ -25085,7 +25085,7 @@ ) ) (block $do-once$69 - (if_else + (if (get_local $$cmp254$i$i) (set_local $$I252$0$i$i (i32.const 0) @@ -25380,7 +25380,7 @@ ) ) (set_local $$cond315$i$i - (if_else + (if (get_local $$cmp306$i$i) (i32.const 0) (get_local $$sub313$i$i) @@ -25469,7 +25469,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$cmp327$i$i) (block (set_local $$T$0$i$58$i$lcssa283 @@ -25494,7 +25494,7 @@ ) (br $while-in$72) ) - (if_else + (if (i32.eq (get_local $label) (i32.const 278) @@ -25511,7 +25511,7 @@ (get_local $$181) ) ) - (if_else + (if (get_local $$cmp332$i$i) (call_import $_abort) (block @@ -25593,7 +25593,7 @@ (get_local $$not$cmp346$i$i) ) ) - (if_else + (if (get_local $$184) (block (set_local $$bk357$i$i @@ -25777,7 +25777,7 @@ ) ) (set_local $$cond$i$16$i - (if_else + (if (get_local $$cmp$i$15$i) (i32.const 0) (get_local $$and6$i$i) @@ -25802,7 +25802,7 @@ ) ) (set_local $$cond13$i$i - (if_else + (if (get_local $$cmp9$i$i) (get_local $$119) (get_local $$add$ptr7$i$i) @@ -25860,7 +25860,7 @@ ) ) (set_local $$cond$i$i$i - (if_else + (if (get_local $$cmp$i$2$i$i) (i32.const 0) (get_local $$and3$i$i$i) @@ -26003,7 +26003,7 @@ (get_local $$add$ptr$i$i$i$lcssa) ) ) - (if_else + (if (get_local $$cmp27$i$i) (set_local $$p$0$i$i (get_local $$add$ptr24$i$i) @@ -26124,7 +26124,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$tobool$i$i) (block (set_local $$or44$i$i @@ -26173,7 +26173,7 @@ (get_local $$198) ) ) - (if_else + (if (get_local $$cmp46$i$i) (call_import $_abort) (block @@ -26236,7 +26236,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$cmp59$i$i) (set_local $$I57$0$i$i (i32.const 0) @@ -26248,7 +26248,7 @@ (i32.const 16777215) ) ) - (if_else + (if (get_local $$cmp63$i$i) (set_local $$I57$0$i$i (i32.const 31) @@ -26523,7 +26523,7 @@ ) ) (set_local $$cond115$i$i - (if_else + (if (get_local $$cmp106$i$i) (i32.const 0) (get_local $$sub113$i$i) @@ -26612,7 +26612,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$cmp128$i$i) (block (set_local $$T$0$i$i$lcssa284 @@ -26637,7 +26637,7 @@ ) (br $while-in$78) ) - (if_else + (if (i32.eq (get_local $label) (i32.const 304) @@ -26654,7 +26654,7 @@ (get_local $$203) ) ) - (if_else + (if (get_local $$cmp133$i$i) (call_import $_abort) (block @@ -26736,7 +26736,7 @@ (get_local $$not$cmp150$i$i) ) ) - (if_else + (if (get_local $$206) (block (set_local $$bk158$i$i @@ -27338,7 +27338,7 @@ ) ) (block $do-once$0 - (if_else + (if (get_local $$tobool9) (block (set_local $$2 @@ -27630,7 +27630,7 @@ (get_local $$arrayidx) ) ) - (if_else + (if (get_local $$cmp50) (block (set_local $$$pre313 @@ -27671,7 +27671,7 @@ (get_local $$add$ptr16) ) ) - (if_else + (if (get_local $$cmp57) (set_local $$fd67$pre$phiZ2D (get_local $$fd56) @@ -27732,7 +27732,7 @@ ) ) (block $do-once$2 - (if_else + (if (get_local $$cmp74) (block (set_local $$child @@ -27758,7 +27758,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$cmp100) (block (set_local $$15 @@ -27772,7 +27772,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$cmp104) (block (set_local $$R$3 @@ -27849,7 +27849,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$cmp114) (block (set_local $$R$1$lcssa @@ -27877,7 +27877,7 @@ (get_local $$0) ) ) - (if_else + (if (get_local $$cmp118) (call_import $_abort) (block @@ -27955,7 +27955,7 @@ (get_local $$add$ptr16) ) ) - (if_else + (if (get_local $$cmp87) (block (i32.store @@ -27982,7 +27982,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$cmp127) (block (set_local $$p$1 @@ -28024,7 +28024,7 @@ (get_local $$19) ) ) - (if_else + (if (get_local $$cmp131) (block (i32.store @@ -28110,7 +28110,7 @@ (get_local $$add$ptr16) ) ) - (if_else + (if (get_local $$cmp150) (i32.store (get_local $$arrayidx149) @@ -28204,7 +28204,7 @@ (get_local $$23) ) ) - (if_else + (if (get_local $$cmp176) (call_import $_abort) (block @@ -28251,7 +28251,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$cmp189) (block (set_local $$p$1 @@ -28273,7 +28273,7 @@ (get_local $$26) ) ) - (if_else + (if (get_local $$cmp192) (call_import $_abort) (block @@ -28373,7 +28373,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$tobool241) (block (set_local $$29 @@ -28541,7 +28541,7 @@ ) ) (block $do-once$8 - (if_else + (if (get_local $$cmp269) (block (set_local $$fd273 @@ -28679,7 +28679,7 @@ (get_local $$arrayidx279) ) ) - (if_else + (if (get_local $$cmp305) (block (set_local $$$pre312 @@ -28725,7 +28725,7 @@ (get_local $$add$ptr6) ) ) - (if_else + (if (get_local $$cmp312) (set_local $$fd322$pre$phiZ2D (get_local $$fd311) @@ -28779,7 +28779,7 @@ ) ) (block $do-once$10 - (if_else + (if (get_local $$cmp334) (block (set_local $$child361 @@ -28805,7 +28805,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$cmp363) (block (set_local $$48 @@ -28819,7 +28819,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$cmp368) (block (set_local $$R332$3 @@ -28896,7 +28896,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$cmp380) (block (set_local $$R332$1$lcssa @@ -28929,7 +28929,7 @@ (get_local $$51) ) ) - (if_else + (if (get_local $$cmp386) (call_import $_abort) (block @@ -29012,7 +29012,7 @@ (get_local $$add$ptr6) ) ) - (if_else + (if (get_local $$cmp348) (block (i32.store @@ -29076,7 +29076,7 @@ (get_local $$53) ) ) - (if_else + (if (get_local $$cmp401) (block (i32.store @@ -29156,7 +29156,7 @@ (get_local $$add$ptr6) ) ) - (if_else + (if (get_local $$cmp420) (i32.store (get_local $$arrayidx419) @@ -29241,7 +29241,7 @@ (get_local $$57) ) ) - (if_else + (if (get_local $$cmp448) (call_import $_abort) (block @@ -29305,7 +29305,7 @@ (get_local $$60) ) ) - (if_else + (if (get_local $$cmp464) (call_import $_abort) (block @@ -29376,7 +29376,7 @@ (get_local $$61) ) ) - (if_else + (if (get_local $$cmp484) (block (i32.store @@ -29485,7 +29485,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$tobool513) (block (set_local $$or516 @@ -29534,7 +29534,7 @@ (get_local $$65) ) ) - (if_else + (if (get_local $$cmp519) (call_import $_abort) (block @@ -29597,7 +29597,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$cmp536) (set_local $$I534$0 (i32.const 0) @@ -29609,7 +29609,7 @@ (i32.const 16777215) ) ) - (if_else + (if (get_local $$cmp540) (set_local $$I534$0 (i32.const 31) @@ -29817,7 +29817,7 @@ ) ) (block $do-once$16 - (if_else + (if (get_local $$tobool575) (block (set_local $$or578 @@ -29890,7 +29890,7 @@ ) ) (set_local $$cond - (if_else + (if (get_local $$cmp584) (i32.const 0) (get_local $$sub589) @@ -29979,7 +29979,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$cmp601) (block (set_local $$T$0$lcssa319 @@ -30004,7 +30004,7 @@ ) (br $while-in$19) ) - (if_else + (if (i32.eq (get_local $label) (i32.const 127) @@ -30021,7 +30021,7 @@ (get_local $$70) ) ) - (if_else + (if (get_local $$cmp605) (call_import $_abort) (block @@ -30103,7 +30103,7 @@ (get_local $$not$cmp621) ) ) - (if_else + (if (get_local $$73) (block (set_local $$bk631 @@ -30181,7 +30181,7 @@ (i32.const 0) ) ) - (if_else + (if (get_local $$cmp640) (set_local $$sp$0$in$i (i32.const 632) @@ -30206,7 +30206,7 @@ (i32.const 8) ) ) - (if_else + (if (get_local $$cmp$i) (br $while-out$20) (set_local $$sp$0$in$i @@ -30364,7 +30364,7 @@ ) ) (loop $while-out$0 $while-in$1 - (if_else + (if (i32.lt_s (get_local $ptr) (get_local $unaligned) @@ -30387,7 +30387,7 @@ ) ) (loop $while-out$2 $while-in$3 - (if_else + (if (i32.lt_s (get_local $ptr) (get_local $stop4) @@ -30410,7 +30410,7 @@ ) ) (loop $while-out$4 $while-in$5 - (if_else + (if (i32.lt_s (get_local $ptr) (get_local $stop) @@ -30590,7 +30590,7 @@ ) (block (loop $while-out$0 $while-in$1 - (if_else + (if (i32.and (get_local $dest) (i32.const 3) @@ -30634,7 +30634,7 @@ (br $while-in$1) ) (loop $while-out$2 $while-in$3 - (if_else + (if (i32.ge_s (get_local $num) (i32.const 4) @@ -30671,7 +30671,7 @@ ) ) (loop $while-out$4 $while-in$5 - (if_else + (if (i32.gt_s (get_local $num) (i32.const 0) @@ -30755,7 +30755,7 @@ ) (i32.store (i32.const 168) - (if_else + (if (i32.lt_s (get_local $high) (i32.const 0) @@ -30992,7 +30992,7 @@ (i32.const 31) ) (i32.shl - (if_else + (if (i32.lt_s (get_local $$a$1) (i32.const 0) @@ -31007,7 +31007,7 @@ (set_local $$1$1 (i32.or (i32.shr_s - (if_else + (if (i32.lt_s (get_local $$a$1) (i32.const 0) @@ -31018,7 +31018,7 @@ (i32.const 31) ) (i32.shl - (if_else + (if (i32.lt_s (get_local $$a$1) (i32.const 0) @@ -31037,7 +31037,7 @@ (i32.const 31) ) (i32.shl - (if_else + (if (i32.lt_s (get_local $$b$1) (i32.const 0) @@ -31052,7 +31052,7 @@ (set_local $$2$1 (i32.or (i32.shr_s - (if_else + (if (i32.lt_s (get_local $$b$1) (i32.const 0) @@ -31063,7 +31063,7 @@ (i32.const 31) ) (i32.shl - (if_else + (if (i32.lt_s (get_local $$b$1) (i32.const 0) @@ -31187,7 +31187,7 @@ (i32.const 31) ) (i32.shl - (if_else + (if (i32.lt_s (get_local $$a$1) (i32.const 0) @@ -31202,7 +31202,7 @@ (set_local $$1$1 (i32.or (i32.shr_s - (if_else + (if (i32.lt_s (get_local $$a$1) (i32.const 0) @@ -31213,7 +31213,7 @@ (i32.const 31) ) (i32.shl - (if_else + (if (i32.lt_s (get_local $$a$1) (i32.const 0) @@ -31232,7 +31232,7 @@ (i32.const 31) ) (i32.shl - (if_else + (if (i32.lt_s (get_local $$b$1) (i32.const 0) @@ -31247,7 +31247,7 @@ (set_local $$2$1 (i32.or (i32.shr_s - (if_else + (if (i32.lt_s (get_local $$b$1) (i32.const 0) @@ -31258,7 +31258,7 @@ (i32.const 31) ) (i32.shl - (if_else + (if (i32.lt_s (get_local $$b$1) (i32.const 0) @@ -31564,7 +31564,7 @@ (i32.const 0) ) ) - (if_else + (if (i32.eq (get_local $$d_sroa_1_4_extract_trunc) (i32.const 0) @@ -31669,7 +31669,7 @@ ) ) (block $do-once$0 - (if_else + (if (i32.eq (get_local $$d_sroa_0_0_extract_trunc) (i32.const 0) @@ -32263,7 +32263,7 @@ ) ) ) - (if_else + (if (i32.eq (get_local $$d_sroa_0_0_extract_trunc) (i32.const 1) @@ -32341,7 +32341,7 @@ ) ) ) - (if_else + (if (i32.eq (get_local $$sr_1_ph) (i32.const 0) @@ -32483,7 +32483,7 @@ (i32.const 31) ) (i32.shl - (if_else + (if (i32.lt_s (get_local $$150$1) (i32.const 0) @@ -32512,7 +32512,7 @@ (i32.and (i32.or (i32.shr_s - (if_else + (if (i32.lt_s (get_local $$150$1) (i32.const 0) @@ -32523,7 +32523,7 @@ (i32.const 31) ) (i32.shl - (if_else + (if (i32.lt_s (get_local $$150$1) (i32.const 0) @@ -32552,7 +32552,7 @@ (i32.const 1) ) ) - (if_else + (if (i32.eq (get_local $$155) (i32.const 0) diff --git a/test/min.2asm.js b/test/min.2asm.js index ea1d2d83f..647a3a38c 100644 --- a/test/min.2asm.js +++ b/test/min.2asm.js @@ -28,6 +28,7 @@ function asmFunc(global, env, buffer) { } wasm2asm_f32$0 = Math_fround(-wasm2asm_f32$1); n = wasm2asm_f32$0; + return Math_fround(wasm2asm_f32$0); } function littleswitch(x) { diff --git a/test/min.asm.js b/test/min.asm.js index d4efa3bca..77e54caab 100644 --- a/test/min.asm.js +++ b/test/min.asm.js @@ -16,6 +16,7 @@ function (global, env, buffer) { p = p | 0; var n = fr(0); n = fr(-(c[k >> 2] = p, fr(g[k >> 2]))); + return n; } return { floats: floats }; diff --git a/test/min.fromasm b/test/min.fromasm index a382808d2..4e5c4639d 100644 --- a/test/min.fromasm +++ b/test/min.fromasm @@ -10,7 +10,7 @@ ) ) ) - (func $neg (param $k i32) (param $p i32) + (func $neg (param $k i32) (param $p i32) (result f32) (local $n f32) (set_local $n (f32.neg @@ -25,5 +25,8 @@ ) ) ) + (return + (get_local $n) + ) ) ) diff --git a/test/min.wast b/test/min.wast index b66f98c30..890d3156f 100644 --- a/test/min.wast +++ b/test/min.wast @@ -8,7 +8,7 @@ (get_local $f) ) ) - (func $neg (param $k i32) (param $p i32) + (func $neg (param $k i32) (param $p i32) (result f32) (local $n f32) (set_local $n (f32.neg diff --git a/test/min.wast.fromBinary b/test/min.wast.fromBinary index 2ca4c14b6..358132c5f 100644 --- a/test/min.wast.fromBinary +++ b/test/min.wast.fromBinary @@ -1,7 +1,7 @@ (module (memory 16777216 16777216) (type $0 (func (param f32) (result f32))) - (type $1 (func (param i32 i32))) + (type $1 (func (param i32 i32) (result f32))) (type $2 (func (param i32) (result i32))) (type $3 (func (param i32 i32 i32) (result i32))) (export "floats" $floats) @@ -12,7 +12,7 @@ (get_local $var$0) ) ) - (func $neg (type $1) (param $var$0 i32) (param $var$1 i32) + (func $neg (type $1) (param $var$0 i32) (param $var$1 i32) (result f32) (local $var$2 f32) (set_local $var$2 (f32.neg diff --git a/test/passes/metrics.txt b/test/passes/metrics.txt index 5614756de..c5e3a49ee 100644 --- a/test/passes/metrics.txt +++ b/test/passes/metrics.txt @@ -12,18 +12,18 @@ Total : 18 (i32.const 0) (i32.const 1) ) - (if_else + (if (i32.const 0) (i32.const 1) (i32.const 2) ) - (if_else + (if (i32.const 4) (i32.const 5) (i32.const 6) ) (i32.eq - (if_else + (if (i32.const 4) (i32.const 5) (i32.const 6) diff --git a/test/passes/remove-unused-brs.txt b/test/passes/remove-unused-brs.txt index 761ba80f3..53635621d 100644 --- a/test/passes/remove-unused-brs.txt +++ b/test/passes/remove-unused-brs.txt @@ -93,13 +93,13 @@ ) (func $b12-yes (result i32) (block $topmost - (if_else + (if (i32.const 1) - (block $block0 + (block $block1 (i32.const 12) (i32.const 1) ) - (block $block1 + (block $block3 (i32.const 27) (i32.const 2) ) @@ -108,16 +108,16 @@ ) (func $b13 (result i32) (block $topmost - (if_else + (if (i32.const 1) - (block $block0 + (block $block1 (i32.const 12) (br_if $topmost (i32.const 1) (i32.const 1) ) ) - (block $block1 + (block $block3 (i32.const 27) (br $topmost (i32.const 2) @@ -129,12 +129,12 @@ ) (func $b14 (result i32) (block $topmost - (if_else + (if (i32.const 1) - (block $block0 + (block $block1 (i32.const 12) ) - (block $block1 + (block $block3 (i32.const 27) ) ) diff --git a/test/print/min.minified.txt b/test/print/min.minified.txt index 5ecab5959..2b22a7443 100644 --- a/test/print/min.minified.txt +++ b/test/print/min.minified.txt @@ -1 +1 @@ -(module(memory 16777216 16777216)(export "floats" $floats)(func $floats(param $f f32)(result f32)(local $t f32)(f32.add(get_local $t)(get_local $f)))(func $neg(param $k i32)(param $p i32)(local $n f32)(set_local $n(f32.neg(block $block0(i32.store(get_local $k)(get_local $p))(f32.load(get_local $k))))))(func $littleswitch(param $x i32)(result i32)(block $topmost(tableswitch $switch$0(i32.sub(get_local $x)(i32.const 1))(table(case $switch-case$1)(case $switch-case$2)) (case $switch-case$1)(case $switch-case$1(br $topmost(i32.const 1)))(case $switch-case$2(br $topmost(i32.const 2))))(i32.const 0)))(func $f1(param $i1 i32)(param $i2 i32)(param $i3 i32)(result i32)(block $topmost(get_local $i3))))
\ No newline at end of file +(module(memory 16777216 16777216)(export "floats" $floats)(func $floats(param $f f32)(result f32)(local $t f32)(f32.add(get_local $t)(get_local $f)))(func $neg(param $k i32)(param $p i32)(result f32)(local $n f32)(set_local $n(f32.neg(block $block0(i32.store(get_local $k)(get_local $p))(f32.load(get_local $k))))))(func $littleswitch(param $x i32)(result i32)(block $topmost(tableswitch $switch$0(i32.sub(get_local $x)(i32.const 1))(table(case $switch-case$1)(case $switch-case$2)) (case $switch-case$1)(case $switch-case$1(br $topmost(i32.const 1)))(case $switch-case$2(br $topmost(i32.const 2))))(i32.const 0)))(func $f1(param $i1 i32)(param $i2 i32)(param $i3 i32)(result i32)(block $topmost(get_local $i3))))
\ No newline at end of file diff --git a/test/print/min.txt b/test/print/min.txt index b66f98c30..890d3156f 100644 --- a/test/print/min.txt +++ b/test/print/min.txt @@ -8,7 +8,7 @@ (get_local $f) ) ) - (func $neg (param $k i32) (param $p i32) + (func $neg (param $k i32) (param $p i32) (result f32) (local $n f32) (set_local $n (f32.neg diff --git a/test/print/min.wast b/test/print/min.wast index 35ea01ace..e38662bb1 100644 --- a/test/print/min.wast +++ b/test/print/min.wast @@ -1 +1 @@ -(module(memory 16777216 16777216)(export "floats" $floats)(func $floats(param $f f32)(result f32)(local $t f32)(f32.add(get_local $t)(get_local $f)))(func $neg(param $k i32)(param $p i32)(local $n f32)(set_local $n(f32.neg(block $block0(i32.store(get_local $k)(get_local $p))(f32.load(get_local $k))))))(func $littleswitch(param $x i32)(result i32)(block $topmost(tableswitch $switch$0(i32.sub(get_local $x)(i32.const 1))(table(case $switch-case$1)(case $switch-case$2)) (case $switch-case$1)(case $switch-case$1(br $topmost(i32.const 1)))(case $switch-case$2(br $topmost(i32.const 2))))(i32.const 0)))(func $f1(param $i1 i32)(param $i2 i32)(param $i3 i32)(result i32)(block $topmost(get_local $i3)))) +(module(memory 16777216 16777216)(export "floats" $floats)(func $floats(param $f f32)(result f32)(local $t f32)(f32.add(get_local $t)(get_local $f)))(func $neg(param $k i32)(param $p i32)(result f32)(local $n f32)(set_local $n(f32.neg(block $block0(i32.store(get_local $k)(get_local $p))(f32.load(get_local $k))))))(func $littleswitch(param $x i32)(result i32)(block $topmost(tableswitch $switch$0(i32.sub(get_local $x)(i32.const 1))(table(case $switch-case$1)(case $switch-case$2)) (case $switch-case$1)(case $switch-case$1(br $topmost(i32.const 1)))(case $switch-case$2(br $topmost(i32.const 2))))(i32.const 0)))(func $f1(param $i1 i32)(param $i2 i32)(param $i3 i32)(result i32)(block $topmost(get_local $i3)))) diff --git a/test/spec b/test/spec -Subproject 5a1bb1b3cefdf831c68b7674675fad95d00db5a +Subproject 87e1d78059961e8a0b5908af46352c98e94afd8 diff --git a/test/two_sides.fromasm b/test/two_sides.fromasm index c89917df6..bacef4212 100644 --- a/test/two_sides.fromasm +++ b/test/two_sides.fromasm @@ -5,7 +5,7 @@ (export "_test" $_test) (func $_test (param $i1 i32) (param $i2 i32) (param $i3 i32) (param $i4 i32) (param $i5 i32) (result i32) (local $d6 f64) - (if_else + (if (i32.eq (get_local $i5) (i32.const 0) diff --git a/test/unit.fromasm b/test/unit.fromasm index c578d8b63..9e614adbf 100644 --- a/test/unit.fromasm +++ b/test/unit.fromasm @@ -415,7 +415,7 @@ (i32.const 1) ) (loop $for-out$0 $for-in$1 - (if_else + (if (i32.lt_s (get_local $i) (i32.const 200) |