isl_schedule.c: mark row constructed by compute_split_schedule as non-zero
authorSven Verdoolaege <skimo@kotnet.org>
Tue, 3 Jan 2012 09:05:50 +0000 (10:05 +0100)
committerSven Verdoolaege <skimo@kotnet.org>
Tue, 3 Jan 2012 09:22:12 +0000 (10:22 +0100)
compute_split_schedule is only called when no zero-distance schedule row
could be found on the entire graph.
We missed this part in ee1ca56 (isl_schedule.c: keep track of parallel loops,
Sun May 29 19:41:55 2011 +0200).

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
isl_schedule.c

index d7ef8fc..175ed0a 100644 (file)
@@ -1846,6 +1846,9 @@ static int pad_schedule(struct isl_sched_graph *graph)
  * It would be possible to reuse them as the first rows in the next
  * band, but recomputing them may result in better rows as we are looking
  * at a smaller part of the dependence graph.
+ * compute_split_schedule is only called when no zero-distance schedule row
+ * could be found on the entire graph, so we wark the splitting row as
+ * non zero-distance.
  *
  * The band_id of the second group is set to n, where n is the number
  * of nodes in the first group.  This ensures that the band_ids over
@@ -1886,6 +1889,7 @@ static int compute_split_schedule(isl_ctx *ctx, struct isl_sched_graph *graph)
                        node->sched = isl_mat_set_element_si(node->sched,
                                                             row, j, 0);
                node->band[graph->n_total_row] = graph->n_band;
+               node->zero[graph->n_total_row] = 0;
        }
 
        e1 = e2 = 0;