diff options
author | Thomas Lively <tlively@google.com> | 2023-01-12 16:20:48 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-01-12 22:20:48 +0000 |
commit | abfe8cd7208dbaf58abaedd156093be9a3e2774d (patch) | |
tree | 0b189f6ac9a706a74ca3c4e6236dc87c24a9daf0 /src/passes/OptimizeInstructions.cpp | |
parent | 51ac6ef642540d46af9b10869d047c8c6730a6c1 (diff) | |
download | binaryen-abfe8cd7208dbaf58abaedd156093be9a3e2774d.tar.gz binaryen-abfe8cd7208dbaf58abaedd156093be9a3e2774d.tar.bz2 binaryen-abfe8cd7208dbaf58abaedd156093be9a3e2774d.zip |
[Wasm GC] Fix cast finding in TypeMerging (#5424)
The cast finding code in TypeMerging has been broken since we refactored how
casts work to support nullable casts. The cast finding code only considered
HeapType fields and the return type of `RefCast` to be potential cast targets,
but `RefTest` and `BrOn` instructions now store their cast types as `Type`
fields. Since cast targets are represented more heterogenously now, do not use
the delegations macros to find them.
Add tests showing that each cast instruction independently inhibits merging.
Diffstat (limited to 'src/passes/OptimizeInstructions.cpp')
0 files changed, 0 insertions, 0 deletions