summaryrefslogtreecommitdiff
path: root/src/ast/ExpressionManipulator.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Address review feedback for #1014 (#1016)Alon Zakai2017-05-181-2/+6
| | | | | | * address review feedback for #1014
* Validate finalization (#1014)Alon Zakai2017-05-181-0/+1
| | | | | | | * validate that types are properly finalized, when in pass-debug mode (BINARYEN_PASS_DEBUG env var): check after each pass is run that the type of each node is equal to the proper type (when finalizing it, i.e., fully recomputing the type). * fix many fuzz bugs found by that. * in particular, fix dce bugs with type changes not being fully updated during code removal. add a new TypeUpdater helper class that lets a pass update types efficiently, by the helper tracking deps between blocks and branches etc., and updating/propagating type changes only as necessary.
* Make ast_utils into a library (#892)Derek Schuff2017-01-311-0/+152
Split ExpressionAnalyzer and ExpressionManipulator into cpp files, and turn their giant template functions into simple functions which take a callback. More organization, fewer mammoth headers, makes the build a few seconds faster, and the binaries a couple MB smaller.