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
* tree-inline.c (add_lexical_block): Replace with ...
(prepend_lexical_block): ... prepend at begginig.
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;
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. */
{
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;
}