summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/cfgloopmanip.c3
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 ();