diff options
author | Alon Zakai <azakai@google.com> | 2024-05-15 12:48:37 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-05-15 12:48:37 -0700 |
commit | 2cc5e06549a4019eeed7303bfab32b95c32507bc (patch) | |
tree | c21b362b044e10713ddaee408ace41be2a6da854 /src/passes/Memory64Lowering.cpp | |
parent | ae9499448c9221290f46eac26169db378fcd6997 (diff) | |
download | binaryen-2cc5e06549a4019eeed7303bfab32b95c32507bc.tar.gz binaryen-2cc5e06549a4019eeed7303bfab32b95c32507bc.tar.bz2 binaryen-2cc5e06549a4019eeed7303bfab32b95c32507bc.zip |
OptimizeInstructions: Add missing invalidation check in consecutive equality test (#6596)
This existed before #6495 but became noticeable there. We only looked at
the fallthrough values in the later part of areConsecutiveInputsEqual, but
there can be invalidation due to the non-fallthrough part:
(i32.add
(local.get $x)
(block
(local.set $x ..)
(local.get $x)
)
)
The set can cause the local.get to differ the second time. To fix this,
check if the non-fallthrough part invalidates the fallthrough (but only
on the right hand side).
Fixes #6593
Diffstat (limited to 'src/passes/Memory64Lowering.cpp')
0 files changed, 0 insertions, 0 deletions