diff options
author | Thomas Lively <tlively@google.com> | 2023-08-17 12:09:22 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-08-17 19:09:22 +0000 |
commit | c39ca2e1cde95b6fcef6cdfeb9326dadd75e55df (patch) | |
tree | ca9a9535fc37e7bbb23c1e9f73a4dbeb38410279 /src/wasm/wasm-stack.cpp | |
parent | 7424929782692271a09a19572806e1760beacddc (diff) | |
download | binaryen-c39ca2e1cde95b6fcef6cdfeb9326dadd75e55df.tar.gz binaryen-c39ca2e1cde95b6fcef6cdfeb9326dadd75e55df.tar.bz2 binaryen-c39ca2e1cde95b6fcef6cdfeb9326dadd75e55df.zip |
Improve cast optimizations (#5876)
Simplify the optimization of ref.cast and ref.test in OptimizeInstructions by
moving the loop that examines fallthrough values one at a time out to a shared
function in properties.h. Also simplify ref.cast optimization by analyzing the
cast result in just one place.
In addition to simplifying the code, also make the cast optimizations more
powerful by analyzing the nullability and heap type of the cast value
independently, resulting in a potentially more precise analysis of the cast
behavior. Also improve optimization power by considering fallthrough values when
optimizing the SuccessOnlyIfNonNull case.
Diffstat (limited to 'src/wasm/wasm-stack.cpp')
0 files changed, 0 insertions, 0 deletions