From 2b701ab743751b3420afdb8e81766e12097186bc Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Sun, 30 Dec 2001 19:09:48 -0800 Subject: [PATCH] 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 --- gcc/ChangeLog | 5 +++++ gcc/loop.c | 4 +++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 15d4560af68..85375c68061 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2001-12-30 Richard Henderson + + * loop.c (check_dbra_loop): Fix last change: examine both + has_multiple_exit_targets and exit_count. + 2001-12-30 Richard Henderson * integrate.c (copy_rtx_and_substitute): Fix error last change: diff --git a/gcc/loop.c b/gcc/loop.c index 2069588aed6..0b79dc338a4 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; -- 2.30.2