reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

lib/Analysis/ScalarEvolutionExpander.cpp
 1496   if (!CanonicalMode || (S->getNumOperands() > 2))
 1497     return expandAddRecExprLiterally(S);
 1499   Type *Ty = SE.getEffectiveSCEVType(S->getType());
 1500   const Loop *L = S->getLoop();
 1513     SmallVector<const SCEV *, 4> NewOps(S->getNumOperands());
 1514     for (unsigned i = 0, e = S->getNumOperands(); i != e; ++i)
 1515       NewOps[i] = SE.getAnyExtendExpr(S->op_begin()[i], CanonicalIV->getType());
 1516     Value *V = expand(SE.getAddRecExpr(NewOps, S->getLoop(),
 1517                                        S->getNoWrapFlags(SCEV::FlagNW)));
 1526   if (!S->getStart()->isZero()) {
 1527     SmallVector<const SCEV *, 4> NewOps(S->op_begin(), S->op_end());
 1527     SmallVector<const SCEV *, 4> NewOps(S->op_begin(), S->op_end());
 1530                                         S->getNoWrapFlags(SCEV::FlagNW));
 1534     const SCEV *Base = S->getStart();
 1554     const SCEV *AddExprLHS = SE.getUnknown(expand(S->getStart()));
 1596   if (S->isAffine() && S->getOperand(1)->isOne()) {
 1596   if (S->isAffine() && S->getOperand(1)->isOne()) {
 1606   if (S->isAffine())    // {0,+,F} --> i*F
 1610                       SE.getNoopOrAnyExtend(S->getOperand(1),
 1621   const SCEV *NewS = S;
 1622   const SCEV *Ext = SE.getNoopOrAnyExtend(S, CanonicalIV->getType());