reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
4712 if (!bmap) 4714 if (bmap->n_div == 0) 4715 return bmap; 4717 off = isl_space_dim(bmap->dim, isl_dim_all); 4718 pairs = isl_calloc_array(bmap->ctx, int, bmap->n_div); 4718 pairs = isl_calloc_array(bmap->ctx, int, bmap->n_div); 4722 for (i = 0; i < bmap->n_div; ++i) { 4729 defined = !isl_int_is_zero(bmap->div[i][0]); 4730 for (j = i; j < bmap->n_div; ++j) 4731 if (!isl_int_is_zero(bmap->div[j][1 + 1 + off + i])) 4733 if (j < bmap->n_div) 4735 for (j = 0; j < bmap->n_eq; ++j) 4736 if (!isl_int_is_zero(bmap->eq[j][1 + off + i])) 4738 if (j < bmap->n_eq) 4742 for (j = 0; j < bmap->n_ineq; ++j) { 4743 if (isl_int_is_pos(bmap->ineq[j][1 + off + i])) { 4747 if (isl_int_is_neg(bmap->ineq[j][1 + off + i])) { 4754 for (j = bmap->n_ineq - 1; j >= 0; --j) 4755 if (!isl_int_is_zero(bmap->ineq[j][1+off+i])) 4756 isl_basic_map_drop_inequality(bmap, j); 4757 bmap = isl_basic_map_drop_div(bmap, i); 4757 bmap = isl_basic_map_drop_div(bmap, i); 4758 return drop_redundant_divs_again(bmap, pairs, 0); 4763 opp = is_opposite(bmap, last_pos, last_neg); 4772 single = single_unknown(bmap, last_pos, i); 4777 one = has_coef_one(bmap, i, last_pos); 4781 return set_eq_and_try_again(bmap, last_pos, 4783 lower = lower_bound_is_cst(bmap, i, last_pos); 4785 return fix_cst_lower(bmap, i, last_pos, lower, 4790 isl_int_add(bmap->ineq[last_pos][0], 4791 bmap->ineq[last_pos][0], bmap->ineq[last_neg][0]); 4791 bmap->ineq[last_pos][0], bmap->ineq[last_neg][0]); 4792 isl_int_add_ui(bmap->ineq[last_pos][0], 4793 bmap->ineq[last_pos][0], 1); 4794 redundant = isl_int_ge(bmap->ineq[last_pos][0], 4795 bmap->ineq[last_pos][1+off+i]); 4796 isl_int_sub_ui(bmap->ineq[last_pos][0], 4797 bmap->ineq[last_pos][0], 1); 4798 isl_int_sub(bmap->ineq[last_pos][0], 4799 bmap->ineq[last_pos][0], bmap->ineq[last_neg][0]); 4799 bmap->ineq[last_pos][0], bmap->ineq[last_neg][0]); 4801 return drop_div_and_try_again(bmap, i, 4806 set_div = ok_to_set_div_from_bound(bmap, i, last_pos); 4808 return isl_basic_map_free(bmap); 4810 bmap = set_div_from_lower_bound(bmap, i, last_pos); 4810 bmap = set_div_from_lower_bound(bmap, i, last_pos); 4811 return drop_redundant_divs_again(bmap, pairs, 1); 4818 return coalesce_or_drop_more_redundant_divs(bmap, pairs, n); 4821 return bmap; 4824 isl_basic_map_free(bmap);