diff options
author | Alon Zakai <azakai@google.com> | 2024-08-21 16:12:42 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-08-21 16:12:42 -0700 |
commit | 60bd610acaa91cab538497342eb06e3b50d2fac9 (patch) | |
tree | cc26e482aeaf5f0ac5b5a8ab03733ee809f5d88a /src/wasm/wasm-validator.cpp | |
parent | 692e55c14bd3055b1aae49681bb8e62c757c678d (diff) | |
download | binaryen-60bd610acaa91cab538497342eb06e3b50d2fac9.tar.gz binaryen-60bd610acaa91cab538497342eb06e3b50d2fac9.tar.bz2 binaryen-60bd610acaa91cab538497342eb06e3b50d2fac9.zip |
[NFC] Avoid quadratic time in StackIROptimizer::removeUnneededBlocks() (#6859)
This is in quite ancient code, so it's a long-standing issue, but it got worse
when we enabled StackIR in more situations (#6568), which made it more
noticeable, I think.
For example, testing on test_biggerswitch in Emscripten, the LLVM part
is pretty slow too so the Binaryen slowdown didn't stand out hugely, but
just doing
wasm-opt --optimize-level=2 input.wasm -o output.wasm
(that is, do no work, but set the optimize level to 2 so that StackIR opts
are run) used to take 28 seconds (!). With this PR that goes down to less
than 1.
Diffstat (limited to 'src/wasm/wasm-validator.cpp')
0 files changed, 0 insertions, 0 deletions