]> granicus.if.org Git - llvm/commitdiff
[SCEV][NFC] Break from loop after we found first non-Phi in getAddRecExprPHILiterally
authorMax Kazantsev <max.kazantsev@azul.com>
Wed, 29 Nov 2017 10:54:16 +0000 (10:54 +0000)
committerMax Kazantsev <max.kazantsev@azul.com>
Wed, 29 Nov 2017 10:54:16 +0000 (10:54 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@319306 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Analysis/ScalarEvolutionExpander.cpp

index ee0bc37e3dce95ecc01b8a3e3a7ef81dc0fb794d..b2bdb5538e5328be0e0bc3591bbb7abf9b65e6c9 100644 (file)
@@ -1143,7 +1143,11 @@ SCEVExpander::getAddRecExprPHILiterally(const SCEVAddRecExpr *Normalized,
 
     for (auto &I : *L->getHeader()) {
       auto *PN = dyn_cast<PHINode>(&I);
-      if (!PN || !SE.isSCEVable(PN->getType()))
+      // Found first non-phi, the rest of instructions are also not Phis.
+      if (!PN)
+        break;
+
+      if (!SE.isSCEVable(PN->getType()))
         continue;
 
       const SCEVAddRecExpr *PhiSCEV = dyn_cast<SCEVAddRecExpr>(SE.getSCEV(PN));