Lines Matching defs:DelBB
44 // validateDeleteBB() removes all instructions of DelBB and adds an
48 "DelBB has been modified while awaiting deletion.");
62 void DomTreeUpdater::deleteBB(BasicBlock *DelBB) {
63 validateDeleteBB(DelBB);
65 DeletedBBs.insert(DelBB);
69 eraseDelBBNode(DelBB);
70 DelBB->eraseFromParent();
74 BasicBlock *DelBB, std::function<void(BasicBlock *)> Callback) {
75 validateDeleteBB(DelBB);
77 Callbacks.push_back(CallBackOnDeletion(DelBB, Callback));
78 DeletedBBs.insert(DelBB);
82 eraseDelBBNode(DelBB);
83 DelBB->removeFromParent();
84 Callback(DelBB);
85 delete DelBB;
88 void DomTreeUpdater::validateDeleteBB(BasicBlock *DelBB) {
89 assert(DelBB && "Invalid push_back of nullptr DelBB.");
90 assert(pred_empty(DelBB) && "DelBB has one or more predecessors.");
91 // DelBB is unreachable and all its instructions are dead.
92 while (!DelBB->empty()) {
93 Instruction &I = DelBB->back();
97 DelBB->back().eraseFromParent();
99 // Make sure DelBB has a valid terminator instruction. As long as DelBB is a
101 new UnreachableInst(DelBB->getContext(), DelBB);