diff options
author | Alon Zakai <alonzakai@gmail.com> | 2019-01-28 11:32:19 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-01-28 11:32:19 -0800 |
commit | 153ba18ba99dc4dcef29a61e1e586af3df8d921d (patch) | |
tree | 5e2f85732dfc40811aa22d17a50bea729167bcbf /auto_update_tests.py | |
parent | 85e95e315a8023c46eb804fe80ebc244bcfdae3e (diff) | |
download | binaryen-153ba18ba99dc4dcef29a61e1e586af3df8d921d.tar.gz binaryen-153ba18ba99dc4dcef29a61e1e586af3df8d921d.tar.bz2 binaryen-153ba18ba99dc4dcef29a61e1e586af3df8d921d.zip |
Handle EM_ASM/EM_JS in LLVM wasm backend O0 output (#1888)
See emscripten-core/emscripten#7928 - we have been optimizing all wasms until now, and noticed this when the wasm object file path did not do so. When not optimizing, our methods of handling EM_ASM and EM_JS fail since the patterns are different.
Specifically, for EM_ASM we hunt for emscripten_asm_const(X, where X is a constant, but without opts it may be a get of a local. For EM_JS, the function body may not just contain a const, but a block with a set of the const and a return of a get later.
This adds logic to track gets and sets in basic blocks, which is sufficient to handle this.
Diffstat (limited to 'auto_update_tests.py')
0 files changed, 0 insertions, 0 deletions