This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [patch] rs6000: plug a leak


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);
> 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]