Lines Matching refs:PN
89 PHINode &PN, LoopInfo *LI);
493 static bool isTriviallyReplacablePHI(PHINode &PN, Instruction &I) { in isTriviallyReplacablePHI() argument
494 for (unsigned i = 0, e = PN.getNumIncomingValues(); i != e; ++i) in isTriviallyReplacablePHI()
495 if (PN.getIncomingValue(i) != &I) in isTriviallyReplacablePHI()
508 if (PHINode *PN = dyn_cast<PHINode>(UI)) { in isNotUsedInLoop() local
513 if (isTriviallyReplacablePHI(*PN, I)) { in isNotUsedInLoop()
514 if (CurLoop->contains(PN)) in isNotUsedInLoop()
522 for (unsigned i = 0, e = PN->getNumIncomingValues(); i != e; ++i) in isNotUsedInLoop()
523 if (PN->getIncomingValue(i) == &I) in isNotUsedInLoop()
524 if (CurLoop->contains(PN->getIncomingBlock(i))) in isNotUsedInLoop()
538 PHINode &PN, LoopInfo *LI) { in CloneInstructionInExitBlock() argument
554 if (!OLoop->contains(&PN)) { in CloneInstructionInExitBlock()
556 PHINode::Create(OInst->getType(), PN.getNumIncomingValues(), in CloneInstructionInExitBlock()
558 for (unsigned i = 0, e = PN.getNumIncomingValues(); i != e; ++i) in CloneInstructionInExitBlock()
559 OpPN->addIncoming(OInst, PN.getIncomingBlock(i)); in CloneInstructionInExitBlock()
599 PHINode *PN = cast<PHINode>(User); in sink() local
601 BasicBlock *ExitBlock = PN->getParent(); in sink()
611 CloneInstructionInExitBlock(I, *ExitBlock, *PN, LI); in sink()
613 PN->replaceAllUsesWith(New); in sink()
614 PN->eraseFromParent(); in sink()
706 PHINode *PN = PHINode::Create( in maybeInsertLCSSAPHI() local
710 PN->addIncoming(I, *PI); in maybeInsertLCSSAPHI()
711 return PN; in maybeInsertLCSSAPHI()