summaryrefslogtreecommitdiff
path: root/src/wasm/wasm-binary.cpp
diff options
context:
space:
mode:
authorAlon Zakai <azakai@google.com>2022-11-04 12:36:35 -0700
committerGitHub <noreply@github.com>2022-11-04 12:36:35 -0700
commit20115c8e2a038646858a0408beca7be319c31035 (patch)
tree68155ae9333c1cfebb207dc2cbd955eaea7c45a2 /src/wasm/wasm-binary.cpp
parent6a9a4e7e722e5f578376f3f14a67960539ac4478 (diff)
downloadbinaryen-20115c8e2a038646858a0408beca7be319c31035.tar.gz
binaryen-20115c8e2a038646858a0408beca7be319c31035.tar.bz2
binaryen-20115c8e2a038646858a0408beca7be319c31035.zip
[Wasm GC] RSE: Switch local.get to use a more refined type when possible (#5216)
Similar to #5194 but for RedundantSetElimination. This has similar benefits in terms of using a more refined local in hopes of avoiding casts in followup opts, but unlike SimplifyLocals this will operate across basic blocks. To do this, we need to track not just local.set but also local.get in that pass. Then in each basic block we can track the equivalent locals and pick from them. I see a few dozen casts removed in the J2Wasm binary. Often stuff like this happens: y = cast(x); if (..) { foo(x); // this could use y }
Diffstat (limited to 'src/wasm/wasm-binary.cpp')
0 files changed, 0 insertions, 0 deletions