Lines Matching defs:UseBB
966 // If an aggregate element is defined in UseBB, we can't use it in PredBB.
975 [&](Instruction *Elt, unsigned EltIdx, std::optional<BasicBlock *> UseBB,
978 if (UseBB && PredBB) {
979 Elt = dyn_cast<Instruction>(Elt->DoPHITranslation(*UseBB, *PredBB));
980 if (Elt && Elt->getParent() == *UseBB)
1006 [&](std::optional<BasicBlock *> UseBB,
1021 FindSourceAggregate(*I.value(), I.index(), UseBB, PredBB);
1057 SourceAggregate = FindCommonSourceAggregate(/*UseBB=*/std::nullopt,
1073 BasicBlock *UseBB = nullptr;
1078 if (!UseBB) {
1079 UseBB = BB;
1083 if (UseBB != BB)
1090 if (!UseBB)
1095 if (pred_empty(UseBB))
1104 for (BasicBlock *Pred : predecessors(UseBB)) {
1126 SourceAggregate = FindCommonSourceAggregate(UseBB, Pred);
1131 // If UseBB is the single successor of Pred, we can add InsertValue to
1148 // Element is defined in UseBB, so it can't be used in predecessors.
1155 // If OrigIVI is in UseBB and it's the only successor of PredBB, PredBB
1157 if (UseBB != OrigBB)
1164 Value *Elt = (*Val)->DoPHITranslation(UseBB, It.first);
1184 Value *Elt = (*Val)->DoPHITranslation(UseBB, Pred);
1197 Builder.SetInsertPoint(UseBB, UseBB->getFirstNonPHIIt());