Lines Matching refs:isl

28 bool isDimBoundedByConstant(isl::set Set, unsigned dim) {  in isDimBoundedByConstant()
29 auto ParamDims = unsignedFromIslSize(Set.dim(isl::dim::param)); in isDimBoundedByConstant()
30 Set = Set.project_out(isl::dim::param, 0, ParamDims); in isDimBoundedByConstant()
31 Set = Set.project_out(isl::dim::set, 0, dim); in isDimBoundedByConstant()
34 Set = Set.project_out(isl::dim::set, 1, SetDims - 1); in isDimBoundedByConstant()
42 bool isDimBoundedByParameter(isl::set Set, unsigned dim) { in isDimBoundedByParameter()
43 Set = Set.project_out(isl::dim::set, 0, dim); in isDimBoundedByParameter()
46 Set = Set.project_out(isl::dim::set, 1, SetDims - 1); in isDimBoundedByParameter()
51 bool isVariableDim(const isl::basic_map &BMap) { in isVariableDim()
52 auto FixedVal = BMap.plain_get_val_if_fixed(isl::dim::out, 0); in isVariableDim()
57 bool isVariableDim(const isl::map &Map) { in isVariableDim()
58 for (isl::basic_map BMap : Map.get_basic_map_list()) in isVariableDim()
66 bool isVariableDim(const isl::union_map &UMap) { in isVariableDim()
67 for (isl::map Map : UMap.get_map_list()) in isVariableDim()
74 isl::union_pw_aff subtract(isl::union_pw_aff UPwAff, isl::val Val) { in subtract()
78 auto Result = isl::union_pw_aff::empty(UPwAff.get_space()); in subtract()
79 isl::stat Stat = in subtract()
80 UPwAff.foreach_pw_aff([=, &Result](isl::pw_aff PwAff) -> isl::stat { in subtract()
82 isl::pw_aff(isl::set::universe(PwAff.get_space().domain()), Val); in subtract()
84 Result = Result.union_add(isl::union_pw_aff(Subtracted)); in subtract()
85 return isl::stat::ok(); in subtract()
93 isl::union_pw_aff multiply(isl::union_pw_aff UPwAff, isl::val Val) { in multiply()
97 auto Result = isl::union_pw_aff::empty(UPwAff.get_space()); in multiply()
98 isl::stat Stat = in multiply()
99 UPwAff.foreach_pw_aff([=, &Result](isl::pw_aff PwAff) -> isl::stat { in multiply()
101 isl::pw_aff(isl::set::universe(PwAff.get_space().domain()), Val); in multiply()
104 return isl::stat::ok(); in multiply()
115 isl::union_map scheduleProjectOut(const isl::union_map &UMap, unsigned first, in scheduleProjectOut()
121 auto Result = isl::union_map::empty(UMap.ctx()); in scheduleProjectOut()
122 for (isl::map Map : UMap.get_map_list()) { in scheduleProjectOut()
123 auto Outprojected = Map.project_out(isl::dim::out, first, n); in scheduleProjectOut()
130 isl::union_pw_aff scheduleExtractDimAff(isl::union_map UMap, unsigned pos) { in scheduleExtractDimAff()
131 auto SingleUMap = isl::union_map::empty(UMap.ctx()); in scheduleExtractDimAff()
132 for (isl::map Map : UMap.get_map_list()) { in scheduleExtractDimAff()
135 isl::map SingleMap = Map.project_out(isl::dim::out, 0, pos); in scheduleExtractDimAff()
136 SingleMap = SingleMap.project_out(isl::dim::out, 1, MapDims - pos - 1); in scheduleExtractDimAff()
140 auto UAff = isl::union_pw_multi_aff(SingleUMap); in scheduleExtractDimAff()
141 auto FirstMAff = isl::multi_union_pw_aff(UAff); in scheduleExtractDimAff()
164 isl::union_map tryFlattenSequence(isl::union_map Schedule) { in tryFlattenSequence()
166 auto ScatterSet = isl::set(Schedule.range()); in tryFlattenSequence()
179 auto AllDomainsToNull = isl::union_pw_multi_aff(AllDomains); in tryFlattenSequence()
181 auto NewSchedule = isl::union_map::empty(ParamSpace.ctx()); in tryFlattenSequence()
182 auto Counter = isl::pw_aff(isl::local_space(ParamSpace.set_from_params())); in tryFlattenSequence()
187 auto ThisSet = ScatterSet.project_out(isl::dim::set, 1, Dims - 1); in tryFlattenSequence()
189 auto ScatterFirst = ThisFirst.add_dims(isl::dim::set, Dims - 1); in tryFlattenSequence()
201 auto FirstSubScatter = isl::set(FirstSubSchedule.range()); in tryFlattenSequence()
210 auto FirstSubScatterMap = isl::map::from_range(FirstSubScatter); in tryFlattenSequence()
219 auto One = isl::pw_aff(isl::set::universe(ParamSpace.set_from_params()), in tryFlattenSequence()
220 isl::val::one(IslCtx)); in tryFlattenSequence()
223 auto AllPartMin = isl::union_pw_aff(PartMin).pullback(AllDomainsToNull); in tryFlattenSequence()
225 auto AllCounter = isl::union_pw_aff(Counter).pullback(AllDomainsToNull); in tryFlattenSequence()
230 isl::union_map::from( in tryFlattenSequence()
231 isl::union_pw_multi_aff(FirstScheduleAffWithOffset)) in tryFlattenSequence()
254 isl::union_map tryFlattenLoop(isl::union_map Schedule) { in tryFlattenLoop()
263 auto SubExtent = isl::set(SubSchedule.range()); in tryFlattenLoop()
264 auto SubExtentDims = unsignedFromIslSize(SubExtent.dim(isl::dim::param)); in tryFlattenLoop()
265 SubExtent = SubExtent.project_out(isl::dim::param, 0, SubExtentDims); in tryFlattenLoop()
266 SubExtent = SubExtent.project_out(isl::dim::set, 1, SubDims - 1); in tryFlattenLoop()
296 isl::union_pw_multi_aff Index = FirstSubScheduleNormalized.add(Offset); in tryFlattenLoop()
297 auto IndexMap = isl::union_map::from(Index); in tryFlattenLoop()
305 isl::union_map polly::flattenSchedule(isl::union_map Schedule) { in flattenSchedule()