Home | History | Annotate | Download | only in Scalar

Lines Matching defs:PN

198     /// PN is a user of I in ExitBlock that can be used to get the number and
202 PHINode &PN);
499 static bool isTriviallyReplacablePHI(PHINode &PN, Instruction &I) {
500 for (unsigned i = 0, e = PN.getNumIncomingValues(); i != e; ++i)
501 if (PN.getIncomingValue(i) != &I)
514 if (PHINode *PN = dyn_cast<PHINode>(UI)) {
519 if (isTriviallyReplacablePHI(*PN, I)) {
520 if (CurLoop->contains(PN))
528 for (unsigned i = 0, e = PN->getNumIncomingValues(); i != e; ++i)
529 if (PN->getIncomingValue(i) == &I)
530 if (CurLoop->contains(PN->getIncomingBlock(i)))
544 PHINode &PN) {
560 if (!OLoop->contains(&PN)) {
562 PHINode::Create(OInst->getType(), PN.getNumIncomingValues(),
564 for (unsigned i = 0, e = PN.getNumIncomingValues(); i != e; ++i)
565 OpPN->addIncoming(OInst, PN.getIncomingBlock(i));
598 PHINode *PN = cast<PHINode>(I.user_back());
600 BasicBlock *ExitBlock = PN->getParent();
610 CloneInstructionInExitBlock(I, *ExitBlock, *PN);
612 PN->replaceAllUsesWith(New);
613 PN->eraseFromParent();
701 PHINode *PN = PHINode::Create(
705 PN->addIncoming(I, *PI);
706 return PN;