Lines Matching refs:BasicBlock
99 BasicBlock &BB) { in isUniformlyReached()
100 SmallVector<BasicBlock *, 8> Stack; in isUniformlyReached()
101 SmallPtrSet<BasicBlock *, 8> Visited; in isUniformlyReached()
103 for (BasicBlock *Pred : predecessors(&BB)) in isUniformlyReached()
107 BasicBlock *Top = Stack.pop_back_val(); in isUniformlyReached()
111 for (BasicBlock *Pred : predecessors(Top)) { in isUniformlyReached()
120 static BasicBlock *unifyReturnBlockSet(Function &F, in unifyReturnBlockSet()
121 ArrayRef<BasicBlock *> ReturningBlocks, in unifyReturnBlockSet()
127 BasicBlock *NewRetBlock = BasicBlock::Create(F.getContext(), Name, &F); in unifyReturnBlockSet()
142 for (BasicBlock *BB : ReturningBlocks) { in unifyReturnBlockSet()
153 for (BasicBlock *BB : ReturningBlocks) { in unifyReturnBlockSet()
170 SmallVector<BasicBlock *, 4> ReturningBlocks; in runOnFunction()
171 SmallVector<BasicBlock *, 4> UnreachableBlocks; in runOnFunction()
174 BasicBlock *DummyReturnBB = nullptr; in runOnFunction()
176 for (BasicBlock *BB : PDT.getRoots()) { in runOnFunction()
187 DummyReturnBB = BasicBlock::Create(F.getContext(), in runOnFunction()
196 BasicBlock *LoopHeaderBB = BI->getSuccessor(0); in runOnFunction()
202 BasicBlock *TransitionBB = BasicBlock::Create(F.getContext(), in runOnFunction()
216 BasicBlock *UnreachableBlock = nullptr; in runOnFunction()
221 UnreachableBlock = BasicBlock::Create(F.getContext(), in runOnFunction()
225 for (BasicBlock *BB : UnreachableBlocks) { in runOnFunction()