This repository was archived by the owner on Apr 28, 2023. It is now read-only.
File tree Expand file tree Collapse file tree 3 files changed +12
-5
lines changed Expand file tree Collapse file tree 3 files changed +12
-5
lines changed Original file line number Diff line number Diff line change @@ -208,6 +208,14 @@ std::unique_ptr<ScheduleTree> ScheduleTree::makeBand(
208208 return res;
209209}
210210
211+ ScheduleTreeUPtr ScheduleTree::makeEmptyBand (const ScheduleTree* root) {
212+ auto domain = root->elemAs <ScheduleTreeElemDomain>();
213+ CHECK (domain);
214+ auto space = domain->domain_ .get_space ().set_from_params ();
215+ auto zero = isl::multi_union_pw_aff::zero (space);
216+ return ScheduleTree::makeBand (zero);
217+ }
218+
211219std::unique_ptr<ScheduleTree> ScheduleTree::makeDomain (
212220 isl::union_set domain,
213221 std::vector<ScheduleTreeUPtr>&& children) {
Original file line number Diff line number Diff line change @@ -285,6 +285,9 @@ struct ScheduleTree {
285285 isl::multi_union_pw_aff mupa,
286286 std::vector<ScheduleTreeUPtr>&& children = {});
287287
288+ // Return a zero-dimensional band for use in a tree with the given root.
289+ static ScheduleTreeUPtr makeEmptyBand (const ScheduleTree* root);
290+
288291 static ScheduleTreeUPtr makeDomain (
289292 isl::union_set domain,
290293 std::vector<ScheduleTreeUPtr>&& children = {});
Original file line number Diff line number Diff line change @@ -488,11 +488,7 @@ detail::ScheduleTree* obtainOuterBand(detail::ScheduleTree* root) {
488488 continue ;
489489 }
490490
491- auto domain = root->elemAs <ScheduleTreeElemDomain>();
492- CHECK (domain);
493- auto space = domain->domain_ .get_space ().set_from_params ();
494- auto zero = isl::multi_union_pw_aff::zero (space);
495- auto band = ScheduleTree::makeBand (zero);
491+ auto band = ScheduleTree::makeEmptyBand (root);
496492 if (n == 0 ) {
497493 return setPermutable (insertNodeBelow (tree, std::move (band)));
498494 } else {
You can’t perform that action at this time.
0 commit comments