Lines Matching defs:PN

177     PHINode *PN = cast<PHINode>(I);
179 if (Value *V = simplifyInstruction(PN, {DL, nullptr, DT, AC})) {
181 PN->replaceAllUsesWith(V);
182 PN->eraseFromParent();
187 for (unsigned i = 0, e = PN->getNumIncomingValues(); i != e; ++i)
188 if (PN->getIncomingValue(i) == PN &&
189 L->contains(PN->getIncomingBlock(i)))
191 return PN;
248 PHINode *PN = findPHIToPartitionLoops(L, DT, AC);
249 if (!PN) return nullptr; // No known way to partition.
255 for (unsigned i = 0, e = PN->getNumIncomingValues(); i != e; ++i) {
256 if (PN->getIncomingValue(i) != PN ||
257 !L->contains(PN->getIncomingBlock(i))) {
259 if (isa<IndirectBrInst>(PN->getIncomingBlock(i)->getTerminator()))
261 OuterLoopPreds.push_back(PN->getIncomingBlock(i));
400 PHINode *PN = cast<PHINode>(I);
401 PHINode *NewPN = PHINode::Create(PN->getType(), BackedgeBlocks.size(),
402 PN->getName()+".be", BETerminator->getIterator());
409 for (unsigned i = 0, e = PN->getNumIncomingValues(); i != e; ++i) {
410 BasicBlock *IBB = PN->getIncomingBlock(i);
411 Value *IV = PN->getIncomingValue(i);
425 // Delete all of the incoming values from the old PN except the preheader's
428 PN->setIncomingValue(0, PN->getIncomingValue(PreheaderIdx));
429 PN->setIncomingBlock(0, PN->getIncomingBlock(PreheaderIdx));
432 PN->removeIncomingValueIf([](unsigned Idx) { return Idx != 0; },
436 PN->addIncoming(NewPN, BEBlock);
596 PHINode *PN;
598 (PN = dyn_cast<PHINode>(I++)); )
599 if (Value *V = simplifyInstruction(PN, {DL, nullptr, DT, AC})) {
600 if (SE) SE->forgetValue(PN);
601 if (!PreserveLCSSA || LI->replacementPreservesLCSSAForm(PN, V)) {
602 PN->replaceAllUsesWith(V);
603 PN->eraseFromParent();