diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/tree-ssa-pre.c | 4 |
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index bc412fc..b58678f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2004-07-16 Daniel Berlin <dberlin@dberlin.org> + + * tree-ssa-pre.c (init_pre): Connect infinite loops to exit. + (fini_pre): Remove fake edges. + 2004-07-15 Richard Henderson <rth@redhat.com> * tree-ssa-operands.c (get_expr_operands): Use a switch. Split out... diff --git a/gcc/tree-ssa-pre.c b/gcc/tree-ssa-pre.c index 848bd6a..d6b19cd 100644 --- a/gcc/tree-ssa-pre.c +++ b/gcc/tree-ssa-pre.c @@ -1897,6 +1897,7 @@ init_pre (void) size_t tsize; basic_block bb; + connect_infinite_loops_to_exit (); vn_init (); memset (&pre_stats, 0, sizeof (pre_stats)); FOR_ALL_BB (bb) @@ -1942,7 +1943,8 @@ fini_pre (void) free_alloc_pool (reference_node_pool); free_alloc_pool (unary_node_pool); htab_delete (phi_translate_table); - + remove_fake_edges (); + FOR_ALL_BB (bb) { free (bb->aux); |