Lines Matching defs:TIBB
117 BasicBlock *TIBB = TI->getParent();
134 if (Loop *TIL = LI->getLoopFor(TIBB)) {
146 if (P == TIBB)
172 NewBB = BasicBlock::Create(TI->getContext(), TIBB->getName() + "." +
180 Function &F = *TIBB->getParent();
181 Function::iterator FBBI = TIBB->getIterator();
188 // merge incoming values from NewBB instead of from TIBB.
192 // We no longer enter through TIBB, now we come in through NewBB.
194 // TIBB to come from NewBB.
199 // win because we don't have to scan the PHI looking for TIBB. This
202 if (PN->getIncomingBlock(BBIdx) != TIBB)
203 BBIdx = PN->getBasicBlockIndex(TIBB);
208 // If there are any other edges from TIBB to DestBB, update those to go
215 // Remove an entry for TIBB from DestBB phi nodes.
216 DestBB->removePredecessor(TIBB, Options.KeepOneInputPHIs);
229 DestBB, NewBB, {TIBB}, Options.MergeIdenticalEdges);
238 // TIBB -------\\------> DestBB
240 // First, inform the DT about the new path from TIBB to DestBB via NewBB,
241 // then delete the old edge from TIBB to DestBB. By doing this in that order
245 Updates.push_back({DominatorTree::Insert, TIBB, NewBB});
247 if (!llvm::is_contained(successors(TIBB), DestBB))
248 Updates.push_back({DominatorTree::Delete, TIBB, DestBB});
258 if (Loop *TIL = LI->getLoopFor(TIBB)) {
283 // If TIBB is in a loop and DestBB is outside of that loop, we may need
291 createPHIsForSplitLoopExit(TIBB, NewBB, DestBB);