Lines Matching refs:PHINode

308   bool findInductions(Loop *L, SmallVectorImpl<PHINode *> &Inductions);
316 const SmallPtrSetImpl<PHINode *> &getOuterInnerReductions() const { in getOuterInnerReductions()
320 const SmallVectorImpl<PHINode *> &getInnerLoopInductions() const { in getInnerLoopInductions()
333 SmallVector<PHINode *, 8> &Inductions,
346 SmallPtrSet<PHINode *, 4> OuterInnerReductions;
349 SmallVector<PHINode *, 8> InnerLoopInductions;
656 for (PHINode *InnerInduction : InnerLoopInductions) { in isLoopStructureUnderstood()
668 unsigned IncomBlockIndx = PHINode::getIncomingValueNumForOperand(i); in isLoopStructureUnderstood()
748 PHINode *PHI = dyn_cast<PHINode>(SV); in followLCSSA()
758 static PHINode *findInnerReductionPhi(Loop *L, Value *V) { in findInnerReductionPhi()
764 if (PHINode *PHI = dyn_cast<PHINode>(User)) { in findInnerReductionPhi()
782 Loop *L, SmallVector<PHINode *, 8> &Inductions, Loop *InnerLoop) { in findInductionAndReductions() argument
785 for (PHINode &PHI : L->getHeader()->phis()) { in findInductionAndReductions()
805 PHINode *InnerRedPhi = findInnerReductionPhi(InnerLoop, V); in findInductionAndReductions()
845 SmallVector<PHINode *, 8> Inductions; in currentLimitations()
891 Loop *L, SmallVectorImpl<PHINode *> &Inductions) { in findInductions()
892 for (PHINode &PHI : L->getHeader()->phis()) { in findInductions()
905 SmallPtrSetImpl<PHINode *> &Reductions) { in areInnerLoopExitPHIsSupported()
907 for (PHINode &PHI : InnerExit->phis()) { in areInnerLoopExitPHIsSupported()
912 PHINode *PN = dyn_cast<PHINode>(U); in areInnerLoopExitPHIsSupported()
931 for (PHINode &PHI : LoopNestExit->phis()) { in areOuterLoopExitPHIsSupported()
978 for (PHINode &PHI : InnerLoopLatch->phis()) { in areInnerLoopLatchPHIsSupported()
1305 for (PHINode *CurInductionPHI : InductionPHIs) { in transform()
1462 for (PHINode &P : make_early_inc_range(InnerExit->phis())) { in moveLCSSAPhis()
1479 return (cast<PHINode>(U)->getParent() == OuterHeader && in moveLCSSAPhis()
1481 cast<PHINode>(U)->getParent() == OuterExit; in moveLCSSAPhis()
1490 SmallVector<PHINode *, 8> LcssaInnerExit; in moveLCSSAPhis()
1491 for (PHINode &P : InnerExit->phis()) in moveLCSSAPhis()
1494 SmallVector<PHINode *, 8> LcssaInnerLatch; in moveLCSSAPhis()
1495 for (PHINode &P : InnerLatch->phis()) in moveLCSSAPhis()
1503 for (PHINode *P : LcssaInnerExit) in moveLCSSAPhis()
1508 for (PHINode *P : LcssaInnerLatch) in moveLCSSAPhis()
1516 for (PHINode &P : OuterExit->phis()) { in moveLCSSAPhis()
1525 PHINode *NewPhi = dyn_cast<PHINode>(P.clone()); in moveLCSSAPhis()
1560 if (isa<PHINode>(OuterLoopPreHeader->begin()) || in adjustLoopBranches()
1661 SmallVector<PHINode *, 4> InnerLoopPHIs, OuterLoopPHIs; in adjustLoopBranches()
1662 for (PHINode &PHI : InnerLoopHeader->phis()) in adjustLoopBranches()
1666 for (PHINode &PHI : OuterLoopHeader->phis()) in adjustLoopBranches()
1673 for (PHINode *PHI : OuterLoopPHIs) { in adjustLoopBranches()
1678 for (PHINode *PHI : InnerLoopPHIs) { in adjustLoopBranches()