diff --git a/src/ir/ExpressionManipulator.cpp b/src/ir/ExpressionManipulator.cpp index 783342780a7..29f08de2ea1 100644 --- a/src/ir/ExpressionManipulator.cpp +++ b/src/ir/ExpressionManipulator.cpp @@ -24,7 +24,7 @@ namespace ExpressionManipulator { Expression* flexibleCopy(Expression* original, Module& wasm, CustomCopier custom) { - struct Copier : public Visitor { + struct Copier : public OverriddenVisitor { Module& wasm; CustomCopier custom; @@ -41,7 +41,7 @@ flexibleCopy(Expression* original, Module& wasm, CustomCopier custom) { if (ret) { return ret; } - return Visitor::visit(curr); + return OverriddenVisitor::visit(curr); } Expression* visitBlock(Block* curr) { @@ -223,6 +223,8 @@ flexibleCopy(Expression* original, Module& wasm, CustomCopier custom) { Expression* visitUnreachable(Unreachable* curr) { return builder.makeUnreachable(); } + Expression* visitPush(Push* curr) { return builder.makePush(curr->value); } + Expression* visitPop(Pop* curr) { return builder.makePop(curr->type); } }; Copier copier(wasm, custom);