diff options
Diffstat (limited to 'src/passes/MemoryPacking.cpp')
-rw-r--r-- | src/passes/MemoryPacking.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/passes/MemoryPacking.cpp b/src/passes/MemoryPacking.cpp index c7b20c582..2c0dac395 100644 --- a/src/passes/MemoryPacking.cpp +++ b/src/passes/MemoryPacking.cpp @@ -35,7 +35,8 @@ struct MemoryPacking : public Pass { segment.data.pop_back(); } // we can only handle a constant offset for splitting - if (auto* offset = segment.offset->dynCast<Const>()) { + Const* offset; + if (!segment.isPassive && (offset = segment.offset->dynCast<Const>())) { // Find runs of zeros, and split auto& data = segment.data; auto base = offset->value.geti32(); @@ -79,4 +80,3 @@ Pass *createMemoryPackingPass() { } } // namespace wasm - |