| Submitter | Steven Bosscher |
|---|---|
| Date | Aug. 22, 2012, 10:53 p.m. |
| Message ID | <CABu31nNx0pn2CB6UHkRMpB_vVGDv09emgKLs1uc1NLjgem-nCg@mail.gmail.com> |
| Download | mbox | patch |
| Permalink | /patch/179426/ |
| State | New |
| Headers | show |
Comments
On Thu, 2012-08-23 at 00:53 +0200, Steven Bosscher wrote: > Hello Bill, > > This patch plugs a leak in rs6000.c:rs6000_density_test(). You have to > free the array that get_loop_body returns. Noticed while going over > all uses of get_loop_body (it's a common mistake to leak the return > array). > > Patch is completely untested because I don't know when/how this > function is used. You've added this function: > > 2012-07-31 Bill Schmidt <...> > > * config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost): Revise > costs for vec_perm and vec_promote_demote down to more natural values. > (struct _rs6000_cost_data): New data structure. > --> (rs6000_density_test): New function > > so I suppose you know what it's for and how to test this patch :-) > > Could you test this for me and commit it if nothing strange happens? Sure thing! Thanks for catching this. Bill > > Thanks, > > Ciao! > Steven > > > > Index: config/rs6000/rs6000.c > =================================================================== > --- config/rs6000/rs6000.c (revision 190601) > +++ config/rs6000/rs6000.c (working copy) > @@ -3509,6 +3509,7 @@ rs6000_density_test (rs6000_cost_data *d > not_vec_cost++; > } > } > + free (bbs); > > density_pct = (vec_cost * 100) / (vec_cost + not_vec_cost); >
On Thu, 2012-08-23 at 00:53 +0200, Steven Bosscher wrote: > Hello Bill, > > This patch plugs a leak in rs6000.c:rs6000_density_test(). You have to > free the array that get_loop_body returns. Noticed while going over > all uses of get_loop_body (it's a common mistake to leak the return > array). > > Patch is completely untested because I don't know when/how this > function is used. You've added this function: > > 2012-07-31 Bill Schmidt <...> > > * config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost): Revise > costs for vec_perm and vec_promote_demote down to more natural values. > (struct _rs6000_cost_data): New data structure. > --> (rs6000_density_test): New function > > so I suppose you know what it's for and how to test this patch :-) > > Could you test this for me and commit it if nothing strange happens? Hi Steven, Regstrapped with no additional failures on powerpc64-unknown-linux-gnu. Built CPU2006 without error. Committed as obvious. Thanks again, Bill > > Thanks, > > Ciao! > Steven > > > > Index: config/rs6000/rs6000.c > =================================================================== > --- config/rs6000/rs6000.c (revision 190601) > +++ config/rs6000/rs6000.c (working copy) > @@ -3509,6 +3509,7 @@ rs6000_density_test (rs6000_cost_data *d > not_vec_cost++; > } > } > + free (bbs); > > density_pct = (vec_cost * 100) / (vec_cost + not_vec_cost); >
Patch
Index: config/rs6000/rs6000.c =================================================================== --- config/rs6000/rs6000.c (revision 190601) +++ config/rs6000/rs6000.c (working copy) @@ -3509,6 +3509,7 @@ rs6000_density_test (rs6000_cost_data *d not_vec_cost++; } } + free (bbs); density_pct = (vec_cost * 100) / (vec_cost + not_vec_cost);
Hello Bill, This patch plugs a leak in rs6000.c:rs6000_density_test(). You have to free the array that get_loop_body returns. Noticed while going over all uses of get_loop_body (it's a common mistake to leak the return array). Patch is completely untested because I don't know when/how this function is used. You've added this function: 2012-07-31 Bill Schmidt <...> * config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost): Revise costs for vec_perm and vec_promote_demote down to more natural values. (struct _rs6000_cost_data): New data structure. --> (rs6000_density_test): New function so I suppose you know what it's for and how to test this patch :-) Could you test this for me and commit it if nothing strange happens? Thanks, Ciao! Steven