aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZdenek Dvorak <dvorakz@suse.cz>2007-07-26 01:19:56 +0200
committerZdenek Dvorak <rakdver@gcc.gnu.org>2007-07-25 23:19:56 +0000
commitdbdc7f9732197852984693602a4d13b9e3ccf54d (patch)
tree5355c46ad6f8e1bf910504750e2fb423221d421e
parentaf0b10e546a0e2e7d16b77dd9ccbc9a32065d89a (diff)
downloadgcc-dbdc7f9732197852984693602a4d13b9e3ccf54d.zip
gcc-dbdc7f9732197852984693602a4d13b9e3ccf54d.tar.gz
gcc-dbdc7f9732197852984693602a4d13b9e3ccf54d.tar.bz2
cfghooks.c (split_block): Fix the information about loop latch.
* cfghooks.c (split_block): Fix the information about loop latch. From-SVN: r126936
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/cfghooks.c6
2 files changed, 9 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 24430b6..5102f81 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,9 @@
2007-07-25 Zdenek Dvorak <dvorakz@suse.cz>
+ * cfghooks.c (split_block): Fix the information about loop latch.
+
+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>
diff --git a/gcc/cfghooks.c b/gcc/cfghooks.c
index d436f01..948300c 100644
--- a/gcc/cfghooks.c
+++ b/gcc/cfghooks.c
@@ -432,7 +432,11 @@ split_block (basic_block bb, void *i)
}
if (current_loops != NULL)
- add_bb_to_loop (new_bb, bb->loop_father);
+ {
+ add_bb_to_loop (new_bb, bb->loop_father);
+ if (bb->loop_father->latch == bb)
+ bb->loop_father->latch = new_bb;
+ }
return make_single_succ_edge (bb, new_bb, EDGE_FALLTHRU);
}