diff options
author | Alon Zakai <azakai@google.com> | 2023-09-26 16:45:15 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-09-26 16:45:15 -0700 |
commit | b2af87928a8c39e9c6ebedc748412c15c95c56ab (patch) | |
tree | fb346bffb528b0edca8b33f8df96178cfefc459e /src/wasm/wasm-s-parser.cpp | |
parent | 3dd65a9a2231cb85b3a92a528a08213ce50c2bd8 (diff) | |
download | binaryen-b2af87928a8c39e9c6ebedc748412c15c95c56ab.tar.gz binaryen-b2af87928a8c39e9c6ebedc748412c15c95c56ab.tar.bz2 binaryen-b2af87928a8c39e9c6ebedc748412c15c95c56ab.zip |
ConstantFieldPropagation: Fully handle copies (#5969)
If we see A->f0 = A->f0 then we might be copying fields not only between
instances of A but also of any subtypes of A, and so if some subtype has
value x then that x might now have reached any other subtype of A
(even in a sibling type, so long as A is their parent).
We already thought we were handling that, but the mechanism we used to
do so (copying New info to Set info, and letting Set info propagate) was not
enough.
Also add a small constructor to save the work of computing subTypes again.
Add TODOs for some cases that we could optimize regarding copies but
do not, yet.
Diffstat (limited to 'src/wasm/wasm-s-parser.cpp')
0 files changed, 0 insertions, 0 deletions