summaryrefslogtreecommitdiff
path: root/src/passes/MemoryPacking.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/passes/MemoryPacking.cpp')
-rw-r--r--src/passes/MemoryPacking.cpp4
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
-