]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
tree-ssa.c (redirect_edge_var_map_clear): Fix formatting.
authorJan Hubicka <jh@suse.cz>
Thu, 11 Sep 2008 12:36:05 +0000 (14:36 +0200)
committerJan Hubicka <hubicka@gcc.gnu.org>
Thu, 11 Sep 2008 12:36:05 +0000 (12:36 +0000)
* tree-ssa.c (redirect_edge_var_map_clear): Fix formatting.
(free_var_map_entry): New function.
(redirect_edge_var_map_destroy): Use it.

From-SVN: r140282

gcc/ChangeLog
gcc/tree-ssa.c

index 5777b0cbb9a495905857d07a8f217b27b6b8e9d4..53fc1a4bc6e8a484d141a06b9487deb847e065e2 100644 (file)
@@ -1,3 +1,9 @@
+2008-09-11  Jan Hubicka  <jh@suse.cz>
+
+       * tree-ssa.c (redirect_edge_var_map_clear): Fix formatting.
+       (free_var_map_entry): New function.
+       (redirect_edge_var_map_destroy): Use it.
+
 2008-09-11  Jan Hubicka  <jh@suse.cz>
 
        PR middle-end/37448
index eed15c6773f7f03067e848f656123577572677a6..6a1f6f353c8e7735992760d8f90fb4d7d1d889dd 100644 (file)
@@ -112,7 +112,8 @@ redirect_edge_var_map_clear (edge e)
 void
 redirect_edge_var_map_dup (edge newe, edge olde)
 {
-  void **new_slot, **old_slot; edge_var_map_vector head;
+  void **new_slot, **old_slot;
+  edge_var_map_vector head;
 
   if (!edge_var_maps)
     return;
@@ -149,6 +150,17 @@ redirect_edge_var_map_vector (edge e)
   return (edge_var_map_vector) *slot;
 }
 
+/* Used by redirect_edge_var_map_destroy to free all memory.  */
+
+static bool
+free_var_map_entry (const void *key ATTRIBUTE_UNUSED,
+                   void **value,
+                   void *data ATTRIBUTE_UNUSED)
+{
+  edge_var_map_vector head = (edge_var_map_vector) *value;
+  VEC_free (edge_var_map, heap, head);
+  return true;
+}
 
 /* Clear the edge variable mappings.  */
 
@@ -157,6 +169,7 @@ redirect_edge_var_map_destroy (void)
 {
   if (edge_var_maps)
     {
+      pointer_map_traverse (edge_var_maps, free_var_map_entry, NULL);
       pointer_map_destroy (edge_var_maps);
       edge_var_maps = NULL;
     }