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
  903 	if (!bmap)
  906 	if (bmap->n_div == 0)
  907 		return bmap;
  909 	if (bmap->n_eq == 0)
  910 		return bmap;
  912 	if (ISL_F_ISSET(bmap, ISL_BASIC_MAP_NORMALIZED_DIVS))
  913 		return bmap;
  915 	total = isl_space_dim(bmap->dim, isl_dim_all);
  916 	div_eq = n_pure_div_eq(bmap);
  918 		return bmap;
  920 	if (div_eq < bmap->n_eq) {
  921 		B = isl_mat_sub_alloc6(bmap->ctx, bmap->eq, div_eq,
  921 		B = isl_mat_sub_alloc6(bmap->ctx, bmap->eq, div_eq,
  922 					bmap->n_eq - div_eq, 0, 1 + total);
  927 			bmap = isl_basic_map_set_to_empty(bmap);
  927 			bmap = isl_basic_map_set_to_empty(bmap);
  934 	d = isl_vec_alloc(bmap->ctx, div_eq);
  937 	for (i = 0, j = bmap->n_div-1; i < div_eq; ++i) {
  938 		while (j >= 0 && isl_int_is_zero(bmap->eq[i][1 + total + j]))
  940 		isl_int_set(d->block.data[i], bmap->eq[i][1 + total + j]);
  942 	B = isl_mat_sub_alloc6(bmap->ctx, bmap->eq, 0, div_eq, 0, 1 + total);
  942 	B = isl_mat_sub_alloc6(bmap->ctx, bmap->eq, 0, div_eq, 0, 1 + total);
  953 		bmap = isl_basic_map_set_to_empty(bmap);
  953 		bmap = isl_basic_map_set_to_empty(bmap);
  966 	pos = isl_alloc_array(bmap->ctx, int, T->n_row);
  971 	for (j = bmap->n_div - 1; j >= 0; --j) {
  972 		for (i = 0; i < bmap->n_eq; ++i)
  973 			if (!isl_int_is_zero(bmap->eq[i][1 + total + j]))
  975 		if (i < bmap->n_eq) {
  976 			bmap = isl_basic_map_drop_div(bmap, j);
  976 			bmap = isl_basic_map_drop_div(bmap, j);
  977 			isl_basic_map_drop_equality(bmap, i);
  990 		bmap = isl_basic_map_extend_space(bmap, isl_space_copy(bmap->dim),
  990 		bmap = isl_basic_map_extend_space(bmap, isl_space_copy(bmap->dim),
  990 		bmap = isl_basic_map_extend_space(bmap, isl_space_copy(bmap->dim),
  992 		if (!bmap)
  998 		k = isl_basic_map_alloc_div(bmap);
 1000 		isl_seq_clr(bmap->div[k] + 1, 1 + total + bmap->n_div);
 1000 		isl_seq_clr(bmap->div[k] + 1, 1 + total + bmap->n_div);
 1001 		isl_int_set(bmap->div[k][0], T->row[i][i]);
 1003 			isl_seq_cpy(bmap->div[k] + 1, C2->row[i], 1 + total);
 1005 			isl_int_set_si(bmap->div[k][1 + i], 1);
 1010 				isl_seq_submul(bmap->div[k] + 1, T->row[i][j],
 1013 				isl_int_neg(bmap->div[k][1 + pos[j]],
 1016 		j = isl_basic_map_alloc_equality(bmap);
 1017 		isl_seq_neg(bmap->eq[j], bmap->div[k]+1, 1+total+bmap->n_div);
 1017 		isl_seq_neg(bmap->eq[j], bmap->div[k]+1, 1+total+bmap->n_div);
 1017 		isl_seq_neg(bmap->eq[j], bmap->div[k]+1, 1+total+bmap->n_div);
 1018 		isl_int_set(bmap->eq[j][pos[i]], bmap->div[k][0]);
 1018 		isl_int_set(bmap->eq[j][pos[i]], bmap->div[k][0]);
 1027 	ISL_F_SET(bmap, ISL_BASIC_MAP_NORMALIZED_DIVS);
 1029 	return bmap;
 1035 	return bmap;