Lines Matching defs:BB0
68 BasicBlock *BB0 = &*FI++;
72 SwitchInst *SI = dyn_cast<SwitchInst>(BB0->getTerminator());
76 {{DominatorTree::Insert, BB0, BB0}, {DominatorTree::Delete, BB0, BB0}});
83 Updates.push_back({DominatorTree::Delete, BB0, BB3});
84 Updates.push_back({DominatorTree::Delete, BB0, BB3});
89 Updates.push_back({DominatorTree::Delete, BB0, BB1});
92 EXPECT_EQ(BB0->getTerminator()->getNumSuccessors(), 3u);
93 BB3->removePredecessor(BB0);
100 EXPECT_EQ(BB0->getTerminator()->getNumSuccessors(), 2u);
112 {{DominatorTree::Insert, BB1, BB2}, {DominatorTree::Delete, BB0, BB1}});
137 BB2->removePredecessor(BB0);
177 BasicBlock *BB0 = &*FI++;
180 // Add a block as the new function entry BB. We also link it to BB0.
182 BasicBlock::Create(F->getContext(), "new_entry", F, BB0);
183 BranchInst::Create(BB0, NewEntry);
187 DTU.applyUpdates({{DominatorTree::Insert, NewEntry, BB0}});
198 EXPECT_EQ(BB0->getTerminator()->getNumSuccessors(), 1u);
202 DTU.applyUpdates({{DominatorTree::Delete, NewEntry, BB0},
208 ASSERT_FALSE(isa<UnreachableInst>(BB0->getTerminator()));
209 EXPECT_FALSE(DTU.isBBPendingDeletion(BB0));
210 DTU.deleteBB(BB0);
250 BasicBlock *BB0 = &*FI++;
256 DTU.applyUpdatesPermissive({{DominatorTree::Insert, BB0, BB0}});
263 Updates.push_back({DominatorTree::Delete, BB0, BB3});
264 Updates.push_back({DominatorTree::Delete, BB0, BB3});
269 Updates.push_back({DominatorTree::Delete, BB0, BB1});
272 EXPECT_EQ(BB0->getTerminator()->getNumSuccessors(), 4u);
273 BB0->getTerminator()->eraseFromParent();
274 BranchInst::Create(BB1, BB2, ConstantInt::getTrue(F->getContext()), BB0);
275 EXPECT_EQ(BB0->getTerminator()->getNumSuccessors(), 2u);
339 BasicBlock *BB0 = &*FI++;
370 EXPECT_EQ(BB0->getTerminator()->getNumSuccessors(), 3u);
371 BB0->getTerminator()->eraseFromParent();
372 BranchInst::Create(BB1, BB3, ConstantInt::getTrue(F->getContext()), BB0);
373 EXPECT_EQ(BB0->getTerminator()->getNumSuccessors(), 2u);
394 Updates.push_back({DominatorTree::Delete, BB0, BB2});
399 EXPECT_EQ(BB0->getTerminator()->getNumSuccessors(), 2u);
400 BB0->getTerminator()->eraseFromParent();
401 BranchInst::Create(BB3, BB0);
402 EXPECT_EQ(BB0->getTerminator()->getNumSuccessors(), 1u);
414 // Update the DTU. In this case we don't submit {DominatorTree::Insert, BB0,
417 Updates.push_back({DominatorTree::Delete, BB0, BB1});
464 BasicBlock *BB0 = &*FI++;
469 DTU.applyUpdates({{DominatorTree::Delete, BB0, BB0}});
475 Updates.push_back({DominatorTree::Delete, BB0, BB3});
476 Updates.push_back({DominatorTree::Delete, BB0, BB3});
481 Updates.push_back({DominatorTree::Delete, BB0, BB1});
484 EXPECT_EQ(BB0->getTerminator()->getNumSuccessors(), 4u);
485 BB0->getTerminator()->eraseFromParent();
486 BranchInst::Create(BB1, BB2, ConstantInt::getTrue(F->getContext()), BB0);
487 EXPECT_EQ(BB0->getTerminator()->getNumSuccessors(), 2u);
547 BasicBlock *BB0 = &*FI++;
550 // Add a block as the new function entry BB. We also link it to BB0.
552 BasicBlock::Create(F->getContext(), "new_entry", F, BB0);
553 BranchInst::Create(BB0, NewEntry);
560 DTU.applyUpdates({{DominatorTree::Insert, NewEntry, BB0}});
571 EXPECT_EQ(BB0->getTerminator()->getNumSuccessors(), 1u);
575 DTU.applyUpdates({{DominatorTree::Delete, NewEntry, BB0},
582 ASSERT_FALSE(isa<UnreachableInst>(BB0->getTerminator()));
583 EXPECT_FALSE(DTU.isBBPendingDeletion(BB0));
584 DTU.deleteBB(BB0);
585 EXPECT_TRUE(DTU.isBBPendingDeletion(BB0));
586 ASSERT_TRUE(isa<UnreachableInst>(BB0->getTerminator()));
587 EXPECT_EQ(BB0->getParent(), F);
638 BasicBlock *BB0 = &*FI++;
642 SwitchInst *SI = dyn_cast<SwitchInst>(BB0->getTerminator());
648 Updates.push_back({DominatorTree::Delete, BB0, BB3});
651 EXPECT_EQ(BB0->getTerminator()->getNumSuccessors(), 5u);
652 BB3->removePredecessor(BB0);
659 EXPECT_EQ(BB0->getTerminator()->getNumSuccessors(), 4u);
682 BB2->removePredecessor(BB0);
685 Updates.push_back({DominatorTree::Delete, BB0, BB2});
718 BasicBlock *BB0 = &*FI++;
720 DTU.deleteBB(BB0);
749 BasicBlock *BB0 = &*FI++;
754 EXPECT_EQ(BB0->getTerminator()->getNumSuccessors(), 1u);
755 BB0->getTerminator()->eraseFromParent();
756 BranchInst::Create(BB1, BB0);
757 EXPECT_EQ(BB0->getTerminator()->getNumSuccessors(), 1u);
760 DTU.applyUpdatesPermissive({{DominatorTree::Delete, BB0, BB1},
761 {DominatorTree::Delete, BB0, BB1},
762 {DominatorTree::Insert, BB0, BB1},
763 {DominatorTree::Insert, BB0, BB1},
764 {DominatorTree::Insert, BB0, BB1}});
770 DTU.applyUpdatesPermissive({{DominatorTree::Delete, BB0, BB1}});
774 EXPECT_EQ(BB0->getTerminator()->getNumSuccessors(), 1u);
775 BB0->getTerminator()->eraseFromParent();
778 DTU.applyUpdatesPermissive({{DominatorTree::Delete, BB0, BB1},
779 {DominatorTree::Insert, BB0, BB1},
780 {DominatorTree::Delete, BB0, BB1},
781 {DominatorTree::Insert, BB0, BB1},
782 {DominatorTree::Insert, BB0, BB1}});
786 BranchInst::Create(BB2, BB0);
787 EXPECT_EQ(BB0->getTerminator()->getNumSuccessors(), 1u);
788 DTU.applyUpdates({{DominatorTree::Insert, BB0, BB2}});