Commit 271fb6fa by Sebastian Pop Committed by Sebastian Pop

Fix pbb_remove_duplicate_pdrs.

2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-poly.c (pbb_remove_duplicate_pdrs): Make it work.

From-SVN: r169202
parent 92d23680
2011-01-25 Sebastian Pop <sebastian.pop@amd.com> 2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
* graphite-poly.c (pbb_remove_duplicate_pdrs): Make it work.
2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
* graphite-interchange.c (lst_interchange_profitable_p): Takes a loop * graphite-interchange.c (lst_interchange_profitable_p): Takes a loop
nest and two loop depths as parameters. nest and two loop depths as parameters.
(lst_try_interchange_loops): Call lst_interchange_profitable_p after (lst_try_interchange_loops): Call lst_interchange_profitable_p after
......
2011-01-15 Sebastian Pop <sebastian.pop@amd.com> 2011-01-15 Sebastian Pop <sebastian.pop@amd.com>
* graphite-poly.c (pbb_remove_duplicate_pdrs): Make it work.
2011-01-15 Sebastian Pop <sebastian.pop@amd.com>
* graphite-interchange.c (lst_interchange_profitable_p): Takes a loop * graphite-interchange.c (lst_interchange_profitable_p): Takes a loop
nest and two loop depths as parameters. nest and two loop depths as parameters.
(lst_try_interchange_loops): Call lst_interchange_profitable_p after (lst_try_interchange_loops): Call lst_interchange_profitable_p after
......
...@@ -813,15 +813,16 @@ pbb_remove_duplicate_pdrs (poly_bb_p pbb) ...@@ -813,15 +813,16 @@ pbb_remove_duplicate_pdrs (poly_bb_p pbb)
{ {
int i, j; int i, j;
poly_dr_p pdr1, pdr2; poly_dr_p pdr1, pdr2;
unsigned n = VEC_length (poly_dr_p, PBB_DRS (pbb));
VEC (poly_dr_p, heap) *collapsed = VEC_alloc (poly_dr_p, heap, n);
FOR_EACH_VEC_ELT (poly_dr_p, PBB_DRS (pbb), i, pdr1) FOR_EACH_VEC_ELT (poly_dr_p, PBB_DRS (pbb), i, pdr1)
FOR_EACH_VEC_ELT (poly_dr_p, collapsed, j, pdr2) for (j = i + 1; VEC_iterate (poly_dr_p, PBB_DRS (pbb), j, pdr2); j++)
if (!can_collapse_pdrs (pdr1, pdr2)) if (can_collapse_pdrs (pdr1, pdr2))
VEC_quick_push (poly_dr_p, collapsed, pdr1); {
PDR_NB_REFS (pdr1) += PDR_NB_REFS (pdr2);
free_poly_dr (pdr2);
VEC_ordered_remove (poly_dr_p, PBB_DRS (pbb), j);
}
VEC_free (poly_dr_p, heap, collapsed);
PBB_PDR_DUPLICATES_REMOVED (pbb) = true; PBB_PDR_DUPLICATES_REMOVED (pbb) = true;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment