aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--polly/lib/Analysis/ScopInfo.cpp1
-rw-r--r--polly/lib/ScheduleOptimizer.cpp10
2 files changed, 2 insertions, 9 deletions
diff --git a/polly/lib/Analysis/ScopInfo.cpp b/polly/lib/Analysis/ScopInfo.cpp
index 86b4762..e0f8573 100644
--- a/polly/lib/Analysis/ScopInfo.cpp
+++ b/polly/lib/Analysis/ScopInfo.cpp
@@ -500,6 +500,7 @@ void ScopStmt::restrictDomain(__isl_take isl_set *NewDomain) {
}
void ScopStmt::setScattering(isl_map *NewScattering) {
+ assert(NewScattering && "New scattering is NULL");
isl_map_free(Scattering);
Scattering = NewScattering;
}
diff --git a/polly/lib/ScheduleOptimizer.cpp b/polly/lib/ScheduleOptimizer.cpp
index 14fea7c..9e4e4ce 100644
--- a/polly/lib/ScheduleOptimizer.cpp
+++ b/polly/lib/ScheduleOptimizer.cpp
@@ -544,15 +544,7 @@ bool IslScheduleOptimizer::runOnScop(Scop &S) {
StmtBand = isl_union_map_intersect_domain(isl_union_map_copy(ScheduleMap),
isl_union_set_from_set(Domain));
if (isl_union_map_is_empty(StmtBand)) {
- // Statements with an empty iteration domain may not have a schedule
- // assigned by the isl schedule optimizer. As Polly expects each statement
- // to have a schedule, we keep the old schedule for this statement. As
- // there are zero iterations to execute, the content of the schedule does
- // not matter.
- //
- // TODO: Consider removing such statements when constructing the scop.
- StmtSchedule = Stmt->getScattering();
- StmtSchedule = isl_map_set_tuple_id(StmtSchedule, isl_dim_out, NULL);
+ StmtSchedule = isl_map_from_domain(isl_set_empty(Stmt->getDomainSpace()));
isl_union_map_free(StmtBand);
} else {
assert(isl_union_map_n_map(StmtBand) == 1);