aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>2003-07-05 12:23:33 +0200
committerZdenek Dvorak <rakdver@gcc.gnu.org>2003-07-05 10:23:33 +0000
commit977129f68d0dd100969506fd888cbdcae9d68c50 (patch)
tree9d1014519c8bc2158866ee198e187d72e478c48b
parenta8cad3e1dddb9f0c14cb6e757dc6d7c6e466d6a8 (diff)
downloadgcc-977129f68d0dd100969506fd888cbdcae9d68c50.zip
gcc-977129f68d0dd100969506fd888cbdcae9d68c50.tar.gz
gcc-977129f68d0dd100969506fd888cbdcae9d68c50.tar.bz2
cfgloopmanip.c (force_single_succ_latches): Force latch to be different from header.
* cfgloopmanip.c (force_single_succ_latches): Force latch to be different from header. From-SVN: r68965
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/cfgloopmanip.c3
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 00c5a07..3fb9436 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2003-07-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
+
+ * cfgloopmanip.c (force_single_succ_latches): Force latch to be
+ different from header.
+
2003-07-05 Andreas Schwab <schwab@suse.de>
* config/m68k/m68k.c: Remove code protected by CRDS.
diff --git a/gcc/cfgloopmanip.c b/gcc/cfgloopmanip.c
index 31ecc6c..6075b4c 100644
--- a/gcc/cfgloopmanip.c
+++ b/gcc/cfgloopmanip.c
@@ -1191,7 +1191,8 @@ force_single_succ_latches (struct loops *loops)
for (i = 1; i < loops->num; i++)
{
loop = loops->parray[i];
- if (!loop->latch->succ->succ_next)
+ if (loop->latch != loop->header
+ && !loop->latch->succ->succ_next)
continue;
for (e = loop->header->pred; e->src != loop->latch; e = e->pred_next)