reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
714 auto *ConstPart = cast<SCEVConstant>(SE.getConstant(S->getType(), 1)); 717 return std::make_pair(Constant, SE.getConstant(S->getType(), 1)); 723 auto StepPair = extractConstantFactor(AddRec->getStepRecurrence(SE), SE); 723 auto StepPair = extractConstantFactor(AddRec->getStepRecurrence(SE), SE); 725 SE.getAddRecExpr(StartExpr, StepPair.second, AddRec->getLoop(), 734 auto Op0Pair = extractConstantFactor(Add->getOperand(0), SE); 736 if (SE.isKnownNegative(Factor)) { 737 Factor = cast<SCEVConstant>(SE.getNegativeSCEV(Factor)); 738 LeftOvers.push_back(SE.getNegativeSCEV(Op0Pair.second)); 744 auto OpUPair = extractConstantFactor(Add->getOperand(u), SE); 748 else if (Factor == SE.getNegativeSCEV(OpUPair.first)) 749 LeftOvers.push_back(SE.getNegativeSCEV(OpUPair.second)); 754 auto *NewAdd = SE.getAddExpr(LeftOvers, Add->getNoWrapFlags()); 765 ConstPart = cast<SCEVConstant>(SE.getMulExpr(ConstPart, Op)); 769 return std::make_pair(ConstPart, SE.getMulExpr(LeftOvers));