http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58340
--- Comment #14 from Jan Hubicka <hubicka at ucw dot cz> --- I use the following workaround for time being. Honza Index: tree-ssa-threadedge.c =================================================================== --- tree-ssa-threadedge.c (revision 202364) +++ tree-ssa-threadedge.c (working copy) @@ -1015,8 +1015,9 @@ thread_across_edge (gimple dummy_cond, tmp = find_edge (taken_edge->src, path[path.length () - 1]->dest); if (!tmp || phi_args_equal_on_edges (tmp, path[path.length () - 1])) { - propagate_threaded_block_debug_into (path[path.length () - 1]->dest, - taken_edge->dest); + if (path[path.length () - 1]->dest != taken_edge->dest) + propagate_threaded_block_debug_into (path[path.length () - 1]->dest, + taken_edge->dest); register_jump_thread (path, true); } }