diff options
author | Thomas Lively <tlively@google.com> | 2022-11-08 15:25:21 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-11-08 15:25:21 -0800 |
commit | 85ba74c8162ebf4e659a3450de0fb48a4a7141b0 (patch) | |
tree | c94f57061330d7cdb04c30e57c4583d7d3f299f4 /src/passes/MultiMemoryLowering.cpp | |
parent | eb8481c6dc499a5b109f3ca60bd79f1803ee8ebe (diff) | |
download | binaryen-85ba74c8162ebf4e659a3450de0fb48a4a7141b0.tar.gz binaryen-85ba74c8162ebf4e659a3450de0fb48a4a7141b0.tar.bz2 binaryen-85ba74c8162ebf4e659a3450de0fb48a4a7141b0.zip |
Update MemoryPacking for array.new_data (#5229)
* Update MemoryPacking for array.new_data
The MemoryPacking pass looks at all instructions that reference memory segments
to determine how they can be optimized. #5214 introduced a new instruction that
references memory segments, array.new_data, but did not update MemoryPacking
accordingly. This omission meant that MemoryPacking could produce invalid or
misoptimized modules in the presence of array.new_data.
Fix the problem by making MemoryPacking aware of array.new_data. Consider
array.new_data when determining whether a segment is used and update
array.new_data to reflect the new, optimized segment numberings afterward. To
keep things simple, do not try to split any segment that is referred to by
a array.new_data instruction.
* fix
* Add test explanations
Diffstat (limited to 'src/passes/MultiMemoryLowering.cpp')
0 files changed, 0 insertions, 0 deletions