Lines Matching refs:PN

150   while (PHINode *PN = dyn_cast<PHINode>(BB->begin())) {  in FoldSingleEntryPHINodes()  local
151 if (PN->getIncomingValue(0) != PN) in FoldSingleEntryPHINodes()
152 PN->replaceAllUsesWith(PN->getIncomingValue(0)); in FoldSingleEntryPHINodes()
154 PN->replaceAllUsesWith(PoisonValue::get(PN->getType())); in FoldSingleEntryPHINodes()
157 MemDep->removeInstruction(PN); // Memdep updates AA itself. in FoldSingleEntryPHINodes()
159 PN->eraseFromParent(); in FoldSingleEntryPHINodes()
169 for (PHINode &PN : BB->phis()) in DeleteDeadPHIs()
170 PHIs.push_back(&PN); in DeleteDeadPHIs()
174 if (PHINode *PN = dyn_cast_or_null<PHINode>(PHIs[i].operator Value*())) in DeleteDeadPHIs() local
175 Changed |= RecursivelyDeleteDeadPHINode(PN, TLI, MSSAU); in DeleteDeadPHIs()
220 for (PHINode &PN : BB->phis()) in MergeBlockIntoPredecessor()
221 if (llvm::is_contained(PN.incoming_values(), &PN)) in MergeBlockIntoPredecessor()
230 for (PHINode &PN : BB->phis()) in MergeBlockIntoPredecessor()
231 if (!isa<PHINode>(PN.getIncomingValue(0)) || in MergeBlockIntoPredecessor()
232 cast<PHINode>(PN.getIncomingValue(0))->getParent() != BB) in MergeBlockIntoPredecessor()
233 IncomingValues.push_back(PN.getIncomingValue(0)); in MergeBlockIntoPredecessor()
813 for (PHINode &PN : DestBB->phis()) { in updatePhiNodes()
816 if (Until == &PN) in updatePhiNodes()
824 if (PN.getIncomingBlock(BBIdx) != OldPred) in updatePhiNodes()
825 BBIdx = PN.getBasicBlockIndex(OldPred); in updatePhiNodes()
828 PN.setIncomingBlock(BBIdx, NewPred); in updatePhiNodes()
988 for (PHINode &PN : DestBB->phis()) { in createPHIsForSplitLoopExit()
989 int Idx = PN.getBasicBlockIndex(SplitBB); in createPHIsForSplitLoopExit()
991 Value *V = PN.getIncomingValue(Idx); in createPHIsForSplitLoopExit()
1000 PHINode *NewPN = PHINode::Create(PN.getType(), Preds.size(), "split"); in createPHIsForSplitLoopExit()
1009 PN.setIncomingValue(Idx, NewPN); in createPHIsForSplitLoopExit()
1265 PHINode *PN = cast<PHINode>(I++); in UpdatePHINodes() local
1271 InVal = PN->getIncomingValueForBlock(Preds[0]); in UpdatePHINodes()
1272 for (unsigned i = 0, e = PN->getNumIncomingValues(); i != e; ++i) { in UpdatePHINodes()
1273 if (!PredSet.count(PN->getIncomingBlock(i))) in UpdatePHINodes()
1276 InVal = PN->getIncomingValue(i); in UpdatePHINodes()
1277 else if (InVal != PN->getIncomingValue(i)) { in UpdatePHINodes()
1288 PN->removeIncomingValueIf( in UpdatePHINodes()
1290 return PredSet.contains(PN->getIncomingBlock(Idx)); in UpdatePHINodes()
1296 PN->addIncoming(InVal, NewBB); in UpdatePHINodes()
1304 PHINode::Create(PN->getType(), Preds.size(), PN->getName() + ".ph", BI->getIterator()); in UpdatePHINodes()
1310 for (int64_t i = PN->getNumIncomingValues() - 1; i >= 0; --i) { in UpdatePHINodes()
1311 BasicBlock *IncomingBB = PN->getIncomingBlock(i); in UpdatePHINodes()
1313 Value *V = PN->removeIncomingValue(i, false); in UpdatePHINodes()
1318 PN->addIncoming(NewPHI, NewBB); in UpdatePHINodes()
1524 PHINode *PN = PHINode::Create(LPad->getType(), 2, "lpad.phi", LPad->getIterator()); in SplitLandingPadPredecessorsImpl() local
1525 PN->addIncoming(Clone1, NewBB1); in SplitLandingPadPredecessorsImpl()
1526 PN->addIncoming(Clone2, NewBB2); in SplitLandingPadPredecessorsImpl()
1527 LPad->replaceAllUsesWith(PN); in SplitLandingPadPredecessorsImpl()
1585 if (PHINode *PN = dyn_cast<PHINode>(V)) { in FoldReturnIntoUncondBranch() local
1586 if (PN->getParent() == BB) { in FoldReturnIntoUncondBranch()
1588 NewEV->setOperand(0, PN->getIncomingValueForBlock(Pred)); in FoldReturnIntoUncondBranch()
1590 NewBC->setOperand(0, PN->getIncomingValueForBlock(Pred)); in FoldReturnIntoUncondBranch()
1592 Op = PN->getIncomingValueForBlock(Pred); in FoldReturnIntoUncondBranch()