]> granicus.if.org Git - llvm/commitdiff
[LoopPredication] NFC. Extract CanExpand helper lambda
authorArtur Pilipenko <apilipenko@azulsystems.com>
Fri, 19 May 2017 14:00:04 +0000 (14:00 +0000)
committerArtur Pilipenko <apilipenko@azulsystems.com>
Fri, 19 May 2017 14:00:04 +0000 (14:00 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@303425 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Transforms/Scalar/LoopPredication.cpp

index e71448c4308cc19d80b1648d572814cb8035df2b..1e6f0887c88ebcc8497e6b5508d8a22dc2c09046 100644 (file)
@@ -141,7 +141,11 @@ Optional<Value *> LoopPredication::widenICmpRangeCheck(ICmpInst *ICI,
     std::swap(LHSS, RHSS);
     Pred = ICmpInst::getSwappedPredicate(Pred);
   }
-  if (!SE->isLoopInvariant(RHSS, L) || !isSafeToExpand(RHSS, *SE))
+
+  auto CanExpand = [this](const SCEV *S) {
+    return SE->isLoopInvariant(S, L) && isSafeToExpand(S, *SE);
+  };
+  if (!CanExpand(RHSS))
     return None;
 
   const SCEVAddRecExpr *IndexAR = dyn_cast<SCEVAddRecExpr>(LHSS);
@@ -170,7 +174,7 @@ Optional<Value *> LoopPredication::widenICmpRangeCheck(ICmpInst *ICI,
   DEBUG(dbgs() << "NewLHSS: ");
   DEBUG(NewLHSS->dump());
 
-  if (!SE->isLoopInvariant(NewLHSS, L) || !isSafeToExpand(NewLHSS, *SE))
+  if (!CanExpand(NewLHSS))
     return None;
 
   DEBUG(dbgs() << "NewLHSS is loop invariant and safe to expand. Expand!\n");