diff --git a/llvm/tools/llvm-reduce/deltas/Delta.cpp b/llvm/tools/llvm-reduce/deltas/Delta.cpp index d4106b0243aea..5ed187e4459dc 100644 --- a/llvm/tools/llvm-reduce/deltas/Delta.cpp +++ b/llvm/tools/llvm-reduce/deltas/Delta.cpp @@ -244,16 +244,20 @@ void llvm::runDeltaPass(TestRunner &Test, const DeltaPass &Pass) { ChunkThreadPoolPtr = std::make_unique(hardware_concurrency(NumJobs)); + SmallString<0> OriginalBC; + DenseSet UninterestingChunks; + UninterestingChunks.reserve(Targets); + bool FoundAtLeastOneNewUninterestingChunkWithCurrentGranularity; do { FoundAtLeastOneNewUninterestingChunkWithCurrentGranularity = false; - DenseSet UninterestingChunks; + UninterestingChunks.clear(); // When running with more than one thread, serialize the original bitcode // to OriginalBC. - SmallString<0> OriginalBC; if (NumJobs > 1) { + OriginalBC.clear(); raw_svector_ostream BCOS(OriginalBC); Test.getProgram().writeBitcode(BCOS); }