Commit b90e45ae by Jan Hubicka Committed by Jan Hubicka

cfgcleanup.c (try_forward_edges): Avoid infinite loop at infinite threaded loop.


	* cfgcleanup.c (try_forward_edges): Avoid infinite loop at infinite
	threaded loop.

From-SVN: r48837
parent 8377288b
Mon Jan 14 20:18:19 CET 2002 Jan Hubicka <jh@suse.cz>
* cfgcleanup.c (try_forward_edges): Avoid infinite loop at infinite
threaded loop.
2002-01-14 Tom Rix <trix@redhat.com> 2002-01-14 Tom Rix <trix@redhat.com>
* config/rs6000/rs6000.md: Fix typo with sradi. * config/rs6000/rs6000.md: Fix typo with sradi.
......
...@@ -426,7 +426,10 @@ try_forward_edges (mode, b) ...@@ -426,7 +426,10 @@ try_forward_edges (mode, b)
if (threaded_edges[i] == t) if (threaded_edges[i] == t)
break; break;
if (i < nthreaded_edges) if (i < nthreaded_edges)
break; {
counter = n_basic_blocks;
break;
}
} }
/* Detect an infinite loop across the start block. */ /* Detect an infinite loop across the start block. */
......
...@@ -2810,6 +2810,7 @@ rest_of_compilation (decl) ...@@ -2810,6 +2810,7 @@ rest_of_compilation (decl)
find_basic_blocks (insns, max_reg_num (), rtl_dump_file); find_basic_blocks (insns, max_reg_num (), rtl_dump_file);
cleanup_cfg (CLEANUP_EXPENSIVE | CLEANUP_PRE_LOOP); cleanup_cfg (CLEANUP_EXPENSIVE | CLEANUP_PRE_LOOP);
tem = gcse_main (insns, rtl_dump_file); tem = gcse_main (insns, rtl_dump_file);
rebuild_jump_labels (insns);
save_csb = flag_cse_skip_blocks; save_csb = flag_cse_skip_blocks;
save_cfj = flag_cse_follow_jumps; save_cfj = flag_cse_follow_jumps;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment