summaryrefslogtreecommitdiff
path: root/src/passes/pass.cpp
diff options
context:
space:
mode:
authorAlon Zakai <azakai@google.com>2022-11-01 10:08:04 -0700
committerGitHub <noreply@github.com>2022-11-01 17:08:04 +0000
commit288a12645d060d8f2ec97b13b5795cd53a8a7811 (patch)
tree7f4ea84aaee76796978938525e52a56325edad6b /src/passes/pass.cpp
parent5e0ab66800de5d376429fcd281bd4cd1e41d8ed5 (diff)
downloadbinaryen-288a12645d060d8f2ec97b13b5795cd53a8a7811.tar.gz
binaryen-288a12645d060d8f2ec97b13b5795cd53a8a7811.tar.bz2
binaryen-288a12645d060d8f2ec97b13b5795cd53a8a7811.zip
CodePushing: Push into If arms (#5191)
Previously the pass only pushed past an if or a br_if. This does the same but into an if arm. On Wasm GC for example this can perform allocation sinking: function foo() { x = new A(); if (..) { use(x); } } => function foo() { if (..) { x = new A(); // this moved use(x); } } The allocation won't happen if we never enter the if. This helps wasm MVP too, and in fact some existing tests benefit.
Diffstat (limited to 'src/passes/pass.cpp')
0 files changed, 0 insertions, 0 deletions