Lines Matching defs:Coeff
1066 bool DependenceInfo::strongSIVtest(const SCEV *Coeff, const SCEV *SrcConst,
1071 DEBUG(dbgs() << "\t Coeff = " << *Coeff);
1072 DEBUG(dbgs() << ", " << *Coeff->getType() << "\n");
1092 SE->isKnownNonNegative(Coeff) ? Coeff : SE->getNegativeSCEV(Coeff);
1103 if (isa<SCEVConstant>(Delta) && isa<SCEVConstant>(Coeff)) {
1105 APInt ConstCoeff = cast<SCEVConstant>(Coeff)->getAPInt();
1111 // Make sure Coeff divides Delta exactly
1113 // Coeff doesn't divide Distance, no dependence
1136 if (Coeff->isOne()) {
1143 NewConstraint.setLine(Coeff,
1144 SE->getNegativeSCEV(Coeff),
1152 bool CoeffMaybePositive = !SE->isKnownNonPositive(Coeff);
1153 bool CoeffMaybeNegative = !SE->isKnownNonNegative(Coeff);
1203 const SCEV *Coeff, const SCEV *SrcConst, const SCEV *DstConst,
1207 DEBUG(dbgs() << "\t Coeff = " << *Coeff << "\n");
1216 NewConstraint.setLine(Coeff, Coeff, Delta, CurLoop);
1228 const SCEVConstant *ConstCoeff = dyn_cast<SCEVConstant>(Coeff);
1291 // check that Coeff divides Delta
1299 // Coeff doesn't divide Delta, no dependence
1306 // if 2*Coeff doesn't divide Delta, then the equal direction isn't possible
2263 const SCEV *Coeff = AddRec->getStepRecurrence(*SE);
2266 const auto *Constant = getConstantPart(Coeff);
2282 const SCEV *Coeff = AddRec->getStepRecurrence(*SE);
2285 const auto *Constant = getConstantPart(Coeff);
2360 const SCEV *Coeff = AddRec->getStepRecurrence(*SE);
2362 ; // SrcCoeff == Coeff
2366 Constant = getConstantPart(Coeff);
2377 const SCEV *Coeff = AddRec->getStepRecurrence(*SE);
2379 DstCoeff = Coeff;
2383 Constant = getConstantPart(Coeff);
2675 SE->getZero(A[K].Coeff->getType());
2678 SE->getZero(A[K].Coeff->getType());
2703 const SCEV *Delta = SE->getMinusSCEV(A[K].Coeff, B[K].Coeff);
2714 const SCEV *Delta = SE->getMinusSCEV(A[K].Coeff, B[K].Coeff);
2746 getNegativePart(SE->getMinusSCEV(A[K].NegPart, B[K].Coeff));
2748 SE->getMinusSCEV(SE->getMulExpr(NegPart, Iter_1), B[K].Coeff);
2750 getPositivePart(SE->getMinusSCEV(A[K].PosPart, B[K].Coeff));
2752 SE->getMinusSCEV(SE->getMulExpr(PosPart, Iter_1), B[K].Coeff);
2758 getNegativePart(SE->getMinusSCEV(A[K].NegPart, B[K].Coeff));
2760 Bound[K].Lower[Dependence::DVEntry::LT] = SE->getNegativeSCEV(B[K].Coeff);
2762 getPositivePart(SE->getMinusSCEV(A[K].PosPart, B[K].Coeff));
2764 Bound[K].Upper[Dependence::DVEntry::LT] = SE->getNegativeSCEV(B[K].Coeff);
2790 getNegativePart(SE->getMinusSCEV(A[K].Coeff, B[K].PosPart));
2792 SE->getAddExpr(SE->getMulExpr(NegPart, Iter_1), A[K].Coeff);
2794 getPositivePart(SE->getMinusSCEV(A[K].Coeff, B[K].NegPart));
2796 SE->getAddExpr(SE->getMulExpr(PosPart, Iter_1), A[K].Coeff);
2801 const SCEV *NegPart = getNegativePart(SE->getMinusSCEV(A[K].Coeff, B[K].PosPart));
2803 Bound[K].Lower[Dependence::DVEntry::GT] = A[K].Coeff;
2804 const SCEV *PosPart = getPositivePart(SE->getMinusSCEV(A[K].Coeff, B[K].NegPart));
2806 Bound[K].Upper[Dependence::DVEntry::GT] = A[K].Coeff;
2832 CI[K].Coeff = Zero;
2840 CI[K].Coeff = AddRec->getStepRecurrence(*SE);
2841 CI[K].PosPart = getPositivePart(CI[K].Coeff);
2842 CI[K].NegPart = getNegativePart(CI[K].Coeff);
2850 DEBUG(dbgs() << "\t " << K << "\t" << *CI[K].Coeff);