git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165238
91177308-0d34-0410-b5e6-
96231b3b80d8
if (!Phi)
return true;
- // Do LFTR if the exit condition's IV is *not* a simple counter.
+ // Do LFTR if PHI node is defined in the loop, but is *not* a counter.
int Idx = Phi->getBasicBlockIndex(L->getLoopLatch());
if (Idx < 0)
return true;
+
+ // Do LFTR if the exit condition's IV is *not* a simple counter.
Value *IncV = Phi->getIncomingValue(Idx);
return Phi != getLoopPhiForCounter(IncV, L, DT);
}