Skip to content
This repository was archived by the owner on Apr 28, 2023. It is now read-only.

Commit 5afe8d2

Browse files
author
Sven Verdoolaege
committed
obtainOuterBand: extract out ScheduleTree::makeEmptyBand
This function will be reused in the next commit.
1 parent 167d414 commit 5afe8d2

File tree

3 files changed

+12
-5
lines changed

3 files changed

+12
-5
lines changed

tc/core/polyhedral/schedule_tree.cc

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff 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+
211219
std::unique_ptr<ScheduleTree> ScheduleTree::makeDomain(
212220
isl::union_set domain,
213221
std::vector<ScheduleTreeUPtr>&& children) {

tc/core/polyhedral/schedule_tree.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff 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 = {});

tc/core/polyhedral/scop.cc

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff 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 {

0 commit comments

Comments
 (0)