graphite-clast-to-gimple.c (gloog): Do not call sese_reset_aux_in_loops.
2009-10-26 Sebastian Pop <sebastian.pop@amd.com> * graphite-clast-to-gimple.c (gloog): Do not call sese_reset_aux_in_loops. * graphite-sese-to-poly.c (build_loop_iteration_domains): Pass an extra argument for domains. Do not use loop->aux. (build_scop_iteration_domain): Initialize and free domains, pass it to build_loop_iteration_domains and extract the information from domains. Do not use loop->aux. * sese.c (sese_reset_aux_in_loops): Removed. * sese.h (sese_reset_aux_in_loops): Removed. From-SVN: r154627
This commit is contained in:
parent
585b3e19fe
commit
6c6f84d772
@ -1,3 +1,15 @@
|
|||||||
|
2009-10-26 Sebastian Pop <sebastian.pop@amd.com>
|
||||||
|
|
||||||
|
* graphite-clast-to-gimple.c (gloog): Do not call
|
||||||
|
sese_reset_aux_in_loops.
|
||||||
|
* graphite-sese-to-poly.c (build_loop_iteration_domains): Pass an
|
||||||
|
extra argument for domains. Do not use loop->aux.
|
||||||
|
(build_scop_iteration_domain): Initialize and free domains, pass it
|
||||||
|
to build_loop_iteration_domains and extract the information from
|
||||||
|
domains. Do not use loop->aux.
|
||||||
|
* sese.c (sese_reset_aux_in_loops): Removed.
|
||||||
|
* sese.h (sese_reset_aux_in_loops): Removed.
|
||||||
|
|
||||||
2009-10-26 Sebastian Pop <sebastian.pop@amd.com>
|
2009-10-26 Sebastian Pop <sebastian.pop@amd.com>
|
||||||
|
|
||||||
* graphite-clast-to-gimple.c (find_pbb_via_hash): Moved up.
|
* graphite-clast-to-gimple.c (find_pbb_via_hash): Moved up.
|
||||||
|
@ -1193,7 +1193,6 @@ gloog (scop_p scop, htab_t bb_pbb_mapping)
|
|||||||
if_region->true_region->entry,
|
if_region->true_region->entry,
|
||||||
rename_map, &newivs, newivs_index,
|
rename_map, &newivs, newivs_index,
|
||||||
bb_pbb_mapping, 1);
|
bb_pbb_mapping, 1);
|
||||||
sese_reset_aux_in_loops (region);
|
|
||||||
graphite_verify ();
|
graphite_verify ();
|
||||||
sese_adjust_liveout_phis (region, rename_map,
|
sese_adjust_liveout_phis (region, rename_map,
|
||||||
if_region->region->exit->src,
|
if_region->region->exit->src,
|
||||||
|
@ -1066,7 +1066,8 @@ gbb_from_bb (basic_block bb)
|
|||||||
|
|
||||||
static void
|
static void
|
||||||
build_loop_iteration_domains (scop_p scop, struct loop *loop,
|
build_loop_iteration_domains (scop_p scop, struct loop *loop,
|
||||||
ppl_Polyhedron_t outer_ph, int nb)
|
ppl_Polyhedron_t outer_ph, int nb,
|
||||||
|
ppl_Pointset_Powerset_C_Polyhedron_t *domains)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
ppl_Polyhedron_t ph;
|
ppl_Polyhedron_t ph;
|
||||||
@ -1205,15 +1206,15 @@ build_loop_iteration_domains (scop_p scop, struct loop *loop,
|
|||||||
gcc_unreachable ();
|
gcc_unreachable ();
|
||||||
|
|
||||||
if (loop->inner && loop_in_sese_p (loop->inner, region))
|
if (loop->inner && loop_in_sese_p (loop->inner, region))
|
||||||
build_loop_iteration_domains (scop, loop->inner, ph, nb + 1);
|
build_loop_iteration_domains (scop, loop->inner, ph, nb + 1, domains);
|
||||||
|
|
||||||
if (nb != 0
|
if (nb != 0
|
||||||
&& loop->next
|
&& loop->next
|
||||||
&& loop_in_sese_p (loop->next, region))
|
&& loop_in_sese_p (loop->next, region))
|
||||||
build_loop_iteration_domains (scop, loop->next, outer_ph, nb);
|
build_loop_iteration_domains (scop, loop->next, outer_ph, nb, domains);
|
||||||
|
|
||||||
ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron
|
ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron
|
||||||
((ppl_Pointset_Powerset_C_Polyhedron_t *) &loop->aux, ph);
|
(&domains[loop->num], ph);
|
||||||
|
|
||||||
ppl_delete_Polyhedron (ph);
|
ppl_delete_Polyhedron (ph);
|
||||||
}
|
}
|
||||||
@ -1592,31 +1593,34 @@ build_scop_iteration_domain (scop_p scop)
|
|||||||
int i;
|
int i;
|
||||||
ppl_Polyhedron_t ph;
|
ppl_Polyhedron_t ph;
|
||||||
poly_bb_p pbb;
|
poly_bb_p pbb;
|
||||||
|
int nb_loops = number_of_loops ();
|
||||||
|
ppl_Pointset_Powerset_C_Polyhedron_t *domains
|
||||||
|
= XNEWVEC (ppl_Pointset_Powerset_C_Polyhedron_t, nb_loops);
|
||||||
|
|
||||||
|
for (i = 0; i < nb_loops; i++)
|
||||||
|
domains[i] = NULL;
|
||||||
|
|
||||||
ppl_new_C_Polyhedron_from_space_dimension (&ph, scop_nb_params (scop), 0);
|
ppl_new_C_Polyhedron_from_space_dimension (&ph, scop_nb_params (scop), 0);
|
||||||
|
|
||||||
for (i = 0; VEC_iterate (loop_p, SESE_LOOP_NEST (region), i, loop); i++)
|
for (i = 0; VEC_iterate (loop_p, SESE_LOOP_NEST (region), i, loop); i++)
|
||||||
if (!loop_in_sese_p (loop_outer (loop), region))
|
if (!loop_in_sese_p (loop_outer (loop), region))
|
||||||
build_loop_iteration_domains (scop, loop, ph, 0);
|
build_loop_iteration_domains (scop, loop, ph, 0, domains);
|
||||||
|
|
||||||
for (i = 0; VEC_iterate (poly_bb_p, SCOP_BBS (scop), i, pbb); i++)
|
for (i = 0; VEC_iterate (poly_bb_p, SCOP_BBS (scop), i, pbb); i++)
|
||||||
if (gbb_loop (PBB_BLACK_BOX (pbb))->aux)
|
if (domains[gbb_loop (PBB_BLACK_BOX (pbb))->num])
|
||||||
ppl_new_Pointset_Powerset_C_Polyhedron_from_Pointset_Powerset_C_Polyhedron
|
ppl_new_Pointset_Powerset_C_Polyhedron_from_Pointset_Powerset_C_Polyhedron
|
||||||
(&PBB_DOMAIN (pbb), (ppl_const_Pointset_Powerset_C_Polyhedron_t)
|
(&PBB_DOMAIN (pbb), (ppl_const_Pointset_Powerset_C_Polyhedron_t)
|
||||||
gbb_loop (PBB_BLACK_BOX (pbb))->aux);
|
domains[gbb_loop (PBB_BLACK_BOX (pbb))->num]);
|
||||||
else
|
else
|
||||||
ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron
|
ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron
|
||||||
(&PBB_DOMAIN (pbb), ph);
|
(&PBB_DOMAIN (pbb), ph);
|
||||||
|
|
||||||
for (i = 0; VEC_iterate (loop_p, SESE_LOOP_NEST (region), i, loop); i++)
|
for (i = 0; i < nb_loops; i++)
|
||||||
if (loop->aux)
|
if (domains[i])
|
||||||
{
|
ppl_delete_Pointset_Powerset_C_Polyhedron (domains[i]);
|
||||||
ppl_delete_Pointset_Powerset_C_Polyhedron
|
|
||||||
((ppl_Pointset_Powerset_C_Polyhedron_t) loop->aux);
|
|
||||||
loop->aux = NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
ppl_delete_Polyhedron (ph);
|
ppl_delete_Polyhedron (ph);
|
||||||
|
free (domains);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Add a constrain to the ACCESSES polyhedron for the alias set of
|
/* Add a constrain to the ACCESSES polyhedron for the alias set of
|
||||||
|
12
gcc/sese.c
12
gcc/sese.c
@ -1458,18 +1458,6 @@ move_sese_in_condition (sese region)
|
|||||||
return if_region;
|
return if_region;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Reset the loop->aux pointer for all loops in REGION. */
|
|
||||||
|
|
||||||
void
|
|
||||||
sese_reset_aux_in_loops (sese region)
|
|
||||||
{
|
|
||||||
int i;
|
|
||||||
loop_p loop;
|
|
||||||
|
|
||||||
for (i = 0; VEC_iterate (loop_p, SESE_LOOP_NEST (region), i, loop); i++)
|
|
||||||
loop->aux = NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Returns the scalar evolution of T in REGION. Every variable that
|
/* Returns the scalar evolution of T in REGION. Every variable that
|
||||||
is not defined in the REGION is considered a parameter. */
|
is not defined in the REGION is considered a parameter. */
|
||||||
|
|
||||||
|
@ -68,7 +68,6 @@ extern edge copy_bb_and_scalar_dependences (basic_block, sese, edge, htab_t);
|
|||||||
extern struct loop *outermost_loop_in_sese (sese, basic_block);
|
extern struct loop *outermost_loop_in_sese (sese, basic_block);
|
||||||
extern void insert_loop_close_phis (htab_t, loop_p);
|
extern void insert_loop_close_phis (htab_t, loop_p);
|
||||||
extern void insert_guard_phis (basic_block, edge, edge, htab_t, htab_t);
|
extern void insert_guard_phis (basic_block, edge, edge, htab_t, htab_t);
|
||||||
extern void sese_reset_aux_in_loops (sese);
|
|
||||||
extern tree scalar_evolution_in_region (sese, loop_p, tree);
|
extern tree scalar_evolution_in_region (sese, loop_p, tree);
|
||||||
|
|
||||||
/* Check that SESE contains LOOP. */
|
/* Check that SESE contains LOOP. */
|
||||||
|
Loading…
Reference in New Issue
Block a user