aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2001-12-30 19:09:48 -0800
committerRichard Henderson <rth@gcc.gnu.org>2001-12-30 19:09:48 -0800
commit2b701ab743751b3420afdb8e81766e12097186bc (patch)
tree01dcd880d385bff6db55c1deeea5f733e3452e9d
parentc81f560b4b42021dc89563d241dbe180c4861122 (diff)
downloadgcc-2b701ab743751b3420afdb8e81766e12097186bc.zip
gcc-2b701ab743751b3420afdb8e81766e12097186bc.tar.gz
gcc-2b701ab743751b3420afdb8e81766e12097186bc.tar.bz2
loop.c (check_dbra_loop): Fix last change: examine both has_multiple_exit_targets and exit_count.
* loop.c (check_dbra_loop): Fix last change: examine both has_multiple_exit_targets and exit_count. From-SVN: r48404
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/loop.c4
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 15d4560..85375c6 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,10 @@
2001-12-30 Richard Henderson <rth@redhat.com>
+ * loop.c (check_dbra_loop): Fix last change: examine both
+ has_multiple_exit_targets and exit_count.
+
+2001-12-30 Richard Henderson <rth@redhat.com>
+
* integrate.c (copy_rtx_and_substitute): Fix error last change:
we need to unconditionally create a new mem.
diff --git a/gcc/loop.c b/gcc/loop.c
index 2069588..0b79dc3 100644
--- a/gcc/loop.c
+++ b/gcc/loop.c
@@ -7977,7 +7977,9 @@ check_dbra_loop (loop, insn_count)
which is reversible. */
int reversible_mem_store = 1;
- if (bl->giv_count == 0 && ! loop_info->has_multiple_exit_targets)
+ if (bl->giv_count == 0
+ && !loop->exit_count
+ && !loop_info->has_multiple_exit_targets)
{
rtx bivreg = regno_reg_rtx[bl->regno];
struct iv_class *blt;