diff options
-rw-r--r-- | polly/lib/Analysis/ScopInfo.cpp | 1 | ||||
-rw-r--r-- | polly/lib/ScheduleOptimizer.cpp | 10 |
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); |