diff options
author | Alon Zakai <azakai@google.com> | 2020-12-17 12:39:21 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-12-17 12:39:21 -0800 |
commit | 2257f857069faa56335d2e24d7d6853c9501fcb7 (patch) | |
tree | ca67dc5b66b7d24759fc1043ed154b7f002a0188 /src/passes/PostAssemblyScript.cpp | |
parent | a8ded16f56afd880a9a6459fe5ce55a8667d9b3e (diff) | |
download | binaryen-2257f857069faa56335d2e24d7d6853c9501fcb7.tar.gz binaryen-2257f857069faa56335d2e24d7d6853c9501fcb7.tar.bz2 binaryen-2257f857069faa56335d2e24d7d6853c9501fcb7.zip |
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.
Diffstat (limited to 'src/passes/PostAssemblyScript.cpp')
-rw-r--r-- | src/passes/PostAssemblyScript.cpp | 21 |
1 files changed, 10 insertions, 11 deletions
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 <unordered_map> #include <unordered_set> #ifdef POST_ASSEMBLYSCRIPT_DEBUG -#include "wasm-printing.h" #include <iostream> #endif @@ -468,14 +467,14 @@ struct OptimizeARC : public WalkerPass<PostWalker<OptimizeARC>> { 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<PostWalker<OptimizeARC>> { #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<PostWalker<FinalizeARC>> { // __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<PostWalker<FinalizeARC>> { // __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<PostWalker<FinalizeARC>> { // __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<PostWalker<FinalizeARC>> { // __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); |