reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

tools/polly/lib/External/isl/isl_map_simplify.c
 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);