diff --git a/llvm/lib/Analysis/LoopPass.cpp b/llvm/lib/Analysis/LoopPass.cpp index 4c1bd7ab08e6..a68f114b83a0 100644 --- a/llvm/lib/Analysis/LoopPass.cpp +++ b/llvm/lib/Analysis/LoopPass.cpp @@ -216,10 +216,12 @@ bool LPPassManager::runOnFunction(Function &F) { initializeAnalysisImpl(P); + bool LocalChanged = false; { PassManagerPrettyStackEntry X(P, *CurrentLoop->getHeader()); TimeRegion PassTimer(getPassTimer(P)); - Changed |= P->runOnLoop(CurrentLoop, *this); + LocalChanged = P->runOnLoop(CurrentLoop, *this); + Changed |= LocalChanged; if (EmitICRemark) { unsigned NewSize = F.getInstructionCount(); // Update the size of the function, emit a remark, and update the @@ -235,7 +237,7 @@ bool LPPassManager::runOnFunction(Function &F) { } } - if (Changed) + if (LocalChanged) dumpPassInfo(P, MODIFICATION_MSG, ON_LOOP_MSG, CurrentLoopDeleted ? "" : CurrentLoop->getName());