diff options
author | Alon Zakai <alonzakai@gmail.com> | 2018-08-14 11:29:34 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-08-14 11:29:34 -0700 |
commit | 15b4a4c66fdad9a31bfb3912673378c1c9cf7e1c (patch) | |
tree | dea56d226fffa2fb832e6981a930efc3f9a7f0d8 /src/wasm-stack.h | |
parent | 9f8fa5a14d3b48c650c2574529fd95c329cb5358 (diff) | |
download | binaryen-15b4a4c66fdad9a31bfb3912673378c1c9cf7e1c.tar.gz binaryen-15b4a4c66fdad9a31bfb3912673378c1c9cf7e1c.tar.bz2 binaryen-15b4a4c66fdad9a31bfb3912673378c1c9cf7e1c.zip |
Print Stack IR in proper .wat format (#1630)
This now makes --generate-stack-ir --print-stack-ir emit a fully valid .wat wasm file, in stacky format.
Diffstat (limited to 'src/wasm-stack.h')
-rw-r--r-- | src/wasm-stack.h | 45 |
1 files changed, 0 insertions, 45 deletions
diff --git a/src/wasm-stack.h b/src/wasm-stack.h index 8648148b6..fffc0ce45 100644 --- a/src/wasm-stack.h +++ b/src/wasm-stack.h @@ -70,51 +70,6 @@ public: // e.g. wasm has no unreachable blocks, they must be none }; -} // namespace wasm - -namespace std { - -inline std::ostream& operator<<(std::ostream& o, wasm::StackInst& inst) { - switch (inst.op) { - case wasm::StackInst::Basic: { - std::cout << wasm::getExpressionName(inst.origin) << " (" << wasm::printType(inst.type) << ')'; - break; - } - case wasm::StackInst::BlockBegin: - case wasm::StackInst::IfBegin: - case wasm::StackInst::LoopBegin: { - std::cout << wasm::getExpressionName(inst.origin); - break; - } - case wasm::StackInst::BlockEnd: - case wasm::StackInst::IfEnd: - case wasm::StackInst::LoopEnd: { - std::cout << "end (" << wasm::printType(inst.type) << ')'; - break; - } - case wasm::StackInst::IfElse: { - std::cout << "else"; - break; - } - default: WASM_UNREACHABLE(); - } - return o; -} - -inline std::ostream& operator<<(std::ostream& o, wasm::StackIR& insts) { - wasm::Index index = 0; - for (wasm::Index i = 0; i < insts.size(); i++) { - auto* inst = insts[i]; - if (!inst) continue; - std::cout << index++ << ' ' << *inst << '\n'; - } - return o; -} - -} // namespace std - -namespace wasm { - // // StackWriter: Writes out binary format stack machine code for a Binaryen IR expression // |