[CFG] Add const qualifier to isPotentiallyReachableFromMany() (NFC)
authorNikita Popov <npopov@redhat.com>
Tue, 18 Oct 2022 08:05:12 +0000 (10:05 +0200)
committerNikita Popov <npopov@redhat.com>
Tue, 18 Oct 2022 08:06:07 +0000 (10:06 +0200)
Accept a const pointer for StopBB. Unfortunately the worklist has
to use non-const pointers due to LoopInfo interaction.

llvm/include/llvm/Analysis/CFG.h
llvm/lib/Analysis/CFG.cpp

index b90258f..86b01c1 100644 (file)
@@ -92,7 +92,7 @@ bool isPotentiallyReachable(
 /// in 'Worklist' has been reached then 'StopBB' can not be executed.
 /// Conservatively returns true.
 bool isPotentiallyReachableFromMany(
-    SmallVectorImpl<BasicBlock *> &Worklist, BasicBlock *StopBB,
+    SmallVectorImpl<BasicBlock *> &Worklist, const BasicBlock *StopBB,
     const SmallPtrSetImpl<BasicBlock *> *ExclusionSet,
     const DominatorTree *DT = nullptr, const LoopInfo *LI = nullptr);
 
index e5dd458..8528aa9 100644 (file)
@@ -131,7 +131,7 @@ static const Loop *getOutermostLoop(const LoopInfo *LI, const BasicBlock *BB) {
 }
 
 bool llvm::isPotentiallyReachableFromMany(
-    SmallVectorImpl<BasicBlock *> &Worklist, BasicBlock *StopBB,
+    SmallVectorImpl<BasicBlock *> &Worklist, const BasicBlock *StopBB,
     const SmallPtrSetImpl<BasicBlock *> *ExclusionSet, const DominatorTree *DT,
     const LoopInfo *LI) {
   // When the stop block is unreachable, it's dominated from everywhere,
@@ -225,8 +225,7 @@ bool llvm::isPotentiallyReachable(
   SmallVector<BasicBlock*, 32> Worklist;
   Worklist.push_back(const_cast<BasicBlock*>(A));
 
-  return isPotentiallyReachableFromMany(Worklist, const_cast<BasicBlock *>(B),
-                                        ExclusionSet, DT, LI);
+  return isPotentiallyReachableFromMany(Worklist, B, ExclusionSet, DT, LI);
 }
 
 bool llvm::isPotentiallyReachable(
@@ -266,9 +265,8 @@ bool llvm::isPotentiallyReachable(
       return false;
     }
 
-    return isPotentiallyReachableFromMany(
-        Worklist, const_cast<BasicBlock *>(B->getParent()), ExclusionSet,
-        DT, LI);
+    return isPotentiallyReachableFromMany(Worklist, B->getParent(),
+                                          ExclusionSet, DT, LI);
   }
 
   return isPotentiallyReachable(