Lines Matching defs:Coeff
1230 bool DependenceInfo::strongSIVtest(const SCEV *Coeff, const SCEV *SrcConst,
1235 LLVM_DEBUG(dbgs() << "\t Coeff = " << *Coeff);
1236 LLVM_DEBUG(dbgs() << ", " << *Coeff->getType() << "\n");
1256 SE->isKnownNonNegative(Coeff) ? Coeff : SE->getNegativeSCEV(Coeff);
1267 if (isa<SCEVConstant>(Delta) && isa<SCEVConstant>(Coeff)) {
1269 APInt ConstCoeff = cast<SCEVConstant>(Coeff)->getAPInt();
1275 // Make sure Coeff divides Delta exactly
1277 // Coeff doesn't divide Distance, no dependence
1300 if (Coeff->isOne()) {
1307 NewConstraint.setLine(Coeff,
1308 SE->getNegativeSCEV(Coeff),
1316 bool CoeffMaybePositive = !SE->isKnownNonPositive(Coeff);
1317 bool CoeffMaybeNegative = !SE->isKnownNonNegative(Coeff);
1367 const SCEV *Coeff, const SCEV *SrcConst, const SCEV *DstConst,
1371 LLVM_DEBUG(dbgs() << "\t Coeff = " << *Coeff << "\n");
1380 NewConstraint.setLine(Coeff, Coeff, Delta, CurLoop);
1392 const SCEVConstant *ConstCoeff = dyn_cast<SCEVConstant>(Coeff);
1455 // check that Coeff divides Delta
1463 // Coeff doesn't divide Delta, no dependence
1470 // if 2*Coeff doesn't divide Delta, then the equal direction isn't possible
2416 const SCEV *Coeff = AddRec->getStepRecurrence(*SE);
2419 const auto *Constant = getConstantPart(Coeff);
2435 const SCEV *Coeff = AddRec->getStepRecurrence(*SE);
2438 const auto *Constant = getConstantPart(Coeff);
2513 const SCEV *Coeff = AddRec->getStepRecurrence(*SE);
2515 ; // SrcCoeff == Coeff
2519 Constant = getConstantPart(Coeff);
2530 const SCEV *Coeff = AddRec->getStepRecurrence(*SE);
2532 DstCoeff = Coeff;
2536 Constant = getConstantPart(Coeff);
2847 SE->getZero(A[K].Coeff->getType());
2850 SE->getZero(A[K].Coeff->getType());
2875 const SCEV *Delta = SE->getMinusSCEV(A[K].Coeff, B[K].Coeff);
2886 const SCEV *Delta = SE->getMinusSCEV(A[K].Coeff, B[K].Coeff);
2918 getNegativePart(SE->getMinusSCEV(A[K].NegPart, B[K].Coeff));
2920 SE->getMinusSCEV(SE->getMulExpr(NegPart, Iter_1), B[K].Coeff);
2922 getPositivePart(SE->getMinusSCEV(A[K].PosPart, B[K].Coeff));
2924 SE->getMinusSCEV(SE->getMulExpr(PosPart, Iter_1), B[K].Coeff);
2930 getNegativePart(SE->getMinusSCEV(A[K].NegPart, B[K].Coeff));
2932 Bound[K].Lower[Dependence::DVEntry::LT] = SE->getNegativeSCEV(B[K].Coeff);
2934 getPositivePart(SE->getMinusSCEV(A[K].PosPart, B[K].Coeff));
2936 Bound[K].Upper[Dependence::DVEntry::LT] = SE->getNegativeSCEV(B[K].Coeff);
2962 getNegativePart(SE->getMinusSCEV(A[K].Coeff, B[K].PosPart));
2964 SE->getAddExpr(SE->getMulExpr(NegPart, Iter_1), A[K].Coeff);
2966 getPositivePart(SE->getMinusSCEV(A[K].Coeff, B[K].NegPart));
2968 SE->getAddExpr(SE->getMulExpr(PosPart, Iter_1), A[K].Coeff);
2973 const SCEV *NegPart = getNegativePart(SE->getMinusSCEV(A[K].Coeff, B[K].PosPart));
2975 Bound[K].Lower[Dependence::DVEntry::GT] = A[K].Coeff;
2976 const SCEV *PosPart = getPositivePart(SE->getMinusSCEV(A[K].Coeff, B[K].NegPart));
2978 Bound[K].Upper[Dependence::DVEntry::GT] = A[K].Coeff;
3004 CI[K].Coeff = Zero;
3012 CI[K].Coeff = AddRec->getStepRecurrence(*SE);
3013 CI[K].PosPart = getPositivePart(CI[K].Coeff);
3014 CI[K].NegPart = getNegativePart(CI[K].Coeff);
3022 LLVM_DEBUG(dbgs() << "\t " << K << "\t" << *CI[K].Coeff);