summaryrefslogtreecommitdiff
path: root/src/tools/wasm-reduce.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools/wasm-reduce.cpp')
-rw-r--r--src/tools/wasm-reduce.cpp15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/tools/wasm-reduce.cpp b/src/tools/wasm-reduce.cpp
index 029b9092d..e0491c0db 100644
--- a/src/tools/wasm-reduce.cpp
+++ b/src/tools/wasm-reduce.cpp
@@ -578,9 +578,11 @@ struct Reducer
continue; // no conversion
}
Expression* fixed = nullptr;
- switch (curr->type.getSingle()) {
+ TODO_SINGLE_COMPOUND(curr->type);
+ switch (curr->type.getBasic()) {
case Type::i32: {
- switch (child->type.getSingle()) {
+ TODO_SINGLE_COMPOUND(child->type);
+ switch (child->type.getBasic()) {
case Type::i32:
WASM_UNREACHABLE("invalid type");
case Type::i64:
@@ -605,7 +607,8 @@ struct Reducer
break;
}
case Type::i64: {
- switch (child->type.getSingle()) {
+ TODO_SINGLE_COMPOUND(child->type);
+ switch (child->type.getBasic()) {
case Type::i32:
fixed = builder->makeUnary(ExtendSInt32, child);
break;
@@ -630,7 +633,8 @@ struct Reducer
break;
}
case Type::f32: {
- switch (child->type.getSingle()) {
+ TODO_SINGLE_COMPOUND(child->type);
+ switch (child->type.getBasic()) {
case Type::i32:
fixed = builder->makeUnary(ConvertSInt32ToFloat32, child);
break;
@@ -655,7 +659,8 @@ struct Reducer
break;
}
case Type::f64: {
- switch (child->type.getSingle()) {
+ TODO_SINGLE_COMPOUND(child->type);
+ switch (child->type.getBasic()) {
case Type::i32:
fixed = builder->makeUnary(ConvertSInt32ToFloat64, child);
break;