reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

Derived Classes

include/llvm/Analysis/DependenceAnalysis.h
  214   class FullDependence final : public Dependence {

References

include/llvm/Analysis/DDG.h
  205   using DependenceList = SmallVector<std::unique_ptr<Dependence>, 1>;
include/llvm/Analysis/DependenceAnalysis.h
   72     Dependence(Dependence &&) = default;
   73     Dependence &operator=(Dependence &&) = default;
   73     Dependence &operator=(Dependence &&) = default;
  182     const Dependence *getNextPredecessor() const { return NextPredecessor; }
  186     const Dependence *getNextSuccessor() const { return NextSuccessor; }
  190     void setNextPredecessor(const Dependence *pred) { NextPredecessor = pred; }
  194     void setNextSuccessor(const Dependence *succ) { NextSuccessor = succ; }
  202     const Dependence *NextPredecessor, *NextSuccessor;
  214   class FullDependence final : public Dependence {
  287     std::unique_ptr<Dependence> depends(Instruction *Src,
  331     const SCEV *getSplitIteration(const Dependence &Dep, unsigned Level);
  924     void updateDirection(Dependence::DVEntry &Level,
lib/Analysis/DependenceAnalysis.cpp
 1201       Result.DV[Level].Direction &= Dependence::DVEntry::LT;
 1203       Result.DV[Level].Direction &= Dependence::DVEntry::GT;
 1205       Result.DV[Level].Direction &= Dependence::DVEntry::EQ;
 1212     Result.DV[Level].Direction &= Dependence::DVEntry::EQ;
 1237     unsigned NewDirection = Dependence::DVEntry::NONE;
 1240       NewDirection = Dependence::DVEntry::LT;
 1242       NewDirection |= Dependence::DVEntry::EQ;
 1245       NewDirection |= Dependence::DVEntry::GT;
 1298     Result.DV[Level].Direction &= unsigned(~Dependence::DVEntry::LT);
 1299     Result.DV[Level].Direction &= unsigned(~Dependence::DVEntry::GT);
 1358       Result.DV[Level].Direction &= unsigned(~Dependence::DVEntry::LT);
 1359       Result.DV[Level].Direction &= unsigned(~Dependence::DVEntry::GT);
 1392     Result.DV[Level].Direction &= unsigned(~Dependence::DVEntry::EQ);
 1589   unsigned NewDirection = Dependence::DVEntry::NONE;
 1605     NewDirection |= Dependence::DVEntry::LT;
 1631     NewDirection |= Dependence::DVEntry::EQ;
 1648     NewDirection |= Dependence::DVEntry::GT;
 1654   if (Result.DV[Level].Direction == Dependence::DVEntry::NONE)
 1656   return Result.DV[Level].Direction == Dependence::DVEntry::NONE;
 1725       Result.DV[Level].Direction &= Dependence::DVEntry::GE;
 1753         Result.DV[Level].Direction &= Dependence::DVEntry::LE;
 1834       Result.DV[Level].Direction &= Dependence::DVEntry::LE;
 1862         Result.DV[Level].Direction &= Dependence::DVEntry::GE;
 2487         Result.DV[Level - 1].Direction &= unsigned(~Dependence::DVEntry::EQ);
 2551     Bound[K].Direction = Dependence::DVEntry::ALL;
 2552     Bound[K].DirSet = Dependence::DVEntry::NONE;
 2556     if (Bound[K].Lower[Dependence::DVEntry::ALL])
 2560     if (Bound[K].Upper[Dependence::DVEntry::ALL])
 2569   if (testBounds(Dependence::DVEntry::ALL, 0, Bound, Delta)) {
 2625         case Dependence::DVEntry::LT:
 2628         case Dependence::DVEntry::EQ:
 2631         case Dependence::DVEntry::GT:
 2634         case Dependence::DVEntry::ALL:
 2656       if (Bound[Level].Lower[Dependence::DVEntry::LT])
 2661       if (Bound[Level].Upper[Dependence::DVEntry::LT])
 2667       if (Bound[Level].Lower[Dependence::DVEntry::EQ])
 2672       if (Bound[Level].Upper[Dependence::DVEntry::EQ])
 2678       if (Bound[Level].Lower[Dependence::DVEntry::GT])
 2683       if (Bound[Level].Upper[Dependence::DVEntry::GT])
 2694     if (testBounds(Dependence::DVEntry::LT, Level, Bound, Delta))
 2699     if (testBounds(Dependence::DVEntry::EQ, Level, Bound, Delta))
 2704     if (testBounds(Dependence::DVEntry::GT, Level, Bound, Delta))
 2708     Bound[Level].Direction = Dependence::DVEntry::ALL;
 2747   Bound[K].Lower[Dependence::DVEntry::ALL] = nullptr; // Default value = -infinity.
 2748   Bound[K].Upper[Dependence::DVEntry::ALL] = nullptr; // Default value = +infinity.
 2750     Bound[K].Lower[Dependence::DVEntry::ALL] =
 2753     Bound[K].Upper[Dependence::DVEntry::ALL] =
 2760       Bound[K].Lower[Dependence::DVEntry::ALL] =
 2763       Bound[K].Upper[Dependence::DVEntry::ALL] =
 2786   Bound[K].Lower[Dependence::DVEntry::EQ] = nullptr; // Default value = -infinity.
 2787   Bound[K].Upper[Dependence::DVEntry::EQ] = nullptr; // Default value = +infinity.
 2791     Bound[K].Lower[Dependence::DVEntry::EQ] =
 2794     Bound[K].Upper[Dependence::DVEntry::EQ] =
 2803       Bound[K].Lower[Dependence::DVEntry::EQ] = NegativePart; // Zero
 2806       Bound[K].Upper[Dependence::DVEntry::EQ] = PositivePart; // Zero
 2826   Bound[K].Lower[Dependence::DVEntry::LT] = nullptr; // Default value = -infinity.
 2827   Bound[K].Upper[Dependence::DVEntry::LT] = nullptr; // Default value = +infinity.
 2833     Bound[K].Lower[Dependence::DVEntry::LT] =
 2837     Bound[K].Upper[Dependence::DVEntry::LT] =
 2846       Bound[K].Lower[Dependence::DVEntry::LT] = SE->getNegativeSCEV(B[K].Coeff);
 2850       Bound[K].Upper[Dependence::DVEntry::LT] = SE->getNegativeSCEV(B[K].Coeff);
 2870   Bound[K].Lower[Dependence::DVEntry::GT] = nullptr; // Default value = -infinity.
 2871   Bound[K].Upper[Dependence::DVEntry::GT] = nullptr; // Default value = +infinity.
 2877     Bound[K].Lower[Dependence::DVEntry::GT] =
 2881     Bound[K].Upper[Dependence::DVEntry::GT] =
 2889       Bound[K].Lower[Dependence::DVEntry::GT] = A[K].Coeff;
 2892       Bound[K].Upper[Dependence::DVEntry::GT] = A[K].Coeff;
 3211 void DependenceInfo::updateDirection(Dependence::DVEntry &Level,
 3221     unsigned NewDirection = Dependence::DVEntry::NONE;
 3223       NewDirection = Dependence::DVEntry::EQ;
 3225       NewDirection |= Dependence::DVEntry::LT;
 3227       NewDirection |= Dependence::DVEntry::GT;
 3238     unsigned NewDirection = Dependence::DVEntry::NONE;
 3243       NewDirection |= Dependence::DVEntry::EQ;
 3248       NewDirection |= Dependence::DVEntry::LT;
 3253       NewDirection |= Dependence::DVEntry::GT;
 3404 std::unique_ptr<Dependence>
 3418     return std::make_unique<Dependence>(Src, Dst);
 3433     return std::make_unique<Dependence>(Src, Dst);
 3741         if (Result.DV[SJ - 1].Direction == Dependence::DVEntry::NONE)
 3760       if (!(Result.getDirection(II) & Dependence::DVEntry::EQ)) {
 3771       if (Result.getDirection(II) != Dependence::DVEntry::EQ) {
 3832 const SCEV *DependenceInfo::getSplitIteration(const Dependence &Dep,
lib/Analysis/DependenceGraphBuilder.cpp
  193               if (D->getDirection(Level) == Dependence::DVEntry::EQ)
  195               else if (D->getDirection(Level) == Dependence::DVEntry::GT) {
  200               } else if (D->getDirection(Level) == Dependence::DVEntry::LT)
lib/Analysis/LoopCacheAnalysis.cpp
  208   std::unique_ptr<Dependence> D =
lib/Transforms/Scalar/LoopInterchange.cpp
  152             if (Dir == Dependence::DVEntry::LT ||
  153                 Dir == Dependence::DVEntry::LE)
  155             else if (Dir == Dependence::DVEntry::GT ||
  156                      Dir == Dependence::DVEntry::GE)
  158             else if (Dir == Dependence::DVEntry::EQ)
lib/Transforms/Utils/LoopUnrollAndJam.cpp
  642           if (D->getDirection(LoopDepth) & Dependence::DVEntry::GT) {
  650           if (D->getDirection(LoopDepth) & Dependence::DVEntry::GT &&
  651               D->getDirection(LoopDepth + 1) & Dependence::DVEntry::LT) {
usr/include/c++/7.4.0/bits/unique_ptr.h
   68         default_delete(const default_delete<_Up>&) noexcept { }
   72       operator()(_Tp* __ptr) const
   74 	static_assert(!is_void<_Tp>::value,
   76 	static_assert(sizeof(_Tp)>0,
  122 	  using type = _Up*;
  137       using pointer = typename _Ptr<_Tp, _Dp>::type;
  161 	typename __uniq_ptr_impl<_Tp, _Up>::_DeleterConstraint::type;
  163       __uniq_ptr_impl<_Tp, _Dp> _M_t;
  166       using pointer	  = typename __uniq_ptr_impl<_Tp, _Dp>::pointer;
  167       using element_type  = _Tp;
  252 	unique_ptr(unique_ptr<_Up, _Ep>&& __u) noexcept
  689     operator==(const unique_ptr<_Tp, _Dp>& __x, nullptr_t) noexcept
  811     { typedef unique_ptr<_Tp> __single_object; };
  823     inline typename _MakeUniq<_Tp>::__single_object
  825     { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); }
usr/include/c++/7.4.0/type_traits
  215     : public __is_void_helper<typename remove_cv<_Tp>::type>::type
  581     : public __or_<is_lvalue_reference<_Tp>,
  582                    is_rvalue_reference<_Tp>>::type
  601     : public __not_<__or_<is_function<_Tp>, is_reference<_Tp>,
  601     : public __not_<__or_<is_function<_Tp>, is_reference<_Tp>,
  602                           is_void<_Tp>>>::type
  638     : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
  638     : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
 1554     { typedef _Tp     type; };
 1563     { typedef _Tp     type; };
 1574       remove_const<typename remove_volatile<_Tp>::type>::type     type;
 1645     { typedef _Tp&   type; };
 1650     : public __add_lvalue_reference_helper<_Tp>