Lines Matching defs:PN

135         PHINode *PN = cast<PHINode>(BBI);
136 if (PN->getIncomingValueForBlock(SI1BB) !=
137 PN->getIncomingValueForBlock(SI2BB))
176 PHINode *PN = cast<PHINode>(BBI);
177 if (PN->getIncomingValueForBlock(SI1BB) != Cond ||
178 !isa<ConstantInt>(PN->getIncomingValueForBlock(SI2BB)))
180 PhiNodes.push_back(PN);
193 PHINode *PN;
195 (PN = dyn_cast<PHINode>(I)); ++I)
196 PN->addIncoming(PN->getIncomingValueForBlock(ExistPred), NewPred);
986 PHINode *PN;
988 (PN = dyn_cast<PHINode>(BBI)); ++BBI) {
989 Value *BB1V = PN->getIncomingValueForBlock(BB1);
990 Value *BB2V = PN->getIncomingValueForBlock(BB2);
1068 PHINode *PN;
1070 (PN = dyn_cast<PHINode>(BBI)); ++BBI) {
1071 Value *BB1V = PN->getIncomingValueForBlock(BB1);
1072 Value *BB2V = PN->getIncomingValueForBlock(BB2);
1099 PHINode *PN;
1101 (PN = dyn_cast<PHINode>(BBI)); ++BBI) {
1102 Value *BB1V = PN->getIncomingValueForBlock(BB1);
1103 Value *BB2V = PN->getIncomingValueForBlock(BB2);
1115 for (unsigned i = 0, e = PN->getNumIncomingValues(); i != e; ++i)
1116 if (PN->getIncomingBlock(i) == BB1 || PN->getIncomingBlock(i) == BB2)
1117 PN->setIncomingValue(i, SI);
1157 if (PHINode *PN = dyn_cast<PHINode>(I)) {
1158 Value *BB1V = PN->getIncomingValueForBlock(BB1);
1159 Value *BB2V = PN->getIncomingValueForBlock(BB2);
1160 MapValueFromBB1ToBB2[BB1V] = std::make_pair(BB2V, PN);
1480 PHINode *PN = dyn_cast<PHINode>(I); ++I) {
1481 Value *OrigV = PN->getIncomingValueForBlock(BB);
1482 Value *ThenV = PN->getIncomingValueForBlock(ThenBB);
1539 PHINode *PN = dyn_cast<PHINode>(I); ++I) {
1540 unsigned OrigI = PN->getBasicBlockIndex(BB);
1541 unsigned ThenI = PN->getBasicBlockIndex(ThenBB);
1542 Value *OrigV = PN->getIncomingValue(OrigI);
1543 Value *ThenV = PN->getIncomingValue(ThenI);
1557 PN->setIncomingValue(OrigI, V);
1558 PN->setIncomingValue(ThenI, V);
1610 PHINode *PN = dyn_cast<PHINode>(BI->getCondition());
1613 if (!PN || PN->getParent() != BB || !PN->hasOneUse())
1617 if (PN->getNumIncomingValues() == 1) {
1618 FoldSingleEntryPHINodes(PN->getParent());
1629 for (unsigned i = 0, e = PN->getNumIncomingValues(); i != e; ++i) {
1630 ConstantInt *CB = dyn_cast<ConstantInt>(PN->getIncomingValue(i));
1635 BasicBlock *PredBB = PN->getIncomingBlock(i);
1660 if (PHINode *PN = dyn_cast<PHINode>(BBI)) {
1661 TranslateMap[PN] = PN->getIncomingValueForBlock(PredBB);
1706 static bool FoldTwoEntryPHINode(PHINode *PN, const DataLayout *TD) {
1713 BasicBlock *BB = PN->getParent();
1739 PHINode *PN = cast<PHINode>(II++);
1740 if (Value *V = SimplifyInstruction(PN, TD)) {
1741 PN->replaceAllUsesWith(V);
1742 PN->eraseFromParent();
1746 if (!DominatesMergePoint(PN->getIncomingValue(0), BB, &AggressiveInsts,
1748 !DominatesMergePoint(PN->getIncomingValue(1), BB, &AggressiveInsts,
1753 // If we folded the first phi, PN dangles at this point. Refresh it. If
1755 PN = dyn_cast<PHINode>(BB->begin());
1756 if (PN == 0) return true;
1760 if (PN->getType()->isIntegerTy(1) &&
1761 (isa<BinaryOperator>(PN->getIncomingValue(0)) ||
1762 isa<BinaryOperator>(PN->getIncomingValue(1)) ||
1771 BasicBlock *IfBlock1 = PN->getIncomingBlock(0);
1772 BasicBlock *IfBlock2 = PN->getIncomingBlock(1);
1818 while (PHINode *PN = dyn_cast<PHINode>(BB->begin())) {
1820 Value *TrueVal = PN->getIncomingValue(PN->getIncomingBlock(0) == IfFalse);
1821 Value *FalseVal = PN->getIncomingValue(PN->getIncomingBlock(0) == IfTrue);
1825 PN->replaceAllUsesWith(NV);
1826 NV->takeName(PN);
1827 PN->eraseFromParent();
2465 PHINode *PN;
2467 (PN = dyn_cast<PHINode>(II)); ++II) {
2468 Value *BIV = PN->getIncomingValueForBlock(BB);
2469 unsigned PBBIdx = PN->getBasicBlockIndex(PBI->getParent());
2470 Value *PBIV = PN->getIncomingValue(PBBIdx);
2475 PN->setIncomingValue(PBBIdx, NV);
2832 PHINode *PN = cast<PHINode>(BBI);
2833 Value *InVal = PN->getIncomingValueForBlock(BB);
2835 PN->addIncoming(InVal, BB);
4000 if (PHINode *PN = dyn_cast<PHINode>(BI->getCondition()))
4001 if (PN->getParent() == BI->getParent())
4120 if (PHINode *PN = dyn_cast<PHINode>(BB->begin()))
4121 if (PN->getNumIncomingValues() == 2)
4122 Changed |= FoldTwoEntryPHINode(PN, TD);