[llvm] r272182 - [SCEV] Break out of loop if there is no more work to do
Sanjoy Das via llvm-commits
llvm-commits at lists.llvm.org
Wed Jun 8 10:48:46 PDT 2016
Author: sanjoy
Date: Wed Jun 8 12:48:46 2016
New Revision: 272182
URL: http://llvm.org/viewvc/llvm-project?rev=272182&view=rev
Log:
[SCEV] Break out of loop if there is no more work to do
This is NFC as far as externally visible behavior is concerned, but will
keep us from spinning in the worklist traversal algorithm unnecessarily.
Modified:
llvm/trunk/lib/Analysis/ScalarEvolution.cpp
Modified: llvm/trunk/lib/Analysis/ScalarEvolution.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Analysis/ScalarEvolution.cpp?rev=272182&r1=272181&r2=272182&view=diff
==============================================================================
--- llvm/trunk/lib/Analysis/ScalarEvolution.cpp (original)
+++ llvm/trunk/lib/Analysis/ScalarEvolution.cpp Wed Jun 8 12:48:46 2016
@@ -4889,7 +4889,7 @@ bool ScalarEvolution::isAddRecNeverPoiso
PoisonStack.push_back(I);
bool LatchControlDependentOnPoison = false;
- while (!PoisonStack.empty()) {
+ while (!PoisonStack.empty() && !LatchControlDependentOnPoison) {
const Instruction *Poison = PoisonStack.pop_back_val();
for (auto *PoisonUser : Poison->users()) {
More information about the llvm-commits
mailing list