|
reference, declaration → definition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
|
Declarations
tools/polly/lib/External/isl/include/isl/isl-noexceptions.h 208 class union_map;
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) {
852 SmallDenseMap<KeyT, ValueT, InlineBuckets, KeyInfoT, BucketT>, KeyT,
853 ValueT, KeyInfoT, BucketT> {
1031 ::new (&TmpEnd->getSecond()) ValueT(std::move(P->getSecond()));
1163 using ConstIterator = DenseMapIterator<KeyT, ValueT, KeyInfoT, Bucket, true>;
1199 const DenseMapIterator<KeyT, ValueT, KeyInfoT, Bucket, IsConstSrc> &I)
tools/polly/include/polly/DeLICM.h 36 isl::union_set ExistingUnused, isl::union_map ExistingKnown,
37 isl::union_map ExistingWrites,
39 isl::union_set ProposedUnused, isl::union_map ProposedKnown,
40 isl::union_map ProposedWrites,
tools/polly/include/polly/DependenceInfo.h 91 isl::union_map getDependences(int Kinds) const;
tools/polly/include/polly/FlattenAlgo.h 34 isl::union_map flattenSchedule(isl::union_map Schedule);
34 isl::union_map flattenSchedule(isl::union_map Schedule);
tools/polly/include/polly/ScopBuilder.h 702 bool hasNonHoistableBasePtrInScop(MemoryAccess *MA, isl::union_map Writes);
711 isl::set getNonHoistableCtx(MemoryAccess *Access, isl::union_map Writes);
tools/polly/include/polly/ScopInfo.h 824 applyScheduleToAccessRelation(isl::union_map Schedule) const;
2025 isl::union_map
2626 isl::union_map getMayWrites();
2629 isl::union_map getMustWrites();
2632 isl::union_map getWrites();
2635 isl::union_map getReads();
2638 isl::union_map getAccesses();
2643 isl::union_map getAccesses(ScopArrayInfo *Array);
2649 isl::union_map getSchedule() const;
2657 void setSchedule(isl::union_map NewSchedule);
tools/polly/include/polly/Support/GICHelper.h 265 const isl::union_map &Obj) {
tools/polly/include/polly/Support/ISLTools.h 86 isl::union_map beforeScatter(isl::union_map UMap, bool Strict);
86 isl::union_map beforeScatter(isl::union_map UMap, bool Strict);
100 isl::union_map afterScatter(const isl::union_map &UMap, bool Strict);
100 isl::union_map afterScatter(const isl::union_map &UMap, bool Strict);
131 isl::union_map betweenScatter(isl::union_map From, isl::union_map To,
131 isl::union_map betweenScatter(isl::union_map From, isl::union_map To,
131 isl::union_map betweenScatter(isl::union_map From, isl::union_map To,
143 isl::map singleton(isl::union_map UMap, isl::space ExpectedSpace);
164 unsigned getNumScatterDims(const isl::union_map &Schedule);
170 isl::space getScatterSpace(const isl::union_map &Schedule);
186 isl::union_map makeIdentityMap(const isl::union_set &USet, bool RestrictDomain);
196 isl::union_map reverseDomain(const isl::union_map &UMap);
196 isl::union_map reverseDomain(const isl::union_map &UMap);
234 isl::union_map shiftDim(isl::union_map UMap, isl::dim Dim, int Pos, int Amount);
234 isl::union_map shiftDim(isl::union_map UMap, isl::dim Dim, int Pos, int Amount);
246 void simplify(isl::union_map &UMap);
301 isl::union_map computeReachingWrite(isl::union_map Schedule,
301 isl::union_map computeReachingWrite(isl::union_map Schedule,
302 isl::union_map Writes, bool Reverse,
365 isl::union_map computeArrayUnused(isl::union_map Schedule,
365 isl::union_map computeArrayUnused(isl::union_map Schedule,
366 isl::union_map Writes, isl::union_map Reads,
366 isl::union_map Writes, isl::union_map Reads,
420 isl::union_map convertZoneToTimepoints(isl::union_map Zone, isl::dim Dim,
420 isl::union_map convertZoneToTimepoints(isl::union_map Zone, isl::dim Dim,
436 isl::union_map distributeDomain(isl::union_map UMap);
436 isl::union_map distributeDomain(isl::union_map UMap);
444 isl::union_map liftDomains(isl::union_map UMap, isl::union_set Factor);
444 isl::union_map liftDomains(isl::union_map UMap, isl::union_set Factor);
452 isl::union_map applyDomainRange(isl::union_map UMap, isl::union_map Func);
452 isl::union_map applyDomainRange(isl::union_map UMap, isl::union_map Func);
452 isl::union_map applyDomainRange(isl::union_map UMap, isl::union_map Func);
540 void dumpPw(const isl::union_map &UMap);
586 void dumpExpanded(const isl::union_map &UMap);
tools/polly/include/polly/ZoneAlgo.h 41 isl::union_map filterKnownValInst(const isl::union_map &UMap);
41 isl::union_map filterKnownValInst(const isl::union_map &UMap);
75 isl::union_map Schedule;
79 isl::union_map AllReads;
83 isl::union_map AllReadValInst;
87 isl::union_map AllMayWrites;
91 isl::union_map AllMustWrites;
96 isl::union_map AllWrites;
100 isl::union_map AllWriteValInst;
104 isl::union_map WriteReachDefZone;
151 isl::union_map NormalizeMap;
154 llvm::SmallDenseMap<llvm::PHINode *, isl::union_map> PerPHIMaps;
193 isl::union_map getWrittenValue(MemoryAccess *MA, isl::map AccRel);
209 isl::union_map makeEmptyUnionMap() const;
220 isl::union_map computePerPHI(const polly::ScopArrayInfo *SAI);
234 isl::union_map getScatterFor(isl::union_set Domain) const;
342 isl::union_map makeNormalizedValInst(llvm::Value *Val, ScopStmt *UserStmt,
373 isl::boolean isNormalized(isl::union_map Map);
384 isl::union_map computeKnownFromMustWrites() const;
390 isl::union_map computeKnownFromLoad() const;
398 isl::union_map computeKnown(bool FromWrite, bool FromRead) const;
416 isl::union_map makeUnknownForDomain(isl::union_set Domain);
tools/polly/lib/Analysis/DependenceInfo.cpp 643 isl::union_map Dependences = getDependences(TYPE_RAW | TYPE_WAW | TYPE_WAR);
645 isl::union_map Schedule = isl::union_map::empty(Space);
645 isl::union_map Schedule = isl::union_map::empty(Space);
777 isl::union_map Dependences::getDependences(int Kinds) const {
780 isl::union_map Deps = Deps.empty(Space);
tools/polly/lib/Analysis/ScopBuilder.cpp 2760 isl::union_map Writes = scop->getWrites();
2802 isl::union_map Writes) {
2855 isl::union_map Writes) {
2906 isl::union_map Written = Writes.intersect_range(SafeToLoad);
3299 isl::union_map Accesses = isl::union_map::empty(scop->getParamSpace());
3299 isl::union_map Accesses = isl::union_map::empty(scop->getParamSpace());
tools/polly/lib/Analysis/ScopInfo.cpp 599 MemoryAccess::applyScheduleToAccessRelation(isl::union_map USchedule) const {
1125 auto Schedule = getParent()->getSchedule();
2281 isl::union_map
2283 isl::union_map Accesses = isl::union_map::empty(getParamSpace());
2283 isl::union_map Accesses = isl::union_map::empty(getParamSpace());
2300 isl::union_map Scop::getMustWrites() {
2304 isl::union_map Scop::getMayWrites() {
2308 isl::union_map Scop::getWrites() {
2312 isl::union_map Scop::getReads() {
2316 isl::union_map Scop::getAccesses() {
2320 isl::union_map Scop::getAccesses(ScopArrayInfo *Array) {
2325 isl::union_map Scop::getSchedule() const {
2334 void Scop::setSchedule(isl::union_map NewSchedule) {
tools/polly/lib/CodeGen/BlockGenerators.cpp 587 isl::union_map USchedule = AstBuild.get_schedule();
671 isl::union_map USchedule = AstBuild.get_schedule().intersect_domain(Domain);
tools/polly/lib/Exchange/JSONExporter.cpp 324 auto ScheduleMap = isl::union_map::empty(S.getParamSpace());
324 auto ScheduleMap = isl::union_map::empty(S.getParamSpace());
tools/polly/lib/External/isl/include/isl/isl-noexceptions.h 394 inline ast_node ast_from_schedule(union_map schedule) const;
400 inline union_map get_schedule() const;
403 inline ast_node node_from_schedule_map(union_map schedule) const;
1300 static inline map from_union_map(union_map umap);
1766 static inline multi_union_pw_aff from_union_map(union_map umap);
2473 inline union_map get_map() const;
2515 inline schedule_constraints apply(union_map umap) const;
2517 inline union_map get_coincidence() const;
2518 inline union_map get_conditional_validity() const;
2519 inline union_map get_conditional_validity_condition() const;
2522 inline union_map get_proximity() const;
2523 inline union_map get_validity() const;
2525 inline schedule_constraints set_coincidence(union_map coincidence) const;
2526 inline schedule_constraints set_conditional_validity(union_map condition, union_map validity) const;
2526 inline schedule_constraints set_conditional_validity(union_map condition, union_map validity) const;
2528 inline schedule_constraints set_proximity(union_map proximity) const;
2529 inline schedule_constraints set_validity(union_map validity) const;
2570 inline union_map expansion_get_expansion() const;
2571 inline union_map extension_get_extension() const;
2576 static inline schedule_node from_extension(union_map extension);
2582 inline union_map get_prefix_schedule_relation() const;
2583 inline union_map get_prefix_schedule_union_map() const;
2589 inline union_map get_subtree_expansion() const;
2590 inline union_map get_subtree_schedule_union_map() const;
2981 inline explicit union_access_info(union_map sink);
2994 inline union_access_info set_kill(union_map kill) const;
2995 inline union_access_info set_may_source(union_map may_source) const;
2996 inline union_access_info set_must_source(union_map must_source) const;
2998 inline union_access_info set_schedule_map(union_map schedule_map) const;
3028 inline union_map get_full_may_dependence() const;
3029 inline union_map get_full_must_dependence() const;
3030 inline union_map get_may_dependence() const;
3031 inline union_map get_may_no_source() const;
3032 inline union_map get_must_dependence() const;
3033 inline union_map get_must_no_source() const;
3037 inline union_map manage(__isl_take isl_union_map *ptr);
3038 inline union_map manage_copy(__isl_keep isl_union_map *ptr);
3041 friend inline union_map manage(__isl_take isl_union_map *ptr);
3042 friend inline union_map manage_copy(__isl_keep isl_union_map *ptr);
3050 inline /* implicit */ union_map(const union_map &obj);
3056 inline union_map &operator=(union_map obj);
3056 inline union_map &operator=(union_map obj);
3068 inline union_map add_map(map map) const;
3069 inline union_map affine_hull() const;
3070 inline union_map align_params(space model) const;
3071 inline union_map apply_domain(union_map umap2) const;
3071 inline union_map apply_domain(union_map umap2) const;
3072 inline union_map apply_range(union_map umap2) const;
3072 inline union_map apply_range(union_map umap2) const;
3073 inline union_map coalesce() const;
3075 inline union_map curry() const;
3077 inline union_map deltas_map() const;
3078 inline union_map detect_equalities() const;
3081 inline union_map domain_factor_domain() const;
3082 inline union_map domain_factor_range() const;
3083 inline union_map domain_map() const;
3085 inline union_map domain_product(union_map umap2) const;
3085 inline union_map domain_product(union_map umap2) const;
3086 static inline union_map empty(space space);
3087 inline union_map eq_at(multi_union_pw_aff mupa) const;
3089 inline union_map factor_domain() const;
3090 inline union_map factor_range() const;
3092 inline union_map fixed_power(val exp) const;
3093 inline union_map flat_domain_product(union_map umap2) const;
3093 inline union_map flat_domain_product(union_map umap2) const;
3094 inline union_map flat_range_product(union_map umap2) const;
3094 inline union_map flat_range_product(union_map umap2) const;
3096 static inline union_map from(multi_union_pw_aff mupa);
3097 static inline union_map from_domain(union_set uset);
3098 static inline union_map from_domain_and_range(union_set domain, union_set range);
3099 static inline union_map from_range(union_set uset);
3100 static inline union_map from_union_pw_aff(union_pw_aff upa);
3105 inline union_map gist(union_map context) const;
3105 inline union_map gist(union_map context) const;
3106 inline union_map gist_domain(union_set uset) const;
3107 inline union_map gist_params(set set) const;
3108 inline union_map gist_range(union_set uset) const;
3109 inline union_map intersect(union_map umap2) const;
3109 inline union_map intersect(union_map umap2) const;
3110 inline union_map intersect_domain(union_set uset) const;
3111 inline union_map intersect_params(set set) const;
3112 inline union_map intersect_range(union_set uset) const;
3113 inline union_map intersect_range_factor_range(union_map factor) const;
3113 inline union_map intersect_range_factor_range(union_map factor) const;
3116 inline boolean is_disjoint(const union_map &umap2) const;
3118 inline boolean is_equal(const union_map &umap2) const;
3122 inline boolean is_strict_subset(const union_map &umap2) const;
3123 inline boolean is_subset(const union_map &umap2) const;
3124 inline union_map lex_ge_union_map(union_map umap2) const;
3124 inline union_map lex_ge_union_map(union_map umap2) const;
3125 inline union_map lex_gt_at_multi_union_pw_aff(multi_union_pw_aff mupa) const;
3126 inline union_map lex_gt_union_map(union_map umap2) const;
3126 inline union_map lex_gt_union_map(union_map umap2) const;
3127 inline union_map lex_le_union_map(union_map umap2) const;
3127 inline union_map lex_le_union_map(union_map umap2) const;
3128 inline union_map lex_lt_at_multi_union_pw_aff(multi_union_pw_aff mupa) const;
3129 inline union_map lex_lt_union_map(union_map umap2) const;
3129 inline union_map lex_lt_union_map(union_map umap2) const;
3130 inline union_map lexmax() const;
3131 inline union_map lexmin() const;
3136 inline union_map polyhedral_hull() const;
3137 inline union_map preimage_domain_multi_aff(multi_aff ma) const;
3138 inline union_map preimage_domain_multi_pw_aff(multi_pw_aff mpa) const;
3139 inline union_map preimage_domain_pw_multi_aff(pw_multi_aff pma) const;
3140 inline union_map preimage_domain_union_pw_multi_aff(union_pw_multi_aff upma) const;
3141 inline union_map preimage_range_multi_aff(multi_aff ma) const;
3142 inline union_map preimage_range_pw_multi_aff(pw_multi_aff pma) const;
3143 inline union_map preimage_range_union_pw_multi_aff(union_pw_multi_aff upma) const;
3144 inline union_map product(union_map umap2) const;
3144 inline union_map product(union_map umap2) const;
3145 inline union_map project_out(isl::dim type, unsigned int first, unsigned int n) const;
3146 inline union_map project_out_all_params() const;
3148 inline union_map range_curry() const;
3149 inline union_map range_factor_domain() const;
3150 inline union_map range_factor_range() const;
3151 inline union_map range_map() const;
3152 inline union_map range_product(union_map umap2) const;
3152 inline union_map range_product(union_map umap2) const;
3153 inline union_map remove_divs() const;
3154 inline union_map remove_redundancies() const;
3155 inline union_map reset_user() const;
3156 inline union_map reverse() const;
3158 inline union_map simple_hull() const;
3159 inline union_map subtract(union_map umap2) const;
3159 inline union_map subtract(union_map umap2) const;
3160 inline union_map subtract_domain(union_set dom) const;
3161 inline union_map subtract_range(union_set dom) const;
3162 inline union_map uncurry() const;
3163 inline union_map unite(union_map umap2) const;
3163 inline union_map unite(union_map umap2) const;
3164 inline union_map universe() const;
3166 inline union_map zip() const;
3196 inline union_map_list add(union_map el) const;
3200 inline stat foreach(const std::function<stat(union_map)> &fn) const;
3201 static inline union_map_list from_union_map(union_map el);
3202 inline union_map get_at(int index) const;
3203 inline union_map get_union_map(int index) const;
3204 inline union_map_list insert(unsigned int pos, union_map el) const;
3207 inline union_map_list set_union_map(int index, union_map el) const;
3343 inline explicit union_pw_multi_aff(union_map umap);
3532 inline union_set apply(union_map umap) const;
3535 inline schedule compute_schedule(union_map validity, union_map proximity) const;
3535 inline schedule compute_schedule(union_map validity, union_map proximity) const;
3549 inline union_map identity() const;
3559 inline union_map lex_ge_union_set(union_set uset2) const;
3560 inline union_map lex_gt_union_set(union_set uset2) const;
3561 inline union_map lex_le_union_set(union_set uset2) const;
3562 inline union_map lex_lt_union_set(union_set uset2) const;
3584 inline union_map unwrap() const;
3585 inline union_map wrapped_domain_map() const;
4549 ast_node ast_build::ast_from_schedule(union_map schedule) const
4585 union_map ast_build::get_schedule() const
4603 ast_node ast_build::node_from_schedule_map(union_map schedule) const
8370 map map::from_union_map(union_map umap)
10637 multi_union_pw_aff multi_union_pw_aff::from_union_map(union_map umap)
13769 union_map schedule::get_map() const
13915 schedule_constraints schedule_constraints::apply(union_map umap) const
13927 union_map schedule_constraints::get_coincidence() const
13933 union_map schedule_constraints::get_conditional_validity() const
13939 union_map schedule_constraints::get_conditional_validity_condition() const
13957 union_map schedule_constraints::get_proximity() const
13963 union_map schedule_constraints::get_validity() const
13975 schedule_constraints schedule_constraints::set_coincidence(union_map coincidence) const
13981 schedule_constraints schedule_constraints::set_conditional_validity(union_map condition, union_map validity) const
13981 schedule_constraints schedule_constraints::set_conditional_validity(union_map condition, union_map validity) const
13993 schedule_constraints schedule_constraints::set_proximity(union_map proximity) const
13999 schedule_constraints schedule_constraints::set_validity(union_map validity) const
14140 union_map schedule_node::expansion_get_expansion() const
14146 union_map schedule_node::extension_get_extension() const
14184 schedule_node schedule_node::from_extension(union_map extension)
14220 union_map schedule_node::get_prefix_schedule_relation() const
14226 union_map schedule_node::get_prefix_schedule_union_map() const
14262 union_map schedule_node::get_subtree_expansion() const
14268 union_map schedule_node::get_subtree_schedule_union_map() const
16128 union_access_info::union_access_info(union_map sink)
16186 union_access_info union_access_info::set_kill(union_map kill) const
16192 union_access_info union_access_info::set_may_source(union_map may_source) const
16198 union_access_info union_access_info::set_must_source(union_map must_source) const
16210 union_access_info union_access_info::set_schedule_map(union_map schedule_map) const
16287 union_map union_flow::get_full_may_dependence() const
16293 union_map union_flow::get_full_must_dependence() const
16299 union_map union_flow::get_may_dependence() const
16305 union_map union_flow::get_may_no_source() const
16311 union_map union_flow::get_must_dependence() const
16317 union_map union_flow::get_must_no_source() const
16324 union_map manage(__isl_take isl_union_map *ptr) {
16327 union_map manage_copy(__isl_keep isl_union_map *ptr) {
16335 union_map::union_map(const union_map &obj)
16368 union_map &union_map::operator=(union_map obj) {
16368 union_map &union_map::operator=(union_map obj) {
16418 union_map union_map::add_map(map map) const
16424 union_map union_map::affine_hull() const
16430 union_map union_map::align_params(space model) const
16436 union_map union_map::apply_domain(union_map umap2) const
16436 union_map union_map::apply_domain(union_map umap2) const
16442 union_map union_map::apply_range(union_map umap2) const
16442 union_map union_map::apply_range(union_map umap2) const
16448 union_map union_map::coalesce() const
16460 union_map union_map::curry() const
16472 union_map union_map::deltas_map() const
16478 union_map union_map::detect_equalities() const
16496 union_map union_map::domain_factor_domain() const
16502 union_map union_map::domain_factor_range() const
16508 union_map union_map::domain_map() const
16520 union_map union_map::domain_product(union_map umap2) const
16520 union_map union_map::domain_product(union_map umap2) const
16526 union_map union_map::empty(space space)
16532 union_map union_map::eq_at(multi_union_pw_aff mupa) const
16544 union_map union_map::factor_domain() const
16550 union_map union_map::factor_range() const
16562 union_map union_map::fixed_power(val exp) const
16568 union_map union_map::flat_domain_product(union_map umap2) const
16568 union_map union_map::flat_domain_product(union_map umap2) const
16574 union_map union_map::flat_range_product(union_map umap2) const
16574 union_map union_map::flat_range_product(union_map umap2) const
16594 union_map union_map::from(multi_union_pw_aff mupa)
16600 union_map union_map::from_domain(union_set uset)
16606 union_map union_map::from_domain_and_range(union_set domain, union_set range)
16612 union_map union_map::from_range(union_set uset)
16618 union_map union_map::from_union_pw_aff(union_pw_aff upa)
16648 union_map union_map::gist(union_map context) const
16648 union_map union_map::gist(union_map context) const
16654 union_map union_map::gist_domain(union_set uset) const
16660 union_map union_map::gist_params(set set) const
16666 union_map union_map::gist_range(union_set uset) const
16672 union_map union_map::intersect(union_map umap2) const
16672 union_map union_map::intersect(union_map umap2) const
16678 union_map union_map::intersect_domain(union_set uset) const
16684 union_map union_map::intersect_params(set set) const
16690 union_map union_map::intersect_range(union_set uset) const
16696 union_map union_map::intersect_range_factor_range(union_map factor) const
16696 union_map union_map::intersect_range_factor_range(union_map factor) const
16714 boolean union_map::is_disjoint(const union_map &umap2) const
16726 boolean union_map::is_equal(const union_map &umap2) const
16750 boolean union_map::is_strict_subset(const union_map &umap2) const
16756 boolean union_map::is_subset(const union_map &umap2) const
16762 union_map union_map::lex_ge_union_map(union_map umap2) const
16762 union_map union_map::lex_ge_union_map(union_map umap2) const
16768 union_map union_map::lex_gt_at_multi_union_pw_aff(multi_union_pw_aff mupa) const
16774 union_map union_map::lex_gt_union_map(union_map umap2) const
16774 union_map union_map::lex_gt_union_map(union_map umap2) const
16780 union_map union_map::lex_le_union_map(union_map umap2) const
16780 union_map union_map::lex_le_union_map(union_map umap2) const
16786 union_map union_map::lex_lt_at_multi_union_pw_aff(multi_union_pw_aff mupa) const
16792 union_map union_map::lex_lt_union_map(union_map umap2) const
16792 union_map union_map::lex_lt_union_map(union_map umap2) const
16798 union_map union_map::lexmax() const
16804 union_map union_map::lexmin() const
16834 union_map union_map::polyhedral_hull() const
16840 union_map union_map::preimage_domain_multi_aff(multi_aff ma) const
16846 union_map union_map::preimage_domain_multi_pw_aff(multi_pw_aff mpa) const
16852 union_map union_map::preimage_domain_pw_multi_aff(pw_multi_aff pma) const
16858 union_map union_map::preimage_domain_union_pw_multi_aff(union_pw_multi_aff upma) const
16864 union_map union_map::preimage_range_multi_aff(multi_aff ma) const
16870 union_map union_map::preimage_range_pw_multi_aff(pw_multi_aff pma) const
16876 union_map union_map::preimage_range_union_pw_multi_aff(union_pw_multi_aff upma) const
16882 union_map union_map::product(union_map umap2) const
16882 union_map union_map::product(union_map umap2) const
16888 union_map union_map::project_out(isl::dim type, unsigned int first, unsigned int n) const
16894 union_map union_map::project_out_all_params() const
16906 union_map union_map::range_curry() const
16912 union_map union_map::range_factor_domain() const
16918 union_map union_map::range_factor_range() const
16924 union_map union_map::range_map() const
16930 union_map union_map::range_product(union_map umap2) const
16930 union_map union_map::range_product(union_map umap2) const
16936 union_map union_map::remove_divs() const
16942 union_map union_map::remove_redundancies() const
16948 union_map union_map::reset_user() const
16954 union_map union_map::reverse() const
16966 union_map union_map::simple_hull() const
16972 union_map union_map::subtract(union_map umap2) const
16972 union_map union_map::subtract(union_map umap2) const
16978 union_map union_map::subtract_domain(union_set dom) const
16984 union_map union_map::subtract_range(union_set dom) const
16990 union_map union_map::uncurry() const
16996 union_map union_map::unite(union_map umap2) const
16996 union_map union_map::unite(union_map umap2) const
17002 union_map union_map::universe() const
17014 union_map union_map::zip() const
17086 union_map_list union_map_list::add(union_map el) const
17110 stat union_map_list::foreach(const std::function<stat(union_map)> &fn) const
17113 const std::function<stat(union_map)> *func;
17124 union_map_list union_map_list::from_union_map(union_map el)
17130 union_map union_map_list::get_at(int index) const
17136 union_map union_map_list::get_union_map(int index) const
17142 union_map_list union_map_list::insert(unsigned int pos, union_map el) const
17160 union_map_list union_map_list::set_union_map(int index, union_map el) const
17689 union_pw_multi_aff::union_pw_multi_aff(union_map umap)
18501 union_set union_set::apply(union_map umap) const
18519 schedule union_set::compute_schedule(union_map validity, union_map proximity) const
18519 schedule union_set::compute_schedule(union_map validity, union_map proximity) const
18619 union_map union_set::identity() const
18679 union_map union_set::lex_ge_union_set(union_set uset2) const
18685 union_map union_set::lex_gt_union_set(union_set uset2) const
18691 union_map union_set::lex_le_union_set(union_set uset2) const
18697 union_map union_set::lex_lt_union_set(union_set uset2) const
18829 union_map union_set::unwrap() const
18835 union_map union_set::wrapped_domain_map() const
tools/polly/lib/Support/ISLTools.cpp 91 isl::union_map polly::beforeScatter(isl::union_map UMap, bool Strict) {
91 isl::union_map polly::beforeScatter(isl::union_map UMap, bool Strict) {
92 isl::union_map Result = isl::union_map::empty(UMap.get_space());
92 isl::union_map Result = isl::union_map::empty(UMap.get_space());
109 isl::union_map polly::afterScatter(const isl::union_map &UMap, bool Strict) {
109 isl::union_map polly::afterScatter(const isl::union_map &UMap, bool Strict) {
110 isl::union_map Result = isl::union_map::empty(UMap.get_space());
110 isl::union_map Result = isl::union_map::empty(UMap.get_space());
126 isl::union_map polly::betweenScatter(isl::union_map From, isl::union_map To,
126 isl::union_map polly::betweenScatter(isl::union_map From, isl::union_map To,
126 isl::union_map polly::betweenScatter(isl::union_map From, isl::union_map To,
128 isl::union_map AfterFrom = afterScatter(From, !InclFrom);
129 isl::union_map BeforeTo = beforeScatter(To, !InclTo);
134 isl::map polly::singleton(isl::union_map UMap, isl::space ExpectedSpace) {
160 unsigned polly::getNumScatterDims(const isl::union_map &Schedule) {
167 isl::space polly::getScatterSpace(const isl::union_map &Schedule) {
175 isl::union_map polly::makeIdentityMap(const isl::union_set &USet,
177 isl::union_map Result = isl::union_map::empty(USet.get_space());
177 isl::union_map Result = isl::union_map::empty(USet.get_space());
195 isl::union_map polly::reverseDomain(const isl::union_map &UMap) {
195 isl::union_map polly::reverseDomain(const isl::union_map &UMap) {
196 isl::union_map Result = isl::union_map::empty(UMap.get_space());
196 isl::union_map Result = isl::union_map::empty(UMap.get_space());
254 isl::union_map polly::shiftDim(isl::union_map UMap, isl::dim Dim, int Pos,
254 isl::union_map polly::shiftDim(isl::union_map UMap, isl::dim Dim, int Pos,
256 isl::union_map Result = isl::union_map::empty(UMap.get_space());
256 isl::union_map Result = isl::union_map::empty(UMap.get_space());
283 void polly::simplify(isl::union_map &UMap) {
289 isl::union_map polly::computeReachingWrite(isl::union_map Schedule,
289 isl::union_map polly::computeReachingWrite(isl::union_map Schedule,
290 isl::union_map Writes, bool Reverse,
309 isl::union_map WriteAction = Schedule.apply_domain(Writes);
312 isl::union_map WriteActionRev = WriteAction.reverse();
315 isl::union_map DefSchedRelation =
320 isl::union_map ReachableWrites = DefSchedRelation.uncurry();
327 isl::union_map SelfUse = WriteAction.range_map();
341 isl::union_map
342 polly::computeArrayUnused(isl::union_map Schedule, isl::union_map Writes,
342 polly::computeArrayUnused(isl::union_map Schedule, isl::union_map Writes,
343 isl::union_map Reads, bool ReadEltInSameInst,
346 isl::union_map ReadActions = Schedule.apply_domain(Reads);
347 isl::union_map WriteActions = Schedule.apply_domain(Writes);
350 isl::union_map EltDomWrites =
354 isl::union_map ReachingOverwrite = computeReachingWrite(
358 isl::union_map ReadsOverwritten =
362 isl::union_map ReadsOverwrittenRotated =
364 isl::union_map LastOverwrittenRead = ReadsOverwrittenRotated.lexmax();
367 isl::union_map BetweenLastReadOverwrite = betweenScatter(
371 isl::union_map ReachingOverwriteZone = computeReachingWrite(
375 isl::union_map ReachingOverwriteRotated =
379 isl::union_map WritesWithoutReads = ReachingOverwriteRotated.subtract_domain(
401 isl::union_map polly::convertZoneToTimepoints(isl::union_map Zone, isl::dim Dim,
401 isl::union_map polly::convertZoneToTimepoints(isl::union_map Zone, isl::dim Dim,
406 auto ShiftedZone = shiftDim(Zone, Dim, -1, -1);
470 isl::union_map polly::distributeDomain(isl::union_map UMap) {
470 isl::union_map polly::distributeDomain(isl::union_map UMap) {
471 isl::union_map Result = isl::union_map::empty(UMap.get_space());
471 isl::union_map Result = isl::union_map::empty(UMap.get_space());
479 isl::union_map polly::liftDomains(isl::union_map UMap, isl::union_set Factor) {
479 isl::union_map polly::liftDomains(isl::union_map UMap, isl::union_set Factor) {
482 isl::union_map Factors = makeIdentityMap(Factor, true);
487 isl::union_map polly::applyDomainRange(isl::union_map UMap,
487 isl::union_map polly::applyDomainRange(isl::union_map UMap,
488 isl::union_map Func) {
500 isl::union_map LifetedFunc = liftDomains(std::move(Func), DomainDomain);
819 LLVM_DUMP_METHOD void polly::dumpPw(const isl::union_map &UMap) {
851 LLVM_DUMP_METHOD void polly::dumpExpanded(const isl::union_map &UMap) {
tools/polly/lib/Transform/DeLICM.cpp 75 isl::union_map computeReachingOverwrite(isl::union_map Schedule,
75 isl::union_map computeReachingOverwrite(isl::union_map Schedule,
76 isl::union_map Writes,
96 isl::union_map computeScalarReachingOverwrite(isl::union_map Schedule,
96 isl::union_map computeScalarReachingOverwrite(isl::union_map Schedule,
102 auto WritesMap = isl::union_map::from_domain(Writes);
102 auto WritesMap = isl::union_map::from_domain(Writes);
105 auto Result = computeReachingOverwrite(
120 isl::map computeScalarReachingOverwrite(isl::union_map Schedule,
126 isl::union_map ReachOverwrite = computeScalarReachingOverwrite(
142 isl::union_map expandMapping(isl::union_map Relevant, isl::union_set Universe) {
142 isl::union_map expandMapping(isl::union_map Relevant, isl::union_set Universe) {
145 isl::union_map Simplified = Relevant.gist_domain(RelevantDomain);
227 isl::union_map Known;
235 isl::union_map Written;
267 isl::union_map Known, isl::union_map Written)
267 isl::union_map Known, isl::union_map Written)
370 auto ProposedOccupiedAnyVal = makeUnknownForDomain(Proposed.Occupied);
371 auto ProposedValues = Proposed.Known.unite(ProposedOccupiedAnyVal);
373 auto ExistingUnusedAnyVal = makeUnknownForDomain(Existing.Unused);
374 auto ExistingValues = Existing.Known.unite(ExistingUnusedAnyVal);
376 auto MatchingVals = ExistingValues.intersect(ProposedValues);
385 auto ExistingConflictingKnown =
387 auto ProposedConflictingKnown =
423 auto ProposedFixedKnown =
426 auto ExistingConflictingWrites =
430 auto CommonWrittenVal =
436 auto ExistingConflictingWritten =
438 auto ProposedConflictingKnown = ProposedFixedKnown.subtract_domain(
456 auto ExistingKnownDefs =
460 auto KnownIdentical = ExistingKnownDefs.intersect(Proposed.Written);
466 auto ExistingConflictingKnown =
468 auto ProposedConflictingWritten =
487 auto ExistingKnownWritten = filterKnownValInst(Existing.Written);
488 auto ProposedKnownWritten = filterKnownValInst(Proposed.Written);
495 auto ExistingConflictingWritten =
497 auto ProposedConflictingWritten =
613 std::tuple<isl::union_map, isl::map>
625 auto ReadSchedule = getScatterFor(Reads);
640 auto Uses = isl::union_map(ReachDef.reverse().range_map())
652 auto DefUses = Uses.domain_factor_domain();
699 isl::union_map DefUses;
738 auto UseTarget = DefUses.reverse().apply_range(DefTarget);
765 isl::union_map UseTarget, isl::map Lifetime,
773 auto NewAccRel = UseTarget.intersect_domain(Domain);
803 isl::union_map determinePHIWrittenValues(const ScopArrayInfo *SAI) {
804 auto Result = makeEmptyUnionMap();
809 isl::union_map ValInst;
869 auto PerPHIWrites = computePerPHI(SAI);
872 auto WritesTarget = PerPHIWrites.apply_domain(PHITarget).reverse();
881 auto RelevantWritesTarget = WritesTarget;
903 isl::union_map PerPHIWriteScatterUmap = PerPHIWrites.apply_range(Schedule);
913 auto WriteLifetime = isl::union_map(Lifetime).apply_domain(PerPHIWrites);
916 auto WrittenValue = determinePHIWrittenValues(SAI);
919 auto WrittenTranslator = WritesTarget.range_product(Schedule);
922 auto Written = WrittenValue.apply_domain(WrittenTranslator);
926 auto LifetimeTranslator = WritesTarget.range_product(WriteLifetime);
929 auto WrittenKnownValue = filterKnownValInst(WrittenValue);
932 auto EltLifetimeInst = WrittenKnownValue.apply_domain(LifetimeTranslator);
963 isl::union_map WriteTarget, isl::map Lifetime,
974 auto NewAccRel = WriteTarget.intersect_domain(Domain);
1127 auto ArrayUnused = computeArrayUnused(Schedule, AllMustWrites, AllReads,
1140 isl::union_map computeWritten() const {
1142 auto EltWritten = applyDomainRange(AllWriteValInst, Schedule);
1191 isl::union_map EltKnown, EltWritten;
1296 isl::union_map AccRel = MA->getLatestAccessRelation();
1428 isl::union_map ExistingKnown, isl::union_map ExistingWrites,
1428 isl::union_map ExistingKnown, isl::union_map ExistingWrites,
1430 isl::union_map ProposedKnown, isl::union_map ProposedWrites,
1430 isl::union_map ProposedKnown, isl::union_map ProposedWrites,
tools/polly/lib/Transform/DeadCodeElimination.cpp 90 isl::union_map Schedule = S.getSchedule();
91 isl::union_map MustWrites = S.getMustWrites();
92 isl::union_map WriteIterations = MustWrites.reverse();
93 isl::union_map WriteTimes = WriteIterations.apply_range(Schedule);
95 isl::union_map LastWriteTimes = WriteTimes.lexmax();
96 isl::union_map LastWriteIterations =
100 isl::union_map MayWrites = S.getMayWrites();
121 isl::union_map Dep =
tools/polly/lib/Transform/FlattenAlgo.cpp 64 bool isVariableDim(const isl::union_map &UMap) {
113 isl::union_map scheduleProjectOut(const isl::union_map &UMap, unsigned first,
113 isl::union_map scheduleProjectOut(const isl::union_map &UMap, unsigned first,
119 auto Result = isl::union_map::empty(UMap.get_space());
119 auto Result = isl::union_map::empty(UMap.get_space());
132 size_t scheduleScatterDims(const isl::union_map &Schedule) {
140 isl::union_pw_aff scheduleExtractDimAff(isl::union_map UMap, unsigned pos) {
141 auto SingleUMap = isl::union_map::empty(UMap.get_space());
141 auto SingleUMap = isl::union_map::empty(UMap.get_space());
173 isl::union_map tryFlattenSequence(isl::union_map Schedule) {
173 isl::union_map tryFlattenSequence(isl::union_map Schedule) {
190 auto NewSchedule = isl::union_map::empty(ParamSpace);
190 auto NewSchedule = isl::union_map::empty(ParamSpace);
200 auto SubSchedule = Schedule.intersect_range(ScatterFirst);
205 auto FirstSubSchedule = scheduleProjectOut(SubSchedule, 1, SubDims - 1);
207 auto RemainingSubSchedule = scheduleProjectOut(SubSchedule, 0, 1);
237 auto ScheduleWithOffset = isl::union_map(FirstScheduleAffWithOffset)
260 isl::union_map tryFlattenLoop(isl::union_map Schedule) {
260 isl::union_map tryFlattenLoop(isl::union_map Schedule) {
263 auto Remaining = scheduleProjectOut(Schedule, 0, 1);
264 auto SubSchedule = flattenSchedule(Remaining);
290 auto RemainingSubSchedule = scheduleProjectOut(std::move(SubSchedule), 0, 1);
300 auto IndexMap = isl::union_map(Index);
302 auto Result = IndexMap.flat_range_product(RemainingSubSchedule);
308 isl::union_map polly::flattenSchedule(isl::union_map Schedule) {
308 isl::union_map polly::flattenSchedule(isl::union_map Schedule) {
326 auto NewScheduleSequence = tryFlattenSequence(Schedule);
333 auto NewScheduleLoop = tryFlattenLoop(Schedule);
339 auto NewScheduleSequence = tryFlattenSequence(Schedule);
tools/polly/lib/Transform/FlattenSchedule.cpp 31 void printSchedule(raw_ostream &OS, const isl::union_map &Schedule,
44 isl::union_map OldSchedule;
65 auto RestrictedOldSchedule = OldSchedule.intersect_domain(Domains);
69 auto NewSchedule = flattenSchedule(RestrictedOldSchedule);
tools/polly/lib/Transform/ForwardOpTree.cpp 175 isl::union_map Known;
180 isl::union_map Translator;
191 isl::union_map findSameContentElements(isl::union_map ValInst) {
191 isl::union_map findSameContentElements(isl::union_map ValInst) {
198 isl::union_map Schedule = getScatterFor(Domain);
201 isl::union_map MustKnownCurried =
205 isl::union_map DomValSched = ValInst.domain_map().apply_range(Schedule);
208 isl::union_map SchedValDomVal =
212 isl::union_map MustKnownInst = MustKnownCurried.apply_range(SchedValDomVal);
215 isl::union_map MustKnownMap =
236 isl::map singleLocation(isl::union_map MustKnown, isl::set Domain) {
277 isl::union_map MustKnown, KnownFromLoad, KnownFromInit;
449 isl::union_map TranslatedExpectedVal =
453 isl::union_map Candidates = findSameContentElements(TranslatedExpectedVal);
566 isl::union_map ExpectedVal = makeNormalizedValInst(Inst, UseStmt, UseLoop);
572 isl::union_map TargetExpectedVal = ExpectedVal.apply_domain(UseToTarget);
573 isl::union_map TranslatedExpectedVal =
577 isl::union_map Candidates = findSameContentElements(TranslatedExpectedVal);
tools/polly/lib/Transform/MaximalStaticExpansion.cpp 75 const isl::union_map &Dependences);
88 isl::union_map filterDependences(Scop &S,
89 const isl::union_map &MapDependences,
102 const isl::union_map &Dependences, ScopArrayInfo *ExpandedSAI,
111 const isl::union_map &Dependences);
131 isl::union_map MaximalStaticExpander::filterDependences(
132 Scop &S, const isl::union_map &Dependences, MemoryAccess *MA) {
138 isl::union_map MapDependences = isl::union_map::empty(S.getParamSpace());
138 isl::union_map MapDependences = isl::union_map::empty(S.getParamSpace());
172 const isl::union_map &Dependences) {
189 auto MapDeps = filterDependences(S, Dependences, Write);
211 auto StmtReads = isl::union_map::empty(S.getParamSpace());
211 auto StmtReads = isl::union_map::empty(S.getParamSpace());
212 auto StmtWrites = isl::union_map::empty(S.getParamSpace());
212 auto StmtWrites = isl::union_map::empty(S.getParamSpace());
221 auto AccRel = isl::union_map(MA->getAccessRelation());
267 auto MapDependences = filterDependences(S, Dependences.reverse(), MA);
315 const isl::union_map &Dependences,
327 isl::union_map MapDependences =
417 const isl::union_map &Dependences) {
439 isl::union_map Dependences = D.getDependences(Dependences::TYPE_RAW);
tools/polly/lib/Transform/ScheduleOptimizer.cpp 386 isl::union_map SchedRelUMap = Node.get_prefix_schedule_relation();
726 isl::union_map Dep = D->getDependences(Dependences::TYPE_RAW);
727 isl::union_map Red = D->getDependences(Dependences::TYPE_RED);
1055 auto Extension = isl::union_map(ExtensionMap);
1175 auto UnMapOldIndVar = Child.get_prefix_schedule_union_map();
1201 isl::union_map UnMapOldIndVar = Child.get_prefix_schedule_relation();
1312 auto PartialSchedule = isl::manage(
1375 auto NewScheduleMap = NewSchedule.get_map();
1376 auto OldSchedule = S.getSchedule();
1519 isl::union_map Validity = D.getDependences(ValidityKinds);
1520 isl::union_map Proximity = D.getDependences(ProximityKinds);
tools/polly/lib/Transform/ScheduleTreeTransform.cpp 251 isl::union_map TheExtension = Extension.extension_get_extension();
286 isl::union_map &> {
288 const isl::union_set &, isl::union_map &>;
293 isl::union_map Extensions;
302 isl::union_map &Extensions) {
307 isl::union_map NewChildExtensions;
317 isl::union_map &Extensions) {
322 isl::union_map NewChildExtensions;
333 isl::union_map &Extensions) {
335 Extensions = isl::union_map::empty(isl::space::params_alloc(Ctx, 0));
341 isl::union_map &OuterExtensions) {
346 isl::union_map NewChildExtensions;
350 OuterExtensions = isl::union_map::empty(NewChildExtensions.get_space());
351 isl::union_map NewPartialSchedMap = isl::union_map::from(PartialSched);
351 isl::union_map NewPartialSchedMap = isl::union_map::from(PartialSched);
391 isl::union_map &Extensions) {
401 isl::union_map &Extensions) {
402 isl::union_map ExtDomain = Extension.extension_get_extension();
404 isl::union_map ChildExtensions;
tools/polly/lib/Transform/Simplify.cpp 85 static isl::union_map underapproximatedAddMap(isl::union_map UMap,
85 static isl::union_map underapproximatedAddMap(isl::union_map UMap,
110 isl::union_map UResult =
163 isl::union_map WillBeOverwritten =
164 isl::union_map::empty(S->getParamSpace());
192 isl::union_map AccRelUnion = AccRel;
247 isl::union_map FutureWrites = isl::union_map::empty(S->getParamSpace());
247 isl::union_map FutureWrites = isl::union_map::empty(S->getParamSpace());
308 isl::union_map Filtered =
361 isl::union_map NewFutureWrites =
362 isl::union_map::empty(FutureWrites.get_space());
418 isl::union_map Known = isl::union_map::empty(S->getParamSpace());
418 isl::union_map Known = isl::union_map::empty(S->getParamSpace());
tools/polly/lib/Transform/ZoneAlgo.cpp 170 static isl::union_map computeReachingDefinition(isl::union_map Schedule,
170 static isl::union_map computeReachingDefinition(isl::union_map Schedule,
171 isl::union_map Writes,
188 static isl::union_map computeScalarReachingDefinition(isl::union_map Schedule,
188 static isl::union_map computeScalarReachingDefinition(isl::union_map Schedule,
193 isl::union_map Defs = isl::union_map::from_domain(Writes);
193 isl::union_map Defs = isl::union_map::from_domain(Writes);
196 auto ReachDefs =
214 static isl::map computeScalarReachingDefinition(isl::union_map Schedule,
221 isl::union_map UMap = computeScalarReachingDefinition(
228 isl::union_map polly::makeUnknownForDomain(isl::union_set Domain) {
229 return isl::union_map::from_domain(Domain);
252 isl::union_map polly::filterKnownValInst(const isl::union_map &UMap) {
252 isl::union_map polly::filterKnownValInst(const isl::union_map &UMap) {
253 isl::union_map Result = isl::union_map::empty(UMap.get_space());
253 isl::union_map Result = isl::union_map::empty(UMap.get_space());
324 auto Stores = makeEmptyUnionMap();
325 auto Loads = makeEmptyUnionMap();
334 isl::union_map AccRel = AccRelMap;
414 isl::union_map ZoneAlgorithm::getWrittenValue(MemoryAccess *MA,
461 isl::union_map WriteValInstance = getWrittenValue(MA, AccRel);
469 isl::union_map EltWriteValInst =
535 isl::union_map ZoneAlgorithm::computePerPHI(const ScopArrayInfo *SAI) {
547 isl::union_map PHIWriteScatter = makeEmptyUnionMap();
574 isl::union_map Result =
587 isl::union_map ZoneAlgorithm::makeEmptyUnionMap() const {
588 return isl::union_map::empty(ParamSpace);
618 isl::union_map ZoneAlgorithm::getScatterFor(isl::union_set Domain) const {
625 auto UResult = getScatterFor(std::move(UDomain));
840 static isl::union_map normalizeValInst(isl::union_map Input,
840 static isl::union_map normalizeValInst(isl::union_map Input,
842 isl::union_map NormalizeMap) {
843 isl::union_map Result = isl::union_map::empty(Input.get_space());
843 isl::union_map Result = isl::union_map::empty(Input.get_space());
865 isl::union_map Mapped = isl::union_map(Map).apply_range(NormalizeMap);
872 isl::union_map ZoneAlgorithm::makeNormalizedValInst(llvm::Value *Val,
877 isl::union_map Normalized =
946 isl::boolean ZoneAlgorithm::isNormalized(isl::union_map UMap) {
1012 isl::union_map AllPHIMaps = makeEmptyUnionMap();
1032 isl::union_map IncomingValInsts = makeEmptyUnionMap();
1054 isl::union_map PerPHI = computePerPHI(SAI);
1057 isl::union_map PHIMap =
1092 isl::union_map ZoneAlgorithm::computeKnownFromMustWrites() const {
1094 isl::union_map EltReachdDef = distributeDomain(WriteReachDefZone.curry());
1097 isl::union_map AllKnownWriteValInst = filterKnownValInst(AllWriteValInst);
1103 isl::union_map ZoneAlgorithm::computeKnownFromLoad() const {
1108 isl::union_map EltZoneUniverse = isl::union_map::from_domain_and_range(
1108 isl::union_map EltZoneUniverse = isl::union_map::from_domain_and_range(
1119 isl::union_map DefZone =
1120 WriteReachDefZone.unite(isl::union_map::from_domain(NonReachDef));
1123 isl::union_map EltZoneElt = EltZoneUniverse.domain_map();
1126 isl::union_map DefZoneEltDefId = EltZoneElt.range_product(DefZone);
1129 isl::union_map EltDefZone = DefZone.curry();
1132 isl::union_map EltZoneEltDefid = distributeDomain(EltDefZone);
1135 isl::union_map Reads = AllReads.range_product(Schedule).reverse();
1138 isl::union_map ReadsElt = EltZoneElt.range_product(Reads);
1141 isl::union_map ScatterKnown = ReadsElt.apply_range(AllReadValInst);
1144 isl::union_map DefidKnown =
1151 isl::union_map ZoneAlgorithm::computeKnown(bool FromWrite,
1153 isl::union_map Result = makeEmptyUnionMap();
tools/polly/unittests/DeLICM/DeLICMTest.cpp 35 void completeLifetime(isl::union_set Universe, isl::union_map OccupiedAndKnown,
36 isl::union_set &Occupied, isl::union_map &Known,
48 Known = isl::union_map::empty(ParamSpace);
66 Known = isl::union_map::empty(ParamSpace);
87 isl::union_map parseMapOrNull(isl_ctx *Ctx, const char *Str) {
94 isl_ctx *Ctx, isl::union_map ExistingOccupiedAndKnown,
95 isl::union_set ExistingUnused, isl::union_map ExistingWritten,
96 isl::union_map ProposedOccupiedAndKnown, isl::union_set ProposedUnused,
97 isl::union_map ProposedWritten) {
127 isl::union_map ExistingKnown;
132 isl::union_map ProposedKnown;
164 auto ExistingOccupiedAndKnown =
167 auto ExistingWritten = parseMapOrNull(Ctx.get(), Existing.WrittenStr);
169 auto ProposedOccupiedAndKnown =
172 auto ProposedWritten = parseMapOrNull(Ctx.get(), Proposed.WrittenStr);
194 Ctx.get(), isl::union_map::from_domain(ExistingOccupied), ExistingUnused,
195 isl::union_map::from_domain(ExistingWritten),
196 isl::union_map::from_domain(ProposedOccupied), ProposedUnused,
197 isl::union_map::from_domain(ProposedWritten));
tools/polly/unittests/Flatten/FlattenTest.cpp 30 auto Schedule = isl::union_map(Ctx, ScheduleStr);
31 auto Expected = isl::union_map(Ctx, ExpectedStr);
33 auto Result = flattenSchedule(std::move(Schedule));
tools/polly/unittests/Isl/IslTest.cpp 70 static bool operator==(const isl::union_map &LHS, const isl::union_map &RHS) {
70 static bool operator==(const isl::union_map &LHS, const isl::union_map &RHS) {
396 isl::union_map TestUMap = TestMap;
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/std_function.h 62 : std::unary_function<_T1, _Res> { };
390 : public _Maybe_unary_or_binary_function<_Res, _ArgTypes...>,
595 _Res operator()(_ArgTypes... __args) const;
628 using _Invoker_type = _Res (*)(const _Any_data&, _ArgTypes&&...);
706 return _M_invoker(_M_functor, std::forward<_ArgTypes>(__args)...);
usr/include/c++/7.4.0/bits/stl_function.h 108 typedef _Arg argument_type;
usr/include/c++/7.4.0/bits/stl_pair.h 100 return __and_<is_constructible<_T1, const _U1&>,
100 return __and_<is_constructible<_T1, const _U1&>,
101 is_constructible<_T2, const _U2&>>::value;
101 is_constructible<_T2, const _U2&>>::value;
107 return __and_<is_convertible<const _U1&, _T1>,
107 return __and_<is_convertible<const _U1&, _T1>,
108 is_convertible<const _U2&, _T2>>::value;
108 is_convertible<const _U2&, _T2>>::value;
114 return __and_<is_constructible<_T1, _U1&&>,
114 return __and_<is_constructible<_T1, _U1&&>,
115 is_constructible<_T2, _U2&&>>::value;
115 is_constructible<_T2, _U2&&>>::value;
121 return __and_<is_convertible<_U1&&, _T1>,
121 return __and_<is_convertible<_U1&&, _T1>,
122 is_convertible<_U2&&, _T2>>::value;
122 is_convertible<_U2&&, _T2>>::value;
128 using __do_converts = __and_<is_convertible<const _U1&, _T1>,
128 using __do_converts = __and_<is_convertible<const _U1&, _T1>,
129 is_convertible<_U2&&, _T2>>;
129 is_convertible<_U2&&, _T2>>;
133 return __and_<is_constructible<_T1, const _U1&>,
133 return __and_<is_constructible<_T1, const _U1&>,
134 is_constructible<_T2, _U2&&>,
134 is_constructible<_T2, _U2&&>,
142 using __do_converts = __and_<is_convertible<_U1&&, _T1>,
142 using __do_converts = __and_<is_convertible<_U1&&, _T1>,
143 is_convertible<const _U2&, _T2>>;
143 is_convertible<const _U2&, _T2>>;
147 return __and_<is_constructible<_T1, _U1&&>,
147 return __and_<is_constructible<_T1, _U1&&>,
148 is_constructible<_T2, const _U2&&>,
148 is_constructible<_T2, const _U2&&>,
209 : private __pair_base<_T1, _T2>
209 : private __pair_base<_T1, _T2>
211 typedef _T1 first_type; /// @c first_type is the first bound type
212 typedef _T2 second_type; /// @c second_type is the second bound type
214 _T1 first; /// @c first is a copy of the first object
215 _T2 second; /// @c second is a copy of the second object
252 using _PCCP = _PCC<true, _T1, _T2>;
252 using _PCCP = _PCC<true, _T1, _T2>;
260 constexpr pair(const _T1& __a, const _T2& __b)
260 constexpr pair(const _T1& __a, const _T2& __b)
269 explicit constexpr pair(const _T1& __a, const _T2& __b)
269 explicit constexpr pair(const _T1& __a, const _T2& __b)
283 _T1, _T2>;
283 _T1, _T2>;
311 constexpr pair(_U1&& __x, const _T2& __y)
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)
325 constexpr pair(const _T1& __x, _U2&& __y)
332 explicit pair(const _T1& __x, _U2&& __y)
341 constexpr pair(_U1&& __x, _U2&& __y)
341 constexpr pair(_U1&& __x, _U2&& __y)
379 __and_<is_copy_assignable<_T1>,
380 is_copy_assignable<_T2>>::value,
390 __and_<is_move_assignable<_T1>,
391 is_move_assignable<_T2>>::value,
403 is_assignable<_T2&, const _U2&>>::value,
403 is_assignable<_T2&, const _U2&>>::value,
405 operator=(const pair<_U1, _U2>& __p)
414 is_assignable<_T2&, _U2&&>>::value,
414 is_assignable<_T2&, _U2&&>>::value,
416 operator=(pair<_U1, _U2>&& __p)
524 make_pair(_T1&& __x, _T2&& __y)
usr/include/c++/7.4.0/tuple 56 struct __is_empty_non_tuple : is_empty<_Tp> { };
125 constexpr _Head_base(const _Head& __h)
132 constexpr _Head_base(_UHead&& __h)
133 : _M_head_impl(std::forward<_UHead>(__h)) { }
159 static constexpr _Head&
162 static constexpr const _Head&
165 _Head _M_head_impl;
187 private _Head_base<_Idx, _Head>
192 typedef _Head_base<_Idx, _Head> _Base;
194 static constexpr _Head&
197 static constexpr const _Head&
210 constexpr _Tuple_impl(const _Head& __head, const _Tail&... __tail)
216 constexpr _Tuple_impl(_UHead&& __head, _UTail&&... __tail)
218 _Base(std::forward<_UHead>(__head)) { }
227 _Base(std::forward<_Head>(_M_head(__in))) { }
230 constexpr _Tuple_impl(const _Tuple_impl<_Idx, _UElements...>& __in)
235 constexpr _Tuple_impl(_Tuple_impl<_Idx, _UHead, _UTails...>&& __in)
248 const _Head& __head, const _Tail&... __tail)
322 _M_head(*this) = std::forward<_UHead>
323 (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_head(__in));
325 (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_tail(__in));
473 return __and_<is_constructible<_Elements, const _UElements&>...>::value;
473 return __and_<is_constructible<_Elements, const _UElements&>...>::value;
479 return __and_<is_convertible<const _UElements&, _Elements>...>::value;
479 return __and_<is_convertible<const _UElements&, _Elements>...>::value;
485 return __and_<is_constructible<_Elements, _UElements&&>...>::value;
485 return __and_<is_constructible<_Elements, _UElements&&>...>::value;
491 return __and_<is_convertible<_UElements&&, _Elements>...>::value;
491 return __and_<is_convertible<_UElements&&, _Elements>...>::value;
907 class tuple<_T1, _T2> : public _Tuple_impl<0, _T1, _T2>
909 typedef _Tuple_impl<0, _T1, _T2> _Inherited;
939 _TC<is_same<_Dummy, void>::value, _T1, _T2>;
947 constexpr tuple(const _T1& __a1, const _T2& __a2)
956 explicit constexpr tuple(const _T1& __a1, const _T2& __a2)
961 using _TMC = _TC<true, _T1, _T2>;
971 constexpr tuple(_U1&& __a1, _U2&& __a2)
995 constexpr tuple(const tuple<_U1, _U2>& __in)
1013 constexpr tuple(tuple<_U1, _U2>&& __in)
1031 constexpr tuple(const pair<_U1, _U2>& __in)
1049 constexpr tuple(pair<_U1, _U2>&& __in)
1050 : _Inherited(std::forward<_U1>(__in.first),
1078 const _T1& __a1, const _T2& __a2)
1090 const _T1& __a1, const _T2& __a2)
1225 operator=(const tuple<_U1, _U2>& __in)
1233 operator=(tuple<_U1, _U2>&& __in)
1588 constexpr tuple<_Elements&...>
1589 tie(_Elements&... __args) noexcept
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
762 typename add_rvalue_reference<_Tp>::type declval() noexcept;
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
1215 : public __and_<is_constructible<_Tp, _Args...>,
1216 __is_nt_constructible_impl<_Tp, _Args...>>
1246 : public is_nothrow_constructible<_Tp, _Tp&&>
1246 : public is_nothrow_constructible<_Tp, _Tp&&>
1252 : public __is_nothrow_move_constructible_impl<_Tp>
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>
1377 static void __helper(const _Tp&);
1380 static true_type __test(const _Tp&,
1381 decltype(__helper<const _Tp&>({}))* = 0);
1390 typedef decltype(__test(declval<_Tp>())) type;
1395 : public __is_implicitly_default_constructible_impl<_Tp>::type
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; };
1664 : public __add_rvalue_reference_helper<_Tp>
1955 { typedef _Tp type; };
2104 { typedef typename remove_cv<_Up>::type __type; };
2131 typedef _Tp __type;
utils/unittest/googletest/include/gtest/gtest-printers.h 140 static void PrintValue(const T& value, ::std::ostream* os) {
205 ::std::basic_ostream<Char, CharTraits>& os, const T& x) {
206 TypeWithoutFormatter<T,
207 (internal::IsAProtocolMessage<T>::value ? kProtobuf :
208 internal::ImplicitlyConvertible<const T&, internal::BiggestInt>::value ?
223 void DefaultPrintNonContainerTo(const T& value, ::std::ostream* os) {
276 static ::std::string Format(const ToPrint& value) {
351 const T1& value, const T2& /* other_operand */) {
351 const T1& value, const T2& /* other_operand */) {
352 return FormatForComparison<T1, T2>::Format(value);
352 return FormatForComparison<T1, T2>::Format(value);
366 void UniversalPrint(const T& value, ::std::ostream* os);
373 const C& container, ::std::ostream* os) {
439 const T& value, ::std::ostream* os) {
455 void PrintTo(const T& value, ::std::ostream* os) {
478 DefaultPrintTo(IsContainerTest<T>(0), is_pointer<T>(), value, os);
699 static void Print(const T& value, ::std::ostream* os) {
784 static void Print(const T& value, ::std::ostream* os) {
856 typedef T T1;
983 internal::UniversalTersePrinter<T>::Print(value, &ss);
utils/unittest/googletest/include/gtest/gtest.h 1377 const T1& lhs, const T2& rhs) {
1377 const T1& lhs, const T2& rhs) {
1389 const T1& lhs,
1390 const T2& rhs) {
1419 const T1& lhs,
1420 const T2& rhs) {
utils/unittest/googletest/include/gtest/internal/custom/raw-ostream.h 29 static const T& printable(const T& V) { return V; }
29 static const T& printable(const T& V) { return V; }
35 auto printable(const T &V) -> decltype(StreamSwitch<T>::printable(V)) {
35 auto printable(const T &V) -> decltype(StreamSwitch<T>::printable(V)) {
37 return StreamSwitch<T>::printable(V);
utils/unittest/googletest/include/gtest/internal/gtest-internal.h 94 ::std::string PrintToString(const T& value);