aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernd Schmidt <bernds@cygnus.co.uk>1999-12-14 19:54:41 +0000
committerBernd Schmidt <crux@gcc.gnu.org>1999-12-14 19:54:41 +0000
commit6979065c1686e69766a0fa871abb68bcfb83b1c6 (patch)
tree79194664620412acf3f8510427548418f06c716d
parenta120a3bd97cc58496315d85f91352bf0712dd742 (diff)
downloadgcc-6979065c1686e69766a0fa871abb68bcfb83b1c6.zip
gcc-6979065c1686e69766a0fa871abb68bcfb83b1c6.tar.gz
gcc-6979065c1686e69766a0fa871abb68bcfb83b1c6.tar.bz2
Avoid reversing bivs with maybe_multiple set.
From-SVN: r30929
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/loop.c1
2 files changed, 6 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 7a23bb1..01016d1 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+1999-12-14 Bernd Schmidt <bernds@cygnus.co.uk>
+
+ * loop.c (check_dbra_loop): Can't reverse a biv that has
+ maybe_multiple set.
+
1999-12-14 Nick Clifton <nickc@cygnus.com>
* config/arm/arm.c: Add support for -mcpu=arm720 command line
diff --git a/gcc/loop.c b/gcc/loop.c
index 9d55f81..573a76a 100644
--- a/gcc/loop.c
+++ b/gcc/loop.c
@@ -7953,6 +7953,7 @@ check_dbra_loop (loop_end, insn_count, loop_start, loop_info)
for (bl = loop_iv_list; bl; bl = bl->next)
{
if (bl->biv_count == 1
+ && ! bl->biv->maybe_multiple
&& bl->biv->dest_reg == XEXP (comparison, 0)
&& ! reg_used_between_p (regno_reg_rtx[bl->regno], bl->biv->insn,
first_compare))