diff options
Diffstat (limited to 'src/passes/Print.cpp')
-rw-r--r-- | src/passes/Print.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/passes/Print.cpp b/src/passes/Print.cpp index 0a25430cb..993eddb99 100644 --- a/src/passes/Print.cpp +++ b/src/passes/Print.cpp @@ -20,6 +20,7 @@ #include <ir/iteration.h> #include <ir/module-utils.h> +#include <ir/table-utils.h> #include <pass.h> #include <pretty_printing.h> #include <wasm-stack.h> @@ -2832,6 +2833,16 @@ struct PrintSExpression : public UnifiedExpressionVisitor<PrintSExpression> { *curr, [&](Memory* memory) { visitMemory(memory); }); ModuleUtils::iterDefinedTables(*curr, [&](Table* table) { visitTable(table); }); + auto elemDeclareNames = TableUtils::getFunctionsNeedingElemDeclare(*curr); + if (!elemDeclareNames.empty()) { + doIndent(o, indent); + printMedium(o, "(elem"); + o << " declare func"; + for (auto name : elemDeclareNames) { + o << " $" << name; + } + o << ')' << maybeNewLine; + } ModuleUtils::iterDefinedGlobals( *curr, [&](Global* global) { visitGlobal(global); }); ModuleUtils::iterDefinedEvents(*curr, |