aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZdenek Dvorak <dvorakz@suse.cz>2007-07-26 01:08:06 +0200
committerZdenek Dvorak <rakdver@gcc.gnu.org>2007-07-25 23:08:06 +0000
commitaf0b10e546a0e2e7d16b77dd9ccbc9a32065d89a (patch)
treeee65019d18d36a27875a82a4a506cff1316804d7
parentaa2645a07e7bd31966aadc978fb40030c93941f9 (diff)
downloadgcc-af0b10e546a0e2e7d16b77dd9ccbc9a32065d89a.zip
gcc-af0b10e546a0e2e7d16b77dd9ccbc9a32065d89a.tar.gz
gcc-af0b10e546a0e2e7d16b77dd9ccbc9a32065d89a.tar.bz2
cfgloopmanip.c (fix_loop_structure): Call force_single_succ_latches.
* cfgloopmanip.c (fix_loop_structure): Call force_single_succ_latches. From-SVN: r126935
-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 ceae25b..24430b6 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 83c4c57..7e70d12 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 ();