Lines Matching refs:PN
134 PHINode *PN = cast<PHINode>(BBI); in SafeToMergeTerminators() local
135 if (PN->getIncomingValueForBlock(SI1BB) != in SafeToMergeTerminators()
136 PN->getIncomingValueForBlock(SI2BB)) in SafeToMergeTerminators()
175 PHINode *PN = cast<PHINode>(BBI); in isProfitableToFoldUnconditional() local
176 if (PN->getIncomingValueForBlock(SI1BB) != Cond || in isProfitableToFoldUnconditional()
177 !isa<ConstantInt>(PN->getIncomingValueForBlock(SI2BB))) in isProfitableToFoldUnconditional()
179 PhiNodes.push_back(PN); in isProfitableToFoldUnconditional()
192 PHINode *PN; in AddPredecessorToBlock() local
194 (PN = dyn_cast<PHINode>(I)); ++I) in AddPredecessorToBlock()
195 PN->addIncoming(PN->getIncomingValueForBlock(ExistPred), NewPred); in AddPredecessorToBlock()
980 PHINode *PN; in isSafeToHoistInvoke() local
982 (PN = dyn_cast<PHINode>(BBI)); ++BBI) { in isSafeToHoistInvoke()
983 Value *BB1V = PN->getIncomingValueForBlock(BB1); in isSafeToHoistInvoke()
984 Value *BB2V = PN->getIncomingValueForBlock(BB2); in isSafeToHoistInvoke()
1062 PHINode *PN; in HoistThenElseCodeToIf() local
1064 (PN = dyn_cast<PHINode>(BBI)); ++BBI) { in HoistThenElseCodeToIf()
1065 Value *BB1V = PN->getIncomingValueForBlock(BB1); in HoistThenElseCodeToIf()
1066 Value *BB2V = PN->getIncomingValueForBlock(BB2); in HoistThenElseCodeToIf()
1093 PHINode *PN; in HoistThenElseCodeToIf() local
1095 (PN = dyn_cast<PHINode>(BBI)); ++BBI) { in HoistThenElseCodeToIf()
1096 Value *BB1V = PN->getIncomingValueForBlock(BB1); in HoistThenElseCodeToIf()
1097 Value *BB2V = PN->getIncomingValueForBlock(BB2); in HoistThenElseCodeToIf()
1109 for (unsigned i = 0, e = PN->getNumIncomingValues(); i != e; ++i) in HoistThenElseCodeToIf()
1110 if (PN->getIncomingBlock(i) == BB1 || PN->getIncomingBlock(i) == BB2) in HoistThenElseCodeToIf()
1111 PN->setIncomingValue(i, SI); in HoistThenElseCodeToIf()
1151 if (PHINode *PN = dyn_cast<PHINode>(I)) { in SinkThenElseCodeToEnd() local
1152 Value *BB1V = PN->getIncomingValueForBlock(BB1); in SinkThenElseCodeToEnd()
1153 Value *BB2V = PN->getIncomingValueForBlock(BB2); in SinkThenElseCodeToEnd()
1154 MapValueFromBB1ToBB2[BB1V] = std::make_pair(BB2V, PN); in SinkThenElseCodeToEnd()
1474 PHINode *PN = dyn_cast<PHINode>(I); ++I) { in SpeculativelyExecuteBB()
1475 Value *OrigV = PN->getIncomingValueForBlock(BB); in SpeculativelyExecuteBB()
1476 Value *ThenV = PN->getIncomingValueForBlock(ThenBB); in SpeculativelyExecuteBB()
1533 PHINode *PN = dyn_cast<PHINode>(I); ++I) { in SpeculativelyExecuteBB()
1534 unsigned OrigI = PN->getBasicBlockIndex(BB); in SpeculativelyExecuteBB()
1535 unsigned ThenI = PN->getBasicBlockIndex(ThenBB); in SpeculativelyExecuteBB()
1536 Value *OrigV = PN->getIncomingValue(OrigI); in SpeculativelyExecuteBB()
1537 Value *ThenV = PN->getIncomingValue(ThenI); in SpeculativelyExecuteBB()
1551 PN->setIncomingValue(OrigI, V); in SpeculativelyExecuteBB()
1552 PN->setIncomingValue(ThenI, V); in SpeculativelyExecuteBB()
1591 PHINode *PN = dyn_cast<PHINode>(BI->getCondition()); in FoldCondBranchOnPHI() local
1594 if (!PN || PN->getParent() != BB || !PN->hasOneUse()) in FoldCondBranchOnPHI()
1598 if (PN->getNumIncomingValues() == 1) { in FoldCondBranchOnPHI()
1599 FoldSingleEntryPHINodes(PN->getParent()); in FoldCondBranchOnPHI()
1608 for (unsigned i = 0, e = PN->getNumIncomingValues(); i != e; ++i) { in FoldCondBranchOnPHI()
1609 ConstantInt *CB = dyn_cast<ConstantInt>(PN->getIncomingValue(i)); in FoldCondBranchOnPHI()
1614 BasicBlock *PredBB = PN->getIncomingBlock(i); in FoldCondBranchOnPHI()
1639 if (PHINode *PN = dyn_cast<PHINode>(BBI)) { in FoldCondBranchOnPHI() local
1640 TranslateMap[PN] = PN->getIncomingValueForBlock(PredBB); in FoldCondBranchOnPHI()
1685 static bool FoldTwoEntryPHINode(PHINode *PN, const DataLayout *TD) { in FoldTwoEntryPHINode() argument
1692 BasicBlock *BB = PN->getParent(); in FoldTwoEntryPHINode()
1718 PHINode *PN = cast<PHINode>(II++); in FoldTwoEntryPHINode() local
1719 if (Value *V = SimplifyInstruction(PN, TD)) { in FoldTwoEntryPHINode()
1720 PN->replaceAllUsesWith(V); in FoldTwoEntryPHINode()
1721 PN->eraseFromParent(); in FoldTwoEntryPHINode()
1725 if (!DominatesMergePoint(PN->getIncomingValue(0), BB, &AggressiveInsts, in FoldTwoEntryPHINode()
1727 !DominatesMergePoint(PN->getIncomingValue(1), BB, &AggressiveInsts, in FoldTwoEntryPHINode()
1734 PN = dyn_cast<PHINode>(BB->begin()); in FoldTwoEntryPHINode()
1735 if (PN == 0) return true; in FoldTwoEntryPHINode()
1739 if (PN->getType()->isIntegerTy(1) && in FoldTwoEntryPHINode()
1740 (isa<BinaryOperator>(PN->getIncomingValue(0)) || in FoldTwoEntryPHINode()
1741 isa<BinaryOperator>(PN->getIncomingValue(1)) || in FoldTwoEntryPHINode()
1750 BasicBlock *IfBlock1 = PN->getIncomingBlock(0); in FoldTwoEntryPHINode()
1751 BasicBlock *IfBlock2 = PN->getIncomingBlock(1); in FoldTwoEntryPHINode()
1797 while (PHINode *PN = dyn_cast<PHINode>(BB->begin())) { in FoldTwoEntryPHINode() local
1799 Value *TrueVal = PN->getIncomingValue(PN->getIncomingBlock(0) == IfFalse); in FoldTwoEntryPHINode()
1800 Value *FalseVal = PN->getIncomingValue(PN->getIncomingBlock(0) == IfTrue); in FoldTwoEntryPHINode()
1804 PN->replaceAllUsesWith(NV); in FoldTwoEntryPHINode()
1805 NV->takeName(PN); in FoldTwoEntryPHINode()
1806 PN->eraseFromParent(); in FoldTwoEntryPHINode()
2439 PHINode *PN; in SimplifyCondBranchToCondBranch() local
2441 (PN = dyn_cast<PHINode>(II)); ++II) { in SimplifyCondBranchToCondBranch()
2442 Value *BIV = PN->getIncomingValueForBlock(BB); in SimplifyCondBranchToCondBranch()
2443 unsigned PBBIdx = PN->getBasicBlockIndex(PBI->getParent()); in SimplifyCondBranchToCondBranch()
2444 Value *PBIV = PN->getIncomingValue(PBBIdx); in SimplifyCondBranchToCondBranch()
2449 PN->setIncomingValue(PBBIdx, NV); in SimplifyCondBranchToCondBranch()
2806 PHINode *PN = cast<PHINode>(BBI); in SimplifyBranchOnICmpChain() local
2807 Value *InVal = PN->getIncomingValueForBlock(BB); in SimplifyBranchOnICmpChain()
2809 PN->addIncoming(InVal, BB); in SimplifyBranchOnICmpChain()
3966 if (PHINode *PN = dyn_cast<PHINode>(BI->getCondition())) in SimplifyCondBranch() local
3967 if (PN->getParent() == BI->getParent()) in SimplifyCondBranch()
4086 if (PHINode *PN = dyn_cast<PHINode>(BB->begin())) in run() local
4087 if (PN->getNumIncomingValues() == 2) in run()
4088 Changed |= FoldTwoEntryPHINode(PN, TD); in run()