Lines Matching defs:PN
174 PHINode *PN = cast<PHINode>(I);
176 if (Value *V = simplifyInstruction(PN, {DL, nullptr, DT, AC})) {
178 PN->replaceAllUsesWith(V);
179 PN->eraseFromParent();
184 for (unsigned i = 0, e = PN->getNumIncomingValues(); i != e; ++i)
185 if (PN->getIncomingValue(i) == PN &&
186 L->contains(PN->getIncomingBlock(i)))
188 return PN;
245 PHINode *PN = findPHIToPartitionLoops(L, DT, AC);
246 if (!PN) return nullptr; // No known way to partition.
252 for (unsigned i = 0, e = PN->getNumIncomingValues(); i != e; ++i) {
253 if (PN->getIncomingValue(i) != PN ||
254 !L->contains(PN->getIncomingBlock(i))) {
256 if (isa<IndirectBrInst>(PN->getIncomingBlock(i)->getTerminator()))
258 OuterLoopPreds.push_back(PN->getIncomingBlock(i));
397 PHINode *PN = cast<PHINode>(I);
398 PHINode *NewPN = PHINode::Create(PN->getType(), BackedgeBlocks.size(),
399 PN->getName()+".be", BETerminator->getIterator());
406 for (unsigned i = 0, e = PN->getNumIncomingValues(); i != e; ++i) {
407 BasicBlock *IBB = PN->getIncomingBlock(i);
408 Value *IV = PN->getIncomingValue(i);
422 // Delete all of the incoming values from the old PN except the preheader's
425 PN->setIncomingValue(0, PN->getIncomingValue(PreheaderIdx));
426 PN->setIncomingBlock(0, PN->getIncomingBlock(PreheaderIdx));
429 PN->removeIncomingValueIf([](unsigned Idx) { return Idx != 0; },
433 PN->addIncoming(NewPN, BEBlock);
593 PHINode *PN;
595 (PN = dyn_cast<PHINode>(I++)); )
596 if (Value *V = simplifyInstruction(PN, {DL, nullptr, DT, AC})) {
597 if (SE) SE->forgetValue(PN);
598 if (!PreserveLCSSA || LI->replacementPreservesLCSSAForm(PN, V)) {
599 PN->replaceAllUsesWith(V);
600 PN->eraseFromParent();