diff options
author | Alon Zakai <azakai@google.com> | 2020-01-06 11:50:17 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-01-06 11:50:17 -0800 |
commit | 6c91da0888c4b515c6875ac586fbe938ab80278f (patch) | |
tree | b32a0dac0c90172be4ffb9f99bf271240b8f2139 /src/wasm-debug.h | |
parent | 240e1e3ed3eb328f574ce26ddb24819796a5e6e3 (diff) | |
download | binaryen-6c91da0888c4b515c6875ac586fbe938ab80278f.tar.gz binaryen-6c91da0888c4b515c6875ac586fbe938ab80278f.tar.bz2 binaryen-6c91da0888c4b515c6875ac586fbe938ab80278f.zip |
Skip liveness analysis if too many locals (#2560)
The analysis currently uses a dense matrix. If there are >65535
locals then the indexes don't fit in a 32-bit type like a wasm32
index, which led to overflows and incorrect behavior. To avoid
that, don't run passes with liveness analysis for now if they have
that many locals.
Note that skipping coalesce-locals (the main liveness-using
pass) is not that bad, as we run it more than once, and it's
likely that even if the first must be skipped, we can still run
the second (which is after simplify- and reorder-locals, which
can greatly reduce the local count).
Fixes #2559
Diffstat (limited to 'src/wasm-debug.h')
0 files changed, 0 insertions, 0 deletions