diff options
author | Alon Zakai <azakai@google.com> | 2024-09-03 15:26:37 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-09-03 15:26:37 -0700 |
commit | eac1c86562ef76e98724018534135afa1b3239c0 (patch) | |
tree | 40cecf2a565e1e6aa7dd61d8ee9e461a43d9a996 /scripts | |
parent | 835c5ddf5e3dd5542ef1d0c8f025129c240b4b2c (diff) | |
download | binaryen-eac1c86562ef76e98724018534135afa1b3239c0.tar.gz binaryen-eac1c86562ef76e98724018534135afa1b3239c0.tar.bz2 binaryen-eac1c86562ef76e98724018534135afa1b3239c0.zip |
[NFC] Move optimizeSubsequentStructSet() to a new pass, HeapStoreOptimization (#6882)
This just moves code out of OptimizeInstructions to the new pass. The existing
test is renamed and now runs the new pass instead. The new pass is run right
after each --optimize-instructions invocation, so it should not cause any
noticeable effects whatsoever, making this NFC.
The motivation here is that there is a bug in the pass, see the new testcase
added at the end, which shows the bug. It is not practical to fix that bug in
OptimizeInstructions since we need more than peephole optimizations to do
so. This PR moves the code to a new pass so we can fix it there properly,
later.
The new pass is named HeapStoreOptimization since the same infrastructure
we will need to fix the bug will also help dead store elimination and related
things.
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/fuzz_opt.py | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/scripts/fuzz_opt.py b/scripts/fuzz_opt.py index 665ae7cbd..2bf4086db 100755 --- a/scripts/fuzz_opt.py +++ b/scripts/fuzz_opt.py @@ -1559,6 +1559,7 @@ opt_choices = [ ("--local-cse",), ("--heap2local",), ("--remove-unused-names", "--heap2local",), + ("--heap-store-optimization",), ("--generate-stack-ir",), ("--licm",), ("--local-subtyping",), |