reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
8309 for (unsigned i = 0, e = AddRec->getNumOperands(); i != e; ++i) { 8310 const SCEV *OpAtScope = getSCEVAtScope(AddRec->getOperand(i), L); 8311 if (OpAtScope == AddRec->getOperand(i)) 8316 SmallVector<const SCEV *, 8> NewOps(AddRec->op_begin(), 8317 AddRec->op_begin()+i); 8320 NewOps.push_back(getSCEVAtScope(AddRec->getOperand(i), L)); 8323 getAddRecExpr(NewOps, AddRec->getLoop(), 8324 AddRec->getNoWrapFlags(SCEV::FlagNW)); 8325 AddRec = dyn_cast<SCEVAddRecExpr>(FoldedRec); 8329 if (!AddRec) 8336 if (!AddRec->getLoop()->contains(L)) { 8339 const SCEV *BackedgeTakenCount = getBackedgeTakenCount(AddRec->getLoop()); 8340 if (BackedgeTakenCount == getCouldNotCompute()) return AddRec; 8343 return AddRec->evaluateAtIteration(BackedgeTakenCount, *this); 8346 return AddRec;