summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/passes/Print.cpp3
-rw-r--r--src/wasm-s-parser.h31
-rw-r--r--test/emcc_O2_hello_world.fromasm60
-rw-r--r--test/emcc_O2_hello_world.fromasm.imprecise60
-rw-r--r--test/emcc_O2_hello_world.fromasm.imprecise.no-opts34
-rw-r--r--test/emcc_O2_hello_world.fromasm.no-opts34
-rw-r--r--test/emcc_hello_world.fromasm158
-rw-r--r--test/emcc_hello_world.fromasm.imprecise158
-rw-r--r--test/emcc_hello_world.fromasm.imprecise.no-opts12
-rw-r--r--test/emcc_hello_world.fromasm.no-opts12
-rw-r--r--test/example/c-api-kitchen-sink.txt8
-rw-r--r--test/example/c-api-kitchen-sink.txt.txt4
-rw-r--r--test/kitchen_sink.wast2
-rw-r--r--test/kitchen_sink.wast.fromBinary2
-rw-r--r--test/memorygrowth.fromasm54
-rw-r--r--test/memorygrowth.fromasm.imprecise54
-rw-r--r--test/min.fromasm.imprecise.no-opts2
-rw-r--r--test/min.fromasm.no-opts2
-rw-r--r--test/min.wast6
-rw-r--r--test/min.wast.fromBinary6
-rw-r--r--test/passes/duplicate-function-elimination.txt4
-rw-r--r--test/passes/remove-unused-brs.txt38
-rw-r--r--test/passes/remove-unused-names_merge-blocks.txt46
-rw-r--r--test/passes/simplify-locals.txt30
-rw-r--r--test/passes/vacuum.txt8
-rw-r--r--test/unit.fromasm6
-rw-r--r--test/unit.fromasm.imprecise6
-rw-r--r--test/unit.fromasm.imprecise.no-opts40
-rw-r--r--test/unit.fromasm.no-opts40
-rw-r--r--test/unit.wast14
-rw-r--r--test/unit.wast.fromBinary16
31 files changed, 484 insertions, 466 deletions
diff --git a/src/passes/Print.cpp b/src/passes/Print.cpp
index e0fab9901..4cb363e66 100644
--- a/src/passes/Print.cpp
+++ b/src/passes/Print.cpp
@@ -109,6 +109,9 @@ struct PrintSExpression : public Visitor<PrintSExpression> {
o << ' ';
printName(curr->name);
}
+ if (isConcreteWasmType(curr->type)) {
+ o << ' ' << printWasmType(curr->type);
+ }
incIndent();
if (curr->list.size() > 0 && curr->list[0]->is<Block>()) {
// recurse into the first element
diff --git a/src/wasm-s-parser.h b/src/wasm-s-parser.h
index 3f80f6f9e..a39eb59dc 100644
--- a/src/wasm-s-parser.h
+++ b/src/wasm-s-parser.h
@@ -991,13 +991,23 @@ private:
auto& s = *sp;
size_t i = 1;
if (i < s.size() && s[i]->isStr()) {
- curr->name = s[i]->str();
- i++;
+ // could be a name or a type
+ if (s[i]->dollared() || stringToWasmType(s[i]->str(), true /* allowError */) == none) {
+ curr->name = s[i]->str();
+ i++;
+ } else {
+ curr->name = getPrefixedName("block");
+ }
} else {
curr->name = getPrefixedName("block");
}
labelStack.push_back(curr->name);
- if (i >= s.size()) break; // labeled empty block
+ if (i >= s.size()) break; // empty block
+ if (s[i]->isStr()) {
+ // block signature
+ i++; // TODO: parse the signature
+ if (i >= s.size()) break; // empty block
+ }
auto& first = *s[i];
if (first[0]->str() == BLOCK) {
// recurse
@@ -1014,7 +1024,7 @@ private:
auto& s = *sp;
size_t i = 1;
if (i < s.size()) {
- if (s[i]->isStr()) {
+ while (i < s.size() && s[i]->isStr()) {
i++;
}
if (t < int(stack.size()) - 1) {
@@ -1132,7 +1142,12 @@ private:
Expression* makeIf(Element& s) {
auto ret = allocator.alloc<If>();
- ret->condition = parseExpression(s[1]);
+ Index i = 1;
+ if (s[i]->isStr()) {
+ // if type
+ i++;
+ }
+ ret->condition = parseExpression(s[i++]);
// ifTrue and ifFalse may get implicit blocks
auto handle = [&](const char* title, Element& s) {
@@ -1162,9 +1177,9 @@ private:
return ret;
};
- ret->ifTrue = handle("if-true", *s[2]);
- if (s.size() == 4) {
- ret->ifFalse = handle("if-else", *s[3]);
+ ret->ifTrue = handle("if-true", *s[i++]);
+ if (i < s.size()) {
+ ret->ifFalse = handle("if-else", *s[i++]);
ret->finalize();
}
return ret;
diff --git a/test/emcc_O2_hello_world.fromasm b/test/emcc_O2_hello_world.fromasm
index 3d968f754..b8e25baa5 100644
--- a/test/emcc_O2_hello_world.fromasm
+++ b/test/emcc_O2_hello_world.fromasm
@@ -1721,7 +1721,7 @@
(get_local $30)
)
)
- (block
+ (block i32
(if
(i32.eqz
(tee_local $3
@@ -3163,7 +3163,7 @@
(i32.const 0)
(i32.eq
(tee_local $6
- (block $label$break$L257
+ (block $label$break$L257 i32
(if
(i32.and
(i32.load
@@ -3172,7 +3172,7 @@
(i32.const 4)
)
(i32.const 190)
- (block
+ (block i32
(block $label$break$L259
(if
(tee_local $3
@@ -3817,7 +3817,7 @@
)
)
)
- (block
+ (block i32
(i32.store
(i32.const 192)
(get_local $20)
@@ -4036,7 +4036,7 @@
)
(i32.const 1)
)
- (block
+ (block i32
(set_local $13
(i32.and
(get_local $0)
@@ -4665,7 +4665,7 @@
(i32.const 480)
(i32.shl
(tee_local $3
- (block $do-once$67
+ (block $do-once$67 i32
(if
(tee_local $2
(i32.shr_u
@@ -4673,7 +4673,7 @@
(i32.const 8)
)
)
- (block
+ (block i32
(br_if $do-once$67
(i32.const 31)
(i32.gt_u
@@ -7904,7 +7904,7 @@
(i32.load
(i32.const 8)
)
- (block
+ (block i32
(call $_pthread_cleanup_push
(i32.const 4)
(get_local $0)
@@ -7936,7 +7936,7 @@
)
(get_local $9)
)
- (block
+ (block i32
(i32.store
(get_local $11)
(i32.load
@@ -8006,7 +8006,7 @@
(get_local $4)
(i32.const 2)
)
- (block
+ (block i32
(i32.store
(get_local $8)
(i32.add
@@ -8024,14 +8024,14 @@
)
(get_local $14)
)
- (block
+ (block i32
(set_local $3
(get_local $5)
)
(get_local $14)
)
)
- (block
+ (block i32
(i32.store
(get_local $8)
(tee_local $3
@@ -8270,7 +8270,7 @@
)
)
(set_local $1
- (block $label$break$L10
+ (block $label$break$L10 i32
(if
(i32.gt_s
(i32.load8_s offset=75
@@ -8278,7 +8278,7 @@
)
(i32.const -1)
)
- (block
+ (block i32
(set_local $3
(get_local $1)
)
@@ -8363,7 +8363,7 @@
(get_local $3)
)
)
- (block
+ (block i32
(set_local $2
(i32.const 0)
)
@@ -8402,10 +8402,10 @@
(func $_fflush (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
- (block $do-once$0
+ (block $do-once$0 i32
(if
(get_local $0)
- (block
+ (block i32
(if
(i32.le_s
(i32.load offset=76
@@ -8434,7 +8434,7 @@
(if
(get_local $1)
(get_local $2)
- (block
+ (block i32
(call $___unlockfile
(get_local $0)
)
@@ -8442,7 +8442,7 @@
)
)
)
- (block
+ (block i32
(set_local $0
(if
(i32.load
@@ -8866,7 +8866,7 @@
)
)
)
- (block
+ (block i32
(drop
(call_indirect $FUNCSIG$iiii
(get_local $0)
@@ -8892,7 +8892,7 @@
(i32.const 0)
)
(i32.const -1)
- (block
+ (block i32
(if
(i32.lt_u
(tee_local $4
@@ -9274,7 +9274,7 @@
)
)
(set_local $0
- (block $do-once$0
+ (block $do-once$0 i32
(if
(i32.lt_s
(call $_fputs
@@ -9284,7 +9284,7 @@
(i32.const 0)
)
(i32.const 1)
- (block
+ (block i32
(if
(if
(i32.ne
@@ -9404,7 +9404,7 @@
)
(i32.const 0)
)
- (block
+ (block i32
(i32.store
(get_local $0)
(i32.const -1)
@@ -9453,7 +9453,7 @@
)
(i32.const 8)
)
- (block
+ (block i32
(i32.store
(get_local $0)
(i32.or
@@ -9463,7 +9463,7 @@
)
(i32.const -1)
)
- (block
+ (block i32
(i32.store offset=8
(get_local $0)
(i32.const 0)
@@ -9516,7 +9516,7 @@
)
(i32.const -1)
)
- (block
+ (block i32
(set_local $5
(i32.eqz
(call $___lockfile
@@ -9534,7 +9534,7 @@
(if
(get_local $5)
(get_local $0)
- (block
+ (block i32
(call $___unlockfile
(get_local $3)
)
@@ -9586,7 +9586,7 @@
(i32.const 64)
)
(i32.const 0)
- (block
+ (block i32
(i32.store
(get_local $3)
(i32.load offset=60
@@ -9745,7 +9745,7 @@
(get_local $0)
(i32.const -4096)
)
- (block
+ (block i32
(i32.store
(call $___errno_location)
(i32.sub
diff --git a/test/emcc_O2_hello_world.fromasm.imprecise b/test/emcc_O2_hello_world.fromasm.imprecise
index 50ba812c3..f2b2c401c 100644
--- a/test/emcc_O2_hello_world.fromasm.imprecise
+++ b/test/emcc_O2_hello_world.fromasm.imprecise
@@ -1719,7 +1719,7 @@
(get_local $30)
)
)
- (block
+ (block i32
(if
(i32.eqz
(tee_local $3
@@ -3161,7 +3161,7 @@
(i32.const 0)
(i32.eq
(tee_local $6
- (block $label$break$L257
+ (block $label$break$L257 i32
(if
(i32.and
(i32.load
@@ -3170,7 +3170,7 @@
(i32.const 4)
)
(i32.const 190)
- (block
+ (block i32
(block $label$break$L259
(if
(tee_local $3
@@ -3815,7 +3815,7 @@
)
)
)
- (block
+ (block i32
(i32.store
(i32.const 192)
(get_local $20)
@@ -4034,7 +4034,7 @@
)
(i32.const 1)
)
- (block
+ (block i32
(set_local $13
(i32.and
(get_local $0)
@@ -4663,7 +4663,7 @@
(i32.const 480)
(i32.shl
(tee_local $3
- (block $do-once$67
+ (block $do-once$67 i32
(if
(tee_local $2
(i32.shr_u
@@ -4671,7 +4671,7 @@
(i32.const 8)
)
)
- (block
+ (block i32
(br_if $do-once$67
(i32.const 31)
(i32.gt_u
@@ -7902,7 +7902,7 @@
(i32.load
(i32.const 8)
)
- (block
+ (block i32
(call $_pthread_cleanup_push
(i32.const 4)
(get_local $0)
@@ -7934,7 +7934,7 @@
)
(get_local $9)
)
- (block
+ (block i32
(i32.store
(get_local $11)
(i32.load
@@ -8004,7 +8004,7 @@
(get_local $4)
(i32.const 2)
)
- (block
+ (block i32
(i32.store
(get_local $8)
(i32.add
@@ -8022,14 +8022,14 @@
)
(get_local $14)
)
- (block
+ (block i32
(set_local $3
(get_local $5)
)
(get_local $14)
)
)
- (block
+ (block i32
(i32.store
(get_local $8)
(tee_local $3
@@ -8268,7 +8268,7 @@
)
)
(set_local $1
- (block $label$break$L10
+ (block $label$break$L10 i32
(if
(i32.gt_s
(i32.load8_s offset=75
@@ -8276,7 +8276,7 @@
)
(i32.const -1)
)
- (block
+ (block i32
(set_local $3
(get_local $1)
)
@@ -8361,7 +8361,7 @@
(get_local $3)
)
)
- (block
+ (block i32
(set_local $2
(i32.const 0)
)
@@ -8400,10 +8400,10 @@
(func $_fflush (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
- (block $do-once$0
+ (block $do-once$0 i32
(if
(get_local $0)
- (block
+ (block i32
(if
(i32.le_s
(i32.load offset=76
@@ -8432,7 +8432,7 @@
(if
(get_local $1)
(get_local $2)
- (block
+ (block i32
(call $___unlockfile
(get_local $0)
)
@@ -8440,7 +8440,7 @@
)
)
)
- (block
+ (block i32
(set_local $0
(if
(i32.load
@@ -8864,7 +8864,7 @@
)
)
)
- (block
+ (block i32
(drop
(call_indirect $FUNCSIG$iiii
(get_local $0)
@@ -8890,7 +8890,7 @@
(i32.const 0)
)
(i32.const -1)
- (block
+ (block i32
(if
(i32.lt_u
(tee_local $4
@@ -9272,7 +9272,7 @@
)
)
(set_local $0
- (block $do-once$0
+ (block $do-once$0 i32
(if
(i32.lt_s
(call $_fputs
@@ -9282,7 +9282,7 @@
(i32.const 0)
)
(i32.const 1)
- (block
+ (block i32
(if
(if
(i32.ne
@@ -9402,7 +9402,7 @@
)
(i32.const 0)
)
- (block
+ (block i32
(i32.store
(get_local $0)
(i32.const -1)
@@ -9451,7 +9451,7 @@
)
(i32.const 8)
)
- (block
+ (block i32
(i32.store
(get_local $0)
(i32.or
@@ -9461,7 +9461,7 @@
)
(i32.const -1)
)
- (block
+ (block i32
(i32.store offset=8
(get_local $0)
(i32.const 0)
@@ -9514,7 +9514,7 @@
)
(i32.const -1)
)
- (block
+ (block i32
(set_local $5
(i32.eqz
(call $___lockfile
@@ -9532,7 +9532,7 @@
(if
(get_local $5)
(get_local $0)
- (block
+ (block i32
(call $___unlockfile
(get_local $3)
)
@@ -9584,7 +9584,7 @@
(i32.const 64)
)
(i32.const 0)
- (block
+ (block i32
(i32.store
(get_local $3)
(i32.load offset=60
@@ -9743,7 +9743,7 @@
(get_local $0)
(i32.const -4096)
)
- (block
+ (block i32
(i32.store
(call $___errno_location)
(i32.sub
diff --git a/test/emcc_O2_hello_world.fromasm.imprecise.no-opts b/test/emcc_O2_hello_world.fromasm.imprecise.no-opts
index 3b8fb4922..8db740bfc 100644
--- a/test/emcc_O2_hello_world.fromasm.imprecise.no-opts
+++ b/test/emcc_O2_hello_world.fromasm.imprecise.no-opts
@@ -3722,13 +3722,13 @@
(get_local $i52)
(i32.const 0)
)
- (block
+ (block i32
(set_local $i51
(i32.load
(i32.const 608)
)
)
- (block
+ (block i32
(set_local $i50
(i32.add
(get_local $i51)
@@ -3794,7 +3794,7 @@
(get_local $i51)
(get_local $i52)
)
- (block
+ (block i32
(set_local $i45
(i32.add
(get_local $i50)
@@ -3924,7 +3924,7 @@
(get_local $i36)
(i32.const 173)
)
- (block
+ (block i32
(set_local $i52
(call $_sbrk
(i32.const 0)
@@ -4100,13 +4100,13 @@
)
)
)
- (block
+ (block i32
(set_local $i52
(i32.load
(i32.const 656)
)
)
- (block
+ (block i32
(set_local $i5
(i32.and
(i32.add
@@ -4213,13 +4213,13 @@
)
(i32.const 0)
)
- (block
+ (block i32
(set_local $i63
(call $_sbrk
(get_local $i43)
)
)
- (block
+ (block i32
(set_local $i43
(call $_sbrk
(i32.const 0)
@@ -4245,7 +4245,7 @@
)
(i32.const 0)
)
- (block
+ (block i32
(set_local $i60
(i32.sub
(get_local $i43)
@@ -5995,7 +5995,7 @@
(get_local $i63)
(get_local $i60)
)
- (block
+ (block i32
(set_local $i53
(i32.add
(get_local $i63)
@@ -10465,7 +10465,7 @@
(get_local $i6)
(get_local $i8)
)
- (block
+ (block i32
(set_local $i11
(i32.and
(get_local $i2)
@@ -10572,7 +10572,7 @@
(get_local $i3)
)
)
- (block
+ (block i32
(drop
(call_indirect $FUNCSIG$iiii
(get_local $i1)
@@ -11068,14 +11068,14 @@
)
(i32.const 10)
)
- (block
+ (block i32
(set_local $i5
(i32.add
(get_local $i2)
(i32.const 20)
)
)
- (block
+ (block i32
(set_local $i6
(i32.load
(get_local $i5)
@@ -11455,7 +11455,7 @@
)
(i32.const 0)
)
- (block
+ (block i32
(i32.store
(get_local $i5)
(i32.load
@@ -11465,7 +11465,7 @@
)
)
)
- (block
+ (block i32
(i32.store
(i32.add
(get_local $i5)
@@ -11473,7 +11473,7 @@
)
(i32.const 21505)
)
- (block
+ (block i32
(i32.store
(i32.add
(get_local $i5)
diff --git a/test/emcc_O2_hello_world.fromasm.no-opts b/test/emcc_O2_hello_world.fromasm.no-opts
index 80dbde975..bdc00ad43 100644
--- a/test/emcc_O2_hello_world.fromasm.no-opts
+++ b/test/emcc_O2_hello_world.fromasm.no-opts
@@ -3723,13 +3723,13 @@
(get_local $i52)
(i32.const 0)
)
- (block
+ (block i32
(set_local $i51
(i32.load
(i32.const 608)
)
)
- (block
+ (block i32
(set_local $i50
(i32.add
(get_local $i51)
@@ -3795,7 +3795,7 @@
(get_local $i51)
(get_local $i52)
)
- (block
+ (block i32
(set_local $i45
(i32.add
(get_local $i50)
@@ -3925,7 +3925,7 @@
(get_local $i36)
(i32.const 173)
)
- (block
+ (block i32
(set_local $i52
(call $_sbrk
(i32.const 0)
@@ -4101,13 +4101,13 @@
)
)
)
- (block
+ (block i32
(set_local $i52
(i32.load
(i32.const 656)
)
)
- (block
+ (block i32
(set_local $i5
(i32.and
(i32.add
@@ -4214,13 +4214,13 @@
)
(i32.const 0)
)
- (block
+ (block i32
(set_local $i63
(call $_sbrk
(get_local $i43)
)
)
- (block
+ (block i32
(set_local $i43
(call $_sbrk
(i32.const 0)
@@ -4246,7 +4246,7 @@
)
(i32.const 0)
)
- (block
+ (block i32
(set_local $i60
(i32.sub
(get_local $i43)
@@ -5996,7 +5996,7 @@
(get_local $i63)
(get_local $i60)
)
- (block
+ (block i32
(set_local $i53
(i32.add
(get_local $i63)
@@ -10466,7 +10466,7 @@
(get_local $i6)
(get_local $i8)
)
- (block
+ (block i32
(set_local $i11
(i32.and
(get_local $i2)
@@ -10573,7 +10573,7 @@
(get_local $i3)
)
)
- (block
+ (block i32
(drop
(call_indirect $FUNCSIG$iiii
(get_local $i1)
@@ -11069,14 +11069,14 @@
)
(i32.const 10)
)
- (block
+ (block i32
(set_local $i5
(i32.add
(get_local $i2)
(i32.const 20)
)
)
- (block
+ (block i32
(set_local $i6
(i32.load
(get_local $i5)
@@ -11456,7 +11456,7 @@
)
(i32.const 0)
)
- (block
+ (block i32
(i32.store
(get_local $i5)
(i32.load
@@ -11466,7 +11466,7 @@
)
)
)
- (block
+ (block i32
(i32.store
(i32.add
(get_local $i5)
@@ -11474,7 +11474,7 @@
)
(i32.const 21505)
)
- (block
+ (block i32
(i32.store
(i32.add
(get_local $i5)
diff --git a/test/emcc_hello_world.fromasm b/test/emcc_hello_world.fromasm
index 516fe6b30..24f6d4f75 100644
--- a/test/emcc_hello_world.fromasm
+++ b/test/emcc_hello_world.fromasm
@@ -288,7 +288,7 @@
(i32.const 52)
)
)
- (block $switch$0
+ (block $switch$0 f64
(block $switch-default$3
(block $switch-case$2
(block $switch-case$1
@@ -311,7 +311,7 @@
(get_local $0)
(f64.const 0)
)
- (block
+ (block i32
(set_local $0
(call $_frexp
(f64.mul
@@ -674,7 +674,7 @@
)
(i32.const 0)
)
- (block
+ (block i32
(i32.store
(get_local $0)
(i32.const -1)
@@ -694,10 +694,10 @@
(func $_fflush (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
- (block $do-once$0
+ (block $do-once$0 i32
(if
(get_local $0)
- (block
+ (block i32
(if
(i32.le_s
(i32.load offset=76
@@ -726,7 +726,7 @@
(if
(get_local $2)
(get_local $1)
- (block
+ (block i32
(call $___unlockfile
(get_local $0)
)
@@ -734,7 +734,7 @@
)
)
)
- (block
+ (block i32
(set_local $0
(if
(i32.load
@@ -964,7 +964,7 @@
)
)
(set_local $0
- (block $jumpthreading$outer$1
+ (block $jumpthreading$outer$1 i32
(block $jumpthreading$inner$1
(block $jumpthreading$inner$0
(loop $while-in$1
@@ -976,7 +976,7 @@
(i32.load
(i32.const 16)
)
- (block
+ (block i32
(call $_pthread_cleanup_push
(i32.const 5)
(get_local $0)
@@ -1008,7 +1008,7 @@
)
(get_local $3)
)
- (block
+ (block i32
(i32.store
(get_local $8)
(i32.load
@@ -1057,7 +1057,7 @@
)
)
)
- (block
+ (block i32
(i32.store
(get_local $6)
(tee_local $3
@@ -1097,7 +1097,7 @@
(get_local $4)
(i32.const 2)
)
- (block
+ (block i32
(i32.store
(get_local $6)
(i32.add
@@ -1115,7 +1115,7 @@
)
(get_local $12)
)
- (block
+ (block i32
(set_local $3
(get_local $1)
)
@@ -1308,7 +1308,7 @@
(i32.const 0)
)
(i32.const -1)
- (block
+ (block i32
(set_local $12
(if
(i32.gt_s
@@ -1367,7 +1367,7 @@
(get_local $8)
(get_local $9)
)
- (block
+ (block i32
(set_local $2
(i32.load
(tee_local $7
@@ -1427,7 +1427,7 @@
)
(if
(get_local $2)
- (block
+ (block i32
(drop
(call_indirect $FUNCSIG$iiii
(get_local $0)
@@ -1590,7 +1590,7 @@
)
(drop
(call $_memcpy
- (block $label$break$L10
+ (block $label$break$L10 i32
(if
(i32.gt_s
(i32.load8_s offset=75
@@ -1598,7 +1598,7 @@
)
(i32.const -1)
)
- (block
+ (block i32
(set_local $3
(get_local $1)
)
@@ -1677,7 +1677,7 @@
(get_local $5)
)
)
- (block
+ (block i32
(set_local $2
(i32.const 0)
)
@@ -1742,7 +1742,7 @@
)
(i32.const 8)
)
- (block
+ (block i32
(i32.store
(get_local $0)
(i32.or
@@ -1752,7 +1752,7 @@
)
(i32.const -1)
)
- (block
+ (block i32
(i32.store offset=8
(get_local $0)
(i32.const 0)
@@ -1787,10 +1787,10 @@
)
)
(func $_wcrtomb (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
- (block $do-once$0
+ (block $do-once$0 i32
(if
(get_local $0)
- (block
+ (block i32
(if
(i32.lt_u
(get_local $1)
@@ -1916,7 +1916,7 @@
)
(i32.const 1048576)
)
- (block
+ (block i32
(i32.store8
(get_local $0)
(i32.and
@@ -1977,7 +1977,7 @@
)
(i32.const 4)
)
- (block
+ (block i32
(i32.store
(call $___errno_location)
(i32.const 84)
@@ -2254,7 +2254,7 @@
(get_local $0)
(i32.const -4096)
)
- (block
+ (block i32
(i32.store
(call $___errno_location)
(i32.sub
@@ -2274,7 +2274,7 @@
(local $4 i32)
(local $5 i32)
(local $6 i32)
- (block $jumpthreading$outer$0
+ (block $jumpthreading$outer$0 i32
(block $jumpthreading$inner$0
(br_if $jumpthreading$inner$0
(i32.le_u
@@ -2614,7 +2614,7 @@
(get_local $15)
)
)
- (block
+ (block i32
(i32.store
(call $___errno_location)
(i32.const 75)
@@ -2827,7 +2827,7 @@
)
(i32.const 10)
)
- (block
+ (block i32
(set_local $5
(i32.load8_s
(tee_local $10
@@ -2862,7 +2862,7 @@
(get_local $8)
)
)
- (block
+ (block i32
(set_local $7
(get_local $13)
)
@@ -2991,7 +2991,7 @@
)
(block
(set_local $13
- (block $jumpthreading$outer$0
+ (block $jumpthreading$outer$0 i32
(block $jumpthreading$inner$0
(br_if $jumpthreading$inner$0
(i32.ge_u
@@ -3124,7 +3124,7 @@
(get_local $7)
(i32.const 0)
)
- (block
+ (block i32
(set_local $17
(i32.sub
(i32.const 0)
@@ -3136,7 +3136,7 @@
(i32.const 8192)
)
)
- (block
+ (block i32
(set_local $17
(get_local $7)
)
@@ -3245,7 +3245,7 @@
)
)
(set_local $9
- (block $label$break$L46
+ (block $label$break$L46 i32
(if
(i32.eq
(i32.load8_s
@@ -3253,7 +3253,7 @@
)
(i32.const 46)
)
- (block
+ (block i32
(if
(i32.ne
(i32.shr_s
@@ -3420,7 +3420,7 @@
)
(if
(get_local $33)
- (block
+ (block i32
(set_local $7
(i32.load
(tee_local $5
@@ -3445,7 +3445,7 @@
)
(get_local $9)
)
- (block
+ (block i32
(set_local $7
(i32.const 0)
)
@@ -3453,7 +3453,7 @@
)
)
)
- (block
+ (block i32
(set_local $7
(i32.const -1)
)
@@ -4266,7 +4266,7 @@
)
(i32.const 0)
)
- (block
+ (block i32
(set_local $30
(i32.const 1)
)
@@ -4282,13 +4282,13 @@
(get_local $10)
(i32.const 2048)
)
- (block
+ (block i32
(set_local $30
(i32.const 1)
)
(i32.const 4111)
)
- (block
+ (block i32
(set_local $30
(tee_local $1
(i32.and
@@ -4314,7 +4314,7 @@
(get_local $5)
)
(set_local $5
- (block $do-once$56
+ (block $do-once$56 i32
(if
(i32.or
(i32.lt_u
@@ -4336,7 +4336,7 @@
(i32.const 0)
)
)
- (block
+ (block i32
(if
(tee_local $5
(f64.ne
@@ -4411,7 +4411,7 @@
)
)
(get_local $22)
- (block
+ (block f64
(set_local $14
(f64.const 8)
)
@@ -4499,7 +4499,7 @@
)
(get_local $37)
)
- (block
+ (block i32
(i32.store8
(get_local $48)
(i32.const 48)
@@ -4592,7 +4592,7 @@
)
)
(set_local $5
- (block $do-once$64
+ (block $do-once$64 i32
(if
(i32.eq
(i32.sub
@@ -4606,7 +4606,7 @@
)
(i32.const 1)
)
- (block
+ (block i32
(br_if $do-once$64
(get_local $6)
(i32.and
@@ -4807,7 +4807,7 @@
(i32.lt_s
(if
(get_local $5)
- (block
+ (block i32
(i32.store
(get_local $20)
(tee_local $5
@@ -4827,7 +4827,7 @@
)
(get_local $5)
)
- (block
+ (block i32
(set_local $14
(get_local $22)
)
@@ -4901,7 +4901,7 @@
)
)
(set_local $9
- (block $do-once$70
+ (block $do-once$70 i32
(if
(i32.lt_u
(tee_local $7
@@ -4913,7 +4913,7 @@
(get_local $9)
)
(get_local $9)
- (block
+ (block i32
(set_local $5
(i32.const 0)
)
@@ -5099,13 +5099,13 @@
(select
(get_local $8)
(tee_local $5
- (block $do-once$78
+ (block $do-once$78 i32
(if
(i32.lt_u
(get_local $5)
(get_local $6)
)
- (block
+ (block i32
(set_local $44
(i32.add
(i32.shl
@@ -5362,7 +5362,7 @@
(i32.const -9)
)
)
- (block
+ (block i32
(set_local $7
(i32.add
(i32.add
@@ -5509,10 +5509,10 @@
)
)
(set_local $22
- (block $do-once$90
+ (block $do-once$90 f64
(if
(get_local $30)
- (block
+ (block f64
(br_if $do-once$90
(get_local $22)
(i32.ne
@@ -5583,7 +5583,7 @@
)
(get_local $5)
)
- (block
+ (block i32
(i32.store
(tee_local $5
(i32.add
@@ -5684,7 +5684,7 @@
)
(get_local $5)
)
- (block
+ (block i32
(set_local $11
(get_local $6)
)
@@ -5745,10 +5745,10 @@
)
)
(set_local $19
- (block $do-once$98
+ (block $do-once$98 i32
(if
(get_local $21)
- (block
+ (block i32
(set_local $16
(if
(i32.and
@@ -5772,7 +5772,7 @@
(i32.const -5)
)
)
- (block
+ (block i32
(set_local $6
(i32.add
(get_local $16)
@@ -5787,7 +5787,7 @@
(get_local $11)
)
)
- (block
+ (block i32
(set_local $6
(i32.add
(get_local $16)
@@ -5915,7 +5915,7 @@
)
(i32.const 102)
)
- (block
+ (block i32
(set_local $5
(select
(get_local $16)
@@ -5942,7 +5942,7 @@
)
(i32.const 0)
)
- (block
+ (block i32
(set_local $5
(select
(get_local $16)
@@ -5974,7 +5974,7 @@
)
)
)
- (block
+ (block i32
(set_local $5
(get_local $19)
)
@@ -6014,7 +6014,7 @@
(i32.const 102)
)
)
- (block
+ (block i32
(set_local $6
(select
(get_local $11)
@@ -6027,7 +6027,7 @@
)
(i32.const 0)
)
- (block
+ (block i32
(if
(i32.lt_s
(i32.sub
@@ -6461,7 +6461,7 @@
)
(get_local $34)
)
- (block
+ (block i32
(i32.store8
(get_local $38)
(i32.const 48)
@@ -6673,7 +6673,7 @@
)
)
)
- (block
+ (block i32
(set_local $7
(select
(i32.const 0)
@@ -6737,7 +6737,7 @@
(i32.const 32)
)
(get_local $5)
- (block
+ (block i32
(drop
(call $___fwritex
(get_local $36)
@@ -7251,7 +7251,7 @@
)
)
)
- (block
+ (block i32
(set_local $11
(select
(get_local $7)
@@ -7281,7 +7281,7 @@
)
(get_local $6)
)
- (block
+ (block i32
(set_local $11
(i32.const 0)
)
@@ -7938,7 +7938,7 @@
)
)
)
- (block
+ (block i32
(loop $while-in$1
(set_local $3
(call $___uremdi3
@@ -8160,7 +8160,7 @@
(tee_local $1
(if
(get_local $3)
- (block
+ (block i32
(drop
(call $___fwritex
(get_local $5)
@@ -9824,7 +9824,7 @@
(get_local $2)
)
)
- (block
+ (block i32
(if
(i32.eqz
(tee_local $5
@@ -11742,7 +11742,7 @@
)
)
)
- (block
+ (block i32
(i32.store
(i32.const 192)
(get_local $2)
@@ -11974,7 +11974,7 @@
)
(i32.const 1)
)
- (block
+ (block i32
(set_local $5
(i32.and
(get_local $1)
@@ -12598,7 +12598,7 @@
(i32.const 480)
(i32.shl
(tee_local $3
- (block $do-once$69
+ (block $do-once$69 i32
(if
(tee_local $0
(i32.shr_u
@@ -12606,7 +12606,7 @@
(i32.const 8)
)
)
- (block
+ (block i32
(br_if $do-once$69
(i32.const 31)
(i32.gt_u
diff --git a/test/emcc_hello_world.fromasm.imprecise b/test/emcc_hello_world.fromasm.imprecise
index 525553e72..c6123841a 100644
--- a/test/emcc_hello_world.fromasm.imprecise
+++ b/test/emcc_hello_world.fromasm.imprecise
@@ -281,7 +281,7 @@
(i32.const 52)
)
)
- (block $switch$0
+ (block $switch$0 f64
(block $switch-default$3
(block $switch-case$2
(block $switch-case$1
@@ -304,7 +304,7 @@
(get_local $0)
(f64.const 0)
)
- (block
+ (block i32
(set_local $0
(call $_frexp
(f64.mul
@@ -667,7 +667,7 @@
)
(i32.const 0)
)
- (block
+ (block i32
(i32.store
(get_local $0)
(i32.const -1)
@@ -687,10 +687,10 @@
(func $_fflush (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
- (block $do-once$0
+ (block $do-once$0 i32
(if
(get_local $0)
- (block
+ (block i32
(if
(i32.le_s
(i32.load offset=76
@@ -719,7 +719,7 @@
(if
(get_local $2)
(get_local $1)
- (block
+ (block i32
(call $___unlockfile
(get_local $0)
)
@@ -727,7 +727,7 @@
)
)
)
- (block
+ (block i32
(set_local $0
(if
(i32.load
@@ -957,7 +957,7 @@
)
)
(set_local $0
- (block $jumpthreading$outer$1
+ (block $jumpthreading$outer$1 i32
(block $jumpthreading$inner$1
(block $jumpthreading$inner$0
(loop $while-in$1
@@ -969,7 +969,7 @@
(i32.load
(i32.const 16)
)
- (block
+ (block i32
(call $_pthread_cleanup_push
(i32.const 5)
(get_local $0)
@@ -1001,7 +1001,7 @@
)
(get_local $3)
)
- (block
+ (block i32
(i32.store
(get_local $8)
(i32.load
@@ -1050,7 +1050,7 @@
)
)
)
- (block
+ (block i32
(i32.store
(get_local $6)
(tee_local $3
@@ -1090,7 +1090,7 @@
(get_local $4)
(i32.const 2)
)
- (block
+ (block i32
(i32.store
(get_local $6)
(i32.add
@@ -1108,7 +1108,7 @@
)
(get_local $12)
)
- (block
+ (block i32
(set_local $3
(get_local $1)
)
@@ -1301,7 +1301,7 @@
(i32.const 0)
)
(i32.const -1)
- (block
+ (block i32
(set_local $12
(if
(i32.gt_s
@@ -1360,7 +1360,7 @@
(get_local $8)
(get_local $9)
)
- (block
+ (block i32
(set_local $2
(i32.load
(tee_local $7
@@ -1420,7 +1420,7 @@
)
(if
(get_local $2)
- (block
+ (block i32
(drop
(call_indirect $FUNCSIG$iiii
(get_local $0)
@@ -1583,7 +1583,7 @@
)
(drop
(call $_memcpy
- (block $label$break$L10
+ (block $label$break$L10 i32
(if
(i32.gt_s
(i32.load8_s offset=75
@@ -1591,7 +1591,7 @@
)
(i32.const -1)
)
- (block
+ (block i32
(set_local $3
(get_local $1)
)
@@ -1670,7 +1670,7 @@
(get_local $5)
)
)
- (block
+ (block i32
(set_local $2
(i32.const 0)
)
@@ -1735,7 +1735,7 @@
)
(i32.const 8)
)
- (block
+ (block i32
(i32.store
(get_local $0)
(i32.or
@@ -1745,7 +1745,7 @@
)
(i32.const -1)
)
- (block
+ (block i32
(i32.store offset=8
(get_local $0)
(i32.const 0)
@@ -1780,10 +1780,10 @@
)
)
(func $_wcrtomb (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
- (block $do-once$0
+ (block $do-once$0 i32
(if
(get_local $0)
- (block
+ (block i32
(if
(i32.lt_u
(get_local $1)
@@ -1909,7 +1909,7 @@
)
(i32.const 1048576)
)
- (block
+ (block i32
(i32.store8
(get_local $0)
(i32.and
@@ -1970,7 +1970,7 @@
)
(i32.const 4)
)
- (block
+ (block i32
(i32.store
(call $___errno_location)
(i32.const 84)
@@ -2247,7 +2247,7 @@
(get_local $0)
(i32.const -4096)
)
- (block
+ (block i32
(i32.store
(call $___errno_location)
(i32.sub
@@ -2267,7 +2267,7 @@
(local $4 i32)
(local $5 i32)
(local $6 i32)
- (block $jumpthreading$outer$0
+ (block $jumpthreading$outer$0 i32
(block $jumpthreading$inner$0
(br_if $jumpthreading$inner$0
(i32.le_u
@@ -2607,7 +2607,7 @@
(get_local $15)
)
)
- (block
+ (block i32
(i32.store
(call $___errno_location)
(i32.const 75)
@@ -2820,7 +2820,7 @@
)
(i32.const 10)
)
- (block
+ (block i32
(set_local $5
(i32.load8_s
(tee_local $10
@@ -2855,7 +2855,7 @@
(get_local $8)
)
)
- (block
+ (block i32
(set_local $7
(get_local $13)
)
@@ -2984,7 +2984,7 @@
)
(block
(set_local $13
- (block $jumpthreading$outer$0
+ (block $jumpthreading$outer$0 i32
(block $jumpthreading$inner$0
(br_if $jumpthreading$inner$0
(i32.ge_u
@@ -3117,7 +3117,7 @@
(get_local $7)
(i32.const 0)
)
- (block
+ (block i32
(set_local $17
(i32.sub
(i32.const 0)
@@ -3129,7 +3129,7 @@
(i32.const 8192)
)
)
- (block
+ (block i32
(set_local $17
(get_local $7)
)
@@ -3238,7 +3238,7 @@
)
)
(set_local $9
- (block $label$break$L46
+ (block $label$break$L46 i32
(if
(i32.eq
(i32.load8_s
@@ -3246,7 +3246,7 @@
)
(i32.const 46)
)
- (block
+ (block i32
(if
(i32.ne
(i32.shr_s
@@ -3413,7 +3413,7 @@
)
(if
(get_local $33)
- (block
+ (block i32
(set_local $7
(i32.load
(tee_local $5
@@ -3438,7 +3438,7 @@
)
(get_local $9)
)
- (block
+ (block i32
(set_local $7
(i32.const 0)
)
@@ -3446,7 +3446,7 @@
)
)
)
- (block
+ (block i32
(set_local $7
(i32.const -1)
)
@@ -4259,7 +4259,7 @@
)
(i32.const 0)
)
- (block
+ (block i32
(set_local $30
(i32.const 1)
)
@@ -4275,13 +4275,13 @@
(get_local $10)
(i32.const 2048)
)
- (block
+ (block i32
(set_local $30
(i32.const 1)
)
(i32.const 4111)
)
- (block
+ (block i32
(set_local $30
(tee_local $1
(i32.and
@@ -4307,7 +4307,7 @@
(get_local $5)
)
(set_local $5
- (block $do-once$56
+ (block $do-once$56 i32
(if
(i32.or
(i32.lt_u
@@ -4329,7 +4329,7 @@
(i32.const 0)
)
)
- (block
+ (block i32
(if
(tee_local $5
(f64.ne
@@ -4404,7 +4404,7 @@
)
)
(get_local $22)
- (block
+ (block f64
(set_local $14
(f64.const 8)
)
@@ -4492,7 +4492,7 @@
)
(get_local $37)
)
- (block
+ (block i32
(i32.store8
(get_local $48)
(i32.const 48)
@@ -4585,7 +4585,7 @@
)
)
(set_local $5
- (block $do-once$64
+ (block $do-once$64 i32
(if
(i32.eq
(i32.sub
@@ -4599,7 +4599,7 @@
)
(i32.const 1)
)
- (block
+ (block i32
(br_if $do-once$64
(get_local $6)
(i32.and
@@ -4800,7 +4800,7 @@
(i32.lt_s
(if
(get_local $5)
- (block
+ (block i32
(i32.store
(get_local $20)
(tee_local $5
@@ -4820,7 +4820,7 @@
)
(get_local $5)
)
- (block
+ (block i32
(set_local $14
(get_local $22)
)
@@ -4894,7 +4894,7 @@
)
)
(set_local $9
- (block $do-once$70
+ (block $do-once$70 i32
(if
(i32.lt_u
(tee_local $7
@@ -4906,7 +4906,7 @@
(get_local $9)
)
(get_local $9)
- (block
+ (block i32
(set_local $5
(i32.const 0)
)
@@ -5092,13 +5092,13 @@
(select
(get_local $8)
(tee_local $5
- (block $do-once$78
+ (block $do-once$78 i32
(if
(i32.lt_u
(get_local $5)
(get_local $6)
)
- (block
+ (block i32
(set_local $44
(i32.add
(i32.shl
@@ -5355,7 +5355,7 @@
(i32.const -9)
)
)
- (block
+ (block i32
(set_local $7
(i32.add
(i32.add
@@ -5502,10 +5502,10 @@
)
)
(set_local $22
- (block $do-once$90
+ (block $do-once$90 f64
(if
(get_local $30)
- (block
+ (block f64
(br_if $do-once$90
(get_local $22)
(i32.ne
@@ -5576,7 +5576,7 @@
)
(get_local $5)
)
- (block
+ (block i32
(i32.store
(tee_local $5
(i32.add
@@ -5677,7 +5677,7 @@
)
(get_local $5)
)
- (block
+ (block i32
(set_local $11
(get_local $6)
)
@@ -5738,10 +5738,10 @@
)
)
(set_local $19
- (block $do-once$98
+ (block $do-once$98 i32
(if
(get_local $21)
- (block
+ (block i32
(set_local $16
(if
(i32.and
@@ -5765,7 +5765,7 @@
(i32.const -5)
)
)
- (block
+ (block i32
(set_local $6
(i32.add
(get_local $16)
@@ -5780,7 +5780,7 @@
(get_local $11)
)
)
- (block
+ (block i32
(set_local $6
(i32.add
(get_local $16)
@@ -5908,7 +5908,7 @@
)
(i32.const 102)
)
- (block
+ (block i32
(set_local $5
(select
(get_local $16)
@@ -5935,7 +5935,7 @@
)
(i32.const 0)
)
- (block
+ (block i32
(set_local $5
(select
(get_local $16)
@@ -5967,7 +5967,7 @@
)
)
)
- (block
+ (block i32
(set_local $5
(get_local $19)
)
@@ -6007,7 +6007,7 @@
(i32.const 102)
)
)
- (block
+ (block i32
(set_local $6
(select
(get_local $11)
@@ -6020,7 +6020,7 @@
)
(i32.const 0)
)
- (block
+ (block i32
(if
(i32.lt_s
(i32.sub
@@ -6454,7 +6454,7 @@
)
(get_local $34)
)
- (block
+ (block i32
(i32.store8
(get_local $38)
(i32.const 48)
@@ -6666,7 +6666,7 @@
)
)
)
- (block
+ (block i32
(set_local $7
(select
(i32.const 0)
@@ -6730,7 +6730,7 @@
(i32.const 32)
)
(get_local $5)
- (block
+ (block i32
(drop
(call $___fwritex
(get_local $36)
@@ -7244,7 +7244,7 @@
)
)
)
- (block
+ (block i32
(set_local $11
(select
(get_local $7)
@@ -7274,7 +7274,7 @@
)
(get_local $6)
)
- (block
+ (block i32
(set_local $11
(i32.const 0)
)
@@ -7931,7 +7931,7 @@
)
)
)
- (block
+ (block i32
(loop $while-in$1
(set_local $3
(call $___uremdi3
@@ -8153,7 +8153,7 @@
(tee_local $1
(if
(get_local $3)
- (block
+ (block i32
(drop
(call $___fwritex
(get_local $5)
@@ -9817,7 +9817,7 @@
(get_local $2)
)
)
- (block
+ (block i32
(if
(i32.eqz
(tee_local $5
@@ -11735,7 +11735,7 @@
)
)
)
- (block
+ (block i32
(i32.store
(i32.const 192)
(get_local $2)
@@ -11967,7 +11967,7 @@
)
(i32.const 1)
)
- (block
+ (block i32
(set_local $5
(i32.and
(get_local $1)
@@ -12591,7 +12591,7 @@
(i32.const 480)
(i32.shl
(tee_local $3
- (block $do-once$69
+ (block $do-once$69 i32
(if
(tee_local $0
(i32.shr_u
@@ -12599,7 +12599,7 @@
(i32.const 8)
)
)
- (block
+ (block i32
(br_if $do-once$69
(i32.const 31)
(i32.gt_u
diff --git a/test/emcc_hello_world.fromasm.imprecise.no-opts b/test/emcc_hello_world.fromasm.imprecise.no-opts
index 7c9e27d25..a2e8496a5 100644
--- a/test/emcc_hello_world.fromasm.imprecise.no-opts
+++ b/test/emcc_hello_world.fromasm.imprecise.no-opts
@@ -30296,7 +30296,7 @@
)
)
(return
- (block
+ (block i32
(block
(set_global $tempRet0
(get_local $h)
@@ -30331,7 +30331,7 @@
)
)
(return
- (block
+ (block i32
(block
(set_global $tempRet0
(get_local $h)
@@ -30907,7 +30907,7 @@
)
)
(return
- (block
+ (block i32
(block
(set_global $tempRet0
(i32.add
@@ -31310,7 +31310,7 @@
(get_local $__stackBase__)
)
(return
- (block
+ (block i32
(block
(set_global $tempRet0
(get_local $$10$1)
@@ -31351,7 +31351,7 @@
)
)
(return
- (block
+ (block i32
(block
(set_global $tempRet0
(i32.or
@@ -31428,7 +31428,7 @@
(get_local $__stackBase__)
)
(return
- (block
+ (block i32
(block
(set_global $tempRet0
(i32.load
diff --git a/test/emcc_hello_world.fromasm.no-opts b/test/emcc_hello_world.fromasm.no-opts
index 6799d2c5e..771e63313 100644
--- a/test/emcc_hello_world.fromasm.no-opts
+++ b/test/emcc_hello_world.fromasm.no-opts
@@ -30302,7 +30302,7 @@
)
)
(return
- (block
+ (block i32
(block
(set_global $tempRet0
(get_local $h)
@@ -30337,7 +30337,7 @@
)
)
(return
- (block
+ (block i32
(block
(set_global $tempRet0
(get_local $h)
@@ -30913,7 +30913,7 @@
)
)
(return
- (block
+ (block i32
(block
(set_global $tempRet0
(i32.add
@@ -31316,7 +31316,7 @@
(get_local $__stackBase__)
)
(return
- (block
+ (block i32
(block
(set_global $tempRet0
(get_local $$10$1)
@@ -31357,7 +31357,7 @@
)
)
(return
- (block
+ (block i32
(block
(set_global $tempRet0
(i32.or
@@ -31434,7 +31434,7 @@
(get_local $__stackBase__)
)
(return
- (block
+ (block i32
(block
(set_global $tempRet0
(i32.load
diff --git a/test/example/c-api-kitchen-sink.txt b/test/example/c-api-kitchen-sink.txt
index 8f8837c4c..41d64089e 100644
--- a/test/example/c-api-kitchen-sink.txt
+++ b/test/example/c-api-kitchen-sink.txt
@@ -21,10 +21,10 @@ BinaryenFloat64: 4
(elem (i32.const 0) "$kitchen()sinker")
(func "$kitchen()sinker" (type $iiIfF) (param $0 i32) (param $1 i64) (param $2 f32) (param $3 f64) (result i32)
(local $4 i32)
- (block $the-body
+ (block $the-body i32
(block $the-nothing
(drop
- (block $the-value
+ (block $the-value i32
(drop
(i32.clz
(i32.const -10)
@@ -1612,10 +1612,10 @@ int main() {
(elem (i32.const 0) "$kitchen()sinker")
(func "$kitchen()sinker" (type $iiIfF) (param $0 i32) (param $1 i64) (param $2 f32) (param $3 f64) (result i32)
(local $4 i32)
- (block $the-body
+ (block $the-body i32
(block $the-nothing
(drop
- (block $the-value
+ (block $the-value i32
(drop
(i32.clz
(i32.const -10)
diff --git a/test/example/c-api-kitchen-sink.txt.txt b/test/example/c-api-kitchen-sink.txt.txt
index abe64601c..10a698717 100644
--- a/test/example/c-api-kitchen-sink.txt.txt
+++ b/test/example/c-api-kitchen-sink.txt.txt
@@ -16,10 +16,10 @@
(elem (i32.const 0) "$kitchen()sinker")
(func "$kitchen()sinker" (type $iiIfF) (param $0 i32) (param $1 i64) (param $2 f32) (param $3 f64) (result i32)
(local $4 i32)
- (block $the-body
+ (block $the-body i32
(block $the-nothing
(drop
- (block $the-value
+ (block $the-value i32
(drop
(i32.clz
(i32.const -10)
diff --git a/test/kitchen_sink.wast b/test/kitchen_sink.wast
index 01fc1e241..c6cd0a8b3 100644
--- a/test/kitchen_sink.wast
+++ b/test/kitchen_sink.wast
@@ -3,7 +3,7 @@
(data (i32.const 1026) "\14\00")
(type $0 (func (result i32)))
(func $kitchensink (type $0) (result i32)
- (block $block0
+ (block $block0 i32
(drop
(i32.add
(i32.const 10)
diff --git a/test/kitchen_sink.wast.fromBinary b/test/kitchen_sink.wast.fromBinary
index 4c3da110c..5aba809f6 100644
--- a/test/kitchen_sink.wast.fromBinary
+++ b/test/kitchen_sink.wast.fromBinary
@@ -3,7 +3,7 @@
(data (i32.const 1026) "\14\00")
(type $0 (func (result i32)))
(func $kitchensink (type $0) (result i32)
- (block $label$0
+ (block $label$0 i32
(drop
(i32.add
(i32.const 10)
diff --git a/test/memorygrowth.fromasm b/test/memorygrowth.fromasm
index 9cf9336a4..a07d71fd4 100644
--- a/test/memorygrowth.fromasm
+++ b/test/memorygrowth.fromasm
@@ -1757,7 +1757,7 @@
(get_local $33)
)
)
- (block
+ (block i32
(if
(i32.eqz
(tee_local $6
@@ -3195,7 +3195,7 @@
(if
(i32.eq
(tee_local $9
- (block $label$break$b
+ (block $label$break$b i32
(if
(i32.and
(i32.load
@@ -3204,7 +3204,7 @@
(i32.const 4)
)
(i32.const 188)
- (block
+ (block i32
(block $label$break$c
(if
(tee_local $16
@@ -3848,7 +3848,7 @@
)
)
)
- (block
+ (block i32
(i32.store
(i32.const 1224)
(get_local $20)
@@ -4091,7 +4091,7 @@
)
(i32.const 1)
)
- (block
+ (block i32
(set_local $5
(i32.and
(get_local $2)
@@ -4721,7 +4721,7 @@
(i32.const 1512)
(i32.shl
(tee_local $6
- (block $do-once$67
+ (block $do-once$67 i32
(if
(tee_local $0
(i32.shr_u
@@ -4729,7 +4729,7 @@
(i32.const 8)
)
)
- (block
+ (block i32
(br_if $do-once$67
(i32.const 31)
(i32.gt_u
@@ -7947,7 +7947,7 @@
(i32.load
(i32.const 1160)
)
- (block
+ (block i32
(call $ra
(i32.const 1)
(get_local $0)
@@ -7979,7 +7979,7 @@
)
(get_local $9)
)
- (block
+ (block i32
(i32.store
(get_local $11)
(i32.load
@@ -8044,7 +8044,7 @@
)
)
)
- (block
+ (block i32
(i32.store
(get_local $8)
(tee_local $3
@@ -8084,7 +8084,7 @@
(get_local $4)
(i32.const 2)
)
- (block
+ (block i32
(i32.store
(get_local $8)
(i32.add
@@ -8102,7 +8102,7 @@
)
(get_local $14)
)
- (block
+ (block i32
(set_local $3
(get_local $5)
)
@@ -8313,7 +8313,7 @@
)
)
(set_local $1
- (block $label$break$b
+ (block $label$break$b i32
(if
(i32.gt_s
(i32.load8_s offset=75
@@ -8321,7 +8321,7 @@
)
(i32.const -1)
)
- (block
+ (block i32
(set_local $3
(get_local $1)
)
@@ -8406,7 +8406,7 @@
(get_local $3)
)
)
- (block
+ (block i32
(set_local $2
(i32.const 0)
)
@@ -8597,10 +8597,10 @@
(func $_a (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
- (block $do-once$0
+ (block $do-once$0 i32
(if
(get_local $0)
- (block
+ (block i32
(if
(i32.le_s
(i32.load offset=76
@@ -8629,7 +8629,7 @@
(if
(get_local $2)
(get_local $1)
- (block
+ (block i32
(call $Ta
(get_local $0)
)
@@ -8637,7 +8637,7 @@
)
)
)
- (block
+ (block i32
(set_local $0
(if
(i32.load
@@ -9325,7 +9325,7 @@
)
)
(set_local $0
- (block $do-once$0
+ (block $do-once$0 i32
(if
(i32.lt_s
(call $cb
@@ -9335,7 +9335,7 @@
(i32.const 0)
)
(i32.const 1)
- (block
+ (block i32
(if
(i32.ne
(i32.load8_s offset=75
@@ -9434,7 +9434,7 @@
)
(i32.const 8)
)
- (block
+ (block i32
(i32.store
(get_local $0)
(i32.or
@@ -9444,7 +9444,7 @@
)
(i32.const -1)
)
- (block
+ (block i32
(i32.store offset=8
(get_local $0)
(i32.const 0)
@@ -9497,7 +9497,7 @@
)
(i32.const -1)
)
- (block
+ (block i32
(set_local $5
(i32.eqz
(call $Ya
@@ -9515,7 +9515,7 @@
(if
(get_local $5)
(get_local $0)
- (block
+ (block i32
(call $Ta
(get_local $3)
)
@@ -9591,7 +9591,7 @@
)
(i32.const 0)
)
- (block
+ (block i32
(i32.store
(get_local $0)
(i32.const -1)
@@ -9767,7 +9767,7 @@
(get_local $0)
(i32.const -4096)
)
- (block
+ (block i32
(i32.store
(call $Qa)
(i32.sub
diff --git a/test/memorygrowth.fromasm.imprecise b/test/memorygrowth.fromasm.imprecise
index 847a8dd9a..ea085352f 100644
--- a/test/memorygrowth.fromasm.imprecise
+++ b/test/memorygrowth.fromasm.imprecise
@@ -1755,7 +1755,7 @@
(get_local $33)
)
)
- (block
+ (block i32
(if
(i32.eqz
(tee_local $6
@@ -3193,7 +3193,7 @@
(if
(i32.eq
(tee_local $9
- (block $label$break$b
+ (block $label$break$b i32
(if
(i32.and
(i32.load
@@ -3202,7 +3202,7 @@
(i32.const 4)
)
(i32.const 188)
- (block
+ (block i32
(block $label$break$c
(if
(tee_local $16
@@ -3846,7 +3846,7 @@
)
)
)
- (block
+ (block i32
(i32.store
(i32.const 1224)
(get_local $20)
@@ -4089,7 +4089,7 @@
)
(i32.const 1)
)
- (block
+ (block i32
(set_local $5
(i32.and
(get_local $2)
@@ -4719,7 +4719,7 @@
(i32.const 1512)
(i32.shl
(tee_local $6
- (block $do-once$67
+ (block $do-once$67 i32
(if
(tee_local $0
(i32.shr_u
@@ -4727,7 +4727,7 @@
(i32.const 8)
)
)
- (block
+ (block i32
(br_if $do-once$67
(i32.const 31)
(i32.gt_u
@@ -7945,7 +7945,7 @@
(i32.load
(i32.const 1160)
)
- (block
+ (block i32
(call $ra
(i32.const 1)
(get_local $0)
@@ -7977,7 +7977,7 @@
)
(get_local $9)
)
- (block
+ (block i32
(i32.store
(get_local $11)
(i32.load
@@ -8042,7 +8042,7 @@
)
)
)
- (block
+ (block i32
(i32.store
(get_local $8)
(tee_local $3
@@ -8082,7 +8082,7 @@
(get_local $4)
(i32.const 2)
)
- (block
+ (block i32
(i32.store
(get_local $8)
(i32.add
@@ -8100,7 +8100,7 @@
)
(get_local $14)
)
- (block
+ (block i32
(set_local $3
(get_local $5)
)
@@ -8311,7 +8311,7 @@
)
)
(set_local $1
- (block $label$break$b
+ (block $label$break$b i32
(if
(i32.gt_s
(i32.load8_s offset=75
@@ -8319,7 +8319,7 @@
)
(i32.const -1)
)
- (block
+ (block i32
(set_local $3
(get_local $1)
)
@@ -8404,7 +8404,7 @@
(get_local $3)
)
)
- (block
+ (block i32
(set_local $2
(i32.const 0)
)
@@ -8595,10 +8595,10 @@
(func $_a (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
- (block $do-once$0
+ (block $do-once$0 i32
(if
(get_local $0)
- (block
+ (block i32
(if
(i32.le_s
(i32.load offset=76
@@ -8627,7 +8627,7 @@
(if
(get_local $2)
(get_local $1)
- (block
+ (block i32
(call $Ta
(get_local $0)
)
@@ -8635,7 +8635,7 @@
)
)
)
- (block
+ (block i32
(set_local $0
(if
(i32.load
@@ -9323,7 +9323,7 @@
)
)
(set_local $0
- (block $do-once$0
+ (block $do-once$0 i32
(if
(i32.lt_s
(call $cb
@@ -9333,7 +9333,7 @@
(i32.const 0)
)
(i32.const 1)
- (block
+ (block i32
(if
(i32.ne
(i32.load8_s offset=75
@@ -9432,7 +9432,7 @@
)
(i32.const 8)
)
- (block
+ (block i32
(i32.store
(get_local $0)
(i32.or
@@ -9442,7 +9442,7 @@
)
(i32.const -1)
)
- (block
+ (block i32
(i32.store offset=8
(get_local $0)
(i32.const 0)
@@ -9495,7 +9495,7 @@
)
(i32.const -1)
)
- (block
+ (block i32
(set_local $5
(i32.eqz
(call $Ya
@@ -9513,7 +9513,7 @@
(if
(get_local $5)
(get_local $0)
- (block
+ (block i32
(call $Ta
(get_local $3)
)
@@ -9589,7 +9589,7 @@
)
(i32.const 0)
)
- (block
+ (block i32
(i32.store
(get_local $0)
(i32.const -1)
@@ -9765,7 +9765,7 @@
(get_local $0)
(i32.const -4096)
)
- (block
+ (block i32
(i32.store
(call $Qa)
(i32.sub
diff --git a/test/min.fromasm.imprecise.no-opts b/test/min.fromasm.imprecise.no-opts
index c0fcb1917..fb30c334b 100644
--- a/test/min.fromasm.imprecise.no-opts
+++ b/test/min.fromasm.imprecise.no-opts
@@ -21,7 +21,7 @@
(local $n f32)
(set_local $n
(f32.neg
- (block
+ (block f32
(i32.store
(get_local $k)
(get_local $p)
diff --git a/test/min.fromasm.no-opts b/test/min.fromasm.no-opts
index c0fcb1917..fb30c334b 100644
--- a/test/min.fromasm.no-opts
+++ b/test/min.fromasm.no-opts
@@ -21,7 +21,7 @@
(local $n f32)
(set_local $n
(f32.neg
- (block
+ (block f32
(i32.store
(get_local $k)
(get_local $p)
diff --git a/test/min.wast b/test/min.wast
index e5472fb77..53587b679 100644
--- a/test/min.wast
+++ b/test/min.wast
@@ -16,7 +16,7 @@
(local $n f32)
(tee_local $n
(f32.neg
- (block $block0
+ (block $block0 f32
(i32.store
(get_local $k)
(get_local $p)
@@ -29,7 +29,7 @@
)
)
(func $littleswitch (type $2) (param $x i32) (result i32)
- (block $topmost
+ (block $topmost i32
(block $switch-case$2
(block $switch-case$1
(br_table $switch-case$1 $switch-case$2 $switch-case$1
@@ -50,7 +50,7 @@
)
)
(func $f1 (type $3) (param $i1 i32) (param $i2 i32) (param $i3 i32) (result i32)
- (block $topmost
+ (block $topmost i32
(get_local $i3)
)
)
diff --git a/test/min.wast.fromBinary b/test/min.wast.fromBinary
index 33515c61c..56b97fc0d 100644
--- a/test/min.wast.fromBinary
+++ b/test/min.wast.fromBinary
@@ -16,7 +16,7 @@
(local $var$2 f32)
(tee_local $var$2
(f32.neg
- (block $label$0
+ (block $label$0 f32
(i32.store
(get_local $var$0)
(get_local $var$1)
@@ -29,7 +29,7 @@
)
)
(func $littleswitch (type $2) (param $var$0 i32) (result i32)
- (block $label$0
+ (block $label$0 i32
(block $label$1
(block $label$2
(br_table $label$2 $label$1 $label$2
@@ -50,7 +50,7 @@
)
)
(func $f1 (type $3) (param $var$0 i32) (param $var$1 i32) (param $var$2 i32) (result i32)
- (block $label$0
+ (block $label$0 i32
(get_local $var$2)
)
)
diff --git a/test/passes/duplicate-function-elimination.txt b/test/passes/duplicate-function-elimination.txt
index 75a5c8f16..333155c80 100644
--- a/test/passes/duplicate-function-elimination.txt
+++ b/test/passes/duplicate-function-elimination.txt
@@ -293,7 +293,7 @@
(type $0 (func))
(func $keep2 (type $0)
(drop
- (block $foo
+ (block $foo i32
(br_table $foo $foo
(i32.const 0)
(i32.const 0)
@@ -303,7 +303,7 @@
)
(func $other (type $0)
(drop
- (block $bar
+ (block $bar i32
(br_table $bar $bar
(i32.const 0)
(i32.const 1)
diff --git a/test/passes/remove-unused-brs.txt b/test/passes/remove-unused-brs.txt
index 2cef4b5ac..3c51c8f99 100644
--- a/test/passes/remove-unused-brs.txt
+++ b/test/passes/remove-unused-brs.txt
@@ -145,7 +145,7 @@
)
)
(func $b13 (type $2) (result i32)
- (block $topmost
+ (block $topmost i32
(if
(i32.const 1)
(block $block1
@@ -170,12 +170,12 @@
)
)
(func $b14 (type $2) (result i32)
- (block $topmost
+ (block $topmost i32
(select
- (block $block1
+ (block $block1 i32
(i32.const 12)
)
- (block $block3
+ (block $block3 i32
(i32.const 27)
)
(i32.const 1)
@@ -283,8 +283,8 @@
)
)
(func $ret-value (type $2) (result i32)
- (block $block0
- (block $block1
+ (block $block0 i32
+ (block $block1 i32
(i32.const 1)
)
)
@@ -326,7 +326,7 @@
)
)
(if
- (block $block6
+ (block $block6 i32
(block $block7
(drop
(i32.const 2)
@@ -343,7 +343,7 @@
)
)
(if
- (block $a
+ (block $a i32
(i32.const 0)
)
(block $a
@@ -407,7 +407,7 @@
(i32.const 1)
)
)
- (block $do-once$0
+ (block $do-once$0 i32
(if
(tee_local $x
(i32.const 1)
@@ -620,7 +620,7 @@
(block
(call $loops)
(drop
- (block $out2
+ (block $out2 i32
(i32.const 1)
)
)
@@ -693,7 +693,7 @@
)
)
(func $br_if_in_block (type $2) (result i32)
- (block $outval
+ (block $outval i32
(block $in
(br_if $in
(i32.const 1)
@@ -730,8 +730,8 @@
)
(func $threading (type $1)
(drop
- (block $value-out
- (block $value-in
+ (block $value-out i32
+ (block $value-in i32
(block $out
(block $in
(br_if $out
@@ -765,11 +765,11 @@
(func $if-to-br_if-conflict (type $3) (param $x i32) (param $y i32) (result i32)
(block $leave
(set_local $y
- (block $out
+ (block $out i32
(if
(get_local $x)
(br $out
- (block $block1
+ (block $block1 i32
(set_local $x
(i32.const 0)
)
@@ -792,14 +792,14 @@
(func $if-to-br_if-conflict2 (type $3) (param $x i32) (param $y i32) (result i32)
(block $leave
(set_local $y
- (block $out
+ (block $out i32
(if
(get_local $x)
(br_if $leave
(i32.const 1)
)
(br $out
- (block $block2
+ (block $block2 i32
(set_local $x
(i32.const 0)
)
@@ -819,11 +819,11 @@
(func $if-to-br_if-value-sideeffect (type $3) (param $x i32) (param $y i32) (result i32)
(block $leave
(set_local $y
- (block $out
+ (block $out i32
(if
(get_local $x)
(br $out
- (block $block1
+ (block $block1 i32
(drop
(call $if-to-br_if-value-sideeffect
(i32.const 0)
diff --git a/test/passes/remove-unused-names_merge-blocks.txt b/test/passes/remove-unused-names_merge-blocks.txt
index 4557f3da4..ae60d4155 100644
--- a/test/passes/remove-unused-names_merge-blocks.txt
+++ b/test/passes/remove-unused-names_merge-blocks.txt
@@ -126,7 +126,7 @@
(local $x i32)
(drop
(i32.eqz
- (block
+ (block i32
(i32.const 10)
)
)
@@ -174,7 +174,7 @@
(func $binary (type $3)
(drop
(i32.add
- (block
+ (block i32
(i32.const 10)
)
(i32.const 20)
@@ -204,7 +204,7 @@
(drop
(i32.add
(i32.const 10)
- (block
+ (block i32
(i32.const 20)
)
)
@@ -232,10 +232,10 @@
)
(drop
(i32.add
- (block
+ (block i32
(i32.const 10)
)
- (block
+ (block i32
(i32.const 20)
)
)
@@ -287,7 +287,7 @@
(drop
(i32.add
(unreachable)
- (block
+ (block i32
(drop
(i32.const 10)
)
@@ -331,7 +331,7 @@
)
(drop
(select
- (block
+ (block i32
(i32.const 10)
)
(i32.const 30)
@@ -347,7 +347,7 @@
(drop
(select
(i32.const 20)
- (block
+ (block i32
(i32.const 30)
)
(i32.const 50)
@@ -363,7 +363,7 @@
(select
(i32.const 20)
(i32.const 40)
- (block
+ (block i32
(i32.const 50)
)
)
@@ -373,10 +373,10 @@
)
(drop
(select
- (block
+ (block i32
(i32.const 10)
)
- (block
+ (block i32
(i32.const 20)
)
(i32.const 40)
@@ -387,11 +387,11 @@
)
(drop
(select
- (block
+ (block i32
(i32.const 10)
)
(i32.const 30)
- (block
+ (block i32
(i32.const 40)
)
)
@@ -402,10 +402,10 @@
(drop
(select
(i32.const 20)
- (block
+ (block i32
(i32.const 30)
)
- (block
+ (block i32
(i32.const 40)
)
)
@@ -430,13 +430,13 @@
(drop
(select
(unreachable)
- (block
+ (block i32
(drop
(i32.const 30)
)
(i32.const 40)
)
- (block
+ (block i32
(drop
(i32.const 50)
)
@@ -468,7 +468,7 @@
(select
(i32.const 20)
(unreachable)
- (block
+ (block i32
(drop
(i32.const 50)
)
@@ -541,7 +541,7 @@
(i32.const 20)
)
(drop
- (block $out2
+ (block $out2 i32
(drop
(i32.const 10)
)
@@ -559,7 +559,7 @@
)
(func $calls (type $3)
(call $call-i
- (block
+ (block i32
(i32.const 10)
)
)
@@ -601,7 +601,7 @@
)
(call $call-ii
(unreachable)
- (block
+ (block i32
(drop
(i32.const 20)
)
@@ -670,7 +670,7 @@
)
(call_indirect $ii
(unreachable)
- (block
+ (block i32
(drop
(i32.const 30)
)
@@ -683,7 +683,7 @@
(local $0 f64)
(local $1 f64)
(if
- (block
+ (block i32
(nop)
(f64.gt
(get_local $0)
diff --git a/test/passes/simplify-locals.txt b/test/passes/simplify-locals.txt
index 498d97d58..f2aa8d0d9 100644
--- a/test/passes/simplify-locals.txt
+++ b/test/passes/simplify-locals.txt
@@ -223,7 +223,7 @@
(call $waka)
(nop)
(set_local $a
- (block $block0
+ (block $block0 i32
(block $block1
(nop)
(i32.store
@@ -238,7 +238,7 @@
)
(call $waka)
(set_local $a
- (block $block2
+ (block $block2 i32
(block $block4
(nop)
(i32.store
@@ -257,7 +257,7 @@
)
(call $waka)
(set_local $a
- (block $block5
+ (block $block5 i32
(block $block6
(nop)
(i32.store
@@ -280,7 +280,7 @@
)
(call $waka)
(set_local $a
- (block $block7
+ (block $block7 i32
(block $block8
(nop)
(i32.store
@@ -306,7 +306,7 @@
(nop)
(nop)
(drop
- (block $b
+ (block $b i32
(block $c
(br $b
(i32.const 1337)
@@ -563,7 +563,7 @@
(get_local $__stackBase__)
)
(return
- (block $block12
+ (block $block12 i32
(i32.store
(i32.const 168)
(get_local $$10$1)
@@ -575,11 +575,11 @@
(func $block-returns (type $FUNCSIG$v)
(local $x i32)
(set_local $x
- (block $out
+ (block $out i32
(nop)
(br_if $out
(tee_local $x
- (block $waka
+ (block $waka i32
(nop)
(br_if $waka
(tee_local $x
@@ -600,11 +600,11 @@
(set_local $x
(if
(i32.const 1)
- (block
+ (block i32
(nop)
(i32.const 13)
)
- (block
+ (block i32
(nop)
(i32.const 24)
)
@@ -616,11 +616,11 @@
(tee_local $x
(if
(i32.const 1)
- (block $block3
+ (block $block3 i32
(nop)
(i32.const 14)
)
- (block $block5
+ (block $block5 i32
(nop)
(i32.const 25)
)
@@ -685,7 +685,7 @@
(func $no-out-of-label (type $8) (param $x i32) (param $y i32)
(loop $moar
(set_local $x
- (block $block0
+ (block $block0 i32
(br_if $moar
(get_local $x)
)
@@ -698,7 +698,7 @@
)
(block $moar
(set_local $y
- (block $block1
+ (block $block1 i32
(br_if $moar
(get_local $y)
)
@@ -714,7 +714,7 @@
(local $e i32)
(loop $while-in$1
(set_local $a
- (block $while-out$0
+ (block $while-out$0 i32
(set_local $e
(get_local $a)
)
diff --git a/test/passes/vacuum.txt b/test/passes/vacuum.txt
index b7339ed20..c2fb9fc29 100644
--- a/test/passes/vacuum.txt
+++ b/test/passes/vacuum.txt
@@ -22,12 +22,12 @@
(block $two-in-a-block
)
(set_local $x
- (block $result-used
+ (block $result-used i32
(get_local $x)
)
)
(set_local $x
- (block $two-and-result-used
+ (block $two-and-result-used i32
(get_local $y)
)
)
@@ -123,7 +123,7 @@
(if
(if
(get_local $d)
- (block $block1
+ (block $block1 i32
(f64.ne
(f64.promote/f32
(f32.load
@@ -186,7 +186,7 @@
(local $$11 i32)
(loop $while-in$1
(drop
- (block $jumpthreading$outer$8
+ (block $jumpthreading$outer$8 i32
(block $jumpthreading$inner$8
(br $jumpthreading$outer$8
(i32.const 0)
diff --git a/test/unit.fromasm b/test/unit.fromasm
index daa696a0c..ea0ff0843 100644
--- a/test/unit.fromasm
+++ b/test/unit.fromasm
@@ -400,7 +400,7 @@
(i32.const 3)
)
)
- (block
+ (block i32
(drop
(call $lb
(i32.const 4)
@@ -421,7 +421,7 @@
)
)
)
- (block
+ (block i32
(drop
(call $lb
(i32.const 8)
@@ -492,7 +492,7 @@
)
)
(func $phi (result i32)
- (block $do-once$0
+ (block $do-once$0 i32
(br_if $do-once$0
(i32.const 0)
(call $lb
diff --git a/test/unit.fromasm.imprecise b/test/unit.fromasm.imprecise
index 5cd06cda0..5ea81aad3 100644
--- a/test/unit.fromasm.imprecise
+++ b/test/unit.fromasm.imprecise
@@ -381,7 +381,7 @@
(i32.const 3)
)
)
- (block
+ (block i32
(drop
(call $lb
(i32.const 4)
@@ -402,7 +402,7 @@
)
)
)
- (block
+ (block i32
(drop
(call $lb
(i32.const 8)
@@ -473,7 +473,7 @@
)
)
(func $phi (result i32)
- (block $do-once$0
+ (block $do-once$0 i32
(br_if $do-once$0
(i32.const 0)
(call $lb
diff --git a/test/unit.fromasm.imprecise.no-opts b/test/unit.fromasm.imprecise.no-opts
index ed7ec429f..91118673a 100644
--- a/test/unit.fromasm.imprecise.no-opts
+++ b/test/unit.fromasm.imprecise.no-opts
@@ -178,13 +178,13 @@
(local $J f64)
(set_local $J
(f64.sub
- (block
+ (block f64
(drop
(f64.const 0.1)
)
(f64.const 5.1)
)
- (block
+ (block f64
(drop
(f64.const 3.2)
)
@@ -386,7 +386,7 @@
(local $z f32)
(local $asm2wasm_i32_temp i32)
(set_local $x
- (block
+ (block i32
(set_local $asm2wasm_i32_temp
(i32.const 0)
)
@@ -633,20 +633,20 @@
(i32.add
(i32.add
(i32.add
- (block
+ (block i32
(drop
(i32.const 1)
)
(get_local $x)
)
- (block
+ (block i32
(drop
(i32.const 2)
)
(i32.const 3)
)
)
- (block
+ (block i32
(block
(block
(drop
@@ -663,19 +663,19 @@
(i32.const 7)
)
)
- (block
+ (block i32
(drop
(i32.const 8)
)
- (block
+ (block i32
(drop
(i32.const 9)
)
- (block
+ (block i32
(drop
(i32.const 10)
)
- (block
+ (block i32
(drop
(i32.const 11)
)
@@ -691,7 +691,7 @@
(i32.add
(i32.add
(i32.add
- (block
+ (block i32
(drop
(call $lb
(i32.const 1)
@@ -699,7 +699,7 @@
)
(get_local $x)
)
- (block
+ (block i32
(drop
(call $lb
(i32.const 2)
@@ -710,7 +710,7 @@
)
)
)
- (block
+ (block i32
(block
(block
(drop
@@ -735,25 +735,25 @@
)
)
)
- (block
+ (block i32
(drop
(call $lb
(i32.const 8)
)
)
- (block
+ (block i32
(drop
(call $lb
(i32.const 9)
)
)
- (block
+ (block i32
(drop
(call $lb
(i32.const 10)
)
)
- (block
+ (block i32
(drop
(call $lb
(i32.const 11)
@@ -891,7 +891,7 @@
(func $useSetGlobal (result i32)
(local $x i32)
(set_local $x
- (block
+ (block i32
(set_global $Int
(i32.const 10)
)
@@ -902,7 +902,7 @@
(i32.const 20)
)
(return
- (block
+ (block i32
(set_global $Int
(i32.const 30)
)
@@ -912,7 +912,7 @@
)
(func $usesSetGlobal2 (result i32)
(return
- (block
+ (block i32
(block
(set_global $Int
(i32.const 40)
diff --git a/test/unit.fromasm.no-opts b/test/unit.fromasm.no-opts
index faaa013e9..aeece2db3 100644
--- a/test/unit.fromasm.no-opts
+++ b/test/unit.fromasm.no-opts
@@ -184,13 +184,13 @@
(local $J f64)
(set_local $J
(f64.sub
- (block
+ (block f64
(drop
(f64.const 0.1)
)
(f64.const 5.1)
)
- (block
+ (block f64
(drop
(f64.const 3.2)
)
@@ -392,7 +392,7 @@
(local $z f32)
(local $asm2wasm_i32_temp i32)
(set_local $x
- (block
+ (block i32
(set_local $asm2wasm_i32_temp
(i32.const 0)
)
@@ -639,20 +639,20 @@
(i32.add
(i32.add
(i32.add
- (block
+ (block i32
(drop
(i32.const 1)
)
(get_local $x)
)
- (block
+ (block i32
(drop
(i32.const 2)
)
(i32.const 3)
)
)
- (block
+ (block i32
(block
(block
(drop
@@ -669,19 +669,19 @@
(i32.const 7)
)
)
- (block
+ (block i32
(drop
(i32.const 8)
)
- (block
+ (block i32
(drop
(i32.const 9)
)
- (block
+ (block i32
(drop
(i32.const 10)
)
- (block
+ (block i32
(drop
(i32.const 11)
)
@@ -697,7 +697,7 @@
(i32.add
(i32.add
(i32.add
- (block
+ (block i32
(drop
(call $lb
(i32.const 1)
@@ -705,7 +705,7 @@
)
(get_local $x)
)
- (block
+ (block i32
(drop
(call $lb
(i32.const 2)
@@ -716,7 +716,7 @@
)
)
)
- (block
+ (block i32
(block
(block
(drop
@@ -741,25 +741,25 @@
)
)
)
- (block
+ (block i32
(drop
(call $lb
(i32.const 8)
)
)
- (block
+ (block i32
(drop
(call $lb
(i32.const 9)
)
)
- (block
+ (block i32
(drop
(call $lb
(i32.const 10)
)
)
- (block
+ (block i32
(drop
(call $lb
(i32.const 11)
@@ -897,7 +897,7 @@
(func $useSetGlobal (result i32)
(local $x i32)
(set_local $x
- (block
+ (block i32
(set_global $Int
(i32.const 10)
)
@@ -908,7 +908,7 @@
(i32.const 20)
)
(return
- (block
+ (block i32
(set_global $Int
(i32.const 30)
)
@@ -918,7 +918,7 @@
)
(func $usesSetGlobal2 (result i32)
(return
- (block
+ (block i32
(block
(set_global $Int
(i32.const 40)
diff --git a/test/unit.wast b/test/unit.wast
index afa376035..fab6705d2 100644
--- a/test/unit.wast
+++ b/test/unit.wast
@@ -37,7 +37,7 @@
)
(func $importedDoubles (type $4) (result f64)
(local $temp f64)
- (block $topmost
+ (block $topmost f64
(set_local $temp
(f64.add
(f64.add
@@ -91,7 +91,7 @@
(local $t f64)
(local $Int f64)
(local $Double i32)
- (block $topmost
+ (block $topmost f64
(if
(f64.gt
(get_local $x)
@@ -177,13 +177,13 @@
(local $J f64)
(set_local $J
(f64.sub
- (block $block0
+ (block $block0 f64
(drop
(f64.const 0.1)
)
(f64.const 5.1)
)
- (block $block1
+ (block $block1 f64
(drop
(f64.const 3.2)
)
@@ -193,7 +193,7 @@
)
)
(func $switcher (type $6) (param $x i32) (result i32)
- (block $topmost
+ (block $topmost i32
(block $switch$0
(block $switch-default$3
(block $switch-case$2
@@ -291,7 +291,7 @@
)
(func $big_uint_div_u (type $5) (result i32)
(local $x i32)
- (block $topmost
+ (block $topmost i32
(set_local $x
(i32.and
(i32.div_u
@@ -340,7 +340,7 @@
(local $asm2wasm_i32_temp i32)
(block $block0
(set_local $x
- (block $block1
+ (block $block1 i32
(set_local $asm2wasm_i32_temp
(i32.const 0)
)
diff --git a/test/unit.wast.fromBinary b/test/unit.wast.fromBinary
index 8423c4740..1080d5d20 100644
--- a/test/unit.wast.fromBinary
+++ b/test/unit.wast.fromBinary
@@ -37,7 +37,7 @@
)
(func $importedDoubles (type $4) (result f64)
(local $var$0 f64)
- (block $label$0
+ (block $label$0 f64
(set_local $var$0
(f64.add
(f64.add
@@ -95,7 +95,7 @@
(local $var$2 i32)
(local $var$3 f64)
(local $var$4 f64)
- (block $label$0
+ (block $label$0 f64
(if
(f64.gt
(get_local $var$0)
@@ -189,13 +189,13 @@
(local $var$0 f64)
(set_local $var$0
(f64.sub
- (block $label$0
+ (block $label$0 f64
(drop
(f64.const 0.1)
)
(f64.const 5.1)
)
- (block $label$1
+ (block $label$1 f64
(drop
(f64.const 3.2)
)
@@ -205,7 +205,7 @@
)
)
(func $switcher (type $6) (param $var$0 i32) (result i32)
- (block $label$0
+ (block $label$0 i32
(block $label$1
(block $label$2
(block $label$3
@@ -299,7 +299,7 @@
)
(func $big_uint_div_u (type $5) (result i32)
(local $var$0 i32)
- (block $label$0
+ (block $label$0 i32
(set_local $var$0
(i32.and
(i32.div_u
@@ -348,7 +348,7 @@
(local $var$3 f64)
(block $label$0
(set_local $var$0
- (block $label$1
+ (block $label$1 i32
(set_local $var$1
(i32.const 0)
)
@@ -428,7 +428,7 @@
(nop)
)
(func $block_and_after (type $5) (result i32)
- (block $label$0
+ (block $label$0 i32
(block $label$1
(drop
(i32.const 1)