This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[patch] rs6000: plug a leak
- From: Steven Bosscher <stevenb dot gcc at gmail dot com>
- To: "William J. Schmidt" <wschmidt at linux dot vnet dot ibm dot com>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Thu, 23 Aug 2012 00:53:39 +0200
- Subject: [patch] rs6000: plug a leak
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
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);