[Polly] Inline ShoulDelete lambda. NFC.
authorMichael Kruse <llvm-project@meinersbur.de>
Wed, 26 Aug 2020 18:11:41 +0000 (13:11 -0500)
committerMichael Kruse <llvm-project@meinersbur.de>
Wed, 26 Aug 2020 18:15:23 +0000 (13:15 -0500)
As suggested by David Blaikie at
ihttps://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20200824/822584.html

polly/lib/Analysis/ScopInfo.cpp
polly/lib/Transform/Simplify.cpp

index a50e1a7..ba46235 100644 (file)
@@ -1773,40 +1773,39 @@ void Scop::removeStmts(function_ref<bool(ScopStmt &)> ShouldDelete,
 }
 
 void Scop::removeStmtNotInDomainMap() {
-  auto ShouldDelete = [this](ScopStmt &Stmt) -> bool {
+  removeStmts([this](ScopStmt &Stmt) -> bool {
     isl::set Domain = DomainMap.lookup(Stmt.getEntryBlock());
     if (!Domain)
       return true;
     return Domain.is_empty();
-  };
-  removeStmts(ShouldDelete, false);
+  });
 }
 
 void Scop::simplifySCoP(bool AfterHoisting) {
-  auto ShouldDelete = [AfterHoisting](ScopStmt &Stmt) -> bool {
-    // Never delete statements that contain calls to debug functions.
-    if (hasDebugCall(&Stmt))
-      return false;
-
-    bool RemoveStmt = Stmt.isEmpty();
-
-    // Remove read only statements only after invariant load hoisting.
-    if (!RemoveStmt && AfterHoisting) {
-      bool OnlyRead = true;
-      for (MemoryAccess *MA : Stmt) {
-        if (MA->isRead())
-          continue;
-
-        OnlyRead = false;
-        break;
-      }
-
-      RemoveStmt = OnlyRead;
-    }
-    return RemoveStmt;
-  };
-
-  removeStmts(ShouldDelete, AfterHoisting);
+  removeStmts(
+      [AfterHoisting](ScopStmt &Stmt) -> bool {
+        // Never delete statements that contain calls to debug functions.
+        if (hasDebugCall(&Stmt))
+          return false;
+
+        bool RemoveStmt = Stmt.isEmpty();
+
+        // Remove read only statements only after invariant load hoisting.
+        if (!RemoveStmt && AfterHoisting) {
+          bool OnlyRead = true;
+          for (MemoryAccess *MA : Stmt) {
+            if (MA->isRead())
+              continue;
+
+            OnlyRead = false;
+            break;
+          }
+
+          RemoveStmt = OnlyRead;
+        }
+        return RemoveStmt;
+      },
+      AfterHoisting);
 }
 
 InvariantEquivClassTy *Scop::lookupInvariantEquivClass(Value *Val) {
index f3b8bf8..d699aa4 100644 (file)
@@ -169,12 +169,11 @@ private:
   void removeEmptyDomainStmts() {
     size_t NumStmtsBefore = S->getSize();
 
-    auto ShouldDelete = [](ScopStmt &Stmt) -> bool {
+    S->removeStmts([](ScopStmt &Stmt) -> bool {
       auto EffectiveDomain =
           Stmt.getDomain().intersect_params(Stmt.getParent()->getContext());
       return EffectiveDomain.is_empty();
-    };
-    S->removeStmts(ShouldDelete);
+    });
 
     assert(NumStmtsBefore >= S->getSize());
     EmptyDomainsRemoved = NumStmtsBefore - S->getSize();