Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | wasm2js: optimize loads (#2085) | Alon Zakai | 2019-05-03 | 96 | -127/+55 | |
| | | | | When loading a boolean, prefer the signed heap (which is more commonly used, and may be faster). We never use HEAPU32 (HEAP32 is always enough), just remove it. | |||||
* | wasm2js: avoid some slow operations when not optimizing (#2082) | Alon Zakai | 2019-05-03 | 20 | -3751/+4087 | |
| | | | Without this PR, wasm2js0.test_printf in emscripten took an extremely long time to compile. | |||||
* | wasm2js: don't emit obviously unnecessary parens (#2080) | Alon Zakai | 2019-05-02 | 50 | -8700/+5594 | |
| | | | A minifier would probably remove them later anyhow, but they make reading the code annoying and hard. | |||||
* | wasm2js: ignore implicit traps (#2079) | Alon Zakai | 2019-05-02 | 9 | -60/+41 | |
| | | | | | We don't actually try to emit traps for loads, stores, invalid float to ints, etc., so when optimizing we may as well do so under the assumption those traps do not exist. This lets us emit nice code for a select whose operands are loads, for example - otherwise, the values seem to have side effects. | |||||
* | Optimize mutable globals (#2066) | Alon Zakai | 2019-05-02 | 21 | -69/+296 | |
| | | | | | | | If a global is marked mutable but not assigned to, make it immutable. If an immutable global is a copy of another, use the original, so we can remove the duplicates. Fixes #2011 | |||||
* | Add a pass to lower unaligned loads and stores (#2078) | Alon Zakai | 2019-05-02 | 11 | -148/+936 | |
| | | | | | This replaces the wasm2js code that lowered them to pessimistic (1-byte aligned) loads and stores. The new pass will do the optimal thing, keeping 2-byte alignment where possible. This is also nicer as a standalone pass, which has the simple property that after it runs all loads and stores are aligned, instead of some code scattered inside wasm2js. | |||||
* | Reenable clang-tidy Travis CI hook (#2077) | Heejin Ahn | 2019-05-01 | 1 | -1/+1 | |
| | | | Reenable the clang-tidy hook temporarily disabled by #2075. | |||||
* | wasm2js: don't run coalesce-locals if not optimizing (#2076) | Alon Zakai | 2019-05-01 | 52 | -16964/+22102 | |
| | | | That pass is very slow on unoptimized code (super-linear on the number of locals, which if unoptimized can be massive due to flatten). | |||||
* | clang-tidy braces changes (#2075) | Alon Zakai | 2019-05-01 | 117 | -1509/+2946 | |
| | | | Applies the changes in #2065, and temprarily disables the hook since it's too slow to run on a change this large. We should re-enable it in a later commit. | |||||
* | wasm2js: run more optimizations (#2073) | Alon Zakai | 2019-05-01 | 63 | -22435/+17249 | |
| | | | In particular, coalesce-locals is useful even if closure is run later (apparently it finds stuff closure can't). | |||||
* | Proper errors on unsupported segment types in ↵ | Alon Zakai | 2019-05-01 | 1 | -1/+6 | |
| | | | | EmscriptenGlueGenerator::separateDataSegments (#2068) | |||||
* | wasm2js: run full optimizations during the pipeline (#2071) | Alon Zakai | 2019-04-30 | 80 | -6058/+23001 | |
| | | | | | We flatten for the i64 lowering etc. passes, and it is worth optimizing afterwards, to clean up stuff they created. That is run if the user ran wasm2js with an optimization level (like wasm2js -O3). Split the test files to check both optimized and unoptimized code. | |||||
* | Make clang-tidy check header files too (#2072) | Heejin Ahn | 2019-04-30 | 1 | -0/+1 | |
| | | | Without this header file errors would be ignored. | |||||
* | Add clang-tidy-diff hook to Travis CI (#2060) | Heejin Ahn | 2019-04-30 | 2 | -1/+16 | |
|\ | | | | | | | | | This adds clang-tidy hook to Travis CI. This runs clang-tidy to the diff between the current HEAD and master. (It takes very long time to run clang-tidy on the whole repo, so it is not feasible anyway.) | |||||
| * | Merge branch 'master' into clang_tidy_hook | Heejin Ahn | 2019-04-30 | 19 | -73968/+457 | |
| |\ | ||||||
| * | | Change error message slightly | Heejin Ahn | 2019-04-30 | 1 | -1/+1 | |
| | | | ||||||
| * | | Remove the clang-tidy error used to trigger Travis CI error | Heejin Ahn | 2019-04-30 | 1 | -4/+0 | |
| | | | ||||||
| * | | Run clang-tidy-diff.sh only if it exists | Heejin Ahn | 2019-04-29 | 1 | -1/+2 | |
| | | | ||||||
| * | | Change error to a brace-related one | Heejin Ahn | 2019-04-29 | 1 | -3/+3 | |
| | | | ||||||
| * | | temp | Heejin Ahn | 2019-04-29 | 1 | -1/+4 | |
| | | | ||||||
| * | | Final | Heejin Ahn | 2019-04-27 | 2 | -7/+1 | |
| | | | ||||||
| * | | Well | Heejin Ahn | 2019-04-27 | 1 | -1/+1 | |
| | | | ||||||
| * | | Test | Heejin Ahn | 2019-04-27 | 1 | -1/+3 | |
| | | | ||||||
| * | | What is clang-tidy version? | Heejin Ahn | 2019-04-27 | 1 | -3/+1 | |
| | | | ||||||
| * | | Why not working?? | Heejin Ahn | 2019-04-27 | 1 | -0/+3 | |
| | | | ||||||
| * | | Remove special case handling | Heejin Ahn | 2019-04-27 | 1 | -10/+0 | |
| | | | ||||||
| * | | Change clang-tidy-error to brace-related one | Heejin Ahn | 2019-04-27 | 1 | -0/+1 | |
| | | | ||||||
| * | | Add a helpful message when skipping test | Heejin Ahn | 2019-04-27 | 1 | -0/+1 | |
| | | | ||||||
| * | | Add a clang-tidy error again to show how Travis CI works | Heejin Ahn | 2019-04-27 | 2 | -3/+6 | |
| | | | ||||||
| * | | Wingardium leviosa | Heejin Ahn | 2019-04-27 | 1 | -2/+1 | |
| | | | ||||||
| * | | ... | Heejin Ahn | 2019-04-27 | 1 | -1/+1 | |
| | | | ||||||
| * | | Does it succeed if we don't have wrong style? | Heejin Ahn | 2019-04-27 | 2 | -1/+3 | |
| | | | ||||||
| * | | ┬─┬ノ( ゜-゜ノ) (╯°□°)╯︵ ┻━┻ | Heejin Ahn | 2019-04-27 | 1 | -1/+1 | |
| | | | ||||||
| * | | (╯°□°)╯︵ ┻━┻ | Heejin Ahn | 2019-04-27 | 1 | -1/+1 | |
| | | | ||||||
| * | | Missing 'then' | Heejin Ahn | 2019-04-27 | 1 | -0/+1 | |
| | | | ||||||
| * | | Typo fix | Heejin Ahn | 2019-04-27 | 1 | -1/+1 | |
| | | | ||||||
| * | | Finally? | Heejin Ahn | 2019-04-27 | 2 | -6/+7 | |
| | | | ||||||
| * | | Ah whatever | Heejin Ahn | 2019-04-27 | 2 | -2/+2 | |
| | | | ||||||
| * | | Directory queries | Heejin Ahn | 2019-04-27 | 1 | -0/+3 | |
| | | | ||||||
| * | | Fix an unintended clang-format error | Heejin Ahn | 2019-04-27 | 1 | -1/+1 | |
| | | | ||||||
| * | | cd to ${TRAVIS_BUILD_DIR} before running clang-tidy | Heejin Ahn | 2019-04-27 | 2 | -6/+3 | |
| | | | ||||||
| * | | Run clang-tidy in TRAVIS_BUILD_DIR | Heejin Ahn | 2019-04-27 | 1 | -1/+1 | |
| | | | ||||||
| * | | Where is the current directory? | Heejin Ahn | 2019-04-27 | 1 | -0/+5 | |
| | | | ||||||
| * | | Add -DCMAKE_EXPORT_COMPILE_COMMANDS=ON again | Heejin Ahn | 2019-04-27 | 1 | -1/+1 | |
| | | | ||||||
| * | | Run clang-tidy after cmake | Heejin Ahn | 2019-04-27 | 1 | -2/+2 | |
| | | | ||||||
| * | | Add -DCMAKE_EXPORT_COMPILE_COMMANDS=ON to cmake | Heejin Ahn | 2019-04-27 | 1 | -1/+1 | |
| | | | ||||||
| * | | Add missint 'exit 1' | Heejin Ahn | 2019-04-26 | 1 | -0/+1 | |
| | | | ||||||
| * | | Add clang-tidy Travis hook + test | Heejin Ahn | 2019-04-26 | 3 | -2/+14 | |
| | | | ||||||
| * | | Do we have clang-tidy-diff.py? | Heejin Ahn | 2019-04-26 | 1 | -0/+1 | |
| | | | ||||||
| * | | Where is clang-tidy binary? | Heejin Ahn | 2019-04-26 | 1 | -1/+1 | |
| | | |