Lines Matching refs:Delta
971 const SCEV *Delta = SE->getMinusSCEV(X, Y); in isKnownPredicate() local
974 return Delta->isZero(); in isKnownPredicate()
976 return SE->isKnownNonZero(Delta); in isKnownPredicate()
978 return SE->isKnownNonNegative(Delta); in isKnownPredicate()
980 return SE->isKnownNonPositive(Delta); in isKnownPredicate()
982 return SE->isKnownPositive(Delta); in isKnownPredicate()
984 return SE->isKnownNegative(Delta); in isKnownPredicate()
1095 const SCEV *Delta = SE->getMinusSCEV(SrcConst, DstConst); in strongSIVtest() local
1096 DEBUG(dbgs() << "\t Delta = " << *Delta); in strongSIVtest()
1097 DEBUG(dbgs() << ", " << *Delta->getType() << "\n"); in strongSIVtest()
1100 if (const SCEV *UpperBound = collectUpperBound(CurLoop, Delta->getType())) { in strongSIVtest()
1104 SE->isKnownNonNegative(Delta) ? Delta : SE->getNegativeSCEV(Delta); in strongSIVtest()
1117 if (isa<SCEVConstant>(Delta) && isa<SCEVConstant>(Coeff)) { in strongSIVtest()
1118 APInt ConstDelta = cast<SCEVConstant>(Delta)->getAPInt(); in strongSIVtest()
1142 else if (Delta->isZero()) { in strongSIVtest()
1144 Result.DV[Level].Distance = Delta; in strongSIVtest()
1145 NewConstraint.setDistance(Delta, CurLoop); in strongSIVtest()
1151 DEBUG(dbgs() << "\t Distance = " << *Delta << "\n"); in strongSIVtest()
1152 Result.DV[Level].Distance = Delta; // since X/1 == X in strongSIVtest()
1153 NewConstraint.setDistance(Delta, CurLoop); in strongSIVtest()
1159 SE->getNegativeSCEV(Delta), CurLoop); in strongSIVtest()
1163 bool DeltaMaybeZero = !SE->isKnownNonZero(Delta); in strongSIVtest()
1164 bool DeltaMaybePositive = !SE->isKnownNonPositive(Delta); in strongSIVtest()
1165 bool DeltaMaybeNegative = !SE->isKnownNonNegative(Delta); in strongSIVtest()
1232 const SCEV *Delta = SE->getMinusSCEV(DstConst, SrcConst); in weakCrossingSIVtest() local
1233 DEBUG(dbgs() << "\t Delta = " << *Delta << "\n"); in weakCrossingSIVtest()
1234 NewConstraint.setLine(Coeff, Coeff, Delta, CurLoop); in weakCrossingSIVtest()
1235 if (Delta->isZero()) { in weakCrossingSIVtest()
1243 Result.DV[Level].Distance = Delta; // = 0 in weakCrossingSIVtest()
1255 Delta = SE->getNegativeSCEV(Delta); in weakCrossingSIVtest()
1261 SE->getSMaxExpr(SE->getZero(Delta->getType()), Delta), in weakCrossingSIVtest()
1262 SE->getMulExpr(SE->getConstant(Delta->getType(), 2), ConstCoeff)); in weakCrossingSIVtest()
1265 const SCEVConstant *ConstDelta = dyn_cast<SCEVConstant>(Delta); in weakCrossingSIVtest()
1271 DEBUG(dbgs() << "\t Delta = " << *Delta << "\n"); in weakCrossingSIVtest()
1273 if (SE->isKnownNegative(Delta)) { in weakCrossingSIVtest()
1282 if (const SCEV *UpperBound = collectUpperBound(CurLoop, Delta->getType())) { in weakCrossingSIVtest()
1288 if (isKnownPredicate(CmpInst::ICMP_SGT, Delta, ML)) { in weakCrossingSIVtest()
1294 if (isKnownPredicate(CmpInst::ICMP_EQ, Delta, ML)) { in weakCrossingSIVtest()
1304 Result.DV[Level].Distance = SE->getZero(Delta->getType()); in weakCrossingSIVtest()
1348 bool findGCD(unsigned Bits, APInt AM, APInt BM, APInt Delta, in findGCD() argument
1369 R = Delta.srem(G); in findGCD()
1372 Q = Delta.sdiv(G); in findGCD()
1453 const SCEV *Delta = SE->getMinusSCEV(DstConst, SrcConst); in exactSIVtest() local
1454 DEBUG(dbgs() << "\t Delta = " << *Delta << "\n"); in exactSIVtest()
1456 Delta, CurLoop); in exactSIVtest()
1457 const SCEVConstant *ConstDelta = dyn_cast<SCEVConstant>(Delta); in exactSIVtest()
1482 collectConstantUpperBound(CurLoop, Delta->getType())) { in exactSIVtest()
1666 const SCEV *Delta = SE->getMinusSCEV(SrcConst, DstConst); in weakZeroSrcSIVtest() local
1667 NewConstraint.setLine(SE->getZero(Delta->getType()), DstCoeff, Delta, in weakZeroSrcSIVtest()
1669 DEBUG(dbgs() << "\t Delta = " << *Delta << "\n"); in weakZeroSrcSIVtest()
1685 SE->isKnownNegative(ConstCoeff) ? SE->getNegativeSCEV(Delta) : Delta; in weakZeroSrcSIVtest()
1689 if (const SCEV *UpperBound = collectUpperBound(CurLoop, Delta->getType())) { in weakZeroSrcSIVtest()
1718 if (isa<SCEVConstant>(Delta) && in weakZeroSrcSIVtest()
1719 !isRemainderZero(cast<SCEVConstant>(Delta), ConstCoeff)) { in weakZeroSrcSIVtest()
1776 const SCEV *Delta = SE->getMinusSCEV(DstConst, SrcConst); in weakZeroDstSIVtest() local
1777 NewConstraint.setLine(SrcCoeff, SE->getZero(Delta->getType()), Delta, in weakZeroDstSIVtest()
1779 DEBUG(dbgs() << "\t Delta = " << *Delta << "\n"); in weakZeroDstSIVtest()
1795 SE->isKnownNegative(ConstCoeff) ? SE->getNegativeSCEV(Delta) : Delta; in weakZeroDstSIVtest()
1799 if (const SCEV *UpperBound = collectUpperBound(CurLoop, Delta->getType())) { in weakZeroDstSIVtest()
1828 if (isa<SCEVConstant>(Delta) && in weakZeroDstSIVtest()
1829 !isRemainderZero(cast<SCEVConstant>(Delta), ConstCoeff)) { in weakZeroDstSIVtest()
1859 const SCEV *Delta = SE->getMinusSCEV(DstConst, SrcConst); in exactRDIVtest() local
1860 DEBUG(dbgs() << "\t Delta = " << *Delta << "\n"); in exactRDIVtest()
1861 const SCEVConstant *ConstDelta = dyn_cast<SCEVConstant>(Delta); in exactRDIVtest()
1885 collectConstantUpperBound(SrcLoop, Delta->getType())) { in exactRDIVtest()
1895 collectConstantUpperBound(DstLoop, Delta->getType())) { in exactRDIVtest()
2337 const SCEV *Delta = SE->getMinusSCEV(DstConst, SrcConst); in gcdMIVtest() local
2338 DEBUG(dbgs() << " Delta = " << *Delta << "\n"); in gcdMIVtest()
2339 const SCEVConstant *Constant = dyn_cast<SCEVConstant>(Delta); in gcdMIVtest()
2340 if (const SCEVAddExpr *Sum = dyn_cast<SCEVAddExpr>(Delta)) { in gcdMIVtest()
2435 Delta = SE->getMinusSCEV(SrcCoeff, DstCoeff); in gcdMIVtest()
2436 if (const SCEVMulExpr *Product = dyn_cast<SCEVMulExpr>(Delta)) in gcdMIVtest()
2440 else if (isa<SCEVConstant>(Delta)) in gcdMIVtest()
2441 Constant = cast<SCEVConstant>(Delta); in gcdMIVtest()
2513 const SCEV *Delta = SE->getMinusSCEV(B0, A0); in banerjeeMIVtest() local
2514 DEBUG(dbgs() << "\tDelta = " << *Delta << '\n'); in banerjeeMIVtest()
2538 if (testBounds(Dependence::DVEntry::ALL, 0, Bound, Delta)) { in banerjeeMIVtest()
2542 Loops, DepthExpanded, Delta); in banerjeeMIVtest()
2587 const SCEV *Delta) const { in exploreDirections()
2659 if (testBounds(Dependence::DVEntry::LT, Level, Bound, Delta)) in exploreDirections()
2661 Loops, DepthExpanded, Delta); in exploreDirections()
2664 if (testBounds(Dependence::DVEntry::EQ, Level, Bound, Delta)) in exploreDirections()
2666 Loops, DepthExpanded, Delta); in exploreDirections()
2669 if (testBounds(Dependence::DVEntry::GT, Level, Bound, Delta)) in exploreDirections()
2671 Loops, DepthExpanded, Delta); in exploreDirections()
2677 return exploreDirections(Level + 1, A, B, Bound, Loops, DepthExpanded, Delta); in exploreDirections()
2685 const SCEV *Delta) const { in testBounds()
2688 if (isKnownPredicate(CmpInst::ICMP_SGT, LowerBound, Delta)) in testBounds()
2691 if (isKnownPredicate(CmpInst::ICMP_SGT, Delta, UpperBound)) in testBounds()
2760 const SCEV *Delta = SE->getMinusSCEV(A[K].Coeff, B[K].Coeff); in findBoundsEQ() local
2761 const SCEV *NegativePart = getNegativePart(Delta); in findBoundsEQ()
2764 const SCEV *PositivePart = getPositivePart(Delta); in findBoundsEQ()
2771 const SCEV *Delta = SE->getMinusSCEV(A[K].Coeff, B[K].Coeff); in findBoundsEQ() local
2772 const SCEV *NegativePart = getNegativePart(Delta); in findBoundsEQ()
2775 const SCEV *PositivePart = getPositivePart(Delta); in findBoundsEQ()