• Home
  • Raw
  • Download

Lines Matching refs:Bound

2512   BoundInfo *Bound = new BoundInfo[MaxLevels + 1];  in banerjeeMIVtest()  local
2519 Bound[K].Iterations = A[K].Iterations ? A[K].Iterations : B[K].Iterations; in banerjeeMIVtest()
2520 Bound[K].Direction = Dependence::DVEntry::ALL; in banerjeeMIVtest()
2521 Bound[K].DirSet = Dependence::DVEntry::NONE; in banerjeeMIVtest()
2522 findBoundsALL(A, B, Bound, K); in banerjeeMIVtest()
2525 if (Bound[K].Lower[Dependence::DVEntry::ALL]) in banerjeeMIVtest()
2526 DEBUG(dbgs() << *Bound[K].Lower[Dependence::DVEntry::ALL] << '\t'); in banerjeeMIVtest()
2529 if (Bound[K].Upper[Dependence::DVEntry::ALL]) in banerjeeMIVtest()
2530 DEBUG(dbgs() << *Bound[K].Upper[Dependence::DVEntry::ALL] << '\n'); in banerjeeMIVtest()
2538 if (testBounds(Dependence::DVEntry::ALL, 0, Bound, Delta)) { in banerjeeMIVtest()
2541 unsigned NewDeps = exploreDirections(1, A, B, Bound, in banerjeeMIVtest()
2548 Result.DV[K - 1].Direction = Old & Bound[K].DirSet; in banerjeeMIVtest()
2569 delete [] Bound; in banerjeeMIVtest()
2584 BoundInfo *Bound, in exploreDirections() argument
2593 Bound[K].DirSet |= Bound[K].Direction; in exploreDirections()
2595 switch (Bound[K].Direction) { in exploreDirections()
2621 findBoundsLT(A, B, Bound, Level); in exploreDirections()
2622 findBoundsGT(A, B, Bound, Level); in exploreDirections()
2623 findBoundsEQ(A, B, Bound, Level); in exploreDirections()
2627 if (Bound[Level].Lower[Dependence::DVEntry::LT]) in exploreDirections()
2628 DEBUG(dbgs() << *Bound[Level].Lower[Dependence::DVEntry::LT] << '\t'); in exploreDirections()
2631 if (Bound[Level].Upper[Dependence::DVEntry::LT]) in exploreDirections()
2632 DEBUG(dbgs() << *Bound[Level].Upper[Dependence::DVEntry::LT] << '\n'); in exploreDirections()
2636 if (Bound[Level].Lower[Dependence::DVEntry::EQ]) in exploreDirections()
2637 DEBUG(dbgs() << *Bound[Level].Lower[Dependence::DVEntry::EQ] << '\t'); in exploreDirections()
2640 if (Bound[Level].Upper[Dependence::DVEntry::EQ]) in exploreDirections()
2641 DEBUG(dbgs() << *Bound[Level].Upper[Dependence::DVEntry::EQ] << '\n'); in exploreDirections()
2645 if (Bound[Level].Lower[Dependence::DVEntry::GT]) in exploreDirections()
2646 DEBUG(dbgs() << *Bound[Level].Lower[Dependence::DVEntry::GT] << '\t'); in exploreDirections()
2649 if (Bound[Level].Upper[Dependence::DVEntry::GT]) in exploreDirections()
2650 DEBUG(dbgs() << *Bound[Level].Upper[Dependence::DVEntry::GT] << '\n'); in exploreDirections()
2659 if (testBounds(Dependence::DVEntry::LT, Level, Bound, Delta)) in exploreDirections()
2660 NewDeps += exploreDirections(Level + 1, A, B, Bound, in exploreDirections()
2664 if (testBounds(Dependence::DVEntry::EQ, Level, Bound, Delta)) in exploreDirections()
2665 NewDeps += exploreDirections(Level + 1, A, B, Bound, in exploreDirections()
2669 if (testBounds(Dependence::DVEntry::GT, Level, Bound, Delta)) in exploreDirections()
2670 NewDeps += exploreDirections(Level + 1, A, B, Bound, in exploreDirections()
2673 Bound[Level].Direction = Dependence::DVEntry::ALL; in exploreDirections()
2677 return exploreDirections(Level + 1, A, B, Bound, Loops, DepthExpanded, Delta); in exploreDirections()
2684 BoundInfo *Bound, in testBounds() argument
2686 Bound[Level].Direction = DirKind; in testBounds()
2687 if (const SCEV *LowerBound = getLowerBound(Bound)) in testBounds()
2690 if (const SCEV *UpperBound = getUpperBound(Bound)) in testBounds()
2714 BoundInfo *Bound, in findBoundsALL() argument
2716 Bound[K].Lower[Dependence::DVEntry::ALL] = nullptr; // Default value = -infinity. in findBoundsALL()
2717 Bound[K].Upper[Dependence::DVEntry::ALL] = nullptr; // Default value = +infinity. in findBoundsALL()
2718 if (Bound[K].Iterations) { in findBoundsALL()
2719 Bound[K].Lower[Dependence::DVEntry::ALL] = in findBoundsALL()
2721 Bound[K].Iterations); in findBoundsALL()
2722 Bound[K].Upper[Dependence::DVEntry::ALL] = in findBoundsALL()
2724 Bound[K].Iterations); in findBoundsALL()
2729 Bound[K].Lower[Dependence::DVEntry::ALL] = in findBoundsALL()
2732 Bound[K].Upper[Dependence::DVEntry::ALL] = in findBoundsALL()
2755 BoundInfo *Bound, in findBoundsEQ() argument
2757 Bound[K].Lower[Dependence::DVEntry::EQ] = nullptr; // Default value = -infinity. in findBoundsEQ()
2758 Bound[K].Upper[Dependence::DVEntry::EQ] = nullptr; // Default value = +infinity. in findBoundsEQ()
2759 if (Bound[K].Iterations) { in findBoundsEQ()
2762 Bound[K].Lower[Dependence::DVEntry::EQ] = in findBoundsEQ()
2763 SE->getMulExpr(NegativePart, Bound[K].Iterations); in findBoundsEQ()
2765 Bound[K].Upper[Dependence::DVEntry::EQ] = in findBoundsEQ()
2766 SE->getMulExpr(PositivePart, Bound[K].Iterations); in findBoundsEQ()
2774 Bound[K].Lower[Dependence::DVEntry::EQ] = NegativePart; // Zero in findBoundsEQ()
2777 Bound[K].Upper[Dependence::DVEntry::EQ] = PositivePart; // Zero in findBoundsEQ()
2797 BoundInfo *Bound, in findBoundsLT() argument
2799 Bound[K].Lower[Dependence::DVEntry::LT] = nullptr; // Default value = -infinity. in findBoundsLT()
2800 Bound[K].Upper[Dependence::DVEntry::LT] = nullptr; // Default value = +infinity. in findBoundsLT()
2801 if (Bound[K].Iterations) { in findBoundsLT()
2803 Bound[K].Iterations, SE->getOne(Bound[K].Iterations->getType())); in findBoundsLT()
2806 Bound[K].Lower[Dependence::DVEntry::LT] = in findBoundsLT()
2810 Bound[K].Upper[Dependence::DVEntry::LT] = in findBoundsLT()
2819 Bound[K].Lower[Dependence::DVEntry::LT] = SE->getNegativeSCEV(B[K].Coeff); in findBoundsLT()
2823 Bound[K].Upper[Dependence::DVEntry::LT] = SE->getNegativeSCEV(B[K].Coeff); in findBoundsLT()
2843 BoundInfo *Bound, in findBoundsGT() argument
2845 Bound[K].Lower[Dependence::DVEntry::GT] = nullptr; // Default value = -infinity. in findBoundsGT()
2846 Bound[K].Upper[Dependence::DVEntry::GT] = nullptr; // Default value = +infinity. in findBoundsGT()
2847 if (Bound[K].Iterations) { in findBoundsGT()
2849 Bound[K].Iterations, SE->getOne(Bound[K].Iterations->getType())); in findBoundsGT()
2852 Bound[K].Lower[Dependence::DVEntry::GT] = in findBoundsGT()
2856 Bound[K].Upper[Dependence::DVEntry::GT] = in findBoundsGT()
2864 Bound[K].Lower[Dependence::DVEntry::GT] = A[K].Coeff; in findBoundsGT()
2867 Bound[K].Upper[Dependence::DVEntry::GT] = A[K].Coeff; in findBoundsGT()
2934 const SCEV *DependenceAnalysis::getLowerBound(BoundInfo *Bound) const { in getLowerBound()
2935 const SCEV *Sum = Bound[1].Lower[Bound[1].Direction]; in getLowerBound()
2937 if (Bound[K].Lower[Bound[K].Direction]) in getLowerBound()
2938 Sum = SE->getAddExpr(Sum, Bound[K].Lower[Bound[K].Direction]); in getLowerBound()
2950 const SCEV *DependenceAnalysis::getUpperBound(BoundInfo *Bound) const { in getUpperBound()
2951 const SCEV *Sum = Bound[1].Upper[Bound[1].Direction]; in getUpperBound()
2953 if (Bound[K].Upper[Bound[K].Direction]) in getUpperBound()
2954 Sum = SE->getAddExpr(Sum, Bound[K].Upper[Bound[K].Direction]); in getUpperBound()