diff options
Diffstat (limited to 'src/ir/ExpressionManipulator.cpp')
-rw-r--r-- | src/ir/ExpressionManipulator.cpp | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/ir/ExpressionManipulator.cpp b/src/ir/ExpressionManipulator.cpp index 700f7fdb8..32ee442b7 100644 --- a/src/ir/ExpressionManipulator.cpp +++ b/src/ir/ExpressionManipulator.cpp @@ -129,9 +129,21 @@ Expression* flexibleCopy(Expression* original, Module& wasm, CustomCopier custom Expression* visitSIMDShift(SIMDShift* curr) { return builder.makeSIMDShift(curr->op, copy(curr->vec), copy(curr->shift)); } - Expression* visitConst(Const *curr) { + Expression* visitConst(Const* curr) { return builder.makeConst(curr->value); } + Expression* visitMemoryInit(MemoryInit* curr) { + return builder.makeMemoryInit(curr->segment, copy(curr->dest), copy(curr->offset), copy(curr->size)); + } + Expression* visitDataDrop(DataDrop* curr) { + return builder.makeDataDrop(curr->segment); + } + Expression* visitMemoryCopy(MemoryCopy* curr) { + return builder.makeMemoryCopy(copy(curr->dest), copy(curr->source), copy(curr->size)); + } + Expression* visitMemoryFill(MemoryFill* curr) { + return builder.makeMemoryFill(copy(curr->dest), copy(curr->value), copy(curr->size)); + } Expression* visitUnary(Unary *curr) { return builder.makeUnary(curr->op, copy(curr->value)); } |