summaryrefslogtreecommitdiff
path: root/src/passes/SimplifyGlobals.cpp
diff options
context:
space:
mode:
authorAlon Zakai <azakai@google.com>2023-04-20 13:58:42 -0700
committerGitHub <noreply@github.com>2023-04-20 13:58:42 -0700
commitb2be62116ed18e39cec1558d5b77fa1626d03ee1 (patch)
tree841e55a7a6d57b30eaddc2850972fd203d60e6a1 /src/passes/SimplifyGlobals.cpp
parent113db86e5e83e8eacd676871b32a651fc9ce064c (diff)
downloadbinaryen-b2be62116ed18e39cec1558d5b77fa1626d03ee1.tar.gz
binaryen-b2be62116ed18e39cec1558d5b77fa1626d03ee1.tar.bz2
binaryen-b2be62116ed18e39cec1558d5b77fa1626d03ee1.zip
[Wasm GC] Fix a trapsNeverHappen corner case with if/select of a trapping arm (#5681)
The logic says that if an if/select has an arm that returns a null type, and the if/select goes into a cast, then we can ignore that arm in tnh mode (as it would trap, and we are ignoring the possibility of a trap). But it is not enough to return a null type - the null must actually flow out, rather than say a return be executed before. One existing test needed adjustment, as it used calls for "thing with effects". But a call can transfer control flow when EH is enabled, and this pass has -all. Rather than mess with the features, I switched the effects to be locals.
Diffstat (limited to 'src/passes/SimplifyGlobals.cpp')
0 files changed, 0 insertions, 0 deletions