diff options
author | Alon Zakai <azakai@google.com> | 2024-04-11 16:41:22 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-11 16:41:22 -0700 |
commit | 111902d98ac2eb1e903af8ec2f2eab8e9bc66cdf (patch) | |
tree | 212b92d622972b0df40c1651305eccdd841a42f8 /src/passes/pass.cpp | |
parent | 81f72e8e77e9c67f1ebf178f26edce3b6ebbd9d5 (diff) | |
download | binaryen-111902d98ac2eb1e903af8ec2f2eab8e9bc66cdf.tar.gz binaryen-111902d98ac2eb1e903af8ec2f2eab8e9bc66cdf.tar.bz2 binaryen-111902d98ac2eb1e903af8ec2f2eab8e9bc66cdf.zip |
Fix isGenerative on calls and test via improving OptimizeInstructions::areConsecutiveInputsEqual() (#6481)
"Generative" is what we call something like a struct.new that may be syntactically
identical to another struct.new, but each time a new value is generated. The same
is true for calls, which can do anything, including return a different value for
syntactically identical calls.
This was not a bug because the main user of isGenerative,
areConsecutiveInputsEqual(), was too weak to notice, that is, it gave up sooner,
for other reasons. This PR improves that function to do a much better check,
which makes the fix necessary to prevent regressions.
This is not terribly important for itself, but will help a later PR that will add code
that depends more heavily on areConsecutiveInputsEqual().
Diffstat (limited to 'src/passes/pass.cpp')
0 files changed, 0 insertions, 0 deletions