diff options
author | Thomas Lively <tlively@google.com> | 2023-01-25 15:43:18 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-01-25 13:43:18 -0800 |
commit | 17d120a3337fe56567d4e45583db8ea62ee8bf6f (patch) | |
tree | bbca8d1805eb9ef1104fff42299780a083dd6ad9 /scripts | |
parent | 720d64413af87518863bf481113702520bb81f7e (diff) | |
download | binaryen-17d120a3337fe56567d4e45583db8ea62ee8bf6f.tar.gz binaryen-17d120a3337fe56567d4e45583db8ea62ee8bf6f.tar.bz2 binaryen-17d120a3337fe56567d4e45583db8ea62ee8bf6f.zip |
Merge more sibling types in TypeMerging (#5452)
TypeMerging was previously able to merge identical root types and identical
siblings that were children of a distinct type, but only when the siblings had
the same top-level structure as their parent. Improve the optimization by also
merging identical children when they have a different top-level structure from
their parent.
This solution is not fully general because it does not merge shape-refining
children of separate types that would become identical siblings only after their
parent types are merged, but that full generality would require either
modifying Valmari-Lehtinen DFA minimization or performing the DFA minimization
in a loop until reaching a fixpoint.
Diffstat (limited to 'scripts')
0 files changed, 0 insertions, 0 deletions