diff options
author | Thomas Lively <tlively@google.com> | 2023-12-13 14:05:19 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-12-13 14:05:19 -0800 |
commit | e9b012ff6e0e55d73d57b9a9bc4f64c15521bde1 (patch) | |
tree | 8a84482f6000638638ee907a35d2ef9b41bf6c6b /test/binaryen.js/expressions.js | |
parent | 94f9b9a0c4e57bae64bc787362712874c6d5a00d (diff) | |
download | binaryen-e9b012ff6e0e55d73d57b9a9bc4f64c15521bde1.tar.gz binaryen-e9b012ff6e0e55d73d57b9a9bc4f64c15521bde1.tar.bz2 binaryen-e9b012ff6e0e55d73d57b9a9bc4f64c15521bde1.zip |
Preserve multivalue drops in IRBuilder (#6150)
In Binaryen IR, we allow single `Drop` expressions to drop multiple values
packaged up as a tuple. When using IRBuilder to rebuild IR containing such a
drop, it previously treated the drop as a normal WebAssembly drop that dropped
only a single value, producing invalid IR that had extra, undropped values. Fix
the problem by preserving the arity of `Drop` inputs in IRBuilder. To avoid
bloating the IR, thread the size of the desired value through IRBuilder's pop
implementation so that tuple values do not need to be split up and recombined.
Diffstat (limited to 'test/binaryen.js/expressions.js')
0 files changed, 0 insertions, 0 deletions