diff options
author | Alon Zakai <azakai@google.com> | 2021-08-09 18:06:36 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-08-10 01:06:36 +0000 |
commit | 1545bbdaec52c8d81e0e8f74afebe73caadc6828 (patch) | |
tree | d0a3f70d31d46324df4022c9b484dbd948aa4682 /src/passes/LocalSubtyping.cpp | |
parent | d1fb1e4742e259ebeec7119518169597e75b0b9d (diff) | |
download | binaryen-1545bbdaec52c8d81e0e8f74afebe73caadc6828.tar.gz binaryen-1545bbdaec52c8d81e0e8f74afebe73caadc6828.tar.bz2 binaryen-1545bbdaec52c8d81e0e8f74afebe73caadc6828.zip |
Improve optimization of call_ref into direct calls (#4068)
First, move the tiny pattern of call-ref-of-ref-func from Directize
into OptimizeInstructions. This is important because Directize is
a global optimization pass - it looks at the table to see if a
CallIndirect can be turned into a direct call. We only run global
passes at the end of the pipeline, but we don't need any global
data for call-ref of a ref-func, and OptimizeInstructions is the
place for such patterns.
Second, extend that to also handle fallthrough values. This is
less simple, but as call_ref is so inefficient, it's worth doing all
we can.
Diffstat (limited to 'src/passes/LocalSubtyping.cpp')
0 files changed, 0 insertions, 0 deletions