Lines Matching refs:DelBB

167 bool DomTreeUpdater::isBBPendingDeletion(llvm::BasicBlock *DelBB) const {  in isBBPendingDeletion()
170 return DeletedBBs.contains(DelBB); in isBBPendingDeletion()
178 void DomTreeUpdater::deleteBB(BasicBlock *DelBB) { in deleteBB() argument
179 validateDeleteBB(DelBB); in deleteBB()
181 DeletedBBs.insert(DelBB); in deleteBB()
185 DelBB->removeFromParent(); in deleteBB()
186 eraseDelBBNode(DelBB); in deleteBB()
187 delete DelBB; in deleteBB()
191 BasicBlock *DelBB, std::function<void(BasicBlock *)> Callback) { in callbackDeleteBB() argument
192 validateDeleteBB(DelBB); in callbackDeleteBB()
194 Callbacks.push_back(CallBackOnDeletion(DelBB, Callback)); in callbackDeleteBB()
195 DeletedBBs.insert(DelBB); in callbackDeleteBB()
199 DelBB->removeFromParent(); in callbackDeleteBB()
200 eraseDelBBNode(DelBB); in callbackDeleteBB()
201 Callback(DelBB); in callbackDeleteBB()
202 delete DelBB; in callbackDeleteBB()
205 void DomTreeUpdater::eraseDelBBNode(BasicBlock *DelBB) { in eraseDelBBNode() argument
207 if (DT->getNode(DelBB)) in eraseDelBBNode()
208 DT->eraseNode(DelBB); in eraseDelBBNode()
211 if (PDT->getNode(DelBB)) in eraseDelBBNode()
212 PDT->eraseNode(DelBB); in eraseDelBBNode()
215 void DomTreeUpdater::validateDeleteBB(BasicBlock *DelBB) { in validateDeleteBB() argument
216 assert(DelBB && "Invalid push_back of nullptr DelBB."); in validateDeleteBB()
217 assert(pred_empty(DelBB) && "DelBB has one or more predecessors."); in validateDeleteBB()
219 while (!DelBB->empty()) { in validateDeleteBB()
220 Instruction &I = DelBB->back(); in validateDeleteBB()
224 DelBB->getInstList().pop_back(); in validateDeleteBB()
228 new UnreachableInst(DelBB->getContext(), DelBB); in validateDeleteBB()