This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [patch] rs6000: plug a leak
- From: "William J. Schmidt" <wschmidt at linux dot vnet dot ibm dot com>
- To: Steven Bosscher <stevenb dot gcc at gmail dot com>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Wed, 22 Aug 2012 18:40:12 -0500
- Subject: Re: [patch] rs6000: plug a leak
- References: <CABu31nNx0pn2CB6UHkRMpB_vVGDv09emgKLs1uc1NLjgem-nCg@mail.gmail.com>
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);
>