summaryrefslogtreecommitdiff
path: root/src/wasm/wasm.cpp
diff options
context:
space:
mode:
authorAlon Zakai <azakai@google.com>2023-05-04 10:24:49 -0700
committerGitHub <noreply@github.com>2023-05-04 10:24:49 -0700
commit09fe432c0d3cb7562767a8e06d4e918beb5990c2 (patch)
treee7d1357f4678e76f2d22290ea4debc21b03a2414 /src/wasm/wasm.cpp
parente9b8e53812610e43260f6db4a05fd12d96a3f449 (diff)
downloadbinaryen-09fe432c0d3cb7562767a8e06d4e918beb5990c2.tar.gz
binaryen-09fe432c0d3cb7562767a8e06d4e918beb5990c2.tar.bz2
binaryen-09fe432c0d3cb7562767a8e06d4e918beb5990c2.zip
Fix DeadArgumentElimination return value opts on nesting+recursion (#5701)
The testcase here has a recursive call that is also nested in itself, something like (return (call $me (return .. This found a bug in our return value removal logic. When we remove a return value we both modify call sites (to add drops) and modify returns (to remove their values). One of those uses pointers into the IR which the other invalidated, so the order of the two matters. This PR just reorders that code to fix the bug.
Diffstat (limited to 'src/wasm/wasm.cpp')
0 files changed, 0 insertions, 0 deletions