From 2257f857069faa56335d2e24d7d6853c9501fcb7 Mon Sep 17 00:00:00 2001 From: Alon Zakai Date: Thu, 17 Dec 2020 12:39:21 -0800 Subject: Refactor printing code so that printing Expressions always works (#3450) This avoids needing to add include wasm-printing if a file doesn't already have it. To achieve that, add the std::ostream hooks in wasm.h, and also use them when possible, removing the need for the special WasmPrinter object. Also stop printing in "full" (print types on each line) in error messages by default. The user can still get that, as always, using BINARYEN_PRINT_FULL=1 in the env. --- src/passes/PostAssemblyScript.cpp | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) (limited to 'src/passes/PostAssemblyScript.cpp') diff --git a/src/passes/PostAssemblyScript.cpp b/src/passes/PostAssemblyScript.cpp index eeb077ce9..aa9c5cc40 100644 --- a/src/passes/PostAssemblyScript.cpp +++ b/src/passes/PostAssemblyScript.cpp @@ -28,7 +28,6 @@ #include #include #ifdef POST_ASSEMBLYSCRIPT_DEBUG -#include "wasm-printing.h" #include #endif @@ -468,14 +467,14 @@ struct OptimizeARC : public WalkerPass> { if (allBalanced) { #ifdef POST_ASSEMBLYSCRIPT_DEBUG std::cerr << " eliminating "; - WasmPrinter::printExpression(retain, std::cerr, true); + std::cerr << *retain << '\n'; std::cerr << " reaching\n"; #endif redundantRetains.insert(retainLocation); for (auto** getLocation : releaseLocations) { #ifdef POST_ASSEMBLYSCRIPT_DEBUG std::cerr << " "; - WasmPrinter::printExpression(*getLocation, std::cerr, true); + std::cerr << **getLocation << '\n'; std::cerr << "\n"; #endif redundantReleases.insert(getLocation); @@ -483,28 +482,28 @@ struct OptimizeARC : public WalkerPass> { #ifdef POST_ASSEMBLYSCRIPT_DEBUG } else { std::cerr << " cannot eliminate "; - WasmPrinter::printExpression(retain, std::cerr, true); + std::cerr << *retain << '\n'; std::cerr << " - unbalanced\n"; #endif } #ifdef POST_ASSEMBLYSCRIPT_DEBUG } else { std::cerr << " cannot eliminate "; - WasmPrinter::printExpression(retain, std::cerr, true); + std::cerr << *retain << '\n'; std::cerr << " - zero releases\n"; #endif } #ifdef POST_ASSEMBLYSCRIPT_DEBUG } else { std::cerr << " cannot eliminate "; - WasmPrinter::printExpression(retain, std::cerr, true); + std::cerr << *retain << '\n'; std::cerr << " - retains allocation\n"; #endif } #ifdef POST_ASSEMBLYSCRIPT_DEBUG } else { std::cerr << " cannot eliminate "; - WasmPrinter::printExpression(retain, std::cerr, true); + std::cerr << *retain << '\n'; std::cerr << " - reaches return\n"; #endif } @@ -560,7 +559,7 @@ struct FinalizeARC : public WalkerPass> { // __release(__retain(__alloc(...))) - unnecessary allocation #ifdef POST_ASSEMBLYSCRIPT_DEBUG std::cerr << " finalizing "; - WasmPrinter::printExpression(curr, std::cerr, true); + std::cerr << *curr << '\n'; std::cerr << " - unnecessary allocation\n"; #endif Builder builder(*getModule()); @@ -574,7 +573,7 @@ struct FinalizeARC : public WalkerPass> { // __release(__retain(...)) - unnecessary pair #ifdef POST_ASSEMBLYSCRIPT_DEBUG std::cerr << " finalizing "; - WasmPrinter::printExpression(curr, std::cerr, true); + std::cerr << *curr << '\n'; std::cerr << " - unnecessary pair\n"; #endif Builder builder(*getModule()); @@ -586,7 +585,7 @@ struct FinalizeARC : public WalkerPass> { // __release(42) - unnecessary static release #ifdef POST_ASSEMBLYSCRIPT_DEBUG std::cerr << " finalizing "; - WasmPrinter::printExpression(curr, std::cerr, true); + std::cerr << *curr << '\n'; std::cerr << " - static release\n"; #endif Builder builder(*getModule()); @@ -598,7 +597,7 @@ struct FinalizeARC : public WalkerPass> { // __retain(42) - unnecessary static retain #ifdef POST_ASSEMBLYSCRIPT_DEBUG std::cerr << " finalizing "; - WasmPrinter::printExpression(curr, std::cerr, true); + std::cerr << *curr << '\n'; std::cerr << " - static retain\n"; #endif replaceCurrent(retainedConst); -- cgit v1.2.3