Lines Matching refs:PHINode
295 static PHINode *getInductionVariable(Loop *L, ScalarEvolution *SE) { in getInductionVariable()
296 PHINode *InnerIndexVar = L->getCanonicalInductionVariable(); in getInductionVariable()
301 for (BasicBlock::iterator I = L->getHeader()->begin(); isa<PHINode>(I); ++I) { in getInductionVariable()
302 PHINode *PhiVar = cast<PHINode>(I); in getInductionVariable()
337 bool isLoopStructureUnderstood(PHINode *InnerInductionVar);
341 const SmallPtrSetImpl<PHINode *> &getOuterInnerReductions() const { in getOuterInnerReductions()
354 SmallVector<PHINode *, 8> &Inductions,
367 SmallPtrSet<PHINode *, 4> OuterInnerReductions;
639 PHINode *InnerInduction) { in isLoopStructureUnderstood()
652 unsigned IncomBlockIndx = PHINode::getIncomingValueNumForOperand(i); in isLoopStructureUnderstood()
724 PHINode *PHI = dyn_cast<PHINode>(SV); in followLCSSA()
734 static PHINode *findInnerReductionPhi(Loop *L, Value *V) { in findInnerReductionPhi()
740 if (PHINode *PHI = dyn_cast<PHINode>(User)) { in findInnerReductionPhi()
754 Loop *L, SmallVector<PHINode *, 8> &Inductions, Loop *InnerLoop) { in findInductionAndReductions() argument
757 for (PHINode &PHI : L->getHeader()->phis()) { in findInductionAndReductions()
777 PHINode *InnerRedPhi = findInnerReductionPhi(InnerLoop, V); in findInductionAndReductions()
818 PHINode *InnerInductionVar; in currentLimitations()
819 SmallVector<PHINode *, 8> Inductions; in currentLimitations()
971 SmallPtrSetImpl<PHINode *> &Reductions) { in areInnerLoopExitPHIsSupported()
973 for (PHINode &PHI : InnerExit->phis()) { in areInnerLoopExitPHIsSupported()
978 PHINode *PN = dyn_cast<PHINode>(U); in areInnerLoopExitPHIsSupported()
997 for (PHINode &PHI : LoopNestExit->phis()) { in areOuterLoopExitPHIsSupported()
1049 for (PHINode &PHI : InnerLoopLatch->phis()) { in areInnerLoopLatchPHIsSupported()
1355 PHINode *InductionPHI = getInductionVariable(InnerLoop, SE); in transform()
1516 for (PHINode &P : make_early_inc_range(InnerExit->phis())) { in moveLCSSAPhis()
1529 return (cast<PHINode>(U)->getParent() == OuterHeader && in moveLCSSAPhis()
1531 cast<PHINode>(U)->getParent() == OuterExit; in moveLCSSAPhis()
1540 SmallVector<PHINode *, 8> LcssaInnerExit; in moveLCSSAPhis()
1541 for (PHINode &P : InnerExit->phis()) in moveLCSSAPhis()
1544 SmallVector<PHINode *, 8> LcssaInnerLatch; in moveLCSSAPhis()
1545 for (PHINode &P : InnerLatch->phis()) in moveLCSSAPhis()
1553 for (PHINode *P : LcssaInnerExit) in moveLCSSAPhis()
1558 for (PHINode *P : LcssaInnerLatch) in moveLCSSAPhis()
1566 for (PHINode &P : OuterExit->phis()) { in moveLCSSAPhis()
1575 PHINode *NewPhi = dyn_cast<PHINode>(P.clone()); in moveLCSSAPhis()
1610 if (isa<PHINode>(OuterLoopPreHeader->begin()) || in adjustLoopBranches()
1712 SmallVector<PHINode *, 4> InnerLoopPHIs, OuterLoopPHIs; in adjustLoopBranches()
1713 for (PHINode &PHI : InnerLoopHeader->phis()) { in adjustLoopBranches()
1716 InnerLoopPHIs.push_back(cast<PHINode>(&PHI)); in adjustLoopBranches()
1718 for (PHINode &PHI : OuterLoopHeader->phis()) { in adjustLoopBranches()
1721 OuterLoopPHIs.push_back(cast<PHINode>(&PHI)); in adjustLoopBranches()
1727 for (PHINode *PHI : OuterLoopPHIs) { in adjustLoopBranches()
1731 for (PHINode *PHI : InnerLoopPHIs) { in adjustLoopBranches()