summaryrefslogtreecommitdiff
path: root/gcc/cfghooks.c
diff options
context:
space:
mode:
authorbstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4>2013-02-18 20:01:31 +0000
committerbstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4>2013-02-18 20:01:31 +0000
commit49e6b159a6b2225a0198f8e261c6b6f3772fba3f (patch)
tree7474601b4ae09317bf0a9ed2647974807abfc493 /gcc/cfghooks.c
parent2fffb07a72d0755a559b08cfa30eb12d277daec1 (diff)
downloadgcc-49e6b159a6b2225a0198f8e261c6b6f3772fba3f.tar.gz
2013-02-18 Basile Starynkevitch <basile@starynkevitch.net>
MELT branch merged with trunk rev 196123 using svnmerge.py git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@196126 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cfghooks.c')
-rw-r--r--gcc/cfghooks.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/gcc/cfghooks.c b/gcc/cfghooks.c
index 54f805f5ff9..5e3eeb587b5 100644
--- a/gcc/cfghooks.c
+++ b/gcc/cfghooks.c
@@ -761,7 +761,12 @@ merge_blocks (basic_block a, basic_block b)
{
e->src = a;
if (current_loops != NULL)
- rescan_loop_exit (e, true, false);
+ {
+ /* If b was a latch, a now is. */
+ if (e->dest->loop_father->latch == b)
+ e->dest->loop_father->latch = a;
+ rescan_loop_exit (e, true, false);
+ }
}
a->succs = b->succs;
a->flags |= b->flags;