Home | History | Annotate | Download | only in Utils

Lines Matching refs:PN

118         PHINode *PN = cast<PHINode>(BBI);
119 if (PN->getIncomingValueForBlock(SI1BB) !=
120 PN->getIncomingValueForBlock(SI2BB))
159 PHINode *PN = cast<PHINode>(BBI);
160 if (PN->getIncomingValueForBlock(SI1BB) != Cond ||
161 !isa<ConstantInt>(PN->getIncomingValueForBlock(SI2BB)))
163 PhiNodes.push_back(PN);
176 PHINode *PN;
178 (PN = dyn_cast<PHINode>(I)); ++I)
179 PN->addIncoming(PN->getIncomingValueForBlock(ExistPred), NewPred);
1037 PHINode *PN;
1039 (PN = dyn_cast<PHINode>(BBI)); ++BBI) {
1040 Value *BB1V = PN->getIncomingValueForBlock(BB1);
1041 Value *BB2V = PN->getIncomingValueForBlock(BB2);
1133 PHINode *PN;
1135 (PN = dyn_cast<PHINode>(BBI)); ++BBI) {
1136 Value *BB1V = PN->getIncomingValueForBlock(BB1);
1137 Value *BB2V = PN->getIncomingValueForBlock(BB2);
1149 for (unsigned i = 0, e = PN->getNumIncomingValues(); i != e; ++i)
1150 if (PN->getIncomingBlock(i) == BB1 || PN->getIncomingBlock(i) == BB2)
1151 PN->setIncomingValue(i, SI);
1238 PHINode *PN = dyn_cast<PHINode>(I); ++I) {
1239 Value *BB1V = PN->getIncomingValueForBlock(BB1);
1240 Value *BIParentV = PN->getIncomingValueForBlock(BIParent);
1296 PHINode *PN = dyn_cast<PHINode>(I); ++I) {
1297 unsigned BB1I = PN->getBasicBlockIndex(BB1);
1298 unsigned BIParentI = PN->getBasicBlockIndex(BIParent);
1299 Value *BB1V = PN->getIncomingValue(BB1I);
1300 Value *BIParentV = PN->getIncomingValue(BIParentI);
1302 PN->setIncomingValue(BB1I, SI);
1303 PN->setIncomingValue(BIParentI, SI);
1344 PHINode *PN = dyn_cast<PHINode>(BI->getCondition());
1347 if (!PN || PN->getParent() != BB || !PN->hasOneUse())
1351 if (PN->getNumIncomingValues() == 1) {
1352 FoldSingleEntryPHINodes(PN->getParent());
1361 for (unsigned i = 0, e = PN->getNumIncomingValues(); i != e; ++i) {
1362 ConstantInt *CB = dyn_cast<ConstantInt>(PN->getIncomingValue(i));
1367 BasicBlock *PredBB = PN->getIncomingBlock(i);
1392 if (PHINode *PN = dyn_cast<PHINode>(BBI)) {
1393 TranslateMap[PN] = PN->getIncomingValueForBlock(PredBB);
1438 static bool FoldTwoEntryPHINode(PHINode *PN, const TargetData *TD) {
1445 BasicBlock *BB = PN->getParent();
1471 PHINode *PN = cast<PHINode>(II++);
1472 if (Value *V = SimplifyInstruction(PN, TD)) {
1473 PN->replaceAllUsesWith(V);
1474 PN->eraseFromParent();
1478 if (!DominatesMergePoint(PN->getIncomingValue(0), BB, &AggressiveInsts,
1480 !DominatesMergePoint(PN->getIncomingValue(1), BB, &AggressiveInsts,
1485 // If we folded the first phi, PN dangles at this point. Refresh it. If
1487 PN = dyn_cast<PHINode>(BB->begin());
1488 if (PN == 0) return true;
1492 if (PN->getType()->isIntegerTy(1) &&
1493 (isa<BinaryOperator>(PN->getIncomingValue(0)) ||
1494 isa<BinaryOperator>(PN->getIncomingValue(1)) ||
1503 BasicBlock *IfBlock1 = PN->getIncomingBlock(0);
1504 BasicBlock *IfBlock2 = PN->getIncomingBlock(1);
1550 while (PHINode *PN = dyn_cast<PHINode>(BB->begin())) {
1552 Value *TrueVal = PN->getIncomingValue(PN->getIncomingBlock(0) == IfFalse);
1553 Value *FalseVal = PN->getIncomingValue(PN->getIncomingBlock(0) == IfTrue);
1557 PN->replaceAllUsesWith(NV);
1558 NV->takeName(PN);
1559 PN->eraseFromParent();
2234 PHINode *PN;
2236 (PN = dyn_cast<PHINode>(II)); ++II) {
2237 Value *BIV = PN->getIncomingValueForBlock(BB);
2238 unsigned PBBIdx = PN->getBasicBlockIndex(PBI->getParent());
2239 Value *PBIV = PN->getIncomingValue(PBBIdx);
2244 PN->setIncomingValue(PBBIdx, NV);
2563 PHINode *PN = cast<PHINode>(BBI);
2564 Value *InVal = PN->getIncomingValueForBlock(BB);
2566 PN->addIncoming(InVal, BB);
3442 if (PHINode *PN = dyn_cast<PHINode>(BI->getCondition()))
3443 if (PN->getParent() == BI->getParent())
3559 if (PHINode *PN = dyn_cast<PHINode>(BB->begin()))
3560 if (PN->getNumIncomingValues() == 2)
3561 Changed |= FoldTwoEntryPHINode(PN, TD);