diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/cfgloopmanip.c | 3 |
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) |