diff options
author | Thomas Lively <tlively@google.com> | 2022-12-01 16:45:04 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-12-01 14:45:04 -0800 |
commit | f70bc4d6634c5a0b1aa88f3c073b783e83bb5712 (patch) | |
tree | e8e438dc036745cd4258b254d1b4d7fa06374b19 /src/passes/Poppify.cpp | |
parent | 73b0487709370895cb8f9ac08cb2014143278fd6 (diff) | |
download | binaryen-f70bc4d6634c5a0b1aa88f3c073b783e83bb5712.tar.gz binaryen-f70bc4d6634c5a0b1aa88f3c073b783e83bb5712.tar.bz2 binaryen-f70bc4d6634c5a0b1aa88f3c073b783e83bb5712.zip |
Do not special case ref.null in `LUBFinder` (#5307)
Before we implemented bottom heap types, `ref.null` had to be annotated with
specific types. The `LUBFinder` utility ignored these types so that it could
find the best LUB from all considered non-null expressions, then go back and
update the type annotations on the nulls to match that LUB. Now that we have
bottom types, however, none of that is necessary, and in fact ignoring nulls can
miss possible refinements to bottom types.
Update and simplify `LUBFinder` so that it is a simple wrapper around the
underlying `Type::getLeastUpperBound` utility with no additional logic. Update
tests to account for the more powerful optimizations.
Diffstat (limited to 'src/passes/Poppify.cpp')
0 files changed, 0 insertions, 0 deletions