Home | History | Annotate | Download | only in Analysis

Lines Matching refs:PN

863 bool SCEVExpander::isNormalAddRecExprPHI(PHINode *PN, Instruction *IncV,
886 if (IncV != PN)
889 return isNormalAddRecExprPHI(PN, IncV, L);
986 bool SCEVExpander::isExpandedAddRecExprPHI(PHINode *PN, Instruction *IncV,
991 if (IVOper == PN)
1000 Value *SCEVExpander::expandIVInc(PHINode *PN, Value *StepV, const Loop *L,
1013 IncV = expandAddToGEP(StepArray, StepArray+1, GEPPtrTy, IntTy, PN);
1014 if (IncV->getType() != PN->getType()) {
1015 IncV = Builder.CreateBitCast(IncV, PN->getType());
1020 Builder.CreateSub(PN, StepV, Twine(IVName) + ".iv.next") :
1021 Builder.CreateAdd(PN, StepV, Twine(IVName) + ".iv.next");
1041 PHINode *PN = dyn_cast<PHINode>(I); ++I) {
1042 if (!SE.isSCEVable(PN->getType()) ||
1043 (SE.getEffectiveSCEVType(PN->getType()) !=
1045 SE.getSCEV(PN) != Normalized)
1049 cast<Instruction>(PN->getIncomingValueForBlock(LatchBlock));
1052 if (!isExpandedAddRecExprPHI(PN, IncV, L))
1058 if (!isNormalAddRecExprPHI(PN, IncV, L))
1069 } while (IncV != PN);
1073 InsertedValues.insert(PN);
1076 return PN;
1119 PHINode *PN = Builder.CreatePHI(ExpandTy, std::distance(HPB, HPE),
1121 rememberInstruction(PN);
1129 PN->addIncoming(StartV, Pred);
1139 Value *IncV = expandIVInc(PN, StepV, L, ExpandTy, IntTy, useSubtract);
1141 PN->addIncoming(IncV, Pred);
1153 InsertedValues.insert(PN);
1155 return PN;
1204 PHINode *PN = getAddRecExprPHILiterally(Normalized, L, ExpandTy, IntTy);
1209 Result = PN;
1214 Result = PN->getIncomingValueForBlock(LatchBlock);
1242 Result = expandIVInc(PN, StepV, L, ExpandTy, IntTy, useSubtract);
1278 if (PHINode *PN = L->getCanonicalInductionVariable())
1279 if (SE.getTypeSizeInBits(PN->getType()) >= SE.getTypeSizeInBits(Ty))
1280 CanonicalIV = PN;