[llvm] r272238 - Minor clean up in loopHasNoAbnormalExits; NFC

Sanjoy Das via llvm-commits llvm-commits at lists.llvm.org
Wed Jun 8 18:14:03 PDT 2016


Author: sanjoy
Date: Wed Jun  8 20:14:03 2016
New Revision: 272238

URL: http://llvm.org/viewvc/llvm-project?rev=272238&view=rev
Log:
Minor clean up in loopHasNoAbnormalExits; NFC

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=272238&r1=272237&r2=272238&view=diff
==============================================================================
--- llvm/trunk/lib/Analysis/ScalarEvolution.cpp (original)
+++ llvm/trunk/lib/Analysis/ScalarEvolution.cpp Wed Jun  8 20:14:03 2016
@@ -4912,15 +4912,14 @@ bool ScalarEvolution::isAddRecNeverPoiso
 bool ScalarEvolution::loopHasNoAbnormalExits(const Loop *L) {
   auto Itr = LoopHasNoAbnormalExits.find(L);
   if (Itr == LoopHasNoAbnormalExits.end()) {
-    bool HasAbnormalExit = false;
-    for (auto *BB : L->getBlocks()) {
-      HasAbnormalExit = any_of(*BB, [](Instruction &I) {
-        return !isGuaranteedToTransferExecutionToSuccessor(&I);
+    auto NoAbnormalExitInBB = [&](BasicBlock *BB) {
+      return all_of(*BB, [](Instruction &I) {
+        return isGuaranteedToTransferExecutionToSuccessor(&I);
       });
-      if (HasAbnormalExit)
-        break;
-    }
-    auto InsertPair = LoopHasNoAbnormalExits.insert({L, !HasAbnormalExit});
+    };
+
+    auto InsertPair = LoopHasNoAbnormalExits.insert(
+        {L, all_of(L->getBlocks(), NoAbnormalExitInBB)});
     assert(InsertPair.second && "We just checked!");
     Itr = InsertPair.first;
   }




More information about the llvm-commits mailing list