Lines Matching refs:PHINode

142   bool handleFloatingPointIV(Loop *L, PHINode *PH);
154 PHINode *IndVar, SCEVExpander &Rewriter);
227 PHINode *PHI = dyn_cast<PHINode>(User); in getInsertPointForUses()
287 bool IndVarSimplify::handleFloatingPointIV(Loop *L, PHINode *PN) { in handleFloatingPointIV()
438 PHINode *NewPHI = PHINode::Create(Int32Ty, 2, PN->getName()+".int", PN); in handleFloatingPointIV()
488 for (PHINode &PN : Header->phis()) in rewriteNonIntegerIVs()
493 if (PHINode *PN = dyn_cast_or_null<PHINode>(&*PHIs[i])) in rewriteNonIntegerIVs()
509 PHINode *PN;
520 RewritePhi(PHINode *P, unsigned I, Value *V, bool H) in RewritePhi()
579 PHINode *PN = dyn_cast<PHINode>(ExitBB->begin()); in rewriteLoopExitValues()
586 while ((PN = dyn_cast<PHINode>(BBI++))) { in rewriteLoopExitValues()
664 PHINode *PN = Phi.PN; in rewriteLoopExitValues()
720 for (PHINode &PN : ExitBB->phis()) { in rewriteFirstIterationLoopExitValues()
748 auto *ExitVal = dyn_cast<PHINode>(PN.getIncomingValue(IncomingValIdx)); in rewriteFirstIterationLoopExitValues()
796 while (PHINode *P = dyn_cast<PHINode>(BI)) { in canLoopBeDeleted()
838 PHINode *NarrowIV = nullptr;
925 PHINode *OrigPhi;
939 PHINode *WidePhi = nullptr;
972 void calculatePostIncRanges(PHINode *OrigPhi);
995 PHINode *createWideIV(SCEVExpander &Rewriter);
1502 if (PHINode *UsePhi = dyn_cast<PHINode>(DU.NarrowUse)) { in widenIVUse()
1516 PHINode *WidePhi = in widenIVUse()
1517 PHINode::Create(DU.WideDef->getType(), 1, UsePhi->getName() + ".wide", in widenIVUse()
1675 PHINode *WidenIV::createWideIV(SCEVExpander &Rewriter) { in createWideIV()
1720 WidePhi = cast<PHINode>(Rewriter.expandCodeFor(AddRec, WideType, InsertPt)); in createWideIV()
1854 void WidenIV::calculatePostIncRanges(PHINode *OrigPhi) { in calculatePostIncRanges()
1894 PHINode *IVPhi;
1899 IndVarSimplifyVisitor(PHINode *IV, ScalarEvolution *SCEV, in IndVarSimplifyVisitor()
1927 SmallVector<PHINode*, 8> LoopPhis; in simplifyAndExtend()
1928 for (BasicBlock::iterator I = L->getHeader()->begin(); isa<PHINode>(I); ++I) { in simplifyAndExtend()
1929 LoopPhis.push_back(cast<PHINode>(I)); in simplifyAndExtend()
1944 PHINode *CurrIV = LoopPhis.pop_back_val(); in simplifyAndExtend()
1959 if (PHINode *WidePhi = Widener.createWideIV(Rewriter)) { in simplifyAndExtend()
1975 static PHINode *getLoopPhiForCounter(Value *IncV, Loop *L) { in getLoopPhiForCounter()
1993 PHINode *Phi = dyn_cast<PHINode>(IncI->getOperand(0)); in getLoopPhiForCounter()
2003 Phi = dyn_cast<PHINode>(IncI->getOperand(1)); in getLoopPhiForCounter()
2049 PHINode *Phi = dyn_cast<PHINode>(LHS); in needsLFTR()
2152 static bool AlmostDeadIV(PHINode *Phi, BasicBlock *LatchBlock, Value *Cond) { in AlmostDeadIV()
2167 static bool isLoopCounter(PHINode* Phi, Loop *L, in isLoopCounter()
2195 static PHINode *FindLoopCounter(Loop *L, BasicBlock *ExitingBB, in FindLoopCounter()
2203 PHINode *BestPhi = nullptr; in FindLoopCounter()
2209 for (BasicBlock::iterator I = L->getHeader()->begin(); isa<PHINode>(I); ++I) { in FindLoopCounter()
2210 PHINode *Phi = cast<PHINode>(I); in FindLoopCounter()
2282 static Value *genLoopLimit(PHINode *IndVar, BasicBlock *ExitingBB, in genLoopLimit()
2372 PHINode *IndVar, SCEVExpander &Rewriter) { in linearFunctionTestReplace()
2545 if (isa<PHINode>(I)) in sinkUnusedInvariants()
2578 if (PHINode *P = dyn_cast<PHINode>(User)) { in sinkUnusedInvariants()
2580 PHINode::getIncomingValueNumForOperand(U.getOperandNo()); in sinkUnusedInvariants()
2699 PHINode *IndVar = FindLoopCounter(L, ExitingBB, ExitCount, SE, DT); in run()