summaryrefslogtreecommitdiff
path: root/src/ast/ExpressionAnalyzer.cpp
Commit message (Collapse)AuthorAgeFilesLines
* notation change: AST => IR (#1245)Alon Zakai2017-10-241-558/+0
| | | The IR is indeed a tree, but not an "abstract syntax tree" since there is no language for which it is the syntax (except in the most trivial and meaningless sense).
* only look at the |signed| field of loads if it is relevant (#1235)Alon Zakai2017-10-231-4/+9
|
* fix ExpressionAnalyzer::equals on consts, they need to be bitwise equal, ↵Alon Zakai2017-09-271-1/+3
| | | | i.e., 0 != -0
* Const hoisting (#1176)Alon Zakai2017-09-121-1/+1
| | | A pass that hoists repeating constants to a local, and replaces their uses with a get of that local. This can reduce binary size, but can also *increase* gzip size, so it's mostly for experimentation and not used by default.
* asm2wasm atomics (#1171)Alon Zakai2017-09-111-0/+56
| | | | | | | | | | * translate asm.js atomics into wasm atomics * fix wasm-builder atomic load emitting, the alignment is the loaded size, not the output size * don't require code for each node type in vaccuum, for non-mentioned nodes, assume we can't optimize them out * support atomics in hashing, comparing, and copying
* Make ast_utils into a library (#892)Derek Schuff2017-01-311-0/+495
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.