Lines Matching refs:Target
357 for (BasicBlock *Target : Targets) {
358 if (IgnoreBlocksWithoutPHI && Target->phis().empty())
362 BasicBlock *IBRPred = findIBRPredecessor(Target, OtherPreds);
369 auto FirstNonPHIIt = Target->getFirstNonPHIIt();
370 if (FirstNonPHIIt->isEHPad() || Target->isLandingPad())
376 EdgeProbabilities.reserve(Target->getTerminator()->getNumSuccessors());
377 for (unsigned I = 0, E = Target->getTerminator()->getNumSuccessors();
379 EdgeProbabilities.emplace_back(BPI->getEdgeProbability(Target, I));
380 BPI->eraseBlock(Target);
383 BasicBlock *BodyBlock = Target->splitBasicBlock(FirstNonPHIIt, ".split");
385 // Copy the BFI/BPI from Target to BodyBlock.
387 BFI->setBlockFreq(BodyBlock, BFI->getBlockFreq(Target));
389 // It's possible Target was its own successor through an indirectbr.
391 if (IBRPred == Target)
394 // At this point Target only has PHIs, and BodyBlock has the rest of the
395 // block's body. Create a copy of Target that will be used by the "direct"
398 BasicBlock *DirectSucc = CloneBasicBlock(Target, VMap, ".clone", &F);
404 BasicBlock *Src = Pred != Target ? Pred : BodyBlock;
405 Src->getTerminator()->replaceUsesOfWith(Target, DirectSucc);
413 BFI->getBlockFreq(Target) - BlockFreqForDirectSucc;
414 BFI->setBlockFreq(Target, NewBlockFreqForTarget);
422 BasicBlock::iterator Indirect = Target->begin(),
423 End = Target->getFirstNonPHIIt();
427 assert(&*End == Target->getTerminator() &&
452 MergePHI->addIncoming(NewIndPHI, Target);