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

References

include/llvm/ADT/DenseMap.h
   40 struct DenseMapPair : public std::pair<KeyT, ValueT> {
   45   ValueT &getSecond() { return std::pair<KeyT, ValueT>::second; }
   46   const ValueT &getSecond() const { return std::pair<KeyT, ValueT>::second; }
   66   using mapped_type = ValueT;
   69   using iterator = DenseMapIterator<KeyT, ValueT, KeyInfoT, BucketT>;
   71       DenseMapIterator<KeyT, ValueT, KeyInfoT, BucketT, true>;
  185   ValueT lookup(const_arg_type_t<KeyT> Val) const {
  195   std::pair<iterator, bool> insert(const std::pair<KeyT, ValueT> &KV) {
  202   std::pair<iterator, bool> insert(std::pair<KeyT, ValueT> &&KV) {
  219         InsertIntoBucket(TheBucket, std::move(Key), std::forward<Ts>(Args)...);
  249   std::pair<iterator, bool> insert_as(std::pair<KeyT, ValueT> &&KV,
  299   ValueT &operator[](const KeyT &Key) {
  311   ValueT &operator[](KeyT &&Key) {
  380         ::new (&DestBucket->getSecond()) ValueT(std::move(B->getSecond()));
  392       const DenseMapBase<OtherBaseT, KeyT, ValueT, KeyInfoT, BucketT> &other) {
  516                             ValueArgs &&... Values) {
  520     ::new (&TheBucket->getSecond()) ValueT(std::forward<ValueArgs>(Values)...);
  520     ::new (&TheBucket->getSecond()) ValueT(std::forward<ValueArgs>(Values)...);
  526                                       ValueT &&Value, LookupKeyT &Lookup) {
  684 class DenseMap : public DenseMapBase<DenseMap<KeyT, ValueT, KeyInfoT, BucketT>,
  685                                      KeyT, ValueT, KeyInfoT, BucketT> {
  690   using BaseT = DenseMapBase<DenseMap, KeyT, ValueT, KeyInfoT, BucketT>;
 1163   using ConstIterator = DenseMapIterator<KeyT, ValueT, KeyInfoT, Bucket, true>;
 1199       const DenseMapIterator<KeyT, ValueT, KeyInfoT, Bucket, IsConstSrc> &I)
tools/polly/include/polly/ScopDetection.h
  168     DetectionContext(const DetectionContext &&DC)
  201   using DetectionContextMapTy = DenseMap<BBPair, DetectionContext>;
  226   bool addOverApproximatedRegion(Region *AR, DetectionContext &Context) const;
  235   getDelinearizationTerms(DetectionContext &Context,
  246   bool hasValidArraySizes(DetectionContext &Context,
  260   bool computeAccessFunctions(DetectionContext &Context,
  271   bool hasBaseAffineAccesses(DetectionContext &Context,
  277   bool hasAffineMemoryAccesses(DetectionContext &Context) const;
  293   bool allBlocksValid(DetectionContext &Context) const;
  306   bool hasSufficientCompute(DetectionContext &Context,
  318   bool hasPossiblyDistributableLoop(DetectionContext &Context) const;
  328   bool isProfitableRegion(DetectionContext &Context) const;
  335   bool isValidRegion(DetectionContext &Context) const;
  343   bool isValidIntrinsicInst(IntrinsicInst &II, DetectionContext &Context) const;
  351   bool isValidCallInst(CallInst &CI, DetectionContext &Context) const;
  363                                        DetectionContext &Context) const;
  373   bool isInvariant(Value &Val, const Region &Reg, DetectionContext &Ctx) const;
  382                      DetectionContext &Context) const;
  390   bool isValidMemoryAccess(MemAccInst Inst, DetectionContext &Context) const;
  408   bool isValidInstruction(Instruction &Inst, DetectionContext &Context) const;
  420                      bool IsLoopBranch, DetectionContext &Context) const;
  432                      bool IsLoopBranch, DetectionContext &Context) const;
  443   bool isAffine(const SCEV *S, Loop *Scope, DetectionContext &Context) const;
  460                   DetectionContext &Context) const;
  468   bool isValidLoop(Loop *L, DetectionContext &Context) const;
  493   bool canUseISLTripCount(Loop *L, DetectionContext &Context) const;
  513   inline bool invalid(DetectionContext &Context, bool Assert,
  539   DetectionContext *getDetectionContext(const Region *R) const;
tools/polly/include/polly/ScopInfo.h
 1780   ScopDetection::DetectionContext &DC;
 1947        ScopDetection::DetectionContext &DC, OptimizationRemarkEmitter &ORE);
tools/polly/lib/Analysis/ScopDetection.cpp
  354     auto &DC = DIt.getSecond();
  384 inline bool ScopDetection::invalid(DetectionContext &Context, bool Assert,
  411     DetectionContext &Context = It.first->second;
  433                                               DetectionContext &Context) const {
  451     InvariantLoadsSetTy &RequiredILS, DetectionContext &Context) const {
  521                              DetectionContext &Context) const {
  534                                   DetectionContext &Context) const {
  558                                   DetectionContext &Context) const {
  638                                DetectionContext &Context) const {
  669                                     DetectionContext &Context) const {
  741                                          DetectionContext &Context) const {
  787                                 DetectionContext &Ctx) const {
  901 bool ScopDetection::hasValidArraySizes(DetectionContext &Context,
  967     DetectionContext &Context, const SCEVUnknown *BasePointer,
 1018 bool ScopDetection::hasBaseAffineAccesses(DetectionContext &Context,
 1035 bool ScopDetection::hasAffineMemoryAccesses(DetectionContext &Context) const {
 1056                                   DetectionContext &Context) const {
 1181                                         DetectionContext &Context) const {
 1193                                        DetectionContext &Context) const {
 1259                                        DetectionContext &Context) const {
 1274 bool ScopDetection::isValidLoop(Loop *L, DetectionContext &Context) const {
 1399     DetectionContext &Context = It.first->second;
 1468   DetectionContext &Context = It.first->second;
 1522 bool ScopDetection::allBlocksValid(DetectionContext &Context) const {
 1565 bool ScopDetection::hasSufficientCompute(DetectionContext &Context,
 1582     DetectionContext &Context) const {
 1601 bool ScopDetection::isProfitableRegion(DetectionContext &Context) const {
 1637 bool ScopDetection::isValidRegion(DetectionContext &Context) const {
 1702     auto &DC = DIt.getSecond();
 1823 ScopDetection::DetectionContext *
 1832   const DetectionContext *DC = getDetectionContext(R);
 1839   DetectionContext Context(const_cast<Region &>(R), AA, true /*verifying*/);
tools/polly/lib/Analysis/ScopInfo.cpp
 1699            DominatorTree &DT, ScopDetection::DetectionContext &DC,
usr/include/c++/7.4.0/bits/move.h
   72     constexpr _Tp&&
   73     forward(typename std::remove_reference<_Tp>::type& __t) noexcept
   83     constexpr _Tp&&
   84     forward(typename std::remove_reference<_Tp>::type&& __t) noexcept
   98     move(_Tp&& __t) noexcept
usr/include/c++/7.4.0/bits/stl_pair.h
  101 		      is_constructible<_T2, const _U2&>>::value;
  101 		      is_constructible<_T2, const _U2&>>::value;
  108 		      is_convertible<const _U2&, _T2>>::value;
  108 		      is_convertible<const _U2&, _T2>>::value;
  115 		      is_constructible<_T2, _U2&&>>::value;
  115 		      is_constructible<_T2, _U2&&>>::value;
  122 		      is_convertible<_U2&&, _T2>>::value;
  122 		      is_convertible<_U2&&, _T2>>::value;
  129 				  is_convertible<_U2&&, _T2>>;
  129 				  is_convertible<_U2&&, _T2>>;
  134 		      is_constructible<_T2, _U2&&>,
  134 		      is_constructible<_T2, _U2&&>,
  143 				  is_convertible<const _U2&, _T2>>;
  143 				  is_convertible<const _U2&, _T2>>;
  148 		      is_constructible<_T2, const _U2&&>,
  148 		      is_constructible<_T2, const _U2&&>,
  209     : private __pair_base<_T1, _T2>
  212       typedef _T2 second_type;   /// @c second_type is the second bound type
  215       _T2 second;                /// @c second is a copy of the second object
  252       using _PCCP = _PCC<true, _T1, _T2>;
  260       constexpr pair(const _T1& __a, const _T2& __b)
  269       explicit constexpr pair(const _T1& __a, const _T2& __b)
  283 			    _T1, _T2>;
  311        constexpr pair(_U1&& __x, const _T2& __y)
  318        explicit constexpr pair(_U1&& __x, const _T2& __y)
  325        constexpr pair(const _T1& __x, _U2&& __y)
  341 	constexpr pair(_U1&& __x, _U2&& __y)
  342 	: first(std::forward<_U1>(__x)), second(std::forward<_U2>(__y)) { }
  380 		       is_copy_assignable<_T2>>::value,
  391 		       is_move_assignable<_T2>>::value,
  523                    typename __decay_and_strip<_T2>::__type>
  524     make_pair(_T1&& __x, _T2&& __y)
  527       typedef typename __decay_and_strip<_T2>::__type __ds_type2;
  529       return __pair_type(std::forward<_T1>(__x), std::forward<_T2>(__y));
usr/include/c++/7.4.0/type_traits
  215     : public __is_void_helper<typename remove_cv<_Tp>::type>::type
  326     : public __is_integral_helper<typename remove_cv<_Tp>::type>::type
  354     : public __is_floating_point_helper<typename remove_cv<_Tp>::type>::type
  381     : public __is_pointer_helper<typename remove_cv<_Tp>::type>::type
  567     : public __is_null_pointer_helper<typename remove_cv<_Tp>::type>::type
  581     : public __or_<is_lvalue_reference<_Tp>,
  582                    is_rvalue_reference<_Tp>>::type
  588     : public __or_<is_integral<_Tp>, is_floating_point<_Tp>>::type
  588     : public __or_<is_integral<_Tp>, is_floating_point<_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
  611     : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>,
  611     : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>,
  611     : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>,
  612                    is_member_pointer<_Tp>, is_null_pointer<_Tp>>::type
  612                    is_member_pointer<_Tp>, is_null_pointer<_Tp>>::type
  631     : public __is_member_pointer_helper<typename remove_cv<_Tp>::type>::type
  638     : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
  638     : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
  777     : public __and_<is_array<_Tp>, __not_<extent<_Tp>>>
  777     : public __and_<is_array<_Tp>, __not_<extent<_Tp>>>
  798       typedef decltype(__test<_Tp>(0)) type;
  811                remove_all_extents<_Tp>::type>::type
  825     : public __is_destructible_safe<_Tp>::type
  889       typedef decltype(__test<_Tp>(0)) type;
  894     : public __and_<__not_<is_void<_Tp>>,
  895                     __is_default_constructible_impl<_Tp>>
  915     : public __is_default_constructible_atom<_Tp>::type
  921     : public __is_default_constructible_safe<_Tp>::type
  984       typedef decltype(__test<_Tp, _Arg>(0)) type;
  989     : public __and_<is_destructible<_Tp>,
  990                     __is_direct_constructible_impl<_Tp, _Arg>>
 1072 			 __is_direct_constructible_ref_cast<_Tp, _Arg>,
 1073 			 __is_direct_constructible_new_safe<_Tp, _Arg>
 1079     : public __is_direct_constructible_new<_Tp, _Arg>::type
 1119     : public __is_direct_constructible<_Tp, _Arg>
 1130     : public __is_constructible_impl<_Tp, _Args...>::type
 1286     : public is_assignable<_Tp&, const _Tp&>
 1286     : public is_assignable<_Tp&, const _Tp&>
 1292     : public __is_copy_assignable_impl<_Tp>
 1304     : public is_assignable<_Tp&, _Tp&&>
 1304     : public is_assignable<_Tp&, _Tp&&>
 1310     : public __is_move_assignable_impl<_Tp>
 1400       : public __and_<is_default_constructible<_Tp>,
 1401                       __is_implicitly_default_constructible_safe<_Tp>>
 1526 	static void __test_aux(_To1);
 1538       typedef decltype(__test<_From, _To>(0)) type;
 1545     : public __is_convertible_helper<_From, _To>::type
 1554     { typedef _Tp     type; };
 1563     { typedef _Tp     type; };
 1574       remove_const<typename remove_volatile<_Tp>::type>::type     type;
 1629     { typedef _Tp   type; };
 1633     { typedef _Tp   type; };
 1659     { typedef _Tp&&   type; };
 1955     { typedef _Tp     type; };
 2104     { typedef typename remove_cv<_Up>::type __type; };
 2118       typedef typename remove_reference<_Tp>::type __remove_type;
 2131       typedef _Tp __type;
 2144 	typename decay<_Tp>::type>::__type __type;