aboutsummaryrefslogtreecommitdiff
path: root/gcc/cfghooks.c
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 /gcc/cfghooks.c
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
Diffstat (limited to 'gcc/cfghooks.c')
-rw-r--r--gcc/cfghooks.c6
1 files changed, 5 insertions, 1 deletions
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);
}