From e162a73e41402feab4b3870cc7074f053099da64 Mon Sep 17 00:00:00 2001 From: Nikita Popov Date: Tue, 18 Oct 2022 10:05:12 +0200 Subject: [PATCH] [CFG] Add const qualifier to isPotentiallyReachableFromMany() (NFC) 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 | 2 +- llvm/lib/Analysis/CFG.cpp | 10 ++++------ 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/llvm/include/llvm/Analysis/CFG.h b/llvm/include/llvm/Analysis/CFG.h index b90258f..86b01c1 100644 --- a/llvm/include/llvm/Analysis/CFG.h +++ b/llvm/include/llvm/Analysis/CFG.h @@ -92,7 +92,7 @@ bool isPotentiallyReachable( /// in 'Worklist' has been reached then 'StopBB' can not be executed. /// Conservatively returns true. bool isPotentiallyReachableFromMany( - SmallVectorImpl &Worklist, BasicBlock *StopBB, + SmallVectorImpl &Worklist, const BasicBlock *StopBB, const SmallPtrSetImpl *ExclusionSet, const DominatorTree *DT = nullptr, const LoopInfo *LI = nullptr); diff --git a/llvm/lib/Analysis/CFG.cpp b/llvm/lib/Analysis/CFG.cpp index e5dd458..8528aa9 100644 --- a/llvm/lib/Analysis/CFG.cpp +++ b/llvm/lib/Analysis/CFG.cpp @@ -131,7 +131,7 @@ static const Loop *getOutermostLoop(const LoopInfo *LI, const BasicBlock *BB) { } bool llvm::isPotentiallyReachableFromMany( - SmallVectorImpl &Worklist, BasicBlock *StopBB, + SmallVectorImpl &Worklist, const BasicBlock *StopBB, const SmallPtrSetImpl *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 Worklist; Worklist.push_back(const_cast(A)); - return isPotentiallyReachableFromMany(Worklist, const_cast(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(B->getParent()), ExclusionSet, - DT, LI); + return isPotentiallyReachableFromMany(Worklist, B->getParent(), + ExclusionSet, DT, LI); } return isPotentiallyReachable( -- 2.7.4