Lines Matching refs:PHINode
95 while (isa<PHINode>(IP))
825 bool SCEVExpander::isNormalAddRecExprPHI(PHINode *PN, Instruction *IncV,
827 if (IncV->getNumOperands() == 0 || isa<PHINode>(IncV) ||
919 if (isa<PHINode>(InsertPos) ||
949 bool SCEVExpander::isExpandedAddRecExprPHI(PHINode *PN, Instruction *IncV,
963 Value *SCEVExpander::expandIVInc(PHINode *PN, Value *StepV, const Loop *L,
993 Instruction *Pos, PHINode *LoopPhi) {
1069 PHINode *
1081 PHINode *AddRecPhiMatch = nullptr;
1093 auto *PN = dyn_cast<PHINode>(&I);
1202 PHINode *PN = Builder.CreatePHI(ExpandTy, std::distance(HPB, HPE),
1289 PHINode *PN = getAddRecExprPHILiterally(Normalized, L, ExpandTy, IntTy,
1383 PHINode *CanonicalIV = nullptr;
1384 if (PHINode *PN = L->getCanonicalInductionVariable())
1441 CanonicalIV = PHINode::Create(Ty, std::distance(HPB, HPE), "indvar",
1665 PHINode *
1677 PHINode *V =
1678 cast<PHINode>(expandCodeFor(H, nullptr, &L->getHeader()->front()));
1693 SmallVector<PHINode*, 8> Phis;
1695 if (auto *PN = dyn_cast<PHINode>(&I))
1711 DenseMap<const SCEV *, PHINode *> ExprToIVMap;
1714 for (PHINode *Phi : Phis) {
1715 auto SimplifyPHINode = [&](PHINode *PN) -> Value * {
1742 PHINode *&OrigPhiRef = ExprToIVMap[SE.getSCEV(Phi)];
1788 && ((isa<PHINode>(OrigInc) && isa<PHINode>(IsomorphicInc))
1796 if (PHINode *PN = dyn_cast<PHINode>(OrigInc))