Lines Matching refs:PHINode
296 static PHINode *getInductionVariable(Loop *L, ScalarEvolution *SE) { in getInductionVariable()
297 PHINode *InnerIndexVar = L->getCanonicalInductionVariable(); in getInductionVariable()
302 for (BasicBlock::iterator I = L->getHeader()->begin(); isa<PHINode>(I); ++I) { in getInductionVariable()
303 PHINode *PhiVar = cast<PHINode>(I); in getInductionVariable()
338 bool isLoopStructureUnderstood(PHINode *InnerInductionVar);
342 const SmallPtrSetImpl<PHINode *> &getOuterInnerReductions() const { in getOuterInnerReductions()
355 SmallVector<PHINode *, 8> &Inductions,
368 SmallPtrSet<PHINode *, 4> OuterInnerReductions;
630 PHINode *InnerInduction) { in isLoopStructureUnderstood()
643 unsigned IncomBlockIndx = PHINode::getIncomingValueNumForOperand(i); in isLoopStructureUnderstood()
656 PHINode *PHI = dyn_cast<PHINode>(SV); in followLCSSA()
666 static PHINode *findInnerReductionPhi(Loop *L, Value *V) { in findInnerReductionPhi()
668 if (PHINode *PHI = dyn_cast<PHINode>(User)) { in findInnerReductionPhi()
682 Loop *L, SmallVector<PHINode *, 8> &Inductions, Loop *InnerLoop) { in findInductionAndReductions() argument
685 for (PHINode &PHI : L->getHeader()->phis()) { in findInductionAndReductions()
705 PHINode *InnerRedPhi = findInnerReductionPhi(InnerLoop, V); in findInductionAndReductions()
723 for (PHINode &PHI : Block->phis()) { in containsSafePHI()
732 if (!isa<PHINode>(Ins) && isOuterLoopExitBlock) in containsSafePHI()
763 PHINode *InnerInductionVar; in currentLimitations()
764 SmallVector<PHINode *, 8> Inductions; in currentLimitations()
935 for (PHINode &PHI : LoopNestExit->phis()) { in areLoopExitPHIsSupported()
1231 PHINode *InductionPHI = getInductionVariable(InnerLoop, SE); in transform()
1285 for (PHINode &PHI : CurrBlock->phis()) { in updateIncomingBlock()
1318 SmallVector<PHINode *, 8> LcssaInnerExit; in moveLCSSAPhis()
1319 for (PHINode &P : InnerExit->phis()) in moveLCSSAPhis()
1322 SmallVector<PHINode *, 8> LcssaInnerLatch; in moveLCSSAPhis()
1323 for (PHINode &P : InnerLatch->phis()) in moveLCSSAPhis()
1332 for (PHINode *P : LcssaInnerExit) { in moveLCSSAPhis()
1352 for (PHINode *P : LcssaInnerLatch) in moveLCSSAPhis()
1375 if (isa<PHINode>(OuterLoopPreHeader->begin()) || in adjustLoopBranches()
1461 SmallVector<PHINode *, 4> InnerLoopPHIs, OuterLoopPHIs; in adjustLoopBranches()
1462 for (PHINode &PHI : drop_begin(InnerLoopHeader->phis(), 1)) in adjustLoopBranches()
1463 InnerLoopPHIs.push_back(cast<PHINode>(&PHI)); in adjustLoopBranches()
1464 for (PHINode &PHI : drop_begin(OuterLoopHeader->phis(), 1)) in adjustLoopBranches()
1465 OuterLoopPHIs.push_back(cast<PHINode>(&PHI)); in adjustLoopBranches()
1473 for (PHINode *PHI : OuterLoopPHIs) { in adjustLoopBranches()
1478 for (PHINode *PHI : InnerLoopPHIs) { in adjustLoopBranches()