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

References

lib/Analysis/ScalarEvolution.cpp
 1688     if (AR->isAffine()) {
 1689       const SCEV *Start = AR->getStart();
 1690       const SCEV *Step = AR->getStepRecurrence(*this);
 1691       unsigned BitWidth = getTypeSizeInBits(AR->getType());
 1692       const Loop *L = AR->getLoop();
 1694       if (!AR->hasNoUnsignedWrap()) {
 1695         auto NewFlags = proveNoWrapViaConstantRanges(AR);
 1696         const_cast<SCEVAddRecExpr *>(AR)->setNoWrapFlags(NewFlags);
 1701       if (AR->hasNoUnsignedWrap())
 1703             getExtendAddRecStart<SCEVZeroExtendExpr>(AR, Ty, this, Depth + 1),
 1704             getZeroExtendExpr(Step, Ty, Depth + 1), L, AR->getNoWrapFlags());
 1745             const_cast<SCEVAddRecExpr *>(AR)->setNoWrapFlags(SCEV::FlagNUW);
 1748                 getExtendAddRecStart<SCEVZeroExtendExpr>(AR, Ty, this,
 1751                 AR->getNoWrapFlags());
 1764             const_cast<SCEVAddRecExpr *>(AR)->setNoWrapFlags(SCEV::FlagNW);
 1767                 getExtendAddRecStart<SCEVZeroExtendExpr>(AR, Ty, this,
 1770                 AR->getNoWrapFlags());
 1792           if (isLoopBackedgeGuardedByCond(L, ICmpInst::ICMP_ULT, AR, N) ||
 1793               isKnownOnEveryIteration(ICmpInst::ICMP_ULT, AR, N)) {
 1796             const_cast<SCEVAddRecExpr *>(AR)->setNoWrapFlags(SCEV::FlagNUW);
 1799                 getExtendAddRecStart<SCEVZeroExtendExpr>(AR, Ty, this,
 1802                 AR->getNoWrapFlags());
 1807           if (isLoopBackedgeGuardedByCond(L, ICmpInst::ICMP_UGT, AR, N) ||
 1808               isKnownOnEveryIteration(ICmpInst::ICMP_UGT, AR, N)) {
 1812             const_cast<SCEVAddRecExpr *>(AR)->setNoWrapFlags(SCEV::FlagNW);
 1815                 getExtendAddRecStart<SCEVZeroExtendExpr>(AR, Ty, this,
 1818                 AR->getNoWrapFlags());
 1832               getAddRecExpr(getConstant(C - D), Step, L, AR->getNoWrapFlags());
 1841         const_cast<SCEVAddRecExpr *>(AR)->setNoWrapFlags(SCEV::FlagNUW);
 1843             getExtendAddRecStart<SCEVZeroExtendExpr>(AR, Ty, this, Depth + 1),
 1844             getZeroExtendExpr(Step, Ty, Depth + 1), L, AR->getNoWrapFlags());