graphite-poly.h (lst_find_pbb): New.

2009-10-09  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-poly.h (lst_find_pbb): New.
	(find_lst_loop): New.

From-SVN: r154568
This commit is contained in:
Sebastian Pop 2009-11-25 04:57:45 +00:00 committed by Sebastian Pop
parent 9d0778350b
commit a0517b76dd
3 changed files with 46 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2009-10-09 Sebastian Pop <sebastian.pop@amd.com>
* graphite-poly.h (lst_find_pbb): New.
(find_lst_loop): New.
2009-10-09 Sebastian Pop <sebastian.pop@amd.com>
* graphite-poly.c (new_scop): Remove init of SCOP_DEP_GRAPH.

View File

@ -724,6 +724,47 @@ lst_dewey_number (lst_p lst)
return -1;
}
/* Return the LST node corresponding to PBB. */
static inline lst_p
lst_find_pbb (lst_p lst, poly_bb_p pbb)
{
int i;
lst_p l;
if (!lst)
return NULL;
if (LST_LOOP_P (lst))
for (i = 0; VEC_iterate (lst_p, LST_SEQ (lst), i, l); i++)
{
lst_p res = lst_find_pbb (l, pbb);
if (res)
return res;
}
else if (pbb == LST_PBB (lst))
return lst;
return NULL;
}
/* Return the LST node corresponding to the loop around STMT at depth
LOOP_DEPTH. */
static inline lst_p
find_lst_loop (lst_p stmt, int loop_depth)
{
lst_p loop = LST_LOOP_FATHER (stmt);
gcc_assert (loop_depth >= 0);
while (loop_depth < lst_depth (loop))
loop = LST_LOOP_FATHER (loop);
return loop;
}
/* A SCOP is a Static Control Part of the program, simple enough to be
represented in polyhedral form. */
struct scop

View File

@ -1060,7 +1060,6 @@ gbb_from_bb (basic_block bb)
static void
build_loop_iteration_domains (scop_p scop, struct loop *loop,
ppl_Polyhedron_t outer_ph, int nb)
{
int i;
ppl_Polyhedron_t ph;