diff options
Diffstat (limited to 'src/passes/Print.cpp')
-rw-r--r-- | src/passes/Print.cpp | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/src/passes/Print.cpp b/src/passes/Print.cpp index 9f765bb79..650a17203 100644 --- a/src/passes/Print.cpp +++ b/src/passes/Print.cpp @@ -2273,7 +2273,6 @@ struct PrintExpressionContents switch (curr->op) { case NewData: printMedium(o, "data"); - break; case NewElem: printMedium(o, "elem"); @@ -2327,6 +2326,30 @@ struct PrintExpressionContents o << ' '; TypeNamePrinter(o, wasm).print(curr->srcRef->type.getHeapType()); } + void visitArrayFill(ArrayFill* curr) { + if (printUnreachableOrNullReplacement(curr->ref)) { + return; + } + printMedium(o, "array.fill "); + TypeNamePrinter(o, wasm).print(curr->ref->type.getHeapType()); + } + void visitArrayInit(ArrayInit* curr) { + if (printUnreachableOrNullReplacement(curr->ref)) { + return; + } + switch (curr->op) { + case InitData: + printMedium(o, "array.init_data "); + break; + case InitElem: + printMedium(o, "array.init_elem "); + break; + default: + WASM_UNREACHABLE("unexpected op"); + } + TypeNamePrinter(o, wasm).print(curr->ref->type.getHeapType()); + o << " $" << curr->segment; + } void visitRefAs(RefAs* curr) { switch (curr->op) { case RefAsNonNull: |