Lines Matching refs:PHINode
154 bool handleFloatingPointIV(Loop *L, PHINode *PH);
168 PHINode *IndVar, SCEVExpander &Rewriter);
212 bool IndVarSimplify::handleFloatingPointIV(Loop *L, PHINode *PN) { in handleFloatingPointIV()
363 PHINode *NewPHI = PHINode::Create(Int32Ty, 2, PN->getName()+".int", PN); in handleFloatingPointIV()
413 for (PHINode &PN : Header->phis()) in rewriteNonIntegerIVs()
418 if (PHINode *PN = dyn_cast_or_null<PHINode>(&*PHIs[i])) in rewriteNonIntegerIVs()
449 for (PHINode &PN : ExitBB->phis()) { in rewriteFirstIterationLoopExitValues()
479 auto *ExitVal = dyn_cast<PHINode>(PN.getIncomingValue(IncomingValIdx)); in rewriteFirstIterationLoopExitValues()
571 PHINode *IVPhi;
576 IndVarSimplifyVisitor(PHINode *IV, ScalarEvolution *SCEV, in IndVarSimplifyVisitor()
604 SmallVector<PHINode*, 8> LoopPhis; in simplifyAndExtend()
605 for (BasicBlock::iterator I = L->getHeader()->begin(); isa<PHINode>(I); ++I) { in simplifyAndExtend()
606 LoopPhis.push_back(cast<PHINode>(I)); in simplifyAndExtend()
621 PHINode *CurrIV = LoopPhis.pop_back_val(); in simplifyAndExtend()
641 if (PHINode *WidePhi = createWideIV(WideIVs.back(), LI, SE, Rewriter, in simplifyAndExtend()
661 static PHINode *getLoopPhiForCounter(Value *IncV, Loop *L) { in getLoopPhiForCounter()
679 PHINode *Phi = dyn_cast<PHINode>(IncI->getOperand(0)); in getLoopPhiForCounter()
689 Phi = dyn_cast<PHINode>(IncI->getOperand(1)); in getLoopPhiForCounter()
742 PHINode *Phi = dyn_cast<PHINode>(LHS); in needsLFTR()
845 static bool AlmostDeadIV(PHINode *Phi, BasicBlock *LatchBlock, Value *Cond) { in AlmostDeadIV()
860 static bool isLoopCounter(PHINode* Phi, Loop *L, in isLoopCounter()
889 static PHINode *FindLoopCounter(Loop *L, BasicBlock *ExitingBB, in FindLoopCounter()
897 PHINode *BestPhi = nullptr; in FindLoopCounter()
903 for (BasicBlock::iterator I = L->getHeader()->begin(); isa<PHINode>(I); ++I) { in FindLoopCounter()
904 PHINode *Phi = cast<PHINode>(I); in FindLoopCounter()
973 static Value *genLoopLimit(PHINode *IndVar, BasicBlock *ExitingBB, in genLoopLimit()
1066 PHINode *IndVar, SCEVExpander &Rewriter) { in linearFunctionTestReplace()
1221 if (isa<PHINode>(I)) in sinkUnusedInvariants()
1254 if (PHINode *P = dyn_cast<PHINode>(User)) { in sinkUnusedInvariants()
1256 PHINode::getIncomingValueNumForOperand(U.getOperandNo()); in sinkUnusedInvariants()
1836 PHINode *IndVar = FindLoopCounter(L, ExitingBB, ExitCount, SE, DT); in run()
1872 if (PHINode *PHI = dyn_cast_or_null<PHINode>(V)) in run()