diff options
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/cfgloopmanip.c | 3 |
2 files changed, 7 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ceae25be2f7..24430b652e5 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,9 @@ 2007-07-25 Zdenek Dvorak <dvorakz@suse.cz> + * cfgloopmanip.c (fix_loop_structure): Call force_single_succ_latches. + +2007-07-25 Zdenek Dvorak <dvorakz@suse.cz> + * tree-ssa-threadupdate.c (create_edge_and_update_destination_phis): Scan the new edge for loop exit info. diff --git a/gcc/cfgloopmanip.c b/gcc/cfgloopmanip.c index 83c4c570c5a..7e70d1274e1 100644 --- a/gcc/cfgloopmanip.c +++ b/gcc/cfgloopmanip.c @@ -1468,6 +1468,9 @@ fix_loop_structure (bitmap changed_bbs) if (current_loops->state & LOOPS_HAVE_PREHEADERS) create_preheaders (CP_SIMPLE_PREHEADERS); + if (current_loops->state & LOOPS_HAVE_SIMPLE_LATCHES) + force_single_succ_latches (); + if (current_loops->state & LOOPS_HAVE_MARKED_IRREDUCIBLE_REGIONS) mark_irreducible_loops (); |