diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/passes/OptimizeInstructions.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/passes/OptimizeInstructions.cpp b/src/passes/OptimizeInstructions.cpp index b8f038dac..b7bbebf89 100644 --- a/src/passes/OptimizeInstructions.cpp +++ b/src/passes/OptimizeInstructions.cpp @@ -1404,6 +1404,8 @@ private: // memory.copy(x, x, sz) ==> nop if (!EffectAnalyzer(getPassOptions(), features, memCopy->dest) .hasSideEffects() && + !EffectAnalyzer(getPassOptions(), features, memCopy->size) + .hasSideEffects() && ExpressionAnalyzer::equal(memCopy->dest, memCopy->source)) { return ExpressionManipulator::nop(memCopy); } |