diff --git a/lib/SILOptimizer/Utils/CanonicalizeOSSALifetime.cpp b/lib/SILOptimizer/Utils/CanonicalizeOSSALifetime.cpp index 9d119841216cb..bf616345185cb 100644 --- a/lib/SILOptimizer/Utils/CanonicalizeOSSALifetime.cpp +++ b/lib/SILOptimizer/Utils/CanonicalizeOSSALifetime.cpp @@ -558,7 +558,8 @@ void CanonicalizeOSSALifetime::extendUnconsumedLiveness( // Walk backwards from consuming blocks. while (auto *block = worklist.pop()) { - originalLiveBlocks.insert(block); + if (!originalLiveBlocks.insert(block)) + continue; for (auto *predecessor : block->getPredecessorBlocks()) { // If the block was discovered by liveness, we already added it to the // set.