summaryrefslogtreecommitdiff
path: root/test/example/stack-utils.cpp
Commit message (Collapse)AuthorAgeFilesLines
* StackSignature subtypes and LUBs (#3543)Thomas Lively2021-02-111-47/+178
| | | | | | | | Add a utility for calculating the least upper bounds of two StackSignatures, taking into account polymorphic unreachable behavior. This will important in the finalization and validation of Poppy IR blocks, where a block is allowed to directly produce fewer values than the branches that target it carry if the difference can be made up for by polymorphism due to an unreachable instruction in the block.
* Refactor printing code so that printing Expressions always works (#3450)Alon Zakai2020-12-171-5/+2
| | | | | | | | 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.
* Initial implementation of "Memory64" proposal (#3130)Wouter van Oortmerssen2020-09-181-2/+2
| | | Also includes a lot of new spec tests that eventually need to go into the spec repo
* Stack utils (#3083)Thomas Lively2020-09-071-0/+443
Implement and test utilities for manipulating and analyzing a new stacky form of Binaryen IR that is able to express arbitrary stack machine code. This new Poppy IR will eventually replace Stack IR, and new optimization passes will be built with these utilities. See #3059.