diff options
author | Alon Zakai <azakai@google.com> | 2023-10-24 10:37:28 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-10-24 17:37:28 +0000 |
commit | 92c8a4682367170485295da6744b3a59fbb8d3ac (patch) | |
tree | d8e59f512bf37d49feea2d37f17a0877fc01ce11 /src/tools/wasm-ctor-eval.cpp | |
parent | cce277fc649d7406f446f52778286192367a35ad (diff) | |
download | binaryen-92c8a4682367170485295da6744b3a59fbb8d3ac.tar.gz binaryen-92c8a4682367170485295da6744b3a59fbb8d3ac.tar.bz2 binaryen-92c8a4682367170485295da6744b3a59fbb8d3ac.zip |
[NFC] LocalGraph: Optimize params with no sets (#6046)
If a local index has no sets, then all gets of that index read from the entry block
(a param, or a zero for a local). This is actually a common case, where a param
has no other set, and so it is worth optimizing, which this PR does by avoiding
any flowing operation at all for that index: we just skip and write the entry block
as the source of information for such gets.
#6042 on precompute-propagate goes from 3 minutes to 2 seconds with this (!).
But that testcase is rather special in that it is a huge function with many, many
gets in it, so the overhead we remove is very noticeable there.
Diffstat (limited to 'src/tools/wasm-ctor-eval.cpp')
0 files changed, 0 insertions, 0 deletions