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

References

lib/Analysis/ScalarEvolution.cpp
 3412   if (Operands.size() == 1) return Operands[0];
 3412   if (Operands.size() == 1) return Operands[0];
 3414   Type *ETy = getEffectiveSCEVType(Operands[0]->getType());
 3415   for (unsigned i = 1, e = Operands.size(); i != e; ++i)
 3416     assert(getEffectiveSCEVType(Operands[i]->getType()) == ETy &&
 3418   for (unsigned i = 0, e = Operands.size(); i != e; ++i)
 3419     assert(isLoopInvariant(Operands[i], L) &&
 3423   if (Operands.back()->isZero()) {
 3424     Operands.pop_back();
 3425     return getAddRecExpr(Operands, L, SCEV::FlagAnyWrap); // {X,+,0}  -->  X
 3434   Flags = StrengthenNoWrapFlags(this, scAddRecExpr, Operands, Flags);
 3437   if (const SCEVAddRecExpr *NestedAR = dyn_cast<SCEVAddRecExpr>(Operands[0])) {
 3445       Operands[0] = NestedAR->getStart();
 3450           Operands, [&](const SCEV *Op) { return isLoopInvariant(Op, L); });
 3460         NestedOperands[0] = getAddRecExpr(Operands, L, OuterFlags);
 3476       Operands[0] = NestedAR;
 3482   return getOrCreateAddRecExpr(Operands, L, Flags);