aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/loop.c10
2 files changed, 11 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 67ee501..f5e7884 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+2003-05-14 Nathan Sidwell <nathan@codesourcery.com>
+
+ * loop.c (check_dbra_loop): Factor common test.
+
2003-05-14 Ben Elliston <bje@wasabisystems.com>
* doc/md.texi (Automaton pipeline description): Grammar fixes.
@@ -504,6 +508,7 @@ Mon May 12 11:32:53 CEST 2003 Jan Hubicka <jh@suse.cz>
(s390_function_arg): Likewise.
(s390_va_arg): Likewise
+>>>>>>> 1.17806
2003-05-11 Nathan Sidwell <nathan@codesourcery.com>
* coverage.h (coverage_counter_alloc): New function.
diff --git a/gcc/loop.c b/gcc/loop.c
index b74d6ad..c161bc8 100644
--- a/gcc/loop.c
+++ b/gcc/loop.c
@@ -8274,9 +8274,11 @@ check_dbra_loop (loop, insn_count)
&& REGNO (SET_DEST (set)) == bl->regno)
/* An insn that sets the biv is okay. */
;
- else if ((p == prev_nonnote_insn (prev_nonnote_insn (loop_end))
- || p == prev_nonnote_insn (loop_end))
- && reg_mentioned_p (bivreg, PATTERN (p)))
+ else if (!reg_mentioned_p (bivreg, PATTERN (p)))
+ /* An insn that doesn't mention the biv is okay. */
+ ;
+ else if (p == prev_nonnote_insn (prev_nonnote_insn (loop_end))
+ || p == prev_nonnote_insn (loop_end))
{
/* If either of these insns uses the biv and sets a pseudo
that has more than one usage, then the biv has uses
@@ -8290,7 +8292,7 @@ check_dbra_loop (loop, insn_count)
break;
}
}
- else if (reg_mentioned_p (bivreg, PATTERN (p)))
+ else
{
no_use_except_counting = 0;
break;