temporarily make isl_val_int_from_isl_int available
[platform/upstream/isl.git] / isl_map_simplify.c
index a25daf1..5cb6bfb 100644 (file)
@@ -1363,9 +1363,12 @@ static int div_is_redundant(struct isl_basic_map *bmap, int div)
                        return 0;
        }
 
-       for (i = 0; i < bmap->n_div; ++i)
+       for (i = 0; i < bmap->n_div; ++i) {
+               if (isl_int_is_zero(bmap->div[i][0]))
+                       continue;
                if (!isl_int_is_zero(bmap->div[i][1+pos]))
                        return 0;
+       }
 
        return 1;
 }
@@ -2144,6 +2147,8 @@ static struct isl_basic_map *normalize_divs_in_context(
        for (i = 0; i < context->n_eq; ++i) {
                int k;
                k = isl_basic_map_alloc_equality(bmap);
+               if (k < 0)
+                       return isl_basic_map_free(bmap);
                isl_seq_cpy(bmap->eq[k], context->eq[i], 1 + total_context);
                isl_seq_clr(bmap->eq[k] + 1 + total_context,
                                isl_basic_map_total_dim(bmap) - total_context);