ScheduleOpt: Fix some bugs

isl changed a function name, we did not properly initialize some variables
and we freed an isl_ctx object.

llvm-svn: 134448
diff --git a/polly/lib/ScheduleOptimizer.cpp b/polly/lib/ScheduleOptimizer.cpp
index 2db2d01..c9982cd 100644
--- a/polly/lib/ScheduleOptimizer.cpp
+++ b/polly/lib/ScheduleOptimizer.cpp
@@ -205,7 +205,6 @@
   partialSchedule = isl_union_map_apply_range(partialSchedule, tileUnionMap);
 
   isl_dim_free(dim);
-  isl_ctx_free(ctx);
 
   return partialSchedule;
 }
@@ -286,6 +285,11 @@
     isl_union_map *partialSchedule;
     band = isl_band_list_get_band(blist, i);
     partialSchedule = getTiledPartialSchedule(band);
+    int scheduleDimensions = isl_band_n_member(band);
+    isl_dim *dim = isl_union_map_get_dim(partialSchedule);
+    int parameterDimensions = isl_dim_size(dim, isl_dim_param);
+    isl_dim_free(dim);
+
 
     if (isl_band_has_children(band)) {
       isl_band_list *children = isl_band_get_children(band);
@@ -296,11 +300,10 @@
       isl_map *tileMap;
       isl_union_map *tileUnionMap;
       isl_ctx *ctx;
-      int scheduleDimensions, parameterDimensions;
 
       ctx = isl_union_map_get_ctx(partialSchedule);
       for (int i = scheduleDimensions - 1 ;  i >= 0 ; i--) {
-	if (isl_band_member_is_parallel(band, i)) {
+	if (isl_band_member_is_zero_distance(band, i)) {
 	  tileMap = getPrevectorMap(ctx, scheduleDimensions + i,
 				    scheduleDimensions * 2,
 				    parameterDimensions);
@@ -313,7 +316,7 @@
     }
 
     if (finalSchedule)
-      isl_union_map_union(finalSchedule, partialSchedule);
+      finalSchedule = isl_union_map_union(finalSchedule, partialSchedule);
     else
       finalSchedule = partialSchedule;