+2015-05-20 Jeff Law <law@redhat.com>
+
+ * tree-ssa-threadupdate.c (mark_threaded_blocks): Properly
+ dispose of the jump thread path when the jump threading
+ opportunity is cancelled.
+
2015-05-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
* diagnostic.c (diagnostic_print_caret_line): Fix off-by-one error
{
/* Attach the path to the starting edge if none is yet recorded. */
if ((*path)[0]->e->aux == NULL)
- (*path)[0]->e->aux = path;
- else if (dump_file && (dump_flags & TDF_DETAILS))
- dump_jump_thread_path (dump_file, *path, false);
+ {
+ (*path)[0]->e->aux = path;
+ }
+ else
+ {
+ paths.unordered_remove (i);
+ if (dump_file && (dump_flags & TDF_DETAILS))
+ dump_jump_thread_path (dump_file, *path, false);
+ delete_jump_thread_path (path);
+ }
}
}
/* Second, look for paths that have any other jump thread attached to
else
{
e->aux = NULL;
+ paths.unordered_remove (i);
if (dump_file && (dump_flags & TDF_DETAILS))
dump_jump_thread_path (dump_file, *path, false);
+ delete_jump_thread_path (path);
}
}
}