Fix lst_update_scattering.

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

	* graphite-poly.h (lst_update_scattering_seq): Removed.
	(lst_update_scattering): Correctly handle outermost loop dewey
	renumbering.

From-SVN: r164801
This commit is contained in:
Sebastian Pop 2010-09-30 21:20:22 +00:00 committed by Sebastian Pop
parent 22280f632d
commit b8745012ea
3 changed files with 26 additions and 22 deletions

View file

@ -1,3 +1,9 @@
2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
* graphite-poly.h (lst_update_scattering_seq): Removed.
(lst_update_scattering): Correctly handle outermost loop dewey
renumbering.
2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
* graphite-blocking.c (pbb_strip_mine_profitable_p): Renamed

View file

@ -1,3 +1,9 @@
2010-09-09 Sebastian Pop <sebastian.pop@amd.com>
* graphite-poly.h (lst_update_scattering_seq): Removed.
(lst_update_scattering): Correctly handle outermost loop dewey
renumbering.
2010-09-09 Sebastian Pop <sebastian.pop@amd.com>
* graphite-blocking.c (pbb_strip_mine_profitable_p): Renamed

View file

@ -1120,24 +1120,6 @@ lst_update_scattering_under (lst_p lst, int level, int dewey)
pbb_update_scattering (LST_PBB (lst), level, dewey);
}
/* Updates the scattering of all the PBBs under LST and in sequence
with LST. */
static inline void
lst_update_scattering_seq (lst_p lst)
{
int i;
lst_p l;
lst_p father = LST_LOOP_FATHER (lst);
int dewey = lst_dewey_number (lst);
int level = lst_depth (lst);
gcc_assert (lst && father && dewey >= 0 && level >= 0);
for (i = dewey; VEC_iterate (lst_p, LST_SEQ (father), i, l); i++)
lst_update_scattering_under (l, level, i);
}
/* Updates the all the scattering levels of all the PBBs under
LST. */
@ -1147,14 +1129,24 @@ lst_update_scattering (lst_p lst)
int i;
lst_p l;
if (!lst || !LST_LOOP_P (lst))
if (!lst)
return;
if (LST_LOOP_FATHER (lst))
lst_update_scattering_seq (lst);
{
lst_p father = LST_LOOP_FATHER (lst);
int dewey = lst_dewey_number (lst);
int level = lst_depth (lst);
for (i = 0; VEC_iterate (lst_p, LST_SEQ (lst), i, l); i++)
lst_update_scattering (l);
gcc_assert (lst && father && dewey >= 0 && level >= 0);
for (i = dewey; VEC_iterate (lst_p, LST_SEQ (father), i, l); i++)
lst_update_scattering_under (l, level, i);
}
if (LST_LOOP_P (lst))
for (i = 0; VEC_iterate (lst_p, LST_SEQ (lst), i, l); i++)
lst_update_scattering (l);
}
/* Inserts LST1 before LST2 if BEFORE is true; inserts LST1 after LST2