diff options
Diffstat (limited to 'llvm/lib/Transforms/Utils/BasicBlockUtils.cpp')
-rw-r--r-- | llvm/lib/Transforms/Utils/BasicBlockUtils.cpp | 25 |
1 files changed, 0 insertions, 25 deletions
diff --git a/llvm/lib/Transforms/Utils/BasicBlockUtils.cpp b/llvm/lib/Transforms/Utils/BasicBlockUtils.cpp index 1b89ebe..5b8bc18 100644 --- a/llvm/lib/Transforms/Utils/BasicBlockUtils.cpp +++ b/llvm/lib/Transforms/Utils/BasicBlockUtils.cpp @@ -494,31 +494,6 @@ void llvm::ReplaceInstWithInst(Instruction *From, Instruction *To) { ReplaceInstWithInst(From->getParent()->getInstList(), BI, To); } -const BasicBlock &llvm::skipEmptyBlockUntil(const BasicBlock *From, - const BasicBlock *End) { - assert(From && "Expecting valid From"); - assert(End && "Expecting valid End"); - - if (From == End || !From->getSingleSuccessor()) - return *From; - - auto IsEmpty = [](const BasicBlock *BB) { - return (BB->getInstList().size() == 1); - }; - - // Visited is used to avoid running into an infinite loop. - SmallPtrSet<const BasicBlock *, 4> Visited; - const BasicBlock *BB = From->getSingleSuccessor(); - const BasicBlock *PredBB = BB; - while (BB && BB != End && IsEmpty(BB) && !Visited.count(BB)) { - Visited.insert(BB); - PredBB = BB; - BB = BB->getSingleSuccessor(); - } - - return (BB == End) ? *End : *PredBB; -} - BasicBlock *llvm::SplitEdge(BasicBlock *BB, BasicBlock *Succ, DominatorTree *DT, LoopInfo *LI, MemorySSAUpdater *MSSAU) { unsigned SuccNum = GetSuccessorNumber(BB, Succ); |