diff options
Diffstat (limited to 'src/passes/OptimizeInstructions.cpp')
-rw-r--r-- | src/passes/OptimizeInstructions.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/passes/OptimizeInstructions.cpp b/src/passes/OptimizeInstructions.cpp index e71519012..e6b19a6de 100644 --- a/src/passes/OptimizeInstructions.cpp +++ b/src/passes/OptimizeInstructions.cpp @@ -1941,9 +1941,10 @@ struct OptimizeInstructions return; } - if (curr->ref->type != Type::unreachable && curr->value->type.isInteger()) { - auto element = curr->ref->type.getHeapType().getArray().element; - optimizeStoredValue(curr->value, element.getByteSize()); + if (curr->value->type.isInteger()) { + if (auto field = GCTypeUtils::getField(curr->ref->type)) { + optimizeStoredValue(curr->value, field->getByteSize()); + } } } |