Lines Matching refs:PHINode
143 bool handleFloatingPointIV(Loop *L, PHINode *PH);
161 PHINode *IndVar, SCEVExpander &Rewriter);
207 bool IndVarSimplify::handleFloatingPointIV(Loop *L, PHINode *PN) { in handleFloatingPointIV()
358 PHINode *NewPHI = in handleFloatingPointIV()
359 PHINode::Create(Int32Ty, 2, PN->getName() + ".int", PN->getIterator()); in handleFloatingPointIV()
413 for (PHINode &PN : Header->phis()) in rewriteNonIntegerIVs()
418 if (PHINode *PN = dyn_cast_or_null<PHINode>(&*PHI)) in rewriteNonIntegerIVs()
449 for (PHINode &PN : ExitBB->phis()) { in rewriteFirstIterationLoopExitValues()
479 auto *ExitVal = dyn_cast<PHINode>(PN.getIncomingValue(IncomingValIdx)); in rewriteFirstIterationLoopExitValues()
572 PHINode *IVPhi;
577 IndVarSimplifyVisitor(PHINode *IV, ScalarEvolution *SCEV, in IndVarSimplifyVisitor()
605 SmallVector<PHINode *, 8> LoopPhis; in simplifyAndExtend()
606 for (PHINode &PN : L->getHeader()->phis()) in simplifyAndExtend()
622 PHINode *CurrIV = LoopPhis.pop_back_val(); in simplifyAndExtend()
644 if (PHINode *WidePhi = createWideIV(WideIVs.back(), LI, SE, Rewriter, in simplifyAndExtend()
664 static PHINode *getLoopPhiForCounter(Value *IncV, Loop *L) { in getLoopPhiForCounter()
682 PHINode *Phi = dyn_cast<PHINode>(IncI->getOperand(0)); in getLoopPhiForCounter()
692 Phi = dyn_cast<PHINode>(IncI->getOperand(1)); in getLoopPhiForCounter()
745 PHINode *Phi = dyn_cast<PHINode>(LHS); in needsLFTR()
807 static bool isLoopCounter(PHINode* Phi, Loop *L, in isLoopCounter()
836 static PHINode *FindLoopCounter(Loop *L, BasicBlock *ExitingBB, in FindLoopCounter()
844 PHINode *BestPhi = nullptr; in FindLoopCounter()
850 for (BasicBlock::iterator I = L->getHeader()->begin(); isa<PHINode>(I); ++I) { in FindLoopCounter()
851 PHINode *Phi = cast<PHINode>(I); in FindLoopCounter()
916 static Value *genLoopLimit(PHINode *IndVar, BasicBlock *ExitingBB, in genLoopLimit()
953 PHINode *IndVar, SCEVExpander &Rewriter) { in linearFunctionTestReplace()
1107 if (isa<PHINode>(I)) in sinkUnusedInvariants()
1140 if (PHINode *P = dyn_cast<PHINode>(User)) { in sinkUnusedInvariants()
1142 PHINode::getIncomingValueNumForOperand(U.getOperandNo()); in sinkUnusedInvariants()
2003 PHINode *IndVar = FindLoopCounter(L, ExitingBB, ExitCount, SE, DT); in run()
2031 if (PHINode *PHI = dyn_cast_or_null<PHINode>(V)) in run()