Lines Matching refs:PHINode
253 bool findInductions(Loop *L, SmallVectorImpl<PHINode *> &Inductions);
261 const SmallPtrSetImpl<PHINode *> &getOuterInnerReductions() const { in getOuterInnerReductions()
265 const SmallVectorImpl<PHINode *> &getInnerLoopInductions() const { in getInnerLoopInductions()
278 SmallVector<PHINode *, 8> &Inductions,
291 SmallPtrSet<PHINode *, 4> OuterInnerReductions;
294 SmallVector<PHINode *, 8> InnerLoopInductions;
604 for (PHINode *InnerInduction : InnerLoopInductions) { in isLoopStructureUnderstood()
616 unsigned IncomBlockIndx = PHINode::getIncomingValueNumForOperand(i); in isLoopStructureUnderstood()
696 PHINode *PHI = dyn_cast<PHINode>(SV); in followLCSSA()
706 static PHINode *findInnerReductionPhi(Loop *L, Value *V) { in findInnerReductionPhi()
712 if (PHINode *PHI = dyn_cast<PHINode>(User)) { in findInnerReductionPhi()
730 Loop *L, SmallVector<PHINode *, 8> &Inductions, Loop *InnerLoop) { in findInductionAndReductions() argument
733 for (PHINode &PHI : L->getHeader()->phis()) { in findInductionAndReductions()
752 PHINode *InnerRedPhi = findInnerReductionPhi(InnerLoop, V); in findInductionAndReductions()
792 SmallVector<PHINode *, 8> Inductions; in currentLimitations()
846 Loop *L, SmallVectorImpl<PHINode *> &Inductions) { in findInductions()
847 for (PHINode &PHI : L->getHeader()->phis()) { in findInductions()
860 SmallPtrSetImpl<PHINode *> &Reductions) { in areInnerLoopExitPHIsSupported()
862 for (PHINode &PHI : InnerExit->phis()) { in areInnerLoopExitPHIsSupported()
867 PHINode *PN = dyn_cast<PHINode>(U); in areInnerLoopExitPHIsSupported()
886 for (PHINode &PHI : LoopNestExit->phis()) { in areOuterLoopExitPHIsSupported()
933 for (PHINode &PHI : InnerLoopLatch->phis()) { in areInnerLoopLatchPHIsSupported()
1298 for (PHINode *CurInductionPHI : InductionPHIs) { in transform()
1456 for (PHINode &P : make_early_inc_range(InnerExit->phis())) { in moveLCSSAPhis()
1473 return (cast<PHINode>(U)->getParent() == OuterHeader && in moveLCSSAPhis()
1475 cast<PHINode>(U)->getParent() == OuterExit; in moveLCSSAPhis()
1484 SmallVector<PHINode *, 8> LcssaInnerExit; in moveLCSSAPhis()
1485 for (PHINode &P : InnerExit->phis()) in moveLCSSAPhis()
1488 SmallVector<PHINode *, 8> LcssaInnerLatch; in moveLCSSAPhis()
1489 for (PHINode &P : InnerLatch->phis()) in moveLCSSAPhis()
1497 for (PHINode *P : LcssaInnerExit) in moveLCSSAPhis()
1502 for (PHINode *P : LcssaInnerLatch) in moveLCSSAPhis()
1510 for (PHINode &P : OuterExit->phis()) { in moveLCSSAPhis()
1519 PHINode *NewPhi = dyn_cast<PHINode>(P.clone()); in moveLCSSAPhis()
1554 if (isa<PHINode>(OuterLoopPreHeader->begin()) || in adjustLoopBranches()
1655 SmallVector<PHINode *, 4> InnerLoopPHIs, OuterLoopPHIs; in adjustLoopBranches()
1656 for (PHINode &PHI : InnerLoopHeader->phis()) in adjustLoopBranches()
1660 for (PHINode &PHI : OuterLoopHeader->phis()) in adjustLoopBranches()
1667 for (PHINode *PHI : OuterLoopPHIs) { in adjustLoopBranches()
1672 for (PHINode *PHI : InnerLoopPHIs) { in adjustLoopBranches()