Lines Matching refs:PN

714     for (const PHINode &PN : BI.phis()) {  in CloneAndPruneIntoFromInst()  local
717 if (isa<PHINode>(VMap[&PN])) in CloneAndPruneIntoFromInst()
718 PHIToResolve.push_back(&PN); in CloneAndPruneIntoFromInst()
744 PHINode *PN = cast<PHINode>(VMap[OPN]); in CloneAndPruneIntoFromInst() local
746 Value *V = VMap.lookup(PN->getIncomingBlock(pred)); in CloneAndPruneIntoFromInst()
749 MapValue(PN->getIncomingValue(pred), VMap, in CloneAndPruneIntoFromInst()
752 PN->setIncomingValue(pred, InVal); in CloneAndPruneIntoFromInst()
753 PN->setIncomingBlock(pred, MappedBlock); in CloneAndPruneIntoFromInst()
755 PN->removeIncomingValue(pred, false); in CloneAndPruneIntoFromInst()
767 PHINode *PN = cast<PHINode>(NewBB->begin()); in CloneAndPruneIntoFromInst() local
769 if (NumPreds != PN->getNumIncomingValues()) { in CloneAndPruneIntoFromInst()
770 assert(NumPreds < PN->getNumIncomingValues()); in CloneAndPruneIntoFromInst()
777 for (unsigned i = 0, e = PN->getNumIncomingValues(); i != e; ++i) in CloneAndPruneIntoFromInst()
778 ++PredCount[PN->getIncomingBlock(i)]; in CloneAndPruneIntoFromInst()
784 for (; (PN = dyn_cast<PHINode>(I)); ++I) { in CloneAndPruneIntoFromInst()
788 PN->removeIncomingValue(Pred, false); in CloneAndPruneIntoFromInst()
796 PN = cast<PHINode>(NewBB->begin()); in CloneAndPruneIntoFromInst()
797 if (PN->getNumIncomingValues() == 0) { in CloneAndPruneIntoFromInst()
800 while ((PN = dyn_cast<PHINode>(I++))) { in CloneAndPruneIntoFromInst()
801 Value *NV = PoisonValue::get(PN->getType()); in CloneAndPruneIntoFromInst()
802 PN->replaceAllUsesWith(NV); in CloneAndPruneIntoFromInst()
803 assert(VMap[&*OldI] == PN && "VMap mismatch"); in CloneAndPruneIntoFromInst()
805 PN->eraseFromParent(); in CloneAndPruneIntoFromInst()
1073 for (; PHINode *PN = dyn_cast<PHINode>(BI); ++BI) in DuplicateInstructionsInSplitBetween()
1074 ValueMapping[PN] = PN->getIncomingValueForBlock(PredBB); in DuplicateInstructionsInSplitBetween()