diff options
author | spop <spop@138bc75d-0d04-0410-961f-82ee72b054a4> | 2016-01-21 02:12:26 +0000 |
---|---|---|
committer | spop <spop@138bc75d-0d04-0410-961f-82ee72b054a4> | 2016-01-21 02:12:26 +0000 |
commit | ece4d5b13fa6c2d13dc46db4e9c34bcfb640a5ad (patch) | |
tree | b30bf643e8bcb9fa2e2a8c6bad0c016831a57322 /gcc/graphite-optimize-isl.c | |
parent | 39155ab4bcae237c2c131858abbd53a4899e9fd1 (diff) | |
download | gcc-ece4d5b13fa6c2d13dc46db4e9c34bcfb640a5ad.tar.gz |
add more coalescing to simplify constraints
* graphite-dependences.c (constrain_domain): Add call to isl_*_coalesce.
(add_pdr_constraints): Same.
(scop_get_reads): Same.
(scop_get_must_writes): Same.
(scop_get_may_writes): Same.
(scop_get_original_schedule): Same.
(extend_schedule): Same.
(apply_schedule_on_deps): Same.
(carries_deps): Same.
(compute_deps): Same.
(scop_get_dependences): Same.
* graphite-isl-ast-to-gimple.c
(translate_isl_ast_to_gimple::generate_isl_schedule): Same.
* graphite-optimize-isl.c (get_schedule_for_band): Same.
(get_schedule_for_band_list): Same.
(get_schedule_map): Same.
(apply_schedule_map_to_scop): Same.
* graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Same.
(build_loop_iteration_domains): Same.
(add_condition_to_pbb): Same.
(add_param_constraints): Same.
(pdr_add_memory_accesses): Same.
(pdr_add_data_dimensions): Same.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232650 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/graphite-optimize-isl.c')
-rw-r--r-- | gcc/graphite-optimize-isl.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/gcc/graphite-optimize-isl.c b/gcc/graphite-optimize-isl.c index 1e1d02047ec..23472c73d3d 100644 --- a/gcc/graphite-optimize-isl.c +++ b/gcc/graphite-optimize-isl.c @@ -241,6 +241,7 @@ get_schedule_for_band (isl_band *band, int *dimensions) PARAM_VALUE (PARAM_LOOP_BLOCK_TILE_SIZE)); tile_umap = isl_union_map_from_map (isl_map_from_basic_map (tile_map)); tile_umap = isl_union_map_align_params (tile_umap, space); + tile_umap = isl_union_map_coalesce (tile_umap); *dimensions = 2 * *dimensions; return isl_union_map_apply_range (partial_schedule, tile_umap); @@ -292,14 +293,14 @@ get_schedule_for_band_list (isl_band_list *band_list) isl_space_free (space); } - return schedule; + return isl_union_map_coalesce (schedule); } static isl_union_map * get_schedule_map (isl_schedule *schedule) { - isl_band_list *bandList = isl_schedule_get_band_forest (schedule); - isl_union_map *schedule_map = get_schedule_for_band_list (bandList); + isl_band_list *band_list = isl_schedule_get_band_forest (schedule); + isl_union_map *schedule_map = get_schedule_for_band_list (band_list); isl_band_list_free (bandList); return schedule_map; } @@ -327,15 +328,16 @@ apply_schedule_map_to_scop (scop_p scop, isl_union_map *schedule_map) isl_union_map *stmt_band = isl_union_map_intersect_domain (isl_union_map_copy (schedule_map), isl_union_set_from_set (domain)); + stmt_band = isl_union_map_coalesce (stmt_band); isl_union_map_foreach_map (stmt_band, get_single_map, &stmt_schedule); isl_map_free (pbb->transformed); - pbb->transformed = stmt_schedule; + pbb->transformed = isl_map_coalesce (stmt_schedule); isl_union_map_free (stmt_band); } } static isl_union_set * -scop_get_domains (scop_p scop ATTRIBUTE_UNUSED) +scop_get_domains (scop_p scop) { int i; poly_bb_p pbb; |